From 7d12f38cd12617efab1b31afd5a1b0fba530a6ce Mon Sep 17 00:00:00 2001 From: Sachin Singh Date: Thu, 5 Sep 2024 23:08:08 +0530 Subject: [PATCH] Updated deps --- .gitignore | 1 - .prettierrc | 4 - .vscode/settings.json | 7 + biome.jsonc | 39 + dist/esm/silkrouter.esm.js | 91 +- dist/esm/silkrouter.esm.js.map | 2 +- dist/esm/silkrouter.esm.min.js | 2 +- dist/render/silkrouter.iife.js | 121 +- dist/render/silkrouter.iife.js.map | 2 +- dist/render/silkrouter.iife.min.js | 2 +- dist/typings/api/callOnce/index.d.ts | 4 +- dist/typings/api/router/types.d.ts | 2 +- dist/typings/api/routerEvent/types.d.ts | 2 +- dist/typings/api/set/index.d.ts | 7 +- dist/typings/constants/index.d.ts | 8 +- dist/typings/utils/utils.d.ts | 6 + dist/umd/silkrouter.js | 91 +- dist/umd/silkrouter.js.map | 2 +- dist/umd/silkrouter.min.js | 2 +- package-lock.json | 5389 ++++++++++++++--------- package.json | 50 +- render/index.js | 61 +- rome.json | 32 - src/js/api/callOnce/index.js | 12 +- src/js/api/collate/index.js | 6 +- src/js/api/router/RouterCore.js | 14 +- src/js/api/router/types.ts | 4 +- src/js/api/routerEvent/types.ts | 4 +- src/js/api/set/index.js | 34 +- src/js/api/set/types.ts | 1 - src/js/constants/index.js | 4 - src/js/utils/getPath.js | 2 +- src/js/utils/params.js | 6 +- src/js/utils/triggerEvent.js | 2 +- src/js/utils/utils.js | 13 +- tests/utils.test.js | 2 +- 36 files changed, 3595 insertions(+), 2436 deletions(-) delete mode 100644 .prettierrc create mode 100644 .vscode/settings.json create mode 100644 biome.jsonc delete mode 100644 rome.json diff --git a/.gitignore b/.gitignore index 485b71b..3091757 100644 --- a/.gitignore +++ b/.gitignore @@ -1,3 +1,2 @@ node_modules -.vscode coverage \ No newline at end of file diff --git a/.prettierrc b/.prettierrc deleted file mode 100644 index 2c0fc02..0000000 --- a/.prettierrc +++ /dev/null @@ -1,4 +0,0 @@ -{ - "singleQuote": true, - "endOfLine": "auto" -} \ No newline at end of file diff --git a/.vscode/settings.json b/.vscode/settings.json new file mode 100644 index 0000000..2c7b8eb --- /dev/null +++ b/.vscode/settings.json @@ -0,0 +1,7 @@ +{ + "editor.defaultFormatter": "biomejs.biome", + "editor.formatOnSave": true, + "[javascript]": { + "editor.defaultFormatter": "biomejs.biome" + } +} diff --git a/biome.jsonc b/biome.jsonc new file mode 100644 index 0000000..bb87e78 --- /dev/null +++ b/biome.jsonc @@ -0,0 +1,39 @@ +{ + "$schema": "https://biomejs.dev/schemas/1.8.3/schema.json", + "organizeImports": { + "enabled": true + }, + "linter": { + "enabled": true, + "rules": { + "recommended": true, + "complexity": { + "noForEach": "off" + }, + "style": { + "noArguments": "off", + "noParameterAssign": "off" + }, + "suspicious": { + "noExplicitAny": "off" + } + }, + "ignore": ["dist/**/*"] + }, + "formatter": { + "enabled": true, + "ignore": ["dist/**/*"], + "indentWidth": 2, + "lineWidth": 80, + "indentStyle": "space" + }, + "javascript": { + "formatter": { + "arrowParentheses": "asNeeded", + "quoteStyle": "single", + "semicolons": "always", + "trailingCommas": "all", + "bracketSpacing": true + } + } +} diff --git a/dist/esm/silkrouter.esm.js b/dist/esm/silkrouter.esm.js index 311620a..96775ad 100644 --- a/dist/esm/silkrouter.esm.js +++ b/dist/esm/silkrouter.esm.js @@ -11,10 +11,6 @@ const INVALID_ROUTE = 'Route format is incorrect!'; const VIRTUAL_PUSHSTATE = 'vpushstate'; const QRY = '?'; const EMPTY = ''; -const UNDEF = void 0; -const TYPEOF_STR = typeof EMPTY; -const TYPEOF_UNDEF = typeof UNDEF; -const TYPEOF_FUNC = typeof (() => {}); const STATE = 'State'; const PUSH = `push${STATE}`; const REPLACE = `replace${STATE}`; @@ -66,12 +62,21 @@ function trigger(context, eventType, data) { })); } +/** + * Checks if input value is a string + * @param {any} str String value + * @returns {boolean} + */ +function isString(str) { + return typeof str === 'string'; +} + /** * Safely trims string * @param {string} str String */ function trim(str) { - return typeof str === TYPEOF_STR ? str.trim() : EMPTY; + return isString(str) ? str.trim() : EMPTY; } /** @@ -88,11 +93,10 @@ function isValidRoute(route) { * @private * @typedef {import('./types').RouteConfig} RouteConfig * @param {string} routeStr Route string - * @param {RouteConfig} [routeConfig] Route config - * @returns {void} + * @param {RouteConfig} [rConfig] Route config */ -function set(routeStr, routeConfig) { - routeConfig = isObject$1(routeConfig) ? routeConfig : {}; +function set(routeStr, rConfig) { + const routeConfig = isObject$1(rConfig) ? rConfig : {}; const [route, qs] = routeStr.split(QRY); const { replace = false, @@ -108,26 +112,26 @@ function set(routeStr, routeConfig) { context } = this.config; // Resolve to URL query string if it's not explicitly passed - routeStr = trim(route); - if (isValidRoute(routeStr)) { - const path = routeStr; + let routeString = trim(route); + if (isValidRoute(routeString)) { + const path = routeString; if (hash) { - routeStr = `${preservePath ? '' : '/'}#${routeStr}`; + routeString = `${preservePath ? '' : '/'}#${routeString}`; } // Append query string - routeStr = `${routeStr}${trim(queryString ? `${QRY + queryString}` : EMPTY)}`; + routeString = `${routeString}${trim(queryString ? `${QRY + queryString}` : EMPTY)}`; const savedState = history.state || { idx: 0 }; history[replace ? REPLACE : PUSH]({ data, idx: savedState.idx + 1 - }, pageTitle, routeStr); + }, pageTitle, routeString); if (!preventDefault && path) { trigger(context, VIRTUAL_PUSHSTATE, [{ path, hash - }, UNDEF, this]); + }, undefined, this]); } } else { throw new TypeError(INVALID_ROUTE); @@ -175,34 +179,13 @@ class RouterEvent { } } -/** - * Attaches a route handler - * @returns {(observable: Observable) => Observable} - */ -function collate() { - return observable => new Observable(subscriber => { - const subn = observable.subscribe({ - next: event => { - const [,, routerInstance] = event.detail; - if (routerInstance === this) { - subscriber.next(new RouterEvent(event.detail, event)); - } - }, - error: subscriber.error, - complete: subscriber.complete - }); - return () => { - subn.unsubscribe(); - }; - }); -} - /** * Calls the handler once on initialization - * @param {boolean} [isDone] Optional flag used as a switch + * @param {boolean} [isd] Optional flag used as a switch * @returns {(observable: Observable) => Observable} */ -function callOnce(isDone) { +function callOnce(isd) { + let isDone = isd; const { hashRouting: hash, location, @@ -217,7 +200,7 @@ function callOnce(isDone) { subscriber.next(new RouterEvent([{ path, hash - }, UNDEF, this])); + }, undefined, this])); } } return () => { @@ -226,12 +209,34 @@ function callOnce(isDone) { }); } +/** + * Attaches a route handler + * @returns {(observable: Observable) => Observable} + */ +function collate() { + return observable => new Observable(subscriber => { + const subn = observable.subscribe({ + next: event => { + const [,, routerInstance] = event.detail; + if (routerInstance === this) { + subscriber.next(new RouterEvent(event.detail, event)); + } + }, + error: subscriber.error, + complete: subscriber.complete + }); + return () => { + subn.unsubscribe(); + }; + }); +} + /** * Core router class to handle basic routing functionality */ class RouterCore { static get global() { - return typeof globalThis !== TYPEOF_UNDEF ? globalThis : global || self; + return typeof globalThis !== 'undefined' ? globalThis : global || self; } /** * Router core constructor @@ -285,7 +290,7 @@ class RouterCore { * @param {() => void} callback Callback for destroy function */ destroy(callback) { - if (typeof callback === TYPEOF_FUNC) { + if (typeof callback === 'function') { callback(); } this.popStateSubscription.unsubscribe(); // Unsubscribe popstate event diff --git a/dist/esm/silkrouter.esm.js.map b/dist/esm/silkrouter.esm.js.map index 58676ad..dfba338 100644 --- a/dist/esm/silkrouter.esm.js.map +++ b/dist/esm/silkrouter.esm.js.map @@ -1 +1 @@ -{"version":3,"file":"silkrouter.esm.js","sources":["../../src/js/constants/index.js","../../src/js/utils/params.js","../../node_modules/is-object/index.js","../../src/js/utils/triggerEvent.js","../../src/js/utils/utils.js","../../src/js/api/set/index.js","../../src/js/utils/getPath.js","../../src/js/api/routerEvent/index.js","../../src/js/api/collate/index.js","../../src/js/api/callOnce/index.js","../../src/js/api/router/RouterCore.js","../../src/js/api/router/Router.js"],"sourcesContent":["/**\n * Router constants\n */\nexport const POP_STATE = 'popstate';\nexport const REG_ROUTE_PARAMS = /:[^/]+/g;\nexport const REG_PATHNAME = /^\\/(?=[^?]*)/;\nexport const HISTORY_UNSUPPORTED =\n 'History is not supported in this environment!';\nexport const INVALID_ROUTE = 'Route format is incorrect!';\nexport const VIRTUAL_PUSHSTATE = 'vpushstate';\nexport const QRY = '?';\nexport const EMPTY = '';\nexport const UNDEF = void 0;\nexport const TYPEOF_STR = typeof EMPTY;\nexport const TYPEOF_BOOL = typeof true;\nexport const TYPEOF_UNDEF = typeof UNDEF;\nexport const TYPEOF_FUNC = typeof (() => {});\nexport const STATE = 'State';\nexport const PUSH = `push${STATE}`;\nexport const REPLACE = `replace${STATE}`;\n","import { EMPTY, REG_ROUTE_PARAMS } from '../constants';\n\n/**\n * Parses current path and returns params object\n * @param {string} expr Route expression\n * @param {string} path URL path\n * @returns {{[key: string]: any}}\n */\nexport function resolveParams(expr, path) {\n const params = {};\n if (REG_ROUTE_PARAMS.test(expr)) {\n const pathRegex = new RegExp(\n expr.replace(/\\//g, '\\\\/').replace(/:[^/\\\\]+/g, '([^\\\\/]+)')\n );\n REG_ROUTE_PARAMS.lastIndex = 0;\n if (pathRegex.test(path)) {\n const keys = Array.from(expr.match(REG_ROUTE_PARAMS)).map((key) =>\n key.replace(':', EMPTY)\n );\n const values = Array.from(path.match(pathRegex));\n values.shift();\n keys.forEach((key, index) => {\n params[key] = values[index];\n });\n }\n }\n return params;\n}\n","'use strict';\n\nmodule.exports = function isObject(x) {\n\treturn typeof x === 'object' && x !== null;\n};\n","/**\n * Function to trigger custom event\n * @param {HTMLElement} context Context element\n * @param {string} eventType Event type\n * @param {any[]} data Data to be passed to handler\n */\nexport function trigger(context, eventType, data) {\n context.dispatchEvent(\n new CustomEvent(eventType, {\n bubbles: true,\n cancelable: true,\n detail: data || [],\n })\n );\n}\n","import { EMPTY, REG_PATHNAME, TYPEOF_STR } from '../constants';\n\n/**\n * Safely trims string\n * @param {string} str String\n */\nexport function trim(str) {\n return typeof str === TYPEOF_STR ? str.trim() : EMPTY;\n}\n\n/**\n * Checks if given route is valid\n * @private\n * @param {string} route Route string\n */\nexport function isValidRoute(route) {\n return REG_PATHNAME.test(route);\n}\n","import { trigger } from '../../utils/triggerEvent';\nimport {\n VIRTUAL_PUSHSTATE,\n INVALID_ROUTE,\n UNDEF,\n EMPTY,\n QRY,\n REPLACE,\n PUSH,\n} from '../../constants';\nimport { isValidRoute, trim } from '../../utils/utils';\nimport isObject from 'is-object';\n\n/**\n * Sets the current route\n * @private\n * @typedef {import('./types').RouteConfig} RouteConfig\n * @param {string} routeStr Route string\n * @param {RouteConfig} [routeConfig] Route config\n * @returns {void}\n */\nexport default function set(routeStr, routeConfig) {\n routeConfig = isObject(routeConfig) ? routeConfig : {};\n const [route, qs] = routeStr.split(QRY);\n const {\n replace = false,\n preventDefault = false,\n queryString = qs,\n data,\n pageTitle = null,\n } = routeConfig;\n const { preservePath, hashRouting: hash, history, context } = this.config;\n // Resolve to URL query string if it's not explicitly passed\n routeStr = trim(route);\n if (isValidRoute(routeStr)) {\n const path = routeStr;\n if (hash) {\n routeStr = `${preservePath ? '' : '/'}#${routeStr}`;\n }\n // Append query string\n routeStr = `${routeStr}${trim(\n queryString ? `${QRY + queryString}` : EMPTY\n )}`;\n const savedState = history.state || { idx: 0 };\n history[replace ? REPLACE : PUSH](\n {\n data,\n idx: savedState.idx + 1,\n },\n pageTitle,\n routeStr\n );\n if (!preventDefault && path) {\n trigger(context, VIRTUAL_PUSHSTATE, [\n {\n path,\n hash,\n },\n UNDEF,\n this,\n ]);\n }\n } else {\n throw new TypeError(INVALID_ROUTE);\n }\n}\n","import { QRY } from '../constants';\nimport { trim } from './utils';\n\nexport const getPath = (isHash, location) => {\n return trim(\n isHash ? location.hash.substring(1).split(QRY)[0] : location.pathname\n );\n};\n","import { QRY } from '../../constants';\nimport { trim } from '../../utils/utils';\n\n/**\n * Creates an instance of router event\n */\nexport class RouterEvent {\n /**\n * Creates a instance of router event\n * @typedef {import('./types').RouteInfo} RouteInfo\n * @param {RouteInfo} routeInfo Route information\n * @param {CustomEvent} currentEvent Current event object\n */\n constructor(routeInfo, currentEvent) {\n // Set relevant parameters\n const [routeObject, originalEvent, routerInstance] = routeInfo;\n const { location, history } = routerInstance.config;\n this.route = routeObject.path;\n this.isHashRoute = routeObject.hash;\n this.router = routerInstance;\n this.currentEvent = originalEvent || currentEvent;\n this.query = {\n path: trim(location.search.substring(1)),\n hash: trim(location.hash.split(QRY)[1]),\n };\n const { state } = originalEvent || {};\n const { data, idx = 0 } = state || history.state || {};\n this.data = data;\n this.index = +idx;\n }\n}\n","import { Observable } from 'rxjs';\nimport { RouterEvent } from '../routerEvent';\n\n/**\n * Attaches a route handler\n * @returns {(observable: Observable) => Observable}\n */\nexport default function collate() {\n return (observable) =>\n new Observable((subscriber) => {\n const subn = observable.subscribe({\n next: (event) => {\n const [, , routerInstance] = event.detail;\n if (routerInstance === this) {\n subscriber.next(new RouterEvent(event.detail, event));\n }\n },\n error: subscriber.error,\n complete: subscriber.complete,\n });\n return () => {\n subn.unsubscribe();\n };\n });\n}\n","import { Observable } from 'rxjs';\nimport { UNDEF } from '../../constants';\nimport { getPath } from '../../utils/getPath';\nimport { RouterEvent } from '../routerEvent';\n\n/**\n * Calls the handler once on initialization\n * @param {boolean} [isDone] Optional flag used as a switch\n * @returns {(observable: Observable) => Observable}\n */\nexport default function callOnce(isDone) {\n const { hashRouting: hash, location, init } = this.config;\n const path = getPath(hash, location);\n return (observable) =>\n new Observable((subscriber) => {\n const subn = observable.subscribe(subscriber);\n if (!isDone) {\n isDone = true;\n if (init && path) {\n subscriber.next(new RouterEvent([{ path, hash }, UNDEF, this]));\n }\n }\n return () => {\n subn.unsubscribe();\n };\n });\n}\n","import { fromEvent } from 'rxjs';\nimport {\n HISTORY_UNSUPPORTED,\n POP_STATE,\n PUSH,\n TYPEOF_FUNC,\n TYPEOF_UNDEF,\n VIRTUAL_PUSHSTATE,\n} from '../../constants';\nimport { getPath } from '../../utils/getPath';\nimport { trigger } from '../../utils/triggerEvent';\nimport collate from '../collate';\nimport callOnce from '../callOnce';\n\n/**\n * Core router class to handle basic routing functionality\n */\nexport class RouterCore {\n static get global() {\n return typeof globalThis !== TYPEOF_UNDEF ? globalThis : global || self;\n }\n /**\n * Router core constructor\n * @typedef {import('./types').RouterCoreConfig} RouterCoreConfig\n * @param {RouterCoreConfig} routerCoreConfig Route core configuration\n */\n constructor({ history, context, location, hash }) {\n if (!history[PUSH]) {\n throw new Error(HISTORY_UNSUPPORTED);\n }\n this.popStateSubscription = fromEvent(\n RouterCore.global,\n POP_STATE\n ).subscribe((e) => {\n const path = getPath(hash, location);\n if (path) {\n trigger(context, VIRTUAL_PUSHSTATE, [{ path, hash }, e, this]);\n }\n });\n this.listeners = fromEvent(context, VIRTUAL_PUSHSTATE).pipe(\n collate.apply(this)\n );\n }\n /**\n * Allows you to add operators for any pre-processing before a handler is called\n * @typedef {import('./types').Operator} Operator\n * @typedef {import('rxjs').Observable} Observable\n * @param {...Operator} ops Operators\n * @returns {Observable}\n */\n pipe(...ops) {\n return this.listeners.pipe(callOnce.apply(this), ...ops);\n }\n /**\n * Attaches a route handler\n * @typedef {import('../routerEvent/index').RouterEvent} RouterEvent\n * @param {(event: RouterEvent) => void} fn Route handler\n */\n subscribe(fn) {\n return this.pipe().subscribe(fn);\n }\n /**\n * Destroys current router instance\n * @param {() => void} callback Callback for destroy function\n */\n destroy(callback) {\n if (typeof callback === TYPEOF_FUNC) {\n callback();\n }\n this.popStateSubscription.unsubscribe(); // Unsubscribe popstate event\n }\n}\n","import isObject from 'is-object';\nimport set from '../set';\nimport { RouterCore } from './RouterCore';\n\n/**\n * Browser router to handle routing logic\n */\nexport class Router extends RouterCore {\n /**\n * Router constructor\n * @typedef {import('./types').RouterConfig} RouterConfig\n * @param {RouterConfig} config\n */\n constructor(config) {\n config = isObject(config) ? config : {};\n const { history, location, document } = RouterCore.global;\n const context = document.body;\n super({\n history,\n location,\n context,\n hash: config.hashRouting,\n });\n this.config = Object.freeze({\n init: true,\n hashRouting: false,\n preservePath: false,\n context,\n history,\n location,\n ...config,\n });\n if (config.hashRouting && !location.hash) {\n this.set('/', {\n replace: true,\n preventDefault: true, // Don't execute route handlers\n });\n }\n }\n /**\n * Sets the current route path\n * @typedef {import('../set/types').RouteConfig} RouteConfig\n * @param {string} path Route path\n * @param {RouteConfig} routeConfig Route config\n */\n set(path, routeConfig) {\n set.apply(this, [path, routeConfig]);\n }\n}\n"],"names":["POP_STATE","REG_ROUTE_PARAMS","REG_PATHNAME","HISTORY_UNSUPPORTED","INVALID_ROUTE","VIRTUAL_PUSHSTATE","QRY","EMPTY","UNDEF","TYPEOF_STR","TYPEOF_UNDEF","TYPEOF_FUNC","STATE","PUSH","REPLACE","resolveParams","expr","path","params","test","pathRegex","RegExp","replace","lastIndex","keys","Array","from","match","map","key","values","shift","forEach","index","trigger","context","eventType","data","dispatchEvent","CustomEvent","bubbles","cancelable","detail","trim","str","isValidRoute","route","set","routeStr","routeConfig","isObject","qs","split","preventDefault","queryString","pageTitle","preservePath","hashRouting","hash","history","config","savedState","state","idx","TypeError","getPath","isHash","location","substring","pathname","RouterEvent","constructor","routeInfo","currentEvent","routeObject","originalEvent","routerInstance","isHashRoute","router","query","search","collate","observable","Observable","subscriber","subn","subscribe","next","event","error","complete","unsubscribe","callOnce","isDone","init","RouterCore","global","globalThis","self","_ref","Error","popStateSubscription","fromEvent","e","listeners","pipe","apply","_len","arguments","length","ops","_key","fn","destroy","callback","Router","document","body","Object","freeze"],"mappings":"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","x_google_ignoreList":[2]} \ No newline at end of file +{"version":3,"file":"silkrouter.esm.js","sources":["../../src/js/constants/index.js","../../src/js/utils/params.js","../../node_modules/is-object/index.js","../../src/js/utils/triggerEvent.js","../../src/js/utils/utils.js","../../src/js/api/set/index.js","../../src/js/utils/getPath.js","../../src/js/api/routerEvent/index.js","../../src/js/api/callOnce/index.js","../../src/js/api/collate/index.js","../../src/js/api/router/RouterCore.js","../../src/js/api/router/Router.js"],"sourcesContent":["/**\n * Router constants\n */\nexport const POP_STATE = 'popstate';\nexport const REG_ROUTE_PARAMS = /:[^/]+/g;\nexport const REG_PATHNAME = /^\\/(?=[^?]*)/;\nexport const HISTORY_UNSUPPORTED =\n 'History is not supported in this environment!';\nexport const INVALID_ROUTE = 'Route format is incorrect!';\nexport const VIRTUAL_PUSHSTATE = 'vpushstate';\nexport const QRY = '?';\nexport const EMPTY = '';\nexport const UNDEF = void 0;\nexport const STATE = 'State';\nexport const PUSH = `push${STATE}`;\nexport const REPLACE = `replace${STATE}`;\n","import { EMPTY, REG_ROUTE_PARAMS } from '../constants';\n\n/**\n * Parses current path and returns params object\n * @param {string} expr Route expression\n * @param {string} path URL path\n * @returns {{[key: string]: any}}\n */\nexport function resolveParams(expr, path) {\n const params = {};\n if (REG_ROUTE_PARAMS.test(expr)) {\n const pathRegex = new RegExp(\n expr.replace(/\\//g, '\\\\/').replace(/:[^/\\\\]+/g, '([^\\\\/]+)'),\n );\n REG_ROUTE_PARAMS.lastIndex = 0;\n if (pathRegex.test(path)) {\n const keys = Array.from(expr.match(REG_ROUTE_PARAMS)).map(key =>\n key.replace(':', EMPTY),\n );\n const values = Array.from(path.match(pathRegex));\n values.shift();\n keys.forEach((key, index) => {\n params[key] = values[index];\n });\n }\n }\n return params;\n}\n","'use strict';\n\nmodule.exports = function isObject(x) {\n\treturn typeof x === 'object' && x !== null;\n};\n","/**\n * Function to trigger custom event\n * @param {HTMLElement} context Context element\n * @param {string} eventType Event type\n * @param {any[]} data Data to be passed to handler\n */\nexport function trigger(context, eventType, data) {\n context.dispatchEvent(\n new CustomEvent(eventType, {\n bubbles: true,\n cancelable: true,\n detail: data || [],\n }),\n );\n}\n","import { EMPTY, REG_PATHNAME } from '../constants';\n\n/**\n * Checks if input value is a string\n * @param {any} str String value\n * @returns {boolean}\n */\nexport function isString(str) {\n return typeof str === 'string';\n}\n\n/**\n * Safely trims string\n * @param {string} str String\n */\nexport function trim(str) {\n return isString(str) ? str.trim() : EMPTY;\n}\n\n/**\n * Checks if given route is valid\n * @private\n * @param {string} route Route string\n */\nexport function isValidRoute(route) {\n return REG_PATHNAME.test(route);\n}\n","import isObject from 'is-object';\nimport {\n EMPTY,\n INVALID_ROUTE,\n PUSH,\n QRY,\n REPLACE,\n VIRTUAL_PUSHSTATE,\n} from '../../constants';\nimport { trigger } from '../../utils/triggerEvent';\nimport { isValidRoute, trim } from '../../utils/utils';\n\n/**\n * Sets the current route\n * @private\n * @typedef {import('./types').RouteConfig} RouteConfig\n * @param {string} routeStr Route string\n * @param {RouteConfig} [rConfig] Route config\n */\nexport default function set(routeStr, rConfig) {\n const routeConfig = isObject(rConfig) ? rConfig : {};\n const [route, qs] = routeStr.split(QRY);\n const {\n replace = false,\n preventDefault = false,\n queryString = qs,\n data,\n pageTitle = null,\n } = routeConfig;\n const { preservePath, hashRouting: hash, history, context } = this.config;\n // Resolve to URL query string if it's not explicitly passed\n let routeString = trim(route);\n if (isValidRoute(routeString)) {\n const path = routeString;\n if (hash) {\n routeString = `${preservePath ? '' : '/'}#${routeString}`;\n }\n // Append query string\n routeString = `${routeString}${trim(\n queryString ? `${QRY + queryString}` : EMPTY,\n )}`;\n const savedState = history.state || { idx: 0 };\n history[replace ? REPLACE : PUSH](\n {\n data,\n idx: savedState.idx + 1,\n },\n pageTitle,\n routeString,\n );\n if (!preventDefault && path) {\n trigger(context, VIRTUAL_PUSHSTATE, [\n {\n path,\n hash,\n },\n undefined,\n this,\n ]);\n }\n } else {\n throw new TypeError(INVALID_ROUTE);\n }\n}\n","import { QRY } from '../constants';\nimport { trim } from './utils';\n\nexport const getPath = (isHash, location) => {\n return trim(\n isHash ? location.hash.substring(1).split(QRY)[0] : location.pathname,\n );\n};\n","import { QRY } from '../../constants';\nimport { trim } from '../../utils/utils';\n\n/**\n * Creates an instance of router event\n */\nexport class RouterEvent {\n /**\n * Creates a instance of router event\n * @typedef {import('./types').RouteInfo} RouteInfo\n * @param {RouteInfo} routeInfo Route information\n * @param {CustomEvent} currentEvent Current event object\n */\n constructor(routeInfo, currentEvent) {\n // Set relevant parameters\n const [routeObject, originalEvent, routerInstance] = routeInfo;\n const { location, history } = routerInstance.config;\n this.route = routeObject.path;\n this.isHashRoute = routeObject.hash;\n this.router = routerInstance;\n this.currentEvent = originalEvent || currentEvent;\n this.query = {\n path: trim(location.search.substring(1)),\n hash: trim(location.hash.split(QRY)[1]),\n };\n const { state } = originalEvent || {};\n const { data, idx = 0 } = state || history.state || {};\n this.data = data;\n this.index = +idx;\n }\n}\n","import { Observable } from 'rxjs';\nimport { getPath } from '../../utils/getPath';\nimport { RouterEvent } from '../routerEvent';\n\n/**\n * Calls the handler once on initialization\n * @param {boolean} [isd] Optional flag used as a switch\n * @returns {(observable: Observable) => Observable}\n */\nexport default function callOnce(isd) {\n let isDone = isd;\n const { hashRouting: hash, location, init } = this.config;\n const path = getPath(hash, location);\n return observable =>\n new Observable(subscriber => {\n const subn = observable.subscribe(subscriber);\n if (!isDone) {\n isDone = true;\n if (init && path) {\n subscriber.next(new RouterEvent([{ path, hash }, undefined, this]));\n }\n }\n return () => {\n subn.unsubscribe();\n };\n });\n}\n","import { Observable } from 'rxjs';\nimport { RouterEvent } from '../routerEvent';\n\n/**\n * Attaches a route handler\n * @returns {(observable: Observable) => Observable}\n */\nexport default function collate() {\n return observable =>\n new Observable(subscriber => {\n const subn = observable.subscribe({\n next: event => {\n const [, , routerInstance] = event.detail;\n if (routerInstance === this) {\n subscriber.next(new RouterEvent(event.detail, event));\n }\n },\n error: subscriber.error,\n complete: subscriber.complete,\n });\n return () => {\n subn.unsubscribe();\n };\n });\n}\n","import { fromEvent } from 'rxjs';\nimport {\n HISTORY_UNSUPPORTED,\n POP_STATE,\n PUSH,\n VIRTUAL_PUSHSTATE,\n} from '../../constants';\nimport { getPath } from '../../utils/getPath';\nimport { trigger } from '../../utils/triggerEvent';\nimport callOnce from '../callOnce';\nimport collate from '../collate';\n\n/**\n * Core router class to handle basic routing functionality\n */\nexport class RouterCore {\n static get global() {\n return typeof globalThis !== 'undefined' ? globalThis : global || self;\n }\n /**\n * Router core constructor\n * @typedef {import('./types').RouterCoreConfig} RouterCoreConfig\n * @param {RouterCoreConfig} routerCoreConfig Route core configuration\n */\n constructor({ history, context, location, hash }) {\n if (!history[PUSH]) {\n throw new Error(HISTORY_UNSUPPORTED);\n }\n this.popStateSubscription = fromEvent(\n RouterCore.global,\n POP_STATE,\n ).subscribe(e => {\n const path = getPath(hash, location);\n if (path) {\n trigger(context, VIRTUAL_PUSHSTATE, [{ path, hash }, e, this]);\n }\n });\n this.listeners = fromEvent(context, VIRTUAL_PUSHSTATE).pipe(\n collate.apply(this),\n );\n }\n /**\n * Allows you to add operators for any pre-processing before a handler is called\n * @typedef {import('./types').Operator} Operator\n * @typedef {import('rxjs').Observable} Observable\n * @param {...Operator} ops Operators\n * @returns {Observable}\n */\n pipe(...ops) {\n return this.listeners.pipe(callOnce.apply(this), ...ops);\n }\n /**\n * Attaches a route handler\n * @typedef {import('../routerEvent/index').RouterEvent} RouterEvent\n * @param {(event: RouterEvent) => void} fn Route handler\n */\n subscribe(fn) {\n return this.pipe().subscribe(fn);\n }\n /**\n * Destroys current router instance\n * @param {() => void} callback Callback for destroy function\n */\n destroy(callback) {\n if (typeof callback === 'function') {\n callback();\n }\n this.popStateSubscription.unsubscribe(); // Unsubscribe popstate event\n }\n}\n","import isObject from 'is-object';\nimport set from '../set';\nimport { RouterCore } from './RouterCore';\n\n/**\n * Browser router to handle routing logic\n */\nexport class Router extends RouterCore {\n /**\n * Router constructor\n * @typedef {import('./types').RouterConfig} RouterConfig\n * @param {RouterConfig} config\n */\n constructor(config) {\n config = isObject(config) ? config : {};\n const { history, location, document } = RouterCore.global;\n const context = document.body;\n super({\n history,\n location,\n context,\n hash: config.hashRouting,\n });\n this.config = Object.freeze({\n init: true,\n hashRouting: false,\n preservePath: false,\n context,\n history,\n location,\n ...config,\n });\n if (config.hashRouting && !location.hash) {\n this.set('/', {\n replace: true,\n preventDefault: true, // Don't execute route handlers\n });\n }\n }\n /**\n * Sets the current route path\n * @typedef {import('../set/types').RouteConfig} RouteConfig\n * @param {string} path Route path\n * @param {RouteConfig} routeConfig Route config\n */\n set(path, routeConfig) {\n set.apply(this, [path, routeConfig]);\n }\n}\n"],"names":["POP_STATE","REG_ROUTE_PARAMS","REG_PATHNAME","HISTORY_UNSUPPORTED","INVALID_ROUTE","VIRTUAL_PUSHSTATE","QRY","EMPTY","STATE","PUSH","REPLACE","resolveParams","expr","path","params","test","pathRegex","RegExp","replace","lastIndex","keys","Array","from","match","map","key","values","shift","forEach","index","trigger","context","eventType","data","dispatchEvent","CustomEvent","bubbles","cancelable","detail","isString","str","trim","isValidRoute","route","set","routeStr","rConfig","routeConfig","isObject","qs","split","preventDefault","queryString","pageTitle","preservePath","hashRouting","hash","history","config","routeString","savedState","state","idx","undefined","TypeError","getPath","isHash","location","substring","pathname","RouterEvent","constructor","routeInfo","currentEvent","routeObject","originalEvent","routerInstance","isHashRoute","router","query","search","callOnce","isd","isDone","init","observable","Observable","subscriber","subn","subscribe","next","unsubscribe","collate","event","error","complete","RouterCore","global","globalThis","self","_ref","Error","popStateSubscription","fromEvent","e","listeners","pipe","apply","_len","arguments","length","ops","_key","fn","destroy","callback","Router","document","body","Object","freeze"],"mappings":"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","x_google_ignoreList":[2]} \ No newline at end of file diff --git a/dist/esm/silkrouter.esm.min.js b/dist/esm/silkrouter.esm.min.js index 4f5d122..21bfbaf 100644 --- a/dist/esm/silkrouter.esm.min.js +++ b/dist/esm/silkrouter.esm.min.js @@ -1 +1 @@ -import{Observable as t,fromEvent as e}from"rxjs";const s=/:[^/]+/g,n=/^\/(?=[^?]*)/,o="vpushstate",r="?",i="",a=void 0,c=typeof i,h=typeof a,u="State",p=`push${u}`,l=`replace${u}`;function f(t,e){const n={};if(s.test(t)){const o=new RegExp(t.replace(/\//g,"\\/").replace(/:[^/\\]+/g,"([^\\/]+)"));if(s.lastIndex=0,o.test(e)){const r=Array.from(t.match(s)).map((t=>t.replace(":",i))),a=Array.from(e.match(o));a.shift(),r.forEach(((t,e)=>{n[t]=a[e]}))}}return n}function b(t){return t&&t.__esModule&&Object.prototype.hasOwnProperty.call(t,"default")?t.default:t}var y=b((function(t){return"object"==typeof t&&null!==t}));function g(t,e,s){t.dispatchEvent(new CustomEvent(e,{bubbles:!0,cancelable:!0,detail:s||[]}))}function d(t){return typeof t===c?t.trim():i}function x(t,e){e=y(e)?e:{};const[s,c]=t.split(r),{replace:h=!1,preventDefault:u=!1,queryString:f=c,data:b,pageTitle:x=null}=e,{preservePath:m,hashRouting:v,history:w,context:R}=this.config;if(!function(t){return n.test(t)}(t=d(s)))throw new TypeError("Route format is incorrect!");{const e=t;v&&(t=`${m?"":"/"}#${t}`),t=`${t}${d(f?`${r+f}`:i)}`;const s=w.state||{idx:0};w[h?l:p]({data:b,idx:s.idx+1},x,t),!u&&e&&g(R,o,[{path:e,hash:v},a,this])}}const m=(t,e)=>d(t?e.hash.substring(1).split(r)[0]:e.pathname);class v{constructor(t,e){const[s,n,o]=t,{location:i,history:a}=o.config;this.route=s.path,this.isHashRoute=s.hash,this.router=o,this.currentEvent=n||e,this.query={path:d(i.search.substring(1)),hash:d(i.hash.split(r)[1])};const{state:c}=n||{},{data:h,idx:u=0}=c||a.state||{};this.data=h,this.index=+u}}function w(){return e=>new t((t=>{const s=e.subscribe({next:e=>{const[,,s]=e.detail;s===this&&t.next(new v(e.detail,e))},error:t.error,complete:t.complete});return()=>{s.unsubscribe()}}))}function R(e){const{hashRouting:s,location:n,init:o}=this.config,r=m(s,n);return n=>new t((t=>{const i=n.subscribe(t);return e||(e=!0,o&&r&&t.next(new v([{path:r,hash:s},a,this]))),()=>{i.unsubscribe()}}))}class E{static get global(){return typeof globalThis!==h?globalThis:global||self}constructor(t){let{history:s,context:n,location:r,hash:i}=t;if(!s[p])throw new Error("History is not supported in this environment!");this.popStateSubscription=e(E.global,"popstate").subscribe((t=>{const e=m(i,r);e&&g(n,o,[{path:e,hash:i},t,this])})),this.listeners=e(n,o).pipe(w.apply(this))}pipe(){for(var t=arguments.length,e=new Array(t),s=0;st.replace(":",o))),a=Array.from(e.match(r));a.shift(),i.forEach(((t,e)=>{n[t]=a[e]}))}}return n}function p(t){return t&&t.__esModule&&Object.prototype.hasOwnProperty.call(t,"default")?t.default:t}var l=p((function(t){return"object"==typeof t&&null!==t}));function f(t,e,s){t.dispatchEvent(new CustomEvent(e,{bubbles:!0,cancelable:!0,detail:s||[]}))}function b(t){return function(t){return"string"==typeof t}(t)?t.trim():o}function d(t,e){const s=l(e)?e:{},[a,u]=t.split(i),{replace:p=!1,preventDefault:d=!1,queryString:g=u,data:y,pageTitle:x=null}=s,{preservePath:m,hashRouting:v,history:w,context:R}=this.config;let E=b(a);if(!function(t){return n.test(t)}(E))throw new TypeError("Route format is incorrect!");{const t=E;v&&(E=`${m?"":"/"}#${E}`),E=`${E}${b(g?`${i+g}`:o)}`;const e=w.state||{idx:0};w[p?h:c]({data:y,idx:e.idx+1},x,E),!d&&t&&f(R,r,[{path:t,hash:v},void 0,this])}}const g=(t,e)=>b(t?e.hash.substring(1).split(i)[0]:e.pathname);class y{constructor(t,e){const[s,n,r]=t,{location:o,history:a}=r.config;this.route=s.path,this.isHashRoute=s.hash,this.router=r,this.currentEvent=n||e,this.query={path:b(o.search.substring(1)),hash:b(o.hash.split(i)[1])};const{state:c}=n||{},{data:h,idx:u=0}=c||a.state||{};this.data=h,this.index=+u}}function x(e){let s=e;const{hashRouting:n,location:r,init:i}=this.config,o=g(n,r);return e=>new t((t=>{const r=e.subscribe(t);return s||(s=!0,i&&o&&t.next(new y([{path:o,hash:n},void 0,this]))),()=>{r.unsubscribe()}}))}function m(){return e=>new t((t=>{const s=e.subscribe({next:e=>{const[,,s]=e.detail;s===this&&t.next(new y(e.detail,e))},error:t.error,complete:t.complete});return()=>{s.unsubscribe()}}))}class v{static get global(){return"undefined"!=typeof globalThis?globalThis:global||self}constructor(t){let{history:s,context:n,location:i,hash:o}=t;if(!s[c])throw new Error("History is not supported in this environment!");this.popStateSubscription=e(v.global,"popstate").subscribe((t=>{const e=g(o,i);e&&f(n,r,[{path:e,hash:o},t,this])})),this.listeners=e(n,r).pipe(m.apply(this))}pipe(){for(var t=arguments.length,e=new Array(t),s=0;s {}); const STATE = 'State'; const PUSH = `push${STATE}`; const REPLACE = `replace${STATE}`; @@ -69,12 +65,21 @@ })); } + /** + * Checks if input value is a string + * @param {any} str String value + * @returns {boolean} + */ + function isString(str) { + return typeof str === 'string'; + } + /** * Safely trims string * @param {string} str String */ function trim(str) { - return typeof str === TYPEOF_STR ? str.trim() : EMPTY; + return isString(str) ? str.trim() : EMPTY; } /** @@ -91,11 +96,10 @@ * @private * @typedef {import('./types').RouteConfig} RouteConfig * @param {string} routeStr Route string - * @param {RouteConfig} [routeConfig] Route config - * @returns {void} + * @param {RouteConfig} [rConfig] Route config */ - function set(routeStr, routeConfig) { - routeConfig = isObject$1(routeConfig) ? routeConfig : {}; + function set(routeStr, rConfig) { + const routeConfig = isObject$1(rConfig) ? rConfig : {}; const [route, qs] = routeStr.split(QRY); const { replace = false, @@ -111,26 +115,26 @@ context } = this.config; // Resolve to URL query string if it's not explicitly passed - routeStr = trim(route); - if (isValidRoute(routeStr)) { - const path = routeStr; + let routeString = trim(route); + if (isValidRoute(routeString)) { + const path = routeString; if (hash) { - routeStr = `${preservePath ? '' : '/'}#${routeStr}`; + routeString = `${preservePath ? '' : '/'}#${routeString}`; } // Append query string - routeStr = `${routeStr}${trim(queryString ? `${QRY + queryString}` : EMPTY)}`; + routeString = `${routeString}${trim(queryString ? `${QRY + queryString}` : EMPTY)}`; const savedState = history.state || { idx: 0 }; history[replace ? REPLACE : PUSH]({ data, idx: savedState.idx + 1 - }, pageTitle, routeStr); + }, pageTitle, routeString); if (!preventDefault && path) { trigger(context, VIRTUAL_PUSHSTATE, [{ path, hash - }, UNDEF, this]); + }, undefined, this]); } } else { throw new TypeError(INVALID_ROUTE); @@ -151,7 +155,7 @@ OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. ***************************************************************************** */ - /* global Reflect, Promise, SuppressedError, Symbol */ + /* global Reflect, Promise, SuppressedError, Symbol, Iterator */ var extendStatics = function(d, b) { extendStatics = Object.setPrototypeOf || @@ -179,8 +183,8 @@ } function __generator(thisArg, body) { - var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g; - return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g; + var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g = Object.create((typeof Iterator === "function" ? Iterator : Object).prototype); + return g.next = verb(0), g["throw"] = verb(1), g["return"] = verb(2), typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g; function verb(n) { return function (v) { return step([n, v]); }; } function step(op) { if (f) throw new TypeError("Generator is already executing."); @@ -252,8 +256,9 @@ function __asyncGenerator(thisArg, _arguments, generator) { if (!Symbol.asyncIterator) throw new TypeError("Symbol.asyncIterator is not defined."); var g = generator.apply(thisArg, _arguments || []), i, q = []; - return i = {}, verb("next"), verb("throw"), verb("return"), i[Symbol.asyncIterator] = function () { return this; }, i; - function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; } + return i = Object.create((typeof AsyncIterator === "function" ? AsyncIterator : Object).prototype), verb("next"), verb("throw"), verb("return", awaitReturn), i[Symbol.asyncIterator] = function () { return this; }, i; + function awaitReturn(f) { return function (v) { return Promise.resolve(v).then(f, reject); }; } + function verb(n, f) { if (g[n]) { i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; if (f) i[n] = f(i[n]); } } function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } } function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); } function fulfill(value) { resume("next", value); } @@ -459,10 +464,6 @@ for (var _i = 2; _i < arguments.length; _i++) { args[_i - 2] = arguments[_i]; } - var delegate = timeoutProvider.delegate; - if (delegate === null || delegate === void 0 ? void 0 : delegate.setTimeout) { - return delegate.setTimeout.apply(delegate, __spreadArray([handler, timeout], __read(args))); - } return setTimeout.apply(void 0, __spreadArray([handler, timeout], __read(args))); }, clearTimeout: function (handle) { @@ -1081,15 +1082,10 @@ }; var outerNext = function (value) { return (active < concurrent ? doInnerSub(value) : buffer.push(value)); }; var doInnerSub = function (value) { - expand && subscriber.next(value); active++; var innerComplete = false; innerFrom(project(value, index++)).subscribe(createOperatorSubscriber(subscriber, function (innerValue) { - onBeforeNext === null || onBeforeNext === void 0 ? void 0 : onBeforeNext(innerValue); - if (expand) { - outerNext(innerValue); - } - else { + { subscriber.next(innerValue); } }, function () { @@ -1100,9 +1096,7 @@ active--; var _loop_1 = function () { var bufferedValue = buffer.shift(); - if (innerSubScheduler) { - executeSchedule(subscriber, innerSubScheduler, function () { return doInnerSub(bufferedValue); }); - } + if (innerSubScheduler) ; else { doInnerSub(bufferedValue); } @@ -1123,7 +1117,6 @@ checkComplete(); })); return function () { - additionalFinalizer === null || additionalFinalizer === void 0 ? void 0 : additionalFinalizer(); }; } @@ -1231,34 +1224,13 @@ } } - /** - * Attaches a route handler - * @returns {(observable: Observable) => Observable} - */ - function collate() { - return observable => new Observable(subscriber => { - const subn = observable.subscribe({ - next: event => { - const [,, routerInstance] = event.detail; - if (routerInstance === this) { - subscriber.next(new RouterEvent(event.detail, event)); - } - }, - error: subscriber.error, - complete: subscriber.complete - }); - return () => { - subn.unsubscribe(); - }; - }); - } - /** * Calls the handler once on initialization - * @param {boolean} [isDone] Optional flag used as a switch + * @param {boolean} [isd] Optional flag used as a switch * @returns {(observable: Observable) => Observable} */ - function callOnce(isDone) { + function callOnce(isd) { + let isDone = isd; const { hashRouting: hash, location, @@ -1273,7 +1245,7 @@ subscriber.next(new RouterEvent([{ path, hash - }, UNDEF, this])); + }, undefined, this])); } } return () => { @@ -1282,12 +1254,34 @@ }); } + /** + * Attaches a route handler + * @returns {(observable: Observable) => Observable} + */ + function collate() { + return observable => new Observable(subscriber => { + const subn = observable.subscribe({ + next: event => { + const [,, routerInstance] = event.detail; + if (routerInstance === this) { + subscriber.next(new RouterEvent(event.detail, event)); + } + }, + error: subscriber.error, + complete: subscriber.complete + }); + return () => { + subn.unsubscribe(); + }; + }); + } + /** * Core router class to handle basic routing functionality */ class RouterCore { static get global() { - return typeof globalThis !== TYPEOF_UNDEF ? globalThis : global || self; + return typeof globalThis !== 'undefined' ? globalThis : global || self; } /** * Router core constructor @@ -1341,7 +1335,7 @@ * @param {() => void} callback Callback for destroy function */ destroy(callback) { - if (typeof callback === TYPEOF_FUNC) { + if (typeof callback === 'function') { callback(); } this.popStateSubscription.unsubscribe(); // Unsubscribe popstate event @@ -1398,7 +1392,7 @@ } } - const name="silkrouter";const version="5.0.0";const description="Silk router is an app routing library";const main="dist/umd/silkrouter.min.js";const module="dist/esm/silkrouter.esm.min.js";const types="dist/typings/index.d.ts";const scripts={start:"env-cmd -f ./.env.start rollup -c --watch",dev:"env-cmd -f ./.env.dev rollup -c","dev:serve":"env-cmd -f ./.env.start.prod rollup -c",dist:"npm run dev && npm run dev:serve && npm run prod",prod:"env-cmd rollup -c",build:"npm run check:sanity && npm run test && npm run dist && npm run typings",test:"jest tests/* --coverage",deploy:"gh-pages -d dist",format:"rome format ./src --write",lint:"rome check ./src","check:sanity":"npm run lint && npm run format",typings:"tsc src/js/index.js --declaration --allowJs --emitDeclarationOnly --outDir dist/typings"};const author="scssyworks";const license="MIT";const keywords=["router","browserrouter","silkrouter","pushstate","popstate","history","rxjs","observables"];const files=["dist/umd/","dist/esm/","dist/typings/","LICENSE"];const repository={type:"git",url:"git+https://github.com/scssyworks/silkrouter.git"};const bugs={url:"https://github.com/scssyworks/silkrouter/issues"};const homepage="https://scssyworks.github.io/silkrouter";const devDependencies={"@babel/core":"^7.22.9","@babel/eslint-parser":"^7.22.9","@babel/preset-env":"^7.22.9","@rollup/plugin-babel":"^6.0.3","@rollup/plugin-commonjs":"^25.0.3","@rollup/plugin-eslint":"^9.0.4","@rollup/plugin-json":"^6.0.0","@rollup/plugin-node-resolve":"^15.1.0","@rollup/plugin-terser":"^0.4.3","@types/jest":"^29.5.3","env-cmd":"^10.1.0",eslint:"^8.46.0","gh-pages":"^5.0.0",jest:"^29.6.2",rollup:"^3.27.1","rollup-plugin-filesize":"^10.0.0","rollup-plugin-livereload":"^2.0.5","rollup-plugin-serve":"^2.0.2",rome:"^12.1.3",rxjs:"^7.8.1",typescript:"^5.1.6"};const peerDependencies={rxjs:"^7.8.1"};const dependencies={"core-js":"^3.32.0","is-number":"^7.0.0","is-object":"^1.0.2"};var pkg = {name:name,version:version,description:description,main:main,module:module,types:types,scripts:scripts,author:author,license:license,keywords:keywords,files:files,repository:repository,bugs:bugs,homepage:homepage,devDependencies:devDependencies,peerDependencies:peerDependencies,dependencies:dependencies}; + const name="silkrouter";const version="5.0.1";const description="Silk router is an app routing library";const main="dist/umd/silkrouter.min.js";const module="dist/esm/silkrouter.esm.min.js";const types="dist/typings/index.d.ts";const scripts={start:"env-cmd -f ./.env.start rollup -c --watch",dev:"env-cmd -f ./.env.dev rollup -c","dev:serve":"env-cmd -f ./.env.start.prod rollup -c",dist:"npm run dev && npm run dev:serve && npm run prod",prod:"env-cmd rollup -c",build:"npm run check:sanity && npm run test && npm run dist && npm run typings",test:"jest tests/* --coverage",deploy:"gh-pages -d dist","check:sanity":"biome check --write src/",typings:"tsc src/js/index.js --declaration --allowJs --emitDeclarationOnly --outDir dist/typings"};const author="scssyworks";const license="MIT";const keywords=["router","browserrouter","silkrouter","pushstate","popstate","history","rxjs","observables"];const files=["dist/umd/","dist/esm/","dist/typings/","LICENSE"];const repository={type:"git",url:"git+https://github.com/scssyworks/silkrouter.git"};const bugs={url:"https://github.com/scssyworks/silkrouter/issues"};const homepage="https://scssyworks.github.io/silkrouter";const peerDependencies={rxjs:"^7.8.1"};const dependencies={"core-js":"^3.32.0","is-number":"^7.0.0","is-object":"^1.0.2"};const devDependencies={"@babel/core":"^7.25.2","@babel/eslint-parser":"^7.25.1","@babel/preset-env":"^7.25.4","@biomejs/biome":"^1.8.3","@rollup/plugin-babel":"^6.0.4","@rollup/plugin-commonjs":"^26.0.1","@rollup/plugin-eslint":"^9.0.5","@rollup/plugin-json":"^6.1.0","@rollup/plugin-node-resolve":"^15.2.3","@rollup/plugin-terser":"^0.4.4","@types/jest":"^29.5.12","env-cmd":"^10.1.0",eslint:"^9.9.1","gh-pages":"^6.1.1",jest:"^29.7.0",rollup:"^4.21.2","rollup-plugin-filesize":"^10.0.0","rollup-plugin-livereload":"^2.0.5","rollup-plugin-serve":"^1.1.1",rxjs:"^7.8.1",typescript:"^5.5.4"};var pkg = {name:name,version:version,description:description,main:main,module:module,types:types,scripts:scripts,author:author,license:license,keywords:keywords,files:files,repository:repository,bugs:bugs,homepage:homepage,peerDependencies:peerDependencies,dependencies:dependencies,devDependencies:devDependencies}; function q(selector) { if (typeof selector === 'string') { @@ -1413,7 +1407,6 @@ }); return elArray; } - // rome-ignore lint/style/noArguments: Keeping default behaviour of querySelectorAll return [...document.querySelectorAll(...arguments)]; } function renderVersion() { diff --git a/dist/render/silkrouter.iife.js.map b/dist/render/silkrouter.iife.js.map index 1b3420c..e997698 100644 --- a/dist/render/silkrouter.iife.js.map +++ b/dist/render/silkrouter.iife.js.map @@ -1 +1 @@ -{"version":3,"file":"silkrouter.iife.js","sources":["../../src/js/constants/index.js","../../src/js/utils/params.js","../../node_modules/is-object/index.js","../../src/js/utils/triggerEvent.js","../../src/js/utils/utils.js","../../src/js/api/set/index.js","../../node_modules/tslib/tslib.es6.mjs","../../node_modules/rxjs/dist/esm5/internal/util/isFunction.js","../../node_modules/rxjs/dist/esm5/internal/util/createErrorClass.js","../../node_modules/rxjs/dist/esm5/internal/util/UnsubscriptionError.js","../../node_modules/rxjs/dist/esm5/internal/util/arrRemove.js","../../node_modules/rxjs/dist/esm5/internal/Subscription.js","../../node_modules/rxjs/dist/esm5/internal/config.js","../../node_modules/rxjs/dist/esm5/internal/scheduler/timeoutProvider.js","../../node_modules/rxjs/dist/esm5/internal/util/reportUnhandledError.js","../../node_modules/rxjs/dist/esm5/internal/util/noop.js","../../node_modules/rxjs/dist/esm5/internal/util/errorContext.js","../../node_modules/rxjs/dist/esm5/internal/Subscriber.js","../../node_modules/rxjs/dist/esm5/internal/symbol/observable.js","../../node_modules/rxjs/dist/esm5/internal/util/identity.js","../../node_modules/rxjs/dist/esm5/internal/util/pipe.js","../../node_modules/rxjs/dist/esm5/internal/Observable.js","../../node_modules/rxjs/dist/esm5/internal/util/lift.js","../../node_modules/rxjs/dist/esm5/internal/operators/OperatorSubscriber.js","../../node_modules/rxjs/dist/esm5/internal/util/isArrayLike.js","../../node_modules/rxjs/dist/esm5/internal/util/isPromise.js","../../node_modules/rxjs/dist/esm5/internal/util/isInteropObservable.js","../../node_modules/rxjs/dist/esm5/internal/util/isAsyncIterable.js","../../node_modules/rxjs/dist/esm5/internal/util/throwUnobservableError.js","../../node_modules/rxjs/dist/esm5/internal/symbol/iterator.js","../../node_modules/rxjs/dist/esm5/internal/util/isIterable.js","../../node_modules/rxjs/dist/esm5/internal/util/isReadableStreamLike.js","../../node_modules/rxjs/dist/esm5/internal/observable/innerFrom.js","../../node_modules/rxjs/dist/esm5/internal/util/executeSchedule.js","../../node_modules/rxjs/dist/esm5/internal/operators/map.js","../../node_modules/rxjs/dist/esm5/internal/util/mapOneOrManyArgs.js","../../node_modules/rxjs/dist/esm5/internal/operators/mergeInternals.js","../../node_modules/rxjs/dist/esm5/internal/operators/mergeMap.js","../../node_modules/rxjs/dist/esm5/internal/observable/fromEvent.js","../../src/js/utils/getPath.js","../../src/js/api/routerEvent/index.js","../../src/js/api/collate/index.js","../../src/js/api/callOnce/index.js","../../src/js/api/router/RouterCore.js","../../src/js/api/router/Router.js","../../render/index.js"],"sourcesContent":["/**\n * Router constants\n */\nexport const POP_STATE = 'popstate';\nexport const REG_ROUTE_PARAMS = /:[^/]+/g;\nexport const REG_PATHNAME = /^\\/(?=[^?]*)/;\nexport const HISTORY_UNSUPPORTED =\n 'History is not supported in this environment!';\nexport const INVALID_ROUTE = 'Route format is incorrect!';\nexport const VIRTUAL_PUSHSTATE = 'vpushstate';\nexport const QRY = '?';\nexport const EMPTY = '';\nexport const UNDEF = void 0;\nexport const TYPEOF_STR = typeof EMPTY;\nexport const TYPEOF_BOOL = typeof true;\nexport const TYPEOF_UNDEF = typeof UNDEF;\nexport const TYPEOF_FUNC = typeof (() => {});\nexport const STATE = 'State';\nexport const PUSH = `push${STATE}`;\nexport const REPLACE = `replace${STATE}`;\n","import { EMPTY, REG_ROUTE_PARAMS } from '../constants';\n\n/**\n * Parses current path and returns params object\n * @param {string} expr Route expression\n * @param {string} path URL path\n * @returns {{[key: string]: any}}\n */\nexport function resolveParams(expr, path) {\n const params = {};\n if (REG_ROUTE_PARAMS.test(expr)) {\n const pathRegex = new RegExp(\n expr.replace(/\\//g, '\\\\/').replace(/:[^/\\\\]+/g, '([^\\\\/]+)')\n );\n REG_ROUTE_PARAMS.lastIndex = 0;\n if (pathRegex.test(path)) {\n const keys = Array.from(expr.match(REG_ROUTE_PARAMS)).map((key) =>\n key.replace(':', EMPTY)\n );\n const values = Array.from(path.match(pathRegex));\n values.shift();\n keys.forEach((key, index) => {\n params[key] = values[index];\n });\n }\n }\n return params;\n}\n","'use strict';\n\nmodule.exports = function isObject(x) {\n\treturn typeof x === 'object' && x !== null;\n};\n","/**\n * Function to trigger custom event\n * @param {HTMLElement} context Context element\n * @param {string} eventType Event type\n * @param {any[]} data Data to be passed to handler\n */\nexport function trigger(context, eventType, data) {\n context.dispatchEvent(\n new CustomEvent(eventType, {\n bubbles: true,\n cancelable: true,\n detail: data || [],\n })\n );\n}\n","import { EMPTY, REG_PATHNAME, TYPEOF_STR } from '../constants';\n\n/**\n * Safely trims string\n * @param {string} str String\n */\nexport function trim(str) {\n return typeof str === TYPEOF_STR ? str.trim() : EMPTY;\n}\n\n/**\n * Checks if given route is valid\n * @private\n * @param {string} route Route string\n */\nexport function isValidRoute(route) {\n return REG_PATHNAME.test(route);\n}\n","import { trigger } from '../../utils/triggerEvent';\nimport {\n VIRTUAL_PUSHSTATE,\n INVALID_ROUTE,\n UNDEF,\n EMPTY,\n QRY,\n REPLACE,\n PUSH,\n} from '../../constants';\nimport { isValidRoute, trim } from '../../utils/utils';\nimport isObject from 'is-object';\n\n/**\n * Sets the current route\n * @private\n * @typedef {import('./types').RouteConfig} RouteConfig\n * @param {string} routeStr Route string\n * @param {RouteConfig} [routeConfig] Route config\n * @returns {void}\n */\nexport default function set(routeStr, routeConfig) {\n routeConfig = isObject(routeConfig) ? routeConfig : {};\n const [route, qs] = routeStr.split(QRY);\n const {\n replace = false,\n preventDefault = false,\n queryString = qs,\n data,\n pageTitle = null,\n } = routeConfig;\n const { preservePath, hashRouting: hash, history, context } = this.config;\n // Resolve to URL query string if it's not explicitly passed\n routeStr = trim(route);\n if (isValidRoute(routeStr)) {\n const path = routeStr;\n if (hash) {\n routeStr = `${preservePath ? '' : '/'}#${routeStr}`;\n }\n // Append query string\n routeStr = `${routeStr}${trim(\n queryString ? `${QRY + queryString}` : EMPTY\n )}`;\n const savedState = history.state || { idx: 0 };\n history[replace ? REPLACE : PUSH](\n {\n data,\n idx: savedState.idx + 1,\n },\n pageTitle,\n routeStr\n );\n if (!preventDefault && path) {\n trigger(context, VIRTUAL_PUSHSTATE, [\n {\n path,\n hash,\n },\n UNDEF,\n this,\n ]);\n }\n } else {\n throw new TypeError(INVALID_ROUTE);\n }\n}\n","/******************************************************************************\nCopyright (c) Microsoft Corporation.\n\nPermission to use, copy, modify, and/or distribute this software for any\npurpose with or without fee is hereby granted.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\nPERFORMANCE OF THIS SOFTWARE.\n***************************************************************************** */\n/* global Reflect, Promise, SuppressedError, Symbol */\n\nvar extendStatics = function(d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n};\n\nexport function __extends(d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n}\n\nexport var __assign = function() {\n __assign = Object.assign || function __assign(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\n }\n return t;\n }\n return __assign.apply(this, arguments);\n}\n\nexport function __rest(s, e) {\n var t = {};\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\n t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\n t[p[i]] = s[p[i]];\n }\n return t;\n}\n\nexport function __decorate(decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n}\n\nexport function __param(paramIndex, decorator) {\n return function (target, key) { decorator(target, key, paramIndex); }\n}\n\nexport function __esDecorate(ctor, descriptorIn, decorators, contextIn, initializers, extraInitializers) {\n function accept(f) { if (f !== void 0 && typeof f !== \"function\") throw new TypeError(\"Function expected\"); return f; }\n var kind = contextIn.kind, key = kind === \"getter\" ? \"get\" : kind === \"setter\" ? \"set\" : \"value\";\n var target = !descriptorIn && ctor ? contextIn[\"static\"] ? ctor : ctor.prototype : null;\n var descriptor = descriptorIn || (target ? Object.getOwnPropertyDescriptor(target, contextIn.name) : {});\n var _, done = false;\n for (var i = decorators.length - 1; i >= 0; i--) {\n var context = {};\n for (var p in contextIn) context[p] = p === \"access\" ? {} : contextIn[p];\n for (var p in contextIn.access) context.access[p] = contextIn.access[p];\n context.addInitializer = function (f) { if (done) throw new TypeError(\"Cannot add initializers after decoration has completed\"); extraInitializers.push(accept(f || null)); };\n var result = (0, decorators[i])(kind === \"accessor\" ? { get: descriptor.get, set: descriptor.set } : descriptor[key], context);\n if (kind === \"accessor\") {\n if (result === void 0) continue;\n if (result === null || typeof result !== \"object\") throw new TypeError(\"Object expected\");\n if (_ = accept(result.get)) descriptor.get = _;\n if (_ = accept(result.set)) descriptor.set = _;\n if (_ = accept(result.init)) initializers.unshift(_);\n }\n else if (_ = accept(result)) {\n if (kind === \"field\") initializers.unshift(_);\n else descriptor[key] = _;\n }\n }\n if (target) Object.defineProperty(target, contextIn.name, descriptor);\n done = true;\n};\n\nexport function __runInitializers(thisArg, initializers, value) {\n var useValue = arguments.length > 2;\n for (var i = 0; i < initializers.length; i++) {\n value = useValue ? initializers[i].call(thisArg, value) : initializers[i].call(thisArg);\n }\n return useValue ? value : void 0;\n};\n\nexport function __propKey(x) {\n return typeof x === \"symbol\" ? x : \"\".concat(x);\n};\n\nexport function __setFunctionName(f, name, prefix) {\n if (typeof name === \"symbol\") name = name.description ? \"[\".concat(name.description, \"]\") : \"\";\n return Object.defineProperty(f, \"name\", { configurable: true, value: prefix ? \"\".concat(prefix, \" \", name) : name });\n};\n\nexport function __metadata(metadataKey, metadataValue) {\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\n}\n\nexport function __awaiter(thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n}\n\nexport function __generator(thisArg, body) {\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\n function verb(n) { return function (v) { return step([n, v]); }; }\n function step(op) {\n if (f) throw new TypeError(\"Generator is already executing.\");\n while (g && (g = 0, op[0] && (_ = 0)), _) try {\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\n if (y = 0, t) op = [op[0] & 2, t.value];\n switch (op[0]) {\n case 0: case 1: t = op; break;\n case 4: _.label++; return { value: op[1], done: false };\n case 5: _.label++; y = op[1]; op = [0]; continue;\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\n default:\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\n if (t[2]) _.ops.pop();\n _.trys.pop(); continue;\n }\n op = body.call(thisArg, _);\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\n }\n}\n\nexport var __createBinding = Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n});\n\nexport function __exportStar(m, o) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\n}\n\nexport function __values(o) {\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\n if (m) return m.call(o);\n if (o && typeof o.length === \"number\") return {\n next: function () {\n if (o && i >= o.length) o = void 0;\n return { value: o && o[i++], done: !o };\n }\n };\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\n}\n\nexport function __read(o, n) {\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\n if (!m) return o;\n var i = m.call(o), r, ar = [], e;\n try {\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\n }\n catch (error) { e = { error: error }; }\n finally {\n try {\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\n }\n finally { if (e) throw e.error; }\n }\n return ar;\n}\n\n/** @deprecated */\nexport function __spread() {\n for (var ar = [], i = 0; i < arguments.length; i++)\n ar = ar.concat(__read(arguments[i]));\n return ar;\n}\n\n/** @deprecated */\nexport function __spreadArrays() {\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\n r[k] = a[j];\n return r;\n}\n\nexport function __spreadArray(to, from, pack) {\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\n if (ar || !(i in from)) {\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\n ar[i] = from[i];\n }\n }\n return to.concat(ar || Array.prototype.slice.call(from));\n}\n\nexport function __await(v) {\n return this instanceof __await ? (this.v = v, this) : new __await(v);\n}\n\nexport function __asyncGenerator(thisArg, _arguments, generator) {\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\n function fulfill(value) { resume(\"next\", value); }\n function reject(value) { resume(\"throw\", value); }\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\n}\n\nexport function __asyncDelegator(o) {\n var i, p;\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: false } : f ? f(v) : v; } : f; }\n}\n\nexport function __asyncValues(o) {\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\n var m = o[Symbol.asyncIterator], i;\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\n}\n\nexport function __makeTemplateObject(cooked, raw) {\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\n return cooked;\n};\n\nvar __setModuleDefault = Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n};\n\nexport function __importStar(mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\n __setModuleDefault(result, mod);\n return result;\n}\n\nexport function __importDefault(mod) {\n return (mod && mod.__esModule) ? mod : { default: mod };\n}\n\nexport function __classPrivateFieldGet(receiver, state, kind, f) {\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\n}\n\nexport function __classPrivateFieldSet(receiver, state, value, kind, f) {\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\n return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\n}\n\nexport function __classPrivateFieldIn(state, receiver) {\n if (receiver === null || (typeof receiver !== \"object\" && typeof receiver !== \"function\")) throw new TypeError(\"Cannot use 'in' operator on non-object\");\n return typeof state === \"function\" ? receiver === state : state.has(receiver);\n}\n\nexport function __addDisposableResource(env, value, async) {\n if (value !== null && value !== void 0) {\n if (typeof value !== \"object\" && typeof value !== \"function\") throw new TypeError(\"Object expected.\");\n var dispose;\n if (async) {\n if (!Symbol.asyncDispose) throw new TypeError(\"Symbol.asyncDispose is not defined.\");\n dispose = value[Symbol.asyncDispose];\n }\n if (dispose === void 0) {\n if (!Symbol.dispose) throw new TypeError(\"Symbol.dispose is not defined.\");\n dispose = value[Symbol.dispose];\n }\n if (typeof dispose !== \"function\") throw new TypeError(\"Object not disposable.\");\n env.stack.push({ value: value, dispose: dispose, async: async });\n }\n else if (async) {\n env.stack.push({ async: true });\n }\n return value;\n}\n\nvar _SuppressedError = typeof SuppressedError === \"function\" ? SuppressedError : function (error, suppressed, message) {\n var e = new Error(message);\n return e.name = \"SuppressedError\", e.error = error, e.suppressed = suppressed, e;\n};\n\nexport function __disposeResources(env) {\n function fail(e) {\n env.error = env.hasError ? new _SuppressedError(e, env.error, \"An error was suppressed during disposal.\") : e;\n env.hasError = true;\n }\n function next() {\n while (env.stack.length) {\n var rec = env.stack.pop();\n try {\n var result = rec.dispose && rec.dispose.call(rec.value);\n if (rec.async) return Promise.resolve(result).then(next, function(e) { fail(e); return next(); });\n }\n catch (e) {\n fail(e);\n }\n }\n if (env.hasError) throw env.error;\n }\n return next();\n}\n\nexport default {\n __extends,\n __assign,\n __rest,\n __decorate,\n __param,\n __metadata,\n __awaiter,\n __generator,\n __createBinding,\n __exportStar,\n __values,\n __read,\n __spread,\n __spreadArrays,\n __spreadArray,\n __await,\n __asyncGenerator,\n __asyncDelegator,\n __asyncValues,\n __makeTemplateObject,\n __importStar,\n __importDefault,\n __classPrivateFieldGet,\n __classPrivateFieldSet,\n __classPrivateFieldIn,\n __addDisposableResource,\n __disposeResources,\n};\n","export function isFunction(value) {\n return typeof value === 'function';\n}\n//# sourceMappingURL=isFunction.js.map","export function createErrorClass(createImpl) {\n var _super = function (instance) {\n Error.call(instance);\n instance.stack = new Error().stack;\n };\n var ctorFunc = createImpl(_super);\n ctorFunc.prototype = Object.create(Error.prototype);\n ctorFunc.prototype.constructor = ctorFunc;\n return ctorFunc;\n}\n//# sourceMappingURL=createErrorClass.js.map","import { createErrorClass } from './createErrorClass';\nexport var UnsubscriptionError = createErrorClass(function (_super) {\n return function UnsubscriptionErrorImpl(errors) {\n _super(this);\n this.message = errors\n ? errors.length + \" errors occurred during unsubscription:\\n\" + errors.map(function (err, i) { return i + 1 + \") \" + err.toString(); }).join('\\n ')\n : '';\n this.name = 'UnsubscriptionError';\n this.errors = errors;\n };\n});\n//# sourceMappingURL=UnsubscriptionError.js.map","export function arrRemove(arr, item) {\n if (arr) {\n var index = arr.indexOf(item);\n 0 <= index && arr.splice(index, 1);\n }\n}\n//# sourceMappingURL=arrRemove.js.map","import { __read, __spreadArray, __values } from \"tslib\";\nimport { isFunction } from './util/isFunction';\nimport { UnsubscriptionError } from './util/UnsubscriptionError';\nimport { arrRemove } from './util/arrRemove';\nvar Subscription = (function () {\n function Subscription(initialTeardown) {\n this.initialTeardown = initialTeardown;\n this.closed = false;\n this._parentage = null;\n this._finalizers = null;\n }\n Subscription.prototype.unsubscribe = function () {\n var e_1, _a, e_2, _b;\n var errors;\n if (!this.closed) {\n this.closed = true;\n var _parentage = this._parentage;\n if (_parentage) {\n this._parentage = null;\n if (Array.isArray(_parentage)) {\n try {\n for (var _parentage_1 = __values(_parentage), _parentage_1_1 = _parentage_1.next(); !_parentage_1_1.done; _parentage_1_1 = _parentage_1.next()) {\n var parent_1 = _parentage_1_1.value;\n parent_1.remove(this);\n }\n }\n catch (e_1_1) { e_1 = { error: e_1_1 }; }\n finally {\n try {\n if (_parentage_1_1 && !_parentage_1_1.done && (_a = _parentage_1.return)) _a.call(_parentage_1);\n }\n finally { if (e_1) throw e_1.error; }\n }\n }\n else {\n _parentage.remove(this);\n }\n }\n var initialFinalizer = this.initialTeardown;\n if (isFunction(initialFinalizer)) {\n try {\n initialFinalizer();\n }\n catch (e) {\n errors = e instanceof UnsubscriptionError ? e.errors : [e];\n }\n }\n var _finalizers = this._finalizers;\n if (_finalizers) {\n this._finalizers = null;\n try {\n for (var _finalizers_1 = __values(_finalizers), _finalizers_1_1 = _finalizers_1.next(); !_finalizers_1_1.done; _finalizers_1_1 = _finalizers_1.next()) {\n var finalizer = _finalizers_1_1.value;\n try {\n execFinalizer(finalizer);\n }\n catch (err) {\n errors = errors !== null && errors !== void 0 ? errors : [];\n if (err instanceof UnsubscriptionError) {\n errors = __spreadArray(__spreadArray([], __read(errors)), __read(err.errors));\n }\n else {\n errors.push(err);\n }\n }\n }\n }\n catch (e_2_1) { e_2 = { error: e_2_1 }; }\n finally {\n try {\n if (_finalizers_1_1 && !_finalizers_1_1.done && (_b = _finalizers_1.return)) _b.call(_finalizers_1);\n }\n finally { if (e_2) throw e_2.error; }\n }\n }\n if (errors) {\n throw new UnsubscriptionError(errors);\n }\n }\n };\n Subscription.prototype.add = function (teardown) {\n var _a;\n if (teardown && teardown !== this) {\n if (this.closed) {\n execFinalizer(teardown);\n }\n else {\n if (teardown instanceof Subscription) {\n if (teardown.closed || teardown._hasParent(this)) {\n return;\n }\n teardown._addParent(this);\n }\n (this._finalizers = (_a = this._finalizers) !== null && _a !== void 0 ? _a : []).push(teardown);\n }\n }\n };\n Subscription.prototype._hasParent = function (parent) {\n var _parentage = this._parentage;\n return _parentage === parent || (Array.isArray(_parentage) && _parentage.includes(parent));\n };\n Subscription.prototype._addParent = function (parent) {\n var _parentage = this._parentage;\n this._parentage = Array.isArray(_parentage) ? (_parentage.push(parent), _parentage) : _parentage ? [_parentage, parent] : parent;\n };\n Subscription.prototype._removeParent = function (parent) {\n var _parentage = this._parentage;\n if (_parentage === parent) {\n this._parentage = null;\n }\n else if (Array.isArray(_parentage)) {\n arrRemove(_parentage, parent);\n }\n };\n Subscription.prototype.remove = function (teardown) {\n var _finalizers = this._finalizers;\n _finalizers && arrRemove(_finalizers, teardown);\n if (teardown instanceof Subscription) {\n teardown._removeParent(this);\n }\n };\n Subscription.EMPTY = (function () {\n var empty = new Subscription();\n empty.closed = true;\n return empty;\n })();\n return Subscription;\n}());\nexport { Subscription };\nexport var EMPTY_SUBSCRIPTION = Subscription.EMPTY;\nexport function isSubscription(value) {\n return (value instanceof Subscription ||\n (value && 'closed' in value && isFunction(value.remove) && isFunction(value.add) && isFunction(value.unsubscribe)));\n}\nfunction execFinalizer(finalizer) {\n if (isFunction(finalizer)) {\n finalizer();\n }\n else {\n finalizer.unsubscribe();\n }\n}\n//# sourceMappingURL=Subscription.js.map","export var config = {\n onUnhandledError: null,\n onStoppedNotification: null,\n Promise: undefined,\n useDeprecatedSynchronousErrorHandling: false,\n useDeprecatedNextContext: false,\n};\n//# sourceMappingURL=config.js.map","import { __read, __spreadArray } from \"tslib\";\nexport var timeoutProvider = {\n setTimeout: function (handler, timeout) {\n var args = [];\n for (var _i = 2; _i < arguments.length; _i++) {\n args[_i - 2] = arguments[_i];\n }\n var delegate = timeoutProvider.delegate;\n if (delegate === null || delegate === void 0 ? void 0 : delegate.setTimeout) {\n return delegate.setTimeout.apply(delegate, __spreadArray([handler, timeout], __read(args)));\n }\n return setTimeout.apply(void 0, __spreadArray([handler, timeout], __read(args)));\n },\n clearTimeout: function (handle) {\n var delegate = timeoutProvider.delegate;\n return ((delegate === null || delegate === void 0 ? void 0 : delegate.clearTimeout) || clearTimeout)(handle);\n },\n delegate: undefined,\n};\n//# sourceMappingURL=timeoutProvider.js.map","import { config } from '../config';\nimport { timeoutProvider } from '../scheduler/timeoutProvider';\nexport function reportUnhandledError(err) {\n timeoutProvider.setTimeout(function () {\n var onUnhandledError = config.onUnhandledError;\n if (onUnhandledError) {\n onUnhandledError(err);\n }\n else {\n throw err;\n }\n });\n}\n//# sourceMappingURL=reportUnhandledError.js.map","export function noop() { }\n//# sourceMappingURL=noop.js.map","import { config } from '../config';\nvar context = null;\nexport function errorContext(cb) {\n if (config.useDeprecatedSynchronousErrorHandling) {\n var isRoot = !context;\n if (isRoot) {\n context = { errorThrown: false, error: null };\n }\n cb();\n if (isRoot) {\n var _a = context, errorThrown = _a.errorThrown, error = _a.error;\n context = null;\n if (errorThrown) {\n throw error;\n }\n }\n }\n else {\n cb();\n }\n}\nexport function captureError(err) {\n if (config.useDeprecatedSynchronousErrorHandling && context) {\n context.errorThrown = true;\n context.error = err;\n }\n}\n//# sourceMappingURL=errorContext.js.map","import { __extends } from \"tslib\";\nimport { isFunction } from './util/isFunction';\nimport { isSubscription, Subscription } from './Subscription';\nimport { config } from './config';\nimport { reportUnhandledError } from './util/reportUnhandledError';\nimport { noop } from './util/noop';\nimport { nextNotification, errorNotification, COMPLETE_NOTIFICATION } from './NotificationFactories';\nimport { timeoutProvider } from './scheduler/timeoutProvider';\nimport { captureError } from './util/errorContext';\nvar Subscriber = (function (_super) {\n __extends(Subscriber, _super);\n function Subscriber(destination) {\n var _this = _super.call(this) || this;\n _this.isStopped = false;\n if (destination) {\n _this.destination = destination;\n if (isSubscription(destination)) {\n destination.add(_this);\n }\n }\n else {\n _this.destination = EMPTY_OBSERVER;\n }\n return _this;\n }\n Subscriber.create = function (next, error, complete) {\n return new SafeSubscriber(next, error, complete);\n };\n Subscriber.prototype.next = function (value) {\n if (this.isStopped) {\n handleStoppedNotification(nextNotification(value), this);\n }\n else {\n this._next(value);\n }\n };\n Subscriber.prototype.error = function (err) {\n if (this.isStopped) {\n handleStoppedNotification(errorNotification(err), this);\n }\n else {\n this.isStopped = true;\n this._error(err);\n }\n };\n Subscriber.prototype.complete = function () {\n if (this.isStopped) {\n handleStoppedNotification(COMPLETE_NOTIFICATION, this);\n }\n else {\n this.isStopped = true;\n this._complete();\n }\n };\n Subscriber.prototype.unsubscribe = function () {\n if (!this.closed) {\n this.isStopped = true;\n _super.prototype.unsubscribe.call(this);\n this.destination = null;\n }\n };\n Subscriber.prototype._next = function (value) {\n this.destination.next(value);\n };\n Subscriber.prototype._error = function (err) {\n try {\n this.destination.error(err);\n }\n finally {\n this.unsubscribe();\n }\n };\n Subscriber.prototype._complete = function () {\n try {\n this.destination.complete();\n }\n finally {\n this.unsubscribe();\n }\n };\n return Subscriber;\n}(Subscription));\nexport { Subscriber };\nvar _bind = Function.prototype.bind;\nfunction bind(fn, thisArg) {\n return _bind.call(fn, thisArg);\n}\nvar ConsumerObserver = (function () {\n function ConsumerObserver(partialObserver) {\n this.partialObserver = partialObserver;\n }\n ConsumerObserver.prototype.next = function (value) {\n var partialObserver = this.partialObserver;\n if (partialObserver.next) {\n try {\n partialObserver.next(value);\n }\n catch (error) {\n handleUnhandledError(error);\n }\n }\n };\n ConsumerObserver.prototype.error = function (err) {\n var partialObserver = this.partialObserver;\n if (partialObserver.error) {\n try {\n partialObserver.error(err);\n }\n catch (error) {\n handleUnhandledError(error);\n }\n }\n else {\n handleUnhandledError(err);\n }\n };\n ConsumerObserver.prototype.complete = function () {\n var partialObserver = this.partialObserver;\n if (partialObserver.complete) {\n try {\n partialObserver.complete();\n }\n catch (error) {\n handleUnhandledError(error);\n }\n }\n };\n return ConsumerObserver;\n}());\nvar SafeSubscriber = (function (_super) {\n __extends(SafeSubscriber, _super);\n function SafeSubscriber(observerOrNext, error, complete) {\n var _this = _super.call(this) || this;\n var partialObserver;\n if (isFunction(observerOrNext) || !observerOrNext) {\n partialObserver = {\n next: (observerOrNext !== null && observerOrNext !== void 0 ? observerOrNext : undefined),\n error: error !== null && error !== void 0 ? error : undefined,\n complete: complete !== null && complete !== void 0 ? complete : undefined,\n };\n }\n else {\n var context_1;\n if (_this && config.useDeprecatedNextContext) {\n context_1 = Object.create(observerOrNext);\n context_1.unsubscribe = function () { return _this.unsubscribe(); };\n partialObserver = {\n next: observerOrNext.next && bind(observerOrNext.next, context_1),\n error: observerOrNext.error && bind(observerOrNext.error, context_1),\n complete: observerOrNext.complete && bind(observerOrNext.complete, context_1),\n };\n }\n else {\n partialObserver = observerOrNext;\n }\n }\n _this.destination = new ConsumerObserver(partialObserver);\n return _this;\n }\n return SafeSubscriber;\n}(Subscriber));\nexport { SafeSubscriber };\nfunction handleUnhandledError(error) {\n if (config.useDeprecatedSynchronousErrorHandling) {\n captureError(error);\n }\n else {\n reportUnhandledError(error);\n }\n}\nfunction defaultErrorHandler(err) {\n throw err;\n}\nfunction handleStoppedNotification(notification, subscriber) {\n var onStoppedNotification = config.onStoppedNotification;\n onStoppedNotification && timeoutProvider.setTimeout(function () { return onStoppedNotification(notification, subscriber); });\n}\nexport var EMPTY_OBSERVER = {\n closed: true,\n next: noop,\n error: defaultErrorHandler,\n complete: noop,\n};\n//# sourceMappingURL=Subscriber.js.map","export var observable = (function () { return (typeof Symbol === 'function' && Symbol.observable) || '@@observable'; })();\n//# sourceMappingURL=observable.js.map","export function identity(x) {\n return x;\n}\n//# sourceMappingURL=identity.js.map","import { identity } from './identity';\nexport function pipe() {\n var fns = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n fns[_i] = arguments[_i];\n }\n return pipeFromArray(fns);\n}\nexport function pipeFromArray(fns) {\n if (fns.length === 0) {\n return identity;\n }\n if (fns.length === 1) {\n return fns[0];\n }\n return function piped(input) {\n return fns.reduce(function (prev, fn) { return fn(prev); }, input);\n };\n}\n//# sourceMappingURL=pipe.js.map","import { SafeSubscriber, Subscriber } from './Subscriber';\nimport { isSubscription } from './Subscription';\nimport { observable as Symbol_observable } from './symbol/observable';\nimport { pipeFromArray } from './util/pipe';\nimport { config } from './config';\nimport { isFunction } from './util/isFunction';\nimport { errorContext } from './util/errorContext';\nvar Observable = (function () {\n function Observable(subscribe) {\n if (subscribe) {\n this._subscribe = subscribe;\n }\n }\n Observable.prototype.lift = function (operator) {\n var observable = new Observable();\n observable.source = this;\n observable.operator = operator;\n return observable;\n };\n Observable.prototype.subscribe = function (observerOrNext, error, complete) {\n var _this = this;\n var subscriber = isSubscriber(observerOrNext) ? observerOrNext : new SafeSubscriber(observerOrNext, error, complete);\n errorContext(function () {\n var _a = _this, operator = _a.operator, source = _a.source;\n subscriber.add(operator\n ?\n operator.call(subscriber, source)\n : source\n ?\n _this._subscribe(subscriber)\n :\n _this._trySubscribe(subscriber));\n });\n return subscriber;\n };\n Observable.prototype._trySubscribe = function (sink) {\n try {\n return this._subscribe(sink);\n }\n catch (err) {\n sink.error(err);\n }\n };\n Observable.prototype.forEach = function (next, promiseCtor) {\n var _this = this;\n promiseCtor = getPromiseCtor(promiseCtor);\n return new promiseCtor(function (resolve, reject) {\n var subscriber = new SafeSubscriber({\n next: function (value) {\n try {\n next(value);\n }\n catch (err) {\n reject(err);\n subscriber.unsubscribe();\n }\n },\n error: reject,\n complete: resolve,\n });\n _this.subscribe(subscriber);\n });\n };\n Observable.prototype._subscribe = function (subscriber) {\n var _a;\n return (_a = this.source) === null || _a === void 0 ? void 0 : _a.subscribe(subscriber);\n };\n Observable.prototype[Symbol_observable] = function () {\n return this;\n };\n Observable.prototype.pipe = function () {\n var operations = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n operations[_i] = arguments[_i];\n }\n return pipeFromArray(operations)(this);\n };\n Observable.prototype.toPromise = function (promiseCtor) {\n var _this = this;\n promiseCtor = getPromiseCtor(promiseCtor);\n return new promiseCtor(function (resolve, reject) {\n var value;\n _this.subscribe(function (x) { return (value = x); }, function (err) { return reject(err); }, function () { return resolve(value); });\n });\n };\n Observable.create = function (subscribe) {\n return new Observable(subscribe);\n };\n return Observable;\n}());\nexport { Observable };\nfunction getPromiseCtor(promiseCtor) {\n var _a;\n return (_a = promiseCtor !== null && promiseCtor !== void 0 ? promiseCtor : config.Promise) !== null && _a !== void 0 ? _a : Promise;\n}\nfunction isObserver(value) {\n return value && isFunction(value.next) && isFunction(value.error) && isFunction(value.complete);\n}\nfunction isSubscriber(value) {\n return (value && value instanceof Subscriber) || (isObserver(value) && isSubscription(value));\n}\n//# sourceMappingURL=Observable.js.map","import { isFunction } from './isFunction';\nexport function hasLift(source) {\n return isFunction(source === null || source === void 0 ? void 0 : source.lift);\n}\nexport function operate(init) {\n return function (source) {\n if (hasLift(source)) {\n return source.lift(function (liftedSource) {\n try {\n return init(liftedSource, this);\n }\n catch (err) {\n this.error(err);\n }\n });\n }\n throw new TypeError('Unable to lift unknown Observable type');\n };\n}\n//# sourceMappingURL=lift.js.map","import { __extends } from \"tslib\";\nimport { Subscriber } from '../Subscriber';\nexport function createOperatorSubscriber(destination, onNext, onComplete, onError, onFinalize) {\n return new OperatorSubscriber(destination, onNext, onComplete, onError, onFinalize);\n}\nvar OperatorSubscriber = (function (_super) {\n __extends(OperatorSubscriber, _super);\n function OperatorSubscriber(destination, onNext, onComplete, onError, onFinalize, shouldUnsubscribe) {\n var _this = _super.call(this, destination) || this;\n _this.onFinalize = onFinalize;\n _this.shouldUnsubscribe = shouldUnsubscribe;\n _this._next = onNext\n ? function (value) {\n try {\n onNext(value);\n }\n catch (err) {\n destination.error(err);\n }\n }\n : _super.prototype._next;\n _this._error = onError\n ? function (err) {\n try {\n onError(err);\n }\n catch (err) {\n destination.error(err);\n }\n finally {\n this.unsubscribe();\n }\n }\n : _super.prototype._error;\n _this._complete = onComplete\n ? function () {\n try {\n onComplete();\n }\n catch (err) {\n destination.error(err);\n }\n finally {\n this.unsubscribe();\n }\n }\n : _super.prototype._complete;\n return _this;\n }\n OperatorSubscriber.prototype.unsubscribe = function () {\n var _a;\n if (!this.shouldUnsubscribe || this.shouldUnsubscribe()) {\n var closed_1 = this.closed;\n _super.prototype.unsubscribe.call(this);\n !closed_1 && ((_a = this.onFinalize) === null || _a === void 0 ? void 0 : _a.call(this));\n }\n };\n return OperatorSubscriber;\n}(Subscriber));\nexport { OperatorSubscriber };\n//# sourceMappingURL=OperatorSubscriber.js.map","export var isArrayLike = (function (x) { return x && typeof x.length === 'number' && typeof x !== 'function'; });\n//# sourceMappingURL=isArrayLike.js.map","import { isFunction } from \"./isFunction\";\nexport function isPromise(value) {\n return isFunction(value === null || value === void 0 ? void 0 : value.then);\n}\n//# sourceMappingURL=isPromise.js.map","import { observable as Symbol_observable } from '../symbol/observable';\nimport { isFunction } from './isFunction';\nexport function isInteropObservable(input) {\n return isFunction(input[Symbol_observable]);\n}\n//# sourceMappingURL=isInteropObservable.js.map","import { isFunction } from './isFunction';\nexport function isAsyncIterable(obj) {\n return Symbol.asyncIterator && isFunction(obj === null || obj === void 0 ? void 0 : obj[Symbol.asyncIterator]);\n}\n//# sourceMappingURL=isAsyncIterable.js.map","export function createInvalidObservableTypeError(input) {\n return new TypeError(\"You provided \" + (input !== null && typeof input === 'object' ? 'an invalid object' : \"'\" + input + \"'\") + \" where a stream was expected. You can provide an Observable, Promise, ReadableStream, Array, AsyncIterable, or Iterable.\");\n}\n//# sourceMappingURL=throwUnobservableError.js.map","export function getSymbolIterator() {\n if (typeof Symbol !== 'function' || !Symbol.iterator) {\n return '@@iterator';\n }\n return Symbol.iterator;\n}\nexport var iterator = getSymbolIterator();\n//# sourceMappingURL=iterator.js.map","import { iterator as Symbol_iterator } from '../symbol/iterator';\nimport { isFunction } from './isFunction';\nexport function isIterable(input) {\n return isFunction(input === null || input === void 0 ? void 0 : input[Symbol_iterator]);\n}\n//# sourceMappingURL=isIterable.js.map","import { __asyncGenerator, __await, __generator } from \"tslib\";\nimport { isFunction } from './isFunction';\nexport function readableStreamLikeToAsyncGenerator(readableStream) {\n return __asyncGenerator(this, arguments, function readableStreamLikeToAsyncGenerator_1() {\n var reader, _a, value, done;\n return __generator(this, function (_b) {\n switch (_b.label) {\n case 0:\n reader = readableStream.getReader();\n _b.label = 1;\n case 1:\n _b.trys.push([1, , 9, 10]);\n _b.label = 2;\n case 2:\n if (!true) return [3, 8];\n return [4, __await(reader.read())];\n case 3:\n _a = _b.sent(), value = _a.value, done = _a.done;\n if (!done) return [3, 5];\n return [4, __await(void 0)];\n case 4: return [2, _b.sent()];\n case 5: return [4, __await(value)];\n case 6: return [4, _b.sent()];\n case 7:\n _b.sent();\n return [3, 2];\n case 8: return [3, 10];\n case 9:\n reader.releaseLock();\n return [7];\n case 10: return [2];\n }\n });\n });\n}\nexport function isReadableStreamLike(obj) {\n return isFunction(obj === null || obj === void 0 ? void 0 : obj.getReader);\n}\n//# sourceMappingURL=isReadableStreamLike.js.map","import { __asyncValues, __awaiter, __generator, __values } from \"tslib\";\nimport { isArrayLike } from '../util/isArrayLike';\nimport { isPromise } from '../util/isPromise';\nimport { Observable } from '../Observable';\nimport { isInteropObservable } from '../util/isInteropObservable';\nimport { isAsyncIterable } from '../util/isAsyncIterable';\nimport { createInvalidObservableTypeError } from '../util/throwUnobservableError';\nimport { isIterable } from '../util/isIterable';\nimport { isReadableStreamLike, readableStreamLikeToAsyncGenerator } from '../util/isReadableStreamLike';\nimport { isFunction } from '../util/isFunction';\nimport { reportUnhandledError } from '../util/reportUnhandledError';\nimport { observable as Symbol_observable } from '../symbol/observable';\nexport function innerFrom(input) {\n if (input instanceof Observable) {\n return input;\n }\n if (input != null) {\n if (isInteropObservable(input)) {\n return fromInteropObservable(input);\n }\n if (isArrayLike(input)) {\n return fromArrayLike(input);\n }\n if (isPromise(input)) {\n return fromPromise(input);\n }\n if (isAsyncIterable(input)) {\n return fromAsyncIterable(input);\n }\n if (isIterable(input)) {\n return fromIterable(input);\n }\n if (isReadableStreamLike(input)) {\n return fromReadableStreamLike(input);\n }\n }\n throw createInvalidObservableTypeError(input);\n}\nexport function fromInteropObservable(obj) {\n return new Observable(function (subscriber) {\n var obs = obj[Symbol_observable]();\n if (isFunction(obs.subscribe)) {\n return obs.subscribe(subscriber);\n }\n throw new TypeError('Provided object does not correctly implement Symbol.observable');\n });\n}\nexport function fromArrayLike(array) {\n return new Observable(function (subscriber) {\n for (var i = 0; i < array.length && !subscriber.closed; i++) {\n subscriber.next(array[i]);\n }\n subscriber.complete();\n });\n}\nexport function fromPromise(promise) {\n return new Observable(function (subscriber) {\n promise\n .then(function (value) {\n if (!subscriber.closed) {\n subscriber.next(value);\n subscriber.complete();\n }\n }, function (err) { return subscriber.error(err); })\n .then(null, reportUnhandledError);\n });\n}\nexport function fromIterable(iterable) {\n return new Observable(function (subscriber) {\n var e_1, _a;\n try {\n for (var iterable_1 = __values(iterable), iterable_1_1 = iterable_1.next(); !iterable_1_1.done; iterable_1_1 = iterable_1.next()) {\n var value = iterable_1_1.value;\n subscriber.next(value);\n if (subscriber.closed) {\n return;\n }\n }\n }\n catch (e_1_1) { e_1 = { error: e_1_1 }; }\n finally {\n try {\n if (iterable_1_1 && !iterable_1_1.done && (_a = iterable_1.return)) _a.call(iterable_1);\n }\n finally { if (e_1) throw e_1.error; }\n }\n subscriber.complete();\n });\n}\nexport function fromAsyncIterable(asyncIterable) {\n return new Observable(function (subscriber) {\n process(asyncIterable, subscriber).catch(function (err) { return subscriber.error(err); });\n });\n}\nexport function fromReadableStreamLike(readableStream) {\n return fromAsyncIterable(readableStreamLikeToAsyncGenerator(readableStream));\n}\nfunction process(asyncIterable, subscriber) {\n var asyncIterable_1, asyncIterable_1_1;\n var e_2, _a;\n return __awaiter(this, void 0, void 0, function () {\n var value, e_2_1;\n return __generator(this, function (_b) {\n switch (_b.label) {\n case 0:\n _b.trys.push([0, 5, 6, 11]);\n asyncIterable_1 = __asyncValues(asyncIterable);\n _b.label = 1;\n case 1: return [4, asyncIterable_1.next()];\n case 2:\n if (!(asyncIterable_1_1 = _b.sent(), !asyncIterable_1_1.done)) return [3, 4];\n value = asyncIterable_1_1.value;\n subscriber.next(value);\n if (subscriber.closed) {\n return [2];\n }\n _b.label = 3;\n case 3: return [3, 1];\n case 4: return [3, 11];\n case 5:\n e_2_1 = _b.sent();\n e_2 = { error: e_2_1 };\n return [3, 11];\n case 6:\n _b.trys.push([6, , 9, 10]);\n if (!(asyncIterable_1_1 && !asyncIterable_1_1.done && (_a = asyncIterable_1.return))) return [3, 8];\n return [4, _a.call(asyncIterable_1)];\n case 7:\n _b.sent();\n _b.label = 8;\n case 8: return [3, 10];\n case 9:\n if (e_2) throw e_2.error;\n return [7];\n case 10: return [7];\n case 11:\n subscriber.complete();\n return [2];\n }\n });\n });\n}\n//# sourceMappingURL=innerFrom.js.map","export function executeSchedule(parentSubscription, scheduler, work, delay, repeat) {\n if (delay === void 0) { delay = 0; }\n if (repeat === void 0) { repeat = false; }\n var scheduleSubscription = scheduler.schedule(function () {\n work();\n if (repeat) {\n parentSubscription.add(this.schedule(null, delay));\n }\n else {\n this.unsubscribe();\n }\n }, delay);\n parentSubscription.add(scheduleSubscription);\n if (!repeat) {\n return scheduleSubscription;\n }\n}\n//# sourceMappingURL=executeSchedule.js.map","import { operate } from '../util/lift';\nimport { createOperatorSubscriber } from './OperatorSubscriber';\nexport function map(project, thisArg) {\n return operate(function (source, subscriber) {\n var index = 0;\n source.subscribe(createOperatorSubscriber(subscriber, function (value) {\n subscriber.next(project.call(thisArg, value, index++));\n }));\n });\n}\n//# sourceMappingURL=map.js.map","import { __read, __spreadArray } from \"tslib\";\nimport { map } from \"../operators/map\";\nvar isArray = Array.isArray;\nfunction callOrApply(fn, args) {\n return isArray(args) ? fn.apply(void 0, __spreadArray([], __read(args))) : fn(args);\n}\nexport function mapOneOrManyArgs(fn) {\n return map(function (args) { return callOrApply(fn, args); });\n}\n//# sourceMappingURL=mapOneOrManyArgs.js.map","import { innerFrom } from '../observable/innerFrom';\nimport { executeSchedule } from '../util/executeSchedule';\nimport { createOperatorSubscriber } from './OperatorSubscriber';\nexport function mergeInternals(source, subscriber, project, concurrent, onBeforeNext, expand, innerSubScheduler, additionalFinalizer) {\n var buffer = [];\n var active = 0;\n var index = 0;\n var isComplete = false;\n var checkComplete = function () {\n if (isComplete && !buffer.length && !active) {\n subscriber.complete();\n }\n };\n var outerNext = function (value) { return (active < concurrent ? doInnerSub(value) : buffer.push(value)); };\n var doInnerSub = function (value) {\n expand && subscriber.next(value);\n active++;\n var innerComplete = false;\n innerFrom(project(value, index++)).subscribe(createOperatorSubscriber(subscriber, function (innerValue) {\n onBeforeNext === null || onBeforeNext === void 0 ? void 0 : onBeforeNext(innerValue);\n if (expand) {\n outerNext(innerValue);\n }\n else {\n subscriber.next(innerValue);\n }\n }, function () {\n innerComplete = true;\n }, undefined, function () {\n if (innerComplete) {\n try {\n active--;\n var _loop_1 = function () {\n var bufferedValue = buffer.shift();\n if (innerSubScheduler) {\n executeSchedule(subscriber, innerSubScheduler, function () { return doInnerSub(bufferedValue); });\n }\n else {\n doInnerSub(bufferedValue);\n }\n };\n while (buffer.length && active < concurrent) {\n _loop_1();\n }\n checkComplete();\n }\n catch (err) {\n subscriber.error(err);\n }\n }\n }));\n };\n source.subscribe(createOperatorSubscriber(subscriber, outerNext, function () {\n isComplete = true;\n checkComplete();\n }));\n return function () {\n additionalFinalizer === null || additionalFinalizer === void 0 ? void 0 : additionalFinalizer();\n };\n}\n//# sourceMappingURL=mergeInternals.js.map","import { map } from './map';\nimport { innerFrom } from '../observable/innerFrom';\nimport { operate } from '../util/lift';\nimport { mergeInternals } from './mergeInternals';\nimport { isFunction } from '../util/isFunction';\nexport function mergeMap(project, resultSelector, concurrent) {\n if (concurrent === void 0) { concurrent = Infinity; }\n if (isFunction(resultSelector)) {\n return mergeMap(function (a, i) { return map(function (b, ii) { return resultSelector(a, b, i, ii); })(innerFrom(project(a, i))); }, concurrent);\n }\n else if (typeof resultSelector === 'number') {\n concurrent = resultSelector;\n }\n return operate(function (source, subscriber) { return mergeInternals(source, subscriber, project, concurrent); });\n}\n//# sourceMappingURL=mergeMap.js.map","import { __read } from \"tslib\";\nimport { innerFrom } from '../observable/innerFrom';\nimport { Observable } from '../Observable';\nimport { mergeMap } from '../operators/mergeMap';\nimport { isArrayLike } from '../util/isArrayLike';\nimport { isFunction } from '../util/isFunction';\nimport { mapOneOrManyArgs } from '../util/mapOneOrManyArgs';\nvar nodeEventEmitterMethods = ['addListener', 'removeListener'];\nvar eventTargetMethods = ['addEventListener', 'removeEventListener'];\nvar jqueryMethods = ['on', 'off'];\nexport function fromEvent(target, eventName, options, resultSelector) {\n if (isFunction(options)) {\n resultSelector = options;\n options = undefined;\n }\n if (resultSelector) {\n return fromEvent(target, eventName, options).pipe(mapOneOrManyArgs(resultSelector));\n }\n var _a = __read(isEventTarget(target)\n ? eventTargetMethods.map(function (methodName) { return function (handler) { return target[methodName](eventName, handler, options); }; })\n :\n isNodeStyleEventEmitter(target)\n ? nodeEventEmitterMethods.map(toCommonHandlerRegistry(target, eventName))\n : isJQueryStyleEventEmitter(target)\n ? jqueryMethods.map(toCommonHandlerRegistry(target, eventName))\n : [], 2), add = _a[0], remove = _a[1];\n if (!add) {\n if (isArrayLike(target)) {\n return mergeMap(function (subTarget) { return fromEvent(subTarget, eventName, options); })(innerFrom(target));\n }\n }\n if (!add) {\n throw new TypeError('Invalid event target');\n }\n return new Observable(function (subscriber) {\n var handler = function () {\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n return subscriber.next(1 < args.length ? args : args[0]);\n };\n add(handler);\n return function () { return remove(handler); };\n });\n}\nfunction toCommonHandlerRegistry(target, eventName) {\n return function (methodName) { return function (handler) { return target[methodName](eventName, handler); }; };\n}\nfunction isNodeStyleEventEmitter(target) {\n return isFunction(target.addListener) && isFunction(target.removeListener);\n}\nfunction isJQueryStyleEventEmitter(target) {\n return isFunction(target.on) && isFunction(target.off);\n}\nfunction isEventTarget(target) {\n return isFunction(target.addEventListener) && isFunction(target.removeEventListener);\n}\n//# sourceMappingURL=fromEvent.js.map","import { QRY } from '../constants';\nimport { trim } from './utils';\n\nexport const getPath = (isHash, location) => {\n return trim(\n isHash ? location.hash.substring(1).split(QRY)[0] : location.pathname\n );\n};\n","import { QRY } from '../../constants';\nimport { trim } from '../../utils/utils';\n\n/**\n * Creates an instance of router event\n */\nexport class RouterEvent {\n /**\n * Creates a instance of router event\n * @typedef {import('./types').RouteInfo} RouteInfo\n * @param {RouteInfo} routeInfo Route information\n * @param {CustomEvent} currentEvent Current event object\n */\n constructor(routeInfo, currentEvent) {\n // Set relevant parameters\n const [routeObject, originalEvent, routerInstance] = routeInfo;\n const { location, history } = routerInstance.config;\n this.route = routeObject.path;\n this.isHashRoute = routeObject.hash;\n this.router = routerInstance;\n this.currentEvent = originalEvent || currentEvent;\n this.query = {\n path: trim(location.search.substring(1)),\n hash: trim(location.hash.split(QRY)[1]),\n };\n const { state } = originalEvent || {};\n const { data, idx = 0 } = state || history.state || {};\n this.data = data;\n this.index = +idx;\n }\n}\n","import { Observable } from 'rxjs';\nimport { RouterEvent } from '../routerEvent';\n\n/**\n * Attaches a route handler\n * @returns {(observable: Observable) => Observable}\n */\nexport default function collate() {\n return (observable) =>\n new Observable((subscriber) => {\n const subn = observable.subscribe({\n next: (event) => {\n const [, , routerInstance] = event.detail;\n if (routerInstance === this) {\n subscriber.next(new RouterEvent(event.detail, event));\n }\n },\n error: subscriber.error,\n complete: subscriber.complete,\n });\n return () => {\n subn.unsubscribe();\n };\n });\n}\n","import { Observable } from 'rxjs';\nimport { UNDEF } from '../../constants';\nimport { getPath } from '../../utils/getPath';\nimport { RouterEvent } from '../routerEvent';\n\n/**\n * Calls the handler once on initialization\n * @param {boolean} [isDone] Optional flag used as a switch\n * @returns {(observable: Observable) => Observable}\n */\nexport default function callOnce(isDone) {\n const { hashRouting: hash, location, init } = this.config;\n const path = getPath(hash, location);\n return (observable) =>\n new Observable((subscriber) => {\n const subn = observable.subscribe(subscriber);\n if (!isDone) {\n isDone = true;\n if (init && path) {\n subscriber.next(new RouterEvent([{ path, hash }, UNDEF, this]));\n }\n }\n return () => {\n subn.unsubscribe();\n };\n });\n}\n","import { fromEvent } from 'rxjs';\nimport {\n HISTORY_UNSUPPORTED,\n POP_STATE,\n PUSH,\n TYPEOF_FUNC,\n TYPEOF_UNDEF,\n VIRTUAL_PUSHSTATE,\n} from '../../constants';\nimport { getPath } from '../../utils/getPath';\nimport { trigger } from '../../utils/triggerEvent';\nimport collate from '../collate';\nimport callOnce from '../callOnce';\n\n/**\n * Core router class to handle basic routing functionality\n */\nexport class RouterCore {\n static get global() {\n return typeof globalThis !== TYPEOF_UNDEF ? globalThis : global || self;\n }\n /**\n * Router core constructor\n * @typedef {import('./types').RouterCoreConfig} RouterCoreConfig\n * @param {RouterCoreConfig} routerCoreConfig Route core configuration\n */\n constructor({ history, context, location, hash }) {\n if (!history[PUSH]) {\n throw new Error(HISTORY_UNSUPPORTED);\n }\n this.popStateSubscription = fromEvent(\n RouterCore.global,\n POP_STATE\n ).subscribe((e) => {\n const path = getPath(hash, location);\n if (path) {\n trigger(context, VIRTUAL_PUSHSTATE, [{ path, hash }, e, this]);\n }\n });\n this.listeners = fromEvent(context, VIRTUAL_PUSHSTATE).pipe(\n collate.apply(this)\n );\n }\n /**\n * Allows you to add operators for any pre-processing before a handler is called\n * @typedef {import('./types').Operator} Operator\n * @typedef {import('rxjs').Observable} Observable\n * @param {...Operator} ops Operators\n * @returns {Observable}\n */\n pipe(...ops) {\n return this.listeners.pipe(callOnce.apply(this), ...ops);\n }\n /**\n * Attaches a route handler\n * @typedef {import('../routerEvent/index').RouterEvent} RouterEvent\n * @param {(event: RouterEvent) => void} fn Route handler\n */\n subscribe(fn) {\n return this.pipe().subscribe(fn);\n }\n /**\n * Destroys current router instance\n * @param {() => void} callback Callback for destroy function\n */\n destroy(callback) {\n if (typeof callback === TYPEOF_FUNC) {\n callback();\n }\n this.popStateSubscription.unsubscribe(); // Unsubscribe popstate event\n }\n}\n","import isObject from 'is-object';\nimport set from '../set';\nimport { RouterCore } from './RouterCore';\n\n/**\n * Browser router to handle routing logic\n */\nexport class Router extends RouterCore {\n /**\n * Router constructor\n * @typedef {import('./types').RouterConfig} RouterConfig\n * @param {RouterConfig} config\n */\n constructor(config) {\n config = isObject(config) ? config : {};\n const { history, location, document } = RouterCore.global;\n const context = document.body;\n super({\n history,\n location,\n context,\n hash: config.hashRouting,\n });\n this.config = Object.freeze({\n init: true,\n hashRouting: false,\n preservePath: false,\n context,\n history,\n location,\n ...config,\n });\n if (config.hashRouting && !location.hash) {\n this.set('/', {\n replace: true,\n preventDefault: true, // Don't execute route handlers\n });\n }\n }\n /**\n * Sets the current route path\n * @typedef {import('../set/types').RouteConfig} RouteConfig\n * @param {string} path Route path\n * @param {RouteConfig} routeConfig Route config\n */\n set(path, routeConfig) {\n set.apply(this, [path, routeConfig]);\n }\n}\n","import { Router, RouterCore, resolveParams } from '../src/js';\nimport pkg from '../package.json';\n\nfunction q(selector) {\n if (typeof selector === 'string') {\n const elArray = [];\n selector\n .split(',')\n .map((selectorPart) => selectorPart.trim())\n .forEach((selectorPart) => {\n const selected = [...document.querySelectorAll(selectorPart)];\n selected.forEach((el) => {\n if (!elArray.includes(el)) {\n elArray.push(el);\n }\n });\n });\n return elArray;\n }\n // rome-ignore lint/style/noArguments: Keeping default behaviour of querySelectorAll\n return [...document.querySelectorAll(...arguments)];\n}\n\nfunction renderVersion() {\n q('.version').forEach((el) => {\n const wrapper = el.querySelector('span');\n if (wrapper) {\n wrapper.textContent = pkg.version;\n }\n });\n}\n\nfunction initializeRouting() {\n q('#checkHash').forEach((el) => {\n el.checked = window.sessionStorage.getItem('checkedStatus') === '1';\n });\n const router = new Router();\n let childRouter = router;\n router.subscribe((e) => {\n const eventRoute =\n location.hostname === 'scssyworks.github.io'\n ? e.route.replace(/\\/silkrouter\\//, '/')\n : e.route;\n q('a.nav-link').forEach((el) => {\n el.classList.remove('active');\n const elRoute = el.getAttribute('href');\n if (\n (elRoute === '/' && eventRoute === elRoute) ||\n (elRoute !== '/' && eventRoute.includes(elRoute))\n ) {\n el.classList.add('active');\n }\n });\n q('[data-section]').forEach((el) => {\n el.classList.add('d-none');\n const elSection = el.getAttribute('data-section');\n if (elSection === '/' && eventRoute === elSection) {\n el.classList.remove('d-none');\n } else if (elSection !== '/' && eventRoute.includes(elSection)) {\n el.classList.remove('d-none');\n }\n });\n q(\n '.params-data, .query-next-step, .query-data, .data-next-step, .state-data, .pass-data-tutorial'\n ).forEach((el) => {\n el.classList.add('d-none');\n });\n });\n const paramsRoute =\n location.hostname === 'scssyworks.github.io'\n ? '/silkrouter/tab3/:firstname/:lastname'\n : '/tab3/:firstname/:lastname';\n router.subscribe((e) => {\n const params = resolveParams(paramsRoute, e.route);\n if (Object.keys(params).length) {\n q('.params-data').forEach((el) => {\n el.textContent = JSON.stringify(params, null, 2);\n });\n q('.params-data, .query-next-step').forEach((el) => {\n el.classList.remove('d-none');\n });\n if (e.query.path) {\n q('.query-data').forEach((el) => {\n el.textContent = e.query.path;\n el.classList.remove('d-none');\n });\n q('.data-next-step').forEach((el) => {\n el.classList.remove('d-none');\n });\n }\n if (e.data) {\n q('.state-data').forEach((el) => {\n el.textContent = e.data;\n el.classList.remove('d-none');\n });\n q('.pass-data-tutorial').forEach((el) => {\n el.classList.remove('d-none');\n });\n }\n }\n });\n document.addEventListener('click', (e) => {\n q('a.nav-link').forEach((el) => {\n if (el.contains(e.target)) {\n e.preventDefault();\n const isRelative = el.hasAttribute('data-relative');\n let route =\n isRelative && q('#checkHash:checked').length === 0\n ? el.closest('section').getAttribute('data-section') +\n el.getAttribute('href')\n : el.getAttribute('href');\n if (location.hostname === 'scssyworks.github.io') {\n route = `/silkrouter${route}`;\n }\n if (isRelative) {\n if (\n location.hostname === 'scssyworks.github.io' &&\n childRouter.config.hashRouting\n ) {\n route = route.replace(/\\/silkrouter\\//, '/');\n }\n childRouter.set(route);\n } else {\n router.set(route);\n }\n }\n });\n q('.btn-primary.clear-session').forEach((el) => {\n if (el.contains(e.target)) {\n window.sessionStorage.clear();\n window.location.href =\n location.hostname === 'scssyworks.github.io'\n ? '/silkrouter/tab2/'\n : '/tab2/';\n }\n });\n q('.append-param').forEach((el) => {\n if (el.contains(e.target)) {\n router.set(\n `${\n location.hostname === 'scssyworks.github.io' ? '/silkrouter' : ''\n }/tab3/john/doe`\n );\n }\n });\n q('.append-query').forEach((el) => {\n if (el.contains(e.target)) {\n router.set(\n `${\n location.hostname === 'scssyworks.github.io' ? '/silkrouter' : ''\n }/tab3/john/doe`,\n {\n queryString: 'q=HelloWorld',\n }\n );\n }\n });\n q('.append-data').forEach((el) => {\n if (el.contains(e.target)) {\n router.set(\n `${\n location.hostname === 'scssyworks.github.io' ? '/silkrouter' : ''\n }/tab3/john/doe`,\n {\n queryString: 'q=HelloWorld',\n data: 'Hi there!',\n }\n );\n }\n });\n });\n q('#checkHash').forEach((el) => {\n el.addEventListener('change', () => {\n window.sessionStorage.setItem(\n 'checkedStatus',\n `${q('#checkHash:checked').length}`\n );\n window.location.href = `${\n location.hostname === 'scssyworks.github.io' ? '/silkrouter' : ''\n }/tab2/`;\n });\n });\n if (q('#checkHash:checked').length) {\n const hashRouter = new Router({\n hashRouting: true,\n preservePath: true,\n });\n hashRouter.subscribe((e) => {\n q('a.nav-link[data-relative]').forEach((el) => {\n el.classList.remove('active');\n if (e.route.includes(el.getAttribute('href'))) {\n el.classList.add('active');\n }\n });\n });\n childRouter = hashRouter;\n }\n}\n\nfunction setGlobals() {\n window.Router = Router;\n window.RouterCore = RouterCore;\n}\n\ninitializeRouting();\nrenderVersion();\nsetGlobals();\n"],"names":["POP_STATE","REG_ROUTE_PARAMS","REG_PATHNAME","HISTORY_UNSUPPORTED","INVALID_ROUTE","VIRTUAL_PUSHSTATE","QRY","EMPTY","UNDEF","TYPEOF_STR","TYPEOF_UNDEF","TYPEOF_FUNC","STATE","PUSH","REPLACE","resolveParams","expr","path","params","test","pathRegex","RegExp","replace","lastIndex","keys","Array","from","match","map","key","values","shift","forEach","index","trigger","context","eventType","data","dispatchEvent","CustomEvent","bubbles","cancelable","detail","trim","str","isValidRoute","route","set","routeStr","routeConfig","isObject","qs","split","preventDefault","queryString","pageTitle","preservePath","hashRouting","hash","history","config","savedState","state","idx","TypeError","Symbol_observable","Symbol_iterator","getPath","isHash","location","substring","pathname","RouterEvent","constructor","routeInfo","currentEvent","routeObject","originalEvent","routerInstance","isHashRoute","router","query","search","collate","observable","Observable","subscriber","subn","subscribe","next","event","error","complete","unsubscribe","callOnce","isDone","init","RouterCore","global","globalThis","self","_ref","Error","popStateSubscription","fromEvent","e","listeners","pipe","apply","_len","arguments","length","ops","_key","fn","destroy","callback","Router","document","body","Object","freeze","q","selector","elArray","selectorPart","selected","querySelectorAll","el","includes","push","renderVersion","wrapper","querySelector","textContent","pkg","version","initializeRouting","checked","window","sessionStorage","getItem","childRouter","eventRoute","hostname","classList","remove","elRoute","getAttribute","add","elSection","paramsRoute","JSON","stringify","addEventListener","contains","target","isRelative","hasAttribute","closest","clear","href","setItem","hashRouter","setGlobals"],"mappings":"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","x_google_ignoreList":[2,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38]} \ No newline at end of file +{"version":3,"file":"silkrouter.iife.js","sources":["../../src/js/constants/index.js","../../src/js/utils/params.js","../../node_modules/is-object/index.js","../../src/js/utils/triggerEvent.js","../../src/js/utils/utils.js","../../src/js/api/set/index.js","../../node_modules/tslib/tslib.es6.mjs","../../node_modules/rxjs/dist/esm5/internal/util/isFunction.js","../../node_modules/rxjs/dist/esm5/internal/util/createErrorClass.js","../../node_modules/rxjs/dist/esm5/internal/util/UnsubscriptionError.js","../../node_modules/rxjs/dist/esm5/internal/util/arrRemove.js","../../node_modules/rxjs/dist/esm5/internal/Subscription.js","../../node_modules/rxjs/dist/esm5/internal/config.js","../../node_modules/rxjs/dist/esm5/internal/scheduler/timeoutProvider.js","../../node_modules/rxjs/dist/esm5/internal/util/reportUnhandledError.js","../../node_modules/rxjs/dist/esm5/internal/util/noop.js","../../node_modules/rxjs/dist/esm5/internal/util/errorContext.js","../../node_modules/rxjs/dist/esm5/internal/Subscriber.js","../../node_modules/rxjs/dist/esm5/internal/symbol/observable.js","../../node_modules/rxjs/dist/esm5/internal/util/identity.js","../../node_modules/rxjs/dist/esm5/internal/util/pipe.js","../../node_modules/rxjs/dist/esm5/internal/Observable.js","../../node_modules/rxjs/dist/esm5/internal/util/lift.js","../../node_modules/rxjs/dist/esm5/internal/operators/OperatorSubscriber.js","../../node_modules/rxjs/dist/esm5/internal/util/isArrayLike.js","../../node_modules/rxjs/dist/esm5/internal/util/isPromise.js","../../node_modules/rxjs/dist/esm5/internal/util/isInteropObservable.js","../../node_modules/rxjs/dist/esm5/internal/util/isAsyncIterable.js","../../node_modules/rxjs/dist/esm5/internal/util/throwUnobservableError.js","../../node_modules/rxjs/dist/esm5/internal/symbol/iterator.js","../../node_modules/rxjs/dist/esm5/internal/util/isIterable.js","../../node_modules/rxjs/dist/esm5/internal/util/isReadableStreamLike.js","../../node_modules/rxjs/dist/esm5/internal/observable/innerFrom.js","../../node_modules/rxjs/dist/esm5/internal/util/executeSchedule.js","../../node_modules/rxjs/dist/esm5/internal/operators/map.js","../../node_modules/rxjs/dist/esm5/internal/util/mapOneOrManyArgs.js","../../node_modules/rxjs/dist/esm5/internal/operators/mergeInternals.js","../../node_modules/rxjs/dist/esm5/internal/operators/mergeMap.js","../../node_modules/rxjs/dist/esm5/internal/observable/fromEvent.js","../../src/js/utils/getPath.js","../../src/js/api/routerEvent/index.js","../../src/js/api/callOnce/index.js","../../src/js/api/collate/index.js","../../src/js/api/router/RouterCore.js","../../src/js/api/router/Router.js","../../render/index.js"],"sourcesContent":["/**\n * Router constants\n */\nexport const POP_STATE = 'popstate';\nexport const REG_ROUTE_PARAMS = /:[^/]+/g;\nexport const REG_PATHNAME = /^\\/(?=[^?]*)/;\nexport const HISTORY_UNSUPPORTED =\n 'History is not supported in this environment!';\nexport const INVALID_ROUTE = 'Route format is incorrect!';\nexport const VIRTUAL_PUSHSTATE = 'vpushstate';\nexport const QRY = '?';\nexport const EMPTY = '';\nexport const UNDEF = void 0;\nexport const STATE = 'State';\nexport const PUSH = `push${STATE}`;\nexport const REPLACE = `replace${STATE}`;\n","import { EMPTY, REG_ROUTE_PARAMS } from '../constants';\n\n/**\n * Parses current path and returns params object\n * @param {string} expr Route expression\n * @param {string} path URL path\n * @returns {{[key: string]: any}}\n */\nexport function resolveParams(expr, path) {\n const params = {};\n if (REG_ROUTE_PARAMS.test(expr)) {\n const pathRegex = new RegExp(\n expr.replace(/\\//g, '\\\\/').replace(/:[^/\\\\]+/g, '([^\\\\/]+)'),\n );\n REG_ROUTE_PARAMS.lastIndex = 0;\n if (pathRegex.test(path)) {\n const keys = Array.from(expr.match(REG_ROUTE_PARAMS)).map(key =>\n key.replace(':', EMPTY),\n );\n const values = Array.from(path.match(pathRegex));\n values.shift();\n keys.forEach((key, index) => {\n params[key] = values[index];\n });\n }\n }\n return params;\n}\n","'use strict';\n\nmodule.exports = function isObject(x) {\n\treturn typeof x === 'object' && x !== null;\n};\n","/**\n * Function to trigger custom event\n * @param {HTMLElement} context Context element\n * @param {string} eventType Event type\n * @param {any[]} data Data to be passed to handler\n */\nexport function trigger(context, eventType, data) {\n context.dispatchEvent(\n new CustomEvent(eventType, {\n bubbles: true,\n cancelable: true,\n detail: data || [],\n }),\n );\n}\n","import { EMPTY, REG_PATHNAME } from '../constants';\n\n/**\n * Checks if input value is a string\n * @param {any} str String value\n * @returns {boolean}\n */\nexport function isString(str) {\n return typeof str === 'string';\n}\n\n/**\n * Safely trims string\n * @param {string} str String\n */\nexport function trim(str) {\n return isString(str) ? str.trim() : EMPTY;\n}\n\n/**\n * Checks if given route is valid\n * @private\n * @param {string} route Route string\n */\nexport function isValidRoute(route) {\n return REG_PATHNAME.test(route);\n}\n","import isObject from 'is-object';\nimport {\n EMPTY,\n INVALID_ROUTE,\n PUSH,\n QRY,\n REPLACE,\n VIRTUAL_PUSHSTATE,\n} from '../../constants';\nimport { trigger } from '../../utils/triggerEvent';\nimport { isValidRoute, trim } from '../../utils/utils';\n\n/**\n * Sets the current route\n * @private\n * @typedef {import('./types').RouteConfig} RouteConfig\n * @param {string} routeStr Route string\n * @param {RouteConfig} [rConfig] Route config\n */\nexport default function set(routeStr, rConfig) {\n const routeConfig = isObject(rConfig) ? rConfig : {};\n const [route, qs] = routeStr.split(QRY);\n const {\n replace = false,\n preventDefault = false,\n queryString = qs,\n data,\n pageTitle = null,\n } = routeConfig;\n const { preservePath, hashRouting: hash, history, context } = this.config;\n // Resolve to URL query string if it's not explicitly passed\n let routeString = trim(route);\n if (isValidRoute(routeString)) {\n const path = routeString;\n if (hash) {\n routeString = `${preservePath ? '' : '/'}#${routeString}`;\n }\n // Append query string\n routeString = `${routeString}${trim(\n queryString ? `${QRY + queryString}` : EMPTY,\n )}`;\n const savedState = history.state || { idx: 0 };\n history[replace ? REPLACE : PUSH](\n {\n data,\n idx: savedState.idx + 1,\n },\n pageTitle,\n routeString,\n );\n if (!preventDefault && path) {\n trigger(context, VIRTUAL_PUSHSTATE, [\n {\n path,\n hash,\n },\n undefined,\n this,\n ]);\n }\n } else {\n throw new TypeError(INVALID_ROUTE);\n }\n}\n","/******************************************************************************\nCopyright (c) Microsoft Corporation.\n\nPermission to use, copy, modify, and/or distribute this software for any\npurpose with or without fee is hereby granted.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\nPERFORMANCE OF THIS SOFTWARE.\n***************************************************************************** */\n/* global Reflect, Promise, SuppressedError, Symbol, Iterator */\n\nvar extendStatics = function(d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n};\n\nexport function __extends(d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n}\n\nexport var __assign = function() {\n __assign = Object.assign || function __assign(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\n }\n return t;\n }\n return __assign.apply(this, arguments);\n}\n\nexport function __rest(s, e) {\n var t = {};\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\n t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\n t[p[i]] = s[p[i]];\n }\n return t;\n}\n\nexport function __decorate(decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n}\n\nexport function __param(paramIndex, decorator) {\n return function (target, key) { decorator(target, key, paramIndex); }\n}\n\nexport function __esDecorate(ctor, descriptorIn, decorators, contextIn, initializers, extraInitializers) {\n function accept(f) { if (f !== void 0 && typeof f !== \"function\") throw new TypeError(\"Function expected\"); return f; }\n var kind = contextIn.kind, key = kind === \"getter\" ? \"get\" : kind === \"setter\" ? \"set\" : \"value\";\n var target = !descriptorIn && ctor ? contextIn[\"static\"] ? ctor : ctor.prototype : null;\n var descriptor = descriptorIn || (target ? Object.getOwnPropertyDescriptor(target, contextIn.name) : {});\n var _, done = false;\n for (var i = decorators.length - 1; i >= 0; i--) {\n var context = {};\n for (var p in contextIn) context[p] = p === \"access\" ? {} : contextIn[p];\n for (var p in contextIn.access) context.access[p] = contextIn.access[p];\n context.addInitializer = function (f) { if (done) throw new TypeError(\"Cannot add initializers after decoration has completed\"); extraInitializers.push(accept(f || null)); };\n var result = (0, decorators[i])(kind === \"accessor\" ? { get: descriptor.get, set: descriptor.set } : descriptor[key], context);\n if (kind === \"accessor\") {\n if (result === void 0) continue;\n if (result === null || typeof result !== \"object\") throw new TypeError(\"Object expected\");\n if (_ = accept(result.get)) descriptor.get = _;\n if (_ = accept(result.set)) descriptor.set = _;\n if (_ = accept(result.init)) initializers.unshift(_);\n }\n else if (_ = accept(result)) {\n if (kind === \"field\") initializers.unshift(_);\n else descriptor[key] = _;\n }\n }\n if (target) Object.defineProperty(target, contextIn.name, descriptor);\n done = true;\n};\n\nexport function __runInitializers(thisArg, initializers, value) {\n var useValue = arguments.length > 2;\n for (var i = 0; i < initializers.length; i++) {\n value = useValue ? initializers[i].call(thisArg, value) : initializers[i].call(thisArg);\n }\n return useValue ? value : void 0;\n};\n\nexport function __propKey(x) {\n return typeof x === \"symbol\" ? x : \"\".concat(x);\n};\n\nexport function __setFunctionName(f, name, prefix) {\n if (typeof name === \"symbol\") name = name.description ? \"[\".concat(name.description, \"]\") : \"\";\n return Object.defineProperty(f, \"name\", { configurable: true, value: prefix ? \"\".concat(prefix, \" \", name) : name });\n};\n\nexport function __metadata(metadataKey, metadataValue) {\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\n}\n\nexport function __awaiter(thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n}\n\nexport function __generator(thisArg, body) {\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g = Object.create((typeof Iterator === \"function\" ? Iterator : Object).prototype);\n return g.next = verb(0), g[\"throw\"] = verb(1), g[\"return\"] = verb(2), typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\n function verb(n) { return function (v) { return step([n, v]); }; }\n function step(op) {\n if (f) throw new TypeError(\"Generator is already executing.\");\n while (g && (g = 0, op[0] && (_ = 0)), _) try {\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\n if (y = 0, t) op = [op[0] & 2, t.value];\n switch (op[0]) {\n case 0: case 1: t = op; break;\n case 4: _.label++; return { value: op[1], done: false };\n case 5: _.label++; y = op[1]; op = [0]; continue;\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\n default:\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\n if (t[2]) _.ops.pop();\n _.trys.pop(); continue;\n }\n op = body.call(thisArg, _);\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\n }\n}\n\nexport var __createBinding = Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n});\n\nexport function __exportStar(m, o) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\n}\n\nexport function __values(o) {\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\n if (m) return m.call(o);\n if (o && typeof o.length === \"number\") return {\n next: function () {\n if (o && i >= o.length) o = void 0;\n return { value: o && o[i++], done: !o };\n }\n };\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\n}\n\nexport function __read(o, n) {\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\n if (!m) return o;\n var i = m.call(o), r, ar = [], e;\n try {\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\n }\n catch (error) { e = { error: error }; }\n finally {\n try {\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\n }\n finally { if (e) throw e.error; }\n }\n return ar;\n}\n\n/** @deprecated */\nexport function __spread() {\n for (var ar = [], i = 0; i < arguments.length; i++)\n ar = ar.concat(__read(arguments[i]));\n return ar;\n}\n\n/** @deprecated */\nexport function __spreadArrays() {\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\n r[k] = a[j];\n return r;\n}\n\nexport function __spreadArray(to, from, pack) {\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\n if (ar || !(i in from)) {\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\n ar[i] = from[i];\n }\n }\n return to.concat(ar || Array.prototype.slice.call(from));\n}\n\nexport function __await(v) {\n return this instanceof __await ? (this.v = v, this) : new __await(v);\n}\n\nexport function __asyncGenerator(thisArg, _arguments, generator) {\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\n return i = Object.create((typeof AsyncIterator === \"function\" ? AsyncIterator : Object).prototype), verb(\"next\"), verb(\"throw\"), verb(\"return\", awaitReturn), i[Symbol.asyncIterator] = function () { return this; }, i;\n function awaitReturn(f) { return function (v) { return Promise.resolve(v).then(f, reject); }; }\n function verb(n, f) { if (g[n]) { i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; if (f) i[n] = f(i[n]); } }\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\n function fulfill(value) { resume(\"next\", value); }\n function reject(value) { resume(\"throw\", value); }\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\n}\n\nexport function __asyncDelegator(o) {\n var i, p;\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: false } : f ? f(v) : v; } : f; }\n}\n\nexport function __asyncValues(o) {\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\n var m = o[Symbol.asyncIterator], i;\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\n}\n\nexport function __makeTemplateObject(cooked, raw) {\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\n return cooked;\n};\n\nvar __setModuleDefault = Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n};\n\nexport function __importStar(mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\n __setModuleDefault(result, mod);\n return result;\n}\n\nexport function __importDefault(mod) {\n return (mod && mod.__esModule) ? mod : { default: mod };\n}\n\nexport function __classPrivateFieldGet(receiver, state, kind, f) {\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\n}\n\nexport function __classPrivateFieldSet(receiver, state, value, kind, f) {\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\n return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\n}\n\nexport function __classPrivateFieldIn(state, receiver) {\n if (receiver === null || (typeof receiver !== \"object\" && typeof receiver !== \"function\")) throw new TypeError(\"Cannot use 'in' operator on non-object\");\n return typeof state === \"function\" ? receiver === state : state.has(receiver);\n}\n\nexport function __addDisposableResource(env, value, async) {\n if (value !== null && value !== void 0) {\n if (typeof value !== \"object\" && typeof value !== \"function\") throw new TypeError(\"Object expected.\");\n var dispose, inner;\n if (async) {\n if (!Symbol.asyncDispose) throw new TypeError(\"Symbol.asyncDispose is not defined.\");\n dispose = value[Symbol.asyncDispose];\n }\n if (dispose === void 0) {\n if (!Symbol.dispose) throw new TypeError(\"Symbol.dispose is not defined.\");\n dispose = value[Symbol.dispose];\n if (async) inner = dispose;\n }\n if (typeof dispose !== \"function\") throw new TypeError(\"Object not disposable.\");\n if (inner) dispose = function() { try { inner.call(this); } catch (e) { return Promise.reject(e); } };\n env.stack.push({ value: value, dispose: dispose, async: async });\n }\n else if (async) {\n env.stack.push({ async: true });\n }\n return value;\n}\n\nvar _SuppressedError = typeof SuppressedError === \"function\" ? SuppressedError : function (error, suppressed, message) {\n var e = new Error(message);\n return e.name = \"SuppressedError\", e.error = error, e.suppressed = suppressed, e;\n};\n\nexport function __disposeResources(env) {\n function fail(e) {\n env.error = env.hasError ? new _SuppressedError(e, env.error, \"An error was suppressed during disposal.\") : e;\n env.hasError = true;\n }\n var r, s = 0;\n function next() {\n while (r = env.stack.pop()) {\n try {\n if (!r.async && s === 1) return s = 0, env.stack.push(r), Promise.resolve().then(next);\n if (r.dispose) {\n var result = r.dispose.call(r.value);\n if (r.async) return s |= 2, Promise.resolve(result).then(next, function(e) { fail(e); return next(); });\n }\n else s |= 1;\n }\n catch (e) {\n fail(e);\n }\n }\n if (s === 1) return env.hasError ? Promise.reject(env.error) : Promise.resolve();\n if (env.hasError) throw env.error;\n }\n return next();\n}\n\nexport default {\n __extends,\n __assign,\n __rest,\n __decorate,\n __param,\n __metadata,\n __awaiter,\n __generator,\n __createBinding,\n __exportStar,\n __values,\n __read,\n __spread,\n __spreadArrays,\n __spreadArray,\n __await,\n __asyncGenerator,\n __asyncDelegator,\n __asyncValues,\n __makeTemplateObject,\n __importStar,\n __importDefault,\n __classPrivateFieldGet,\n __classPrivateFieldSet,\n __classPrivateFieldIn,\n __addDisposableResource,\n __disposeResources,\n};\n","export function isFunction(value) {\n return typeof value === 'function';\n}\n//# sourceMappingURL=isFunction.js.map","export function createErrorClass(createImpl) {\n var _super = function (instance) {\n Error.call(instance);\n instance.stack = new Error().stack;\n };\n var ctorFunc = createImpl(_super);\n ctorFunc.prototype = Object.create(Error.prototype);\n ctorFunc.prototype.constructor = ctorFunc;\n return ctorFunc;\n}\n//# sourceMappingURL=createErrorClass.js.map","import { createErrorClass } from './createErrorClass';\nexport var UnsubscriptionError = createErrorClass(function (_super) {\n return function UnsubscriptionErrorImpl(errors) {\n _super(this);\n this.message = errors\n ? errors.length + \" errors occurred during unsubscription:\\n\" + errors.map(function (err, i) { return i + 1 + \") \" + err.toString(); }).join('\\n ')\n : '';\n this.name = 'UnsubscriptionError';\n this.errors = errors;\n };\n});\n//# sourceMappingURL=UnsubscriptionError.js.map","export function arrRemove(arr, item) {\n if (arr) {\n var index = arr.indexOf(item);\n 0 <= index && arr.splice(index, 1);\n }\n}\n//# sourceMappingURL=arrRemove.js.map","import { __read, __spreadArray, __values } from \"tslib\";\nimport { isFunction } from './util/isFunction';\nimport { UnsubscriptionError } from './util/UnsubscriptionError';\nimport { arrRemove } from './util/arrRemove';\nvar Subscription = (function () {\n function Subscription(initialTeardown) {\n this.initialTeardown = initialTeardown;\n this.closed = false;\n this._parentage = null;\n this._finalizers = null;\n }\n Subscription.prototype.unsubscribe = function () {\n var e_1, _a, e_2, _b;\n var errors;\n if (!this.closed) {\n this.closed = true;\n var _parentage = this._parentage;\n if (_parentage) {\n this._parentage = null;\n if (Array.isArray(_parentage)) {\n try {\n for (var _parentage_1 = __values(_parentage), _parentage_1_1 = _parentage_1.next(); !_parentage_1_1.done; _parentage_1_1 = _parentage_1.next()) {\n var parent_1 = _parentage_1_1.value;\n parent_1.remove(this);\n }\n }\n catch (e_1_1) { e_1 = { error: e_1_1 }; }\n finally {\n try {\n if (_parentage_1_1 && !_parentage_1_1.done && (_a = _parentage_1.return)) _a.call(_parentage_1);\n }\n finally { if (e_1) throw e_1.error; }\n }\n }\n else {\n _parentage.remove(this);\n }\n }\n var initialFinalizer = this.initialTeardown;\n if (isFunction(initialFinalizer)) {\n try {\n initialFinalizer();\n }\n catch (e) {\n errors = e instanceof UnsubscriptionError ? e.errors : [e];\n }\n }\n var _finalizers = this._finalizers;\n if (_finalizers) {\n this._finalizers = null;\n try {\n for (var _finalizers_1 = __values(_finalizers), _finalizers_1_1 = _finalizers_1.next(); !_finalizers_1_1.done; _finalizers_1_1 = _finalizers_1.next()) {\n var finalizer = _finalizers_1_1.value;\n try {\n execFinalizer(finalizer);\n }\n catch (err) {\n errors = errors !== null && errors !== void 0 ? errors : [];\n if (err instanceof UnsubscriptionError) {\n errors = __spreadArray(__spreadArray([], __read(errors)), __read(err.errors));\n }\n else {\n errors.push(err);\n }\n }\n }\n }\n catch (e_2_1) { e_2 = { error: e_2_1 }; }\n finally {\n try {\n if (_finalizers_1_1 && !_finalizers_1_1.done && (_b = _finalizers_1.return)) _b.call(_finalizers_1);\n }\n finally { if (e_2) throw e_2.error; }\n }\n }\n if (errors) {\n throw new UnsubscriptionError(errors);\n }\n }\n };\n Subscription.prototype.add = function (teardown) {\n var _a;\n if (teardown && teardown !== this) {\n if (this.closed) {\n execFinalizer(teardown);\n }\n else {\n if (teardown instanceof Subscription) {\n if (teardown.closed || teardown._hasParent(this)) {\n return;\n }\n teardown._addParent(this);\n }\n (this._finalizers = (_a = this._finalizers) !== null && _a !== void 0 ? _a : []).push(teardown);\n }\n }\n };\n Subscription.prototype._hasParent = function (parent) {\n var _parentage = this._parentage;\n return _parentage === parent || (Array.isArray(_parentage) && _parentage.includes(parent));\n };\n Subscription.prototype._addParent = function (parent) {\n var _parentage = this._parentage;\n this._parentage = Array.isArray(_parentage) ? (_parentage.push(parent), _parentage) : _parentage ? [_parentage, parent] : parent;\n };\n Subscription.prototype._removeParent = function (parent) {\n var _parentage = this._parentage;\n if (_parentage === parent) {\n this._parentage = null;\n }\n else if (Array.isArray(_parentage)) {\n arrRemove(_parentage, parent);\n }\n };\n Subscription.prototype.remove = function (teardown) {\n var _finalizers = this._finalizers;\n _finalizers && arrRemove(_finalizers, teardown);\n if (teardown instanceof Subscription) {\n teardown._removeParent(this);\n }\n };\n Subscription.EMPTY = (function () {\n var empty = new Subscription();\n empty.closed = true;\n return empty;\n })();\n return Subscription;\n}());\nexport { Subscription };\nexport var EMPTY_SUBSCRIPTION = Subscription.EMPTY;\nexport function isSubscription(value) {\n return (value instanceof Subscription ||\n (value && 'closed' in value && isFunction(value.remove) && isFunction(value.add) && isFunction(value.unsubscribe)));\n}\nfunction execFinalizer(finalizer) {\n if (isFunction(finalizer)) {\n finalizer();\n }\n else {\n finalizer.unsubscribe();\n }\n}\n//# sourceMappingURL=Subscription.js.map","export var config = {\n onUnhandledError: null,\n onStoppedNotification: null,\n Promise: undefined,\n useDeprecatedSynchronousErrorHandling: false,\n useDeprecatedNextContext: false,\n};\n//# sourceMappingURL=config.js.map","import { __read, __spreadArray } from \"tslib\";\nexport var timeoutProvider = {\n setTimeout: function (handler, timeout) {\n var args = [];\n for (var _i = 2; _i < arguments.length; _i++) {\n args[_i - 2] = arguments[_i];\n }\n var delegate = timeoutProvider.delegate;\n if (delegate === null || delegate === void 0 ? void 0 : delegate.setTimeout) {\n return delegate.setTimeout.apply(delegate, __spreadArray([handler, timeout], __read(args)));\n }\n return setTimeout.apply(void 0, __spreadArray([handler, timeout], __read(args)));\n },\n clearTimeout: function (handle) {\n var delegate = timeoutProvider.delegate;\n return ((delegate === null || delegate === void 0 ? void 0 : delegate.clearTimeout) || clearTimeout)(handle);\n },\n delegate: undefined,\n};\n//# sourceMappingURL=timeoutProvider.js.map","import { config } from '../config';\nimport { timeoutProvider } from '../scheduler/timeoutProvider';\nexport function reportUnhandledError(err) {\n timeoutProvider.setTimeout(function () {\n var onUnhandledError = config.onUnhandledError;\n if (onUnhandledError) {\n onUnhandledError(err);\n }\n else {\n throw err;\n }\n });\n}\n//# sourceMappingURL=reportUnhandledError.js.map","export function noop() { }\n//# sourceMappingURL=noop.js.map","import { config } from '../config';\nvar context = null;\nexport function errorContext(cb) {\n if (config.useDeprecatedSynchronousErrorHandling) {\n var isRoot = !context;\n if (isRoot) {\n context = { errorThrown: false, error: null };\n }\n cb();\n if (isRoot) {\n var _a = context, errorThrown = _a.errorThrown, error = _a.error;\n context = null;\n if (errorThrown) {\n throw error;\n }\n }\n }\n else {\n cb();\n }\n}\nexport function captureError(err) {\n if (config.useDeprecatedSynchronousErrorHandling && context) {\n context.errorThrown = true;\n context.error = err;\n }\n}\n//# sourceMappingURL=errorContext.js.map","import { __extends } from \"tslib\";\nimport { isFunction } from './util/isFunction';\nimport { isSubscription, Subscription } from './Subscription';\nimport { config } from './config';\nimport { reportUnhandledError } from './util/reportUnhandledError';\nimport { noop } from './util/noop';\nimport { nextNotification, errorNotification, COMPLETE_NOTIFICATION } from './NotificationFactories';\nimport { timeoutProvider } from './scheduler/timeoutProvider';\nimport { captureError } from './util/errorContext';\nvar Subscriber = (function (_super) {\n __extends(Subscriber, _super);\n function Subscriber(destination) {\n var _this = _super.call(this) || this;\n _this.isStopped = false;\n if (destination) {\n _this.destination = destination;\n if (isSubscription(destination)) {\n destination.add(_this);\n }\n }\n else {\n _this.destination = EMPTY_OBSERVER;\n }\n return _this;\n }\n Subscriber.create = function (next, error, complete) {\n return new SafeSubscriber(next, error, complete);\n };\n Subscriber.prototype.next = function (value) {\n if (this.isStopped) {\n handleStoppedNotification(nextNotification(value), this);\n }\n else {\n this._next(value);\n }\n };\n Subscriber.prototype.error = function (err) {\n if (this.isStopped) {\n handleStoppedNotification(errorNotification(err), this);\n }\n else {\n this.isStopped = true;\n this._error(err);\n }\n };\n Subscriber.prototype.complete = function () {\n if (this.isStopped) {\n handleStoppedNotification(COMPLETE_NOTIFICATION, this);\n }\n else {\n this.isStopped = true;\n this._complete();\n }\n };\n Subscriber.prototype.unsubscribe = function () {\n if (!this.closed) {\n this.isStopped = true;\n _super.prototype.unsubscribe.call(this);\n this.destination = null;\n }\n };\n Subscriber.prototype._next = function (value) {\n this.destination.next(value);\n };\n Subscriber.prototype._error = function (err) {\n try {\n this.destination.error(err);\n }\n finally {\n this.unsubscribe();\n }\n };\n Subscriber.prototype._complete = function () {\n try {\n this.destination.complete();\n }\n finally {\n this.unsubscribe();\n }\n };\n return Subscriber;\n}(Subscription));\nexport { Subscriber };\nvar _bind = Function.prototype.bind;\nfunction bind(fn, thisArg) {\n return _bind.call(fn, thisArg);\n}\nvar ConsumerObserver = (function () {\n function ConsumerObserver(partialObserver) {\n this.partialObserver = partialObserver;\n }\n ConsumerObserver.prototype.next = function (value) {\n var partialObserver = this.partialObserver;\n if (partialObserver.next) {\n try {\n partialObserver.next(value);\n }\n catch (error) {\n handleUnhandledError(error);\n }\n }\n };\n ConsumerObserver.prototype.error = function (err) {\n var partialObserver = this.partialObserver;\n if (partialObserver.error) {\n try {\n partialObserver.error(err);\n }\n catch (error) {\n handleUnhandledError(error);\n }\n }\n else {\n handleUnhandledError(err);\n }\n };\n ConsumerObserver.prototype.complete = function () {\n var partialObserver = this.partialObserver;\n if (partialObserver.complete) {\n try {\n partialObserver.complete();\n }\n catch (error) {\n handleUnhandledError(error);\n }\n }\n };\n return ConsumerObserver;\n}());\nvar SafeSubscriber = (function (_super) {\n __extends(SafeSubscriber, _super);\n function SafeSubscriber(observerOrNext, error, complete) {\n var _this = _super.call(this) || this;\n var partialObserver;\n if (isFunction(observerOrNext) || !observerOrNext) {\n partialObserver = {\n next: (observerOrNext !== null && observerOrNext !== void 0 ? observerOrNext : undefined),\n error: error !== null && error !== void 0 ? error : undefined,\n complete: complete !== null && complete !== void 0 ? complete : undefined,\n };\n }\n else {\n var context_1;\n if (_this && config.useDeprecatedNextContext) {\n context_1 = Object.create(observerOrNext);\n context_1.unsubscribe = function () { return _this.unsubscribe(); };\n partialObserver = {\n next: observerOrNext.next && bind(observerOrNext.next, context_1),\n error: observerOrNext.error && bind(observerOrNext.error, context_1),\n complete: observerOrNext.complete && bind(observerOrNext.complete, context_1),\n };\n }\n else {\n partialObserver = observerOrNext;\n }\n }\n _this.destination = new ConsumerObserver(partialObserver);\n return _this;\n }\n return SafeSubscriber;\n}(Subscriber));\nexport { SafeSubscriber };\nfunction handleUnhandledError(error) {\n if (config.useDeprecatedSynchronousErrorHandling) {\n captureError(error);\n }\n else {\n reportUnhandledError(error);\n }\n}\nfunction defaultErrorHandler(err) {\n throw err;\n}\nfunction handleStoppedNotification(notification, subscriber) {\n var onStoppedNotification = config.onStoppedNotification;\n onStoppedNotification && timeoutProvider.setTimeout(function () { return onStoppedNotification(notification, subscriber); });\n}\nexport var EMPTY_OBSERVER = {\n closed: true,\n next: noop,\n error: defaultErrorHandler,\n complete: noop,\n};\n//# sourceMappingURL=Subscriber.js.map","export var observable = (function () { return (typeof Symbol === 'function' && Symbol.observable) || '@@observable'; })();\n//# sourceMappingURL=observable.js.map","export function identity(x) {\n return x;\n}\n//# sourceMappingURL=identity.js.map","import { identity } from './identity';\nexport function pipe() {\n var fns = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n fns[_i] = arguments[_i];\n }\n return pipeFromArray(fns);\n}\nexport function pipeFromArray(fns) {\n if (fns.length === 0) {\n return identity;\n }\n if (fns.length === 1) {\n return fns[0];\n }\n return function piped(input) {\n return fns.reduce(function (prev, fn) { return fn(prev); }, input);\n };\n}\n//# sourceMappingURL=pipe.js.map","import { SafeSubscriber, Subscriber } from './Subscriber';\nimport { isSubscription } from './Subscription';\nimport { observable as Symbol_observable } from './symbol/observable';\nimport { pipeFromArray } from './util/pipe';\nimport { config } from './config';\nimport { isFunction } from './util/isFunction';\nimport { errorContext } from './util/errorContext';\nvar Observable = (function () {\n function Observable(subscribe) {\n if (subscribe) {\n this._subscribe = subscribe;\n }\n }\n Observable.prototype.lift = function (operator) {\n var observable = new Observable();\n observable.source = this;\n observable.operator = operator;\n return observable;\n };\n Observable.prototype.subscribe = function (observerOrNext, error, complete) {\n var _this = this;\n var subscriber = isSubscriber(observerOrNext) ? observerOrNext : new SafeSubscriber(observerOrNext, error, complete);\n errorContext(function () {\n var _a = _this, operator = _a.operator, source = _a.source;\n subscriber.add(operator\n ?\n operator.call(subscriber, source)\n : source\n ?\n _this._subscribe(subscriber)\n :\n _this._trySubscribe(subscriber));\n });\n return subscriber;\n };\n Observable.prototype._trySubscribe = function (sink) {\n try {\n return this._subscribe(sink);\n }\n catch (err) {\n sink.error(err);\n }\n };\n Observable.prototype.forEach = function (next, promiseCtor) {\n var _this = this;\n promiseCtor = getPromiseCtor(promiseCtor);\n return new promiseCtor(function (resolve, reject) {\n var subscriber = new SafeSubscriber({\n next: function (value) {\n try {\n next(value);\n }\n catch (err) {\n reject(err);\n subscriber.unsubscribe();\n }\n },\n error: reject,\n complete: resolve,\n });\n _this.subscribe(subscriber);\n });\n };\n Observable.prototype._subscribe = function (subscriber) {\n var _a;\n return (_a = this.source) === null || _a === void 0 ? void 0 : _a.subscribe(subscriber);\n };\n Observable.prototype[Symbol_observable] = function () {\n return this;\n };\n Observable.prototype.pipe = function () {\n var operations = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n operations[_i] = arguments[_i];\n }\n return pipeFromArray(operations)(this);\n };\n Observable.prototype.toPromise = function (promiseCtor) {\n var _this = this;\n promiseCtor = getPromiseCtor(promiseCtor);\n return new promiseCtor(function (resolve, reject) {\n var value;\n _this.subscribe(function (x) { return (value = x); }, function (err) { return reject(err); }, function () { return resolve(value); });\n });\n };\n Observable.create = function (subscribe) {\n return new Observable(subscribe);\n };\n return Observable;\n}());\nexport { Observable };\nfunction getPromiseCtor(promiseCtor) {\n var _a;\n return (_a = promiseCtor !== null && promiseCtor !== void 0 ? promiseCtor : config.Promise) !== null && _a !== void 0 ? _a : Promise;\n}\nfunction isObserver(value) {\n return value && isFunction(value.next) && isFunction(value.error) && isFunction(value.complete);\n}\nfunction isSubscriber(value) {\n return (value && value instanceof Subscriber) || (isObserver(value) && isSubscription(value));\n}\n//# sourceMappingURL=Observable.js.map","import { isFunction } from './isFunction';\nexport function hasLift(source) {\n return isFunction(source === null || source === void 0 ? void 0 : source.lift);\n}\nexport function operate(init) {\n return function (source) {\n if (hasLift(source)) {\n return source.lift(function (liftedSource) {\n try {\n return init(liftedSource, this);\n }\n catch (err) {\n this.error(err);\n }\n });\n }\n throw new TypeError('Unable to lift unknown Observable type');\n };\n}\n//# sourceMappingURL=lift.js.map","import { __extends } from \"tslib\";\nimport { Subscriber } from '../Subscriber';\nexport function createOperatorSubscriber(destination, onNext, onComplete, onError, onFinalize) {\n return new OperatorSubscriber(destination, onNext, onComplete, onError, onFinalize);\n}\nvar OperatorSubscriber = (function (_super) {\n __extends(OperatorSubscriber, _super);\n function OperatorSubscriber(destination, onNext, onComplete, onError, onFinalize, shouldUnsubscribe) {\n var _this = _super.call(this, destination) || this;\n _this.onFinalize = onFinalize;\n _this.shouldUnsubscribe = shouldUnsubscribe;\n _this._next = onNext\n ? function (value) {\n try {\n onNext(value);\n }\n catch (err) {\n destination.error(err);\n }\n }\n : _super.prototype._next;\n _this._error = onError\n ? function (err) {\n try {\n onError(err);\n }\n catch (err) {\n destination.error(err);\n }\n finally {\n this.unsubscribe();\n }\n }\n : _super.prototype._error;\n _this._complete = onComplete\n ? function () {\n try {\n onComplete();\n }\n catch (err) {\n destination.error(err);\n }\n finally {\n this.unsubscribe();\n }\n }\n : _super.prototype._complete;\n return _this;\n }\n OperatorSubscriber.prototype.unsubscribe = function () {\n var _a;\n if (!this.shouldUnsubscribe || this.shouldUnsubscribe()) {\n var closed_1 = this.closed;\n _super.prototype.unsubscribe.call(this);\n !closed_1 && ((_a = this.onFinalize) === null || _a === void 0 ? void 0 : _a.call(this));\n }\n };\n return OperatorSubscriber;\n}(Subscriber));\nexport { OperatorSubscriber };\n//# sourceMappingURL=OperatorSubscriber.js.map","export var isArrayLike = (function (x) { return x && typeof x.length === 'number' && typeof x !== 'function'; });\n//# sourceMappingURL=isArrayLike.js.map","import { isFunction } from \"./isFunction\";\nexport function isPromise(value) {\n return isFunction(value === null || value === void 0 ? void 0 : value.then);\n}\n//# sourceMappingURL=isPromise.js.map","import { observable as Symbol_observable } from '../symbol/observable';\nimport { isFunction } from './isFunction';\nexport function isInteropObservable(input) {\n return isFunction(input[Symbol_observable]);\n}\n//# sourceMappingURL=isInteropObservable.js.map","import { isFunction } from './isFunction';\nexport function isAsyncIterable(obj) {\n return Symbol.asyncIterator && isFunction(obj === null || obj === void 0 ? void 0 : obj[Symbol.asyncIterator]);\n}\n//# sourceMappingURL=isAsyncIterable.js.map","export function createInvalidObservableTypeError(input) {\n return new TypeError(\"You provided \" + (input !== null && typeof input === 'object' ? 'an invalid object' : \"'\" + input + \"'\") + \" where a stream was expected. You can provide an Observable, Promise, ReadableStream, Array, AsyncIterable, or Iterable.\");\n}\n//# sourceMappingURL=throwUnobservableError.js.map","export function getSymbolIterator() {\n if (typeof Symbol !== 'function' || !Symbol.iterator) {\n return '@@iterator';\n }\n return Symbol.iterator;\n}\nexport var iterator = getSymbolIterator();\n//# sourceMappingURL=iterator.js.map","import { iterator as Symbol_iterator } from '../symbol/iterator';\nimport { isFunction } from './isFunction';\nexport function isIterable(input) {\n return isFunction(input === null || input === void 0 ? void 0 : input[Symbol_iterator]);\n}\n//# sourceMappingURL=isIterable.js.map","import { __asyncGenerator, __await, __generator } from \"tslib\";\nimport { isFunction } from './isFunction';\nexport function readableStreamLikeToAsyncGenerator(readableStream) {\n return __asyncGenerator(this, arguments, function readableStreamLikeToAsyncGenerator_1() {\n var reader, _a, value, done;\n return __generator(this, function (_b) {\n switch (_b.label) {\n case 0:\n reader = readableStream.getReader();\n _b.label = 1;\n case 1:\n _b.trys.push([1, , 9, 10]);\n _b.label = 2;\n case 2:\n if (!true) return [3, 8];\n return [4, __await(reader.read())];\n case 3:\n _a = _b.sent(), value = _a.value, done = _a.done;\n if (!done) return [3, 5];\n return [4, __await(void 0)];\n case 4: return [2, _b.sent()];\n case 5: return [4, __await(value)];\n case 6: return [4, _b.sent()];\n case 7:\n _b.sent();\n return [3, 2];\n case 8: return [3, 10];\n case 9:\n reader.releaseLock();\n return [7];\n case 10: return [2];\n }\n });\n });\n}\nexport function isReadableStreamLike(obj) {\n return isFunction(obj === null || obj === void 0 ? void 0 : obj.getReader);\n}\n//# sourceMappingURL=isReadableStreamLike.js.map","import { __asyncValues, __awaiter, __generator, __values } from \"tslib\";\nimport { isArrayLike } from '../util/isArrayLike';\nimport { isPromise } from '../util/isPromise';\nimport { Observable } from '../Observable';\nimport { isInteropObservable } from '../util/isInteropObservable';\nimport { isAsyncIterable } from '../util/isAsyncIterable';\nimport { createInvalidObservableTypeError } from '../util/throwUnobservableError';\nimport { isIterable } from '../util/isIterable';\nimport { isReadableStreamLike, readableStreamLikeToAsyncGenerator } from '../util/isReadableStreamLike';\nimport { isFunction } from '../util/isFunction';\nimport { reportUnhandledError } from '../util/reportUnhandledError';\nimport { observable as Symbol_observable } from '../symbol/observable';\nexport function innerFrom(input) {\n if (input instanceof Observable) {\n return input;\n }\n if (input != null) {\n if (isInteropObservable(input)) {\n return fromInteropObservable(input);\n }\n if (isArrayLike(input)) {\n return fromArrayLike(input);\n }\n if (isPromise(input)) {\n return fromPromise(input);\n }\n if (isAsyncIterable(input)) {\n return fromAsyncIterable(input);\n }\n if (isIterable(input)) {\n return fromIterable(input);\n }\n if (isReadableStreamLike(input)) {\n return fromReadableStreamLike(input);\n }\n }\n throw createInvalidObservableTypeError(input);\n}\nexport function fromInteropObservable(obj) {\n return new Observable(function (subscriber) {\n var obs = obj[Symbol_observable]();\n if (isFunction(obs.subscribe)) {\n return obs.subscribe(subscriber);\n }\n throw new TypeError('Provided object does not correctly implement Symbol.observable');\n });\n}\nexport function fromArrayLike(array) {\n return new Observable(function (subscriber) {\n for (var i = 0; i < array.length && !subscriber.closed; i++) {\n subscriber.next(array[i]);\n }\n subscriber.complete();\n });\n}\nexport function fromPromise(promise) {\n return new Observable(function (subscriber) {\n promise\n .then(function (value) {\n if (!subscriber.closed) {\n subscriber.next(value);\n subscriber.complete();\n }\n }, function (err) { return subscriber.error(err); })\n .then(null, reportUnhandledError);\n });\n}\nexport function fromIterable(iterable) {\n return new Observable(function (subscriber) {\n var e_1, _a;\n try {\n for (var iterable_1 = __values(iterable), iterable_1_1 = iterable_1.next(); !iterable_1_1.done; iterable_1_1 = iterable_1.next()) {\n var value = iterable_1_1.value;\n subscriber.next(value);\n if (subscriber.closed) {\n return;\n }\n }\n }\n catch (e_1_1) { e_1 = { error: e_1_1 }; }\n finally {\n try {\n if (iterable_1_1 && !iterable_1_1.done && (_a = iterable_1.return)) _a.call(iterable_1);\n }\n finally { if (e_1) throw e_1.error; }\n }\n subscriber.complete();\n });\n}\nexport function fromAsyncIterable(asyncIterable) {\n return new Observable(function (subscriber) {\n process(asyncIterable, subscriber).catch(function (err) { return subscriber.error(err); });\n });\n}\nexport function fromReadableStreamLike(readableStream) {\n return fromAsyncIterable(readableStreamLikeToAsyncGenerator(readableStream));\n}\nfunction process(asyncIterable, subscriber) {\n var asyncIterable_1, asyncIterable_1_1;\n var e_2, _a;\n return __awaiter(this, void 0, void 0, function () {\n var value, e_2_1;\n return __generator(this, function (_b) {\n switch (_b.label) {\n case 0:\n _b.trys.push([0, 5, 6, 11]);\n asyncIterable_1 = __asyncValues(asyncIterable);\n _b.label = 1;\n case 1: return [4, asyncIterable_1.next()];\n case 2:\n if (!(asyncIterable_1_1 = _b.sent(), !asyncIterable_1_1.done)) return [3, 4];\n value = asyncIterable_1_1.value;\n subscriber.next(value);\n if (subscriber.closed) {\n return [2];\n }\n _b.label = 3;\n case 3: return [3, 1];\n case 4: return [3, 11];\n case 5:\n e_2_1 = _b.sent();\n e_2 = { error: e_2_1 };\n return [3, 11];\n case 6:\n _b.trys.push([6, , 9, 10]);\n if (!(asyncIterable_1_1 && !asyncIterable_1_1.done && (_a = asyncIterable_1.return))) return [3, 8];\n return [4, _a.call(asyncIterable_1)];\n case 7:\n _b.sent();\n _b.label = 8;\n case 8: return [3, 10];\n case 9:\n if (e_2) throw e_2.error;\n return [7];\n case 10: return [7];\n case 11:\n subscriber.complete();\n return [2];\n }\n });\n });\n}\n//# sourceMappingURL=innerFrom.js.map","export function executeSchedule(parentSubscription, scheduler, work, delay, repeat) {\n if (delay === void 0) { delay = 0; }\n if (repeat === void 0) { repeat = false; }\n var scheduleSubscription = scheduler.schedule(function () {\n work();\n if (repeat) {\n parentSubscription.add(this.schedule(null, delay));\n }\n else {\n this.unsubscribe();\n }\n }, delay);\n parentSubscription.add(scheduleSubscription);\n if (!repeat) {\n return scheduleSubscription;\n }\n}\n//# sourceMappingURL=executeSchedule.js.map","import { operate } from '../util/lift';\nimport { createOperatorSubscriber } from './OperatorSubscriber';\nexport function map(project, thisArg) {\n return operate(function (source, subscriber) {\n var index = 0;\n source.subscribe(createOperatorSubscriber(subscriber, function (value) {\n subscriber.next(project.call(thisArg, value, index++));\n }));\n });\n}\n//# sourceMappingURL=map.js.map","import { __read, __spreadArray } from \"tslib\";\nimport { map } from \"../operators/map\";\nvar isArray = Array.isArray;\nfunction callOrApply(fn, args) {\n return isArray(args) ? fn.apply(void 0, __spreadArray([], __read(args))) : fn(args);\n}\nexport function mapOneOrManyArgs(fn) {\n return map(function (args) { return callOrApply(fn, args); });\n}\n//# sourceMappingURL=mapOneOrManyArgs.js.map","import { innerFrom } from '../observable/innerFrom';\nimport { executeSchedule } from '../util/executeSchedule';\nimport { createOperatorSubscriber } from './OperatorSubscriber';\nexport function mergeInternals(source, subscriber, project, concurrent, onBeforeNext, expand, innerSubScheduler, additionalFinalizer) {\n var buffer = [];\n var active = 0;\n var index = 0;\n var isComplete = false;\n var checkComplete = function () {\n if (isComplete && !buffer.length && !active) {\n subscriber.complete();\n }\n };\n var outerNext = function (value) { return (active < concurrent ? doInnerSub(value) : buffer.push(value)); };\n var doInnerSub = function (value) {\n expand && subscriber.next(value);\n active++;\n var innerComplete = false;\n innerFrom(project(value, index++)).subscribe(createOperatorSubscriber(subscriber, function (innerValue) {\n onBeforeNext === null || onBeforeNext === void 0 ? void 0 : onBeforeNext(innerValue);\n if (expand) {\n outerNext(innerValue);\n }\n else {\n subscriber.next(innerValue);\n }\n }, function () {\n innerComplete = true;\n }, undefined, function () {\n if (innerComplete) {\n try {\n active--;\n var _loop_1 = function () {\n var bufferedValue = buffer.shift();\n if (innerSubScheduler) {\n executeSchedule(subscriber, innerSubScheduler, function () { return doInnerSub(bufferedValue); });\n }\n else {\n doInnerSub(bufferedValue);\n }\n };\n while (buffer.length && active < concurrent) {\n _loop_1();\n }\n checkComplete();\n }\n catch (err) {\n subscriber.error(err);\n }\n }\n }));\n };\n source.subscribe(createOperatorSubscriber(subscriber, outerNext, function () {\n isComplete = true;\n checkComplete();\n }));\n return function () {\n additionalFinalizer === null || additionalFinalizer === void 0 ? void 0 : additionalFinalizer();\n };\n}\n//# sourceMappingURL=mergeInternals.js.map","import { map } from './map';\nimport { innerFrom } from '../observable/innerFrom';\nimport { operate } from '../util/lift';\nimport { mergeInternals } from './mergeInternals';\nimport { isFunction } from '../util/isFunction';\nexport function mergeMap(project, resultSelector, concurrent) {\n if (concurrent === void 0) { concurrent = Infinity; }\n if (isFunction(resultSelector)) {\n return mergeMap(function (a, i) { return map(function (b, ii) { return resultSelector(a, b, i, ii); })(innerFrom(project(a, i))); }, concurrent);\n }\n else if (typeof resultSelector === 'number') {\n concurrent = resultSelector;\n }\n return operate(function (source, subscriber) { return mergeInternals(source, subscriber, project, concurrent); });\n}\n//# sourceMappingURL=mergeMap.js.map","import { __read } from \"tslib\";\nimport { innerFrom } from '../observable/innerFrom';\nimport { Observable } from '../Observable';\nimport { mergeMap } from '../operators/mergeMap';\nimport { isArrayLike } from '../util/isArrayLike';\nimport { isFunction } from '../util/isFunction';\nimport { mapOneOrManyArgs } from '../util/mapOneOrManyArgs';\nvar nodeEventEmitterMethods = ['addListener', 'removeListener'];\nvar eventTargetMethods = ['addEventListener', 'removeEventListener'];\nvar jqueryMethods = ['on', 'off'];\nexport function fromEvent(target, eventName, options, resultSelector) {\n if (isFunction(options)) {\n resultSelector = options;\n options = undefined;\n }\n if (resultSelector) {\n return fromEvent(target, eventName, options).pipe(mapOneOrManyArgs(resultSelector));\n }\n var _a = __read(isEventTarget(target)\n ? eventTargetMethods.map(function (methodName) { return function (handler) { return target[methodName](eventName, handler, options); }; })\n :\n isNodeStyleEventEmitter(target)\n ? nodeEventEmitterMethods.map(toCommonHandlerRegistry(target, eventName))\n : isJQueryStyleEventEmitter(target)\n ? jqueryMethods.map(toCommonHandlerRegistry(target, eventName))\n : [], 2), add = _a[0], remove = _a[1];\n if (!add) {\n if (isArrayLike(target)) {\n return mergeMap(function (subTarget) { return fromEvent(subTarget, eventName, options); })(innerFrom(target));\n }\n }\n if (!add) {\n throw new TypeError('Invalid event target');\n }\n return new Observable(function (subscriber) {\n var handler = function () {\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n return subscriber.next(1 < args.length ? args : args[0]);\n };\n add(handler);\n return function () { return remove(handler); };\n });\n}\nfunction toCommonHandlerRegistry(target, eventName) {\n return function (methodName) { return function (handler) { return target[methodName](eventName, handler); }; };\n}\nfunction isNodeStyleEventEmitter(target) {\n return isFunction(target.addListener) && isFunction(target.removeListener);\n}\nfunction isJQueryStyleEventEmitter(target) {\n return isFunction(target.on) && isFunction(target.off);\n}\nfunction isEventTarget(target) {\n return isFunction(target.addEventListener) && isFunction(target.removeEventListener);\n}\n//# sourceMappingURL=fromEvent.js.map","import { QRY } from '../constants';\nimport { trim } from './utils';\n\nexport const getPath = (isHash, location) => {\n return trim(\n isHash ? location.hash.substring(1).split(QRY)[0] : location.pathname,\n );\n};\n","import { QRY } from '../../constants';\nimport { trim } from '../../utils/utils';\n\n/**\n * Creates an instance of router event\n */\nexport class RouterEvent {\n /**\n * Creates a instance of router event\n * @typedef {import('./types').RouteInfo} RouteInfo\n * @param {RouteInfo} routeInfo Route information\n * @param {CustomEvent} currentEvent Current event object\n */\n constructor(routeInfo, currentEvent) {\n // Set relevant parameters\n const [routeObject, originalEvent, routerInstance] = routeInfo;\n const { location, history } = routerInstance.config;\n this.route = routeObject.path;\n this.isHashRoute = routeObject.hash;\n this.router = routerInstance;\n this.currentEvent = originalEvent || currentEvent;\n this.query = {\n path: trim(location.search.substring(1)),\n hash: trim(location.hash.split(QRY)[1]),\n };\n const { state } = originalEvent || {};\n const { data, idx = 0 } = state || history.state || {};\n this.data = data;\n this.index = +idx;\n }\n}\n","import { Observable } from 'rxjs';\nimport { getPath } from '../../utils/getPath';\nimport { RouterEvent } from '../routerEvent';\n\n/**\n * Calls the handler once on initialization\n * @param {boolean} [isd] Optional flag used as a switch\n * @returns {(observable: Observable) => Observable}\n */\nexport default function callOnce(isd) {\n let isDone = isd;\n const { hashRouting: hash, location, init } = this.config;\n const path = getPath(hash, location);\n return observable =>\n new Observable(subscriber => {\n const subn = observable.subscribe(subscriber);\n if (!isDone) {\n isDone = true;\n if (init && path) {\n subscriber.next(new RouterEvent([{ path, hash }, undefined, this]));\n }\n }\n return () => {\n subn.unsubscribe();\n };\n });\n}\n","import { Observable } from 'rxjs';\nimport { RouterEvent } from '../routerEvent';\n\n/**\n * Attaches a route handler\n * @returns {(observable: Observable) => Observable}\n */\nexport default function collate() {\n return observable =>\n new Observable(subscriber => {\n const subn = observable.subscribe({\n next: event => {\n const [, , routerInstance] = event.detail;\n if (routerInstance === this) {\n subscriber.next(new RouterEvent(event.detail, event));\n }\n },\n error: subscriber.error,\n complete: subscriber.complete,\n });\n return () => {\n subn.unsubscribe();\n };\n });\n}\n","import { fromEvent } from 'rxjs';\nimport {\n HISTORY_UNSUPPORTED,\n POP_STATE,\n PUSH,\n VIRTUAL_PUSHSTATE,\n} from '../../constants';\nimport { getPath } from '../../utils/getPath';\nimport { trigger } from '../../utils/triggerEvent';\nimport callOnce from '../callOnce';\nimport collate from '../collate';\n\n/**\n * Core router class to handle basic routing functionality\n */\nexport class RouterCore {\n static get global() {\n return typeof globalThis !== 'undefined' ? globalThis : global || self;\n }\n /**\n * Router core constructor\n * @typedef {import('./types').RouterCoreConfig} RouterCoreConfig\n * @param {RouterCoreConfig} routerCoreConfig Route core configuration\n */\n constructor({ history, context, location, hash }) {\n if (!history[PUSH]) {\n throw new Error(HISTORY_UNSUPPORTED);\n }\n this.popStateSubscription = fromEvent(\n RouterCore.global,\n POP_STATE,\n ).subscribe(e => {\n const path = getPath(hash, location);\n if (path) {\n trigger(context, VIRTUAL_PUSHSTATE, [{ path, hash }, e, this]);\n }\n });\n this.listeners = fromEvent(context, VIRTUAL_PUSHSTATE).pipe(\n collate.apply(this),\n );\n }\n /**\n * Allows you to add operators for any pre-processing before a handler is called\n * @typedef {import('./types').Operator} Operator\n * @typedef {import('rxjs').Observable} Observable\n * @param {...Operator} ops Operators\n * @returns {Observable}\n */\n pipe(...ops) {\n return this.listeners.pipe(callOnce.apply(this), ...ops);\n }\n /**\n * Attaches a route handler\n * @typedef {import('../routerEvent/index').RouterEvent} RouterEvent\n * @param {(event: RouterEvent) => void} fn Route handler\n */\n subscribe(fn) {\n return this.pipe().subscribe(fn);\n }\n /**\n * Destroys current router instance\n * @param {() => void} callback Callback for destroy function\n */\n destroy(callback) {\n if (typeof callback === 'function') {\n callback();\n }\n this.popStateSubscription.unsubscribe(); // Unsubscribe popstate event\n }\n}\n","import isObject from 'is-object';\nimport set from '../set';\nimport { RouterCore } from './RouterCore';\n\n/**\n * Browser router to handle routing logic\n */\nexport class Router extends RouterCore {\n /**\n * Router constructor\n * @typedef {import('./types').RouterConfig} RouterConfig\n * @param {RouterConfig} config\n */\n constructor(config) {\n config = isObject(config) ? config : {};\n const { history, location, document } = RouterCore.global;\n const context = document.body;\n super({\n history,\n location,\n context,\n hash: config.hashRouting,\n });\n this.config = Object.freeze({\n init: true,\n hashRouting: false,\n preservePath: false,\n context,\n history,\n location,\n ...config,\n });\n if (config.hashRouting && !location.hash) {\n this.set('/', {\n replace: true,\n preventDefault: true, // Don't execute route handlers\n });\n }\n }\n /**\n * Sets the current route path\n * @typedef {import('../set/types').RouteConfig} RouteConfig\n * @param {string} path Route path\n * @param {RouteConfig} routeConfig Route config\n */\n set(path, routeConfig) {\n set.apply(this, [path, routeConfig]);\n }\n}\n","import { Router, RouterCore, resolveParams } from '../src/js';\nimport pkg from '../package.json';\n\nfunction q(selector) {\n if (typeof selector === 'string') {\n const elArray = [];\n selector\n .split(',')\n .map(selectorPart => selectorPart.trim())\n .forEach(selectorPart => {\n const selected = [...document.querySelectorAll(selectorPart)];\n selected.forEach(el => {\n if (!elArray.includes(el)) {\n elArray.push(el);\n }\n });\n });\n return elArray;\n }\n return [...document.querySelectorAll(...arguments)];\n}\n\nfunction renderVersion() {\n q('.version').forEach(el => {\n const wrapper = el.querySelector('span');\n if (wrapper) {\n wrapper.textContent = pkg.version;\n }\n });\n}\n\nfunction initializeRouting() {\n q('#checkHash').forEach(el => {\n el.checked = window.sessionStorage.getItem('checkedStatus') === '1';\n });\n const router = new Router();\n let childRouter = router;\n router.subscribe(e => {\n const eventRoute =\n location.hostname === 'scssyworks.github.io'\n ? e.route.replace(/\\/silkrouter\\//, '/')\n : e.route;\n q('a.nav-link').forEach(el => {\n el.classList.remove('active');\n const elRoute = el.getAttribute('href');\n if (\n (elRoute === '/' && eventRoute === elRoute) ||\n (elRoute !== '/' && eventRoute.includes(elRoute))\n ) {\n el.classList.add('active');\n }\n });\n q('[data-section]').forEach(el => {\n el.classList.add('d-none');\n const elSection = el.getAttribute('data-section');\n if (elSection === '/' && eventRoute === elSection) {\n el.classList.remove('d-none');\n } else if (elSection !== '/' && eventRoute.includes(elSection)) {\n el.classList.remove('d-none');\n }\n });\n q(\n '.params-data, .query-next-step, .query-data, .data-next-step, .state-data, .pass-data-tutorial',\n ).forEach(el => {\n el.classList.add('d-none');\n });\n });\n const paramsRoute =\n location.hostname === 'scssyworks.github.io'\n ? '/silkrouter/tab3/:firstname/:lastname'\n : '/tab3/:firstname/:lastname';\n router.subscribe(e => {\n const params = resolveParams(paramsRoute, e.route);\n if (Object.keys(params).length) {\n q('.params-data').forEach(el => {\n el.textContent = JSON.stringify(params, null, 2);\n });\n q('.params-data, .query-next-step').forEach(el => {\n el.classList.remove('d-none');\n });\n if (e.query.path) {\n q('.query-data').forEach(el => {\n el.textContent = e.query.path;\n el.classList.remove('d-none');\n });\n q('.data-next-step').forEach(el => {\n el.classList.remove('d-none');\n });\n }\n if (e.data) {\n q('.state-data').forEach(el => {\n el.textContent = e.data;\n el.classList.remove('d-none');\n });\n q('.pass-data-tutorial').forEach(el => {\n el.classList.remove('d-none');\n });\n }\n }\n });\n document.addEventListener('click', e => {\n q('a.nav-link').forEach(el => {\n if (el.contains(e.target)) {\n e.preventDefault();\n const isRelative = el.hasAttribute('data-relative');\n let route =\n isRelative && q('#checkHash:checked').length === 0\n ? el.closest('section').getAttribute('data-section') +\n el.getAttribute('href')\n : el.getAttribute('href');\n if (location.hostname === 'scssyworks.github.io') {\n route = `/silkrouter${route}`;\n }\n if (isRelative) {\n if (\n location.hostname === 'scssyworks.github.io' &&\n childRouter.config.hashRouting\n ) {\n route = route.replace(/\\/silkrouter\\//, '/');\n }\n childRouter.set(route);\n } else {\n router.set(route);\n }\n }\n });\n q('.btn-primary.clear-session').forEach(el => {\n if (el.contains(e.target)) {\n window.sessionStorage.clear();\n window.location.href =\n location.hostname === 'scssyworks.github.io'\n ? '/silkrouter/tab2/'\n : '/tab2/';\n }\n });\n q('.append-param').forEach(el => {\n if (el.contains(e.target)) {\n router.set(\n `${\n location.hostname === 'scssyworks.github.io' ? '/silkrouter' : ''\n }/tab3/john/doe`,\n );\n }\n });\n q('.append-query').forEach(el => {\n if (el.contains(e.target)) {\n router.set(\n `${\n location.hostname === 'scssyworks.github.io' ? '/silkrouter' : ''\n }/tab3/john/doe`,\n {\n queryString: 'q=HelloWorld',\n },\n );\n }\n });\n q('.append-data').forEach(el => {\n if (el.contains(e.target)) {\n router.set(\n `${\n location.hostname === 'scssyworks.github.io' ? '/silkrouter' : ''\n }/tab3/john/doe`,\n {\n queryString: 'q=HelloWorld',\n data: 'Hi there!',\n },\n );\n }\n });\n });\n q('#checkHash').forEach(el => {\n el.addEventListener('change', () => {\n window.sessionStorage.setItem(\n 'checkedStatus',\n `${q('#checkHash:checked').length}`,\n );\n window.location.href = `${\n location.hostname === 'scssyworks.github.io' ? '/silkrouter' : ''\n }/tab2/`;\n });\n });\n if (q('#checkHash:checked').length) {\n const hashRouter = new Router({\n hashRouting: true,\n preservePath: true,\n });\n hashRouter.subscribe(e => {\n q('a.nav-link[data-relative]').forEach(el => {\n el.classList.remove('active');\n if (e.route.includes(el.getAttribute('href'))) {\n el.classList.add('active');\n }\n });\n });\n childRouter = hashRouter;\n }\n}\n\nfunction setGlobals() {\n window.Router = Router;\n window.RouterCore = RouterCore;\n}\n\ninitializeRouting();\nrenderVersion();\nsetGlobals();\n"],"names":["POP_STATE","REG_ROUTE_PARAMS","REG_PATHNAME","HISTORY_UNSUPPORTED","INVALID_ROUTE","VIRTUAL_PUSHSTATE","QRY","EMPTY","STATE","PUSH","REPLACE","resolveParams","expr","path","params","test","pathRegex","RegExp","replace","lastIndex","keys","Array","from","match","map","key","values","shift","forEach","index","trigger","context","eventType","data","dispatchEvent","CustomEvent","bubbles","cancelable","detail","isString","str","trim","isValidRoute","route","set","routeStr","rConfig","routeConfig","isObject","qs","split","preventDefault","queryString","pageTitle","preservePath","hashRouting","hash","history","config","routeString","savedState","state","idx","undefined","TypeError","Symbol_observable","Symbol_iterator","getPath","isHash","location","substring","pathname","RouterEvent","constructor","routeInfo","currentEvent","routeObject","originalEvent","routerInstance","isHashRoute","router","query","search","callOnce","isd","isDone","init","observable","Observable","subscriber","subn","subscribe","next","unsubscribe","collate","event","error","complete","RouterCore","global","globalThis","self","_ref","Error","popStateSubscription","fromEvent","e","listeners","pipe","apply","_len","arguments","length","ops","_key","fn","destroy","callback","Router","document","body","Object","freeze","q","selector","elArray","selectorPart","selected","querySelectorAll","el","includes","push","renderVersion","wrapper","querySelector","textContent","pkg","version","initializeRouting","checked","window","sessionStorage","getItem","childRouter","eventRoute","hostname","classList","remove","elRoute","getAttribute","add","elSection","paramsRoute","JSON","stringify","addEventListener","contains","target","isRelative","hasAttribute","closest","clear","href","setItem","hashRouter","setGlobals"],"mappings":"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","x_google_ignoreList":[2,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38]} \ No newline at end of file diff --git a/dist/render/silkrouter.iife.min.js b/dist/render/silkrouter.iife.min.js index d50ad61..9465a0f 100644 --- a/dist/render/silkrouter.iife.min.js +++ b/dist/render/silkrouter.iife.min.js @@ -1 +1 @@ -!function(){"use strict";const t=/:[^/]+/g,e=/^\/(?=[^?]*)/,r="vpushstate",n="?",o="",i=void 0,s=typeof o,a=typeof i,c="State",u=`push${c}`,l=`replace${c}`;function f(t){return t&&t.__esModule&&Object.prototype.hasOwnProperty.call(t,"default")?t.default:t}var h=f((function(t){return"object"==typeof t&&null!==t}));function p(t,e,r){t.dispatchEvent(new CustomEvent(e,{bubbles:!0,cancelable:!0,detail:r||[]}))}function d(t){return typeof t===s?t.trim():o}function y(t,s){s=h(s)?s:{};const[a,c]=t.split(n),{replace:f=!1,preventDefault:y=!1,queryString:b=c,data:v,pageTitle:m=null}=s,{preservePath:w,hashRouting:g,history:x,context:S}=this.config;if(!function(t){return e.test(t)}(t=d(a)))throw new TypeError("Route format is incorrect!");{const e=t;g&&(t=`${w?"":"/"}#${t}`),t=`${t}${d(b?`${n+b}`:o)}`;const s=x.state||{idx:0};x[f?l:u]({data:v,idx:s.idx+1},m,t),!y&&e&&p(S,r,[{path:e,hash:g},i,this])}}var b=function(t,e){return b=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])},b(t,e)};function v(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function r(){this.constructor=t}b(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)}function m(t,e,r,n){return new(r||(r=Promise))((function(o,i){function s(t){try{c(n.next(t))}catch(t){i(t)}}function a(t){try{c(n.throw(t))}catch(t){i(t)}}function c(t){var e;t.done?o(t.value):(e=t.value,e instanceof r?e:new r((function(t){t(e)}))).then(s,a)}c((n=n.apply(t,e||[])).next())}))}function w(t,e){var r,n,o,i,s={label:0,sent:function(){if(1&o[0])throw o[1];return o[1]},trys:[],ops:[]};return i={next:a(0),throw:a(1),return:a(2)},"function"==typeof Symbol&&(i[Symbol.iterator]=function(){return this}),i;function a(a){return function(c){return function(a){if(r)throw new TypeError("Generator is already executing.");for(;i&&(i=0,a[0]&&(s=0)),s;)try{if(r=1,n&&(o=2&a[0]?n.return:a[0]?n.throw||((o=n.return)&&o.call(n),0):n.next)&&!(o=o.call(n,a[1])).done)return o;switch(n=0,o&&(a=[2&a[0],o.value]),a[0]){case 0:case 1:o=a;break;case 4:return s.label++,{value:a[1],done:!1};case 5:s.label++,n=a[1],a=[0];continue;case 7:a=s.ops.pop(),s.trys.pop();continue;default:if(!(o=s.trys,(o=o.length>0&&o[o.length-1])||6!==a[0]&&2!==a[0])){s=0;continue}if(3===a[0]&&(!o||a[1]>o[0]&&a[1]=t.length&&(t=void 0),{value:t&&t[n++],done:!t}}};throw new TypeError(e?"Object is not iterable.":"Symbol.iterator is not defined.")}function x(t,e){var r="function"==typeof Symbol&&t[Symbol.iterator];if(!r)return t;var n,o,i=r.call(t),s=[];try{for(;(void 0===e||e-- >0)&&!(n=i.next()).done;)s.push(n.value)}catch(t){o={error:t}}finally{try{n&&!n.done&&(r=i.return)&&r.call(i)}finally{if(o)throw o.error}}return s}function S(t,e,r){if(r||2===arguments.length)for(var n,o=0,i=e.length;o1||a(t,e)}))})}function a(t,e){try{(r=o[t](e)).value instanceof E?Promise.resolve(r.value.v).then(c,u):l(i[0][2],r)}catch(t){l(i[0][3],t)}var r}function c(t){a("next",t)}function u(t){a("throw",t)}function l(t,e){t(e),i.shift(),i.length&&a(i[0][0],i[0][1])}}function k(t){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var e,r=t[Symbol.asyncIterator];return r?r.call(t):(t=g(t),e={},n("next"),n("throw"),n("return"),e[Symbol.asyncIterator]=function(){return this},e);function n(r){e[r]=t[r]&&function(e){return new Promise((function(n,o){(function(t,e,r,n){Promise.resolve(n).then((function(e){t({value:e,done:r})}),e)})(n,o,(e=t[r](e)).done,e.value)}))}}}function A(t){return"function"==typeof t}"function"==typeof SuppressedError&&SuppressedError;var P,T=((P=function(t){return function(e){t(this),this.message=e?e.length+" errors occurred during unsubscription:\n"+e.map((function(t,e){return e+1+") "+t.toString()})).join("\n "):"",this.name="UnsubscriptionError",this.errors=e}}((function(t){Error.call(t),t.stack=(new Error).stack}))).prototype=Object.create(Error.prototype),P.prototype.constructor=P,P);function L(t,e){if(t){var r=t.indexOf(e);0<=r&&t.splice(r,1)}}var O=function(){function t(t){this.initialTeardown=t,this.closed=!1,this._parentage=null,this._finalizers=null}var e;return t.prototype.unsubscribe=function(){var t,e,r,n,o;if(!this.closed){this.closed=!0;var i=this._parentage;if(i)if(this._parentage=null,Array.isArray(i))try{for(var s=g(i),a=s.next();!a.done;a=s.next()){a.value.remove(this)}}catch(e){t={error:e}}finally{try{a&&!a.done&&(e=s.return)&&e.call(s)}finally{if(t)throw t.error}}else i.remove(this);var c=this.initialTeardown;if(A(c))try{c()}catch(t){o=t instanceof T?t.errors:[t]}var u=this._finalizers;if(u){this._finalizers=null;try{for(var l=g(u),f=l.next();!f.done;f=l.next()){var h=f.value;try{q(h)}catch(t){o=null!=o?o:[],t instanceof T?o=S(S([],x(o)),x(t.errors)):o.push(t)}}}catch(t){r={error:t}}finally{try{f&&!f.done&&(n=l.return)&&n.call(l)}finally{if(r)throw r.error}}}if(o)throw new T(o)}},t.prototype.add=function(e){var r;if(e&&e!==this)if(this.closed)q(e);else{if(e instanceof t){if(e.closed||e._hasParent(this))return;e._addParent(this)}(this._finalizers=null!==(r=this._finalizers)&&void 0!==r?r:[]).push(e)}},t.prototype._hasParent=function(t){var e=this._parentage;return e===t||Array.isArray(e)&&e.includes(t)},t.prototype._addParent=function(t){var e=this._parentage;this._parentage=Array.isArray(e)?(e.push(t),e):e?[e,t]:t},t.prototype._removeParent=function(t){var e=this._parentage;e===t?this._parentage=null:Array.isArray(e)&&L(e,t)},t.prototype.remove=function(e){var r=this._finalizers;r&&L(r,e),e instanceof t&&e._removeParent(this)},t.EMPTY=((e=new t).closed=!0,e),t}();function j(t){return t instanceof O||t&&"closed"in t&&A(t.remove)&&A(t.add)&&A(t.unsubscribe)}function q(t){A(t)?t():t.unsubscribe()}O.EMPTY;var I={onUnhandledError:null,onStoppedNotification:null,Promise:void 0,useDeprecatedSynchronousErrorHandling:!1,useDeprecatedNextContext:!1},R={setTimeout:function(t,e){for(var r=[],n=2;nd(t?e.hash.substring(1).split(n)[0]:e.pathname);class ft{constructor(t,e){const[r,o,i]=t,{location:s,history:a}=i.config;this.route=r.path,this.isHashRoute=r.hash,this.router=i,this.currentEvent=o||e,this.query={path:d(s.search.substring(1)),hash:d(s.hash.split(n)[1])};const{state:c}=o||{},{data:u,idx:l=0}=c||a.state||{};this.data=u,this.index=+l}}function ht(){return t=>new G((e=>{const r=t.subscribe({next:t=>{const[,,r]=t.detail;r===this&&e.next(new ft(t.detail,t))},error:e.error,complete:e.complete});return()=>{r.unsubscribe()}}))}function pt(t){const{hashRouting:e,location:r,init:n}=this.config,o=lt(e,r);return r=>new G((s=>{const a=r.subscribe(s);return t||(t=!0,n&&o&&s.next(new ft([{path:o,hash:e},i,this]))),()=>{a.unsubscribe()}}))}class dt{static get global(){return typeof globalThis!==a?globalThis:global||self}constructor(t){let{history:e,context:n,location:o,hash:i}=t;if(!e[u])throw new Error("History is not supported in this environment!");this.popStateSubscription=ct(dt.global,"popstate").subscribe((t=>{const e=lt(i,o);e&&p(n,r,[{path:e,hash:i},t,this])})),this.listeners=ct(n,r).pipe(ht.apply(this))}pipe(){for(var t=arguments.length,e=new Array(t),r=0;rt.trim())).forEach((t=>{[...document.querySelectorAll(t)].forEach((t=>{e.includes(t)||e.push(t)}))})),e}return[...document.querySelectorAll(...arguments)]}!function(){vt("#checkHash").forEach((t=>{t.checked="1"===window.sessionStorage.getItem("checkedStatus")}));const e=new yt;let r=e;e.subscribe((t=>{const e="scssyworks.github.io"===location.hostname?t.route.replace(/\/silkrouter\//,"/"):t.route;vt("a.nav-link").forEach((t=>{t.classList.remove("active");const r=t.getAttribute("href");("/"===r&&e===r||"/"!==r&&e.includes(r))&&t.classList.add("active")})),vt("[data-section]").forEach((t=>{t.classList.add("d-none");const r=t.getAttribute("data-section");("/"===r&&e===r||"/"!==r&&e.includes(r))&&t.classList.remove("d-none")})),vt(".params-data, .query-next-step, .query-data, .data-next-step, .state-data, .pass-data-tutorial").forEach((t=>{t.classList.add("d-none")}))}));const n="scssyworks.github.io"===location.hostname?"/silkrouter/tab3/:firstname/:lastname":"/tab3/:firstname/:lastname";if(e.subscribe((e=>{const r=function(e,r){const n={};if(t.test(e)){const i=new RegExp(e.replace(/\//g,"\\/").replace(/:[^/\\]+/g,"([^\\/]+)"));if(t.lastIndex=0,i.test(r)){const s=Array.from(e.match(t)).map((t=>t.replace(":",o))),a=Array.from(r.match(i));a.shift(),s.forEach(((t,e)=>{n[t]=a[e]}))}}return n}(n,e.route);Object.keys(r).length&&(vt(".params-data").forEach((t=>{t.textContent=JSON.stringify(r,null,2)})),vt(".params-data, .query-next-step").forEach((t=>{t.classList.remove("d-none")})),e.query.path&&(vt(".query-data").forEach((t=>{t.textContent=e.query.path,t.classList.remove("d-none")})),vt(".data-next-step").forEach((t=>{t.classList.remove("d-none")}))),e.data&&(vt(".state-data").forEach((t=>{t.textContent=e.data,t.classList.remove("d-none")})),vt(".pass-data-tutorial").forEach((t=>{t.classList.remove("d-none")}))))})),document.addEventListener("click",(t=>{vt("a.nav-link").forEach((n=>{if(n.contains(t.target)){t.preventDefault();const o=n.hasAttribute("data-relative");let i=o&&0===vt("#checkHash:checked").length?n.closest("section").getAttribute("data-section")+n.getAttribute("href"):n.getAttribute("href");"scssyworks.github.io"===location.hostname&&(i=`/silkrouter${i}`),o?("scssyworks.github.io"===location.hostname&&r.config.hashRouting&&(i=i.replace(/\/silkrouter\//,"/")),r.set(i)):e.set(i)}})),vt(".btn-primary.clear-session").forEach((e=>{e.contains(t.target)&&(window.sessionStorage.clear(),window.location.href="scssyworks.github.io"===location.hostname?"/silkrouter/tab2/":"/tab2/")})),vt(".append-param").forEach((r=>{r.contains(t.target)&&e.set(("scssyworks.github.io"===location.hostname?"/silkrouter":"")+"/tab3/john/doe")})),vt(".append-query").forEach((r=>{r.contains(t.target)&&e.set(("scssyworks.github.io"===location.hostname?"/silkrouter":"")+"/tab3/john/doe",{queryString:"q=HelloWorld"})})),vt(".append-data").forEach((r=>{r.contains(t.target)&&e.set(("scssyworks.github.io"===location.hostname?"/silkrouter":"")+"/tab3/john/doe",{queryString:"q=HelloWorld",data:"Hi there!"})}))})),vt("#checkHash").forEach((t=>{t.addEventListener("change",(()=>{window.sessionStorage.setItem("checkedStatus",`${vt("#checkHash:checked").length}`),window.location.href=("scssyworks.github.io"===location.hostname?"/silkrouter":"")+"/tab2/"}))})),vt("#checkHash:checked").length){const t=new yt({hashRouting:!0,preservePath:!0});t.subscribe((t=>{vt("a.nav-link[data-relative]").forEach((e=>{e.classList.remove("active"),t.route.includes(e.getAttribute("href"))&&e.classList.add("active")}))})),r=t}}(),vt(".version").forEach((t=>{const e=t.querySelector("span");e&&(e.textContent=bt)})),window.Router=yt,window.RouterCore=dt}(); +!function(){"use strict";const t=/:[^/]+/g,e=/^\/(?=[^?]*)/,r="vpushstate",n="?",o="",i="State",s=`push${i}`,a=`replace${i}`;function c(t){return t&&t.__esModule&&Object.prototype.hasOwnProperty.call(t,"default")?t.default:t}var u=c((function(t){return"object"==typeof t&&null!==t}));function l(t,e,r){t.dispatchEvent(new CustomEvent(e,{bubbles:!0,cancelable:!0,detail:r||[]}))}function f(t){return function(t){return"string"==typeof t}(t)?t.trim():o}function h(t,i){const c=u(i)?i:{},[h,p]=t.split(n),{replace:d=!1,preventDefault:y=!1,queryString:b=p,data:v,pageTitle:m=null}=c,{preservePath:w,hashRouting:g,history:x,context:S}=this.config;let E=f(h);if(!function(t){return e.test(t)}(E))throw new TypeError("Route format is incorrect!");{const t=E;g&&(E=`${w?"":"/"}#${E}`),E=`${E}${f(b?`${n+b}`:o)}`;const e=x.state||{idx:0};x[d?a:s]({data:v,idx:e.idx+1},m,E),!y&&t&&l(S,r,[{path:t,hash:g},void 0,this])}}var p=function(t,e){return p=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])},p(t,e)};function d(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function r(){this.constructor=t}p(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)}function y(t,e,r,n){return new(r||(r=Promise))((function(o,i){function s(t){try{c(n.next(t))}catch(t){i(t)}}function a(t){try{c(n.throw(t))}catch(t){i(t)}}function c(t){var e;t.done?o(t.value):(e=t.value,e instanceof r?e:new r((function(t){t(e)}))).then(s,a)}c((n=n.apply(t,e||[])).next())}))}function b(t,e){var r,n,o,i={label:0,sent:function(){if(1&o[0])throw o[1];return o[1]},trys:[],ops:[]},s=Object.create(("function"==typeof Iterator?Iterator:Object).prototype);return s.next=a(0),s.throw=a(1),s.return=a(2),"function"==typeof Symbol&&(s[Symbol.iterator]=function(){return this}),s;function a(a){return function(c){return function(a){if(r)throw new TypeError("Generator is already executing.");for(;s&&(s=0,a[0]&&(i=0)),i;)try{if(r=1,n&&(o=2&a[0]?n.return:a[0]?n.throw||((o=n.return)&&o.call(n),0):n.next)&&!(o=o.call(n,a[1])).done)return o;switch(n=0,o&&(a=[2&a[0],o.value]),a[0]){case 0:case 1:o=a;break;case 4:return i.label++,{value:a[1],done:!1};case 5:i.label++,n=a[1],a=[0];continue;case 7:a=i.ops.pop(),i.trys.pop();continue;default:if(!(o=i.trys,(o=o.length>0&&o[o.length-1])||6!==a[0]&&2!==a[0])){i=0;continue}if(3===a[0]&&(!o||a[1]>o[0]&&a[1]=t.length&&(t=void 0),{value:t&&t[n++],done:!t}}};throw new TypeError(e?"Object is not iterable.":"Symbol.iterator is not defined.")}function m(t,e){var r="function"==typeof Symbol&&t[Symbol.iterator];if(!r)return t;var n,o,i=r.call(t),s=[];try{for(;(void 0===e||e-- >0)&&!(n=i.next()).done;)s.push(n.value)}catch(t){o={error:t}}finally{try{n&&!n.done&&(r=i.return)&&r.call(i)}finally{if(o)throw o.error}}return s}function w(t,e,r){if(r||2===arguments.length)for(var n,o=0,i=e.length;o1||a(t,e)}))},e&&(n[t]=e(n[t])))}function a(t,e){try{(r=o[t](e)).value instanceof g?Promise.resolve(r.value.v).then(c,u):l(i[0][2],r)}catch(t){l(i[0][3],t)}var r}function c(t){a("next",t)}function u(t){a("throw",t)}function l(t,e){t(e),i.shift(),i.length&&a(i[0][0],i[0][1])}}function S(t){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var e,r=t[Symbol.asyncIterator];return r?r.call(t):(t=v(t),e={},n("next"),n("throw"),n("return"),e[Symbol.asyncIterator]=function(){return this},e);function n(r){e[r]=t[r]&&function(e){return new Promise((function(n,o){(function(t,e,r,n){Promise.resolve(n).then((function(e){t({value:e,done:r})}),e)})(n,o,(e=t[r](e)).done,e.value)}))}}}function E(t){return"function"==typeof t}"function"==typeof SuppressedError&&SuppressedError;var _,k=((_=function(t){return function(e){t(this),this.message=e?e.length+" errors occurred during unsubscription:\n"+e.map((function(t,e){return e+1+") "+t.toString()})).join("\n "):"",this.name="UnsubscriptionError",this.errors=e}}((function(t){Error.call(t),t.stack=(new Error).stack}))).prototype=Object.create(Error.prototype),_.prototype.constructor=_,_);function A(t,e){if(t){var r=t.indexOf(e);0<=r&&t.splice(r,1)}}var P=function(){function t(t){this.initialTeardown=t,this.closed=!1,this._parentage=null,this._finalizers=null}var e;return t.prototype.unsubscribe=function(){var t,e,r,n,o;if(!this.closed){this.closed=!0;var i=this._parentage;if(i)if(this._parentage=null,Array.isArray(i))try{for(var s=v(i),a=s.next();!a.done;a=s.next()){a.value.remove(this)}}catch(e){t={error:e}}finally{try{a&&!a.done&&(e=s.return)&&e.call(s)}finally{if(t)throw t.error}}else i.remove(this);var c=this.initialTeardown;if(E(c))try{c()}catch(t){o=t instanceof k?t.errors:[t]}var u=this._finalizers;if(u){this._finalizers=null;try{for(var l=v(u),f=l.next();!f.done;f=l.next()){var h=f.value;try{L(h)}catch(t){o=null!=o?o:[],t instanceof k?o=w(w([],m(o)),m(t.errors)):o.push(t)}}}catch(t){r={error:t}}finally{try{f&&!f.done&&(n=l.return)&&n.call(l)}finally{if(r)throw r.error}}}if(o)throw new k(o)}},t.prototype.add=function(e){var r;if(e&&e!==this)if(this.closed)L(e);else{if(e instanceof t){if(e.closed||e._hasParent(this))return;e._addParent(this)}(this._finalizers=null!==(r=this._finalizers)&&void 0!==r?r:[]).push(e)}},t.prototype._hasParent=function(t){var e=this._parentage;return e===t||Array.isArray(e)&&e.includes(t)},t.prototype._addParent=function(t){var e=this._parentage;this._parentage=Array.isArray(e)?(e.push(t),e):e?[e,t]:t},t.prototype._removeParent=function(t){var e=this._parentage;e===t?this._parentage=null:Array.isArray(e)&&A(e,t)},t.prototype.remove=function(e){var r=this._finalizers;r&&A(r,e),e instanceof t&&e._removeParent(this)},t.EMPTY=((e=new t).closed=!0,e),t}();function O(t){return t instanceof P||t&&"closed"in t&&E(t.remove)&&E(t.add)&&E(t.unsubscribe)}function L(t){E(t)?t():t.unsubscribe()}P.EMPTY;var T={onUnhandledError:null,onStoppedNotification:null,Promise:void 0,useDeprecatedSynchronousErrorHandling:!1,useDeprecatedNextContext:!1},j={setTimeout:function(t,e){for(var r=[],n=2;nf(t?e.hash.substring(1).split(n)[0]:e.pathname);class ct{constructor(t,e){const[r,o,i]=t,{location:s,history:a}=i.config;this.route=r.path,this.isHashRoute=r.hash,this.router=i,this.currentEvent=o||e,this.query={path:f(s.search.substring(1)),hash:f(s.hash.split(n)[1])};const{state:c}=o||{},{data:u,idx:l=0}=c||a.state||{};this.data=u,this.index=+l}}function ut(t){let e=t;const{hashRouting:r,location:n,init:o}=this.config,i=at(r,n);return t=>new F((n=>{const s=t.subscribe(n);return e||(e=!0,o&&i&&n.next(new ct([{path:i,hash:r},void 0,this]))),()=>{s.unsubscribe()}}))}function lt(){return t=>new F((e=>{const r=t.subscribe({next:t=>{const[,,r]=t.detail;r===this&&e.next(new ct(t.detail,t))},error:e.error,complete:e.complete});return()=>{r.unsubscribe()}}))}class ft{static get global(){return"undefined"!=typeof globalThis?globalThis:global||self}constructor(t){let{history:e,context:n,location:o,hash:i}=t;if(!e[s])throw new Error("History is not supported in this environment!");this.popStateSubscription=it(ft.global,"popstate").subscribe((t=>{const e=at(i,o);e&&l(n,r,[{path:e,hash:i},t,this])})),this.listeners=it(n,r).pipe(lt.apply(this))}pipe(){for(var t=arguments.length,e=new Array(t),r=0;rt.trim())).forEach((t=>{[...document.querySelectorAll(t)].forEach((t=>{e.includes(t)||e.push(t)}))})),e}return[...document.querySelectorAll(...arguments)]}!function(){dt("#checkHash").forEach((t=>{t.checked="1"===window.sessionStorage.getItem("checkedStatus")}));const e=new ht;let r=e;e.subscribe((t=>{const e="scssyworks.github.io"===location.hostname?t.route.replace(/\/silkrouter\//,"/"):t.route;dt("a.nav-link").forEach((t=>{t.classList.remove("active");const r=t.getAttribute("href");("/"===r&&e===r||"/"!==r&&e.includes(r))&&t.classList.add("active")})),dt("[data-section]").forEach((t=>{t.classList.add("d-none");const r=t.getAttribute("data-section");("/"===r&&e===r||"/"!==r&&e.includes(r))&&t.classList.remove("d-none")})),dt(".params-data, .query-next-step, .query-data, .data-next-step, .state-data, .pass-data-tutorial").forEach((t=>{t.classList.add("d-none")}))}));const n="scssyworks.github.io"===location.hostname?"/silkrouter/tab3/:firstname/:lastname":"/tab3/:firstname/:lastname";if(e.subscribe((e=>{const r=function(e,r){const n={};if(t.test(e)){const i=new RegExp(e.replace(/\//g,"\\/").replace(/:[^/\\]+/g,"([^\\/]+)"));if(t.lastIndex=0,i.test(r)){const s=Array.from(e.match(t)).map((t=>t.replace(":",o))),a=Array.from(r.match(i));a.shift(),s.forEach(((t,e)=>{n[t]=a[e]}))}}return n}(n,e.route);Object.keys(r).length&&(dt(".params-data").forEach((t=>{t.textContent=JSON.stringify(r,null,2)})),dt(".params-data, .query-next-step").forEach((t=>{t.classList.remove("d-none")})),e.query.path&&(dt(".query-data").forEach((t=>{t.textContent=e.query.path,t.classList.remove("d-none")})),dt(".data-next-step").forEach((t=>{t.classList.remove("d-none")}))),e.data&&(dt(".state-data").forEach((t=>{t.textContent=e.data,t.classList.remove("d-none")})),dt(".pass-data-tutorial").forEach((t=>{t.classList.remove("d-none")}))))})),document.addEventListener("click",(t=>{dt("a.nav-link").forEach((n=>{if(n.contains(t.target)){t.preventDefault();const o=n.hasAttribute("data-relative");let i=o&&0===dt("#checkHash:checked").length?n.closest("section").getAttribute("data-section")+n.getAttribute("href"):n.getAttribute("href");"scssyworks.github.io"===location.hostname&&(i=`/silkrouter${i}`),o?("scssyworks.github.io"===location.hostname&&r.config.hashRouting&&(i=i.replace(/\/silkrouter\//,"/")),r.set(i)):e.set(i)}})),dt(".btn-primary.clear-session").forEach((e=>{e.contains(t.target)&&(window.sessionStorage.clear(),window.location.href="scssyworks.github.io"===location.hostname?"/silkrouter/tab2/":"/tab2/")})),dt(".append-param").forEach((r=>{r.contains(t.target)&&e.set(("scssyworks.github.io"===location.hostname?"/silkrouter":"")+"/tab3/john/doe")})),dt(".append-query").forEach((r=>{r.contains(t.target)&&e.set(("scssyworks.github.io"===location.hostname?"/silkrouter":"")+"/tab3/john/doe",{queryString:"q=HelloWorld"})})),dt(".append-data").forEach((r=>{r.contains(t.target)&&e.set(("scssyworks.github.io"===location.hostname?"/silkrouter":"")+"/tab3/john/doe",{queryString:"q=HelloWorld",data:"Hi there!"})}))})),dt("#checkHash").forEach((t=>{t.addEventListener("change",(()=>{window.sessionStorage.setItem("checkedStatus",`${dt("#checkHash:checked").length}`),window.location.href=("scssyworks.github.io"===location.hostname?"/silkrouter":"")+"/tab2/"}))})),dt("#checkHash:checked").length){const t=new ht({hashRouting:!0,preservePath:!0});t.subscribe((t=>{dt("a.nav-link[data-relative]").forEach((e=>{e.classList.remove("active"),t.route.includes(e.getAttribute("href"))&&e.classList.add("active")}))})),r=t}}(),dt(".version").forEach((t=>{const e=t.querySelector("span");e&&(e.textContent=pt)})),window.Router=ht,window.RouterCore=ft}(); diff --git a/dist/typings/api/callOnce/index.d.ts b/dist/typings/api/callOnce/index.d.ts index 2b76868..44cf54f 100644 --- a/dist/typings/api/callOnce/index.d.ts +++ b/dist/typings/api/callOnce/index.d.ts @@ -1,7 +1,7 @@ /** * Calls the handler once on initialization - * @param {boolean} [isDone] Optional flag used as a switch + * @param {boolean} [isd] Optional flag used as a switch * @returns {(observable: Observable) => Observable} */ -export default function callOnce(isDone?: boolean): (observable: Observable) => Observable; +export default function callOnce(isd?: boolean): (observable: Observable) => Observable; import { Observable } from 'rxjs'; diff --git a/dist/typings/api/router/types.d.ts b/dist/typings/api/router/types.d.ts index 00c8bca..e16a247 100644 --- a/dist/typings/api/router/types.d.ts +++ b/dist/typings/api/router/types.d.ts @@ -1,4 +1,4 @@ -import { Observable } from 'rxjs'; +import type { Observable } from 'rxjs'; export type RouterConfig = { init?: boolean; hashRouting?: boolean; diff --git a/dist/typings/api/routerEvent/types.d.ts b/dist/typings/api/routerEvent/types.d.ts index 7e072e7..8a93d1f 100644 --- a/dist/typings/api/routerEvent/types.d.ts +++ b/dist/typings/api/routerEvent/types.d.ts @@ -1,4 +1,4 @@ -import { Router } from '../router/Router'; +import type { Router } from '../router/Router'; export type RouteInfo = [ { path: string; diff --git a/dist/typings/api/set/index.d.ts b/dist/typings/api/set/index.d.ts index 212035d..b9ec779 100644 --- a/dist/typings/api/set/index.d.ts +++ b/dist/typings/api/set/index.d.ts @@ -3,11 +3,10 @@ * @private * @typedef {import('./types').RouteConfig} RouteConfig * @param {string} routeStr Route string - * @param {RouteConfig} [routeConfig] Route config - * @returns {void} + * @param {RouteConfig} [rConfig] Route config */ -export default function set(routeStr: string, routeConfig?: RouteConfig): void; +export default function set(routeStr: string, rConfig?: RouteConfig): void; /** * Sets the current route */ -export type RouteConfig = import('./types').RouteConfig; +export type RouteConfig = import("./types").RouteConfig; diff --git a/dist/typings/constants/index.d.ts b/dist/typings/constants/index.d.ts index f5e7136..fb56f49 100644 --- a/dist/typings/constants/index.d.ts +++ b/dist/typings/constants/index.d.ts @@ -10,10 +10,6 @@ export const VIRTUAL_PUSHSTATE: "vpushstate"; export const QRY: "?"; export const EMPTY: ""; export const UNDEF: any; -export const TYPEOF_STR: "string" | "number" | "bigint" | "boolean" | "symbol" | "undefined" | "object" | "function"; -export const TYPEOF_BOOL: "string" | "number" | "bigint" | "boolean" | "symbol" | "undefined" | "object" | "function"; -export const TYPEOF_UNDEF: "string" | "number" | "bigint" | "boolean" | "symbol" | "undefined" | "object" | "function"; -export const TYPEOF_FUNC: "string" | "number" | "bigint" | "boolean" | "symbol" | "undefined" | "object" | "function"; export const STATE: "State"; -export const PUSH: string; -export const REPLACE: string; +export const PUSH: "pushState"; +export const REPLACE: "replaceState"; diff --git a/dist/typings/utils/utils.d.ts b/dist/typings/utils/utils.d.ts index 25dece4..32e1d0a 100644 --- a/dist/typings/utils/utils.d.ts +++ b/dist/typings/utils/utils.d.ts @@ -1,3 +1,9 @@ +/** + * Checks if input value is a string + * @param {any} str String value + * @returns {boolean} + */ +export function isString(str: any): boolean; /** * Safely trims string * @param {string} str String diff --git a/dist/umd/silkrouter.js b/dist/umd/silkrouter.js index 7360bcc..3ba8ed2 100644 --- a/dist/umd/silkrouter.js +++ b/dist/umd/silkrouter.js @@ -15,10 +15,6 @@ const VIRTUAL_PUSHSTATE = 'vpushstate'; const QRY = '?'; const EMPTY = ''; - const UNDEF = void 0; - const TYPEOF_STR = typeof EMPTY; - const TYPEOF_UNDEF = typeof UNDEF; - const TYPEOF_FUNC = typeof (() => {}); const STATE = 'State'; const PUSH = `push${STATE}`; const REPLACE = `replace${STATE}`; @@ -70,12 +66,21 @@ })); } + /** + * Checks if input value is a string + * @param {any} str String value + * @returns {boolean} + */ + function isString(str) { + return typeof str === 'string'; + } + /** * Safely trims string * @param {string} str String */ function trim(str) { - return typeof str === TYPEOF_STR ? str.trim() : EMPTY; + return isString(str) ? str.trim() : EMPTY; } /** @@ -92,11 +97,10 @@ * @private * @typedef {import('./types').RouteConfig} RouteConfig * @param {string} routeStr Route string - * @param {RouteConfig} [routeConfig] Route config - * @returns {void} + * @param {RouteConfig} [rConfig] Route config */ - function set(routeStr, routeConfig) { - routeConfig = isObject$1(routeConfig) ? routeConfig : {}; + function set(routeStr, rConfig) { + const routeConfig = isObject$1(rConfig) ? rConfig : {}; const [route, qs] = routeStr.split(QRY); const { replace = false, @@ -112,26 +116,26 @@ context } = this.config; // Resolve to URL query string if it's not explicitly passed - routeStr = trim(route); - if (isValidRoute(routeStr)) { - const path = routeStr; + let routeString = trim(route); + if (isValidRoute(routeString)) { + const path = routeString; if (hash) { - routeStr = `${preservePath ? '' : '/'}#${routeStr}`; + routeString = `${preservePath ? '' : '/'}#${routeString}`; } // Append query string - routeStr = `${routeStr}${trim(queryString ? `${QRY + queryString}` : EMPTY)}`; + routeString = `${routeString}${trim(queryString ? `${QRY + queryString}` : EMPTY)}`; const savedState = history.state || { idx: 0 }; history[replace ? REPLACE : PUSH]({ data, idx: savedState.idx + 1 - }, pageTitle, routeStr); + }, pageTitle, routeString); if (!preventDefault && path) { trigger(context, VIRTUAL_PUSHSTATE, [{ path, hash - }, UNDEF, this]); + }, undefined, this]); } } else { throw new TypeError(INVALID_ROUTE); @@ -179,34 +183,13 @@ } } - /** - * Attaches a route handler - * @returns {(observable: Observable) => Observable} - */ - function collate() { - return observable => new rxjs.Observable(subscriber => { - const subn = observable.subscribe({ - next: event => { - const [,, routerInstance] = event.detail; - if (routerInstance === this) { - subscriber.next(new RouterEvent(event.detail, event)); - } - }, - error: subscriber.error, - complete: subscriber.complete - }); - return () => { - subn.unsubscribe(); - }; - }); - } - /** * Calls the handler once on initialization - * @param {boolean} [isDone] Optional flag used as a switch + * @param {boolean} [isd] Optional flag used as a switch * @returns {(observable: Observable) => Observable} */ - function callOnce(isDone) { + function callOnce(isd) { + let isDone = isd; const { hashRouting: hash, location, @@ -221,7 +204,7 @@ subscriber.next(new RouterEvent([{ path, hash - }, UNDEF, this])); + }, undefined, this])); } } return () => { @@ -230,12 +213,34 @@ }); } + /** + * Attaches a route handler + * @returns {(observable: Observable) => Observable} + */ + function collate() { + return observable => new rxjs.Observable(subscriber => { + const subn = observable.subscribe({ + next: event => { + const [,, routerInstance] = event.detail; + if (routerInstance === this) { + subscriber.next(new RouterEvent(event.detail, event)); + } + }, + error: subscriber.error, + complete: subscriber.complete + }); + return () => { + subn.unsubscribe(); + }; + }); + } + /** * Core router class to handle basic routing functionality */ class RouterCore { static get global() { - return typeof globalThis !== TYPEOF_UNDEF ? globalThis : global || self; + return typeof globalThis !== 'undefined' ? globalThis : global || self; } /** * Router core constructor @@ -289,7 +294,7 @@ * @param {() => void} callback Callback for destroy function */ destroy(callback) { - if (typeof callback === TYPEOF_FUNC) { + if (typeof callback === 'function') { callback(); } this.popStateSubscription.unsubscribe(); // Unsubscribe popstate event diff --git a/dist/umd/silkrouter.js.map b/dist/umd/silkrouter.js.map index 35a5640..05aa862 100644 --- a/dist/umd/silkrouter.js.map +++ b/dist/umd/silkrouter.js.map @@ -1 +1 @@ -{"version":3,"file":"silkrouter.js","sources":["../../src/js/constants/index.js","../../src/js/utils/params.js","../../node_modules/is-object/index.js","../../src/js/utils/triggerEvent.js","../../src/js/utils/utils.js","../../src/js/api/set/index.js","../../src/js/utils/getPath.js","../../src/js/api/routerEvent/index.js","../../src/js/api/collate/index.js","../../src/js/api/callOnce/index.js","../../src/js/api/router/RouterCore.js","../../src/js/api/router/Router.js"],"sourcesContent":["/**\n * Router constants\n */\nexport const POP_STATE = 'popstate';\nexport const REG_ROUTE_PARAMS = /:[^/]+/g;\nexport const REG_PATHNAME = /^\\/(?=[^?]*)/;\nexport const HISTORY_UNSUPPORTED =\n 'History is not supported in this environment!';\nexport const INVALID_ROUTE = 'Route format is incorrect!';\nexport const VIRTUAL_PUSHSTATE = 'vpushstate';\nexport const QRY = '?';\nexport const EMPTY = '';\nexport const UNDEF = void 0;\nexport const TYPEOF_STR = typeof EMPTY;\nexport const TYPEOF_BOOL = typeof true;\nexport const TYPEOF_UNDEF = typeof UNDEF;\nexport const TYPEOF_FUNC = typeof (() => {});\nexport const STATE = 'State';\nexport const PUSH = `push${STATE}`;\nexport const REPLACE = `replace${STATE}`;\n","import { EMPTY, REG_ROUTE_PARAMS } from '../constants';\n\n/**\n * Parses current path and returns params object\n * @param {string} expr Route expression\n * @param {string} path URL path\n * @returns {{[key: string]: any}}\n */\nexport function resolveParams(expr, path) {\n const params = {};\n if (REG_ROUTE_PARAMS.test(expr)) {\n const pathRegex = new RegExp(\n expr.replace(/\\//g, '\\\\/').replace(/:[^/\\\\]+/g, '([^\\\\/]+)')\n );\n REG_ROUTE_PARAMS.lastIndex = 0;\n if (pathRegex.test(path)) {\n const keys = Array.from(expr.match(REG_ROUTE_PARAMS)).map((key) =>\n key.replace(':', EMPTY)\n );\n const values = Array.from(path.match(pathRegex));\n values.shift();\n keys.forEach((key, index) => {\n params[key] = values[index];\n });\n }\n }\n return params;\n}\n","'use strict';\n\nmodule.exports = function isObject(x) {\n\treturn typeof x === 'object' && x !== null;\n};\n","/**\n * Function to trigger custom event\n * @param {HTMLElement} context Context element\n * @param {string} eventType Event type\n * @param {any[]} data Data to be passed to handler\n */\nexport function trigger(context, eventType, data) {\n context.dispatchEvent(\n new CustomEvent(eventType, {\n bubbles: true,\n cancelable: true,\n detail: data || [],\n })\n );\n}\n","import { EMPTY, REG_PATHNAME, TYPEOF_STR } from '../constants';\n\n/**\n * Safely trims string\n * @param {string} str String\n */\nexport function trim(str) {\n return typeof str === TYPEOF_STR ? str.trim() : EMPTY;\n}\n\n/**\n * Checks if given route is valid\n * @private\n * @param {string} route Route string\n */\nexport function isValidRoute(route) {\n return REG_PATHNAME.test(route);\n}\n","import { trigger } from '../../utils/triggerEvent';\nimport {\n VIRTUAL_PUSHSTATE,\n INVALID_ROUTE,\n UNDEF,\n EMPTY,\n QRY,\n REPLACE,\n PUSH,\n} from '../../constants';\nimport { isValidRoute, trim } from '../../utils/utils';\nimport isObject from 'is-object';\n\n/**\n * Sets the current route\n * @private\n * @typedef {import('./types').RouteConfig} RouteConfig\n * @param {string} routeStr Route string\n * @param {RouteConfig} [routeConfig] Route config\n * @returns {void}\n */\nexport default function set(routeStr, routeConfig) {\n routeConfig = isObject(routeConfig) ? routeConfig : {};\n const [route, qs] = routeStr.split(QRY);\n const {\n replace = false,\n preventDefault = false,\n queryString = qs,\n data,\n pageTitle = null,\n } = routeConfig;\n const { preservePath, hashRouting: hash, history, context } = this.config;\n // Resolve to URL query string if it's not explicitly passed\n routeStr = trim(route);\n if (isValidRoute(routeStr)) {\n const path = routeStr;\n if (hash) {\n routeStr = `${preservePath ? '' : '/'}#${routeStr}`;\n }\n // Append query string\n routeStr = `${routeStr}${trim(\n queryString ? `${QRY + queryString}` : EMPTY\n )}`;\n const savedState = history.state || { idx: 0 };\n history[replace ? REPLACE : PUSH](\n {\n data,\n idx: savedState.idx + 1,\n },\n pageTitle,\n routeStr\n );\n if (!preventDefault && path) {\n trigger(context, VIRTUAL_PUSHSTATE, [\n {\n path,\n hash,\n },\n UNDEF,\n this,\n ]);\n }\n } else {\n throw new TypeError(INVALID_ROUTE);\n }\n}\n","import { QRY } from '../constants';\nimport { trim } from './utils';\n\nexport const getPath = (isHash, location) => {\n return trim(\n isHash ? location.hash.substring(1).split(QRY)[0] : location.pathname\n );\n};\n","import { QRY } from '../../constants';\nimport { trim } from '../../utils/utils';\n\n/**\n * Creates an instance of router event\n */\nexport class RouterEvent {\n /**\n * Creates a instance of router event\n * @typedef {import('./types').RouteInfo} RouteInfo\n * @param {RouteInfo} routeInfo Route information\n * @param {CustomEvent} currentEvent Current event object\n */\n constructor(routeInfo, currentEvent) {\n // Set relevant parameters\n const [routeObject, originalEvent, routerInstance] = routeInfo;\n const { location, history } = routerInstance.config;\n this.route = routeObject.path;\n this.isHashRoute = routeObject.hash;\n this.router = routerInstance;\n this.currentEvent = originalEvent || currentEvent;\n this.query = {\n path: trim(location.search.substring(1)),\n hash: trim(location.hash.split(QRY)[1]),\n };\n const { state } = originalEvent || {};\n const { data, idx = 0 } = state || history.state || {};\n this.data = data;\n this.index = +idx;\n }\n}\n","import { Observable } from 'rxjs';\nimport { RouterEvent } from '../routerEvent';\n\n/**\n * Attaches a route handler\n * @returns {(observable: Observable) => Observable}\n */\nexport default function collate() {\n return (observable) =>\n new Observable((subscriber) => {\n const subn = observable.subscribe({\n next: (event) => {\n const [, , routerInstance] = event.detail;\n if (routerInstance === this) {\n subscriber.next(new RouterEvent(event.detail, event));\n }\n },\n error: subscriber.error,\n complete: subscriber.complete,\n });\n return () => {\n subn.unsubscribe();\n };\n });\n}\n","import { Observable } from 'rxjs';\nimport { UNDEF } from '../../constants';\nimport { getPath } from '../../utils/getPath';\nimport { RouterEvent } from '../routerEvent';\n\n/**\n * Calls the handler once on initialization\n * @param {boolean} [isDone] Optional flag used as a switch\n * @returns {(observable: Observable) => Observable}\n */\nexport default function callOnce(isDone) {\n const { hashRouting: hash, location, init } = this.config;\n const path = getPath(hash, location);\n return (observable) =>\n new Observable((subscriber) => {\n const subn = observable.subscribe(subscriber);\n if (!isDone) {\n isDone = true;\n if (init && path) {\n subscriber.next(new RouterEvent([{ path, hash }, UNDEF, this]));\n }\n }\n return () => {\n subn.unsubscribe();\n };\n });\n}\n","import { fromEvent } from 'rxjs';\nimport {\n HISTORY_UNSUPPORTED,\n POP_STATE,\n PUSH,\n TYPEOF_FUNC,\n TYPEOF_UNDEF,\n VIRTUAL_PUSHSTATE,\n} from '../../constants';\nimport { getPath } from '../../utils/getPath';\nimport { trigger } from '../../utils/triggerEvent';\nimport collate from '../collate';\nimport callOnce from '../callOnce';\n\n/**\n * Core router class to handle basic routing functionality\n */\nexport class RouterCore {\n static get global() {\n return typeof globalThis !== TYPEOF_UNDEF ? globalThis : global || self;\n }\n /**\n * Router core constructor\n * @typedef {import('./types').RouterCoreConfig} RouterCoreConfig\n * @param {RouterCoreConfig} routerCoreConfig Route core configuration\n */\n constructor({ history, context, location, hash }) {\n if (!history[PUSH]) {\n throw new Error(HISTORY_UNSUPPORTED);\n }\n this.popStateSubscription = fromEvent(\n RouterCore.global,\n POP_STATE\n ).subscribe((e) => {\n const path = getPath(hash, location);\n if (path) {\n trigger(context, VIRTUAL_PUSHSTATE, [{ path, hash }, e, this]);\n }\n });\n this.listeners = fromEvent(context, VIRTUAL_PUSHSTATE).pipe(\n collate.apply(this)\n );\n }\n /**\n * Allows you to add operators for any pre-processing before a handler is called\n * @typedef {import('./types').Operator} Operator\n * @typedef {import('rxjs').Observable} Observable\n * @param {...Operator} ops Operators\n * @returns {Observable}\n */\n pipe(...ops) {\n return this.listeners.pipe(callOnce.apply(this), ...ops);\n }\n /**\n * Attaches a route handler\n * @typedef {import('../routerEvent/index').RouterEvent} RouterEvent\n * @param {(event: RouterEvent) => void} fn Route handler\n */\n subscribe(fn) {\n return this.pipe().subscribe(fn);\n }\n /**\n * Destroys current router instance\n * @param {() => void} callback Callback for destroy function\n */\n destroy(callback) {\n if (typeof callback === TYPEOF_FUNC) {\n callback();\n }\n this.popStateSubscription.unsubscribe(); // Unsubscribe popstate event\n }\n}\n","import isObject from 'is-object';\nimport set from '../set';\nimport { RouterCore } from './RouterCore';\n\n/**\n * Browser router to handle routing logic\n */\nexport class Router extends RouterCore {\n /**\n * Router constructor\n * @typedef {import('./types').RouterConfig} RouterConfig\n * @param {RouterConfig} config\n */\n constructor(config) {\n config = isObject(config) ? config : {};\n const { history, location, document } = RouterCore.global;\n const context = document.body;\n super({\n history,\n location,\n context,\n hash: config.hashRouting,\n });\n this.config = Object.freeze({\n init: true,\n hashRouting: false,\n preservePath: false,\n context,\n history,\n location,\n ...config,\n });\n if (config.hashRouting && !location.hash) {\n this.set('/', {\n replace: true,\n preventDefault: true, // Don't execute route handlers\n });\n }\n }\n /**\n * Sets the current route path\n * @typedef {import('../set/types').RouteConfig} RouteConfig\n * @param {string} path Route path\n * @param {RouteConfig} routeConfig Route config\n */\n set(path, routeConfig) {\n set.apply(this, [path, routeConfig]);\n }\n}\n"],"names":["POP_STATE","REG_ROUTE_PARAMS","REG_PATHNAME","HISTORY_UNSUPPORTED","INVALID_ROUTE","VIRTUAL_PUSHSTATE","QRY","EMPTY","UNDEF","TYPEOF_STR","TYPEOF_UNDEF","TYPEOF_FUNC","STATE","PUSH","REPLACE","resolveParams","expr","path","params","test","pathRegex","RegExp","replace","lastIndex","keys","Array","from","match","map","key","values","shift","forEach","index","trigger","context","eventType","data","dispatchEvent","CustomEvent","bubbles","cancelable","detail","trim","str","isValidRoute","route","set","routeStr","routeConfig","isObject","qs","split","preventDefault","queryString","pageTitle","preservePath","hashRouting","hash","history","config","savedState","state","idx","TypeError","getPath","isHash","location","substring","pathname","RouterEvent","constructor","routeInfo","currentEvent","routeObject","originalEvent","routerInstance","isHashRoute","router","query","search","collate","observable","Observable","subscriber","subn","subscribe","next","event","error","complete","unsubscribe","callOnce","isDone","init","RouterCore","global","globalThis","self","_ref","Error","popStateSubscription","fromEvent","e","listeners","pipe","apply","_len","arguments","length","ops","_key","fn","destroy","callback","Router","document","body","Object","freeze"],"mappings":"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","x_google_ignoreList":[2]} \ No newline at end of file +{"version":3,"file":"silkrouter.js","sources":["../../src/js/constants/index.js","../../src/js/utils/params.js","../../node_modules/is-object/index.js","../../src/js/utils/triggerEvent.js","../../src/js/utils/utils.js","../../src/js/api/set/index.js","../../src/js/utils/getPath.js","../../src/js/api/routerEvent/index.js","../../src/js/api/callOnce/index.js","../../src/js/api/collate/index.js","../../src/js/api/router/RouterCore.js","../../src/js/api/router/Router.js"],"sourcesContent":["/**\n * Router constants\n */\nexport const POP_STATE = 'popstate';\nexport const REG_ROUTE_PARAMS = /:[^/]+/g;\nexport const REG_PATHNAME = /^\\/(?=[^?]*)/;\nexport const HISTORY_UNSUPPORTED =\n 'History is not supported in this environment!';\nexport const INVALID_ROUTE = 'Route format is incorrect!';\nexport const VIRTUAL_PUSHSTATE = 'vpushstate';\nexport const QRY = '?';\nexport const EMPTY = '';\nexport const UNDEF = void 0;\nexport const STATE = 'State';\nexport const PUSH = `push${STATE}`;\nexport const REPLACE = `replace${STATE}`;\n","import { EMPTY, REG_ROUTE_PARAMS } from '../constants';\n\n/**\n * Parses current path and returns params object\n * @param {string} expr Route expression\n * @param {string} path URL path\n * @returns {{[key: string]: any}}\n */\nexport function resolveParams(expr, path) {\n const params = {};\n if (REG_ROUTE_PARAMS.test(expr)) {\n const pathRegex = new RegExp(\n expr.replace(/\\//g, '\\\\/').replace(/:[^/\\\\]+/g, '([^\\\\/]+)'),\n );\n REG_ROUTE_PARAMS.lastIndex = 0;\n if (pathRegex.test(path)) {\n const keys = Array.from(expr.match(REG_ROUTE_PARAMS)).map(key =>\n key.replace(':', EMPTY),\n );\n const values = Array.from(path.match(pathRegex));\n values.shift();\n keys.forEach((key, index) => {\n params[key] = values[index];\n });\n }\n }\n return params;\n}\n","'use strict';\n\nmodule.exports = function isObject(x) {\n\treturn typeof x === 'object' && x !== null;\n};\n","/**\n * Function to trigger custom event\n * @param {HTMLElement} context Context element\n * @param {string} eventType Event type\n * @param {any[]} data Data to be passed to handler\n */\nexport function trigger(context, eventType, data) {\n context.dispatchEvent(\n new CustomEvent(eventType, {\n bubbles: true,\n cancelable: true,\n detail: data || [],\n }),\n );\n}\n","import { EMPTY, REG_PATHNAME } from '../constants';\n\n/**\n * Checks if input value is a string\n * @param {any} str String value\n * @returns {boolean}\n */\nexport function isString(str) {\n return typeof str === 'string';\n}\n\n/**\n * Safely trims string\n * @param {string} str String\n */\nexport function trim(str) {\n return isString(str) ? str.trim() : EMPTY;\n}\n\n/**\n * Checks if given route is valid\n * @private\n * @param {string} route Route string\n */\nexport function isValidRoute(route) {\n return REG_PATHNAME.test(route);\n}\n","import isObject from 'is-object';\nimport {\n EMPTY,\n INVALID_ROUTE,\n PUSH,\n QRY,\n REPLACE,\n VIRTUAL_PUSHSTATE,\n} from '../../constants';\nimport { trigger } from '../../utils/triggerEvent';\nimport { isValidRoute, trim } from '../../utils/utils';\n\n/**\n * Sets the current route\n * @private\n * @typedef {import('./types').RouteConfig} RouteConfig\n * @param {string} routeStr Route string\n * @param {RouteConfig} [rConfig] Route config\n */\nexport default function set(routeStr, rConfig) {\n const routeConfig = isObject(rConfig) ? rConfig : {};\n const [route, qs] = routeStr.split(QRY);\n const {\n replace = false,\n preventDefault = false,\n queryString = qs,\n data,\n pageTitle = null,\n } = routeConfig;\n const { preservePath, hashRouting: hash, history, context } = this.config;\n // Resolve to URL query string if it's not explicitly passed\n let routeString = trim(route);\n if (isValidRoute(routeString)) {\n const path = routeString;\n if (hash) {\n routeString = `${preservePath ? '' : '/'}#${routeString}`;\n }\n // Append query string\n routeString = `${routeString}${trim(\n queryString ? `${QRY + queryString}` : EMPTY,\n )}`;\n const savedState = history.state || { idx: 0 };\n history[replace ? REPLACE : PUSH](\n {\n data,\n idx: savedState.idx + 1,\n },\n pageTitle,\n routeString,\n );\n if (!preventDefault && path) {\n trigger(context, VIRTUAL_PUSHSTATE, [\n {\n path,\n hash,\n },\n undefined,\n this,\n ]);\n }\n } else {\n throw new TypeError(INVALID_ROUTE);\n }\n}\n","import { QRY } from '../constants';\nimport { trim } from './utils';\n\nexport const getPath = (isHash, location) => {\n return trim(\n isHash ? location.hash.substring(1).split(QRY)[0] : location.pathname,\n );\n};\n","import { QRY } from '../../constants';\nimport { trim } from '../../utils/utils';\n\n/**\n * Creates an instance of router event\n */\nexport class RouterEvent {\n /**\n * Creates a instance of router event\n * @typedef {import('./types').RouteInfo} RouteInfo\n * @param {RouteInfo} routeInfo Route information\n * @param {CustomEvent} currentEvent Current event object\n */\n constructor(routeInfo, currentEvent) {\n // Set relevant parameters\n const [routeObject, originalEvent, routerInstance] = routeInfo;\n const { location, history } = routerInstance.config;\n this.route = routeObject.path;\n this.isHashRoute = routeObject.hash;\n this.router = routerInstance;\n this.currentEvent = originalEvent || currentEvent;\n this.query = {\n path: trim(location.search.substring(1)),\n hash: trim(location.hash.split(QRY)[1]),\n };\n const { state } = originalEvent || {};\n const { data, idx = 0 } = state || history.state || {};\n this.data = data;\n this.index = +idx;\n }\n}\n","import { Observable } from 'rxjs';\nimport { getPath } from '../../utils/getPath';\nimport { RouterEvent } from '../routerEvent';\n\n/**\n * Calls the handler once on initialization\n * @param {boolean} [isd] Optional flag used as a switch\n * @returns {(observable: Observable) => Observable}\n */\nexport default function callOnce(isd) {\n let isDone = isd;\n const { hashRouting: hash, location, init } = this.config;\n const path = getPath(hash, location);\n return observable =>\n new Observable(subscriber => {\n const subn = observable.subscribe(subscriber);\n if (!isDone) {\n isDone = true;\n if (init && path) {\n subscriber.next(new RouterEvent([{ path, hash }, undefined, this]));\n }\n }\n return () => {\n subn.unsubscribe();\n };\n });\n}\n","import { Observable } from 'rxjs';\nimport { RouterEvent } from '../routerEvent';\n\n/**\n * Attaches a route handler\n * @returns {(observable: Observable) => Observable}\n */\nexport default function collate() {\n return observable =>\n new Observable(subscriber => {\n const subn = observable.subscribe({\n next: event => {\n const [, , routerInstance] = event.detail;\n if (routerInstance === this) {\n subscriber.next(new RouterEvent(event.detail, event));\n }\n },\n error: subscriber.error,\n complete: subscriber.complete,\n });\n return () => {\n subn.unsubscribe();\n };\n });\n}\n","import { fromEvent } from 'rxjs';\nimport {\n HISTORY_UNSUPPORTED,\n POP_STATE,\n PUSH,\n VIRTUAL_PUSHSTATE,\n} from '../../constants';\nimport { getPath } from '../../utils/getPath';\nimport { trigger } from '../../utils/triggerEvent';\nimport callOnce from '../callOnce';\nimport collate from '../collate';\n\n/**\n * Core router class to handle basic routing functionality\n */\nexport class RouterCore {\n static get global() {\n return typeof globalThis !== 'undefined' ? globalThis : global || self;\n }\n /**\n * Router core constructor\n * @typedef {import('./types').RouterCoreConfig} RouterCoreConfig\n * @param {RouterCoreConfig} routerCoreConfig Route core configuration\n */\n constructor({ history, context, location, hash }) {\n if (!history[PUSH]) {\n throw new Error(HISTORY_UNSUPPORTED);\n }\n this.popStateSubscription = fromEvent(\n RouterCore.global,\n POP_STATE,\n ).subscribe(e => {\n const path = getPath(hash, location);\n if (path) {\n trigger(context, VIRTUAL_PUSHSTATE, [{ path, hash }, e, this]);\n }\n });\n this.listeners = fromEvent(context, VIRTUAL_PUSHSTATE).pipe(\n collate.apply(this),\n );\n }\n /**\n * Allows you to add operators for any pre-processing before a handler is called\n * @typedef {import('./types').Operator} Operator\n * @typedef {import('rxjs').Observable} Observable\n * @param {...Operator} ops Operators\n * @returns {Observable}\n */\n pipe(...ops) {\n return this.listeners.pipe(callOnce.apply(this), ...ops);\n }\n /**\n * Attaches a route handler\n * @typedef {import('../routerEvent/index').RouterEvent} RouterEvent\n * @param {(event: RouterEvent) => void} fn Route handler\n */\n subscribe(fn) {\n return this.pipe().subscribe(fn);\n }\n /**\n * Destroys current router instance\n * @param {() => void} callback Callback for destroy function\n */\n destroy(callback) {\n if (typeof callback === 'function') {\n callback();\n }\n this.popStateSubscription.unsubscribe(); // Unsubscribe popstate event\n }\n}\n","import isObject from 'is-object';\nimport set from '../set';\nimport { RouterCore } from './RouterCore';\n\n/**\n * Browser router to handle routing logic\n */\nexport class Router extends RouterCore {\n /**\n * Router constructor\n * @typedef {import('./types').RouterConfig} RouterConfig\n * @param {RouterConfig} config\n */\n constructor(config) {\n config = isObject(config) ? config : {};\n const { history, location, document } = RouterCore.global;\n const context = document.body;\n super({\n history,\n location,\n context,\n hash: config.hashRouting,\n });\n this.config = Object.freeze({\n init: true,\n hashRouting: false,\n preservePath: false,\n context,\n history,\n location,\n ...config,\n });\n if (config.hashRouting && !location.hash) {\n this.set('/', {\n replace: true,\n preventDefault: true, // Don't execute route handlers\n });\n }\n }\n /**\n * Sets the current route path\n * @typedef {import('../set/types').RouteConfig} RouteConfig\n * @param {string} path Route path\n * @param {RouteConfig} routeConfig Route config\n */\n set(path, routeConfig) {\n set.apply(this, [path, routeConfig]);\n }\n}\n"],"names":["POP_STATE","REG_ROUTE_PARAMS","REG_PATHNAME","HISTORY_UNSUPPORTED","INVALID_ROUTE","VIRTUAL_PUSHSTATE","QRY","EMPTY","STATE","PUSH","REPLACE","resolveParams","expr","path","params","test","pathRegex","RegExp","replace","lastIndex","keys","Array","from","match","map","key","values","shift","forEach","index","trigger","context","eventType","data","dispatchEvent","CustomEvent","bubbles","cancelable","detail","isString","str","trim","isValidRoute","route","set","routeStr","rConfig","routeConfig","isObject","qs","split","preventDefault","queryString","pageTitle","preservePath","hashRouting","hash","history","config","routeString","savedState","state","idx","undefined","TypeError","getPath","isHash","location","substring","pathname","RouterEvent","constructor","routeInfo","currentEvent","routeObject","originalEvent","routerInstance","isHashRoute","router","query","search","callOnce","isd","isDone","init","observable","Observable","subscriber","subn","subscribe","next","unsubscribe","collate","event","error","complete","RouterCore","global","globalThis","self","_ref","Error","popStateSubscription","fromEvent","e","listeners","pipe","apply","_len","arguments","length","ops","_key","fn","destroy","callback","Router","document","body","Object","freeze"],"mappings":"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","x_google_ignoreList":[2]} \ No newline at end of file diff --git a/dist/umd/silkrouter.min.js b/dist/umd/silkrouter.min.js index f48c8a8..82b885f 100644 --- a/dist/umd/silkrouter.min.js +++ b/dist/umd/silkrouter.min.js @@ -1 +1 @@ -!function(t,e){"object"==typeof exports&&"undefined"!=typeof module?e(exports,require("rxjs")):"function"==typeof define&&define.amd?define(["exports","rxjs"],e):e((t="undefined"!=typeof globalThis?globalThis:t||self).silkrouter={},t.rxjs)}(this,(function(t,e){"use strict";const s=/:[^/]+/g,o=/^\/(?=[^?]*)/,n="vpushstate",r="?",i="",a=void 0,c=typeof i,h=typeof a,u="State",l=`push${u}`,p=`replace${u}`;function f(t){return t&&t.__esModule&&Object.prototype.hasOwnProperty.call(t,"default")?t.default:t}var b=f((function(t){return"object"==typeof t&&null!==t}));function d(t,e,s){t.dispatchEvent(new CustomEvent(e,{bubbles:!0,cancelable:!0,detail:s||[]}))}function y(t){return typeof t===c?t.trim():i}function g(t,e){e=b(e)?e:{};const[s,c]=t.split(r),{replace:h=!1,preventDefault:u=!1,queryString:f=c,data:g,pageTitle:x=null}=e,{preservePath:m,hashRouting:v,history:w,context:R}=this.config;if(!function(t){return o.test(t)}(t=y(s)))throw new TypeError("Route format is incorrect!");{const e=t;v&&(t=`${m?"":"/"}#${t}`),t=`${t}${y(f?`${r+f}`:i)}`;const s=w.state||{idx:0};w[h?p:l]({data:g,idx:s.idx+1},x,t),!u&&e&&d(R,n,[{path:e,hash:v},a,this])}}const x=(t,e)=>y(t?e.hash.substring(1).split(r)[0]:e.pathname);class m{constructor(t,e){const[s,o,n]=t,{location:i,history:a}=n.config;this.route=s.path,this.isHashRoute=s.hash,this.router=n,this.currentEvent=o||e,this.query={path:y(i.search.substring(1)),hash:y(i.hash.split(r)[1])};const{state:c}=o||{},{data:h,idx:u=0}=c||a.state||{};this.data=h,this.index=+u}}function v(){return t=>new e.Observable((e=>{const s=t.subscribe({next:t=>{const[,,s]=t.detail;s===this&&e.next(new m(t.detail,t))},error:e.error,complete:e.complete});return()=>{s.unsubscribe()}}))}function w(t){const{hashRouting:s,location:o,init:n}=this.config,r=x(s,o);return o=>new e.Observable((e=>{const i=o.subscribe(e);return t||(t=!0,n&&r&&e.next(new m([{path:r,hash:s},a,this]))),()=>{i.unsubscribe()}}))}class R{static get global(){return typeof globalThis!==h?globalThis:global||self}constructor(t){let{history:s,context:o,location:r,hash:i}=t;if(!s[l])throw new Error("History is not supported in this environment!");this.popStateSubscription=e.fromEvent(R.global,"popstate").subscribe((t=>{const e=x(i,r);e&&d(o,n,[{path:e,hash:i},t,this])})),this.listeners=e.fromEvent(o,n).pipe(v.apply(this))}pipe(){for(var t=arguments.length,e=new Array(t),s=0;st.replace(":",i))),a=Array.from(e.match(n));a.shift(),r.forEach(((t,e)=>{o[t]=a[e]}))}}return o}})); +!function(t,e){"object"==typeof exports&&"undefined"!=typeof module?e(exports,require("rxjs")):"function"==typeof define&&define.amd?define(["exports","rxjs"],e):e((t="undefined"!=typeof globalThis?globalThis:t||self).silkrouter={},t.rxjs)}(this,(function(t,e){"use strict";const s=/:[^/]+/g,n=/^\/(?=[^?]*)/,o="vpushstate",r="?",i="",a="State",c=`push${a}`,h=`replace${a}`;function u(t){return t&&t.__esModule&&Object.prototype.hasOwnProperty.call(t,"default")?t.default:t}var l=u((function(t){return"object"==typeof t&&null!==t}));function p(t,e,s){t.dispatchEvent(new CustomEvent(e,{bubbles:!0,cancelable:!0,detail:s||[]}))}function f(t){return function(t){return"string"==typeof t}(t)?t.trim():i}function b(t,e){const s=l(e)?e:{},[a,u]=t.split(r),{replace:b=!1,preventDefault:d=!1,queryString:g=u,data:y,pageTitle:x=null}=s,{preservePath:m,hashRouting:v,history:w,context:R}=this.config;let E=f(a);if(!function(t){return n.test(t)}(E))throw new TypeError("Route format is incorrect!");{const t=E;v&&(E=`${m?"":"/"}#${E}`),E=`${E}${f(g?`${r+g}`:i)}`;const e=w.state||{idx:0};w[b?h:c]({data:y,idx:e.idx+1},x,E),!d&&t&&p(R,o,[{path:t,hash:v},void 0,this])}}const d=(t,e)=>f(t?e.hash.substring(1).split(r)[0]:e.pathname);class g{constructor(t,e){const[s,n,o]=t,{location:i,history:a}=o.config;this.route=s.path,this.isHashRoute=s.hash,this.router=o,this.currentEvent=n||e,this.query={path:f(i.search.substring(1)),hash:f(i.hash.split(r)[1])};const{state:c}=n||{},{data:h,idx:u=0}=c||a.state||{};this.data=h,this.index=+u}}function y(t){let s=t;const{hashRouting:n,location:o,init:r}=this.config,i=d(n,o);return t=>new e.Observable((e=>{const o=t.subscribe(e);return s||(s=!0,r&&i&&e.next(new g([{path:i,hash:n},void 0,this]))),()=>{o.unsubscribe()}}))}function x(){return t=>new e.Observable((e=>{const s=t.subscribe({next:t=>{const[,,s]=t.detail;s===this&&e.next(new g(t.detail,t))},error:e.error,complete:e.complete});return()=>{s.unsubscribe()}}))}class m{static get global(){return"undefined"!=typeof globalThis?globalThis:global||self}constructor(t){let{history:s,context:n,location:r,hash:i}=t;if(!s[c])throw new Error("History is not supported in this environment!");this.popStateSubscription=e.fromEvent(m.global,"popstate").subscribe((t=>{const e=d(i,r);e&&p(n,o,[{path:e,hash:i},t,this])})),this.listeners=e.fromEvent(n,o).pipe(x.apply(this))}pipe(){for(var t=arguments.length,e=new Array(t),s=0;st.replace(":",i))),a=Array.from(e.match(o));a.shift(),r.forEach(((t,e)=>{n[t]=a[e]}))}}return n}})); diff --git a/package-lock.json b/package-lock.json index f53008b..c1c8e8c 100644 --- a/package-lock.json +++ b/package-lock.json @@ -14,95 +14,84 @@ "is-object": "^1.0.2" }, "devDependencies": { - "@babel/core": "^7.22.9", - "@babel/eslint-parser": "^7.22.9", - "@babel/preset-env": "^7.22.9", - "@rollup/plugin-babel": "^6.0.3", - "@rollup/plugin-commonjs": "^25.0.3", - "@rollup/plugin-eslint": "^9.0.4", - "@rollup/plugin-json": "^6.0.0", - "@rollup/plugin-node-resolve": "^15.1.0", - "@rollup/plugin-terser": "^0.4.3", - "@types/jest": "^29.5.3", + "@babel/core": "^7.25.2", + "@babel/eslint-parser": "^7.25.1", + "@babel/preset-env": "^7.25.4", + "@biomejs/biome": "^1.8.3", + "@rollup/plugin-babel": "^6.0.4", + "@rollup/plugin-commonjs": "^26.0.1", + "@rollup/plugin-eslint": "^9.0.5", + "@rollup/plugin-json": "^6.1.0", + "@rollup/plugin-node-resolve": "^15.2.3", + "@rollup/plugin-terser": "^0.4.4", + "@types/jest": "^29.5.12", "env-cmd": "^10.1.0", - "eslint": "^8.46.0", - "gh-pages": "^5.0.0", - "jest": "^29.6.2", - "rollup": "^3.27.1", + "eslint": "^9.9.1", + "gh-pages": "^6.1.1", + "jest": "^29.7.0", + "rollup": "^4.21.2", "rollup-plugin-filesize": "^10.0.0", "rollup-plugin-livereload": "^2.0.5", - "rollup-plugin-serve": "^2.0.2", - "rome": "^12.1.3", + "rollup-plugin-serve": "^1.1.1", "rxjs": "^7.8.1", - "typescript": "^5.1.6" - }, - "peerDependencies": { - "rxjs": "^7.8.1" - } - }, - "node_modules/@aashutoshrathi/word-wrap": { - "version": "1.2.6", - "resolved": "https://registry.npmjs.org/@aashutoshrathi/word-wrap/-/word-wrap-1.2.6.tgz", - "integrity": "sha512-1Yjs2SvM8TflER/OD3cOjhWWOZb58A2t7wpE2S9XfBYTiIl+XFhQG2bjy4Pu1I+EAlCNUzRDYDdFwFYUKvXcIA==", - "dev": true, - "engines": { - "node": ">=0.10.0" + "typescript": "^5.5.4" } }, "node_modules/@ampproject/remapping": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.2.1.tgz", - "integrity": "sha512-lFMjJTrFL3j7L9yBxwYfCq2k6qqwHyzuUl/XBnif78PWTJYyL/dfowQHWE3sp6U6ZzqWiiIZnpTMO96zhkjwtg==", + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.3.0.tgz", + "integrity": "sha512-30iZtAPgz+LTIYoeivqYo853f02jBYSd5uGnGpkFV0M3xOt9aN73erkgYAmZU43x4VfqcnLxW9Kpg3R5LC4YYw==", "dev": true, "dependencies": { - "@jridgewell/gen-mapping": "^0.3.0", - "@jridgewell/trace-mapping": "^0.3.9" + "@jridgewell/gen-mapping": "^0.3.5", + "@jridgewell/trace-mapping": "^0.3.24" }, "engines": { "node": ">=6.0.0" } }, "node_modules/@babel/code-frame": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.22.5.tgz", - "integrity": "sha512-Xmwn266vad+6DAqEB2A6V/CcZVp62BbwVmcOJc2RPuwih1kw02TjQvWVWlcKGbBPd+8/0V5DEkOcizRGYsspYQ==", + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.24.7.tgz", + "integrity": "sha512-BcYH1CVJBO9tvyIZ2jVeXgSIMvGZ2FDRvDdOIVQyuklNKSsx+eppDEBq/g47Ayw+RqNFE+URvOShmf+f/qwAlA==", "dev": true, "dependencies": { - "@babel/highlight": "^7.22.5" + "@babel/highlight": "^7.24.7", + "picocolors": "^1.0.0" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/compat-data": { - "version": "7.22.9", - "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.22.9.tgz", - "integrity": "sha512-5UamI7xkUcJ3i9qVDS+KFDEK8/7oJ55/sJMB1Ge7IEapr7KfdfV/HErR+koZwOfd+SgtFKOKRhRakdg++DcJpQ==", + "version": "7.25.4", + "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.25.4.tgz", + "integrity": "sha512-+LGRog6RAsCJrrrg/IO6LGmpphNe5DiK30dGjCoxxeGv49B10/3XYGxPsAwrDlMFcFEvdAUavDT8r9k/hSyQqQ==", "dev": true, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/core": { - "version": "7.22.9", - "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.22.9.tgz", - "integrity": "sha512-G2EgeufBcYw27U4hhoIwFcgc1XU7TlXJ3mv04oOv1WCuo900U/anZSPzEqNjwdjgffkk2Gs0AN0dW1CKVLcG7w==", + "version": "7.25.2", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.25.2.tgz", + "integrity": "sha512-BBt3opiCOxUr9euZ5/ro/Xv8/V7yJ5bjYMqG/C1YAo8MIKAnumZalCN+msbci3Pigy4lIQfPUpfMM27HMGaYEA==", "dev": true, "dependencies": { "@ampproject/remapping": "^2.2.0", - "@babel/code-frame": "^7.22.5", - "@babel/generator": "^7.22.9", - "@babel/helper-compilation-targets": "^7.22.9", - "@babel/helper-module-transforms": "^7.22.9", - "@babel/helpers": "^7.22.6", - "@babel/parser": "^7.22.7", - "@babel/template": "^7.22.5", - "@babel/traverse": "^7.22.8", - "@babel/types": "^7.22.5", - "convert-source-map": "^1.7.0", + "@babel/code-frame": "^7.24.7", + "@babel/generator": "^7.25.0", + "@babel/helper-compilation-targets": "^7.25.2", + "@babel/helper-module-transforms": "^7.25.2", + "@babel/helpers": "^7.25.0", + "@babel/parser": "^7.25.0", + "@babel/template": "^7.25.0", + "@babel/traverse": "^7.25.2", + "@babel/types": "^7.25.2", + "convert-source-map": "^2.0.0", "debug": "^4.1.0", "gensync": "^1.0.0-beta.2", - "json5": "^2.2.2", + "json5": "^2.2.3", "semver": "^6.3.1" }, "engines": { @@ -114,9 +103,9 @@ } }, "node_modules/@babel/eslint-parser": { - "version": "7.22.9", - "resolved": "https://registry.npmjs.org/@babel/eslint-parser/-/eslint-parser-7.22.9.tgz", - "integrity": "sha512-xdMkt39/nviO/4vpVdrEYPwXCsYIXSSAr6mC7WQsNIlGnuxKyKE7GZjalcnbSWiC4OXGNNN3UQPeHfjSC6sTDA==", + "version": "7.25.1", + "resolved": "https://registry.npmjs.org/@babel/eslint-parser/-/eslint-parser-7.25.1.tgz", + "integrity": "sha512-Y956ghgTT4j7rKesabkh5WeqgSFZVFwaPR0IWFm7KFHFmmJ4afbG49SmfW4S+GyRPx0Dy5jxEWA5t0rpxfElWg==", "dev": true, "dependencies": { "@nicolo-ribaudo/eslint-scope-5-internals": "5.1.1-v1", @@ -127,19 +116,19 @@ "node": "^10.13.0 || ^12.13.0 || >=14.0.0" }, "peerDependencies": { - "@babel/core": ">=7.11.0", - "eslint": "^7.5.0 || ^8.0.0" + "@babel/core": "^7.11.0", + "eslint": "^7.5.0 || ^8.0.0 || ^9.0.0" } }, "node_modules/@babel/generator": { - "version": "7.22.9", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.22.9.tgz", - "integrity": "sha512-KtLMbmicyuK2Ak/FTCJVbDnkN1SlT8/kceFTiuDiiRUUSMnHMidxSCdG4ndkTOHHpoomWe/4xkvHkEOncwjYIw==", + "version": "7.25.6", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.25.6.tgz", + "integrity": "sha512-VPC82gr1seXOpkjAAKoLhP50vx4vGNlF4msF64dSFq1P8RfB+QAuJWGHPXXPc8QyfVWwwB/TNNU4+ayZmHNbZw==", "dev": true, "dependencies": { - "@babel/types": "^7.22.5", - "@jridgewell/gen-mapping": "^0.3.2", - "@jridgewell/trace-mapping": "^0.3.17", + "@babel/types": "^7.25.6", + "@jridgewell/gen-mapping": "^0.3.5", + "@jridgewell/trace-mapping": "^0.3.25", "jsesc": "^2.5.1" }, "engines": { @@ -147,62 +136,58 @@ } }, "node_modules/@babel/helper-annotate-as-pure": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.22.5.tgz", - "integrity": "sha512-LvBTxu8bQSQkcyKOU+a1btnNFQ1dMAd0R6PyW3arXes06F6QLWLIrd681bxRPIXlrMGR3XYnW9JyML7dP3qgxg==", + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.24.7.tgz", + "integrity": "sha512-BaDeOonYvhdKw+JoMVkAixAAJzG2jVPIwWoKBPdYuY9b452e2rPuI9QPYh3KpofZ3pW2akOmwZLOiOsHMiqRAg==", "dev": true, "dependencies": { - "@babel/types": "^7.22.5" + "@babel/types": "^7.24.7" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-builder-binary-assignment-operator-visitor": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.22.5.tgz", - "integrity": "sha512-m1EP3lVOPptR+2DwD125gziZNcmoNSHGmJROKoy87loWUQyJaVXDgpmruWqDARZSmtYQ+Dl25okU8+qhVzuykw==", + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.24.7.tgz", + "integrity": "sha512-xZeCVVdwb4MsDBkkyZ64tReWYrLRHlMN72vP7Bdm3OUOuyFZExhsHUUnuWnm2/XOlAJzR0LfPpB56WXZn0X/lA==", "dev": true, "dependencies": { - "@babel/types": "^7.22.5" + "@babel/traverse": "^7.24.7", + "@babel/types": "^7.24.7" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-compilation-targets": { - "version": "7.22.9", - "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.22.9.tgz", - "integrity": "sha512-7qYrNM6HjpnPHJbopxmb8hSPoZ0gsX8IvUS32JGVoy+pU9e5N0nLr1VjJoR6kA4d9dmGLxNYOjeB8sUDal2WMw==", + "version": "7.25.2", + "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.25.2.tgz", + "integrity": "sha512-U2U5LsSaZ7TAt3cfaymQ8WHh0pxvdHoEk6HVpaexxixjyEquMh0L0YNJNM6CTGKMXV1iksi0iZkGw4AcFkPaaw==", "dev": true, "dependencies": { - "@babel/compat-data": "^7.22.9", - "@babel/helper-validator-option": "^7.22.5", - "browserslist": "^4.21.9", + "@babel/compat-data": "^7.25.2", + "@babel/helper-validator-option": "^7.24.8", + "browserslist": "^4.23.1", "lru-cache": "^5.1.1", "semver": "^6.3.1" }, "engines": { "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0" } }, "node_modules/@babel/helper-create-class-features-plugin": { - "version": "7.22.9", - "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.22.9.tgz", - "integrity": "sha512-Pwyi89uO4YrGKxL/eNJ8lfEH55DnRloGPOseaA8NFNL6jAUnn+KccaISiFazCj5IolPPDjGSdzQzXVzODVRqUQ==", - "dev": true, - "dependencies": { - "@babel/helper-annotate-as-pure": "^7.22.5", - "@babel/helper-environment-visitor": "^7.22.5", - "@babel/helper-function-name": "^7.22.5", - "@babel/helper-member-expression-to-functions": "^7.22.5", - "@babel/helper-optimise-call-expression": "^7.22.5", - "@babel/helper-replace-supers": "^7.22.9", - "@babel/helper-skip-transparent-expression-wrappers": "^7.22.5", - "@babel/helper-split-export-declaration": "^7.22.6", + "version": "7.25.4", + "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.25.4.tgz", + "integrity": "sha512-ro/bFs3/84MDgDmMwbcHgDa8/E6J3QKNTk4xJJnVeFtGE+tL0K26E3pNxhYz2b67fJpt7Aphw5XcploKXuCvCQ==", + "dev": true, + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.24.7", + "@babel/helper-member-expression-to-functions": "^7.24.8", + "@babel/helper-optimise-call-expression": "^7.24.7", + "@babel/helper-replace-supers": "^7.25.0", + "@babel/helper-skip-transparent-expression-wrappers": "^7.24.7", + "@babel/traverse": "^7.25.4", "semver": "^6.3.1" }, "engines": { @@ -213,12 +198,12 @@ } }, "node_modules/@babel/helper-create-regexp-features-plugin": { - "version": "7.22.9", - "resolved": "https://registry.npmjs.org/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.22.9.tgz", - "integrity": "sha512-+svjVa/tFwsNSG4NEy1h85+HQ5imbT92Q5/bgtS7P0GTQlP8WuFdqsiABmQouhiFGyV66oGxZFpeYHza1rNsKw==", + "version": "7.25.2", + "resolved": "https://registry.npmjs.org/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.25.2.tgz", + "integrity": "sha512-+wqVGP+DFmqwFD3EH6TMTfUNeqDehV3E/dl+Sd54eaXqm17tEUNbEIn4sVivVowbvUpOtIGxdo3GoXyDH9N/9g==", "dev": true, "dependencies": { - "@babel/helper-annotate-as-pure": "^7.22.5", + "@babel/helper-annotate-as-pure": "^7.24.7", "regexpu-core": "^5.3.1", "semver": "^6.3.1" }, @@ -230,9 +215,9 @@ } }, "node_modules/@babel/helper-define-polyfill-provider": { - "version": "0.4.2", - "resolved": "https://registry.npmjs.org/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.4.2.tgz", - "integrity": "sha512-k0qnnOqHn5dK9pZpfD5XXZ9SojAITdCKRn2Lp6rnDGzIbaP0rHyMPk/4wsSxVBVz4RfN0q6VpXWP2pDGIoQ7hw==", + "version": "0.6.2", + "resolved": "https://registry.npmjs.org/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.6.2.tgz", + "integrity": "sha512-LV76g+C502biUK6AyZ3LK10vDpDyCzZnhZFXkH1L75zHPj68+qc8Zfpx2th+gzwA2MzyK+1g/3EPl62yFnVttQ==", "dev": true, "dependencies": { "@babel/helper-compilation-targets": "^7.22.6", @@ -245,75 +230,42 @@ "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0" } }, - "node_modules/@babel/helper-environment-visitor": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.22.5.tgz", - "integrity": "sha512-XGmhECfVA/5sAt+H+xpSg0mfrHq6FzNr9Oxh7PSEBBRUb/mL7Kz3NICXb194rCqAEdxkhPT1a88teizAFyvk8Q==", - "dev": true, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-function-name": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.22.5.tgz", - "integrity": "sha512-wtHSq6jMRE3uF2otvfuD3DIvVhOsSNshQl0Qrd7qC9oQJzHvOL4qQXlQn2916+CXGywIjpGuIkoyZRRxHPiNQQ==", - "dev": true, - "dependencies": { - "@babel/template": "^7.22.5", - "@babel/types": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-hoist-variables": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.22.5.tgz", - "integrity": "sha512-wGjk9QZVzvknA6yKIUURb8zY3grXCcOZt+/7Wcy8O2uctxhplmUPkOdlgoNhmdVee2c92JXbf1xpMtVNbfoxRw==", - "dev": true, - "dependencies": { - "@babel/types": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - } - }, "node_modules/@babel/helper-member-expression-to-functions": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.22.5.tgz", - "integrity": "sha512-aBiH1NKMG0H2cGZqspNvsaBe6wNGjbJjuLy29aU+eDZjSbbN53BaxlpB02xm9v34pLTZ1nIQPFYn2qMZoa5BQQ==", + "version": "7.24.8", + "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.24.8.tgz", + "integrity": "sha512-LABppdt+Lp/RlBxqrh4qgf1oEH/WxdzQNDJIu5gC/W1GyvPVrOBiItmmM8wan2fm4oYqFuFfkXmlGpLQhPY8CA==", "dev": true, "dependencies": { - "@babel/types": "^7.22.5" + "@babel/traverse": "^7.24.8", + "@babel/types": "^7.24.8" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-module-imports": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.22.5.tgz", - "integrity": "sha512-8Dl6+HD/cKifutF5qGd/8ZJi84QeAKh+CEe1sBzz8UayBBGg1dAIJrdHOcOM5b2MpzWL2yuotJTtGjETq0qjXg==", + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.24.7.tgz", + "integrity": "sha512-8AyH3C+74cgCVVXow/myrynrAGv+nTVg5vKu2nZph9x7RcRwzmh0VFallJuFTZ9mx6u4eSdXZfcOzSqTUm0HCA==", "dev": true, "dependencies": { - "@babel/types": "^7.22.5" + "@babel/traverse": "^7.24.7", + "@babel/types": "^7.24.7" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-module-transforms": { - "version": "7.22.9", - "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.22.9.tgz", - "integrity": "sha512-t+WA2Xn5K+rTeGtC8jCsdAH52bjggG5TKRuRrAGNM/mjIbO4GxvlLMFOEz9wXY5I2XQ60PMFsAG2WIcG82dQMQ==", + "version": "7.25.2", + "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.25.2.tgz", + "integrity": "sha512-BjyRAbix6j/wv83ftcVJmBt72QtHI56C7JXZoG2xATiLpmoC7dpd8WnkikExHDVPpi/3qCmO6WY1EaXOluiecQ==", "dev": true, "dependencies": { - "@babel/helper-environment-visitor": "^7.22.5", - "@babel/helper-module-imports": "^7.22.5", - "@babel/helper-simple-access": "^7.22.5", - "@babel/helper-split-export-declaration": "^7.22.6", - "@babel/helper-validator-identifier": "^7.22.5" + "@babel/helper-module-imports": "^7.24.7", + "@babel/helper-simple-access": "^7.24.7", + "@babel/helper-validator-identifier": "^7.24.7", + "@babel/traverse": "^7.25.2" }, "engines": { "node": ">=6.9.0" @@ -323,35 +275,35 @@ } }, "node_modules/@babel/helper-optimise-call-expression": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.22.5.tgz", - "integrity": "sha512-HBwaojN0xFRx4yIvpwGqxiV2tUfl7401jlok564NgB9EHS1y6QT17FmKWm4ztqjeVdXLuC4fSvHc5ePpQjoTbw==", + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.24.7.tgz", + "integrity": "sha512-jKiTsW2xmWwxT1ixIdfXUZp+P5yURx2suzLZr5Hi64rURpDYdMW0pv+Uf17EYk2Rd428Lx4tLsnjGJzYKDM/6A==", "dev": true, "dependencies": { - "@babel/types": "^7.22.5" + "@babel/types": "^7.24.7" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-plugin-utils": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.22.5.tgz", - "integrity": "sha512-uLls06UVKgFG9QD4OeFYLEGteMIAa5kpTPcFL28yuCIIzsf6ZyKZMllKVOCZFhiZ5ptnwX4mtKdWCBE/uT4amg==", + "version": "7.24.8", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.24.8.tgz", + "integrity": "sha512-FFWx5142D8h2Mgr/iPVGH5G7w6jDn4jUSpZTyDnQO0Yn7Ks2Kuz6Pci8H6MPCoUJegd/UZQ3tAvfLCxQSnWWwg==", "dev": true, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-remap-async-to-generator": { - "version": "7.22.9", - "resolved": "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.22.9.tgz", - "integrity": "sha512-8WWC4oR4Px+tr+Fp0X3RHDVfINGpF3ad1HIbrc8A77epiR6eMMc6jsgozkzT2uDiOOdoS9cLIQ+XD2XvI2WSmQ==", + "version": "7.25.0", + "resolved": "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.25.0.tgz", + "integrity": "sha512-NhavI2eWEIz/H9dbrG0TuOicDhNexze43i5z7lEqwYm0WEZVTwnPpA0EafUTP7+6/W79HWIP2cTe3Z5NiSTVpw==", "dev": true, "dependencies": { - "@babel/helper-annotate-as-pure": "^7.22.5", - "@babel/helper-environment-visitor": "^7.22.5", - "@babel/helper-wrap-function": "^7.22.9" + "@babel/helper-annotate-as-pure": "^7.24.7", + "@babel/helper-wrap-function": "^7.25.0", + "@babel/traverse": "^7.25.0" }, "engines": { "node": ">=6.9.0" @@ -361,14 +313,14 @@ } }, "node_modules/@babel/helper-replace-supers": { - "version": "7.22.9", - "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.22.9.tgz", - "integrity": "sha512-LJIKvvpgPOPUThdYqcX6IXRuIcTkcAub0IaDRGCZH0p5GPUp7PhRU9QVgFcDDd51BaPkk77ZjqFwh6DZTAEmGg==", + "version": "7.25.0", + "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.25.0.tgz", + "integrity": "sha512-q688zIvQVYtZu+i2PsdIu/uWGRpfxzr5WESsfpShfZECkO+d2o+WROWezCi/Q6kJ0tfPa5+pUGUlfx2HhrA3Bg==", "dev": true, "dependencies": { - "@babel/helper-environment-visitor": "^7.22.5", - "@babel/helper-member-expression-to-functions": "^7.22.5", - "@babel/helper-optimise-call-expression": "^7.22.5" + "@babel/helper-member-expression-to-functions": "^7.24.8", + "@babel/helper-optimise-call-expression": "^7.24.7", + "@babel/traverse": "^7.25.0" }, "engines": { "node": ">=6.9.0" @@ -378,115 +330,108 @@ } }, "node_modules/@babel/helper-simple-access": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.22.5.tgz", - "integrity": "sha512-n0H99E/K+Bika3++WNL17POvo4rKWZ7lZEp1Q+fStVbUi8nxPQEBOlTmCOxW/0JsS56SKKQ+ojAe2pHKJHN35w==", + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.24.7.tgz", + "integrity": "sha512-zBAIvbCMh5Ts+b86r/CjU+4XGYIs+R1j951gxI3KmmxBMhCg4oQMsv6ZXQ64XOm/cvzfU1FmoCyt6+owc5QMYg==", "dev": true, "dependencies": { - "@babel/types": "^7.22.5" + "@babel/traverse": "^7.24.7", + "@babel/types": "^7.24.7" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-skip-transparent-expression-wrappers": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.22.5.tgz", - "integrity": "sha512-tK14r66JZKiC43p8Ki33yLBVJKlQDFoA8GYN67lWCDCqoL6EMMSuM9b+Iff2jHaM/RRFYl7K+iiru7hbRqNx8Q==", - "dev": true, - "dependencies": { - "@babel/types": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-split-export-declaration": { - "version": "7.22.6", - "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.22.6.tgz", - "integrity": "sha512-AsUnxuLhRYsisFiaJwvp1QF+I3KjD5FOxut14q/GzovUe6orHLesW2C7d754kRm53h5gqrz6sFl6sxc4BVtE/g==", + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.24.7.tgz", + "integrity": "sha512-IO+DLT3LQUElMbpzlatRASEyQtfhSE0+m465v++3jyyXeBTBUjtVZg28/gHeV5mrTJqvEKhKroBGAvhW+qPHiQ==", "dev": true, "dependencies": { - "@babel/types": "^7.22.5" + "@babel/traverse": "^7.24.7", + "@babel/types": "^7.24.7" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-string-parser": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.22.5.tgz", - "integrity": "sha512-mM4COjgZox8U+JcXQwPijIZLElkgEpO5rsERVDJTc2qfCDfERyob6k5WegS14SX18IIjv+XD+GrqNumY5JRCDw==", + "version": "7.24.8", + "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.24.8.tgz", + "integrity": "sha512-pO9KhhRcuUyGnJWwyEgnRJTSIZHiT+vMD0kPeD+so0l7mxkMT19g3pjY9GTnHySck/hDzq+dtW/4VgnMkippsQ==", "dev": true, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-validator-identifier": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.22.5.tgz", - "integrity": "sha512-aJXu+6lErq8ltp+JhkJUfk1MTGyuA4v7f3pA+BJ5HLfNC6nAQ0Cpi9uOquUj8Hehg0aUiHzWQbOVJGao6ztBAQ==", + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.24.7.tgz", + "integrity": "sha512-rR+PBcQ1SMQDDyF6X0wxtG8QyLCgUB0eRAGguqRLfkCA87l7yAP7ehq8SNj96OOGTO8OBV70KhuFYcIkHXOg0w==", "dev": true, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-validator-option": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.22.5.tgz", - "integrity": "sha512-R3oB6xlIVKUnxNUxbmgq7pKjxpru24zlimpE8WK47fACIlM0II/Hm1RS8IaOI7NgCr6LNS+jl5l75m20npAziw==", + "version": "7.24.8", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.24.8.tgz", + "integrity": "sha512-xb8t9tD1MHLungh/AIoWYN+gVHaB9kwlu8gffXGSt3FFEIT7RjS+xWbc2vUD1UTZdIpKj/ab3rdqJ7ufngyi2Q==", "dev": true, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-wrap-function": { - "version": "7.22.9", - "resolved": "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.22.9.tgz", - "integrity": "sha512-sZ+QzfauuUEfxSEjKFmi3qDSHgLsTPK/pEpoD/qonZKOtTPTLbf59oabPQ4rKekt9lFcj/hTZaOhWwFYrgjk+Q==", + "version": "7.25.0", + "resolved": "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.25.0.tgz", + "integrity": "sha512-s6Q1ebqutSiZnEjaofc/UKDyC4SbzV5n5SrA2Gq8UawLycr3i04f1dX4OzoQVnexm6aOCh37SQNYlJ/8Ku+PMQ==", "dev": true, "dependencies": { - "@babel/helper-function-name": "^7.22.5", - "@babel/template": "^7.22.5", - "@babel/types": "^7.22.5" + "@babel/template": "^7.25.0", + "@babel/traverse": "^7.25.0", + "@babel/types": "^7.25.0" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helpers": { - "version": "7.22.6", - "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.22.6.tgz", - "integrity": "sha512-YjDs6y/fVOYFV8hAf1rxd1QvR9wJe1pDBZ2AREKq/SDayfPzgk0PBnVuTCE5X1acEpMMNOVUqoe+OwiZGJ+OaA==", + "version": "7.25.6", + "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.25.6.tgz", + "integrity": "sha512-Xg0tn4HcfTijTwfDwYlvVCl43V6h4KyVVX2aEm4qdO/PC6L2YvzLHFdmxhoeSA3eslcE6+ZVXHgWwopXYLNq4Q==", "dev": true, "dependencies": { - "@babel/template": "^7.22.5", - "@babel/traverse": "^7.22.6", - "@babel/types": "^7.22.5" + "@babel/template": "^7.25.0", + "@babel/types": "^7.25.6" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/highlight": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.22.5.tgz", - "integrity": "sha512-BSKlD1hgnedS5XRnGOljZawtag7H1yPfQp0tdNJCHoH6AZ+Pcm9VvkrK59/Yy593Ypg0zMxH2BxD1VPYUQ7UIw==", + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.24.7.tgz", + "integrity": "sha512-EStJpq4OuY8xYfhGVXngigBJRWxftKX9ksiGDnmlY3o7B/V7KIAc9X4oiK87uPJSc/vs5L869bem5fhZa8caZw==", "dev": true, "dependencies": { - "@babel/helper-validator-identifier": "^7.22.5", - "chalk": "^2.0.0", - "js-tokens": "^4.0.0" + "@babel/helper-validator-identifier": "^7.24.7", + "chalk": "^2.4.2", + "js-tokens": "^4.0.0", + "picocolors": "^1.0.0" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/parser": { - "version": "7.22.7", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.22.7.tgz", - "integrity": "sha512-7NF8pOkHP5o2vpmGgNGcfAeCvOYhGLyA3Z4eBQkT1RJlWu47n63bCs93QfJ2hIAFCil7L5P2IWhs1oToVgrL0Q==", + "version": "7.25.6", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.25.6.tgz", + "integrity": "sha512-trGdfBdbD0l1ZPmcJ83eNxB9rbEax4ALFTF7fN386TMYbeCQbyme5cOEXQhbGXKebwGaB/J52w1mrklMcbgy6Q==", "dev": true, + "dependencies": { + "@babel/types": "^7.25.6" + }, "bin": { "parser": "bin/babel-parser.js" }, @@ -494,13 +439,44 @@ "node": ">=6.0.0" } }, + "node_modules/@babel/plugin-bugfix-firefox-class-in-computed-class-key": { + "version": "7.25.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-firefox-class-in-computed-class-key/-/plugin-bugfix-firefox-class-in-computed-class-key-7.25.3.tgz", + "integrity": "sha512-wUrcsxZg6rqBXG05HG1FPYgsP6EvwF4WpBbxIpWIIYnH8wG0gzx3yZY3dtEHas4sTAOGkbTsc9EGPxwff8lRoA==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.8", + "@babel/traverse": "^7.25.3" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/plugin-bugfix-safari-class-field-initializer-scope": { + "version": "7.25.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-safari-class-field-initializer-scope/-/plugin-bugfix-safari-class-field-initializer-scope-7.25.0.tgz", + "integrity": "sha512-Bm4bH2qsX880b/3ziJ8KD711LT7z4u8CFudmjqle65AZj/HNUFhEf90dqYv6O86buWvSBmeQDjv0Tn2aF/bIBA==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.8" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, "node_modules/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression/-/plugin-bugfix-safari-id-destructuring-collision-in-function-expression-7.22.5.tgz", - "integrity": "sha512-NP1M5Rf+u2Gw9qfSO4ihjcTGW5zXTi36ITLd4/EoAcEhIZ0yjMqmftDNl3QC19CX7olhrjpyU454g/2W7X0jvQ==", + "version": "7.25.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression/-/plugin-bugfix-safari-id-destructuring-collision-in-function-expression-7.25.0.tgz", + "integrity": "sha512-lXwdNZtTmeVOOFtwM/WDe7yg1PL8sYhRk/XH0FzbR2HDQ0xC+EnQ/JHeoMYSavtU115tnUk0q9CDyq8si+LMAA==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5" + "@babel/helper-plugin-utils": "^7.24.8" }, "engines": { "node": ">=6.9.0" @@ -510,14 +486,14 @@ } }, "node_modules/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.22.5.tgz", - "integrity": "sha512-31Bb65aZaUwqCbWMnZPduIZxCBngHFlzyN6Dq6KAJjtx+lx6ohKHubc61OomYi7XwVD4Ol0XCVz4h+pYFR048g==", + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.24.7.tgz", + "integrity": "sha512-+izXIbke1T33mY4MSNnrqhPXDz01WYhEf3yF5NbnUtkiNnm+XBZJl3kNfoK6NKmYlz/D07+l2GWVK/QfDkNCuQ==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/helper-skip-transparent-expression-wrappers": "^7.22.5", - "@babel/plugin-transform-optional-chaining": "^7.22.5" + "@babel/helper-plugin-utils": "^7.24.7", + "@babel/helper-skip-transparent-expression-wrappers": "^7.24.7", + "@babel/plugin-transform-optional-chaining": "^7.24.7" }, "engines": { "node": ">=6.9.0" @@ -526,29 +502,29 @@ "@babel/core": "^7.13.0" } }, - "node_modules/@babel/plugin-proposal-private-property-in-object": { - "version": "7.21.0-placeholder-for-preset-env.2", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-private-property-in-object/-/plugin-proposal-private-property-in-object-7.21.0-placeholder-for-preset-env.2.tgz", - "integrity": "sha512-SOSkfJDddaM7mak6cPEpswyTRnuRltl429hMraQEglW+OkovnCzsiszTmsrlY//qLFjCpQDFRvjdm2wA5pPm9w==", + "node_modules/@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly": { + "version": "7.25.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly/-/plugin-bugfix-v8-static-class-fields-redefine-readonly-7.25.0.tgz", + "integrity": "sha512-tggFrk1AIShG/RUQbEwt2Tr/E+ObkfwrPjR6BjbRvsx24+PSjK8zrq0GWPNCjo8qpRx4DuJzlcvWJqlm+0h3kw==", "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.8", + "@babel/traverse": "^7.25.0" + }, "engines": { "node": ">=6.9.0" }, "peerDependencies": { - "@babel/core": "^7.0.0-0" + "@babel/core": "^7.0.0" } }, - "node_modules/@babel/plugin-proposal-unicode-property-regex": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.18.6.tgz", - "integrity": "sha512-2BShG/d5yoZyXZfVePH91urL5wTG6ASZU9M4o03lKK8u8UW1y08OMttBSOADTcJrnPMpvDXRG3G8fyLh4ovs8w==", + "node_modules/@babel/plugin-proposal-private-property-in-object": { + "version": "7.21.0-placeholder-for-preset-env.2", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-private-property-in-object/-/plugin-proposal-private-property-in-object-7.21.0-placeholder-for-preset-env.2.tgz", + "integrity": "sha512-SOSkfJDddaM7mak6cPEpswyTRnuRltl429hMraQEglW+OkovnCzsiszTmsrlY//qLFjCpQDFRvjdm2wA5pPm9w==", "dev": true, - "dependencies": { - "@babel/helper-create-regexp-features-plugin": "^7.18.6", - "@babel/helper-plugin-utils": "^7.18.6" - }, "engines": { - "node": ">=4" + "node": ">=6.9.0" }, "peerDependencies": { "@babel/core": "^7.0.0-0" @@ -630,12 +606,12 @@ } }, "node_modules/@babel/plugin-syntax-import-assertions": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-assertions/-/plugin-syntax-import-assertions-7.22.5.tgz", - "integrity": "sha512-rdV97N7KqsRzeNGoWUOK6yUsWarLjE5Su/Snk9IYPU9CwkWHs4t+rTGOvffTR8XGkJMTAdLfO0xVnXm8wugIJg==", + "version": "7.25.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-assertions/-/plugin-syntax-import-assertions-7.25.6.tgz", + "integrity": "sha512-aABl0jHw9bZ2karQ/uUD6XP4u0SG22SJrOHFoL6XB1R7dTovOP4TzTlsxOYC5yQ1pdscVK2JTUnF6QL3ARoAiQ==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5" + "@babel/helper-plugin-utils": "^7.24.8" }, "engines": { "node": ">=6.9.0" @@ -645,12 +621,12 @@ } }, "node_modules/@babel/plugin-syntax-import-attributes": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-attributes/-/plugin-syntax-import-attributes-7.22.5.tgz", - "integrity": "sha512-KwvoWDeNKPETmozyFE0P2rOLqh39EoQHNjqizrI5B8Vt0ZNS7M56s7dAiAqbYfiAYOuIzIh96z3iR2ktgu3tEg==", + "version": "7.25.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-attributes/-/plugin-syntax-import-attributes-7.25.6.tgz", + "integrity": "sha512-sXaDXaJN9SNLymBdlWFA+bjzBhFD617ZaFiY13dGt7TVslVvVgA6fkZOP7Ki3IGElC45lwHdOTrCtKZGVAWeLQ==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5" + "@babel/helper-plugin-utils": "^7.24.8" }, "engines": { "node": ">=6.9.0" @@ -684,12 +660,12 @@ } }, "node_modules/@babel/plugin-syntax-jsx": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.22.5.tgz", - "integrity": "sha512-gvyP4hZrgrs/wWMaocvxZ44Hw0b3W8Pe+cMxc8V1ULQ07oh8VNbIRaoD1LRZVTvD+0nieDKjfgKg89sD7rrKrg==", + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.24.7.tgz", + "integrity": "sha512-6ddciUPe/mpMnOKv/U+RSd2vvVy+Yw/JfBB0ZHYjEZt9NLHmCUylNYlsbqCCS1Bffjlb0fCwC9Vqz+sBz6PsiQ==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5" + "@babel/helper-plugin-utils": "^7.24.7" }, "engines": { "node": ">=6.9.0" @@ -801,12 +777,12 @@ } }, "node_modules/@babel/plugin-syntax-typescript": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.22.5.tgz", - "integrity": "sha512-1mS2o03i7t1c6VzH6fdQ3OA8tcEIxwG18zIPRp+UY1Ihv6W+XZzBCVxExF9upussPXJ0xE9XRHwMoNs1ep/nRQ==", + "version": "7.25.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.25.4.tgz", + "integrity": "sha512-uMOCoHVU52BsSWxPOMVv5qKRdeSlPuImUCB2dlPuBSU+W2/ROE7/Zg8F2Kepbk+8yBa68LlRKxO+xgEVWorsDg==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5" + "@babel/helper-plugin-utils": "^7.24.8" }, "engines": { "node": ">=6.9.0" @@ -832,12 +808,12 @@ } }, "node_modules/@babel/plugin-transform-arrow-functions": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.22.5.tgz", - "integrity": "sha512-26lTNXoVRdAnsaDXPpvCNUq+OVWEVC6bx7Vvz9rC53F2bagUWW4u4ii2+h8Fejfh7RYqPxn+libeFBBck9muEw==", + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.24.7.tgz", + "integrity": "sha512-Dt9LQs6iEY++gXUwY03DNFat5C2NbO48jj+j/bSAz6b3HgPs39qcPiYt77fDObIcFwj3/C2ICX9YMwGflUoSHQ==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5" + "@babel/helper-plugin-utils": "^7.24.7" }, "engines": { "node": ">=6.9.0" @@ -847,15 +823,15 @@ } }, "node_modules/@babel/plugin-transform-async-generator-functions": { - "version": "7.22.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-generator-functions/-/plugin-transform-async-generator-functions-7.22.7.tgz", - "integrity": "sha512-7HmE7pk/Fmke45TODvxvkxRMV9RazV+ZZzhOL9AG8G29TLrr3jkjwF7uJfxZ30EoXpO+LJkq4oA8NjO2DTnEDg==", + "version": "7.25.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-generator-functions/-/plugin-transform-async-generator-functions-7.25.4.tgz", + "integrity": "sha512-jz8cV2XDDTqjKPwVPJBIjORVEmSGYhdRa8e5k5+vN+uwcjSrSxUaebBRa4ko1jqNF2uxyg8G6XYk30Jv285xzg==", "dev": true, "dependencies": { - "@babel/helper-environment-visitor": "^7.22.5", - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/helper-remap-async-to-generator": "^7.22.5", - "@babel/plugin-syntax-async-generators": "^7.8.4" + "@babel/helper-plugin-utils": "^7.24.8", + "@babel/helper-remap-async-to-generator": "^7.25.0", + "@babel/plugin-syntax-async-generators": "^7.8.4", + "@babel/traverse": "^7.25.4" }, "engines": { "node": ">=6.9.0" @@ -865,14 +841,14 @@ } }, "node_modules/@babel/plugin-transform-async-to-generator": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.22.5.tgz", - "integrity": "sha512-b1A8D8ZzE/VhNDoV1MSJTnpKkCG5bJo+19R4o4oy03zM7ws8yEMK755j61Dc3EyvdysbqH5BOOTquJ7ZX9C6vQ==", + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.24.7.tgz", + "integrity": "sha512-SQY01PcJfmQ+4Ash7NE+rpbLFbmqA2GPIgqzxfFTL4t1FKRq4zTms/7htKpoCUI9OcFYgzqfmCdH53s6/jn5fA==", "dev": true, "dependencies": { - "@babel/helper-module-imports": "^7.22.5", - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/helper-remap-async-to-generator": "^7.22.5" + "@babel/helper-module-imports": "^7.24.7", + "@babel/helper-plugin-utils": "^7.24.7", + "@babel/helper-remap-async-to-generator": "^7.24.7" }, "engines": { "node": ">=6.9.0" @@ -882,12 +858,12 @@ } }, "node_modules/@babel/plugin-transform-block-scoped-functions": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.22.5.tgz", - "integrity": "sha512-tdXZ2UdknEKQWKJP1KMNmuF5Lx3MymtMN/pvA+p/VEkhK8jVcQ1fzSy8KM9qRYhAf2/lV33hoMPKI/xaI9sADA==", + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.24.7.tgz", + "integrity": "sha512-yO7RAz6EsVQDaBH18IDJcMB1HnrUn2FJ/Jslc/WtPPWcjhpUJXU/rjbwmluzp7v/ZzWcEhTMXELnnsz8djWDwQ==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5" + "@babel/helper-plugin-utils": "^7.24.7" }, "engines": { "node": ">=6.9.0" @@ -897,12 +873,12 @@ } }, "node_modules/@babel/plugin-transform-block-scoping": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.22.5.tgz", - "integrity": "sha512-EcACl1i5fSQ6bt+YGuU/XGCeZKStLmyVGytWkpyhCLeQVA0eu6Wtiw92V+I1T/hnezUv7j74dA/Ro69gWcU+hg==", + "version": "7.25.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.25.0.tgz", + "integrity": "sha512-yBQjYoOjXlFv9nlXb3f1casSHOZkWr29NX+zChVanLg5Nc157CrbEX9D7hxxtTpuFy7Q0YzmmWfJxzvps4kXrQ==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5" + "@babel/helper-plugin-utils": "^7.24.8" }, "engines": { "node": ">=6.9.0" @@ -912,13 +888,13 @@ } }, "node_modules/@babel/plugin-transform-class-properties": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-class-properties/-/plugin-transform-class-properties-7.22.5.tgz", - "integrity": "sha512-nDkQ0NfkOhPTq8YCLiWNxp1+f9fCobEjCb0n8WdbNUBc4IB5V7P1QnX9IjpSoquKrXF5SKojHleVNs2vGeHCHQ==", + "version": "7.25.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-class-properties/-/plugin-transform-class-properties-7.25.4.tgz", + "integrity": "sha512-nZeZHyCWPfjkdU5pA/uHiTaDAFUEqkpzf1YoQT2NeSynCGYq9rxfyI3XpQbfx/a0hSnFH6TGlEXvae5Vi7GD8g==", "dev": true, "dependencies": { - "@babel/helper-create-class-features-plugin": "^7.22.5", - "@babel/helper-plugin-utils": "^7.22.5" + "@babel/helper-create-class-features-plugin": "^7.25.4", + "@babel/helper-plugin-utils": "^7.24.8" }, "engines": { "node": ">=6.9.0" @@ -928,13 +904,13 @@ } }, "node_modules/@babel/plugin-transform-class-static-block": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-class-static-block/-/plugin-transform-class-static-block-7.22.5.tgz", - "integrity": "sha512-SPToJ5eYZLxlnp1UzdARpOGeC2GbHvr9d/UV0EukuVx8atktg194oe+C5BqQ8jRTkgLRVOPYeXRSBg1IlMoVRA==", + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-class-static-block/-/plugin-transform-class-static-block-7.24.7.tgz", + "integrity": "sha512-HMXK3WbBPpZQufbMG4B46A90PkuuhN9vBCb5T8+VAHqvAqvcLi+2cKoukcpmUYkszLhScU3l1iudhrks3DggRQ==", "dev": true, "dependencies": { - "@babel/helper-create-class-features-plugin": "^7.22.5", - "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-create-class-features-plugin": "^7.24.7", + "@babel/helper-plugin-utils": "^7.24.7", "@babel/plugin-syntax-class-static-block": "^7.14.5" }, "engines": { @@ -945,19 +921,16 @@ } }, "node_modules/@babel/plugin-transform-classes": { - "version": "7.22.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.22.6.tgz", - "integrity": "sha512-58EgM6nuPNG6Py4Z3zSuu0xWu2VfodiMi72Jt5Kj2FECmaYk1RrTXA45z6KBFsu9tRgwQDwIiY4FXTt+YsSFAQ==", + "version": "7.25.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.25.4.tgz", + "integrity": "sha512-oexUfaQle2pF/b6E0dwsxQtAol9TLSO88kQvym6HHBWFliV2lGdrPieX+WgMRLSJDVzdYywk7jXbLPuO2KLTLg==", "dev": true, "dependencies": { - "@babel/helper-annotate-as-pure": "^7.22.5", - "@babel/helper-compilation-targets": "^7.22.6", - "@babel/helper-environment-visitor": "^7.22.5", - "@babel/helper-function-name": "^7.22.5", - "@babel/helper-optimise-call-expression": "^7.22.5", - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/helper-replace-supers": "^7.22.5", - "@babel/helper-split-export-declaration": "^7.22.6", + "@babel/helper-annotate-as-pure": "^7.24.7", + "@babel/helper-compilation-targets": "^7.25.2", + "@babel/helper-plugin-utils": "^7.24.8", + "@babel/helper-replace-supers": "^7.25.0", + "@babel/traverse": "^7.25.4", "globals": "^11.1.0" }, "engines": { @@ -968,13 +941,13 @@ } }, "node_modules/@babel/plugin-transform-computed-properties": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.22.5.tgz", - "integrity": "sha512-4GHWBgRf0krxPX+AaPtgBAlTgTeZmqDynokHOX7aqqAB4tHs3U2Y02zH6ETFdLZGcg9UQSD1WCmkVrE9ErHeOg==", + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.24.7.tgz", + "integrity": "sha512-25cS7v+707Gu6Ds2oY6tCkUwsJ9YIDbggd9+cu9jzzDgiNq7hR/8dkzxWfKWnTic26vsI3EsCXNd4iEB6e8esQ==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/template": "^7.22.5" + "@babel/helper-plugin-utils": "^7.24.7", + "@babel/template": "^7.24.7" }, "engines": { "node": ">=6.9.0" @@ -984,12 +957,12 @@ } }, "node_modules/@babel/plugin-transform-destructuring": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.22.5.tgz", - "integrity": "sha512-GfqcFuGW8vnEqTUBM7UtPd5A4q797LTvvwKxXTgRsFjoqaJiEg9deBG6kWeQYkVEL569NpnmpC0Pkr/8BLKGnQ==", + "version": "7.24.8", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.24.8.tgz", + "integrity": "sha512-36e87mfY8TnRxc7yc6M9g9gOB7rKgSahqkIKwLpz4Ppk2+zC2Cy1is0uwtuSG6AE4zlTOUa+7JGz9jCJGLqQFQ==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5" + "@babel/helper-plugin-utils": "^7.24.8" }, "engines": { "node": ">=6.9.0" @@ -999,13 +972,13 @@ } }, "node_modules/@babel/plugin-transform-dotall-regex": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.22.5.tgz", - "integrity": "sha512-5/Yk9QxCQCl+sOIB1WelKnVRxTJDSAIxtJLL2/pqL14ZVlbH0fUQUZa/T5/UnQtBNgghR7mfB8ERBKyKPCi7Vw==", + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.24.7.tgz", + "integrity": "sha512-ZOA3W+1RRTSWvyqcMJDLqbchh7U4NRGqwRfFSVbOLS/ePIP4vHB5e8T8eXcuqyN1QkgKyj5wuW0lcS85v4CrSw==", "dev": true, "dependencies": { - "@babel/helper-create-regexp-features-plugin": "^7.22.5", - "@babel/helper-plugin-utils": "^7.22.5" + "@babel/helper-create-regexp-features-plugin": "^7.24.7", + "@babel/helper-plugin-utils": "^7.24.7" }, "engines": { "node": ">=6.9.0" @@ -1015,12 +988,12 @@ } }, "node_modules/@babel/plugin-transform-duplicate-keys": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.22.5.tgz", - "integrity": "sha512-dEnYD+9BBgld5VBXHnF/DbYGp3fqGMsyxKbtD1mDyIA7AkTSpKXFhCVuj/oQVOoALfBs77DudA0BE4d5mcpmqw==", + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.24.7.tgz", + "integrity": "sha512-JdYfXyCRihAe46jUIliuL2/s0x0wObgwwiGxw/UbgJBr20gQBThrokO4nYKgWkD7uBaqM7+9x5TU7NkExZJyzw==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5" + "@babel/helper-plugin-utils": "^7.24.7" }, "engines": { "node": ">=6.9.0" @@ -1029,13 +1002,29 @@ "@babel/core": "^7.0.0-0" } }, + "node_modules/@babel/plugin-transform-duplicate-named-capturing-groups-regex": { + "version": "7.25.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-duplicate-named-capturing-groups-regex/-/plugin-transform-duplicate-named-capturing-groups-regex-7.25.0.tgz", + "integrity": "sha512-YLpb4LlYSc3sCUa35un84poXoraOiQucUTTu8X1j18JV+gNa8E0nyUf/CjZ171IRGr4jEguF+vzJU66QZhn29g==", + "dev": true, + "dependencies": { + "@babel/helper-create-regexp-features-plugin": "^7.25.0", + "@babel/helper-plugin-utils": "^7.24.8" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, "node_modules/@babel/plugin-transform-dynamic-import": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dynamic-import/-/plugin-transform-dynamic-import-7.22.5.tgz", - "integrity": "sha512-0MC3ppTB1AMxd8fXjSrbPa7LT9hrImt+/fcj+Pg5YMD7UQyWp/02+JWpdnCymmsXwIx5Z+sYn1bwCn4ZJNvhqQ==", + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dynamic-import/-/plugin-transform-dynamic-import-7.24.7.tgz", + "integrity": "sha512-sc3X26PhZQDb3JhORmakcbvkeInvxz+A8oda99lj7J60QRuPZvNAk9wQlTBS1ZynelDrDmTU4pw1tyc5d5ZMUg==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-plugin-utils": "^7.24.7", "@babel/plugin-syntax-dynamic-import": "^7.8.3" }, "engines": { @@ -1046,13 +1035,13 @@ } }, "node_modules/@babel/plugin-transform-exponentiation-operator": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.22.5.tgz", - "integrity": "sha512-vIpJFNM/FjZ4rh1myqIya9jXwrwwgFRHPjT3DkUA9ZLHuzox8jiXkOLvwm1H+PQIP3CqfC++WPKeuDi0Sjdj1g==", + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.24.7.tgz", + "integrity": "sha512-Rqe/vSc9OYgDajNIK35u7ot+KeCoetqQYFXM4Epf7M7ez3lWlOjrDjrwMei6caCVhfdw+mIKD4cgdGNy5JQotQ==", "dev": true, "dependencies": { - "@babel/helper-builder-binary-assignment-operator-visitor": "^7.22.5", - "@babel/helper-plugin-utils": "^7.22.5" + "@babel/helper-builder-binary-assignment-operator-visitor": "^7.24.7", + "@babel/helper-plugin-utils": "^7.24.7" }, "engines": { "node": ">=6.9.0" @@ -1062,12 +1051,12 @@ } }, "node_modules/@babel/plugin-transform-export-namespace-from": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-export-namespace-from/-/plugin-transform-export-namespace-from-7.22.5.tgz", - "integrity": "sha512-X4hhm7FRnPgd4nDA4b/5V280xCx6oL7Oob5+9qVS5C13Zq4bh1qq7LU0GgRU6b5dBWBvhGaXYVB4AcN6+ol6vg==", + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-export-namespace-from/-/plugin-transform-export-namespace-from-7.24.7.tgz", + "integrity": "sha512-v0K9uNYsPL3oXZ/7F9NNIbAj2jv1whUEtyA6aujhekLs56R++JDQuzRcP2/z4WX5Vg/c5lE9uWZA0/iUoFhLTA==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-plugin-utils": "^7.24.7", "@babel/plugin-syntax-export-namespace-from": "^7.8.3" }, "engines": { @@ -1078,12 +1067,13 @@ } }, "node_modules/@babel/plugin-transform-for-of": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.22.5.tgz", - "integrity": "sha512-3kxQjX1dU9uudwSshyLeEipvrLjBCVthCgeTp6CzE/9JYrlAIaeekVxRpCWsDDfYTfRZRoCeZatCQvwo+wvK8A==", + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.24.7.tgz", + "integrity": "sha512-wo9ogrDG1ITTTBsy46oGiN1dS9A7MROBTcYsfS8DtsImMkHk9JXJ3EWQM6X2SUw4x80uGPlwj0o00Uoc6nEE3g==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5" + "@babel/helper-plugin-utils": "^7.24.7", + "@babel/helper-skip-transparent-expression-wrappers": "^7.24.7" }, "engines": { "node": ">=6.9.0" @@ -1093,14 +1083,14 @@ } }, "node_modules/@babel/plugin-transform-function-name": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.22.5.tgz", - "integrity": "sha512-UIzQNMS0p0HHiQm3oelztj+ECwFnj+ZRV4KnguvlsD2of1whUeM6o7wGNj6oLwcDoAXQ8gEqfgC24D+VdIcevg==", + "version": "7.25.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.25.1.tgz", + "integrity": "sha512-TVVJVdW9RKMNgJJlLtHsKDTydjZAbwIsn6ySBPQaEAUU5+gVvlJt/9nRmqVbsV/IBanRjzWoaAQKLoamWVOUuA==", "dev": true, "dependencies": { - "@babel/helper-compilation-targets": "^7.22.5", - "@babel/helper-function-name": "^7.22.5", - "@babel/helper-plugin-utils": "^7.22.5" + "@babel/helper-compilation-targets": "^7.24.8", + "@babel/helper-plugin-utils": "^7.24.8", + "@babel/traverse": "^7.25.1" }, "engines": { "node": ">=6.9.0" @@ -1110,12 +1100,12 @@ } }, "node_modules/@babel/plugin-transform-json-strings": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-json-strings/-/plugin-transform-json-strings-7.22.5.tgz", - "integrity": "sha512-DuCRB7fu8MyTLbEQd1ew3R85nx/88yMoqo2uPSjevMj3yoN7CDM8jkgrY0wmVxfJZyJ/B9fE1iq7EQppWQmR5A==", + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-json-strings/-/plugin-transform-json-strings-7.24.7.tgz", + "integrity": "sha512-2yFnBGDvRuxAaE/f0vfBKvtnvvqU8tGpMHqMNpTN2oWMKIR3NqFkjaAgGwawhqK/pIN2T3XdjGPdaG0vDhOBGw==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-plugin-utils": "^7.24.7", "@babel/plugin-syntax-json-strings": "^7.8.3" }, "engines": { @@ -1126,12 +1116,12 @@ } }, "node_modules/@babel/plugin-transform-literals": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.22.5.tgz", - "integrity": "sha512-fTLj4D79M+mepcw3dgFBTIDYpbcB9Sm0bpm4ppXPaO+U+PKFFyV9MGRvS0gvGw62sd10kT5lRMKXAADb9pWy8g==", + "version": "7.25.2", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.25.2.tgz", + "integrity": "sha512-HQI+HcTbm9ur3Z2DkO+jgESMAMcYLuN/A7NRw9juzxAezN9AvqvUTnpKP/9kkYANz6u7dFlAyOu44ejuGySlfw==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5" + "@babel/helper-plugin-utils": "^7.24.8" }, "engines": { "node": ">=6.9.0" @@ -1141,12 +1131,12 @@ } }, "node_modules/@babel/plugin-transform-logical-assignment-operators": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-logical-assignment-operators/-/plugin-transform-logical-assignment-operators-7.22.5.tgz", - "integrity": "sha512-MQQOUW1KL8X0cDWfbwYP+TbVbZm16QmQXJQ+vndPtH/BoO0lOKpVoEDMI7+PskYxH+IiE0tS8xZye0qr1lGzSA==", + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-logical-assignment-operators/-/plugin-transform-logical-assignment-operators-7.24.7.tgz", + "integrity": "sha512-4D2tpwlQ1odXmTEIFWy9ELJcZHqrStlzK/dAOWYyxX3zT0iXQB6banjgeOJQXzEc4S0E0a5A+hahxPaEFYftsw==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-plugin-utils": "^7.24.7", "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4" }, "engines": { @@ -1157,12 +1147,12 @@ } }, "node_modules/@babel/plugin-transform-member-expression-literals": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.22.5.tgz", - "integrity": "sha512-RZEdkNtzzYCFl9SE9ATaUMTj2hqMb4StarOJLrZRbqqU4HSBE7UlBw9WBWQiDzrJZJdUWiMTVDI6Gv/8DPvfew==", + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.24.7.tgz", + "integrity": "sha512-T/hRC1uqrzXMKLQ6UCwMT85S3EvqaBXDGf0FaMf4446Qx9vKwlghvee0+uuZcDUCZU5RuNi4781UQ7R308zzBw==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5" + "@babel/helper-plugin-utils": "^7.24.7" }, "engines": { "node": ">=6.9.0" @@ -1172,13 +1162,13 @@ } }, "node_modules/@babel/plugin-transform-modules-amd": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.22.5.tgz", - "integrity": "sha512-R+PTfLTcYEmb1+kK7FNkhQ1gP4KgjpSO6HfH9+f8/yfp2Nt3ggBjiVpRwmwTlfqZLafYKJACy36yDXlEmI9HjQ==", + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.24.7.tgz", + "integrity": "sha512-9+pB1qxV3vs/8Hdmz/CulFB8w2tuu6EB94JZFsjdqxQokwGa9Unap7Bo2gGBGIvPmDIVvQrom7r5m/TCDMURhg==", "dev": true, "dependencies": { - "@babel/helper-module-transforms": "^7.22.5", - "@babel/helper-plugin-utils": "^7.22.5" + "@babel/helper-module-transforms": "^7.24.7", + "@babel/helper-plugin-utils": "^7.24.7" }, "engines": { "node": ">=6.9.0" @@ -1188,14 +1178,14 @@ } }, "node_modules/@babel/plugin-transform-modules-commonjs": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.22.5.tgz", - "integrity": "sha512-B4pzOXj+ONRmuaQTg05b3y/4DuFz3WcCNAXPLb2Q0GT0TrGKGxNKV4jwsXts+StaM0LQczZbOpj8o1DLPDJIiA==", + "version": "7.24.8", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.24.8.tgz", + "integrity": "sha512-WHsk9H8XxRs3JXKWFiqtQebdh9b/pTk4EgueygFzYlTKAg0Ud985mSevdNjdXdFBATSKVJGQXP1tv6aGbssLKA==", "dev": true, "dependencies": { - "@babel/helper-module-transforms": "^7.22.5", - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/helper-simple-access": "^7.22.5" + "@babel/helper-module-transforms": "^7.24.8", + "@babel/helper-plugin-utils": "^7.24.8", + "@babel/helper-simple-access": "^7.24.7" }, "engines": { "node": ">=6.9.0" @@ -1205,15 +1195,15 @@ } }, "node_modules/@babel/plugin-transform-modules-systemjs": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.22.5.tgz", - "integrity": "sha512-emtEpoaTMsOs6Tzz+nbmcePl6AKVtS1yC4YNAeMun9U8YCsgadPNxnOPQ8GhHFB2qdx+LZu9LgoC0Lthuu05DQ==", + "version": "7.25.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.25.0.tgz", + "integrity": "sha512-YPJfjQPDXxyQWg/0+jHKj1llnY5f/R6a0p/vP4lPymxLu7Lvl4k2WMitqi08yxwQcCVUUdG9LCUj4TNEgAp3Jw==", "dev": true, "dependencies": { - "@babel/helper-hoist-variables": "^7.22.5", - "@babel/helper-module-transforms": "^7.22.5", - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/helper-validator-identifier": "^7.22.5" + "@babel/helper-module-transforms": "^7.25.0", + "@babel/helper-plugin-utils": "^7.24.8", + "@babel/helper-validator-identifier": "^7.24.7", + "@babel/traverse": "^7.25.0" }, "engines": { "node": ">=6.9.0" @@ -1223,13 +1213,13 @@ } }, "node_modules/@babel/plugin-transform-modules-umd": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.22.5.tgz", - "integrity": "sha512-+S6kzefN/E1vkSsKx8kmQuqeQsvCKCd1fraCM7zXm4SFoggI099Tr4G8U81+5gtMdUeMQ4ipdQffbKLX0/7dBQ==", + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.24.7.tgz", + "integrity": "sha512-3aytQvqJ/h9z4g8AsKPLvD4Zqi2qT+L3j7XoFFu1XBlZWEl2/1kWnhmAbxpLgPrHSY0M6UA02jyTiwUVtiKR6A==", "dev": true, "dependencies": { - "@babel/helper-module-transforms": "^7.22.5", - "@babel/helper-plugin-utils": "^7.22.5" + "@babel/helper-module-transforms": "^7.24.7", + "@babel/helper-plugin-utils": "^7.24.7" }, "engines": { "node": ">=6.9.0" @@ -1239,13 +1229,13 @@ } }, "node_modules/@babel/plugin-transform-named-capturing-groups-regex": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.22.5.tgz", - "integrity": "sha512-YgLLKmS3aUBhHaxp5hi1WJTgOUb/NCuDHzGT9z9WTt3YG+CPRhJs6nprbStx6DnWM4dh6gt7SU3sZodbZ08adQ==", + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.24.7.tgz", + "integrity": "sha512-/jr7h/EWeJtk1U/uz2jlsCioHkZk1JJZVcc8oQsJ1dUlaJD83f4/6Zeh2aHt9BIFokHIsSeDfhUmju0+1GPd6g==", "dev": true, "dependencies": { - "@babel/helper-create-regexp-features-plugin": "^7.22.5", - "@babel/helper-plugin-utils": "^7.22.5" + "@babel/helper-create-regexp-features-plugin": "^7.24.7", + "@babel/helper-plugin-utils": "^7.24.7" }, "engines": { "node": ">=6.9.0" @@ -1255,12 +1245,12 @@ } }, "node_modules/@babel/plugin-transform-new-target": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.22.5.tgz", - "integrity": "sha512-AsF7K0Fx/cNKVyk3a+DW0JLo+Ua598/NxMRvxDnkpCIGFh43+h/v2xyhRUYf6oD8gE4QtL83C7zZVghMjHd+iw==", + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.24.7.tgz", + "integrity": "sha512-RNKwfRIXg4Ls/8mMTza5oPF5RkOW8Wy/WgMAp1/F1yZ8mMbtwXW+HDoJiOsagWrAhI5f57Vncrmr9XeT4CVapA==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5" + "@babel/helper-plugin-utils": "^7.24.7" }, "engines": { "node": ">=6.9.0" @@ -1270,12 +1260,12 @@ } }, "node_modules/@babel/plugin-transform-nullish-coalescing-operator": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-nullish-coalescing-operator/-/plugin-transform-nullish-coalescing-operator-7.22.5.tgz", - "integrity": "sha512-6CF8g6z1dNYZ/VXok5uYkkBBICHZPiGEl7oDnAx2Mt1hlHVHOSIKWJaXHjQJA5VB43KZnXZDIexMchY4y2PGdA==", + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-nullish-coalescing-operator/-/plugin-transform-nullish-coalescing-operator-7.24.7.tgz", + "integrity": "sha512-Ts7xQVk1OEocqzm8rHMXHlxvsfZ0cEF2yomUqpKENHWMF4zKk175Y4q8H5knJes6PgYad50uuRmt3UJuhBw8pQ==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-plugin-utils": "^7.24.7", "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3" }, "engines": { @@ -1286,12 +1276,12 @@ } }, "node_modules/@babel/plugin-transform-numeric-separator": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-numeric-separator/-/plugin-transform-numeric-separator-7.22.5.tgz", - "integrity": "sha512-NbslED1/6M+sXiwwtcAB/nieypGw02Ejf4KtDeMkCEpP6gWFMX1wI9WKYua+4oBneCCEmulOkRpwywypVZzs/g==", + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-numeric-separator/-/plugin-transform-numeric-separator-7.24.7.tgz", + "integrity": "sha512-e6q1TiVUzvH9KRvicuxdBTUj4AdKSRwzIyFFnfnezpCfP2/7Qmbb8qbU2j7GODbl4JMkblitCQjKYUaX/qkkwA==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-plugin-utils": "^7.24.7", "@babel/plugin-syntax-numeric-separator": "^7.10.4" }, "engines": { @@ -1302,16 +1292,15 @@ } }, "node_modules/@babel/plugin-transform-object-rest-spread": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-rest-spread/-/plugin-transform-object-rest-spread-7.22.5.tgz", - "integrity": "sha512-Kk3lyDmEslH9DnvCDA1s1kkd3YWQITiBOHngOtDL9Pt6BZjzqb6hiOlb8VfjiiQJ2unmegBqZu0rx5RxJb5vmQ==", + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-rest-spread/-/plugin-transform-object-rest-spread-7.24.7.tgz", + "integrity": "sha512-4QrHAr0aXQCEFni2q4DqKLD31n2DL+RxcwnNjDFkSG0eNQ/xCavnRkfCUjsyqGC2OviNJvZOF/mQqZBw7i2C5Q==", "dev": true, "dependencies": { - "@babel/compat-data": "^7.22.5", - "@babel/helper-compilation-targets": "^7.22.5", - "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-compilation-targets": "^7.24.7", + "@babel/helper-plugin-utils": "^7.24.7", "@babel/plugin-syntax-object-rest-spread": "^7.8.3", - "@babel/plugin-transform-parameters": "^7.22.5" + "@babel/plugin-transform-parameters": "^7.24.7" }, "engines": { "node": ">=6.9.0" @@ -1321,13 +1310,13 @@ } }, "node_modules/@babel/plugin-transform-object-super": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.22.5.tgz", - "integrity": "sha512-klXqyaT9trSjIUrcsYIfETAzmOEZL3cBYqOYLJxBHfMFFggmXOv+NYSX/Jbs9mzMVESw/WycLFPRx8ba/b2Ipw==", + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.24.7.tgz", + "integrity": "sha512-A/vVLwN6lBrMFmMDmPPz0jnE6ZGx7Jq7d6sT/Ev4H65RER6pZ+kczlf1DthF5N0qaPHBsI7UXiE8Zy66nmAovg==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/helper-replace-supers": "^7.22.5" + "@babel/helper-plugin-utils": "^7.24.7", + "@babel/helper-replace-supers": "^7.24.7" }, "engines": { "node": ">=6.9.0" @@ -1337,12 +1326,12 @@ } }, "node_modules/@babel/plugin-transform-optional-catch-binding": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-optional-catch-binding/-/plugin-transform-optional-catch-binding-7.22.5.tgz", - "integrity": "sha512-pH8orJahy+hzZje5b8e2QIlBWQvGpelS76C63Z+jhZKsmzfNaPQ+LaW6dcJ9bxTpo1mtXbgHwy765Ro3jftmUg==", + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-optional-catch-binding/-/plugin-transform-optional-catch-binding-7.24.7.tgz", + "integrity": "sha512-uLEndKqP5BfBbC/5jTwPxLh9kqPWWgzN/f8w6UwAIirAEqiIVJWWY312X72Eub09g5KF9+Zn7+hT7sDxmhRuKA==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-plugin-utils": "^7.24.7", "@babel/plugin-syntax-optional-catch-binding": "^7.8.3" }, "engines": { @@ -1353,13 +1342,13 @@ } }, "node_modules/@babel/plugin-transform-optional-chaining": { - "version": "7.22.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-optional-chaining/-/plugin-transform-optional-chaining-7.22.6.tgz", - "integrity": "sha512-Vd5HiWml0mDVtcLHIoEU5sw6HOUW/Zk0acLs/SAeuLzkGNOPc9DB4nkUajemhCmTIz3eiaKREZn2hQQqF79YTg==", + "version": "7.24.8", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-optional-chaining/-/plugin-transform-optional-chaining-7.24.8.tgz", + "integrity": "sha512-5cTOLSMs9eypEy8JUVvIKOu6NgvbJMnpG62VpIHrTmROdQ+L5mDAaI40g25k5vXti55JWNX5jCkq3HZxXBQANw==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/helper-skip-transparent-expression-wrappers": "^7.22.5", + "@babel/helper-plugin-utils": "^7.24.8", + "@babel/helper-skip-transparent-expression-wrappers": "^7.24.7", "@babel/plugin-syntax-optional-chaining": "^7.8.3" }, "engines": { @@ -1370,12 +1359,12 @@ } }, "node_modules/@babel/plugin-transform-parameters": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.22.5.tgz", - "integrity": "sha512-AVkFUBurORBREOmHRKo06FjHYgjrabpdqRSwq6+C7R5iTCZOsM4QbcB27St0a4U6fffyAOqh3s/qEfybAhfivg==", + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.24.7.tgz", + "integrity": "sha512-yGWW5Rr+sQOhK0Ot8hjDJuxU3XLRQGflvT4lhlSY0DFvdb3TwKaY26CJzHtYllU0vT9j58hc37ndFPsqT1SrzA==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5" + "@babel/helper-plugin-utils": "^7.24.7" }, "engines": { "node": ">=6.9.0" @@ -1385,13 +1374,13 @@ } }, "node_modules/@babel/plugin-transform-private-methods": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-private-methods/-/plugin-transform-private-methods-7.22.5.tgz", - "integrity": "sha512-PPjh4gyrQnGe97JTalgRGMuU4icsZFnWkzicB/fUtzlKUqvsWBKEpPPfr5a2JiyirZkHxnAqkQMO5Z5B2kK3fA==", + "version": "7.25.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-private-methods/-/plugin-transform-private-methods-7.25.4.tgz", + "integrity": "sha512-ao8BG7E2b/URaUQGqN3Tlsg+M3KlHY6rJ1O1gXAEUnZoyNQnvKyH87Kfg+FoxSeyWUB8ISZZsC91C44ZuBFytw==", "dev": true, "dependencies": { - "@babel/helper-create-class-features-plugin": "^7.22.5", - "@babel/helper-plugin-utils": "^7.22.5" + "@babel/helper-create-class-features-plugin": "^7.25.4", + "@babel/helper-plugin-utils": "^7.24.8" }, "engines": { "node": ">=6.9.0" @@ -1401,14 +1390,14 @@ } }, "node_modules/@babel/plugin-transform-private-property-in-object": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-private-property-in-object/-/plugin-transform-private-property-in-object-7.22.5.tgz", - "integrity": "sha512-/9xnaTTJcVoBtSSmrVyhtSvO3kbqS2ODoh2juEU72c3aYonNF0OMGiaz2gjukyKM2wBBYJP38S4JiE0Wfb5VMQ==", + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-private-property-in-object/-/plugin-transform-private-property-in-object-7.24.7.tgz", + "integrity": "sha512-9z76mxwnwFxMyxZWEgdgECQglF2Q7cFLm0kMf8pGwt+GSJsY0cONKj/UuO4bOH0w/uAel3ekS4ra5CEAyJRmDA==", "dev": true, "dependencies": { - "@babel/helper-annotate-as-pure": "^7.22.5", - "@babel/helper-create-class-features-plugin": "^7.22.5", - "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-annotate-as-pure": "^7.24.7", + "@babel/helper-create-class-features-plugin": "^7.24.7", + "@babel/helper-plugin-utils": "^7.24.7", "@babel/plugin-syntax-private-property-in-object": "^7.14.5" }, "engines": { @@ -1419,12 +1408,12 @@ } }, "node_modules/@babel/plugin-transform-property-literals": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.22.5.tgz", - "integrity": "sha512-TiOArgddK3mK/x1Qwf5hay2pxI6wCZnvQqrFSqbtg1GLl2JcNMitVH/YnqjP+M31pLUeTfzY1HAXFDnUBV30rQ==", + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.24.7.tgz", + "integrity": "sha512-EMi4MLQSHfd2nrCqQEWxFdha2gBCqU4ZcCng4WBGZ5CJL4bBRW0ptdqqDdeirGZcpALazVVNJqRmsO8/+oNCBA==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5" + "@babel/helper-plugin-utils": "^7.24.7" }, "engines": { "node": ">=6.9.0" @@ -1434,13 +1423,13 @@ } }, "node_modules/@babel/plugin-transform-regenerator": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.22.5.tgz", - "integrity": "sha512-rR7KePOE7gfEtNTh9Qw+iO3Q/e4DEsoQ+hdvM6QUDH7JRJ5qxq5AA52ZzBWbI5i9lfNuvySgOGP8ZN7LAmaiPw==", + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.24.7.tgz", + "integrity": "sha512-lq3fvXPdimDrlg6LWBoqj+r/DEWgONuwjuOuQCSYgRroXDH/IdM1C0IZf59fL5cHLpjEH/O6opIRBbqv7ELnuA==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5", - "regenerator-transform": "^0.15.1" + "@babel/helper-plugin-utils": "^7.24.7", + "regenerator-transform": "^0.15.2" }, "engines": { "node": ">=6.9.0" @@ -1450,12 +1439,12 @@ } }, "node_modules/@babel/plugin-transform-reserved-words": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.22.5.tgz", - "integrity": "sha512-DTtGKFRQUDm8svigJzZHzb/2xatPc6TzNvAIJ5GqOKDsGFYgAskjRulbR/vGsPKq3OPqtexnz327qYpP57RFyA==", + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.24.7.tgz", + "integrity": "sha512-0DUq0pHcPKbjFZCfTss/pGkYMfy3vFWydkUBd9r0GHpIyfs2eCDENvqadMycRS9wZCXR41wucAfJHJmwA0UmoQ==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5" + "@babel/helper-plugin-utils": "^7.24.7" }, "engines": { "node": ">=6.9.0" @@ -1465,12 +1454,12 @@ } }, "node_modules/@babel/plugin-transform-shorthand-properties": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.22.5.tgz", - "integrity": "sha512-vM4fq9IXHscXVKzDv5itkO1X52SmdFBFcMIBZ2FRn2nqVYqw6dBexUgMvAjHW+KXpPPViD/Yo3GrDEBaRC0QYA==", + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.24.7.tgz", + "integrity": "sha512-KsDsevZMDsigzbA09+vacnLpmPH4aWjcZjXdyFKGzpplxhbeB4wYtury3vglQkg6KM/xEPKt73eCjPPf1PgXBA==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5" + "@babel/helper-plugin-utils": "^7.24.7" }, "engines": { "node": ">=6.9.0" @@ -1480,13 +1469,13 @@ } }, "node_modules/@babel/plugin-transform-spread": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.22.5.tgz", - "integrity": "sha512-5ZzDQIGyvN4w8+dMmpohL6MBo+l2G7tfC/O2Dg7/hjpgeWvUx8FzfeOKxGog9IimPa4YekaQ9PlDqTLOljkcxg==", + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.24.7.tgz", + "integrity": "sha512-x96oO0I09dgMDxJaANcRyD4ellXFLLiWhuwDxKZX5g2rWP1bTPkBSwCYv96VDXVT1bD9aPj8tppr5ITIh8hBng==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/helper-skip-transparent-expression-wrappers": "^7.22.5" + "@babel/helper-plugin-utils": "^7.24.7", + "@babel/helper-skip-transparent-expression-wrappers": "^7.24.7" }, "engines": { "node": ">=6.9.0" @@ -1496,12 +1485,12 @@ } }, "node_modules/@babel/plugin-transform-sticky-regex": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.22.5.tgz", - "integrity": "sha512-zf7LuNpHG0iEeiyCNwX4j3gDg1jgt1k3ZdXBKbZSoA3BbGQGvMiSvfbZRR3Dr3aeJe3ooWFZxOOG3IRStYp2Bw==", + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.24.7.tgz", + "integrity": "sha512-kHPSIJc9v24zEml5geKg9Mjx5ULpfncj0wRpYtxbvKyTtHCYDkVE3aHQ03FrpEo4gEe2vrJJS1Y9CJTaThA52g==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5" + "@babel/helper-plugin-utils": "^7.24.7" }, "engines": { "node": ">=6.9.0" @@ -1511,12 +1500,12 @@ } }, "node_modules/@babel/plugin-transform-template-literals": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.22.5.tgz", - "integrity": "sha512-5ciOehRNf+EyUeewo8NkbQiUs4d6ZxiHo6BcBcnFlgiJfu16q0bQUw9Jvo0b0gBKFG1SMhDSjeKXSYuJLeFSMA==", + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.24.7.tgz", + "integrity": "sha512-AfDTQmClklHCOLxtGoP7HkeMw56k1/bTQjwsfhL6pppo/M4TOBSq+jjBUBLmV/4oeFg4GWMavIl44ZeCtmmZTw==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5" + "@babel/helper-plugin-utils": "^7.24.7" }, "engines": { "node": ">=6.9.0" @@ -1526,12 +1515,12 @@ } }, "node_modules/@babel/plugin-transform-typeof-symbol": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.22.5.tgz", - "integrity": "sha512-bYkI5lMzL4kPii4HHEEChkD0rkc+nvnlR6+o/qdqR6zrm0Sv/nodmyLhlq2DO0YKLUNd2VePmPRjJXSBh9OIdA==", + "version": "7.24.8", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.24.8.tgz", + "integrity": "sha512-adNTUpDCVnmAE58VEqKlAA6ZBlNkMnWD0ZcW76lyNFN3MJniyGFZfNwERVk8Ap56MCnXztmDr19T4mPTztcuaw==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5" + "@babel/helper-plugin-utils": "^7.24.8" }, "engines": { "node": ">=6.9.0" @@ -1541,12 +1530,12 @@ } }, "node_modules/@babel/plugin-transform-unicode-escapes": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.22.5.tgz", - "integrity": "sha512-biEmVg1IYB/raUO5wT1tgfacCef15Fbzhkx493D3urBI++6hpJ+RFG4SrWMn0NEZLfvilqKf3QDrRVZHo08FYg==", + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.24.7.tgz", + "integrity": "sha512-U3ap1gm5+4edc2Q/P+9VrBNhGkfnf+8ZqppY71Bo/pzZmXhhLdqgaUl6cuB07O1+AQJtCLfaOmswiNbSQ9ivhw==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5" + "@babel/helper-plugin-utils": "^7.24.7" }, "engines": { "node": ">=6.9.0" @@ -1556,13 +1545,13 @@ } }, "node_modules/@babel/plugin-transform-unicode-property-regex": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-property-regex/-/plugin-transform-unicode-property-regex-7.22.5.tgz", - "integrity": "sha512-HCCIb+CbJIAE6sXn5CjFQXMwkCClcOfPCzTlilJ8cUatfzwHlWQkbtV0zD338u9dZskwvuOYTuuaMaA8J5EI5A==", + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-property-regex/-/plugin-transform-unicode-property-regex-7.24.7.tgz", + "integrity": "sha512-uH2O4OV5M9FZYQrwc7NdVmMxQJOCCzFeYudlZSzUAHRFeOujQefa92E74TQDVskNHCzOXoigEuoyzHDhaEaK5w==", "dev": true, "dependencies": { - "@babel/helper-create-regexp-features-plugin": "^7.22.5", - "@babel/helper-plugin-utils": "^7.22.5" + "@babel/helper-create-regexp-features-plugin": "^7.24.7", + "@babel/helper-plugin-utils": "^7.24.7" }, "engines": { "node": ">=6.9.0" @@ -1572,13 +1561,13 @@ } }, "node_modules/@babel/plugin-transform-unicode-regex": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.22.5.tgz", - "integrity": "sha512-028laaOKptN5vHJf9/Arr/HiJekMd41hOEZYvNsrsXqJ7YPYuX2bQxh31fkZzGmq3YqHRJzYFFAVYvKfMPKqyg==", + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.24.7.tgz", + "integrity": "sha512-hlQ96MBZSAXUq7ltkjtu3FJCCSMx/j629ns3hA3pXnBXjanNP0LHi+JpPeA81zaWgVK1VGH95Xuy7u0RyQ8kMg==", "dev": true, "dependencies": { - "@babel/helper-create-regexp-features-plugin": "^7.22.5", - "@babel/helper-plugin-utils": "^7.22.5" + "@babel/helper-create-regexp-features-plugin": "^7.24.7", + "@babel/helper-plugin-utils": "^7.24.7" }, "engines": { "node": ">=6.9.0" @@ -1588,13 +1577,13 @@ } }, "node_modules/@babel/plugin-transform-unicode-sets-regex": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-sets-regex/-/plugin-transform-unicode-sets-regex-7.22.5.tgz", - "integrity": "sha512-lhMfi4FC15j13eKrh3DnYHjpGj6UKQHtNKTbtc1igvAhRy4+kLhV07OpLcsN0VgDEw/MjAvJO4BdMJsHwMhzCg==", + "version": "7.25.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-sets-regex/-/plugin-transform-unicode-sets-regex-7.25.4.tgz", + "integrity": "sha512-qesBxiWkgN1Q+31xUE9RcMk79eOXXDCv6tfyGMRSs4RGlioSg2WVyQAm07k726cSE56pa+Kb0y9epX2qaXzTvA==", "dev": true, "dependencies": { - "@babel/helper-create-regexp-features-plugin": "^7.22.5", - "@babel/helper-plugin-utils": "^7.22.5" + "@babel/helper-create-regexp-features-plugin": "^7.25.2", + "@babel/helper-plugin-utils": "^7.24.8" }, "engines": { "node": ">=6.9.0" @@ -1604,25 +1593,28 @@ } }, "node_modules/@babel/preset-env": { - "version": "7.22.9", - "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.22.9.tgz", - "integrity": "sha512-wNi5H/Emkhll/bqPjsjQorSykrlfY5OWakd6AulLvMEytpKasMVUpVy8RL4qBIBs5Ac6/5i0/Rv0b/Fg6Eag/g==", - "dev": true, - "dependencies": { - "@babel/compat-data": "^7.22.9", - "@babel/helper-compilation-targets": "^7.22.9", - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/helper-validator-option": "^7.22.5", - "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": "^7.22.5", - "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": "^7.22.5", + "version": "7.25.4", + "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.25.4.tgz", + "integrity": "sha512-W9Gyo+KmcxjGahtt3t9fb14vFRWvPpu5pT6GBlovAK6BTBcxgjfVMSQCfJl4oi35ODrxP6xx2Wr8LNST57Mraw==", + "dev": true, + "dependencies": { + "@babel/compat-data": "^7.25.4", + "@babel/helper-compilation-targets": "^7.25.2", + "@babel/helper-plugin-utils": "^7.24.8", + "@babel/helper-validator-option": "^7.24.8", + "@babel/plugin-bugfix-firefox-class-in-computed-class-key": "^7.25.3", + "@babel/plugin-bugfix-safari-class-field-initializer-scope": "^7.25.0", + "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": "^7.25.0", + "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": "^7.24.7", + "@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly": "^7.25.0", "@babel/plugin-proposal-private-property-in-object": "7.21.0-placeholder-for-preset-env.2", "@babel/plugin-syntax-async-generators": "^7.8.4", "@babel/plugin-syntax-class-properties": "^7.12.13", "@babel/plugin-syntax-class-static-block": "^7.14.5", "@babel/plugin-syntax-dynamic-import": "^7.8.3", "@babel/plugin-syntax-export-namespace-from": "^7.8.3", - "@babel/plugin-syntax-import-assertions": "^7.22.5", - "@babel/plugin-syntax-import-attributes": "^7.22.5", + "@babel/plugin-syntax-import-assertions": "^7.24.7", + "@babel/plugin-syntax-import-attributes": "^7.24.7", "@babel/plugin-syntax-import-meta": "^7.10.4", "@babel/plugin-syntax-json-strings": "^7.8.3", "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4", @@ -1634,60 +1626,60 @@ "@babel/plugin-syntax-private-property-in-object": "^7.14.5", "@babel/plugin-syntax-top-level-await": "^7.14.5", "@babel/plugin-syntax-unicode-sets-regex": "^7.18.6", - "@babel/plugin-transform-arrow-functions": "^7.22.5", - "@babel/plugin-transform-async-generator-functions": "^7.22.7", - "@babel/plugin-transform-async-to-generator": "^7.22.5", - "@babel/plugin-transform-block-scoped-functions": "^7.22.5", - "@babel/plugin-transform-block-scoping": "^7.22.5", - "@babel/plugin-transform-class-properties": "^7.22.5", - "@babel/plugin-transform-class-static-block": "^7.22.5", - "@babel/plugin-transform-classes": "^7.22.6", - "@babel/plugin-transform-computed-properties": "^7.22.5", - "@babel/plugin-transform-destructuring": "^7.22.5", - "@babel/plugin-transform-dotall-regex": "^7.22.5", - "@babel/plugin-transform-duplicate-keys": "^7.22.5", - "@babel/plugin-transform-dynamic-import": "^7.22.5", - "@babel/plugin-transform-exponentiation-operator": "^7.22.5", - "@babel/plugin-transform-export-namespace-from": "^7.22.5", - "@babel/plugin-transform-for-of": "^7.22.5", - "@babel/plugin-transform-function-name": "^7.22.5", - "@babel/plugin-transform-json-strings": "^7.22.5", - "@babel/plugin-transform-literals": "^7.22.5", - "@babel/plugin-transform-logical-assignment-operators": "^7.22.5", - "@babel/plugin-transform-member-expression-literals": "^7.22.5", - "@babel/plugin-transform-modules-amd": "^7.22.5", - "@babel/plugin-transform-modules-commonjs": "^7.22.5", - "@babel/plugin-transform-modules-systemjs": "^7.22.5", - "@babel/plugin-transform-modules-umd": "^7.22.5", - "@babel/plugin-transform-named-capturing-groups-regex": "^7.22.5", - "@babel/plugin-transform-new-target": "^7.22.5", - "@babel/plugin-transform-nullish-coalescing-operator": "^7.22.5", - "@babel/plugin-transform-numeric-separator": "^7.22.5", - "@babel/plugin-transform-object-rest-spread": "^7.22.5", - "@babel/plugin-transform-object-super": "^7.22.5", - "@babel/plugin-transform-optional-catch-binding": "^7.22.5", - "@babel/plugin-transform-optional-chaining": "^7.22.6", - "@babel/plugin-transform-parameters": "^7.22.5", - "@babel/plugin-transform-private-methods": "^7.22.5", - "@babel/plugin-transform-private-property-in-object": "^7.22.5", - "@babel/plugin-transform-property-literals": "^7.22.5", - "@babel/plugin-transform-regenerator": "^7.22.5", - "@babel/plugin-transform-reserved-words": "^7.22.5", - "@babel/plugin-transform-shorthand-properties": "^7.22.5", - "@babel/plugin-transform-spread": "^7.22.5", - "@babel/plugin-transform-sticky-regex": "^7.22.5", - "@babel/plugin-transform-template-literals": "^7.22.5", - "@babel/plugin-transform-typeof-symbol": "^7.22.5", - "@babel/plugin-transform-unicode-escapes": "^7.22.5", - "@babel/plugin-transform-unicode-property-regex": "^7.22.5", - "@babel/plugin-transform-unicode-regex": "^7.22.5", - "@babel/plugin-transform-unicode-sets-regex": "^7.22.5", - "@babel/preset-modules": "^0.1.5", - "@babel/types": "^7.22.5", - "babel-plugin-polyfill-corejs2": "^0.4.4", - "babel-plugin-polyfill-corejs3": "^0.8.2", - "babel-plugin-polyfill-regenerator": "^0.5.1", - "core-js-compat": "^3.31.0", + "@babel/plugin-transform-arrow-functions": "^7.24.7", + "@babel/plugin-transform-async-generator-functions": "^7.25.4", + "@babel/plugin-transform-async-to-generator": "^7.24.7", + "@babel/plugin-transform-block-scoped-functions": "^7.24.7", + "@babel/plugin-transform-block-scoping": "^7.25.0", + "@babel/plugin-transform-class-properties": "^7.25.4", + "@babel/plugin-transform-class-static-block": "^7.24.7", + "@babel/plugin-transform-classes": "^7.25.4", + "@babel/plugin-transform-computed-properties": "^7.24.7", + "@babel/plugin-transform-destructuring": "^7.24.8", + "@babel/plugin-transform-dotall-regex": "^7.24.7", + "@babel/plugin-transform-duplicate-keys": "^7.24.7", + "@babel/plugin-transform-duplicate-named-capturing-groups-regex": "^7.25.0", + "@babel/plugin-transform-dynamic-import": "^7.24.7", + "@babel/plugin-transform-exponentiation-operator": "^7.24.7", + "@babel/plugin-transform-export-namespace-from": "^7.24.7", + "@babel/plugin-transform-for-of": "^7.24.7", + "@babel/plugin-transform-function-name": "^7.25.1", + "@babel/plugin-transform-json-strings": "^7.24.7", + "@babel/plugin-transform-literals": "^7.25.2", + "@babel/plugin-transform-logical-assignment-operators": "^7.24.7", + "@babel/plugin-transform-member-expression-literals": "^7.24.7", + "@babel/plugin-transform-modules-amd": "^7.24.7", + "@babel/plugin-transform-modules-commonjs": "^7.24.8", + "@babel/plugin-transform-modules-systemjs": "^7.25.0", + "@babel/plugin-transform-modules-umd": "^7.24.7", + "@babel/plugin-transform-named-capturing-groups-regex": "^7.24.7", + "@babel/plugin-transform-new-target": "^7.24.7", + "@babel/plugin-transform-nullish-coalescing-operator": "^7.24.7", + "@babel/plugin-transform-numeric-separator": "^7.24.7", + "@babel/plugin-transform-object-rest-spread": "^7.24.7", + "@babel/plugin-transform-object-super": "^7.24.7", + "@babel/plugin-transform-optional-catch-binding": "^7.24.7", + "@babel/plugin-transform-optional-chaining": "^7.24.8", + "@babel/plugin-transform-parameters": "^7.24.7", + "@babel/plugin-transform-private-methods": "^7.25.4", + "@babel/plugin-transform-private-property-in-object": "^7.24.7", + "@babel/plugin-transform-property-literals": "^7.24.7", + "@babel/plugin-transform-regenerator": "^7.24.7", + "@babel/plugin-transform-reserved-words": "^7.24.7", + "@babel/plugin-transform-shorthand-properties": "^7.24.7", + "@babel/plugin-transform-spread": "^7.24.7", + "@babel/plugin-transform-sticky-regex": "^7.24.7", + "@babel/plugin-transform-template-literals": "^7.24.7", + "@babel/plugin-transform-typeof-symbol": "^7.24.8", + "@babel/plugin-transform-unicode-escapes": "^7.24.7", + "@babel/plugin-transform-unicode-property-regex": "^7.24.7", + "@babel/plugin-transform-unicode-regex": "^7.24.7", + "@babel/plugin-transform-unicode-sets-regex": "^7.25.4", + "@babel/preset-modules": "0.1.6-no-external-plugins", + "babel-plugin-polyfill-corejs2": "^0.4.10", + "babel-plugin-polyfill-corejs3": "^0.10.6", + "babel-plugin-polyfill-regenerator": "^0.6.1", + "core-js-compat": "^3.37.1", "semver": "^6.3.1" }, "engines": { @@ -1698,14 +1690,12 @@ } }, "node_modules/@babel/preset-modules": { - "version": "0.1.6", - "resolved": "https://registry.npmjs.org/@babel/preset-modules/-/preset-modules-0.1.6.tgz", - "integrity": "sha512-ID2yj6K/4lKfhuU3+EX4UvNbIt7eACFbHmNUjzA+ep+B5971CknnA/9DEWKbRokfbbtblxxxXFJJrH47UEAMVg==", + "version": "0.1.6-no-external-plugins", + "resolved": "https://registry.npmjs.org/@babel/preset-modules/-/preset-modules-0.1.6-no-external-plugins.tgz", + "integrity": "sha512-HrcgcIESLm9aIR842yhJ5RWan/gebQUJ6E/E5+rf0y9o6oj7w0Br+sWuL6kEQ/o/AdfvR1Je9jG18/gnpwjEyA==", "dev": true, "dependencies": { "@babel/helper-plugin-utils": "^7.0.0", - "@babel/plugin-proposal-unicode-property-regex": "^7.4.4", - "@babel/plugin-transform-dotall-regex": "^7.4.4", "@babel/types": "^7.4.4", "esutils": "^2.0.2" }, @@ -1720,46 +1710,43 @@ "dev": true }, "node_modules/@babel/runtime": { - "version": "7.22.6", - "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.22.6.tgz", - "integrity": "sha512-wDb5pWm4WDdF6LFUde3Jl8WzPA+3ZbxYqkC6xAXuD3irdEHN1k0NfTRrJD8ZD378SJ61miMLCqIOXYhd8x+AJQ==", + "version": "7.25.6", + "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.25.6.tgz", + "integrity": "sha512-VBj9MYyDb9tuLq7yzqjgzt6Q+IBQLrGZfdjOekyEirZPHxXWoTSGUTMrpsfi58Up73d13NfYLv8HT9vmznjzhQ==", "dev": true, "dependencies": { - "regenerator-runtime": "^0.13.11" + "regenerator-runtime": "^0.14.0" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/template": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.22.5.tgz", - "integrity": "sha512-X7yV7eiwAxdj9k94NEylvbVHLiVG1nvzCV2EAowhxLTwODV1jl9UzZ48leOC0sH7OnuHrIkllaBgneUykIcZaw==", + "version": "7.25.0", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.25.0.tgz", + "integrity": "sha512-aOOgh1/5XzKvg1jvVz7AVrx2piJ2XBi227DHmbY6y+bM9H2FlN+IfecYu4Xl0cNiiVejlsCri89LUsbj8vJD9Q==", "dev": true, "dependencies": { - "@babel/code-frame": "^7.22.5", - "@babel/parser": "^7.22.5", - "@babel/types": "^7.22.5" + "@babel/code-frame": "^7.24.7", + "@babel/parser": "^7.25.0", + "@babel/types": "^7.25.0" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/traverse": { - "version": "7.22.8", - "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.22.8.tgz", - "integrity": "sha512-y6LPR+wpM2I3qJrsheCTwhIinzkETbplIgPBbwvqPKc+uljeA5gP+3nP8irdYt1mjQaDnlIcG+dw8OjAco4GXw==", - "dev": true, - "dependencies": { - "@babel/code-frame": "^7.22.5", - "@babel/generator": "^7.22.7", - "@babel/helper-environment-visitor": "^7.22.5", - "@babel/helper-function-name": "^7.22.5", - "@babel/helper-hoist-variables": "^7.22.5", - "@babel/helper-split-export-declaration": "^7.22.6", - "@babel/parser": "^7.22.7", - "@babel/types": "^7.22.5", - "debug": "^4.1.0", + "version": "7.25.6", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.25.6.tgz", + "integrity": "sha512-9Vrcx5ZW6UwK5tvqsj0nGpp/XzqthkT0dqIc9g1AdtygFToNtTF67XzYS//dm+SAK9cp3B9R4ZO/46p63SCjlQ==", + "dev": true, + "dependencies": { + "@babel/code-frame": "^7.24.7", + "@babel/generator": "^7.25.6", + "@babel/parser": "^7.25.6", + "@babel/template": "^7.25.0", + "@babel/types": "^7.25.6", + "debug": "^4.3.1", "globals": "^11.1.0" }, "engines": { @@ -1767,13 +1754,13 @@ } }, "node_modules/@babel/types": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.22.5.tgz", - "integrity": "sha512-zo3MIHGOkPOfoRXitsgHLjEXmlDaD/5KU1Uzuc9GNiZPhSqVxVRtxuPaSBZDsYZ9qV88AjtMtWW7ww98loJ9KA==", + "version": "7.25.6", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.25.6.tgz", + "integrity": "sha512-/l42B1qxpG6RdfYf343Uw1vmDjeNhneUXtzhojE7pDgfpEypmRhI6j1kr17XCVv4Cgl9HdAiQY2x0GwKm7rWCw==", "dev": true, "dependencies": { - "@babel/helper-string-parser": "^7.22.5", - "@babel/helper-validator-identifier": "^7.22.5", + "@babel/helper-string-parser": "^7.24.8", + "@babel/helper-validator-identifier": "^7.24.7", "to-fast-properties": "^2.0.0" }, "engines": { @@ -1786,6 +1773,161 @@ "integrity": "sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw==", "dev": true }, + "node_modules/@biomejs/biome": { + "version": "1.8.3", + "resolved": "https://registry.npmjs.org/@biomejs/biome/-/biome-1.8.3.tgz", + "integrity": "sha512-/uUV3MV+vyAczO+vKrPdOW0Iaet7UnJMU4bNMinggGJTAnBPjCoLEYcyYtYHNnUNYlv4xZMH6hVIQCAozq8d5w==", + "dev": true, + "hasInstallScript": true, + "bin": { + "biome": "bin/biome" + }, + "engines": { + "node": ">=14.21.3" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/biome" + }, + "optionalDependencies": { + "@biomejs/cli-darwin-arm64": "1.8.3", + "@biomejs/cli-darwin-x64": "1.8.3", + "@biomejs/cli-linux-arm64": "1.8.3", + "@biomejs/cli-linux-arm64-musl": "1.8.3", + "@biomejs/cli-linux-x64": "1.8.3", + "@biomejs/cli-linux-x64-musl": "1.8.3", + "@biomejs/cli-win32-arm64": "1.8.3", + "@biomejs/cli-win32-x64": "1.8.3" + } + }, + "node_modules/@biomejs/cli-darwin-arm64": { + "version": "1.8.3", + "resolved": "https://registry.npmjs.org/@biomejs/cli-darwin-arm64/-/cli-darwin-arm64-1.8.3.tgz", + "integrity": "sha512-9DYOjclFpKrH/m1Oz75SSExR8VKvNSSsLnVIqdnKexj6NwmiMlKk94Wa1kZEdv6MCOHGHgyyoV57Cw8WzL5n3A==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=14.21.3" + } + }, + "node_modules/@biomejs/cli-darwin-x64": { + "version": "1.8.3", + "resolved": "https://registry.npmjs.org/@biomejs/cli-darwin-x64/-/cli-darwin-x64-1.8.3.tgz", + "integrity": "sha512-UeW44L/AtbmOF7KXLCoM+9PSgPo0IDcyEUfIoOXYeANaNXXf9mLUwV1GeF2OWjyic5zj6CnAJ9uzk2LT3v/wAw==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=14.21.3" + } + }, + "node_modules/@biomejs/cli-linux-arm64": { + "version": "1.8.3", + "resolved": "https://registry.npmjs.org/@biomejs/cli-linux-arm64/-/cli-linux-arm64-1.8.3.tgz", + "integrity": "sha512-fed2ji8s+I/m8upWpTJGanqiJ0rnlHOK3DdxsyVLZQ8ClY6qLuPc9uehCREBifRJLl/iJyQpHIRufLDeotsPtw==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=14.21.3" + } + }, + "node_modules/@biomejs/cli-linux-arm64-musl": { + "version": "1.8.3", + "resolved": "https://registry.npmjs.org/@biomejs/cli-linux-arm64-musl/-/cli-linux-arm64-musl-1.8.3.tgz", + "integrity": "sha512-9yjUfOFN7wrYsXt/T/gEWfvVxKlnh3yBpnScw98IF+oOeCYb5/b/+K7YNqKROV2i1DlMjg9g/EcN9wvj+NkMuQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=14.21.3" + } + }, + "node_modules/@biomejs/cli-linux-x64": { + "version": "1.8.3", + "resolved": "https://registry.npmjs.org/@biomejs/cli-linux-x64/-/cli-linux-x64-1.8.3.tgz", + "integrity": "sha512-I8G2QmuE1teISyT8ie1HXsjFRz9L1m5n83U1O6m30Kw+kPMPSKjag6QGUn+sXT8V+XWIZxFFBoTDEDZW2KPDDw==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=14.21.3" + } + }, + "node_modules/@biomejs/cli-linux-x64-musl": { + "version": "1.8.3", + "resolved": "https://registry.npmjs.org/@biomejs/cli-linux-x64-musl/-/cli-linux-x64-musl-1.8.3.tgz", + "integrity": "sha512-UHrGJX7PrKMKzPGoEsooKC9jXJMa28TUSMjcIlbDnIO4EAavCoVmNQaIuUSH0Ls2mpGMwUIf+aZJv657zfWWjA==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=14.21.3" + } + }, + "node_modules/@biomejs/cli-win32-arm64": { + "version": "1.8.3", + "resolved": "https://registry.npmjs.org/@biomejs/cli-win32-arm64/-/cli-win32-arm64-1.8.3.tgz", + "integrity": "sha512-J+Hu9WvrBevfy06eU1Na0lpc7uR9tibm9maHynLIoAjLZpQU3IW+OKHUtyL8p6/3pT2Ju5t5emReeIS2SAxhkQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=14.21.3" + } + }, + "node_modules/@biomejs/cli-win32-x64": { + "version": "1.8.3", + "resolved": "https://registry.npmjs.org/@biomejs/cli-win32-x64/-/cli-win32-x64-1.8.3.tgz", + "integrity": "sha512-/PJ59vA1pnQeKahemaQf4Nyj7IKUvGQSc3Ze1uIGi+Wvr1xF7rGobSrAAG01T/gUDG21vkDsZYM03NAmPiVkqg==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=14.21.3" + } + }, "node_modules/@eslint-community/eslint-utils": { "version": "4.4.0", "resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.4.0.tgz", @@ -1802,9 +1944,9 @@ } }, "node_modules/@eslint-community/eslint-utils/node_modules/eslint-visitor-keys": { - "version": "3.4.2", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.2.tgz", - "integrity": "sha512-8drBzUEyZ2llkpCA67iYrgEssKDUu68V8ChqqOfFupIaG/LCVPUT+CoGJpT77zJprs4T/W7p07LP7zAIMuweVw==", + "version": "3.4.3", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz", + "integrity": "sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==", "dev": true, "engines": { "node": "^12.22.0 || ^14.17.0 || >=16.0.0" @@ -1814,24 +1956,38 @@ } }, "node_modules/@eslint-community/regexpp": { - "version": "4.6.2", - "resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.6.2.tgz", - "integrity": "sha512-pPTNuaAG3QMH+buKyBIGJs3g/S5y0caxw0ygM3YyE6yJFySwiGGSzA+mM3KJ8QQvzeLh3blwgSonkFjgQdxzMw==", + "version": "4.11.0", + "resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.11.0.tgz", + "integrity": "sha512-G/M/tIiMrTAxEWRfLfQJMmGNX28IxBg4PBz8XqQhqUHLFI6TL2htpIB1iQCj144V5ee/JaKyT9/WZ0MGZWfA7A==", "dev": true, "engines": { "node": "^12.0.0 || ^14.0.0 || >=16.0.0" } }, + "node_modules/@eslint/config-array": { + "version": "0.18.0", + "resolved": "https://registry.npmjs.org/@eslint/config-array/-/config-array-0.18.0.tgz", + "integrity": "sha512-fTxvnS1sRMu3+JjXwJG0j/i4RT9u4qJ+lqS/yCGap4lH4zZGzQ7tu+xZqQmcMZq5OBZDL4QRxQzRjkWcGt8IVw==", + "dev": true, + "dependencies": { + "@eslint/object-schema": "^2.1.4", + "debug": "^4.3.1", + "minimatch": "^3.1.2" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + } + }, "node_modules/@eslint/eslintrc": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-2.1.1.tgz", - "integrity": "sha512-9t7ZA7NGGK8ckelF0PQCfcxIUzs1Md5rrO6U/c+FIQNanea5UZC0wqKXH4vHBccmu4ZJgZ2idtPeW7+Q2npOEA==", + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-3.1.0.tgz", + "integrity": "sha512-4Bfj15dVJdoy3RfZmmo86RK1Fwzn6SstsvK9JS+BaVKqC6QQQQyXekNaC+g+LKNgkQ+2VhGAzm6hO40AhMR3zQ==", "dev": true, "dependencies": { "ajv": "^6.12.4", "debug": "^4.3.2", - "espree": "^9.6.0", - "globals": "^13.19.0", + "espree": "^10.0.1", + "globals": "^14.0.0", "ignore": "^5.2.0", "import-fresh": "^3.2.1", "js-yaml": "^4.1.0", @@ -1839,56 +1995,57 @@ "strip-json-comments": "^3.1.1" }, "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" }, "funding": { "url": "https://opencollective.com/eslint" } }, "node_modules/@eslint/eslintrc/node_modules/globals": { - "version": "13.20.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-13.20.0.tgz", - "integrity": "sha512-Qg5QtVkCy/kv3FUSlu4ukeZDVf9ee0iXLAUYX13gbR17bnejFTzr4iS9bY7kwCf1NztRNm1t91fjOiyx4CSwPQ==", + "version": "14.0.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-14.0.0.tgz", + "integrity": "sha512-oahGvuMGQlPw/ivIYBjVSrWAfWLBeku5tpPE2fOPLi+WHffIWbuh2tCjhyQhTBPMf5E9jDEH4FOmTYgYwbKwtQ==", "dev": true, - "dependencies": { - "type-fest": "^0.20.2" - }, "engines": { - "node": ">=8" + "node": ">=18" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/@eslint/eslintrc/node_modules/type-fest": { - "version": "0.20.2", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz", - "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==", + "node_modules/@eslint/js": { + "version": "9.9.1", + "resolved": "https://registry.npmjs.org/@eslint/js/-/js-9.9.1.tgz", + "integrity": "sha512-xIDQRsfg5hNBqHz04H1R3scSVwmI+KUbqjsQKHKQ1DAUSaUjYPReZZmS/5PNiKu1fUvzDd6H7DEDKACSEhu+TQ==", "dev": true, "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" } }, - "node_modules/@eslint/js": { - "version": "8.46.0", - "resolved": "https://registry.npmjs.org/@eslint/js/-/js-8.46.0.tgz", - "integrity": "sha512-a8TLtmPi8xzPkCbp/OGFUo5yhRkHM2Ko9kOWP4znJr0WAhWyThaw3PnwX4vOTWOAMsV2uRt32PPDcEz63esSaA==", + "node_modules/@eslint/object-schema": { + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/@eslint/object-schema/-/object-schema-2.1.4.tgz", + "integrity": "sha512-BsWiH1yFGjXXS2yvrf5LyuoSIIbPrGUWob917o+BTKuZ7qJdxX8aJLRxs1fS9n6r7vESrq1OUqb68dANcFXuQQ==", "dev": true, "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" } }, + "node_modules/@gar/promisify": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/@gar/promisify/-/promisify-1.1.3.tgz", + "integrity": "sha512-k2Ty1JcVojjJFwrg/ThKi2ujJ7XNLYaFGNB/bWT9wGR+oSMJHMa5w+CUq6p/pVrKeNNgA7pCqEcjSnHVoqJQFw==", + "dev": true + }, "node_modules/@humanwhocodes/config-array": { - "version": "0.11.10", - "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.11.10.tgz", - "integrity": "sha512-KVVjQmNUepDVGXNuoRRdmmEjruj0KfiGSbS8LVc12LMsWDQzRXJ0qdhN8L8uUigKpfEHRhlaQFY0ib1tnUbNeQ==", + "version": "0.11.14", + "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.11.14.tgz", + "integrity": "sha512-3T8LkOmg45BV5FICb15QQMsyUSWrQ8AygVfC7ZG32zOalnqrilm018ZVCw0eapXux8FtA33q8PSRSstjee3jSg==", + "deprecated": "Use @eslint/config-array instead", "dev": true, "dependencies": { - "@humanwhocodes/object-schema": "^1.2.1", - "debug": "^4.1.1", + "@humanwhocodes/object-schema": "^2.0.2", + "debug": "^4.3.1", "minimatch": "^3.0.5" }, "engines": { @@ -1909,14 +2066,28 @@ } }, "node_modules/@humanwhocodes/object-schema": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-1.2.1.tgz", - "integrity": "sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA==", + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-2.0.3.tgz", + "integrity": "sha512-93zYdMES/c1D69yZiKDBj0V24vqNzB/koF26KPaagAfd3P/4gUlh3Dys5ogAK+Exi9QyzlD8x/08Zt7wIKcDcA==", + "deprecated": "Use @eslint/object-schema instead", "dev": true }, - "node_modules/@isaacs/cliui": { - "version": "8.0.2", - "resolved": "https://registry.npmjs.org/@isaacs/cliui/-/cliui-8.0.2.tgz", + "node_modules/@humanwhocodes/retry": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/@humanwhocodes/retry/-/retry-0.3.0.tgz", + "integrity": "sha512-d2CGZR2o7fS6sWB7DG/3a95bGKQyHMACZ5aW8qGkkqQpUoZV6C0X7Pc7l4ZNMZkfNBf4VWNe9E1jRsf0G146Ew==", + "dev": true, + "engines": { + "node": ">=18.18" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/nzakas" + } + }, + "node_modules/@isaacs/cliui": { + "version": "8.0.2", + "resolved": "https://registry.npmjs.org/@isaacs/cliui/-/cliui-8.0.2.tgz", "integrity": "sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==", "dev": true, "dependencies": { @@ -1943,41 +2114,6 @@ "url": "https://github.com/chalk/ansi-regex?sponsor=1" } }, - "node_modules/@isaacs/cliui/node_modules/ansi-styles": { - "version": "6.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.1.tgz", - "integrity": "sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==", - "dev": true, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/@isaacs/cliui/node_modules/emoji-regex": { - "version": "9.2.2", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz", - "integrity": "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==", - "dev": true - }, - "node_modules/@isaacs/cliui/node_modules/string-width": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-5.1.2.tgz", - "integrity": "sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==", - "dev": true, - "dependencies": { - "eastasianwidth": "^0.2.0", - "emoji-regex": "^9.2.2", - "strip-ansi": "^7.0.1" - }, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, "node_modules/@isaacs/cliui/node_modules/strip-ansi": { "version": "7.1.0", "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz", @@ -1993,23 +2129,6 @@ "url": "https://github.com/chalk/strip-ansi?sponsor=1" } }, - "node_modules/@isaacs/cliui/node_modules/wrap-ansi": { - "version": "8.1.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-8.1.0.tgz", - "integrity": "sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==", - "dev": true, - "dependencies": { - "ansi-styles": "^6.1.0", - "string-width": "^5.0.1", - "strip-ansi": "^7.0.1" - }, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/chalk/wrap-ansi?sponsor=1" - } - }, "node_modules/@istanbuljs/load-nyc-config": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/@istanbuljs/load-nyc-config/-/load-nyc-config-1.1.0.tgz", @@ -2109,6 +2228,12 @@ "node": ">=8" } }, + "node_modules/@istanbuljs/load-nyc-config/node_modules/sprintf-js": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", + "integrity": "sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==", + "dev": true + }, "node_modules/@istanbuljs/schema": { "version": "0.1.3", "resolved": "https://registry.npmjs.org/@istanbuljs/schema/-/schema-0.1.3.tgz", @@ -2119,16 +2244,16 @@ } }, "node_modules/@jest/console": { - "version": "29.6.2", - "resolved": "https://registry.npmjs.org/@jest/console/-/console-29.6.2.tgz", - "integrity": "sha512-0N0yZof5hi44HAR2pPS+ikJ3nzKNoZdVu8FffRf3wy47I7Dm7etk/3KetMdRUqzVd16V4O2m2ISpNTbnIuqy1w==", + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/@jest/console/-/console-29.7.0.tgz", + "integrity": "sha512-5Ni4CU7XHQi32IJ398EEP4RrB8eV09sXP2ROqD4bksHrnTree52PsxvX8tpL8LvTZ3pFzXyPbNQReSN41CAhOg==", "dev": true, "dependencies": { - "@jest/types": "^29.6.1", + "@jest/types": "^29.6.3", "@types/node": "*", "chalk": "^4.0.0", - "jest-message-util": "^29.6.2", - "jest-util": "^29.6.2", + "jest-message-util": "^29.7.0", + "jest-util": "^29.7.0", "slash": "^3.0.0" }, "engines": { @@ -2206,37 +2331,37 @@ } }, "node_modules/@jest/core": { - "version": "29.6.2", - "resolved": "https://registry.npmjs.org/@jest/core/-/core-29.6.2.tgz", - "integrity": "sha512-Oj+5B+sDMiMWLhPFF+4/DvHOf+U10rgvCLGPHP8Xlsy/7QxS51aU/eBngudHlJXnaWD5EohAgJ4js+T6pa+zOg==", + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/@jest/core/-/core-29.7.0.tgz", + "integrity": "sha512-n7aeXWKMnGtDA48y8TLWJPJmLmmZ642Ceo78cYWEpiD7FzDgmNDV/GCVRorPABdXLJZ/9wzzgZAlHjXjxDHGsg==", "dev": true, "dependencies": { - "@jest/console": "^29.6.2", - "@jest/reporters": "^29.6.2", - "@jest/test-result": "^29.6.2", - "@jest/transform": "^29.6.2", - "@jest/types": "^29.6.1", + "@jest/console": "^29.7.0", + "@jest/reporters": "^29.7.0", + "@jest/test-result": "^29.7.0", + "@jest/transform": "^29.7.0", + "@jest/types": "^29.6.3", "@types/node": "*", "ansi-escapes": "^4.2.1", "chalk": "^4.0.0", "ci-info": "^3.2.0", "exit": "^0.1.2", "graceful-fs": "^4.2.9", - "jest-changed-files": "^29.5.0", - "jest-config": "^29.6.2", - "jest-haste-map": "^29.6.2", - "jest-message-util": "^29.6.2", - "jest-regex-util": "^29.4.3", - "jest-resolve": "^29.6.2", - "jest-resolve-dependencies": "^29.6.2", - "jest-runner": "^29.6.2", - "jest-runtime": "^29.6.2", - "jest-snapshot": "^29.6.2", - "jest-util": "^29.6.2", - "jest-validate": "^29.6.2", - "jest-watcher": "^29.6.2", + "jest-changed-files": "^29.7.0", + "jest-config": "^29.7.0", + "jest-haste-map": "^29.7.0", + "jest-message-util": "^29.7.0", + "jest-regex-util": "^29.6.3", + "jest-resolve": "^29.7.0", + "jest-resolve-dependencies": "^29.7.0", + "jest-runner": "^29.7.0", + "jest-runtime": "^29.7.0", + "jest-snapshot": "^29.7.0", + "jest-util": "^29.7.0", + "jest-validate": "^29.7.0", + "jest-watcher": "^29.7.0", "micromatch": "^4.0.4", - "pretty-format": "^29.6.2", + "pretty-format": "^29.7.0", "slash": "^3.0.0", "strip-ansi": "^6.0.0" }, @@ -2323,88 +2448,88 @@ } }, "node_modules/@jest/environment": { - "version": "29.6.2", - "resolved": "https://registry.npmjs.org/@jest/environment/-/environment-29.6.2.tgz", - "integrity": "sha512-AEcW43C7huGd/vogTddNNTDRpO6vQ2zaQNrttvWV18ArBx9Z56h7BIsXkNFJVOO4/kblWEQz30ckw0+L3izc+Q==", + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/@jest/environment/-/environment-29.7.0.tgz", + "integrity": "sha512-aQIfHDq33ExsN4jP1NWGXhxgQ/wixs60gDiKO+XVMd8Mn0NWPWgc34ZQDTb2jKaUWQ7MuwoitXAsN2XVXNMpAw==", "dev": true, "dependencies": { - "@jest/fake-timers": "^29.6.2", - "@jest/types": "^29.6.1", + "@jest/fake-timers": "^29.7.0", + "@jest/types": "^29.6.3", "@types/node": "*", - "jest-mock": "^29.6.2" + "jest-mock": "^29.7.0" }, "engines": { "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, "node_modules/@jest/expect": { - "version": "29.6.2", - "resolved": "https://registry.npmjs.org/@jest/expect/-/expect-29.6.2.tgz", - "integrity": "sha512-m6DrEJxVKjkELTVAztTLyS/7C92Y2b0VYqmDROYKLLALHn8T/04yPs70NADUYPrV3ruI+H3J0iUIuhkjp7vkfg==", + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/@jest/expect/-/expect-29.7.0.tgz", + "integrity": "sha512-8uMeAMycttpva3P1lBHB8VciS9V0XAr3GymPpipdyQXbBcuhkLQOSe8E/p92RyAdToS6ZD1tFkX+CkhoECE0dQ==", "dev": true, "dependencies": { - "expect": "^29.6.2", - "jest-snapshot": "^29.6.2" + "expect": "^29.7.0", + "jest-snapshot": "^29.7.0" }, "engines": { "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, "node_modules/@jest/expect-utils": { - "version": "29.6.2", - "resolved": "https://registry.npmjs.org/@jest/expect-utils/-/expect-utils-29.6.2.tgz", - "integrity": "sha512-6zIhM8go3RV2IG4aIZaZbxwpOzz3ZiM23oxAlkquOIole+G6TrbeXnykxWYlqF7kz2HlBjdKtca20x9atkEQYg==", + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/@jest/expect-utils/-/expect-utils-29.7.0.tgz", + "integrity": "sha512-GlsNBWiFQFCVi9QVSx7f5AgMeLxe9YCCs5PuP2O2LdjDAA8Jh9eX7lA1Jq/xdXw3Wb3hyvlFNfZIfcRetSzYcA==", "dev": true, "dependencies": { - "jest-get-type": "^29.4.3" + "jest-get-type": "^29.6.3" }, "engines": { "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, "node_modules/@jest/fake-timers": { - "version": "29.6.2", - "resolved": "https://registry.npmjs.org/@jest/fake-timers/-/fake-timers-29.6.2.tgz", - "integrity": "sha512-euZDmIlWjm1Z0lJ1D0f7a0/y5Kh/koLFMUBE5SUYWrmy8oNhJpbTBDAP6CxKnadcMLDoDf4waRYCe35cH6G6PA==", + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/@jest/fake-timers/-/fake-timers-29.7.0.tgz", + "integrity": "sha512-q4DH1Ha4TTFPdxLsqDXK1d3+ioSL7yL5oCMJZgDYm6i+6CygW5E5xVr/D1HdsGxjt1ZWSfUAs9OxSB/BNelWrQ==", "dev": true, "dependencies": { - "@jest/types": "^29.6.1", + "@jest/types": "^29.6.3", "@sinonjs/fake-timers": "^10.0.2", "@types/node": "*", - "jest-message-util": "^29.6.2", - "jest-mock": "^29.6.2", - "jest-util": "^29.6.2" + "jest-message-util": "^29.7.0", + "jest-mock": "^29.7.0", + "jest-util": "^29.7.0" }, "engines": { "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, "node_modules/@jest/globals": { - "version": "29.6.2", - "resolved": "https://registry.npmjs.org/@jest/globals/-/globals-29.6.2.tgz", - "integrity": "sha512-cjuJmNDjs6aMijCmSa1g2TNG4Lby/AeU7/02VtpW+SLcZXzOLK2GpN2nLqcFjmhy3B3AoPeQVx7BnyOf681bAw==", + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/@jest/globals/-/globals-29.7.0.tgz", + "integrity": "sha512-mpiz3dutLbkW2MNFubUGUEVLkTGiqW6yLVTA+JbP6fI6J5iL9Y0Nlg8k95pcF8ctKwCS7WVxteBs29hhfAotzQ==", "dev": true, "dependencies": { - "@jest/environment": "^29.6.2", - "@jest/expect": "^29.6.2", - "@jest/types": "^29.6.1", - "jest-mock": "^29.6.2" + "@jest/environment": "^29.7.0", + "@jest/expect": "^29.7.0", + "@jest/types": "^29.6.3", + "jest-mock": "^29.7.0" }, "engines": { "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, "node_modules/@jest/reporters": { - "version": "29.6.2", - "resolved": "https://registry.npmjs.org/@jest/reporters/-/reporters-29.6.2.tgz", - "integrity": "sha512-sWtijrvIav8LgfJZlrGCdN0nP2EWbakglJY49J1Y5QihcQLfy7ovyxxjJBRXMNltgt4uPtEcFmIMbVshEDfFWw==", + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/@jest/reporters/-/reporters-29.7.0.tgz", + "integrity": "sha512-DApq0KJbJOEzAFYjHADNNxAE3KbhxQB1y5Kplb5Waqw6zVbuWatSnMjE5gs8FUgEPmNsnZA3NCWl9NG0ia04Pg==", "dev": true, "dependencies": { "@bcoe/v8-coverage": "^0.2.3", - "@jest/console": "^29.6.2", - "@jest/test-result": "^29.6.2", - "@jest/transform": "^29.6.2", - "@jest/types": "^29.6.1", + "@jest/console": "^29.7.0", + "@jest/test-result": "^29.7.0", + "@jest/transform": "^29.7.0", + "@jest/types": "^29.6.3", "@jridgewell/trace-mapping": "^0.3.18", "@types/node": "*", "chalk": "^4.0.0", @@ -2413,13 +2538,13 @@ "glob": "^7.1.3", "graceful-fs": "^4.2.9", "istanbul-lib-coverage": "^3.0.0", - "istanbul-lib-instrument": "^5.1.0", + "istanbul-lib-instrument": "^6.0.0", "istanbul-lib-report": "^3.0.0", "istanbul-lib-source-maps": "^4.0.0", "istanbul-reports": "^3.1.3", - "jest-message-util": "^29.6.2", - "jest-util": "^29.6.2", - "jest-worker": "^29.6.2", + "jest-message-util": "^29.7.0", + "jest-util": "^29.7.0", + "jest-worker": "^29.7.0", "slash": "^3.0.0", "string-length": "^4.0.1", "strip-ansi": "^6.0.0", @@ -2490,6 +2615,7 @@ "version": "7.2.3", "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "deprecated": "Glob versions prior to v9 are no longer supported", "dev": true, "dependencies": { "fs.realpath": "^1.0.0", @@ -2528,9 +2654,9 @@ } }, "node_modules/@jest/schemas": { - "version": "29.6.0", - "resolved": "https://registry.npmjs.org/@jest/schemas/-/schemas-29.6.0.tgz", - "integrity": "sha512-rxLjXyJBTL4LQeJW3aKo0M/+GkCOXsO+8i9Iu7eDb6KwtP65ayoDsitrdPBtujxQ88k4wI2FNYfa6TOGwSn6cQ==", + "version": "29.6.3", + "resolved": "https://registry.npmjs.org/@jest/schemas/-/schemas-29.6.3.tgz", + "integrity": "sha512-mo5j5X+jIZmJQveBKeS/clAueipV7KgiX1vMgCxam1RNYiqE1w62n0/tJJnHtjW8ZHcQco5gY85jA3mi0L+nSA==", "dev": true, "dependencies": { "@sinclair/typebox": "^0.27.8" @@ -2540,9 +2666,9 @@ } }, "node_modules/@jest/source-map": { - "version": "29.6.0", - "resolved": "https://registry.npmjs.org/@jest/source-map/-/source-map-29.6.0.tgz", - "integrity": "sha512-oA+I2SHHQGxDCZpbrsCQSoMLb3Bz547JnM+jUr9qEbuw0vQlWZfpPS7CO9J7XiwKicEz9OFn/IYoLkkiUD7bzA==", + "version": "29.6.3", + "resolved": "https://registry.npmjs.org/@jest/source-map/-/source-map-29.6.3.tgz", + "integrity": "sha512-MHjT95QuipcPrpLM+8JMSzFx6eHp5Bm+4XeFDJlwsvVBjmKNiIAvasGK2fxz2WbGRlnvqehFbh07MMa7n3YJnw==", "dev": true, "dependencies": { "@jridgewell/trace-mapping": "^0.3.18", @@ -2554,13 +2680,13 @@ } }, "node_modules/@jest/test-result": { - "version": "29.6.2", - "resolved": "https://registry.npmjs.org/@jest/test-result/-/test-result-29.6.2.tgz", - "integrity": "sha512-3VKFXzcV42EYhMCsJQURptSqnyjqCGbtLuX5Xxb6Pm6gUf1wIRIl+mandIRGJyWKgNKYF9cnstti6Ls5ekduqw==", + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/@jest/test-result/-/test-result-29.7.0.tgz", + "integrity": "sha512-Fdx+tv6x1zlkJPcWXmMDAG2HBnaR9XPSd5aDWQVsfrZmLVT3lU1cwyxLgRmXR9yrq4NBoEm9BMsfgFzTQAbJYA==", "dev": true, "dependencies": { - "@jest/console": "^29.6.2", - "@jest/types": "^29.6.1", + "@jest/console": "^29.7.0", + "@jest/types": "^29.6.3", "@types/istanbul-lib-coverage": "^2.0.0", "collect-v8-coverage": "^1.0.0" }, @@ -2569,14 +2695,14 @@ } }, "node_modules/@jest/test-sequencer": { - "version": "29.6.2", - "resolved": "https://registry.npmjs.org/@jest/test-sequencer/-/test-sequencer-29.6.2.tgz", - "integrity": "sha512-GVYi6PfPwVejO7slw6IDO0qKVum5jtrJ3KoLGbgBWyr2qr4GaxFV6su+ZAjdTX75Sr1DkMFRk09r2ZVa+wtCGw==", + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/@jest/test-sequencer/-/test-sequencer-29.7.0.tgz", + "integrity": "sha512-GQwJ5WZVrKnOJuiYiAF52UNUJXgTZx1NHjFSEB0qEMmSZKAkdMoIzw/Cj6x6NF4AvV23AUqDpFzQkN/eYCYTxw==", "dev": true, "dependencies": { - "@jest/test-result": "^29.6.2", + "@jest/test-result": "^29.7.0", "graceful-fs": "^4.2.9", - "jest-haste-map": "^29.6.2", + "jest-haste-map": "^29.7.0", "slash": "^3.0.0" }, "engines": { @@ -2584,22 +2710,22 @@ } }, "node_modules/@jest/transform": { - "version": "29.6.2", - "resolved": "https://registry.npmjs.org/@jest/transform/-/transform-29.6.2.tgz", - "integrity": "sha512-ZqCqEISr58Ce3U+buNFJYUktLJZOggfyvR+bZMaiV1e8B1SIvJbwZMrYz3gx/KAPn9EXmOmN+uB08yLCjWkQQg==", + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/@jest/transform/-/transform-29.7.0.tgz", + "integrity": "sha512-ok/BTPFzFKVMwO5eOHRrvnBVHdRy9IrsrW1GpMaQ9MCnilNLXQKmAX8s1YXDFaai9xJpac2ySzV0YeRRECr2Vw==", "dev": true, "dependencies": { "@babel/core": "^7.11.6", - "@jest/types": "^29.6.1", + "@jest/types": "^29.6.3", "@jridgewell/trace-mapping": "^0.3.18", "babel-plugin-istanbul": "^6.1.1", "chalk": "^4.0.0", "convert-source-map": "^2.0.0", "fast-json-stable-stringify": "^2.1.0", "graceful-fs": "^4.2.9", - "jest-haste-map": "^29.6.2", - "jest-regex-util": "^29.4.3", - "jest-util": "^29.6.2", + "jest-haste-map": "^29.7.0", + "jest-regex-util": "^29.6.3", + "jest-util": "^29.7.0", "micromatch": "^4.0.4", "pirates": "^4.0.4", "slash": "^3.0.0", @@ -2658,12 +2784,6 @@ "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", "dev": true }, - "node_modules/@jest/transform/node_modules/convert-source-map": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-2.0.0.tgz", - "integrity": "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==", - "dev": true - }, "node_modules/@jest/transform/node_modules/has-flag": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", @@ -2686,12 +2806,12 @@ } }, "node_modules/@jest/types": { - "version": "29.6.1", - "resolved": "https://registry.npmjs.org/@jest/types/-/types-29.6.1.tgz", - "integrity": "sha512-tPKQNMPuXgvdOn2/Lg9HNfUvjYVGolt04Hp03f5hAk878uwOLikN+JzeLY0HcVgKgFl9Hs3EIqpu3WX27XNhnw==", + "version": "29.6.3", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-29.6.3.tgz", + "integrity": "sha512-u3UPsIilWKOM3F9CXtrG8LEJmNxwoCQC/XVj4IKYXvvpx7QIi/Kg1LI5uDmDpKlac62NUtX7eLjRh+jVZcLOzw==", "dev": true, "dependencies": { - "@jest/schemas": "^29.6.0", + "@jest/schemas": "^29.6.3", "@types/istanbul-lib-coverage": "^2.0.0", "@types/istanbul-reports": "^3.0.0", "@types/node": "*", @@ -2773,69 +2893,63 @@ } }, "node_modules/@jridgewell/gen-mapping": { - "version": "0.3.3", - "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.3.tgz", - "integrity": "sha512-HLhSWOLRi875zjjMG/r+Nv0oCW8umGb0BgEhyX3dDX3egwZtB8PqLnjz3yedt8R5StBrzcg4aBpnh8UA9D1BoQ==", + "version": "0.3.5", + "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.5.tgz", + "integrity": "sha512-IzL8ZoEDIBRWEzlCcRhOaCupYyN5gdIK+Q6fbFdPDg6HqX6jpkItn7DFIpW9LQzXG6Df9sA7+OKnq0qlz/GaQg==", "dev": true, "dependencies": { - "@jridgewell/set-array": "^1.0.1", + "@jridgewell/set-array": "^1.2.1", "@jridgewell/sourcemap-codec": "^1.4.10", - "@jridgewell/trace-mapping": "^0.3.9" + "@jridgewell/trace-mapping": "^0.3.24" }, "engines": { "node": ">=6.0.0" } }, "node_modules/@jridgewell/resolve-uri": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.0.tgz", - "integrity": "sha512-F2msla3tad+Mfht5cJq7LSXcdudKTWCVYUgw6pLFOOHSTtZlj6SWNYAp+AhuqLmWdBO2X5hPrLcu8cVP8fy28w==", + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz", + "integrity": "sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==", "dev": true, "engines": { "node": ">=6.0.0" } }, "node_modules/@jridgewell/set-array": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.1.2.tgz", - "integrity": "sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw==", + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.2.1.tgz", + "integrity": "sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A==", "dev": true, "engines": { "node": ">=6.0.0" } }, "node_modules/@jridgewell/source-map": { - "version": "0.3.5", - "resolved": "https://registry.npmjs.org/@jridgewell/source-map/-/source-map-0.3.5.tgz", - "integrity": "sha512-UTYAUj/wviwdsMfzoSJspJxbkH5o1snzwX0//0ENX1u/55kkZZkcTZP6u9bwKGkv+dkk9at4m1Cpt0uY80kcpQ==", + "version": "0.3.6", + "resolved": "https://registry.npmjs.org/@jridgewell/source-map/-/source-map-0.3.6.tgz", + "integrity": "sha512-1ZJTZebgqllO79ue2bm3rIGud/bOe0pP5BjSRCRxxYkEZS8STV7zN84UBbiYu7jy+eCKSnVIUgoWWE/tt+shMQ==", "dev": true, "dependencies": { - "@jridgewell/gen-mapping": "^0.3.0", - "@jridgewell/trace-mapping": "^0.3.9" + "@jridgewell/gen-mapping": "^0.3.5", + "@jridgewell/trace-mapping": "^0.3.25" } }, "node_modules/@jridgewell/sourcemap-codec": { - "version": "1.4.15", - "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz", - "integrity": "sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==", + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.0.tgz", + "integrity": "sha512-gv3ZRaISU3fjPAgNsriBRqGWQL6quFx04YMPW/zD8XMLsU32mhCCbfbO6KZFLjvYpCZ8zyDEgqsgf+PwPaM7GQ==", "dev": true }, "node_modules/@jridgewell/trace-mapping": { - "version": "0.3.18", - "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.18.tgz", - "integrity": "sha512-w+niJYzMHdd7USdiH2U6869nqhD2nbfZXND5Yp93qIbEmnDNk7PD48o+YchRVpzMU7M6jVCbenTR7PA1FLQ9pA==", + "version": "0.3.25", + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.25.tgz", + "integrity": "sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==", "dev": true, "dependencies": { - "@jridgewell/resolve-uri": "3.1.0", - "@jridgewell/sourcemap-codec": "1.4.14" + "@jridgewell/resolve-uri": "^3.1.0", + "@jridgewell/sourcemap-codec": "^1.4.14" } }, - "node_modules/@jridgewell/trace-mapping/node_modules/@jridgewell/sourcemap-codec": { - "version": "1.4.14", - "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.14.tgz", - "integrity": "sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw==", - "dev": true - }, "node_modules/@nicolo-ribaudo/eslint-scope-5-internals": { "version": "5.1.1-v1", "resolved": "https://registry.npmjs.org/@nicolo-ribaudo/eslint-scope-5-internals/-/eslint-scope-5-internals-5.1.1-v1.tgz", @@ -2881,9 +2995,9 @@ } }, "node_modules/@npmcli/fs": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/@npmcli/fs/-/fs-3.1.0.tgz", - "integrity": "sha512-7kZUAaLscfgbwBQRbvdMYaZOWyMEcPTH/tJjnyAWJ/dvvs9Ef+CERx/qJb9GExJpl1qipaDGn7KqHnFGGixd0w==", + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/@npmcli/fs/-/fs-3.1.1.tgz", + "integrity": "sha512-q9CRWjpHCMIh5sVyefoD1cA7PkvILqCZsnSOEUUivORLjxCO/Irmue2DprETiNgEqktDBZaM1Bi+jrarx1XdCg==", "dev": true, "dependencies": { "semver": "^7.3.5" @@ -2892,26 +3006,11 @@ "node": "^14.17.0 || ^16.13.0 || >=18.0.0" } }, - "node_modules/@npmcli/fs/node_modules/lru-cache": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", - "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", - "dev": true, - "dependencies": { - "yallist": "^4.0.0" - }, - "engines": { - "node": ">=10" - } - }, "node_modules/@npmcli/fs/node_modules/semver": { - "version": "7.5.4", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz", - "integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==", + "version": "7.6.3", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.3.tgz", + "integrity": "sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==", "dev": true, - "dependencies": { - "lru-cache": "^6.0.0" - }, "bin": { "semver": "bin/semver.js" }, @@ -2919,12 +3018,6 @@ "node": ">=10" } }, - "node_modules/@npmcli/fs/node_modules/yallist": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", - "dev": true - }, "node_modules/@npmcli/git": { "version": "4.1.0", "resolved": "https://registry.npmjs.org/@npmcli/git/-/git-4.1.0.tgz", @@ -2954,13 +3047,10 @@ } }, "node_modules/@npmcli/git/node_modules/semver": { - "version": "7.5.4", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz", - "integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==", + "version": "7.6.3", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.3.tgz", + "integrity": "sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==", "dev": true, - "dependencies": { - "lru-cache": "^6.0.0" - }, "bin": { "semver": "bin/semver.js" }, @@ -2968,18 +3058,6 @@ "node": ">=10" } }, - "node_modules/@npmcli/git/node_modules/semver/node_modules/lru-cache": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", - "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", - "dev": true, - "dependencies": { - "yallist": "^4.0.0" - }, - "engines": { - "node": ">=10" - } - }, "node_modules/@npmcli/git/node_modules/which": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/which/-/which-3.0.1.tgz", @@ -2995,28 +3073,36 @@ "node": "^14.17.0 || ^16.13.0 || >=18.0.0" } }, - "node_modules/@npmcli/git/node_modules/yallist": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", - "dev": true - }, "node_modules/@npmcli/installed-package-contents": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/@npmcli/installed-package-contents/-/installed-package-contents-2.0.2.tgz", - "integrity": "sha512-xACzLPhnfD51GKvTOOuNX2/V4G4mz9/1I2MfDoye9kBM3RYe5g2YbscsaGoTlaWqkxeiapBWyseULVKpSVHtKQ==", + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/@npmcli/installed-package-contents/-/installed-package-contents-2.1.0.tgz", + "integrity": "sha512-c8UuGLeZpm69BryRykLuKRyKFZYJsZSCT4aVY5ds4omyZqJ172ApzgfKJ5eV/r3HgLdUYgFVe54KSFVjKoe27w==", "dev": true, "dependencies": { "npm-bundled": "^3.0.0", "npm-normalize-package-bin": "^3.0.0" }, "bin": { - "installed-package-contents": "lib/index.js" + "installed-package-contents": "bin/index.js" }, "engines": { "node": "^14.17.0 || ^16.13.0 || >=18.0.0" } }, + "node_modules/@npmcli/move-file": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/@npmcli/move-file/-/move-file-2.0.1.tgz", + "integrity": "sha512-mJd2Z5TjYWq/ttPLLGqArdtnC74J6bOzg4rMDnN+p1xTacZ2yPRCk2y0oSWQtygLR9YVQXgOcONrwtnk3JupxQ==", + "deprecated": "This functionality has been moved to @npmcli/fs", + "dev": true, + "dependencies": { + "mkdirp": "^1.0.4", + "rimraf": "^3.0.2" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + } + }, "node_modules/@npmcli/node-gyp": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/@npmcli/node-gyp/-/node-gyp-3.0.0.tgz", @@ -3095,9 +3181,9 @@ } }, "node_modules/@rollup/plugin-babel": { - "version": "6.0.3", - "resolved": "https://registry.npmjs.org/@rollup/plugin-babel/-/plugin-babel-6.0.3.tgz", - "integrity": "sha512-fKImZKppa1A/gX73eg4JGo+8kQr/q1HBQaCGKECZ0v4YBBv3lFqi14+7xyApECzvkLTHCifx+7ntcrvtBIRcpg==", + "version": "6.0.4", + "resolved": "https://registry.npmjs.org/@rollup/plugin-babel/-/plugin-babel-6.0.4.tgz", + "integrity": "sha512-YF7Y52kFdFT/xVSuVdjkV5ZdX/3YtmX0QulG+x0taQOtJdHYzVU61aSSkAgVJ7NOv6qPkIYiJSgSWWN/DM5sGw==", "dev": true, "dependencies": { "@babel/helper-module-imports": "^7.18.6", @@ -3109,7 +3195,7 @@ "peerDependencies": { "@babel/core": "^7.0.0", "@types/babel__core": "^7.1.9", - "rollup": "^1.20.0||^2.0.0||^3.0.0" + "rollup": "^1.20.0||^2.0.0||^3.0.0||^4.0.0" }, "peerDependenciesMeta": { "@types/babel__core": { @@ -3121,23 +3207,23 @@ } }, "node_modules/@rollup/plugin-commonjs": { - "version": "25.0.3", - "resolved": "https://registry.npmjs.org/@rollup/plugin-commonjs/-/plugin-commonjs-25.0.3.tgz", - "integrity": "sha512-uBdtWr/H3BVcgm97MUdq2oJmqBR23ny1hOrWe2PKo9FTbjsGqg32jfasJUKYAI5ouqacjRnj65mBB/S79F+GQA==", + "version": "26.0.1", + "resolved": "https://registry.npmjs.org/@rollup/plugin-commonjs/-/plugin-commonjs-26.0.1.tgz", + "integrity": "sha512-UnsKoZK6/aGIH6AdkptXhNvhaqftcjq3zZdT+LY5Ftms6JR06nADcDsYp5hTU9E2lbJUEOhdlY5J4DNTneM+jQ==", "dev": true, "dependencies": { "@rollup/pluginutils": "^5.0.1", "commondir": "^1.0.1", "estree-walker": "^2.0.2", - "glob": "^8.0.3", + "glob": "^10.4.1", "is-reference": "1.2.1", - "magic-string": "^0.27.0" + "magic-string": "^0.30.3" }, "engines": { - "node": ">=14.0.0" + "node": ">=16.0.0 || 14 >= 14.17" }, "peerDependencies": { - "rollup": "^2.68.0||^3.0.0" + "rollup": "^2.68.0||^3.0.0||^4.0.0" }, "peerDependenciesMeta": { "rollup": { @@ -3146,9 +3232,9 @@ } }, "node_modules/@rollup/plugin-eslint": { - "version": "9.0.4", - "resolved": "https://registry.npmjs.org/@rollup/plugin-eslint/-/plugin-eslint-9.0.4.tgz", - "integrity": "sha512-JtXb8RFMsRB6pMsVAo7qR3wopb7XT7XlxnqQQk/5zdrhmCOgF/OoKBYWLzK0yaUXNfRZeuly9VLt6VgXIBrvkw==", + "version": "9.0.5", + "resolved": "https://registry.npmjs.org/@rollup/plugin-eslint/-/plugin-eslint-9.0.5.tgz", + "integrity": "sha512-C4nh0sSeJuxVW5u5tDX+dCMjKcNfHm4hS+zeUVh1si7gttnhgGbrmPkUxIX7iZgYABwdEh/ewyMbZB+WXjSJdA==", "dev": true, "dependencies": { "@rollup/pluginutils": "^5.0.1", @@ -3158,7 +3244,7 @@ "node": ">=14.0.0" }, "peerDependencies": { - "rollup": "^1.20.0||^2.0.0||^3.0.0" + "rollup": "^1.20.0||^2.0.0||^3.0.0||^4.0.0" }, "peerDependenciesMeta": { "rollup": { @@ -3166,152 +3252,545 @@ } } }, - "node_modules/@rollup/plugin-json": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/@rollup/plugin-json/-/plugin-json-6.0.0.tgz", - "integrity": "sha512-i/4C5Jrdr1XUarRhVu27EEwjt4GObltD7c+MkCIpO2QIbojw8MUs+CCTqOphQi3Qtg1FLmYt+l+6YeoIf51J7w==", + "node_modules/@rollup/plugin-eslint/node_modules/@eslint/eslintrc": { + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-2.1.4.tgz", + "integrity": "sha512-269Z39MS6wVJtsoUl10L60WdkhJVdPG24Q4eZTH3nnF6lpvSShEK3wQjDX9JRWAUPvPh7COouPpU9IrqaZFvtQ==", "dev": true, "dependencies": { - "@rollup/pluginutils": "^5.0.1" + "ajv": "^6.12.4", + "debug": "^4.3.2", + "espree": "^9.6.0", + "globals": "^13.19.0", + "ignore": "^5.2.0", + "import-fresh": "^3.2.1", + "js-yaml": "^4.1.0", + "minimatch": "^3.1.2", + "strip-json-comments": "^3.1.1" }, "engines": { - "node": ">=14.0.0" - }, - "peerDependencies": { - "rollup": "^1.20.0||^2.0.0||^3.0.0" + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" }, - "peerDependenciesMeta": { - "rollup": { - "optional": true - } + "funding": { + "url": "https://opencollective.com/eslint" } }, - "node_modules/@rollup/plugin-node-resolve": { - "version": "15.1.0", - "resolved": "https://registry.npmjs.org/@rollup/plugin-node-resolve/-/plugin-node-resolve-15.1.0.tgz", - "integrity": "sha512-xeZHCgsiZ9pzYVgAo9580eCGqwh/XCEUM9q6iQfGNocjgkufHAqC3exA+45URvhiYV8sBF9RlBai650eNs7AsA==", + "node_modules/@rollup/plugin-eslint/node_modules/@eslint/js": { + "version": "8.57.0", + "resolved": "https://registry.npmjs.org/@eslint/js/-/js-8.57.0.tgz", + "integrity": "sha512-Ys+3g2TaW7gADOJzPt83SJtCDhMjndcDMFVQ/Tj9iA1BfJzFKD9mAUXT3OenpuPHbI6P/myECxRJrofUsDx/5g==", "dev": true, - "dependencies": { - "@rollup/pluginutils": "^5.0.1", - "@types/resolve": "1.20.2", - "deepmerge": "^4.2.2", - "is-builtin-module": "^3.2.1", - "is-module": "^1.0.0", - "resolve": "^1.22.1" - }, "engines": { - "node": ">=14.0.0" - }, - "peerDependencies": { - "rollup": "^2.78.0||^3.0.0" - }, - "peerDependenciesMeta": { - "rollup": { - "optional": true - } + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" } }, - "node_modules/@rollup/plugin-terser": { - "version": "0.4.3", - "resolved": "https://registry.npmjs.org/@rollup/plugin-terser/-/plugin-terser-0.4.3.tgz", - "integrity": "sha512-EF0oejTMtkyhrkwCdg0HJ0IpkcaVg1MMSf2olHb2Jp+1mnLM04OhjpJWGma4HobiDTF0WCyViWuvadyE9ch2XA==", + "node_modules/@rollup/plugin-eslint/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", "dev": true, "dependencies": { - "serialize-javascript": "^6.0.1", - "smob": "^1.0.0", - "terser": "^5.17.4" + "color-convert": "^2.0.1" }, "engines": { - "node": ">=14.0.0" - }, - "peerDependencies": { - "rollup": "^2.x || ^3.x" + "node": ">=8" }, - "peerDependenciesMeta": { - "rollup": { - "optional": true - } + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "node_modules/@rollup/pluginutils": { - "version": "5.0.2", - "resolved": "https://registry.npmjs.org/@rollup/pluginutils/-/pluginutils-5.0.2.tgz", - "integrity": "sha512-pTd9rIsP92h+B6wWwFbW8RkZv4hiR/xKsqre4SIuAOaOEQRxi0lqLke9k2/7WegC85GgUs9pjmOjCUi3In4vwA==", + "node_modules/@rollup/plugin-eslint/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", "dev": true, "dependencies": { - "@types/estree": "^1.0.0", - "estree-walker": "^2.0.2", - "picomatch": "^2.3.1" + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" }, "engines": { - "node": ">=14.0.0" - }, - "peerDependencies": { - "rollup": "^1.20.0||^2.0.0||^3.0.0" + "node": ">=10" }, - "peerDependenciesMeta": { - "rollup": { - "optional": true - } + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" } }, - "node_modules/@rometools/cli-darwin-arm64": { - "version": "12.1.3", - "resolved": "https://registry.npmjs.org/@rometools/cli-darwin-arm64/-/cli-darwin-arm64-12.1.3.tgz", - "integrity": "sha512-AmFTUDYjBuEGQp/Wwps+2cqUr+qhR7gyXAUnkL5psCuNCz3807TrUq/ecOoct5MIavGJTH6R4aaSL6+f+VlBEg==", - "cpu": [ - "arm64" - ], + "node_modules/@rollup/plugin-eslint/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", "dev": true, - "optional": true, - "os": [ - "darwin" - ] + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } }, - "node_modules/@rometools/cli-darwin-x64": { - "version": "12.1.3", - "resolved": "https://registry.npmjs.org/@rometools/cli-darwin-x64/-/cli-darwin-x64-12.1.3.tgz", - "integrity": "sha512-k8MbWna8q4LRlb005N2X+JS1UQ+s3ZLBBvwk4fP8TBxlAJXUz17jLLu/Fi+7DTTEmMhM84TWj4FDKW+rNar28g==", - "cpu": [ - "x64" - ], - "dev": true, - "optional": true, - "os": [ - "darwin" - ] + "node_modules/@rollup/plugin-eslint/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true }, - "node_modules/@rometools/cli-linux-arm64": { - "version": "12.1.3", - "resolved": "https://registry.npmjs.org/@rometools/cli-linux-arm64/-/cli-linux-arm64-12.1.3.tgz", - "integrity": "sha512-X/uLhJ2/FNA3nu5TiyeNPqiD3OZoFfNfRvw6a3ut0jEREPvEn72NI7WPijH/gxSz55znfQ7UQ6iM4DZumUknJg==", - "cpu": [ - "arm64" - ], + "node_modules/@rollup/plugin-eslint/node_modules/escape-string-regexp": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", + "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", "dev": true, - "optional": true, - "os": [ - "linux" - ] + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } }, - "node_modules/@rometools/cli-linux-x64": { - "version": "12.1.3", - "resolved": "https://registry.npmjs.org/@rometools/cli-linux-x64/-/cli-linux-x64-12.1.3.tgz", - "integrity": "sha512-csP17q1eWiUXx9z6Jr/JJPibkplyKIwiWPYNzvPCGE8pHlKhwZj3YHRuu7Dm/4EOqx0XFIuqqWZUYm9bkIC8xg==", - "cpu": [ - "x64" - ], + "node_modules/@rollup/plugin-eslint/node_modules/eslint": { + "version": "8.57.0", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.57.0.tgz", + "integrity": "sha512-dZ6+mexnaTIbSBZWgou51U6OmzIhYM2VcNdtiTtI7qPNZm35Akpr0f6vtw3w1Kmn5PYo+tZVfh13WrhpS6oLqQ==", "dev": true, - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@rometools/cli-win32-arm64": { - "version": "12.1.3", - "resolved": "https://registry.npmjs.org/@rometools/cli-win32-arm64/-/cli-win32-arm64-12.1.3.tgz", - "integrity": "sha512-RymHWeod57EBOJY4P636CgUwYA6BQdkQjh56XKk4pLEHO6X1bFyMet2XL7KlHw5qOTalzuzf5jJqUs+vf3jdXQ==", - "cpu": [ + "dependencies": { + "@eslint-community/eslint-utils": "^4.2.0", + "@eslint-community/regexpp": "^4.6.1", + "@eslint/eslintrc": "^2.1.4", + "@eslint/js": "8.57.0", + "@humanwhocodes/config-array": "^0.11.14", + "@humanwhocodes/module-importer": "^1.0.1", + "@nodelib/fs.walk": "^1.2.8", + "@ungap/structured-clone": "^1.2.0", + "ajv": "^6.12.4", + "chalk": "^4.0.0", + "cross-spawn": "^7.0.2", + "debug": "^4.3.2", + "doctrine": "^3.0.0", + "escape-string-regexp": "^4.0.0", + "eslint-scope": "^7.2.2", + "eslint-visitor-keys": "^3.4.3", + "espree": "^9.6.1", + "esquery": "^1.4.2", + "esutils": "^2.0.2", + "fast-deep-equal": "^3.1.3", + "file-entry-cache": "^6.0.1", + "find-up": "^5.0.0", + "glob-parent": "^6.0.2", + "globals": "^13.19.0", + "graphemer": "^1.4.0", + "ignore": "^5.2.0", + "imurmurhash": "^0.1.4", + "is-glob": "^4.0.0", + "is-path-inside": "^3.0.3", + "js-yaml": "^4.1.0", + "json-stable-stringify-without-jsonify": "^1.0.1", + "levn": "^0.4.1", + "lodash.merge": "^4.6.2", + "minimatch": "^3.1.2", + "natural-compare": "^1.4.0", + "optionator": "^0.9.3", + "strip-ansi": "^6.0.1", + "text-table": "^0.2.0" + }, + "bin": { + "eslint": "bin/eslint.js" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/@rollup/plugin-eslint/node_modules/eslint-scope": { + "version": "7.2.2", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.2.2.tgz", + "integrity": "sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg==", + "dev": true, + "dependencies": { + "esrecurse": "^4.3.0", + "estraverse": "^5.2.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/@rollup/plugin-eslint/node_modules/eslint-visitor-keys": { + "version": "3.4.3", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz", + "integrity": "sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==", + "dev": true, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/@rollup/plugin-eslint/node_modules/espree": { + "version": "9.6.1", + "resolved": "https://registry.npmjs.org/espree/-/espree-9.6.1.tgz", + "integrity": "sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ==", + "dev": true, + "dependencies": { + "acorn": "^8.9.0", + "acorn-jsx": "^5.3.2", + "eslint-visitor-keys": "^3.4.1" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/@rollup/plugin-eslint/node_modules/estraverse": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", + "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", + "dev": true, + "engines": { + "node": ">=4.0" + } + }, + "node_modules/@rollup/plugin-eslint/node_modules/file-entry-cache": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-6.0.1.tgz", + "integrity": "sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==", + "dev": true, + "dependencies": { + "flat-cache": "^3.0.4" + }, + "engines": { + "node": "^10.12.0 || >=12.0.0" + } + }, + "node_modules/@rollup/plugin-eslint/node_modules/flat-cache": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-3.2.0.tgz", + "integrity": "sha512-CYcENa+FtcUKLmhhqyctpclsq7QF38pKjZHsGNiSQF5r4FtoKDWabFDl3hzaEQMvT1LHEysw5twgLvpYYb4vbw==", + "dev": true, + "dependencies": { + "flatted": "^3.2.9", + "keyv": "^4.5.3", + "rimraf": "^3.0.2" + }, + "engines": { + "node": "^10.12.0 || >=12.0.0" + } + }, + "node_modules/@rollup/plugin-eslint/node_modules/globals": { + "version": "13.24.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-13.24.0.tgz", + "integrity": "sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ==", + "dev": true, + "dependencies": { + "type-fest": "^0.20.2" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@rollup/plugin-eslint/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/@rollup/plugin-eslint/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/@rollup/plugin-eslint/node_modules/type-fest": { + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz", + "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@rollup/plugin-json": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/@rollup/plugin-json/-/plugin-json-6.1.0.tgz", + "integrity": "sha512-EGI2te5ENk1coGeADSIwZ7G2Q8CJS2sF120T7jLw4xFw9n7wIOXHo+kIYRAoVpJAN+kmqZSoO3Fp4JtoNF4ReA==", + "dev": true, + "dependencies": { + "@rollup/pluginutils": "^5.1.0" + }, + "engines": { + "node": ">=14.0.0" + }, + "peerDependencies": { + "rollup": "^1.20.0||^2.0.0||^3.0.0||^4.0.0" + }, + "peerDependenciesMeta": { + "rollup": { + "optional": true + } + } + }, + "node_modules/@rollup/plugin-node-resolve": { + "version": "15.2.3", + "resolved": "https://registry.npmjs.org/@rollup/plugin-node-resolve/-/plugin-node-resolve-15.2.3.tgz", + "integrity": "sha512-j/lym8nf5E21LwBT4Df1VD6hRO2L2iwUeUmP7litikRsVp1H6NWx20NEp0Y7su+7XGc476GnXXc4kFeZNGmaSQ==", + "dev": true, + "dependencies": { + "@rollup/pluginutils": "^5.0.1", + "@types/resolve": "1.20.2", + "deepmerge": "^4.2.2", + "is-builtin-module": "^3.2.1", + "is-module": "^1.0.0", + "resolve": "^1.22.1" + }, + "engines": { + "node": ">=14.0.0" + }, + "peerDependencies": { + "rollup": "^2.78.0||^3.0.0||^4.0.0" + }, + "peerDependenciesMeta": { + "rollup": { + "optional": true + } + } + }, + "node_modules/@rollup/plugin-terser": { + "version": "0.4.4", + "resolved": "https://registry.npmjs.org/@rollup/plugin-terser/-/plugin-terser-0.4.4.tgz", + "integrity": "sha512-XHeJC5Bgvs8LfukDwWZp7yeqin6ns8RTl2B9avbejt6tZqsqvVoWI7ZTQrcNsfKEDWBTnTxM8nMDkO2IFFbd0A==", + "dev": true, + "dependencies": { + "serialize-javascript": "^6.0.1", + "smob": "^1.0.0", + "terser": "^5.17.4" + }, + "engines": { + "node": ">=14.0.0" + }, + "peerDependencies": { + "rollup": "^2.0.0||^3.0.0||^4.0.0" + }, + "peerDependenciesMeta": { + "rollup": { + "optional": true + } + } + }, + "node_modules/@rollup/pluginutils": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/@rollup/pluginutils/-/pluginutils-5.1.0.tgz", + "integrity": "sha512-XTIWOPPcpvyKI6L1NHo0lFlCyznUEyPmPY1mc3KpPVDYulHSTvyeLNVW00QTLIAFNhR3kYnJTQHeGqU4M3n09g==", + "dev": true, + "dependencies": { + "@types/estree": "^1.0.0", + "estree-walker": "^2.0.2", + "picomatch": "^2.3.1" + }, + "engines": { + "node": ">=14.0.0" + }, + "peerDependencies": { + "rollup": "^1.20.0||^2.0.0||^3.0.0||^4.0.0" + }, + "peerDependenciesMeta": { + "rollup": { + "optional": true + } + } + }, + "node_modules/@rollup/rollup-android-arm-eabi": { + "version": "4.21.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.21.2.tgz", + "integrity": "sha512-fSuPrt0ZO8uXeS+xP3b+yYTCBUd05MoSp2N/MFOgjhhUhMmchXlpTQrTpI8T+YAwAQuK7MafsCOxW7VrPMrJcg==", + "cpu": [ + "arm" + ], + "dev": true, + "optional": true, + "os": [ + "android" + ] + }, + "node_modules/@rollup/rollup-android-arm64": { + "version": "4.21.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.21.2.tgz", + "integrity": "sha512-xGU5ZQmPlsjQS6tzTTGwMsnKUtu0WVbl0hYpTPauvbRAnmIvpInhJtgjj3mcuJpEiuUw4v1s4BimkdfDWlh7gA==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "android" + ] + }, + "node_modules/@rollup/rollup-darwin-arm64": { + "version": "4.21.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.21.2.tgz", + "integrity": "sha512-99AhQ3/ZMxU7jw34Sq8brzXqWH/bMnf7ZVhvLk9QU2cOepbQSVTns6qoErJmSiAvU3InRqC2RRZ5ovh1KN0d0Q==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "darwin" + ] + }, + "node_modules/@rollup/rollup-darwin-x64": { + "version": "4.21.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.21.2.tgz", + "integrity": "sha512-ZbRaUvw2iN/y37x6dY50D8m2BnDbBjlnMPotDi/qITMJ4sIxNY33HArjikDyakhSv0+ybdUxhWxE6kTI4oX26w==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "darwin" + ] + }, + "node_modules/@rollup/rollup-linux-arm-gnueabihf": { + "version": "4.21.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.21.2.tgz", + "integrity": "sha512-ztRJJMiE8nnU1YFcdbd9BcH6bGWG1z+jP+IPW2oDUAPxPjo9dverIOyXz76m6IPA6udEL12reYeLojzW2cYL7w==", + "cpu": [ + "arm" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-arm-musleabihf": { + "version": "4.21.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.21.2.tgz", + "integrity": "sha512-flOcGHDZajGKYpLV0JNc0VFH361M7rnV1ee+NTeC/BQQ1/0pllYcFmxpagltANYt8FYf9+kL6RSk80Ziwyhr7w==", + "cpu": [ + "arm" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-arm64-gnu": { + "version": "4.21.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.21.2.tgz", + "integrity": "sha512-69CF19Kp3TdMopyteO/LJbWufOzqqXzkrv4L2sP8kfMaAQ6iwky7NoXTp7bD6/irKgknDKM0P9E/1l5XxVQAhw==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-arm64-musl": { + "version": "4.21.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.21.2.tgz", + "integrity": "sha512-48pD/fJkTiHAZTnZwR0VzHrao70/4MlzJrq0ZsILjLW/Ab/1XlVUStYyGt7tdyIiVSlGZbnliqmult/QGA2O2w==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-powerpc64le-gnu": { + "version": "4.21.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-powerpc64le-gnu/-/rollup-linux-powerpc64le-gnu-4.21.2.tgz", + "integrity": "sha512-cZdyuInj0ofc7mAQpKcPR2a2iu4YM4FQfuUzCVA2u4HI95lCwzjoPtdWjdpDKyHxI0UO82bLDoOaLfpZ/wviyQ==", + "cpu": [ + "ppc64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-riscv64-gnu": { + "version": "4.21.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.21.2.tgz", + "integrity": "sha512-RL56JMT6NwQ0lXIQmMIWr1SW28z4E4pOhRRNqwWZeXpRlykRIlEpSWdsgNWJbYBEWD84eocjSGDu/XxbYeCmwg==", + "cpu": [ + "riscv64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-s390x-gnu": { + "version": "4.21.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.21.2.tgz", + "integrity": "sha512-PMxkrWS9z38bCr3rWvDFVGD6sFeZJw4iQlhrup7ReGmfn7Oukrr/zweLhYX6v2/8J6Cep9IEA/SmjXjCmSbrMQ==", + "cpu": [ + "s390x" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-x64-gnu": { + "version": "4.21.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.21.2.tgz", + "integrity": "sha512-B90tYAUoLhU22olrafY3JQCFLnT3NglazdwkHyxNDYF/zAxJt5fJUB/yBoWFoIQ7SQj+KLe3iL4BhOMa9fzgpw==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-x64-musl": { + "version": "4.21.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.21.2.tgz", + "integrity": "sha512-7twFizNXudESmC9oneLGIUmoHiiLppz/Xs5uJQ4ShvE6234K0VB1/aJYU3f/4g7PhssLGKBVCC37uRkkOi8wjg==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-win32-arm64-msvc": { + "version": "4.21.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.21.2.tgz", + "integrity": "sha512-9rRero0E7qTeYf6+rFh3AErTNU1VCQg2mn7CQcI44vNUWM9Ze7MSRS/9RFuSsox+vstRt97+x3sOhEey024FRQ==", + "cpu": [ "arm64" ], "dev": true, @@ -3320,10 +3799,23 @@ "win32" ] }, - "node_modules/@rometools/cli-win32-x64": { - "version": "12.1.3", - "resolved": "https://registry.npmjs.org/@rometools/cli-win32-x64/-/cli-win32-x64-12.1.3.tgz", - "integrity": "sha512-yHSKYidqJMV9nADqg78GYA+cZ0hS1twANAjiFibQdXj9aGzD+s/IzIFEIi/U/OBLvWYg/SCw0QVozi2vTlKFDQ==", + "node_modules/@rollup/rollup-win32-ia32-msvc": { + "version": "4.21.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.21.2.tgz", + "integrity": "sha512-5rA4vjlqgrpbFVVHX3qkrCo/fZTj1q0Xxpg+Z7yIo3J2AilW7t2+n6Q8Jrx+4MrYpAnjttTYF8rr7bP46BPzRw==", + "cpu": [ + "ia32" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@rollup/rollup-win32-x64-msvc": { + "version": "4.21.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.21.2.tgz", + "integrity": "sha512-6UUxd0+SKomjdzuAcp+HAmxw1FlGBnl1v2yEPSabtx4lBfdXHDVsW7+lQkgz9cNFJGY3AWR7+V8P5BqkD9L9nA==", "cpu": [ "x64" ], @@ -3334,9 +3826,9 @@ ] }, "node_modules/@sigstore/bundle": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/@sigstore/bundle/-/bundle-1.0.0.tgz", - "integrity": "sha512-yLvrWDOh6uMOUlFCTJIZEnwOT9Xte7NPXUqVexEKGSF5XtBAuSg5du0kn3dRR0p47a4ah10Y0mNt8+uyeQXrBQ==", + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@sigstore/bundle/-/bundle-1.1.0.tgz", + "integrity": "sha512-PFutXEy0SmQxYI4texPw3dd2KewuNqv7OuK1ZFtY2fM754yhvG2KdgwIhRnoEE2uHdtdGNQ8s0lb94dW9sELog==", "dev": true, "dependencies": { "@sigstore/protobuf-specs": "^0.2.0" @@ -3346,14 +3838,98 @@ } }, "node_modules/@sigstore/protobuf-specs": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/@sigstore/protobuf-specs/-/protobuf-specs-0.2.0.tgz", - "integrity": "sha512-8ZhZKAVfXjIspDWwm3D3Kvj0ddbJ0HqDZ/pOs5cx88HpT8mVsotFrg7H1UMnXOuDHz6Zykwxn4mxG3QLuN+RUg==", + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/@sigstore/protobuf-specs/-/protobuf-specs-0.2.1.tgz", + "integrity": "sha512-XTWVxnWJu+c1oCshMLwnKvz8ZQJJDVOlciMfgpJBQbThVjKTCG8dwyhgLngBD2KN0ap9F/gOV8rFDEx8uh7R2A==", "dev": true, "engines": { "node": "^14.17.0 || ^16.13.0 || >=18.0.0" } }, + "node_modules/@sigstore/sign": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@sigstore/sign/-/sign-1.0.0.tgz", + "integrity": "sha512-INxFVNQteLtcfGmcoldzV6Je0sbbfh9I16DM4yJPw3j5+TFP8X6uIiA18mvpEa9yyeycAKgPmOA3X9hVdVTPUA==", + "dev": true, + "dependencies": { + "@sigstore/bundle": "^1.1.0", + "@sigstore/protobuf-specs": "^0.2.0", + "make-fetch-happen": "^11.0.1" + }, + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, + "node_modules/@sigstore/sign/node_modules/lru-cache": { + "version": "7.18.3", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-7.18.3.tgz", + "integrity": "sha512-jumlc0BIUrS3qJGgIkWZsyfAM7NCWiBcCDhnd+3NNM5KbBmLTgHVfWBcg6W+rLUsIpzpERPsvwUP7CckAQSOoA==", + "dev": true, + "engines": { + "node": ">=12" + } + }, + "node_modules/@sigstore/sign/node_modules/make-fetch-happen": { + "version": "11.1.1", + "resolved": "https://registry.npmjs.org/make-fetch-happen/-/make-fetch-happen-11.1.1.tgz", + "integrity": "sha512-rLWS7GCSTcEujjVBs2YqG7Y4643u8ucvCJeSRqiLYhesrDuzeuFIk37xREzAsfQaqzl8b9rNCE4m6J8tvX4Q8w==", + "dev": true, + "dependencies": { + "agentkeepalive": "^4.2.1", + "cacache": "^17.0.0", + "http-cache-semantics": "^4.1.1", + "http-proxy-agent": "^5.0.0", + "https-proxy-agent": "^5.0.0", + "is-lambda": "^1.0.1", + "lru-cache": "^7.7.1", + "minipass": "^5.0.0", + "minipass-fetch": "^3.0.0", + "minipass-flush": "^1.0.5", + "minipass-pipeline": "^1.2.4", + "negotiator": "^0.6.3", + "promise-retry": "^2.0.1", + "socks-proxy-agent": "^7.0.0", + "ssri": "^10.0.0" + }, + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, + "node_modules/@sigstore/sign/node_modules/minipass": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-5.0.0.tgz", + "integrity": "sha512-3FnjYuehv9k6ovOEbyOswadCDPX1piCfhV8ncmYtHOjuPwylVWsghTLo7rabjC3Rx5xD4HDx8Wm1xnMF7S5qFQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/@sigstore/sign/node_modules/minipass-fetch": { + "version": "3.0.5", + "resolved": "https://registry.npmjs.org/minipass-fetch/-/minipass-fetch-3.0.5.tgz", + "integrity": "sha512-2N8elDQAtSnFV0Dk7gt15KHsS0Fyz6CbYZ360h0WTYV1Ty46li3rAXVOQj1THMNLdmrD9Vt5pBPtWtVkpwGBqg==", + "dev": true, + "dependencies": { + "minipass": "^7.0.3", + "minipass-sized": "^1.0.3", + "minizlib": "^2.1.2" + }, + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + }, + "optionalDependencies": { + "encoding": "^0.1.13" + } + }, + "node_modules/@sigstore/sign/node_modules/minipass-fetch/node_modules/minipass": { + "version": "7.1.2", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.1.2.tgz", + "integrity": "sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw==", + "dev": true, + "engines": { + "node": ">=16 || 14 >=14.17" + } + }, "node_modules/@sigstore/tuf": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/@sigstore/tuf/-/tuf-1.0.3.tgz", @@ -3374,9 +3950,9 @@ "dev": true }, "node_modules/@sinonjs/commons": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/@sinonjs/commons/-/commons-3.0.0.tgz", - "integrity": "sha512-jXBtWAF4vmdNmZgD5FoKsVLv3rPgDnLgPbU84LIJ3otV44vJlDRokVng5v8NFJdCf/da9legHcKaRuZs4L7faA==", + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/@sinonjs/commons/-/commons-3.0.1.tgz", + "integrity": "sha512-K3mCHKQ9sVh8o1C9cxkwxaOmXoAMlDxC1mYyHrjqOWEcBjYr76t96zL2zlj5dUGZ3HSw240X1qgH3Mjf1yJWpQ==", "dev": true, "dependencies": { "type-detect": "4.0.8" @@ -3432,9 +4008,9 @@ } }, "node_modules/@tufjs/models/node_modules/minimatch": { - "version": "9.0.3", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.3.tgz", - "integrity": "sha512-RHiac9mvaRw0x3AYRgDC1CxAP7HTcNrrECeA8YYJeWnpo+2Q5CegtZjaotWTWxDG3UeGA1coE05iH1mPjT/2mg==", + "version": "9.0.5", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.5.tgz", + "integrity": "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==", "dev": true, "dependencies": { "brace-expansion": "^2.0.1" @@ -3447,9 +4023,9 @@ } }, "node_modules/@types/babel__core": { - "version": "7.20.1", - "resolved": "https://registry.npmjs.org/@types/babel__core/-/babel__core-7.20.1.tgz", - "integrity": "sha512-aACu/U/omhdk15O4Nfb+fHgH/z3QsfQzpnvRZhYhThms83ZnAOZz7zZAWO7mn2yyNQaA4xTO8GLK3uqFU4bYYw==", + "version": "7.20.5", + "resolved": "https://registry.npmjs.org/@types/babel__core/-/babel__core-7.20.5.tgz", + "integrity": "sha512-qoQprZvz5wQFJwMDqeseRXWv3rqMvhgpbXFfVyWhbx9X47POIA6i/+dXefEmZKoAgOaTdaIgNSMqMIU61yRyzA==", "dev": true, "dependencies": { "@babel/parser": "^7.20.7", @@ -3460,18 +4036,18 @@ } }, "node_modules/@types/babel__generator": { - "version": "7.6.4", - "resolved": "https://registry.npmjs.org/@types/babel__generator/-/babel__generator-7.6.4.tgz", - "integrity": "sha512-tFkciB9j2K755yrTALxD44McOrk+gfpIpvC3sxHjRawj6PfnQxrse4Clq5y/Rq+G3mrBurMax/lG8Qn2t9mSsg==", + "version": "7.6.8", + "resolved": "https://registry.npmjs.org/@types/babel__generator/-/babel__generator-7.6.8.tgz", + "integrity": "sha512-ASsj+tpEDsEiFr1arWrlN6V3mdfjRMZt6LtK/Vp/kreFLnr5QH5+DhvD5nINYZXzwJvXeGq+05iUXcAzVrqWtw==", "dev": true, "dependencies": { "@babel/types": "^7.0.0" } }, "node_modules/@types/babel__template": { - "version": "7.4.1", - "resolved": "https://registry.npmjs.org/@types/babel__template/-/babel__template-7.4.1.tgz", - "integrity": "sha512-azBFKemX6kMg5Io+/rdGT0dkGreboUVR0Cdm3fz9QJWpaQGJRQXl7C+6hOTCZcMll7KFyEQpgbYI2lHdsS4U7g==", + "version": "7.4.4", + "resolved": "https://registry.npmjs.org/@types/babel__template/-/babel__template-7.4.4.tgz", + "integrity": "sha512-h/NUaSyG5EyxBIp8YRxo4RMe2/qQgvyowRwVMzhYhBCONbW8PUsg4lkFMrhgZhUe5z3L3MiLDuvyJ/CaPa2A8A==", "dev": true, "dependencies": { "@babel/parser": "^7.1.0", @@ -3479,57 +4055,57 @@ } }, "node_modules/@types/babel__traverse": { - "version": "7.20.1", - "resolved": "https://registry.npmjs.org/@types/babel__traverse/-/babel__traverse-7.20.1.tgz", - "integrity": "sha512-MitHFXnhtgwsGZWtT68URpOvLN4EREih1u3QtQiN4VdAxWKRVvGCSvw/Qth0M0Qq3pJpnGOu5JaM/ydK7OGbqg==", + "version": "7.20.6", + "resolved": "https://registry.npmjs.org/@types/babel__traverse/-/babel__traverse-7.20.6.tgz", + "integrity": "sha512-r1bzfrm0tomOI8g1SzvCaQHo6Lcv6zu0EA+W2kHrt8dyrHQxGzBBL4kdkzIS+jBMV+EYcMAEAqXqYaLJq5rOZg==", "dev": true, "dependencies": { "@babel/types": "^7.20.7" } }, "node_modules/@types/estree": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.1.tgz", - "integrity": "sha512-LG4opVs2ANWZ1TJoKc937iMmNstM/d0ae1vNbnBvBhqCSezgVUOzcLCqbI5elV8Vy6WKwKjaqR+zO9VKirBBCA==", + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.5.tgz", + "integrity": "sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw==", "dev": true }, "node_modules/@types/graceful-fs": { - "version": "4.1.6", - "resolved": "https://registry.npmjs.org/@types/graceful-fs/-/graceful-fs-4.1.6.tgz", - "integrity": "sha512-Sig0SNORX9fdW+bQuTEovKj3uHcUL6LQKbCrrqb1X7J6/ReAbhCXRAhc+SMejhLELFj2QcyuxmUooZ4bt5ReSw==", + "version": "4.1.9", + "resolved": "https://registry.npmjs.org/@types/graceful-fs/-/graceful-fs-4.1.9.tgz", + "integrity": "sha512-olP3sd1qOEe5dXTSaFvQG+02VdRXcdytWLAZsAq1PecU8uqQAhkrnbli7DagjtXKW/Bl7YJbUsa8MPcuc8LHEQ==", "dev": true, "dependencies": { "@types/node": "*" } }, "node_modules/@types/istanbul-lib-coverage": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.4.tgz", - "integrity": "sha512-z/QT1XN4K4KYuslS23k62yDIDLwLFkzxOuMplDtObz0+y7VqJCaO2o+SPwHCvLFZh7xazvvoor2tA/hPz9ee7g==", + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.6.tgz", + "integrity": "sha512-2QF/t/auWm0lsy8XtKVPG19v3sSOQlJe/YHZgfjb/KBBHOGSV+J2q/S671rcq9uTBrLAXmZpqJiaQbMT+zNU1w==", "dev": true }, "node_modules/@types/istanbul-lib-report": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/@types/istanbul-lib-report/-/istanbul-lib-report-3.0.0.tgz", - "integrity": "sha512-plGgXAPfVKFoYfa9NpYDAkseG+g6Jr294RqeqcqDixSbU34MZVJRi/P+7Y8GDpzkEwLaGZZOpKIEmeVZNtKsrg==", + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@types/istanbul-lib-report/-/istanbul-lib-report-3.0.3.tgz", + "integrity": "sha512-NQn7AHQnk/RSLOxrBbGyJM/aVQ+pjj5HCgasFxc0K/KhoATfQ/47AyUl15I2yBUpihjmas+a+VJBOqecrFH+uA==", "dev": true, "dependencies": { "@types/istanbul-lib-coverage": "*" } }, "node_modules/@types/istanbul-reports": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/@types/istanbul-reports/-/istanbul-reports-3.0.1.tgz", - "integrity": "sha512-c3mAZEuK0lvBp8tmuL74XRKn1+y2dcwOUpH7x4WrF6gk1GIgiluDRgMYQtw2OFcBvAJWlt6ASU3tSqxp0Uu0Aw==", + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/@types/istanbul-reports/-/istanbul-reports-3.0.4.tgz", + "integrity": "sha512-pk2B1NWalF9toCRu6gjBzR69syFjP4Od8WRAX+0mmf9lAjCRicLOWc+ZrxZHx/0XRjotgkF9t6iaMJ+aXcOdZQ==", "dev": true, "dependencies": { "@types/istanbul-lib-report": "*" } }, "node_modules/@types/jest": { - "version": "29.5.3", - "resolved": "https://registry.npmjs.org/@types/jest/-/jest-29.5.3.tgz", - "integrity": "sha512-1Nq7YrO/vJE/FYnqYyw0FS8LdrjExSgIiHyKg7xPpn+yi8Q4huZryKnkJatN1ZRH89Kw2v33/8ZMB7DuZeSLlA==", + "version": "29.5.12", + "resolved": "https://registry.npmjs.org/@types/jest/-/jest-29.5.12.tgz", + "integrity": "sha512-eDC8bTvT/QhYdxJAulQikueigY5AsdBRH2yDKW3yveW7svY3+DzN84/2NUgkw10RTiJbWqZrTtoGVdYlvFJdLw==", "dev": true, "dependencies": { "expect": "^29.0.0", @@ -3537,10 +4113,13 @@ } }, "node_modules/@types/node": { - "version": "20.4.6", - "resolved": "https://registry.npmjs.org/@types/node/-/node-20.4.6.tgz", - "integrity": "sha512-q0RkvNgMweWWIvSMDiXhflGUKMdIxBo2M2tYM/0kEGDueQByFzK4KZAgu5YHGFNxziTlppNpTIBcqHQAxlfHdA==", - "dev": true + "version": "22.5.1", + "resolved": "https://registry.npmjs.org/@types/node/-/node-22.5.1.tgz", + "integrity": "sha512-KkHsxej0j9IW1KKOOAA/XBA0z08UFSrRQHErzEfA3Vgq57eXIMYboIlHJuYIfd+lwCQjtKqUu3UnmKbtUc9yRw==", + "dev": true, + "dependencies": { + "undici-types": "~6.19.2" + } }, "node_modules/@types/resolve": { "version": "1.20.2", @@ -3549,24 +4128,30 @@ "dev": true }, "node_modules/@types/stack-utils": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/@types/stack-utils/-/stack-utils-2.0.1.tgz", - "integrity": "sha512-Hl219/BT5fLAaz6NDkSuhzasy49dwQS/DSdu4MdggFB8zcXv7vflBI3xp7FEmkmdDkBUI2bPUNeMttp2knYdxw==", + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/@types/stack-utils/-/stack-utils-2.0.3.tgz", + "integrity": "sha512-9aEbYZ3TbYMznPdcdr3SmIrLXwC/AKZXQeCf9Pgao5CKb8CyHuEX5jzWPTkvregvhRJHcpRO6BFoGW9ycaOkYw==", "dev": true }, "node_modules/@types/yargs": { - "version": "17.0.24", - "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-17.0.24.tgz", - "integrity": "sha512-6i0aC7jV6QzQB8ne1joVZ0eSFIstHsCrobmOtghM11yGlH0j43FKL2UhWdELkyps0zuf7qVTUVCCR+tgSlyLLw==", + "version": "17.0.33", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-17.0.33.tgz", + "integrity": "sha512-WpxBCKWPLr4xSsHgz511rFJAM+wS28w2zEO1QDNY5zM/S8ok70NNfztH0xwhqKyaK0OHCbN98LDAZuy1ctxDkA==", "dev": true, "dependencies": { "@types/yargs-parser": "*" } }, "node_modules/@types/yargs-parser": { - "version": "21.0.0", - "resolved": "https://registry.npmjs.org/@types/yargs-parser/-/yargs-parser-21.0.0.tgz", - "integrity": "sha512-iO9ZQHkZxHn4mSakYV0vFHAVDyEOIJQrV2uZ06HxEPcx+mt8swXoZHIbaaJ2crJYFfErySgktuTZ3BeLz+XmFA==", + "version": "21.0.3", + "resolved": "https://registry.npmjs.org/@types/yargs-parser/-/yargs-parser-21.0.3.tgz", + "integrity": "sha512-I4q9QU9MQv4oEOz4tAHJtNz1cwuLxn2F3xcc2iV5WdqLPpUnj30aUuxt1mAxYTG+oe8CZMV/+6rU4S4gRDzqtQ==", + "dev": true + }, + "node_modules/@ungap/structured-clone": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@ungap/structured-clone/-/structured-clone-1.2.0.tgz", + "integrity": "sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ==", "dev": true }, "node_modules/abbrev": { @@ -3576,9 +4161,9 @@ "dev": true }, "node_modules/acorn": { - "version": "8.10.0", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.10.0.tgz", - "integrity": "sha512-F0SAmZ8iUtS//m8DmCTA0jlh6TDKkHQyK6xc6V4KDTyZKA9dnvX9/3sRTVQrWm79glUAZbnmmNcdYwUIHWVybw==", + "version": "8.12.1", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.12.1.tgz", + "integrity": "sha512-tcpGyI9zbizT9JbV6oYE477V6mTlXvvi0T0G3SNIYE2apm/G5huBa1+K89VGeovbg+jycCrfhl3ADxErOuO6Jg==", "dev": true, "bin": { "acorn": "bin/acorn" @@ -3609,13 +4194,11 @@ } }, "node_modules/agentkeepalive": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/agentkeepalive/-/agentkeepalive-4.3.0.tgz", - "integrity": "sha512-7Epl1Blf4Sy37j4v9f9FjICCh4+KAQOyXgHEwlyBiAQLbhKdq/i2QQU3amQalS/wPhdPzDXPL5DMR5bkn+YeWg==", + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/agentkeepalive/-/agentkeepalive-4.5.0.tgz", + "integrity": "sha512-5GG/5IbQQpC9FpkRGsSvZI5QYeSCzlJHdpBQntCsuTOxhKD8lqKhrleg2Yi7yvMIf82Ycmmqln9U8V9qwEiJew==", "dev": true, "dependencies": { - "debug": "^4.1.0", - "depd": "^2.0.0", "humanize-ms": "^1.2.1" }, "engines": { @@ -3660,6 +4243,26 @@ "string-width": "^4.1.0" } }, + "node_modules/ansi-align/node_modules/emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "dev": true + }, + "node_modules/ansi-align/node_modules/string-width": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "dev": true, + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=8" + } + }, "node_modules/ansi-escapes": { "version": "4.3.2", "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.2.tgz", @@ -3719,6 +4322,7 @@ "version": "3.0.1", "resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-3.0.1.tgz", "integrity": "sha512-QZW4EDmGwlYur0Yyf/b2uGucHQMa8aFUP7eu9ddR73vvhFyt4V0Vl3QHPcTNJ8l6qYOBdxgXdnBXQrHilfRQBg==", + "deprecated": "This package is no longer supported.", "dev": true, "dependencies": { "delegates": "^1.0.0", @@ -3756,21 +4360,21 @@ } }, "node_modules/async": { - "version": "3.2.4", - "resolved": "https://registry.npmjs.org/async/-/async-3.2.4.tgz", - "integrity": "sha512-iAB+JbDEGXhyIUavoDl9WP/Jj106Kz9DEn1DPgYw5ruDn0e3Wgi3sKFm55sASdGBNOQB8F59d9qQ7deqrHA8wQ==", + "version": "3.2.6", + "resolved": "https://registry.npmjs.org/async/-/async-3.2.6.tgz", + "integrity": "sha512-htCUDlxyyCLMgaM3xXg0C0LW2xqfuQ6p05pCEIsXuyQ+a1koYKTuBMzRNwmybfLgvJDMd0r1LTn4+E0Ti6C2AA==", "dev": true }, "node_modules/babel-jest": { - "version": "29.6.2", - "resolved": "https://registry.npmjs.org/babel-jest/-/babel-jest-29.6.2.tgz", - "integrity": "sha512-BYCzImLos6J3BH/+HvUCHG1dTf2MzmAB4jaVxHV+29RZLjR29XuYTmsf2sdDwkrb+FczkGo3kOhE7ga6sI0P4A==", + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/babel-jest/-/babel-jest-29.7.0.tgz", + "integrity": "sha512-BrvGY3xZSwEcCzKvKsCi2GgHqDqsYkOP4/by5xCgIwGXQxIEh+8ew3gmrE1y7XRR6LHZIj6yLYnUi/mm2KXKBg==", "dev": true, "dependencies": { - "@jest/transform": "^29.6.2", + "@jest/transform": "^29.7.0", "@types/babel__core": "^7.1.14", "babel-plugin-istanbul": "^6.1.1", - "babel-preset-jest": "^29.5.0", + "babel-preset-jest": "^29.6.3", "chalk": "^4.0.0", "graceful-fs": "^4.2.9", "slash": "^3.0.0" @@ -3868,10 +4472,26 @@ "node": ">=8" } }, + "node_modules/babel-plugin-istanbul/node_modules/istanbul-lib-instrument": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-5.2.1.tgz", + "integrity": "sha512-pzqtp31nLv/XFOzXGuvhCb8qhjmTVo5vjVk19XE4CRlSWz0KoeJ3bw9XsA7nOp9YBf4qHjwBxkDzKcME/J29Yg==", + "dev": true, + "dependencies": { + "@babel/core": "^7.12.3", + "@babel/parser": "^7.14.7", + "@istanbuljs/schema": "^0.1.2", + "istanbul-lib-coverage": "^3.2.0", + "semver": "^6.3.0" + }, + "engines": { + "node": ">=8" + } + }, "node_modules/babel-plugin-jest-hoist": { - "version": "29.5.0", - "resolved": "https://registry.npmjs.org/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-29.5.0.tgz", - "integrity": "sha512-zSuuuAlTMT4mzLj2nPnUm6fsE6270vdOfnpbJ+RmruU75UhLFvL0N2NgI7xpeS7NaB6hGqmd5pVpGTDYvi4Q3w==", + "version": "29.6.3", + "resolved": "https://registry.npmjs.org/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-29.6.3.tgz", + "integrity": "sha512-ESAc/RJvGTFEzRwOTT4+lNDk/GNHMkKbNzsvT0qKRfDyyYTskxB5rnU2njIDYVxXCBHHEI1c0YwHob3WaYujOg==", "dev": true, "dependencies": { "@babel/template": "^7.3.3", @@ -3884,13 +4504,13 @@ } }, "node_modules/babel-plugin-polyfill-corejs2": { - "version": "0.4.5", - "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.4.5.tgz", - "integrity": "sha512-19hwUH5FKl49JEsvyTcoHakh6BE0wgXLLptIyKZ3PijHc/Ci521wygORCUCCred+E/twuqRyAkE02BAWPmsHOg==", + "version": "0.4.11", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.4.11.tgz", + "integrity": "sha512-sMEJ27L0gRHShOh5G54uAAPaiCOygY/5ratXuiyb2G46FmlSpc9eFCzYVyDiPxfNbwzA7mYahmjQc5q+CZQ09Q==", "dev": true, "dependencies": { "@babel/compat-data": "^7.22.6", - "@babel/helper-define-polyfill-provider": "^0.4.2", + "@babel/helper-define-polyfill-provider": "^0.6.2", "semver": "^6.3.1" }, "peerDependencies": { @@ -3898,60 +4518,63 @@ } }, "node_modules/babel-plugin-polyfill-corejs3": { - "version": "0.8.3", - "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.8.3.tgz", - "integrity": "sha512-z41XaniZL26WLrvjy7soabMXrfPWARN25PZoriDEiLMxAp50AUW3t35BGQUMg5xK3UrpVTtagIDklxYa+MhiNA==", + "version": "0.10.6", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.10.6.tgz", + "integrity": "sha512-b37+KR2i/khY5sKmWNVQAnitvquQbNdWy6lJdsr0kmquCKEEUgMKK4SboVM3HtfnZilfjr4MMQ7vY58FVWDtIA==", "dev": true, "dependencies": { - "@babel/helper-define-polyfill-provider": "^0.4.2", - "core-js-compat": "^3.31.0" + "@babel/helper-define-polyfill-provider": "^0.6.2", + "core-js-compat": "^3.38.0" }, "peerDependencies": { "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0" } }, "node_modules/babel-plugin-polyfill-regenerator": { - "version": "0.5.2", - "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.5.2.tgz", - "integrity": "sha512-tAlOptU0Xj34V1Y2PNTL4Y0FOJMDB6bZmoW39FeCQIhigGLkqu3Fj6uiXpxIf6Ij274ENdYx64y6Au+ZKlb1IA==", + "version": "0.6.2", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.6.2.tgz", + "integrity": "sha512-2R25rQZWP63nGwaAswvDazbPXfrM3HwVoBXK6HcqeKrSrL/JqcC/rDcf95l4r7LXLyxDXc8uQDa064GubtCABg==", "dev": true, "dependencies": { - "@babel/helper-define-polyfill-provider": "^0.4.2" + "@babel/helper-define-polyfill-provider": "^0.6.2" }, "peerDependencies": { "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0" } }, "node_modules/babel-preset-current-node-syntax": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/babel-preset-current-node-syntax/-/babel-preset-current-node-syntax-1.0.1.tgz", - "integrity": "sha512-M7LQ0bxarkxQoN+vz5aJPsLBn77n8QgTFmo8WK0/44auK2xlCXrYcUxHFxgU7qW5Yzw/CjmLRK2uJzaCd7LvqQ==", + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/babel-preset-current-node-syntax/-/babel-preset-current-node-syntax-1.1.0.tgz", + "integrity": "sha512-ldYss8SbBlWva1bs28q78Ju5Zq1F+8BrqBZZ0VFhLBvhh6lCpC2o3gDJi/5DRLs9FgYZCnmPYIVFU4lRXCkyUw==", "dev": true, "dependencies": { "@babel/plugin-syntax-async-generators": "^7.8.4", "@babel/plugin-syntax-bigint": "^7.8.3", - "@babel/plugin-syntax-class-properties": "^7.8.3", - "@babel/plugin-syntax-import-meta": "^7.8.3", + "@babel/plugin-syntax-class-properties": "^7.12.13", + "@babel/plugin-syntax-class-static-block": "^7.14.5", + "@babel/plugin-syntax-import-attributes": "^7.24.7", + "@babel/plugin-syntax-import-meta": "^7.10.4", "@babel/plugin-syntax-json-strings": "^7.8.3", - "@babel/plugin-syntax-logical-assignment-operators": "^7.8.3", + "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4", "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3", - "@babel/plugin-syntax-numeric-separator": "^7.8.3", + "@babel/plugin-syntax-numeric-separator": "^7.10.4", "@babel/plugin-syntax-object-rest-spread": "^7.8.3", "@babel/plugin-syntax-optional-catch-binding": "^7.8.3", "@babel/plugin-syntax-optional-chaining": "^7.8.3", - "@babel/plugin-syntax-top-level-await": "^7.8.3" + "@babel/plugin-syntax-private-property-in-object": "^7.14.5", + "@babel/plugin-syntax-top-level-await": "^7.14.5" }, "peerDependencies": { "@babel/core": "^7.0.0" } }, "node_modules/babel-preset-jest": { - "version": "29.5.0", - "resolved": "https://registry.npmjs.org/babel-preset-jest/-/babel-preset-jest-29.5.0.tgz", - "integrity": "sha512-JOMloxOqdiBSxMAzjRaH023/vvcaSaec49zvg+2LmNsktC7ei39LTJGw02J+9uUtTZUq6xbLyJ4dxe9sSmIuAg==", + "version": "29.6.3", + "resolved": "https://registry.npmjs.org/babel-preset-jest/-/babel-preset-jest-29.6.3.tgz", + "integrity": "sha512-0B3bhxR6snWXJZtR/RliHTDPRgn1sNHOR0yVtq/IiQFyuOVjFS+wuio/R4gSNkyYmKmJB4wGZv2NZanmKmTnNA==", "dev": true, "dependencies": { - "babel-plugin-jest-hoist": "^29.5.0", + "babel-plugin-jest-hoist": "^29.6.3", "babel-preset-current-node-syntax": "^1.0.0" }, "engines": { @@ -3968,12 +4591,15 @@ "dev": true }, "node_modules/binary-extensions": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz", - "integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==", + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.3.0.tgz", + "integrity": "sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw==", "dev": true, "engines": { "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/boxen": { @@ -4059,6 +4685,12 @@ "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", "dev": true }, + "node_modules/boxen/node_modules/emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "dev": true + }, "node_modules/boxen/node_modules/has-flag": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", @@ -4068,6 +4700,20 @@ "node": ">=8" } }, + "node_modules/boxen/node_modules/string-width": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "dev": true, + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=8" + } + }, "node_modules/boxen/node_modules/supports-color": { "version": "7.2.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", @@ -4092,6 +4738,23 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/boxen/node_modules/wrap-ansi": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", + "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", + "dev": true, + "dependencies": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + } + }, "node_modules/brace-expansion": { "version": "1.1.11", "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", @@ -4103,12 +4766,12 @@ } }, "node_modules/braces": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", - "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.3.tgz", + "integrity": "sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==", "dev": true, "dependencies": { - "fill-range": "^7.0.1" + "fill-range": "^7.1.1" }, "engines": { "node": ">=8" @@ -4127,9 +4790,9 @@ } }, "node_modules/browserslist": { - "version": "4.21.10", - "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.21.10.tgz", - "integrity": "sha512-bipEBdZfVH5/pwrvqc+Ub0kUPVfGUhlKxbvfD+z1BDnPEO/X98ruXGA1WP5ASpAFKan7Qr6j736IacbZQuAlKQ==", + "version": "4.23.3", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.23.3.tgz", + "integrity": "sha512-btwCFJVjI4YWDNfau8RhZ+B1Q/VLoUITrm3RlP6y1tYGWIOa+InuYiRGXUBXo8nA1qKmHMyLB/iVQg5TT4eFoA==", "dev": true, "funding": [ { @@ -4146,10 +4809,10 @@ } ], "dependencies": { - "caniuse-lite": "^1.0.30001517", - "electron-to-chromium": "^1.4.477", - "node-releases": "^2.0.13", - "update-browserslist-db": "^1.0.11" + "caniuse-lite": "^1.0.30001646", + "electron-to-chromium": "^1.5.4", + "node-releases": "^2.0.18", + "update-browserslist-db": "^1.1.0" }, "bin": { "browserslist": "cli.js" @@ -4185,59 +4848,17 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/builtins": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/builtins/-/builtins-5.0.1.tgz", - "integrity": "sha512-qwVpFEHNfhYJIzNRBvd2C1kyo6jz3ZSMPyyuR47OPdiKWlbYnZNyDWuyR175qDnAJLiCo5fBBqPb3RiXgWlkOQ==", - "dev": true, - "dependencies": { - "semver": "^7.0.0" - } - }, - "node_modules/builtins/node_modules/lru-cache": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", - "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", - "dev": true, - "dependencies": { - "yallist": "^4.0.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/builtins/node_modules/semver": { - "version": "7.5.4", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz", - "integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==", - "dev": true, - "dependencies": { - "lru-cache": "^6.0.0" - }, - "bin": { - "semver": "bin/semver.js" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/builtins/node_modules/yallist": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", - "dev": true - }, "node_modules/cacache": { - "version": "17.1.3", - "resolved": "https://registry.npmjs.org/cacache/-/cacache-17.1.3.tgz", - "integrity": "sha512-jAdjGxmPxZh0IipMdR7fK/4sDSrHMLUV0+GvVUsjwyGNKHsh79kW/otg+GkbXwl6Uzvy9wsvHOX4nUoWldeZMg==", + "version": "17.1.4", + "resolved": "https://registry.npmjs.org/cacache/-/cacache-17.1.4.tgz", + "integrity": "sha512-/aJwG2l3ZMJ1xNAnqbMpA40of9dj/pIH3QfiuQSqjfPJF747VR0J/bHn+/KdNnHKc6XQcWt/AfRSBft82W1d2A==", "dev": true, "dependencies": { "@npmcli/fs": "^3.1.0", "fs-minipass": "^3.0.0", "glob": "^10.2.2", "lru-cache": "^7.7.1", - "minipass": "^5.0.0", + "minipass": "^7.0.3", "minipass-collect": "^1.0.2", "minipass-flush": "^1.0.5", "minipass-pipeline": "^1.2.4", @@ -4250,37 +4871,6 @@ "node": "^14.17.0 || ^16.13.0 || >=18.0.0" } }, - "node_modules/cacache/node_modules/brace-expansion": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", - "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", - "dev": true, - "dependencies": { - "balanced-match": "^1.0.0" - } - }, - "node_modules/cacache/node_modules/glob": { - "version": "10.3.3", - "resolved": "https://registry.npmjs.org/glob/-/glob-10.3.3.tgz", - "integrity": "sha512-92vPiMb/iqpmEgsOoIDvTjc50wf9CCCvMzsi6W0JLPeUKE8TWP1a73PgqSrqy7iAZxaSD1YdzU7QZR5LF51MJw==", - "dev": true, - "dependencies": { - "foreground-child": "^3.1.0", - "jackspeak": "^2.0.3", - "minimatch": "^9.0.1", - "minipass": "^5.0.0 || ^6.0.2 || ^7.0.0", - "path-scurry": "^1.10.1" - }, - "bin": { - "glob": "dist/cjs/src/bin.js" - }, - "engines": { - "node": ">=16 || 14 >=14.17" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, "node_modules/cacache/node_modules/lru-cache": { "version": "7.18.3", "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-7.18.3.tgz", @@ -4290,21 +4880,6 @@ "node": ">=12" } }, - "node_modules/cacache/node_modules/minimatch": { - "version": "9.0.3", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.3.tgz", - "integrity": "sha512-RHiac9mvaRw0x3AYRgDC1CxAP7HTcNrrECeA8YYJeWnpo+2Q5CegtZjaotWTWxDG3UeGA1coE05iH1mPjT/2mg==", - "dev": true, - "dependencies": { - "brace-expansion": "^2.0.1" - }, - "engines": { - "node": ">=16 || 14 >=14.17" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, "node_modules/callsites": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", @@ -4324,9 +4899,9 @@ } }, "node_modules/caniuse-lite": { - "version": "1.0.30001519", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001519.tgz", - "integrity": "sha512-0QHgqR+Jv4bxHMp8kZ1Kn8CH55OikjKJ6JmKkZYP1F3D7w+lnFXF70nG5eNfsZS89jadi5Ywy5UCSKLAglIRkg==", + "version": "1.0.30001655", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001655.tgz", + "integrity": "sha512-jRGVy3iSGO5Uutn2owlb5gR6qsGngTw9ZTb4ali9f3glshcNmJ2noam4Mo9zia5P9Dk3jNNydy7vQjuE5dQmfg==", "dev": true, "funding": [ { @@ -4367,16 +4942,10 @@ } }, "node_modules/chokidar": { - "version": "3.5.3", - "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz", - "integrity": "sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==", + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.6.0.tgz", + "integrity": "sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==", "dev": true, - "funding": [ - { - "type": "individual", - "url": "https://paulmillr.com/funding/" - } - ], "dependencies": { "anymatch": "~3.1.2", "braces": "~3.0.2", @@ -4389,6 +4958,9 @@ "engines": { "node": ">= 8.10.0" }, + "funding": { + "url": "https://paulmillr.com/funding/" + }, "optionalDependencies": { "fsevents": "~2.3.2" } @@ -4415,9 +4987,9 @@ } }, "node_modules/ci-info": { - "version": "3.8.0", - "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-3.8.0.tgz", - "integrity": "sha512-eXTggHWSooYhq49F2opQhuHWgzucfF2YgODK4e1566GQs5BIfP30B0oenwBJHfWxAs2fyPB1s7Mg949zLf61Yw==", + "version": "3.9.0", + "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-3.9.0.tgz", + "integrity": "sha512-NIxF55hv4nSqQswkAeiOi1r83xy8JldOFDTWiug55KBu9Jnblncd2U6ViHmYgHf01TPZS77NJBhBMKdWj9HQMQ==", "dev": true, "funding": [ { @@ -4430,9 +5002,9 @@ } }, "node_modules/cjs-module-lexer": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/cjs-module-lexer/-/cjs-module-lexer-1.2.3.tgz", - "integrity": "sha512-0TNiGstbQmCFwt4akjjBg5pLRTSyj/PkWQ1ZoO2zntmg9yLqSRxwEa4iCfQLGjqhiqBfOJa7W/E8wfGrTDmlZQ==", + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/cjs-module-lexer/-/cjs-module-lexer-1.4.0.tgz", + "integrity": "sha512-N1NGmowPlGBLsOZLPvm48StN04V4YvQRL0i6b7ctrVY3epjP/ct7hFLOItz6pDIvRjwpfPxi52a2UWV2ziir8g==", "dev": true }, "node_modules/clean-stack": { @@ -4470,6 +5042,76 @@ "node": ">=12" } }, + "node_modules/cliui/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/cliui/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/cliui/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "node_modules/cliui/node_modules/emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "dev": true + }, + "node_modules/cliui/node_modules/string-width": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "dev": true, + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/cliui/node_modules/wrap-ansi": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", + "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", + "dev": true, + "dependencies": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + } + }, "node_modules/co": { "version": "4.6.0", "resolved": "https://registry.npmjs.org/co/-/co-4.6.0.tgz", @@ -4546,33 +5188,124 @@ "integrity": "sha512-ty/fTekppD2fIwRvnZAVdeOiGd1c7YXEixbgJTNzqcxJWKQnjJ/V1bNEEE6hygpM3WjwHFUVK6HTjWSzV4a8sQ==", "dev": true }, - "node_modules/convert-source-map": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.9.0.tgz", - "integrity": "sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A==", + "node_modules/convert-source-map": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-2.0.0.tgz", + "integrity": "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==", + "dev": true + }, + "node_modules/core-js": { + "version": "3.32.0", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.32.0.tgz", + "integrity": "sha512-rd4rYZNlF3WuoYuRIDEmbR/ga9CeuWX9U05umAvgrrZoHY4Z++cp/xwPQMvUpBB4Ag6J8KfD80G0zwCyaSxDww==", + "hasInstallScript": true, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/core-js" + } + }, + "node_modules/core-js-compat": { + "version": "3.38.1", + "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.38.1.tgz", + "integrity": "sha512-JRH6gfXxGmrzF3tZ57lFx97YARxCXPaMzPo6jELZhv88pBH5VXpQ+y0znKGlFnzuaihqhLbefxSJxWJMPtfDzw==", + "dev": true, + "dependencies": { + "browserslist": "^4.23.3" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/core-js" + } + }, + "node_modules/create-jest": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/create-jest/-/create-jest-29.7.0.tgz", + "integrity": "sha512-Adz2bdH0Vq3F53KEMJOoftQFutWCukm6J24wbPWRO4k1kMY7gS7ds/uoJkNuV8wDCtWWnuwGcJwpWcih+zEW1Q==", + "dev": true, + "dependencies": { + "@jest/types": "^29.6.3", + "chalk": "^4.0.0", + "exit": "^0.1.2", + "graceful-fs": "^4.2.9", + "jest-config": "^29.7.0", + "jest-util": "^29.7.0", + "prompts": "^2.0.1" + }, + "bin": { + "create-jest": "bin/create-jest.js" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/create-jest/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/create-jest/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/create-jest/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/create-jest/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", "dev": true }, - "node_modules/core-js": { - "version": "3.32.0", - "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.32.0.tgz", - "integrity": "sha512-rd4rYZNlF3WuoYuRIDEmbR/ga9CeuWX9U05umAvgrrZoHY4Z++cp/xwPQMvUpBB4Ag6J8KfD80G0zwCyaSxDww==", - "hasInstallScript": true, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/core-js" + "node_modules/create-jest/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true, + "engines": { + "node": ">=8" } }, - "node_modules/core-js-compat": { - "version": "3.32.0", - "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.32.0.tgz", - "integrity": "sha512-7a9a3D1k4UCVKnLhrgALyFcP7YCsLOQIxPd0dKjf/6GuPcgyiGP70ewWdCGrSK7evyhymi0qO4EqCmSJofDeYw==", + "node_modules/create-jest/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", "dev": true, "dependencies": { - "browserslist": "^4.21.9" + "has-flag": "^4.0.0" }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/core-js" + "engines": { + "node": ">=8" } }, "node_modules/cross-spawn": { @@ -4590,9 +5323,9 @@ } }, "node_modules/debug": { - "version": "4.3.4", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", - "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", + "version": "4.3.6", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.6.tgz", + "integrity": "sha512-O/09Bd4Z1fBrU4VzkhFqVgpPzaGbw6Sm9FEkBT1A/YBXQFGuuSxa1dN2nxgxS34JmKXqYx8CZAwEVoJFImUXIg==", "dev": true, "dependencies": { "ms": "2.1.2" @@ -4607,9 +5340,9 @@ } }, "node_modules/dedent": { - "version": "1.5.1", - "resolved": "https://registry.npmjs.org/dedent/-/dedent-1.5.1.tgz", - "integrity": "sha512-+LxW+KLWxu3HW3M2w2ympwtqPrqYRzU8fqi6Fhd18fBALe15blJPI/I4+UHveMVG6lJqB4JNd4UG0S5cnVHwIg==", + "version": "1.5.3", + "resolved": "https://registry.npmjs.org/dedent/-/dedent-1.5.3.tgz", + "integrity": "sha512-NHQtfOOW68WD8lgypbLA5oT+Bt0xXJhiYvoR6SmmNXZfpzOGXwdKWmcwG8N7PwVVWV3eF/68nmD9BaJSsTBhyQ==", "dev": true, "peerDependencies": { "babel-plugin-macros": "^3.1.0" @@ -4641,15 +5374,6 @@ "integrity": "sha512-bd2L678uiWATM6m5Z1VzNCErI3jiGzt6HGY8OVICs40JQq/HALfbyNJmp0UDakEY4pMMaN0Ly5om/B1VI/+xfQ==", "dev": true }, - "node_modules/depd": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz", - "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==", - "dev": true, - "engines": { - "node": ">= 0.8" - } - }, "node_modules/detect-newline": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/detect-newline/-/detect-newline-3.1.0.tgz", @@ -4660,9 +5384,9 @@ } }, "node_modules/diff-sequences": { - "version": "29.4.3", - "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-29.4.3.tgz", - "integrity": "sha512-ofrBgwpPhCD85kMKtE9RYFFq6OC1A89oW2vvgWZNCwxrUpRUILopY7lsYyMDSjc8g6U6aiO0Qubg6r4Wgt5ZnA==", + "version": "29.6.3", + "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-29.6.3.tgz", + "integrity": "sha512-EjePK1srD3P08o2j4f0ExnylqRs5B9tJjcp9t1krH2qRi8CCdsYfwe9JgSLurFBWwq4uOlipzfk5fHNvwFKr8Q==", "dev": true, "engines": { "node": "^14.15.0 || ^16.10.0 || >=18.0.0" @@ -4693,9 +5417,9 @@ "dev": true }, "node_modules/electron-to-chromium": { - "version": "1.4.482", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.482.tgz", - "integrity": "sha512-h+UqpfmEr1Qkk0zp7ej/jid7CXoq4m4QzW6wNTb0ELJ/BZCpA4wgUylBIMGCe621tnr4l5VmoHjdoSx2lbnNJA==", + "version": "1.5.13", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.13.tgz", + "integrity": "sha512-lbBcvtIJ4J6sS4tb5TLp1b4LyfCdMkwStzXPyAgVgTRAsep4bvrAGaBOP7ZJtQMNJpSQ9SqG4brWOroNaQtm7Q==", "dev": true }, "node_modules/email-addresses": { @@ -4717,9 +5441,9 @@ } }, "node_modules/emoji-regex": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", - "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "version": "9.2.2", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz", + "integrity": "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==", "dev": true }, "node_modules/encoding": { @@ -4773,9 +5497,9 @@ } }, "node_modules/escalade": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz", - "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==", + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.2.0.tgz", + "integrity": "sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==", "dev": true, "engines": { "node": ">=6" @@ -4791,40 +5515,37 @@ } }, "node_modules/eslint": { - "version": "8.46.0", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.46.0.tgz", - "integrity": "sha512-cIO74PvbW0qU8e0mIvk5IV3ToWdCq5FYG6gWPHHkx6gNdjlbAYvtfHmlCMXxjcoVaIdwy/IAt3+mDkZkfvb2Dg==", + "version": "9.9.1", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-9.9.1.tgz", + "integrity": "sha512-dHvhrbfr4xFQ9/dq+jcVneZMyRYLjggWjk6RVsIiHsP8Rz6yZ8LvZ//iU4TrZF+SXWG+JkNF2OyiZRvzgRDqMg==", "dev": true, "dependencies": { "@eslint-community/eslint-utils": "^4.2.0", - "@eslint-community/regexpp": "^4.6.1", - "@eslint/eslintrc": "^2.1.1", - "@eslint/js": "^8.46.0", - "@humanwhocodes/config-array": "^0.11.10", + "@eslint-community/regexpp": "^4.11.0", + "@eslint/config-array": "^0.18.0", + "@eslint/eslintrc": "^3.1.0", + "@eslint/js": "9.9.1", "@humanwhocodes/module-importer": "^1.0.1", + "@humanwhocodes/retry": "^0.3.0", "@nodelib/fs.walk": "^1.2.8", "ajv": "^6.12.4", "chalk": "^4.0.0", "cross-spawn": "^7.0.2", "debug": "^4.3.2", - "doctrine": "^3.0.0", "escape-string-regexp": "^4.0.0", - "eslint-scope": "^7.2.2", - "eslint-visitor-keys": "^3.4.2", - "espree": "^9.6.1", - "esquery": "^1.4.2", + "eslint-scope": "^8.0.2", + "eslint-visitor-keys": "^4.0.0", + "espree": "^10.1.0", + "esquery": "^1.5.0", "esutils": "^2.0.2", "fast-deep-equal": "^3.1.3", - "file-entry-cache": "^6.0.1", + "file-entry-cache": "^8.0.0", "find-up": "^5.0.0", "glob-parent": "^6.0.2", - "globals": "^13.19.0", - "graphemer": "^1.4.0", "ignore": "^5.2.0", "imurmurhash": "^0.1.4", "is-glob": "^4.0.0", "is-path-inside": "^3.0.3", - "js-yaml": "^4.1.0", "json-stable-stringify-without-jsonify": "^1.0.1", "levn": "^0.4.1", "lodash.merge": "^4.6.2", @@ -4838,10 +5559,18 @@ "eslint": "bin/eslint.js" }, "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" }, "funding": { - "url": "https://opencollective.com/eslint" + "url": "https://eslint.org/donate" + }, + "peerDependencies": { + "jiti": "*" + }, + "peerDependenciesMeta": { + "jiti": { + "optional": true + } } }, "node_modules/eslint-scope": { @@ -4928,28 +5657,28 @@ } }, "node_modules/eslint/node_modules/eslint-scope": { - "version": "7.2.2", - "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.2.2.tgz", - "integrity": "sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg==", + "version": "8.0.2", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-8.0.2.tgz", + "integrity": "sha512-6E4xmrTw5wtxnLA5wYL3WDfhZ/1bUBGOXV0zQvVRDOtrR8D0p6W7fs3JweNYhwRYeGvd/1CKX2se0/2s7Q/nJA==", "dev": true, "dependencies": { "esrecurse": "^4.3.0", "estraverse": "^5.2.0" }, "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" }, "funding": { "url": "https://opencollective.com/eslint" } }, "node_modules/eslint/node_modules/eslint-visitor-keys": { - "version": "3.4.2", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.2.tgz", - "integrity": "sha512-8drBzUEyZ2llkpCA67iYrgEssKDUu68V8ChqqOfFupIaG/LCVPUT+CoGJpT77zJprs4T/W7p07LP7zAIMuweVw==", + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-4.0.0.tgz", + "integrity": "sha512-OtIRv/2GyiF6o/d8K7MYKKbXrOUBIK6SfkIRM4Z0dY3w+LiQ0vy3F57m0Z71bjbyeiWFiHJ8brqnmE6H6/jEuw==", "dev": true, "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" }, "funding": { "url": "https://opencollective.com/eslint" @@ -4964,21 +5693,6 @@ "node": ">=4.0" } }, - "node_modules/eslint/node_modules/globals": { - "version": "13.20.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-13.20.0.tgz", - "integrity": "sha512-Qg5QtVkCy/kv3FUSlu4ukeZDVf9ee0iXLAUYX13gbR17bnejFTzr4iS9bY7kwCf1NztRNm1t91fjOiyx4CSwPQ==", - "dev": true, - "dependencies": { - "type-fest": "^0.20.2" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, "node_modules/eslint/node_modules/has-flag": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", @@ -5000,42 +5714,30 @@ "node": ">=8" } }, - "node_modules/eslint/node_modules/type-fest": { - "version": "0.20.2", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz", - "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==", - "dev": true, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, "node_modules/espree": { - "version": "9.6.1", - "resolved": "https://registry.npmjs.org/espree/-/espree-9.6.1.tgz", - "integrity": "sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ==", + "version": "10.1.0", + "resolved": "https://registry.npmjs.org/espree/-/espree-10.1.0.tgz", + "integrity": "sha512-M1M6CpiE6ffoigIOWYO9UDP8TMUw9kqb21tf+08IgDYjCsOvCuDt4jQcZmoYxx+w7zlKw9/N0KXfto+I8/FrXA==", "dev": true, "dependencies": { - "acorn": "^8.9.0", + "acorn": "^8.12.0", "acorn-jsx": "^5.3.2", - "eslint-visitor-keys": "^3.4.1" + "eslint-visitor-keys": "^4.0.0" }, "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" }, "funding": { "url": "https://opencollective.com/eslint" } }, "node_modules/espree/node_modules/eslint-visitor-keys": { - "version": "3.4.2", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.2.tgz", - "integrity": "sha512-8drBzUEyZ2llkpCA67iYrgEssKDUu68V8ChqqOfFupIaG/LCVPUT+CoGJpT77zJprs4T/W7p07LP7zAIMuweVw==", + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-4.0.0.tgz", + "integrity": "sha512-OtIRv/2GyiF6o/d8K7MYKKbXrOUBIK6SfkIRM4Z0dY3w+LiQ0vy3F57m0Z71bjbyeiWFiHJ8brqnmE6H6/jEuw==", "dev": true, "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" }, "funding": { "url": "https://opencollective.com/eslint" @@ -5055,9 +5757,9 @@ } }, "node_modules/esquery": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.5.0.tgz", - "integrity": "sha512-YQLXUplAwJgCydQ78IMJywZCceoqk1oH01OERdSAJc/7U2AylwjhSCLDEtqwg811idIS/9fIU5GjG73IgjKMVg==", + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.6.0.tgz", + "integrity": "sha512-ca9pw9fomFcKPvFLXhBKUK90ZvGibiGOvRJNbjljY7s7uq/5YO4BOzcYtJqExdx99rF6aAcnRxHmcUHcz6sQsg==", "dev": true, "dependencies": { "estraverse": "^5.1.0" @@ -5143,6 +5845,12 @@ "url": "https://github.com/sindresorhus/execa?sponsor=1" } }, + "node_modules/execa/node_modules/signal-exit": { + "version": "3.0.7", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", + "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==", + "dev": true + }, "node_modules/exit": { "version": "0.1.2", "resolved": "https://registry.npmjs.org/exit/-/exit-0.1.2.tgz", @@ -5153,17 +5861,16 @@ } }, "node_modules/expect": { - "version": "29.6.2", - "resolved": "https://registry.npmjs.org/expect/-/expect-29.6.2.tgz", - "integrity": "sha512-iAErsLxJ8C+S02QbLAwgSGSezLQK+XXRDt8IuFXFpwCNw2ECmzZSmjKcCaFVp5VRMk+WAvz6h6jokzEzBFZEuA==", + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/expect/-/expect-29.7.0.tgz", + "integrity": "sha512-2Zks0hf1VLFYI1kbh0I5jP3KHHyCHpkfyHBzsSXRFgl/Bg9mWYfMW8oD+PdMPlEwy5HNsR9JutYy6pMeOh61nw==", "dev": true, "dependencies": { - "@jest/expect-utils": "^29.6.2", - "@types/node": "*", - "jest-get-type": "^29.4.3", - "jest-matcher-utils": "^29.6.2", - "jest-message-util": "^29.6.2", - "jest-util": "^29.6.2" + "@jest/expect-utils": "^29.7.0", + "jest-get-type": "^29.6.3", + "jest-matcher-utils": "^29.7.0", + "jest-message-util": "^29.7.0", + "jest-util": "^29.7.0" }, "engines": { "node": "^14.15.0 || ^16.10.0 || >=18.0.0" @@ -5194,9 +5901,9 @@ "dev": true }, "node_modules/fastq": { - "version": "1.15.0", - "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.15.0.tgz", - "integrity": "sha512-wBrocU2LCXXa+lWBt8RoIRD89Fi8OdABODa/kEnyeyjS5aZO5/GNvI5sEINADqP/h8M29UHTHUb53sUu5Ihqdw==", + "version": "1.17.1", + "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.17.1.tgz", + "integrity": "sha512-sRVD3lWVIXWg6By68ZN7vho9a1pQcN/WBFaAAsDDFzlJjvoGx0P8z7V1t72grFJfJhu3YPZBuu25f7Kaw2jN1w==", "dev": true, "dependencies": { "reusify": "^1.0.4" @@ -5212,15 +5919,15 @@ } }, "node_modules/file-entry-cache": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-6.0.1.tgz", - "integrity": "sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==", + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-8.0.0.tgz", + "integrity": "sha512-XXTUwCvisa5oacNGRP9SfNtYBNAMi+RPwBFmblZEF7N7swHYQS6/Zfk7SRwx4D5j3CH211YNRco1DEMNVfZCnQ==", "dev": true, "dependencies": { - "flat-cache": "^3.0.4" + "flat-cache": "^4.0.0" }, "engines": { - "node": "^10.12.0 || >=12.0.0" + "node": ">=16.0.0" } }, "node_modules/filename-reserved-regex": { @@ -5259,9 +5966,9 @@ } }, "node_modules/fill-range": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", - "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.1.1.tgz", + "integrity": "sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==", "dev": true, "dependencies": { "to-regex-range": "^5.0.1" @@ -5304,28 +6011,28 @@ } }, "node_modules/flat-cache": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-3.0.4.tgz", - "integrity": "sha512-dm9s5Pw7Jc0GvMYbshN6zchCA9RgQlzzEZX3vylR9IqFfS8XciblUXOKfW6SiuJ0e13eDYZoZV5wdrev7P3Nwg==", + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-4.0.1.tgz", + "integrity": "sha512-f7ccFPK3SXFHpx15UIGyRJ/FJQctuKZ0zVuN3frBo4HnK3cay9VEW0R6yPYFHC0AgqhukPzKjq22t5DmAyqGyw==", "dev": true, "dependencies": { - "flatted": "^3.1.0", - "rimraf": "^3.0.2" + "flatted": "^3.2.9", + "keyv": "^4.5.4" }, "engines": { - "node": "^10.12.0 || >=12.0.0" + "node": ">=16" } }, "node_modules/flatted": { - "version": "3.2.7", - "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.2.7.tgz", - "integrity": "sha512-5nqDSxl8nn5BSNxyR3n4I6eDmbolI6WT+QqR547RwxQapgjQBmtktdP+HTBb/a/zLsbzERTONyUB5pefh5TtjQ==", + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.3.1.tgz", + "integrity": "sha512-X8cqMLLie7KsNUDSdzeN8FYK9rEt4Dt67OsG/DNGnYTSDBG4uFAJFBnUeiV+zCVAvwFy56IjM9sH51jVaEhNxw==", "dev": true }, "node_modules/foreground-child": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/foreground-child/-/foreground-child-3.1.1.tgz", - "integrity": "sha512-TMKDUnIte6bfb5nWv7V/caI169OHgvwjb7V4WkeUvbQQdjr5rWKqHFiKWb/fcOwB+CzBT+qbWjvj+DVwRskpIg==", + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/foreground-child/-/foreground-child-3.3.0.tgz", + "integrity": "sha512-Ld2g8rrAyMYFXBhEqMz8ZAHBi4J4uS1i/CxGMDnjyFWddMXLVcDp051DZfu+t7+ab7Wv6SMqpWmyFIj5UbfFvg==", "dev": true, "dependencies": { "cross-spawn": "^7.0.0", @@ -5338,39 +6045,27 @@ "url": "https://github.com/sponsors/isaacs" } }, - "node_modules/foreground-child/node_modules/signal-exit": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-4.1.0.tgz", - "integrity": "sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==", - "dev": true, - "engines": { - "node": ">=14" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, "node_modules/fs-extra": { - "version": "8.1.0", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-8.1.0.tgz", - "integrity": "sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==", + "version": "11.2.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-11.2.0.tgz", + "integrity": "sha512-PmDi3uwK5nFuXh7XDTlVnS17xJS7vW36is2+w3xcv8SVxiB4NyATf4ctkVY5bkSjX0Y4nbvZCq1/EjtEyr9ktw==", "dev": true, "dependencies": { "graceful-fs": "^4.2.0", - "jsonfile": "^4.0.0", - "universalify": "^0.1.0" + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" }, "engines": { - "node": ">=6 <7 || >=8" + "node": ">=14.14" } }, "node_modules/fs-minipass": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/fs-minipass/-/fs-minipass-3.0.2.tgz", - "integrity": "sha512-2GAfyfoaCDRrM6jaOS3UsBts8yJ55VioXdWcOL7dK9zdAuKT71+WBA4ifnNYqVjYv+4SsPxjK0JT4yIIn4cA/g==", + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/fs-minipass/-/fs-minipass-3.0.3.tgz", + "integrity": "sha512-XUBA9XClHbnJWSfBzjkm6RvPsyg3sryZt06BEQoXcF7EK/xpGaQYJgQKDJSUH5SGZ76Y7pFx1QBnXz09rU5Fbw==", "dev": true, "dependencies": { - "minipass": "^5.0.0" + "minipass": "^7.0.3" }, "engines": { "node": "^14.17.0 || ^16.13.0 || >=18.0.0" @@ -5383,9 +6078,9 @@ "dev": true }, "node_modules/fsevents": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz", - "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==", + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz", + "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==", "dev": true, "hasInstallScript": true, "optional": true, @@ -5397,15 +6092,19 @@ } }, "node_modules/function-bind": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", - "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==", - "dev": true + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz", + "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==", + "dev": true, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } }, "node_modules/gauge": { "version": "4.0.4", "resolved": "https://registry.npmjs.org/gauge/-/gauge-4.0.4.tgz", "integrity": "sha512-f9m+BEN5jkg6a0fZjleidjN51VE1X+mPFQ2DJ0uv1V39oCLCbsGe6yjbBnp7eK7z/+GAon99a3nHuqbuuthyPg==", + "deprecated": "This package is no longer supported.", "dev": true, "dependencies": { "aproba": "^1.0.3 || ^2.0.0", @@ -5421,6 +6120,32 @@ "node": "^12.13.0 || ^14.15.0 || >=16.0.0" } }, + "node_modules/gauge/node_modules/emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "dev": true + }, + "node_modules/gauge/node_modules/signal-exit": { + "version": "3.0.7", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", + "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==", + "dev": true + }, + "node_modules/gauge/node_modules/string-width": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "dev": true, + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=8" + } + }, "node_modules/gensync": { "version": "1.0.0-beta.2", "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz", @@ -5461,17 +6186,17 @@ } }, "node_modules/gh-pages": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/gh-pages/-/gh-pages-5.0.0.tgz", - "integrity": "sha512-Nqp1SjkPIB94Xw/3yYNTUL+G2dxlhjvv1zeN/4kMC1jfViTEqhtVz/Ba1zSXHuvXCN9ADNS1dN4r5/J/nZWEQQ==", + "version": "6.1.1", + "resolved": "https://registry.npmjs.org/gh-pages/-/gh-pages-6.1.1.tgz", + "integrity": "sha512-upnohfjBwN5hBP9w2dPE7HO5JJTHzSGMV1JrLrHvNuqmjoYHg6TBrCcnEoorjG/e0ejbuvnwyKMdTyM40PEByw==", "dev": true, "dependencies": { "async": "^3.2.4", - "commander": "^2.18.0", + "commander": "^11.0.0", "email-addresses": "^5.0.0", "filenamify": "^4.3.0", "find-cache-dir": "^3.3.1", - "fs-extra": "^8.1.0", + "fs-extra": "^11.1.1", "globby": "^6.1.0" }, "bin": { @@ -5483,25 +6208,29 @@ } }, "node_modules/gh-pages/node_modules/commander": { - "version": "2.20.3", - "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", - "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==", - "dev": true + "version": "11.1.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-11.1.0.tgz", + "integrity": "sha512-yPVavfyCcRhmorC7rWlkHn15b4wDVgVmBA7kV4QVBsF7kv/9TKJAbAXVTxvTnwP8HHKjRCJDClKbciiYS7p0DQ==", + "dev": true, + "engines": { + "node": ">=16" + } }, "node_modules/glob": { - "version": "8.1.0", - "resolved": "https://registry.npmjs.org/glob/-/glob-8.1.0.tgz", - "integrity": "sha512-r8hpEjiQEYlF2QU0df3dS+nxxSIreXQS1qRhMJM0Q5NDdR386C7jb7Hwwod8Fgiuex+k0GFjgft18yvxm5XoCQ==", + "version": "10.4.5", + "resolved": "https://registry.npmjs.org/glob/-/glob-10.4.5.tgz", + "integrity": "sha512-7Bv8RF0k6xjo7d4A/PxYLbUCfb6c+Vpd2/mB2yRDlew7Jb5hEXiCD9ibfO7wpk8i4sevK6DFny9h7EYbM3/sHg==", "dev": true, "dependencies": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^5.0.1", - "once": "^1.3.0" + "foreground-child": "^3.1.0", + "jackspeak": "^3.1.2", + "minimatch": "^9.0.4", + "minipass": "^7.1.2", + "package-json-from-dist": "^1.0.0", + "path-scurry": "^1.11.1" }, - "engines": { - "node": ">=12" + "bin": { + "glob": "dist/esm/bin.mjs" }, "funding": { "url": "https://github.com/sponsors/isaacs" @@ -5529,15 +6258,18 @@ } }, "node_modules/glob/node_modules/minimatch": { - "version": "5.1.6", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.6.tgz", - "integrity": "sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==", + "version": "9.0.5", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.5.tgz", + "integrity": "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==", "dev": true, "dependencies": { "brace-expansion": "^2.0.1" }, "engines": { - "node": ">=10" + "node": ">=16 || 14 >=14.17" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" } }, "node_modules/globals": { @@ -5569,6 +6301,7 @@ "version": "7.2.3", "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "deprecated": "Glob versions prior to v9 are no longer supported", "dev": true, "dependencies": { "fs.realpath": "^1.0.0", @@ -5618,18 +6351,6 @@ "integrity": "sha512-jtD6YG370ZCIi/9GTaJKQxWTZD045+4R4hTk/x1UyoqadyJ9x9CgSi1RlVDQF8U2sxLLSnFkCaMihqljHIWgMg==", "dev": true }, - "node_modules/has": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", - "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", - "dev": true, - "dependencies": { - "function-bind": "^1.1.1" - }, - "engines": { - "node": ">= 0.4.0" - } - }, "node_modules/has-flag": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", @@ -5645,6 +6366,18 @@ "integrity": "sha512-8Rf9Y83NBReMnx0gFzA8JImQACstCYWUplepDa9xprwwtmgEZUF0h/i5xSA625zB/I37EtrswSST6OXxwaaIJQ==", "dev": true }, + "node_modules/hasown": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.2.tgz", + "integrity": "sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==", + "dev": true, + "dependencies": { + "function-bind": "^1.1.2" + }, + "engines": { + "node": ">= 0.4" + } + }, "node_modules/hosted-git-info": { "version": "6.1.1", "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-6.1.1.tgz", @@ -5737,18 +6470,18 @@ } }, "node_modules/ignore": { - "version": "5.2.4", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.2.4.tgz", - "integrity": "sha512-MAb38BcSbH0eHNBxn7ql2NH/kX33OkB3lZ1BNdh7ENeRChHTYsTvWrMubiIAMNS2llXEEgZ1MUOBtXChP3kaFQ==", + "version": "5.3.2", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.3.2.tgz", + "integrity": "sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g==", "dev": true, "engines": { "node": ">= 4" } }, "node_modules/ignore-walk": { - "version": "6.0.3", - "resolved": "https://registry.npmjs.org/ignore-walk/-/ignore-walk-6.0.3.tgz", - "integrity": "sha512-C7FfFoTA+bI10qfeydT8aZbvr91vAEU+2W5BZUlzPec47oNb07SsOfwYrtxuvOYdUApPP/Qlh4DtAO51Ekk2QA==", + "version": "6.0.5", + "resolved": "https://registry.npmjs.org/ignore-walk/-/ignore-walk-6.0.5.tgz", + "integrity": "sha512-VuuG0wCnjhnylG1ABXT3dAuIpTNDs/G8jlpmwXY03fXoXy/8ZK8/T+hMzt8L4WnrLCJgdybqgPagnF/f97cg3A==", "dev": true, "dependencies": { "minimatch": "^9.0.0" @@ -5767,9 +6500,9 @@ } }, "node_modules/ignore-walk/node_modules/minimatch": { - "version": "9.0.3", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.3.tgz", - "integrity": "sha512-RHiac9mvaRw0x3AYRgDC1CxAP7HTcNrrECeA8YYJeWnpo+2Q5CegtZjaotWTWxDG3UeGA1coE05iH1mPjT/2mg==", + "version": "9.0.5", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.5.tgz", + "integrity": "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==", "dev": true, "dependencies": { "brace-expansion": "^2.0.1" @@ -5798,9 +6531,9 @@ } }, "node_modules/import-local": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/import-local/-/import-local-3.1.0.tgz", - "integrity": "sha512-ASB07uLtnDs1o6EHjKpX34BKYDSqnFerfTOJL2HvMqF70LnxpjkzDB8J44oT9pu4AMPkQwf8jl6szgvNd2tRIg==", + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/import-local/-/import-local-3.2.0.tgz", + "integrity": "sha512-2SPlun1JUPWoM6t3F0dw0FkCF/jWY8kttcY4f599GLTSjh2OCuuhdTkJQsEcZzBqbXZGKMK2OqW1oZsjtf/gQA==", "dev": true, "dependencies": { "pkg-dir": "^4.2.0", @@ -5834,10 +6567,17 @@ "node": ">=8" } }, + "node_modules/infer-owner": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/infer-owner/-/infer-owner-1.0.4.tgz", + "integrity": "sha512-IClj+Xz94+d7irH5qRyfJonOdfTzuDaifE6ZPWfx0N0+/ATZCbuTPq2prFl526urkQd90WyUKIh1DfBQ2hMz9A==", + "dev": true + }, "node_modules/inflight": { "version": "1.0.6", "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", + "deprecated": "This module is not supported, and leaks memory. Do not use it. Check out lru-cache if you want a good and tested way to coalesce async requests by a key value, which is much more comprehensive and powerful.", "dev": true, "dependencies": { "once": "^1.3.0", @@ -5850,11 +6590,18 @@ "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", "dev": true }, - "node_modules/ip": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ip/-/ip-2.0.0.tgz", - "integrity": "sha512-WKa+XuLG1A1R0UWhl2+1XQSi+fZWMsYKffMZTTYsiZaUD8k2yDAj5atimTUD2TZkyCkNEeYE5NhFZmupOGtjYQ==", - "dev": true + "node_modules/ip-address": { + "version": "9.0.5", + "resolved": "https://registry.npmjs.org/ip-address/-/ip-address-9.0.5.tgz", + "integrity": "sha512-zHtQzGojZXTwZTHQqra+ETKd4Sn3vgi7uBmlPoXVWZqYvuKmtI0l/VZTjqGmJY9x88GGOaZ9+G9ES8hC4T4X8g==", + "dev": true, + "dependencies": { + "jsbn": "1.1.0", + "sprintf-js": "^1.1.3" + }, + "engines": { + "node": ">= 12" + } }, "node_modules/is-arrayish": { "version": "0.2.1", @@ -5890,12 +6637,15 @@ } }, "node_modules/is-core-module": { - "version": "2.12.1", - "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.12.1.tgz", - "integrity": "sha512-Q4ZuBAe2FUsKtyQJoQHlvP8OvBERxO3jEmy1I7hcRXcJBGGHFh/aJBswbXuS9sgrDH2QUO8ilkwNPHvHMd8clg==", + "version": "2.15.1", + "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.15.1.tgz", + "integrity": "sha512-z0vtXSwucUJtANQWldhbtbt7BnL0vxiFjIdDLAatwhDYty2bad6s+rijD6Ri4YuYJubLzIJLUidCh09e1djEVQ==", "dev": true, "dependencies": { - "has": "^1.0.3" + "hasown": "^2.0.2" + }, + "engines": { + "node": ">= 0.4" }, "funding": { "url": "https://github.com/sponsors/ljharb" @@ -6005,28 +6755,40 @@ "dev": true }, "node_modules/istanbul-lib-coverage": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-3.2.0.tgz", - "integrity": "sha512-eOeJ5BHCmHYvQK7xt9GkdHuzuCGS1Y6g9Gvnx3Ym33fz/HpLRYxiS0wHNr+m/MBC8B647Xt608vCDEvhl9c6Mw==", + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-3.2.2.tgz", + "integrity": "sha512-O8dpsF+r0WV/8MNRKfnmrtCWhuKjxrq2w+jpzBL5UZKTi2LeVWnWOmWRxFlesJONmc+wLAGvKQZEOanko0LFTg==", "dev": true, "engines": { "node": ">=8" } }, "node_modules/istanbul-lib-instrument": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-5.2.1.tgz", - "integrity": "sha512-pzqtp31nLv/XFOzXGuvhCb8qhjmTVo5vjVk19XE4CRlSWz0KoeJ3bw9XsA7nOp9YBf4qHjwBxkDzKcME/J29Yg==", + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-6.0.3.tgz", + "integrity": "sha512-Vtgk7L/R2JHyyGW07spoFlB8/lpjiOLTjMdms6AFMraYt3BaJauod/NGrfnVG/y4Ix1JEuMRPDPEj2ua+zz1/Q==", "dev": true, "dependencies": { - "@babel/core": "^7.12.3", - "@babel/parser": "^7.14.7", - "@istanbuljs/schema": "^0.1.2", + "@babel/core": "^7.23.9", + "@babel/parser": "^7.23.9", + "@istanbuljs/schema": "^0.1.3", "istanbul-lib-coverage": "^3.2.0", - "semver": "^6.3.0" + "semver": "^7.5.4" }, "engines": { - "node": ">=8" + "node": ">=10" + } + }, + "node_modules/istanbul-lib-instrument/node_modules/semver": { + "version": "7.6.3", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.3.tgz", + "integrity": "sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==", + "dev": true, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" } }, "node_modules/istanbul-lib-report": { @@ -6052,18 +6814,6 @@ "node": ">=8" } }, - "node_modules/istanbul-lib-report/node_modules/lru-cache": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", - "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", - "dev": true, - "dependencies": { - "yallist": "^4.0.0" - }, - "engines": { - "node": ">=10" - } - }, "node_modules/istanbul-lib-report/node_modules/make-dir": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-4.0.0.tgz", @@ -6080,13 +6830,10 @@ } }, "node_modules/istanbul-lib-report/node_modules/semver": { - "version": "7.5.4", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz", - "integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==", + "version": "7.6.3", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.3.tgz", + "integrity": "sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==", "dev": true, - "dependencies": { - "lru-cache": "^6.0.0" - }, "bin": { "semver": "bin/semver.js" }, @@ -6106,12 +6853,6 @@ "node": ">=8" } }, - "node_modules/istanbul-lib-report/node_modules/yallist": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", - "dev": true - }, "node_modules/istanbul-lib-source-maps": { "version": "4.0.1", "resolved": "https://registry.npmjs.org/istanbul-lib-source-maps/-/istanbul-lib-source-maps-4.0.1.tgz", @@ -6127,9 +6868,9 @@ } }, "node_modules/istanbul-reports": { - "version": "3.1.6", - "resolved": "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-3.1.6.tgz", - "integrity": "sha512-TLgnMkKg3iTDsQ9PbPTdpfAK2DzjF9mqUG7RMgcQl8oFjad8ob4laGxv5XV5U9MAfx8D6tSJiUyuAwzLicaxlg==", + "version": "3.1.7", + "resolved": "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-3.1.7.tgz", + "integrity": "sha512-BewmUXImeuRk2YY0PVbxgKAysvhRPUQE0h5QRM++nVWyubKGV0l8qQ5op8+B2DOmwSe63Jivj0BjkPQVf8fP5g==", "dev": true, "dependencies": { "html-escaper": "^2.0.0", @@ -6140,16 +6881,13 @@ } }, "node_modules/jackspeak": { - "version": "2.2.2", - "resolved": "https://registry.npmjs.org/jackspeak/-/jackspeak-2.2.2.tgz", - "integrity": "sha512-mgNtVv4vUuaKA97yxUHoA3+FkuhtxkjdXEWOyB/N76fjy0FjezEt34oy3epBtvCvS+7DyKwqCFWx/oJLV5+kCg==", + "version": "3.4.3", + "resolved": "https://registry.npmjs.org/jackspeak/-/jackspeak-3.4.3.tgz", + "integrity": "sha512-OGlZQpz2yfahA/Rd1Y8Cd9SIEsqvXkLVoSw/cgwhnhFMDbsQFeZYoJJ7bIZBS9BcamUW96asq/npPWugM+RQBw==", "dev": true, "dependencies": { "@isaacs/cliui": "^8.0.2" }, - "engines": { - "node": ">=14" - }, "funding": { "url": "https://github.com/sponsors/isaacs" }, @@ -6158,15 +6896,15 @@ } }, "node_modules/jest": { - "version": "29.6.2", - "resolved": "https://registry.npmjs.org/jest/-/jest-29.6.2.tgz", - "integrity": "sha512-8eQg2mqFbaP7CwfsTpCxQ+sHzw1WuNWL5UUvjnWP4hx2riGz9fPSzYOaU5q8/GqWn1TfgZIVTqYJygbGbWAANg==", + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest/-/jest-29.7.0.tgz", + "integrity": "sha512-NIy3oAFp9shda19hy4HK0HRTWKtPJmGdnvywu01nOqNC2vZg+Z+fvJDxpMQA88eb2I9EcafcdjYgsDthnYTvGw==", "dev": true, "dependencies": { - "@jest/core": "^29.6.2", - "@jest/types": "^29.6.1", + "@jest/core": "^29.7.0", + "@jest/types": "^29.6.3", "import-local": "^3.0.2", - "jest-cli": "^29.6.2" + "jest-cli": "^29.7.0" }, "bin": { "jest": "bin/jest.js" @@ -6184,12 +6922,13 @@ } }, "node_modules/jest-changed-files": { - "version": "29.5.0", - "resolved": "https://registry.npmjs.org/jest-changed-files/-/jest-changed-files-29.5.0.tgz", - "integrity": "sha512-IFG34IUMUaNBIxjQXF/iu7g6EcdMrGRRxaUSw92I/2g2YC6vCdTltl4nHvt7Ci5nSJwXIkCu8Ka1DKF+X7Z1Ag==", + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-changed-files/-/jest-changed-files-29.7.0.tgz", + "integrity": "sha512-fEArFiwf1BpQ+4bXSprcDc3/x4HSzL4al2tozwVpDFpsxALjLYdyiIK4e5Vz66GQJIbXJ82+35PtysofptNX2w==", "dev": true, "dependencies": { "execa": "^5.0.0", + "jest-util": "^29.7.0", "p-limit": "^3.1.0" }, "engines": { @@ -6197,28 +6936,28 @@ } }, "node_modules/jest-circus": { - "version": "29.6.2", - "resolved": "https://registry.npmjs.org/jest-circus/-/jest-circus-29.6.2.tgz", - "integrity": "sha512-G9mN+KOYIUe2sB9kpJkO9Bk18J4dTDArNFPwoZ7WKHKel55eKIS/u2bLthxgojwlf9NLCVQfgzM/WsOVvoC6Fw==", + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-circus/-/jest-circus-29.7.0.tgz", + "integrity": "sha512-3E1nCMgipcTkCocFwM90XXQab9bS+GMsjdpmPrlelaxwD93Ad8iVEjX/vvHPdLPnFf+L40u+5+iutRdA1N9myw==", "dev": true, "dependencies": { - "@jest/environment": "^29.6.2", - "@jest/expect": "^29.6.2", - "@jest/test-result": "^29.6.2", - "@jest/types": "^29.6.1", + "@jest/environment": "^29.7.0", + "@jest/expect": "^29.7.0", + "@jest/test-result": "^29.7.0", + "@jest/types": "^29.6.3", "@types/node": "*", "chalk": "^4.0.0", "co": "^4.6.0", "dedent": "^1.0.0", "is-generator-fn": "^2.0.0", - "jest-each": "^29.6.2", - "jest-matcher-utils": "^29.6.2", - "jest-message-util": "^29.6.2", - "jest-runtime": "^29.6.2", - "jest-snapshot": "^29.6.2", - "jest-util": "^29.6.2", + "jest-each": "^29.7.0", + "jest-matcher-utils": "^29.7.0", + "jest-message-util": "^29.7.0", + "jest-runtime": "^29.7.0", + "jest-snapshot": "^29.7.0", + "jest-util": "^29.7.0", "p-limit": "^3.1.0", - "pretty-format": "^29.6.2", + "pretty-format": "^29.7.0", "pure-rand": "^6.0.0", "slash": "^3.0.0", "stack-utils": "^2.0.3" @@ -6298,22 +7037,21 @@ } }, "node_modules/jest-cli": { - "version": "29.6.2", - "resolved": "https://registry.npmjs.org/jest-cli/-/jest-cli-29.6.2.tgz", - "integrity": "sha512-TT6O247v6dCEX2UGHGyflMpxhnrL0DNqP2fRTKYm3nJJpCTfXX3GCMQPGFjXDoj0i5/Blp3jriKXFgdfmbYB6Q==", + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-cli/-/jest-cli-29.7.0.tgz", + "integrity": "sha512-OVVobw2IubN/GSYsxETi+gOe7Ka59EFMR/twOU3Jb2GnKKeMGJB5SGUUrEz3SFVmJASUdZUzy83sLNNQ2gZslg==", "dev": true, "dependencies": { - "@jest/core": "^29.6.2", - "@jest/test-result": "^29.6.2", - "@jest/types": "^29.6.1", + "@jest/core": "^29.7.0", + "@jest/test-result": "^29.7.0", + "@jest/types": "^29.6.3", "chalk": "^4.0.0", + "create-jest": "^29.7.0", "exit": "^0.1.2", - "graceful-fs": "^4.2.9", "import-local": "^3.0.2", - "jest-config": "^29.6.2", - "jest-util": "^29.6.2", - "jest-validate": "^29.6.2", - "prompts": "^2.0.1", + "jest-config": "^29.7.0", + "jest-util": "^29.7.0", + "jest-validate": "^29.7.0", "yargs": "^17.3.1" }, "bin": { @@ -6402,31 +7140,31 @@ } }, "node_modules/jest-config": { - "version": "29.6.2", - "resolved": "https://registry.npmjs.org/jest-config/-/jest-config-29.6.2.tgz", - "integrity": "sha512-VxwFOC8gkiJbuodG9CPtMRjBUNZEHxwfQXmIudSTzFWxaci3Qub1ddTRbFNQlD/zUeaifLndh/eDccFX4wCMQw==", + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-config/-/jest-config-29.7.0.tgz", + "integrity": "sha512-uXbpfeQ7R6TZBqI3/TxCU4q4ttk3u0PJeC+E0zbfSoSjq6bJ7buBPxzQPL0ifrkY4DNu4JUdk0ImlBUYi840eQ==", "dev": true, "dependencies": { "@babel/core": "^7.11.6", - "@jest/test-sequencer": "^29.6.2", - "@jest/types": "^29.6.1", - "babel-jest": "^29.6.2", + "@jest/test-sequencer": "^29.7.0", + "@jest/types": "^29.6.3", + "babel-jest": "^29.7.0", "chalk": "^4.0.0", "ci-info": "^3.2.0", "deepmerge": "^4.2.2", "glob": "^7.1.3", "graceful-fs": "^4.2.9", - "jest-circus": "^29.6.2", - "jest-environment-node": "^29.6.2", - "jest-get-type": "^29.4.3", - "jest-regex-util": "^29.4.3", - "jest-resolve": "^29.6.2", - "jest-runner": "^29.6.2", - "jest-util": "^29.6.2", - "jest-validate": "^29.6.2", + "jest-circus": "^29.7.0", + "jest-environment-node": "^29.7.0", + "jest-get-type": "^29.6.3", + "jest-regex-util": "^29.6.3", + "jest-resolve": "^29.7.0", + "jest-runner": "^29.7.0", + "jest-util": "^29.7.0", + "jest-validate": "^29.7.0", "micromatch": "^4.0.4", "parse-json": "^5.2.0", - "pretty-format": "^29.6.2", + "pretty-format": "^29.7.0", "slash": "^3.0.0", "strip-json-comments": "^3.1.1" }, @@ -6499,6 +7237,7 @@ "version": "7.2.3", "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "deprecated": "Glob versions prior to v9 are no longer supported", "dev": true, "dependencies": { "fs.realpath": "^1.0.0", @@ -6537,15 +7276,15 @@ } }, "node_modules/jest-diff": { - "version": "29.6.2", - "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-29.6.2.tgz", - "integrity": "sha512-t+ST7CB9GX5F2xKwhwCf0TAR17uNDiaPTZnVymP9lw0lssa9vG+AFyDZoeIHStU3WowFFwT+ky+er0WVl2yGhA==", + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-29.7.0.tgz", + "integrity": "sha512-LMIgiIrhigmPrs03JHpxUh2yISK3vLFPkAodPeo0+BuF7wA2FoQbkEg1u8gBYBThncu7e1oEDUfIXVuTqLRUjw==", "dev": true, "dependencies": { "chalk": "^4.0.0", - "diff-sequences": "^29.4.3", - "jest-get-type": "^29.4.3", - "pretty-format": "^29.6.2" + "diff-sequences": "^29.6.3", + "jest-get-type": "^29.6.3", + "pretty-format": "^29.7.0" }, "engines": { "node": "^14.15.0 || ^16.10.0 || >=18.0.0" @@ -6622,9 +7361,9 @@ } }, "node_modules/jest-docblock": { - "version": "29.4.3", - "resolved": "https://registry.npmjs.org/jest-docblock/-/jest-docblock-29.4.3.tgz", - "integrity": "sha512-fzdTftThczeSD9nZ3fzA/4KkHtnmllawWrXO69vtI+L9WjEIuXWs4AmyME7lN5hU7dB0sHhuPfcKofRsUb/2Fg==", + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-docblock/-/jest-docblock-29.7.0.tgz", + "integrity": "sha512-q617Auw3A612guyaFgsbFeYpNP5t2aoUNLwBUbc/0kD1R4t9ixDbyFTHd1nok4epoVFpr7PmeWHrhvuV3XaJ4g==", "dev": true, "dependencies": { "detect-newline": "^3.0.0" @@ -6634,16 +7373,16 @@ } }, "node_modules/jest-each": { - "version": "29.6.2", - "resolved": "https://registry.npmjs.org/jest-each/-/jest-each-29.6.2.tgz", - "integrity": "sha512-MsrsqA0Ia99cIpABBc3izS1ZYoYfhIy0NNWqPSE0YXbQjwchyt6B1HD2khzyPe1WiJA7hbxXy77ZoUQxn8UlSw==", + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-each/-/jest-each-29.7.0.tgz", + "integrity": "sha512-gns+Er14+ZrEoC5fhOfYCY1LOHHr0TI+rQUHZS8Ttw2l7gl+80eHc/gFf2Ktkw0+SIACDTeWvpFcv3B04VembQ==", "dev": true, "dependencies": { - "@jest/types": "^29.6.1", + "@jest/types": "^29.6.3", "chalk": "^4.0.0", - "jest-get-type": "^29.4.3", - "jest-util": "^29.6.2", - "pretty-format": "^29.6.2" + "jest-get-type": "^29.6.3", + "jest-util": "^29.7.0", + "pretty-format": "^29.7.0" }, "engines": { "node": "^14.15.0 || ^16.10.0 || >=18.0.0" @@ -6720,46 +7459,46 @@ } }, "node_modules/jest-environment-node": { - "version": "29.6.2", - "resolved": "https://registry.npmjs.org/jest-environment-node/-/jest-environment-node-29.6.2.tgz", - "integrity": "sha512-YGdFeZ3T9a+/612c5mTQIllvWkddPbYcN2v95ZH24oWMbGA4GGS2XdIF92QMhUhvrjjuQWYgUGW2zawOyH63MQ==", + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-environment-node/-/jest-environment-node-29.7.0.tgz", + "integrity": "sha512-DOSwCRqXirTOyheM+4d5YZOrWcdu0LNZ87ewUoywbcb2XR4wKgqiG8vNeYwhjFMbEkfju7wx2GYH0P2gevGvFw==", "dev": true, "dependencies": { - "@jest/environment": "^29.6.2", - "@jest/fake-timers": "^29.6.2", - "@jest/types": "^29.6.1", + "@jest/environment": "^29.7.0", + "@jest/fake-timers": "^29.7.0", + "@jest/types": "^29.6.3", "@types/node": "*", - "jest-mock": "^29.6.2", - "jest-util": "^29.6.2" + "jest-mock": "^29.7.0", + "jest-util": "^29.7.0" }, "engines": { "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, "node_modules/jest-get-type": { - "version": "29.4.3", - "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-29.4.3.tgz", - "integrity": "sha512-J5Xez4nRRMjk8emnTpWrlkyb9pfRQQanDrvWHhsR1+VUfbwxi30eVcZFlcdGInRibU4G5LwHXpI7IRHU0CY+gg==", + "version": "29.6.3", + "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-29.6.3.tgz", + "integrity": "sha512-zrteXnqYxfQh7l5FHyL38jL39di8H8rHoecLH3JNxH3BwOrBsNeabdap5e0I23lD4HHI8W5VFBZqG4Eaq5LNcw==", "dev": true, "engines": { "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, "node_modules/jest-haste-map": { - "version": "29.6.2", - "resolved": "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-29.6.2.tgz", - "integrity": "sha512-+51XleTDAAysvU8rT6AnS1ZJ+WHVNqhj1k6nTvN2PYP+HjU3kqlaKQ1Lnw3NYW3bm2r8vq82X0Z1nDDHZMzHVA==", + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-29.7.0.tgz", + "integrity": "sha512-fP8u2pyfqx0K1rGn1R9pyE0/KTn+G7PxktWidOBTqFPLYX0b9ksaMFkhK5vrS3DVun09pckLdlx90QthlW7AmA==", "dev": true, "dependencies": { - "@jest/types": "^29.6.1", + "@jest/types": "^29.6.3", "@types/graceful-fs": "^4.1.3", "@types/node": "*", "anymatch": "^3.0.3", "fb-watchman": "^2.0.0", "graceful-fs": "^4.2.9", - "jest-regex-util": "^29.4.3", - "jest-util": "^29.6.2", - "jest-worker": "^29.6.2", + "jest-regex-util": "^29.6.3", + "jest-util": "^29.7.0", + "jest-worker": "^29.7.0", "micromatch": "^4.0.4", "walker": "^1.0.8" }, @@ -6771,28 +7510,28 @@ } }, "node_modules/jest-leak-detector": { - "version": "29.6.2", - "resolved": "https://registry.npmjs.org/jest-leak-detector/-/jest-leak-detector-29.6.2.tgz", - "integrity": "sha512-aNqYhfp5uYEO3tdWMb2bfWv6f0b4I0LOxVRpnRLAeque2uqOVVMLh6khnTcE2qJ5wAKop0HcreM1btoysD6bPQ==", + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-leak-detector/-/jest-leak-detector-29.7.0.tgz", + "integrity": "sha512-kYA8IJcSYtST2BY9I+SMC32nDpBT3J2NvWJx8+JCuCdl/CR1I4EKUJROiP8XtCcxqgTTBGJNdbB1A8XRKbTetw==", "dev": true, "dependencies": { - "jest-get-type": "^29.4.3", - "pretty-format": "^29.6.2" + "jest-get-type": "^29.6.3", + "pretty-format": "^29.7.0" }, "engines": { "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, "node_modules/jest-matcher-utils": { - "version": "29.6.2", - "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-29.6.2.tgz", - "integrity": "sha512-4LiAk3hSSobtomeIAzFTe+N8kL6z0JtF3n6I4fg29iIW7tt99R7ZcIFW34QkX+DuVrf+CUe6wuVOpm7ZKFJzZQ==", + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-29.7.0.tgz", + "integrity": "sha512-sBkD+Xi9DtcChsI3L3u0+N0opgPYnCRPtGcQYrgXmR+hmt/fYfWAL0xRXYU8eWOdfuLgBe0YCW3AFtnRLagq/g==", "dev": true, "dependencies": { "chalk": "^4.0.0", - "jest-diff": "^29.6.2", - "jest-get-type": "^29.4.3", - "pretty-format": "^29.6.2" + "jest-diff": "^29.7.0", + "jest-get-type": "^29.6.3", + "pretty-format": "^29.7.0" }, "engines": { "node": "^14.15.0 || ^16.10.0 || >=18.0.0" @@ -6869,18 +7608,18 @@ } }, "node_modules/jest-message-util": { - "version": "29.6.2", - "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-29.6.2.tgz", - "integrity": "sha512-vnIGYEjoPSuRqV8W9t+Wow95SDp6KPX2Uf7EoeG9G99J2OVh7OSwpS4B6J0NfpEIpfkBNHlBZpA2rblEuEFhZQ==", + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-29.7.0.tgz", + "integrity": "sha512-GBEV4GRADeP+qtB2+6u61stea8mGcOT4mCtrYISZwfu9/ISHFJ/5zOMXYbpBE9RsS5+Gb63DW4FgmnKJ79Kf6w==", "dev": true, "dependencies": { "@babel/code-frame": "^7.12.13", - "@jest/types": "^29.6.1", + "@jest/types": "^29.6.3", "@types/stack-utils": "^2.0.0", "chalk": "^4.0.0", "graceful-fs": "^4.2.9", "micromatch": "^4.0.4", - "pretty-format": "^29.6.2", + "pretty-format": "^29.7.0", "slash": "^3.0.0", "stack-utils": "^2.0.3" }, @@ -6959,14 +7698,14 @@ } }, "node_modules/jest-mock": { - "version": "29.6.2", - "resolved": "https://registry.npmjs.org/jest-mock/-/jest-mock-29.6.2.tgz", - "integrity": "sha512-hoSv3lb3byzdKfwqCuT6uTscan471GUECqgNYykg6ob0yiAw3zYc7OrPnI9Qv8Wwoa4lC7AZ9hyS4AiIx5U2zg==", + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-mock/-/jest-mock-29.7.0.tgz", + "integrity": "sha512-ITOMZn+UkYS4ZFh83xYAOzWStloNzJFO2s8DWrE4lhtGD+AorgnbkiKERe4wQVBydIGPx059g6riW5Btp6Llnw==", "dev": true, "dependencies": { - "@jest/types": "^29.6.1", + "@jest/types": "^29.6.3", "@types/node": "*", - "jest-util": "^29.6.2" + "jest-util": "^29.7.0" }, "engines": { "node": "^14.15.0 || ^16.10.0 || >=18.0.0" @@ -6990,26 +7729,26 @@ } }, "node_modules/jest-regex-util": { - "version": "29.4.3", - "resolved": "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-29.4.3.tgz", - "integrity": "sha512-O4FglZaMmWXbGHSQInfXewIsd1LMn9p3ZXB/6r4FOkyhX2/iP/soMG98jGvk/A3HAN78+5VWcBGO0BJAPRh4kg==", + "version": "29.6.3", + "resolved": "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-29.6.3.tgz", + "integrity": "sha512-KJJBsRCyyLNWCNBOvZyRDnAIfUiRJ8v+hOBQYGn8gDyF3UegwiP4gwRR3/SDa42g1YbVycTidUF3rKjyLFDWbg==", "dev": true, "engines": { "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, "node_modules/jest-resolve": { - "version": "29.6.2", - "resolved": "https://registry.npmjs.org/jest-resolve/-/jest-resolve-29.6.2.tgz", - "integrity": "sha512-G/iQUvZWI5e3SMFssc4ug4dH0aZiZpsDq9o1PtXTV1210Ztyb2+w+ZgQkB3iOiC5SmAEzJBOHWz6Hvrd+QnNPw==", + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-resolve/-/jest-resolve-29.7.0.tgz", + "integrity": "sha512-IOVhZSrg+UvVAshDSDtHyFCCBUl/Q3AAJv8iZ6ZjnZ74xzvwuzLXid9IIIPgTnY62SJjfuupMKZsZQRsCvxEgA==", "dev": true, "dependencies": { "chalk": "^4.0.0", "graceful-fs": "^4.2.9", - "jest-haste-map": "^29.6.2", + "jest-haste-map": "^29.7.0", "jest-pnp-resolver": "^1.2.2", - "jest-util": "^29.6.2", - "jest-validate": "^29.6.2", + "jest-util": "^29.7.0", + "jest-validate": "^29.7.0", "resolve": "^1.20.0", "resolve.exports": "^2.0.0", "slash": "^3.0.0" @@ -7019,13 +7758,13 @@ } }, "node_modules/jest-resolve-dependencies": { - "version": "29.6.2", - "resolved": "https://registry.npmjs.org/jest-resolve-dependencies/-/jest-resolve-dependencies-29.6.2.tgz", - "integrity": "sha512-LGqjDWxg2fuQQm7ypDxduLu/m4+4Lb4gczc13v51VMZbVP5tSBILqVx8qfWcsdP8f0G7aIqByIALDB0R93yL+w==", + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-resolve-dependencies/-/jest-resolve-dependencies-29.7.0.tgz", + "integrity": "sha512-un0zD/6qxJ+S0et7WxeI3H5XSe9lTBBR7bOHCHXkKR6luG5mwDDlIzVQ0V5cZCuoTgEdcdwzTghYkTWfubi+nA==", "dev": true, "dependencies": { - "jest-regex-util": "^29.4.3", - "jest-snapshot": "^29.6.2" + "jest-regex-util": "^29.6.3", + "jest-snapshot": "^29.7.0" }, "engines": { "node": "^14.15.0 || ^16.10.0 || >=18.0.0" @@ -7102,30 +7841,30 @@ } }, "node_modules/jest-runner": { - "version": "29.6.2", - "resolved": "https://registry.npmjs.org/jest-runner/-/jest-runner-29.6.2.tgz", - "integrity": "sha512-wXOT/a0EspYgfMiYHxwGLPCZfC0c38MivAlb2lMEAlwHINKemrttu1uSbcGbfDV31sFaPWnWJPmb2qXM8pqZ4w==", + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-runner/-/jest-runner-29.7.0.tgz", + "integrity": "sha512-fsc4N6cPCAahybGBfTRcq5wFR6fpLznMg47sY5aDpsoejOcVYFb07AHuSnR0liMcPTgBsA3ZJL6kFOjPdoNipQ==", "dev": true, "dependencies": { - "@jest/console": "^29.6.2", - "@jest/environment": "^29.6.2", - "@jest/test-result": "^29.6.2", - "@jest/transform": "^29.6.2", - "@jest/types": "^29.6.1", + "@jest/console": "^29.7.0", + "@jest/environment": "^29.7.0", + "@jest/test-result": "^29.7.0", + "@jest/transform": "^29.7.0", + "@jest/types": "^29.6.3", "@types/node": "*", "chalk": "^4.0.0", "emittery": "^0.13.1", "graceful-fs": "^4.2.9", - "jest-docblock": "^29.4.3", - "jest-environment-node": "^29.6.2", - "jest-haste-map": "^29.6.2", - "jest-leak-detector": "^29.6.2", - "jest-message-util": "^29.6.2", - "jest-resolve": "^29.6.2", - "jest-runtime": "^29.6.2", - "jest-util": "^29.6.2", - "jest-watcher": "^29.6.2", - "jest-worker": "^29.6.2", + "jest-docblock": "^29.7.0", + "jest-environment-node": "^29.7.0", + "jest-haste-map": "^29.7.0", + "jest-leak-detector": "^29.7.0", + "jest-message-util": "^29.7.0", + "jest-resolve": "^29.7.0", + "jest-runtime": "^29.7.0", + "jest-util": "^29.7.0", + "jest-watcher": "^29.7.0", + "jest-worker": "^29.7.0", "p-limit": "^3.1.0", "source-map-support": "0.5.13" }, @@ -7204,31 +7943,31 @@ } }, "node_modules/jest-runtime": { - "version": "29.6.2", - "resolved": "https://registry.npmjs.org/jest-runtime/-/jest-runtime-29.6.2.tgz", - "integrity": "sha512-2X9dqK768KufGJyIeLmIzToDmsN0m7Iek8QNxRSI/2+iPFYHF0jTwlO3ftn7gdKd98G/VQw9XJCk77rbTGZnJg==", - "dev": true, - "dependencies": { - "@jest/environment": "^29.6.2", - "@jest/fake-timers": "^29.6.2", - "@jest/globals": "^29.6.2", - "@jest/source-map": "^29.6.0", - "@jest/test-result": "^29.6.2", - "@jest/transform": "^29.6.2", - "@jest/types": "^29.6.1", + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-runtime/-/jest-runtime-29.7.0.tgz", + "integrity": "sha512-gUnLjgwdGqW7B4LvOIkbKs9WGbn+QLqRQQ9juC6HndeDiezIwhDP+mhMwHWCEcfQ5RUXa6OPnFF8BJh5xegwwQ==", + "dev": true, + "dependencies": { + "@jest/environment": "^29.7.0", + "@jest/fake-timers": "^29.7.0", + "@jest/globals": "^29.7.0", + "@jest/source-map": "^29.6.3", + "@jest/test-result": "^29.7.0", + "@jest/transform": "^29.7.0", + "@jest/types": "^29.6.3", "@types/node": "*", "chalk": "^4.0.0", "cjs-module-lexer": "^1.0.0", "collect-v8-coverage": "^1.0.0", "glob": "^7.1.3", "graceful-fs": "^4.2.9", - "jest-haste-map": "^29.6.2", - "jest-message-util": "^29.6.2", - "jest-mock": "^29.6.2", - "jest-regex-util": "^29.4.3", - "jest-resolve": "^29.6.2", - "jest-snapshot": "^29.6.2", - "jest-util": "^29.6.2", + "jest-haste-map": "^29.7.0", + "jest-message-util": "^29.7.0", + "jest-mock": "^29.7.0", + "jest-regex-util": "^29.6.3", + "jest-resolve": "^29.7.0", + "jest-snapshot": "^29.7.0", + "jest-util": "^29.7.0", "slash": "^3.0.0", "strip-bom": "^4.0.0" }, @@ -7289,6 +8028,7 @@ "version": "7.2.3", "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "deprecated": "Glob versions prior to v9 are no longer supported", "dev": true, "dependencies": { "fs.realpath": "^1.0.0", @@ -7327,9 +8067,9 @@ } }, "node_modules/jest-snapshot": { - "version": "29.6.2", - "resolved": "https://registry.npmjs.org/jest-snapshot/-/jest-snapshot-29.6.2.tgz", - "integrity": "sha512-1OdjqvqmRdGNvWXr/YZHuyhh5DeaLp1p/F8Tht/MrMw4Kr1Uu/j4lRG+iKl1DAqUJDWxtQBMk41Lnf/JETYBRA==", + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-snapshot/-/jest-snapshot-29.7.0.tgz", + "integrity": "sha512-Rm0BMWtxBcioHr1/OX5YCP8Uov4riHvKPknOGs804Zg9JGZgmIBkbtlxJC/7Z4msKYVbIJtfU+tKb8xlYNfdkw==", "dev": true, "dependencies": { "@babel/core": "^7.11.6", @@ -7337,20 +8077,20 @@ "@babel/plugin-syntax-jsx": "^7.7.2", "@babel/plugin-syntax-typescript": "^7.7.2", "@babel/types": "^7.3.3", - "@jest/expect-utils": "^29.6.2", - "@jest/transform": "^29.6.2", - "@jest/types": "^29.6.1", + "@jest/expect-utils": "^29.7.0", + "@jest/transform": "^29.7.0", + "@jest/types": "^29.6.3", "babel-preset-current-node-syntax": "^1.0.0", "chalk": "^4.0.0", - "expect": "^29.6.2", + "expect": "^29.7.0", "graceful-fs": "^4.2.9", - "jest-diff": "^29.6.2", - "jest-get-type": "^29.4.3", - "jest-matcher-utils": "^29.6.2", - "jest-message-util": "^29.6.2", - "jest-util": "^29.6.2", + "jest-diff": "^29.7.0", + "jest-get-type": "^29.6.3", + "jest-matcher-utils": "^29.7.0", + "jest-message-util": "^29.7.0", + "jest-util": "^29.7.0", "natural-compare": "^1.4.0", - "pretty-format": "^29.6.2", + "pretty-format": "^29.7.0", "semver": "^7.5.3" }, "engines": { @@ -7415,26 +8155,11 @@ "node": ">=8" } }, - "node_modules/jest-snapshot/node_modules/lru-cache": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", - "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", - "dev": true, - "dependencies": { - "yallist": "^4.0.0" - }, - "engines": { - "node": ">=10" - } - }, "node_modules/jest-snapshot/node_modules/semver": { - "version": "7.5.4", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz", - "integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==", + "version": "7.6.3", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.3.tgz", + "integrity": "sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==", "dev": true, - "dependencies": { - "lru-cache": "^6.0.0" - }, "bin": { "semver": "bin/semver.js" }, @@ -7454,19 +8179,13 @@ "node": ">=8" } }, - "node_modules/jest-snapshot/node_modules/yallist": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", - "dev": true - }, "node_modules/jest-util": { - "version": "29.6.2", - "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-29.6.2.tgz", - "integrity": "sha512-3eX1qb6L88lJNCFlEADKOkjpXJQyZRiavX1INZ4tRnrBVr2COd3RgcTLyUiEXMNBlDU/cgYq6taUS0fExrWW4w==", + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-29.7.0.tgz", + "integrity": "sha512-z6EbKajIpqGKU56y5KBUgy1dt1ihhQJgWzUlZHArA/+X2ad7Cb5iF+AK1EWVL/Bo7Rz9uurpqw6SiBCefUbCGA==", "dev": true, "dependencies": { - "@jest/types": "^29.6.1", + "@jest/types": "^29.6.3", "@types/node": "*", "chalk": "^4.0.0", "ci-info": "^3.2.0", @@ -7548,17 +8267,17 @@ } }, "node_modules/jest-validate": { - "version": "29.6.2", - "resolved": "https://registry.npmjs.org/jest-validate/-/jest-validate-29.6.2.tgz", - "integrity": "sha512-vGz0yMN5fUFRRbpJDPwxMpgSXW1LDKROHfBopAvDcmD6s+B/s8WJrwi+4bfH4SdInBA5C3P3BI19dBtKzx1Arg==", + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-validate/-/jest-validate-29.7.0.tgz", + "integrity": "sha512-ZB7wHqaRGVw/9hST/OuFUReG7M8vKeq0/J2egIGLdvjHCmYqGARhzXmtgi+gVeZ5uXFF219aOc3Ls2yLg27tkw==", "dev": true, "dependencies": { - "@jest/types": "^29.6.1", + "@jest/types": "^29.6.3", "camelcase": "^6.2.0", "chalk": "^4.0.0", - "jest-get-type": "^29.4.3", + "jest-get-type": "^29.6.3", "leven": "^3.1.0", - "pretty-format": "^29.6.2" + "pretty-format": "^29.7.0" }, "engines": { "node": "^14.15.0 || ^16.10.0 || >=18.0.0" @@ -7647,18 +8366,18 @@ } }, "node_modules/jest-watcher": { - "version": "29.6.2", - "resolved": "https://registry.npmjs.org/jest-watcher/-/jest-watcher-29.6.2.tgz", - "integrity": "sha512-GZitlqkMkhkefjfN/p3SJjrDaxPflqxEAv3/ik10OirZqJGYH5rPiIsgVcfof0Tdqg3shQGdEIxDBx+B4tuLzA==", + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-watcher/-/jest-watcher-29.7.0.tgz", + "integrity": "sha512-49Fg7WXkU3Vl2h6LbLtMQ/HyB6rXSIX7SqvBLQmssRBGN9I0PNvPmAmCWSOY6SOvrjhI/F7/bGAv9RtnsPA03g==", "dev": true, "dependencies": { - "@jest/test-result": "^29.6.2", - "@jest/types": "^29.6.1", + "@jest/test-result": "^29.7.0", + "@jest/types": "^29.6.3", "@types/node": "*", "ansi-escapes": "^4.2.1", "chalk": "^4.0.0", "emittery": "^0.13.1", - "jest-util": "^29.6.2", + "jest-util": "^29.7.0", "string-length": "^4.0.1" }, "engines": { @@ -7736,13 +8455,13 @@ } }, "node_modules/jest-worker": { - "version": "29.6.2", - "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-29.6.2.tgz", - "integrity": "sha512-l3ccBOabTdkng8I/ORCkADz4eSMKejTYv1vB/Z83UiubqhC1oQ5Li6dWCyqOIvSifGjUBxuvxvlm6KGK2DtuAQ==", + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-29.7.0.tgz", + "integrity": "sha512-eIz2msL/EzL9UFTFFx7jBTkeZfku0yUAyZZZmJ93H2TYEiroIx2PQjEXcwYtYl8zXCxb+PAmA2hLIt/6ZEkPHw==", "dev": true, "dependencies": { "@types/node": "*", - "jest-util": "^29.6.2", + "jest-util": "^29.7.0", "merge-stream": "^2.0.0", "supports-color": "^8.0.0" }, @@ -7792,6 +8511,12 @@ "js-yaml": "bin/js-yaml.js" } }, + "node_modules/jsbn": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-1.1.0.tgz", + "integrity": "sha512-4bYVV3aAMtDTTu4+xsDYa6sy9GyJ69/amsu9sYF2zqjiEoZA5xJi3BrfX3uY+/IekIu7MwdObdbDWpoZdBv3/A==", + "dev": true + }, "node_modules/jsesc": { "version": "2.5.2", "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz", @@ -7804,6 +8529,12 @@ "node": ">=4" } }, + "node_modules/json-buffer": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.1.tgz", + "integrity": "sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==", + "dev": true + }, "node_modules/json-parse-even-better-errors": { "version": "2.3.1", "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz", @@ -7835,10 +8566,13 @@ } }, "node_modules/jsonfile": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz", - "integrity": "sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg==", + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz", + "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==", "dev": true, + "dependencies": { + "universalify": "^2.0.0" + }, "optionalDependencies": { "graceful-fs": "^4.1.6" } @@ -7852,6 +8586,15 @@ "node >= 0.2.0" ] }, + "node_modules/keyv": { + "version": "4.5.4", + "resolved": "https://registry.npmjs.org/keyv/-/keyv-4.5.4.tgz", + "integrity": "sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==", + "dev": true, + "dependencies": { + "json-buffer": "3.0.1" + } + }, "node_modules/kleur": { "version": "3.0.3", "resolved": "https://registry.npmjs.org/kleur/-/kleur-3.0.3.tgz", @@ -7950,15 +8693,12 @@ } }, "node_modules/magic-string": { - "version": "0.27.0", - "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.27.0.tgz", - "integrity": "sha512-8UnnX2PeRAPZuN12svgR9j7M1uWMovg/CEnIwIG0LFkXSJJe4PdfUGiTGl8V9bsBHFUtfVINcSyYxd7q+kx9fA==", + "version": "0.30.11", + "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.30.11.tgz", + "integrity": "sha512-+Wri9p0QHMy+545hKww7YAu5NyzF8iomPL/RQazugQ9+Ez4Ic3mERMd8ZTX5rfK944j+560ZJi8iAwgak1Ac7A==", "dev": true, "dependencies": { - "@jridgewell/sourcemap-codec": "^1.4.13" - }, - "engines": { - "node": ">=12" + "@jridgewell/sourcemap-codec": "^1.5.0" } }, "node_modules/make-dir": { @@ -7977,29 +8717,113 @@ } }, "node_modules/make-fetch-happen": { - "version": "11.1.1", - "resolved": "https://registry.npmjs.org/make-fetch-happen/-/make-fetch-happen-11.1.1.tgz", - "integrity": "sha512-rLWS7GCSTcEujjVBs2YqG7Y4643u8ucvCJeSRqiLYhesrDuzeuFIk37xREzAsfQaqzl8b9rNCE4m6J8tvX4Q8w==", + "version": "10.2.1", + "resolved": "https://registry.npmjs.org/make-fetch-happen/-/make-fetch-happen-10.2.1.tgz", + "integrity": "sha512-NgOPbRiaQM10DYXvN3/hhGVI2M5MtITFryzBGxHM5p4wnFxsVCbxkrBrDsk+EZ5OB4jEOT7AjDxtdF+KVEFT7w==", "dev": true, "dependencies": { "agentkeepalive": "^4.2.1", - "cacache": "^17.0.0", - "http-cache-semantics": "^4.1.1", + "cacache": "^16.1.0", + "http-cache-semantics": "^4.1.0", "http-proxy-agent": "^5.0.0", "https-proxy-agent": "^5.0.0", "is-lambda": "^1.0.1", "lru-cache": "^7.7.1", - "minipass": "^5.0.0", - "minipass-fetch": "^3.0.0", + "minipass": "^3.1.6", + "minipass-collect": "^1.0.2", + "minipass-fetch": "^2.0.3", "minipass-flush": "^1.0.5", "minipass-pipeline": "^1.2.4", "negotiator": "^0.6.3", "promise-retry": "^2.0.1", "socks-proxy-agent": "^7.0.0", - "ssri": "^10.0.0" + "ssri": "^9.0.0" }, "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + } + }, + "node_modules/make-fetch-happen/node_modules/@npmcli/fs": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/@npmcli/fs/-/fs-2.1.2.tgz", + "integrity": "sha512-yOJKRvohFOaLqipNtwYB9WugyZKhC/DZC4VYPmpaCzDBrA8YpK3qHZ8/HGscMnE4GqbkLNuVcCnxkeQEdGt6LQ==", + "dev": true, + "dependencies": { + "@gar/promisify": "^1.1.3", + "semver": "^7.3.5" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + } + }, + "node_modules/make-fetch-happen/node_modules/brace-expansion": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", + "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", + "dev": true, + "dependencies": { + "balanced-match": "^1.0.0" + } + }, + "node_modules/make-fetch-happen/node_modules/cacache": { + "version": "16.1.3", + "resolved": "https://registry.npmjs.org/cacache/-/cacache-16.1.3.tgz", + "integrity": "sha512-/+Emcj9DAXxX4cwlLmRI9c166RuL3w30zp4R7Joiv2cQTtTtA+jeuCAjH3ZlGnYS3tKENSrKhAzVVP9GVyzeYQ==", + "dev": true, + "dependencies": { + "@npmcli/fs": "^2.1.0", + "@npmcli/move-file": "^2.0.0", + "chownr": "^2.0.0", + "fs-minipass": "^2.1.0", + "glob": "^8.0.1", + "infer-owner": "^1.0.4", + "lru-cache": "^7.7.1", + "minipass": "^3.1.6", + "minipass-collect": "^1.0.2", + "minipass-flush": "^1.0.5", + "minipass-pipeline": "^1.2.4", + "mkdirp": "^1.0.4", + "p-map": "^4.0.0", + "promise-inflight": "^1.0.1", + "rimraf": "^3.0.2", + "ssri": "^9.0.0", + "tar": "^6.1.11", + "unique-filename": "^2.0.0" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + } + }, + "node_modules/make-fetch-happen/node_modules/fs-minipass": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/fs-minipass/-/fs-minipass-2.1.0.tgz", + "integrity": "sha512-V/JgOLFCS+R6Vcq0slCuaeWEdNC3ouDlJMNIsacH2VtALiu9mV4LPrHc5cDl8k5aw6J8jwgWWpiTo5RYhmIzvg==", + "dev": true, + "dependencies": { + "minipass": "^3.0.0" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/make-fetch-happen/node_modules/glob": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/glob/-/glob-8.1.0.tgz", + "integrity": "sha512-r8hpEjiQEYlF2QU0df3dS+nxxSIreXQS1qRhMJM0Q5NDdR386C7jb7Hwwod8Fgiuex+k0GFjgft18yvxm5XoCQ==", + "deprecated": "Glob versions prior to v9 are no longer supported", + "dev": true, + "dependencies": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^5.0.1", + "once": "^1.3.0" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" } }, "node_modules/make-fetch-happen/node_modules/lru-cache": { @@ -8011,6 +8835,84 @@ "node": ">=12" } }, + "node_modules/make-fetch-happen/node_modules/minimatch": { + "version": "5.1.6", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.6.tgz", + "integrity": "sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==", + "dev": true, + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/make-fetch-happen/node_modules/minipass": { + "version": "3.3.6", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.3.6.tgz", + "integrity": "sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==", + "dev": true, + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/make-fetch-happen/node_modules/semver": { + "version": "7.6.3", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.3.tgz", + "integrity": "sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==", + "dev": true, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/make-fetch-happen/node_modules/ssri": { + "version": "9.0.1", + "resolved": "https://registry.npmjs.org/ssri/-/ssri-9.0.1.tgz", + "integrity": "sha512-o57Wcn66jMQvfHG1FlYbWeZWW/dHZhJXjpIcTfXldXEk5nz5lStPo3mK0OJQfGR3RbZUlbISexbljkJzuEj/8Q==", + "dev": true, + "dependencies": { + "minipass": "^3.1.1" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + } + }, + "node_modules/make-fetch-happen/node_modules/unique-filename": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/unique-filename/-/unique-filename-2.0.1.tgz", + "integrity": "sha512-ODWHtkkdx3IAR+veKxFV+VBkUMcN+FaqzUUd7IZzt+0zhDZFPFxhlqwPF3YQvMHx1TD0tdgYl+kuPnJ8E6ql7A==", + "dev": true, + "dependencies": { + "unique-slug": "^3.0.0" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + } + }, + "node_modules/make-fetch-happen/node_modules/unique-slug": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/unique-slug/-/unique-slug-3.0.0.tgz", + "integrity": "sha512-8EyMynh679x/0gqE9fT9oilG+qEt+ibFyqjuVTsZn1+CMxH+XLlpvr2UZx4nVcCwTpx81nICr2JQFkM+HPLq4w==", + "dev": true, + "dependencies": { + "imurmurhash": "^0.1.4" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + } + }, + "node_modules/make-fetch-happen/node_modules/yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "dev": true + }, "node_modules/makeerror": { "version": "1.0.12", "resolved": "https://registry.npmjs.org/makeerror/-/makeerror-1.0.12.tgz", @@ -8027,12 +8929,12 @@ "dev": true }, "node_modules/micromatch": { - "version": "4.0.5", - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz", - "integrity": "sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==", + "version": "4.0.8", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.8.tgz", + "integrity": "sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==", "dev": true, "dependencies": { - "braces": "^3.0.2", + "braces": "^3.0.3", "picomatch": "^2.3.1" }, "engines": { @@ -8040,15 +8942,15 @@ } }, "node_modules/mime": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/mime/-/mime-3.0.0.tgz", - "integrity": "sha512-jSCU7/VB1loIWBZe14aEYHU/+1UMEHoaO7qxCOVJOw9GgH72VAWppxNcjU+x9a2k3GSIBXNKxXQFqRvvZ7vr3A==", + "version": "2.6.0", + "resolved": "https://registry.npmjs.org/mime/-/mime-2.6.0.tgz", + "integrity": "sha512-USPkMeET31rOMiarsBNIHZKLGgvKc/LrjofAnBlOttf5ajRvqiRA8QsenbcooctK6d6Ts6aqZXBA+XbkKthiQg==", "dev": true, "bin": { "mime": "cli.js" }, "engines": { - "node": ">=10.0.0" + "node": ">=4.0.0" } }, "node_modules/mimic-fn": { @@ -8073,12 +8975,12 @@ } }, "node_modules/minipass": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/minipass/-/minipass-5.0.0.tgz", - "integrity": "sha512-3FnjYuehv9k6ovOEbyOswadCDPX1piCfhV8ncmYtHOjuPwylVWsghTLo7rabjC3Rx5xD4HDx8Wm1xnMF7S5qFQ==", + "version": "7.1.2", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.1.2.tgz", + "integrity": "sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw==", "dev": true, "engines": { - "node": ">=8" + "node": ">=16 || 14 >=14.17" } }, "node_modules/minipass-collect": { @@ -8112,22 +9014,40 @@ "dev": true }, "node_modules/minipass-fetch": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/minipass-fetch/-/minipass-fetch-3.0.3.tgz", - "integrity": "sha512-n5ITsTkDqYkYJZjcRWzZt9qnZKCT7nKCosJhHoj7S7zD+BP4jVbWs+odsniw5TA3E0sLomhTKOKjF86wf11PuQ==", + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/minipass-fetch/-/minipass-fetch-2.1.2.tgz", + "integrity": "sha512-LT49Zi2/WMROHYoqGgdlQIZh8mLPZmOrN2NdJjMXxYe4nkN6FUyuPuOAOedNJDrx0IRGg9+4guZewtp8hE6TxA==", "dev": true, "dependencies": { - "minipass": "^5.0.0", + "minipass": "^3.1.6", "minipass-sized": "^1.0.3", "minizlib": "^2.1.2" }, "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" }, "optionalDependencies": { "encoding": "^0.1.13" } }, + "node_modules/minipass-fetch/node_modules/minipass": { + "version": "3.3.6", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.3.6.tgz", + "integrity": "sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==", + "dev": true, + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/minipass-fetch/node_modules/yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "dev": true + }, "node_modules/minipass-flush": { "version": "1.0.5", "resolved": "https://registry.npmjs.org/minipass-flush/-/minipass-flush-1.0.5.tgz", @@ -8159,9 +9079,9 @@ "dev": true }, "node_modules/minipass-json-stream": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/minipass-json-stream/-/minipass-json-stream-1.0.1.tgz", - "integrity": "sha512-ODqY18UZt/I8k+b7rl2AENgbWE8IDYam+undIJONvigAz8KR5GWblsFTEfQs0WODsjbSXWlm+JHEv8Gr6Tfdbg==", + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/minipass-json-stream/-/minipass-json-stream-1.0.2.tgz", + "integrity": "sha512-myxeeTm57lYs8pH2nxPzmEEg8DGIgW+9mv6D4JZD2pa81I/OBjeU7PtICXV6c9eRGTA5JMDsuIPUZRCyBMYNhg==", "dev": true, "dependencies": { "jsonparse": "^1.3.1", @@ -8311,16 +9231,16 @@ } }, "node_modules/node-gyp": { - "version": "9.4.0", - "resolved": "https://registry.npmjs.org/node-gyp/-/node-gyp-9.4.0.tgz", - "integrity": "sha512-dMXsYP6gc9rRbejLXmTbVRYjAHw7ppswsKyMxuxJxxOHzluIO1rGp9TOQgjFJ+2MCqcOcQTOPB/8Xwhr+7s4Eg==", + "version": "9.4.1", + "resolved": "https://registry.npmjs.org/node-gyp/-/node-gyp-9.4.1.tgz", + "integrity": "sha512-OQkWKbjQKbGkMf/xqI1jjy3oCTgMKJac58G2+bjZb3fza6gW2YrCSdMQYaoTb70crvE//Gngr4f0AgVHmqHvBQ==", "dev": true, "dependencies": { "env-paths": "^2.2.0", "exponential-backoff": "^3.1.1", "glob": "^7.1.4", "graceful-fs": "^4.2.6", - "make-fetch-happen": "^11.0.3", + "make-fetch-happen": "^10.0.3", "nopt": "^6.0.0", "npmlog": "^6.0.0", "rimraf": "^3.0.2", @@ -8339,6 +9259,7 @@ "version": "7.2.3", "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "deprecated": "Glob versions prior to v9 are no longer supported", "dev": true, "dependencies": { "fs.realpath": "^1.0.0", @@ -8355,26 +9276,11 @@ "url": "https://github.com/sponsors/isaacs" } }, - "node_modules/node-gyp/node_modules/lru-cache": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", - "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", - "dev": true, - "dependencies": { - "yallist": "^4.0.0" - }, - "engines": { - "node": ">=10" - } - }, "node_modules/node-gyp/node_modules/semver": { - "version": "7.5.4", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz", - "integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==", + "version": "7.6.3", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.3.tgz", + "integrity": "sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==", "dev": true, - "dependencies": { - "lru-cache": "^6.0.0" - }, "bin": { "semver": "bin/semver.js" }, @@ -8382,12 +9288,6 @@ "node": ">=10" } }, - "node_modules/node-gyp/node_modules/yallist": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", - "dev": true - }, "node_modules/node-int64": { "version": "0.4.0", "resolved": "https://registry.npmjs.org/node-int64/-/node-int64-0.4.0.tgz", @@ -8395,9 +9295,9 @@ "dev": true }, "node_modules/node-releases": { - "version": "2.0.13", - "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.13.tgz", - "integrity": "sha512-uYr7J37ae/ORWdZeQ1xxMJe3NtdmqMC/JZK+geofDrkLUApKRHPd18/TxtBOJ4A0/+uUIliorNrfYV6s1b02eQ==", + "version": "2.0.18", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.18.tgz", + "integrity": "sha512-d9VeXT4SJ7ZeOqGX6R5EM022wpL+eWPooLI+5UpWn2jCT1aosUQEhQP214x33Wkwx3JQMvIm+tIoVOdodFS40g==", "dev": true }, "node_modules/nopt": { @@ -8430,26 +9330,11 @@ "node": "^14.17.0 || ^16.13.0 || >=18.0.0" } }, - "node_modules/normalize-package-data/node_modules/lru-cache": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", - "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", - "dev": true, - "dependencies": { - "yallist": "^4.0.0" - }, - "engines": { - "node": ">=10" - } - }, "node_modules/normalize-package-data/node_modules/semver": { - "version": "7.5.4", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz", - "integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==", + "version": "7.6.3", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.3.tgz", + "integrity": "sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==", "dev": true, - "dependencies": { - "lru-cache": "^6.0.0" - }, "bin": { "semver": "bin/semver.js" }, @@ -8457,12 +9342,6 @@ "node": ">=10" } }, - "node_modules/normalize-package-data/node_modules/yallist": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", - "dev": true - }, "node_modules/normalize-path": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", @@ -8473,9 +9352,9 @@ } }, "node_modules/npm-bundled": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/npm-bundled/-/npm-bundled-3.0.0.tgz", - "integrity": "sha512-Vq0eyEQy+elFpzsKjMss9kxqb9tG3YHg4dsyWuUENuzvSUWe1TCnW/vV9FkhvBk/brEDoDiVd+M1Btosa6ImdQ==", + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/npm-bundled/-/npm-bundled-3.0.1.tgz", + "integrity": "sha512-+AvaheE/ww1JEwRHOrn4WHNzOxGtVp+adrg2AeZS/7KuxGUYFuBta98wYpfHBbJp6Tg6j1NKSEVHNcfZzJHQwQ==", "dev": true, "dependencies": { "npm-normalize-package-bin": "^3.0.0" @@ -8485,9 +9364,9 @@ } }, "node_modules/npm-install-checks": { - "version": "6.1.1", - "resolved": "https://registry.npmjs.org/npm-install-checks/-/npm-install-checks-6.1.1.tgz", - "integrity": "sha512-dH3GmQL4vsPtld59cOn8uY0iOqRmqKvV+DLGwNXV/Q7MDgD2QfOADWd/mFXcIE5LVhYYGjA3baz6W9JneqnuCw==", + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/npm-install-checks/-/npm-install-checks-6.3.0.tgz", + "integrity": "sha512-W29RiK/xtpCGqn6f3ixfRYGk+zRyr+Ew9F2E20BfXxT5/euLdA/Nm7fO7OeTGuAmTs30cpgInyJ0cYe708YTZw==", "dev": true, "dependencies": { "semver": "^7.1.1" @@ -8496,26 +9375,11 @@ "node": "^14.17.0 || ^16.13.0 || >=18.0.0" } }, - "node_modules/npm-install-checks/node_modules/lru-cache": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", - "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", - "dev": true, - "dependencies": { - "yallist": "^4.0.0" - }, - "engines": { - "node": ">=10" - } - }, "node_modules/npm-install-checks/node_modules/semver": { - "version": "7.5.4", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz", - "integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==", + "version": "7.6.3", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.3.tgz", + "integrity": "sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==", "dev": true, - "dependencies": { - "lru-cache": "^6.0.0" - }, "bin": { "semver": "bin/semver.js" }, @@ -8523,12 +9387,6 @@ "node": ">=10" } }, - "node_modules/npm-install-checks/node_modules/yallist": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", - "dev": true - }, "node_modules/npm-normalize-package-bin": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/npm-normalize-package-bin/-/npm-normalize-package-bin-3.0.1.tgz", @@ -8553,26 +9411,11 @@ "node": "^14.17.0 || ^16.13.0 || >=18.0.0" } }, - "node_modules/npm-package-arg/node_modules/lru-cache": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", - "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", - "dev": true, - "dependencies": { - "yallist": "^4.0.0" - }, - "engines": { - "node": ">=10" - } - }, "node_modules/npm-package-arg/node_modules/semver": { - "version": "7.5.4", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz", - "integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==", + "version": "7.6.3", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.3.tgz", + "integrity": "sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==", "dev": true, - "dependencies": { - "lru-cache": "^6.0.0" - }, "bin": { "semver": "bin/semver.js" }, @@ -8580,12 +9423,6 @@ "node": ">=10" } }, - "node_modules/npm-package-arg/node_modules/yallist": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", - "dev": true - }, "node_modules/npm-packlist": { "version": "7.0.4", "resolved": "https://registry.npmjs.org/npm-packlist/-/npm-packlist-7.0.4.tgz", @@ -8613,26 +9450,11 @@ "node": "^14.17.0 || ^16.13.0 || >=18.0.0" } }, - "node_modules/npm-pick-manifest/node_modules/lru-cache": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", - "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", - "dev": true, - "dependencies": { - "yallist": "^4.0.0" - }, - "engines": { - "node": ">=10" - } - }, "node_modules/npm-pick-manifest/node_modules/semver": { - "version": "7.5.4", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz", - "integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==", + "version": "7.6.3", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.3.tgz", + "integrity": "sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==", "dev": true, - "dependencies": { - "lru-cache": "^6.0.0" - }, "bin": { "semver": "bin/semver.js" }, @@ -8640,12 +9462,6 @@ "node": ">=10" } }, - "node_modules/npm-pick-manifest/node_modules/yallist": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", - "dev": true - }, "node_modules/npm-registry-fetch": { "version": "14.0.5", "resolved": "https://registry.npmjs.org/npm-registry-fetch/-/npm-registry-fetch-14.0.5.tgz", @@ -8664,6 +9480,76 @@ "node": "^14.17.0 || ^16.13.0 || >=18.0.0" } }, + "node_modules/npm-registry-fetch/node_modules/lru-cache": { + "version": "7.18.3", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-7.18.3.tgz", + "integrity": "sha512-jumlc0BIUrS3qJGgIkWZsyfAM7NCWiBcCDhnd+3NNM5KbBmLTgHVfWBcg6W+rLUsIpzpERPsvwUP7CckAQSOoA==", + "dev": true, + "engines": { + "node": ">=12" + } + }, + "node_modules/npm-registry-fetch/node_modules/make-fetch-happen": { + "version": "11.1.1", + "resolved": "https://registry.npmjs.org/make-fetch-happen/-/make-fetch-happen-11.1.1.tgz", + "integrity": "sha512-rLWS7GCSTcEujjVBs2YqG7Y4643u8ucvCJeSRqiLYhesrDuzeuFIk37xREzAsfQaqzl8b9rNCE4m6J8tvX4Q8w==", + "dev": true, + "dependencies": { + "agentkeepalive": "^4.2.1", + "cacache": "^17.0.0", + "http-cache-semantics": "^4.1.1", + "http-proxy-agent": "^5.0.0", + "https-proxy-agent": "^5.0.0", + "is-lambda": "^1.0.1", + "lru-cache": "^7.7.1", + "minipass": "^5.0.0", + "minipass-fetch": "^3.0.0", + "minipass-flush": "^1.0.5", + "minipass-pipeline": "^1.2.4", + "negotiator": "^0.6.3", + "promise-retry": "^2.0.1", + "socks-proxy-agent": "^7.0.0", + "ssri": "^10.0.0" + }, + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, + "node_modules/npm-registry-fetch/node_modules/minipass": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-5.0.0.tgz", + "integrity": "sha512-3FnjYuehv9k6ovOEbyOswadCDPX1piCfhV8ncmYtHOjuPwylVWsghTLo7rabjC3Rx5xD4HDx8Wm1xnMF7S5qFQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/npm-registry-fetch/node_modules/minipass-fetch": { + "version": "3.0.5", + "resolved": "https://registry.npmjs.org/minipass-fetch/-/minipass-fetch-3.0.5.tgz", + "integrity": "sha512-2N8elDQAtSnFV0Dk7gt15KHsS0Fyz6CbYZ360h0WTYV1Ty46li3rAXVOQj1THMNLdmrD9Vt5pBPtWtVkpwGBqg==", + "dev": true, + "dependencies": { + "minipass": "^7.0.3", + "minipass-sized": "^1.0.3", + "minizlib": "^2.1.2" + }, + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + }, + "optionalDependencies": { + "encoding": "^0.1.13" + } + }, + "node_modules/npm-registry-fetch/node_modules/minipass-fetch/node_modules/minipass": { + "version": "7.1.2", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.1.2.tgz", + "integrity": "sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw==", + "dev": true, + "engines": { + "node": ">=16 || 14 >=14.17" + } + }, "node_modules/npm-run-path": { "version": "4.0.1", "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.1.tgz", @@ -8680,6 +9566,7 @@ "version": "6.0.2", "resolved": "https://registry.npmjs.org/npmlog/-/npmlog-6.0.2.tgz", "integrity": "sha512-/vBvz5Jfr9dT/aFWd0FIRf+T/Q2WBsLENygUaFUqstqsycmZAP/t5BvFJTK0viFmSUxiUKTUplWy5vt+rvKIxg==", + "deprecated": "This package is no longer supported.", "dev": true, "dependencies": { "are-we-there-yet": "^3.0.0", @@ -8734,17 +9621,17 @@ } }, "node_modules/optionator": { - "version": "0.9.3", - "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.3.tgz", - "integrity": "sha512-JjCoypp+jKn1ttEFExxhetCKeJt9zhAgAve5FXHixTvFDW/5aEktX9bufBKLRRMdU7bNtpLfcGu94B3cdEJgjg==", + "version": "0.9.4", + "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.4.tgz", + "integrity": "sha512-6IpQ7mKUxRcZNLIObR0hz7lxsapSSIYNZJwXPGeF0mTVqGKFIXj1DQcMoT22S3ROcLyY/rz0PWaWZ9ayWmad9g==", "dev": true, "dependencies": { - "@aashutoshrathi/word-wrap": "^1.2.3", "deep-is": "^0.1.3", "fast-levenshtein": "^2.0.6", "levn": "^0.4.1", "prelude-ls": "^1.2.1", - "type-check": "^0.4.0" + "type-check": "^0.4.0", + "word-wrap": "^1.2.5" }, "engines": { "node": ">= 0.8.0" @@ -8810,6 +9697,12 @@ "node": ">=6" } }, + "node_modules/package-json-from-dist": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/package-json-from-dist/-/package-json-from-dist-1.0.0.tgz", + "integrity": "sha512-dATvCeZN/8wQsGywez1mzHtTlP22H8OEfPrVMLNr4/eGa+ijtLn/6M5f0dY8UKNrC2O9UCU6SSoG3qRKnt7STw==", + "dev": true + }, "node_modules/pacote": { "version": "15.2.0", "resolved": "https://registry.npmjs.org/pacote/-/pacote-15.2.0.tgz", @@ -8842,6 +9735,15 @@ "node": "^14.17.0 || ^16.13.0 || >=18.0.0" } }, + "node_modules/pacote/node_modules/minipass": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-5.0.0.tgz", + "integrity": "sha512-3FnjYuehv9k6ovOEbyOswadCDPX1piCfhV8ncmYtHOjuPwylVWsghTLo7rabjC3Rx5xD4HDx8Wm1xnMF7S5qFQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, "node_modules/parent-module": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", @@ -8906,34 +9808,31 @@ "dev": true }, "node_modules/path-scurry": { - "version": "1.10.1", - "resolved": "https://registry.npmjs.org/path-scurry/-/path-scurry-1.10.1.tgz", - "integrity": "sha512-MkhCqzzBEpPvxxQ71Md0b1Kk51W01lrYvlMzSUaIzNsODdd7mqhiimSZlr+VegAz5Z6Vzt9Xg2ttE//XBhH3EQ==", + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/path-scurry/-/path-scurry-1.11.1.tgz", + "integrity": "sha512-Xa4Nw17FS9ApQFJ9umLiJS4orGjm7ZzwUrwamcGQuHSzDyth9boKDaycYdDcZDuqYATXw4HFXgaqWTctW/v1HA==", "dev": true, "dependencies": { - "lru-cache": "^9.1.1 || ^10.0.0", + "lru-cache": "^10.2.0", "minipass": "^5.0.0 || ^6.0.2 || ^7.0.0" }, "engines": { - "node": ">=16 || 14 >=14.17" + "node": ">=16 || 14 >=14.18" }, "funding": { "url": "https://github.com/sponsors/isaacs" } }, "node_modules/path-scurry/node_modules/lru-cache": { - "version": "10.0.0", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.0.0.tgz", - "integrity": "sha512-svTf/fzsKHffP42sujkO/Rjs37BCIsQVRCeNYIm9WN8rgT7ffoUnRtZCqU+6BqcSBdv8gwJeTz8knJpgACeQMw==", - "dev": true, - "engines": { - "node": "14 || >=16.14" - } + "version": "10.4.3", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.4.3.tgz", + "integrity": "sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==", + "dev": true }, "node_modules/picocolors": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz", - "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==", + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.1.tgz", + "integrity": "sha512-anP1Z8qwhkbmu7MFP5iTt+wQKXgwzf7zTyGlcdzabySa9vd0Xt392U0rVmz9poOaBj0uHJKyyo9/upk0HrEQew==", "dev": true }, "node_modules/picomatch": { @@ -9061,12 +9960,12 @@ } }, "node_modules/pretty-format": { - "version": "29.6.2", - "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.6.2.tgz", - "integrity": "sha512-1q0oC8eRveTg5nnBEWMXAU2qpv65Gnuf2eCQzSjxpWFkPaPARwqZZDGuNE0zPAZfTCHzIk3A8dIjwlQKKLphyg==", + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.7.0.tgz", + "integrity": "sha512-Pdlw/oPxN+aXdmM9R00JVC9WVFoCLTKJvDVLgmJ+qAffBMxsV85l/Lu7sNx4zSzPyoL2euImuEwHhOXdEgNFZQ==", "dev": true, "dependencies": { - "@jest/schemas": "^29.6.0", + "@jest/schemas": "^29.6.3", "ansi-styles": "^5.0.0", "react-is": "^18.0.0" }, @@ -9128,18 +10027,18 @@ } }, "node_modules/punycode": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.0.tgz", - "integrity": "sha512-rRV+zQD8tVFys26lAGR9WUuS4iUAngJScM+ZRSKtvl5tKeZ2t5bvdNFdNHBW9FWR4guGHlgmsZ1G7BSm2wTbuA==", + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.1.tgz", + "integrity": "sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==", "dev": true, "engines": { "node": ">=6" } }, "node_modules/pure-rand": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/pure-rand/-/pure-rand-6.0.2.tgz", - "integrity": "sha512-6Yg0ekpKICSjPswYOuC5sku/TSWaRYlA0qsXqJgM/d/4pLPHPuTxK7Nbf7jFKzAeedUhR8C7K9Uv63FBsSo8xQ==", + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/pure-rand/-/pure-rand-6.1.0.tgz", + "integrity": "sha512-bVWawvoZoBYpp6yIoQtQXHZjmz35RSVHnUOTefl8Vcjr8snTPY1wnpSPMWekcFwbxI6gtmT7rSYPFvz71ldiOA==", "dev": true, "funding": [ { @@ -9182,15 +10081,16 @@ } }, "node_modules/react-is": { - "version": "18.2.0", - "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.2.0.tgz", - "integrity": "sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==", + "version": "18.3.1", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.3.1.tgz", + "integrity": "sha512-/LLMVyas0ljjAtoYiPqYiL8VWXzUUdThrmU5+n20DZv+a+ClRoevUzw5JxU+Ieh5/c87ytoTBV9G1FiKfNJdmg==", "dev": true }, "node_modules/read-package-json": { "version": "6.0.4", "resolved": "https://registry.npmjs.org/read-package-json/-/read-package-json-6.0.4.tgz", "integrity": "sha512-AEtWXYfopBj2z5N5PbkAOeNHRPUg5q+Nen7QLxV8M2zJq1ym6/lCz3fYNTCXe19puu2d06jfHhrP7v/S2PtMMw==", + "deprecated": "This package is no longer supported. Please use @npmcli/package-json instead.", "dev": true, "dependencies": { "glob": "^10.2.2", @@ -9216,69 +10116,23 @@ } }, "node_modules/read-package-json-fast/node_modules/json-parse-even-better-errors": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-3.0.0.tgz", - "integrity": "sha512-iZbGHafX/59r39gPwVPRBGw0QQKnA7tte5pSMrhWOW7swGsVvVTjmfyAV9pNqk8YGT7tRCdxRu8uzcgZwoDooA==", + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-3.0.2.tgz", + "integrity": "sha512-fi0NG4bPjCHunUJffmLd0gxssIgkNmArMvis4iNah6Owg1MCJjWhEcDLmsK6iGkJq3tHwbDkTlce70/tmXN4cQ==", "dev": true, "engines": { "node": "^14.17.0 || ^16.13.0 || >=18.0.0" } }, - "node_modules/read-package-json/node_modules/brace-expansion": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", - "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", - "dev": true, - "dependencies": { - "balanced-match": "^1.0.0" - } - }, - "node_modules/read-package-json/node_modules/glob": { - "version": "10.3.3", - "resolved": "https://registry.npmjs.org/glob/-/glob-10.3.3.tgz", - "integrity": "sha512-92vPiMb/iqpmEgsOoIDvTjc50wf9CCCvMzsi6W0JLPeUKE8TWP1a73PgqSrqy7iAZxaSD1YdzU7QZR5LF51MJw==", - "dev": true, - "dependencies": { - "foreground-child": "^3.1.0", - "jackspeak": "^2.0.3", - "minimatch": "^9.0.1", - "minipass": "^5.0.0 || ^6.0.2 || ^7.0.0", - "path-scurry": "^1.10.1" - }, - "bin": { - "glob": "dist/cjs/src/bin.js" - }, - "engines": { - "node": ">=16 || 14 >=14.17" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, "node_modules/read-package-json/node_modules/json-parse-even-better-errors": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-3.0.0.tgz", - "integrity": "sha512-iZbGHafX/59r39gPwVPRBGw0QQKnA7tte5pSMrhWOW7swGsVvVTjmfyAV9pNqk8YGT7tRCdxRu8uzcgZwoDooA==", + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-3.0.2.tgz", + "integrity": "sha512-fi0NG4bPjCHunUJffmLd0gxssIgkNmArMvis4iNah6Owg1MCJjWhEcDLmsK6iGkJq3tHwbDkTlce70/tmXN4cQ==", "dev": true, "engines": { "node": "^14.17.0 || ^16.13.0 || >=18.0.0" } }, - "node_modules/read-package-json/node_modules/minimatch": { - "version": "9.0.3", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.3.tgz", - "integrity": "sha512-RHiac9mvaRw0x3AYRgDC1CxAP7HTcNrrECeA8YYJeWnpo+2Q5CegtZjaotWTWxDG3UeGA1coE05iH1mPjT/2mg==", - "dev": true, - "dependencies": { - "brace-expansion": "^2.0.1" - }, - "engines": { - "node": ">=16 || 14 >=14.17" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, "node_modules/readable-stream": { "version": "3.6.2", "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz", @@ -9312,9 +10166,9 @@ "dev": true }, "node_modules/regenerate-unicode-properties": { - "version": "10.1.0", - "resolved": "https://registry.npmjs.org/regenerate-unicode-properties/-/regenerate-unicode-properties-10.1.0.tgz", - "integrity": "sha512-d1VudCLoIGitcU/hEg2QqvyGZQmdC0Lf8BqdOMXGFSvJP4bNV1+XqbPQeHHLD51Jh4QJJ225dlIFvY4Ly6MXmQ==", + "version": "10.1.1", + "resolved": "https://registry.npmjs.org/regenerate-unicode-properties/-/regenerate-unicode-properties-10.1.1.tgz", + "integrity": "sha512-X007RyZLsCJVVrjgEFVpLUTZwyOZk3oiL75ZcuYjlIWd6rNJtOjkBwQc5AsRrpbKVkxN6sklw/k/9m2jJYOf8Q==", "dev": true, "dependencies": { "regenerate": "^1.4.2" @@ -9324,15 +10178,15 @@ } }, "node_modules/regenerator-runtime": { - "version": "0.13.11", - "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.11.tgz", - "integrity": "sha512-kY1AZVr2Ra+t+piVaJ4gxaFaReZVH40AKNo7UCX6W+dEwBo/2oZJzqfuN1qLq1oL45o56cPaTXELwrTh8Fpggg==", + "version": "0.14.1", + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.14.1.tgz", + "integrity": "sha512-dYnhHh0nJoMfnkZs6GmmhFknAGRrLznOu5nc9ML+EJxGvrx6H7teuevqVqCuPcPK//3eDrrjQhehXVx9cnkGdw==", "dev": true }, "node_modules/regenerator-transform": { - "version": "0.15.1", - "resolved": "https://registry.npmjs.org/regenerator-transform/-/regenerator-transform-0.15.1.tgz", - "integrity": "sha512-knzmNAcuyxV+gQCufkYcvOqX/qIIfHLv0u5x79kRxuGojfYVky1f15TzZEu2Avte8QGepvUNTnLskf8E6X6Vyg==", + "version": "0.15.2", + "resolved": "https://registry.npmjs.org/regenerator-transform/-/regenerator-transform-0.15.2.tgz", + "integrity": "sha512-hfMp2BoF0qOk3uc5V20ALGDS2ddjQaLrdl7xrGXvAIow7qeWRM2VA2HuCHkUKk9slq3VwEwLNK3DFBqDfPGYtg==", "dev": true, "dependencies": { "@babel/runtime": "^7.8.4" @@ -9386,12 +10240,12 @@ } }, "node_modules/resolve": { - "version": "1.22.2", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.2.tgz", - "integrity": "sha512-Sb+mjNHOULsBv818T40qSPeRiuWLyaGMa5ewydRLFimneixmVy2zdivRl+AF6jaYPC8ERxGDmFSiqui6SfPd+g==", + "version": "1.22.8", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.8.tgz", + "integrity": "sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==", "dev": true, "dependencies": { - "is-core-module": "^2.11.0", + "is-core-module": "^2.13.0", "path-parse": "^1.0.7", "supports-preserve-symlinks-flag": "^1.0.0" }, @@ -9464,6 +10318,7 @@ "version": "3.0.2", "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", + "deprecated": "Rimraf versions prior to v4 are no longer supported", "dev": true, "dependencies": { "glob": "^7.1.3" @@ -9479,6 +10334,7 @@ "version": "7.2.3", "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "deprecated": "Glob versions prior to v9 are no longer supported", "dev": true, "dependencies": { "fs.realpath": "^1.0.0", @@ -9496,18 +10352,37 @@ } }, "node_modules/rollup": { - "version": "3.27.1", - "resolved": "https://registry.npmjs.org/rollup/-/rollup-3.27.1.tgz", - "integrity": "sha512-tXNDFwOkN6C2w5Blj1g6ForKeFw6c1mDu5jxoeDO3/pmYjgt+8yvIFjKzH5FQUq70OKZBkOt0zzv0THXL7vwzQ==", + "version": "4.21.2", + "resolved": "https://registry.npmjs.org/rollup/-/rollup-4.21.2.tgz", + "integrity": "sha512-e3TapAgYf9xjdLvKQCkQTnbTKd4a6jwlpQSJJFokHGaX2IVjoEqkIIhiQfqsi0cdwlOD+tQGuOd5AJkc5RngBw==", "dev": true, + "dependencies": { + "@types/estree": "1.0.5" + }, "bin": { "rollup": "dist/bin/rollup" }, "engines": { - "node": ">=14.18.0", + "node": ">=18.0.0", "npm": ">=8.0.0" }, "optionalDependencies": { + "@rollup/rollup-android-arm-eabi": "4.21.2", + "@rollup/rollup-android-arm64": "4.21.2", + "@rollup/rollup-darwin-arm64": "4.21.2", + "@rollup/rollup-darwin-x64": "4.21.2", + "@rollup/rollup-linux-arm-gnueabihf": "4.21.2", + "@rollup/rollup-linux-arm-musleabihf": "4.21.2", + "@rollup/rollup-linux-arm64-gnu": "4.21.2", + "@rollup/rollup-linux-arm64-musl": "4.21.2", + "@rollup/rollup-linux-powerpc64le-gnu": "4.21.2", + "@rollup/rollup-linux-riscv64-gnu": "4.21.2", + "@rollup/rollup-linux-s390x-gnu": "4.21.2", + "@rollup/rollup-linux-x64-gnu": "4.21.2", + "@rollup/rollup-linux-x64-musl": "4.21.2", + "@rollup/rollup-win32-arm64-msvc": "4.21.2", + "@rollup/rollup-win32-ia32-msvc": "4.21.2", + "@rollup/rollup-win32-x64-msvc": "4.21.2", "fsevents": "~2.3.2" } }, @@ -9543,36 +10418,15 @@ } }, "node_modules/rollup-plugin-serve": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/rollup-plugin-serve/-/rollup-plugin-serve-2.0.2.tgz", - "integrity": "sha512-ALqyTbPhlf7FZ5RzlbDvMYvbKuCHWginJkTo6dMsbgji/a78IbsXox+pC83HENdkTRz8OXrTj+aShp3+3ratpg==", + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/rollup-plugin-serve/-/rollup-plugin-serve-1.1.1.tgz", + "integrity": "sha512-H0VarZRtFR0lfiiC9/P8jzCDvtFf1liOX4oSdIeeYqUCKrmFA7vNiQ0rg2D+TuoP7leaa/LBR8XBts5viF6lnw==", "dev": true, "dependencies": { - "mime": ">=2.4.6", + "mime": "^2", "opener": "1" } }, - "node_modules/rome": { - "version": "12.1.3", - "resolved": "https://registry.npmjs.org/rome/-/rome-12.1.3.tgz", - "integrity": "sha512-e+ff72hxDpe/t5/Us7YRBVw3PBET7SeczTQNn6tvrWdrCaAw3qOukQQ+tDCkyFtS4yGsnhjrJbm43ctNbz27Yg==", - "dev": true, - "hasInstallScript": true, - "bin": { - "rome": "bin/rome" - }, - "engines": { - "node": ">=14.*" - }, - "optionalDependencies": { - "@rometools/cli-darwin-arm64": "12.1.3", - "@rometools/cli-darwin-x64": "12.1.3", - "@rometools/cli-linux-arm64": "12.1.3", - "@rometools/cli-linux-x64": "12.1.3", - "@rometools/cli-win32-arm64": "12.1.3", - "@rometools/cli-win32-x64": "12.1.3" - } - }, "node_modules/run-parallel": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz", @@ -9642,9 +10496,9 @@ } }, "node_modules/serialize-javascript": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-6.0.1.tgz", - "integrity": "sha512-owoXEFjWRllis8/M1Q+Cw5k8ZH40e3zhp/ovX+Xr/vi1qj6QesbyXXViFbpNvWvPNAD62SutwEXavefrLJWj7w==", + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-6.0.2.tgz", + "integrity": "sha512-Saa1xPByTTq2gdeFZYLLo+RFE35NHZkAbqZeWNd3BpzppeVisAqpDjcp8dyf6uIvEqJRd46jemmyA4iFIeVk8g==", "dev": true, "dependencies": { "randombytes": "^2.1.0" @@ -9678,19 +10532,26 @@ } }, "node_modules/signal-exit": { - "version": "3.0.7", - "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", - "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==", - "dev": true + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-4.1.0.tgz", + "integrity": "sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==", + "dev": true, + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } }, "node_modules/sigstore": { - "version": "1.8.0", - "resolved": "https://registry.npmjs.org/sigstore/-/sigstore-1.8.0.tgz", - "integrity": "sha512-ogU8qtQ3VFBawRJ8wjsBEX/vIFeHuGs1fm4jZtjWQwjo8pfAt7T/rh+udlAN4+QUe0IzA8qRSc/YZ7dHP6kh+w==", + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/sigstore/-/sigstore-1.9.0.tgz", + "integrity": "sha512-0Zjz0oe37d08VeOtBIuB6cRriqXse2e8w+7yIy2XSXjshRKxbc2KkhXjL229jXSxEm7UbcjS76wcJDGQddVI9A==", "dev": true, "dependencies": { - "@sigstore/bundle": "^1.0.0", + "@sigstore/bundle": "^1.1.0", "@sigstore/protobuf-specs": "^0.2.0", + "@sigstore/sign": "^1.0.0", "@sigstore/tuf": "^1.0.3", "make-fetch-happen": "^11.0.1" }, @@ -9701,6 +10562,76 @@ "node": "^14.17.0 || ^16.13.0 || >=18.0.0" } }, + "node_modules/sigstore/node_modules/lru-cache": { + "version": "7.18.3", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-7.18.3.tgz", + "integrity": "sha512-jumlc0BIUrS3qJGgIkWZsyfAM7NCWiBcCDhnd+3NNM5KbBmLTgHVfWBcg6W+rLUsIpzpERPsvwUP7CckAQSOoA==", + "dev": true, + "engines": { + "node": ">=12" + } + }, + "node_modules/sigstore/node_modules/make-fetch-happen": { + "version": "11.1.1", + "resolved": "https://registry.npmjs.org/make-fetch-happen/-/make-fetch-happen-11.1.1.tgz", + "integrity": "sha512-rLWS7GCSTcEujjVBs2YqG7Y4643u8ucvCJeSRqiLYhesrDuzeuFIk37xREzAsfQaqzl8b9rNCE4m6J8tvX4Q8w==", + "dev": true, + "dependencies": { + "agentkeepalive": "^4.2.1", + "cacache": "^17.0.0", + "http-cache-semantics": "^4.1.1", + "http-proxy-agent": "^5.0.0", + "https-proxy-agent": "^5.0.0", + "is-lambda": "^1.0.1", + "lru-cache": "^7.7.1", + "minipass": "^5.0.0", + "minipass-fetch": "^3.0.0", + "minipass-flush": "^1.0.5", + "minipass-pipeline": "^1.2.4", + "negotiator": "^0.6.3", + "promise-retry": "^2.0.1", + "socks-proxy-agent": "^7.0.0", + "ssri": "^10.0.0" + }, + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, + "node_modules/sigstore/node_modules/minipass": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-5.0.0.tgz", + "integrity": "sha512-3FnjYuehv9k6ovOEbyOswadCDPX1piCfhV8ncmYtHOjuPwylVWsghTLo7rabjC3Rx5xD4HDx8Wm1xnMF7S5qFQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/sigstore/node_modules/minipass-fetch": { + "version": "3.0.5", + "resolved": "https://registry.npmjs.org/minipass-fetch/-/minipass-fetch-3.0.5.tgz", + "integrity": "sha512-2N8elDQAtSnFV0Dk7gt15KHsS0Fyz6CbYZ360h0WTYV1Ty46li3rAXVOQj1THMNLdmrD9Vt5pBPtWtVkpwGBqg==", + "dev": true, + "dependencies": { + "minipass": "^7.0.3", + "minipass-sized": "^1.0.3", + "minizlib": "^2.1.2" + }, + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + }, + "optionalDependencies": { + "encoding": "^0.1.13" + } + }, + "node_modules/sigstore/node_modules/minipass-fetch/node_modules/minipass": { + "version": "7.1.2", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.1.2.tgz", + "integrity": "sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw==", + "dev": true, + "engines": { + "node": ">=16 || 14 >=14.17" + } + }, "node_modules/sisteransi": { "version": "1.0.5", "resolved": "https://registry.npmjs.org/sisteransi/-/sisteransi-1.0.5.tgz", @@ -9727,22 +10658,22 @@ } }, "node_modules/smob": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/smob/-/smob-1.4.0.tgz", - "integrity": "sha512-MqR3fVulhjWuRNSMydnTlweu38UhQ0HXM4buStD/S3mc/BzX3CuM9OmhyQpmtYCvoYdl5ris6TI0ZqH355Ymqg==", + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/smob/-/smob-1.5.0.tgz", + "integrity": "sha512-g6T+p7QO8npa+/hNx9ohv1E5pVCmWrVCUzUXJyLdMmftX6ER0oiWY/w9knEonLpnOp6b6FenKnMfR8gqwWdwig==", "dev": true }, "node_modules/socks": { - "version": "2.7.1", - "resolved": "https://registry.npmjs.org/socks/-/socks-2.7.1.tgz", - "integrity": "sha512-7maUZy1N7uo6+WVEX6psASxtNlKaNVMlGQKkG/63nEDdLOWNbiUMoLK7X4uYoLhQstau72mLgfEWcXcwsaHbYQ==", + "version": "2.8.3", + "resolved": "https://registry.npmjs.org/socks/-/socks-2.8.3.tgz", + "integrity": "sha512-l5x7VUUWbjVFbafGLxPWkYsHIhEvmF85tbIeFZWc8ZPtoMyybuEhL7Jye/ooC4/d48FgOjSJXgsF/AJPYCW8Zw==", "dev": true, "dependencies": { - "ip": "^2.0.0", + "ip-address": "^9.0.5", "smart-buffer": "^4.2.0" }, "engines": { - "node": ">= 10.13.0", + "node": ">= 10.0.0", "npm": ">= 3.0.0" } }, @@ -9790,9 +10721,9 @@ } }, "node_modules/spdx-exceptions": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.3.0.tgz", - "integrity": "sha512-/tTrYOC7PPI1nUAgx34hUpqXuyJG+DTHJTnIULG4rDygi4xu/tfgmq1e1cIRwRzwZgo4NLySi+ricLkZkw4i5A==", + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.5.0.tgz", + "integrity": "sha512-PiU42r+xO4UbUS1buo3LPJkjlO7430Xn5SVAhdpzzsPHsjbYVflnnFdATgabnLude+Cqu25p6N+g2lw/PFsa4w==", "dev": true }, "node_modules/spdx-expression-parse": { @@ -9806,24 +10737,24 @@ } }, "node_modules/spdx-license-ids": { - "version": "3.0.13", - "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.13.tgz", - "integrity": "sha512-XkD+zwiqXHikFZm4AX/7JSCXA98U5Db4AFd5XUg/+9UNtnH75+Z9KxtpYiJZx36mUDVOwH83pl7yvCer6ewM3w==", + "version": "3.0.20", + "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.20.tgz", + "integrity": "sha512-jg25NiDV/1fLtSgEgyvVyDunvaNHbuwF9lfNV17gSmPFAlYzdfNBlLtLzXTevwkPj7DhGbmN9VnmJIgLnhvaBw==", "dev": true }, "node_modules/sprintf-js": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", - "integrity": "sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==", + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.1.3.tgz", + "integrity": "sha512-Oo+0REFV59/rz3gfJNKQiBlwfHaSESl1pcGyABQsnnIfWOFt6JNj5gCog2U6MLZ//IGYD+nA8nI+mTShREReaA==", "dev": true }, "node_modules/ssri": { - "version": "10.0.4", - "resolved": "https://registry.npmjs.org/ssri/-/ssri-10.0.4.tgz", - "integrity": "sha512-12+IR2CB2C28MMAw0Ncqwj5QbTcs0nGIhgJzYWzDkb21vWmfNI83KS4f3Ci6GI98WreIfG7o9UXp3C0qbpA8nQ==", + "version": "10.0.6", + "resolved": "https://registry.npmjs.org/ssri/-/ssri-10.0.6.tgz", + "integrity": "sha512-MGrFH9Z4NP9Iyhqn16sDtBpRRNJ0Y2hNa6D65h736fVSaPCHr4DM4sWUNvVaSuC+0OBGhwsrydQwmgfg5LncqQ==", "dev": true, "dependencies": { - "minipass": "^5.0.0" + "minipass": "^7.0.3" }, "engines": { "node": "^14.17.0 || ^16.13.0 || >=18.0.0" @@ -9869,10 +10800,28 @@ "strip-ansi": "^6.0.0" }, "engines": { - "node": ">=10" + "node": ">=10" + } + }, + "node_modules/string-width": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-5.1.2.tgz", + "integrity": "sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==", + "dev": true, + "dependencies": { + "eastasianwidth": "^0.2.0", + "emoji-regex": "^9.2.2", + "strip-ansi": "^7.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/string-width": { + "node_modules/string-width-cjs": { + "name": "string-width", "version": "4.2.3", "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", @@ -9886,19 +10835,37 @@ "node": ">=8" } }, - "node_modules/string-width-cjs": { - "name": "string-width", - "version": "4.2.3", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", - "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "node_modules/string-width-cjs/node_modules/emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "dev": true + }, + "node_modules/string-width/node_modules/ansi-regex": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.0.1.tgz", + "integrity": "sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==", + "dev": true, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-regex?sponsor=1" + } + }, + "node_modules/string-width/node_modules/strip-ansi": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz", + "integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==", "dev": true, "dependencies": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.1" + "ansi-regex": "^6.0.1" }, "engines": { - "node": ">=8" + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/strip-ansi?sponsor=1" } }, "node_modules/strip-ansi": { @@ -9993,9 +10960,9 @@ } }, "node_modules/tar": { - "version": "6.1.15", - "resolved": "https://registry.npmjs.org/tar/-/tar-6.1.15.tgz", - "integrity": "sha512-/zKt9UyngnxIT/EAGYuxaMYgOIJiP81ab9ZfkILq4oNLPFX50qyYmu7jRj9qeXoxmJHjGlbH0+cm2uy1WCs10A==", + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/tar/-/tar-6.2.1.tgz", + "integrity": "sha512-DZ4yORTwrbTj/7MZYq2w+/ZFdI6OZ/f9SFHR+71gIVUZhOQPHzVCLpvRnPgyaMpfWxxk/4ONva3GQSyNIKRv6A==", "dev": true, "dependencies": { "chownr": "^2.0.0", @@ -10033,6 +11000,15 @@ "node": ">=8" } }, + "node_modules/tar/node_modules/minipass": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-5.0.0.tgz", + "integrity": "sha512-3FnjYuehv9k6ovOEbyOswadCDPX1piCfhV8ncmYtHOjuPwylVWsghTLo7rabjC3Rx5xD4HDx8Wm1xnMF7S5qFQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, "node_modules/tar/node_modules/yallist": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", @@ -10040,9 +11016,9 @@ "dev": true }, "node_modules/terser": { - "version": "5.19.2", - "resolved": "https://registry.npmjs.org/terser/-/terser-5.19.2.tgz", - "integrity": "sha512-qC5+dmecKJA4cpYxRa5aVkKehYsQKc+AHeKl0Oe62aYjBL8ZA33tTljktDHJSaxxMnbI5ZYw+o/S2DxxLu8OfA==", + "version": "5.31.6", + "resolved": "https://registry.npmjs.org/terser/-/terser-5.31.6.tgz", + "integrity": "sha512-PQ4DAriWzKj+qgehQ7LK5bQqCFNMmlhjR2PFFLuqGCpuCAauxemVBWwWOxo3UIwWQx8+Pr61Df++r76wDmkQBg==", "dev": true, "dependencies": { "@jridgewell/source-map": "^0.3.3", @@ -10091,6 +11067,7 @@ "version": "7.2.3", "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "deprecated": "Glob versions prior to v9 are no longer supported", "dev": true, "dependencies": { "fs.realpath": "^1.0.0", @@ -10153,9 +11130,9 @@ } }, "node_modules/tslib": { - "version": "2.6.1", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.1.tgz", - "integrity": "sha512-t0hLfiEKfMUoqhG+U1oid7Pva4bbDPHYfJNiB7BiIjRkj1pyC++4N3huJfqY6aRH6VTB0rvtzQwjM4K6qpfOig==", + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.7.0.tgz", + "integrity": "sha512-gLXCKdN1/j47AiHiOkJN69hJmcbGTHI0ImLmbYLHykhgeN0jVGola9yVjFgzCUklsZQMW55o+dW7IXv3RCXDzA==", "dev": true }, "node_modules/tuf-js": { @@ -10172,6 +11149,76 @@ "node": "^14.17.0 || ^16.13.0 || >=18.0.0" } }, + "node_modules/tuf-js/node_modules/lru-cache": { + "version": "7.18.3", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-7.18.3.tgz", + "integrity": "sha512-jumlc0BIUrS3qJGgIkWZsyfAM7NCWiBcCDhnd+3NNM5KbBmLTgHVfWBcg6W+rLUsIpzpERPsvwUP7CckAQSOoA==", + "dev": true, + "engines": { + "node": ">=12" + } + }, + "node_modules/tuf-js/node_modules/make-fetch-happen": { + "version": "11.1.1", + "resolved": "https://registry.npmjs.org/make-fetch-happen/-/make-fetch-happen-11.1.1.tgz", + "integrity": "sha512-rLWS7GCSTcEujjVBs2YqG7Y4643u8ucvCJeSRqiLYhesrDuzeuFIk37xREzAsfQaqzl8b9rNCE4m6J8tvX4Q8w==", + "dev": true, + "dependencies": { + "agentkeepalive": "^4.2.1", + "cacache": "^17.0.0", + "http-cache-semantics": "^4.1.1", + "http-proxy-agent": "^5.0.0", + "https-proxy-agent": "^5.0.0", + "is-lambda": "^1.0.1", + "lru-cache": "^7.7.1", + "minipass": "^5.0.0", + "minipass-fetch": "^3.0.0", + "minipass-flush": "^1.0.5", + "minipass-pipeline": "^1.2.4", + "negotiator": "^0.6.3", + "promise-retry": "^2.0.1", + "socks-proxy-agent": "^7.0.0", + "ssri": "^10.0.0" + }, + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, + "node_modules/tuf-js/node_modules/minipass": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-5.0.0.tgz", + "integrity": "sha512-3FnjYuehv9k6ovOEbyOswadCDPX1piCfhV8ncmYtHOjuPwylVWsghTLo7rabjC3Rx5xD4HDx8Wm1xnMF7S5qFQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/tuf-js/node_modules/minipass-fetch": { + "version": "3.0.5", + "resolved": "https://registry.npmjs.org/minipass-fetch/-/minipass-fetch-3.0.5.tgz", + "integrity": "sha512-2N8elDQAtSnFV0Dk7gt15KHsS0Fyz6CbYZ360h0WTYV1Ty46li3rAXVOQj1THMNLdmrD9Vt5pBPtWtVkpwGBqg==", + "dev": true, + "dependencies": { + "minipass": "^7.0.3", + "minipass-sized": "^1.0.3", + "minizlib": "^2.1.2" + }, + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + }, + "optionalDependencies": { + "encoding": "^0.1.13" + } + }, + "node_modules/tuf-js/node_modules/minipass-fetch/node_modules/minipass": { + "version": "7.1.2", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.1.2.tgz", + "integrity": "sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw==", + "dev": true, + "engines": { + "node": ">=16 || 14 >=14.17" + } + }, "node_modules/type-check": { "version": "0.4.0", "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz", @@ -10206,9 +11253,9 @@ } }, "node_modules/typescript": { - "version": "5.1.6", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.1.6.tgz", - "integrity": "sha512-zaWCozRZ6DLEWAWFrVDz1H6FVXzUSfTy5FUMWsQlU8Ym5JP9eO4xkTIROFCQvhQf61z6O/G6ugw3SgAnvvm+HA==", + "version": "5.5.4", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.5.4.tgz", + "integrity": "sha512-Mtq29sKDAEYP7aljRgtPOpTvOfbwRWlS6dPRzwjdE+C0R4brX/GUyhHSecbHMFLNBLcJIPt9nl9yG5TZ1weH+Q==", "dev": true, "bin": { "tsc": "bin/tsc", @@ -10218,6 +11265,12 @@ "node": ">=14.17" } }, + "node_modules/undici-types": { + "version": "6.19.8", + "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-6.19.8.tgz", + "integrity": "sha512-ve2KP6f/JnbPBFyobGHuerC9g1FYGn/F8n1LWTwNxCEzd6IfqTwUQcNXgEtmmQ6DlRrC1hrSrBnCZPokRrDHjw==", + "dev": true + }, "node_modules/unicode-canonical-property-names-ecmascript": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-2.0.0.tgz", @@ -10283,18 +11336,18 @@ } }, "node_modules/universalify": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz", - "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==", + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.1.tgz", + "integrity": "sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==", "dev": true, "engines": { - "node": ">= 4.0.0" + "node": ">= 10.0.0" } }, "node_modules/update-browserslist-db": { - "version": "1.0.11", - "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.11.tgz", - "integrity": "sha512-dCwEFf0/oT85M1fHBg4F0jtLwJrutGoHSQXCh7u4o2t1drG+c0a9Flnqww6XUKSfQMPpJBRjU8d4RXB09qtvaA==", + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.1.0.tgz", + "integrity": "sha512-EdRAaAyk2cUE1wOf2DkEhzxqOQvFOoRJFNS6NeyJ01Gp2beMRpBAINjM2iDXE3KCuKhwnvHIQCJm6ThL2Z+HzQ==", "dev": true, "funding": [ { @@ -10311,8 +11364,8 @@ } ], "dependencies": { - "escalade": "^3.1.1", - "picocolors": "^1.0.0" + "escalade": "^3.1.2", + "picocolors": "^1.0.1" }, "bin": { "update-browserslist-db": "cli.js" @@ -10337,14 +11390,14 @@ "dev": true }, "node_modules/v8-to-istanbul": { - "version": "9.1.0", - "resolved": "https://registry.npmjs.org/v8-to-istanbul/-/v8-to-istanbul-9.1.0.tgz", - "integrity": "sha512-6z3GW9x8G1gd+JIIgQQQxXuiJtCXeAjp6RaPEPLv62mH3iPHPxV6W3robxtCzNErRo6ZwTmzWhsbNvjyEBKzKA==", + "version": "9.3.0", + "resolved": "https://registry.npmjs.org/v8-to-istanbul/-/v8-to-istanbul-9.3.0.tgz", + "integrity": "sha512-kiGUalWN+rgBJ/1OHZsBtU4rXZOfj/7rKQxULKlIzwzQSvMJUUNgPwJEEh7gU6xEVxC0ahoOBvN2YI8GH6FNgA==", "dev": true, "dependencies": { "@jridgewell/trace-mapping": "^0.3.12", "@types/istanbul-lib-coverage": "^2.0.1", - "convert-source-map": "^1.6.0" + "convert-source-map": "^2.0.0" }, "engines": { "node": ">=10.12.0" @@ -10361,13 +11414,10 @@ } }, "node_modules/validate-npm-package-name": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/validate-npm-package-name/-/validate-npm-package-name-5.0.0.tgz", - "integrity": "sha512-YuKoXDAhBYxY7SfOKxHBDoSyENFeW5VvIIQp2TGQuit8gpK6MnWaQelBKxso72DoxTZfZdcP3W90LqpSkgPzLQ==", + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/validate-npm-package-name/-/validate-npm-package-name-5.0.1.tgz", + "integrity": "sha512-OljLrQ9SQdOUqTaQxqL5dEfZWrXExyyWsozYlAWFawPVNuD83igl7uJD2RTkNMbniIYgt8l81eCJGIdQF7avLQ==", "dev": true, - "dependencies": { - "builtins": "^5.0.0" - }, "engines": { "node": "^14.17.0 || ^16.13.0 || >=18.0.0" } @@ -10405,6 +11455,26 @@ "string-width": "^1.0.2 || 2 || 3 || 4" } }, + "node_modules/wide-align/node_modules/emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "dev": true + }, + "node_modules/wide-align/node_modules/string-width": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "dev": true, + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=8" + } + }, "node_modules/widest-line": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/widest-line/-/widest-line-3.1.0.tgz", @@ -10417,18 +11487,47 @@ "node": ">=8" } }, + "node_modules/widest-line/node_modules/emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "dev": true + }, + "node_modules/widest-line/node_modules/string-width": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "dev": true, + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/word-wrap": { + "version": "1.2.5", + "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.5.tgz", + "integrity": "sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/wrap-ansi": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", - "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-8.1.0.tgz", + "integrity": "sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==", "dev": true, "dependencies": { - "ansi-styles": "^4.0.0", - "string-width": "^4.1.0", - "strip-ansi": "^6.0.0" + "ansi-styles": "^6.1.0", + "string-width": "^5.0.1", + "strip-ansi": "^7.0.1" }, "engines": { - "node": ">=10" + "node": ">=12" }, "funding": { "url": "https://github.com/chalk/wrap-ansi?sponsor=1" @@ -10485,39 +11584,65 @@ "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", "dev": true }, - "node_modules/wrap-ansi/node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "node_modules/wrap-ansi-cjs/node_modules/emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "dev": true + }, + "node_modules/wrap-ansi-cjs/node_modules/string-width": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", "dev": true, "dependencies": { - "color-convert": "^2.0.1" + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" }, "engines": { "node": ">=8" + } + }, + "node_modules/wrap-ansi/node_modules/ansi-regex": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.0.1.tgz", + "integrity": "sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==", + "dev": true, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-regex?sponsor=1" + } + }, + "node_modules/wrap-ansi/node_modules/ansi-styles": { + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.1.tgz", + "integrity": "sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==", + "dev": true, + "engines": { + "node": ">=12" }, "funding": { "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "node_modules/wrap-ansi/node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "node_modules/wrap-ansi/node_modules/strip-ansi": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz", + "integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==", "dev": true, "dependencies": { - "color-name": "~1.1.4" + "ansi-regex": "^6.0.1" }, "engines": { - "node": ">=7.0.0" + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/strip-ansi?sponsor=1" } }, - "node_modules/wrap-ansi/node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true - }, "node_modules/wrappy": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", @@ -10537,10 +11662,16 @@ "node": "^12.13.0 || ^14.15.0 || >=16.0.0" } }, + "node_modules/write-file-atomic/node_modules/signal-exit": { + "version": "3.0.7", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", + "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==", + "dev": true + }, "node_modules/ws": { - "version": "7.5.9", - "resolved": "https://registry.npmjs.org/ws/-/ws-7.5.9.tgz", - "integrity": "sha512-F+P9Jil7UiSKSkppIiD94dN07AwvFixvLIj1Og1Rl9GGMuNipJnV9JzjD6XuqmAeiswGvUmNLjr5cFuXwNS77Q==", + "version": "7.5.10", + "resolved": "https://registry.npmjs.org/ws/-/ws-7.5.10.tgz", + "integrity": "sha512-+dbF1tHwZpXcbOJdVOkzLDxZP1ailvSxM6ZweXTegylPny803bFhA+vqBYw4s31NSAk4S2Qz+AKXK9a4wkdjcQ==", "dev": true, "engines": { "node": ">=8.3.0" @@ -10600,6 +11731,26 @@ "node": ">=12" } }, + "node_modules/yargs/node_modules/emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "dev": true + }, + "node_modules/yargs/node_modules/string-width": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "dev": true, + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=8" + } + }, "node_modules/yocto-queue": { "version": "0.1.0", "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", diff --git a/package.json b/package.json index de7c8fe..bb99db2 100644 --- a/package.json +++ b/package.json @@ -14,9 +14,7 @@ "build": "npm run check:sanity && npm run test && npm run dist && npm run typings", "test": "jest tests/* --coverage", "deploy": "gh-pages -d dist", - "format": "rome format ./src --write", - "lint": "rome check ./src", - "check:sanity": "npm run lint && npm run format", + "check:sanity": "biome check --write src/", "typings": "tsc src/js/index.js --declaration --allowJs --emitDeclarationOnly --outDir dist/typings" }, "author": "scssyworks", @@ -45,29 +43,6 @@ "url": "https://github.com/scssyworks/silkrouter/issues" }, "homepage": "https://scssyworks.github.io/silkrouter", - "devDependencies": { - "@babel/core": "^7.22.9", - "@babel/eslint-parser": "^7.22.9", - "@babel/preset-env": "^7.22.9", - "@rollup/plugin-babel": "^6.0.3", - "@rollup/plugin-commonjs": "^25.0.3", - "@rollup/plugin-eslint": "^9.0.4", - "@rollup/plugin-json": "^6.0.0", - "@rollup/plugin-node-resolve": "^15.1.0", - "@rollup/plugin-terser": "^0.4.3", - "@types/jest": "^29.5.3", - "env-cmd": "^10.1.0", - "eslint": "^8.46.0", - "gh-pages": "^5.0.0", - "jest": "^29.6.2", - "rollup": "^3.27.1", - "rollup-plugin-filesize": "^10.0.0", - "rollup-plugin-livereload": "^2.0.5", - "rollup-plugin-serve": "^2.0.2", - "rome": "^12.1.3", - "rxjs": "^7.8.1", - "typescript": "^5.1.6" - }, "peerDependencies": { "rxjs": "^7.8.1" }, @@ -75,5 +50,28 @@ "core-js": "^3.32.0", "is-number": "^7.0.0", "is-object": "^1.0.2" + }, + "devDependencies": { + "@babel/core": "^7.25.2", + "@babel/eslint-parser": "^7.25.1", + "@babel/preset-env": "^7.25.4", + "@biomejs/biome": "^1.8.3", + "@rollup/plugin-babel": "^6.0.4", + "@rollup/plugin-commonjs": "^26.0.1", + "@rollup/plugin-eslint": "^9.0.5", + "@rollup/plugin-json": "^6.1.0", + "@rollup/plugin-node-resolve": "^15.2.3", + "@rollup/plugin-terser": "^0.4.4", + "@types/jest": "^29.5.12", + "env-cmd": "^10.1.0", + "eslint": "^9.9.1", + "gh-pages": "^6.1.1", + "jest": "^29.7.0", + "rollup": "^4.21.2", + "rollup-plugin-filesize": "^10.0.0", + "rollup-plugin-livereload": "^2.0.5", + "rollup-plugin-serve": "^1.1.1", + "rxjs": "^7.8.1", + "typescript": "^5.5.4" } } diff --git a/render/index.js b/render/index.js index 8d89b11..118318a 100644 --- a/render/index.js +++ b/render/index.js @@ -6,10 +6,10 @@ function q(selector) { const elArray = []; selector .split(',') - .map((selectorPart) => selectorPart.trim()) - .forEach((selectorPart) => { + .map(selectorPart => selectorPart.trim()) + .forEach(selectorPart => { const selected = [...document.querySelectorAll(selectorPart)]; - selected.forEach((el) => { + selected.forEach(el => { if (!elArray.includes(el)) { elArray.push(el); } @@ -17,12 +17,11 @@ function q(selector) { }); return elArray; } - // rome-ignore lint/style/noArguments: Keeping default behaviour of querySelectorAll return [...document.querySelectorAll(...arguments)]; } function renderVersion() { - q('.version').forEach((el) => { + q('.version').forEach(el => { const wrapper = el.querySelector('span'); if (wrapper) { wrapper.textContent = pkg.version; @@ -31,17 +30,17 @@ function renderVersion() { } function initializeRouting() { - q('#checkHash').forEach((el) => { + q('#checkHash').forEach(el => { el.checked = window.sessionStorage.getItem('checkedStatus') === '1'; }); const router = new Router(); let childRouter = router; - router.subscribe((e) => { + router.subscribe(e => { const eventRoute = location.hostname === 'scssyworks.github.io' ? e.route.replace(/\/silkrouter\//, '/') : e.route; - q('a.nav-link').forEach((el) => { + q('a.nav-link').forEach(el => { el.classList.remove('active'); const elRoute = el.getAttribute('href'); if ( @@ -51,7 +50,7 @@ function initializeRouting() { el.classList.add('active'); } }); - q('[data-section]').forEach((el) => { + q('[data-section]').forEach(el => { el.classList.add('d-none'); const elSection = el.getAttribute('data-section'); if (elSection === '/' && eventRoute === elSection) { @@ -61,8 +60,8 @@ function initializeRouting() { } }); q( - '.params-data, .query-next-step, .query-data, .data-next-step, .state-data, .pass-data-tutorial' - ).forEach((el) => { + '.params-data, .query-next-step, .query-data, .data-next-step, .state-data, .pass-data-tutorial', + ).forEach(el => { el.classList.add('d-none'); }); }); @@ -70,37 +69,37 @@ function initializeRouting() { location.hostname === 'scssyworks.github.io' ? '/silkrouter/tab3/:firstname/:lastname' : '/tab3/:firstname/:lastname'; - router.subscribe((e) => { + router.subscribe(e => { const params = resolveParams(paramsRoute, e.route); if (Object.keys(params).length) { - q('.params-data').forEach((el) => { + q('.params-data').forEach(el => { el.textContent = JSON.stringify(params, null, 2); }); - q('.params-data, .query-next-step').forEach((el) => { + q('.params-data, .query-next-step').forEach(el => { el.classList.remove('d-none'); }); if (e.query.path) { - q('.query-data').forEach((el) => { + q('.query-data').forEach(el => { el.textContent = e.query.path; el.classList.remove('d-none'); }); - q('.data-next-step').forEach((el) => { + q('.data-next-step').forEach(el => { el.classList.remove('d-none'); }); } if (e.data) { - q('.state-data').forEach((el) => { + q('.state-data').forEach(el => { el.textContent = e.data; el.classList.remove('d-none'); }); - q('.pass-data-tutorial').forEach((el) => { + q('.pass-data-tutorial').forEach(el => { el.classList.remove('d-none'); }); } } }); - document.addEventListener('click', (e) => { - q('a.nav-link').forEach((el) => { + document.addEventListener('click', e => { + q('a.nav-link').forEach(el => { if (el.contains(e.target)) { e.preventDefault(); const isRelative = el.hasAttribute('data-relative'); @@ -125,7 +124,7 @@ function initializeRouting() { } } }); - q('.btn-primary.clear-session').forEach((el) => { + q('.btn-primary.clear-session').forEach(el => { if (el.contains(e.target)) { window.sessionStorage.clear(); window.location.href = @@ -134,16 +133,16 @@ function initializeRouting() { : '/tab2/'; } }); - q('.append-param').forEach((el) => { + q('.append-param').forEach(el => { if (el.contains(e.target)) { router.set( `${ location.hostname === 'scssyworks.github.io' ? '/silkrouter' : '' - }/tab3/john/doe` + }/tab3/john/doe`, ); } }); - q('.append-query').forEach((el) => { + q('.append-query').forEach(el => { if (el.contains(e.target)) { router.set( `${ @@ -151,11 +150,11 @@ function initializeRouting() { }/tab3/john/doe`, { queryString: 'q=HelloWorld', - } + }, ); } }); - q('.append-data').forEach((el) => { + q('.append-data').forEach(el => { if (el.contains(e.target)) { router.set( `${ @@ -164,16 +163,16 @@ function initializeRouting() { { queryString: 'q=HelloWorld', data: 'Hi there!', - } + }, ); } }); }); - q('#checkHash').forEach((el) => { + q('#checkHash').forEach(el => { el.addEventListener('change', () => { window.sessionStorage.setItem( 'checkedStatus', - `${q('#checkHash:checked').length}` + `${q('#checkHash:checked').length}`, ); window.location.href = `${ location.hostname === 'scssyworks.github.io' ? '/silkrouter' : '' @@ -185,8 +184,8 @@ function initializeRouting() { hashRouting: true, preservePath: true, }); - hashRouter.subscribe((e) => { - q('a.nav-link[data-relative]').forEach((el) => { + hashRouter.subscribe(e => { + q('a.nav-link[data-relative]').forEach(el => { el.classList.remove('active'); if (e.route.includes(el.getAttribute('href'))) { el.classList.add('active'); diff --git a/rome.json b/rome.json deleted file mode 100644 index f66020f..0000000 --- a/rome.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "$schema": "https://docs.rome.tools/schemas/12.1.3/schema.json", - "organizeImports": { - "enabled": false - }, - "linter": { - "enabled": true, - "rules": { - "recommended": true, - "suspicious": { - "useValidTypeof": "off" - }, - "style": { - "noParameterAssign": "off" - } - }, - "ignore": ["dist/**/*"] - }, - "formatter": { - "enabled": true, - "indentSize": 2, - "indentStyle": "space", - "lineWidth": 80, - "ignore": ["dist/**/*"] - }, - "javascript": { - "formatter": { - "quoteStyle": "single", - "trailingComma": "es5" - } - } -} diff --git a/src/js/api/callOnce/index.js b/src/js/api/callOnce/index.js index c5d6756..6365c05 100644 --- a/src/js/api/callOnce/index.js +++ b/src/js/api/callOnce/index.js @@ -1,23 +1,23 @@ import { Observable } from 'rxjs'; -import { UNDEF } from '../../constants'; import { getPath } from '../../utils/getPath'; import { RouterEvent } from '../routerEvent'; /** * Calls the handler once on initialization - * @param {boolean} [isDone] Optional flag used as a switch + * @param {boolean} [isd] Optional flag used as a switch * @returns {(observable: Observable) => Observable} */ -export default function callOnce(isDone) { +export default function callOnce(isd) { + let isDone = isd; const { hashRouting: hash, location, init } = this.config; const path = getPath(hash, location); - return (observable) => - new Observable((subscriber) => { + return observable => + new Observable(subscriber => { const subn = observable.subscribe(subscriber); if (!isDone) { isDone = true; if (init && path) { - subscriber.next(new RouterEvent([{ path, hash }, UNDEF, this])); + subscriber.next(new RouterEvent([{ path, hash }, undefined, this])); } } return () => { diff --git a/src/js/api/collate/index.js b/src/js/api/collate/index.js index 9f5241a..f894327 100644 --- a/src/js/api/collate/index.js +++ b/src/js/api/collate/index.js @@ -6,10 +6,10 @@ import { RouterEvent } from '../routerEvent'; * @returns {(observable: Observable) => Observable} */ export default function collate() { - return (observable) => - new Observable((subscriber) => { + return observable => + new Observable(subscriber => { const subn = observable.subscribe({ - next: (event) => { + next: event => { const [, , routerInstance] = event.detail; if (routerInstance === this) { subscriber.next(new RouterEvent(event.detail, event)); diff --git a/src/js/api/router/RouterCore.js b/src/js/api/router/RouterCore.js index 4d620d3..26ef337 100644 --- a/src/js/api/router/RouterCore.js +++ b/src/js/api/router/RouterCore.js @@ -3,21 +3,19 @@ import { HISTORY_UNSUPPORTED, POP_STATE, PUSH, - TYPEOF_FUNC, - TYPEOF_UNDEF, VIRTUAL_PUSHSTATE, } from '../../constants'; import { getPath } from '../../utils/getPath'; import { trigger } from '../../utils/triggerEvent'; -import collate from '../collate'; import callOnce from '../callOnce'; +import collate from '../collate'; /** * Core router class to handle basic routing functionality */ export class RouterCore { static get global() { - return typeof globalThis !== TYPEOF_UNDEF ? globalThis : global || self; + return typeof globalThis !== 'undefined' ? globalThis : global || self; } /** * Router core constructor @@ -30,15 +28,15 @@ export class RouterCore { } this.popStateSubscription = fromEvent( RouterCore.global, - POP_STATE - ).subscribe((e) => { + POP_STATE, + ).subscribe(e => { const path = getPath(hash, location); if (path) { trigger(context, VIRTUAL_PUSHSTATE, [{ path, hash }, e, this]); } }); this.listeners = fromEvent(context, VIRTUAL_PUSHSTATE).pipe( - collate.apply(this) + collate.apply(this), ); } /** @@ -64,7 +62,7 @@ export class RouterCore { * @param {() => void} callback Callback for destroy function */ destroy(callback) { - if (typeof callback === TYPEOF_FUNC) { + if (typeof callback === 'function') { callback(); } this.popStateSubscription.unsubscribe(); // Unsubscribe popstate event diff --git a/src/js/api/router/types.ts b/src/js/api/router/types.ts index e01d8a6..673fa3a 100644 --- a/src/js/api/router/types.ts +++ b/src/js/api/router/types.ts @@ -1,4 +1,4 @@ -import { Observable } from 'rxjs'; +import type { Observable } from 'rxjs'; export type RouterConfig = { init?: boolean; @@ -14,7 +14,5 @@ export type RouterCoreConfig = { }; export type Operator = ( - // rome-ignore lint/suspicious/noExplicitAny: Type cannot be determined ...args: any[] - // rome-ignore lint/suspicious/noExplicitAny: Type cannot be determined ) => (observable: Observable) => Observable; diff --git a/src/js/api/routerEvent/types.ts b/src/js/api/routerEvent/types.ts index 0bbee1a..093e0b9 100644 --- a/src/js/api/routerEvent/types.ts +++ b/src/js/api/routerEvent/types.ts @@ -1,4 +1,4 @@ -import { Router } from '../router/Router'; +import type { Router } from '../router/Router'; export type RouteInfo = [ { @@ -6,5 +6,5 @@ export type RouteInfo = [ hash: boolean; }, PopStateEvent, - Router + Router, ]; diff --git a/src/js/api/set/index.js b/src/js/api/set/index.js index 62878ae..0500ba0 100644 --- a/src/js/api/set/index.js +++ b/src/js/api/set/index.js @@ -1,26 +1,24 @@ -import { trigger } from '../../utils/triggerEvent'; +import isObject from 'is-object'; import { - VIRTUAL_PUSHSTATE, - INVALID_ROUTE, - UNDEF, EMPTY, + INVALID_ROUTE, + PUSH, QRY, REPLACE, - PUSH, + VIRTUAL_PUSHSTATE, } from '../../constants'; +import { trigger } from '../../utils/triggerEvent'; import { isValidRoute, trim } from '../../utils/utils'; -import isObject from 'is-object'; /** * Sets the current route * @private * @typedef {import('./types').RouteConfig} RouteConfig * @param {string} routeStr Route string - * @param {RouteConfig} [routeConfig] Route config - * @returns {void} + * @param {RouteConfig} [rConfig] Route config */ -export default function set(routeStr, routeConfig) { - routeConfig = isObject(routeConfig) ? routeConfig : {}; +export default function set(routeStr, rConfig) { + const routeConfig = isObject(rConfig) ? rConfig : {}; const [route, qs] = routeStr.split(QRY); const { replace = false, @@ -31,15 +29,15 @@ export default function set(routeStr, routeConfig) { } = routeConfig; const { preservePath, hashRouting: hash, history, context } = this.config; // Resolve to URL query string if it's not explicitly passed - routeStr = trim(route); - if (isValidRoute(routeStr)) { - const path = routeStr; + let routeString = trim(route); + if (isValidRoute(routeString)) { + const path = routeString; if (hash) { - routeStr = `${preservePath ? '' : '/'}#${routeStr}`; + routeString = `${preservePath ? '' : '/'}#${routeString}`; } // Append query string - routeStr = `${routeStr}${trim( - queryString ? `${QRY + queryString}` : EMPTY + routeString = `${routeString}${trim( + queryString ? `${QRY + queryString}` : EMPTY, )}`; const savedState = history.state || { idx: 0 }; history[replace ? REPLACE : PUSH]( @@ -48,7 +46,7 @@ export default function set(routeStr, routeConfig) { idx: savedState.idx + 1, }, pageTitle, - routeStr + routeString, ); if (!preventDefault && path) { trigger(context, VIRTUAL_PUSHSTATE, [ @@ -56,7 +54,7 @@ export default function set(routeStr, routeConfig) { path, hash, }, - UNDEF, + undefined, this, ]); } diff --git a/src/js/api/set/types.ts b/src/js/api/set/types.ts index 04ac861..ed5d45e 100644 --- a/src/js/api/set/types.ts +++ b/src/js/api/set/types.ts @@ -2,7 +2,6 @@ export type RouteConfig = { replace?: boolean; preventDefault?: boolean; pageTitle?: string; - // rome-ignore lint/suspicious/noExplicitAny: Data can be of any time data?: any; queryString?: string; }; diff --git a/src/js/constants/index.js b/src/js/constants/index.js index 8268329..121af83 100644 --- a/src/js/constants/index.js +++ b/src/js/constants/index.js @@ -11,10 +11,6 @@ export const VIRTUAL_PUSHSTATE = 'vpushstate'; export const QRY = '?'; export const EMPTY = ''; export const UNDEF = void 0; -export const TYPEOF_STR = typeof EMPTY; -export const TYPEOF_BOOL = typeof true; -export const TYPEOF_UNDEF = typeof UNDEF; -export const TYPEOF_FUNC = typeof (() => {}); export const STATE = 'State'; export const PUSH = `push${STATE}`; export const REPLACE = `replace${STATE}`; diff --git a/src/js/utils/getPath.js b/src/js/utils/getPath.js index b43279e..44dd7b5 100644 --- a/src/js/utils/getPath.js +++ b/src/js/utils/getPath.js @@ -3,6 +3,6 @@ import { trim } from './utils'; export const getPath = (isHash, location) => { return trim( - isHash ? location.hash.substring(1).split(QRY)[0] : location.pathname + isHash ? location.hash.substring(1).split(QRY)[0] : location.pathname, ); }; diff --git a/src/js/utils/params.js b/src/js/utils/params.js index 8827d79..088be92 100644 --- a/src/js/utils/params.js +++ b/src/js/utils/params.js @@ -10,12 +10,12 @@ export function resolveParams(expr, path) { const params = {}; if (REG_ROUTE_PARAMS.test(expr)) { const pathRegex = new RegExp( - expr.replace(/\//g, '\\/').replace(/:[^/\\]+/g, '([^\\/]+)') + expr.replace(/\//g, '\\/').replace(/:[^/\\]+/g, '([^\\/]+)'), ); REG_ROUTE_PARAMS.lastIndex = 0; if (pathRegex.test(path)) { - const keys = Array.from(expr.match(REG_ROUTE_PARAMS)).map((key) => - key.replace(':', EMPTY) + const keys = Array.from(expr.match(REG_ROUTE_PARAMS)).map(key => + key.replace(':', EMPTY), ); const values = Array.from(path.match(pathRegex)); values.shift(); diff --git a/src/js/utils/triggerEvent.js b/src/js/utils/triggerEvent.js index 0192e62..3402f12 100644 --- a/src/js/utils/triggerEvent.js +++ b/src/js/utils/triggerEvent.js @@ -10,6 +10,6 @@ export function trigger(context, eventType, data) { bubbles: true, cancelable: true, detail: data || [], - }) + }), ); } diff --git a/src/js/utils/utils.js b/src/js/utils/utils.js index a51f2e6..98a9a04 100644 --- a/src/js/utils/utils.js +++ b/src/js/utils/utils.js @@ -1,11 +1,20 @@ -import { EMPTY, REG_PATHNAME, TYPEOF_STR } from '../constants'; +import { EMPTY, REG_PATHNAME } from '../constants'; + +/** + * Checks if input value is a string + * @param {any} str String value + * @returns {boolean} + */ +export function isString(str) { + return typeof str === 'string'; +} /** * Safely trims string * @param {string} str String */ export function trim(str) { - return typeof str === TYPEOF_STR ? str.trim() : EMPTY; + return isString(str) ? str.trim() : EMPTY; } /** diff --git a/tests/utils.test.js b/tests/utils.test.js index a6357f0..000afa0 100644 --- a/tests/utils.test.js +++ b/tests/utils.test.js @@ -17,7 +17,7 @@ describe('Utils', () => { it('should return false of route is INVALID', () => { expect(isValidRoute('test/path')).toBeFalsy(); }); - it('should return false of route is UNDEFINED or NULL', () => { + it('should return false of route is undefined or NULL', () => { expect(isValidRoute()).toBeFalsy(); expect(isValidRoute(null)).toBeFalsy(); });