{"version":3,"sources":["jsdelivr-header.js","/npm/property-expr@2.0.5/index.js"],"names":[],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA,ACHA,aAEA,SAAS,MAAM,GACb,KAAK,SAAW,EAChB,KAAK,OACP,CACA,MAAM,UAAU,MAAQ,WACtB,KAAK,MAAQ,EACb,KAAK,QAAU,OAAO,OAAO,KAC/B,EACA,MAAM,UAAU,IAAM,SAAU,GAC9B,OAAO,KAAK,QAAQ,EACtB,EACA,MAAM,UAAU,IAAM,SAAU,EAAK,GAInC,OAHA,KAAK,OAAS,KAAK,UAAY,KAAK,QAC9B,KAAO,KAAK,SAAU,KAAK,QAEzB,KAAK,QAAQ,GAAO,CAC9B,EAEA,IAWI,OAXA,YAAc,4BAChB,YAAc,QACd,iBAAmB,MACnB,gBAAkB,yCAClB,mBAAqB,2BACrB,eAAiB,IAEf,UAAY,IAAI,MAAM,gBACxB,SAAW,IAAI,MAAM,gBACrB,SAAW,IAAI,MAAM,gBAsEvB,SAAS,cAAc,GACrB,OACE,UAAU,IAAI,IACd,UAAU,IACR,EACA,MAAM,GAAM,KAAI,SAAU,GACxB,OAAO,EAAK,QAAQ,mBAAoB,KAC1C,IAGN,CAEA,SAAS,MAAM,GACb,OAAO,EAAK,MAAM,cAAgB,CAAC,GACrC,CAEA,SAAS,QAAQ,EAAO,EAAM,GAC5B,IACE,EACA,EACA,EACA,EAJE,EAAM,EAAM,OAMhB,IAAK,EAAM,EAAG,EAAM,EAAK,KACvB,EAAO,EAAM,MAGP,eAAe,KACjB,EAAO,IAAM,EAAO,KAItB,IADA,EAAY,SAAS,KACG,QAAQ,KAAK,GAErC,EAAK,KAAK,EAAS,EAAM,EAAW,EAAS,EAAK,GAGxD,CAEA,SAAS,SAAS,GAChB,MACiB,iBAAR,GAAoB,IAA8C,IAAvC,CAAC,IAAK,KAAK,QAAQ,EAAI,OAAO,GAEpE,CAEA,SAAS,iBAAiB,GACxB,OAAO,EAAK,MAAM,oBAAsB,EAAK,MAAM,YACrD,CAEA,SAAS,gBAAgB,GACvB,OAAO,gBAAgB,KAAK,EAC9B,CAEA,SAAS,eAAe,GACtB,OAAQ,SAAS,KAAU,iBAAiB,IAAS,gBAAgB,GACvE,CAzHA,OAAO,QAAU,CACf,MAAO,MAEP,MAAO,MAEP,cAAe,cAEf,OAAQ,SAAU,GAChB,IAAI,EAAQ,cAAc,GAE1B,OACE,SAAS,IAAI,IACb,SAAS,IAAI,GAAM,SAAgB,EAAK,GAKtC,IAJA,IAAI,EAAQ,EACR,EAAM,EAAM,OACZ,EAAO,EAEJ,EAAQ,EAAM,GAAG,CACtB,IAAI,EAAO,EAAM,GACjB,GACW,cAAT,GACS,gBAAT,GACS,cAAT,EAEA,OAAO,EAGT,EAAO,EAAK,EAAM,KACpB,CACA,EAAK,EAAM,IAAU,CACvB,GAEJ,EAEA,OAAQ,SAAU,EAAM,GACtB,IAAI,EAAQ,cAAc,GAC1B,OACE,SAAS,IAAI,IACb,SAAS,IAAI,GAAM,SAAgB,GAGjC,IAFA,IAAI,EAAQ,EACV,EAAM,EAAM,OACP,EAAQ,GAAK,CAClB,GAAY,MAAR,GAAiB,EAChB,OADsB,EAAO,EAAK,EAAM,KAE/C,CACA,OAAO,CACT,GAEJ,EAEA,KAAM,SAAU,GACd,OAAO,EAAS,QAAO,SAAU,EAAM,GACrC,OACE,GACC,SAAS,IAAS,YAAY,KAAK,GAChC,IAAM,EAAO,KACZ,EAAO,IAAM,IAAM,EAE5B,GAAG,GACL,EAEA,QAAS,SAAU,EAAM,EAAI,GAC3B,QAAQ,MAAM,QAAQ,GAAQ,EAAO,MAAM,GAAO,EAAI,EACxD","file":"/npm/property-expr@2.0.5/index.js","sourceRoot":"","sourcesContent":["/**\n * Minified by jsDelivr using Terser v5.39.0.\n * Original file: /npm/property-expr@2.0.5/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","/**\n * Based on Kendo UI Core expression code <https://github.com/telerik/kendo-ui-core#license-information>\n */\n'use strict'\n\nfunction Cache(maxSize) {\n  this._maxSize = maxSize\n  this.clear()\n}\nCache.prototype.clear = function () {\n  this._size = 0\n  this._values = Object.create(null)\n}\nCache.prototype.get = function (key) {\n  return this._values[key]\n}\nCache.prototype.set = function (key, value) {\n  this._size >= this._maxSize && this.clear()\n  if (!(key in this._values)) this._size++\n\n  return (this._values[key] = value)\n}\n\nvar SPLIT_REGEX = /[^.^\\]^[]+|(?=\\[\\]|\\.\\.)/g,\n  DIGIT_REGEX = /^\\d+$/,\n  LEAD_DIGIT_REGEX = /^\\d/,\n  SPEC_CHAR_REGEX = /[~`!#$%\\^&*+=\\-\\[\\]\\\\';,/{}|\\\\\":<>\\?]/g,\n  CLEAN_QUOTES_REGEX = /^\\s*(['\"]?)(.*?)(\\1)\\s*$/,\n  MAX_CACHE_SIZE = 512\n\nvar pathCache = new Cache(MAX_CACHE_SIZE),\n  setCache = new Cache(MAX_CACHE_SIZE),\n  getCache = new Cache(MAX_CACHE_SIZE)\n\nvar config\n\nmodule.exports = {\n  Cache: Cache,\n\n  split: split,\n\n  normalizePath: normalizePath,\n\n  setter: function (path) {\n    var parts = normalizePath(path)\n\n    return (\n      setCache.get(path) ||\n      setCache.set(path, function setter(obj, value) {\n        var index = 0\n        var len = parts.length\n        var data = obj\n\n        while (index < len - 1) {\n          var part = parts[index]\n          if (\n            part === '__proto__' ||\n            part === 'constructor' ||\n            part === 'prototype'\n          ) {\n            return obj\n          }\n\n          data = data[parts[index++]]\n        }\n        data[parts[index]] = value\n      })\n    )\n  },\n\n  getter: function (path, safe) {\n    var parts = normalizePath(path)\n    return (\n      getCache.get(path) ||\n      getCache.set(path, function getter(data) {\n        var index = 0,\n          len = parts.length\n        while (index < len) {\n          if (data != null || !safe) data = data[parts[index++]]\n          else return\n        }\n        return data\n      })\n    )\n  },\n\n  join: function (segments) {\n    return segments.reduce(function (path, part) {\n      return (\n        path +\n        (isQuoted(part) || DIGIT_REGEX.test(part)\n          ? '[' + part + ']'\n          : (path ? '.' : '') + part)\n      )\n    }, '')\n  },\n\n  forEach: function (path, cb, thisArg) {\n    forEach(Array.isArray(path) ? path : split(path), cb, thisArg)\n  },\n}\n\nfunction normalizePath(path) {\n  return (\n    pathCache.get(path) ||\n    pathCache.set(\n      path,\n      split(path).map(function (part) {\n        return part.replace(CLEAN_QUOTES_REGEX, '$2')\n      })\n    )\n  )\n}\n\nfunction split(path) {\n  return path.match(SPLIT_REGEX) || ['']\n}\n\nfunction forEach(parts, iter, thisArg) {\n  var len = parts.length,\n    part,\n    idx,\n    isArray,\n    isBracket\n\n  for (idx = 0; idx < len; idx++) {\n    part = parts[idx]\n\n    if (part) {\n      if (shouldBeQuoted(part)) {\n        part = '\"' + part + '\"'\n      }\n\n      isBracket = isQuoted(part)\n      isArray = !isBracket && /^\\d+$/.test(part)\n\n      iter.call(thisArg, part, isBracket, isArray, idx, parts)\n    }\n  }\n}\n\nfunction isQuoted(str) {\n  return (\n    typeof str === 'string' && str && [\"'\", '\"'].indexOf(str.charAt(0)) !== -1\n  )\n}\n\nfunction hasLeadingNumber(part) {\n  return part.match(LEAD_DIGIT_REGEX) && !part.match(DIGIT_REGEX)\n}\n\nfunction hasSpecialChars(part) {\n  return SPEC_CHAR_REGEX.test(part)\n}\n\nfunction shouldBeQuoted(part) {\n  return !isQuoted(part) && (hasLeadingNumber(part) || hasSpecialChars(part))\n}\n"]}