@slicemachine/manager 0.1.1-dev-plugins.3 → 0.1.1-dev-plugins.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/__node_modules/@msgpack/msgpack/dist.es5_esm/CachedKeyDecoder.cjs +65 -0
- package/dist/__node_modules/@msgpack/msgpack/dist.es5_esm/CachedKeyDecoder.cjs.map +1 -0
- package/dist/__node_modules/@msgpack/msgpack/dist.es5_esm/CachedKeyDecoder.js +65 -0
- package/dist/__node_modules/@msgpack/msgpack/dist.es5_esm/CachedKeyDecoder.js.map +1 -0
- package/dist/__node_modules/@msgpack/msgpack/dist.es5_esm/DecodeError.cjs +40 -0
- package/dist/__node_modules/@msgpack/msgpack/dist.es5_esm/DecodeError.cjs.map +1 -0
- package/dist/__node_modules/@msgpack/msgpack/dist.es5_esm/DecodeError.js +40 -0
- package/dist/__node_modules/@msgpack/msgpack/dist.es5_esm/DecodeError.js.map +1 -0
- package/dist/__node_modules/@msgpack/msgpack/dist.es5_esm/Decoder.cjs +801 -0
- package/dist/__node_modules/@msgpack/msgpack/dist.es5_esm/Decoder.cjs.map +1 -0
- package/dist/__node_modules/@msgpack/msgpack/dist.es5_esm/Decoder.js +801 -0
- package/dist/__node_modules/@msgpack/msgpack/dist.es5_esm/Decoder.js.map +1 -0
- package/dist/__node_modules/@msgpack/msgpack/dist.es5_esm/Encoder.cjs +351 -0
- package/dist/__node_modules/@msgpack/msgpack/dist.es5_esm/Encoder.cjs.map +1 -0
- package/dist/__node_modules/@msgpack/msgpack/dist.es5_esm/Encoder.js +351 -0
- package/dist/__node_modules/@msgpack/msgpack/dist.es5_esm/Encoder.js.map +1 -0
- package/dist/__node_modules/@msgpack/msgpack/dist.es5_esm/ExtData.cjs +11 -0
- package/dist/__node_modules/@msgpack/msgpack/dist.es5_esm/ExtData.cjs.map +1 -0
- package/dist/__node_modules/@msgpack/msgpack/dist.es5_esm/ExtData.js +11 -0
- package/dist/__node_modules/@msgpack/msgpack/dist.es5_esm/ExtData.js.map +1 -0
- package/dist/__node_modules/@msgpack/msgpack/dist.es5_esm/ExtensionCodec.cjs +62 -0
- package/dist/__node_modules/@msgpack/msgpack/dist.es5_esm/ExtensionCodec.cjs.map +1 -0
- package/dist/__node_modules/@msgpack/msgpack/dist.es5_esm/ExtensionCodec.js +62 -0
- package/dist/__node_modules/@msgpack/msgpack/dist.es5_esm/ExtensionCodec.js.map +1 -0
- package/dist/__node_modules/@msgpack/msgpack/dist.es5_esm/decode.cjs +14 -0
- package/dist/__node_modules/@msgpack/msgpack/dist.es5_esm/decode.cjs.map +1 -0
- package/dist/__node_modules/@msgpack/msgpack/dist.es5_esm/decode.js +14 -0
- package/dist/__node_modules/@msgpack/msgpack/dist.es5_esm/decode.js.map +1 -0
- package/dist/__node_modules/@msgpack/msgpack/dist.es5_esm/encode.cjs +13 -0
- package/dist/__node_modules/@msgpack/msgpack/dist.es5_esm/encode.cjs.map +1 -0
- package/dist/__node_modules/@msgpack/msgpack/dist.es5_esm/encode.js +13 -0
- package/dist/__node_modules/@msgpack/msgpack/dist.es5_esm/encode.js.map +1 -0
- package/dist/__node_modules/@msgpack/msgpack/dist.es5_esm/timestamp.cjs +91 -0
- package/dist/__node_modules/@msgpack/msgpack/dist.es5_esm/timestamp.cjs.map +1 -0
- package/dist/__node_modules/@msgpack/msgpack/dist.es5_esm/timestamp.js +91 -0
- package/dist/__node_modules/@msgpack/msgpack/dist.es5_esm/timestamp.js.map +1 -0
- package/dist/__node_modules/@msgpack/msgpack/dist.es5_esm/utils/int.cjs +31 -0
- package/dist/__node_modules/@msgpack/msgpack/dist.es5_esm/utils/int.cjs.map +1 -0
- package/dist/__node_modules/@msgpack/msgpack/dist.es5_esm/utils/int.js +31 -0
- package/dist/__node_modules/@msgpack/msgpack/dist.es5_esm/utils/int.js.map +1 -0
- package/dist/__node_modules/@msgpack/msgpack/dist.es5_esm/utils/prettyByte.cjs +7 -0
- package/dist/__node_modules/@msgpack/msgpack/dist.es5_esm/utils/prettyByte.cjs.map +1 -0
- package/dist/__node_modules/@msgpack/msgpack/dist.es5_esm/utils/prettyByte.js +7 -0
- package/dist/__node_modules/@msgpack/msgpack/dist.es5_esm/utils/prettyByte.js.map +1 -0
- package/dist/__node_modules/@msgpack/msgpack/dist.es5_esm/utils/typedArrays.cjs +23 -0
- package/dist/__node_modules/@msgpack/msgpack/dist.es5_esm/utils/typedArrays.cjs.map +1 -0
- package/dist/__node_modules/@msgpack/msgpack/dist.es5_esm/utils/typedArrays.js +23 -0
- package/dist/__node_modules/@msgpack/msgpack/dist.es5_esm/utils/typedArrays.js.map +1 -0
- package/dist/__node_modules/@msgpack/msgpack/dist.es5_esm/utils/utf8.cjs +132 -0
- package/dist/__node_modules/@msgpack/msgpack/dist.es5_esm/utils/utf8.cjs.map +1 -0
- package/dist/__node_modules/@msgpack/msgpack/dist.es5_esm/utils/utf8.js +132 -0
- package/dist/__node_modules/@msgpack/msgpack/dist.es5_esm/utils/utf8.js.map +1 -0
- package/dist/__node_modules/r19/dist/client/createRPCClient.cjs +29 -11
- package/dist/__node_modules/r19/dist/client/createRPCClient.cjs.map +1 -1
- package/dist/__node_modules/r19/dist/client/createRPCClient.js +29 -11
- package/dist/__node_modules/r19/dist/client/createRPCClient.js.map +1 -1
- package/dist/__node_modules/r19/dist/createRPCMiddleware.cjs +5 -4
- package/dist/__node_modules/r19/dist/createRPCMiddleware.cjs.map +1 -1
- package/dist/__node_modules/r19/dist/createRPCMiddleware.js +6 -5
- package/dist/__node_modules/r19/dist/createRPCMiddleware.js.map +1 -1
- package/dist/__node_modules/r19/dist/handleRPCRequest.cjs +39 -110
- package/dist/__node_modules/r19/dist/handleRPCRequest.cjs.map +1 -1
- package/dist/__node_modules/r19/dist/handleRPCRequest.js +39 -110
- package/dist/__node_modules/r19/dist/handleRPCRequest.js.map +1 -1
- package/dist/__node_modules/r19/dist/lib/replaceLeaves.cjs +28 -0
- package/dist/__node_modules/r19/dist/lib/replaceLeaves.cjs.map +1 -0
- package/dist/__node_modules/r19/dist/lib/replaceLeaves.js +28 -0
- package/dist/__node_modules/r19/dist/lib/replaceLeaves.js.map +1 -0
- package/dist/managers/createSliceMachineManagerMiddleware.cjs +0 -4
- package/dist/managers/createSliceMachineManagerMiddleware.cjs.map +1 -1
- package/dist/managers/createSliceMachineManagerMiddleware.js +0 -4
- package/dist/managers/createSliceMachineManagerMiddleware.js.map +1 -1
- package/dist/managers/screenshots/ScreenshotsManager.cjs +33 -16
- package/dist/managers/screenshots/ScreenshotsManager.cjs.map +1 -1
- package/dist/managers/screenshots/ScreenshotsManager.d.ts +2 -4
- package/dist/managers/screenshots/ScreenshotsManager.js +34 -17
- package/dist/managers/screenshots/ScreenshotsManager.js.map +1 -1
- package/dist/test/createSliceMachineManagerMSWHandler.cjs +3 -10
- package/dist/test/createSliceMachineManagerMSWHandler.cjs.map +1 -1
- package/dist/test/createSliceMachineManagerMSWHandler.js +3 -10
- package/dist/test/createSliceMachineManagerMSWHandler.js.map +1 -1
- package/package.json +4 -4
- package/src/client/index.ts +1 -1
- package/src/managers/screenshots/ScreenshotsManager.ts +65 -18
- package/src/test/createSliceMachineManagerMSWHandler.ts +2 -14
- package/dist/__node_modules/busboy/lib/index.cjs +0 -51
- package/dist/__node_modules/busboy/lib/index.cjs.map +0 -1
- package/dist/__node_modules/busboy/lib/index.js +0 -52
- package/dist/__node_modules/busboy/lib/index.js.map +0 -1
- package/dist/__node_modules/busboy/lib/types/multipart.cjs +0 -1046
- package/dist/__node_modules/busboy/lib/types/multipart.cjs.map +0 -1
- package/dist/__node_modules/busboy/lib/types/multipart.js +0 -1047
- package/dist/__node_modules/busboy/lib/types/multipart.js.map +0 -1
- package/dist/__node_modules/busboy/lib/types/urlencoded.cjs +0 -545
- package/dist/__node_modules/busboy/lib/types/urlencoded.cjs.map +0 -1
- package/dist/__node_modules/busboy/lib/types/urlencoded.js +0 -546
- package/dist/__node_modules/busboy/lib/types/urlencoded.js.map +0 -1
- package/dist/__node_modules/busboy/lib/utils.cjs +0 -1681
- package/dist/__node_modules/busboy/lib/utils.cjs.map +0 -1
- package/dist/__node_modules/busboy/lib/utils.js +0 -1682
- package/dist/__node_modules/busboy/lib/utils.js.map +0 -1
- package/dist/__node_modules/devalue/src/constants.cjs +0 -15
- package/dist/__node_modules/devalue/src/constants.cjs.map +0 -1
- package/dist/__node_modules/devalue/src/constants.js +0 -15
- package/dist/__node_modules/devalue/src/constants.js.map +0 -1
- package/dist/__node_modules/devalue/src/parse.cjs +0 -95
- package/dist/__node_modules/devalue/src/parse.cjs.map +0 -1
- package/dist/__node_modules/devalue/src/parse.js +0 -95
- package/dist/__node_modules/devalue/src/parse.js.map +0 -1
- package/dist/__node_modules/devalue/src/stringify.cjs +0 -140
- package/dist/__node_modules/devalue/src/stringify.cjs.map +0 -1
- package/dist/__node_modules/devalue/src/stringify.js +0 -140
- package/dist/__node_modules/devalue/src/stringify.js.map +0 -1
- package/dist/__node_modules/devalue/src/uneval.cjs +0 -4
- package/dist/__node_modules/devalue/src/uneval.cjs.map +0 -1
- package/dist/__node_modules/devalue/src/uneval.js +0 -3
- package/dist/__node_modules/devalue/src/uneval.js.map +0 -1
- package/dist/__node_modules/devalue/src/utils.cjs +0 -68
- package/dist/__node_modules/devalue/src/utils.cjs.map +0 -1
- package/dist/__node_modules/devalue/src/utils.js +0 -68
- package/dist/__node_modules/devalue/src/utils.js.map +0 -1
- package/dist/__node_modules/formdata-node/lib/browser.cjs +0 -16
- package/dist/__node_modules/formdata-node/lib/browser.cjs.map +0 -1
- package/dist/__node_modules/formdata-node/lib/browser.js +0 -16
- package/dist/__node_modules/formdata-node/lib/browser.js.map +0 -1
- package/dist/__node_modules/r19/dist/constants.cjs +0 -5
- package/dist/__node_modules/r19/dist/constants.cjs.map +0 -1
- package/dist/__node_modules/r19/dist/constants.js +0 -5
- package/dist/__node_modules/r19/dist/constants.js.map +0 -1
- package/dist/__node_modules/r19/dist/lib/encodeFormData.cjs +0 -46
- package/dist/__node_modules/r19/dist/lib/encodeFormData.cjs.map +0 -1
- package/dist/__node_modules/r19/dist/lib/encodeFormData.js +0 -46
- package/dist/__node_modules/r19/dist/lib/encodeFormData.js.map +0 -1
- package/dist/__node_modules/r19/dist/lib/flattenObject.cjs +0 -43
- package/dist/__node_modules/r19/dist/lib/flattenObject.cjs.map +0 -1
- package/dist/__node_modules/r19/dist/lib/flattenObject.js +0 -43
- package/dist/__node_modules/r19/dist/lib/flattenObject.js.map +0 -1
- package/dist/__node_modules/r19/dist/lib/formDataToObject.client.cjs +0 -19
- package/dist/__node_modules/r19/dist/lib/formDataToObject.client.cjs.map +0 -1
- package/dist/__node_modules/r19/dist/lib/formDataToObject.client.js +0 -19
- package/dist/__node_modules/r19/dist/lib/formDataToObject.client.js.map +0 -1
- package/dist/__node_modules/r19/dist/lib/objectToFormData.client.cjs +0 -20
- package/dist/__node_modules/r19/dist/lib/objectToFormData.client.cjs.map +0 -1
- package/dist/__node_modules/r19/dist/lib/objectToFormData.client.js +0 -20
- package/dist/__node_modules/r19/dist/lib/objectToFormData.client.js.map +0 -1
- package/dist/__node_modules/r19/dist/lib/objectToFormData.server.cjs +0 -22
- package/dist/__node_modules/r19/dist/lib/objectToFormData.server.cjs.map +0 -1
- package/dist/__node_modules/r19/dist/lib/objectToFormData.server.js +0 -22
- package/dist/__node_modules/r19/dist/lib/objectToFormData.server.js.map +0 -1
- package/dist/__node_modules/r19/dist/lib/unflattenObject.cjs +0 -20
- package/dist/__node_modules/r19/dist/lib/unflattenObject.cjs.map +0 -1
- package/dist/__node_modules/r19/dist/lib/unflattenObject.js +0 -20
- package/dist/__node_modules/r19/dist/lib/unflattenObject.js.map +0 -1
- package/dist/__node_modules/streamsearch/lib/sbmh.cjs +0 -393
- package/dist/__node_modules/streamsearch/lib/sbmh.cjs.map +0 -1
- package/dist/__node_modules/streamsearch/lib/sbmh.js +0 -394
- package/dist/__node_modules/streamsearch/lib/sbmh.js.map +0 -1
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"utils.js","sources":["../../../../../../node_modules/busboy/lib/utils.js"],"sourcesContent":["'use strict';\n\nfunction parseContentType(str) {\n if (str.length === 0)\n return;\n\n const params = Object.create(null);\n let i = 0;\n\n // Parse type\n for (; i < str.length; ++i) {\n const code = str.charCodeAt(i);\n if (TOKEN[code] !== 1) {\n if (code !== 47/* '/' */ || i === 0)\n return;\n break;\n }\n }\n // Check for type without subtype\n if (i === str.length)\n return;\n\n const type = str.slice(0, i).toLowerCase();\n\n // Parse subtype\n const subtypeStart = ++i;\n for (; i < str.length; ++i) {\n const code = str.charCodeAt(i);\n if (TOKEN[code] !== 1) {\n // Make sure we have a subtype\n if (i === subtypeStart)\n return;\n\n if (parseContentTypeParams(str, i, params) === undefined)\n return;\n break;\n }\n }\n // Make sure we have a subtype\n if (i === subtypeStart)\n return;\n\n const subtype = str.slice(subtypeStart, i).toLowerCase();\n\n return { type, subtype, params };\n}\n\nfunction parseContentTypeParams(str, i, params) {\n while (i < str.length) {\n // Consume whitespace\n for (; i < str.length; ++i) {\n const code = str.charCodeAt(i);\n if (code !== 32/* ' ' */ && code !== 9/* '\\t' */)\n break;\n }\n\n // Ended on whitespace\n if (i === str.length)\n break;\n\n // Check for malformed parameter\n if (str.charCodeAt(i++) !== 59/* ';' */)\n return;\n\n // Consume whitespace\n for (; i < str.length; ++i) {\n const code = str.charCodeAt(i);\n if (code !== 32/* ' ' */ && code !== 9/* '\\t' */)\n break;\n }\n\n // Ended on whitespace (malformed)\n if (i === str.length)\n return;\n\n let name;\n const nameStart = i;\n // Parse parameter name\n for (; i < str.length; ++i) {\n const code = str.charCodeAt(i);\n if (TOKEN[code] !== 1) {\n if (code !== 61/* '=' */)\n return;\n break;\n }\n }\n\n // No value (malformed)\n if (i === str.length)\n return;\n\n name = str.slice(nameStart, i);\n ++i; // Skip over '='\n\n // No value (malformed)\n if (i === str.length)\n return;\n\n let value = '';\n let valueStart;\n if (str.charCodeAt(i) === 34/* '\"' */) {\n valueStart = ++i;\n let escaping = false;\n // Parse quoted value\n for (; i < str.length; ++i) {\n const code = str.charCodeAt(i);\n if (code === 92/* '\\\\' */) {\n if (escaping) {\n valueStart = i;\n escaping = false;\n } else {\n value += str.slice(valueStart, i);\n escaping = true;\n }\n continue;\n }\n if (code === 34/* '\"' */) {\n if (escaping) {\n valueStart = i;\n escaping = false;\n continue;\n }\n value += str.slice(valueStart, i);\n break;\n }\n if (escaping) {\n valueStart = i - 1;\n escaping = false;\n }\n // Invalid unescaped quoted character (malformed)\n if (QDTEXT[code] !== 1)\n return;\n }\n\n // No end quote (malformed)\n if (i === str.length)\n return;\n\n ++i; // Skip over double quote\n } else {\n valueStart = i;\n // Parse unquoted value\n for (; i < str.length; ++i) {\n const code = str.charCodeAt(i);\n if (TOKEN[code] !== 1) {\n // No value (malformed)\n if (i === valueStart)\n return;\n break;\n }\n }\n value = str.slice(valueStart, i);\n }\n\n name = name.toLowerCase();\n if (params[name] === undefined)\n params[name] = value;\n }\n\n return params;\n}\n\nfunction parseDisposition(str, defDecoder) {\n if (str.length === 0)\n return;\n\n const params = Object.create(null);\n let i = 0;\n\n for (; i < str.length; ++i) {\n const code = str.charCodeAt(i);\n if (TOKEN[code] !== 1) {\n if (parseDispositionParams(str, i, params, defDecoder) === undefined)\n return;\n break;\n }\n }\n\n const type = str.slice(0, i).toLowerCase();\n\n return { type, params };\n}\n\nfunction parseDispositionParams(str, i, params, defDecoder) {\n while (i < str.length) {\n // Consume whitespace\n for (; i < str.length; ++i) {\n const code = str.charCodeAt(i);\n if (code !== 32/* ' ' */ && code !== 9/* '\\t' */)\n break;\n }\n\n // Ended on whitespace\n if (i === str.length)\n break;\n\n // Check for malformed parameter\n if (str.charCodeAt(i++) !== 59/* ';' */)\n return;\n\n // Consume whitespace\n for (; i < str.length; ++i) {\n const code = str.charCodeAt(i);\n if (code !== 32/* ' ' */ && code !== 9/* '\\t' */)\n break;\n }\n\n // Ended on whitespace (malformed)\n if (i === str.length)\n return;\n\n let name;\n const nameStart = i;\n // Parse parameter name\n for (; i < str.length; ++i) {\n const code = str.charCodeAt(i);\n if (TOKEN[code] !== 1) {\n if (code === 61/* '=' */)\n break;\n return;\n }\n }\n\n // No value (malformed)\n if (i === str.length)\n return;\n\n let value = '';\n let valueStart;\n let charset;\n //~ let lang;\n name = str.slice(nameStart, i);\n if (name.charCodeAt(name.length - 1) === 42/* '*' */) {\n // Extended value\n\n const charsetStart = ++i;\n // Parse charset name\n for (; i < str.length; ++i) {\n const code = str.charCodeAt(i);\n if (CHARSET[code] !== 1) {\n if (code !== 39/* '\\'' */)\n return;\n break;\n }\n }\n\n // Incomplete charset (malformed)\n if (i === str.length)\n return;\n\n charset = str.slice(charsetStart, i);\n ++i; // Skip over the '\\''\n\n //~ const langStart = ++i;\n // Parse language name\n for (; i < str.length; ++i) {\n const code = str.charCodeAt(i);\n if (code === 39/* '\\'' */)\n break;\n }\n\n // Incomplete language (malformed)\n if (i === str.length)\n return;\n\n //~ lang = str.slice(langStart, i);\n ++i; // Skip over the '\\''\n\n // No value (malformed)\n if (i === str.length)\n return;\n\n valueStart = i;\n\n let encode = 0;\n // Parse value\n for (; i < str.length; ++i) {\n const code = str.charCodeAt(i);\n if (EXTENDED_VALUE[code] !== 1) {\n if (code === 37/* '%' */) {\n let hexUpper;\n let hexLower;\n if (i + 2 < str.length\n && (hexUpper = HEX_VALUES[str.charCodeAt(i + 1)]) !== -1\n && (hexLower = HEX_VALUES[str.charCodeAt(i + 2)]) !== -1) {\n const byteVal = (hexUpper << 4) + hexLower;\n value += str.slice(valueStart, i);\n value += String.fromCharCode(byteVal);\n i += 2;\n valueStart = i + 1;\n if (byteVal >= 128)\n encode = 2;\n else if (encode === 0)\n encode = 1;\n continue;\n }\n // '%' disallowed in non-percent encoded contexts (malformed)\n return;\n }\n break;\n }\n }\n\n value += str.slice(valueStart, i);\n value = convertToUTF8(value, charset, encode);\n if (value === undefined)\n return;\n } else {\n // Non-extended value\n\n ++i; // Skip over '='\n\n // No value (malformed)\n if (i === str.length)\n return;\n\n if (str.charCodeAt(i) === 34/* '\"' */) {\n valueStart = ++i;\n let escaping = false;\n // Parse quoted value\n for (; i < str.length; ++i) {\n const code = str.charCodeAt(i);\n if (code === 92/* '\\\\' */) {\n if (escaping) {\n valueStart = i;\n escaping = false;\n } else {\n value += str.slice(valueStart, i);\n escaping = true;\n }\n continue;\n }\n if (code === 34/* '\"' */) {\n if (escaping) {\n valueStart = i;\n escaping = false;\n continue;\n }\n value += str.slice(valueStart, i);\n break;\n }\n if (escaping) {\n valueStart = i - 1;\n escaping = false;\n }\n // Invalid unescaped quoted character (malformed)\n if (QDTEXT[code] !== 1)\n return;\n }\n\n // No end quote (malformed)\n if (i === str.length)\n return;\n\n ++i; // Skip over double quote\n } else {\n valueStart = i;\n // Parse unquoted value\n for (; i < str.length; ++i) {\n const code = str.charCodeAt(i);\n if (TOKEN[code] !== 1) {\n // No value (malformed)\n if (i === valueStart)\n return;\n break;\n }\n }\n value = str.slice(valueStart, i);\n }\n\n value = defDecoder(value, 2);\n if (value === undefined)\n return;\n }\n\n name = name.toLowerCase();\n if (params[name] === undefined)\n params[name] = value;\n }\n\n return params;\n}\n\nfunction getDecoder(charset) {\n let lc;\n while (true) {\n switch (charset) {\n case 'utf-8':\n case 'utf8':\n return decoders.utf8;\n case 'latin1':\n case 'ascii': // TODO: Make these a separate, strict decoder?\n case 'us-ascii':\n case 'iso-8859-1':\n case 'iso8859-1':\n case 'iso88591':\n case 'iso_8859-1':\n case 'windows-1252':\n case 'iso_8859-1:1987':\n case 'cp1252':\n case 'x-cp1252':\n return decoders.latin1;\n case 'utf16le':\n case 'utf-16le':\n case 'ucs2':\n case 'ucs-2':\n return decoders.utf16le;\n case 'base64':\n return decoders.base64;\n default:\n if (lc === undefined) {\n lc = true;\n charset = charset.toLowerCase();\n continue;\n }\n return decoders.other.bind(charset);\n }\n }\n}\n\nconst decoders = {\n utf8: (data, hint) => {\n if (data.length === 0)\n return '';\n if (typeof data === 'string') {\n // If `data` never had any percent-encoded bytes or never had any that\n // were outside of the ASCII range, then we can safely just return the\n // input since UTF-8 is ASCII compatible\n if (hint < 2)\n return data;\n\n data = Buffer.from(data, 'latin1');\n }\n return data.utf8Slice(0, data.length);\n },\n\n latin1: (data, hint) => {\n if (data.length === 0)\n return '';\n if (typeof data === 'string')\n return data;\n return data.latin1Slice(0, data.length);\n },\n\n utf16le: (data, hint) => {\n if (data.length === 0)\n return '';\n if (typeof data === 'string')\n data = Buffer.from(data, 'latin1');\n return data.ucs2Slice(0, data.length);\n },\n\n base64: (data, hint) => {\n if (data.length === 0)\n return '';\n if (typeof data === 'string')\n data = Buffer.from(data, 'latin1');\n return data.base64Slice(0, data.length);\n },\n\n other: (data, hint) => {\n if (data.length === 0)\n return '';\n if (typeof data === 'string')\n data = Buffer.from(data, 'latin1');\n try {\n const decoder = new TextDecoder(this);\n return decoder.decode(data);\n } catch {}\n },\n};\n\nfunction convertToUTF8(data, charset, hint) {\n const decode = getDecoder(charset);\n if (decode)\n return decode(data, hint);\n}\n\nfunction basename(path) {\n if (typeof path !== 'string')\n return '';\n for (let i = path.length - 1; i >= 0; --i) {\n switch (path.charCodeAt(i)) {\n case 0x2F: // '/'\n case 0x5C: // '\\'\n path = path.slice(i + 1);\n return (path === '..' || path === '.' ? '' : path);\n }\n }\n return (path === '..' || path === '.' ? '' : path);\n}\n\nconst TOKEN = [\n 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n 0, 1, 0, 1, 1, 1, 1, 1, 0, 0, 1, 1, 0, 1, 1, 0,\n 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0,\n 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,\n 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 1, 1,\n 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,\n 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 0, 1, 0,\n 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n];\n\nconst QDTEXT = [\n 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0,\n 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,\n 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,\n 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,\n 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1,\n 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,\n 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0,\n 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,\n 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,\n 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,\n 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,\n 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,\n 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,\n 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,\n 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,\n];\n\nconst CHARSET = [\n 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n 0, 1, 0, 1, 1, 1, 1, 0, 0, 0, 0, 1, 0, 1, 0, 0,\n 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0,\n 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,\n 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 1, 1,\n 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,\n 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 0,\n 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n];\n\nconst EXTENDED_VALUE = [\n 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n 0, 1, 0, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, 1, 1, 0,\n 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0,\n 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,\n 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 1, 1,\n 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,\n 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 0, 1, 0,\n 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n];\n\n/* eslint-disable no-multi-spaces */\nconst HEX_VALUES = [\n -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,\n -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,\n -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,\n 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, -1, -1, -1, -1, -1, -1,\n -1, 10, 11, 12, 13, 14, 15, -1, -1, -1, -1, -1, -1, -1, -1, -1,\n -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,\n -1, 10, 11, 12, 13, 14, 15, -1, -1, -1, -1, -1, -1, -1, -1, -1,\n -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,\n -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,\n -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,\n -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,\n -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,\n -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,\n -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,\n -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,\n -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,\n];\n/* eslint-enable no-multi-spaces */\n\nmodule.exports = {\n basename,\n convertToUTF8,\n getDecoder,\n parseContentType,\n parseDisposition,\n};\n"],"names":["this"],"mappings":"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;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAC7C;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAC7C;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAC7C;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAC7C;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAC7C;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAC7C;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAC7C;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAC7C;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAC7C;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAC7C;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAC7C;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAC7C;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAC7C;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAC/C;AAEA,MAAM,SAAS;AAAA,EACb;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAC7C;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAC7C;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAC7C;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAC7C;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAC7C;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAC7C;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAC7C;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAC7C;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAC7C;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAC7C;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAC7C;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAC7C;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAC7C;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAC7C;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAC7C;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAC/C;AAEA,MAAM,UAAU;AAAA,EACd;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAC7C;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAC7C;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAC7C;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAC7C;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAC7C;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAC7C;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAC7C;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAC7C;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAC7C;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAC7C;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAC7C;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAC7C;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAC7C;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAC7C;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAC7C;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAC/C;AAEA,MAAM,iBAAiB;AAAA,EACrB;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAC7C;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAC7C;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAC7C;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAC7C;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAC7C;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAC7C;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAC7C;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAC7C;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAC7C;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAC7C;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAC7C;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAC7C;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAC7C;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAC7C;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAC7C;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAC/C;AAGA,MAAM,aAAa;AAAA,EACjB;AAAA,EAAI;AAAA,EAAI;AAAA,EAAI;AAAA,EAAI;AAAA,EAAI;AAAA,EAAI;AAAA,EAAI;AAAA,EAAI;AAAA,EAAI;AAAA,EAAI;AAAA,EAAI;AAAA,EAAI;AAAA,EAAI;AAAA,EAAI;AAAA,EAAI;AAAA,EAC5D;AAAA,EAAI;AAAA,EAAI;AAAA,EAAI;AAAA,EAAI;AAAA,EAAI;AAAA,EAAI;AAAA,EAAI;AAAA,EAAI;AAAA,EAAI;AAAA,EAAI;AAAA,EAAI;AAAA,EAAI;AAAA,EAAI;AAAA,EAAI;AAAA,EAAI;AAAA,EAC5D;AAAA,EAAI;AAAA,EAAI;AAAA,EAAI;AAAA,EAAI;AAAA,EAAI;AAAA,EAAI;AAAA,EAAI;AAAA,EAAI;AAAA,EAAI;AAAA,EAAI;AAAA,EAAI;AAAA,EAAI;AAAA,EAAI;AAAA,EAAI;AAAA,EAAI;AAAA,EAC3D;AAAA,EAAI;AAAA,EAAI;AAAA,EAAI;AAAA,EAAI;AAAA,EAAI;AAAA,EAAI;AAAA,EAAI;AAAA,EAAI;AAAA,EAAI;AAAA,EAAG;AAAA,EAAI;AAAA,EAAI;AAAA,EAAI;AAAA,EAAI;AAAA,EAAI;AAAA,EAC5D;AAAA,EAAI;AAAA,EAAI;AAAA,EAAI;AAAA,EAAI;AAAA,EAAI;AAAA,EAAI;AAAA,EAAI;AAAA,EAAI;AAAA,EAAI;AAAA,EAAI;AAAA,EAAI;AAAA,EAAI;AAAA,EAAI;AAAA,EAAI;AAAA,EAAI;AAAA,EAC5D;AAAA,EAAI;AAAA,EAAI;AAAA,EAAI;AAAA,EAAI;AAAA,EAAI;AAAA,EAAI;AAAA,EAAI;AAAA,EAAI;AAAA,EAAI;AAAA,EAAI;AAAA,EAAI;AAAA,EAAI;AAAA,EAAI;AAAA,EAAI;AAAA,EAAI;AAAA,EAC5D;AAAA,EAAI;AAAA,EAAI;AAAA,EAAI;AAAA,EAAI;AAAA,EAAI;AAAA,EAAI;AAAA,EAAI;AAAA,EAAI;AAAA,EAAI;AAAA,EAAI;AAAA,EAAI;AAAA,EAAI;AAAA,EAAI;AAAA,EAAI;AAAA,EAAI;AAAA,EAC5D;AAAA,EAAI;AAAA,EAAI;AAAA,EAAI;AAAA,EAAI;AAAA,EAAI;AAAA,EAAI;AAAA,EAAI;AAAA,EAAI;AAAA,EAAI;AAAA,EAAI;AAAA,EAAI;AAAA,EAAI;AAAA,EAAI;AAAA,EAAI;AAAA,EAAI;AAAA,EAC5D;AAAA,EAAI;AAAA,EAAI;AAAA,EAAI;AAAA,EAAI;AAAA,EAAI;AAAA,EAAI;AAAA,EAAI;AAAA,EAAI;AAAA,EAAI;AAAA,EAAI;AAAA,EAAI;AAAA,EAAI;AAAA,EAAI;AAAA,EAAI;AAAA,EAAI;AAAA,EAC5D;AAAA,EAAI;AAAA,EAAI;AAAA,EAAI;AAAA,EAAI;AAAA,EAAI;AAAA,EAAI;AAAA,EAAI;AAAA,EAAI;AAAA,EAAI;AAAA,EAAI;AAAA,EAAI;AAAA,EAAI;AAAA,EAAI;AAAA,EAAI;AAAA,EAAI;AAAA,EAC5D;AAAA,EAAI;AAAA,EAAI;AAAA,EAAI;AAAA,EAAI;AAAA,EAAI;AAAA,EAAI;AAAA,EAAI;AAAA,EAAI;AAAA,EAAI;AAAA,EAAI;AAAA,EAAI;AAAA,EAAI;AAAA,EAAI;AAAA,EAAI;AAAA,EAAI;AAAA,EAC5D;AAAA,EAAI;AAAA,EAAI;AAAA,EAAI;AAAA,EAAI;AAAA,EAAI;AAAA,EAAI;AAAA,EAAI;AAAA,EAAI;AAAA,EAAI;AAAA,EAAI;AAAA,EAAI;AAAA,EAAI;AAAA,EAAI;AAAA,EAAI;AAAA,EAAI;AAAA,EAC5D;AAAA,EAAI;AAAA,EAAI;AAAA,EAAI;AAAA,EAAI;AAAA,EAAI;AAAA,EAAI;AAAA,EAAI;AAAA,EAAI;AAAA,EAAI;AAAA,EAAI;AAAA,EAAI;AAAA,EAAI;AAAA,EAAI;AAAA,EAAI;AAAA,EAAI;AAAA,EAC5D;AAAA,EAAI;AAAA,EAAI;AAAA,EAAI;AAAA,EAAI;AAAA,EAAI;AAAA,EAAI;AAAA,EAAI;AAAA,EAAI;AAAA,EAAI;AAAA,EAAI;AAAA,EAAI;AAAA,EAAI;AAAA,EAAI;AAAA,EAAI;AAAA,EAAI;AAAA,EAC5D;AAAA,EAAI;AAAA,EAAI;AAAA,EAAI;AAAA,EAAI;AAAA,EAAI;AAAA,EAAI;AAAA,EAAI;AAAA,EAAI;AAAA,EAAI;AAAA,EAAI;AAAA,EAAI;AAAA,EAAI;AAAA,EAAI;AAAA,EAAI;AAAA,EAAI;AAAA,EAC5D;AAAA,EAAI;AAAA,EAAI;AAAA,EAAI;AAAA,EAAI;AAAA,EAAI;AAAA,EAAI;AAAA,EAAI;AAAA,EAAI;AAAA,EAAI;AAAA,EAAI;AAAA,EAAI;AAAA,EAAI;AAAA,EAAI;AAAA,EAAI;AAAA,EAAI;AAC9D;AAGA,IAAA,QAAiB;AAAA,EACf;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF;"}
|
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
3
|
-
const UNDEFINED = -1;
|
|
4
|
-
const HOLE = -2;
|
|
5
|
-
const NAN = -3;
|
|
6
|
-
const POSITIVE_INFINITY = -4;
|
|
7
|
-
const NEGATIVE_INFINITY = -5;
|
|
8
|
-
const NEGATIVE_ZERO = -6;
|
|
9
|
-
exports.HOLE = HOLE;
|
|
10
|
-
exports.NAN = NAN;
|
|
11
|
-
exports.NEGATIVE_INFINITY = NEGATIVE_INFINITY;
|
|
12
|
-
exports.NEGATIVE_ZERO = NEGATIVE_ZERO;
|
|
13
|
-
exports.POSITIVE_INFINITY = POSITIVE_INFINITY;
|
|
14
|
-
exports.UNDEFINED = UNDEFINED;
|
|
15
|
-
//# sourceMappingURL=constants.cjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"constants.cjs","sources":["../../../../../../node_modules/devalue/src/constants.js"],"sourcesContent":["export const UNDEFINED = -1;\nexport const HOLE = -2;\nexport const NAN = -3;\nexport const POSITIVE_INFINITY = -4;\nexport const NEGATIVE_INFINITY = -5;\nexport const NEGATIVE_ZERO = -6;\n"],"names":[],"mappings":";;AAAY,MAAC,YAAY;AACb,MAAC,OAAO;AACR,MAAC,MAAM;AACP,MAAC,oBAAoB;AACrB,MAAC,oBAAoB;AACrB,MAAC,gBAAgB;;;;;;;"}
|
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
const UNDEFINED = -1;
|
|
2
|
-
const HOLE = -2;
|
|
3
|
-
const NAN = -3;
|
|
4
|
-
const POSITIVE_INFINITY = -4;
|
|
5
|
-
const NEGATIVE_INFINITY = -5;
|
|
6
|
-
const NEGATIVE_ZERO = -6;
|
|
7
|
-
export {
|
|
8
|
-
HOLE,
|
|
9
|
-
NAN,
|
|
10
|
-
NEGATIVE_INFINITY,
|
|
11
|
-
NEGATIVE_ZERO,
|
|
12
|
-
POSITIVE_INFINITY,
|
|
13
|
-
UNDEFINED
|
|
14
|
-
};
|
|
15
|
-
//# sourceMappingURL=constants.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"constants.js","sources":["../../../../../../node_modules/devalue/src/constants.js"],"sourcesContent":["export const UNDEFINED = -1;\nexport const HOLE = -2;\nexport const NAN = -3;\nexport const POSITIVE_INFINITY = -4;\nexport const NEGATIVE_INFINITY = -5;\nexport const NEGATIVE_ZERO = -6;\n"],"names":[],"mappings":"AAAY,MAAC,YAAY;AACb,MAAC,OAAO;AACR,MAAC,MAAM;AACP,MAAC,oBAAoB;AACrB,MAAC,oBAAoB;AACrB,MAAC,gBAAgB;"}
|
|
@@ -1,95 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
3
|
-
const constants = require("./constants.cjs");
|
|
4
|
-
function parse(serialized) {
|
|
5
|
-
return unflatten(JSON.parse(serialized));
|
|
6
|
-
}
|
|
7
|
-
function unflatten(parsed) {
|
|
8
|
-
if (typeof parsed === "number")
|
|
9
|
-
return hydrate(parsed, true);
|
|
10
|
-
if (!Array.isArray(parsed) || parsed.length === 0) {
|
|
11
|
-
throw new Error("Invalid input");
|
|
12
|
-
}
|
|
13
|
-
const values = parsed;
|
|
14
|
-
const hydrated = Array(values.length);
|
|
15
|
-
function hydrate(index, standalone = false) {
|
|
16
|
-
if (index === constants.UNDEFINED)
|
|
17
|
-
return void 0;
|
|
18
|
-
if (index === constants.NAN)
|
|
19
|
-
return NaN;
|
|
20
|
-
if (index === constants.POSITIVE_INFINITY)
|
|
21
|
-
return Infinity;
|
|
22
|
-
if (index === constants.NEGATIVE_INFINITY)
|
|
23
|
-
return -Infinity;
|
|
24
|
-
if (index === constants.NEGATIVE_ZERO)
|
|
25
|
-
return -0;
|
|
26
|
-
if (standalone)
|
|
27
|
-
throw new Error(`Invalid input`);
|
|
28
|
-
if (index in hydrated)
|
|
29
|
-
return hydrated[index];
|
|
30
|
-
const value = values[index];
|
|
31
|
-
if (!value || typeof value !== "object") {
|
|
32
|
-
hydrated[index] = value;
|
|
33
|
-
} else if (Array.isArray(value)) {
|
|
34
|
-
if (typeof value[0] === "string") {
|
|
35
|
-
const type = value[0];
|
|
36
|
-
switch (type) {
|
|
37
|
-
case "Date":
|
|
38
|
-
hydrated[index] = new Date(value[1]);
|
|
39
|
-
break;
|
|
40
|
-
case "Set":
|
|
41
|
-
const set = /* @__PURE__ */ new Set();
|
|
42
|
-
hydrated[index] = set;
|
|
43
|
-
for (let i = 1; i < value.length; i += 1) {
|
|
44
|
-
set.add(hydrate(value[i]));
|
|
45
|
-
}
|
|
46
|
-
break;
|
|
47
|
-
case "Map":
|
|
48
|
-
const map = /* @__PURE__ */ new Map();
|
|
49
|
-
hydrated[index] = map;
|
|
50
|
-
for (let i = 1; i < value.length; i += 2) {
|
|
51
|
-
map.set(hydrate(value[i]), hydrate(value[i + 1]));
|
|
52
|
-
}
|
|
53
|
-
break;
|
|
54
|
-
case "RegExp":
|
|
55
|
-
hydrated[index] = new RegExp(value[1], value[2]);
|
|
56
|
-
break;
|
|
57
|
-
case "Object":
|
|
58
|
-
hydrated[index] = Object(value[1]);
|
|
59
|
-
break;
|
|
60
|
-
case "BigInt":
|
|
61
|
-
hydrated[index] = BigInt(value[1]);
|
|
62
|
-
break;
|
|
63
|
-
case "null":
|
|
64
|
-
const obj = /* @__PURE__ */ Object.create(null);
|
|
65
|
-
hydrated[index] = obj;
|
|
66
|
-
for (let i = 1; i < value.length; i += 2) {
|
|
67
|
-
obj[value[i]] = hydrate(value[i + 1]);
|
|
68
|
-
}
|
|
69
|
-
break;
|
|
70
|
-
}
|
|
71
|
-
} else {
|
|
72
|
-
const array = new Array(value.length);
|
|
73
|
-
hydrated[index] = array;
|
|
74
|
-
for (let i = 0; i < value.length; i += 1) {
|
|
75
|
-
const n = value[i];
|
|
76
|
-
if (n === constants.HOLE)
|
|
77
|
-
continue;
|
|
78
|
-
array[i] = hydrate(n);
|
|
79
|
-
}
|
|
80
|
-
}
|
|
81
|
-
} else {
|
|
82
|
-
const object = {};
|
|
83
|
-
hydrated[index] = object;
|
|
84
|
-
for (const key in value) {
|
|
85
|
-
const n = value[key];
|
|
86
|
-
object[key] = hydrate(n);
|
|
87
|
-
}
|
|
88
|
-
}
|
|
89
|
-
return hydrated[index];
|
|
90
|
-
}
|
|
91
|
-
return hydrate(0);
|
|
92
|
-
}
|
|
93
|
-
exports.parse = parse;
|
|
94
|
-
exports.unflatten = unflatten;
|
|
95
|
-
//# sourceMappingURL=parse.cjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"parse.cjs","sources":["../../../../../../node_modules/devalue/src/parse.js"],"sourcesContent":["import {\n\tHOLE,\n\tNAN,\n\tNEGATIVE_INFINITY,\n\tNEGATIVE_ZERO,\n\tPOSITIVE_INFINITY,\n\tUNDEFINED\n} from './constants.js';\n\n/**\n * Revive a value serialized with `devalue.stringify`\n * @param {string} serialized\n */\nexport function parse(serialized) {\n\treturn unflatten(JSON.parse(serialized));\n}\n\n/**\n * Revive a value flattened with `devalue.flatten`\n * @param {number | any[]} parsed\n */\nexport function unflatten(parsed) {\n\tif (typeof parsed === 'number') return hydrate(parsed, true);\n\n\tif (!Array.isArray(parsed) || parsed.length === 0) {\n\t\tthrow new Error('Invalid input');\n\t}\n\n\tconst values = /** @type {any[]} */ (parsed);\n\n\tconst hydrated = Array(values.length);\n\n\t/** @param {number} index */\n\tfunction hydrate(index, standalone = false) {\n\t\tif (index === UNDEFINED) return undefined;\n\t\tif (index === NAN) return NaN;\n\t\tif (index === POSITIVE_INFINITY) return Infinity;\n\t\tif (index === NEGATIVE_INFINITY) return -Infinity;\n\t\tif (index === NEGATIVE_ZERO) return -0;\n\n\t\tif (standalone) throw new Error(`Invalid input`);\n\n\t\tif (index in hydrated) return hydrated[index];\n\n\t\tconst value = values[index];\n\n\t\tif (!value || typeof value !== 'object') {\n\t\t\thydrated[index] = value;\n\t\t} else if (Array.isArray(value)) {\n\t\t\tif (typeof value[0] === 'string') {\n\t\t\t\tconst type = value[0];\n\n\t\t\t\tswitch (type) {\n\t\t\t\t\tcase 'Date':\n\t\t\t\t\t\thydrated[index] = new Date(value[1]);\n\t\t\t\t\t\tbreak;\n\n\t\t\t\t\tcase 'Set':\n\t\t\t\t\t\tconst set = new Set();\n\t\t\t\t\t\thydrated[index] = set;\n\t\t\t\t\t\tfor (let i = 1; i < value.length; i += 1) {\n\t\t\t\t\t\t\tset.add(hydrate(value[i]));\n\t\t\t\t\t\t}\n\t\t\t\t\t\tbreak;\n\n\t\t\t\t\tcase 'Map':\n\t\t\t\t\t\tconst map = new Map();\n\t\t\t\t\t\thydrated[index] = map;\n\t\t\t\t\t\tfor (let i = 1; i < value.length; i += 2) {\n\t\t\t\t\t\t\tmap.set(hydrate(value[i]), hydrate(value[i + 1]));\n\t\t\t\t\t\t}\n\t\t\t\t\t\tbreak;\n\n\t\t\t\t\tcase 'RegExp':\n\t\t\t\t\t\thydrated[index] = new RegExp(value[1], value[2]);\n\t\t\t\t\t\tbreak;\n\n\t\t\t\t\tcase 'Object':\n\t\t\t\t\t\thydrated[index] = Object(value[1]);\n\t\t\t\t\t\tbreak;\n\n\t\t\t\t\tcase 'BigInt':\n\t\t\t\t\t\thydrated[index] = BigInt(value[1]);\n\t\t\t\t\t\tbreak;\n\n\t\t\t\t\tcase 'null':\n\t\t\t\t\t\tconst obj = Object.create(null);\n\t\t\t\t\t\thydrated[index] = obj;\n\t\t\t\t\t\tfor (let i = 1; i < value.length; i += 2) {\n\t\t\t\t\t\t\tobj[value[i]] = hydrate(value[i + 1]);\n\t\t\t\t\t\t}\n\t\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tconst array = new Array(value.length);\n\t\t\t\thydrated[index] = array;\n\n\t\t\t\tfor (let i = 0; i < value.length; i += 1) {\n\t\t\t\t\tconst n = value[i];\n\t\t\t\t\tif (n === HOLE) continue;\n\n\t\t\t\t\tarray[i] = hydrate(n);\n\t\t\t\t}\n\t\t\t}\n\t\t} else {\n\t\t\t/** @type {Record<string, any>} */\n\t\t\tconst object = {};\n\t\t\thydrated[index] = object;\n\n\t\t\tfor (const key in value) {\n\t\t\t\tconst n = value[key];\n\t\t\t\tobject[key] = hydrate(n);\n\t\t\t}\n\t\t}\n\n\t\treturn hydrated[index];\n\t}\n\n\treturn hydrate(0);\n}\n"],"names":["UNDEFINED","NAN","POSITIVE_INFINITY","NEGATIVE_INFINITY","NEGATIVE_ZERO","HOLE"],"mappings":";;;AAaO,SAAS,MAAM,YAAY;AACjC,SAAO,UAAU,KAAK,MAAM,UAAU,CAAC;AACxC;AAMO,SAAS,UAAU,QAAQ;AACjC,MAAI,OAAO,WAAW;AAAU,WAAO,QAAQ,QAAQ,IAAI;AAE3D,MAAI,CAAC,MAAM,QAAQ,MAAM,KAAK,OAAO,WAAW,GAAG;AAClD,UAAM,IAAI,MAAM,eAAe;AAAA,EAC/B;AAED,QAAM,SAA+B;AAErC,QAAM,WAAW,MAAM,OAAO,MAAM;AAGpC,WAAS,QAAQ,OAAO,aAAa,OAAO;AAC3C,QAAI,UAAUA;AAAW,aAAO;AAChC,QAAI,UAAUC;AAAK,aAAO;AAC1B,QAAI,UAAUC;AAAmB,aAAO;AACxC,QAAI,UAAUC,UAAAA;AAAmB,aAAO;AACxC,QAAI,UAAUC,UAAAA;AAAe,aAAO;AAEpC,QAAI;AAAY,YAAM,IAAI,MAAM,eAAe;AAE/C,QAAI,SAAS;AAAU,aAAO,SAAS,KAAK;AAE5C,UAAM,QAAQ,OAAO,KAAK;AAE1B,QAAI,CAAC,SAAS,OAAO,UAAU,UAAU;AACxC,eAAS,KAAK,IAAI;AAAA,IAClB,WAAU,MAAM,QAAQ,KAAK,GAAG;AAChC,UAAI,OAAO,MAAM,CAAC,MAAM,UAAU;AACjC,cAAM,OAAO,MAAM,CAAC;AAEpB,gBAAQ,MAAI;AAAA,UACX,KAAK;AACJ,qBAAS,KAAK,IAAI,IAAI,KAAK,MAAM,CAAC,CAAC;AACnC;AAAA,UAED,KAAK;AACJ,kBAAM,MAAM,oBAAI;AAChB,qBAAS,KAAK,IAAI;AAClB,qBAAS,IAAI,GAAG,IAAI,MAAM,QAAQ,KAAK,GAAG;AACzC,kBAAI,IAAI,QAAQ,MAAM,CAAC,CAAC,CAAC;AAAA,YACzB;AACD;AAAA,UAED,KAAK;AACJ,kBAAM,MAAM,oBAAI;AAChB,qBAAS,KAAK,IAAI;AAClB,qBAAS,IAAI,GAAG,IAAI,MAAM,QAAQ,KAAK,GAAG;AACzC,kBAAI,IAAI,QAAQ,MAAM,CAAC,CAAC,GAAG,QAAQ,MAAM,IAAI,CAAC,CAAC,CAAC;AAAA,YAChD;AACD;AAAA,UAED,KAAK;AACJ,qBAAS,KAAK,IAAI,IAAI,OAAO,MAAM,CAAC,GAAG,MAAM,CAAC,CAAC;AAC/C;AAAA,UAED,KAAK;AACJ,qBAAS,KAAK,IAAI,OAAO,MAAM,CAAC,CAAC;AACjC;AAAA,UAED,KAAK;AACJ,qBAAS,KAAK,IAAI,OAAO,MAAM,CAAC,CAAC;AACjC;AAAA,UAED,KAAK;AACJ,kBAAM,MAAM,uBAAO,OAAO,IAAI;AAC9B,qBAAS,KAAK,IAAI;AAClB,qBAAS,IAAI,GAAG,IAAI,MAAM,QAAQ,KAAK,GAAG;AACzC,kBAAI,MAAM,CAAC,CAAC,IAAI,QAAQ,MAAM,IAAI,CAAC,CAAC;AAAA,YACpC;AACD;AAAA,QACD;AAAA,MACL,OAAU;AACN,cAAM,QAAQ,IAAI,MAAM,MAAM,MAAM;AACpC,iBAAS,KAAK,IAAI;AAElB,iBAAS,IAAI,GAAG,IAAI,MAAM,QAAQ,KAAK,GAAG;AACzC,gBAAM,IAAI,MAAM,CAAC;AACjB,cAAI,MAAMC,UAAAA;AAAM;AAEhB,gBAAM,CAAC,IAAI,QAAQ,CAAC;AAAA,QACpB;AAAA,MACD;AAAA,IACJ,OAAS;AAEN,YAAM,SAAS,CAAA;AACf,eAAS,KAAK,IAAI;AAElB,iBAAW,OAAO,OAAO;AACxB,cAAM,IAAI,MAAM,GAAG;AACnB,eAAO,GAAG,IAAI,QAAQ,CAAC;AAAA,MACvB;AAAA,IACD;AAED,WAAO,SAAS,KAAK;AAAA,EACrB;AAED,SAAO,QAAQ,CAAC;AACjB;;;"}
|
|
@@ -1,95 +0,0 @@
|
|
|
1
|
-
import { UNDEFINED, NAN, POSITIVE_INFINITY, NEGATIVE_INFINITY, NEGATIVE_ZERO, HOLE } from "./constants.js";
|
|
2
|
-
function parse(serialized) {
|
|
3
|
-
return unflatten(JSON.parse(serialized));
|
|
4
|
-
}
|
|
5
|
-
function unflatten(parsed) {
|
|
6
|
-
if (typeof parsed === "number")
|
|
7
|
-
return hydrate(parsed, true);
|
|
8
|
-
if (!Array.isArray(parsed) || parsed.length === 0) {
|
|
9
|
-
throw new Error("Invalid input");
|
|
10
|
-
}
|
|
11
|
-
const values = parsed;
|
|
12
|
-
const hydrated = Array(values.length);
|
|
13
|
-
function hydrate(index, standalone = false) {
|
|
14
|
-
if (index === UNDEFINED)
|
|
15
|
-
return void 0;
|
|
16
|
-
if (index === NAN)
|
|
17
|
-
return NaN;
|
|
18
|
-
if (index === POSITIVE_INFINITY)
|
|
19
|
-
return Infinity;
|
|
20
|
-
if (index === NEGATIVE_INFINITY)
|
|
21
|
-
return -Infinity;
|
|
22
|
-
if (index === NEGATIVE_ZERO)
|
|
23
|
-
return -0;
|
|
24
|
-
if (standalone)
|
|
25
|
-
throw new Error(`Invalid input`);
|
|
26
|
-
if (index in hydrated)
|
|
27
|
-
return hydrated[index];
|
|
28
|
-
const value = values[index];
|
|
29
|
-
if (!value || typeof value !== "object") {
|
|
30
|
-
hydrated[index] = value;
|
|
31
|
-
} else if (Array.isArray(value)) {
|
|
32
|
-
if (typeof value[0] === "string") {
|
|
33
|
-
const type = value[0];
|
|
34
|
-
switch (type) {
|
|
35
|
-
case "Date":
|
|
36
|
-
hydrated[index] = new Date(value[1]);
|
|
37
|
-
break;
|
|
38
|
-
case "Set":
|
|
39
|
-
const set = /* @__PURE__ */ new Set();
|
|
40
|
-
hydrated[index] = set;
|
|
41
|
-
for (let i = 1; i < value.length; i += 1) {
|
|
42
|
-
set.add(hydrate(value[i]));
|
|
43
|
-
}
|
|
44
|
-
break;
|
|
45
|
-
case "Map":
|
|
46
|
-
const map = /* @__PURE__ */ new Map();
|
|
47
|
-
hydrated[index] = map;
|
|
48
|
-
for (let i = 1; i < value.length; i += 2) {
|
|
49
|
-
map.set(hydrate(value[i]), hydrate(value[i + 1]));
|
|
50
|
-
}
|
|
51
|
-
break;
|
|
52
|
-
case "RegExp":
|
|
53
|
-
hydrated[index] = new RegExp(value[1], value[2]);
|
|
54
|
-
break;
|
|
55
|
-
case "Object":
|
|
56
|
-
hydrated[index] = Object(value[1]);
|
|
57
|
-
break;
|
|
58
|
-
case "BigInt":
|
|
59
|
-
hydrated[index] = BigInt(value[1]);
|
|
60
|
-
break;
|
|
61
|
-
case "null":
|
|
62
|
-
const obj = /* @__PURE__ */ Object.create(null);
|
|
63
|
-
hydrated[index] = obj;
|
|
64
|
-
for (let i = 1; i < value.length; i += 2) {
|
|
65
|
-
obj[value[i]] = hydrate(value[i + 1]);
|
|
66
|
-
}
|
|
67
|
-
break;
|
|
68
|
-
}
|
|
69
|
-
} else {
|
|
70
|
-
const array = new Array(value.length);
|
|
71
|
-
hydrated[index] = array;
|
|
72
|
-
for (let i = 0; i < value.length; i += 1) {
|
|
73
|
-
const n = value[i];
|
|
74
|
-
if (n === HOLE)
|
|
75
|
-
continue;
|
|
76
|
-
array[i] = hydrate(n);
|
|
77
|
-
}
|
|
78
|
-
}
|
|
79
|
-
} else {
|
|
80
|
-
const object = {};
|
|
81
|
-
hydrated[index] = object;
|
|
82
|
-
for (const key in value) {
|
|
83
|
-
const n = value[key];
|
|
84
|
-
object[key] = hydrate(n);
|
|
85
|
-
}
|
|
86
|
-
}
|
|
87
|
-
return hydrated[index];
|
|
88
|
-
}
|
|
89
|
-
return hydrate(0);
|
|
90
|
-
}
|
|
91
|
-
export {
|
|
92
|
-
parse,
|
|
93
|
-
unflatten
|
|
94
|
-
};
|
|
95
|
-
//# sourceMappingURL=parse.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"parse.js","sources":["../../../../../../node_modules/devalue/src/parse.js"],"sourcesContent":["import {\n\tHOLE,\n\tNAN,\n\tNEGATIVE_INFINITY,\n\tNEGATIVE_ZERO,\n\tPOSITIVE_INFINITY,\n\tUNDEFINED\n} from './constants.js';\n\n/**\n * Revive a value serialized with `devalue.stringify`\n * @param {string} serialized\n */\nexport function parse(serialized) {\n\treturn unflatten(JSON.parse(serialized));\n}\n\n/**\n * Revive a value flattened with `devalue.flatten`\n * @param {number | any[]} parsed\n */\nexport function unflatten(parsed) {\n\tif (typeof parsed === 'number') return hydrate(parsed, true);\n\n\tif (!Array.isArray(parsed) || parsed.length === 0) {\n\t\tthrow new Error('Invalid input');\n\t}\n\n\tconst values = /** @type {any[]} */ (parsed);\n\n\tconst hydrated = Array(values.length);\n\n\t/** @param {number} index */\n\tfunction hydrate(index, standalone = false) {\n\t\tif (index === UNDEFINED) return undefined;\n\t\tif (index === NAN) return NaN;\n\t\tif (index === POSITIVE_INFINITY) return Infinity;\n\t\tif (index === NEGATIVE_INFINITY) return -Infinity;\n\t\tif (index === NEGATIVE_ZERO) return -0;\n\n\t\tif (standalone) throw new Error(`Invalid input`);\n\n\t\tif (index in hydrated) return hydrated[index];\n\n\t\tconst value = values[index];\n\n\t\tif (!value || typeof value !== 'object') {\n\t\t\thydrated[index] = value;\n\t\t} else if (Array.isArray(value)) {\n\t\t\tif (typeof value[0] === 'string') {\n\t\t\t\tconst type = value[0];\n\n\t\t\t\tswitch (type) {\n\t\t\t\t\tcase 'Date':\n\t\t\t\t\t\thydrated[index] = new Date(value[1]);\n\t\t\t\t\t\tbreak;\n\n\t\t\t\t\tcase 'Set':\n\t\t\t\t\t\tconst set = new Set();\n\t\t\t\t\t\thydrated[index] = set;\n\t\t\t\t\t\tfor (let i = 1; i < value.length; i += 1) {\n\t\t\t\t\t\t\tset.add(hydrate(value[i]));\n\t\t\t\t\t\t}\n\t\t\t\t\t\tbreak;\n\n\t\t\t\t\tcase 'Map':\n\t\t\t\t\t\tconst map = new Map();\n\t\t\t\t\t\thydrated[index] = map;\n\t\t\t\t\t\tfor (let i = 1; i < value.length; i += 2) {\n\t\t\t\t\t\t\tmap.set(hydrate(value[i]), hydrate(value[i + 1]));\n\t\t\t\t\t\t}\n\t\t\t\t\t\tbreak;\n\n\t\t\t\t\tcase 'RegExp':\n\t\t\t\t\t\thydrated[index] = new RegExp(value[1], value[2]);\n\t\t\t\t\t\tbreak;\n\n\t\t\t\t\tcase 'Object':\n\t\t\t\t\t\thydrated[index] = Object(value[1]);\n\t\t\t\t\t\tbreak;\n\n\t\t\t\t\tcase 'BigInt':\n\t\t\t\t\t\thydrated[index] = BigInt(value[1]);\n\t\t\t\t\t\tbreak;\n\n\t\t\t\t\tcase 'null':\n\t\t\t\t\t\tconst obj = Object.create(null);\n\t\t\t\t\t\thydrated[index] = obj;\n\t\t\t\t\t\tfor (let i = 1; i < value.length; i += 2) {\n\t\t\t\t\t\t\tobj[value[i]] = hydrate(value[i + 1]);\n\t\t\t\t\t\t}\n\t\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tconst array = new Array(value.length);\n\t\t\t\thydrated[index] = array;\n\n\t\t\t\tfor (let i = 0; i < value.length; i += 1) {\n\t\t\t\t\tconst n = value[i];\n\t\t\t\t\tif (n === HOLE) continue;\n\n\t\t\t\t\tarray[i] = hydrate(n);\n\t\t\t\t}\n\t\t\t}\n\t\t} else {\n\t\t\t/** @type {Record<string, any>} */\n\t\t\tconst object = {};\n\t\t\thydrated[index] = object;\n\n\t\t\tfor (const key in value) {\n\t\t\t\tconst n = value[key];\n\t\t\t\tobject[key] = hydrate(n);\n\t\t\t}\n\t\t}\n\n\t\treturn hydrated[index];\n\t}\n\n\treturn hydrate(0);\n}\n"],"names":[],"mappings":";AAaO,SAAS,MAAM,YAAY;AACjC,SAAO,UAAU,KAAK,MAAM,UAAU,CAAC;AACxC;AAMO,SAAS,UAAU,QAAQ;AACjC,MAAI,OAAO,WAAW;AAAU,WAAO,QAAQ,QAAQ,IAAI;AAE3D,MAAI,CAAC,MAAM,QAAQ,MAAM,KAAK,OAAO,WAAW,GAAG;AAClD,UAAM,IAAI,MAAM,eAAe;AAAA,EAC/B;AAED,QAAM,SAA+B;AAErC,QAAM,WAAW,MAAM,OAAO,MAAM;AAGpC,WAAS,QAAQ,OAAO,aAAa,OAAO;AAC3C,QAAI,UAAU;AAAW,aAAO;AAChC,QAAI,UAAU;AAAK,aAAO;AAC1B,QAAI,UAAU;AAAmB,aAAO;AACxC,QAAI,UAAU;AAAmB,aAAO;AACxC,QAAI,UAAU;AAAe,aAAO;AAEpC,QAAI;AAAY,YAAM,IAAI,MAAM,eAAe;AAE/C,QAAI,SAAS;AAAU,aAAO,SAAS,KAAK;AAE5C,UAAM,QAAQ,OAAO,KAAK;AAE1B,QAAI,CAAC,SAAS,OAAO,UAAU,UAAU;AACxC,eAAS,KAAK,IAAI;AAAA,IAClB,WAAU,MAAM,QAAQ,KAAK,GAAG;AAChC,UAAI,OAAO,MAAM,CAAC,MAAM,UAAU;AACjC,cAAM,OAAO,MAAM,CAAC;AAEpB,gBAAQ,MAAI;AAAA,UACX,KAAK;AACJ,qBAAS,KAAK,IAAI,IAAI,KAAK,MAAM,CAAC,CAAC;AACnC;AAAA,UAED,KAAK;AACJ,kBAAM,MAAM,oBAAI;AAChB,qBAAS,KAAK,IAAI;AAClB,qBAAS,IAAI,GAAG,IAAI,MAAM,QAAQ,KAAK,GAAG;AACzC,kBAAI,IAAI,QAAQ,MAAM,CAAC,CAAC,CAAC;AAAA,YACzB;AACD;AAAA,UAED,KAAK;AACJ,kBAAM,MAAM,oBAAI;AAChB,qBAAS,KAAK,IAAI;AAClB,qBAAS,IAAI,GAAG,IAAI,MAAM,QAAQ,KAAK,GAAG;AACzC,kBAAI,IAAI,QAAQ,MAAM,CAAC,CAAC,GAAG,QAAQ,MAAM,IAAI,CAAC,CAAC,CAAC;AAAA,YAChD;AACD;AAAA,UAED,KAAK;AACJ,qBAAS,KAAK,IAAI,IAAI,OAAO,MAAM,CAAC,GAAG,MAAM,CAAC,CAAC;AAC/C;AAAA,UAED,KAAK;AACJ,qBAAS,KAAK,IAAI,OAAO,MAAM,CAAC,CAAC;AACjC;AAAA,UAED,KAAK;AACJ,qBAAS,KAAK,IAAI,OAAO,MAAM,CAAC,CAAC;AACjC;AAAA,UAED,KAAK;AACJ,kBAAM,MAAM,uBAAO,OAAO,IAAI;AAC9B,qBAAS,KAAK,IAAI;AAClB,qBAAS,IAAI,GAAG,IAAI,MAAM,QAAQ,KAAK,GAAG;AACzC,kBAAI,MAAM,CAAC,CAAC,IAAI,QAAQ,MAAM,IAAI,CAAC,CAAC;AAAA,YACpC;AACD;AAAA,QACD;AAAA,MACL,OAAU;AACN,cAAM,QAAQ,IAAI,MAAM,MAAM,MAAM;AACpC,iBAAS,KAAK,IAAI;AAElB,iBAAS,IAAI,GAAG,IAAI,MAAM,QAAQ,KAAK,GAAG;AACzC,gBAAM,IAAI,MAAM,CAAC;AACjB,cAAI,MAAM;AAAM;AAEhB,gBAAM,CAAC,IAAI,QAAQ,CAAC;AAAA,QACpB;AAAA,MACD;AAAA,IACJ,OAAS;AAEN,YAAM,SAAS,CAAA;AACf,eAAS,KAAK,IAAI;AAElB,iBAAW,OAAO,OAAO;AACxB,cAAM,IAAI,MAAM,GAAG;AACnB,eAAO,GAAG,IAAI,QAAQ,CAAC;AAAA,MACvB;AAAA,IACD;AAED,WAAO,SAAS,KAAK;AAAA,EACrB;AAED,SAAO,QAAQ,CAAC;AACjB;"}
|
|
@@ -1,140 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
3
|
-
const utils = require("./utils.cjs");
|
|
4
|
-
const constants = require("./constants.cjs");
|
|
5
|
-
function stringify(value) {
|
|
6
|
-
const stringified = [];
|
|
7
|
-
const indexes = /* @__PURE__ */ new Map();
|
|
8
|
-
const keys = [];
|
|
9
|
-
let p = 0;
|
|
10
|
-
function flatten(thing) {
|
|
11
|
-
if (typeof thing === "function") {
|
|
12
|
-
throw new utils.DevalueError(`Cannot stringify a function`, keys);
|
|
13
|
-
}
|
|
14
|
-
if (indexes.has(thing))
|
|
15
|
-
return indexes.get(thing);
|
|
16
|
-
if (thing === void 0)
|
|
17
|
-
return constants.UNDEFINED;
|
|
18
|
-
if (Number.isNaN(thing))
|
|
19
|
-
return constants.NAN;
|
|
20
|
-
if (thing === Infinity)
|
|
21
|
-
return constants.POSITIVE_INFINITY;
|
|
22
|
-
if (thing === -Infinity)
|
|
23
|
-
return constants.NEGATIVE_INFINITY;
|
|
24
|
-
if (thing === 0 && 1 / thing < 0)
|
|
25
|
-
return constants.NEGATIVE_ZERO;
|
|
26
|
-
const index2 = p++;
|
|
27
|
-
indexes.set(thing, index2);
|
|
28
|
-
let str = "";
|
|
29
|
-
if (utils.is_primitive(thing)) {
|
|
30
|
-
str = stringify_primitive(thing);
|
|
31
|
-
} else {
|
|
32
|
-
const type = utils.get_type(thing);
|
|
33
|
-
switch (type) {
|
|
34
|
-
case "Number":
|
|
35
|
-
case "String":
|
|
36
|
-
case "Boolean":
|
|
37
|
-
str = `["Object",${stringify_primitive(thing)}]`;
|
|
38
|
-
break;
|
|
39
|
-
case "BigInt":
|
|
40
|
-
str = `["BigInt",${thing}]`;
|
|
41
|
-
break;
|
|
42
|
-
case "Date":
|
|
43
|
-
str = `["Date","${thing.toISOString()}"]`;
|
|
44
|
-
break;
|
|
45
|
-
case "RegExp":
|
|
46
|
-
const { source, flags } = thing;
|
|
47
|
-
str = flags ? `["RegExp",${utils.stringify_string(source)},"${flags}"]` : `["RegExp",${utils.stringify_string(source)}]`;
|
|
48
|
-
break;
|
|
49
|
-
case "Array":
|
|
50
|
-
str = "[";
|
|
51
|
-
for (let i = 0; i < thing.length; i += 1) {
|
|
52
|
-
if (i > 0)
|
|
53
|
-
str += ",";
|
|
54
|
-
if (i in thing) {
|
|
55
|
-
keys.push(`[${i}]`);
|
|
56
|
-
str += flatten(thing[i]);
|
|
57
|
-
keys.pop();
|
|
58
|
-
} else {
|
|
59
|
-
str += constants.HOLE;
|
|
60
|
-
}
|
|
61
|
-
}
|
|
62
|
-
str += "]";
|
|
63
|
-
break;
|
|
64
|
-
case "Set":
|
|
65
|
-
str = '["Set"';
|
|
66
|
-
for (const value2 of thing) {
|
|
67
|
-
str += `,${flatten(value2)}`;
|
|
68
|
-
}
|
|
69
|
-
str += "]";
|
|
70
|
-
break;
|
|
71
|
-
case "Map":
|
|
72
|
-
str = '["Map"';
|
|
73
|
-
for (const [key, value2] of thing) {
|
|
74
|
-
keys.push(
|
|
75
|
-
`.get(${utils.is_primitive(key) ? stringify_primitive(key) : "..."})`
|
|
76
|
-
);
|
|
77
|
-
str += `,${flatten(key)},${flatten(value2)}`;
|
|
78
|
-
}
|
|
79
|
-
str += "]";
|
|
80
|
-
break;
|
|
81
|
-
default:
|
|
82
|
-
if (!utils.is_plain_object(thing)) {
|
|
83
|
-
throw new utils.DevalueError(
|
|
84
|
-
`Cannot stringify arbitrary non-POJOs`,
|
|
85
|
-
keys
|
|
86
|
-
);
|
|
87
|
-
}
|
|
88
|
-
if (Object.getOwnPropertySymbols(thing).length > 0) {
|
|
89
|
-
throw new utils.DevalueError(
|
|
90
|
-
`Cannot stringify POJOs with symbolic keys`,
|
|
91
|
-
keys
|
|
92
|
-
);
|
|
93
|
-
}
|
|
94
|
-
if (Object.getPrototypeOf(thing) === null) {
|
|
95
|
-
str = '["null"';
|
|
96
|
-
for (const key in thing) {
|
|
97
|
-
keys.push(`.${key}`);
|
|
98
|
-
str += `,${utils.stringify_string(key)},${flatten(thing[key])}`;
|
|
99
|
-
keys.pop();
|
|
100
|
-
}
|
|
101
|
-
str += "]";
|
|
102
|
-
} else {
|
|
103
|
-
str = "{";
|
|
104
|
-
let started = false;
|
|
105
|
-
for (const key in thing) {
|
|
106
|
-
if (started)
|
|
107
|
-
str += ",";
|
|
108
|
-
started = true;
|
|
109
|
-
keys.push(`.${key}`);
|
|
110
|
-
str += `${utils.stringify_string(key)}:${flatten(thing[key])}`;
|
|
111
|
-
keys.pop();
|
|
112
|
-
}
|
|
113
|
-
str += "}";
|
|
114
|
-
}
|
|
115
|
-
}
|
|
116
|
-
}
|
|
117
|
-
stringified[index2] = str;
|
|
118
|
-
return index2;
|
|
119
|
-
}
|
|
120
|
-
const index = flatten(value);
|
|
121
|
-
if (index < 0)
|
|
122
|
-
return `${index}`;
|
|
123
|
-
return `[${stringified.join(",")}]`;
|
|
124
|
-
}
|
|
125
|
-
function stringify_primitive(thing) {
|
|
126
|
-
const type = typeof thing;
|
|
127
|
-
if (type === "string")
|
|
128
|
-
return utils.stringify_string(thing);
|
|
129
|
-
if (thing instanceof String)
|
|
130
|
-
return utils.stringify_string(thing.toString());
|
|
131
|
-
if (thing === void 0)
|
|
132
|
-
return constants.UNDEFINED.toString();
|
|
133
|
-
if (thing === 0 && 1 / thing < 0)
|
|
134
|
-
return constants.NEGATIVE_ZERO.toString();
|
|
135
|
-
if (type === "bigint")
|
|
136
|
-
return `["BigInt","${thing}"]`;
|
|
137
|
-
return String(thing);
|
|
138
|
-
}
|
|
139
|
-
exports.stringify = stringify;
|
|
140
|
-
//# sourceMappingURL=stringify.cjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"stringify.cjs","sources":["../../../../../../node_modules/devalue/src/stringify.js"],"sourcesContent":["import {\n\tDevalueError,\n\tget_type,\n\tis_plain_object,\n\tis_primitive,\n\tstringify_string\n} from './utils.js';\nimport {\n\tHOLE,\n\tNAN,\n\tNEGATIVE_INFINITY,\n\tNEGATIVE_ZERO,\n\tPOSITIVE_INFINITY,\n\tUNDEFINED\n} from './constants.js';\n\n/**\n * Turn a value into a JSON string that can be parsed with `devalue.parse`\n * @param {any} value\n */\nexport function stringify(value) {\n\t/** @type {any[]} */\n\tconst stringified = [];\n\n\t/** @type {Map<any, number>} */\n\tconst indexes = new Map();\n\n\t/** @type {string[]} */\n\tconst keys = [];\n\n\tlet p = 0;\n\n\t/** @param {any} thing */\n\tfunction flatten(thing) {\n\t\tif (typeof thing === 'function') {\n\t\t\tthrow new DevalueError(`Cannot stringify a function`, keys);\n\t\t}\n\n\t\tif (indexes.has(thing)) return indexes.get(thing);\n\n\t\tif (thing === undefined) return UNDEFINED;\n\t\tif (Number.isNaN(thing)) return NAN;\n\t\tif (thing === Infinity) return POSITIVE_INFINITY;\n\t\tif (thing === -Infinity) return NEGATIVE_INFINITY;\n\t\tif (thing === 0 && 1 / thing < 0) return NEGATIVE_ZERO;\n\n\t\tconst index = p++;\n\t\tindexes.set(thing, index);\n\n\t\tlet str = '';\n\n\t\tif (is_primitive(thing)) {\n\t\t\tstr = stringify_primitive(thing);\n\t\t} else {\n\t\t\tconst type = get_type(thing);\n\n\t\t\tswitch (type) {\n\t\t\t\tcase 'Number':\n\t\t\t\tcase 'String':\n\t\t\t\tcase 'Boolean':\n\t\t\t\t\tstr = `[\"Object\",${stringify_primitive(thing)}]`;\n\t\t\t\t\tbreak;\n\n\t\t\t\tcase 'BigInt':\n\t\t\t\t\tstr = `[\"BigInt\",${thing}]`;\n\t\t\t\t\tbreak;\n\n\t\t\t\tcase 'Date':\n\t\t\t\t\tstr = `[\"Date\",\"${thing.toISOString()}\"]`;\n\t\t\t\t\tbreak;\n\n\t\t\t\tcase 'RegExp':\n\t\t\t\t\tconst { source, flags } = thing;\n\t\t\t\t\tstr = flags\n\t\t\t\t\t\t? `[\"RegExp\",${stringify_string(source)},\"${flags}\"]`\n\t\t\t\t\t\t: `[\"RegExp\",${stringify_string(source)}]`;\n\t\t\t\t\tbreak;\n\n\t\t\t\tcase 'Array':\n\t\t\t\t\tstr = '[';\n\n\t\t\t\t\tfor (let i = 0; i < thing.length; i += 1) {\n\t\t\t\t\t\tif (i > 0) str += ',';\n\n\t\t\t\t\t\tif (i in thing) {\n\t\t\t\t\t\t\tkeys.push(`[${i}]`);\n\t\t\t\t\t\t\tstr += flatten(thing[i]);\n\t\t\t\t\t\t\tkeys.pop();\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tstr += HOLE;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t\tstr += ']';\n\n\t\t\t\t\tbreak;\n\n\t\t\t\tcase 'Set':\n\t\t\t\t\tstr = '[\"Set\"';\n\n\t\t\t\t\tfor (const value of thing) {\n\t\t\t\t\t\tstr += `,${flatten(value)}`;\n\t\t\t\t\t}\n\n\t\t\t\t\tstr += ']';\n\t\t\t\t\tbreak;\n\n\t\t\t\tcase 'Map':\n\t\t\t\t\tstr = '[\"Map\"';\n\n\t\t\t\t\tfor (const [key, value] of thing) {\n\t\t\t\t\t\tkeys.push(\n\t\t\t\t\t\t\t`.get(${is_primitive(key) ? stringify_primitive(key) : '...'})`\n\t\t\t\t\t\t);\n\t\t\t\t\t\tstr += `,${flatten(key)},${flatten(value)}`;\n\t\t\t\t\t}\n\n\t\t\t\t\tstr += ']';\n\t\t\t\t\tbreak;\n\n\t\t\t\tdefault:\n\t\t\t\t\tif (!is_plain_object(thing)) {\n\t\t\t\t\t\tthrow new DevalueError(\n\t\t\t\t\t\t\t`Cannot stringify arbitrary non-POJOs`,\n\t\t\t\t\t\t\tkeys\n\t\t\t\t\t\t);\n\t\t\t\t\t}\n\n\t\t\t\t\tif (Object.getOwnPropertySymbols(thing).length > 0) {\n\t\t\t\t\t\tthrow new DevalueError(\n\t\t\t\t\t\t\t`Cannot stringify POJOs with symbolic keys`,\n\t\t\t\t\t\t\tkeys\n\t\t\t\t\t\t);\n\t\t\t\t\t}\n\n\t\t\t\t\tif (Object.getPrototypeOf(thing) === null) {\n\t\t\t\t\t\tstr = '[\"null\"';\n\t\t\t\t\t\tfor (const key in thing) {\n\t\t\t\t\t\t\tkeys.push(`.${key}`);\n\t\t\t\t\t\t\tstr += `,${stringify_string(key)},${flatten(thing[key])}`;\n\t\t\t\t\t\t\tkeys.pop();\n\t\t\t\t\t\t}\n\t\t\t\t\t\tstr += ']';\n\t\t\t\t\t} else {\n\t\t\t\t\t\tstr = '{';\n\t\t\t\t\t\tlet started = false;\n\t\t\t\t\t\tfor (const key in thing) {\n\t\t\t\t\t\t\tif (started) str += ',';\n\t\t\t\t\t\t\tstarted = true;\n\t\t\t\t\t\t\tkeys.push(`.${key}`);\n\t\t\t\t\t\t\tstr += `${stringify_string(key)}:${flatten(thing[key])}`;\n\t\t\t\t\t\t\tkeys.pop();\n\t\t\t\t\t\t}\n\t\t\t\t\t\tstr += '}';\n\t\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tstringified[index] = str;\n\t\treturn index;\n\t}\n\n\tconst index = flatten(value);\n\n\t// special case — value is represented as a negative index\n\tif (index < 0) return `${index}`;\n\n\treturn `[${stringified.join(',')}]`;\n}\n\n/**\n * @param {any} thing\n * @returns {string}\n */\nfunction stringify_primitive(thing) {\n\tconst type = typeof thing;\n\tif (type === 'string') return stringify_string(thing);\n\tif (thing instanceof String) return stringify_string(thing.toString());\n\tif (thing === void 0) return UNDEFINED.toString();\n\tif (thing === 0 && 1 / thing < 0) return NEGATIVE_ZERO.toString();\n\tif (type === 'bigint') return `[\"BigInt\",\"${thing}\"]`;\n\treturn String(thing);\n}\n"],"names":["DevalueError","UNDEFINED","NAN","POSITIVE_INFINITY","NEGATIVE_INFINITY","NEGATIVE_ZERO","index","is_primitive","get_type","stringify_string","HOLE","value","is_plain_object"],"mappings":"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"}
|
|
@@ -1,140 +0,0 @@
|
|
|
1
|
-
import { DevalueError, is_primitive, get_type, is_plain_object, stringify_string } from "./utils.js";
|
|
2
|
-
import { UNDEFINED, NAN, POSITIVE_INFINITY, NEGATIVE_INFINITY, NEGATIVE_ZERO, HOLE } from "./constants.js";
|
|
3
|
-
function stringify(value) {
|
|
4
|
-
const stringified = [];
|
|
5
|
-
const indexes = /* @__PURE__ */ new Map();
|
|
6
|
-
const keys = [];
|
|
7
|
-
let p = 0;
|
|
8
|
-
function flatten(thing) {
|
|
9
|
-
if (typeof thing === "function") {
|
|
10
|
-
throw new DevalueError(`Cannot stringify a function`, keys);
|
|
11
|
-
}
|
|
12
|
-
if (indexes.has(thing))
|
|
13
|
-
return indexes.get(thing);
|
|
14
|
-
if (thing === void 0)
|
|
15
|
-
return UNDEFINED;
|
|
16
|
-
if (Number.isNaN(thing))
|
|
17
|
-
return NAN;
|
|
18
|
-
if (thing === Infinity)
|
|
19
|
-
return POSITIVE_INFINITY;
|
|
20
|
-
if (thing === -Infinity)
|
|
21
|
-
return NEGATIVE_INFINITY;
|
|
22
|
-
if (thing === 0 && 1 / thing < 0)
|
|
23
|
-
return NEGATIVE_ZERO;
|
|
24
|
-
const index2 = p++;
|
|
25
|
-
indexes.set(thing, index2);
|
|
26
|
-
let str = "";
|
|
27
|
-
if (is_primitive(thing)) {
|
|
28
|
-
str = stringify_primitive(thing);
|
|
29
|
-
} else {
|
|
30
|
-
const type = get_type(thing);
|
|
31
|
-
switch (type) {
|
|
32
|
-
case "Number":
|
|
33
|
-
case "String":
|
|
34
|
-
case "Boolean":
|
|
35
|
-
str = `["Object",${stringify_primitive(thing)}]`;
|
|
36
|
-
break;
|
|
37
|
-
case "BigInt":
|
|
38
|
-
str = `["BigInt",${thing}]`;
|
|
39
|
-
break;
|
|
40
|
-
case "Date":
|
|
41
|
-
str = `["Date","${thing.toISOString()}"]`;
|
|
42
|
-
break;
|
|
43
|
-
case "RegExp":
|
|
44
|
-
const { source, flags } = thing;
|
|
45
|
-
str = flags ? `["RegExp",${stringify_string(source)},"${flags}"]` : `["RegExp",${stringify_string(source)}]`;
|
|
46
|
-
break;
|
|
47
|
-
case "Array":
|
|
48
|
-
str = "[";
|
|
49
|
-
for (let i = 0; i < thing.length; i += 1) {
|
|
50
|
-
if (i > 0)
|
|
51
|
-
str += ",";
|
|
52
|
-
if (i in thing) {
|
|
53
|
-
keys.push(`[${i}]`);
|
|
54
|
-
str += flatten(thing[i]);
|
|
55
|
-
keys.pop();
|
|
56
|
-
} else {
|
|
57
|
-
str += HOLE;
|
|
58
|
-
}
|
|
59
|
-
}
|
|
60
|
-
str += "]";
|
|
61
|
-
break;
|
|
62
|
-
case "Set":
|
|
63
|
-
str = '["Set"';
|
|
64
|
-
for (const value2 of thing) {
|
|
65
|
-
str += `,${flatten(value2)}`;
|
|
66
|
-
}
|
|
67
|
-
str += "]";
|
|
68
|
-
break;
|
|
69
|
-
case "Map":
|
|
70
|
-
str = '["Map"';
|
|
71
|
-
for (const [key, value2] of thing) {
|
|
72
|
-
keys.push(
|
|
73
|
-
`.get(${is_primitive(key) ? stringify_primitive(key) : "..."})`
|
|
74
|
-
);
|
|
75
|
-
str += `,${flatten(key)},${flatten(value2)}`;
|
|
76
|
-
}
|
|
77
|
-
str += "]";
|
|
78
|
-
break;
|
|
79
|
-
default:
|
|
80
|
-
if (!is_plain_object(thing)) {
|
|
81
|
-
throw new DevalueError(
|
|
82
|
-
`Cannot stringify arbitrary non-POJOs`,
|
|
83
|
-
keys
|
|
84
|
-
);
|
|
85
|
-
}
|
|
86
|
-
if (Object.getOwnPropertySymbols(thing).length > 0) {
|
|
87
|
-
throw new DevalueError(
|
|
88
|
-
`Cannot stringify POJOs with symbolic keys`,
|
|
89
|
-
keys
|
|
90
|
-
);
|
|
91
|
-
}
|
|
92
|
-
if (Object.getPrototypeOf(thing) === null) {
|
|
93
|
-
str = '["null"';
|
|
94
|
-
for (const key in thing) {
|
|
95
|
-
keys.push(`.${key}`);
|
|
96
|
-
str += `,${stringify_string(key)},${flatten(thing[key])}`;
|
|
97
|
-
keys.pop();
|
|
98
|
-
}
|
|
99
|
-
str += "]";
|
|
100
|
-
} else {
|
|
101
|
-
str = "{";
|
|
102
|
-
let started = false;
|
|
103
|
-
for (const key in thing) {
|
|
104
|
-
if (started)
|
|
105
|
-
str += ",";
|
|
106
|
-
started = true;
|
|
107
|
-
keys.push(`.${key}`);
|
|
108
|
-
str += `${stringify_string(key)}:${flatten(thing[key])}`;
|
|
109
|
-
keys.pop();
|
|
110
|
-
}
|
|
111
|
-
str += "}";
|
|
112
|
-
}
|
|
113
|
-
}
|
|
114
|
-
}
|
|
115
|
-
stringified[index2] = str;
|
|
116
|
-
return index2;
|
|
117
|
-
}
|
|
118
|
-
const index = flatten(value);
|
|
119
|
-
if (index < 0)
|
|
120
|
-
return `${index}`;
|
|
121
|
-
return `[${stringified.join(",")}]`;
|
|
122
|
-
}
|
|
123
|
-
function stringify_primitive(thing) {
|
|
124
|
-
const type = typeof thing;
|
|
125
|
-
if (type === "string")
|
|
126
|
-
return stringify_string(thing);
|
|
127
|
-
if (thing instanceof String)
|
|
128
|
-
return stringify_string(thing.toString());
|
|
129
|
-
if (thing === void 0)
|
|
130
|
-
return UNDEFINED.toString();
|
|
131
|
-
if (thing === 0 && 1 / thing < 0)
|
|
132
|
-
return NEGATIVE_ZERO.toString();
|
|
133
|
-
if (type === "bigint")
|
|
134
|
-
return `["BigInt","${thing}"]`;
|
|
135
|
-
return String(thing);
|
|
136
|
-
}
|
|
137
|
-
export {
|
|
138
|
-
stringify
|
|
139
|
-
};
|
|
140
|
-
//# sourceMappingURL=stringify.js.map
|