From 685462b947ac2db1b8cc9a0c1d3141ed2b1dff78 Mon Sep 17 00:00:00 2001 From: Michele Esposito <34438276+mikesposito@users.noreply.github.com> Date: Tue, 12 Dec 2023 15:26:40 +0100 Subject: [PATCH] Update `@metamask/browser-passworder` (#62) * chore: bump browser-passworder * chore: update bundle * chore: dedupe packages * test: add `CryptoKey` to tests `globalThis` * test: add unit tests `decryptVault` * test: add test fixture for mac --- app/lib.js | 16 +- app/lib.test.js | 33 + bundle.js | 8189 ++++++++++++++++- jest.config.js | 6 +- package.json | 2 +- .../000006.log | Bin 0 -> 1618818 bytes test/setup/globals.js | 10 +- yarn.lock | 363 +- 8 files changed, 8171 insertions(+), 448 deletions(-) create mode 100644 test/fixtures/chrome-119.0.6045.199-macos-arm64/000006.log diff --git a/app/lib.js b/app/lib.js index ed43f55..c488317 100644 --- a/app/lib.js +++ b/app/lib.js @@ -60,7 +60,21 @@ function extractVaultFromFile (data) { ) } } - // attempt 4: chromium 000005.ldb on windows + { + // attempt 4: chromium 000006.log on MacOS + // this variant also contains a 'keyMetadata' key in the vault, which should be + // a nested object. + const matches = data.match(/KeyringController":(\{"vault":".*=\\"\}"\})/); + if (matches && matches.length) { + keyringControllerState = matches[1]; + try { + return JSON.parse(JSON.parse(keyringControllerState).vault); + } catch (err) { + // Not valid JSON: continue + } + } + } + // attempt 5: chromium 000005.ldb on windows const matchRegex = /Keyring[0-9][^\}]*(\{[^\{\}]*\\"\})/gu const captureRegex = /Keyring[0-9][^\}]*(\{[^\{\}]*\\"\})/u const ivRegex = /\\"iv.{1,4}[^A-Za-z0-9+\/]{1,10}([A-Za-z0-9+\/]{10,40}=*)/u diff --git a/app/lib.test.js b/app/lib.test.js index ede8375..8475e36 100644 --- a/app/lib.test.js +++ b/app/lib.test.js @@ -28,6 +28,26 @@ const FIXTURES = [ mnemonic: 'speed accuse odor ordinary exercise truly outer mask arrest life sibling height', //passphrase: 'bG82kXdp3rNwJ3MCT3kLmLKFN', }, + { + path: 'chrome-119.0.6045.199-macos-arm64/000006.log', + mnemonic: 'position ship hill notice replace truth science angle merit reunion direct steak', + passphrase: 'r!chSloth14', + } +] + +const VAULTS = [ + { + variant: 'vault with no key metadata', + vaultData: '{"data":"s6TpYjlUNsn7ifhEFTkuDGBUM1GyOlPrim7JSjtfIxgTt8/6MiXgiR/CtFfR4dWW2xhq85/NGIBYEeWrZThGdKGarBzeIqBfLFhw9n509jprzJ0zc2Rf+9HVFGLw+xxC4xPxgCS0IIWeAJQ+XtGcHmn0UZXriXm8Ja4kdlow6SWinB7sr/WM3R0+frYs4WgllkwggDf2/Tv6VHygvLnhtzp6hIJFyTjh+l/KnyJTyZW1TkZhDaNDzX3SCOHT","iv":"FbeHDAW5afeWNORfNJBR0Q==","salt":"TxZ+WbCW6891C9LK/hbMAoUsSEW1E8pyGLVBU6x5KR8="}', + mnemonic: 'spread raise short crane omit tent fringe mandate neglect detail suspect cradle', + passphrase: 'correct horse battery staple', + }, + { + variant: 'vault with key metadata and 600_000 iterations', + vaultData: '{"data":"WHaP1FrrtV4zUonudIppDifsLHF39g6oPkVksAIdWAHBRzax1uy1asfAJprR7u72t4/HuYz5yPIFQrnNnv+hwQu9GRuty88VKMnvMy+sq8MNtoXI+C54bZpWa8r4iUQfa0Mj/cfJbpFpzOdF1ZYXahTfTcU5WsrHwvJew842CiJR4B2jmCHHXfm/DxLK3WazsVQwXJGx/U71UelGoOOrT8NI28EKrAwgPn+7Xmv0j92gmhau30N7Bo2fr6Zv","iv":"LfD8/tY1EjXzxuemSmDVdA==","keyMetadata":{"algorithm":"PBKDF2","params":{"iterations":600000}},"salt":"nk4xdpmMR+1s5BYe4Vnk++XAQwrISI2bCtbMg7V1wUA="}', + mnemonic: 'spread raise short crane omit tent fringe mandate neglect detail suspect cradle', + passphrase: 'correct horse battery staple', + }, ] describe('extractVaultFromFile', () => { @@ -47,6 +67,19 @@ describe('extractVaultFromFile', () => { } }) +describe('decryptVault', () => { + VAULTS.forEach((vault) => { + it(`decrypts ${vault.variant}`, async () => { + const decrypted = await decryptVault( + vault.passphrase, + JSON.parse(vault.vaultData) + ); + + expect(decrypted[0].data.mnemonic).toBe(vault.mnemonic) + }) + }) +}); + describe('isVaultValid', () => { const validVault = { data: 'foo', diff --git a/bundle.js b/bundle.js index d4d2460..ccb246a 100644 --- a/bundle.js +++ b/bundle.js @@ -135,7 +135,7 @@ module.exports = { }; }).call(this)}).call(this,require("buffer").Buffer) -},{"@metamask/browser-passworder":14,"buffer":20}],2:[function(require,module,exports){ +},{"@metamask/browser-passworder":14,"buffer":92}],2:[function(require,module,exports){ "use strict"; function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); } @@ -381,7 +381,7 @@ AppRoot.prototype.decrypt = function (event) { }); }; -},{"./lib.js":1,"react":80,"react-hyperscript":46,"react-redux":66,"util":19}],3:[function(require,module,exports){ +},{"./lib.js":1,"react":158,"react-hyperscript":124,"react-redux":144,"util":91}],3:[function(require,module,exports){ "use strict"; var render = require('react-dom').render; @@ -399,7 +399,7 @@ render(h(Root, { store: store }), container); -},{"./app/root.js":2,"./lib/store":5,"react-dom":45,"react-hyperscript":46}],4:[function(require,module,exports){ +},{"./app/root.js":2,"./lib/store":5,"react-dom":123,"react-hyperscript":124}],4:[function(require,module,exports){ "use strict"; var extend = require('xtend'); @@ -412,7 +412,7 @@ module.exports = function (state, action) { return extend(state); }; -},{"xtend":95}],5:[function(require,module,exports){ +},{"xtend":174}],5:[function(require,module,exports){ "use strict"; var createStore = require('redux').createStore; @@ -428,7 +428,7 @@ function configureStore(initialState) { return createStoreWithMiddleware(rootReducer, initialState); } -},{"./reducers":4,"redux":83,"redux-logger":81,"redux-thunk":82}],6:[function(require,module,exports){ +},{"./reducers":4,"redux":161,"redux-logger":159,"redux-thunk":160}],6:[function(require,module,exports){ var toPropertyKey = require("./toPropertyKey.js"); function _defineProperty(obj, key, value) { key = toPropertyKey(key); @@ -542,10 +542,23 @@ module.exports = _typeof, module.exports.__esModule = true, module.exports["defa (function (global,Buffer){(function (){ "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); -exports.generateSalt = exports.serializeBufferForStorage = exports.serializeBufferFromStorage = exports.keyFromPassword = exports.exportKey = exports.importKey = exports.decryptWithKey = exports.decryptWithDetail = exports.decrypt = exports.encryptWithKey = exports.encryptWithDetail = exports.encrypt = void 0; +exports.isVaultUpdated = exports.updateVaultWithDetail = exports.updateVault = exports.generateSalt = exports.serializeBufferForStorage = exports.serializeBufferFromStorage = exports.keyFromPassword = exports.exportKey = exports.importKey = exports.decryptWithKey = exports.decryptWithDetail = exports.decrypt = exports.encryptWithKey = exports.encryptWithDetail = exports.encrypt = void 0; +const utils_1 = require("@metamask/utils"); const EXPORT_FORMAT = 'jwk'; const DERIVED_KEY_FORMAT = 'AES-GCM'; const STRING_ENCODING = 'utf-8'; +const OLD_DERIVATION_PARAMS = { + algorithm: 'PBKDF2', + params: { + iterations: 10000, + }, +}; +const DEFAULT_DERIVATION_PARAMS = { + algorithm: 'PBKDF2', + params: { + iterations: 900000, + }, +}; /** * Encrypts a data object that can be any serializable value using * a provided password. @@ -554,10 +567,11 @@ const STRING_ENCODING = 'utf-8'; * @param dataObj - The data to encrypt. * @param key - The CryptoKey to encrypt with. * @param salt - The salt to use to encrypt. + * @param keyDerivationOptions - The options to use for key derivation. * @returns The encrypted vault. */ -async function encrypt(password, dataObj, key, salt = generateSalt()) { - const cryptoKey = key || (await keyFromPassword(password, salt)); +async function encrypt(password, dataObj, key, salt = generateSalt(), keyDerivationOptions = DEFAULT_DERIVATION_PARAMS) { + const cryptoKey = key || (await keyFromPassword(password, salt, false, keyDerivationOptions)); const payload = await encryptWithKey(cryptoKey, dataObj); payload.salt = salt; return JSON.stringify(payload); @@ -570,10 +584,11 @@ exports.encrypt = encrypt; * @param password - A password to use for encryption. * @param dataObj - The data to encrypt. * @param salt - The salt used to encrypt. + * @param keyDerivationOptions - The options to use for key derivation. * @returns The vault and exported key string. */ -async function encryptWithDetail(password, dataObj, salt = generateSalt()) { - const key = await keyFromPassword(password, salt, true); +async function encryptWithDetail(password, dataObj, salt = generateSalt(), keyDerivationOptions = DEFAULT_DERIVATION_PARAMS) { + const key = await keyFromPassword(password, salt, true, keyDerivationOptions); const exportedKeyString = await exportKey(key); const vault = await encrypt(password, dataObj, key, salt); return { @@ -587,14 +602,15 @@ exports.encryptWithDetail = encryptWithDetail; * provided CryptoKey and returns an object containing the cypher text and * the initialization vector used. * - * @param key - The CryptoKey to encrypt with. + * @param encryptionKey - The CryptoKey to encrypt with. * @param dataObj - A serializable JavaScript object to encrypt. * @returns The encrypted data. */ -async function encryptWithKey(key, dataObj) { +async function encryptWithKey(encryptionKey, dataObj) { const data = JSON.stringify(dataObj); const dataBuffer = Buffer.from(data, STRING_ENCODING); const vector = global.crypto.getRandomValues(new Uint8Array(16)); + const key = unwrapKey(encryptionKey); const buf = await global.crypto.subtle.encrypt({ name: DERIVED_KEY_FORMAT, iv: vector, @@ -602,10 +618,14 @@ async function encryptWithKey(key, dataObj) { const buffer = new Uint8Array(buf); const vectorStr = Buffer.from(vector).toString('base64'); const vaultStr = Buffer.from(buffer).toString('base64'); - return { + const encryptionResult = { data: vaultStr, iv: vectorStr, }; + if (isEncryptionKey(encryptionKey)) { + encryptionResult.keyMetadata = encryptionKey.derivationOptions; + } + return encryptionResult; } exports.encryptWithKey = encryptWithKey; /** @@ -614,13 +634,14 @@ exports.encryptWithKey = encryptWithKey; * * @param password - The password to decrypt with. * @param text - The cypher text to decrypt. - * @param key - The key to decrypt with. + * @param encryptionKey - The key to decrypt with. * @returns The decrypted data. */ -async function decrypt(password, text, key) { +async function decrypt(password, text, encryptionKey) { const payload = JSON.parse(text); - const { salt } = payload; - const cryptoKey = key || (await keyFromPassword(password, salt)); + const { salt, keyMetadata } = payload; + const cryptoKey = unwrapKey(encryptionKey || + (await keyFromPassword(password, salt, false, keyMetadata))); const result = await decryptWithKey(cryptoKey, payload); return result; } @@ -635,8 +656,8 @@ exports.decrypt = decrypt; */ async function decryptWithDetail(password, text) { const payload = JSON.parse(text); - const { salt } = payload; - const key = await keyFromPassword(password, salt, true); + const { salt, keyMetadata } = payload; + const key = await keyFromPassword(password, salt, true, keyMetadata); const exportedKeyString = await exportKey(key); const vault = await decrypt(password, text, key); return { @@ -650,13 +671,14 @@ exports.decryptWithDetail = decryptWithDetail; * Given a CryptoKey and an EncryptionResult object containing the initialization * vector (iv) and data to decrypt, return the resulting decrypted value. * - * @param key - The CryptoKey to decrypt with. + * @param encryptionKey - The CryptoKey to decrypt with. * @param payload - The payload to decrypt, returned from an encryption method. * @returns The decrypted data. */ -async function decryptWithKey(key, payload) { +async function decryptWithKey(encryptionKey, payload) { const encryptedData = Buffer.from(payload.data, 'base64'); const vector = Buffer.from(payload.iv, 'base64'); + const key = unwrapKey(encryptionKey); let decryptedObj; try { const result = await crypto.subtle.decrypt({ name: DERIVED_KEY_FORMAT, iv: vector }, key, encryptedData); @@ -673,45 +695,58 @@ exports.decryptWithKey = decryptWithKey; /** * Receives an exported CryptoKey string and creates a key. * + * This function supports both JsonWebKey's and exported EncryptionKey's. + * It will return a CryptoKey for the former, and an EncryptionKey for the latter. + * * @param keyString - The key string to import. - * @returns A CryptoKey. + * @returns An EncryptionKey or a CryptoKey. */ async function importKey(keyString) { - const key = await window.crypto.subtle.importKey(EXPORT_FORMAT, JSON.parse(keyString), DERIVED_KEY_FORMAT, true, ['encrypt', 'decrypt']); - return key; + const exportedEncryptionKey = JSON.parse(keyString); + if (isExportedEncryptionKey(exportedEncryptionKey)) { + return { + key: await window.crypto.subtle.importKey(EXPORT_FORMAT, exportedEncryptionKey.key, DERIVED_KEY_FORMAT, true, ['encrypt', 'decrypt']), + derivationOptions: exportedEncryptionKey.derivationOptions, + }; + } + return await window.crypto.subtle.importKey(EXPORT_FORMAT, exportedEncryptionKey, DERIVED_KEY_FORMAT, true, ['encrypt', 'decrypt']); } exports.importKey = importKey; /** - * Receives an exported CryptoKey string, creates a key, - * and decrypts cipher text with the reconstructed key. + * Exports a key string from a CryptoKey or from an + * EncryptionKey instance. * - * @param key - The CryptoKey to export. + * @param encryptionKey - The CryptoKey or EncryptionKey to export. * @returns A key string. */ -async function exportKey(key) { - const exportedKey = await window.crypto.subtle.exportKey(EXPORT_FORMAT, key); - return JSON.stringify(exportedKey); +async function exportKey(encryptionKey) { + if (isEncryptionKey(encryptionKey)) { + return JSON.stringify({ + key: await window.crypto.subtle.exportKey(EXPORT_FORMAT, encryptionKey.key), + derivationOptions: encryptionKey.derivationOptions, + }); + } + return JSON.stringify(await window.crypto.subtle.exportKey(EXPORT_FORMAT, encryptionKey)); } exports.exportKey = exportKey; -/** - * Generate a CryptoKey from a password and random salt. - * - * @param password - The password to use to generate key. - * @param salt - The salt string to use in key derivation. - * @param exportable - Should the derived key be exportable. - * @returns A CryptoKey for encryption and decryption. - */ -async function keyFromPassword(password, salt, exportable = false) { +// The overloads are already documented. +// eslint-disable-next-line jsdoc/require-jsdoc +async function keyFromPassword(password, salt, exportable = false, opts = OLD_DERIVATION_PARAMS) { const passBuffer = Buffer.from(password, STRING_ENCODING); const saltBuffer = Buffer.from(salt, 'base64'); const key = await global.crypto.subtle.importKey('raw', passBuffer, { name: 'PBKDF2' }, false, ['deriveBits', 'deriveKey']); const derivedKey = await global.crypto.subtle.deriveKey({ name: 'PBKDF2', salt: saltBuffer, - iterations: 10000, + iterations: opts.params.iterations, hash: 'SHA-256', }, key, { name: DERIVED_KEY_FORMAT, length: 256 }, exportable, ['encrypt', 'decrypt']); - return derivedKey; + return opts + ? { + key: derivedKey, + derivationOptions: opts, + } + : derivedKey; } exports.keyFromPassword = keyFromPassword; /** @@ -776,199 +811,5416 @@ function generateSalt(byteCount = 32) { return b64encoded; } exports.generateSalt = generateSalt; +/** + * Updates the provided vault, re-encrypting + * data with a safer algorithm if one is available. + * + * If the provided vault is already using the latest available encryption method, + * it is returned as is. + * + * @param vault - The vault to update. + * @param password - The password to use for encryption. + * @param targetDerivationParams - The options to use for key derivation. + * @returns A promise resolving to the updated vault. + */ +async function updateVault(vault, password, targetDerivationParams = DEFAULT_DERIVATION_PARAMS) { + if (isVaultUpdated(vault, targetDerivationParams)) { + return vault; + } + return encrypt(password, await decrypt(password, vault), undefined, undefined, targetDerivationParams); +} +exports.updateVault = updateVault; +/** + * Updates the provided vault and exported key, re-encrypting + * data with a safer algorithm if one is available. + * + * If the provided vault is already using the latest available encryption method, + * it is returned as is. + * + * @param encryptionResult - The encrypted data to update. + * @param password - The password to use for encryption. + * @param targetDerivationParams - The options to use for key derivation. + * @returns A promise resolving to the updated encrypted data and exported key. + */ +async function updateVaultWithDetail(encryptionResult, password, targetDerivationParams = DEFAULT_DERIVATION_PARAMS) { + if (isVaultUpdated(encryptionResult.vault, targetDerivationParams)) { + return encryptionResult; + } + return encryptWithDetail(password, await decrypt(password, encryptionResult.vault), undefined, targetDerivationParams); +} +exports.updateVaultWithDetail = updateVaultWithDetail; +/** + * Checks if the provided key is an `EncryptionKey`. + * + * @param encryptionKey - The object to check. + * @returns Whether or not the key is an `EncryptionKey`. + */ +function isEncryptionKey(encryptionKey) { + return ((0, utils_1.isPlainObject)(encryptionKey) && + (0, utils_1.hasProperty)(encryptionKey, 'key') && + (0, utils_1.hasProperty)(encryptionKey, 'derivationOptions') && + encryptionKey.key instanceof CryptoKey && + isKeyDerivationOptions(encryptionKey.derivationOptions)); +} +/** + * Checks if the provided object is a `KeyDerivationOptions`. + * + * @param derivationOptions - The object to check. + * @returns Whether or not the object is a `KeyDerivationOptions`. + */ +function isKeyDerivationOptions(derivationOptions) { + return ((0, utils_1.isPlainObject)(derivationOptions) && + (0, utils_1.hasProperty)(derivationOptions, 'algorithm') && + (0, utils_1.hasProperty)(derivationOptions, 'params')); +} +/** + * Checks if the provided key is an `ExportedEncryptionKey`. + * + * @param exportedKey - The object to check. + * @returns Whether or not the object is an `ExportedEncryptionKey`. + */ +function isExportedEncryptionKey(exportedKey) { + return ((0, utils_1.isPlainObject)(exportedKey) && + (0, utils_1.hasProperty)(exportedKey, 'key') && + (0, utils_1.hasProperty)(exportedKey, 'derivationOptions') && + isKeyDerivationOptions(exportedKey.derivationOptions)); +} +/** + * Returns the `CryptoKey` from the provided encryption key. + * If the provided key is a `CryptoKey`, it is returned as is. + * + * @param encryptionKey - The key to unwrap. + * @returns The `CryptoKey` from the provided encryption key. + */ +function unwrapKey(encryptionKey) { + return isEncryptionKey(encryptionKey) ? encryptionKey.key : encryptionKey; +} +/** + * Checks if the provided vault is an updated encryption format. + * + * @param vault - The vault to check. + * @param targetDerivationParams - The options to use for key derivation. + * @returns Whether or not the vault is an updated encryption format. + */ +function isVaultUpdated(vault, targetDerivationParams = DEFAULT_DERIVATION_PARAMS) { + const { keyMetadata } = JSON.parse(vault); + return (isKeyDerivationOptions(keyMetadata) && + keyMetadata.algorithm === targetDerivationParams.algorithm && + keyMetadata.params.iterations === targetDerivationParams.params.iterations); +} +exports.isVaultUpdated = isVaultUpdated; }).call(this)}).call(this,typeof global !== "undefined" ? global : typeof self !== "undefined" ? self : typeof window !== "undefined" ? window : {},require("buffer").Buffer) -},{"buffer":20}],15:[function(require,module,exports){ -(function (global){(function (){ -'use strict'; +},{"@metamask/utils":35,"buffer":92}],15:[function(require,module,exports){ +"use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }// src/logging.ts +var _debug = require('debug'); var _debug2 = _interopRequireDefault(_debug); +var globalLogger = _debug2.default.call(void 0, "metamask"); +function createProjectLogger(projectName) { + return globalLogger.extend(projectName); +} +function createModuleLogger(projectLogger, moduleName) { + return projectLogger.extend(moduleName); +} -var possibleNames = [ - 'BigInt64Array', - 'BigUint64Array', - 'Float32Array', - 'Float64Array', - 'Int16Array', - 'Int32Array', - 'Int8Array', - 'Uint16Array', - 'Uint32Array', - 'Uint8Array', - 'Uint8ClampedArray' -]; -var g = typeof globalThis === 'undefined' ? global : globalThis; -module.exports = function availableTypedArrays() { - var out = []; - for (var i = 0; i < possibleNames.length; i++) { - if (typeof g[possibleNames[i]] === 'function') { - out[out.length] = possibleNames[i]; - } - } - return out; + +exports.createProjectLogger = createProjectLogger; exports.createModuleLogger = createModuleLogger; + +},{"debug":95}],16:[function(require,module,exports){ +"use strict"; +},{}],17:[function(require,module,exports){ +"use strict";Object.defineProperty(exports, "__esModule", {value: true});var __accessCheck = (obj, member, msg) => { + if (!member.has(obj)) + throw TypeError("Cannot " + msg); +}; +var __privateGet = (obj, member, getter) => { + __accessCheck(obj, member, "read from private field"); + return getter ? getter.call(obj) : member.get(obj); +}; +var __privateAdd = (obj, member, value) => { + if (member.has(obj)) + throw TypeError("Cannot add the same private member more than once"); + member instanceof WeakSet ? member.add(obj) : member.set(obj, value); +}; +var __privateSet = (obj, member, value, setter) => { + __accessCheck(obj, member, "write to private field"); + setter ? setter.call(obj, value) : member.set(obj, value); + return value; }; -}).call(this)}).call(this,typeof global !== "undefined" ? global : typeof self !== "undefined" ? self : typeof window !== "undefined" ? window : {}) -},{}],16:[function(require,module,exports){ -'use strict' -exports.byteLength = byteLength -exports.toByteArray = toByteArray -exports.fromByteArray = fromByteArray -var lookup = [] -var revLookup = [] -var Arr = typeof Uint8Array !== 'undefined' ? Uint8Array : Array -var code = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/' -for (var i = 0, len = code.length; i < len; ++i) { - lookup[i] = code[i] - revLookup[code.charCodeAt(i)] = i -} -// Support decoding URL-safe base64 strings, as Node.js does. -// See: https://en.wikipedia.org/wiki/Base64#URL_applications -revLookup['-'.charCodeAt(0)] = 62 -revLookup['_'.charCodeAt(0)] = 63 +exports.__privateGet = __privateGet; exports.__privateAdd = __privateAdd; exports.__privateSet = __privateSet; -function getLens (b64) { - var len = b64.length +},{}],18:[function(require,module,exports){ +"use strict";Object.defineProperty(exports, "__esModule", {value: true}); - if (len % 4 > 0) { - throw new Error('Invalid string. Length must be a multiple of 4') - } +var _chunk6ZDHSOUVjs = require('./chunk-6ZDHSOUV.js'); - // Trim off extra bytes after placeholder bytes are found - // See: https://github.com/beatgammit/base64-js/issues/42 - var validLen = b64.indexOf('=') - if (validLen === -1) validLen = len +// src/versions.ts - var placeHoldersLen = validLen === len - ? 0 - : 4 - (validLen % 4) - return [validLen, placeHoldersLen] -} -// base64 is 4/3 + up to two characters of the original data -function byteLength (b64) { - var lens = getLens(b64) - var validLen = lens[0] - var placeHoldersLen = lens[1] - return ((validLen + placeHoldersLen) * 3 / 4) - placeHoldersLen -} -function _byteLength (b64, validLen, placeHoldersLen) { - return ((validLen + placeHoldersLen) * 3 / 4) - placeHoldersLen + + +var _semver = require('semver'); +var _superstruct = require('superstruct'); +var VersionStruct = _superstruct.refine.call(void 0, + _superstruct.string.call(void 0, ), + "Version", + (value) => { + if (_semver.valid.call(void 0, value) === null) { + return `Expected SemVer version, got "${value}"`; + } + return true; + } +); +var VersionRangeStruct = _superstruct.refine.call(void 0, + _superstruct.string.call(void 0, ), + "Version range", + (value) => { + if (_semver.validRange.call(void 0, value) === null) { + return `Expected SemVer range, got "${value}"`; + } + return true; + } +); +function isValidSemVerVersion(version) { + return _superstruct.is.call(void 0, version, VersionStruct); +} +function isValidSemVerRange(versionRange) { + return _superstruct.is.call(void 0, versionRange, VersionRangeStruct); +} +function assertIsSemVerVersion(version) { + _chunk6ZDHSOUVjs.assertStruct.call(void 0, version, VersionStruct); +} +function assertIsSemVerRange(range) { + _chunk6ZDHSOUVjs.assertStruct.call(void 0, range, VersionRangeStruct); +} +function gtVersion(version1, version2) { + return _semver.gt.call(void 0, version1, version2); +} +function gtRange(version, range) { + return _semver.gtr.call(void 0, version, range); +} +function satisfiesVersionRange(version, versionRange) { + return _semver.satisfies.call(void 0, version, versionRange, { + includePrerelease: true + }); } -function toByteArray (b64) { - var tmp - var lens = getLens(b64) - var validLen = lens[0] - var placeHoldersLen = lens[1] - var arr = new Arr(_byteLength(b64, validLen, placeHoldersLen)) - var curByte = 0 - // if there are placeholders, only get up to the last complete 4 chars - var len = placeHoldersLen > 0 - ? validLen - 4 - : validLen - var i - for (i = 0; i < len; i += 4) { - tmp = - (revLookup[b64.charCodeAt(i)] << 18) | - (revLookup[b64.charCodeAt(i + 1)] << 12) | - (revLookup[b64.charCodeAt(i + 2)] << 6) | - revLookup[b64.charCodeAt(i + 3)] - arr[curByte++] = (tmp >> 16) & 0xFF - arr[curByte++] = (tmp >> 8) & 0xFF - arr[curByte++] = tmp & 0xFF - } - if (placeHoldersLen === 2) { - tmp = - (revLookup[b64.charCodeAt(i)] << 2) | - (revLookup[b64.charCodeAt(i + 1)] >> 4) - arr[curByte++] = tmp & 0xFF + + + + + +exports.VersionStruct = VersionStruct; exports.VersionRangeStruct = VersionRangeStruct; exports.isValidSemVerVersion = isValidSemVerVersion; exports.isValidSemVerRange = isValidSemVerRange; exports.assertIsSemVerVersion = assertIsSemVerVersion; exports.assertIsSemVerRange = assertIsSemVerRange; exports.gtVersion = gtVersion; exports.gtRange = gtRange; exports.satisfiesVersionRange = satisfiesVersionRange; + +},{"./chunk-6ZDHSOUV.js":21,"semver":64,"superstruct":165}],19:[function(require,module,exports){ +"use strict";Object.defineProperty(exports, "__esModule", {value: true});// src/time.ts +var Duration = /* @__PURE__ */ ((Duration2) => { + Duration2[Duration2["Millisecond"] = 1] = "Millisecond"; + Duration2[Duration2["Second"] = 1e3] = "Second"; + Duration2[Duration2["Minute"] = 6e4] = "Minute"; + Duration2[Duration2["Hour"] = 36e5] = "Hour"; + Duration2[Duration2["Day"] = 864e5] = "Day"; + Duration2[Duration2["Week"] = 6048e5] = "Week"; + Duration2[Duration2["Year"] = 31536e6] = "Year"; + return Duration2; +})(Duration || {}); +var isNonNegativeInteger = (number) => Number.isInteger(number) && number >= 0; +var assertIsNonNegativeInteger = (number, name) => { + if (!isNonNegativeInteger(number)) { + throw new Error( + `"${name}" must be a non-negative integer. Received: "${number}".` + ); } +}; +function inMilliseconds(count, duration) { + assertIsNonNegativeInteger(count, "count"); + return count * duration; +} +function timeSince(timestamp) { + assertIsNonNegativeInteger(timestamp, "timestamp"); + return Date.now() - timestamp; +} - if (placeHoldersLen === 1) { - tmp = - (revLookup[b64.charCodeAt(i)] << 10) | - (revLookup[b64.charCodeAt(i + 1)] << 4) | - (revLookup[b64.charCodeAt(i + 2)] >> 2) - arr[curByte++] = (tmp >> 8) & 0xFF - arr[curByte++] = tmp & 0xFF + + + + +exports.Duration = Duration; exports.inMilliseconds = inMilliseconds; exports.timeSince = timeSince; + +},{}],20:[function(require,module,exports){ +"use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _nullishCoalesce(lhs, rhsFn) { if (lhs != null) { return lhs; } else { return rhsFn(); } } + +var _chunk6ZDHSOUVjs = require('./chunk-6ZDHSOUV.js'); + +// src/base64.ts +var _superstruct = require('superstruct'); +var base64 = (struct, options = {}) => { + const paddingRequired = _nullishCoalesce(options.paddingRequired, () => ( false)); + const characterSet = _nullishCoalesce(options.characterSet, () => ( "base64")); + let letters; + if (characterSet === "base64") { + letters = String.raw`[A-Za-z0-9+\/]`; + } else { + _chunk6ZDHSOUVjs.assert.call(void 0, characterSet === "base64url"); + letters = String.raw`[-_A-Za-z0-9]`; + } + let re; + if (paddingRequired) { + re = new RegExp( + `^(?:${letters}{4})*(?:${letters}{3}=|${letters}{2}==)?$`, + "u" + ); + } else { + re = new RegExp( + `^(?:${letters}{4})*(?:${letters}{2,3}|${letters}{3}=|${letters}{2}==)?$`, + "u" + ); } + return _superstruct.pattern.call(void 0, struct, re); +}; - return arr -} -function tripletToBase64 (num) { - return lookup[num >> 18 & 0x3F] + - lookup[num >> 12 & 0x3F] + - lookup[num >> 6 & 0x3F] + - lookup[num & 0x3F] + +exports.base64 = base64; + +},{"./chunk-6ZDHSOUV.js":21,"superstruct":165}],21:[function(require,module,exports){ +"use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _optionalChain(ops) { let lastAccessLHS = undefined; let value = ops[0]; let i = 1; while (i < ops.length) { const op = ops[i]; const fn = ops[i + 1]; i += 2; if ((op === 'optionalAccess' || op === 'optionalCall') && value == null) { return undefined; } if (op === 'access' || op === 'optionalAccess') { lastAccessLHS = value; value = fn(value); } else if (op === 'call' || op === 'optionalCall') { value = fn((...args) => value.call(lastAccessLHS, ...args)); lastAccessLHS = undefined; } } return value; } + +var _chunkIZC266HSjs = require('./chunk-IZC266HS.js'); + +// src/assert.ts +var _superstruct = require('superstruct'); +function isConstructable(fn) { + return Boolean(typeof _optionalChain([fn, 'optionalAccess', _ => _.prototype, 'optionalAccess', _2 => _2.constructor, 'optionalAccess', _3 => _3.name]) === "string"); +} +function getErrorMessageWithoutTrailingPeriod(error) { + return _chunkIZC266HSjs.getErrorMessage.call(void 0, error).replace(/\.$/u, ""); +} +function getError(ErrorWrapper, message) { + if (isConstructable(ErrorWrapper)) { + return new ErrorWrapper({ + message + }); + } + return ErrorWrapper({ + message + }); +} +var AssertionError = class extends Error { + constructor(options) { + super(options.message); + this.code = "ERR_ASSERTION"; + } +}; +function assert(value, message = "Assertion failed.", ErrorWrapper = AssertionError) { + if (!value) { + if (message instanceof Error) { + throw message; + } + throw getError(ErrorWrapper, message); + } +} +function assertStruct(value, struct, errorPrefix = "Assertion failed", ErrorWrapper = AssertionError) { + try { + _superstruct.assert.call(void 0, value, struct); + } catch (error) { + throw getError( + ErrorWrapper, + `${errorPrefix}: ${getErrorMessageWithoutTrailingPeriod(error)}.` + ); + } +} +function assertExhaustive(_object) { + throw new Error( + "Invalid branch reached. Should be detected during compilation." + ); } -function encodeChunk (uint8, start, end) { - var tmp - var output = [] - for (var i = start; i < end; i += 3) { - tmp = - ((uint8[i] << 16) & 0xFF0000) + - ((uint8[i + 1] << 8) & 0xFF00) + - (uint8[i + 2] & 0xFF) - output.push(tripletToBase64(tmp)) + + + + + +exports.AssertionError = AssertionError; exports.assert = assert; exports.assertStruct = assertStruct; exports.assertExhaustive = assertExhaustive; + +},{"./chunk-IZC266HS.js":25,"superstruct":165}],22:[function(require,module,exports){ +"use strict";Object.defineProperty(exports, "__esModule", {value: true}); + + + +var _chunkQEPVHEP7js = require('./chunk-QEPVHEP7.js'); + + +var _chunk6ZDHSOUVjs = require('./chunk-6ZDHSOUV.js'); + +// src/coercers.ts + + + + + + + + + +var _superstruct = require('superstruct'); +var NumberLikeStruct = _superstruct.union.call(void 0, [_superstruct.number.call(void 0, ), _superstruct.bigint.call(void 0, ), _superstruct.string.call(void 0, ), _chunkQEPVHEP7js.StrictHexStruct]); +var NumberCoercer = _superstruct.coerce.call(void 0, _superstruct.number.call(void 0, ), NumberLikeStruct, Number); +var BigIntCoercer = _superstruct.coerce.call(void 0, _superstruct.bigint.call(void 0, ), NumberLikeStruct, BigInt); +var BytesLikeStruct = _superstruct.union.call(void 0, [_chunkQEPVHEP7js.StrictHexStruct, _superstruct.instance.call(void 0, Uint8Array)]); +var BytesCoercer = _superstruct.coerce.call(void 0, + _superstruct.instance.call(void 0, Uint8Array), + _superstruct.union.call(void 0, [_chunkQEPVHEP7js.StrictHexStruct]), + _chunkQEPVHEP7js.hexToBytes +); +var HexCoercer = _superstruct.coerce.call(void 0, _chunkQEPVHEP7js.StrictHexStruct, _superstruct.instance.call(void 0, Uint8Array), _chunkQEPVHEP7js.bytesToHex); +function createNumber(value) { + try { + const result = _superstruct.create.call(void 0, value, NumberCoercer); + _chunk6ZDHSOUVjs.assert.call(void 0, + Number.isFinite(result), + `Expected a number-like value, got "${value}".` + ); + return result; + } catch (error) { + if (error instanceof _superstruct.StructError) { + throw new Error(`Expected a number-like value, got "${value}".`); + } + throw error; + } +} +function createBigInt(value) { + try { + return _superstruct.create.call(void 0, value, BigIntCoercer); + } catch (error) { + if (error instanceof _superstruct.StructError) { + throw new Error( + `Expected a number-like value, got "${String(error.value)}".` + ); + } + throw error; + } +} +function createBytes(value) { + if (typeof value === "string" && value.toLowerCase() === "0x") { + return new Uint8Array(); + } + try { + return _superstruct.create.call(void 0, value, BytesCoercer); + } catch (error) { + if (error instanceof _superstruct.StructError) { + throw new Error( + `Expected a bytes-like value, got "${String(error.value)}".` + ); + } + throw error; + } +} +function createHex(value) { + if (value instanceof Uint8Array && value.length === 0 || typeof value === "string" && value.toLowerCase() === "0x") { + return "0x"; + } + try { + return _superstruct.create.call(void 0, value, HexCoercer); + } catch (error) { + if (error instanceof _superstruct.StructError) { + throw new Error( + `Expected a bytes-like value, got "${String(error.value)}".` + ); + } + throw error; } - return output.join('') } -function fromByteArray (uint8) { - var tmp - var len = uint8.length - var extraBytes = len % 3 // if we have 1 byte left, pad 2 bytes - var parts = [] - var maxChunkLength = 16383 // must be multiple of 3 - // go through the array every three bytes, we'll deal with trailing stuff later - for (var i = 0, len2 = len - extraBytes; i < len2; i += maxChunkLength) { - parts.push(encodeChunk(uint8, i, (i + maxChunkLength) > len2 ? len2 : (i + maxChunkLength))) + + + + +exports.createNumber = createNumber; exports.createBigInt = createBigInt; exports.createBytes = createBytes; exports.createHex = createHex; + +},{"./chunk-6ZDHSOUV.js":21,"./chunk-QEPVHEP7.js":28,"superstruct":165}],23:[function(require,module,exports){ +"use strict";Object.defineProperty(exports, "__esModule", {value: true}); + +var _chunk6NZW4WK4js = require('./chunk-6NZW4WK4.js'); + +// src/checksum.ts +var _superstruct = require('superstruct'); +var ChecksumStruct = _superstruct.size.call(void 0, + _chunk6NZW4WK4js.base64.call(void 0, _superstruct.string.call(void 0, ), { paddingRequired: true }), + 44, + 44 +); + + + +exports.ChecksumStruct = ChecksumStruct; + +},{"./chunk-6NZW4WK4.js":20,"superstruct":165}],24:[function(require,module,exports){ +"use strict"; +},{}],25:[function(require,module,exports){ +"use strict";Object.defineProperty(exports, "__esModule", {value: true}); + + +var _chunkQVEKZRZ2js = require('./chunk-QVEKZRZ2.js'); + +// src/errors.ts +var _ponycause = require('pony-cause'); +function isError(error) { + return error instanceof Error || _chunkQVEKZRZ2js.isObject.call(void 0, error) && error.constructor.name === "Error"; +} +function isErrorWithCode(error) { + return typeof error === "object" && error !== null && "code" in error; +} +function isErrorWithMessage(error) { + return typeof error === "object" && error !== null && "message" in error; +} +function isErrorWithStack(error) { + return typeof error === "object" && error !== null && "stack" in error; +} +function getErrorMessage(error) { + if (isErrorWithMessage(error) && typeof error.message === "string") { + return error.message; + } + if (_chunkQVEKZRZ2js.isNullOrUndefined.call(void 0, error)) { + return ""; + } + return String(error); +} +function wrapError(originalError, message) { + if (isError(originalError)) { + let error; + if (Error.length === 2) { + error = new Error(message, { cause: originalError }); + } else { + error = new (0, _ponycause.ErrorWithCause)(message, { cause: originalError }); + } + if (isErrorWithCode(originalError)) { + error.code = originalError.code; + } + return error; } + if (message.length > 0) { + return new Error(`${String(originalError)}: ${message}`); + } + return new Error(String(originalError)); +} - // pad the end with zeros, but make sure to not forget the extra bytes - if (extraBytes === 1) { - tmp = uint8[len - 1] - parts.push( - lookup[tmp >> 2] + - lookup[(tmp << 4) & 0x3F] + - '==' - ) - } else if (extraBytes === 2) { - tmp = (uint8[len - 2] << 8) + uint8[len - 1] - parts.push( - lookup[tmp >> 10] + - lookup[(tmp >> 4) & 0x3F] + - lookup[(tmp << 2) & 0x3F] + - '=' - ) + + + + + + +exports.isErrorWithCode = isErrorWithCode; exports.isErrorWithMessage = isErrorWithMessage; exports.isErrorWithStack = isErrorWithStack; exports.getErrorMessage = getErrorMessage; exports.wrapError = wrapError; + +},{"./chunk-QVEKZRZ2.js":29,"pony-cause":117}],26:[function(require,module,exports){ +"use strict"; +},{}],27:[function(require,module,exports){ +"use strict";Object.defineProperty(exports, "__esModule", {value: true}); + +var _chunk6ZDHSOUVjs = require('./chunk-6ZDHSOUV.js'); + + +var _chunkQVEKZRZ2js = require('./chunk-QVEKZRZ2.js'); + +// src/json.ts + + + + + + + + + + + + + + + + + + + + +var _superstruct = require('superstruct'); +var object = (schema) => ( + // The type is slightly different from a regular object struct, because we + // want to make properties with `undefined` in their type optional, but not + // `undefined` itself. This means that we need a type cast. + _superstruct.object.call(void 0, schema) +); +function hasOptional({ path, branch }) { + const field = path[path.length - 1]; + return _chunkQVEKZRZ2js.hasProperty.call(void 0, branch[branch.length - 2], field); +} +function exactOptional(struct) { + return new (0, _superstruct.Struct)({ + ...struct, + type: `optional ${struct.type}`, + validator: (value, context) => !hasOptional(context) || struct.validator(value, context), + refiner: (value, context) => !hasOptional(context) || struct.refiner(value, context) + }); +} +var finiteNumber = () => _superstruct.define.call(void 0, "finite number", (value) => { + return _superstruct.is.call(void 0, value, _superstruct.number.call(void 0, )) && Number.isFinite(value); +}); +var UnsafeJsonStruct = _superstruct.union.call(void 0, [ + _superstruct.literal.call(void 0, null), + _superstruct.boolean.call(void 0, ), + finiteNumber(), + _superstruct.string.call(void 0, ), + _superstruct.array.call(void 0, _superstruct.lazy.call(void 0, () => UnsafeJsonStruct)), + _superstruct.record.call(void 0, + _superstruct.string.call(void 0, ), + _superstruct.lazy.call(void 0, () => UnsafeJsonStruct) + ) +]); +var JsonStruct = _superstruct.coerce.call(void 0, UnsafeJsonStruct, _superstruct.any.call(void 0, ), (value) => { + _chunk6ZDHSOUVjs.assertStruct.call(void 0, value, UnsafeJsonStruct); + return JSON.parse( + JSON.stringify(value, (propKey, propValue) => { + if (propKey === "__proto__" || propKey === "constructor") { + return void 0; + } + return propValue; + }) + ); +}); +function isValidJson(value) { + try { + getSafeJson(value); + return true; + } catch (e) { + return false; } +} +function getSafeJson(value) { + return _superstruct.create.call(void 0, value, JsonStruct); +} +function getJsonSize(value) { + _chunk6ZDHSOUVjs.assertStruct.call(void 0, value, JsonStruct, "Invalid JSON value"); + const json = JSON.stringify(value); + return new TextEncoder().encode(json).byteLength; +} +var jsonrpc2 = "2.0"; +var JsonRpcVersionStruct = _superstruct.literal.call(void 0, jsonrpc2); +var JsonRpcIdStruct = _superstruct.nullable.call(void 0, _superstruct.union.call(void 0, [_superstruct.number.call(void 0, ), _superstruct.string.call(void 0, )])); +var JsonRpcErrorStruct = object({ + code: _superstruct.integer.call(void 0, ), + message: _superstruct.string.call(void 0, ), + data: exactOptional(JsonStruct), + stack: exactOptional(_superstruct.string.call(void 0, )) +}); +var JsonRpcParamsStruct = _superstruct.union.call(void 0, [_superstruct.record.call(void 0, _superstruct.string.call(void 0, ), JsonStruct), _superstruct.array.call(void 0, JsonStruct)]); +var JsonRpcRequestStruct = object({ + id: JsonRpcIdStruct, + jsonrpc: JsonRpcVersionStruct, + method: _superstruct.string.call(void 0, ), + params: exactOptional(JsonRpcParamsStruct) +}); +var JsonRpcNotificationStruct = object({ + jsonrpc: JsonRpcVersionStruct, + method: _superstruct.string.call(void 0, ), + params: exactOptional(JsonRpcParamsStruct) +}); +function isJsonRpcNotification(value) { + return _superstruct.is.call(void 0, value, JsonRpcNotificationStruct); +} +function assertIsJsonRpcNotification(value, ErrorWrapper) { + _chunk6ZDHSOUVjs.assertStruct.call(void 0, + value, + JsonRpcNotificationStruct, + "Invalid JSON-RPC notification", + ErrorWrapper + ); +} +function isJsonRpcRequest(value) { + return _superstruct.is.call(void 0, value, JsonRpcRequestStruct); +} +function assertIsJsonRpcRequest(value, ErrorWrapper) { + _chunk6ZDHSOUVjs.assertStruct.call(void 0, + value, + JsonRpcRequestStruct, + "Invalid JSON-RPC request", + ErrorWrapper + ); +} +var PendingJsonRpcResponseStruct = _superstruct.object.call(void 0, { + id: JsonRpcIdStruct, + jsonrpc: JsonRpcVersionStruct, + result: _superstruct.optional.call(void 0, _superstruct.unknown.call(void 0, )), + error: _superstruct.optional.call(void 0, JsonRpcErrorStruct) +}); +var JsonRpcSuccessStruct = object({ + id: JsonRpcIdStruct, + jsonrpc: JsonRpcVersionStruct, + result: JsonStruct +}); +var JsonRpcFailureStruct = object({ + id: JsonRpcIdStruct, + jsonrpc: JsonRpcVersionStruct, + error: JsonRpcErrorStruct +}); +var JsonRpcResponseStruct = _superstruct.union.call(void 0, [ + JsonRpcSuccessStruct, + JsonRpcFailureStruct +]); +function isPendingJsonRpcResponse(response) { + return _superstruct.is.call(void 0, response, PendingJsonRpcResponseStruct); +} +function assertIsPendingJsonRpcResponse(response, ErrorWrapper) { + _chunk6ZDHSOUVjs.assertStruct.call(void 0, + response, + PendingJsonRpcResponseStruct, + "Invalid pending JSON-RPC response", + ErrorWrapper + ); +} +function isJsonRpcResponse(response) { + return _superstruct.is.call(void 0, response, JsonRpcResponseStruct); +} +function assertIsJsonRpcResponse(value, ErrorWrapper) { + _chunk6ZDHSOUVjs.assertStruct.call(void 0, + value, + JsonRpcResponseStruct, + "Invalid JSON-RPC response", + ErrorWrapper + ); +} +function isJsonRpcSuccess(value) { + return _superstruct.is.call(void 0, value, JsonRpcSuccessStruct); +} +function assertIsJsonRpcSuccess(value, ErrorWrapper) { + _chunk6ZDHSOUVjs.assertStruct.call(void 0, + value, + JsonRpcSuccessStruct, + "Invalid JSON-RPC success response", + ErrorWrapper + ); +} +function isJsonRpcFailure(value) { + return _superstruct.is.call(void 0, value, JsonRpcFailureStruct); +} +function assertIsJsonRpcFailure(value, ErrorWrapper) { + _chunk6ZDHSOUVjs.assertStruct.call(void 0, + value, + JsonRpcFailureStruct, + "Invalid JSON-RPC failure response", + ErrorWrapper + ); +} +function isJsonRpcError(value) { + return _superstruct.is.call(void 0, value, JsonRpcErrorStruct); +} +function assertIsJsonRpcError(value, ErrorWrapper) { + _chunk6ZDHSOUVjs.assertStruct.call(void 0, + value, + JsonRpcErrorStruct, + "Invalid JSON-RPC error", + ErrorWrapper + ); +} +function getJsonRpcIdValidator(options) { + const { permitEmptyString, permitFractions, permitNull } = { + permitEmptyString: true, + permitFractions: false, + permitNull: true, + ...options + }; + const isValidJsonRpcId = (id) => { + return Boolean( + typeof id === "number" && (permitFractions || Number.isInteger(id)) || typeof id === "string" && (permitEmptyString || id.length > 0) || permitNull && id === null + ); + }; + return isValidJsonRpcId; +} - return parts.join('') + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +exports.object = object; exports.exactOptional = exactOptional; exports.UnsafeJsonStruct = UnsafeJsonStruct; exports.JsonStruct = JsonStruct; exports.isValidJson = isValidJson; exports.getSafeJson = getSafeJson; exports.getJsonSize = getJsonSize; exports.jsonrpc2 = jsonrpc2; exports.JsonRpcVersionStruct = JsonRpcVersionStruct; exports.JsonRpcIdStruct = JsonRpcIdStruct; exports.JsonRpcErrorStruct = JsonRpcErrorStruct; exports.JsonRpcParamsStruct = JsonRpcParamsStruct; exports.JsonRpcRequestStruct = JsonRpcRequestStruct; exports.JsonRpcNotificationStruct = JsonRpcNotificationStruct; exports.isJsonRpcNotification = isJsonRpcNotification; exports.assertIsJsonRpcNotification = assertIsJsonRpcNotification; exports.isJsonRpcRequest = isJsonRpcRequest; exports.assertIsJsonRpcRequest = assertIsJsonRpcRequest; exports.PendingJsonRpcResponseStruct = PendingJsonRpcResponseStruct; exports.JsonRpcSuccessStruct = JsonRpcSuccessStruct; exports.JsonRpcFailureStruct = JsonRpcFailureStruct; exports.JsonRpcResponseStruct = JsonRpcResponseStruct; exports.isPendingJsonRpcResponse = isPendingJsonRpcResponse; exports.assertIsPendingJsonRpcResponse = assertIsPendingJsonRpcResponse; exports.isJsonRpcResponse = isJsonRpcResponse; exports.assertIsJsonRpcResponse = assertIsJsonRpcResponse; exports.isJsonRpcSuccess = isJsonRpcSuccess; exports.assertIsJsonRpcSuccess = assertIsJsonRpcSuccess; exports.isJsonRpcFailure = isJsonRpcFailure; exports.assertIsJsonRpcFailure = assertIsJsonRpcFailure; exports.isJsonRpcError = isJsonRpcError; exports.assertIsJsonRpcError = assertIsJsonRpcError; exports.getJsonRpcIdValidator = getJsonRpcIdValidator; + +},{"./chunk-6ZDHSOUV.js":21,"./chunk-QVEKZRZ2.js":29,"superstruct":165}],28:[function(require,module,exports){ +(function (Buffer){(function (){ +"use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _optionalChain(ops) { let lastAccessLHS = undefined; let value = ops[0]; let i = 1; while (i < ops.length) { const op = ops[i]; const fn = ops[i + 1]; i += 2; if ((op === 'optionalAccess' || op === 'optionalCall') && value == null) { return undefined; } if (op === 'access' || op === 'optionalAccess') { lastAccessLHS = value; value = fn(value); } else if (op === 'call' || op === 'optionalCall') { value = fn((...args) => value.call(lastAccessLHS, ...args)); lastAccessLHS = undefined; } } return value; } + +var _chunk6ZDHSOUVjs = require('./chunk-6ZDHSOUV.js'); + +// src/hex.ts +var _sha3 = require('@noble/hashes/sha3'); +var _superstruct = require('superstruct'); + +// src/bytes.ts +var _base = require('@scure/base'); +var HEX_MINIMUM_NUMBER_CHARACTER = 48; +var HEX_MAXIMUM_NUMBER_CHARACTER = 58; +var HEX_CHARACTER_OFFSET = 87; +function getPrecomputedHexValuesBuilder() { + const lookupTable = []; + return () => { + if (lookupTable.length === 0) { + for (let i = 0; i < 256; i++) { + lookupTable.push(i.toString(16).padStart(2, "0")); + } + } + return lookupTable; + }; +} +var getPrecomputedHexValues = getPrecomputedHexValuesBuilder(); +function isBytes(value) { + return value instanceof Uint8Array; +} +function assertIsBytes(value) { + _chunk6ZDHSOUVjs.assert.call(void 0, isBytes(value), "Value must be a Uint8Array."); +} +function bytesToHex(bytes) { + assertIsBytes(bytes); + if (bytes.length === 0) { + return "0x"; + } + const lookupTable = getPrecomputedHexValues(); + const hexadecimal = new Array(bytes.length); + for (let i = 0; i < bytes.length; i++) { + hexadecimal[i] = lookupTable[bytes[i]]; + } + return add0x(hexadecimal.join("")); +} +function bytesToBigInt(bytes) { + assertIsBytes(bytes); + const hexadecimal = bytesToHex(bytes); + return BigInt(hexadecimal); +} +function bytesToSignedBigInt(bytes) { + assertIsBytes(bytes); + let value = BigInt(0); + for (const byte of bytes) { + value = (value << BigInt(8)) + BigInt(byte); + } + return BigInt.asIntN(bytes.length * 8, value); +} +function bytesToNumber(bytes) { + assertIsBytes(bytes); + const bigint = bytesToBigInt(bytes); + _chunk6ZDHSOUVjs.assert.call(void 0, + bigint <= BigInt(Number.MAX_SAFE_INTEGER), + "Number is not a safe integer. Use `bytesToBigInt` instead." + ); + return Number(bigint); +} +function bytesToString(bytes) { + assertIsBytes(bytes); + return new TextDecoder().decode(bytes); +} +function bytesToBase64(bytes) { + assertIsBytes(bytes); + return _base.base64.encode(bytes); +} +function hexToBytes(value) { + if (_optionalChain([value, 'optionalAccess', _ => _.toLowerCase, 'optionalCall', _2 => _2()]) === "0x") { + return new Uint8Array(); + } + assertIsHexString(value); + const strippedValue = remove0x(value).toLowerCase(); + const normalizedValue = strippedValue.length % 2 === 0 ? strippedValue : `0${strippedValue}`; + const bytes = new Uint8Array(normalizedValue.length / 2); + for (let i = 0; i < bytes.length; i++) { + const c1 = normalizedValue.charCodeAt(i * 2); + const c2 = normalizedValue.charCodeAt(i * 2 + 1); + const n1 = c1 - (c1 < HEX_MAXIMUM_NUMBER_CHARACTER ? HEX_MINIMUM_NUMBER_CHARACTER : HEX_CHARACTER_OFFSET); + const n2 = c2 - (c2 < HEX_MAXIMUM_NUMBER_CHARACTER ? HEX_MINIMUM_NUMBER_CHARACTER : HEX_CHARACTER_OFFSET); + bytes[i] = n1 * 16 + n2; + } + return bytes; +} +function bigIntToBytes(value) { + _chunk6ZDHSOUVjs.assert.call(void 0, typeof value === "bigint", "Value must be a bigint."); + _chunk6ZDHSOUVjs.assert.call(void 0, value >= BigInt(0), "Value must be a non-negative bigint."); + const hexadecimal = value.toString(16); + return hexToBytes(hexadecimal); +} +function bigIntFits(value, bytes) { + _chunk6ZDHSOUVjs.assert.call(void 0, bytes > 0); + const mask = value >> BigInt(31); + return !((~value & mask) + (value & ~mask) >> BigInt(bytes * 8 + ~0)); +} +function signedBigIntToBytes(value, byteLength) { + _chunk6ZDHSOUVjs.assert.call(void 0, typeof value === "bigint", "Value must be a bigint."); + _chunk6ZDHSOUVjs.assert.call(void 0, typeof byteLength === "number", "Byte length must be a number."); + _chunk6ZDHSOUVjs.assert.call(void 0, byteLength > 0, "Byte length must be greater than 0."); + _chunk6ZDHSOUVjs.assert.call(void 0, + bigIntFits(value, byteLength), + "Byte length is too small to represent the given value." + ); + let numberValue = value; + const bytes = new Uint8Array(byteLength); + for (let i = 0; i < bytes.length; i++) { + bytes[i] = Number(BigInt.asUintN(8, numberValue)); + numberValue >>= BigInt(8); + } + return bytes.reverse(); +} +function numberToBytes(value) { + _chunk6ZDHSOUVjs.assert.call(void 0, typeof value === "number", "Value must be a number."); + _chunk6ZDHSOUVjs.assert.call(void 0, value >= 0, "Value must be a non-negative number."); + _chunk6ZDHSOUVjs.assert.call(void 0, + Number.isSafeInteger(value), + "Value is not a safe integer. Use `bigIntToBytes` instead." + ); + const hexadecimal = value.toString(16); + return hexToBytes(hexadecimal); +} +function stringToBytes(value) { + _chunk6ZDHSOUVjs.assert.call(void 0, typeof value === "string", "Value must be a string."); + return new TextEncoder().encode(value); +} +function base64ToBytes(value) { + _chunk6ZDHSOUVjs.assert.call(void 0, typeof value === "string", "Value must be a string."); + return _base.base64.decode(value); +} +function valueToBytes(value) { + if (typeof value === "bigint") { + return bigIntToBytes(value); + } + if (typeof value === "number") { + return numberToBytes(value); + } + if (typeof value === "string") { + if (value.startsWith("0x")) { + return hexToBytes(value); + } + return stringToBytes(value); + } + if (isBytes(value)) { + return value; + } + throw new TypeError(`Unsupported value type: "${typeof value}".`); +} +function concatBytes(values) { + const normalizedValues = new Array(values.length); + let byteLength = 0; + for (let i = 0; i < values.length; i++) { + const value = valueToBytes(values[i]); + normalizedValues[i] = value; + byteLength += value.length; + } + const bytes = new Uint8Array(byteLength); + for (let i = 0, offset = 0; i < normalizedValues.length; i++) { + bytes.set(normalizedValues[i], offset); + offset += normalizedValues[i].length; + } + return bytes; +} +function createDataView(bytes) { + if (typeof Buffer !== "undefined" && bytes instanceof Buffer) { + const buffer = bytes.buffer.slice( + bytes.byteOffset, + bytes.byteOffset + bytes.byteLength + ); + return new DataView(buffer); + } + return new DataView(bytes.buffer, bytes.byteOffset, bytes.byteLength); } -},{}],17:[function(require,module,exports){ -module.exports = function isBuffer(arg) { - return arg && typeof arg === 'object' - && typeof arg.copy === 'function' - && typeof arg.fill === 'function' - && typeof arg.readUInt8 === 'function'; +// src/hex.ts +var HexStruct = _superstruct.pattern.call(void 0, _superstruct.string.call(void 0, ), /^(?:0x)?[0-9a-f]+$/iu); +var StrictHexStruct = _superstruct.pattern.call(void 0, _superstruct.string.call(void 0, ), /^0x[0-9a-f]+$/iu); +var HexAddressStruct = _superstruct.pattern.call(void 0, + _superstruct.string.call(void 0, ), + /^0x[0-9a-f]{40}$/u +); +var HexChecksumAddressStruct = _superstruct.pattern.call(void 0, + _superstruct.string.call(void 0, ), + /^0x[0-9a-fA-F]{40}$/u +); +function isHexString(value) { + return _superstruct.is.call(void 0, value, HexStruct); } -},{}],18:[function(require,module,exports){ +function isStrictHexString(value) { + return _superstruct.is.call(void 0, value, StrictHexStruct); +} +function assertIsHexString(value) { + _chunk6ZDHSOUVjs.assert.call(void 0, isHexString(value), "Value must be a hexadecimal string."); +} +function assertIsStrictHexString(value) { + _chunk6ZDHSOUVjs.assert.call(void 0, + isStrictHexString(value), + 'Value must be a hexadecimal string, starting with "0x".' + ); +} +function isValidHexAddress(possibleAddress) { + return _superstruct.is.call(void 0, possibleAddress, HexAddressStruct) || isValidChecksumAddress(possibleAddress); +} +function getChecksumAddress(address) { + _chunk6ZDHSOUVjs.assert.call(void 0, _superstruct.is.call(void 0, address, HexChecksumAddressStruct), "Invalid hex address."); + const unPrefixed = remove0x(address.toLowerCase()); + const unPrefixedHash = remove0x(bytesToHex(_sha3.keccak_256.call(void 0, unPrefixed))); + return `0x${unPrefixed.split("").map((character, nibbleIndex) => { + const hashCharacter = unPrefixedHash[nibbleIndex]; + _chunk6ZDHSOUVjs.assert.call(void 0, _superstruct.is.call(void 0, hashCharacter, _superstruct.string.call(void 0, )), "Hash shorter than address."); + return parseInt(hashCharacter, 16) > 7 ? character.toUpperCase() : character; + }).join("")}`; +} +function isValidChecksumAddress(possibleChecksum) { + if (!_superstruct.is.call(void 0, possibleChecksum, HexChecksumAddressStruct)) { + return false; + } + return getChecksumAddress(possibleChecksum) === possibleChecksum; +} +function add0x(hexadecimal) { + if (hexadecimal.startsWith("0x")) { + return hexadecimal; + } + if (hexadecimal.startsWith("0X")) { + return `0x${hexadecimal.substring(2)}`; + } + return `0x${hexadecimal}`; +} +function remove0x(hexadecimal) { + if (hexadecimal.startsWith("0x") || hexadecimal.startsWith("0X")) { + return hexadecimal.substring(2); + } + return hexadecimal; +} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +exports.HexStruct = HexStruct; exports.StrictHexStruct = StrictHexStruct; exports.HexAddressStruct = HexAddressStruct; exports.HexChecksumAddressStruct = HexChecksumAddressStruct; exports.isHexString = isHexString; exports.isStrictHexString = isStrictHexString; exports.assertIsHexString = assertIsHexString; exports.assertIsStrictHexString = assertIsStrictHexString; exports.isValidHexAddress = isValidHexAddress; exports.getChecksumAddress = getChecksumAddress; exports.isValidChecksumAddress = isValidChecksumAddress; exports.add0x = add0x; exports.remove0x = remove0x; exports.isBytes = isBytes; exports.assertIsBytes = assertIsBytes; exports.bytesToHex = bytesToHex; exports.bytesToBigInt = bytesToBigInt; exports.bytesToSignedBigInt = bytesToSignedBigInt; exports.bytesToNumber = bytesToNumber; exports.bytesToString = bytesToString; exports.bytesToBase64 = bytesToBase64; exports.hexToBytes = hexToBytes; exports.bigIntToBytes = bigIntToBytes; exports.signedBigIntToBytes = signedBigIntToBytes; exports.numberToBytes = numberToBytes; exports.stringToBytes = stringToBytes; exports.base64ToBytes = base64ToBytes; exports.valueToBytes = valueToBytes; exports.concatBytes = concatBytes; exports.createDataView = createDataView; + +}).call(this)}).call(this,require("buffer").Buffer) +},{"./chunk-6ZDHSOUV.js":21,"@noble/hashes/sha3":84,"@scure/base":86,"buffer":92,"superstruct":165}],29:[function(require,module,exports){ +"use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _nullishCoalesce(lhs, rhsFn) { if (lhs != null) { return lhs; } else { return rhsFn(); } }// src/misc.ts +function isNonEmptyArray(value) { + return Array.isArray(value) && value.length > 0; +} +function isNullOrUndefined(value) { + return value === null || value === void 0; +} +function isObject(value) { + return Boolean(value) && typeof value === "object" && !Array.isArray(value); +} +var hasProperty = (objectToCheck, name) => Object.hasOwnProperty.call(objectToCheck, name); +function getKnownPropertyNames(object) { + return Object.getOwnPropertyNames(object); +} +var JsonSize = /* @__PURE__ */ ((JsonSize2) => { + JsonSize2[JsonSize2["Null"] = 4] = "Null"; + JsonSize2[JsonSize2["Comma"] = 1] = "Comma"; + JsonSize2[JsonSize2["Wrapper"] = 1] = "Wrapper"; + JsonSize2[JsonSize2["True"] = 4] = "True"; + JsonSize2[JsonSize2["False"] = 5] = "False"; + JsonSize2[JsonSize2["Quote"] = 1] = "Quote"; + JsonSize2[JsonSize2["Colon"] = 1] = "Colon"; + JsonSize2[JsonSize2["Date"] = 24] = "Date"; + return JsonSize2; +})(JsonSize || {}); +var ESCAPE_CHARACTERS_REGEXP = /"|\\|\n|\r|\t/gu; +function isPlainObject(value) { + if (typeof value !== "object" || value === null) { + return false; + } + try { + let proto = value; + while (Object.getPrototypeOf(proto) !== null) { + proto = Object.getPrototypeOf(proto); + } + return Object.getPrototypeOf(value) === proto; + } catch (_) { + return false; + } +} +function isASCII(character) { + return character.charCodeAt(0) <= 127; +} +function calculateStringSize(value) { + const size = value.split("").reduce((total, character) => { + if (isASCII(character)) { + return total + 1; + } + return total + 2; + }, 0); + return size + (_nullishCoalesce(value.match(ESCAPE_CHARACTERS_REGEXP), () => ( []))).length; +} +function calculateNumberSize(value) { + return value.toString().length; +} + + + + + + + + + + + + + +exports.isNonEmptyArray = isNonEmptyArray; exports.isNullOrUndefined = isNullOrUndefined; exports.isObject = isObject; exports.hasProperty = hasProperty; exports.getKnownPropertyNames = getKnownPropertyNames; exports.JsonSize = JsonSize; exports.ESCAPE_CHARACTERS_REGEXP = ESCAPE_CHARACTERS_REGEXP; exports.isPlainObject = isPlainObject; exports.isASCII = isASCII; exports.calculateStringSize = calculateStringSize; exports.calculateNumberSize = calculateNumberSize; + +},{}],30:[function(require,module,exports){ +"use strict"; +},{}],31:[function(require,module,exports){ +"use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _optionalChain(ops) { let lastAccessLHS = undefined; let value = ops[0]; let i = 1; while (i < ops.length) { const op = ops[i]; const fn = ops[i + 1]; i += 2; if ((op === 'optionalAccess' || op === 'optionalCall') && value == null) { return undefined; } if (op === 'access' || op === 'optionalAccess') { lastAccessLHS = value; value = fn(value); } else if (op === 'call' || op === 'optionalCall') { value = fn((...args) => value.call(lastAccessLHS, ...args)); lastAccessLHS = undefined; } } return value; }// src/caip-types.ts +var _superstruct = require('superstruct'); +var CAIP_CHAIN_ID_REGEX = /^(?[-a-z0-9]{3,8}):(?[-_a-zA-Z0-9]{1,32})$/u; +var CAIP_NAMESPACE_REGEX = /^[-a-z0-9]{3,8}$/u; +var CAIP_REFERENCE_REGEX = /^[-_a-zA-Z0-9]{1,32}$/u; +var CAIP_ACCOUNT_ID_REGEX = /^(?(?[-a-z0-9]{3,8}):(?[-_a-zA-Z0-9]{1,32})):(?[-.%a-zA-Z0-9]{1,128})$/u; +var CAIP_ACCOUNT_ADDRESS_REGEX = /^[-.%a-zA-Z0-9]{1,128}$/u; +var CaipChainIdStruct = _superstruct.pattern.call(void 0, _superstruct.string.call(void 0, ), CAIP_CHAIN_ID_REGEX); +var CaipNamespaceStruct = _superstruct.pattern.call(void 0, _superstruct.string.call(void 0, ), CAIP_NAMESPACE_REGEX); +var CaipReferenceStruct = _superstruct.pattern.call(void 0, _superstruct.string.call(void 0, ), CAIP_REFERENCE_REGEX); +var CaipAccountIdStruct = _superstruct.pattern.call(void 0, _superstruct.string.call(void 0, ), CAIP_ACCOUNT_ID_REGEX); +var CaipAccountAddressStruct = _superstruct.pattern.call(void 0, + _superstruct.string.call(void 0, ), + CAIP_ACCOUNT_ADDRESS_REGEX +); +function isCaipChainId(value) { + return _superstruct.is.call(void 0, value, CaipChainIdStruct); +} +function isCaipNamespace(value) { + return _superstruct.is.call(void 0, value, CaipNamespaceStruct); +} +function isCaipReference(value) { + return _superstruct.is.call(void 0, value, CaipReferenceStruct); +} +function isCaipAccountId(value) { + return _superstruct.is.call(void 0, value, CaipAccountIdStruct); +} +function isCaipAccountAddress(value) { + return _superstruct.is.call(void 0, value, CaipAccountAddressStruct); +} +function parseCaipChainId(caipChainId) { + const match = CAIP_CHAIN_ID_REGEX.exec(caipChainId); + if (!_optionalChain([match, 'optionalAccess', _ => _.groups])) { + throw new Error("Invalid CAIP chain ID."); + } + return { + namespace: match.groups.namespace, + reference: match.groups.reference + }; +} +function parseCaipAccountId(caipAccountId) { + const match = CAIP_ACCOUNT_ID_REGEX.exec(caipAccountId); + if (!_optionalChain([match, 'optionalAccess', _2 => _2.groups])) { + throw new Error("Invalid CAIP account ID."); + } + return { + address: match.groups.accountAddress, + chainId: match.groups.chainId, + chain: { + namespace: match.groups.namespace, + reference: match.groups.reference + } + }; +} + + + + + + + + + + + + + + + + + + + +exports.CAIP_CHAIN_ID_REGEX = CAIP_CHAIN_ID_REGEX; exports.CAIP_NAMESPACE_REGEX = CAIP_NAMESPACE_REGEX; exports.CAIP_REFERENCE_REGEX = CAIP_REFERENCE_REGEX; exports.CAIP_ACCOUNT_ID_REGEX = CAIP_ACCOUNT_ID_REGEX; exports.CAIP_ACCOUNT_ADDRESS_REGEX = CAIP_ACCOUNT_ADDRESS_REGEX; exports.CaipChainIdStruct = CaipChainIdStruct; exports.CaipNamespaceStruct = CaipNamespaceStruct; exports.CaipReferenceStruct = CaipReferenceStruct; exports.CaipAccountIdStruct = CaipAccountIdStruct; exports.CaipAccountAddressStruct = CaipAccountAddressStruct; exports.isCaipChainId = isCaipChainId; exports.isCaipNamespace = isCaipNamespace; exports.isCaipReference = isCaipReference; exports.isCaipAccountId = isCaipAccountId; exports.isCaipAccountAddress = isCaipAccountAddress; exports.parseCaipChainId = parseCaipChainId; exports.parseCaipAccountId = parseCaipAccountId; + +},{"superstruct":165}],32:[function(require,module,exports){ +"use strict"; +},{}],33:[function(require,module,exports){ +"use strict";Object.defineProperty(exports, "__esModule", {value: true}); + + +var _chunkQEPVHEP7js = require('./chunk-QEPVHEP7.js'); + + +var _chunk6ZDHSOUVjs = require('./chunk-6ZDHSOUV.js'); + +// src/number.ts +var numberToHex = (value) => { + _chunk6ZDHSOUVjs.assert.call(void 0, typeof value === "number", "Value must be a number."); + _chunk6ZDHSOUVjs.assert.call(void 0, value >= 0, "Value must be a non-negative number."); + _chunk6ZDHSOUVjs.assert.call(void 0, + Number.isSafeInteger(value), + "Value is not a safe integer. Use `bigIntToHex` instead." + ); + return _chunkQEPVHEP7js.add0x.call(void 0, value.toString(16)); +}; +var bigIntToHex = (value) => { + _chunk6ZDHSOUVjs.assert.call(void 0, typeof value === "bigint", "Value must be a bigint."); + _chunk6ZDHSOUVjs.assert.call(void 0, value >= 0, "Value must be a non-negative bigint."); + return _chunkQEPVHEP7js.add0x.call(void 0, value.toString(16)); +}; +var hexToNumber = (value) => { + _chunkQEPVHEP7js.assertIsHexString.call(void 0, value); + const numberValue = parseInt(value, 16); + _chunk6ZDHSOUVjs.assert.call(void 0, + Number.isSafeInteger(numberValue), + "Value is not a safe integer. Use `hexToBigInt` instead." + ); + return numberValue; +}; +var hexToBigInt = (value) => { + _chunkQEPVHEP7js.assertIsHexString.call(void 0, value); + return BigInt(_chunkQEPVHEP7js.add0x.call(void 0, value)); +}; + + + + + + +exports.numberToHex = numberToHex; exports.bigIntToHex = bigIntToHex; exports.hexToNumber = hexToNumber; exports.hexToBigInt = hexToBigInt; + +},{"./chunk-6ZDHSOUV.js":21,"./chunk-QEPVHEP7.js":28}],34:[function(require,module,exports){ +"use strict";Object.defineProperty(exports, "__esModule", {value: true}); + + + +var _chunk3W5G4CYIjs = require('./chunk-3W5G4CYI.js'); + +// src/collections.ts +var _map; +var FrozenMap = class { + constructor(entries) { + _chunk3W5G4CYIjs.__privateAdd.call(void 0, this, _map, void 0); + _chunk3W5G4CYIjs.__privateSet.call(void 0, this, _map, new Map(entries)); + Object.freeze(this); + } + get size() { + return _chunk3W5G4CYIjs.__privateGet.call(void 0, this, _map).size; + } + [Symbol.iterator]() { + return _chunk3W5G4CYIjs.__privateGet.call(void 0, this, _map)[Symbol.iterator](); + } + entries() { + return _chunk3W5G4CYIjs.__privateGet.call(void 0, this, _map).entries(); + } + forEach(callbackfn, thisArg) { + return _chunk3W5G4CYIjs.__privateGet.call(void 0, this, _map).forEach( + (value, key, _map2) => callbackfn.call(thisArg, value, key, this) + ); + } + get(key) { + return _chunk3W5G4CYIjs.__privateGet.call(void 0, this, _map).get(key); + } + has(key) { + return _chunk3W5G4CYIjs.__privateGet.call(void 0, this, _map).has(key); + } + keys() { + return _chunk3W5G4CYIjs.__privateGet.call(void 0, this, _map).keys(); + } + values() { + return _chunk3W5G4CYIjs.__privateGet.call(void 0, this, _map).values(); + } + toString() { + return `FrozenMap(${this.size}) {${this.size > 0 ? ` ${[...this.entries()].map(([key, value]) => `${String(key)} => ${String(value)}`).join(", ")} ` : ""}}`; + } +}; +_map = new WeakMap(); +var _set; +var FrozenSet = class { + constructor(values) { + _chunk3W5G4CYIjs.__privateAdd.call(void 0, this, _set, void 0); + _chunk3W5G4CYIjs.__privateSet.call(void 0, this, _set, new Set(values)); + Object.freeze(this); + } + get size() { + return _chunk3W5G4CYIjs.__privateGet.call(void 0, this, _set).size; + } + [Symbol.iterator]() { + return _chunk3W5G4CYIjs.__privateGet.call(void 0, this, _set)[Symbol.iterator](); + } + entries() { + return _chunk3W5G4CYIjs.__privateGet.call(void 0, this, _set).entries(); + } + forEach(callbackfn, thisArg) { + return _chunk3W5G4CYIjs.__privateGet.call(void 0, this, _set).forEach( + (value, value2, _set2) => callbackfn.call(thisArg, value, value2, this) + ); + } + has(value) { + return _chunk3W5G4CYIjs.__privateGet.call(void 0, this, _set).has(value); + } + keys() { + return _chunk3W5G4CYIjs.__privateGet.call(void 0, this, _set).keys(); + } + values() { + return _chunk3W5G4CYIjs.__privateGet.call(void 0, this, _set).values(); + } + toString() { + return `FrozenSet(${this.size}) {${this.size > 0 ? ` ${[...this.values()].map((member) => String(member)).join(", ")} ` : ""}}`; + } +}; +_set = new WeakMap(); +Object.freeze(FrozenMap); +Object.freeze(FrozenMap.prototype); +Object.freeze(FrozenSet); +Object.freeze(FrozenSet.prototype); + + + + +exports.FrozenMap = FrozenMap; exports.FrozenSet = FrozenSet; + +},{"./chunk-3W5G4CYI.js":17}],35:[function(require,module,exports){ +"use strict";Object.defineProperty(exports, "__esModule", {value: true});require('./chunk-2TBCL6EF.js'); + + + + + +var _chunkVFXTVNXNjs = require('./chunk-VFXTVNXN.js'); +require('./chunk-LC2CRSWD.js'); + + + + +var _chunk4RMX5YWEjs = require('./chunk-4RMX5YWE.js'); +require('./chunk-UOTVU7OQ.js'); + + + + + + + + + + +var _chunk4D6XQBHAjs = require('./chunk-4D6XQBHA.js'); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +var _chunkOLLG4H35js = require('./chunk-OLLG4H35.js'); +require('./chunk-RKRGAFXY.js'); + + + +var _chunk2LBGT4GHjs = require('./chunk-2LBGT4GH.js'); + + + + + + + + + + + + + + + + + + +var _chunkU7ZUGCE7js = require('./chunk-U7ZUGCE7.js'); + + +var _chunkE4C7EW4Rjs = require('./chunk-E4C7EW4R.js'); + + +var _chunk6NZW4WK4js = require('./chunk-6NZW4WK4.js'); + + + + + +var _chunkDHVKFDHQjs = require('./chunk-DHVKFDHQ.js'); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +var _chunkQEPVHEP7js = require('./chunk-QEPVHEP7.js'); + + + + + +var _chunk6ZDHSOUVjs = require('./chunk-6ZDHSOUV.js'); + + + + + + +var _chunkIZC266HSjs = require('./chunk-IZC266HS.js'); + + + + + + + + + + + + +var _chunkQVEKZRZ2js = require('./chunk-QVEKZRZ2.js'); + + + +var _chunkZ2RGWDD7js = require('./chunk-Z2RGWDD7.js'); +require('./chunk-3W5G4CYI.js'); +require('./chunk-EQMZL4XU.js'); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +exports.AssertionError = _chunk6ZDHSOUVjs.AssertionError; exports.CAIP_ACCOUNT_ADDRESS_REGEX = _chunkU7ZUGCE7js.CAIP_ACCOUNT_ADDRESS_REGEX; exports.CAIP_ACCOUNT_ID_REGEX = _chunkU7ZUGCE7js.CAIP_ACCOUNT_ID_REGEX; exports.CAIP_CHAIN_ID_REGEX = _chunkU7ZUGCE7js.CAIP_CHAIN_ID_REGEX; exports.CAIP_NAMESPACE_REGEX = _chunkU7ZUGCE7js.CAIP_NAMESPACE_REGEX; exports.CAIP_REFERENCE_REGEX = _chunkU7ZUGCE7js.CAIP_REFERENCE_REGEX; exports.CaipAccountAddressStruct = _chunkU7ZUGCE7js.CaipAccountAddressStruct; exports.CaipAccountIdStruct = _chunkU7ZUGCE7js.CaipAccountIdStruct; exports.CaipChainIdStruct = _chunkU7ZUGCE7js.CaipChainIdStruct; exports.CaipNamespaceStruct = _chunkU7ZUGCE7js.CaipNamespaceStruct; exports.CaipReferenceStruct = _chunkU7ZUGCE7js.CaipReferenceStruct; exports.ChecksumStruct = _chunkE4C7EW4Rjs.ChecksumStruct; exports.Duration = _chunk4RMX5YWEjs.Duration; exports.ESCAPE_CHARACTERS_REGEXP = _chunkQVEKZRZ2js.ESCAPE_CHARACTERS_REGEXP; exports.FrozenMap = _chunkZ2RGWDD7js.FrozenMap; exports.FrozenSet = _chunkZ2RGWDD7js.FrozenSet; exports.HexAddressStruct = _chunkQEPVHEP7js.HexAddressStruct; exports.HexChecksumAddressStruct = _chunkQEPVHEP7js.HexChecksumAddressStruct; exports.HexStruct = _chunkQEPVHEP7js.HexStruct; exports.JsonRpcErrorStruct = _chunkOLLG4H35js.JsonRpcErrorStruct; exports.JsonRpcFailureStruct = _chunkOLLG4H35js.JsonRpcFailureStruct; exports.JsonRpcIdStruct = _chunkOLLG4H35js.JsonRpcIdStruct; exports.JsonRpcNotificationStruct = _chunkOLLG4H35js.JsonRpcNotificationStruct; exports.JsonRpcParamsStruct = _chunkOLLG4H35js.JsonRpcParamsStruct; exports.JsonRpcRequestStruct = _chunkOLLG4H35js.JsonRpcRequestStruct; exports.JsonRpcResponseStruct = _chunkOLLG4H35js.JsonRpcResponseStruct; exports.JsonRpcSuccessStruct = _chunkOLLG4H35js.JsonRpcSuccessStruct; exports.JsonRpcVersionStruct = _chunkOLLG4H35js.JsonRpcVersionStruct; exports.JsonSize = _chunkQVEKZRZ2js.JsonSize; exports.JsonStruct = _chunkOLLG4H35js.JsonStruct; exports.PendingJsonRpcResponseStruct = _chunkOLLG4H35js.PendingJsonRpcResponseStruct; exports.StrictHexStruct = _chunkQEPVHEP7js.StrictHexStruct; exports.UnsafeJsonStruct = _chunkOLLG4H35js.UnsafeJsonStruct; exports.VersionRangeStruct = _chunk4D6XQBHAjs.VersionRangeStruct; exports.VersionStruct = _chunk4D6XQBHAjs.VersionStruct; exports.add0x = _chunkQEPVHEP7js.add0x; exports.assert = _chunk6ZDHSOUVjs.assert; exports.assertExhaustive = _chunk6ZDHSOUVjs.assertExhaustive; exports.assertIsBytes = _chunkQEPVHEP7js.assertIsBytes; exports.assertIsHexString = _chunkQEPVHEP7js.assertIsHexString; exports.assertIsJsonRpcError = _chunkOLLG4H35js.assertIsJsonRpcError; exports.assertIsJsonRpcFailure = _chunkOLLG4H35js.assertIsJsonRpcFailure; exports.assertIsJsonRpcNotification = _chunkOLLG4H35js.assertIsJsonRpcNotification; exports.assertIsJsonRpcRequest = _chunkOLLG4H35js.assertIsJsonRpcRequest; exports.assertIsJsonRpcResponse = _chunkOLLG4H35js.assertIsJsonRpcResponse; exports.assertIsJsonRpcSuccess = _chunkOLLG4H35js.assertIsJsonRpcSuccess; exports.assertIsPendingJsonRpcResponse = _chunkOLLG4H35js.assertIsPendingJsonRpcResponse; exports.assertIsSemVerRange = _chunk4D6XQBHAjs.assertIsSemVerRange; exports.assertIsSemVerVersion = _chunk4D6XQBHAjs.assertIsSemVerVersion; exports.assertIsStrictHexString = _chunkQEPVHEP7js.assertIsStrictHexString; exports.assertStruct = _chunk6ZDHSOUVjs.assertStruct; exports.base64 = _chunk6NZW4WK4js.base64; exports.base64ToBytes = _chunkQEPVHEP7js.base64ToBytes; exports.bigIntToBytes = _chunkQEPVHEP7js.bigIntToBytes; exports.bigIntToHex = _chunkVFXTVNXNjs.bigIntToHex; exports.bytesToBase64 = _chunkQEPVHEP7js.bytesToBase64; exports.bytesToBigInt = _chunkQEPVHEP7js.bytesToBigInt; exports.bytesToHex = _chunkQEPVHEP7js.bytesToHex; exports.bytesToNumber = _chunkQEPVHEP7js.bytesToNumber; exports.bytesToSignedBigInt = _chunkQEPVHEP7js.bytesToSignedBigInt; exports.bytesToString = _chunkQEPVHEP7js.bytesToString; exports.calculateNumberSize = _chunkQVEKZRZ2js.calculateNumberSize; exports.calculateStringSize = _chunkQVEKZRZ2js.calculateStringSize; exports.concatBytes = _chunkQEPVHEP7js.concatBytes; exports.createBigInt = _chunkDHVKFDHQjs.createBigInt; exports.createBytes = _chunkDHVKFDHQjs.createBytes; exports.createDataView = _chunkQEPVHEP7js.createDataView; exports.createHex = _chunkDHVKFDHQjs.createHex; exports.createModuleLogger = _chunk2LBGT4GHjs.createModuleLogger; exports.createNumber = _chunkDHVKFDHQjs.createNumber; exports.createProjectLogger = _chunk2LBGT4GHjs.createProjectLogger; exports.exactOptional = _chunkOLLG4H35js.exactOptional; exports.getChecksumAddress = _chunkQEPVHEP7js.getChecksumAddress; exports.getErrorMessage = _chunkIZC266HSjs.getErrorMessage; exports.getJsonRpcIdValidator = _chunkOLLG4H35js.getJsonRpcIdValidator; exports.getJsonSize = _chunkOLLG4H35js.getJsonSize; exports.getKnownPropertyNames = _chunkQVEKZRZ2js.getKnownPropertyNames; exports.getSafeJson = _chunkOLLG4H35js.getSafeJson; exports.gtRange = _chunk4D6XQBHAjs.gtRange; exports.gtVersion = _chunk4D6XQBHAjs.gtVersion; exports.hasProperty = _chunkQVEKZRZ2js.hasProperty; exports.hexToBigInt = _chunkVFXTVNXNjs.hexToBigInt; exports.hexToBytes = _chunkQEPVHEP7js.hexToBytes; exports.hexToNumber = _chunkVFXTVNXNjs.hexToNumber; exports.inMilliseconds = _chunk4RMX5YWEjs.inMilliseconds; exports.isASCII = _chunkQVEKZRZ2js.isASCII; exports.isBytes = _chunkQEPVHEP7js.isBytes; exports.isCaipAccountAddress = _chunkU7ZUGCE7js.isCaipAccountAddress; exports.isCaipAccountId = _chunkU7ZUGCE7js.isCaipAccountId; exports.isCaipChainId = _chunkU7ZUGCE7js.isCaipChainId; exports.isCaipNamespace = _chunkU7ZUGCE7js.isCaipNamespace; exports.isCaipReference = _chunkU7ZUGCE7js.isCaipReference; exports.isErrorWithCode = _chunkIZC266HSjs.isErrorWithCode; exports.isErrorWithMessage = _chunkIZC266HSjs.isErrorWithMessage; exports.isErrorWithStack = _chunkIZC266HSjs.isErrorWithStack; exports.isHexString = _chunkQEPVHEP7js.isHexString; exports.isJsonRpcError = _chunkOLLG4H35js.isJsonRpcError; exports.isJsonRpcFailure = _chunkOLLG4H35js.isJsonRpcFailure; exports.isJsonRpcNotification = _chunkOLLG4H35js.isJsonRpcNotification; exports.isJsonRpcRequest = _chunkOLLG4H35js.isJsonRpcRequest; exports.isJsonRpcResponse = _chunkOLLG4H35js.isJsonRpcResponse; exports.isJsonRpcSuccess = _chunkOLLG4H35js.isJsonRpcSuccess; exports.isNonEmptyArray = _chunkQVEKZRZ2js.isNonEmptyArray; exports.isNullOrUndefined = _chunkQVEKZRZ2js.isNullOrUndefined; exports.isObject = _chunkQVEKZRZ2js.isObject; exports.isPendingJsonRpcResponse = _chunkOLLG4H35js.isPendingJsonRpcResponse; exports.isPlainObject = _chunkQVEKZRZ2js.isPlainObject; exports.isStrictHexString = _chunkQEPVHEP7js.isStrictHexString; exports.isValidChecksumAddress = _chunkQEPVHEP7js.isValidChecksumAddress; exports.isValidHexAddress = _chunkQEPVHEP7js.isValidHexAddress; exports.isValidJson = _chunkOLLG4H35js.isValidJson; exports.isValidSemVerRange = _chunk4D6XQBHAjs.isValidSemVerRange; exports.isValidSemVerVersion = _chunk4D6XQBHAjs.isValidSemVerVersion; exports.jsonrpc2 = _chunkOLLG4H35js.jsonrpc2; exports.numberToBytes = _chunkQEPVHEP7js.numberToBytes; exports.numberToHex = _chunkVFXTVNXNjs.numberToHex; exports.object = _chunkOLLG4H35js.object; exports.parseCaipAccountId = _chunkU7ZUGCE7js.parseCaipAccountId; exports.parseCaipChainId = _chunkU7ZUGCE7js.parseCaipChainId; exports.remove0x = _chunkQEPVHEP7js.remove0x; exports.satisfiesVersionRange = _chunk4D6XQBHAjs.satisfiesVersionRange; exports.signedBigIntToBytes = _chunkQEPVHEP7js.signedBigIntToBytes; exports.stringToBytes = _chunkQEPVHEP7js.stringToBytes; exports.timeSince = _chunk4RMX5YWEjs.timeSince; exports.valueToBytes = _chunkQEPVHEP7js.valueToBytes; exports.wrapError = _chunkIZC266HSjs.wrapError; + +},{"./chunk-2LBGT4GH.js":15,"./chunk-2TBCL6EF.js":16,"./chunk-3W5G4CYI.js":17,"./chunk-4D6XQBHA.js":18,"./chunk-4RMX5YWE.js":19,"./chunk-6NZW4WK4.js":20,"./chunk-6ZDHSOUV.js":21,"./chunk-DHVKFDHQ.js":22,"./chunk-E4C7EW4R.js":23,"./chunk-EQMZL4XU.js":24,"./chunk-IZC266HS.js":25,"./chunk-LC2CRSWD.js":26,"./chunk-OLLG4H35.js":27,"./chunk-QEPVHEP7.js":28,"./chunk-QVEKZRZ2.js":29,"./chunk-RKRGAFXY.js":30,"./chunk-U7ZUGCE7.js":31,"./chunk-UOTVU7OQ.js":32,"./chunk-VFXTVNXN.js":33,"./chunk-Z2RGWDD7.js":34}],36:[function(require,module,exports){ +'use strict' + +// A linked list to keep track of recently-used-ness +const Yallist = require('yallist') + +const MAX = Symbol('max') +const LENGTH = Symbol('length') +const LENGTH_CALCULATOR = Symbol('lengthCalculator') +const ALLOW_STALE = Symbol('allowStale') +const MAX_AGE = Symbol('maxAge') +const DISPOSE = Symbol('dispose') +const NO_DISPOSE_ON_SET = Symbol('noDisposeOnSet') +const LRU_LIST = Symbol('lruList') +const CACHE = Symbol('cache') +const UPDATE_AGE_ON_GET = Symbol('updateAgeOnGet') + +const naiveLength = () => 1 + +// lruList is a yallist where the head is the youngest +// item, and the tail is the oldest. the list contains the Hit +// objects as the entries. +// Each Hit object has a reference to its Yallist.Node. This +// never changes. +// +// cache is a Map (or PseudoMap) that matches the keys to +// the Yallist.Node object. +class LRUCache { + constructor (options) { + if (typeof options === 'number') + options = { max: options } + + if (!options) + options = {} + + if (options.max && (typeof options.max !== 'number' || options.max < 0)) + throw new TypeError('max must be a non-negative number') + // Kind of weird to have a default max of Infinity, but oh well. + const max = this[MAX] = options.max || Infinity + + const lc = options.length || naiveLength + this[LENGTH_CALCULATOR] = (typeof lc !== 'function') ? naiveLength : lc + this[ALLOW_STALE] = options.stale || false + if (options.maxAge && typeof options.maxAge !== 'number') + throw new TypeError('maxAge must be a number') + this[MAX_AGE] = options.maxAge || 0 + this[DISPOSE] = options.dispose + this[NO_DISPOSE_ON_SET] = options.noDisposeOnSet || false + this[UPDATE_AGE_ON_GET] = options.updateAgeOnGet || false + this.reset() + } + + // resize the cache when the max changes. + set max (mL) { + if (typeof mL !== 'number' || mL < 0) + throw new TypeError('max must be a non-negative number') + + this[MAX] = mL || Infinity + trim(this) + } + get max () { + return this[MAX] + } + + set allowStale (allowStale) { + this[ALLOW_STALE] = !!allowStale + } + get allowStale () { + return this[ALLOW_STALE] + } + + set maxAge (mA) { + if (typeof mA !== 'number') + throw new TypeError('maxAge must be a non-negative number') + + this[MAX_AGE] = mA + trim(this) + } + get maxAge () { + return this[MAX_AGE] + } + + // resize the cache when the lengthCalculator changes. + set lengthCalculator (lC) { + if (typeof lC !== 'function') + lC = naiveLength + + if (lC !== this[LENGTH_CALCULATOR]) { + this[LENGTH_CALCULATOR] = lC + this[LENGTH] = 0 + this[LRU_LIST].forEach(hit => { + hit.length = this[LENGTH_CALCULATOR](hit.value, hit.key) + this[LENGTH] += hit.length + }) + } + trim(this) + } + get lengthCalculator () { return this[LENGTH_CALCULATOR] } + + get length () { return this[LENGTH] } + get itemCount () { return this[LRU_LIST].length } + + rforEach (fn, thisp) { + thisp = thisp || this + for (let walker = this[LRU_LIST].tail; walker !== null;) { + const prev = walker.prev + forEachStep(this, fn, walker, thisp) + walker = prev + } + } + + forEach (fn, thisp) { + thisp = thisp || this + for (let walker = this[LRU_LIST].head; walker !== null;) { + const next = walker.next + forEachStep(this, fn, walker, thisp) + walker = next + } + } + + keys () { + return this[LRU_LIST].toArray().map(k => k.key) + } + + values () { + return this[LRU_LIST].toArray().map(k => k.value) + } + + reset () { + if (this[DISPOSE] && + this[LRU_LIST] && + this[LRU_LIST].length) { + this[LRU_LIST].forEach(hit => this[DISPOSE](hit.key, hit.value)) + } + + this[CACHE] = new Map() // hash of items by key + this[LRU_LIST] = new Yallist() // list of items in order of use recency + this[LENGTH] = 0 // length of items in the list + } + + dump () { + return this[LRU_LIST].map(hit => + isStale(this, hit) ? false : { + k: hit.key, + v: hit.value, + e: hit.now + (hit.maxAge || 0) + }).toArray().filter(h => h) + } + + dumpLru () { + return this[LRU_LIST] + } + + set (key, value, maxAge) { + maxAge = maxAge || this[MAX_AGE] + + if (maxAge && typeof maxAge !== 'number') + throw new TypeError('maxAge must be a number') + + const now = maxAge ? Date.now() : 0 + const len = this[LENGTH_CALCULATOR](value, key) + + if (this[CACHE].has(key)) { + if (len > this[MAX]) { + del(this, this[CACHE].get(key)) + return false + } + + const node = this[CACHE].get(key) + const item = node.value + + // dispose of the old one before overwriting + // split out into 2 ifs for better coverage tracking + if (this[DISPOSE]) { + if (!this[NO_DISPOSE_ON_SET]) + this[DISPOSE](key, item.value) + } + + item.now = now + item.maxAge = maxAge + item.value = value + this[LENGTH] += len - item.length + item.length = len + this.get(key) + trim(this) + return true + } + + const hit = new Entry(key, value, len, now, maxAge) + + // oversized objects fall out of cache automatically. + if (hit.length > this[MAX]) { + if (this[DISPOSE]) + this[DISPOSE](key, value) + + return false + } + + this[LENGTH] += hit.length + this[LRU_LIST].unshift(hit) + this[CACHE].set(key, this[LRU_LIST].head) + trim(this) + return true + } + + has (key) { + if (!this[CACHE].has(key)) return false + const hit = this[CACHE].get(key).value + return !isStale(this, hit) + } + + get (key) { + return get(this, key, true) + } + + peek (key) { + return get(this, key, false) + } + + pop () { + const node = this[LRU_LIST].tail + if (!node) + return null + + del(this, node) + return node.value + } + + del (key) { + del(this, this[CACHE].get(key)) + } + + load (arr) { + // reset the cache + this.reset() + + const now = Date.now() + // A previous serialized cache has the most recent items first + for (let l = arr.length - 1; l >= 0; l--) { + const hit = arr[l] + const expiresAt = hit.e || 0 + if (expiresAt === 0) + // the item was created without expiration in a non aged cache + this.set(hit.k, hit.v) + else { + const maxAge = expiresAt - now + // dont add already expired items + if (maxAge > 0) { + this.set(hit.k, hit.v, maxAge) + } + } + } + } + + prune () { + this[CACHE].forEach((value, key) => get(this, key, false)) + } +} + +const get = (self, key, doUse) => { + const node = self[CACHE].get(key) + if (node) { + const hit = node.value + if (isStale(self, hit)) { + del(self, node) + if (!self[ALLOW_STALE]) + return undefined + } else { + if (doUse) { + if (self[UPDATE_AGE_ON_GET]) + node.value.now = Date.now() + self[LRU_LIST].unshiftNode(node) + } + } + return hit.value + } +} + +const isStale = (self, hit) => { + if (!hit || (!hit.maxAge && !self[MAX_AGE])) + return false + + const diff = Date.now() - hit.now + return hit.maxAge ? diff > hit.maxAge + : self[MAX_AGE] && (diff > self[MAX_AGE]) +} + +const trim = self => { + if (self[LENGTH] > self[MAX]) { + for (let walker = self[LRU_LIST].tail; + self[LENGTH] > self[MAX] && walker !== null;) { + // We know that we're about to delete this one, and also + // what the next least recently used key will be, so just + // go ahead and set it now. + const prev = walker.prev + del(self, walker) + walker = prev + } + } +} + +const del = (self, node) => { + if (node) { + const hit = node.value + if (self[DISPOSE]) + self[DISPOSE](hit.key, hit.value) + + self[LENGTH] -= hit.length + self[CACHE].delete(hit.key) + self[LRU_LIST].removeNode(node) + } +} + +class Entry { + constructor (key, value, length, now, maxAge) { + this.key = key + this.value = value + this.length = length + this.now = now + this.maxAge = maxAge || 0 + } +} + +const forEachStep = (self, fn, node, thisp) => { + let hit = node.value + if (isStale(self, hit)) { + del(self, node) + if (!self[ALLOW_STALE]) + hit = undefined + } + if (hit) + fn.call(thisp, hit.value, hit.key, self) +} + +module.exports = LRUCache + +},{"yallist":176}],37:[function(require,module,exports){ +const ANY = Symbol('SemVer ANY') +// hoisted class for cyclic dependency +class Comparator { + static get ANY () { + return ANY + } + + constructor (comp, options) { + options = parseOptions(options) + + if (comp instanceof Comparator) { + if (comp.loose === !!options.loose) { + return comp + } else { + comp = comp.value + } + } + + comp = comp.trim().split(/\s+/).join(' ') + debug('comparator', comp, options) + this.options = options + this.loose = !!options.loose + this.parse(comp) + + if (this.semver === ANY) { + this.value = '' + } else { + this.value = this.operator + this.semver.version + } + + debug('comp', this) + } + + parse (comp) { + const r = this.options.loose ? re[t.COMPARATORLOOSE] : re[t.COMPARATOR] + const m = comp.match(r) + + if (!m) { + throw new TypeError(`Invalid comparator: ${comp}`) + } + + this.operator = m[1] !== undefined ? m[1] : '' + if (this.operator === '=') { + this.operator = '' + } + + // if it literally is just '>' or '' then allow anything. + if (!m[2]) { + this.semver = ANY + } else { + this.semver = new SemVer(m[2], this.options.loose) + } + } + + toString () { + return this.value + } + + test (version) { + debug('Comparator.test', version, this.options.loose) + + if (this.semver === ANY || version === ANY) { + return true + } + + if (typeof version === 'string') { + try { + version = new SemVer(version, this.options) + } catch (er) { + return false + } + } + + return cmp(version, this.operator, this.semver, this.options) + } + + intersects (comp, options) { + if (!(comp instanceof Comparator)) { + throw new TypeError('a Comparator is required') + } + + if (this.operator === '') { + if (this.value === '') { + return true + } + return new Range(comp.value, options).test(this.value) + } else if (comp.operator === '') { + if (comp.value === '') { + return true + } + return new Range(this.value, options).test(comp.semver) + } + + options = parseOptions(options) + + // Special cases where nothing can possibly be lower + if (options.includePrerelease && + (this.value === '<0.0.0-0' || comp.value === '<0.0.0-0')) { + return false + } + if (!options.includePrerelease && + (this.value.startsWith('<0.0.0') || comp.value.startsWith('<0.0.0'))) { + return false + } + + // Same direction increasing (> or >=) + if (this.operator.startsWith('>') && comp.operator.startsWith('>')) { + return true + } + // Same direction decreasing (< or <=) + if (this.operator.startsWith('<') && comp.operator.startsWith('<')) { + return true + } + // same SemVer and both sides are inclusive (<= or >=) + if ( + (this.semver.version === comp.semver.version) && + this.operator.includes('=') && comp.operator.includes('=')) { + return true + } + // opposite directions less than + if (cmp(this.semver, '<', comp.semver, options) && + this.operator.startsWith('>') && comp.operator.startsWith('<')) { + return true + } + // opposite directions greater than + if (cmp(this.semver, '>', comp.semver, options) && + this.operator.startsWith('<') && comp.operator.startsWith('>')) { + return true + } + return false + } +} + +module.exports = Comparator + +const parseOptions = require('../internal/parse-options') +const { safeRe: re, t } = require('../internal/re') +const cmp = require('../functions/cmp') +const debug = require('../internal/debug') +const SemVer = require('./semver') +const Range = require('./range') + +},{"../functions/cmp":41,"../internal/debug":66,"../internal/parse-options":68,"../internal/re":69,"./range":38,"./semver":39}],38:[function(require,module,exports){ +// hoisted class for cyclic dependency +class Range { + constructor (range, options) { + options = parseOptions(options) + + if (range instanceof Range) { + if ( + range.loose === !!options.loose && + range.includePrerelease === !!options.includePrerelease + ) { + return range + } else { + return new Range(range.raw, options) + } + } + + if (range instanceof Comparator) { + // just put it in the set and return + this.raw = range.value + this.set = [[range]] + this.format() + return this + } + + this.options = options + this.loose = !!options.loose + this.includePrerelease = !!options.includePrerelease + + // First reduce all whitespace as much as possible so we do not have to rely + // on potentially slow regexes like \s*. This is then stored and used for + // future error messages as well. + this.raw = range + .trim() + .split(/\s+/) + .join(' ') + + // First, split on || + this.set = this.raw + .split('||') + // map the range to a 2d array of comparators + .map(r => this.parseRange(r.trim())) + // throw out any comparator lists that are empty + // this generally means that it was not a valid range, which is allowed + // in loose mode, but will still throw if the WHOLE range is invalid. + .filter(c => c.length) + + if (!this.set.length) { + throw new TypeError(`Invalid SemVer Range: ${this.raw}`) + } + + // if we have any that are not the null set, throw out null sets. + if (this.set.length > 1) { + // keep the first one, in case they're all null sets + const first = this.set[0] + this.set = this.set.filter(c => !isNullSet(c[0])) + if (this.set.length === 0) { + this.set = [first] + } else if (this.set.length > 1) { + // if we have any that are *, then the range is just * + for (const c of this.set) { + if (c.length === 1 && isAny(c[0])) { + this.set = [c] + break + } + } + } + } + + this.format() + } + + format () { + this.range = this.set + .map((comps) => comps.join(' ').trim()) + .join('||') + .trim() + return this.range + } + + toString () { + return this.range + } + + parseRange (range) { + // memoize range parsing for performance. + // this is a very hot path, and fully deterministic. + const memoOpts = + (this.options.includePrerelease && FLAG_INCLUDE_PRERELEASE) | + (this.options.loose && FLAG_LOOSE) + const memoKey = memoOpts + ':' + range + const cached = cache.get(memoKey) + if (cached) { + return cached + } + + const loose = this.options.loose + // `1.2.3 - 1.2.4` => `>=1.2.3 <=1.2.4` + const hr = loose ? re[t.HYPHENRANGELOOSE] : re[t.HYPHENRANGE] + range = range.replace(hr, hyphenReplace(this.options.includePrerelease)) + debug('hyphen replace', range) + + // `> 1.2.3 < 1.2.5` => `>1.2.3 <1.2.5` + range = range.replace(re[t.COMPARATORTRIM], comparatorTrimReplace) + debug('comparator trim', range) + + // `~ 1.2.3` => `~1.2.3` + range = range.replace(re[t.TILDETRIM], tildeTrimReplace) + debug('tilde trim', range) + + // `^ 1.2.3` => `^1.2.3` + range = range.replace(re[t.CARETTRIM], caretTrimReplace) + debug('caret trim', range) + + // At this point, the range is completely trimmed and + // ready to be split into comparators. + + let rangeList = range + .split(' ') + .map(comp => parseComparator(comp, this.options)) + .join(' ') + .split(/\s+/) + // >=0.0.0 is equivalent to * + .map(comp => replaceGTE0(comp, this.options)) + + if (loose) { + // in loose mode, throw out any that are not valid comparators + rangeList = rangeList.filter(comp => { + debug('loose invalid filter', comp, this.options) + return !!comp.match(re[t.COMPARATORLOOSE]) + }) + } + debug('range list', rangeList) + + // if any comparators are the null set, then replace with JUST null set + // if more than one comparator, remove any * comparators + // also, don't include the same comparator more than once + const rangeMap = new Map() + const comparators = rangeList.map(comp => new Comparator(comp, this.options)) + for (const comp of comparators) { + if (isNullSet(comp)) { + return [comp] + } + rangeMap.set(comp.value, comp) + } + if (rangeMap.size > 1 && rangeMap.has('')) { + rangeMap.delete('') + } + + const result = [...rangeMap.values()] + cache.set(memoKey, result) + return result + } + + intersects (range, options) { + if (!(range instanceof Range)) { + throw new TypeError('a Range is required') + } + + return this.set.some((thisComparators) => { + return ( + isSatisfiable(thisComparators, options) && + range.set.some((rangeComparators) => { + return ( + isSatisfiable(rangeComparators, options) && + thisComparators.every((thisComparator) => { + return rangeComparators.every((rangeComparator) => { + return thisComparator.intersects(rangeComparator, options) + }) + }) + ) + }) + ) + }) + } + + // if ANY of the sets match ALL of its comparators, then pass + test (version) { + if (!version) { + return false + } + + if (typeof version === 'string') { + try { + version = new SemVer(version, this.options) + } catch (er) { + return false + } + } + + for (let i = 0; i < this.set.length; i++) { + if (testSet(this.set[i], version, this.options)) { + return true + } + } + return false + } +} + +module.exports = Range + +const LRU = require('lru-cache') +const cache = new LRU({ max: 1000 }) + +const parseOptions = require('../internal/parse-options') +const Comparator = require('./comparator') +const debug = require('../internal/debug') +const SemVer = require('./semver') +const { + safeRe: re, + t, + comparatorTrimReplace, + tildeTrimReplace, + caretTrimReplace, +} = require('../internal/re') +const { FLAG_INCLUDE_PRERELEASE, FLAG_LOOSE } = require('../internal/constants') + +const isNullSet = c => c.value === '<0.0.0-0' +const isAny = c => c.value === '' + +// take a set of comparators and determine whether there +// exists a version which can satisfy it +const isSatisfiable = (comparators, options) => { + let result = true + const remainingComparators = comparators.slice() + let testComparator = remainingComparators.pop() + + while (result && remainingComparators.length) { + result = remainingComparators.every((otherComparator) => { + return testComparator.intersects(otherComparator, options) + }) + + testComparator = remainingComparators.pop() + } + + return result +} + +// comprised of xranges, tildes, stars, and gtlt's at this point. +// already replaced the hyphen ranges +// turn into a set of JUST comparators. +const parseComparator = (comp, options) => { + debug('comp', comp, options) + comp = replaceCarets(comp, options) + debug('caret', comp) + comp = replaceTildes(comp, options) + debug('tildes', comp) + comp = replaceXRanges(comp, options) + debug('xrange', comp) + comp = replaceStars(comp, options) + debug('stars', comp) + return comp +} + +const isX = id => !id || id.toLowerCase() === 'x' || id === '*' + +// ~, ~> --> * (any, kinda silly) +// ~2, ~2.x, ~2.x.x, ~>2, ~>2.x ~>2.x.x --> >=2.0.0 <3.0.0-0 +// ~2.0, ~2.0.x, ~>2.0, ~>2.0.x --> >=2.0.0 <2.1.0-0 +// ~1.2, ~1.2.x, ~>1.2, ~>1.2.x --> >=1.2.0 <1.3.0-0 +// ~1.2.3, ~>1.2.3 --> >=1.2.3 <1.3.0-0 +// ~1.2.0, ~>1.2.0 --> >=1.2.0 <1.3.0-0 +// ~0.0.1 --> >=0.0.1 <0.1.0-0 +const replaceTildes = (comp, options) => { + return comp + .trim() + .split(/\s+/) + .map((c) => replaceTilde(c, options)) + .join(' ') +} + +const replaceTilde = (comp, options) => { + const r = options.loose ? re[t.TILDELOOSE] : re[t.TILDE] + return comp.replace(r, (_, M, m, p, pr) => { + debug('tilde', comp, _, M, m, p, pr) + let ret + + if (isX(M)) { + ret = '' + } else if (isX(m)) { + ret = `>=${M}.0.0 <${+M + 1}.0.0-0` + } else if (isX(p)) { + // ~1.2 == >=1.2.0 <1.3.0-0 + ret = `>=${M}.${m}.0 <${M}.${+m + 1}.0-0` + } else if (pr) { + debug('replaceTilde pr', pr) + ret = `>=${M}.${m}.${p}-${pr + } <${M}.${+m + 1}.0-0` + } else { + // ~1.2.3 == >=1.2.3 <1.3.0-0 + ret = `>=${M}.${m}.${p + } <${M}.${+m + 1}.0-0` + } + + debug('tilde return', ret) + return ret + }) +} + +// ^ --> * (any, kinda silly) +// ^2, ^2.x, ^2.x.x --> >=2.0.0 <3.0.0-0 +// ^2.0, ^2.0.x --> >=2.0.0 <3.0.0-0 +// ^1.2, ^1.2.x --> >=1.2.0 <2.0.0-0 +// ^1.2.3 --> >=1.2.3 <2.0.0-0 +// ^1.2.0 --> >=1.2.0 <2.0.0-0 +// ^0.0.1 --> >=0.0.1 <0.0.2-0 +// ^0.1.0 --> >=0.1.0 <0.2.0-0 +const replaceCarets = (comp, options) => { + return comp + .trim() + .split(/\s+/) + .map((c) => replaceCaret(c, options)) + .join(' ') +} + +const replaceCaret = (comp, options) => { + debug('caret', comp, options) + const r = options.loose ? re[t.CARETLOOSE] : re[t.CARET] + const z = options.includePrerelease ? '-0' : '' + return comp.replace(r, (_, M, m, p, pr) => { + debug('caret', comp, _, M, m, p, pr) + let ret + + if (isX(M)) { + ret = '' + } else if (isX(m)) { + ret = `>=${M}.0.0${z} <${+M + 1}.0.0-0` + } else if (isX(p)) { + if (M === '0') { + ret = `>=${M}.${m}.0${z} <${M}.${+m + 1}.0-0` + } else { + ret = `>=${M}.${m}.0${z} <${+M + 1}.0.0-0` + } + } else if (pr) { + debug('replaceCaret pr', pr) + if (M === '0') { + if (m === '0') { + ret = `>=${M}.${m}.${p}-${pr + } <${M}.${m}.${+p + 1}-0` + } else { + ret = `>=${M}.${m}.${p}-${pr + } <${M}.${+m + 1}.0-0` + } + } else { + ret = `>=${M}.${m}.${p}-${pr + } <${+M + 1}.0.0-0` + } + } else { + debug('no pr') + if (M === '0') { + if (m === '0') { + ret = `>=${M}.${m}.${p + }${z} <${M}.${m}.${+p + 1}-0` + } else { + ret = `>=${M}.${m}.${p + }${z} <${M}.${+m + 1}.0-0` + } + } else { + ret = `>=${M}.${m}.${p + } <${+M + 1}.0.0-0` + } + } + + debug('caret return', ret) + return ret + }) +} + +const replaceXRanges = (comp, options) => { + debug('replaceXRanges', comp, options) + return comp + .split(/\s+/) + .map((c) => replaceXRange(c, options)) + .join(' ') +} + +const replaceXRange = (comp, options) => { + comp = comp.trim() + const r = options.loose ? re[t.XRANGELOOSE] : re[t.XRANGE] + return comp.replace(r, (ret, gtlt, M, m, p, pr) => { + debug('xRange', comp, ret, gtlt, M, m, p, pr) + const xM = isX(M) + const xm = xM || isX(m) + const xp = xm || isX(p) + const anyX = xp + + if (gtlt === '=' && anyX) { + gtlt = '' + } + + // if we're including prereleases in the match, then we need + // to fix this to -0, the lowest possible prerelease value + pr = options.includePrerelease ? '-0' : '' + + if (xM) { + if (gtlt === '>' || gtlt === '<') { + // nothing is allowed + ret = '<0.0.0-0' + } else { + // nothing is forbidden + ret = '*' + } + } else if (gtlt && anyX) { + // we know patch is an x, because we have any x at all. + // replace X with 0 + if (xm) { + m = 0 + } + p = 0 + + if (gtlt === '>') { + // >1 => >=2.0.0 + // >1.2 => >=1.3.0 + gtlt = '>=' + if (xm) { + M = +M + 1 + m = 0 + p = 0 + } else { + m = +m + 1 + p = 0 + } + } else if (gtlt === '<=') { + // <=0.7.x is actually <0.8.0, since any 0.7.x should + // pass. Similarly, <=7.x is actually <8.0.0, etc. + gtlt = '<' + if (xm) { + M = +M + 1 + } else { + m = +m + 1 + } + } + + if (gtlt === '<') { + pr = '-0' + } + + ret = `${gtlt + M}.${m}.${p}${pr}` + } else if (xm) { + ret = `>=${M}.0.0${pr} <${+M + 1}.0.0-0` + } else if (xp) { + ret = `>=${M}.${m}.0${pr + } <${M}.${+m + 1}.0-0` + } + + debug('xRange return', ret) + + return ret + }) +} + +// Because * is AND-ed with everything else in the comparator, +// and '' means "any version", just remove the *s entirely. +const replaceStars = (comp, options) => { + debug('replaceStars', comp, options) + // Looseness is ignored here. star is always as loose as it gets! + return comp + .trim() + .replace(re[t.STAR], '') +} + +const replaceGTE0 = (comp, options) => { + debug('replaceGTE0', comp, options) + return comp + .trim() + .replace(re[options.includePrerelease ? t.GTE0PRE : t.GTE0], '') +} + +// This function is passed to string.replace(re[t.HYPHENRANGE]) +// M, m, patch, prerelease, build +// 1.2 - 3.4.5 => >=1.2.0 <=3.4.5 +// 1.2.3 - 3.4 => >=1.2.0 <3.5.0-0 Any 3.4.x will do +// 1.2 - 3.4 => >=1.2.0 <3.5.0-0 +const hyphenReplace = incPr => ($0, + from, fM, fm, fp, fpr, fb, + to, tM, tm, tp, tpr, tb) => { + if (isX(fM)) { + from = '' + } else if (isX(fm)) { + from = `>=${fM}.0.0${incPr ? '-0' : ''}` + } else if (isX(fp)) { + from = `>=${fM}.${fm}.0${incPr ? '-0' : ''}` + } else if (fpr) { + from = `>=${from}` + } else { + from = `>=${from}${incPr ? '-0' : ''}` + } + + if (isX(tM)) { + to = '' + } else if (isX(tm)) { + to = `<${+tM + 1}.0.0-0` + } else if (isX(tp)) { + to = `<${tM}.${+tm + 1}.0-0` + } else if (tpr) { + to = `<=${tM}.${tm}.${tp}-${tpr}` + } else if (incPr) { + to = `<${tM}.${tm}.${+tp + 1}-0` + } else { + to = `<=${to}` + } + + return `${from} ${to}`.trim() +} + +const testSet = (set, version, options) => { + for (let i = 0; i < set.length; i++) { + if (!set[i].test(version)) { + return false + } + } + + if (version.prerelease.length && !options.includePrerelease) { + // Find the set of versions that are allowed to have prereleases + // For example, ^1.2.3-pr.1 desugars to >=1.2.3-pr.1 <2.0.0 + // That should allow `1.2.3-pr.2` to pass. + // However, `1.2.4-alpha.notready` should NOT be allowed, + // even though it's within the range set by the comparators. + for (let i = 0; i < set.length; i++) { + debug(set[i].semver) + if (set[i].semver === Comparator.ANY) { + continue + } + + if (set[i].semver.prerelease.length > 0) { + const allowed = set[i].semver + if (allowed.major === version.major && + allowed.minor === version.minor && + allowed.patch === version.patch) { + return true + } + } + } + + // Version has a -pre, but it's not one of the ones we like. + return false + } + + return true +} + +},{"../internal/constants":65,"../internal/debug":66,"../internal/parse-options":68,"../internal/re":69,"./comparator":37,"./semver":39,"lru-cache":36}],39:[function(require,module,exports){ +const debug = require('../internal/debug') +const { MAX_LENGTH, MAX_SAFE_INTEGER } = require('../internal/constants') +const { safeRe: re, t } = require('../internal/re') + +const parseOptions = require('../internal/parse-options') +const { compareIdentifiers } = require('../internal/identifiers') +class SemVer { + constructor (version, options) { + options = parseOptions(options) + + if (version instanceof SemVer) { + if (version.loose === !!options.loose && + version.includePrerelease === !!options.includePrerelease) { + return version + } else { + version = version.version + } + } else if (typeof version !== 'string') { + throw new TypeError(`Invalid version. Must be a string. Got type "${typeof version}".`) + } + + if (version.length > MAX_LENGTH) { + throw new TypeError( + `version is longer than ${MAX_LENGTH} characters` + ) + } + + debug('SemVer', version, options) + this.options = options + this.loose = !!options.loose + // this isn't actually relevant for versions, but keep it so that we + // don't run into trouble passing this.options around. + this.includePrerelease = !!options.includePrerelease + + const m = version.trim().match(options.loose ? re[t.LOOSE] : re[t.FULL]) + + if (!m) { + throw new TypeError(`Invalid Version: ${version}`) + } + + this.raw = version + + // these are actually numbers + this.major = +m[1] + this.minor = +m[2] + this.patch = +m[3] + + if (this.major > MAX_SAFE_INTEGER || this.major < 0) { + throw new TypeError('Invalid major version') + } + + if (this.minor > MAX_SAFE_INTEGER || this.minor < 0) { + throw new TypeError('Invalid minor version') + } + + if (this.patch > MAX_SAFE_INTEGER || this.patch < 0) { + throw new TypeError('Invalid patch version') + } + + // numberify any prerelease numeric ids + if (!m[4]) { + this.prerelease = [] + } else { + this.prerelease = m[4].split('.').map((id) => { + if (/^[0-9]+$/.test(id)) { + const num = +id + if (num >= 0 && num < MAX_SAFE_INTEGER) { + return num + } + } + return id + }) + } + + this.build = m[5] ? m[5].split('.') : [] + this.format() + } + + format () { + this.version = `${this.major}.${this.minor}.${this.patch}` + if (this.prerelease.length) { + this.version += `-${this.prerelease.join('.')}` + } + return this.version + } + + toString () { + return this.version + } + + compare (other) { + debug('SemVer.compare', this.version, this.options, other) + if (!(other instanceof SemVer)) { + if (typeof other === 'string' && other === this.version) { + return 0 + } + other = new SemVer(other, this.options) + } + + if (other.version === this.version) { + return 0 + } + + return this.compareMain(other) || this.comparePre(other) + } + + compareMain (other) { + if (!(other instanceof SemVer)) { + other = new SemVer(other, this.options) + } + + return ( + compareIdentifiers(this.major, other.major) || + compareIdentifiers(this.minor, other.minor) || + compareIdentifiers(this.patch, other.patch) + ) + } + + comparePre (other) { + if (!(other instanceof SemVer)) { + other = new SemVer(other, this.options) + } + + // NOT having a prerelease is > having one + if (this.prerelease.length && !other.prerelease.length) { + return -1 + } else if (!this.prerelease.length && other.prerelease.length) { + return 1 + } else if (!this.prerelease.length && !other.prerelease.length) { + return 0 + } + + let i = 0 + do { + const a = this.prerelease[i] + const b = other.prerelease[i] + debug('prerelease compare', i, a, b) + if (a === undefined && b === undefined) { + return 0 + } else if (b === undefined) { + return 1 + } else if (a === undefined) { + return -1 + } else if (a === b) { + continue + } else { + return compareIdentifiers(a, b) + } + } while (++i) + } + + compareBuild (other) { + if (!(other instanceof SemVer)) { + other = new SemVer(other, this.options) + } + + let i = 0 + do { + const a = this.build[i] + const b = other.build[i] + debug('prerelease compare', i, a, b) + if (a === undefined && b === undefined) { + return 0 + } else if (b === undefined) { + return 1 + } else if (a === undefined) { + return -1 + } else if (a === b) { + continue + } else { + return compareIdentifiers(a, b) + } + } while (++i) + } + + // preminor will bump the version up to the next minor release, and immediately + // down to pre-release. premajor and prepatch work the same way. + inc (release, identifier, identifierBase) { + switch (release) { + case 'premajor': + this.prerelease.length = 0 + this.patch = 0 + this.minor = 0 + this.major++ + this.inc('pre', identifier, identifierBase) + break + case 'preminor': + this.prerelease.length = 0 + this.patch = 0 + this.minor++ + this.inc('pre', identifier, identifierBase) + break + case 'prepatch': + // If this is already a prerelease, it will bump to the next version + // drop any prereleases that might already exist, since they are not + // relevant at this point. + this.prerelease.length = 0 + this.inc('patch', identifier, identifierBase) + this.inc('pre', identifier, identifierBase) + break + // If the input is a non-prerelease version, this acts the same as + // prepatch. + case 'prerelease': + if (this.prerelease.length === 0) { + this.inc('patch', identifier, identifierBase) + } + this.inc('pre', identifier, identifierBase) + break + + case 'major': + // If this is a pre-major version, bump up to the same major version. + // Otherwise increment major. + // 1.0.0-5 bumps to 1.0.0 + // 1.1.0 bumps to 2.0.0 + if ( + this.minor !== 0 || + this.patch !== 0 || + this.prerelease.length === 0 + ) { + this.major++ + } + this.minor = 0 + this.patch = 0 + this.prerelease = [] + break + case 'minor': + // If this is a pre-minor version, bump up to the same minor version. + // Otherwise increment minor. + // 1.2.0-5 bumps to 1.2.0 + // 1.2.1 bumps to 1.3.0 + if (this.patch !== 0 || this.prerelease.length === 0) { + this.minor++ + } + this.patch = 0 + this.prerelease = [] + break + case 'patch': + // If this is not a pre-release version, it will increment the patch. + // If it is a pre-release it will bump up to the same patch version. + // 1.2.0-5 patches to 1.2.0 + // 1.2.0 patches to 1.2.1 + if (this.prerelease.length === 0) { + this.patch++ + } + this.prerelease = [] + break + // This probably shouldn't be used publicly. + // 1.0.0 'pre' would become 1.0.0-0 which is the wrong direction. + case 'pre': { + const base = Number(identifierBase) ? 1 : 0 + + if (!identifier && identifierBase === false) { + throw new Error('invalid increment argument: identifier is empty') + } + + if (this.prerelease.length === 0) { + this.prerelease = [base] + } else { + let i = this.prerelease.length + while (--i >= 0) { + if (typeof this.prerelease[i] === 'number') { + this.prerelease[i]++ + i = -2 + } + } + if (i === -1) { + // didn't increment anything + if (identifier === this.prerelease.join('.') && identifierBase === false) { + throw new Error('invalid increment argument: identifier already exists') + } + this.prerelease.push(base) + } + } + if (identifier) { + // 1.2.0-beta.1 bumps to 1.2.0-beta.2, + // 1.2.0-beta.fooblz or 1.2.0-beta bumps to 1.2.0-beta.0 + let prerelease = [identifier, base] + if (identifierBase === false) { + prerelease = [identifier] + } + if (compareIdentifiers(this.prerelease[0], identifier) === 0) { + if (isNaN(this.prerelease[1])) { + this.prerelease = prerelease + } + } else { + this.prerelease = prerelease + } + } + break + } + default: + throw new Error(`invalid increment argument: ${release}`) + } + this.raw = this.format() + if (this.build.length) { + this.raw += `+${this.build.join('.')}` + } + return this + } +} + +module.exports = SemVer + +},{"../internal/constants":65,"../internal/debug":66,"../internal/identifiers":67,"../internal/parse-options":68,"../internal/re":69}],40:[function(require,module,exports){ +const parse = require('./parse') +const clean = (version, options) => { + const s = parse(version.trim().replace(/^[=v]+/, ''), options) + return s ? s.version : null +} +module.exports = clean + +},{"./parse":56}],41:[function(require,module,exports){ +const eq = require('./eq') +const neq = require('./neq') +const gt = require('./gt') +const gte = require('./gte') +const lt = require('./lt') +const lte = require('./lte') + +const cmp = (a, op, b, loose) => { + switch (op) { + case '===': + if (typeof a === 'object') { + a = a.version + } + if (typeof b === 'object') { + b = b.version + } + return a === b + + case '!==': + if (typeof a === 'object') { + a = a.version + } + if (typeof b === 'object') { + b = b.version + } + return a !== b + + case '': + case '=': + case '==': + return eq(a, b, loose) + + case '!=': + return neq(a, b, loose) + + case '>': + return gt(a, b, loose) + + case '>=': + return gte(a, b, loose) + + case '<': + return lt(a, b, loose) + + case '<=': + return lte(a, b, loose) + + default: + throw new TypeError(`Invalid operator: ${op}`) + } +} +module.exports = cmp + +},{"./eq":47,"./gt":48,"./gte":49,"./lt":51,"./lte":52,"./neq":55}],42:[function(require,module,exports){ +const SemVer = require('../classes/semver') +const parse = require('./parse') +const { safeRe: re, t } = require('../internal/re') + +const coerce = (version, options) => { + if (version instanceof SemVer) { + return version + } + + if (typeof version === 'number') { + version = String(version) + } + + if (typeof version !== 'string') { + return null + } + + options = options || {} + + let match = null + if (!options.rtl) { + match = version.match(re[t.COERCE]) + } else { + // Find the right-most coercible string that does not share + // a terminus with a more left-ward coercible string. + // Eg, '1.2.3.4' wants to coerce '2.3.4', not '3.4' or '4' + // + // Walk through the string checking with a /g regexp + // Manually set the index so as to pick up overlapping matches. + // Stop when we get a match that ends at the string end, since no + // coercible string can be more right-ward without the same terminus. + let next + while ((next = re[t.COERCERTL].exec(version)) && + (!match || match.index + match[0].length !== version.length) + ) { + if (!match || + next.index + next[0].length !== match.index + match[0].length) { + match = next + } + re[t.COERCERTL].lastIndex = next.index + next[1].length + next[2].length + } + // leave it in a clean state + re[t.COERCERTL].lastIndex = -1 + } + + if (match === null) { + return null + } + + return parse(`${match[2]}.${match[3] || '0'}.${match[4] || '0'}`, options) +} +module.exports = coerce + +},{"../classes/semver":39,"../internal/re":69,"./parse":56}],43:[function(require,module,exports){ +const SemVer = require('../classes/semver') +const compareBuild = (a, b, loose) => { + const versionA = new SemVer(a, loose) + const versionB = new SemVer(b, loose) + return versionA.compare(versionB) || versionA.compareBuild(versionB) +} +module.exports = compareBuild + +},{"../classes/semver":39}],44:[function(require,module,exports){ +const compare = require('./compare') +const compareLoose = (a, b) => compare(a, b, true) +module.exports = compareLoose + +},{"./compare":45}],45:[function(require,module,exports){ +const SemVer = require('../classes/semver') +const compare = (a, b, loose) => + new SemVer(a, loose).compare(new SemVer(b, loose)) + +module.exports = compare + +},{"../classes/semver":39}],46:[function(require,module,exports){ +const parse = require('./parse.js') + +const diff = (version1, version2) => { + const v1 = parse(version1, null, true) + const v2 = parse(version2, null, true) + const comparison = v1.compare(v2) + + if (comparison === 0) { + return null + } + + const v1Higher = comparison > 0 + const highVersion = v1Higher ? v1 : v2 + const lowVersion = v1Higher ? v2 : v1 + const highHasPre = !!highVersion.prerelease.length + const lowHasPre = !!lowVersion.prerelease.length + + if (lowHasPre && !highHasPre) { + // Going from prerelease -> no prerelease requires some special casing + + // If the low version has only a major, then it will always be a major + // Some examples: + // 1.0.0-1 -> 1.0.0 + // 1.0.0-1 -> 1.1.1 + // 1.0.0-1 -> 2.0.0 + if (!lowVersion.patch && !lowVersion.minor) { + return 'major' + } + + // Otherwise it can be determined by checking the high version + + if (highVersion.patch) { + // anything higher than a patch bump would result in the wrong version + return 'patch' + } + + if (highVersion.minor) { + // anything higher than a minor bump would result in the wrong version + return 'minor' + } + + // bumping major/minor/patch all have same result + return 'major' + } + + // add the `pre` prefix if we are going to a prerelease version + const prefix = highHasPre ? 'pre' : '' + + if (v1.major !== v2.major) { + return prefix + 'major' + } + + if (v1.minor !== v2.minor) { + return prefix + 'minor' + } + + if (v1.patch !== v2.patch) { + return prefix + 'patch' + } + + // high and low are preleases + return 'prerelease' +} + +module.exports = diff + +},{"./parse.js":56}],47:[function(require,module,exports){ +const compare = require('./compare') +const eq = (a, b, loose) => compare(a, b, loose) === 0 +module.exports = eq + +},{"./compare":45}],48:[function(require,module,exports){ +const compare = require('./compare') +const gt = (a, b, loose) => compare(a, b, loose) > 0 +module.exports = gt + +},{"./compare":45}],49:[function(require,module,exports){ +const compare = require('./compare') +const gte = (a, b, loose) => compare(a, b, loose) >= 0 +module.exports = gte + +},{"./compare":45}],50:[function(require,module,exports){ +const SemVer = require('../classes/semver') + +const inc = (version, release, options, identifier, identifierBase) => { + if (typeof (options) === 'string') { + identifierBase = identifier + identifier = options + options = undefined + } + + try { + return new SemVer( + version instanceof SemVer ? version.version : version, + options + ).inc(release, identifier, identifierBase).version + } catch (er) { + return null + } +} +module.exports = inc + +},{"../classes/semver":39}],51:[function(require,module,exports){ +const compare = require('./compare') +const lt = (a, b, loose) => compare(a, b, loose) < 0 +module.exports = lt + +},{"./compare":45}],52:[function(require,module,exports){ +const compare = require('./compare') +const lte = (a, b, loose) => compare(a, b, loose) <= 0 +module.exports = lte + +},{"./compare":45}],53:[function(require,module,exports){ +const SemVer = require('../classes/semver') +const major = (a, loose) => new SemVer(a, loose).major +module.exports = major + +},{"../classes/semver":39}],54:[function(require,module,exports){ +const SemVer = require('../classes/semver') +const minor = (a, loose) => new SemVer(a, loose).minor +module.exports = minor + +},{"../classes/semver":39}],55:[function(require,module,exports){ +const compare = require('./compare') +const neq = (a, b, loose) => compare(a, b, loose) !== 0 +module.exports = neq + +},{"./compare":45}],56:[function(require,module,exports){ +const SemVer = require('../classes/semver') +const parse = (version, options, throwErrors = false) => { + if (version instanceof SemVer) { + return version + } + try { + return new SemVer(version, options) + } catch (er) { + if (!throwErrors) { + return null + } + throw er + } +} + +module.exports = parse + +},{"../classes/semver":39}],57:[function(require,module,exports){ +const SemVer = require('../classes/semver') +const patch = (a, loose) => new SemVer(a, loose).patch +module.exports = patch + +},{"../classes/semver":39}],58:[function(require,module,exports){ +const parse = require('./parse') +const prerelease = (version, options) => { + const parsed = parse(version, options) + return (parsed && parsed.prerelease.length) ? parsed.prerelease : null +} +module.exports = prerelease + +},{"./parse":56}],59:[function(require,module,exports){ +const compare = require('./compare') +const rcompare = (a, b, loose) => compare(b, a, loose) +module.exports = rcompare + +},{"./compare":45}],60:[function(require,module,exports){ +const compareBuild = require('./compare-build') +const rsort = (list, loose) => list.sort((a, b) => compareBuild(b, a, loose)) +module.exports = rsort + +},{"./compare-build":43}],61:[function(require,module,exports){ +const Range = require('../classes/range') +const satisfies = (version, range, options) => { + try { + range = new Range(range, options) + } catch (er) { + return false + } + return range.test(version) +} +module.exports = satisfies + +},{"../classes/range":38}],62:[function(require,module,exports){ +const compareBuild = require('./compare-build') +const sort = (list, loose) => list.sort((a, b) => compareBuild(a, b, loose)) +module.exports = sort + +},{"./compare-build":43}],63:[function(require,module,exports){ +const parse = require('./parse') +const valid = (version, options) => { + const v = parse(version, options) + return v ? v.version : null +} +module.exports = valid + +},{"./parse":56}],64:[function(require,module,exports){ +// just pre-load all the stuff that index.js lazily exports +const internalRe = require('./internal/re') +const constants = require('./internal/constants') +const SemVer = require('./classes/semver') +const identifiers = require('./internal/identifiers') +const parse = require('./functions/parse') +const valid = require('./functions/valid') +const clean = require('./functions/clean') +const inc = require('./functions/inc') +const diff = require('./functions/diff') +const major = require('./functions/major') +const minor = require('./functions/minor') +const patch = require('./functions/patch') +const prerelease = require('./functions/prerelease') +const compare = require('./functions/compare') +const rcompare = require('./functions/rcompare') +const compareLoose = require('./functions/compare-loose') +const compareBuild = require('./functions/compare-build') +const sort = require('./functions/sort') +const rsort = require('./functions/rsort') +const gt = require('./functions/gt') +const lt = require('./functions/lt') +const eq = require('./functions/eq') +const neq = require('./functions/neq') +const gte = require('./functions/gte') +const lte = require('./functions/lte') +const cmp = require('./functions/cmp') +const coerce = require('./functions/coerce') +const Comparator = require('./classes/comparator') +const Range = require('./classes/range') +const satisfies = require('./functions/satisfies') +const toComparators = require('./ranges/to-comparators') +const maxSatisfying = require('./ranges/max-satisfying') +const minSatisfying = require('./ranges/min-satisfying') +const minVersion = require('./ranges/min-version') +const validRange = require('./ranges/valid') +const outside = require('./ranges/outside') +const gtr = require('./ranges/gtr') +const ltr = require('./ranges/ltr') +const intersects = require('./ranges/intersects') +const simplifyRange = require('./ranges/simplify') +const subset = require('./ranges/subset') +module.exports = { + parse, + valid, + clean, + inc, + diff, + major, + minor, + patch, + prerelease, + compare, + rcompare, + compareLoose, + compareBuild, + sort, + rsort, + gt, + lt, + eq, + neq, + gte, + lte, + cmp, + coerce, + Comparator, + Range, + satisfies, + toComparators, + maxSatisfying, + minSatisfying, + minVersion, + validRange, + outside, + gtr, + ltr, + intersects, + simplifyRange, + subset, + SemVer, + re: internalRe.re, + src: internalRe.src, + tokens: internalRe.t, + SEMVER_SPEC_VERSION: constants.SEMVER_SPEC_VERSION, + RELEASE_TYPES: constants.RELEASE_TYPES, + compareIdentifiers: identifiers.compareIdentifiers, + rcompareIdentifiers: identifiers.rcompareIdentifiers, +} + +},{"./classes/comparator":37,"./classes/range":38,"./classes/semver":39,"./functions/clean":40,"./functions/cmp":41,"./functions/coerce":42,"./functions/compare":45,"./functions/compare-build":43,"./functions/compare-loose":44,"./functions/diff":46,"./functions/eq":47,"./functions/gt":48,"./functions/gte":49,"./functions/inc":50,"./functions/lt":51,"./functions/lte":52,"./functions/major":53,"./functions/minor":54,"./functions/neq":55,"./functions/parse":56,"./functions/patch":57,"./functions/prerelease":58,"./functions/rcompare":59,"./functions/rsort":60,"./functions/satisfies":61,"./functions/sort":62,"./functions/valid":63,"./internal/constants":65,"./internal/identifiers":67,"./internal/re":69,"./ranges/gtr":70,"./ranges/intersects":71,"./ranges/ltr":72,"./ranges/max-satisfying":73,"./ranges/min-satisfying":74,"./ranges/min-version":75,"./ranges/outside":76,"./ranges/simplify":77,"./ranges/subset":78,"./ranges/to-comparators":79,"./ranges/valid":80}],65:[function(require,module,exports){ +// Note: this is the semver.org version of the spec that it implements +// Not necessarily the package version of this code. +const SEMVER_SPEC_VERSION = '2.0.0' + +const MAX_LENGTH = 256 +const MAX_SAFE_INTEGER = Number.MAX_SAFE_INTEGER || +/* istanbul ignore next */ 9007199254740991 + +// Max safe segment length for coercion. +const MAX_SAFE_COMPONENT_LENGTH = 16 + +// Max safe length for a build identifier. The max length minus 6 characters for +// the shortest version with a build 0.0.0+BUILD. +const MAX_SAFE_BUILD_LENGTH = MAX_LENGTH - 6 + +const RELEASE_TYPES = [ + 'major', + 'premajor', + 'minor', + 'preminor', + 'patch', + 'prepatch', + 'prerelease', +] + +module.exports = { + MAX_LENGTH, + MAX_SAFE_COMPONENT_LENGTH, + MAX_SAFE_BUILD_LENGTH, + MAX_SAFE_INTEGER, + RELEASE_TYPES, + SEMVER_SPEC_VERSION, + FLAG_INCLUDE_PRERELEASE: 0b001, + FLAG_LOOSE: 0b010, +} + +},{}],66:[function(require,module,exports){ +(function (process){(function (){ +const debug = ( + typeof process === 'object' && + process.env && + process.env.NODE_DEBUG && + /\bsemver\b/i.test(process.env.NODE_DEBUG) +) ? (...args) => console.error('SEMVER', ...args) + : () => {} + +module.exports = debug + +}).call(this)}).call(this,require('_process')) +},{"_process":120}],67:[function(require,module,exports){ +const numeric = /^[0-9]+$/ +const compareIdentifiers = (a, b) => { + const anum = numeric.test(a) + const bnum = numeric.test(b) + + if (anum && bnum) { + a = +a + b = +b + } + + return a === b ? 0 + : (anum && !bnum) ? -1 + : (bnum && !anum) ? 1 + : a < b ? -1 + : 1 +} + +const rcompareIdentifiers = (a, b) => compareIdentifiers(b, a) + +module.exports = { + compareIdentifiers, + rcompareIdentifiers, +} + +},{}],68:[function(require,module,exports){ +// parse out just the options we care about +const looseOption = Object.freeze({ loose: true }) +const emptyOpts = Object.freeze({ }) +const parseOptions = options => { + if (!options) { + return emptyOpts + } + + if (typeof options !== 'object') { + return looseOption + } + + return options +} +module.exports = parseOptions + +},{}],69:[function(require,module,exports){ +const { + MAX_SAFE_COMPONENT_LENGTH, + MAX_SAFE_BUILD_LENGTH, + MAX_LENGTH, +} = require('./constants') +const debug = require('./debug') +exports = module.exports = {} + +// The actual regexps go on exports.re +const re = exports.re = [] +const safeRe = exports.safeRe = [] +const src = exports.src = [] +const t = exports.t = {} +let R = 0 + +const LETTERDASHNUMBER = '[a-zA-Z0-9-]' + +// Replace some greedy regex tokens to prevent regex dos issues. These regex are +// used internally via the safeRe object since all inputs in this library get +// normalized first to trim and collapse all extra whitespace. The original +// regexes are exported for userland consumption and lower level usage. A +// future breaking change could export the safer regex only with a note that +// all input should have extra whitespace removed. +const safeRegexReplacements = [ + ['\\s', 1], + ['\\d', MAX_LENGTH], + [LETTERDASHNUMBER, MAX_SAFE_BUILD_LENGTH], +] + +const makeSafeRegex = (value) => { + for (const [token, max] of safeRegexReplacements) { + value = value + .split(`${token}*`).join(`${token}{0,${max}}`) + .split(`${token}+`).join(`${token}{1,${max}}`) + } + return value +} + +const createToken = (name, value, isGlobal) => { + const safe = makeSafeRegex(value) + const index = R++ + debug(name, index, value) + t[name] = index + src[index] = value + re[index] = new RegExp(value, isGlobal ? 'g' : undefined) + safeRe[index] = new RegExp(safe, isGlobal ? 'g' : undefined) +} + +// The following Regular Expressions can be used for tokenizing, +// validating, and parsing SemVer version strings. + +// ## Numeric Identifier +// A single `0`, or a non-zero digit followed by zero or more digits. + +createToken('NUMERICIDENTIFIER', '0|[1-9]\\d*') +createToken('NUMERICIDENTIFIERLOOSE', '\\d+') + +// ## Non-numeric Identifier +// Zero or more digits, followed by a letter or hyphen, and then zero or +// more letters, digits, or hyphens. + +createToken('NONNUMERICIDENTIFIER', `\\d*[a-zA-Z-]${LETTERDASHNUMBER}*`) + +// ## Main Version +// Three dot-separated numeric identifiers. + +createToken('MAINVERSION', `(${src[t.NUMERICIDENTIFIER]})\\.` + + `(${src[t.NUMERICIDENTIFIER]})\\.` + + `(${src[t.NUMERICIDENTIFIER]})`) + +createToken('MAINVERSIONLOOSE', `(${src[t.NUMERICIDENTIFIERLOOSE]})\\.` + + `(${src[t.NUMERICIDENTIFIERLOOSE]})\\.` + + `(${src[t.NUMERICIDENTIFIERLOOSE]})`) + +// ## Pre-release Version Identifier +// A numeric identifier, or a non-numeric identifier. + +createToken('PRERELEASEIDENTIFIER', `(?:${src[t.NUMERICIDENTIFIER] +}|${src[t.NONNUMERICIDENTIFIER]})`) + +createToken('PRERELEASEIDENTIFIERLOOSE', `(?:${src[t.NUMERICIDENTIFIERLOOSE] +}|${src[t.NONNUMERICIDENTIFIER]})`) + +// ## Pre-release Version +// Hyphen, followed by one or more dot-separated pre-release version +// identifiers. + +createToken('PRERELEASE', `(?:-(${src[t.PRERELEASEIDENTIFIER] +}(?:\\.${src[t.PRERELEASEIDENTIFIER]})*))`) + +createToken('PRERELEASELOOSE', `(?:-?(${src[t.PRERELEASEIDENTIFIERLOOSE] +}(?:\\.${src[t.PRERELEASEIDENTIFIERLOOSE]})*))`) + +// ## Build Metadata Identifier +// Any combination of digits, letters, or hyphens. + +createToken('BUILDIDENTIFIER', `${LETTERDASHNUMBER}+`) + +// ## Build Metadata +// Plus sign, followed by one or more period-separated build metadata +// identifiers. + +createToken('BUILD', `(?:\\+(${src[t.BUILDIDENTIFIER] +}(?:\\.${src[t.BUILDIDENTIFIER]})*))`) + +// ## Full Version String +// A main version, followed optionally by a pre-release version and +// build metadata. + +// Note that the only major, minor, patch, and pre-release sections of +// the version string are capturing groups. The build metadata is not a +// capturing group, because it should not ever be used in version +// comparison. + +createToken('FULLPLAIN', `v?${src[t.MAINVERSION] +}${src[t.PRERELEASE]}?${ + src[t.BUILD]}?`) + +createToken('FULL', `^${src[t.FULLPLAIN]}$`) + +// like full, but allows v1.2.3 and =1.2.3, which people do sometimes. +// also, 1.0.0alpha1 (prerelease without the hyphen) which is pretty +// common in the npm registry. +createToken('LOOSEPLAIN', `[v=\\s]*${src[t.MAINVERSIONLOOSE] +}${src[t.PRERELEASELOOSE]}?${ + src[t.BUILD]}?`) + +createToken('LOOSE', `^${src[t.LOOSEPLAIN]}$`) + +createToken('GTLT', '((?:<|>)?=?)') + +// Something like "2.*" or "1.2.x". +// Note that "x.x" is a valid xRange identifer, meaning "any version" +// Only the first item is strictly required. +createToken('XRANGEIDENTIFIERLOOSE', `${src[t.NUMERICIDENTIFIERLOOSE]}|x|X|\\*`) +createToken('XRANGEIDENTIFIER', `${src[t.NUMERICIDENTIFIER]}|x|X|\\*`) + +createToken('XRANGEPLAIN', `[v=\\s]*(${src[t.XRANGEIDENTIFIER]})` + + `(?:\\.(${src[t.XRANGEIDENTIFIER]})` + + `(?:\\.(${src[t.XRANGEIDENTIFIER]})` + + `(?:${src[t.PRERELEASE]})?${ + src[t.BUILD]}?` + + `)?)?`) + +createToken('XRANGEPLAINLOOSE', `[v=\\s]*(${src[t.XRANGEIDENTIFIERLOOSE]})` + + `(?:\\.(${src[t.XRANGEIDENTIFIERLOOSE]})` + + `(?:\\.(${src[t.XRANGEIDENTIFIERLOOSE]})` + + `(?:${src[t.PRERELEASELOOSE]})?${ + src[t.BUILD]}?` + + `)?)?`) + +createToken('XRANGE', `^${src[t.GTLT]}\\s*${src[t.XRANGEPLAIN]}$`) +createToken('XRANGELOOSE', `^${src[t.GTLT]}\\s*${src[t.XRANGEPLAINLOOSE]}$`) + +// Coercion. +// Extract anything that could conceivably be a part of a valid semver +createToken('COERCE', `${'(^|[^\\d])' + + '(\\d{1,'}${MAX_SAFE_COMPONENT_LENGTH}})` + + `(?:\\.(\\d{1,${MAX_SAFE_COMPONENT_LENGTH}}))?` + + `(?:\\.(\\d{1,${MAX_SAFE_COMPONENT_LENGTH}}))?` + + `(?:$|[^\\d])`) +createToken('COERCERTL', src[t.COERCE], true) + +// Tilde ranges. +// Meaning is "reasonably at or greater than" +createToken('LONETILDE', '(?:~>?)') + +createToken('TILDETRIM', `(\\s*)${src[t.LONETILDE]}\\s+`, true) +exports.tildeTrimReplace = '$1~' + +createToken('TILDE', `^${src[t.LONETILDE]}${src[t.XRANGEPLAIN]}$`) +createToken('TILDELOOSE', `^${src[t.LONETILDE]}${src[t.XRANGEPLAINLOOSE]}$`) + +// Caret ranges. +// Meaning is "at least and backwards compatible with" +createToken('LONECARET', '(?:\\^)') + +createToken('CARETTRIM', `(\\s*)${src[t.LONECARET]}\\s+`, true) +exports.caretTrimReplace = '$1^' + +createToken('CARET', `^${src[t.LONECARET]}${src[t.XRANGEPLAIN]}$`) +createToken('CARETLOOSE', `^${src[t.LONECARET]}${src[t.XRANGEPLAINLOOSE]}$`) + +// A simple gt/lt/eq thing, or just "" to indicate "any version" +createToken('COMPARATORLOOSE', `^${src[t.GTLT]}\\s*(${src[t.LOOSEPLAIN]})$|^$`) +createToken('COMPARATOR', `^${src[t.GTLT]}\\s*(${src[t.FULLPLAIN]})$|^$`) + +// An expression to strip any whitespace between the gtlt and the thing +// it modifies, so that `> 1.2.3` ==> `>1.2.3` +createToken('COMPARATORTRIM', `(\\s*)${src[t.GTLT] +}\\s*(${src[t.LOOSEPLAIN]}|${src[t.XRANGEPLAIN]})`, true) +exports.comparatorTrimReplace = '$1$2$3' + +// Something like `1.2.3 - 1.2.4` +// Note that these all use the loose form, because they'll be +// checked against either the strict or loose comparator form +// later. +createToken('HYPHENRANGE', `^\\s*(${src[t.XRANGEPLAIN]})` + + `\\s+-\\s+` + + `(${src[t.XRANGEPLAIN]})` + + `\\s*$`) + +createToken('HYPHENRANGELOOSE', `^\\s*(${src[t.XRANGEPLAINLOOSE]})` + + `\\s+-\\s+` + + `(${src[t.XRANGEPLAINLOOSE]})` + + `\\s*$`) + +// Star ranges basically just allow anything at all. +createToken('STAR', '(<|>)?=?\\s*\\*') +// >=0.0.0 is like a star +createToken('GTE0', '^\\s*>=\\s*0\\.0\\.0\\s*$') +createToken('GTE0PRE', '^\\s*>=\\s*0\\.0\\.0-0\\s*$') + +},{"./constants":65,"./debug":66}],70:[function(require,module,exports){ +// Determine if version is greater than all the versions possible in the range. +const outside = require('./outside') +const gtr = (version, range, options) => outside(version, range, '>', options) +module.exports = gtr + +},{"./outside":76}],71:[function(require,module,exports){ +const Range = require('../classes/range') +const intersects = (r1, r2, options) => { + r1 = new Range(r1, options) + r2 = new Range(r2, options) + return r1.intersects(r2, options) +} +module.exports = intersects + +},{"../classes/range":38}],72:[function(require,module,exports){ +const outside = require('./outside') +// Determine if version is less than all the versions possible in the range +const ltr = (version, range, options) => outside(version, range, '<', options) +module.exports = ltr + +},{"./outside":76}],73:[function(require,module,exports){ +const SemVer = require('../classes/semver') +const Range = require('../classes/range') + +const maxSatisfying = (versions, range, options) => { + let max = null + let maxSV = null + let rangeObj = null + try { + rangeObj = new Range(range, options) + } catch (er) { + return null + } + versions.forEach((v) => { + if (rangeObj.test(v)) { + // satisfies(v, range, options) + if (!max || maxSV.compare(v) === -1) { + // compare(max, v, true) + max = v + maxSV = new SemVer(max, options) + } + } + }) + return max +} +module.exports = maxSatisfying + +},{"../classes/range":38,"../classes/semver":39}],74:[function(require,module,exports){ +const SemVer = require('../classes/semver') +const Range = require('../classes/range') +const minSatisfying = (versions, range, options) => { + let min = null + let minSV = null + let rangeObj = null + try { + rangeObj = new Range(range, options) + } catch (er) { + return null + } + versions.forEach((v) => { + if (rangeObj.test(v)) { + // satisfies(v, range, options) + if (!min || minSV.compare(v) === 1) { + // compare(min, v, true) + min = v + minSV = new SemVer(min, options) + } + } + }) + return min +} +module.exports = minSatisfying + +},{"../classes/range":38,"../classes/semver":39}],75:[function(require,module,exports){ +const SemVer = require('../classes/semver') +const Range = require('../classes/range') +const gt = require('../functions/gt') + +const minVersion = (range, loose) => { + range = new Range(range, loose) + + let minver = new SemVer('0.0.0') + if (range.test(minver)) { + return minver + } + + minver = new SemVer('0.0.0-0') + if (range.test(minver)) { + return minver + } + + minver = null + for (let i = 0; i < range.set.length; ++i) { + const comparators = range.set[i] + + let setMin = null + comparators.forEach((comparator) => { + // Clone to avoid manipulating the comparator's semver object. + const compver = new SemVer(comparator.semver.version) + switch (comparator.operator) { + case '>': + if (compver.prerelease.length === 0) { + compver.patch++ + } else { + compver.prerelease.push(0) + } + compver.raw = compver.format() + /* fallthrough */ + case '': + case '>=': + if (!setMin || gt(compver, setMin)) { + setMin = compver + } + break + case '<': + case '<=': + /* Ignore maximum versions */ + break + /* istanbul ignore next */ + default: + throw new Error(`Unexpected operation: ${comparator.operator}`) + } + }) + if (setMin && (!minver || gt(minver, setMin))) { + minver = setMin + } + } + + if (minver && range.test(minver)) { + return minver + } + + return null +} +module.exports = minVersion + +},{"../classes/range":38,"../classes/semver":39,"../functions/gt":48}],76:[function(require,module,exports){ +const SemVer = require('../classes/semver') +const Comparator = require('../classes/comparator') +const { ANY } = Comparator +const Range = require('../classes/range') +const satisfies = require('../functions/satisfies') +const gt = require('../functions/gt') +const lt = require('../functions/lt') +const lte = require('../functions/lte') +const gte = require('../functions/gte') + +const outside = (version, range, hilo, options) => { + version = new SemVer(version, options) + range = new Range(range, options) + + let gtfn, ltefn, ltfn, comp, ecomp + switch (hilo) { + case '>': + gtfn = gt + ltefn = lte + ltfn = lt + comp = '>' + ecomp = '>=' + break + case '<': + gtfn = lt + ltefn = gte + ltfn = gt + comp = '<' + ecomp = '<=' + break + default: + throw new TypeError('Must provide a hilo val of "<" or ">"') + } + + // If it satisfies the range it is not outside + if (satisfies(version, range, options)) { + return false + } + + // From now on, variable terms are as if we're in "gtr" mode. + // but note that everything is flipped for the "ltr" function. + + for (let i = 0; i < range.set.length; ++i) { + const comparators = range.set[i] + + let high = null + let low = null + + comparators.forEach((comparator) => { + if (comparator.semver === ANY) { + comparator = new Comparator('>=0.0.0') + } + high = high || comparator + low = low || comparator + if (gtfn(comparator.semver, high.semver, options)) { + high = comparator + } else if (ltfn(comparator.semver, low.semver, options)) { + low = comparator + } + }) + + // If the edge version comparator has a operator then our version + // isn't outside it + if (high.operator === comp || high.operator === ecomp) { + return false + } + + // If the lowest version comparator has an operator and our version + // is less than it then it isn't higher than the range + if ((!low.operator || low.operator === comp) && + ltefn(version, low.semver)) { + return false + } else if (low.operator === ecomp && ltfn(version, low.semver)) { + return false + } + } + return true +} + +module.exports = outside + +},{"../classes/comparator":37,"../classes/range":38,"../classes/semver":39,"../functions/gt":48,"../functions/gte":49,"../functions/lt":51,"../functions/lte":52,"../functions/satisfies":61}],77:[function(require,module,exports){ +// given a set of versions and a range, create a "simplified" range +// that includes the same versions that the original range does +// If the original range is shorter than the simplified one, return that. +const satisfies = require('../functions/satisfies.js') +const compare = require('../functions/compare.js') +module.exports = (versions, range, options) => { + const set = [] + let first = null + let prev = null + const v = versions.sort((a, b) => compare(a, b, options)) + for (const version of v) { + const included = satisfies(version, range, options) + if (included) { + prev = version + if (!first) { + first = version + } + } else { + if (prev) { + set.push([first, prev]) + } + prev = null + first = null + } + } + if (first) { + set.push([first, null]) + } + + const ranges = [] + for (const [min, max] of set) { + if (min === max) { + ranges.push(min) + } else if (!max && min === v[0]) { + ranges.push('*') + } else if (!max) { + ranges.push(`>=${min}`) + } else if (min === v[0]) { + ranges.push(`<=${max}`) + } else { + ranges.push(`${min} - ${max}`) + } + } + const simplified = ranges.join(' || ') + const original = typeof range.raw === 'string' ? range.raw : String(range) + return simplified.length < original.length ? simplified : range +} + +},{"../functions/compare.js":45,"../functions/satisfies.js":61}],78:[function(require,module,exports){ +const Range = require('../classes/range.js') +const Comparator = require('../classes/comparator.js') +const { ANY } = Comparator +const satisfies = require('../functions/satisfies.js') +const compare = require('../functions/compare.js') + +// Complex range `r1 || r2 || ...` is a subset of `R1 || R2 || ...` iff: +// - Every simple range `r1, r2, ...` is a null set, OR +// - Every simple range `r1, r2, ...` which is not a null set is a subset of +// some `R1, R2, ...` +// +// Simple range `c1 c2 ...` is a subset of simple range `C1 C2 ...` iff: +// - If c is only the ANY comparator +// - If C is only the ANY comparator, return true +// - Else if in prerelease mode, return false +// - else replace c with `[>=0.0.0]` +// - If C is only the ANY comparator +// - if in prerelease mode, return true +// - else replace C with `[>=0.0.0]` +// - Let EQ be the set of = comparators in c +// - If EQ is more than one, return true (null set) +// - Let GT be the highest > or >= comparator in c +// - Let LT be the lowest < or <= comparator in c +// - If GT and LT, and GT.semver > LT.semver, return true (null set) +// - If any C is a = range, and GT or LT are set, return false +// - If EQ +// - If GT, and EQ does not satisfy GT, return true (null set) +// - If LT, and EQ does not satisfy LT, return true (null set) +// - If EQ satisfies every C, return true +// - Else return false +// - If GT +// - If GT.semver is lower than any > or >= comp in C, return false +// - If GT is >=, and GT.semver does not satisfy every C, return false +// - If GT.semver has a prerelease, and not in prerelease mode +// - If no C has a prerelease and the GT.semver tuple, return false +// - If LT +// - If LT.semver is greater than any < or <= comp in C, return false +// - If LT is <=, and LT.semver does not satisfy every C, return false +// - If GT.semver has a prerelease, and not in prerelease mode +// - If no C has a prerelease and the LT.semver tuple, return false +// - Else return true + +const subset = (sub, dom, options = {}) => { + if (sub === dom) { + return true + } + + sub = new Range(sub, options) + dom = new Range(dom, options) + let sawNonNull = false + + OUTER: for (const simpleSub of sub.set) { + for (const simpleDom of dom.set) { + const isSub = simpleSubset(simpleSub, simpleDom, options) + sawNonNull = sawNonNull || isSub !== null + if (isSub) { + continue OUTER + } + } + // the null set is a subset of everything, but null simple ranges in + // a complex range should be ignored. so if we saw a non-null range, + // then we know this isn't a subset, but if EVERY simple range was null, + // then it is a subset. + if (sawNonNull) { + return false + } + } + return true +} + +const minimumVersionWithPreRelease = [new Comparator('>=0.0.0-0')] +const minimumVersion = [new Comparator('>=0.0.0')] + +const simpleSubset = (sub, dom, options) => { + if (sub === dom) { + return true + } + + if (sub.length === 1 && sub[0].semver === ANY) { + if (dom.length === 1 && dom[0].semver === ANY) { + return true + } else if (options.includePrerelease) { + sub = minimumVersionWithPreRelease + } else { + sub = minimumVersion + } + } + + if (dom.length === 1 && dom[0].semver === ANY) { + if (options.includePrerelease) { + return true + } else { + dom = minimumVersion + } + } + + const eqSet = new Set() + let gt, lt + for (const c of sub) { + if (c.operator === '>' || c.operator === '>=') { + gt = higherGT(gt, c, options) + } else if (c.operator === '<' || c.operator === '<=') { + lt = lowerLT(lt, c, options) + } else { + eqSet.add(c.semver) + } + } + + if (eqSet.size > 1) { + return null + } + + let gtltComp + if (gt && lt) { + gtltComp = compare(gt.semver, lt.semver, options) + if (gtltComp > 0) { + return null + } else if (gtltComp === 0 && (gt.operator !== '>=' || lt.operator !== '<=')) { + return null + } + } + + // will iterate one or zero times + for (const eq of eqSet) { + if (gt && !satisfies(eq, String(gt), options)) { + return null + } + + if (lt && !satisfies(eq, String(lt), options)) { + return null + } + + for (const c of dom) { + if (!satisfies(eq, String(c), options)) { + return false + } + } + + return true + } + + let higher, lower + let hasDomLT, hasDomGT + // if the subset has a prerelease, we need a comparator in the superset + // with the same tuple and a prerelease, or it's not a subset + let needDomLTPre = lt && + !options.includePrerelease && + lt.semver.prerelease.length ? lt.semver : false + let needDomGTPre = gt && + !options.includePrerelease && + gt.semver.prerelease.length ? gt.semver : false + // exception: <1.2.3-0 is the same as <1.2.3 + if (needDomLTPre && needDomLTPre.prerelease.length === 1 && + lt.operator === '<' && needDomLTPre.prerelease[0] === 0) { + needDomLTPre = false + } + + for (const c of dom) { + hasDomGT = hasDomGT || c.operator === '>' || c.operator === '>=' + hasDomLT = hasDomLT || c.operator === '<' || c.operator === '<=' + if (gt) { + if (needDomGTPre) { + if (c.semver.prerelease && c.semver.prerelease.length && + c.semver.major === needDomGTPre.major && + c.semver.minor === needDomGTPre.minor && + c.semver.patch === needDomGTPre.patch) { + needDomGTPre = false + } + } + if (c.operator === '>' || c.operator === '>=') { + higher = higherGT(gt, c, options) + if (higher === c && higher !== gt) { + return false + } + } else if (gt.operator === '>=' && !satisfies(gt.semver, String(c), options)) { + return false + } + } + if (lt) { + if (needDomLTPre) { + if (c.semver.prerelease && c.semver.prerelease.length && + c.semver.major === needDomLTPre.major && + c.semver.minor === needDomLTPre.minor && + c.semver.patch === needDomLTPre.patch) { + needDomLTPre = false + } + } + if (c.operator === '<' || c.operator === '<=') { + lower = lowerLT(lt, c, options) + if (lower === c && lower !== lt) { + return false + } + } else if (lt.operator === '<=' && !satisfies(lt.semver, String(c), options)) { + return false + } + } + if (!c.operator && (lt || gt) && gtltComp !== 0) { + return false + } + } + + // if there was a < or >, and nothing in the dom, then must be false + // UNLESS it was limited by another range in the other direction. + // Eg, >1.0.0 <1.0.1 is still a subset of <2.0.0 + if (gt && hasDomLT && !lt && gtltComp !== 0) { + return false + } + + if (lt && hasDomGT && !gt && gtltComp !== 0) { + return false + } + + // we needed a prerelease range in a specific tuple, but didn't get one + // then this isn't a subset. eg >=1.2.3-pre is not a subset of >=1.0.0, + // because it includes prereleases in the 1.2.3 tuple + if (needDomGTPre || needDomLTPre) { + return false + } + + return true +} + +// >=1.2.3 is lower than >1.2.3 +const higherGT = (a, b, options) => { + if (!a) { + return b + } + const comp = compare(a.semver, b.semver, options) + return comp > 0 ? a + : comp < 0 ? b + : b.operator === '>' && a.operator === '>=' ? b + : a +} + +// <=1.2.3 is higher than <1.2.3 +const lowerLT = (a, b, options) => { + if (!a) { + return b + } + const comp = compare(a.semver, b.semver, options) + return comp < 0 ? a + : comp > 0 ? b + : b.operator === '<' && a.operator === '<=' ? b + : a +} + +module.exports = subset + +},{"../classes/comparator.js":37,"../classes/range.js":38,"../functions/compare.js":45,"../functions/satisfies.js":61}],79:[function(require,module,exports){ +const Range = require('../classes/range') + +// Mostly just for testing and legacy API reasons +const toComparators = (range, options) => + new Range(range, options).set + .map(comp => comp.map(c => c.value).join(' ').trim().split(' ')) + +module.exports = toComparators + +},{"../classes/range":38}],80:[function(require,module,exports){ +const Range = require('../classes/range') +const validRange = (range, options) => { + try { + // Return '*' instead of '' so that truthiness works. + // This will throw if it's invalid anyway + return new Range(range, options).range || '*' + } catch (er) { + return null + } +} +module.exports = validRange + +},{"../classes/range":38}],81:[function(require,module,exports){ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.output = exports.exists = exports.hash = exports.bytes = exports.bool = exports.number = void 0; +function number(n) { + if (!Number.isSafeInteger(n) || n < 0) + throw new Error(`Wrong positive integer: ${n}`); +} +exports.number = number; +function bool(b) { + if (typeof b !== 'boolean') + throw new Error(`Expected boolean, not ${b}`); +} +exports.bool = bool; +function bytes(b, ...lengths) { + if (!(b instanceof Uint8Array)) + throw new Error('Expected Uint8Array'); + if (lengths.length > 0 && !lengths.includes(b.length)) + throw new Error(`Expected Uint8Array of length ${lengths}, not of length=${b.length}`); +} +exports.bytes = bytes; +function hash(hash) { + if (typeof hash !== 'function' || typeof hash.create !== 'function') + throw new Error('Hash should be wrapped by utils.wrapConstructor'); + number(hash.outputLen); + number(hash.blockLen); +} +exports.hash = hash; +function exists(instance, checkFinished = true) { + if (instance.destroyed) + throw new Error('Hash instance has been destroyed'); + if (checkFinished && instance.finished) + throw new Error('Hash#digest() has already been called'); +} +exports.exists = exists; +function output(out, instance) { + bytes(out); + const min = instance.outputLen; + if (out.length < min) { + throw new Error(`digestInto() expects output buffer of length at least ${min}`); + } +} +exports.output = output; +const assert = { number, bool, bytes, hash, exists, output }; +exports.default = assert; + +},{}],82:[function(require,module,exports){ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.add5L = exports.add5H = exports.add4H = exports.add4L = exports.add3H = exports.add3L = exports.add = exports.rotlBL = exports.rotlBH = exports.rotlSL = exports.rotlSH = exports.rotr32L = exports.rotr32H = exports.rotrBL = exports.rotrBH = exports.rotrSL = exports.rotrSH = exports.shrSL = exports.shrSH = exports.toBig = exports.split = exports.fromBig = void 0; +const U32_MASK64 = /* @__PURE__ */ BigInt(2 ** 32 - 1); +const _32n = /* @__PURE__ */ BigInt(32); +// We are not using BigUint64Array, because they are extremely slow as per 2022 +function fromBig(n, le = false) { + if (le) + return { h: Number(n & U32_MASK64), l: Number((n >> _32n) & U32_MASK64) }; + return { h: Number((n >> _32n) & U32_MASK64) | 0, l: Number(n & U32_MASK64) | 0 }; +} +exports.fromBig = fromBig; +function split(lst, le = false) { + let Ah = new Uint32Array(lst.length); + let Al = new Uint32Array(lst.length); + for (let i = 0; i < lst.length; i++) { + const { h, l } = fromBig(lst[i], le); + [Ah[i], Al[i]] = [h, l]; + } + return [Ah, Al]; +} +exports.split = split; +const toBig = (h, l) => (BigInt(h >>> 0) << _32n) | BigInt(l >>> 0); +exports.toBig = toBig; +// for Shift in [0, 32) +const shrSH = (h, _l, s) => h >>> s; +exports.shrSH = shrSH; +const shrSL = (h, l, s) => (h << (32 - s)) | (l >>> s); +exports.shrSL = shrSL; +// Right rotate for Shift in [1, 32) +const rotrSH = (h, l, s) => (h >>> s) | (l << (32 - s)); +exports.rotrSH = rotrSH; +const rotrSL = (h, l, s) => (h << (32 - s)) | (l >>> s); +exports.rotrSL = rotrSL; +// Right rotate for Shift in (32, 64), NOTE: 32 is special case. +const rotrBH = (h, l, s) => (h << (64 - s)) | (l >>> (s - 32)); +exports.rotrBH = rotrBH; +const rotrBL = (h, l, s) => (h >>> (s - 32)) | (l << (64 - s)); +exports.rotrBL = rotrBL; +// Right rotate for shift===32 (just swaps l&h) +const rotr32H = (_h, l) => l; +exports.rotr32H = rotr32H; +const rotr32L = (h, _l) => h; +exports.rotr32L = rotr32L; +// Left rotate for Shift in [1, 32) +const rotlSH = (h, l, s) => (h << s) | (l >>> (32 - s)); +exports.rotlSH = rotlSH; +const rotlSL = (h, l, s) => (l << s) | (h >>> (32 - s)); +exports.rotlSL = rotlSL; +// Left rotate for Shift in (32, 64), NOTE: 32 is special case. +const rotlBH = (h, l, s) => (l << (s - 32)) | (h >>> (64 - s)); +exports.rotlBH = rotlBH; +const rotlBL = (h, l, s) => (h << (s - 32)) | (l >>> (64 - s)); +exports.rotlBL = rotlBL; +// JS uses 32-bit signed integers for bitwise operations which means we cannot +// simple take carry out of low bit sum by shift, we need to use division. +function add(Ah, Al, Bh, Bl) { + const l = (Al >>> 0) + (Bl >>> 0); + return { h: (Ah + Bh + ((l / 2 ** 32) | 0)) | 0, l: l | 0 }; +} +exports.add = add; +// Addition with more than 2 elements +const add3L = (Al, Bl, Cl) => (Al >>> 0) + (Bl >>> 0) + (Cl >>> 0); +exports.add3L = add3L; +const add3H = (low, Ah, Bh, Ch) => (Ah + Bh + Ch + ((low / 2 ** 32) | 0)) | 0; +exports.add3H = add3H; +const add4L = (Al, Bl, Cl, Dl) => (Al >>> 0) + (Bl >>> 0) + (Cl >>> 0) + (Dl >>> 0); +exports.add4L = add4L; +const add4H = (low, Ah, Bh, Ch, Dh) => (Ah + Bh + Ch + Dh + ((low / 2 ** 32) | 0)) | 0; +exports.add4H = add4H; +const add5L = (Al, Bl, Cl, Dl, El) => (Al >>> 0) + (Bl >>> 0) + (Cl >>> 0) + (Dl >>> 0) + (El >>> 0); +exports.add5L = add5L; +const add5H = (low, Ah, Bh, Ch, Dh, Eh) => (Ah + Bh + Ch + Dh + Eh + ((low / 2 ** 32) | 0)) | 0; +exports.add5H = add5H; +// prettier-ignore +const u64 = { + fromBig, split, toBig, + shrSH, shrSL, + rotrSH, rotrSL, rotrBH, rotrBL, + rotr32H, rotr32L, + rotlSH, rotlSL, rotlBH, rotlBL, + add, add3L, add3H, add4L, add4H, add5H, add5L, +}; +exports.default = u64; + +},{}],83:[function(require,module,exports){ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.crypto = void 0; +exports.crypto = typeof globalThis === 'object' && 'crypto' in globalThis ? globalThis.crypto : undefined; + +},{}],84:[function(require,module,exports){ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.shake256 = exports.shake128 = exports.keccak_512 = exports.keccak_384 = exports.keccak_256 = exports.keccak_224 = exports.sha3_512 = exports.sha3_384 = exports.sha3_256 = exports.sha3_224 = exports.Keccak = exports.keccakP = void 0; +const _assert_js_1 = require("./_assert.js"); +const _u64_js_1 = require("./_u64.js"); +const utils_js_1 = require("./utils.js"); +// SHA3 (keccak) is based on a new design: basically, the internal state is bigger than output size. +// It's called a sponge function. +// Various per round constants calculations +const [SHA3_PI, SHA3_ROTL, _SHA3_IOTA] = [[], [], []]; +const _0n = /* @__PURE__ */ BigInt(0); +const _1n = /* @__PURE__ */ BigInt(1); +const _2n = /* @__PURE__ */ BigInt(2); +const _7n = /* @__PURE__ */ BigInt(7); +const _256n = /* @__PURE__ */ BigInt(256); +const _0x71n = /* @__PURE__ */ BigInt(0x71); +for (let round = 0, R = _1n, x = 1, y = 0; round < 24; round++) { + // Pi + [x, y] = [y, (2 * x + 3 * y) % 5]; + SHA3_PI.push(2 * (5 * y + x)); + // Rotational + SHA3_ROTL.push((((round + 1) * (round + 2)) / 2) % 64); + // Iota + let t = _0n; + for (let j = 0; j < 7; j++) { + R = ((R << _1n) ^ ((R >> _7n) * _0x71n)) % _256n; + if (R & _2n) + t ^= _1n << ((_1n << /* @__PURE__ */ BigInt(j)) - _1n); + } + _SHA3_IOTA.push(t); +} +const [SHA3_IOTA_H, SHA3_IOTA_L] = /* @__PURE__ */ (0, _u64_js_1.split)(_SHA3_IOTA, true); +// Left rotation (without 0, 32, 64) +const rotlH = (h, l, s) => (s > 32 ? (0, _u64_js_1.rotlBH)(h, l, s) : (0, _u64_js_1.rotlSH)(h, l, s)); +const rotlL = (h, l, s) => (s > 32 ? (0, _u64_js_1.rotlBL)(h, l, s) : (0, _u64_js_1.rotlSL)(h, l, s)); +// Same as keccakf1600, but allows to skip some rounds +function keccakP(s, rounds = 24) { + const B = new Uint32Array(5 * 2); + // NOTE: all indices are x2 since we store state as u32 instead of u64 (bigints to slow in js) + for (let round = 24 - rounds; round < 24; round++) { + // Theta θ + for (let x = 0; x < 10; x++) + B[x] = s[x] ^ s[x + 10] ^ s[x + 20] ^ s[x + 30] ^ s[x + 40]; + for (let x = 0; x < 10; x += 2) { + const idx1 = (x + 8) % 10; + const idx0 = (x + 2) % 10; + const B0 = B[idx0]; + const B1 = B[idx0 + 1]; + const Th = rotlH(B0, B1, 1) ^ B[idx1]; + const Tl = rotlL(B0, B1, 1) ^ B[idx1 + 1]; + for (let y = 0; y < 50; y += 10) { + s[x + y] ^= Th; + s[x + y + 1] ^= Tl; + } + } + // Rho (ρ) and Pi (π) + let curH = s[2]; + let curL = s[3]; + for (let t = 0; t < 24; t++) { + const shift = SHA3_ROTL[t]; + const Th = rotlH(curH, curL, shift); + const Tl = rotlL(curH, curL, shift); + const PI = SHA3_PI[t]; + curH = s[PI]; + curL = s[PI + 1]; + s[PI] = Th; + s[PI + 1] = Tl; + } + // Chi (χ) + for (let y = 0; y < 50; y += 10) { + for (let x = 0; x < 10; x++) + B[x] = s[y + x]; + for (let x = 0; x < 10; x++) + s[y + x] ^= ~B[(x + 2) % 10] & B[(x + 4) % 10]; + } + // Iota (ι) + s[0] ^= SHA3_IOTA_H[round]; + s[1] ^= SHA3_IOTA_L[round]; + } + B.fill(0); +} +exports.keccakP = keccakP; +class Keccak extends utils_js_1.Hash { + // NOTE: we accept arguments in bytes instead of bits here. + constructor(blockLen, suffix, outputLen, enableXOF = false, rounds = 24) { + super(); + this.blockLen = blockLen; + this.suffix = suffix; + this.outputLen = outputLen; + this.enableXOF = enableXOF; + this.rounds = rounds; + this.pos = 0; + this.posOut = 0; + this.finished = false; + this.destroyed = false; + // Can be passed from user as dkLen + (0, _assert_js_1.number)(outputLen); + // 1600 = 5x5 matrix of 64bit. 1600 bits === 200 bytes + if (0 >= this.blockLen || this.blockLen >= 200) + throw new Error('Sha3 supports only keccak-f1600 function'); + this.state = new Uint8Array(200); + this.state32 = (0, utils_js_1.u32)(this.state); + } + keccak() { + keccakP(this.state32, this.rounds); + this.posOut = 0; + this.pos = 0; + } + update(data) { + (0, _assert_js_1.exists)(this); + const { blockLen, state } = this; + data = (0, utils_js_1.toBytes)(data); + const len = data.length; + for (let pos = 0; pos < len;) { + const take = Math.min(blockLen - this.pos, len - pos); + for (let i = 0; i < take; i++) + state[this.pos++] ^= data[pos++]; + if (this.pos === blockLen) + this.keccak(); + } + return this; + } + finish() { + if (this.finished) + return; + this.finished = true; + const { state, suffix, pos, blockLen } = this; + // Do the padding + state[pos] ^= suffix; + if ((suffix & 0x80) !== 0 && pos === blockLen - 1) + this.keccak(); + state[blockLen - 1] ^= 0x80; + this.keccak(); + } + writeInto(out) { + (0, _assert_js_1.exists)(this, false); + (0, _assert_js_1.bytes)(out); + this.finish(); + const bufferOut = this.state; + const { blockLen } = this; + for (let pos = 0, len = out.length; pos < len;) { + if (this.posOut >= blockLen) + this.keccak(); + const take = Math.min(blockLen - this.posOut, len - pos); + out.set(bufferOut.subarray(this.posOut, this.posOut + take), pos); + this.posOut += take; + pos += take; + } + return out; + } + xofInto(out) { + // Sha3/Keccak usage with XOF is probably mistake, only SHAKE instances can do XOF + if (!this.enableXOF) + throw new Error('XOF is not possible for this instance'); + return this.writeInto(out); + } + xof(bytes) { + (0, _assert_js_1.number)(bytes); + return this.xofInto(new Uint8Array(bytes)); + } + digestInto(out) { + (0, _assert_js_1.output)(out, this); + if (this.finished) + throw new Error('digest() was already called'); + this.writeInto(out); + this.destroy(); + return out; + } + digest() { + return this.digestInto(new Uint8Array(this.outputLen)); + } + destroy() { + this.destroyed = true; + this.state.fill(0); + } + _cloneInto(to) { + const { blockLen, suffix, outputLen, rounds, enableXOF } = this; + to || (to = new Keccak(blockLen, suffix, outputLen, enableXOF, rounds)); + to.state32.set(this.state32); + to.pos = this.pos; + to.posOut = this.posOut; + to.finished = this.finished; + to.rounds = rounds; + // Suffix can change in cSHAKE + to.suffix = suffix; + to.outputLen = outputLen; + to.enableXOF = enableXOF; + to.destroyed = this.destroyed; + return to; + } +} +exports.Keccak = Keccak; +const gen = (suffix, blockLen, outputLen) => (0, utils_js_1.wrapConstructor)(() => new Keccak(blockLen, suffix, outputLen)); +exports.sha3_224 = gen(0x06, 144, 224 / 8); +/** + * SHA3-256 hash function + * @param message - that would be hashed + */ +exports.sha3_256 = gen(0x06, 136, 256 / 8); +exports.sha3_384 = gen(0x06, 104, 384 / 8); +exports.sha3_512 = gen(0x06, 72, 512 / 8); +exports.keccak_224 = gen(0x01, 144, 224 / 8); +/** + * keccak-256 hash function. Different from SHA3-256. + * @param message - that would be hashed + */ +exports.keccak_256 = gen(0x01, 136, 256 / 8); +exports.keccak_384 = gen(0x01, 104, 384 / 8); +exports.keccak_512 = gen(0x01, 72, 512 / 8); +const genShake = (suffix, blockLen, outputLen) => (0, utils_js_1.wrapXOFConstructorWithOpts)((opts = {}) => new Keccak(blockLen, suffix, opts.dkLen === undefined ? outputLen : opts.dkLen, true)); +exports.shake128 = genShake(0x1f, 168, 128 / 8); +exports.shake256 = genShake(0x1f, 136, 256 / 8); + +},{"./_assert.js":81,"./_u64.js":82,"./utils.js":85}],85:[function(require,module,exports){ +"use strict"; +/*! noble-hashes - MIT License (c) 2022 Paul Miller (paulmillr.com) */ +Object.defineProperty(exports, "__esModule", { value: true }); +exports.randomBytes = exports.wrapXOFConstructorWithOpts = exports.wrapConstructorWithOpts = exports.wrapConstructor = exports.checkOpts = exports.Hash = exports.concatBytes = exports.toBytes = exports.utf8ToBytes = exports.asyncLoop = exports.nextTick = exports.hexToBytes = exports.bytesToHex = exports.isLE = exports.rotr = exports.createView = exports.u32 = exports.u8 = void 0; +// We use WebCrypto aka globalThis.crypto, which exists in browsers and node.js 16+. +// node.js versions earlier than v19 don't declare it in global scope. +// For node.js, package.json#exports field mapping rewrites import +// from `crypto` to `cryptoNode`, which imports native module. +// Makes the utils un-importable in browsers without a bundler. +// Once node.js 18 is deprecated, we can just drop the import. +const crypto_1 = require("@noble/hashes/crypto"); +const u8a = (a) => a instanceof Uint8Array; +// Cast array to different type +const u8 = (arr) => new Uint8Array(arr.buffer, arr.byteOffset, arr.byteLength); +exports.u8 = u8; +const u32 = (arr) => new Uint32Array(arr.buffer, arr.byteOffset, Math.floor(arr.byteLength / 4)); +exports.u32 = u32; +// Cast array to view +const createView = (arr) => new DataView(arr.buffer, arr.byteOffset, arr.byteLength); +exports.createView = createView; +// The rotate right (circular right shift) operation for uint32 +const rotr = (word, shift) => (word << (32 - shift)) | (word >>> shift); +exports.rotr = rotr; +// big-endian hardware is rare. Just in case someone still decides to run hashes: +// early-throw an error because we don't support BE yet. +exports.isLE = new Uint8Array(new Uint32Array([0x11223344]).buffer)[0] === 0x44; +if (!exports.isLE) + throw new Error('Non little-endian hardware is not supported'); +const hexes = /* @__PURE__ */ Array.from({ length: 256 }, (_, i) => i.toString(16).padStart(2, '0')); +/** + * @example bytesToHex(Uint8Array.from([0xca, 0xfe, 0x01, 0x23])) // 'cafe0123' + */ +function bytesToHex(bytes) { + if (!u8a(bytes)) + throw new Error('Uint8Array expected'); + // pre-caching improves the speed 6x + let hex = ''; + for (let i = 0; i < bytes.length; i++) { + hex += hexes[bytes[i]]; + } + return hex; +} +exports.bytesToHex = bytesToHex; +/** + * @example hexToBytes('cafe0123') // Uint8Array.from([0xca, 0xfe, 0x01, 0x23]) + */ +function hexToBytes(hex) { + if (typeof hex !== 'string') + throw new Error('hex string expected, got ' + typeof hex); + const len = hex.length; + if (len % 2) + throw new Error('padded hex string expected, got unpadded hex of length ' + len); + const array = new Uint8Array(len / 2); + for (let i = 0; i < array.length; i++) { + const j = i * 2; + const hexByte = hex.slice(j, j + 2); + const byte = Number.parseInt(hexByte, 16); + if (Number.isNaN(byte) || byte < 0) + throw new Error('Invalid byte sequence'); + array[i] = byte; + } + return array; +} +exports.hexToBytes = hexToBytes; +// There is no setImmediate in browser and setTimeout is slow. +// call of async fn will return Promise, which will be fullfiled only on +// next scheduler queue processing step and this is exactly what we need. +const nextTick = async () => { }; +exports.nextTick = nextTick; +// Returns control to thread each 'tick' ms to avoid blocking +async function asyncLoop(iters, tick, cb) { + let ts = Date.now(); + for (let i = 0; i < iters; i++) { + cb(i); + // Date.now() is not monotonic, so in case if clock goes backwards we return return control too + const diff = Date.now() - ts; + if (diff >= 0 && diff < tick) + continue; + await (0, exports.nextTick)(); + ts += diff; + } +} +exports.asyncLoop = asyncLoop; +/** + * @example utf8ToBytes('abc') // new Uint8Array([97, 98, 99]) + */ +function utf8ToBytes(str) { + if (typeof str !== 'string') + throw new Error(`utf8ToBytes expected string, got ${typeof str}`); + return new Uint8Array(new TextEncoder().encode(str)); // https://bugzil.la/1681809 +} +exports.utf8ToBytes = utf8ToBytes; +/** + * Normalizes (non-hex) string or Uint8Array to Uint8Array. + * Warning: when Uint8Array is passed, it would NOT get copied. + * Keep in mind for future mutable operations. + */ +function toBytes(data) { + if (typeof data === 'string') + data = utf8ToBytes(data); + if (!u8a(data)) + throw new Error(`expected Uint8Array, got ${typeof data}`); + return data; +} +exports.toBytes = toBytes; +/** + * Copies several Uint8Arrays into one. + */ +function concatBytes(...arrays) { + const r = new Uint8Array(arrays.reduce((sum, a) => sum + a.length, 0)); + let pad = 0; // walk through each item, ensure they have proper type + arrays.forEach((a) => { + if (!u8a(a)) + throw new Error('Uint8Array expected'); + r.set(a, pad); + pad += a.length; + }); + return r; +} +exports.concatBytes = concatBytes; +// For runtime check if class implements interface +class Hash { + // Safe version that clones internal state + clone() { + return this._cloneInto(); + } +} +exports.Hash = Hash; +const toStr = {}.toString; +function checkOpts(defaults, opts) { + if (opts !== undefined && toStr.call(opts) !== '[object Object]') + throw new Error('Options should be object or undefined'); + const merged = Object.assign(defaults, opts); + return merged; +} +exports.checkOpts = checkOpts; +function wrapConstructor(hashCons) { + const hashC = (msg) => hashCons().update(toBytes(msg)).digest(); + const tmp = hashCons(); + hashC.outputLen = tmp.outputLen; + hashC.blockLen = tmp.blockLen; + hashC.create = () => hashCons(); + return hashC; +} +exports.wrapConstructor = wrapConstructor; +function wrapConstructorWithOpts(hashCons) { + const hashC = (msg, opts) => hashCons(opts).update(toBytes(msg)).digest(); + const tmp = hashCons({}); + hashC.outputLen = tmp.outputLen; + hashC.blockLen = tmp.blockLen; + hashC.create = (opts) => hashCons(opts); + return hashC; +} +exports.wrapConstructorWithOpts = wrapConstructorWithOpts; +function wrapXOFConstructorWithOpts(hashCons) { + const hashC = (msg, opts) => hashCons(opts).update(toBytes(msg)).digest(); + const tmp = hashCons({}); + hashC.outputLen = tmp.outputLen; + hashC.blockLen = tmp.blockLen; + hashC.create = (opts) => hashCons(opts); + return hashC; +} +exports.wrapXOFConstructorWithOpts = wrapXOFConstructorWithOpts; +/** + * Secure PRNG. Uses `crypto.getRandomValues`, which defers to OS. + */ +function randomBytes(bytesLength = 32) { + if (crypto_1.crypto && typeof crypto_1.crypto.getRandomValues === 'function') { + return crypto_1.crypto.getRandomValues(new Uint8Array(bytesLength)); + } + throw new Error('crypto.getRandomValues must be defined'); +} +exports.randomBytes = randomBytes; + +},{"@noble/hashes/crypto":83}],86:[function(require,module,exports){ +"use strict"; +/*! scure-base - MIT License (c) 2022 Paul Miller (paulmillr.com) */ +Object.defineProperty(exports, "__esModule", { value: true }); +exports.bytes = exports.stringToBytes = exports.str = exports.bytesToString = exports.hex = exports.utf8 = exports.bech32m = exports.bech32 = exports.base58check = exports.base58xmr = exports.base58xrp = exports.base58flickr = exports.base58 = exports.base64urlnopad = exports.base64url = exports.base64 = exports.base32crockford = exports.base32hex = exports.base32 = exports.base16 = exports.utils = exports.assertNumber = void 0; +// Utilities +/** + * @__NO_SIDE_EFFECTS__ + */ +function assertNumber(n) { + if (!Number.isSafeInteger(n)) + throw new Error(`Wrong integer: ${n}`); +} +exports.assertNumber = assertNumber; +/** + * @__NO_SIDE_EFFECTS__ + */ +function chain(...args) { + // Wrap call in closure so JIT can inline calls + const wrap = (a, b) => (c) => a(b(c)); + // Construct chain of args[-1].encode(args[-2].encode([...])) + const encode = Array.from(args) + .reverse() + .reduce((acc, i) => (acc ? wrap(acc, i.encode) : i.encode), undefined); + // Construct chain of args[0].decode(args[1].decode(...)) + const decode = args.reduce((acc, i) => (acc ? wrap(acc, i.decode) : i.decode), undefined); + return { encode, decode }; +} +/** + * Encodes integer radix representation to array of strings using alphabet and back + * @__NO_SIDE_EFFECTS__ + */ +function alphabet(alphabet) { + return { + encode: (digits) => { + if (!Array.isArray(digits) || (digits.length && typeof digits[0] !== 'number')) + throw new Error('alphabet.encode input should be an array of numbers'); + return digits.map((i) => { + assertNumber(i); + if (i < 0 || i >= alphabet.length) + throw new Error(`Digit index outside alphabet: ${i} (alphabet: ${alphabet.length})`); + return alphabet[i]; + }); + }, + decode: (input) => { + if (!Array.isArray(input) || (input.length && typeof input[0] !== 'string')) + throw new Error('alphabet.decode input should be array of strings'); + return input.map((letter) => { + if (typeof letter !== 'string') + throw new Error(`alphabet.decode: not string element=${letter}`); + const index = alphabet.indexOf(letter); + if (index === -1) + throw new Error(`Unknown letter: "${letter}". Allowed: ${alphabet}`); + return index; + }); + }, + }; +} +/** + * @__NO_SIDE_EFFECTS__ + */ +function join(separator = '') { + if (typeof separator !== 'string') + throw new Error('join separator should be string'); + return { + encode: (from) => { + if (!Array.isArray(from) || (from.length && typeof from[0] !== 'string')) + throw new Error('join.encode input should be array of strings'); + for (let i of from) + if (typeof i !== 'string') + throw new Error(`join.encode: non-string input=${i}`); + return from.join(separator); + }, + decode: (to) => { + if (typeof to !== 'string') + throw new Error('join.decode input should be string'); + return to.split(separator); + }, + }; +} +/** + * Pad strings array so it has integer number of bits + * @__NO_SIDE_EFFECTS__ + */ +function padding(bits, chr = '=') { + assertNumber(bits); + if (typeof chr !== 'string') + throw new Error('padding chr should be string'); + return { + encode(data) { + if (!Array.isArray(data) || (data.length && typeof data[0] !== 'string')) + throw new Error('padding.encode input should be array of strings'); + for (let i of data) + if (typeof i !== 'string') + throw new Error(`padding.encode: non-string input=${i}`); + while ((data.length * bits) % 8) + data.push(chr); + return data; + }, + decode(input) { + if (!Array.isArray(input) || (input.length && typeof input[0] !== 'string')) + throw new Error('padding.encode input should be array of strings'); + for (let i of input) + if (typeof i !== 'string') + throw new Error(`padding.decode: non-string input=${i}`); + let end = input.length; + if ((end * bits) % 8) + throw new Error('Invalid padding: string should have whole number of bytes'); + for (; end > 0 && input[end - 1] === chr; end--) { + if (!(((end - 1) * bits) % 8)) + throw new Error('Invalid padding: string has too much padding'); + } + return input.slice(0, end); + }, + }; +} +/** + * @__NO_SIDE_EFFECTS__ + */ +function normalize(fn) { + if (typeof fn !== 'function') + throw new Error('normalize fn should be function'); + return { encode: (from) => from, decode: (to) => fn(to) }; +} +/** + * Slow: O(n^2) time complexity + * @__NO_SIDE_EFFECTS__ + */ +function convertRadix(data, from, to) { + // base 1 is impossible + if (from < 2) + throw new Error(`convertRadix: wrong from=${from}, base cannot be less than 2`); + if (to < 2) + throw new Error(`convertRadix: wrong to=${to}, base cannot be less than 2`); + if (!Array.isArray(data)) + throw new Error('convertRadix: data should be array'); + if (!data.length) + return []; + let pos = 0; + const res = []; + const digits = Array.from(data); + digits.forEach((d) => { + assertNumber(d); + if (d < 0 || d >= from) + throw new Error(`Wrong integer: ${d}`); + }); + while (true) { + let carry = 0; + let done = true; + for (let i = pos; i < digits.length; i++) { + const digit = digits[i]; + const digitBase = from * carry + digit; + if (!Number.isSafeInteger(digitBase) || + (from * carry) / from !== carry || + digitBase - digit !== from * carry) { + throw new Error('convertRadix: carry overflow'); + } + carry = digitBase % to; + const rounded = Math.floor(digitBase / to); + digits[i] = rounded; + if (!Number.isSafeInteger(rounded) || rounded * to + carry !== digitBase) + throw new Error('convertRadix: carry overflow'); + if (!done) + continue; + else if (!rounded) + pos = i; + else + done = false; + } + res.push(carry); + if (done) + break; + } + for (let i = 0; i < data.length - 1 && data[i] === 0; i++) + res.push(0); + return res.reverse(); +} +const gcd = /* @__NO_SIDE_EFFECTS__ */ (a, b) => (!b ? a : gcd(b, a % b)); +const radix2carry = /*@__NO_SIDE_EFFECTS__ */ (from, to) => from + (to - gcd(from, to)); +/** + * Implemented with numbers, because BigInt is 5x slower + * @__NO_SIDE_EFFECTS__ + */ +function convertRadix2(data, from, to, padding) { + if (!Array.isArray(data)) + throw new Error('convertRadix2: data should be array'); + if (from <= 0 || from > 32) + throw new Error(`convertRadix2: wrong from=${from}`); + if (to <= 0 || to > 32) + throw new Error(`convertRadix2: wrong to=${to}`); + if (radix2carry(from, to) > 32) { + throw new Error(`convertRadix2: carry overflow from=${from} to=${to} carryBits=${radix2carry(from, to)}`); + } + let carry = 0; + let pos = 0; // bitwise position in current element + const mask = 2 ** to - 1; + const res = []; + for (const n of data) { + assertNumber(n); + if (n >= 2 ** from) + throw new Error(`convertRadix2: invalid data word=${n} from=${from}`); + carry = (carry << from) | n; + if (pos + from > 32) + throw new Error(`convertRadix2: carry overflow pos=${pos} from=${from}`); + pos += from; + for (; pos >= to; pos -= to) + res.push(((carry >> (pos - to)) & mask) >>> 0); + carry &= 2 ** pos - 1; // clean carry, otherwise it will cause overflow + } + carry = (carry << (to - pos)) & mask; + if (!padding && pos >= from) + throw new Error('Excess padding'); + if (!padding && carry) + throw new Error(`Non-zero padding: ${carry}`); + if (padding && pos > 0) + res.push(carry >>> 0); + return res; +} +/** + * @__NO_SIDE_EFFECTS__ + */ +function radix(num) { + assertNumber(num); + return { + encode: (bytes) => { + if (!(bytes instanceof Uint8Array)) + throw new Error('radix.encode input should be Uint8Array'); + return convertRadix(Array.from(bytes), 2 ** 8, num); + }, + decode: (digits) => { + if (!Array.isArray(digits) || (digits.length && typeof digits[0] !== 'number')) + throw new Error('radix.decode input should be array of strings'); + return Uint8Array.from(convertRadix(digits, num, 2 ** 8)); + }, + }; +} +/** + * If both bases are power of same number (like `2**8 <-> 2**64`), + * there is a linear algorithm. For now we have implementation for power-of-two bases only. + * @__NO_SIDE_EFFECTS__ + */ +function radix2(bits, revPadding = false) { + assertNumber(bits); + if (bits <= 0 || bits > 32) + throw new Error('radix2: bits should be in (0..32]'); + if (radix2carry(8, bits) > 32 || radix2carry(bits, 8) > 32) + throw new Error('radix2: carry overflow'); + return { + encode: (bytes) => { + if (!(bytes instanceof Uint8Array)) + throw new Error('radix2.encode input should be Uint8Array'); + return convertRadix2(Array.from(bytes), 8, bits, !revPadding); + }, + decode: (digits) => { + if (!Array.isArray(digits) || (digits.length && typeof digits[0] !== 'number')) + throw new Error('radix2.decode input should be array of strings'); + return Uint8Array.from(convertRadix2(digits, bits, 8, revPadding)); + }, + }; +} +/** + * @__NO_SIDE_EFFECTS__ + */ +function unsafeWrapper(fn) { + if (typeof fn !== 'function') + throw new Error('unsafeWrapper fn should be function'); + return function (...args) { + try { + return fn.apply(null, args); + } + catch (e) { } + }; +} +/** + * @__NO_SIDE_EFFECTS__ + */ +function checksum(len, fn) { + assertNumber(len); + if (typeof fn !== 'function') + throw new Error('checksum fn should be function'); + return { + encode(data) { + if (!(data instanceof Uint8Array)) + throw new Error('checksum.encode: input should be Uint8Array'); + const checksum = fn(data).slice(0, len); + const res = new Uint8Array(data.length + len); + res.set(data); + res.set(checksum, data.length); + return res; + }, + decode(data) { + if (!(data instanceof Uint8Array)) + throw new Error('checksum.decode: input should be Uint8Array'); + const payload = data.slice(0, -len); + const newChecksum = fn(payload).slice(0, len); + const oldChecksum = data.slice(-len); + for (let i = 0; i < len; i++) + if (newChecksum[i] !== oldChecksum[i]) + throw new Error('Invalid checksum'); + return payload; + }, + }; +} +exports.utils = { alphabet, chain, checksum, radix, radix2, join, padding }; +// RFC 4648 aka RFC 3548 +// --------------------- +exports.base16 = chain(radix2(4), alphabet('0123456789ABCDEF'), join('')); +exports.base32 = chain(radix2(5), alphabet('ABCDEFGHIJKLMNOPQRSTUVWXYZ234567'), padding(5), join('')); +exports.base32hex = chain(radix2(5), alphabet('0123456789ABCDEFGHIJKLMNOPQRSTUV'), padding(5), join('')); +exports.base32crockford = chain(radix2(5), alphabet('0123456789ABCDEFGHJKMNPQRSTVWXYZ'), join(''), normalize((s) => s.toUpperCase().replace(/O/g, '0').replace(/[IL]/g, '1'))); +exports.base64 = chain(radix2(6), alphabet('ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/'), padding(6), join('')); +exports.base64url = chain(radix2(6), alphabet('ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_'), padding(6), join('')); +exports.base64urlnopad = chain(radix2(6), alphabet('ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_'), join('')); +// base58 code +// ----------- +const genBase58 = (abc) => chain(radix(58), alphabet(abc), join('')); +exports.base58 = genBase58('123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz'); +exports.base58flickr = genBase58('123456789abcdefghijkmnopqrstuvwxyzABCDEFGHJKLMNPQRSTUVWXYZ'); +exports.base58xrp = genBase58('rpshnaf39wBUDNEGHJKLM4PQRST7VWXYZ2bcdeCg65jkm8oFqi1tuvAxyz'); +// xmr ver is done in 8-byte blocks (which equals 11 chars in decoding). Last (non-full) block padded with '1' to size in XMR_BLOCK_LEN. +// Block encoding significantly reduces quadratic complexity of base58. +// Data len (index) -> encoded block len +const XMR_BLOCK_LEN = [0, 2, 3, 5, 6, 7, 9, 10, 11]; +exports.base58xmr = { + encode(data) { + let res = ''; + for (let i = 0; i < data.length; i += 8) { + const block = data.subarray(i, i + 8); + res += exports.base58.encode(block).padStart(XMR_BLOCK_LEN[block.length], '1'); + } + return res; + }, + decode(str) { + let res = []; + for (let i = 0; i < str.length; i += 11) { + const slice = str.slice(i, i + 11); + const blockLen = XMR_BLOCK_LEN.indexOf(slice.length); + const block = exports.base58.decode(slice); + for (let j = 0; j < block.length - blockLen; j++) { + if (block[j] !== 0) + throw new Error('base58xmr: wrong padding'); + } + res = res.concat(Array.from(block.slice(block.length - blockLen))); + } + return Uint8Array.from(res); + }, +}; +const base58check = (sha256) => chain(checksum(4, (data) => sha256(sha256(data))), exports.base58); +exports.base58check = base58check; +const BECH_ALPHABET = /* @__PURE__ */ chain(alphabet('qpzry9x8gf2tvdw0s3jn54khce6mua7l'), join('')); +const POLYMOD_GENERATORS = [0x3b6a57b2, 0x26508e6d, 0x1ea119fa, 0x3d4233dd, 0x2a1462b3]; +/** + * @__NO_SIDE_EFFECTS__ + */ +function bech32Polymod(pre) { + const b = pre >> 25; + let chk = (pre & 0x1ffffff) << 5; + for (let i = 0; i < POLYMOD_GENERATORS.length; i++) { + if (((b >> i) & 1) === 1) + chk ^= POLYMOD_GENERATORS[i]; + } + return chk; +} +/** + * @__NO_SIDE_EFFECTS__ + */ +function bechChecksum(prefix, words, encodingConst = 1) { + const len = prefix.length; + let chk = 1; + for (let i = 0; i < len; i++) { + const c = prefix.charCodeAt(i); + if (c < 33 || c > 126) + throw new Error(`Invalid prefix (${prefix})`); + chk = bech32Polymod(chk) ^ (c >> 5); + } + chk = bech32Polymod(chk); + for (let i = 0; i < len; i++) + chk = bech32Polymod(chk) ^ (prefix.charCodeAt(i) & 0x1f); + for (let v of words) + chk = bech32Polymod(chk) ^ v; + for (let i = 0; i < 6; i++) + chk = bech32Polymod(chk); + chk ^= encodingConst; + return BECH_ALPHABET.encode(convertRadix2([chk % 2 ** 30], 30, 5, false)); +} +/** + * @__NO_SIDE_EFFECTS__ + */ +function genBech32(encoding) { + const ENCODING_CONST = encoding === 'bech32' ? 1 : 0x2bc830a3; + const _words = radix2(5); + const fromWords = _words.decode; + const toWords = _words.encode; + const fromWordsUnsafe = unsafeWrapper(fromWords); + function encode(prefix, words, limit = 90) { + if (typeof prefix !== 'string') + throw new Error(`bech32.encode prefix should be string, not ${typeof prefix}`); + if (!Array.isArray(words) || (words.length && typeof words[0] !== 'number')) + throw new Error(`bech32.encode words should be array of numbers, not ${typeof words}`); + const actualLength = prefix.length + 7 + words.length; + if (limit !== false && actualLength > limit) + throw new TypeError(`Length ${actualLength} exceeds limit ${limit}`); + const lowered = prefix.toLowerCase(); + const sum = bechChecksum(lowered, words, ENCODING_CONST); + return `${lowered}1${BECH_ALPHABET.encode(words)}${sum}`; + } + function decode(str, limit = 90) { + if (typeof str !== 'string') + throw new Error(`bech32.decode input should be string, not ${typeof str}`); + if (str.length < 8 || (limit !== false && str.length > limit)) + throw new TypeError(`Wrong string length: ${str.length} (${str}). Expected (8..${limit})`); + // don't allow mixed case + const lowered = str.toLowerCase(); + if (str !== lowered && str !== str.toUpperCase()) + throw new Error(`String must be lowercase or uppercase`); + str = lowered; + const sepIndex = str.lastIndexOf('1'); + if (sepIndex === 0 || sepIndex === -1) + throw new Error(`Letter "1" must be present between prefix and data only`); + const prefix = str.slice(0, sepIndex); + const _words = str.slice(sepIndex + 1); + if (_words.length < 6) + throw new Error('Data must be at least 6 characters long'); + const words = BECH_ALPHABET.decode(_words).slice(0, -6); + const sum = bechChecksum(prefix, words, ENCODING_CONST); + if (!_words.endsWith(sum)) + throw new Error(`Invalid checksum in ${str}: expected "${sum}"`); + return { prefix, words }; + } + const decodeUnsafe = unsafeWrapper(decode); + function decodeToBytes(str) { + const { prefix, words } = decode(str, false); + return { prefix, words, bytes: fromWords(words) }; + } + return { encode, decode, decodeToBytes, decodeUnsafe, fromWords, fromWordsUnsafe, toWords }; +} +exports.bech32 = genBech32('bech32'); +exports.bech32m = genBech32('bech32m'); +exports.utf8 = { + encode: (data) => new TextDecoder().decode(data), + decode: (str) => new TextEncoder().encode(str), +}; +exports.hex = chain(radix2(4), alphabet('0123456789abcdef'), join(''), normalize((s) => { + if (typeof s !== 'string' || s.length % 2) + throw new TypeError(`hex.decode: expected string, got ${typeof s} with length ${s.length}`); + return s.toLowerCase(); +})); +// prettier-ignore +const CODERS = { + utf8: exports.utf8, hex: exports.hex, base16: exports.base16, base32: exports.base32, base64: exports.base64, base64url: exports.base64url, base58: exports.base58, base58xmr: exports.base58xmr +}; +const coderTypeError = 'Invalid encoding type. Available types: utf8, hex, base16, base32, base64, base64url, base58, base58xmr'; +const bytesToString = (type, bytes) => { + if (typeof type !== 'string' || !CODERS.hasOwnProperty(type)) + throw new TypeError(coderTypeError); + if (!(bytes instanceof Uint8Array)) + throw new TypeError('bytesToString() expects Uint8Array'); + return CODERS[type].encode(bytes); +}; +exports.bytesToString = bytesToString; +exports.str = exports.bytesToString; // as in python, but for bytes only +const stringToBytes = (type, str) => { + if (!CODERS.hasOwnProperty(type)) + throw new TypeError(coderTypeError); + if (typeof str !== 'string') + throw new TypeError('stringToBytes() expects string'); + return CODERS[type].decode(str); +}; +exports.stringToBytes = stringToBytes; +exports.bytes = exports.stringToBytes; + +},{}],87:[function(require,module,exports){ +(function (global){(function (){ +'use strict'; + +var possibleNames = [ + 'BigInt64Array', + 'BigUint64Array', + 'Float32Array', + 'Float64Array', + 'Int16Array', + 'Int32Array', + 'Int8Array', + 'Uint16Array', + 'Uint32Array', + 'Uint8Array', + 'Uint8ClampedArray' +]; + +var g = typeof globalThis === 'undefined' ? global : globalThis; + +module.exports = function availableTypedArrays() { + var out = []; + for (var i = 0; i < possibleNames.length; i++) { + if (typeof g[possibleNames[i]] === 'function') { + out[out.length] = possibleNames[i]; + } + } + return out; +}; + +}).call(this)}).call(this,typeof global !== "undefined" ? global : typeof self !== "undefined" ? self : typeof window !== "undefined" ? window : {}) +},{}],88:[function(require,module,exports){ +'use strict' + +exports.byteLength = byteLength +exports.toByteArray = toByteArray +exports.fromByteArray = fromByteArray + +var lookup = [] +var revLookup = [] +var Arr = typeof Uint8Array !== 'undefined' ? Uint8Array : Array + +var code = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/' +for (var i = 0, len = code.length; i < len; ++i) { + lookup[i] = code[i] + revLookup[code.charCodeAt(i)] = i +} + +// Support decoding URL-safe base64 strings, as Node.js does. +// See: https://en.wikipedia.org/wiki/Base64#URL_applications +revLookup['-'.charCodeAt(0)] = 62 +revLookup['_'.charCodeAt(0)] = 63 + +function getLens (b64) { + var len = b64.length + + if (len % 4 > 0) { + throw new Error('Invalid string. Length must be a multiple of 4') + } + + // Trim off extra bytes after placeholder bytes are found + // See: https://github.com/beatgammit/base64-js/issues/42 + var validLen = b64.indexOf('=') + if (validLen === -1) validLen = len + + var placeHoldersLen = validLen === len + ? 0 + : 4 - (validLen % 4) + + return [validLen, placeHoldersLen] +} + +// base64 is 4/3 + up to two characters of the original data +function byteLength (b64) { + var lens = getLens(b64) + var validLen = lens[0] + var placeHoldersLen = lens[1] + return ((validLen + placeHoldersLen) * 3 / 4) - placeHoldersLen +} + +function _byteLength (b64, validLen, placeHoldersLen) { + return ((validLen + placeHoldersLen) * 3 / 4) - placeHoldersLen +} + +function toByteArray (b64) { + var tmp + var lens = getLens(b64) + var validLen = lens[0] + var placeHoldersLen = lens[1] + + var arr = new Arr(_byteLength(b64, validLen, placeHoldersLen)) + + var curByte = 0 + + // if there are placeholders, only get up to the last complete 4 chars + var len = placeHoldersLen > 0 + ? validLen - 4 + : validLen + + var i + for (i = 0; i < len; i += 4) { + tmp = + (revLookup[b64.charCodeAt(i)] << 18) | + (revLookup[b64.charCodeAt(i + 1)] << 12) | + (revLookup[b64.charCodeAt(i + 2)] << 6) | + revLookup[b64.charCodeAt(i + 3)] + arr[curByte++] = (tmp >> 16) & 0xFF + arr[curByte++] = (tmp >> 8) & 0xFF + arr[curByte++] = tmp & 0xFF + } + + if (placeHoldersLen === 2) { + tmp = + (revLookup[b64.charCodeAt(i)] << 2) | + (revLookup[b64.charCodeAt(i + 1)] >> 4) + arr[curByte++] = tmp & 0xFF + } + + if (placeHoldersLen === 1) { + tmp = + (revLookup[b64.charCodeAt(i)] << 10) | + (revLookup[b64.charCodeAt(i + 1)] << 4) | + (revLookup[b64.charCodeAt(i + 2)] >> 2) + arr[curByte++] = (tmp >> 8) & 0xFF + arr[curByte++] = tmp & 0xFF + } + + return arr +} + +function tripletToBase64 (num) { + return lookup[num >> 18 & 0x3F] + + lookup[num >> 12 & 0x3F] + + lookup[num >> 6 & 0x3F] + + lookup[num & 0x3F] +} + +function encodeChunk (uint8, start, end) { + var tmp + var output = [] + for (var i = start; i < end; i += 3) { + tmp = + ((uint8[i] << 16) & 0xFF0000) + + ((uint8[i + 1] << 8) & 0xFF00) + + (uint8[i + 2] & 0xFF) + output.push(tripletToBase64(tmp)) + } + return output.join('') +} + +function fromByteArray (uint8) { + var tmp + var len = uint8.length + var extraBytes = len % 3 // if we have 1 byte left, pad 2 bytes + var parts = [] + var maxChunkLength = 16383 // must be multiple of 3 + + // go through the array every three bytes, we'll deal with trailing stuff later + for (var i = 0, len2 = len - extraBytes; i < len2; i += maxChunkLength) { + parts.push(encodeChunk(uint8, i, (i + maxChunkLength) > len2 ? len2 : (i + maxChunkLength))) + } + + // pad the end with zeros, but make sure to not forget the extra bytes + if (extraBytes === 1) { + tmp = uint8[len - 1] + parts.push( + lookup[tmp >> 2] + + lookup[(tmp << 4) & 0x3F] + + '==' + ) + } else if (extraBytes === 2) { + tmp = (uint8[len - 2] << 8) + uint8[len - 1] + parts.push( + lookup[tmp >> 10] + + lookup[(tmp >> 4) & 0x3F] + + lookup[(tmp << 2) & 0x3F] + + '=' + ) + } + + return parts.join('') +} + +},{}],89:[function(require,module,exports){ +module.exports = function isBuffer(arg) { + return arg && typeof arg === 'object' + && typeof arg.copy === 'function' + && typeof arg.fill === 'function' + && typeof arg.readUInt8 === 'function'; +} +},{}],90:[function(require,module,exports){ // Currently in sync with Node.js lib/internal/util/types.js // https://github.com/nodejs/node/commit/112cc7c27551254aa2b17098fb774867f05ed0d9 @@ -1304,7 +6556,7 @@ exports.isAnyArrayBuffer = isAnyArrayBuffer; }); }); -},{"is-arguments":38,"is-generator-function":40,"is-typed-array":41,"which-typed-array":94}],19:[function(require,module,exports){ +},{"is-arguments":112,"is-generator-function":114,"is-typed-array":115,"which-typed-array":173}],91:[function(require,module,exports){ (function (process){(function (){ // Copyright Joyent, Inc. and other Node contributors. // @@ -2023,7 +7275,7 @@ function callbackify(original) { exports.callbackify = callbackify; }).call(this)}).call(this,require('_process')) -},{"./support/isBuffer":17,"./support/types":18,"_process":42,"inherits":37}],20:[function(require,module,exports){ +},{"./support/isBuffer":89,"./support/types":90,"_process":120,"inherits":111}],92:[function(require,module,exports){ (function (Buffer){(function (){ /*! * The buffer module from node.js, for the browser. @@ -3804,7 +9056,7 @@ function numberIsNaN (obj) { } }).call(this)}).call(this,require("buffer").Buffer) -},{"base64-js":16,"buffer":20,"ieee754":36}],21:[function(require,module,exports){ +},{"base64-js":88,"buffer":92,"ieee754":110}],93:[function(require,module,exports){ 'use strict'; var GetIntrinsic = require('get-intrinsic'); @@ -3821,7 +9073,7 @@ module.exports = function callBoundIntrinsic(name, allowMissing) { return intrinsic; }; -},{"./":22,"get-intrinsic":26}],22:[function(require,module,exports){ +},{"./":94,"get-intrinsic":100}],94:[function(require,module,exports){ 'use strict'; var bind = require('function-bind'); @@ -3870,7 +9122,556 @@ if ($defineProperty) { module.exports.apply = applyBind; } -},{"function-bind":25,"get-intrinsic":26}],23:[function(require,module,exports){ +},{"function-bind":99,"get-intrinsic":100}],95:[function(require,module,exports){ +(function (process){(function (){ +/* eslint-env browser */ + +/** + * This is the web browser implementation of `debug()`. + */ + +exports.formatArgs = formatArgs; +exports.save = save; +exports.load = load; +exports.useColors = useColors; +exports.storage = localstorage(); +exports.destroy = (() => { + let warned = false; + + return () => { + if (!warned) { + warned = true; + console.warn('Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`.'); + } + }; +})(); + +/** + * Colors. + */ + +exports.colors = [ + '#0000CC', + '#0000FF', + '#0033CC', + '#0033FF', + '#0066CC', + '#0066FF', + '#0099CC', + '#0099FF', + '#00CC00', + '#00CC33', + '#00CC66', + '#00CC99', + '#00CCCC', + '#00CCFF', + '#3300CC', + '#3300FF', + '#3333CC', + '#3333FF', + '#3366CC', + '#3366FF', + '#3399CC', + '#3399FF', + '#33CC00', + '#33CC33', + '#33CC66', + '#33CC99', + '#33CCCC', + '#33CCFF', + '#6600CC', + '#6600FF', + '#6633CC', + '#6633FF', + '#66CC00', + '#66CC33', + '#9900CC', + '#9900FF', + '#9933CC', + '#9933FF', + '#99CC00', + '#99CC33', + '#CC0000', + '#CC0033', + '#CC0066', + '#CC0099', + '#CC00CC', + '#CC00FF', + '#CC3300', + '#CC3333', + '#CC3366', + '#CC3399', + '#CC33CC', + '#CC33FF', + '#CC6600', + '#CC6633', + '#CC9900', + '#CC9933', + '#CCCC00', + '#CCCC33', + '#FF0000', + '#FF0033', + '#FF0066', + '#FF0099', + '#FF00CC', + '#FF00FF', + '#FF3300', + '#FF3333', + '#FF3366', + '#FF3399', + '#FF33CC', + '#FF33FF', + '#FF6600', + '#FF6633', + '#FF9900', + '#FF9933', + '#FFCC00', + '#FFCC33' +]; + +/** + * Currently only WebKit-based Web Inspectors, Firefox >= v31, + * and the Firebug extension (any Firefox version) are known + * to support "%c" CSS customizations. + * + * TODO: add a `localStorage` variable to explicitly enable/disable colors + */ + +// eslint-disable-next-line complexity +function useColors() { + // NB: In an Electron preload script, document will be defined but not fully + // initialized. Since we know we're in Chrome, we'll just detect this case + // explicitly + if (typeof window !== 'undefined' && window.process && (window.process.type === 'renderer' || window.process.__nwjs)) { + return true; + } + + // Internet Explorer and Edge do not support colors. + if (typeof navigator !== 'undefined' && navigator.userAgent && navigator.userAgent.toLowerCase().match(/(edge|trident)\/(\d+)/)) { + return false; + } + + // Is webkit? http://stackoverflow.com/a/16459606/376773 + // document is undefined in react-native: https://github.com/facebook/react-native/pull/1632 + return (typeof document !== 'undefined' && document.documentElement && document.documentElement.style && document.documentElement.style.WebkitAppearance) || + // Is firebug? http://stackoverflow.com/a/398120/376773 + (typeof window !== 'undefined' && window.console && (window.console.firebug || (window.console.exception && window.console.table))) || + // Is firefox >= v31? + // https://developer.mozilla.org/en-US/docs/Tools/Web_Console#Styling_messages + (typeof navigator !== 'undefined' && navigator.userAgent && navigator.userAgent.toLowerCase().match(/firefox\/(\d+)/) && parseInt(RegExp.$1, 10) >= 31) || + // Double check webkit in userAgent just in case we are in a worker + (typeof navigator !== 'undefined' && navigator.userAgent && navigator.userAgent.toLowerCase().match(/applewebkit\/(\d+)/)); +} + +/** + * Colorize log arguments if enabled. + * + * @api public + */ + +function formatArgs(args) { + args[0] = (this.useColors ? '%c' : '') + + this.namespace + + (this.useColors ? ' %c' : ' ') + + args[0] + + (this.useColors ? '%c ' : ' ') + + '+' + module.exports.humanize(this.diff); + + if (!this.useColors) { + return; + } + + const c = 'color: ' + this.color; + args.splice(1, 0, c, 'color: inherit'); + + // The final "%c" is somewhat tricky, because there could be other + // arguments passed either before or after the %c, so we need to + // figure out the correct index to insert the CSS into + let index = 0; + let lastC = 0; + args[0].replace(/%[a-zA-Z%]/g, match => { + if (match === '%%') { + return; + } + index++; + if (match === '%c') { + // We only are interested in the *last* %c + // (the user may have provided their own) + lastC = index; + } + }); + + args.splice(lastC, 0, c); +} + +/** + * Invokes `console.debug()` when available. + * No-op when `console.debug` is not a "function". + * If `console.debug` is not available, falls back + * to `console.log`. + * + * @api public + */ +exports.log = console.debug || console.log || (() => {}); + +/** + * Save `namespaces`. + * + * @param {String} namespaces + * @api private + */ +function save(namespaces) { + try { + if (namespaces) { + exports.storage.setItem('debug', namespaces); + } else { + exports.storage.removeItem('debug'); + } + } catch (error) { + // Swallow + // XXX (@Qix-) should we be logging these? + } +} + +/** + * Load `namespaces`. + * + * @return {String} returns the previously persisted debug modes + * @api private + */ +function load() { + let r; + try { + r = exports.storage.getItem('debug'); + } catch (error) { + // Swallow + // XXX (@Qix-) should we be logging these? + } + + // If debug isn't set in LS, and we're in Electron, try to load $DEBUG + if (!r && typeof process !== 'undefined' && 'env' in process) { + r = process.env.DEBUG; + } + + return r; +} + +/** + * Localstorage attempts to return the localstorage. + * + * This is necessary because safari throws + * when a user disables cookies/localstorage + * and you attempt to access it. + * + * @return {LocalStorage} + * @api private + */ + +function localstorage() { + try { + // TVMLKit (Apple TV JS Runtime) does not have a window object, just localStorage in the global context + // The Browser also has localStorage in the global context. + return localStorage; + } catch (error) { + // Swallow + // XXX (@Qix-) should we be logging these? + } +} + +module.exports = require('./common')(exports); + +const {formatters} = module.exports; + +/** + * Map %j to `JSON.stringify()`, since no Web Inspectors do that by default. + */ + +formatters.j = function (v) { + try { + return JSON.stringify(v); + } catch (error) { + return '[UnexpectedJSONParseError]: ' + error.message; + } +}; + +}).call(this)}).call(this,require('_process')) +},{"./common":96,"_process":120}],96:[function(require,module,exports){ + +/** + * This is the common logic for both the Node.js and web browser + * implementations of `debug()`. + */ + +function setup(env) { + createDebug.debug = createDebug; + createDebug.default = createDebug; + createDebug.coerce = coerce; + createDebug.disable = disable; + createDebug.enable = enable; + createDebug.enabled = enabled; + createDebug.humanize = require('ms'); + createDebug.destroy = destroy; + + Object.keys(env).forEach(key => { + createDebug[key] = env[key]; + }); + + /** + * The currently active debug mode names, and names to skip. + */ + + createDebug.names = []; + createDebug.skips = []; + + /** + * Map of special "%n" handling functions, for the debug "format" argument. + * + * Valid key names are a single, lower or upper-case letter, i.e. "n" and "N". + */ + createDebug.formatters = {}; + + /** + * Selects a color for a debug namespace + * @param {String} namespace The namespace string for the debug instance to be colored + * @return {Number|String} An ANSI color code for the given namespace + * @api private + */ + function selectColor(namespace) { + let hash = 0; + + for (let i = 0; i < namespace.length; i++) { + hash = ((hash << 5) - hash) + namespace.charCodeAt(i); + hash |= 0; // Convert to 32bit integer + } + + return createDebug.colors[Math.abs(hash) % createDebug.colors.length]; + } + createDebug.selectColor = selectColor; + + /** + * Create a debugger with the given `namespace`. + * + * @param {String} namespace + * @return {Function} + * @api public + */ + function createDebug(namespace) { + let prevTime; + let enableOverride = null; + let namespacesCache; + let enabledCache; + + function debug(...args) { + // Disabled? + if (!debug.enabled) { + return; + } + + const self = debug; + + // Set `diff` timestamp + const curr = Number(new Date()); + const ms = curr - (prevTime || curr); + self.diff = ms; + self.prev = prevTime; + self.curr = curr; + prevTime = curr; + + args[0] = createDebug.coerce(args[0]); + + if (typeof args[0] !== 'string') { + // Anything else let's inspect with %O + args.unshift('%O'); + } + + // Apply any `formatters` transformations + let index = 0; + args[0] = args[0].replace(/%([a-zA-Z%])/g, (match, format) => { + // If we encounter an escaped % then don't increase the array index + if (match === '%%') { + return '%'; + } + index++; + const formatter = createDebug.formatters[format]; + if (typeof formatter === 'function') { + const val = args[index]; + match = formatter.call(self, val); + + // Now we need to remove `args[index]` since it's inlined in the `format` + args.splice(index, 1); + index--; + } + return match; + }); + + // Apply env-specific formatting (colors, etc.) + createDebug.formatArgs.call(self, args); + + const logFn = self.log || createDebug.log; + logFn.apply(self, args); + } + + debug.namespace = namespace; + debug.useColors = createDebug.useColors(); + debug.color = createDebug.selectColor(namespace); + debug.extend = extend; + debug.destroy = createDebug.destroy; // XXX Temporary. Will be removed in the next major release. + + Object.defineProperty(debug, 'enabled', { + enumerable: true, + configurable: false, + get: () => { + if (enableOverride !== null) { + return enableOverride; + } + if (namespacesCache !== createDebug.namespaces) { + namespacesCache = createDebug.namespaces; + enabledCache = createDebug.enabled(namespace); + } + + return enabledCache; + }, + set: v => { + enableOverride = v; + } + }); + + // Env-specific initialization logic for debug instances + if (typeof createDebug.init === 'function') { + createDebug.init(debug); + } + + return debug; + } + + function extend(namespace, delimiter) { + const newDebug = createDebug(this.namespace + (typeof delimiter === 'undefined' ? ':' : delimiter) + namespace); + newDebug.log = this.log; + return newDebug; + } + + /** + * Enables a debug mode by namespaces. This can include modes + * separated by a colon and wildcards. + * + * @param {String} namespaces + * @api public + */ + function enable(namespaces) { + createDebug.save(namespaces); + createDebug.namespaces = namespaces; + + createDebug.names = []; + createDebug.skips = []; + + let i; + const split = (typeof namespaces === 'string' ? namespaces : '').split(/[\s,]+/); + const len = split.length; + + for (i = 0; i < len; i++) { + if (!split[i]) { + // ignore empty strings + continue; + } + + namespaces = split[i].replace(/\*/g, '.*?'); + + if (namespaces[0] === '-') { + createDebug.skips.push(new RegExp('^' + namespaces.slice(1) + '$')); + } else { + createDebug.names.push(new RegExp('^' + namespaces + '$')); + } + } + } + + /** + * Disable debug output. + * + * @return {String} namespaces + * @api public + */ + function disable() { + const namespaces = [ + ...createDebug.names.map(toNamespace), + ...createDebug.skips.map(toNamespace).map(namespace => '-' + namespace) + ].join(','); + createDebug.enable(''); + return namespaces; + } + + /** + * Returns true if the given mode name is enabled, false otherwise. + * + * @param {String} name + * @return {Boolean} + * @api public + */ + function enabled(name) { + if (name[name.length - 1] === '*') { + return true; + } + + let i; + let len; + + for (i = 0, len = createDebug.skips.length; i < len; i++) { + if (createDebug.skips[i].test(name)) { + return false; + } + } + + for (i = 0, len = createDebug.names.length; i < len; i++) { + if (createDebug.names[i].test(name)) { + return true; + } + } + + return false; + } + + /** + * Convert regexp to namespace + * + * @param {RegExp} regxep + * @return {String} namespace + * @api private + */ + function toNamespace(regexp) { + return regexp.toString() + .substring(2, regexp.toString().length - 2) + .replace(/\.\*\?$/, '*'); + } + + /** + * Coerce `val`. + * + * @param {Mixed} val + * @return {Mixed} + * @api private + */ + function coerce(val) { + if (val instanceof Error) { + return val.stack || val.message; + } + return val; + } + + /** + * XXX DO NOT USE. This is a temporary stub function. + * XXX It WILL be removed in the next major release. + */ + function destroy() { + console.warn('Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`.'); + } + + createDebug.enable(createDebug.load()); + + return createDebug; +} + +module.exports = setup; + +},{"ms":116}],97:[function(require,module,exports){ 'use strict'; var isCallable = require('is-callable'); @@ -3934,7 +9735,7 @@ var forEach = function forEach(list, iterator, thisArg) { module.exports = forEach; -},{"is-callable":39}],24:[function(require,module,exports){ +},{"is-callable":113}],98:[function(require,module,exports){ 'use strict'; /* eslint no-invalid-this: 1 */ @@ -3988,14 +9789,14 @@ module.exports = function bind(that) { return bound; }; -},{}],25:[function(require,module,exports){ +},{}],99:[function(require,module,exports){ 'use strict'; var implementation = require('./implementation'); module.exports = Function.prototype.bind || implementation; -},{"./implementation":24}],26:[function(require,module,exports){ +},{"./implementation":98}],100:[function(require,module,exports){ 'use strict'; var undefined; @@ -4341,7 +10142,7 @@ module.exports = function GetIntrinsic(name, allowMissing) { return value; }; -},{"function-bind":25,"has":31,"has-symbols":28}],27:[function(require,module,exports){ +},{"function-bind":99,"has":105,"has-symbols":102}],101:[function(require,module,exports){ 'use strict'; var GetIntrinsic = require('get-intrinsic'); @@ -4359,7 +10160,7 @@ if ($gOPD) { module.exports = $gOPD; -},{"get-intrinsic":26}],28:[function(require,module,exports){ +},{"get-intrinsic":100}],102:[function(require,module,exports){ 'use strict'; var origSymbol = typeof Symbol !== 'undefined' && Symbol; @@ -4374,7 +10175,7 @@ module.exports = function hasNativeSymbols() { return hasSymbolSham(); }; -},{"./shams":29}],29:[function(require,module,exports){ +},{"./shams":103}],103:[function(require,module,exports){ 'use strict'; /* eslint complexity: [2, 18], max-statements: [2, 33] */ @@ -4418,7 +10219,7 @@ module.exports = function hasSymbols() { return true; }; -},{}],30:[function(require,module,exports){ +},{}],104:[function(require,module,exports){ 'use strict'; var hasSymbols = require('has-symbols/shams'); @@ -4427,14 +10228,14 @@ module.exports = function hasToStringTagShams() { return hasSymbols() && !!Symbol.toStringTag; }; -},{"has-symbols/shams":29}],31:[function(require,module,exports){ +},{"has-symbols/shams":103}],105:[function(require,module,exports){ 'use strict'; var bind = require('function-bind'); module.exports = bind.call(Function.call, Object.prototype.hasOwnProperty); -},{"function-bind":25}],32:[function(require,module,exports){ +},{"function-bind":99}],106:[function(require,module,exports){ 'use strict'; var reactIs = require('react-is'); @@ -4539,7 +10340,7 @@ function hoistNonReactStatics(targetComponent, sourceComponent, blacklist) { module.exports = hoistNonReactStatics; -},{"react-is":35}],33:[function(require,module,exports){ +},{"react-is":109}],107:[function(require,module,exports){ (function (process){(function (){ /** @license React v16.13.1 * react-is.development.js @@ -4724,7 +10525,7 @@ exports.typeOf = typeOf; } }).call(this)}).call(this,require('_process')) -},{"_process":42}],34:[function(require,module,exports){ +},{"_process":120}],108:[function(require,module,exports){ /** @license React v16.13.1 * react-is.production.min.js * @@ -4741,7 +10542,7 @@ exports.Profiler=g;exports.StrictMode=f;exports.Suspense=p;exports.isAsyncMode=f exports.isMemo=function(a){return z(a)===r};exports.isPortal=function(a){return z(a)===d};exports.isProfiler=function(a){return z(a)===g};exports.isStrictMode=function(a){return z(a)===f};exports.isSuspense=function(a){return z(a)===p}; exports.isValidElementType=function(a){return"string"===typeof a||"function"===typeof a||a===e||a===m||a===g||a===f||a===p||a===q||"object"===typeof a&&null!==a&&(a.$$typeof===t||a.$$typeof===r||a.$$typeof===h||a.$$typeof===k||a.$$typeof===n||a.$$typeof===w||a.$$typeof===x||a.$$typeof===y||a.$$typeof===v)};exports.typeOf=z; -},{}],35:[function(require,module,exports){ +},{}],109:[function(require,module,exports){ (function (process){(function (){ 'use strict'; @@ -4752,7 +10553,7 @@ if (process.env.NODE_ENV === 'production') { } }).call(this)}).call(this,require('_process')) -},{"./cjs/react-is.development.js":33,"./cjs/react-is.production.min.js":34,"_process":42}],36:[function(require,module,exports){ +},{"./cjs/react-is.development.js":107,"./cjs/react-is.production.min.js":108,"_process":120}],110:[function(require,module,exports){ /*! ieee754. BSD-3-Clause License. Feross Aboukhadijeh */ exports.read = function (buffer, offset, isLE, mLen, nBytes) { var e, m @@ -4839,7 +10640,7 @@ exports.write = function (buffer, value, offset, isLE, mLen, nBytes) { buffer[offset + i - d] |= s * 128 } -},{}],37:[function(require,module,exports){ +},{}],111:[function(require,module,exports){ if (typeof Object.create === 'function') { // implementation from standard node.js 'util' module module.exports = function inherits(ctor, superCtor) { @@ -4868,7 +10669,7 @@ if (typeof Object.create === 'function') { } } -},{}],38:[function(require,module,exports){ +},{}],112:[function(require,module,exports){ 'use strict'; var hasToStringTag = require('has-tostringtag/shams')(); @@ -4903,7 +10704,7 @@ isStandardArguments.isLegacyArguments = isLegacyArguments; // for tests module.exports = supportsStandardArguments ? isStandardArguments : isLegacyArguments; -},{"call-bind/callBound":21,"has-tostringtag/shams":30}],39:[function(require,module,exports){ +},{"call-bind/callBound":93,"has-tostringtag/shams":104}],113:[function(require,module,exports){ 'use strict'; var fnToStr = Function.prototype.toString; @@ -5006,7 +10807,7 @@ module.exports = reflectApply return tryFunctionObject(value); }; -},{}],40:[function(require,module,exports){ +},{}],114:[function(require,module,exports){ 'use strict'; var toStr = Object.prototype.toString; @@ -5046,7 +10847,7 @@ module.exports = function isGeneratorFunction(fn) { return getProto(fn) === GeneratorFunction; }; -},{"has-tostringtag/shams":30}],41:[function(require,module,exports){ +},{"has-tostringtag/shams":104}],115:[function(require,module,exports){ (function (global){(function (){ 'use strict'; @@ -5110,7 +10911,363 @@ module.exports = function isTypedArray(value) { }; }).call(this)}).call(this,typeof global !== "undefined" ? global : typeof self !== "undefined" ? self : typeof window !== "undefined" ? window : {}) -},{"available-typed-arrays":15,"call-bind/callBound":21,"for-each":23,"gopd":27,"has-tostringtag/shams":30}],42:[function(require,module,exports){ +},{"available-typed-arrays":87,"call-bind/callBound":93,"for-each":97,"gopd":101,"has-tostringtag/shams":104}],116:[function(require,module,exports){ +/** + * Helpers. + */ + +var s = 1000; +var m = s * 60; +var h = m * 60; +var d = h * 24; +var w = d * 7; +var y = d * 365.25; + +/** + * Parse or format the given `val`. + * + * Options: + * + * - `long` verbose formatting [false] + * + * @param {String|Number} val + * @param {Object} [options] + * @throws {Error} throw an error if val is not a non-empty string or a number + * @return {String|Number} + * @api public + */ + +module.exports = function(val, options) { + options = options || {}; + var type = typeof val; + if (type === 'string' && val.length > 0) { + return parse(val); + } else if (type === 'number' && isFinite(val)) { + return options.long ? fmtLong(val) : fmtShort(val); + } + throw new Error( + 'val is not a non-empty string or a valid number. val=' + + JSON.stringify(val) + ); +}; + +/** + * Parse the given `str` and return milliseconds. + * + * @param {String} str + * @return {Number} + * @api private + */ + +function parse(str) { + str = String(str); + if (str.length > 100) { + return; + } + var match = /^(-?(?:\d+)?\.?\d+) *(milliseconds?|msecs?|ms|seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|weeks?|w|years?|yrs?|y)?$/i.exec( + str + ); + if (!match) { + return; + } + var n = parseFloat(match[1]); + var type = (match[2] || 'ms').toLowerCase(); + switch (type) { + case 'years': + case 'year': + case 'yrs': + case 'yr': + case 'y': + return n * y; + case 'weeks': + case 'week': + case 'w': + return n * w; + case 'days': + case 'day': + case 'd': + return n * d; + case 'hours': + case 'hour': + case 'hrs': + case 'hr': + case 'h': + return n * h; + case 'minutes': + case 'minute': + case 'mins': + case 'min': + case 'm': + return n * m; + case 'seconds': + case 'second': + case 'secs': + case 'sec': + case 's': + return n * s; + case 'milliseconds': + case 'millisecond': + case 'msecs': + case 'msec': + case 'ms': + return n; + default: + return undefined; + } +} + +/** + * Short format for `ms`. + * + * @param {Number} ms + * @return {String} + * @api private + */ + +function fmtShort(ms) { + var msAbs = Math.abs(ms); + if (msAbs >= d) { + return Math.round(ms / d) + 'd'; + } + if (msAbs >= h) { + return Math.round(ms / h) + 'h'; + } + if (msAbs >= m) { + return Math.round(ms / m) + 'm'; + } + if (msAbs >= s) { + return Math.round(ms / s) + 's'; + } + return ms + 'ms'; +} + +/** + * Long format for `ms`. + * + * @param {Number} ms + * @return {String} + * @api private + */ + +function fmtLong(ms) { + var msAbs = Math.abs(ms); + if (msAbs >= d) { + return plural(ms, msAbs, d, 'day'); + } + if (msAbs >= h) { + return plural(ms, msAbs, h, 'hour'); + } + if (msAbs >= m) { + return plural(ms, msAbs, m, 'minute'); + } + if (msAbs >= s) { + return plural(ms, msAbs, s, 'second'); + } + return ms + ' ms'; +} + +/** + * Pluralization helper. + */ + +function plural(ms, msAbs, n, name) { + var isPlural = msAbs >= n * 1.5; + return Math.round(ms / n) + ' ' + name + (isPlural ? 's' : ''); +} + +},{}],117:[function(require,module,exports){ +'use strict'; + +const { ErrorWithCause } = require('./lib/error-with-cause'); // linemod-replace-with: export { ErrorWithCause } from './lib/error-with-cause.mjs'; + +const { // linemod-replace-with: export { + findCauseByReference, + getErrorCause, + messageWithCauses, + stackWithCauses, +} = require('./lib/helpers'); // linemod-replace-with: } from './lib/helpers.mjs'; + +module.exports = { // linemod-remove + ErrorWithCause, // linemod-remove + findCauseByReference, // linemod-remove + getErrorCause, // linemod-remove + stackWithCauses, // linemod-remove + messageWithCauses, // linemod-remove +}; // linemod-remove + +},{"./lib/error-with-cause":118,"./lib/helpers":119}],118:[function(require,module,exports){ +'use strict'; + +/** @template [T=undefined] */ +class ErrorWithCause extends Error { // linemod-prefix-with: export + /** + * @param {string} message + * @param {{ cause?: T }} options + */ + constructor (message, { cause } = {}) { + super(message); + + /** @type {string} */ + this.name = ErrorWithCause.name; + if (cause) { + /** @type {T} */ + this.cause = cause; + } + /** @type {string} */ + this.message = message; + } +} + +module.exports = { // linemod-remove + ErrorWithCause, // linemod-remove +}; // linemod-remove + +},{}],119:[function(require,module,exports){ +'use strict'; + +/** + * @template {Error} T + * @param {unknown} err + * @param {new(...args: any[]) => T} reference + * @returns {T|undefined} + */ +const findCauseByReference = (err, reference) => { // linemod-prefix-with: export + if (!err || !reference) return; + if (!(err instanceof Error)) return; + if ( + !(reference.prototype instanceof Error) && + // @ts-ignore + reference !== Error + ) return; + + /** + * Ensures we don't go circular + * + * @type {Set} + */ + const seen = new Set(); + + /** @type {Error|undefined} */ + let currentErr = err; + + while (currentErr && !seen.has(currentErr)) { + seen.add(currentErr); + + if (currentErr instanceof reference) { + return currentErr; + } + + currentErr = getErrorCause(currentErr); + } +}; + +/** + * @param {Error|{ cause?: unknown|(()=>err)}} err + * @returns {Error|undefined} + */ +const getErrorCause = (err) => { // linemod-prefix-with: export + if (!err || typeof err !== 'object' || !('cause' in err)) { + return; + } + + // VError / NError style causes + if (typeof err.cause === 'function') { + const causeResult = err.cause(); + + return causeResult instanceof Error + ? causeResult + : undefined; + } else { + return err.cause instanceof Error + ? err.cause + : undefined; + } +}; + +/** + * Internal method that keeps a track of which error we have already added, to avoid circular recursion + * + * @private + * @param {Error} err + * @param {Set} seen + * @returns {string} + */ +const _stackWithCauses = (err, seen) => { + if (!(err instanceof Error)) return ''; + + const stack = err.stack || ''; + + // Ensure we don't go circular or crazily deep + if (seen.has(err)) { + return stack + '\ncauses have become circular...'; + } + + const cause = getErrorCause(err); + + // TODO: Follow up in https://github.com/nodejs/node/issues/38725#issuecomment-920309092 on how to log stuff + + if (cause) { + seen.add(err); + return (stack + '\ncaused by: ' + _stackWithCauses(cause, seen)); + } else { + return stack; + } +}; + +/** + * @param {Error} err + * @returns {string} + */ +const stackWithCauses = (err) => _stackWithCauses(err, new Set()); // linemod-prefix-with: export + +/** + * Internal method that keeps a track of which error we have already added, to avoid circular recursion + * + * @private + * @param {Error} err + * @param {Set} seen + * @param {boolean} [skip] + * @returns {string} + */ +const _messageWithCauses = (err, seen, skip) => { + if (!(err instanceof Error)) return ''; + + const message = skip ? '' : (err.message || ''); + + // Ensure we don't go circular or crazily deep + if (seen.has(err)) { + return message + ': ...'; + } + + const cause = getErrorCause(err); + + if (cause) { + seen.add(err); + + const skipIfVErrorStyleCause = 'cause' in err && typeof err.cause === 'function'; + + return (message + + (skipIfVErrorStyleCause ? '' : ': ') + + _messageWithCauses(cause, seen, skipIfVErrorStyleCause)); + } else { + return message; + } +}; + +/** + * @param {Error} err + * @returns {string} + */ +const messageWithCauses = (err) => _messageWithCauses(err, new Set()); // linemod-prefix-with: export + +module.exports = { // linemod-remove + findCauseByReference, // linemod-remove + getErrorCause, // linemod-remove + stackWithCauses, // linemod-remove + messageWithCauses, // linemod-remove +}; // linemod-remove + +},{}],120:[function(require,module,exports){ // shim for using process in browser var process = module.exports = {}; @@ -5296,7 +11453,7 @@ process.chdir = function (dir) { }; process.umask = function() { return 0; }; -},{}],43:[function(require,module,exports){ +},{}],121:[function(require,module,exports){ (function (process){(function (){ /** * @license React @@ -35168,7 +41325,7 @@ if ( } }).call(this)}).call(this,require('_process')) -},{"_process":42,"react":80,"scheduler":86}],44:[function(require,module,exports){ +},{"_process":120,"react":158,"scheduler":164}],122:[function(require,module,exports){ /** * @license React * react-dom.production.min.js @@ -35493,7 +41650,7 @@ exports.hydrateRoot=function(a,b,c){if(!ol(a))throw Error(p(405));var d=null!=c& e);return new nl(b)};exports.render=function(a,b,c){if(!pl(b))throw Error(p(200));return sl(null,a,b,!1,c)};exports.unmountComponentAtNode=function(a){if(!pl(a))throw Error(p(40));return a._reactRootContainer?(Sk(function(){sl(null,null,a,!1,function(){a._reactRootContainer=null;a[uf]=null})}),!0):!1};exports.unstable_batchedUpdates=Rk; exports.unstable_renderSubtreeIntoContainer=function(a,b,c,d){if(!pl(c))throw Error(p(200));if(null==a||void 0===a._reactInternals)throw Error(p(38));return sl(a,b,c,!1,d)};exports.version="18.2.0-next-9e3b772b8-20220608"; -},{"react":80,"scheduler":86}],45:[function(require,module,exports){ +},{"react":158,"scheduler":164}],123:[function(require,module,exports){ (function (process){(function (){ 'use strict'; @@ -35535,7 +41692,7 @@ if (process.env.NODE_ENV === 'production') { } }).call(this)}).call(this,require('_process')) -},{"./cjs/react-dom.development.js":43,"./cjs/react-dom.production.min.js":44,"_process":42}],46:[function(require,module,exports){ +},{"./cjs/react-dom.development.js":121,"./cjs/react-dom.production.min.js":122,"_process":120}],124:[function(require,module,exports){ 'use strict'; var React = require('react'); @@ -35594,7 +41751,7 @@ function isChildren(x) { return typeof x === 'string' || typeof x === 'number' || Array.isArray(x); } -},{"./parse-tag":47,"react":80}],47:[function(require,module,exports){ +},{"./parse-tag":125,"react":158}],125:[function(require,module,exports){ /* eslint-disable complexity, max-statements */ 'use strict'; @@ -35651,7 +41808,7 @@ function parseTag(tag, props) { return tagName ? tagName.toLowerCase() : 'div'; } -},{}],48:[function(require,module,exports){ +},{}],126:[function(require,module,exports){ (function (process){(function (){ /** * @license React @@ -35876,7 +42033,7 @@ exports.typeOf = typeOf; } }).call(this)}).call(this,require('_process')) -},{"_process":42}],49:[function(require,module,exports){ +},{"_process":120}],127:[function(require,module,exports){ /** * @license React * react-is.production.min.js @@ -35892,9 +42049,9 @@ exports.SuspenseList=n;exports.isAsyncMode=function(){return!1};exports.isConcur exports.isPortal=function(a){return v(a)===c};exports.isProfiler=function(a){return v(a)===f};exports.isStrictMode=function(a){return v(a)===e};exports.isSuspense=function(a){return v(a)===m};exports.isSuspenseList=function(a){return v(a)===n}; exports.isValidElementType=function(a){return"string"===typeof a||"function"===typeof a||a===d||a===f||a===e||a===m||a===n||a===t||"object"===typeof a&&null!==a&&(a.$$typeof===q||a.$$typeof===p||a.$$typeof===g||a.$$typeof===h||a.$$typeof===l||a.$$typeof===u||void 0!==a.getModuleId)?!0:!1};exports.typeOf=v; -},{}],50:[function(require,module,exports){ -arguments[4][35][0].apply(exports,arguments) -},{"./cjs/react-is.development.js":48,"./cjs/react-is.production.min.js":49,"_process":42,"dup":35}],51:[function(require,module,exports){ +},{}],128:[function(require,module,exports){ +arguments[4][109][0].apply(exports,arguments) +},{"./cjs/react-is.development.js":126,"./cjs/react-is.production.min.js":127,"_process":120,"dup":109}],129:[function(require,module,exports){ (function (process){(function (){ "use strict"; @@ -35913,7 +42070,7 @@ if (process.env.NODE_ENV !== 'production') { var _default = ReactReduxContext; exports.default = _default; }).call(this)}).call(this,require('_process')) -},{"_process":42,"react":80}],52:[function(require,module,exports){ +},{"_process":120,"react":158}],130:[function(require,module,exports){ "use strict"; exports.__esModule = true; @@ -35971,7 +42128,7 @@ function Provider({ var _default = Provider; exports.default = _default; -},{"../utils/Subscription":68,"../utils/useIsomorphicLayoutEffect":74,"./Context":51,"react":80}],53:[function(require,module,exports){ +},{"../utils/Subscription":146,"../utils/useIsomorphicLayoutEffect":152,"./Context":129,"react":158}],131:[function(require,module,exports){ (function (process){(function (){ "use strict"; @@ -36412,7 +42569,7 @@ function connect(mapStateToProps, mapDispatchToProps, mergeProps, { var _default = connect; exports.default = _default; }).call(this)}).call(this,require('_process')) -},{"../connect/mapDispatchToProps":55,"../connect/mapStateToProps":56,"../connect/mergeProps":57,"../connect/selectorFactory":58,"../utils/Subscription":68,"../utils/shallowEqual":73,"../utils/useIsomorphicLayoutEffect":74,"../utils/useSyncExternalStore":75,"../utils/warning":77,"./Context":51,"@babel/runtime/helpers/extends":7,"@babel/runtime/helpers/interopRequireDefault":8,"@babel/runtime/helpers/objectWithoutPropertiesLoose":10,"_process":42,"hoist-non-react-statics":32,"react":80,"react-is":50}],54:[function(require,module,exports){ +},{"../connect/mapDispatchToProps":133,"../connect/mapStateToProps":134,"../connect/mergeProps":135,"../connect/selectorFactory":136,"../utils/Subscription":146,"../utils/shallowEqual":151,"../utils/useIsomorphicLayoutEffect":152,"../utils/useSyncExternalStore":153,"../utils/warning":155,"./Context":129,"@babel/runtime/helpers/extends":7,"@babel/runtime/helpers/interopRequireDefault":8,"@babel/runtime/helpers/objectWithoutPropertiesLoose":10,"_process":120,"hoist-non-react-statics":106,"react":158,"react-is":128}],132:[function(require,module,exports){ "use strict"; exports.__esModule = true; @@ -36423,7 +42580,7 @@ function createInvalidArgFactory(arg, name) { throw new Error(`Invalid value of type ${typeof arg} for ${name} argument when connecting component ${options.wrappedComponentName}.`); }; } -},{}],55:[function(require,module,exports){ +},{}],133:[function(require,module,exports){ "use strict"; var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault"); @@ -36444,7 +42601,7 @@ function mapDispatchToPropsFactory(mapDispatchToProps) { })) : typeof mapDispatchToProps === 'function' ? // @ts-ignore (0, _wrapMapToProps.wrapMapToPropsFunc)(mapDispatchToProps, 'mapDispatchToProps') : (0, _invalidArgFactory.createInvalidArgFactory)(mapDispatchToProps, 'mapDispatchToProps'); } -},{"../utils/bindActionCreators":70,"./invalidArgFactory":54,"./wrapMapToProps":60,"@babel/runtime/helpers/interopRequireDefault":8}],56:[function(require,module,exports){ +},{"../utils/bindActionCreators":148,"./invalidArgFactory":132,"./wrapMapToProps":138,"@babel/runtime/helpers/interopRequireDefault":8}],134:[function(require,module,exports){ "use strict"; exports.__esModule = true; @@ -36458,7 +42615,7 @@ function mapStateToPropsFactory(mapStateToProps) { return !mapStateToProps ? (0, _wrapMapToProps.wrapMapToPropsConstant)(() => ({})) : typeof mapStateToProps === 'function' ? // @ts-ignore (0, _wrapMapToProps.wrapMapToPropsFunc)(mapStateToProps, 'mapStateToProps') : (0, _invalidArgFactory.createInvalidArgFactory)(mapStateToProps, 'mapStateToProps'); } -},{"./invalidArgFactory":54,"./wrapMapToProps":60}],57:[function(require,module,exports){ +},{"./invalidArgFactory":132,"./wrapMapToProps":138}],135:[function(require,module,exports){ (function (process){(function (){ "use strict"; @@ -36507,7 +42664,7 @@ function mergePropsFactory(mergeProps) { return !mergeProps ? () => defaultMergeProps : typeof mergeProps === 'function' ? wrapMergePropsFunc(mergeProps) : (0, _invalidArgFactory.createInvalidArgFactory)(mergeProps, 'mergeProps'); } }).call(this)}).call(this,require('_process')) -},{"../utils/verifyPlainObject":76,"./invalidArgFactory":54,"@babel/runtime/helpers/extends":7,"@babel/runtime/helpers/interopRequireDefault":8,"_process":42}],58:[function(require,module,exports){ +},{"../utils/verifyPlainObject":154,"./invalidArgFactory":132,"@babel/runtime/helpers/extends":7,"@babel/runtime/helpers/interopRequireDefault":8,"_process":120}],136:[function(require,module,exports){ (function (process){(function (){ "use strict"; @@ -36605,7 +42762,7 @@ function finalPropsSelectorFactory(dispatch, _ref) { return pureFinalPropsSelectorFactory(mapStateToProps, mapDispatchToProps, mergeProps, dispatch, options); } }).call(this)}).call(this,require('_process')) -},{"./verifySubselectors":59,"@babel/runtime/helpers/interopRequireDefault":8,"@babel/runtime/helpers/objectWithoutPropertiesLoose":10,"_process":42}],59:[function(require,module,exports){ +},{"./verifySubselectors":137,"@babel/runtime/helpers/interopRequireDefault":8,"@babel/runtime/helpers/objectWithoutPropertiesLoose":10,"_process":120}],137:[function(require,module,exports){ "use strict"; var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault"); @@ -36630,7 +42787,7 @@ function verifySubselectors(mapStateToProps, mapDispatchToProps, mergeProps) { verify(mapDispatchToProps, 'mapDispatchToProps'); verify(mergeProps, 'mergeProps'); } -},{"../utils/warning":77,"@babel/runtime/helpers/interopRequireDefault":8}],60:[function(require,module,exports){ +},{"../utils/warning":155,"@babel/runtime/helpers/interopRequireDefault":8}],138:[function(require,module,exports){ (function (process){(function (){ "use strict"; @@ -36715,7 +42872,7 @@ function wrapMapToPropsFunc(mapToProps, methodName) { }; } }).call(this)}).call(this,require('_process')) -},{"../utils/verifyPlainObject":76,"@babel/runtime/helpers/interopRequireDefault":8,"_process":42}],61:[function(require,module,exports){ +},{"../utils/verifyPlainObject":154,"@babel/runtime/helpers/interopRequireDefault":8,"_process":120}],139:[function(require,module,exports){ "use strict"; var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault"); @@ -36821,7 +42978,7 @@ Object.keys(_types).forEach(function (key) { } }); }); -},{"./components/Context":51,"./components/Provider":52,"./components/connect":53,"./hooks/useDispatch":62,"./hooks/useSelector":64,"./hooks/useStore":65,"./types":67,"./utils/shallowEqual":73,"@babel/runtime/helpers/interopRequireDefault":8}],62:[function(require,module,exports){ +},{"./components/Context":129,"./components/Provider":130,"./components/connect":131,"./hooks/useDispatch":140,"./hooks/useSelector":142,"./hooks/useStore":143,"./types":145,"./utils/shallowEqual":151,"@babel/runtime/helpers/interopRequireDefault":8}],140:[function(require,module,exports){ "use strict"; exports.__esModule = true; @@ -36872,7 +43029,7 @@ function createDispatchHook(context = _Context.ReactReduxContext) { const useDispatch = /*#__PURE__*/createDispatchHook(); exports.useDispatch = useDispatch; -},{"../components/Context":51,"./useStore":65}],63:[function(require,module,exports){ +},{"../components/Context":129,"./useStore":143}],141:[function(require,module,exports){ (function (process){(function (){ "use strict"; @@ -36909,7 +43066,7 @@ function useReduxContext() { return contextValue; } }).call(this)}).call(this,require('_process')) -},{"../components/Context":51,"_process":42,"react":80}],64:[function(require,module,exports){ +},{"../components/Context":129,"_process":120,"react":158}],142:[function(require,module,exports){ (function (process){(function (){ "use strict"; @@ -36997,7 +43154,7 @@ function createSelectorHook(context = _Context.ReactReduxContext) { const useSelector = /*#__PURE__*/createSelectorHook(); exports.useSelector = useSelector; }).call(this)}).call(this,require('_process')) -},{"../components/Context":51,"../utils/useSyncExternalStore":75,"./useReduxContext":63,"_process":42,"react":80}],65:[function(require,module,exports){ +},{"../components/Context":129,"../utils/useSyncExternalStore":153,"./useReduxContext":141,"_process":120,"react":158}],143:[function(require,module,exports){ "use strict"; exports.__esModule = true; @@ -37046,7 +43203,7 @@ function createStoreHook(context = _Context.ReactReduxContext) { const useStore = /*#__PURE__*/createStoreHook(); exports.useStore = useStore; -},{"../components/Context":51,"./useReduxContext":63,"react":80}],66:[function(require,module,exports){ +},{"../components/Context":129,"./useReduxContext":141,"react":158}],144:[function(require,module,exports){ "use strict"; exports.__esModule = true; @@ -37093,9 +43250,9 @@ Object.keys(_exports).forEach(function (key) { // with standard React renderers (ReactDOM, React Native) (0, _batch.setBatch)(_reactBatchedUpdates.unstable_batchedUpdates); -},{"./components/connect":53,"./exports":61,"./hooks/useSelector":64,"./utils/batch":69,"./utils/reactBatchedUpdates":72,"use-sync-external-store/shim":92,"use-sync-external-store/shim/with-selector":93}],67:[function(require,module,exports){ +},{"./components/connect":131,"./exports":139,"./hooks/useSelector":142,"./utils/batch":147,"./utils/reactBatchedUpdates":150,"use-sync-external-store/shim":171,"use-sync-external-store/shim/with-selector":172}],145:[function(require,module,exports){ "use strict"; -},{}],68:[function(require,module,exports){ +},{}],146:[function(require,module,exports){ "use strict"; exports.__esModule = true; @@ -37227,7 +43384,7 @@ function createSubscription(store, parentSub) { }; return subscription; } -},{"./batch":69}],69:[function(require,module,exports){ +},{"./batch":147}],147:[function(require,module,exports){ "use strict"; exports.__esModule = true; @@ -37248,7 +43405,7 @@ exports.setBatch = setBatch; const getBatch = () => batch; exports.getBatch = getBatch; -},{}],70:[function(require,module,exports){ +},{}],148:[function(require,module,exports){ "use strict"; exports.__esModule = true; @@ -37267,7 +43424,7 @@ function bindActionCreators(actionCreators, dispatch) { return boundActionCreators; } -},{}],71:[function(require,module,exports){ +},{}],149:[function(require,module,exports){ "use strict"; exports.__esModule = true; @@ -37289,7 +43446,7 @@ function isPlainObject(obj) { return proto === baseProto; } -},{}],72:[function(require,module,exports){ +},{}],150:[function(require,module,exports){ "use strict"; exports.__esModule = true; @@ -37301,7 +43458,7 @@ Object.defineProperty(exports, "unstable_batchedUpdates", { }); var _reactDom = require("react-dom"); -},{"react-dom":45}],73:[function(require,module,exports){ +},{"react-dom":123}],151:[function(require,module,exports){ "use strict"; exports.__esModule = true; @@ -37334,7 +43491,7 @@ function shallowEqual(objA, objB) { return true; } -},{}],74:[function(require,module,exports){ +},{}],152:[function(require,module,exports){ "use strict"; exports.__esModule = true; @@ -37355,7 +43512,7 @@ const canUseDOM = !!(typeof window !== 'undefined' && typeof window.document !== exports.canUseDOM = canUseDOM; const useIsomorphicLayoutEffect = canUseDOM ? _react.useLayoutEffect : _react.useEffect; exports.useIsomorphicLayoutEffect = useIsomorphicLayoutEffect; -},{"react":80}],75:[function(require,module,exports){ +},{"react":158}],153:[function(require,module,exports){ "use strict"; exports.__esModule = true; @@ -37366,7 +43523,7 @@ const notInitialized = () => { }; exports.notInitialized = notInitialized; -},{}],76:[function(require,module,exports){ +},{}],154:[function(require,module,exports){ "use strict"; var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault"); @@ -37383,7 +43540,7 @@ function verifyPlainObject(value, displayName, methodName) { (0, _warning.default)(`${methodName}() in ${displayName} must return a plain object. Instead received ${value}.`); } } -},{"./isPlainObject":71,"./warning":77,"@babel/runtime/helpers/interopRequireDefault":8}],77:[function(require,module,exports){ +},{"./isPlainObject":149,"./warning":155,"@babel/runtime/helpers/interopRequireDefault":8}],155:[function(require,module,exports){ "use strict"; exports.__esModule = true; @@ -37413,7 +43570,7 @@ function warning(message) { /* eslint-enable no-empty */ } -},{}],78:[function(require,module,exports){ +},{}],156:[function(require,module,exports){ (function (process){(function (){ /** * @license React @@ -40156,7 +46313,7 @@ if ( } }).call(this)}).call(this,require('_process')) -},{"_process":42}],79:[function(require,module,exports){ +},{"_process":120}],157:[function(require,module,exports){ /** * @license React * react.production.min.js @@ -40184,7 +46341,7 @@ exports.useCallback=function(a,b){return U.current.useCallback(a,b)};exports.use exports.useInsertionEffect=function(a,b){return U.current.useInsertionEffect(a,b)};exports.useLayoutEffect=function(a,b){return U.current.useLayoutEffect(a,b)};exports.useMemo=function(a,b){return U.current.useMemo(a,b)};exports.useReducer=function(a,b,e){return U.current.useReducer(a,b,e)};exports.useRef=function(a){return U.current.useRef(a)};exports.useState=function(a){return U.current.useState(a)};exports.useSyncExternalStore=function(a,b,e){return U.current.useSyncExternalStore(a,b,e)}; exports.useTransition=function(){return U.current.useTransition()};exports.version="18.2.0"; -},{}],80:[function(require,module,exports){ +},{}],158:[function(require,module,exports){ (function (process){(function (){ 'use strict'; @@ -40195,12 +46352,12 @@ if (process.env.NODE_ENV === 'production') { } }).call(this)}).call(this,require('_process')) -},{"./cjs/react.development.js":78,"./cjs/react.production.min.js":79,"_process":42}],81:[function(require,module,exports){ +},{"./cjs/react.development.js":156,"./cjs/react.production.min.js":157,"_process":120}],159:[function(require,module,exports){ (function (global){(function (){ !function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t(e.reduxLogger=e.reduxLogger||{})}(this,function(e){"use strict";function t(e,t){e.super_=t,e.prototype=Object.create(t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}})}function r(e,t){Object.defineProperty(this,"kind",{value:e,enumerable:!0}),t&&t.length&&Object.defineProperty(this,"path",{value:t,enumerable:!0})}function n(e,t,r){n.super_.call(this,"E",e),Object.defineProperty(this,"lhs",{value:t,enumerable:!0}),Object.defineProperty(this,"rhs",{value:r,enumerable:!0})}function o(e,t){o.super_.call(this,"N",e),Object.defineProperty(this,"rhs",{value:t,enumerable:!0})}function i(e,t){i.super_.call(this,"D",e),Object.defineProperty(this,"lhs",{value:t,enumerable:!0})}function a(e,t,r){a.super_.call(this,"A",e),Object.defineProperty(this,"index",{value:t,enumerable:!0}),Object.defineProperty(this,"item",{value:r,enumerable:!0})}function f(e,t,r){var n=e.slice((r||t)+1||e.length);return e.length=t<0?e.length+t:t,e.push.apply(e,n),e}function u(e){var t="undefined"==typeof e?"undefined":N(e);return"object"!==t?t:e===Math?"math":null===e?"null":Array.isArray(e)?"array":"[object Date]"===Object.prototype.toString.call(e)?"date":"function"==typeof e.toString&&/^\/.*\//.test(e.toString())?"regexp":"object"}function l(e,t,r,c,s,d,p){s=s||[],p=p||[];var g=s.slice(0);if("undefined"!=typeof d){if(c){if("function"==typeof c&&c(g,d))return;if("object"===("undefined"==typeof c?"undefined":N(c))){if(c.prefilter&&c.prefilter(g,d))return;if(c.normalize){var h=c.normalize(g,d,e,t);h&&(e=h[0],t=h[1])}}}g.push(d)}"regexp"===u(e)&&"regexp"===u(t)&&(e=e.toString(),t=t.toString());var y="undefined"==typeof e?"undefined":N(e),v="undefined"==typeof t?"undefined":N(t),b="undefined"!==y||p&&p[p.length-1].lhs&&p[p.length-1].lhs.hasOwnProperty(d),m="undefined"!==v||p&&p[p.length-1].rhs&&p[p.length-1].rhs.hasOwnProperty(d);if(!b&&m)r(new o(g,t));else if(!m&&b)r(new i(g,e));else if(u(e)!==u(t))r(new n(g,e,t));else if("date"===u(e)&&e-t!==0)r(new n(g,e,t));else if("object"===y&&null!==e&&null!==t)if(p.filter(function(t){return t.lhs===e}).length)e!==t&&r(new n(g,e,t));else{if(p.push({lhs:e,rhs:t}),Array.isArray(e)){var w;e.length;for(w=0;w=t.length?r(new a(g,w,new i(void 0,e[w]))):l(e[w],t[w],r,c,g,w,p);for(;w=0?(l(e[n],t[n],r,c,g,n,p),S=f(S,i)):l(e[n],void 0,r,c,g,n,p)}),S.forEach(function(e){l(void 0,t[e],r,c,g,e,p)})}p.length=p.length-1}else e!==t&&("number"===y&&isNaN(e)&&isNaN(t)||r(new n(g,e,t)))}function c(e,t,r,n){return n=n||[],l(e,t,function(e){e&&n.push(e)},r),n.length?n:void 0}function s(e,t,r){if(r.path&&r.path.length){var n,o=e[t],i=r.path.length-1;for(n=0;n0&&void 0!==arguments[0]?arguments[0]:{},t=Object.assign({},L,e),r=t.logger,n=t.stateTransformer,o=t.errorTransformer,i=t.predicate,a=t.logErrors,f=t.diffPredicate;if("undefined"==typeof r)return function(){return function(e){return function(t){return e(t)}}};if(e.getState&&e.dispatch)return console.error("[redux-logger] redux-logger not installed. Make sure to pass logger instance as middleware:\n// Logger with default options\nimport { logger } from 'redux-logger'\nconst store = createStore(\n reducer,\n applyMiddleware(logger)\n)\n// Or you can create your own logger with custom options http://bit.ly/redux-logger-options\nimport createLogger from 'redux-logger'\nconst logger = createLogger({\n // ...options\n});\nconst store = createStore(\n reducer,\n applyMiddleware(logger)\n)\n"),function(){return function(e){return function(t){return e(t)}}};var u=[];return function(e){var r=e.getState;return function(e){return function(l){if("function"==typeof i&&!i(r,l))return e(l);var c={};u.push(c),c.started=O.now(),c.startedTime=new Date,c.prevState=n(r()),c.action=l;var s=void 0;if(a)try{s=e(l)}catch(e){c.error=o(e)}else s=e(l);c.took=O.now()-c.started,c.nextState=n(r());var d=t.diff&&"function"==typeof f?f(r,l):t.diff;if(x(u,Object.assign({},t,{diff:d})),u.length=0,c.error)throw c.error;return s}}}}var k,j,E=function(e,t){return new Array(t+1).join(e)},A=function(e,t){return E("0",t-e.toString().length)+e},D=function(e){return A(e.getHours(),2)+":"+A(e.getMinutes(),2)+":"+A(e.getSeconds(),2)+"."+A(e.getMilliseconds(),3)},O="undefined"!=typeof performance&&null!==performance&&"function"==typeof performance.now?performance:Date,N="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},P=function(e){if(Array.isArray(e)){for(var t=0,r=Array(e.length);t0&&void 0!==arguments[0]?arguments[0]:{},t=e.dispatch,r=e.getState;return"function"==typeof t||"function"==typeof r?S()({dispatch:t,getState:r}):void console.error("\n[redux-logger v3] BREAKING CHANGE\n[redux-logger v3] Since 3.0.0 redux-logger exports by default logger with default settings.\n[redux-logger v3] Change\n[redux-logger v3] import createLogger from 'redux-logger'\n[redux-logger v3] to\n[redux-logger v3] import { createLogger } from 'redux-logger'\n")};e.defaults=L,e.createLogger=S,e.logger=T,e.default=T,Object.defineProperty(e,"__esModule",{value:!0})}); }).call(this)}).call(this,typeof global !== "undefined" ? global : typeof self !== "undefined" ? self : typeof window !== "undefined" ? window : {}) -},{}],82:[function(require,module,exports){ +},{}],160:[function(require,module,exports){ "use strict"; Object.defineProperty(exports, "__esModule", { @@ -40241,7 +46398,7 @@ var thunk = createThunkMiddleware(); // Attach the factory function so users can thunk.withExtraArgument = createThunkMiddleware; var _default = thunk; exports.default = _default; -},{}],83:[function(require,module,exports){ +},{}],161:[function(require,module,exports){ (function (process){(function (){ 'use strict'; @@ -40964,7 +47121,7 @@ exports.createStore = createStore; exports.legacy_createStore = legacy_createStore; }).call(this)}).call(this,require('_process')) -},{"@babel/runtime/helpers/objectSpread2":9,"_process":42}],84:[function(require,module,exports){ +},{"@babel/runtime/helpers/objectSpread2":9,"_process":120}],162:[function(require,module,exports){ (function (process,setImmediate){(function (){ /** * @license React @@ -41602,7 +47759,7 @@ if ( } }).call(this)}).call(this,require('_process'),require("timers").setImmediate) -},{"_process":42,"timers":87}],85:[function(require,module,exports){ +},{"_process":120,"timers":166}],163:[function(require,module,exports){ (function (setImmediate){(function (){ /** * @license React @@ -41625,7 +47782,7 @@ exports.unstable_scheduleCallback=function(a,b,c){var d=exports.unstable_now();" exports.unstable_shouldYield=M;exports.unstable_wrapCallback=function(a){var b=y;return function(){var c=y;y=b;try{return a.apply(this,arguments)}finally{y=c}}}; }).call(this)}).call(this,require("timers").setImmediate) -},{"timers":87}],86:[function(require,module,exports){ +},{"timers":166}],164:[function(require,module,exports){ (function (process){(function (){ 'use strict'; @@ -41636,7 +47793,1061 @@ if (process.env.NODE_ENV === 'production') { } }).call(this)}).call(this,require('_process')) -},{"./cjs/scheduler.development.js":84,"./cjs/scheduler.production.min.js":85,"_process":42}],87:[function(require,module,exports){ +},{"./cjs/scheduler.development.js":162,"./cjs/scheduler.production.min.js":163,"_process":120}],165:[function(require,module,exports){ +(function (global, factory) { + typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports) : + typeof define === 'function' && define.amd ? define(['exports'], factory) : + (global = typeof globalThis !== 'undefined' ? globalThis : global || self, factory(global.Superstruct = {})); +})(this, (function (exports) { 'use strict'; + + /** + * A `StructFailure` represents a single specific failure in validation. + */ + /** + * `StructError` objects are thrown (or returned) when validation fails. + * + * Validation logic is design to exit early for maximum performance. The error + * represents the first error encountered during validation. For more detail, + * the `error.failures` property is a generator function that can be run to + * continue validation and receive all the failures in the data. + */ + class StructError extends TypeError { + constructor(failure, failures) { + let cached; + const { message, explanation, ...rest } = failure; + const { path } = failure; + const msg = path.length === 0 ? message : `At path: ${path.join('.')} -- ${message}`; + super(explanation ?? msg); + if (explanation != null) + this.cause = msg; + Object.assign(this, rest); + this.name = this.constructor.name; + this.failures = () => { + return (cached ?? (cached = [failure, ...failures()])); + }; + } + } + + /** + * Check if a value is an iterator. + */ + function isIterable(x) { + return isObject(x) && typeof x[Symbol.iterator] === 'function'; + } + /** + * Check if a value is a plain object. + */ + function isObject(x) { + return typeof x === 'object' && x != null; + } + /** + * Check if a value is a plain object. + */ + function isPlainObject(x) { + if (Object.prototype.toString.call(x) !== '[object Object]') { + return false; + } + const prototype = Object.getPrototypeOf(x); + return prototype === null || prototype === Object.prototype; + } + /** + * Return a value as a printable string. + */ + function print(value) { + if (typeof value === 'symbol') { + return value.toString(); + } + return typeof value === 'string' ? JSON.stringify(value) : `${value}`; + } + /** + * Shifts (removes and returns) the first value from the `input` iterator. + * Like `Array.prototype.shift()` but for an `Iterator`. + */ + function shiftIterator(input) { + const { done, value } = input.next(); + return done ? undefined : value; + } + /** + * Convert a single validation result to a failure. + */ + function toFailure(result, context, struct, value) { + if (result === true) { + return; + } + else if (result === false) { + result = {}; + } + else if (typeof result === 'string') { + result = { message: result }; + } + const { path, branch } = context; + const { type } = struct; + const { refinement, message = `Expected a value of type \`${type}\`${refinement ? ` with refinement \`${refinement}\`` : ''}, but received: \`${print(value)}\``, } = result; + return { + value, + type, + refinement, + key: path[path.length - 1], + path, + branch, + ...result, + message, + }; + } + /** + * Convert a validation result to an iterable of failures. + */ + function* toFailures(result, context, struct, value) { + if (!isIterable(result)) { + result = [result]; + } + for (const r of result) { + const failure = toFailure(r, context, struct, value); + if (failure) { + yield failure; + } + } + } + /** + * Check a value against a struct, traversing deeply into nested values, and + * returning an iterator of failures or success. + */ + function* run(value, struct, options = {}) { + const { path = [], branch = [value], coerce = false, mask = false } = options; + const ctx = { path, branch }; + if (coerce) { + value = struct.coercer(value, ctx); + if (mask && + struct.type !== 'type' && + isObject(struct.schema) && + isObject(value) && + !Array.isArray(value)) { + for (const key in value) { + if (struct.schema[key] === undefined) { + delete value[key]; + } + } + } + } + let status = 'valid'; + for (const failure of struct.validator(value, ctx)) { + failure.explanation = options.message; + status = 'not_valid'; + yield [failure, undefined]; + } + for (let [k, v, s] of struct.entries(value, ctx)) { + const ts = run(v, s, { + path: k === undefined ? path : [...path, k], + branch: k === undefined ? branch : [...branch, v], + coerce, + mask, + message: options.message, + }); + for (const t of ts) { + if (t[0]) { + status = t[0].refinement != null ? 'not_refined' : 'not_valid'; + yield [t[0], undefined]; + } + else if (coerce) { + v = t[1]; + if (k === undefined) { + value = v; + } + else if (value instanceof Map) { + value.set(k, v); + } + else if (value instanceof Set) { + value.add(v); + } + else if (isObject(value)) { + if (v !== undefined || k in value) + value[k] = v; + } + } + } + } + if (status !== 'not_valid') { + for (const failure of struct.refiner(value, ctx)) { + failure.explanation = options.message; + status = 'not_refined'; + yield [failure, undefined]; + } + } + if (status === 'valid') { + yield [undefined, value]; + } + } + + /** + * `Struct` objects encapsulate the validation logic for a specific type of + * values. Once constructed, you use the `assert`, `is` or `validate` helpers to + * validate unknown input data against the struct. + */ + class Struct { + constructor(props) { + const { type, schema, validator, refiner, coercer = (value) => value, entries = function* () { }, } = props; + this.type = type; + this.schema = schema; + this.entries = entries; + this.coercer = coercer; + if (validator) { + this.validator = (value, context) => { + const result = validator(value, context); + return toFailures(result, context, this, value); + }; + } + else { + this.validator = () => []; + } + if (refiner) { + this.refiner = (value, context) => { + const result = refiner(value, context); + return toFailures(result, context, this, value); + }; + } + else { + this.refiner = () => []; + } + } + /** + * Assert that a value passes the struct's validation, throwing if it doesn't. + */ + assert(value, message) { + return assert(value, this, message); + } + /** + * Create a value with the struct's coercion logic, then validate it. + */ + create(value, message) { + return create(value, this, message); + } + /** + * Check if a value passes the struct's validation. + */ + is(value) { + return is(value, this); + } + /** + * Mask a value, coercing and validating it, but returning only the subset of + * properties defined by the struct's schema. + */ + mask(value, message) { + return mask(value, this, message); + } + /** + * Validate a value with the struct's validation logic, returning a tuple + * representing the result. + * + * You may optionally pass `true` for the `withCoercion` argument to coerce + * the value before attempting to validate it. If you do, the result will + * contain the coerced result when successful. + */ + validate(value, options = {}) { + return validate(value, this, options); + } + } + /** + * Assert that a value passes a struct, throwing if it doesn't. + */ + function assert(value, struct, message) { + const result = validate(value, struct, { message }); + if (result[0]) { + throw result[0]; + } + } + /** + * Create a value with the coercion logic of struct and validate it. + */ + function create(value, struct, message) { + const result = validate(value, struct, { coerce: true, message }); + if (result[0]) { + throw result[0]; + } + else { + return result[1]; + } + } + /** + * Mask a value, returning only the subset of properties defined by a struct. + */ + function mask(value, struct, message) { + const result = validate(value, struct, { coerce: true, mask: true, message }); + if (result[0]) { + throw result[0]; + } + else { + return result[1]; + } + } + /** + * Check if a value passes a struct. + */ + function is(value, struct) { + const result = validate(value, struct); + return !result[0]; + } + /** + * Validate a value against a struct, returning an error if invalid, or the + * value (with potential coercion) if valid. + */ + function validate(value, struct, options = {}) { + const tuples = run(value, struct, options); + const tuple = shiftIterator(tuples); + if (tuple[0]) { + const error = new StructError(tuple[0], function* () { + for (const t of tuples) { + if (t[0]) { + yield t[0]; + } + } + }); + return [error, undefined]; + } + else { + const v = tuple[1]; + return [undefined, v]; + } + } + + function assign(...Structs) { + const isType = Structs[0].type === 'type'; + const schemas = Structs.map((s) => s.schema); + const schema = Object.assign({}, ...schemas); + return isType ? type(schema) : object(schema); + } + /** + * Define a new struct type with a custom validation function. + */ + function define(name, validator) { + return new Struct({ type: name, schema: null, validator }); + } + /** + * Create a new struct based on an existing struct, but the value is allowed to + * be `undefined`. `log` will be called if the value is not `undefined`. + */ + function deprecated(struct, log) { + return new Struct({ + ...struct, + refiner: (value, ctx) => value === undefined || struct.refiner(value, ctx), + validator(value, ctx) { + if (value === undefined) { + return true; + } + else { + log(value, ctx); + return struct.validator(value, ctx); + } + }, + }); + } + /** + * Create a struct with dynamic validation logic. + * + * The callback will receive the value currently being validated, and must + * return a struct object to validate it with. This can be useful to model + * validation logic that changes based on its input. + */ + function dynamic(fn) { + return new Struct({ + type: 'dynamic', + schema: null, + *entries(value, ctx) { + const struct = fn(value, ctx); + yield* struct.entries(value, ctx); + }, + validator(value, ctx) { + const struct = fn(value, ctx); + return struct.validator(value, ctx); + }, + coercer(value, ctx) { + const struct = fn(value, ctx); + return struct.coercer(value, ctx); + }, + refiner(value, ctx) { + const struct = fn(value, ctx); + return struct.refiner(value, ctx); + }, + }); + } + /** + * Create a struct with lazily evaluated validation logic. + * + * The first time validation is run with the struct, the callback will be called + * and must return a struct object to use. This is useful for cases where you + * want to have self-referential structs for nested data structures to avoid a + * circular definition problem. + */ + function lazy(fn) { + let struct; + return new Struct({ + type: 'lazy', + schema: null, + *entries(value, ctx) { + struct ?? (struct = fn()); + yield* struct.entries(value, ctx); + }, + validator(value, ctx) { + struct ?? (struct = fn()); + return struct.validator(value, ctx); + }, + coercer(value, ctx) { + struct ?? (struct = fn()); + return struct.coercer(value, ctx); + }, + refiner(value, ctx) { + struct ?? (struct = fn()); + return struct.refiner(value, ctx); + }, + }); + } + /** + * Create a new struct based on an existing object struct, but excluding + * specific properties. + * + * Like TypeScript's `Omit` utility. + */ + function omit(struct, keys) { + const { schema } = struct; + const subschema = { ...schema }; + for (const key of keys) { + delete subschema[key]; + } + switch (struct.type) { + case 'type': + return type(subschema); + default: + return object(subschema); + } + } + /** + * Create a new struct based on an existing object struct, but with all of its + * properties allowed to be `undefined`. + * + * Like TypeScript's `Partial` utility. + */ + function partial(struct) { + const schema = struct instanceof Struct ? { ...struct.schema } : { ...struct }; + for (const key in schema) { + schema[key] = optional(schema[key]); + } + return object(schema); + } + /** + * Create a new struct based on an existing object struct, but only including + * specific properties. + * + * Like TypeScript's `Pick` utility. + */ + function pick(struct, keys) { + const { schema } = struct; + const subschema = {}; + for (const key of keys) { + subschema[key] = schema[key]; + } + return object(subschema); + } + /** + * Define a new struct type with a custom validation function. + * + * @deprecated This function has been renamed to `define`. + */ + function struct(name, validator) { + console.warn('superstruct@0.11 - The `struct` helper has been renamed to `define`.'); + return define(name, validator); + } + + /** + * Ensure that any value passes validation. + */ + function any() { + return define('any', () => true); + } + function array(Element) { + return new Struct({ + type: 'array', + schema: Element, + *entries(value) { + if (Element && Array.isArray(value)) { + for (const [i, v] of value.entries()) { + yield [i, v, Element]; + } + } + }, + coercer(value) { + return Array.isArray(value) ? value.slice() : value; + }, + validator(value) { + return (Array.isArray(value) || + `Expected an array value, but received: ${print(value)}`); + }, + }); + } + /** + * Ensure that a value is a bigint. + */ + function bigint() { + return define('bigint', (value) => { + return typeof value === 'bigint'; + }); + } + /** + * Ensure that a value is a boolean. + */ + function boolean() { + return define('boolean', (value) => { + return typeof value === 'boolean'; + }); + } + /** + * Ensure that a value is a valid `Date`. + * + * Note: this also ensures that the value is *not* an invalid `Date` object, + * which can occur when parsing a date fails but still returns a `Date`. + */ + function date() { + return define('date', (value) => { + return ((value instanceof Date && !isNaN(value.getTime())) || + `Expected a valid \`Date\` object, but received: ${print(value)}`); + }); + } + function enums(values) { + const schema = {}; + const description = values.map((v) => print(v)).join(); + for (const key of values) { + schema[key] = key; + } + return new Struct({ + type: 'enums', + schema, + validator(value) { + return (values.includes(value) || + `Expected one of \`${description}\`, but received: ${print(value)}`); + }, + }); + } + /** + * Ensure that a value is a function. + */ + function func() { + return define('func', (value) => { + return (typeof value === 'function' || + `Expected a function, but received: ${print(value)}`); + }); + } + /** + * Ensure that a value is an instance of a specific class. + */ + function instance(Class) { + return define('instance', (value) => { + return (value instanceof Class || + `Expected a \`${Class.name}\` instance, but received: ${print(value)}`); + }); + } + /** + * Ensure that a value is an integer. + */ + function integer() { + return define('integer', (value) => { + return ((typeof value === 'number' && !isNaN(value) && Number.isInteger(value)) || + `Expected an integer, but received: ${print(value)}`); + }); + } + /** + * Ensure that a value matches all of a set of types. + */ + function intersection(Structs) { + return new Struct({ + type: 'intersection', + schema: null, + *entries(value, ctx) { + for (const S of Structs) { + yield* S.entries(value, ctx); + } + }, + *validator(value, ctx) { + for (const S of Structs) { + yield* S.validator(value, ctx); + } + }, + *refiner(value, ctx) { + for (const S of Structs) { + yield* S.refiner(value, ctx); + } + }, + }); + } + function literal(constant) { + const description = print(constant); + const t = typeof constant; + return new Struct({ + type: 'literal', + schema: t === 'string' || t === 'number' || t === 'boolean' ? constant : null, + validator(value) { + return (value === constant || + `Expected the literal \`${description}\`, but received: ${print(value)}`); + }, + }); + } + function map(Key, Value) { + return new Struct({ + type: 'map', + schema: null, + *entries(value) { + if (Key && Value && value instanceof Map) { + for (const [k, v] of value.entries()) { + yield [k, k, Key]; + yield [k, v, Value]; + } + } + }, + coercer(value) { + return value instanceof Map ? new Map(value) : value; + }, + validator(value) { + return (value instanceof Map || + `Expected a \`Map\` object, but received: ${print(value)}`); + }, + }); + } + /** + * Ensure that no value ever passes validation. + */ + function never() { + return define('never', () => false); + } + /** + * Augment an existing struct to allow `null` values. + */ + function nullable(struct) { + return new Struct({ + ...struct, + validator: (value, ctx) => value === null || struct.validator(value, ctx), + refiner: (value, ctx) => value === null || struct.refiner(value, ctx), + }); + } + /** + * Ensure that a value is a number. + */ + function number() { + return define('number', (value) => { + return ((typeof value === 'number' && !isNaN(value)) || + `Expected a number, but received: ${print(value)}`); + }); + } + function object(schema) { + const knowns = schema ? Object.keys(schema) : []; + const Never = never(); + return new Struct({ + type: 'object', + schema: schema ? schema : null, + *entries(value) { + if (schema && isObject(value)) { + const unknowns = new Set(Object.keys(value)); + for (const key of knowns) { + unknowns.delete(key); + yield [key, value[key], schema[key]]; + } + for (const key of unknowns) { + yield [key, value[key], Never]; + } + } + }, + validator(value) { + return (isObject(value) || `Expected an object, but received: ${print(value)}`); + }, + coercer(value) { + return isObject(value) ? { ...value } : value; + }, + }); + } + /** + * Augment a struct to allow `undefined` values. + */ + function optional(struct) { + return new Struct({ + ...struct, + validator: (value, ctx) => value === undefined || struct.validator(value, ctx), + refiner: (value, ctx) => value === undefined || struct.refiner(value, ctx), + }); + } + /** + * Ensure that a value is an object with keys and values of specific types, but + * without ensuring any specific shape of properties. + * + * Like TypeScript's `Record` utility. + */ + function record(Key, Value) { + return new Struct({ + type: 'record', + schema: null, + *entries(value) { + if (isObject(value)) { + for (const k in value) { + const v = value[k]; + yield [k, k, Key]; + yield [k, v, Value]; + } + } + }, + validator(value) { + return (isObject(value) || `Expected an object, but received: ${print(value)}`); + }, + }); + } + /** + * Ensure that a value is a `RegExp`. + * + * Note: this does not test the value against the regular expression! For that + * you need to use the `pattern()` refinement. + */ + function regexp() { + return define('regexp', (value) => { + return value instanceof RegExp; + }); + } + function set(Element) { + return new Struct({ + type: 'set', + schema: null, + *entries(value) { + if (Element && value instanceof Set) { + for (const v of value) { + yield [v, v, Element]; + } + } + }, + coercer(value) { + return value instanceof Set ? new Set(value) : value; + }, + validator(value) { + return (value instanceof Set || + `Expected a \`Set\` object, but received: ${print(value)}`); + }, + }); + } + /** + * Ensure that a value is a string. + */ + function string() { + return define('string', (value) => { + return (typeof value === 'string' || + `Expected a string, but received: ${print(value)}`); + }); + } + /** + * Ensure that a value is a tuple of a specific length, and that each of its + * elements is of a specific type. + */ + function tuple(Structs) { + const Never = never(); + return new Struct({ + type: 'tuple', + schema: null, + *entries(value) { + if (Array.isArray(value)) { + const length = Math.max(Structs.length, value.length); + for (let i = 0; i < length; i++) { + yield [i, value[i], Structs[i] || Never]; + } + } + }, + validator(value) { + return (Array.isArray(value) || + `Expected an array, but received: ${print(value)}`); + }, + }); + } + /** + * Ensure that a value has a set of known properties of specific types. + * + * Note: Unrecognized properties are allowed and untouched. This is similar to + * how TypeScript's structural typing works. + */ + function type(schema) { + const keys = Object.keys(schema); + return new Struct({ + type: 'type', + schema, + *entries(value) { + if (isObject(value)) { + for (const k of keys) { + yield [k, value[k], schema[k]]; + } + } + }, + validator(value) { + return (isObject(value) || `Expected an object, but received: ${print(value)}`); + }, + coercer(value) { + return isObject(value) ? { ...value } : value; + }, + }); + } + /** + * Ensure that a value matches one of a set of types. + */ + function union(Structs) { + const description = Structs.map((s) => s.type).join(' | '); + return new Struct({ + type: 'union', + schema: null, + coercer(value) { + for (const S of Structs) { + const [error, coerced] = S.validate(value, { coerce: true }); + if (!error) { + return coerced; + } + } + return value; + }, + validator(value, ctx) { + const failures = []; + for (const S of Structs) { + const [...tuples] = run(value, S, ctx); + const [first] = tuples; + if (!first[0]) { + return []; + } + else { + for (const [failure] of tuples) { + if (failure) { + failures.push(failure); + } + } + } + } + return [ + `Expected the value to satisfy a union of \`${description}\`, but received: ${print(value)}`, + ...failures, + ]; + }, + }); + } + /** + * Ensure that any value passes validation, without widening its type to `any`. + */ + function unknown() { + return define('unknown', () => true); + } + + /** + * Augment a `Struct` to add an additional coercion step to its input. + * + * This allows you to transform input data before validating it, to increase the + * likelihood that it passes validation—for example for default values, parsing + * different formats, etc. + * + * Note: You must use `create(value, Struct)` on the value to have the coercion + * take effect! Using simply `assert()` or `is()` will not use coercion. + */ + function coerce(struct, condition, coercer) { + return new Struct({ + ...struct, + coercer: (value, ctx) => { + return is(value, condition) + ? struct.coercer(coercer(value, ctx), ctx) + : struct.coercer(value, ctx); + }, + }); + } + /** + * Augment a struct to replace `undefined` values with a default. + * + * Note: You must use `create(value, Struct)` on the value to have the coercion + * take effect! Using simply `assert()` or `is()` will not use coercion. + */ + function defaulted(struct, fallback, options = {}) { + return coerce(struct, unknown(), (x) => { + const f = typeof fallback === 'function' ? fallback() : fallback; + if (x === undefined) { + return f; + } + if (!options.strict && isPlainObject(x) && isPlainObject(f)) { + const ret = { ...x }; + let changed = false; + for (const key in f) { + if (ret[key] === undefined) { + ret[key] = f[key]; + changed = true; + } + } + if (changed) { + return ret; + } + } + return x; + }); + } + /** + * Augment a struct to trim string inputs. + * + * Note: You must use `create(value, Struct)` on the value to have the coercion + * take effect! Using simply `assert()` or `is()` will not use coercion. + */ + function trimmed(struct) { + return coerce(struct, string(), (x) => x.trim()); + } + + /** + * Ensure that a string, array, map, or set is empty. + */ + function empty(struct) { + return refine(struct, 'empty', (value) => { + const size = getSize(value); + return (size === 0 || + `Expected an empty ${struct.type} but received one with a size of \`${size}\``); + }); + } + function getSize(value) { + if (value instanceof Map || value instanceof Set) { + return value.size; + } + else { + return value.length; + } + } + /** + * Ensure that a number or date is below a threshold. + */ + function max(struct, threshold, options = {}) { + const { exclusive } = options; + return refine(struct, 'max', (value) => { + return exclusive + ? value < threshold + : value <= threshold || + `Expected a ${struct.type} less than ${exclusive ? '' : 'or equal to '}${threshold} but received \`${value}\``; + }); + } + /** + * Ensure that a number or date is above a threshold. + */ + function min(struct, threshold, options = {}) { + const { exclusive } = options; + return refine(struct, 'min', (value) => { + return exclusive + ? value > threshold + : value >= threshold || + `Expected a ${struct.type} greater than ${exclusive ? '' : 'or equal to '}${threshold} but received \`${value}\``; + }); + } + /** + * Ensure that a string, array, map or set is not empty. + */ + function nonempty(struct) { + return refine(struct, 'nonempty', (value) => { + const size = getSize(value); + return (size > 0 || `Expected a nonempty ${struct.type} but received an empty one`); + }); + } + /** + * Ensure that a string matches a regular expression. + */ + function pattern(struct, regexp) { + return refine(struct, 'pattern', (value) => { + return (regexp.test(value) || + `Expected a ${struct.type} matching \`/${regexp.source}/\` but received "${value}"`); + }); + } + /** + * Ensure that a string, array, number, date, map, or set has a size (or length, or time) between `min` and `max`. + */ + function size(struct, min, max = min) { + const expected = `Expected a ${struct.type}`; + const of = min === max ? `of \`${min}\`` : `between \`${min}\` and \`${max}\``; + return refine(struct, 'size', (value) => { + if (typeof value === 'number' || value instanceof Date) { + return ((min <= value && value <= max) || + `${expected} ${of} but received \`${value}\``); + } + else if (value instanceof Map || value instanceof Set) { + const { size } = value; + return ((min <= size && size <= max) || + `${expected} with a size ${of} but received one with a size of \`${size}\``); + } + else { + const { length } = value; + return ((min <= length && length <= max) || + `${expected} with a length ${of} but received one with a length of \`${length}\``); + } + }); + } + /** + * Augment a `Struct` to add an additional refinement to the validation. + * + * The refiner function is guaranteed to receive a value of the struct's type, + * because the struct's existing validation will already have passed. This + * allows you to layer additional validation on top of existing structs. + */ + function refine(struct, name, refiner) { + return new Struct({ + ...struct, + *refiner(value, ctx) { + yield* struct.refiner(value, ctx); + const result = refiner(value, ctx); + const failures = toFailures(result, ctx, struct, value); + for (const failure of failures) { + yield { ...failure, refinement: name }; + } + }, + }); + } + + exports.Struct = Struct; + exports.StructError = StructError; + exports.any = any; + exports.array = array; + exports.assert = assert; + exports.assign = assign; + exports.bigint = bigint; + exports.boolean = boolean; + exports.coerce = coerce; + exports.create = create; + exports.date = date; + exports.defaulted = defaulted; + exports.define = define; + exports.deprecated = deprecated; + exports.dynamic = dynamic; + exports.empty = empty; + exports.enums = enums; + exports.func = func; + exports.instance = instance; + exports.integer = integer; + exports.intersection = intersection; + exports.is = is; + exports.lazy = lazy; + exports.literal = literal; + exports.map = map; + exports.mask = mask; + exports.max = max; + exports.min = min; + exports.never = never; + exports.nonempty = nonempty; + exports.nullable = nullable; + exports.number = number; + exports.object = object; + exports.omit = omit; + exports.optional = optional; + exports.partial = partial; + exports.pattern = pattern; + exports.pick = pick; + exports.record = record; + exports.refine = refine; + exports.regexp = regexp; + exports.set = set; + exports.size = size; + exports.string = string; + exports.struct = struct; + exports.trimmed = trimmed; + exports.tuple = tuple; + exports.type = type; + exports.union = union; + exports.unknown = unknown; + exports.validate = validate; + +})); + + +},{}],166:[function(require,module,exports){ (function (setImmediate,clearImmediate){(function (){ var nextTick = require('process/browser.js').nextTick; var apply = Function.prototype.apply; @@ -41715,7 +48926,7 @@ exports.clearImmediate = typeof clearImmediate === "function" ? clearImmediate : delete immediateIds[id]; }; }).call(this)}).call(this,require("timers").setImmediate,require("timers").clearImmediate) -},{"process/browser.js":42,"timers":87}],88:[function(require,module,exports){ +},{"process/browser.js":120,"timers":166}],167:[function(require,module,exports){ (function (process){(function (){ /** * @license React @@ -41958,7 +49169,7 @@ if ( } }).call(this)}).call(this,require('_process')) -},{"_process":42,"react":80}],89:[function(require,module,exports){ +},{"_process":120,"react":158}],168:[function(require,module,exports){ /** * @license React * use-sync-external-store-shim.production.min.js @@ -41971,7 +49182,7 @@ if ( 'use strict';var e=require("react");function h(a,b){return a===b&&(0!==a||1/a===1/b)||a!==a&&b!==b}var k="function"===typeof Object.is?Object.is:h,l=e.useState,m=e.useEffect,n=e.useLayoutEffect,p=e.useDebugValue;function q(a,b){var d=b(),f=l({inst:{value:d,getSnapshot:b}}),c=f[0].inst,g=f[1];n(function(){c.value=d;c.getSnapshot=b;r(c)&&g({inst:c})},[a,d,b]);m(function(){r(c)&&g({inst:c});return a(function(){r(c)&&g({inst:c})})},[a]);p(d);return d} function r(a){var b=a.getSnapshot;a=a.value;try{var d=b();return!k(a,d)}catch(f){return!0}}function t(a,b){return b()}var u="undefined"===typeof window||"undefined"===typeof window.document||"undefined"===typeof window.document.createElement?t:q;exports.useSyncExternalStore=void 0!==e.useSyncExternalStore?e.useSyncExternalStore:u; -},{"react":80}],90:[function(require,module,exports){ +},{"react":158}],169:[function(require,module,exports){ (function (process){(function (){ /** * @license React @@ -42140,7 +49351,7 @@ if ( } }).call(this)}).call(this,require('_process')) -},{"_process":42,"react":80,"use-sync-external-store/shim":92}],91:[function(require,module,exports){ +},{"_process":120,"react":158,"use-sync-external-store/shim":171}],170:[function(require,module,exports){ /** * @license React * use-sync-external-store-shim/with-selector.production.min.js @@ -42154,7 +49365,7 @@ if ( exports.useSyncExternalStoreWithSelector=function(a,b,e,l,g){var c=t(null);if(null===c.current){var f={hasValue:!1,value:null};c.current=f}else f=c.current;c=v(function(){function a(a){if(!c){c=!0;d=a;a=l(a);if(void 0!==g&&f.hasValue){var b=f.value;if(g(b,a))return k=b}return k=a}b=k;if(q(d,a))return b;var e=l(a);if(void 0!==g&&g(b,e))return b;d=a;return k=e}var c=!1,d,k,m=void 0===e?null:e;return[function(){return a(b())},null===m?void 0:function(){return a(m())}]},[b,e,l,g]);var d=r(a,c[0],c[1]); u(function(){f.hasValue=!0;f.value=d},[d]);w(d);return d}; -},{"react":80,"use-sync-external-store/shim":92}],92:[function(require,module,exports){ +},{"react":158,"use-sync-external-store/shim":171}],171:[function(require,module,exports){ (function (process){(function (){ 'use strict'; @@ -42165,7 +49376,7 @@ if (process.env.NODE_ENV === 'production') { } }).call(this)}).call(this,require('_process')) -},{"../cjs/use-sync-external-store-shim.development.js":88,"../cjs/use-sync-external-store-shim.production.min.js":89,"_process":42}],93:[function(require,module,exports){ +},{"../cjs/use-sync-external-store-shim.development.js":167,"../cjs/use-sync-external-store-shim.production.min.js":168,"_process":120}],172:[function(require,module,exports){ (function (process){(function (){ 'use strict'; @@ -42176,7 +49387,7 @@ if (process.env.NODE_ENV === 'production') { } }).call(this)}).call(this,require('_process')) -},{"../cjs/use-sync-external-store-shim/with-selector.development.js":90,"../cjs/use-sync-external-store-shim/with-selector.production.min.js":91,"_process":42}],94:[function(require,module,exports){ +},{"../cjs/use-sync-external-store-shim/with-selector.development.js":169,"../cjs/use-sync-external-store-shim/with-selector.production.min.js":170,"_process":120}],173:[function(require,module,exports){ (function (global){(function (){ 'use strict'; @@ -42235,7 +49446,7 @@ module.exports = function whichTypedArray(value) { }; }).call(this)}).call(this,typeof global !== "undefined" ? global : typeof self !== "undefined" ? self : typeof window !== "undefined" ? window : {}) -},{"available-typed-arrays":15,"call-bind/callBound":21,"for-each":23,"gopd":27,"has-tostringtag/shams":30,"is-typed-array":41}],95:[function(require,module,exports){ +},{"available-typed-arrays":87,"call-bind/callBound":93,"for-each":97,"gopd":101,"has-tostringtag/shams":104,"is-typed-array":115}],174:[function(require,module,exports){ module.exports = extend var hasOwnProperty = Object.prototype.hasOwnProperty; @@ -42256,4 +49467,442 @@ function extend() { return target } -},{}]},{},[3]); +},{}],175:[function(require,module,exports){ +'use strict' +module.exports = function (Yallist) { + Yallist.prototype[Symbol.iterator] = function* () { + for (let walker = this.head; walker; walker = walker.next) { + yield walker.value + } + } +} + +},{}],176:[function(require,module,exports){ +'use strict' +module.exports = Yallist + +Yallist.Node = Node +Yallist.create = Yallist + +function Yallist (list) { + var self = this + if (!(self instanceof Yallist)) { + self = new Yallist() + } + + self.tail = null + self.head = null + self.length = 0 + + if (list && typeof list.forEach === 'function') { + list.forEach(function (item) { + self.push(item) + }) + } else if (arguments.length > 0) { + for (var i = 0, l = arguments.length; i < l; i++) { + self.push(arguments[i]) + } + } + + return self +} + +Yallist.prototype.removeNode = function (node) { + if (node.list !== this) { + throw new Error('removing node which does not belong to this list') + } + + var next = node.next + var prev = node.prev + + if (next) { + next.prev = prev + } + + if (prev) { + prev.next = next + } + + if (node === this.head) { + this.head = next + } + if (node === this.tail) { + this.tail = prev + } + + node.list.length-- + node.next = null + node.prev = null + node.list = null + + return next +} + +Yallist.prototype.unshiftNode = function (node) { + if (node === this.head) { + return + } + + if (node.list) { + node.list.removeNode(node) + } + + var head = this.head + node.list = this + node.next = head + if (head) { + head.prev = node + } + + this.head = node + if (!this.tail) { + this.tail = node + } + this.length++ +} + +Yallist.prototype.pushNode = function (node) { + if (node === this.tail) { + return + } + + if (node.list) { + node.list.removeNode(node) + } + + var tail = this.tail + node.list = this + node.prev = tail + if (tail) { + tail.next = node + } + + this.tail = node + if (!this.head) { + this.head = node + } + this.length++ +} + +Yallist.prototype.push = function () { + for (var i = 0, l = arguments.length; i < l; i++) { + push(this, arguments[i]) + } + return this.length +} + +Yallist.prototype.unshift = function () { + for (var i = 0, l = arguments.length; i < l; i++) { + unshift(this, arguments[i]) + } + return this.length +} + +Yallist.prototype.pop = function () { + if (!this.tail) { + return undefined + } + + var res = this.tail.value + this.tail = this.tail.prev + if (this.tail) { + this.tail.next = null + } else { + this.head = null + } + this.length-- + return res +} + +Yallist.prototype.shift = function () { + if (!this.head) { + return undefined + } + + var res = this.head.value + this.head = this.head.next + if (this.head) { + this.head.prev = null + } else { + this.tail = null + } + this.length-- + return res +} + +Yallist.prototype.forEach = function (fn, thisp) { + thisp = thisp || this + for (var walker = this.head, i = 0; walker !== null; i++) { + fn.call(thisp, walker.value, i, this) + walker = walker.next + } +} + +Yallist.prototype.forEachReverse = function (fn, thisp) { + thisp = thisp || this + for (var walker = this.tail, i = this.length - 1; walker !== null; i--) { + fn.call(thisp, walker.value, i, this) + walker = walker.prev + } +} + +Yallist.prototype.get = function (n) { + for (var i = 0, walker = this.head; walker !== null && i < n; i++) { + // abort out of the list early if we hit a cycle + walker = walker.next + } + if (i === n && walker !== null) { + return walker.value + } +} + +Yallist.prototype.getReverse = function (n) { + for (var i = 0, walker = this.tail; walker !== null && i < n; i++) { + // abort out of the list early if we hit a cycle + walker = walker.prev + } + if (i === n && walker !== null) { + return walker.value + } +} + +Yallist.prototype.map = function (fn, thisp) { + thisp = thisp || this + var res = new Yallist() + for (var walker = this.head; walker !== null;) { + res.push(fn.call(thisp, walker.value, this)) + walker = walker.next + } + return res +} + +Yallist.prototype.mapReverse = function (fn, thisp) { + thisp = thisp || this + var res = new Yallist() + for (var walker = this.tail; walker !== null;) { + res.push(fn.call(thisp, walker.value, this)) + walker = walker.prev + } + return res +} + +Yallist.prototype.reduce = function (fn, initial) { + var acc + var walker = this.head + if (arguments.length > 1) { + acc = initial + } else if (this.head) { + walker = this.head.next + acc = this.head.value + } else { + throw new TypeError('Reduce of empty list with no initial value') + } + + for (var i = 0; walker !== null; i++) { + acc = fn(acc, walker.value, i) + walker = walker.next + } + + return acc +} + +Yallist.prototype.reduceReverse = function (fn, initial) { + var acc + var walker = this.tail + if (arguments.length > 1) { + acc = initial + } else if (this.tail) { + walker = this.tail.prev + acc = this.tail.value + } else { + throw new TypeError('Reduce of empty list with no initial value') + } + + for (var i = this.length - 1; walker !== null; i--) { + acc = fn(acc, walker.value, i) + walker = walker.prev + } + + return acc +} + +Yallist.prototype.toArray = function () { + var arr = new Array(this.length) + for (var i = 0, walker = this.head; walker !== null; i++) { + arr[i] = walker.value + walker = walker.next + } + return arr +} + +Yallist.prototype.toArrayReverse = function () { + var arr = new Array(this.length) + for (var i = 0, walker = this.tail; walker !== null; i++) { + arr[i] = walker.value + walker = walker.prev + } + return arr +} + +Yallist.prototype.slice = function (from, to) { + to = to || this.length + if (to < 0) { + to += this.length + } + from = from || 0 + if (from < 0) { + from += this.length + } + var ret = new Yallist() + if (to < from || to < 0) { + return ret + } + if (from < 0) { + from = 0 + } + if (to > this.length) { + to = this.length + } + for (var i = 0, walker = this.head; walker !== null && i < from; i++) { + walker = walker.next + } + for (; walker !== null && i < to; i++, walker = walker.next) { + ret.push(walker.value) + } + return ret +} + +Yallist.prototype.sliceReverse = function (from, to) { + to = to || this.length + if (to < 0) { + to += this.length + } + from = from || 0 + if (from < 0) { + from += this.length + } + var ret = new Yallist() + if (to < from || to < 0) { + return ret + } + if (from < 0) { + from = 0 + } + if (to > this.length) { + to = this.length + } + for (var i = this.length, walker = this.tail; walker !== null && i > to; i--) { + walker = walker.prev + } + for (; walker !== null && i > from; i--, walker = walker.prev) { + ret.push(walker.value) + } + return ret +} + +Yallist.prototype.splice = function (start, deleteCount, ...nodes) { + if (start > this.length) { + start = this.length - 1 + } + if (start < 0) { + start = this.length + start; + } + + for (var i = 0, walker = this.head; walker !== null && i < start; i++) { + walker = walker.next + } + + var ret = [] + for (var i = 0; walker && i < deleteCount; i++) { + ret.push(walker.value) + walker = this.removeNode(walker) + } + if (walker === null) { + walker = this.tail + } + + if (walker !== this.head && walker !== this.tail) { + walker = walker.prev + } + + for (var i = 0; i < nodes.length; i++) { + walker = insert(this, walker, nodes[i]) + } + return ret; +} + +Yallist.prototype.reverse = function () { + var head = this.head + var tail = this.tail + for (var walker = head; walker !== null; walker = walker.prev) { + var p = walker.prev + walker.prev = walker.next + walker.next = p + } + this.head = tail + this.tail = head + return this +} + +function insert (self, node, value) { + var inserted = node === self.head ? + new Node(value, null, node, self) : + new Node(value, node, node.next, self) + + if (inserted.next === null) { + self.tail = inserted + } + if (inserted.prev === null) { + self.head = inserted + } + + self.length++ + + return inserted +} + +function push (self, item) { + self.tail = new Node(item, self.tail, null, self) + if (!self.head) { + self.head = self.tail + } + self.length++ +} + +function unshift (self, item) { + self.head = new Node(item, null, self.head, self) + if (!self.tail) { + self.tail = self.head + } + self.length++ +} + +function Node (value, prev, next, list) { + if (!(this instanceof Node)) { + return new Node(value, prev, next, list) + } + + this.list = list + this.value = value + + if (prev) { + prev.next = this + this.prev = prev + } else { + this.prev = null + } + + if (next) { + next.prev = this + this.next = next + } else { + this.next = null + } +} + +try { + // add if support for Symbol.iterator is present + require('./iterator.js')(Yallist) +} catch (er) {} + +},{"./iterator.js":175}]},{},[3]); diff --git a/jest.config.js b/jest.config.js index 43aaa1e..15c15c1 100644 --- a/jest.config.js +++ b/jest.config.js @@ -41,10 +41,10 @@ module.exports = { // An object that configures minimum threshold enforcement for coverage results coverageThreshold: { global: { - branches: 94.11, + branches: 94.73, functions: 100, - lines: 97.82, - statements: 98, + lines: 98.03, + statements: 98.18, }, }, diff --git a/package.json b/package.json index 4ce5f28..f26dfbe 100644 --- a/package.json +++ b/package.json @@ -31,7 +31,7 @@ "author": "Dan Finlay", "license": "ISC", "dependencies": { - "@metamask/browser-passworder": "^4.0.2", + "@metamask/browser-passworder": "^4.3.0", "ethereumjs-util": "^7.1.4", "react": "^18.0.0", "react-dom": "^18.0.0", diff --git a/test/fixtures/chrome-119.0.6045.199-macos-arm64/000006.log b/test/fixtures/chrome-119.0.6045.199-macos-arm64/000006.log new file mode 100644 index 0000000000000000000000000000000000000000..76c96b77911b84ec4aa949c8737cc0b3f603e022 GIT binary patch literal 1618818 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
3GLWLCRB|dM(fO@ z$L(S$>5uhd%m=%Zuof3W^2IlpG8jcNnWbVuv0iEnS~&^uUGa_;S!&0d#SmHC zkCocy_R;LCjRbWQvnl%-(VWDEK~Xuw=VtL$%;Nte_$U3j~}^i z-k%;{V+7zSexPEU)#?-3S!`7(4>a@K=kdbqV&M*d>-yd$U5F%n31z15Ju5RVDSiWg zlbxi*Zax^(rZVeA@TU5mN|GWT zL4W19e;ctS9@HQ0U>URT;*-Rpy9p|n3}r2O7;$}?1u2L=rRMhbdnkIj)lBPeDHp%Z zC@G%K_YoJ-=lDdV(%Gp0Xo80%h=KWuP4RjAl+C}x^oxfNd4PMZh7+;t;-imNmJ^jc zp4V{y@a3vP#U!?=F&iar2Srd#?!_6M!p^xd*R~T3jFi#)FEE@$bv8a<#snh-D0fLM z7_SKqEl(J~2RT#b@&%Jc3|57ym7j@kF?$9%rj^tp#aoF>%At8%kS28$Hc|=iVhW;g z6zZc+&E(RvPRvmG8SzKUZ(-%~hl{)M>*a59&}~7#g0Fo%7n_*=>v*=}i~9D~?J#*Y zk-gdv^4p0(w7_pC9PRJU7dwkoxZ(}*g=e|5q0bPooWsJ|hx#h#JQg!bNdb8tYf03b z(M}v`%Tyy(#1s~-j?q7lVcjzKLr-&fMo95a(n`jNd)TMg1B_OjitQfGpn{M41O^!$hYH@EQ2VU#{-Z|CE0LJqV)!LyU3(ZA)hoX5k}&HhB1h;2wN z?_}(7>oXhMgqe6A8FKZK%4={U%&S#vQ!gFI;?GM)rBf|(aC&JD*fR!5?DC_p=f zv|lmz#j8pr*SpmkPFuPOF|ET8inxkR%J@lFG90qvsk!J;w*h*KBgcA$mvZe|V;xr) z)fJnI%-<4b`F|JAY#)%4`ZA0lsWXj>7QZ^9F*T?u$m;=9t%)9fKJ>E&QqcinHkDs>+slcFd7<03 zU6IN-CxsNDgo4qaBS9VYZ9@qZ`N>yUmTH`oENTsN#L(NS|KDNI&VJ-kipPmWoqx4Sjc`?+K zwH!6f!-Zt1(_S}K$0Z!!Tl%eSm0>;f+mYqjN0sC?;g?d2v(E9RV#}a-jMF zD@jH59j^sRJzg>L=Qlj2ZGTmv@ACOD(?64Myp|X#A7bE2rGoNCF)}MrGRia2Ya0j( zjFl8v+VAM+iL(?}lnAt8A5Yt61@-mG_

8J+{eJ1Y9ts;&?rs{46iiX{rbyKbxyb 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

&`AcZ*{;vj|pv7MGz3s9$3S& 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 z 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 z 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

U_20J;*g*;)DcvJ-wvLwSWnm} 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 literal 0 HcmV?d00001 diff --git a/test/setup/globals.js b/test/setup/globals.js index a9686b4..50043f9 100644 --- a/test/setup/globals.js +++ b/test/setup/globals.js @@ -1,5 +1,9 @@ -Object.defineProperty(globalThis, 'crypto', { +Object.defineProperty(globalThis, "crypto", { value: { - subtle: require('crypto').subtle, - } + subtle: require("crypto").subtle, + }, +}); + +Object.defineProperty(globalThis, "CryptoKey", { + value: require("crypto").webcrypto.CryptoKey, }); diff --git a/yarn.lock b/yarn.lock index 1e449a8..836e761 100644 --- a/yarn.lock +++ b/yarn.lock @@ -15,16 +15,7 @@ __metadata: languageName: node linkType: hard -"@babel/code-frame@npm:^7.0.0, @babel/code-frame@npm:^7.12.13, @babel/code-frame@npm:^7.18.6": - version: 7.18.6 - resolution: "@babel/code-frame@npm:7.18.6" - dependencies: - "@babel/highlight": ^7.18.6 - checksum: 195e2be3172d7684bf95cff69ae3b7a15a9841ea9d27d3c843662d50cdd7d6470fd9c8e64be84d031117e4a4083486effba39f9aef6bbb2c89f7f21bcfba33ba - languageName: node - linkType: hard - -"@babel/code-frame@npm:^7.22.13": +"@babel/code-frame@npm:^7.0.0, @babel/code-frame@npm:^7.12.13, @babel/code-frame@npm:^7.18.6, @babel/code-frame@npm:^7.22.13": version: 7.22.13 resolution: "@babel/code-frame@npm:7.22.13" dependencies: @@ -64,18 +55,7 @@ __metadata: languageName: node linkType: hard -"@babel/generator@npm:^7.20.7, @babel/generator@npm:^7.7.2": - version: 7.20.14 - resolution: "@babel/generator@npm:7.20.14" - dependencies: - "@babel/types": ^7.20.7 - "@jridgewell/gen-mapping": ^0.3.2 - jsesc: ^2.5.1 - checksum: 5f6aa2d86af26e76d276923a5c34191124a119b16ee9ccc34aef654a7dec84fbd7d2daed2e6458a6a06bf87f3661deb77c9fea59b8f67faff5c90793c96d76d6 - languageName: node - linkType: hard - -"@babel/generator@npm:^7.23.0": +"@babel/generator@npm:^7.20.7, @babel/generator@npm:^7.23.0, @babel/generator@npm:^7.7.2": version: 7.23.0 resolution: "@babel/generator@npm:7.23.0" dependencies: @@ -167,14 +147,7 @@ __metadata: languageName: node linkType: hard -"@babel/helper-environment-visitor@npm:^7.18.9": - version: 7.18.9 - resolution: "@babel/helper-environment-visitor@npm:7.18.9" - checksum: b25101f6162ddca2d12da73942c08ad203d7668e06663df685634a8fde54a98bc015f6f62938e8554457a592a024108d45b8f3e651fd6dcdb877275b73cc4420 - languageName: node - linkType: hard - -"@babel/helper-environment-visitor@npm:^7.22.20": +"@babel/helper-environment-visitor@npm:^7.18.9, @babel/helper-environment-visitor@npm:^7.22.20": version: 7.22.20 resolution: "@babel/helper-environment-visitor@npm:7.22.20" checksum: d80ee98ff66f41e233f36ca1921774c37e88a803b2f7dca3db7c057a5fea0473804db9fb6729e5dbfd07f4bed722d60f7852035c2c739382e84c335661590b69 @@ -190,17 +163,7 @@ __metadata: languageName: node linkType: hard -"@babel/helper-function-name@npm:^7.18.9, @babel/helper-function-name@npm:^7.19.0": - version: 7.19.0 - resolution: "@babel/helper-function-name@npm:7.19.0" - dependencies: - "@babel/template": ^7.18.10 - "@babel/types": ^7.19.0 - checksum: eac1f5db428ba546270c2b8d750c24eb528b8fcfe50c81de2e0bdebf0e20f24bec688d4331533b782e4a907fad435244621ca2193cfcf80a86731299840e0f6e - languageName: node - linkType: hard - -"@babel/helper-function-name@npm:^7.23.0": +"@babel/helper-function-name@npm:^7.18.9, @babel/helper-function-name@npm:^7.19.0, @babel/helper-function-name@npm:^7.23.0": version: 7.23.0 resolution: "@babel/helper-function-name@npm:7.23.0" dependencies: @@ -210,16 +173,7 @@ __metadata: languageName: node linkType: hard -"@babel/helper-hoist-variables@npm:^7.18.6": - version: 7.18.6 - resolution: "@babel/helper-hoist-variables@npm:7.18.6" - dependencies: - "@babel/types": ^7.18.6 - checksum: fd9c35bb435fda802bf9ff7b6f2df06308a21277c6dec2120a35b09f9de68f68a33972e2c15505c1a1a04b36ec64c9ace97d4a9e26d6097b76b4396b7c5fa20f - languageName: node - linkType: hard - -"@babel/helper-hoist-variables@npm:^7.22.5": +"@babel/helper-hoist-variables@npm:^7.18.6, @babel/helper-hoist-variables@npm:^7.22.5": version: 7.22.5 resolution: "@babel/helper-hoist-variables@npm:7.22.5" dependencies: @@ -324,16 +278,7 @@ __metadata: languageName: node linkType: hard -"@babel/helper-split-export-declaration@npm:^7.18.6": - version: 7.18.6 - resolution: "@babel/helper-split-export-declaration@npm:7.18.6" - dependencies: - "@babel/types": ^7.18.6 - checksum: c6d3dede53878f6be1d869e03e9ffbbb36f4897c7cc1527dc96c56d127d834ffe4520a6f7e467f5b6f3c2843ea0e81a7819d66ae02f707f6ac057f3d57943a2b - languageName: node - linkType: hard - -"@babel/helper-split-export-declaration@npm:^7.22.6": +"@babel/helper-split-export-declaration@npm:^7.18.6, @babel/helper-split-export-declaration@npm:^7.22.6": version: 7.22.6 resolution: "@babel/helper-split-export-declaration@npm:7.22.6" dependencies: @@ -342,13 +287,6 @@ __metadata: languageName: node linkType: hard -"@babel/helper-string-parser@npm:^7.19.4": - version: 7.19.4 - resolution: "@babel/helper-string-parser@npm:7.19.4" - checksum: b2f8a3920b30dfac81ec282ac4ad9598ea170648f8254b10f475abe6d944808fb006aab325d3eb5a8ad3bea8dfa888cfa6ef471050dae5748497c110ec060943 - languageName: node - linkType: hard - "@babel/helper-string-parser@npm:^7.22.5": version: 7.22.5 resolution: "@babel/helper-string-parser@npm:7.22.5" @@ -356,14 +294,7 @@ __metadata: languageName: node linkType: hard -"@babel/helper-validator-identifier@npm:^7.18.6, @babel/helper-validator-identifier@npm:^7.19.1": - version: 7.19.1 - resolution: "@babel/helper-validator-identifier@npm:7.19.1" - checksum: 0eca5e86a729162af569b46c6c41a63e18b43dbe09fda1d2a3c8924f7d617116af39cac5e4cd5d431bb760b4dca3c0970e0c444789b1db42bcf1fa41fbad0a3a - languageName: node - linkType: hard - -"@babel/helper-validator-identifier@npm:^7.22.20": +"@babel/helper-validator-identifier@npm:^7.19.1, @babel/helper-validator-identifier@npm:^7.22.20": version: 7.22.20 resolution: "@babel/helper-validator-identifier@npm:7.22.20" checksum: 136412784d9428266bcdd4d91c32bcf9ff0e8d25534a9d94b044f77fe76bc50f941a90319b05aafd1ec04f7d127cd57a179a3716009ff7f3412ef835ada95bdc @@ -400,17 +331,6 @@ __metadata: languageName: node linkType: hard -"@babel/highlight@npm:^7.18.6": - version: 7.18.6 - resolution: "@babel/highlight@npm:7.18.6" - dependencies: - "@babel/helper-validator-identifier": ^7.18.6 - chalk: ^2.0.0 - js-tokens: ^4.0.0 - checksum: 92d8ee61549de5ff5120e945e774728e5ccd57fd3b2ed6eace020ec744823d4a98e242be1453d21764a30a14769ecd62170fba28539b211799bbaf232bbb2789 - languageName: node - linkType: hard - "@babel/highlight@npm:^7.22.13": version: 7.22.20 resolution: "@babel/highlight@npm:7.22.20" @@ -422,16 +342,7 @@ __metadata: languageName: node linkType: hard -"@babel/parser@npm:^7.1.0, @babel/parser@npm:^7.14.7, @babel/parser@npm:^7.20.7": - version: 7.20.15 - resolution: "@babel/parser@npm:7.20.15" - bin: - parser: ./bin/babel-parser.js - checksum: 1d0f47ca67ff2652f1c0ff1570bed8deccbc4b53509e7cd73476af9cc7ed23480c99f1179bd6d0be01612368b92b39e206d330ad6054009d699934848a89298b - languageName: node - linkType: hard - -"@babel/parser@npm:^7.22.15, @babel/parser@npm:^7.23.0": +"@babel/parser@npm:^7.1.0, @babel/parser@npm:^7.14.7, @babel/parser@npm:^7.20.7, @babel/parser@npm:^7.22.15, @babel/parser@npm:^7.23.0": version: 7.23.0 resolution: "@babel/parser@npm:7.23.0" bin: @@ -1357,18 +1268,7 @@ __metadata: languageName: node linkType: hard -"@babel/template@npm:^7.18.10, @babel/template@npm:^7.20.7, @babel/template@npm:^7.3.3": - version: 7.20.7 - resolution: "@babel/template@npm:7.20.7" - dependencies: - "@babel/code-frame": ^7.18.6 - "@babel/parser": ^7.20.7 - "@babel/types": ^7.20.7 - checksum: 2eb1a0ab8d415078776bceb3473d07ab746e6bb4c2f6ca46ee70efb284d75c4a32bb0cd6f4f4946dec9711f9c0780e8e5d64b743208deac6f8e9858afadc349e - languageName: node - linkType: hard - -"@babel/template@npm:^7.22.15": +"@babel/template@npm:^7.18.10, @babel/template@npm:^7.20.7, @babel/template@npm:^7.22.15, @babel/template@npm:^7.3.3": version: 7.22.15 resolution: "@babel/template@npm:7.22.15" dependencies: @@ -1397,18 +1297,7 @@ __metadata: languageName: node linkType: hard -"@babel/types@npm:^7.0.0, @babel/types@npm:^7.18.6, @babel/types@npm:^7.18.9, @babel/types@npm:^7.19.0, @babel/types@npm:^7.20.0, @babel/types@npm:^7.20.2, @babel/types@npm:^7.20.5, @babel/types@npm:^7.20.7, @babel/types@npm:^7.3.0, @babel/types@npm:^7.3.3, @babel/types@npm:^7.4.4, @babel/types@npm:^7.8.3": - version: 7.20.7 - resolution: "@babel/types@npm:7.20.7" - dependencies: - "@babel/helper-string-parser": ^7.19.4 - "@babel/helper-validator-identifier": ^7.19.1 - to-fast-properties: ^2.0.0 - checksum: b39af241f0b72bba67fd6d0d23914f6faec8c0eba8015c181cbd5ea92e59fc91a52a1ab490d3520c7dbd19ddb9ebb76c476308f6388764f16d8201e37fae6811 - languageName: node - linkType: hard - -"@babel/types@npm:^7.22.15, @babel/types@npm:^7.22.5, @babel/types@npm:^7.23.0": +"@babel/types@npm:^7.0.0, @babel/types@npm:^7.18.6, @babel/types@npm:^7.18.9, @babel/types@npm:^7.20.0, @babel/types@npm:^7.20.2, @babel/types@npm:^7.20.5, @babel/types@npm:^7.20.7, @babel/types@npm:^7.22.15, @babel/types@npm:^7.22.5, @babel/types@npm:^7.23.0, @babel/types@npm:^7.3.0, @babel/types@npm:^7.3.3, @babel/types@npm:^7.4.4, @babel/types@npm:^7.8.3": version: 7.23.0 resolution: "@babel/types@npm:7.23.0" dependencies: @@ -1426,6 +1315,48 @@ __metadata: languageName: node linkType: hard +"@ethereumjs/common@npm:^3.2.0": + version: 3.2.0 + resolution: "@ethereumjs/common@npm:3.2.0" + dependencies: + "@ethereumjs/util": ^8.1.0 + crc-32: ^1.2.0 + checksum: cb9cc11f5c868cb577ba611cebf55046e509218bbb89b47ccce010776dafe8256d70f8f43fab238aec74cf71f62601cd5842bc03a83261200802de365732a14b + languageName: node + linkType: hard + +"@ethereumjs/rlp@npm:^4.0.1": + version: 4.0.1 + resolution: "@ethereumjs/rlp@npm:4.0.1" + bin: + rlp: bin/rlp + checksum: 30db19c78faa2b6ff27275ab767646929207bb207f903f09eb3e4c273ce2738b45f3c82169ddacd67468b4f063d8d96035f2bf36f02b6b7e4d928eefe2e3ecbc + languageName: node + linkType: hard + +"@ethereumjs/tx@npm:^4.2.0": + version: 4.2.0 + resolution: "@ethereumjs/tx@npm:4.2.0" + dependencies: + "@ethereumjs/common": ^3.2.0 + "@ethereumjs/rlp": ^4.0.1 + "@ethereumjs/util": ^8.1.0 + ethereum-cryptography: ^2.0.0 + checksum: 87a3f5f2452cfbf6712f8847525a80c213210ed453c211c793c5df801fe35ecef28bae17fadd222fcbdd94277478a47e52d2b916a90a6b30cda21f1e0cdaee42 + languageName: node + linkType: hard + +"@ethereumjs/util@npm:^8.1.0": + version: 8.1.0 + resolution: "@ethereumjs/util@npm:8.1.0" + dependencies: + "@ethereumjs/rlp": ^4.0.1 + ethereum-cryptography: ^2.0.0 + micro-ftch: ^0.3.1 + checksum: 9ae5dee8f12b0faf81cd83f06a41560e79b0ba96a48262771d897a510ecae605eb6d84f687da001ab8ccffd50f612ae50f988ef76e6312c752897f462f3ac08d + languageName: node + linkType: hard + "@gar/promisify@npm:^1.1.3": version: 1.1.3 resolution: "@gar/promisify@npm:1.1.3" @@ -1742,13 +1673,6 @@ __metadata: languageName: node linkType: hard -"@jridgewell/resolve-uri@npm:3.1.0": - version: 3.1.0 - resolution: "@jridgewell/resolve-uri@npm:3.1.0" - checksum: b5ceaaf9a110fcb2780d1d8f8d4a0bfd216702f31c988d8042e5f8fbe353c55d9b0f55a1733afdc64806f8e79c485d2464680ac48a0d9fcadb9548ee6b81d267 - languageName: node - linkType: hard - "@jridgewell/resolve-uri@npm:^3.1.0": version: 3.1.1 resolution: "@jridgewell/resolve-uri@npm:3.1.1" @@ -1763,31 +1687,14 @@ __metadata: languageName: node linkType: hard -"@jridgewell/sourcemap-codec@npm:1.4.14, @jridgewell/sourcemap-codec@npm:^1.4.10": - version: 1.4.14 - resolution: "@jridgewell/sourcemap-codec@npm:1.4.14" - checksum: 61100637b6d173d3ba786a5dff019e1a74b1f394f323c1fee337ff390239f053b87266c7a948777f4b1ee68c01a8ad0ab61e5ff4abb5a012a0b091bec391ab97 - languageName: node - linkType: hard - -"@jridgewell/sourcemap-codec@npm:^1.4.14": +"@jridgewell/sourcemap-codec@npm:^1.4.10, @jridgewell/sourcemap-codec@npm:^1.4.14": version: 1.4.15 resolution: "@jridgewell/sourcemap-codec@npm:1.4.15" checksum: b881c7e503db3fc7f3c1f35a1dd2655a188cc51a3612d76efc8a6eb74728bef5606e6758ee77423e564092b4a518aba569bbb21c9bac5ab7a35b0c6ae7e344c8 languageName: node linkType: hard -"@jridgewell/trace-mapping@npm:^0.3.12, @jridgewell/trace-mapping@npm:^0.3.15, @jridgewell/trace-mapping@npm:^0.3.9": - version: 0.3.17 - resolution: "@jridgewell/trace-mapping@npm:0.3.17" - dependencies: - "@jridgewell/resolve-uri": 3.1.0 - "@jridgewell/sourcemap-codec": 1.4.14 - checksum: 9d703b859cff5cd83b7308fd457a431387db5db96bd781a63bf48e183418dd9d3d44e76b9e4ae13237f6abeeb25d739ec9215c1d5bfdd08f66f750a50074a339 - languageName: node - linkType: hard - -"@jridgewell/trace-mapping@npm:^0.3.17": +"@jridgewell/trace-mapping@npm:^0.3.12, @jridgewell/trace-mapping@npm:^0.3.15, @jridgewell/trace-mapping@npm:^0.3.17, @jridgewell/trace-mapping@npm:^0.3.9": version: 0.3.20 resolution: "@jridgewell/trace-mapping@npm:0.3.20" dependencies: @@ -1797,10 +1704,28 @@ __metadata: languageName: node linkType: hard -"@metamask/browser-passworder@npm:^4.0.2": - version: 4.0.2 - resolution: "@metamask/browser-passworder@npm:4.0.2" - checksum: 997c330b1c72f7135d0fd2a7f4b0dce37b3c2e6b30e92f048fa8d4f8c949f5b669dcc3064790f41df30ee2e53a9e64a812df72e00527736be704cce2cf4f6e49 +"@metamask/browser-passworder@npm:^4.3.0": + version: 4.3.0 + resolution: "@metamask/browser-passworder@npm:4.3.0" + dependencies: + "@metamask/utils": ^8.2.0 + checksum: 7992553a0cd91902aa316a931d36c2628cb5a73fcbc28a31dce4177704036d739214c580ed833079003b2c7dfd60c5648a20734badf91e2c665cfe2f56012a8c + languageName: node + linkType: hard + +"@metamask/utils@npm:^8.2.0": + version: 8.2.1 + resolution: "@metamask/utils@npm:8.2.1" + dependencies: + "@ethereumjs/tx": ^4.2.0 + "@noble/hashes": ^1.3.1 + "@scure/base": ^1.1.3 + "@types/debug": ^4.1.7 + debug: ^4.3.4 + pony-cause: ^2.1.10 + semver: ^7.5.4 + superstruct: ^1.0.3 + checksum: 36a714a17e4949d2040bedb28d4373a22e7e86bb797aa2d59223f9799fd76e662443bcede113719c4e200f5e9d90a9d62feafad5028fff8b9a7a85fface097ca languageName: node linkType: hard @@ -1809,7 +1734,7 @@ __metadata: resolution: "@metamask/vault-decryptor@workspace:." dependencies: "@babel/preset-env": ^7.20.2 - "@metamask/browser-passworder": ^4.0.2 + "@metamask/browser-passworder": ^4.3.0 babelify: ^10.0.0 brfs: ^1.4.3 browserify: ^17.0.0 @@ -1827,6 +1752,29 @@ __metadata: languageName: unknown linkType: soft +"@noble/curves@npm:1.1.0, @noble/curves@npm:~1.1.0": + version: 1.1.0 + resolution: "@noble/curves@npm:1.1.0" + dependencies: + "@noble/hashes": 1.3.1 + checksum: 2658cdd3f84f71079b4e3516c47559d22cf4b55c23ac8ee9d2b1f8e5b72916d9689e59820e0f9d9cb4a46a8423af5b56dc6bb7782405c88be06a015180508db5 + languageName: node + linkType: hard + +"@noble/hashes@npm:1.3.1": + version: 1.3.1 + resolution: "@noble/hashes@npm:1.3.1" + checksum: 7fdefc0f7a0c1ec27acc6ff88841793e3f93ec4ce6b8a6a12bfc0dd70ae6b7c4c82fe305fdfeda1735d5ad4a9eebe761e6693b3d355689c559e91242f4bc95b1 + languageName: node + linkType: hard + +"@noble/hashes@npm:^1.3.1, @noble/hashes@npm:~1.3.0, @noble/hashes@npm:~1.3.1": + version: 1.3.2 + resolution: "@noble/hashes@npm:1.3.2" + checksum: fe23536b436539d13f90e4b9be843cc63b1b17666a07634a2b1259dded6f490be3d050249e6af98076ea8f2ea0d56f578773c2197f2aa0eeaa5fba5bc18ba474 + languageName: node + linkType: hard + "@npmcli/fs@npm:^2.1.0": version: 2.1.2 resolution: "@npmcli/fs@npm:2.1.2" @@ -1847,6 +1795,34 @@ __metadata: languageName: node linkType: hard +"@scure/base@npm:^1.1.3, @scure/base@npm:~1.1.0": + version: 1.1.3 + resolution: "@scure/base@npm:1.1.3" + checksum: 1606ab8a4db898cb3a1ada16c15437c3bce4e25854fadc8eb03ae93cbbbac1ed90655af4b0be3da37e12056fef11c0374499f69b9e658c9e5b7b3e06353c630c + languageName: node + linkType: hard + +"@scure/bip32@npm:1.3.1": + version: 1.3.1 + resolution: "@scure/bip32@npm:1.3.1" + dependencies: + "@noble/curves": ~1.1.0 + "@noble/hashes": ~1.3.1 + "@scure/base": ~1.1.0 + checksum: 394d65f77a40651eba21a5096da0f4233c3b50d422864751d373fcf142eeedb94a1149f9ab1dbb078086dab2d0bc27e2b1afec8321bf22d4403c7df2fea5bfe2 + languageName: node + linkType: hard + +"@scure/bip39@npm:1.2.1": + version: 1.2.1 + resolution: "@scure/bip39@npm:1.2.1" + dependencies: + "@noble/hashes": ~1.3.0 + "@scure/base": ~1.1.0 + checksum: c5bd6f1328fdbeae2dcdd891825b1610225310e5e62a4942714db51066866e4f7bef242c7b06a1b9dcc8043a4a13412cf5c5df76d3b10aa9e36b82e9b6e3eeaa + languageName: node + linkType: hard + "@sinclair/typebox@npm:^0.25.16": version: 0.25.22 resolution: "@sinclair/typebox@npm:0.25.22" @@ -1929,6 +1905,15 @@ __metadata: languageName: node linkType: hard +"@types/debug@npm:^4.1.7": + version: 4.1.12 + resolution: "@types/debug@npm:4.1.12" + dependencies: + "@types/ms": "*" + checksum: 47876a852de8240bfdaf7481357af2b88cb660d30c72e73789abf00c499d6bc7cd5e52f41c915d1b9cd8ec9fef5b05688d7b7aef17f7f272c2d04679508d1053 + languageName: node + linkType: hard + "@types/graceful-fs@npm:^4.1.3": version: 4.1.6 resolution: "@types/graceful-fs@npm:4.1.6" @@ -1973,6 +1958,13 @@ __metadata: languageName: node linkType: hard +"@types/ms@npm:*": + version: 0.7.34 + resolution: "@types/ms@npm:0.7.34" + checksum: f38d36e7b6edecd9badc9cf50474159e9da5fa6965a75186cceaf883278611b9df6669dc3a3cc122b7938d317b68a9e3d573d316fcb35d1be47ec9e468c6bd8a + languageName: node + linkType: hard + "@types/node@npm:*": version: 18.11.19 resolution: "@types/node@npm:18.11.19" @@ -2771,7 +2763,7 @@ __metadata: languageName: node linkType: hard -"chalk@npm:^2.0.0, chalk@npm:^2.4.2": +"chalk@npm:^2.4.2": version: 2.4.2 resolution: "chalk@npm:2.4.2" dependencies: @@ -3013,6 +3005,15 @@ __metadata: languageName: node linkType: hard +"crc-32@npm:^1.2.0": + version: 1.2.2 + resolution: "crc-32@npm:1.2.2" + bin: + crc32: bin/crc32.njs + checksum: ad2d0ad0cbd465b75dcaeeff0600f8195b686816ab5f3ba4c6e052a07f728c3e70df2e3ca9fd3d4484dc4ba70586e161ca5a2334ec8bf5a41bf022a6103ff243 + languageName: node + linkType: hard + "create-ecdh@npm:^4.0.0": version: 4.0.4 resolution: "create-ecdh@npm:4.0.4" @@ -3094,7 +3095,7 @@ __metadata: languageName: node linkType: hard -"debug@npm:4, debug@npm:^4.1.0, debug@npm:^4.1.1, debug@npm:^4.3.3": +"debug@npm:4, debug@npm:^4.1.0, debug@npm:^4.1.1, debug@npm:^4.3.3, debug@npm:^4.3.4": version: 4.3.4 resolution: "debug@npm:4.3.4" dependencies: @@ -3417,6 +3418,18 @@ __metadata: languageName: node linkType: hard +"ethereum-cryptography@npm:^2.0.0": + version: 2.1.2 + resolution: "ethereum-cryptography@npm:2.1.2" + dependencies: + "@noble/curves": 1.1.0 + "@noble/hashes": 1.3.1 + "@scure/bip32": 1.3.1 + "@scure/bip39": 1.2.1 + checksum: 2e8f7b8cc90232ae838ab6a8167708e8362621404d26e79b5d9e762c7b53d699f7520aff358d9254de658fcd54d2d0af168ff909943259ed27dc4cef2736410c + languageName: node + linkType: hard + "ethereumjs-util@npm:^7.1.4": version: 7.1.5 resolution: "ethereumjs-util@npm:7.1.5" @@ -4850,6 +4863,13 @@ __metadata: languageName: node linkType: hard +"micro-ftch@npm:^0.3.1": + version: 0.3.1 + resolution: "micro-ftch@npm:0.3.1" + checksum: 0e496547253a36e98a83fb00c628c53c3fb540fa5aaeaf718438873785afd193244988c09d219bb1802984ff227d04938d9571ef90fe82b48bd282262586aaff + languageName: node + linkType: hard + "micromatch@npm:^4.0.4": version: 4.0.5 resolution: "micromatch@npm:4.0.5" @@ -5386,6 +5406,13 @@ __metadata: languageName: node linkType: hard +"pony-cause@npm:^2.1.10": + version: 2.1.10 + resolution: "pony-cause@npm:2.1.10" + checksum: 8b61378f213e61056312dc274a1c79980154e9d864f6ad86e0c8b91a50d3ce900d430995ee24147c9f3caa440dfe7d51c274b488d7f033b65b206522536d7217 + languageName: node + linkType: hard + "prelude-ls@npm:~1.1.2": version: 1.1.2 resolution: "prelude-ls@npm:1.1.2" @@ -5619,18 +5646,7 @@ __metadata: languageName: node linkType: hard -"readable-stream@npm:^3.5.0, readable-stream@npm:^3.6.0": - version: 3.6.0 - resolution: "readable-stream@npm:3.6.0" - dependencies: - inherits: ^2.0.3 - string_decoder: ^1.1.1 - util-deprecate: ^1.0.1 - checksum: d4ea81502d3799439bb955a3a5d1d808592cf3133350ed352aeaa499647858b27b1c4013984900238b0873ec8d0d8defce72469fb7a83e61d53f5ad61cb80dc8 - languageName: node - linkType: hard - -"readable-stream@npm:^3.6.2": +"readable-stream@npm:^3.5.0, readable-stream@npm:^3.6.0, readable-stream@npm:^3.6.2": version: 3.6.2 resolution: "readable-stream@npm:3.6.2" dependencies: @@ -5885,14 +5901,14 @@ __metadata: languageName: node linkType: hard -"semver@npm:^7.3.5": - version: 7.3.8 - resolution: "semver@npm:7.3.8" +"semver@npm:^7.3.5, semver@npm:^7.5.4": + version: 7.5.4 + resolution: "semver@npm:7.5.4" dependencies: lru-cache: ^6.0.0 bin: semver: bin/semver.js - checksum: ba9c7cbbf2b7884696523450a61fee1a09930d888b7a8d7579025ad93d459b2d1949ee5bbfeb188b2be5f4ac163544c5e98491ad6152df34154feebc2cc337c1 + checksum: 12d8ad952fa353b0995bf180cdac205a4068b759a140e5d3c608317098b3575ac2f1e09182206bf2eb26120e1c0ed8fb92c48c592f6099680de56bb071423ca3 languageName: node linkType: hard @@ -6217,6 +6233,13 @@ __metadata: languageName: node linkType: hard +"superstruct@npm:^1.0.3": + version: 1.0.3 + resolution: "superstruct@npm:1.0.3" + checksum: 761790bb111e6e21ddd608299c252f3be35df543263a7ebbc004e840d01fcf8046794c274bcb351bdf3eae4600f79d317d085cdbb19ca05803a4361840cc9bb1 + languageName: node + linkType: hard + "supports-color@npm:^5.3.0": version: 5.5.0 resolution: "supports-color@npm:5.5.0"