{"version":3,"sources":["jsdelivr-header.js","/npm/expand-object@0.4.2/index.js"],"names":[],"mappings":"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","file":"/npm/expand-object@0.4.2/index.js","sourceRoot":"","sourcesContent":["/**\n * Minified by jsDelivr using Terser v5.37.0.\n * Original file: /npm/expand-object@0.4.2/index.js\n *\n * Do NOT use SRI with dynamically generated files! More information: https://www.jsdelivr.com/using-sri-with-dynamic-files\n */\n","'use strict';\n\nvar isNumber = require('is-number');\nvar set = require('set-value');\n\n/**\n * Expand the given string into an object.\n *\n * @param  {String} `str`\n * @return {Object}\n */\n\nfunction expand(str, opts) {\n  opts = opts || {};\n\n  if (typeof str !== 'string') {\n    throw new TypeError('expand-object expects a string.');\n  }\n\n  if (!/[.|:=]/.test(str) && /,/.test(str)) {\n    return toArray(str);\n  }\n\n  var m;\n  if ((m = /(\\w+[:=]\\w+\\.)+/.exec(str)) && !/[|,+]/.test(str)) {\n    var val = m[0].split(':').join('.');\n    str = val + str.slice(m[0].length);\n  }\n\n  var arr = splitString(str, '|');\n  var len = arr.length, i = -1;\n  var res = {};\n\n  if (isArrayLike(str) && arr.length === 1) {\n    return expandArrayObj(str, opts);\n  }\n\n  while (++i < len) {\n    var val = arr[i];\n    // test for `https://foo`\n    if (/\\w:\\/\\/\\w/.test(val)) {\n      res[val] = '';\n      continue;\n    }\n\n    var re = /^((?:\\w+)\\.(?:\\w+))[:.]((?:\\w+,)+)+((?:\\w+):(?:\\w+))/;\n    var m = re.exec(val);\n    if (m && m[1] && m[2] && m[3]) {\n      var arrVal = m[2];\n      arrVal = arrVal.replace(/,$/, '');\n      var prop = arrVal.split(',');\n      prop = prop.concat(toObject(m[3]));\n      res = set(res, m[1], prop);\n    } else if (!/[.,\\|:=]/.test(val)) {\n      res[val] = opts.toBoolean ? true : '';\n    } else {\n      res = expandObject(res, val, opts);\n    }\n  }\n  return res;\n}\n\nfunction setValue(obj, a, b, opts) {\n  var val = resolveValue(b, opts);\n  if (~String(a).indexOf('.')) {\n    return set(obj, a, typeCast(val));\n  } else {\n    obj[a] = typeCast(val);\n  }\n  return obj;\n}\n\nfunction resolveValue(val, opts) {\n  opts = opts || {};\n  if (typeof val === 'undefined') {\n    return opts.toBoolean ? true : '';\n  }\n  if (typeof val === 'string' && ~val.indexOf(',')) {\n    val = toArray(val);\n  }\n\n  if (Array.isArray(val)) {\n    return val.map(function (ele) {\n      if (~String(ele).indexOf('.')) {\n        return setValue({}, ele, opts.toBoolean ? true : '');\n      }\n      return ele;\n    });\n  }\n  return val;\n}\n\nfunction expandArray(str, opts) {\n  var segs = String(str).split(/[:=]/);\n  var key = segs.shift();\n  var res = {}, val = [];\n\n  segs.forEach(function (seg) {\n    val = val.concat(resolveValue(toArray(seg), opts));\n  });\n\n  res[key] = val;\n  return res;\n}\n\nfunction toArray(str) {\n  return (str || '').split(',').reduce(function (acc, val) {\n    if (typeof val !== 'undefined' && val !== '') {\n      acc.push(typeCast(val));\n    }\n    return acc;\n  }, []);\n}\n\nfunction expandSiblings(segs, opts) {\n  var first = segs.shift();\n  var parts = first.split('.');\n  var arr = [parts.pop()].concat(segs);\n  var key = parts.join('.');\n  var siblings = {};\n\n  var val = arr.reduce(function (acc, val) {\n    expandObject(acc, val, opts);\n    return acc;\n  }, {});\n\n  if (!key) return val;\n  set(siblings, key, val);\n  return siblings;\n}\n\nfunction expandObject(res, str, opts) {\n  var segs = splitString(str, '+');\n  if (segs.length > 1) {\n    return expandSiblings(segs, opts);\n  }\n\n  segs = str.split(/[:=]/);\n  setValue(res, segs[0], segs[1]);\n  return res;\n}\n\nfunction expandArrayObj(str, opts) {\n  var m = /\\w+:.*?:/.exec(str);\n  if (!m) return expandArray(str, opts);\n\n  var i = str.indexOf(':');\n  var key = str.slice(0, i);\n  var val = str.slice(i + 1);\n\n  if (/\\w+,\\w+,/.test(val)) {\n    var obj = {};\n    obj[key] = toArray(val).map(function (ele) {\n      return ~ele.indexOf(':')\n        ? expandObject({}, ele, opts)\n        : ele;\n    });\n    return obj;\n  }\n\n  return toArray(str).map(function (ele) {\n    return expandObject({}, ele, opts);\n  });\n}\n\nfunction typeCast(val) {\n  if (val === 'true') {\n    return true;\n  }\n  if (val === 'false') {\n    return false;\n  }\n  if (isNumber(val)) {\n    return +val;\n  }\n  return val;\n}\n\nfunction isArrayLike(str) {\n  return typeof str === 'string' && /^(?:(\\w+[:=]\\w+[,:])+)+/.exec(str);\n}\n\nfunction toObject(val) {\n  var obj = {};\n  var segs = String(val).split(/[:=]/);\n  obj[segs[0]] = typeCast(segs[1]);\n  return obj;\n}\n\nfunction splitString(str, ch) {\n  str = String(str);\n\n  var segs = str.split(ch);\n  var len = segs.length;\n  var res = [];\n  var i = -1;\n\n  while (++i < len) {\n    var key = segs[i];\n    while (key[key.length - 1] === '\\\\') {\n      key = key.slice(0, -1) + ch + segs[++i];\n    }\n    res.push(key);\n  }\n  return res;\n}\n\n/**\n * Expose `expand`\n */\n\nmodule.exports = expand;\n"]}