{"version":3,"file":"destr-Cx7WjB9q.js","sources":["../../node_modules/destr/dist/index.mjs"],"sourcesContent":["const suspectProtoRx = /\"(?:_|\\\\u0{2}5[Ff]){2}(?:p|\\\\u0{2}70)(?:r|\\\\u0{2}72)(?:o|\\\\u0{2}6[Ff])(?:t|\\\\u0{2}74)(?:o|\\\\u0{2}6[Ff])(?:_|\\\\u0{2}5[Ff]){2}\"\\s*:/;\nconst suspectConstructorRx = /\"(?:c|\\\\u0063)(?:o|\\\\u006[Ff])(?:n|\\\\u006[Ee])(?:s|\\\\u0073)(?:t|\\\\u0074)(?:r|\\\\u0072)(?:u|\\\\u0075)(?:c|\\\\u0063)(?:t|\\\\u0074)(?:o|\\\\u006[Ff])(?:r|\\\\u0072)\"\\s*:/;\nconst JsonSigRx = /^\\s*[\"[{]|^\\s*-?\\d{1,16}(\\.\\d{1,17})?([Ee][+-]?\\d+)?\\s*$/;\nfunction jsonParseTransform(key, value) {\n if (key === \"__proto__\" || key === \"constructor\" && value && typeof value === \"object\" && \"prototype\" in value) {\n warnKeyDropped(key);\n return;\n }\n return value;\n}\nfunction warnKeyDropped(key) {\n console.warn(`[destr] Dropping \"${key}\" key to prevent prototype pollution.`);\n}\nfunction destr(value, options = {}) {\n if (typeof value !== \"string\") {\n return value;\n }\n const _value = value.trim();\n if (\n // eslint-disable-next-line unicorn/prefer-at\n value[0] === '\"' && value.endsWith('\"') && !value.includes(\"\\\\\")\n ) {\n return _value.slice(1, -1);\n }\n if (_value.length <= 9) {\n const _lval = _value.toLowerCase();\n if (_lval === \"true\") {\n return true;\n }\n if (_lval === \"false\") {\n return false;\n }\n if (_lval === \"undefined\") {\n return void 0;\n }\n if (_lval === \"null\") {\n return null;\n }\n if (_lval === \"nan\") {\n return Number.NaN;\n }\n if (_lval === \"infinity\") {\n return Number.POSITIVE_INFINITY;\n }\n if (_lval === \"-infinity\") {\n return Number.NEGATIVE_INFINITY;\n }\n }\n if (!JsonSigRx.test(value)) {\n if (options.strict) {\n throw new SyntaxError(\"[destr] Invalid JSON\");\n }\n return value;\n }\n try {\n if (suspectProtoRx.test(value) || suspectConstructorRx.test(value)) {\n if (options.strict) {\n throw new Error(\"[destr] Possible prototype pollution\");\n }\n return JSON.parse(value, jsonParseTransform);\n }\n return JSON.parse(value);\n } catch (error) {\n if (options.strict) {\n throw error;\n }\n return value;\n }\n}\nfunction safeDestr(value, options = {}) {\n return destr(value, { ...options, strict: true });\n}\n\nexport { destr as default, destr, safeDestr };\n"],"names":["suspectProtoRx","suspectConstructorRx","JsonSigRx","jsonParseTransform","key","value","warnKeyDropped","destr","options","_value","_lval","error"],"mappings":"AAAA,MAAMA,EAAiB,oIACjBC,EAAuB,iKACvBC,EAAY,2DAClB,SAASC,EAAmBC,EAAKC,EAAO,CACtC,GAAID,IAAQ,aAAeA,IAAQ,eAAiBC,GAAS,OAAOA,GAAU,UAAY,cAAeA,EAAO,CAC9GC,EAAeF,CAAG,EAClB,MACJ,CACE,OAAOC,CACT,CACA,SAASC,EAAeF,EAAK,CAC3B,QAAQ,KAAK,qBAAqBA,CAAG,uCAAuC,CAC9E,CACA,SAASG,EAAMF,EAAOG,EAAU,GAAI,CAClC,GAAI,OAAOH,GAAU,SACnB,OAAOA,EAET,MAAMI,EAASJ,EAAM,KAAM,EAC3B,GAEEA,EAAM,CAAC,IAAM,KAAOA,EAAM,SAAS,GAAG,GAAK,CAACA,EAAM,SAAS,IAAI,EAE/D,OAAOI,EAAO,MAAM,EAAG,EAAE,EAE3B,GAAIA,EAAO,QAAU,EAAG,CACtB,MAAMC,EAAQD,EAAO,YAAa,EAClC,GAAIC,IAAU,OACZ,MAAO,GAET,GAAIA,IAAU,QACZ,MAAO,GAET,GAAIA,IAAU,YACZ,OAEF,GAAIA,IAAU,OACZ,OAAO,KAET,GAAIA,IAAU,MACZ,OAAO,OAAO,IAEhB,GAAIA,IAAU,WACZ,OAAO,OAAO,kBAEhB,GAAIA,IAAU,YACZ,OAAO,OAAO,iBAEpB,CACE,GAAI,CAACR,EAAU,KAAKG,CAAK,EAAG,CAC1B,GAAIG,EAAQ,OACV,MAAM,IAAI,YAAY,sBAAsB,EAE9C,OAAOH,CACX,CACE,GAAI,CACF,GAAIL,EAAe,KAAKK,CAAK,GAAKJ,EAAqB,KAAKI,CAAK,EAAG,CAClE,GAAIG,EAAQ,OACV,MAAM,IAAI,MAAM,sCAAsC,EAExD,OAAO,KAAK,MAAMH,EAAOF,CAAkB,CACjD,CACI,OAAO,KAAK,MAAME,CAAK,CACxB,OAAQM,EAAO,CACd,GAAIH,EAAQ,OACV,MAAMG,EAER,OAAON,CACX,CACA","x_google_ignoreList":[0]}