@hashgraphonline/standards-sdk 0.0.89 → 0.0.91
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/es/hcs-10/connections-manager.d.ts.map +1 -1
- package/dist/es/standards-sdk.es10.js +13 -4
- package/dist/es/standards-sdk.es10.js.map +1 -1
- package/dist/es/standards-sdk.es100.js +13 -32
- package/dist/es/standards-sdk.es100.js.map +1 -1
- package/dist/es/standards-sdk.es101.js +30 -13
- package/dist/es/standards-sdk.es101.js.map +1 -1
- package/dist/es/standards-sdk.es102.js +14 -3
- package/dist/es/standards-sdk.es102.js.map +1 -1
- package/dist/es/standards-sdk.es103.js +3 -3
- package/dist/es/standards-sdk.es103.js.map +1 -1
- package/dist/es/standards-sdk.es104.js +3 -15
- package/dist/es/standards-sdk.es104.js.map +1 -1
- package/dist/es/standards-sdk.es105.js +15 -4
- package/dist/es/standards-sdk.es105.js.map +1 -1
- package/dist/es/standards-sdk.es106.js +5 -39
- package/dist/es/standards-sdk.es106.js.map +1 -1
- package/dist/es/standards-sdk.es107.js +38 -39
- package/dist/es/standards-sdk.es107.js.map +1 -1
- package/dist/es/standards-sdk.es108.js +37 -34
- package/dist/es/standards-sdk.es108.js.map +1 -1
- package/dist/es/standards-sdk.es109.js +34 -75
- package/dist/es/standards-sdk.es109.js.map +1 -1
- package/dist/es/standards-sdk.es110.js +78 -4
- package/dist/es/standards-sdk.es110.js.map +1 -1
- package/dist/es/standards-sdk.es111.js +3 -34
- package/dist/es/standards-sdk.es111.js.map +1 -1
- package/dist/es/standards-sdk.es112.js +2 -33
- package/dist/es/standards-sdk.es112.js.map +1 -1
- package/dist/es/standards-sdk.es113.js +2 -9
- package/dist/es/standards-sdk.es113.js.map +1 -1
- package/dist/es/standards-sdk.es114.js +32 -32
- package/dist/es/standards-sdk.es114.js.map +1 -1
- package/dist/es/standards-sdk.es115.js +33 -3
- package/dist/es/standards-sdk.es115.js.map +1 -1
- package/dist/es/standards-sdk.es116.js +9 -2
- package/dist/es/standards-sdk.es116.js.map +1 -1
- package/dist/es/standards-sdk.es117.js +34 -2
- package/dist/es/standards-sdk.es117.js.map +1 -1
- package/dist/es/standards-sdk.es13.js +2 -2
- package/dist/es/standards-sdk.es15.js +1 -1
- package/dist/es/standards-sdk.es18.js +1 -1
- package/dist/es/standards-sdk.es19.js +2 -2
- package/dist/es/standards-sdk.es23.js +3 -7190
- package/dist/es/standards-sdk.es23.js.map +1 -1
- package/dist/es/standards-sdk.es24.js +4086 -960
- package/dist/es/standards-sdk.es24.js.map +1 -1
- package/dist/es/standards-sdk.es25.js +1041 -36
- package/dist/es/standards-sdk.es25.js.map +1 -1
- package/dist/es/standards-sdk.es26.js +36 -48
- package/dist/es/standards-sdk.es26.js.map +1 -1
- package/dist/es/standards-sdk.es27.js +48 -3
- package/dist/es/standards-sdk.es27.js.map +1 -1
- package/dist/es/standards-sdk.es28.js +7190 -2
- package/dist/es/standards-sdk.es28.js.map +1 -1
- package/dist/es/standards-sdk.es29.js +2 -5
- package/dist/es/standards-sdk.es29.js.map +1 -1
- package/dist/es/standards-sdk.es30.js +5 -4167
- package/dist/es/standards-sdk.es30.js.map +1 -1
- package/dist/es/standards-sdk.es31.js +379 -7096
- package/dist/es/standards-sdk.es31.js.map +1 -1
- package/dist/es/standards-sdk.es32.js +2 -3
- package/dist/es/standards-sdk.es32.js.map +1 -1
- package/dist/es/standards-sdk.es33.js +112 -93
- package/dist/es/standards-sdk.es33.js.map +1 -1
- package/dist/es/standards-sdk.es34.js +2 -2
- package/dist/es/standards-sdk.es34.js.map +1 -1
- package/dist/es/standards-sdk.es35.js +194 -15
- package/dist/es/standards-sdk.es35.js.map +1 -1
- package/dist/es/standards-sdk.es36.js +418 -389
- package/dist/es/standards-sdk.es36.js.map +1 -1
- package/dist/es/standards-sdk.es37.js +25 -2
- package/dist/es/standards-sdk.es37.js.map +1 -1
- package/dist/es/standards-sdk.es38.js +123 -348
- package/dist/es/standards-sdk.es38.js.map +1 -1
- package/dist/es/standards-sdk.es39.js +17 -5
- package/dist/es/standards-sdk.es39.js.map +1 -1
- package/dist/es/standards-sdk.es4.js +1 -1
- package/dist/es/standards-sdk.es40.js +23 -173
- package/dist/es/standards-sdk.es40.js.map +1 -1
- package/dist/es/standards-sdk.es41.js +23 -75
- package/dist/es/standards-sdk.es41.js.map +1 -1
- package/dist/es/standards-sdk.es42.js +18 -111
- package/dist/es/standards-sdk.es42.js.map +1 -1
- package/dist/es/standards-sdk.es43.js +38 -46
- package/dist/es/standards-sdk.es43.js.map +1 -1
- package/dist/es/standards-sdk.es44.js +17 -9
- package/dist/es/standards-sdk.es44.js.map +1 -1
- package/dist/es/standards-sdk.es45.js +52 -88
- package/dist/es/standards-sdk.es45.js.map +1 -1
- package/dist/es/standards-sdk.es46.js +1288 -3
- package/dist/es/standards-sdk.es46.js.map +1 -1
- package/dist/es/standards-sdk.es47.js +148 -2
- package/dist/es/standards-sdk.es47.js.map +1 -1
- package/dist/es/standards-sdk.es48.js +80 -102
- package/dist/es/standards-sdk.es48.js.map +1 -1
- package/dist/es/standards-sdk.es49.js +80 -70
- package/dist/es/standards-sdk.es49.js.map +1 -1
- package/dist/es/standards-sdk.es5.js +2 -2
- package/dist/es/standards-sdk.es50.js +31 -5
- package/dist/es/standards-sdk.es50.js.map +1 -1
- package/dist/es/standards-sdk.es51.js +5 -4
- package/dist/es/standards-sdk.es51.js.map +1 -1
- package/dist/es/standards-sdk.es52.js +138 -200
- package/dist/es/standards-sdk.es52.js.map +1 -1
- package/dist/es/standards-sdk.es53.js +20 -55
- package/dist/es/standards-sdk.es53.js.map +1 -1
- package/dist/es/standards-sdk.es54.js +792 -68
- package/dist/es/standards-sdk.es54.js.map +1 -1
- package/dist/es/standards-sdk.es55.js +174 -2282
- package/dist/es/standards-sdk.es55.js.map +1 -1
- package/dist/es/standards-sdk.es56.js +127 -148
- package/dist/es/standards-sdk.es56.js.map +1 -1
- package/dist/es/standards-sdk.es57.js +3 -83
- package/dist/es/standards-sdk.es57.js.map +1 -1
- package/dist/es/standards-sdk.es58.js +20 -22
- package/dist/es/standards-sdk.es58.js.map +1 -1
- package/dist/es/standards-sdk.es59.js +22 -143
- package/dist/es/standards-sdk.es59.js.map +1 -1
- package/dist/es/standards-sdk.es60.js +26 -91
- package/dist/es/standards-sdk.es60.js.map +1 -1
- package/dist/es/standards-sdk.es61.js +36 -193
- package/dist/es/standards-sdk.es61.js.map +1 -1
- package/dist/es/standards-sdk.es62.js +86 -423
- package/dist/es/standards-sdk.es62.js.map +1 -1
- package/dist/es/standards-sdk.es63.js +2 -25
- package/dist/es/standards-sdk.es63.js.map +1 -1
- package/dist/es/standards-sdk.es64.js +15 -138
- package/dist/es/standards-sdk.es64.js.map +1 -1
- package/dist/es/standards-sdk.es65.js +405 -14
- package/dist/es/standards-sdk.es65.js.map +1 -1
- package/dist/es/standards-sdk.es66.js +2282 -29
- package/dist/es/standards-sdk.es66.js.map +1 -1
- package/dist/es/standards-sdk.es67.js +160 -25
- package/dist/es/standards-sdk.es67.js.map +1 -1
- package/dist/es/standards-sdk.es68.js +3 -21
- package/dist/es/standards-sdk.es68.js.map +1 -1
- package/dist/es/standards-sdk.es69.js +359 -39
- package/dist/es/standards-sdk.es69.js.map +1 -1
- package/dist/es/standards-sdk.es7.js +2 -2
- package/dist/es/standards-sdk.es70.js +5 -17
- package/dist/es/standards-sdk.es70.js.map +1 -1
- package/dist/es/standards-sdk.es71.js +168 -50
- package/dist/es/standards-sdk.es71.js.map +1 -1
- package/dist/es/standards-sdk.es72.js +79 -1287
- package/dist/es/standards-sdk.es72.js.map +1 -1
- package/dist/es/standards-sdk.es73.js +110 -28
- package/dist/es/standards-sdk.es73.js.map +1 -1
- package/dist/es/standards-sdk.es74.js +51 -5
- package/dist/es/standards-sdk.es74.js.map +1 -1
- package/dist/es/standards-sdk.es75.js +10 -159
- package/dist/es/standards-sdk.es75.js.map +1 -1
- package/dist/es/standards-sdk.es76.js +81 -777
- package/dist/es/standards-sdk.es76.js.map +1 -1
- package/dist/es/standards-sdk.es77.js +3 -173
- package/dist/es/standards-sdk.es77.js.map +1 -1
- package/dist/es/standards-sdk.es78.js +2 -143
- package/dist/es/standards-sdk.es78.js.map +1 -1
- package/dist/es/standards-sdk.es79.js +106 -25
- package/dist/es/standards-sdk.es79.js.map +1 -1
- package/dist/es/standards-sdk.es8.js +2 -2
- package/dist/es/standards-sdk.es80.js +71 -60
- package/dist/es/standards-sdk.es80.js.map +1 -1
- package/dist/es/standards-sdk.es81.js +5 -49
- package/dist/es/standards-sdk.es81.js.map +1 -1
- package/dist/es/standards-sdk.es82.js +4 -9
- package/dist/es/standards-sdk.es82.js.map +1 -1
- package/dist/es/standards-sdk.es83.js +214 -58
- package/dist/es/standards-sdk.es83.js.map +1 -1
- package/dist/es/standards-sdk.es84.js +57 -5
- package/dist/es/standards-sdk.es84.js.map +1 -1
- package/dist/es/standards-sdk.es85.js +69 -15
- package/dist/es/standards-sdk.es85.js.map +1 -1
- package/dist/es/standards-sdk.es86.js +7136 -7
- package/dist/es/standards-sdk.es86.js.map +1 -1
- package/dist/es/standards-sdk.es87.js +31 -44
- package/dist/es/standards-sdk.es87.js.map +1 -1
- package/dist/es/standards-sdk.es88.js +63 -2
- package/dist/es/standards-sdk.es88.js.map +1 -1
- package/dist/es/standards-sdk.es89.js +47 -133
- package/dist/es/standards-sdk.es89.js.map +1 -1
- package/dist/es/standards-sdk.es9.js +1 -1
- package/dist/es/standards-sdk.es90.js +10 -172
- package/dist/es/standards-sdk.es90.js.map +1 -1
- package/dist/es/standards-sdk.es91.js +61 -17
- package/dist/es/standards-sdk.es91.js.map +1 -1
- package/dist/es/standards-sdk.es92.js +6 -27
- package/dist/es/standards-sdk.es92.js.map +1 -1
- package/dist/es/standards-sdk.es93.js +14 -25
- package/dist/es/standards-sdk.es93.js.map +1 -1
- package/dist/es/standards-sdk.es94.js +7 -38
- package/dist/es/standards-sdk.es94.js.map +1 -1
- package/dist/es/standards-sdk.es95.js +41 -415
- package/dist/es/standards-sdk.es95.js.map +1 -1
- package/dist/es/standards-sdk.es96.js +2 -2
- package/dist/es/standards-sdk.es96.js.map +1 -1
- package/dist/es/standards-sdk.es97.js +128 -112
- package/dist/es/standards-sdk.es97.js.map +1 -1
- package/dist/es/standards-sdk.es98.js +171 -12
- package/dist/es/standards-sdk.es98.js.map +1 -1
- package/dist/es/standards-sdk.es99.js +13 -13
- package/dist/es/standards-sdk.es99.js.map +1 -1
- package/dist/umd/hcs-10/connections-manager.d.ts.map +1 -1
- package/dist/umd/standards-sdk.umd.js +1 -1
- package/dist/umd/standards-sdk.umd.js.map +1 -1
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"standards-sdk.es61.js","sources":["../../node_modules/ethers/lib.esm/abi/abi-coder.js"],"sourcesContent":["/**\n * When sending values to or receiving values from a [[Contract]], the\n * data is generally encoded using the [ABI standard](link-solc-abi).\n *\n * The AbiCoder provides a utility to encode values to ABI data and\n * decode values from ABI data.\n *\n * Most of the time, developers should favour the [[Contract]] class,\n * which further abstracts a lot of the finer details of ABI data.\n *\n * @_section api/abi/abi-coder:ABI Encoding\n */\n// See: https://github.com/ethereum/wiki/wiki/Ethereum-Contract-ABI\nimport { assertArgumentCount, assertArgument } from \"../utils/index.js\";\nimport { Reader, Writer } from \"./coders/abstract-coder.js\";\nimport { AddressCoder } from \"./coders/address.js\";\nimport { ArrayCoder } from \"./coders/array.js\";\nimport { BooleanCoder } from \"./coders/boolean.js\";\nimport { BytesCoder } from \"./coders/bytes.js\";\nimport { FixedBytesCoder } from \"./coders/fixed-bytes.js\";\nimport { NullCoder } from \"./coders/null.js\";\nimport { NumberCoder } from \"./coders/number.js\";\nimport { StringCoder } from \"./coders/string.js\";\nimport { TupleCoder } from \"./coders/tuple.js\";\nimport { ParamType } from \"./fragments.js\";\nimport { getAddress } from \"../address/index.js\";\nimport { getBytes, hexlify, makeError } from \"../utils/index.js\";\n// https://docs.soliditylang.org/en/v0.8.17/control-structures.html\nconst PanicReasons = new Map();\nPanicReasons.set(0x00, \"GENERIC_PANIC\");\nPanicReasons.set(0x01, \"ASSERT_FALSE\");\nPanicReasons.set(0x11, \"OVERFLOW\");\nPanicReasons.set(0x12, \"DIVIDE_BY_ZERO\");\nPanicReasons.set(0x21, \"ENUM_RANGE_ERROR\");\nPanicReasons.set(0x22, \"BAD_STORAGE_DATA\");\nPanicReasons.set(0x31, \"STACK_UNDERFLOW\");\nPanicReasons.set(0x32, \"ARRAY_RANGE_ERROR\");\nPanicReasons.set(0x41, \"OUT_OF_MEMORY\");\nPanicReasons.set(0x51, \"UNINITIALIZED_FUNCTION_CALL\");\nconst paramTypeBytes = new RegExp(/^bytes([0-9]*)$/);\nconst paramTypeNumber = new RegExp(/^(u?int)([0-9]*)$/);\nlet defaultCoder = null;\nlet defaultMaxInflation = 1024;\nfunction getBuiltinCallException(action, tx, data, abiCoder) {\n let message = \"missing revert data\";\n let reason = null;\n const invocation = null;\n let revert = null;\n if (data) {\n message = \"execution reverted\";\n const bytes = getBytes(data);\n data = hexlify(data);\n if (bytes.length === 0) {\n message += \" (no data present; likely require(false) occurred\";\n reason = \"require(false)\";\n }\n else if (bytes.length % 32 !== 4) {\n message += \" (could not decode reason; invalid data length)\";\n }\n else if (hexlify(bytes.slice(0, 4)) === \"0x08c379a0\") {\n // Error(string)\n try {\n reason = abiCoder.decode([\"string\"], bytes.slice(4))[0];\n revert = {\n signature: \"Error(string)\",\n name: \"Error\",\n args: [reason]\n };\n message += `: ${JSON.stringify(reason)}`;\n }\n catch (error) {\n message += \" (could not decode reason; invalid string data)\";\n }\n }\n else if (hexlify(bytes.slice(0, 4)) === \"0x4e487b71\") {\n // Panic(uint256)\n try {\n const code = Number(abiCoder.decode([\"uint256\"], bytes.slice(4))[0]);\n revert = {\n signature: \"Panic(uint256)\",\n name: \"Panic\",\n args: [code]\n };\n reason = `Panic due to ${PanicReasons.get(code) || \"UNKNOWN\"}(${code})`;\n message += `: ${reason}`;\n }\n catch (error) {\n message += \" (could not decode panic code)\";\n }\n }\n else {\n message += \" (unknown custom error)\";\n }\n }\n const transaction = {\n to: (tx.to ? getAddress(tx.to) : null),\n data: (tx.data || \"0x\")\n };\n if (tx.from) {\n transaction.from = getAddress(tx.from);\n }\n return makeError(message, \"CALL_EXCEPTION\", {\n action, data, reason, transaction, invocation, revert\n });\n}\n/**\n * The **AbiCoder** is a low-level class responsible for encoding JavaScript\n * values into binary data and decoding binary data into JavaScript values.\n */\nexport class AbiCoder {\n #getCoder(param) {\n if (param.isArray()) {\n return new ArrayCoder(this.#getCoder(param.arrayChildren), param.arrayLength, param.name);\n }\n if (param.isTuple()) {\n return new TupleCoder(param.components.map((c) => this.#getCoder(c)), param.name);\n }\n switch (param.baseType) {\n case \"address\":\n return new AddressCoder(param.name);\n case \"bool\":\n return new BooleanCoder(param.name);\n case \"string\":\n return new StringCoder(param.name);\n case \"bytes\":\n return new BytesCoder(param.name);\n case \"\":\n return new NullCoder(param.name);\n }\n // u?int[0-9]*\n let match = param.type.match(paramTypeNumber);\n if (match) {\n let size = parseInt(match[2] || \"256\");\n assertArgument(size !== 0 && size <= 256 && (size % 8) === 0, \"invalid \" + match[1] + \" bit length\", \"param\", param);\n return new NumberCoder(size / 8, (match[1] === \"int\"), param.name);\n }\n // bytes[0-9]+\n match = param.type.match(paramTypeBytes);\n if (match) {\n let size = parseInt(match[1]);\n assertArgument(size !== 0 && size <= 32, \"invalid bytes length\", \"param\", param);\n return new FixedBytesCoder(size, param.name);\n }\n assertArgument(false, \"invalid type\", \"type\", param.type);\n }\n /**\n * Get the default values for the given %%types%%.\n *\n * For example, a ``uint`` is by default ``0`` and ``bool``\n * is by default ``false``.\n */\n getDefaultValue(types) {\n const coders = types.map((type) => this.#getCoder(ParamType.from(type)));\n const coder = new TupleCoder(coders, \"_\");\n return coder.defaultValue();\n }\n /**\n * Encode the %%values%% as the %%types%% into ABI data.\n *\n * @returns DataHexstring\n */\n encode(types, values) {\n assertArgumentCount(values.length, types.length, \"types/values length mismatch\");\n const coders = types.map((type) => this.#getCoder(ParamType.from(type)));\n const coder = (new TupleCoder(coders, \"_\"));\n const writer = new Writer();\n coder.encode(writer, values);\n return writer.data;\n }\n /**\n * Decode the ABI %%data%% as the %%types%% into values.\n *\n * If %%loose%% decoding is enabled, then strict padding is\n * not enforced. Some older versions of Solidity incorrectly\n * padded event data emitted from ``external`` functions.\n */\n decode(types, data, loose) {\n const coders = types.map((type) => this.#getCoder(ParamType.from(type)));\n const coder = new TupleCoder(coders, \"_\");\n return coder.decode(new Reader(data, loose, defaultMaxInflation));\n }\n static _setDefaultMaxInflation(value) {\n assertArgument(typeof (value) === \"number\" && Number.isInteger(value), \"invalid defaultMaxInflation factor\", \"value\", value);\n defaultMaxInflation = value;\n }\n /**\n * Returns the shared singleton instance of a default [[AbiCoder]].\n *\n * On the first call, the instance is created internally.\n */\n static defaultAbiCoder() {\n if (defaultCoder == null) {\n defaultCoder = new AbiCoder();\n }\n return defaultCoder;\n }\n /**\n * Returns an ethers-compatible [[CallExceptionError]] Error for the given\n * result %%data%% for the [[CallExceptionAction]] %%action%% against\n * the Transaction %%tx%%.\n */\n static getBuiltinCallException(action, tx, data) {\n return getBuiltinCallException(action, tx, data, AbiCoder.defaultAbiCoder());\n }\n}\n//# sourceMappingURL=abi-coder.js.map"],"names":[],"mappings":"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","x_google_ignoreList":[0]}
|
|
1
|
+
{"version":3,"file":"standards-sdk.es61.js","sources":["../../node_modules/@noble/hashes/esm/utils.js"],"sourcesContent":["/*! noble-hashes - MIT License (c) 2022 Paul Miller (paulmillr.com) */\n// We use WebCrypto aka globalThis.crypto, which exists in browsers and node.js 16+.\n// node.js versions earlier than v19 don't declare it in global scope.\n// For node.js, package.json#exports field mapping rewrites import\n// from `crypto` to `cryptoNode`, which imports native module.\n// Makes the utils un-importable in browsers without a bundler.\n// Once node.js 18 is deprecated, we can just drop the import.\nimport { crypto } from '@noble/hashes/crypto';\nconst u8a = (a) => a instanceof Uint8Array;\n// Cast array to different type\nexport const u8 = (arr) => new Uint8Array(arr.buffer, arr.byteOffset, arr.byteLength);\nexport const u32 = (arr) => new Uint32Array(arr.buffer, arr.byteOffset, Math.floor(arr.byteLength / 4));\n// Cast array to view\nexport const createView = (arr) => new DataView(arr.buffer, arr.byteOffset, arr.byteLength);\n// The rotate right (circular right shift) operation for uint32\nexport const rotr = (word, shift) => (word << (32 - shift)) | (word >>> shift);\n// big-endian hardware is rare. Just in case someone still decides to run hashes:\n// early-throw an error because we don't support BE yet.\nexport const isLE = new Uint8Array(new Uint32Array([0x11223344]).buffer)[0] === 0x44;\nif (!isLE)\n throw new Error('Non little-endian hardware is not supported');\nconst hexes = /* @__PURE__ */ Array.from({ length: 256 }, (_, i) => i.toString(16).padStart(2, '0'));\n/**\n * @example bytesToHex(Uint8Array.from([0xca, 0xfe, 0x01, 0x23])) // 'cafe0123'\n */\nexport function bytesToHex(bytes) {\n if (!u8a(bytes))\n throw new Error('Uint8Array expected');\n // pre-caching improves the speed 6x\n let hex = '';\n for (let i = 0; i < bytes.length; i++) {\n hex += hexes[bytes[i]];\n }\n return hex;\n}\n/**\n * @example hexToBytes('cafe0123') // Uint8Array.from([0xca, 0xfe, 0x01, 0x23])\n */\nexport function hexToBytes(hex) {\n if (typeof hex !== 'string')\n throw new Error('hex string expected, got ' + typeof hex);\n const len = hex.length;\n if (len % 2)\n throw new Error('padded hex string expected, got unpadded hex of length ' + len);\n const array = new Uint8Array(len / 2);\n for (let i = 0; i < array.length; i++) {\n const j = i * 2;\n const hexByte = hex.slice(j, j + 2);\n const byte = Number.parseInt(hexByte, 16);\n if (Number.isNaN(byte) || byte < 0)\n throw new Error('Invalid byte sequence');\n array[i] = byte;\n }\n return array;\n}\n// There is no setImmediate in browser and setTimeout is slow.\n// call of async fn will return Promise, which will be fullfiled only on\n// next scheduler queue processing step and this is exactly what we need.\nexport const nextTick = async () => { };\n// Returns control to thread each 'tick' ms to avoid blocking\nexport async function asyncLoop(iters, tick, cb) {\n let ts = Date.now();\n for (let i = 0; i < iters; i++) {\n cb(i);\n // Date.now() is not monotonic, so in case if clock goes backwards we return return control too\n const diff = Date.now() - ts;\n if (diff >= 0 && diff < tick)\n continue;\n await nextTick();\n ts += diff;\n }\n}\n/**\n * @example utf8ToBytes('abc') // new Uint8Array([97, 98, 99])\n */\nexport function utf8ToBytes(str) {\n if (typeof str !== 'string')\n throw new Error(`utf8ToBytes expected string, got ${typeof str}`);\n return new Uint8Array(new TextEncoder().encode(str)); // https://bugzil.la/1681809\n}\n/**\n * Normalizes (non-hex) string or Uint8Array to Uint8Array.\n * Warning: when Uint8Array is passed, it would NOT get copied.\n * Keep in mind for future mutable operations.\n */\nexport function toBytes(data) {\n if (typeof data === 'string')\n data = utf8ToBytes(data);\n if (!u8a(data))\n throw new Error(`expected Uint8Array, got ${typeof data}`);\n return data;\n}\n/**\n * Copies several Uint8Arrays into one.\n */\nexport function concatBytes(...arrays) {\n const r = new Uint8Array(arrays.reduce((sum, a) => sum + a.length, 0));\n let pad = 0; // walk through each item, ensure they have proper type\n arrays.forEach((a) => {\n if (!u8a(a))\n throw new Error('Uint8Array expected');\n r.set(a, pad);\n pad += a.length;\n });\n return r;\n}\n// For runtime check if class implements interface\nexport class Hash {\n // Safe version that clones internal state\n clone() {\n return this._cloneInto();\n }\n}\nconst toStr = {}.toString;\nexport function checkOpts(defaults, opts) {\n if (opts !== undefined && toStr.call(opts) !== '[object Object]')\n throw new Error('Options should be object or undefined');\n const merged = Object.assign(defaults, opts);\n return merged;\n}\nexport function wrapConstructor(hashCons) {\n const hashC = (msg) => hashCons().update(toBytes(msg)).digest();\n const tmp = hashCons();\n hashC.outputLen = tmp.outputLen;\n hashC.blockLen = tmp.blockLen;\n hashC.create = () => hashCons();\n return hashC;\n}\nexport function wrapConstructorWithOpts(hashCons) {\n const hashC = (msg, opts) => hashCons(opts).update(toBytes(msg)).digest();\n const tmp = hashCons({});\n hashC.outputLen = tmp.outputLen;\n hashC.blockLen = tmp.blockLen;\n hashC.create = (opts) => hashCons(opts);\n return hashC;\n}\nexport function wrapXOFConstructorWithOpts(hashCons) {\n const hashC = (msg, opts) => hashCons(opts).update(toBytes(msg)).digest();\n const tmp = hashCons({});\n hashC.outputLen = tmp.outputLen;\n hashC.blockLen = tmp.blockLen;\n hashC.create = (opts) => hashCons(opts);\n return hashC;\n}\n/**\n * Secure PRNG. Uses `crypto.getRandomValues`, which defers to OS.\n */\nexport function randomBytes(bytesLength = 32) {\n if (crypto && typeof crypto.getRandomValues === 'function') {\n return crypto.getRandomValues(new Uint8Array(bytesLength));\n }\n throw new Error('crypto.getRandomValues must be defined');\n}\n//# sourceMappingURL=utils.js.map"],"names":[],"mappings":"AAAA;AAQA,MAAM,MAAM,CAAC,MAAM,aAAa;AAGpB,MAAC,MAAM,CAAC,QAAQ,IAAI,YAAY,IAAI,QAAQ,IAAI,YAAY,KAAK,MAAM,IAAI,aAAa,CAAC,CAAC;AAO1F,MAAC,OAAO,IAAI,WAAW,IAAI,YAAY,CAAC,SAAU,CAAC,EAAE,MAAM,EAAE,CAAC,MAAM;AAChF,IAAI,CAAC;AACD,QAAM,IAAI,MAAM,6CAA6C;AAuD1D,SAAS,YAAY,KAAK;AAC7B,MAAI,OAAO,QAAQ;AACf,UAAM,IAAI,MAAM,oCAAoC,OAAO,GAAG,EAAE;AACpE,SAAO,IAAI,WAAW,IAAI,YAAa,EAAC,OAAO,GAAG,CAAC;AACvD;AAMO,SAAS,QAAQ,MAAM;AAC1B,MAAI,OAAO,SAAS;AAChB,WAAO,YAAY,IAAI;AAC3B,MAAI,CAAC,IAAI,IAAI;AACT,UAAM,IAAI,MAAM,4BAA4B,OAAO,IAAI,EAAE;AAC7D,SAAO;AACX;AAgBO,MAAM,KAAK;AAAA;AAAA,EAEd,QAAQ;AACJ,WAAO,KAAK,WAAY;AAAA,EAChC;AACA;AAQO,SAAS,gBAAgB,UAAU;AACtC,QAAM,QAAQ,CAAC,QAAQ,SAAU,EAAC,OAAO,QAAQ,GAAG,CAAC,EAAE,OAAQ;AAC/D,QAAM,MAAM,SAAU;AACtB,QAAM,YAAY,IAAI;AACtB,QAAM,WAAW,IAAI;AACrB,QAAM,SAAS,MAAM,SAAU;AAC/B,SAAO;AACX;","x_google_ignoreList":[0]}
|
|
@@ -1,441 +1,104 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
var
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
wrapped.error = error;
|
|
31
|
-
throw wrapped;
|
|
32
|
-
}
|
|
33
|
-
function toObject(names, items, deep) {
|
|
34
|
-
if (names.indexOf(null) >= 0) {
|
|
35
|
-
return items.map((item, index) => {
|
|
36
|
-
if (item instanceof Result) {
|
|
37
|
-
return toObject(getNames(item), item, deep);
|
|
38
|
-
}
|
|
39
|
-
return item;
|
|
40
|
-
});
|
|
41
|
-
}
|
|
42
|
-
return names.reduce((accum, name, index) => {
|
|
43
|
-
let item = items.getValue(name);
|
|
44
|
-
if (!(name in accum)) {
|
|
45
|
-
if (deep && item instanceof Result) {
|
|
46
|
-
item = toObject(getNames(item), item, deep);
|
|
1
|
+
import { __exports as mimeTypes } from "./standards-sdk.es63.js";
|
|
2
|
+
import { __require as requireMimeDb } from "./standards-sdk.es64.js";
|
|
3
|
+
import { __require as requirePathBrowserify } from "./standards-sdk.es65.js";
|
|
4
|
+
/*!
|
|
5
|
+
* mime-types
|
|
6
|
+
* Copyright(c) 2014 Jonathan Ong
|
|
7
|
+
* Copyright(c) 2015 Douglas Christopher Wilson
|
|
8
|
+
* MIT Licensed
|
|
9
|
+
*/
|
|
10
|
+
var hasRequiredMimeTypes;
|
|
11
|
+
function requireMimeTypes() {
|
|
12
|
+
if (hasRequiredMimeTypes) return mimeTypes;
|
|
13
|
+
hasRequiredMimeTypes = 1;
|
|
14
|
+
(function(exports) {
|
|
15
|
+
var db = requireMimeDb();
|
|
16
|
+
var extname = requirePathBrowserify().extname;
|
|
17
|
+
var EXTRACT_TYPE_REGEXP = /^\s*([^;\s]*)(?:;|\s|$)/;
|
|
18
|
+
var TEXT_TYPE_REGEXP = /^text\//i;
|
|
19
|
+
exports.charset = charset;
|
|
20
|
+
exports.charsets = { lookup: charset };
|
|
21
|
+
exports.contentType = contentType;
|
|
22
|
+
exports.extension = extension;
|
|
23
|
+
exports.extensions = /* @__PURE__ */ Object.create(null);
|
|
24
|
+
exports.lookup = lookup;
|
|
25
|
+
exports.types = /* @__PURE__ */ Object.create(null);
|
|
26
|
+
populateMaps(exports.extensions, exports.types);
|
|
27
|
+
function charset(type) {
|
|
28
|
+
if (!type || typeof type !== "string") {
|
|
29
|
+
return false;
|
|
47
30
|
}
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
}
|
|
53
|
-
const _Result = class _Result extends Array {
|
|
54
|
-
/**
|
|
55
|
-
* @private
|
|
56
|
-
*/
|
|
57
|
-
constructor(...args) {
|
|
58
|
-
const guard = args[0];
|
|
59
|
-
let items = args[1];
|
|
60
|
-
let names = (args[2] || []).slice();
|
|
61
|
-
let wrap = true;
|
|
62
|
-
if (guard !== _guard) {
|
|
63
|
-
items = args;
|
|
64
|
-
names = [];
|
|
65
|
-
wrap = false;
|
|
66
|
-
}
|
|
67
|
-
super(items.length);
|
|
68
|
-
// No longer used; but cannot be removed as it will remove the
|
|
69
|
-
// #private field from the .d.ts which may break backwards
|
|
70
|
-
// compatibility
|
|
71
|
-
__privateAdd(this, _names);
|
|
72
|
-
items.forEach((item, index) => {
|
|
73
|
-
this[index] = item;
|
|
74
|
-
});
|
|
75
|
-
const nameCounts = names.reduce((accum, name) => {
|
|
76
|
-
if (typeof name === "string") {
|
|
77
|
-
accum.set(name, (accum.get(name) || 0) + 1);
|
|
31
|
+
var match = EXTRACT_TYPE_REGEXP.exec(type);
|
|
32
|
+
var mime = match && db[match[1].toLowerCase()];
|
|
33
|
+
if (mime && mime.charset) {
|
|
34
|
+
return mime.charset;
|
|
78
35
|
}
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
setNames(this, Object.freeze(items.map((item, index) => {
|
|
82
|
-
const name = names[index];
|
|
83
|
-
if (name != null && nameCounts.get(name) === 1) {
|
|
84
|
-
return name;
|
|
36
|
+
if (match && TEXT_TYPE_REGEXP.test(match[1])) {
|
|
37
|
+
return "UTF-8";
|
|
85
38
|
}
|
|
86
|
-
return
|
|
87
|
-
})));
|
|
88
|
-
__privateSet(this, _names, []);
|
|
89
|
-
if (__privateGet(this, _names) == null) {
|
|
90
|
-
void __privateGet(this, _names);
|
|
39
|
+
return false;
|
|
91
40
|
}
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
Object.freeze(this);
|
|
96
|
-
const proxy = new Proxy(this, {
|
|
97
|
-
get: (target, prop, receiver) => {
|
|
98
|
-
if (typeof prop === "string") {
|
|
99
|
-
if (prop.match(/^[0-9]+$/)) {
|
|
100
|
-
const index = getNumber(prop, "%index");
|
|
101
|
-
if (index < 0 || index >= this.length) {
|
|
102
|
-
throw new RangeError("out of result range");
|
|
103
|
-
}
|
|
104
|
-
const item = target[index];
|
|
105
|
-
if (item instanceof Error) {
|
|
106
|
-
throwError(`index ${index}`, item);
|
|
107
|
-
}
|
|
108
|
-
return item;
|
|
109
|
-
}
|
|
110
|
-
if (passProperties.indexOf(prop) >= 0) {
|
|
111
|
-
return Reflect.get(target, prop, receiver);
|
|
112
|
-
}
|
|
113
|
-
const value = target[prop];
|
|
114
|
-
if (value instanceof Function) {
|
|
115
|
-
return function(...args2) {
|
|
116
|
-
return value.apply(this === receiver ? target : this, args2);
|
|
117
|
-
};
|
|
118
|
-
} else if (!(prop in target)) {
|
|
119
|
-
return target.getValue.apply(this === receiver ? target : this, [prop]);
|
|
120
|
-
}
|
|
121
|
-
}
|
|
122
|
-
return Reflect.get(target, prop, receiver);
|
|
41
|
+
function contentType(str) {
|
|
42
|
+
if (!str || typeof str !== "string") {
|
|
43
|
+
return false;
|
|
123
44
|
}
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
}
|
|
128
|
-
/**
|
|
129
|
-
* Returns the Result as a normal Array. If %%deep%%, any children
|
|
130
|
-
* which are Result objects are also converted to a normal Array.
|
|
131
|
-
*
|
|
132
|
-
* This will throw if there are any outstanding deferred
|
|
133
|
-
* errors.
|
|
134
|
-
*/
|
|
135
|
-
toArray(deep) {
|
|
136
|
-
const result = [];
|
|
137
|
-
this.forEach((item, index) => {
|
|
138
|
-
if (item instanceof Error) {
|
|
139
|
-
throwError(`index ${index}`, item);
|
|
45
|
+
var mime = str.indexOf("/") === -1 ? exports.lookup(str) : str;
|
|
46
|
+
if (!mime) {
|
|
47
|
+
return false;
|
|
140
48
|
}
|
|
141
|
-
if (
|
|
142
|
-
|
|
49
|
+
if (mime.indexOf("charset") === -1) {
|
|
50
|
+
var charset2 = exports.charset(mime);
|
|
51
|
+
if (charset2) mime += "; charset=" + charset2.toLowerCase();
|
|
143
52
|
}
|
|
144
|
-
|
|
145
|
-
});
|
|
146
|
-
return result;
|
|
147
|
-
}
|
|
148
|
-
/**
|
|
149
|
-
* Returns the Result as an Object with each name-value pair. If
|
|
150
|
-
* %%deep%%, any children which are Result objects are also
|
|
151
|
-
* converted to an Object.
|
|
152
|
-
*
|
|
153
|
-
* This will throw if any value is unnamed, or if there are
|
|
154
|
-
* any outstanding deferred errors.
|
|
155
|
-
*/
|
|
156
|
-
toObject(deep) {
|
|
157
|
-
const names = getNames(this);
|
|
158
|
-
return names.reduce((accum, name, index) => {
|
|
159
|
-
assert(name != null, `value at index ${index} unnamed`, "UNSUPPORTED_OPERATION", {
|
|
160
|
-
operation: "toObject()"
|
|
161
|
-
});
|
|
162
|
-
return toObject(names, this, deep);
|
|
163
|
-
}, {});
|
|
164
|
-
}
|
|
165
|
-
/**
|
|
166
|
-
* @_ignore
|
|
167
|
-
*/
|
|
168
|
-
slice(start, end) {
|
|
169
|
-
if (start == null) {
|
|
170
|
-
start = 0;
|
|
53
|
+
return mime;
|
|
171
54
|
}
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
start = 0;
|
|
55
|
+
function extension(type) {
|
|
56
|
+
if (!type || typeof type !== "string") {
|
|
57
|
+
return false;
|
|
176
58
|
}
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
if (end < 0) {
|
|
182
|
-
end += this.length;
|
|
183
|
-
if (end < 0) {
|
|
184
|
-
end = 0;
|
|
59
|
+
var match = EXTRACT_TYPE_REGEXP.exec(type);
|
|
60
|
+
var exts = match && exports.extensions[match[1].toLowerCase()];
|
|
61
|
+
if (!exts || !exts.length) {
|
|
62
|
+
return false;
|
|
185
63
|
}
|
|
64
|
+
return exts[0];
|
|
186
65
|
}
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
const _names2 = getNames(this);
|
|
191
|
-
const result = [], names = [];
|
|
192
|
-
for (let i = start; i < end; i++) {
|
|
193
|
-
result.push(this[i]);
|
|
194
|
-
names.push(_names2[i]);
|
|
195
|
-
}
|
|
196
|
-
return new _Result(_guard, result, names);
|
|
197
|
-
}
|
|
198
|
-
/**
|
|
199
|
-
* @_ignore
|
|
200
|
-
*/
|
|
201
|
-
filter(callback, thisArg) {
|
|
202
|
-
const _names2 = getNames(this);
|
|
203
|
-
const result = [], names = [];
|
|
204
|
-
for (let i = 0; i < this.length; i++) {
|
|
205
|
-
const item = this[i];
|
|
206
|
-
if (item instanceof Error) {
|
|
207
|
-
throwError(`index ${i}`, item);
|
|
66
|
+
function lookup(path) {
|
|
67
|
+
if (!path || typeof path !== "string") {
|
|
68
|
+
return false;
|
|
208
69
|
}
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
70
|
+
var extension2 = extname("x." + path).toLowerCase().substr(1);
|
|
71
|
+
if (!extension2) {
|
|
72
|
+
return false;
|
|
212
73
|
}
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
* JavaScript keyword, this ensures all named values are still
|
|
236
|
-
* accessible by name.
|
|
237
|
-
*/
|
|
238
|
-
getValue(name) {
|
|
239
|
-
const index = getNames(this).indexOf(name);
|
|
240
|
-
if (index === -1) {
|
|
241
|
-
return void 0;
|
|
242
|
-
}
|
|
243
|
-
const value = this[index];
|
|
244
|
-
if (value instanceof Error) {
|
|
245
|
-
throwError(`property ${JSON.stringify(name)}`, value.error);
|
|
246
|
-
}
|
|
247
|
-
return value;
|
|
248
|
-
}
|
|
249
|
-
/**
|
|
250
|
-
* Creates a new [[Result]] for %%items%% with each entry
|
|
251
|
-
* also accessible by its corresponding name in %%keys%%.
|
|
252
|
-
*/
|
|
253
|
-
static fromItems(items, keys) {
|
|
254
|
-
return new _Result(_guard, items, keys);
|
|
255
|
-
}
|
|
256
|
-
};
|
|
257
|
-
_names = new WeakMap();
|
|
258
|
-
let Result = _Result;
|
|
259
|
-
function getValue(value) {
|
|
260
|
-
let bytes = toBeArray(value);
|
|
261
|
-
assert(bytes.length <= WordSize, "value out-of-bounds", "BUFFER_OVERRUN", { buffer: bytes, length: WordSize, offset: bytes.length });
|
|
262
|
-
if (bytes.length !== WordSize) {
|
|
263
|
-
bytes = getBytesCopy(concat([Padding.slice(bytes.length % WordSize), bytes]));
|
|
264
|
-
}
|
|
265
|
-
return bytes;
|
|
266
|
-
}
|
|
267
|
-
class Coder {
|
|
268
|
-
constructor(name, type, localName, dynamic) {
|
|
269
|
-
// The coder name:
|
|
270
|
-
// - address, uint256, tuple, array, etc.
|
|
271
|
-
__publicField(this, "name");
|
|
272
|
-
// The fully expanded type, including composite types:
|
|
273
|
-
// - address, uint256, tuple(address,bytes), uint256[3][4][], etc.
|
|
274
|
-
__publicField(this, "type");
|
|
275
|
-
// The localName bound in the signature, in this example it is "baz":
|
|
276
|
-
// - tuple(address foo, uint bar) baz
|
|
277
|
-
__publicField(this, "localName");
|
|
278
|
-
// Whether this type is dynamic:
|
|
279
|
-
// - Dynamic: bytes, string, address[], tuple(boolean[]), etc.
|
|
280
|
-
// - Not Dynamic: address, uint256, boolean[3], tuple(address, uint8)
|
|
281
|
-
__publicField(this, "dynamic");
|
|
282
|
-
defineProperties(this, { name, type, localName, dynamic }, {
|
|
283
|
-
name: "string",
|
|
284
|
-
type: "string",
|
|
285
|
-
localName: "string",
|
|
286
|
-
dynamic: "boolean"
|
|
287
|
-
});
|
|
288
|
-
}
|
|
289
|
-
_throwError(message, value) {
|
|
290
|
-
assertArgument(false, message, this.localName, value);
|
|
291
|
-
}
|
|
292
|
-
}
|
|
293
|
-
class Writer {
|
|
294
|
-
constructor() {
|
|
295
|
-
__privateAdd(this, _Writer_instances);
|
|
296
|
-
// An array of WordSize lengthed objects to concatenation
|
|
297
|
-
__privateAdd(this, _data);
|
|
298
|
-
__privateAdd(this, _dataLength);
|
|
299
|
-
__privateSet(this, _data, []);
|
|
300
|
-
__privateSet(this, _dataLength, 0);
|
|
301
|
-
}
|
|
302
|
-
get data() {
|
|
303
|
-
return concat(__privateGet(this, _data));
|
|
304
|
-
}
|
|
305
|
-
get length() {
|
|
306
|
-
return __privateGet(this, _dataLength);
|
|
307
|
-
}
|
|
308
|
-
appendWriter(writer) {
|
|
309
|
-
return __privateMethod(this, _Writer_instances, writeData_fn).call(this, getBytesCopy(writer.data));
|
|
310
|
-
}
|
|
311
|
-
// Arrayish item; pad on the right to *nearest* WordSize
|
|
312
|
-
writeBytes(value) {
|
|
313
|
-
let bytes = getBytesCopy(value);
|
|
314
|
-
const paddingOffset = bytes.length % WordSize;
|
|
315
|
-
if (paddingOffset) {
|
|
316
|
-
bytes = getBytesCopy(concat([bytes, Padding.slice(paddingOffset)]));
|
|
317
|
-
}
|
|
318
|
-
return __privateMethod(this, _Writer_instances, writeData_fn).call(this, bytes);
|
|
319
|
-
}
|
|
320
|
-
// Numeric item; pad on the left *to* WordSize
|
|
321
|
-
writeValue(value) {
|
|
322
|
-
return __privateMethod(this, _Writer_instances, writeData_fn).call(this, getValue(value));
|
|
323
|
-
}
|
|
324
|
-
// Inserts a numeric place-holder, returning a callback that can
|
|
325
|
-
// be used to asjust the value later
|
|
326
|
-
writeUpdatableValue() {
|
|
327
|
-
const offset = __privateGet(this, _data).length;
|
|
328
|
-
__privateGet(this, _data).push(Padding);
|
|
329
|
-
__privateSet(this, _dataLength, __privateGet(this, _dataLength) + WordSize);
|
|
330
|
-
return (value) => {
|
|
331
|
-
__privateGet(this, _data)[offset] = getValue(value);
|
|
332
|
-
};
|
|
333
|
-
}
|
|
334
|
-
}
|
|
335
|
-
_data = new WeakMap();
|
|
336
|
-
_dataLength = new WeakMap();
|
|
337
|
-
_Writer_instances = new WeakSet();
|
|
338
|
-
writeData_fn = function(data) {
|
|
339
|
-
__privateGet(this, _data).push(data);
|
|
340
|
-
__privateSet(this, _dataLength, __privateGet(this, _dataLength) + data.length);
|
|
341
|
-
return data.length;
|
|
342
|
-
};
|
|
343
|
-
const _Reader = class _Reader {
|
|
344
|
-
constructor(data, allowLoose, maxInflation) {
|
|
345
|
-
__privateAdd(this, _Reader_instances);
|
|
346
|
-
// Allows incomplete unpadded data to be read; otherwise an error
|
|
347
|
-
// is raised if attempting to overrun the buffer. This is required
|
|
348
|
-
// to deal with an old Solidity bug, in which event data for
|
|
349
|
-
// external (not public thoguh) was tightly packed.
|
|
350
|
-
__publicField(this, "allowLoose");
|
|
351
|
-
__privateAdd(this, _data2);
|
|
352
|
-
__privateAdd(this, _offset);
|
|
353
|
-
__privateAdd(this, _bytesRead);
|
|
354
|
-
__privateAdd(this, _parent);
|
|
355
|
-
__privateAdd(this, _maxInflation);
|
|
356
|
-
defineProperties(this, { allowLoose: !!allowLoose });
|
|
357
|
-
__privateSet(this, _data2, getBytesCopy(data));
|
|
358
|
-
__privateSet(this, _bytesRead, 0);
|
|
359
|
-
__privateSet(this, _parent, null);
|
|
360
|
-
__privateSet(this, _maxInflation, maxInflation != null ? maxInflation : 1024);
|
|
361
|
-
__privateSet(this, _offset, 0);
|
|
362
|
-
}
|
|
363
|
-
get data() {
|
|
364
|
-
return hexlify(__privateGet(this, _data2));
|
|
365
|
-
}
|
|
366
|
-
get dataLength() {
|
|
367
|
-
return __privateGet(this, _data2).length;
|
|
368
|
-
}
|
|
369
|
-
get consumed() {
|
|
370
|
-
return __privateGet(this, _offset);
|
|
371
|
-
}
|
|
372
|
-
get bytes() {
|
|
373
|
-
return new Uint8Array(__privateGet(this, _data2));
|
|
374
|
-
}
|
|
375
|
-
// Create a sub-reader with the same underlying data, but offset
|
|
376
|
-
subReader(offset) {
|
|
377
|
-
const reader = new _Reader(__privateGet(this, _data2).slice(__privateGet(this, _offset) + offset), this.allowLoose, __privateGet(this, _maxInflation));
|
|
378
|
-
__privateSet(reader, _parent, this);
|
|
379
|
-
return reader;
|
|
380
|
-
}
|
|
381
|
-
// Read bytes
|
|
382
|
-
readBytes(length, loose) {
|
|
383
|
-
let bytes = __privateMethod(this, _Reader_instances, peekBytes_fn).call(this, 0, length, !!loose);
|
|
384
|
-
__privateMethod(this, _Reader_instances, incrementBytesRead_fn).call(this, length);
|
|
385
|
-
__privateSet(this, _offset, __privateGet(this, _offset) + bytes.length);
|
|
386
|
-
return bytes.slice(0, length);
|
|
387
|
-
}
|
|
388
|
-
// Read a numeric values
|
|
389
|
-
readValue() {
|
|
390
|
-
return toBigInt(this.readBytes(WordSize));
|
|
391
|
-
}
|
|
392
|
-
readIndex() {
|
|
393
|
-
return toNumber(this.readBytes(WordSize));
|
|
394
|
-
}
|
|
395
|
-
};
|
|
396
|
-
_data2 = new WeakMap();
|
|
397
|
-
_offset = new WeakMap();
|
|
398
|
-
_bytesRead = new WeakMap();
|
|
399
|
-
_parent = new WeakMap();
|
|
400
|
-
_maxInflation = new WeakMap();
|
|
401
|
-
_Reader_instances = new WeakSet();
|
|
402
|
-
incrementBytesRead_fn = function(count) {
|
|
403
|
-
var _a;
|
|
404
|
-
if (__privateGet(this, _parent)) {
|
|
405
|
-
return __privateMethod(_a = __privateGet(this, _parent), _Reader_instances, incrementBytesRead_fn).call(_a, count);
|
|
406
|
-
}
|
|
407
|
-
__privateSet(this, _bytesRead, __privateGet(this, _bytesRead) + count);
|
|
408
|
-
assert(__privateGet(this, _maxInflation) < 1 || __privateGet(this, _bytesRead) <= __privateGet(this, _maxInflation) * this.dataLength, `compressed ABI data exceeds inflation ratio of ${__privateGet(this, _maxInflation)} ( see: https://github.com/ethers-io/ethers.js/issues/4537 )`, "BUFFER_OVERRUN", {
|
|
409
|
-
buffer: getBytesCopy(__privateGet(this, _data2)),
|
|
410
|
-
offset: __privateGet(this, _offset),
|
|
411
|
-
length: count,
|
|
412
|
-
info: {
|
|
413
|
-
bytesRead: __privateGet(this, _bytesRead),
|
|
414
|
-
dataLength: this.dataLength
|
|
415
|
-
}
|
|
416
|
-
});
|
|
417
|
-
};
|
|
418
|
-
peekBytes_fn = function(offset, length, loose) {
|
|
419
|
-
let alignedLength = Math.ceil(length / WordSize) * WordSize;
|
|
420
|
-
if (__privateGet(this, _offset) + alignedLength > __privateGet(this, _data2).length) {
|
|
421
|
-
if (this.allowLoose && loose && __privateGet(this, _offset) + length <= __privateGet(this, _data2).length) {
|
|
422
|
-
alignedLength = length;
|
|
423
|
-
} else {
|
|
424
|
-
assert(false, "data out-of-bounds", "BUFFER_OVERRUN", {
|
|
425
|
-
buffer: getBytesCopy(__privateGet(this, _data2)),
|
|
426
|
-
length: __privateGet(this, _data2).length,
|
|
427
|
-
offset: __privateGet(this, _offset) + alignedLength
|
|
74
|
+
return exports.types[extension2] || false;
|
|
75
|
+
}
|
|
76
|
+
function populateMaps(extensions, types) {
|
|
77
|
+
var preference = ["nginx", "apache", void 0, "iana"];
|
|
78
|
+
Object.keys(db).forEach(function forEachMimeType(type) {
|
|
79
|
+
var mime = db[type];
|
|
80
|
+
var exts = mime.extensions;
|
|
81
|
+
if (!exts || !exts.length) {
|
|
82
|
+
return;
|
|
83
|
+
}
|
|
84
|
+
extensions[type] = exts;
|
|
85
|
+
for (var i = 0; i < exts.length; i++) {
|
|
86
|
+
var extension2 = exts[i];
|
|
87
|
+
if (types[extension2]) {
|
|
88
|
+
var from = preference.indexOf(db[types[extension2]].source);
|
|
89
|
+
var to = preference.indexOf(mime.source);
|
|
90
|
+
if (types[extension2] !== "application/octet-stream" && (from > to || from === to && types[extension2].substr(0, 12) === "application/")) {
|
|
91
|
+
continue;
|
|
92
|
+
}
|
|
93
|
+
}
|
|
94
|
+
types[extension2] = type;
|
|
95
|
+
}
|
|
428
96
|
});
|
|
429
97
|
}
|
|
430
|
-
}
|
|
431
|
-
return
|
|
432
|
-
}
|
|
433
|
-
let Reader = _Reader;
|
|
98
|
+
})(mimeTypes);
|
|
99
|
+
return mimeTypes;
|
|
100
|
+
}
|
|
434
101
|
export {
|
|
435
|
-
|
|
436
|
-
Reader,
|
|
437
|
-
Result,
|
|
438
|
-
WordSize,
|
|
439
|
-
Writer
|
|
102
|
+
requireMimeTypes as __require
|
|
440
103
|
};
|
|
441
104
|
//# sourceMappingURL=standards-sdk.es62.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"standards-sdk.es62.js","sources":["../../node_modules/ethers/lib.esm/abi/coders/abstract-coder.js"],"sourcesContent":["import { defineProperties, concat, getBytesCopy, getNumber, hexlify, toBeArray, toBigInt, toNumber, assert, assertArgument\n/*, isError*/\n } from \"../../utils/index.js\";\n/**\n * @_ignore:\n */\nexport const WordSize = 32;\nconst Padding = new Uint8Array(WordSize);\n// Properties used to immediate pass through to the underlying object\n// - `then` is used to detect if an object is a Promise for await\nconst passProperties = [\"then\"];\nconst _guard = {};\nconst resultNames = new WeakMap();\nfunction getNames(result) {\n return resultNames.get(result);\n}\nfunction setNames(result, names) {\n resultNames.set(result, names);\n}\nfunction throwError(name, error) {\n const wrapped = new Error(`deferred error during ABI decoding triggered accessing ${name}`);\n wrapped.error = error;\n throw wrapped;\n}\nfunction toObject(names, items, deep) {\n if (names.indexOf(null) >= 0) {\n return items.map((item, index) => {\n if (item instanceof Result) {\n return toObject(getNames(item), item, deep);\n }\n return item;\n });\n }\n return names.reduce((accum, name, index) => {\n let item = items.getValue(name);\n if (!(name in accum)) {\n if (deep && item instanceof Result) {\n item = toObject(getNames(item), item, deep);\n }\n accum[name] = item;\n }\n return accum;\n }, {});\n}\n/**\n * A [[Result]] is a sub-class of Array, which allows accessing any\n * of its values either positionally by its index or, if keys are\n * provided by its name.\n *\n * @_docloc: api/abi\n */\nexport class Result extends Array {\n // No longer used; but cannot be removed as it will remove the\n // #private field from the .d.ts which may break backwards\n // compatibility\n #names;\n /**\n * @private\n */\n constructor(...args) {\n // To properly sub-class Array so the other built-in\n // functions work, the constructor has to behave fairly\n // well. So, in the event we are created via fromItems()\n // we build the read-only Result object we want, but on\n // any other input, we use the default constructor\n // constructor(guard: any, items: Array<any>, keys?: Array<null | string>);\n const guard = args[0];\n let items = args[1];\n let names = (args[2] || []).slice();\n let wrap = true;\n if (guard !== _guard) {\n items = args;\n names = [];\n wrap = false;\n }\n // Can't just pass in ...items since an array of length 1\n // is a special case in the super.\n super(items.length);\n items.forEach((item, index) => { this[index] = item; });\n // Find all unique keys\n const nameCounts = names.reduce((accum, name) => {\n if (typeof (name) === \"string\") {\n accum.set(name, (accum.get(name) || 0) + 1);\n }\n return accum;\n }, (new Map()));\n // Remove any key thats not unique\n setNames(this, Object.freeze(items.map((item, index) => {\n const name = names[index];\n if (name != null && nameCounts.get(name) === 1) {\n return name;\n }\n return null;\n })));\n // Dummy operations to prevent TypeScript from complaining\n this.#names = [];\n if (this.#names == null) {\n void (this.#names);\n }\n if (!wrap) {\n return;\n }\n // A wrapped Result is immutable\n Object.freeze(this);\n // Proxy indices and names so we can trap deferred errors\n const proxy = new Proxy(this, {\n get: (target, prop, receiver) => {\n if (typeof (prop) === \"string\") {\n // Index accessor\n if (prop.match(/^[0-9]+$/)) {\n const index = getNumber(prop, \"%index\");\n if (index < 0 || index >= this.length) {\n throw new RangeError(\"out of result range\");\n }\n const item = target[index];\n if (item instanceof Error) {\n throwError(`index ${index}`, item);\n }\n return item;\n }\n // Pass important checks (like `then` for Promise) through\n if (passProperties.indexOf(prop) >= 0) {\n return Reflect.get(target, prop, receiver);\n }\n const value = target[prop];\n if (value instanceof Function) {\n // Make sure functions work with private variables\n // See: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Proxy#no_private_property_forwarding\n return function (...args) {\n return value.apply((this === receiver) ? target : this, args);\n };\n }\n else if (!(prop in target)) {\n // Possible name accessor\n return target.getValue.apply((this === receiver) ? target : this, [prop]);\n }\n }\n return Reflect.get(target, prop, receiver);\n }\n });\n setNames(proxy, getNames(this));\n return proxy;\n }\n /**\n * Returns the Result as a normal Array. If %%deep%%, any children\n * which are Result objects are also converted to a normal Array.\n *\n * This will throw if there are any outstanding deferred\n * errors.\n */\n toArray(deep) {\n const result = [];\n this.forEach((item, index) => {\n if (item instanceof Error) {\n throwError(`index ${index}`, item);\n }\n if (deep && item instanceof Result) {\n item = item.toArray(deep);\n }\n result.push(item);\n });\n return result;\n }\n /**\n * Returns the Result as an Object with each name-value pair. If\n * %%deep%%, any children which are Result objects are also\n * converted to an Object.\n *\n * This will throw if any value is unnamed, or if there are\n * any outstanding deferred errors.\n */\n toObject(deep) {\n const names = getNames(this);\n return names.reduce((accum, name, index) => {\n assert(name != null, `value at index ${index} unnamed`, \"UNSUPPORTED_OPERATION\", {\n operation: \"toObject()\"\n });\n return toObject(names, this, deep);\n }, {});\n }\n /**\n * @_ignore\n */\n slice(start, end) {\n if (start == null) {\n start = 0;\n }\n if (start < 0) {\n start += this.length;\n if (start < 0) {\n start = 0;\n }\n }\n if (end == null) {\n end = this.length;\n }\n if (end < 0) {\n end += this.length;\n if (end < 0) {\n end = 0;\n }\n }\n if (end > this.length) {\n end = this.length;\n }\n const _names = getNames(this);\n const result = [], names = [];\n for (let i = start; i < end; i++) {\n result.push(this[i]);\n names.push(_names[i]);\n }\n return new Result(_guard, result, names);\n }\n /**\n * @_ignore\n */\n filter(callback, thisArg) {\n const _names = getNames(this);\n const result = [], names = [];\n for (let i = 0; i < this.length; i++) {\n const item = this[i];\n if (item instanceof Error) {\n throwError(`index ${i}`, item);\n }\n if (callback.call(thisArg, item, i, this)) {\n result.push(item);\n names.push(_names[i]);\n }\n }\n return new Result(_guard, result, names);\n }\n /**\n * @_ignore\n */\n map(callback, thisArg) {\n const result = [];\n for (let i = 0; i < this.length; i++) {\n const item = this[i];\n if (item instanceof Error) {\n throwError(`index ${i}`, item);\n }\n result.push(callback.call(thisArg, item, i, this));\n }\n return result;\n }\n /**\n * Returns the value for %%name%%.\n *\n * Since it is possible to have a key whose name conflicts with\n * a method on a [[Result]] or its superclass Array, or any\n * JavaScript keyword, this ensures all named values are still\n * accessible by name.\n */\n getValue(name) {\n const index = getNames(this).indexOf(name);\n if (index === -1) {\n return undefined;\n }\n const value = this[index];\n if (value instanceof Error) {\n throwError(`property ${JSON.stringify(name)}`, value.error);\n }\n return value;\n }\n /**\n * Creates a new [[Result]] for %%items%% with each entry\n * also accessible by its corresponding name in %%keys%%.\n */\n static fromItems(items, keys) {\n return new Result(_guard, items, keys);\n }\n}\n/**\n * Returns all errors found in a [[Result]].\n *\n * Since certain errors encountered when creating a [[Result]] do\n * not impact the ability to continue parsing data, they are\n * deferred until they are actually accessed. Hence a faulty string\n * in an Event that is never used does not impact the program flow.\n *\n * However, sometimes it may be useful to access, identify or\n * validate correctness of a [[Result]].\n *\n * @_docloc api/abi\n */\nexport function checkResultErrors(result) {\n // Find the first error (if any)\n const errors = [];\n const checkErrors = function (path, object) {\n if (!Array.isArray(object)) {\n return;\n }\n for (let key in object) {\n const childPath = path.slice();\n childPath.push(key);\n try {\n checkErrors(childPath, object[key]);\n }\n catch (error) {\n errors.push({ path: childPath, error: error });\n }\n }\n };\n checkErrors([], result);\n return errors;\n}\nfunction getValue(value) {\n let bytes = toBeArray(value);\n assert(bytes.length <= WordSize, \"value out-of-bounds\", \"BUFFER_OVERRUN\", { buffer: bytes, length: WordSize, offset: bytes.length });\n if (bytes.length !== WordSize) {\n bytes = getBytesCopy(concat([Padding.slice(bytes.length % WordSize), bytes]));\n }\n return bytes;\n}\n/**\n * @_ignore\n */\nexport class Coder {\n // The coder name:\n // - address, uint256, tuple, array, etc.\n name;\n // The fully expanded type, including composite types:\n // - address, uint256, tuple(address,bytes), uint256[3][4][], etc.\n type;\n // The localName bound in the signature, in this example it is \"baz\":\n // - tuple(address foo, uint bar) baz\n localName;\n // Whether this type is dynamic:\n // - Dynamic: bytes, string, address[], tuple(boolean[]), etc.\n // - Not Dynamic: address, uint256, boolean[3], tuple(address, uint8)\n dynamic;\n constructor(name, type, localName, dynamic) {\n defineProperties(this, { name, type, localName, dynamic }, {\n name: \"string\", type: \"string\", localName: \"string\", dynamic: \"boolean\"\n });\n }\n _throwError(message, value) {\n assertArgument(false, message, this.localName, value);\n }\n}\n/**\n * @_ignore\n */\nexport class Writer {\n // An array of WordSize lengthed objects to concatenation\n #data;\n #dataLength;\n constructor() {\n this.#data = [];\n this.#dataLength = 0;\n }\n get data() {\n return concat(this.#data);\n }\n get length() { return this.#dataLength; }\n #writeData(data) {\n this.#data.push(data);\n this.#dataLength += data.length;\n return data.length;\n }\n appendWriter(writer) {\n return this.#writeData(getBytesCopy(writer.data));\n }\n // Arrayish item; pad on the right to *nearest* WordSize\n writeBytes(value) {\n let bytes = getBytesCopy(value);\n const paddingOffset = bytes.length % WordSize;\n if (paddingOffset) {\n bytes = getBytesCopy(concat([bytes, Padding.slice(paddingOffset)]));\n }\n return this.#writeData(bytes);\n }\n // Numeric item; pad on the left *to* WordSize\n writeValue(value) {\n return this.#writeData(getValue(value));\n }\n // Inserts a numeric place-holder, returning a callback that can\n // be used to asjust the value later\n writeUpdatableValue() {\n const offset = this.#data.length;\n this.#data.push(Padding);\n this.#dataLength += WordSize;\n return (value) => {\n this.#data[offset] = getValue(value);\n };\n }\n}\n/**\n * @_ignore\n */\nexport class Reader {\n // Allows incomplete unpadded data to be read; otherwise an error\n // is raised if attempting to overrun the buffer. This is required\n // to deal with an old Solidity bug, in which event data for\n // external (not public thoguh) was tightly packed.\n allowLoose;\n #data;\n #offset;\n #bytesRead;\n #parent;\n #maxInflation;\n constructor(data, allowLoose, maxInflation) {\n defineProperties(this, { allowLoose: !!allowLoose });\n this.#data = getBytesCopy(data);\n this.#bytesRead = 0;\n this.#parent = null;\n this.#maxInflation = (maxInflation != null) ? maxInflation : 1024;\n this.#offset = 0;\n }\n get data() { return hexlify(this.#data); }\n get dataLength() { return this.#data.length; }\n get consumed() { return this.#offset; }\n get bytes() { return new Uint8Array(this.#data); }\n #incrementBytesRead(count) {\n if (this.#parent) {\n return this.#parent.#incrementBytesRead(count);\n }\n this.#bytesRead += count;\n // Check for excessive inflation (see: #4537)\n assert(this.#maxInflation < 1 || this.#bytesRead <= this.#maxInflation * this.dataLength, `compressed ABI data exceeds inflation ratio of ${this.#maxInflation} ( see: https:/\\/github.com/ethers-io/ethers.js/issues/4537 )`, \"BUFFER_OVERRUN\", {\n buffer: getBytesCopy(this.#data), offset: this.#offset,\n length: count, info: {\n bytesRead: this.#bytesRead,\n dataLength: this.dataLength\n }\n });\n }\n #peekBytes(offset, length, loose) {\n let alignedLength = Math.ceil(length / WordSize) * WordSize;\n if (this.#offset + alignedLength > this.#data.length) {\n if (this.allowLoose && loose && this.#offset + length <= this.#data.length) {\n alignedLength = length;\n }\n else {\n assert(false, \"data out-of-bounds\", \"BUFFER_OVERRUN\", {\n buffer: getBytesCopy(this.#data),\n length: this.#data.length,\n offset: this.#offset + alignedLength\n });\n }\n }\n return this.#data.slice(this.#offset, this.#offset + alignedLength);\n }\n // Create a sub-reader with the same underlying data, but offset\n subReader(offset) {\n const reader = new Reader(this.#data.slice(this.#offset + offset), this.allowLoose, this.#maxInflation);\n reader.#parent = this;\n return reader;\n }\n // Read bytes\n readBytes(length, loose) {\n let bytes = this.#peekBytes(0, length, !!loose);\n this.#incrementBytesRead(length);\n this.#offset += bytes.length;\n // @TODO: Make sure the length..end bytes are all 0?\n return bytes.slice(0, length);\n }\n // Read a numeric values\n readValue() {\n return toBigInt(this.readBytes(WordSize));\n }\n readIndex() {\n return toNumber(this.readBytes(WordSize));\n }\n}\n//# sourceMappingURL=abstract-coder.js.map"],"names":["args","_names","_data"],"mappings":"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","x_google_ignoreList":[0]}
|
|
1
|
+
{"version":3,"file":"standards-sdk.es62.js","sources":["../../node_modules/mime-types/index.js"],"sourcesContent":["/*!\n * mime-types\n * Copyright(c) 2014 Jonathan Ong\n * Copyright(c) 2015 Douglas Christopher Wilson\n * MIT Licensed\n */\n\n'use strict'\n\n/**\n * Module dependencies.\n * @private\n */\n\nvar db = require('mime-db')\nvar extname = require('path').extname\n\n/**\n * Module variables.\n * @private\n */\n\nvar EXTRACT_TYPE_REGEXP = /^\\s*([^;\\s]*)(?:;|\\s|$)/\nvar TEXT_TYPE_REGEXP = /^text\\//i\n\n/**\n * Module exports.\n * @public\n */\n\nexports.charset = charset\nexports.charsets = { lookup: charset }\nexports.contentType = contentType\nexports.extension = extension\nexports.extensions = Object.create(null)\nexports.lookup = lookup\nexports.types = Object.create(null)\n\n// Populate the extensions/types maps\npopulateMaps(exports.extensions, exports.types)\n\n/**\n * Get the default charset for a MIME type.\n *\n * @param {string} type\n * @return {boolean|string}\n */\n\nfunction charset (type) {\n if (!type || typeof type !== 'string') {\n return false\n }\n\n // TODO: use media-typer\n var match = EXTRACT_TYPE_REGEXP.exec(type)\n var mime = match && db[match[1].toLowerCase()]\n\n if (mime && mime.charset) {\n return mime.charset\n }\n\n // default text/* to utf-8\n if (match && TEXT_TYPE_REGEXP.test(match[1])) {\n return 'UTF-8'\n }\n\n return false\n}\n\n/**\n * Create a full Content-Type header given a MIME type or extension.\n *\n * @param {string} str\n * @return {boolean|string}\n */\n\nfunction contentType (str) {\n // TODO: should this even be in this module?\n if (!str || typeof str !== 'string') {\n return false\n }\n\n var mime = str.indexOf('/') === -1\n ? exports.lookup(str)\n : str\n\n if (!mime) {\n return false\n }\n\n // TODO: use content-type or other module\n if (mime.indexOf('charset') === -1) {\n var charset = exports.charset(mime)\n if (charset) mime += '; charset=' + charset.toLowerCase()\n }\n\n return mime\n}\n\n/**\n * Get the default extension for a MIME type.\n *\n * @param {string} type\n * @return {boolean|string}\n */\n\nfunction extension (type) {\n if (!type || typeof type !== 'string') {\n return false\n }\n\n // TODO: use media-typer\n var match = EXTRACT_TYPE_REGEXP.exec(type)\n\n // get extensions\n var exts = match && exports.extensions[match[1].toLowerCase()]\n\n if (!exts || !exts.length) {\n return false\n }\n\n return exts[0]\n}\n\n/**\n * Lookup the MIME type for a file path/extension.\n *\n * @param {string} path\n * @return {boolean|string}\n */\n\nfunction lookup (path) {\n if (!path || typeof path !== 'string') {\n return false\n }\n\n // get the extension (\"ext\" or \".ext\" or full path)\n var extension = extname('x.' + path)\n .toLowerCase()\n .substr(1)\n\n if (!extension) {\n return false\n }\n\n return exports.types[extension] || false\n}\n\n/**\n * Populate the extensions and types maps.\n * @private\n */\n\nfunction populateMaps (extensions, types) {\n // source preference (least -> most)\n var preference = ['nginx', 'apache', undefined, 'iana']\n\n Object.keys(db).forEach(function forEachMimeType (type) {\n var mime = db[type]\n var exts = mime.extensions\n\n if (!exts || !exts.length) {\n return\n }\n\n // mime -> extensions\n extensions[type] = exts\n\n // extension -> mime\n for (var i = 0; i < exts.length; i++) {\n var extension = exts[i]\n\n if (types[extension]) {\n var from = preference.indexOf(db[types[extension]].source)\n var to = preference.indexOf(mime.source)\n\n if (types[extension] !== 'application/octet-stream' &&\n (from > to || (from === to && types[extension].substr(0, 12) === 'application/'))) {\n // skip the remapping\n continue\n }\n }\n\n // set the extension -> mime\n types[extension] = type\n }\n })\n}\n"],"names":["require$$0","require$$1","charset","extension"],"mappings":";;;;;;;;;;;;;;AAcA,QAAI,KAAKA,cAAA;AACT,QAAI,UAAUC,wBAAgB;AAO9B,QAAI,sBAAsB;AAC1B,QAAI,mBAAmB;AAOvB,YAAkB,UAAA;AAClB,YAAmB,WAAA,EAAE,QAAQ,QAAO;AACpC,YAAsB,cAAA;AACtB,YAAoB,YAAA;AACpB,YAAA,aAAqB,uBAAO,OAAO,IAAI;AACvC,YAAiB,SAAA;AACjB,YAAA,QAAgB,uBAAO,OAAO,IAAI;AAGlC,iBAAa,QAAQ,YAAY,QAAQ,KAAK;AAS9C,aAAS,QAAS,MAAM;AACtB,UAAI,CAAC,QAAQ,OAAO,SAAS,UAAU;AACrC,eAAO;AAAA,MACX;AAGE,UAAI,QAAQ,oBAAoB,KAAK,IAAI;AACzC,UAAI,OAAO,SAAS,GAAG,MAAM,CAAC,EAAE,YAAa,CAAA;AAE7C,UAAI,QAAQ,KAAK,SAAS;AACxB,eAAO,KAAK;AAAA,MAChB;AAGE,UAAI,SAAS,iBAAiB,KAAK,MAAM,CAAC,CAAC,GAAG;AAC5C,eAAO;AAAA,MACX;AAEE,aAAO;AAAA,IACT;AASA,aAAS,YAAa,KAAK;AAEzB,UAAI,CAAC,OAAO,OAAO,QAAQ,UAAU;AACnC,eAAO;AAAA,MACX;AAEE,UAAI,OAAO,IAAI,QAAQ,GAAG,MAAM,KAC5B,QAAQ,OAAO,GAAG,IAClB;AAEJ,UAAI,CAAC,MAAM;AACT,eAAO;AAAA,MACX;AAGE,UAAI,KAAK,QAAQ,SAAS,MAAM,IAAI;AAClC,YAAIC,WAAU,QAAQ,QAAQ,IAAI;AAClC,YAAIA,SAAS,SAAQ,eAAeA,SAAQ,YAAW;AAAA,MAC3D;AAEE,aAAO;AAAA,IACT;AASA,aAAS,UAAW,MAAM;AACxB,UAAI,CAAC,QAAQ,OAAO,SAAS,UAAU;AACrC,eAAO;AAAA,MACX;AAGE,UAAI,QAAQ,oBAAoB,KAAK,IAAI;AAGzC,UAAI,OAAO,SAAS,QAAQ,WAAW,MAAM,CAAC,EAAE,YAAa,CAAA;AAE7D,UAAI,CAAC,QAAQ,CAAC,KAAK,QAAQ;AACzB,eAAO;AAAA,MACX;AAEE,aAAO,KAAK,CAAC;AAAA,IACf;AASA,aAAS,OAAQ,MAAM;AACrB,UAAI,CAAC,QAAQ,OAAO,SAAS,UAAU;AACrC,eAAO;AAAA,MACX;AAGE,UAAIC,aAAY,QAAQ,OAAO,IAAI,EAChC,YAAW,EACX,OAAO,CAAC;AAEX,UAAI,CAACA,YAAW;AACd,eAAO;AAAA,MACX;AAEE,aAAO,QAAQ,MAAMA,UAAS,KAAK;AAAA,IACrC;AAOA,aAAS,aAAc,YAAY,OAAO;AAExC,UAAI,aAAa,CAAC,SAAS,UAAU,QAAW,MAAM;AAEtD,aAAO,KAAK,EAAE,EAAE,QAAQ,SAAS,gBAAiB,MAAM;AACtD,YAAI,OAAO,GAAG,IAAI;AAClB,YAAI,OAAO,KAAK;AAEhB,YAAI,CAAC,QAAQ,CAAC,KAAK,QAAQ;AACzB;AAAA,QACN;AAGI,mBAAW,IAAI,IAAI;AAGnB,iBAAS,IAAI,GAAG,IAAI,KAAK,QAAQ,KAAK;AACpC,cAAIA,aAAY,KAAK,CAAC;AAEtB,cAAI,MAAMA,UAAS,GAAG;AACpB,gBAAI,OAAO,WAAW,QAAQ,GAAG,MAAMA,UAAS,CAAC,EAAE,MAAM;AACzD,gBAAI,KAAK,WAAW,QAAQ,KAAK,MAAM;AAEvC,gBAAI,MAAMA,UAAS,MAAM,+BACtB,OAAO,MAAO,SAAS,MAAM,MAAMA,UAAS,EAAE,OAAO,GAAG,EAAE,MAAM,iBAAkB;AAEnF;AAAA,YACV;AAAA,UACA;AAGM,gBAAMA,UAAS,IAAI;AAAA,QACzB;AAAA,MACG,CAAA;AAAA,IACH;AAAA;;;","x_google_ignoreList":[0]}
|