{"version":3,"sources":["jsdelivr-header.js","/npm/jsonh@0.0.6/js/jsonh.js"],"names":[],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA,ACLA,IAAI,MAAO,MAAQ,MAAQ,SAAU,EAAO,GAAO,aAyB/C,SAAS,EAAM,GACX,IAAK,IASD,EAAI,EARJ,EAAS,EAAK,OAEd,EAAO,EAAY,EAAS,EAAK,GAAK,CAAC,GACvC,EAAU,EAAK,OAEf,EAAS,EAAM,EAAS,GACxB,EAAI,EACJ,EAAI,EAEJ,EAAI,IAAU,EAEd,IACI,EAAI,EAAK,GAAI,EAAK,EAClB,EAAK,EACL,EAAO,KAAO,EAAE,EAAK,OAI7B,OAAO,EAAO,KAAK,CAAC,GAAU,EAAM,EACxC,CAGA,SAAS,EAAQ,GACb,IAAK,IAMD,EAAI,EALJ,EAAS,EAAM,OACf,EAAU,EAAM,GAChB,EAAS,GAAQ,EAAS,EAAU,GAAK,GAAY,GACrD,EAAI,EAAI,EACR,EAAI,EAEJ,EAAI,GAEJ,IACI,EAAO,KAAQ,EAAI,CAAC,EAAI,EAAK,EAC7B,EAAK,EACL,EAAE,IAAQ,IAAO,EAAM,MAG/B,OAAO,CACX,CAGA,SAAS,EAAc,GACnB,OAAO,SAAiB,GACpB,IAAK,IAID,EAAG,EAAG,EAHN,EAAO,KACP,EAAU,EACV,EAAI,EAAG,EAAS,EAAK,OAErB,EAAI,IAAU,EAEV,EAAQ,EAAM,EAAQ,EAAI,EAAK,OAC/B,EAAI,EAAI,EACR,EAAQ,GAAK,EAAI,EACb,EAAI,KAAK,EAAK,EAAQ,EAAK,MAAM,IACjC,EAAO,IAGf,EAAU,EAAQ,GAEtB,OAAO,CACX,CACJ,CAGA,SAAS,EAAa,GAClB,OAAO,SAAe,EAAG,GACrB,IAAK,IACD,EAAW,EAAQ,GACnB,EAAS,EAAO,KAAK,EAAK,GAC1B,EAAO,EAAO,KAAK,EAAK,GACxB,EAAI,EAAG,EAAS,EAAK,OACrB,EAAI,IAAU,EAEd,EAAS,EAAI,KAAK,EAAQ,EAAQ,EAAK,GAAG,MAAM,MAEpD,OAAO,EAAW,EAAS,EAAO,EACtC,CACJ,CAGA,SAAS,EAAK,EAAM,GAChB,OAAO,EAAS,EAAW,EAAM,GAAU,EAAM,EACrD,CAGA,SAAS,EAAO,EAAO,GACnB,OAAO,EAAS,EAAa,EAAO,GAAU,EAAQ,EAC1D,CAYA,IAY0C,EAAU,EAVhD,EAAM,GAEN,EAAS,EAAI,OAEb,EAAc,OAAO,MAAQ,SAAU,GACnC,IAAe,EAAX,EAAO,GACX,IAAK,KAAO,EAAG,EAAE,eAAe,IAAQ,EAAK,KAAK,GAClD,OAAO,CACX,EAEA,EAAU,EAAM,UACZ,GADkC,EAKpC,CAAC,EAAE,UAJwB,KAAK,GACvB,SAAiB,GACpB,OAAO,EAAS,KAAK,IAAM,CAC/B,GAGJ,EAAM,EAAI,KAAO,SAAU,EAAU,GACjC,IAAK,IACD,EAAO,KAAM,EAAI,EAAK,OAAQ,EAAS,EAAM,GAC7C,IACA,EAAO,GAAK,EAAS,KAAK,EAAS,EAAK,GAAI,EAAG,IAEnD,OAAO,CACX,EAEA,EAAa,EAAa,EAAc,IACxC,EAAe,EAAa,EAAc,IAE1C,EAAiB,EAAK,UACtB,EAAa,EAAK,MAGtB,MAAO,CACH,KAAM,EACN,MAzCJ,SAAe,EAAO,EAAS,GAC3B,OAAO,EAAO,EAAW,EAAO,GAAU,EAC9C,EAwCI,UA/CJ,SAAmB,EAAM,EAAU,EAAO,GACtC,OAAO,EAAe,EAAK,EAAM,GAAS,EAAU,EACxD,EA8CI,OAAQ,EAGhB,CAzK2B,CAyKzB,MAAO,MAGW,oBAAV,QAAyB,OAAO,UACzC,OAAO,QAAU","file":"/npm/jsonh@0.0.6/js/jsonh.js","sourceRoot":"","sourcesContent":["/**\n * Minified by jsDelivr using Terser v5.39.0.\n * Original file: /npm/jsonh@0.0.6/js/jsonh.js\n *\n * Do NOT use SRI with dynamically generated files! More information: https://www.jsdelivr.com/using-sri-with-dynamic-files\n */\n","// both UPPER and lower, you choose\nvar JSONH, jsonh = JSONH = function (Array, JSON) {\"use strict\"; // if you want\n\n    /**\n     * Copyright (C) 2011 by Andrea Giammarchi, @WebReflection\n     * \n     * Permission is hereby granted, free of charge, to any person obtaining a copy\n     * of this software and associated documentation files (the \"Software\"), to deal\n     * in the Software without restriction, including without limitation the rights\n     * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n     * copies of the Software, and to permit persons to whom the Software is\n     * furnished to do so, subject to the following conditions:\n     * \n     * The above copyright notice and this permission notice shall be included in\n     * all copies or substantial portions of the Software.\n     * \n     * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n     * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n     * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n     * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n     * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n     * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\n     * THE SOFTWARE.\n     */\n\n    // transforms [{a:\"A\"},{a:\"B\"}] to [1,\"a\",\"A\",\"B\"]\n    function hpack(list) {\n        for (var\n            length = list.length,\n            // defined properties (out of one object is enough)\n            keys = Object_keys(length ? list[0] : {}),\n            klength = keys.length,\n            // static length stack of JS values\n            result = Array(length * klength),\n            i = 0,\n            j = 0,\n            ki, o;\n            i < length; ++i\n        ) {\n            for (\n                o = list[i], ki = 0;\n                ki < klength;\n                result[j++] = o[keys[ki++]]\n            );\n        }\n        // keys.length, keys, result\n        return concat.call([klength], keys, result);\n    }\n\n    // transforms [1,\"a\",\"A\",\"B\"] to [{a:\"A\"},{a:\"B\"}]\n    function hunpack(hlist) {\n        for (var\n            length = hlist.length,\n            klength = hlist[0],\n            result = Array(((length - klength - 1) / klength) || 0),\n            i = 1 + klength,\n            j = 0,\n            ki, o;\n            i < length;\n        ) {\n            for (\n                result[j++] = (o = {}), ki = 0;\n                ki < klength;\n                o[hlist[++ki]] = hlist[i++]\n            );\n        }\n        return result;\n    }\n\n    // recursive: called via map per each item h(pack|unpack)ing each entry through the schema\n    function iteratingWith(method) {\n        return function iterate(item) {\n            for (var\n                path = this,\n                current = item,\n                i = 0, length = path.length,\n                j, k, tmp;\n                i < length; ++i\n            ) {\n                if (isArray(tmp = current[k = path[i]])) {\n                    j = i + 1;\n                    current[k] = j < length ?\n                        map.call(tmp, method, path.slice(j)) :\n                        method(tmp)\n                    ;\n                }\n                current = current[k];\n            }\n            return item;\n        };\n    }\n\n    // called per each schema (pack|unpack)ing each schema\n    function packOrUnpack(method) {\n        return function parse(o, schema) {\n            for (var\n                wasArray = isArray(o),\n                result = concat.call(arr, o),\n                path = concat.call(arr, schema),\n                i = 0, length = path.length;\n                i < length; ++i\n            ) {\n                result = map.call(result, method, path[i].split(\".\"));\n            }\n            return wasArray ? result : result[0];\n        };\n    }\n\n    // JSONH.pack\n    function pack(list, schema) {\n        return schema ? packSchema(list, schema) : hpack(list);\n    }\n\n    // JSONH unpack\n    function unpack(hlist, schema) {\n        return schema ? unpackSchema(hlist, schema) : hunpack(hlist);\n    }\n\n    // JSON.stringify after JSONH.pack\n    function stringify(list, replacer, space, schema) {\n        return JSON_stringify(pack(list, schema), replacer, space);\n    }\n\n    // JSONH.unpack after JSON.parse\n    function parse(hlist, reviver, schema) {\n        return unpack(JSON_parse(hlist, reviver), schema);\n    }\n\n    var\n        // recycled for different operations\n        arr = [],\n        // trapped once reused forever\n        concat = arr.concat,\n        // addressed cross platform Object.keys shim\n        Object_keys = Object.keys || function (o) {\n            var keys = [], key;\n            for (key in o) o.hasOwnProperty(key) && keys.push(key);\n            return keys;\n        },\n        // addressed cross platform Array.isArray shim\n        isArray = Array.isArray || (function (toString, arrayToString) {\n            arrayToString = toString.call(arr);\n            return function isArray(o) {\n                return toString.call(o) == arrayToString;\n            };\n        }({}.toString)),\n        // fast and partial Array#map shim\n        map = arr.map || function (callback, context) {\n            for (var\n                self = this, i = self.length, result = Array(i);\n                i--;\n                result[i] = callback.call(context, self[i], i, self)\n            );\n            return result;\n        },\n        // schema related (pack|unpack)ing operations\n        packSchema = packOrUnpack(iteratingWith(hpack)),\n        unpackSchema = packOrUnpack(iteratingWith(hunpack)),\n        // JSON object shortcuts\n        JSON_stringify = JSON.stringify,\n        JSON_parse = JSON.parse\n    ;\n\n    return {\n        pack: pack,\n        parse: parse,\n        stringify: stringify,\n        unpack: unpack\n    };\n\n}(Array, JSON);\n\n// export for node.js\nif(typeof module != 'undefined' && module.exports) {\n\tmodule.exports = jsonh;\n}"]}