{"version":3,"sources":["../node_modules/property-expr/index.js"],"names":["Cache","maxSize","this","_maxSize","clear","prototype","_size","_values","Object","create","get","key","set","value","SPLIT_REGEX","DIGIT_REGEX","LEAD_DIGIT_REGEX","SPEC_CHAR_REGEX","CLEAN_QUOTES_REGEX","pathCache","setCache","getCache","normalizePath","path","split","map","part","replace","match","isQuoted","str","indexOf","charAt","shouldBeQuoted","hasLeadingNumber","test","hasSpecialChars","module","exports","setter","parts","obj","index","len","length","data","getter","safe","join","segments","reduce","forEach","cb","thisArg","iter","idx","isArray","isBracket","call","Array"],"mappings":"uGAKA,SAASA,EAAMC,GACbC,KAAKC,SAAWF,EAChBC,KAAKE,QAEPJ,EAAMK,UAAUD,MAAQ,WACtBF,KAAKI,MAAQ,EACbJ,KAAKK,QAAUC,OAAOC,OAAO,OAE/BT,EAAMK,UAAUK,IAAM,SAAUC,GAC9B,OAAOT,KAAKK,QAAQI,IAEtBX,EAAMK,UAAUO,IAAM,SAAUD,EAAKE,GAInC,OAHAX,KAAKI,OAASJ,KAAKC,UAAYD,KAAKE,QAC9BO,KAAOT,KAAKK,SAAUL,KAAKI,QAEzBJ,KAAKK,QAAQI,GAAOE,GAG9B,IAAIC,EAAc,4BAChBC,EAAc,QACdC,EAAmB,MACnBC,EAAkB,yCAClBC,EAAqB,2BAGnBC,EAAY,IAAInB,EAFD,KAGjBoB,EAAW,IAAIpB,EAHE,KAIjBqB,EAAW,IAAIrB,EAJE,KA0EnB,SAASsB,EAAcC,GACrB,OACEJ,EAAUT,IAAIa,IACdJ,EAAUP,IACRW,EACAC,EAAMD,GAAME,KAAI,SAAUC,GACxB,OAAOA,EAAKC,QAAQT,EAAoB,UAMhD,SAASM,EAAMD,GACb,OAAOA,EAAKK,MAAMd,GA0BpB,SAASe,EAASC,GAChB,MACiB,kBAARA,GAAoBA,IAA8C,IAAvC,CAAC,IAAK,KAAKC,QAAQD,EAAIE,OAAO,IAYpE,SAASC,EAAeP,GACtB,OAAQG,EAASH,KATnB,SAA0BA,GACxB,OAAOA,EAAKE,MAAMZ,KAAsBU,EAAKE,MAAMb,GAQxBmB,CAAiBR,IAL9C,SAAyBA,GACvB,OAAOT,EAAgBkB,KAAKT,GAIyBU,CAAgBV,IAxHvEW,EAAOC,QAAU,CACftC,MAAOA,EAEPwB,MAAOA,EAEPF,cAAeA,EAEfiB,OAAQ,SAAUhB,GAChB,IAAIiB,EAAQlB,EAAcC,GAE1B,OACEH,EAASV,IAAIa,IACbH,EAASR,IAAIW,GAAM,SAAgBkB,EAAK5B,GAKtC,IAJA,IAAI6B,EAAQ,EACRC,EAAMH,EAAMI,OACZC,EAAOJ,EAEJC,EAAQC,EAAM,GAAG,CACtB,IAAIjB,EAAOc,EAAME,GACjB,GACW,cAAThB,GACS,gBAATA,GACS,cAATA,EAEA,OAAOe,EAGTI,EAAOA,EAAKL,EAAME,MAEpBG,EAAKL,EAAME,IAAU7B,MAK3BiC,OAAQ,SAAUvB,EAAMwB,GACtB,IAAIP,EAAQlB,EAAcC,GAC1B,OACEF,EAASX,IAAIa,IACbF,EAAST,IAAIW,GAAM,SAAgBsB,GAGjC,IAFA,IAAIH,EAAQ,EACVC,EAAMH,EAAMI,OACPF,EAAQC,GAAK,CAClB,GAAY,MAARE,GAAiBE,EAChB,OADsBF,EAAOA,EAAKL,EAAME,MAG/C,OAAOG,MAKbG,KAAM,SAAUC,GACd,OAAOA,EAASC,QAAO,SAAU3B,EAAMG,GACrC,OACEH,GACCM,EAASH,IAASX,EAAYoB,KAAKT,GAChC,IAAMA,EAAO,KACZH,EAAO,IAAM,IAAMG,KAEzB,KAGLyB,QAAS,SAAU5B,EAAM6B,EAAIC,IAqB/B,SAAiBb,EAAOc,EAAMD,GAC5B,IACE3B,EACA6B,EACAC,EACAC,EAJEd,EAAMH,EAAMI,OAMhB,IAAKW,EAAM,EAAGA,EAAMZ,EAAKY,KACvB7B,EAAOc,EAAMe,MAGPtB,EAAeP,KACjBA,EAAO,IAAMA,EAAO,KAItB8B,IADAC,EAAY5B,EAASH,KACG,QAAQS,KAAKT,GAErC4B,EAAKI,KAAKL,EAAS3B,EAAM+B,EAAWD,EAASD,EAAKf,IAtCpDW,CAAQQ,MAAMH,QAAQjC,GAAQA,EAAOC,EAAMD,GAAO6B,EAAIC","file":"static/js/property-expr.47707eb0.chunk.js","sourcesContent":["/**\n * Based on Kendo UI Core expression code \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"],"sourceRoot":""}