diff --git a/_internal/package.json b/_internal/package.json index 642468b16..ac9494000 100644 --- a/_internal/package.json +++ b/_internal/package.json @@ -5,8 +5,8 @@ "exports": "./dist/index.mjs", "private": true, "scripts": { - "watch": "bunchee --target es2018 index.ts -w", - "build": "bunchee --target es2018 index.ts", + "watch": "bunchee index.ts -w", + "build": "bunchee index.ts", "types:check": "tsc --noEmit", "clean": "rimraf dist" }, diff --git a/_internal/types.ts b/_internal/types.ts index 51444711e..04c8b386a 100644 --- a/_internal/types.ts +++ b/_internal/types.ts @@ -35,11 +35,11 @@ export type Fetcher< Data = unknown, SWRKey extends Key = Key > = SWRKey extends () => infer Arg | null | undefined | false - ? (args: Arg, options: FetcherOptions) => FetcherResponse + ? (arg: Arg, options: FetcherOptions) => FetcherResponse : SWRKey extends null | undefined | false ? never : SWRKey extends infer Arg - ? (args: Arg, options: FetcherOptions) => FetcherResponse + ? (arg: Arg, options: FetcherOptions) => FetcherResponse : never // Configuration types that are only used internally, not exposed to the user. @@ -214,7 +214,11 @@ export interface PublicConfiguration< abortDiscardedRequests?: boolean } -export type FullConfiguration = InternalConfiguration & PublicConfiguration +export type FullConfiguration< + Data = any, + Error = any, + Fn extends Fetcher = BareFetcher +> = InternalConfiguration & PublicConfiguration export type ProviderConfiguration = { initFocus: (callback: () => void) => (() => void) | void @@ -227,18 +231,18 @@ export type ProviderConfiguration = { * ``` */ export interface SWRHook { - ( + ( key: SWRKey ): SWRResponse - ( + ( key: SWRKey, fetcher: Fetcher | null ): SWRResponse - ( + ( key: SWRKey, config: SWRConfiguration> | undefined ): SWRResponse - ( + ( key: SWRKey, fetcher: Fetcher | null, config: SWRConfiguration> | undefined @@ -278,7 +282,8 @@ export type Arguments = | undefined | false export type Key = Arguments | (() => Arguments) - +export type StrictTupleKey = ArgumentsTuple | null | undefined | false +type StrictKey = StrictTupleKey | (() => StrictTupleKey) export type MutatorCallback = ( currentData?: Data ) => Promise | undefined | Data diff --git a/core/package.json b/core/package.json index ba457d4fb..09b191850 100644 --- a/core/package.json +++ b/core/package.json @@ -5,8 +5,8 @@ "exports": "./dist/index.mjs", "private": true, "scripts": { - "watch": "bunchee --target es2018 index.ts -w", - "build": "bunchee --target es2018 index.ts", + "watch": "bunchee index.ts -w", + "build": "bunchee index.ts", "types:check": "tsc --noEmit", "clean": "rimraf dist" }, diff --git a/core/use-swr.ts b/core/use-swr.ts index 625bd74f6..c638ee1f8 100644 --- a/core/use-swr.ts +++ b/core/use-swr.ts @@ -54,7 +54,8 @@ type DefinitelyTruthy = false extends T export const useSWRHandler = ( _key: Key, fetcher: Fetcher | null, - config: typeof defaultConfig & SWRConfiguration + config: FullConfiguration> & + SWRConfiguration ) => { const { cache, @@ -443,7 +444,7 @@ export const useSWRHandler = ( getConfig().onSuccess(newData, key, config) } } - } catch (err) { + } catch (err: any) { cleanupState() const currentConfig = getConfig() diff --git a/immutable/package.json b/immutable/package.json index c4f90c021..f1f40976b 100644 --- a/immutable/package.json +++ b/immutable/package.json @@ -5,8 +5,8 @@ "exports": "./dist/index.mjs", "private": true, "scripts": { - "watch": "bunchee --target es2018 index.ts -w", - "build": "bunchee --target es2018 index.ts", + "watch": "bunchee index.ts -w", + "build": "bunchee index.ts", "types:check": "tsc --noEmit", "clean": "rimraf dist" }, diff --git a/infinite/package.json b/infinite/package.json index e0edbb4c2..b18074d12 100644 --- a/infinite/package.json +++ b/infinite/package.json @@ -5,8 +5,8 @@ "exports": "./dist/index.mjs", "private": true, "scripts": { - "watch": "bunchee --target es2018 index.ts -w", - "build": "bunchee --target es2018 index.ts", + "watch": "bunchee index.ts -w", + "build": "bunchee index.ts", "types:check": "tsc --noEmit", "clean": "rimraf dist" }, diff --git a/infinite/types.ts b/infinite/types.ts index c85f08364..704d079cb 100644 --- a/infinite/types.ts +++ b/infinite/types.ts @@ -3,7 +3,8 @@ import type { SWRResponse, Arguments, BareFetcher, - State + State, + StrictTupleKey } from 'swr/_internal' type FetcherResponse = Data | Promise @@ -17,10 +18,10 @@ export type SWRInfiniteFetcher< : never : never -export type SWRInfiniteKeyLoader = ( - index: number, - previousPageData: Data | null -) => Arguments +export type SWRInfiniteKeyLoader< + Data = any, + Args extends Arguments = Arguments +> = (index: number, previousPageData: Data | null) => Args export interface SWRInfiniteConfiguration< Data = any, @@ -49,7 +50,7 @@ export interface SWRInfiniteHook { KeyLoader extends SWRInfiniteKeyLoader = ( index: number, previousPageData: Data | null - ) => null + ) => StrictTupleKey >( getKey: KeyLoader ): SWRInfiniteResponse @@ -59,7 +60,7 @@ export interface SWRInfiniteHook { KeyLoader extends SWRInfiniteKeyLoader = ( index: number, previousPageData: Data | null - ) => null + ) => StrictTupleKey >( getKey: KeyLoader, fetcher: SWRInfiniteFetcher | null @@ -70,7 +71,7 @@ export interface SWRInfiniteHook { KeyLoader extends SWRInfiniteKeyLoader = ( index: number, previousPageData: Data | null - ) => null + ) => StrictTupleKey >( getKey: KeyLoader, config: @@ -87,7 +88,7 @@ export interface SWRInfiniteHook { KeyLoader extends SWRInfiniteKeyLoader = ( index: number, previousPageData: Data | null - ) => null + ) => StrictTupleKey >( getKey: KeyLoader, fetcher: SWRInfiniteFetcher | null, diff --git a/mutation/index.ts b/mutation/index.ts index 3dc7ceb17..32d609973 100644 --- a/mutation/index.ts +++ b/mutation/index.ts @@ -26,6 +26,7 @@ const mutation = (() => const { mutate } = useSWRConfig() const keyRef = useRef(key) + const fetcherRef = useRef(fetcher) // Ditch all mutation results that happened earlier than this timestamp. const ditchMutationsUntilRef = useRef(0) @@ -40,7 +41,7 @@ const mutation = (() => async (arg: any, opts?: SWRMutationConfiguration) => { const [serializedKey, resolvedKey] = serialize(keyRef.current) - if (!fetcher) { + if (!fetcherRef.current) { throw new Error('Can’t trigger the mutation: missing fetcher.') } if (!serializedKey) { @@ -64,7 +65,7 @@ const mutation = (() => try { const data = await mutate( serializedKey, - (fetcher as any)(resolvedKey, { arg }), + (fetcherRef.current as any)(resolvedKey, { arg }), // We must throw the error here so we can catch and update the states. mergeObjects(options, { throwOnError: true }) ) @@ -99,6 +100,7 @@ const mutation = (() => useIsomorphicLayoutEffect(() => { keyRef.current = key + fetcherRef.current = fetcher }) // We don't return `mutate` here as it can be pretty confusing (e.g. people diff --git a/mutation/package.json b/mutation/package.json index 9587441bf..74043d917 100644 --- a/mutation/package.json +++ b/mutation/package.json @@ -5,8 +5,8 @@ "exports": "./dist/index.mjs", "private": true, "scripts": { - "watch": "bunchee --target es2018 index.ts -w", - "build": "bunchee --target es2018 index.ts", + "watch": "bunchee index.ts -w", + "build": "bunchee index.ts", "types:check": "tsc --noEmit", "clean": "rimraf dist" }, diff --git a/package.json b/package.json index 0dd22bbcb..caba87d20 100644 --- a/package.json +++ b/package.json @@ -64,12 +64,12 @@ "license": "MIT", "scripts": { "prepare": "husky install", - "csb:install": "pnpm i -g pnpm@7", - "csb:build": "pnpm install && pnpm build", + "csb:install": "pnpm install", + "csb:build": "pnpm build", "clean": "pnpm -r run clean", "watch": "pnpm -r run watch", "build": "pnpm build-package _internal && pnpm build-package core && pnpm build-package infinite && pnpm build-package immutable && pnpm build-package mutation", - "build-package": "bunchee --target es2018 index.ts --cwd", + "build-package": "bunchee index.ts --cwd", "types:check": "pnpm -r run types:check", "prepublishOnly": "pnpm clean && pnpm build", "publish-beta": "pnpm publish --tag beta", @@ -88,36 +88,36 @@ ] }, "devDependencies": { - "@swc/core": "^1.3.5", - "@swc/jest": "0.2.23", - "@testing-library/jest-dom": "^5.16.4", - "@testing-library/react": "^13.1.1", + "@swc/core": "^1.3.22", + "@swc/jest": "0.2.24", + "@testing-library/jest-dom": "^5.16.5", + "@testing-library/react": "^13.4.0", "@type-challenges/utils": "0.1.1", - "@types/jest": "^27.5.1", - "@types/node": "^18.7.14", - "@types/react": "^18.0.9", + "@types/jest": "^29.2.4", + "@types/node": "^18.11.13", + "@types/react": "^18.0.26", "@types/use-sync-external-store": "^0.0.3", - "@typescript-eslint/eslint-plugin": "5.36.1", - "@typescript-eslint/parser": "5.36.1", - "bunchee": "2.1.7", - "eslint": "8.15.0", + "@typescript-eslint/eslint-plugin": "5.46.1", + "@typescript-eslint/parser": "5.46.1", + "bunchee": "2.2.0", + "eslint": "8.29.0", "eslint-config-prettier": "8.5.0", - "eslint-plugin-jest-dom": "4.0.1", - "eslint-plugin-react": "7.30.0", - "eslint-plugin-react-hooks": "4.5.0", - "eslint-plugin-testing-library": "5.5.0", - "husky": "8.0.1", - "jest": "28.1.0", - "jest-environment-jsdom": "28.1.0", + "eslint-plugin-jest-dom": "4.0.3", + "eslint-plugin-react": "7.31.11", + "eslint-plugin-react-hooks": "4.6.0", + "eslint-plugin-testing-library": "5.9.1", + "husky": "8.0.2", + "jest": "29.3.1", + "jest-environment-jsdom": "29.3.1", "lint-staged": "13.0.3", - "next": "^12.1.6", - "prettier": "2.6.2", - "react": "^18.1.0", - "react-dom": "^18.1.0", + "next": "^13.0.6", + "prettier": "2.8.1", + "react": "^18.2.0", + "react-dom": "^18.2.0", "rimraf": "3.0.2", "swr": "workspace:*", - "tslib": "2.4.0", - "typescript": "4.8.2" + "tslib": "2.4.1", + "typescript": "4.9.4" }, "peerDependencies": { "react": "^16.11.0 || ^17.0.0 || ^18.0.0" @@ -136,4 +136,4 @@ "dependencies": { "use-sync-external-store": "^1.2.0" } -} +} \ No newline at end of file diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 2d00870a5..d8b57e7dd 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -4,70 +4,70 @@ importers: .: specifiers: - '@swc/core': ^1.3.5 - '@swc/jest': 0.2.23 - '@testing-library/jest-dom': ^5.16.4 - '@testing-library/react': ^13.1.1 + '@swc/core': ^1.3.22 + '@swc/jest': 0.2.24 + '@testing-library/jest-dom': ^5.16.5 + '@testing-library/react': ^13.4.0 '@type-challenges/utils': 0.1.1 - '@types/jest': ^27.5.1 - '@types/node': ^18.7.14 - '@types/react': ^18.0.9 + '@types/jest': ^29.2.4 + '@types/node': ^18.11.13 + '@types/react': ^18.0.26 '@types/use-sync-external-store': ^0.0.3 - '@typescript-eslint/eslint-plugin': 5.36.1 - '@typescript-eslint/parser': 5.36.1 - bunchee: 2.1.7 - eslint: 8.15.0 + '@typescript-eslint/eslint-plugin': 5.46.1 + '@typescript-eslint/parser': 5.46.1 + bunchee: 2.2.0 + eslint: 8.29.0 eslint-config-prettier: 8.5.0 - eslint-plugin-jest-dom: 4.0.1 - eslint-plugin-react: 7.30.0 - eslint-plugin-react-hooks: 4.5.0 - eslint-plugin-testing-library: 5.5.0 - husky: 8.0.1 - jest: 28.1.0 - jest-environment-jsdom: 28.1.0 + eslint-plugin-jest-dom: 4.0.3 + eslint-plugin-react: 7.31.11 + eslint-plugin-react-hooks: 4.6.0 + eslint-plugin-testing-library: 5.9.1 + husky: 8.0.2 + jest: 29.3.1 + jest-environment-jsdom: 29.3.1 lint-staged: 13.0.3 - next: ^12.1.6 - prettier: 2.6.2 - react: ^18.1.0 - react-dom: ^18.1.0 + next: ^13.0.6 + prettier: 2.8.1 + react: ^18.2.0 + react-dom: ^18.2.0 rimraf: 3.0.2 swr: workspace:* - tslib: 2.4.0 - typescript: 4.8.2 + tslib: 2.4.1 + typescript: 4.9.4 use-sync-external-store: ^1.2.0 dependencies: use-sync-external-store: 1.2.0_react@18.2.0 devDependencies: - '@swc/core': 1.3.6 - '@swc/jest': 0.2.23_@swc+core@1.3.6 - '@testing-library/jest-dom': 5.16.4 - '@testing-library/react': 13.3.0_biqbaboplfbrettd7655fr4n2y + '@swc/core': 1.3.22 + '@swc/jest': 0.2.24_@swc+core@1.3.22 + '@testing-library/jest-dom': 5.16.5 + '@testing-library/react': 13.4.0_biqbaboplfbrettd7655fr4n2y '@type-challenges/utils': 0.1.1 - '@types/jest': 27.5.2 - '@types/node': 18.7.14 - '@types/react': 18.0.15 + '@types/jest': 29.2.4 + '@types/node': 18.11.13 + '@types/react': 18.0.26 '@types/use-sync-external-store': 0.0.3 - '@typescript-eslint/eslint-plugin': 5.36.1_lwwfuyj7twi2pixhqbdlqx6rge - '@typescript-eslint/parser': 5.36.1_3gbszem2nfymcdpvzng2ytglf4 - bunchee: 2.1.7_typescript@4.8.2 - eslint: 8.15.0 - eslint-config-prettier: 8.5.0_eslint@8.15.0 - eslint-plugin-jest-dom: 4.0.1_eslint@8.15.0 - eslint-plugin-react: 7.30.0_eslint@8.15.0 - eslint-plugin-react-hooks: 4.5.0_eslint@8.15.0 - eslint-plugin-testing-library: 5.5.0_3gbszem2nfymcdpvzng2ytglf4 - husky: 8.0.1 - jest: 28.1.0_@types+node@18.7.14 - jest-environment-jsdom: 28.1.0 + '@typescript-eslint/eslint-plugin': 5.46.1_imrg37k3svwu377c6q7gkarwmi + '@typescript-eslint/parser': 5.46.1_ha6vam6werchizxrnqvarmz2zu + bunchee: 2.2.0_typescript@4.9.4 + eslint: 8.29.0 + eslint-config-prettier: 8.5.0_eslint@8.29.0 + eslint-plugin-jest-dom: 4.0.3_eslint@8.29.0 + eslint-plugin-react: 7.31.11_eslint@8.29.0 + eslint-plugin-react-hooks: 4.6.0_eslint@8.29.0 + eslint-plugin-testing-library: 5.9.1_ha6vam6werchizxrnqvarmz2zu + husky: 8.0.2 + jest: 29.3.1_@types+node@18.11.13 + jest-environment-jsdom: 29.3.1 lint-staged: 13.0.3 - next: 12.2.3_biqbaboplfbrettd7655fr4n2y - prettier: 2.6.2 + next: 13.0.6_biqbaboplfbrettd7655fr4n2y + prettier: 2.8.1 react: 18.2.0 react-dom: 18.2.0_react@18.2.0 rimraf: 3.0.2 swr: 'link:' - tslib: 2.4.0 - typescript: 4.8.2 + tslib: 2.4.1 + typescript: 4.9.4 _internal: specifiers: {} @@ -86,12 +86,16 @@ importers: packages: + /@adobe/css-tools/4.0.1: + resolution: {integrity: sha512-+u76oB43nOHrF4DDWRLWDCtci7f3QJoEBigemIdIeTi1ODqjx6Tad9NCVnPRwewWlKkVab5PlK8DCtPTyX7S8g==} + dev: true + /@ampproject/remapping/2.2.0: resolution: {integrity: sha512-qRmjj8nj9qmLTQXXmaR1cck3UXSRMPrbsLJAasZpF+t3riI71BXed5ebIOYwQntykeZuhjsdweEc9BxH5Jc26w==} engines: {node: '>=6.0.0'} dependencies: '@jridgewell/gen-mapping': 0.1.1 - '@jridgewell/trace-mapping': 0.3.14 + '@jridgewell/trace-mapping': 0.3.17 dev: true /@babel/code-frame/7.18.6: @@ -296,6 +300,16 @@ packages: '@babel/helper-plugin-utils': 7.18.9 dev: true + /@babel/plugin-syntax-jsx/7.18.6_@babel+core@7.18.9: + resolution: {integrity: sha512-6mmljtAedFGTWu2p/8WIORGwy+61PLgOMPOdazc7YoJ9ZCWUyFy3A6CpPkRKLKD1ToAesxX8KGEViAiLo9N+7Q==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.18.9 + '@babel/helper-plugin-utils': 7.18.9 + dev: true + /@babel/plugin-syntax-logical-assignment-operators/7.10.4_@babel+core@7.18.9: resolution: {integrity: sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig==} peerDependencies: @@ -416,13 +430,13 @@ packages: resolution: {integrity: sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw==} dev: true - /@eslint/eslintrc/1.3.0: - resolution: {integrity: sha512-UWW0TMTmk2d7hLcWD1/e2g5HDM/HQ3csaLSqXCfqwh4uNDuNqlaKWXmEsL4Cs41Z0KnILNvwbHAah3C2yt06kw==} + /@eslint/eslintrc/1.3.3: + resolution: {integrity: sha512-uj3pT6Mg+3t39fvLrj8iuCIJ38zKO9FpGtJ4BBJebJhEwjoT+KLVNCcHT5QC9NGRIEi7fZ0ZR8YRb884auB4Lg==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} dependencies: ajv: 6.12.6 debug: 4.3.4 - espree: 9.3.2 + espree: 9.4.1 globals: 13.17.0 ignore: 5.2.0 import-fresh: 3.3.0 @@ -433,8 +447,8 @@ packages: - supports-color dev: true - /@humanwhocodes/config-array/0.9.5: - resolution: {integrity: sha512-ObyMyWxZiCu/yTisA7uzx81s40xR2fD5Cg/2Kq7G02ajkNubJf6BopgDTmDyc3U7sXpNKM8cYOw7s7Tyr+DnCw==} + /@humanwhocodes/config-array/0.11.7: + resolution: {integrity: sha512-kBbPWzN8oVMLb0hOUYXhmxggL/1cJE6ydvjDIGi9EnAGUyA7cLVKQg+d/Dsm+KZwx2czGHrCmMVLiyg8s5JPKw==} engines: {node: '>=10.10.0'} dependencies: '@humanwhocodes/object-schema': 1.2.1 @@ -444,6 +458,11 @@ packages: - supports-color dev: true + /@humanwhocodes/module-importer/1.0.1: + resolution: {integrity: sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==} + engines: {node: '>=12.22'} + dev: true + /@humanwhocodes/object-schema/1.2.1: resolution: {integrity: sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA==} dev: true @@ -464,54 +483,53 @@ packages: engines: {node: '>=8'} dev: true - /@jest/console/28.1.3: - resolution: {integrity: sha512-QPAkP5EwKdK/bxIr6C1I4Vs0rm2nHiANzj/Z5X2JQkrZo6IqvC4ldZ9K95tF0HdidhA8Bo6egxSzUFPYKcEXLw==} - engines: {node: ^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0} + /@jest/console/29.3.1: + resolution: {integrity: sha512-IRE6GD47KwcqA09RIWrabKdHPiKDGgtAL31xDxbi/RjQMsr+lY+ppxmHwY0dUEV3qvvxZzoe5Hl0RXZJOjQNUg==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: - '@jest/types': 28.1.3 - '@types/node': 18.7.14 + '@jest/types': 29.3.1 + '@types/node': 18.11.13 chalk: 4.1.2 - jest-message-util: 28.1.3 - jest-util: 28.1.3 + jest-message-util: 29.3.1 + jest-util: 29.3.1 slash: 3.0.0 dev: true - /@jest/core/28.1.3: - resolution: {integrity: sha512-CIKBrlaKOzA7YG19BEqCw3SLIsEwjZkeJzf5bdooVnW4bH5cktqe3JX+G2YV1aK5vP8N9na1IGWFzYaTp6k6NA==} - engines: {node: ^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0} + /@jest/core/29.3.1: + resolution: {integrity: sha512-0ohVjjRex985w5MmO5L3u5GR1O30DexhBSpuwx2P+9ftyqHdJXnk7IUWiP80oHMvt7ubHCJHxV0a0vlKVuZirw==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} peerDependencies: node-notifier: ^8.0.1 || ^9.0.0 || ^10.0.0 peerDependenciesMeta: node-notifier: optional: true dependencies: - '@jest/console': 28.1.3 - '@jest/reporters': 28.1.3 - '@jest/test-result': 28.1.3 - '@jest/transform': 28.1.3 - '@jest/types': 28.1.3 - '@types/node': 18.7.14 + '@jest/console': 29.3.1 + '@jest/reporters': 29.3.1 + '@jest/test-result': 29.3.1 + '@jest/transform': 29.3.1 + '@jest/types': 29.3.1 + '@types/node': 18.11.13 ansi-escapes: 4.3.2 chalk: 4.1.2 ci-info: 3.3.2 exit: 0.1.2 graceful-fs: 4.2.10 - jest-changed-files: 28.1.3 - jest-config: 28.1.3_@types+node@18.7.14 - jest-haste-map: 28.1.3 - jest-message-util: 28.1.3 - jest-regex-util: 28.0.2 - jest-resolve: 28.1.3 - jest-resolve-dependencies: 28.1.3 - jest-runner: 28.1.3 - jest-runtime: 28.1.3 - jest-snapshot: 28.1.3 - jest-util: 28.1.3 - jest-validate: 28.1.3 - jest-watcher: 28.1.3 + jest-changed-files: 29.2.0 + jest-config: 29.3.1_@types+node@18.11.13 + jest-haste-map: 29.3.1 + jest-message-util: 29.3.1 + jest-regex-util: 29.2.0 + jest-resolve: 29.3.1 + jest-resolve-dependencies: 29.3.1 + jest-runner: 29.3.1 + jest-runtime: 29.3.1 + jest-snapshot: 29.3.1 + jest-util: 29.3.1 + jest-validate: 29.3.1 + jest-watcher: 29.3.1 micromatch: 4.0.5 - pretty-format: 28.1.3 - rimraf: 3.0.2 + pretty-format: 29.3.1 slash: 3.0.0 strip-ansi: 6.0.1 transitivePeerDependencies: @@ -526,59 +544,60 @@ packages: '@jest/types': 27.5.1 dev: true - /@jest/environment/28.1.3: - resolution: {integrity: sha512-1bf40cMFTEkKyEf585R9Iz1WayDjHoHqvts0XFYEqyKM3cFWDpeMoqKKTAF9LSYQModPUlh8FKptoM2YcMWAXA==} - engines: {node: ^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0} + /@jest/environment/29.3.1: + resolution: {integrity: sha512-pMmvfOPmoa1c1QpfFW0nXYtNLpofqo4BrCIk6f2kW4JFeNlHV2t3vd+3iDLf31e2ot2Mec0uqZfmI+U0K2CFag==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: - '@jest/fake-timers': 28.1.3 - '@jest/types': 28.1.3 - '@types/node': 18.7.14 - jest-mock: 28.1.3 + '@jest/fake-timers': 29.3.1 + '@jest/types': 29.3.1 + '@types/node': 18.11.13 + jest-mock: 29.3.1 dev: true - /@jest/expect-utils/28.1.3: - resolution: {integrity: sha512-wvbi9LUrHJLn3NlDW6wF2hvIMtd4JUl2QNVrjq+IBSHirgfrR3o9RnVtxzdEGO2n9JyIWwHnLfby5KzqBGg2YA==} - engines: {node: ^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0} + /@jest/expect-utils/29.3.1: + resolution: {integrity: sha512-wlrznINZI5sMjwvUoLVk617ll/UYfGIZNxmbU+Pa7wmkL4vYzhV9R2pwVqUh4NWWuLQWkI8+8mOkxs//prKQ3g==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: - jest-get-type: 28.0.2 + jest-get-type: 29.2.0 dev: true - /@jest/expect/28.1.3: - resolution: {integrity: sha512-lzc8CpUbSoE4dqT0U+g1qODQjBRHPpCPXissXD4mS9+sWQdmmpeJ9zSH1rS1HEkrsMN0fb7nKrJ9giAR1d3wBw==} - engines: {node: ^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0} + /@jest/expect/29.3.1: + resolution: {integrity: sha512-QivM7GlSHSsIAWzgfyP8dgeExPRZ9BIe2LsdPyEhCGkZkoyA+kGsoIzbKAfZCvvRzfZioKwPtCZIt5SaoxYCvg==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: - expect: 28.1.3 - jest-snapshot: 28.1.3 + expect: 29.3.1 + jest-snapshot: 29.3.1 transitivePeerDependencies: - supports-color dev: true - /@jest/fake-timers/28.1.3: - resolution: {integrity: sha512-D/wOkL2POHv52h+ok5Oj/1gOG9HSywdoPtFsRCUmlCILXNn5eIWmcnd3DIiWlJnpGvQtmajqBP95Ei0EimxfLw==} - engines: {node: ^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0} + /@jest/fake-timers/29.3.1: + resolution: {integrity: sha512-iHTL/XpnDlFki9Tq0Q1GGuVeQ8BHZGIYsvCO5eN/O/oJaRzofG9Xndd9HuSDBI/0ZS79pg0iwn07OMTQ7ngF2A==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: - '@jest/types': 28.1.3 + '@jest/types': 29.3.1 '@sinonjs/fake-timers': 9.1.2 - '@types/node': 18.7.14 - jest-message-util: 28.1.3 - jest-mock: 28.1.3 - jest-util: 28.1.3 + '@types/node': 18.11.13 + jest-message-util: 29.3.1 + jest-mock: 29.3.1 + jest-util: 29.3.1 dev: true - /@jest/globals/28.1.3: - resolution: {integrity: sha512-XFU4P4phyryCXu1pbcqMO0GSQcYe1IsalYCDzRNyhetyeyxMcIxa11qPNDpVNLeretItNqEmYYQn1UYz/5x1NA==} - engines: {node: ^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0} + /@jest/globals/29.3.1: + resolution: {integrity: sha512-cTicd134vOcwO59OPaB6AmdHQMCtWOe+/DitpTZVxWgMJ+YvXL1HNAmPyiGbSHmF/mXVBkvlm8YYtQhyHPnV6Q==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: - '@jest/environment': 28.1.3 - '@jest/expect': 28.1.3 - '@jest/types': 28.1.3 + '@jest/environment': 29.3.1 + '@jest/expect': 29.3.1 + '@jest/types': 29.3.1 + jest-mock: 29.3.1 transitivePeerDependencies: - supports-color dev: true - /@jest/reporters/28.1.3: - resolution: {integrity: sha512-JuAy7wkxQZVNU/V6g9xKzCGC5LVXx9FDcABKsSXp5MiKPEE2144a/vXTEDoyzjUpZKfVwp08Wqg5A4WfTMAzjg==} - engines: {node: ^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0} + /@jest/reporters/29.3.1: + resolution: {integrity: sha512-GhBu3YFuDrcAYW/UESz1JphEAbvUjaY2vShRZRoRY1mxpCMB3yGSJ4j9n0GxVlEOdCf7qjvUfBCrTUUqhVfbRA==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} peerDependencies: node-notifier: ^8.0.1 || ^9.0.0 || ^10.0.0 peerDependenciesMeta: @@ -586,12 +605,12 @@ packages: optional: true dependencies: '@bcoe/v8-coverage': 0.2.3 - '@jest/console': 28.1.3 - '@jest/test-result': 28.1.3 - '@jest/transform': 28.1.3 - '@jest/types': 28.1.3 - '@jridgewell/trace-mapping': 0.3.14 - '@types/node': 18.7.14 + '@jest/console': 29.3.1 + '@jest/test-result': 29.3.1 + '@jest/transform': 29.3.1 + '@jest/types': 29.3.1 + '@jridgewell/trace-mapping': 0.3.17 + '@types/node': 18.11.13 chalk: 4.1.2 collect-v8-coverage: 1.0.1 exit: 0.1.2 @@ -602,69 +621,68 @@ packages: istanbul-lib-report: 3.0.0 istanbul-lib-source-maps: 4.0.1 istanbul-reports: 3.1.5 - jest-message-util: 28.1.3 - jest-util: 28.1.3 - jest-worker: 28.1.3 + jest-message-util: 29.3.1 + jest-util: 29.3.1 + jest-worker: 29.3.1 slash: 3.0.0 string-length: 4.0.2 strip-ansi: 6.0.1 - terminal-link: 2.1.1 v8-to-istanbul: 9.0.1 transitivePeerDependencies: - supports-color dev: true - /@jest/schemas/28.1.3: - resolution: {integrity: sha512-/l/VWsdt/aBXgjshLWOFyFt3IVdYypu5y2Wn2rOO1un6nkqIn8SLXzgIMYXFyYsRWDyF5EthmKJMIdJvk08grg==} - engines: {node: ^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0} + /@jest/schemas/29.0.0: + resolution: {integrity: sha512-3Ab5HgYIIAnS0HjqJHQYZS+zXc4tUmTmBH3z83ajI6afXp8X3ZtdLX+nXx+I7LNkJD7uN9LAVhgnjDgZa2z0kA==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: '@sinclair/typebox': 0.24.20 dev: true - /@jest/source-map/28.1.2: - resolution: {integrity: sha512-cV8Lx3BeStJb8ipPHnqVw/IM2VCMWO3crWZzYodSIkxXnRcXJipCdx1JCK0K5MsJJouZQTH73mzf4vgxRaH9ww==} - engines: {node: ^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0} + /@jest/source-map/29.2.0: + resolution: {integrity: sha512-1NX9/7zzI0nqa6+kgpSdKPK+WU1p+SJk3TloWZf5MzPbxri9UEeXX5bWZAPCzbQcyuAzubcdUHA7hcNznmRqWQ==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: - '@jridgewell/trace-mapping': 0.3.14 + '@jridgewell/trace-mapping': 0.3.17 callsites: 3.1.0 graceful-fs: 4.2.10 dev: true - /@jest/test-result/28.1.3: - resolution: {integrity: sha512-kZAkxnSE+FqE8YjW8gNuoVkkC9I7S1qmenl8sGcDOLropASP+BkcGKwhXoyqQuGOGeYY0y/ixjrd/iERpEXHNg==} - engines: {node: ^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0} + /@jest/test-result/29.3.1: + resolution: {integrity: sha512-qeLa6qc0ddB0kuOZyZIhfN5q0e2htngokyTWsGriedsDhItisW7SDYZ7ceOe57Ii03sL988/03wAcBh3TChMGw==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: - '@jest/console': 28.1.3 - '@jest/types': 28.1.3 + '@jest/console': 29.3.1 + '@jest/types': 29.3.1 '@types/istanbul-lib-coverage': 2.0.4 collect-v8-coverage: 1.0.1 dev: true - /@jest/test-sequencer/28.1.3: - resolution: {integrity: sha512-NIMPEqqa59MWnDi1kvXXpYbqsfQmSJsIbnd85mdVGkiDfQ9WQQTXOLsvISUfonmnBT+w85WEgneCigEEdHDFxw==} - engines: {node: ^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0} + /@jest/test-sequencer/29.3.1: + resolution: {integrity: sha512-IqYvLbieTv20ArgKoAMyhLHNrVHJfzO6ARZAbQRlY4UGWfdDnLlZEF0BvKOMd77uIiIjSZRwq3Jb3Fa3I8+2UA==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: - '@jest/test-result': 28.1.3 + '@jest/test-result': 29.3.1 graceful-fs: 4.2.10 - jest-haste-map: 28.1.3 + jest-haste-map: 29.3.1 slash: 3.0.0 dev: true - /@jest/transform/28.1.3: - resolution: {integrity: sha512-u5dT5di+oFI6hfcLOHGTAfmUxFRrjK+vnaP0kkVow9Md/M7V/MxqQMOz/VV25UZO8pzeA9PjfTpOu6BDuwSPQA==} - engines: {node: ^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0} + /@jest/transform/29.3.1: + resolution: {integrity: sha512-8wmCFBTVGYqFNLWfcOWoVuMuKYPUBTnTMDkdvFtAYELwDOl9RGwOsvQWGPFxDJ8AWY9xM/8xCXdqmPK3+Q5Lug==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: '@babel/core': 7.18.9 - '@jest/types': 28.1.3 - '@jridgewell/trace-mapping': 0.3.14 + '@jest/types': 29.3.1 + '@jridgewell/trace-mapping': 0.3.17 babel-plugin-istanbul: 6.1.1 chalk: 4.1.2 - convert-source-map: 1.8.0 + convert-source-map: 2.0.0 fast-json-stable-stringify: 2.1.0 graceful-fs: 4.2.10 - jest-haste-map: 28.1.3 - jest-regex-util: 28.0.2 - jest-util: 28.1.3 + jest-haste-map: 29.3.1 + jest-regex-util: 29.2.0 + jest-util: 29.3.1 micromatch: 4.0.5 pirates: 4.0.5 slash: 3.0.0 @@ -679,19 +697,19 @@ packages: dependencies: '@types/istanbul-lib-coverage': 2.0.4 '@types/istanbul-reports': 3.0.1 - '@types/node': 18.7.14 + '@types/node': 18.11.13 '@types/yargs': 16.0.4 chalk: 4.1.2 dev: true - /@jest/types/28.1.3: - resolution: {integrity: sha512-RyjiyMUZrKz/c+zlMFO1pm70DcIlST8AeWTkoUdZevew44wcNZQHsEVOiCVtgVnlFFD82FPaXycys58cf2muVQ==} - engines: {node: ^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0} + /@jest/types/29.3.1: + resolution: {integrity: sha512-d0S0jmmTpjnhCmNpApgX3jrUZgZ22ivKJRvL2lli5hpCRoNnp1f85r2/wpKfXuYu8E7Jjh1hGfhPyup1NM5AmA==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: - '@jest/schemas': 28.1.3 + '@jest/schemas': 29.0.0 '@types/istanbul-lib-coverage': 2.0.4 '@types/istanbul-reports': 3.0.1 - '@types/node': 18.7.14 + '@types/node': 18.11.13 '@types/yargs': 17.0.10 chalk: 4.1.2 dev: true @@ -710,7 +728,7 @@ packages: dependencies: '@jridgewell/set-array': 1.1.2 '@jridgewell/sourcemap-codec': 1.4.14 - '@jridgewell/trace-mapping': 0.3.14 + '@jridgewell/trace-mapping': 0.3.17 dev: true /@jridgewell/resolve-uri/3.1.0: @@ -727,19 +745,19 @@ packages: resolution: {integrity: sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw==} dev: true - /@jridgewell/trace-mapping/0.3.14: - resolution: {integrity: sha512-bJWEfQ9lPTvm3SneWwRFVLzrh6nhjwqw7TUFFBEMzwvg7t7PCDenf2lDwqo4NQXzdpgBXyFgDWnQA+2vkruksQ==} + /@jridgewell/trace-mapping/0.3.17: + resolution: {integrity: sha512-MCNzAp77qzKca9+W/+I0+sEpaUnZoeasnghNeVc41VZCEKaCH73Vq3BZZ/SzWIgrqE4H4ceI+p+b6C0mHf9T4g==} dependencies: '@jridgewell/resolve-uri': 3.1.0 '@jridgewell/sourcemap-codec': 1.4.14 dev: true - /@next/env/12.2.3: - resolution: {integrity: sha512-2lWKP5Xcvnor70NaaROZXBvU8z9mFReePCG8NhZw6NyNGnPvC+8s+Cre/63LAB1LKzWw/e9bZJnQUg0gYFRb2Q==} + /@next/env/13.0.6: + resolution: {integrity: sha512-yceT6DCHKqPRS1cAm8DHvDvK74DLIkDQdm5iV+GnIts8h0QbdHvkUIkdOvQoOODgpr6018skbmSQp12z5OWIQQ==} dev: true - /@next/swc-android-arm-eabi/12.2.3: - resolution: {integrity: sha512-JxmCW9XB5PYnkGE67BdnBTdqW0SW6oMCiPMHLdjeRi4T3U4JJKJGnjQld99+6TPOfPWigtw3W7Cijp5gc+vJ/w==} + /@next/swc-android-arm-eabi/13.0.6: + resolution: {integrity: sha512-FGFSj3v2Bluw8fD/X+1eXIEB0PhoJE0zfutsAauRhmNpjjZshLDgoXMWm1jTRL/04K/o9gwwO2+A8+sPVCH1uw==} engines: {node: '>= 10'} cpu: [arm] os: [android] @@ -747,8 +765,8 @@ packages: dev: true optional: true - /@next/swc-android-arm64/12.2.3: - resolution: {integrity: sha512-3l4zXpWnzy0fqoedsFRxzMy/eGlMMqn6IwPEuBmtEQ4h7srmQFHyT+Bk+eVHb0o1RQ7/TloAa+mu8JX5tz/5tA==} + /@next/swc-android-arm64/13.0.6: + resolution: {integrity: sha512-7MgbtU7kimxuovVsd7jSJWMkIHBDBUsNLmmlkrBRHTvgzx5nDBXogP0hzZm7EImdOPwVMPpUHRQMBP9mbsiJYQ==} engines: {node: '>= 10'} cpu: [arm64] os: [android] @@ -756,8 +774,8 @@ packages: dev: true optional: true - /@next/swc-darwin-arm64/12.2.3: - resolution: {integrity: sha512-eutDO/RH6pf7+8zHo3i2GKLhF0qaMtxWpY8k3Oa1k+CyrcJ0IxwkfH/x3f75jTMeCrThn6Uu8j3WeZOxvhto1Q==} + /@next/swc-darwin-arm64/13.0.6: + resolution: {integrity: sha512-AUVEpVTxbP/fxdFsjVI9d5a0CFn6NVV7A/RXOb0Y+pXKIIZ1V5rFjPwpYfIfyOo2lrqgehMNQcyMRoTrhq04xg==} engines: {node: '>= 10'} cpu: [arm64] os: [darwin] @@ -765,8 +783,8 @@ packages: dev: true optional: true - /@next/swc-darwin-x64/12.2.3: - resolution: {integrity: sha512-lve+lnTiddXbcT3Lh2ujOFywQSEycTYQhuf6j6JrPu9oLQGS01kjIqqSj3/KMmSoppEnXo3BxkgYu+g2+ecHkA==} + /@next/swc-darwin-x64/13.0.6: + resolution: {integrity: sha512-SasCDJlshglsPnbzhWaIF6VEGkQy2NECcAOxPwaPr0cwbbt4aUlZ7QmskNzgolr5eAjFS/xTr7CEeKJtZpAAtQ==} engines: {node: '>= 10'} cpu: [x64] os: [darwin] @@ -774,8 +792,8 @@ packages: dev: true optional: true - /@next/swc-freebsd-x64/12.2.3: - resolution: {integrity: sha512-V4bZU1qBFkULTPW53phY8ypioh3EERzHu9YKAasm9RxU4dj+8c/4s60y+kbFkFEEpIUgEU6yNuYZRR4lHHbUGA==} + /@next/swc-freebsd-x64/13.0.6: + resolution: {integrity: sha512-6Lbxd9gAdXneTkwHyYW/qtX1Tdw7ND9UbiGsGz/SP43ZInNWnW6q0au4hEVPZ9bOWWRKzcVoeTBdoMpQk9Hx9w==} engines: {node: '>= 10'} cpu: [x64] os: [freebsd] @@ -783,8 +801,8 @@ packages: dev: true optional: true - /@next/swc-linux-arm-gnueabihf/12.2.3: - resolution: {integrity: sha512-MWxS/i+XSEKdQE0ZmdYkPPrWKBi4JwMVaXdOW9J/T/sZJsHsLlSC9ErBcNolKAJEVka+tnw9oPRyRCKOj+q0sw==} + /@next/swc-linux-arm-gnueabihf/13.0.6: + resolution: {integrity: sha512-wNdi5A519e1P+ozEuYOhWPzzE6m1y7mkO6NFwn6watUwO0X9nZs7fT9THmnekvmFQpaZ6U+xf2MQ9poQoCh6jQ==} engines: {node: '>= 10'} cpu: [arm] os: [linux] @@ -792,8 +810,8 @@ packages: dev: true optional: true - /@next/swc-linux-arm64-gnu/12.2.3: - resolution: {integrity: sha512-ikXkqAmvEcWTzIQFDdmrUHLWzdDAF5s2pVsSpQn9rk/gK1i9webH1GRQd2bSM7JLuPBZSaYrNGvDTyHZdSEYlg==} + /@next/swc-linux-arm64-gnu/13.0.6: + resolution: {integrity: sha512-e8KTRnleQY1KLk5PwGV5hrmvKksCc74QRpHl5ffWnEEAtL2FE0ave5aIkXqErsPdXkiKuA/owp3LjQrP+/AH7Q==} engines: {node: '>= 10'} cpu: [arm64] os: [linux] @@ -801,8 +819,8 @@ packages: dev: true optional: true - /@next/swc-linux-arm64-musl/12.2.3: - resolution: {integrity: sha512-wE45gGFkeLLLnCoveKaBrdpYkkypl3qwNF2YhnfvfVK7etuu1O679LwClhCWinDVBr+KOkmyHok00Z+0uI1ycg==} + /@next/swc-linux-arm64-musl/13.0.6: + resolution: {integrity: sha512-/7RF03C3mhjYpHN+pqOolgME3guiHU5T3TsejuyteqyEyzdEyLHod+jcYH6ft7UZ71a6TdOewvmbLOtzHW2O8A==} engines: {node: '>= 10'} cpu: [arm64] os: [linux] @@ -810,8 +828,8 @@ packages: dev: true optional: true - /@next/swc-linux-x64-gnu/12.2.3: - resolution: {integrity: sha512-MbFI6413VSXiREzHwYD8YAJLTknBaC+bmjXgdHEEdloeOuBFQGE3NWn3izOCTy8kV+s98VDQO8au7EKKs+bW0g==} + /@next/swc-linux-x64-gnu/13.0.6: + resolution: {integrity: sha512-kxyEXnYHpOEkFnmrlwB1QlzJtjC6sAJytKcceIyFUHbCaD3W/Qb5tnclcnHKTaFccizZRePXvV25Ok/eUSpKTw==} engines: {node: '>= 10'} cpu: [x64] os: [linux] @@ -819,8 +837,8 @@ packages: dev: true optional: true - /@next/swc-linux-x64-musl/12.2.3: - resolution: {integrity: sha512-jMBD0Va6fInbPih/dNySlNY2RpjkK6MXS+UGVEvuTswl1MZr+iahvurmshwGKpjaRwVU4DSFMD8+gfWxsTFs1Q==} + /@next/swc-linux-x64-musl/13.0.6: + resolution: {integrity: sha512-N0c6gubS3WW1oYYgo02xzZnNatfVQP/CiJq2ax+DJ55ePV62IACbRCU99TZNXXg+Kos6vNW4k+/qgvkvpGDeyA==} engines: {node: '>= 10'} cpu: [x64] os: [linux] @@ -828,8 +846,8 @@ packages: dev: true optional: true - /@next/swc-win32-arm64-msvc/12.2.3: - resolution: {integrity: sha512-Cq8ToPdc0jQP2C7pjChYctAsEe7+lO/B826ZCK5xFzobuHPiCyJ2Mzx/nEQwCY4SpYkeJQtCbwlCz5iyGW5zGg==} + /@next/swc-win32-arm64-msvc/13.0.6: + resolution: {integrity: sha512-QjeMB2EBqBFPb/ac0CYr7GytbhUkrG4EwFWbcE0vsRp4H8grt25kYpFQckL4Jak3SUrp7vKfDwZ/SwO7QdO8vw==} engines: {node: '>= 10'} cpu: [arm64] os: [win32] @@ -837,8 +855,8 @@ packages: dev: true optional: true - /@next/swc-win32-ia32-msvc/12.2.3: - resolution: {integrity: sha512-BtFq4c8IpeB0sDhJMHJFgm86rPkOvmYI8k3De8Y2kgNVWSeLQ0Q929PWf7e+GqcX1015ei/gEB41ZH8Iw49NzA==} + /@next/swc-win32-ia32-msvc/13.0.6: + resolution: {integrity: sha512-EQzXtdqRTcmhT/tCq81rIwE36Y3fNHPInaCuJzM/kftdXfa0F+64y7FAoMO13npX8EG1+SamXgp/emSusKrCXg==} engines: {node: '>= 10'} cpu: [ia32] os: [win32] @@ -846,8 +864,8 @@ packages: dev: true optional: true - /@next/swc-win32-x64-msvc/12.2.3: - resolution: {integrity: sha512-huSNb98KSG77Kl96CoPgCwom28aamuUsPpRmn/4s9L0RNbbHVSkp9E6HA4yOAykZCEuWcdNsRLbVVuAbt8rtIw==} + /@next/swc-win32-x64-msvc/13.0.6: + resolution: {integrity: sha512-pSkqZ//UP/f2sS9T7IvHLfEWDPTX0vRyXJnAUNisKvO3eF3e1xdhDX7dix/X3Z3lnN4UjSwOzclAI87JFbOwmQ==} engines: {node: '>= 10'} cpu: [x64] os: [win32] @@ -952,30 +970,8 @@ packages: '@sinonjs/commons': 1.8.3 dev: true - /@swc/core-android-arm-eabi/1.3.6: - resolution: {integrity: sha512-FQk/4cRRDoMPLgSm/1WvEqRqlSgBb6Twd5W13NYUbXJpzPGoPHhzwaCEbpGjPKG/OvAqA2NVrWquuJjhDvQyVQ==} - engines: {node: '>=10'} - cpu: [arm] - os: [android] - requiresBuild: true - dependencies: - '@swc/wasm': 1.2.122 - dev: true - optional: true - - /@swc/core-android-arm64/1.3.6: - resolution: {integrity: sha512-6qjZYatlFAN0IKhhYFsN+BaywooHFpK9/A/jMkjgIfbUoDz3wPJWZc2MDvcttgqZ+cfsSCcGeNw++H894z1zfw==} - engines: {node: '>=10'} - cpu: [arm64] - os: [android] - requiresBuild: true - dependencies: - '@swc/wasm': 1.2.130 - dev: true - optional: true - - /@swc/core-darwin-arm64/1.3.6: - resolution: {integrity: sha512-2qjaABxA7cloVTkS+uDEcVQ5buSi8de7qEv6P6InDE/iCjnI5ALyDxn7eauJJsVKimh9DyqN9sSZJ/z9U4FDUQ==} + /@swc/core-darwin-arm64/1.3.22: + resolution: {integrity: sha512-MMhtPsuXp8gpUgr9bs+RZQ2IyFGiUNDG93usCDAFgAF+6VVp+YaAVjET/3/Bx5Lk2WAt0RxT62C9KTEw1YMo3w==} engines: {node: '>=10'} cpu: [arm64] os: [darwin] @@ -983,8 +979,8 @@ packages: dev: true optional: true - /@swc/core-darwin-x64/1.3.6: - resolution: {integrity: sha512-+OtW18d2o3RUuXodB41ZDj0iRCeXNL0OxVU0jTl7iyCWDypmCzhalbaQXD/ZJxgnpGRB7/s2ZwNR/gzjXgz9VA==} + /@swc/core-darwin-x64/1.3.22: + resolution: {integrity: sha512-SG6QbNat4GZ5VJU3Zo6a54oQOtbhJVE6BCQw4JjOCZJmAeBzNebGy9wsT4+fCJNHC3C5qtaRw7ToXJvLniXwfg==} engines: {node: '>=10'} cpu: [x64] os: [darwin] @@ -992,30 +988,17 @@ packages: dev: true optional: true - /@swc/core-freebsd-x64/1.3.6: - resolution: {integrity: sha512-f+ePNodn7ET9qEa93VMfnsPNnubWKIkn0EfxmfzJCt/abNVZ7+DyCSABfWKkexOZ8OuNyxnBCdKLL6nlizxkhQ==} - engines: {node: '>=10'} - cpu: [x64] - os: [freebsd] - requiresBuild: true - dependencies: - '@swc/wasm': 1.2.130 - dev: true - optional: true - - /@swc/core-linux-arm-gnueabihf/1.3.6: - resolution: {integrity: sha512-JwdJmqKzsdq7Itg5ssKDEY9mP3AkQ+XENF6WXXlaNu1U/InqQhD0DqsFzw4TQ4LzB7lB7Wj+dv3JjKIhnHNNag==} + /@swc/core-linux-arm-gnueabihf/1.3.22: + resolution: {integrity: sha512-4E+TdQT1oHnHjDaPs/DyrRy9lOuFd6ncEd67yYA4j9lFqt6nuz/jnXss45k8KU7wR5kOTtdW73xPwkU4NbOWdw==} engines: {node: '>=10'} cpu: [arm] os: [linux] requiresBuild: true - dependencies: - '@swc/wasm': 1.2.130 dev: true optional: true - /@swc/core-linux-arm64-gnu/1.3.6: - resolution: {integrity: sha512-sRoPnwYFX+t95S7khi4KL2lZMZwbuzvPUf8NYmtTzfqVIseo8HD6IMgyeaQHYDfwDGF5elQGi4ALjRx2huSi0Q==} + /@swc/core-linux-arm64-gnu/1.3.22: + resolution: {integrity: sha512-6VcynOMbOBcbLutIPENI3Ejvg5LGz/Pwvzm25hM0FoiEtPxHA+tawQUwLx8Alk1Yr+Rnqid06UEZ0veJOGn2pQ==} engines: {node: '>=10'} cpu: [arm64] os: [linux] @@ -1023,8 +1006,8 @@ packages: dev: true optional: true - /@swc/core-linux-arm64-musl/1.3.6: - resolution: {integrity: sha512-XT8vRcxGaKujiplFfuMtGRgZ3Nx611TMVLUg91alzEIe2Adtrpaumzrwv2vqVdMr4X4GBK9z0rHsqkDLPhmuaw==} + /@swc/core-linux-arm64-musl/1.3.22: + resolution: {integrity: sha512-86RxGy0L3qa4De3xWHx8vL2caTxvSLSWTlgUW/Yd4l1pvrCFibMjhkImGu5ViKiReX9DlBtJ7CBs4dln2kHidw==} engines: {node: '>=10'} cpu: [arm64] os: [linux] @@ -1032,8 +1015,8 @@ packages: dev: true optional: true - /@swc/core-linux-x64-gnu/1.3.6: - resolution: {integrity: sha512-nip81Ngcx8cory+FtapKhXb/rgh/pTAlvTiwJjMhsE3xcKRsbnJEPMVIoArCBV0BmYJBLWvOtpHf8B62JS7L5w==} + /@swc/core-linux-x64-gnu/1.3.22: + resolution: {integrity: sha512-FLkbiqsdXsVIFZi6iedx4rSBGX8x0vo/5aDlklSxJAAYOcQpO0QADKP5Yr65iMT1d6ABCt2d+/StpGLF7GWOcA==} engines: {node: '>=10'} cpu: [x64] os: [linux] @@ -1041,8 +1024,8 @@ packages: dev: true optional: true - /@swc/core-linux-x64-musl/1.3.6: - resolution: {integrity: sha512-IzrQB67BY/rSZPJXWU3XzpkJqh4vYkYuOUmz1yrV/vxgPjJp/kUllfBYsHCiIedb7sjvfTt409SIN0FlPJY2+Q==} + /@swc/core-linux-x64-musl/1.3.22: + resolution: {integrity: sha512-giBuw+Z0Bq6fpZ0Y5TcfpcQwf9p/cE1fOQyO/K1XSTn/haQOqFi7421Jq/dFThSARZiXw1u9Om9VFbwxr8VI+A==} engines: {node: '>=10'} cpu: [x64] os: [linux] @@ -1050,30 +1033,26 @@ packages: dev: true optional: true - /@swc/core-win32-arm64-msvc/1.3.6: - resolution: {integrity: sha512-gLsE/4qgqTxy0OOFJKi9QRs9mVYv4yOXSwPB2Rb+grOmNnG+Ds2LWqGEaABKDErnUtTQiOzLpdwesNZxeJgMhA==} + /@swc/core-win32-arm64-msvc/1.3.22: + resolution: {integrity: sha512-loKGO+ZM2By6VdrmVJk1G79jVgDPaee93qLFuis5KyeoLLb4m1MlNMc/6SIDZUSuYg6NqaGP1spFeiFetMQ4Zg==} engines: {node: '>=10'} cpu: [arm64] os: [win32] requiresBuild: true - dependencies: - '@swc/wasm': 1.2.130 dev: true optional: true - /@swc/core-win32-ia32-msvc/1.3.6: - resolution: {integrity: sha512-0Jr7KMGEPapYGni+97oNOeVP7edBwjMGQ9HsJUUN1uIE7fALQ+zVGuwbc+22myql2Uhh5V5hZx5xtVraqLVMHw==} + /@swc/core-win32-ia32-msvc/1.3.22: + resolution: {integrity: sha512-lvNWAZ3QjXMsrsch6oLLQVikT/hC/4ZcLrTBXa14HwQylaYigkGElgp3ekJr78HjWDPwB46GXwBbNMG0VNAfvA==} engines: {node: '>=10'} cpu: [ia32] os: [win32] requiresBuild: true - dependencies: - '@swc/wasm': 1.2.130 dev: true optional: true - /@swc/core-win32-x64-msvc/1.3.6: - resolution: {integrity: sha512-O3F/jxqaFwGq9XxYeCIVRCDIR4+GdSBu/5io6TkN8O5QLqB3/KOJVDn6TALtbL6ClwjUwZt66HKnYeSx19j2Ow==} + /@swc/core-win32-x64-msvc/1.3.22: + resolution: {integrity: sha512-ESyn4lZXAKEE3mcTaDfXatsolCiEfVGstsXdgBmZYa6o1IE1bDW8FE7Ob/Y+82WTpm9+A9ZYXYjZ62t67POHZg==} engines: {node: '>=10'} cpu: [x64] os: [win32] @@ -1081,56 +1060,41 @@ packages: dev: true optional: true - /@swc/core/1.3.6: - resolution: {integrity: sha512-L3EemOWywrxXsRQFeU50PYFwrDKOxi2RGTT+TT3CcbIszwc7qnE6vsVzEll/eK32H1veicc0EegkZgtD4PFNRA==} + /@swc/core/1.3.22: + resolution: {integrity: sha512-oQ9EPEb7NgWcGIDoVfLCuffvtC4MzVtrwjqwKzFHP8FUh1fn8+2wraOjkkDXW74BB4Hgve5ykkaHix9bebB9Ww==} engines: {node: '>=10'} hasBin: true requiresBuild: true optionalDependencies: - '@swc/core-android-arm-eabi': 1.3.6 - '@swc/core-android-arm64': 1.3.6 - '@swc/core-darwin-arm64': 1.3.6 - '@swc/core-darwin-x64': 1.3.6 - '@swc/core-freebsd-x64': 1.3.6 - '@swc/core-linux-arm-gnueabihf': 1.3.6 - '@swc/core-linux-arm64-gnu': 1.3.6 - '@swc/core-linux-arm64-musl': 1.3.6 - '@swc/core-linux-x64-gnu': 1.3.6 - '@swc/core-linux-x64-musl': 1.3.6 - '@swc/core-win32-arm64-msvc': 1.3.6 - '@swc/core-win32-ia32-msvc': 1.3.6 - '@swc/core-win32-x64-msvc': 1.3.6 - dev: true - - /@swc/helpers/0.4.3: - resolution: {integrity: sha512-6JrF+fdUK2zbGpJIlN7G3v966PQjyx/dPt1T9km2wj+EUBqgrxCk3uX4Kct16MIm9gGxfKRcfax2hVf5jvlTzA==} + '@swc/core-darwin-arm64': 1.3.22 + '@swc/core-darwin-x64': 1.3.22 + '@swc/core-linux-arm-gnueabihf': 1.3.22 + '@swc/core-linux-arm64-gnu': 1.3.22 + '@swc/core-linux-arm64-musl': 1.3.22 + '@swc/core-linux-x64-gnu': 1.3.22 + '@swc/core-linux-x64-musl': 1.3.22 + '@swc/core-win32-arm64-msvc': 1.3.22 + '@swc/core-win32-ia32-msvc': 1.3.22 + '@swc/core-win32-x64-msvc': 1.3.22 + dev: true + + /@swc/helpers/0.4.14: + resolution: {integrity: sha512-4C7nX/dvpzB7za4Ql9K81xK3HPxCpHMgwTZVyf+9JQ6VUbn9jjZVN7/Nkdz/Ugzs2CSjqnL/UPXroiVBVHUWUw==} dependencies: - tslib: 2.4.0 + tslib: 2.4.1 dev: true - /@swc/jest/0.2.23_@swc+core@1.3.6: - resolution: {integrity: sha512-ZLj17XjHbPtNsgqjm83qizENw05emLkKGu3WuPUttcy9hkngl0/kcc7fDbcSBpADS0GUtsO+iKPjZFWVAtJSlA==} + /@swc/jest/0.2.24_@swc+core@1.3.22: + resolution: {integrity: sha512-fwgxQbM1wXzyKzl1+IW0aGrRvAA8k0Y3NxFhKigbPjOJ4mCKnWEcNX9HQS3gshflcxq8YKhadabGUVfdwjCr6Q==} engines: {npm: '>= 7.0.0'} peerDependencies: '@swc/core': '*' dependencies: '@jest/create-cache-key-function': 27.5.1 - '@swc/core': 1.3.6 + '@swc/core': 1.3.22 jsonc-parser: 3.2.0 dev: true - /@swc/wasm/1.2.122: - resolution: {integrity: sha512-sM1VCWQxmNhFtdxME+8UXNyPNhxNu7zdb6ikWpz0YKAQQFRGT5ThZgJrubEpah335SUToNg8pkdDF7ibVCjxbQ==} - requiresBuild: true - dev: true - optional: true - - /@swc/wasm/1.2.130: - resolution: {integrity: sha512-rNcJsBxS70+pv8YUWwf5fRlWX6JoY/HJc25HD/F8m6Kv7XhJdqPPMhyX6TKkUBPAG7TWlZYoxa+rHAjPy4Cj3Q==} - requiresBuild: true - dev: true - optional: true - /@testing-library/dom/8.16.0: resolution: {integrity: sha512-uxF4zmnLHHDlmW4l+0WDjcgLVwCvH+OVLpD8Dfp+Bjfz85prwxWGbwXgJdLtkgjD0qfOzkJF9SmA6YZPsMYX4w==} engines: {node: '>=12'} @@ -1145,23 +1109,23 @@ packages: pretty-format: 27.5.1 dev: true - /@testing-library/jest-dom/5.16.4: - resolution: {integrity: sha512-Gy+IoFutbMQcky0k+bqqumXZ1cTGswLsFqmNLzNdSKkU9KGV2u9oXhukCbbJ9/LRPKiqwxEE8VpV/+YZlfkPUA==} + /@testing-library/jest-dom/5.16.5: + resolution: {integrity: sha512-N5ixQ2qKpi5OLYfwQmUb/5mSV9LneAcaUfp32pn4yCnpb8r/Yz0pXFPck21dIicKmi+ta5WRAknkZCfA8refMA==} engines: {node: '>=8', npm: '>=6', yarn: '>=1'} dependencies: + '@adobe/css-tools': 4.0.1 '@babel/runtime': 7.18.9 '@types/testing-library__jest-dom': 5.14.5 aria-query: 5.0.0 chalk: 3.0.0 - css: 3.0.0 css.escape: 1.5.1 dom-accessibility-api: 0.5.14 lodash: 4.17.21 redent: 3.0.0 dev: true - /@testing-library/react/13.3.0_biqbaboplfbrettd7655fr4n2y: - resolution: {integrity: sha512-DB79aA426+deFgGSjnf5grczDPiL4taK3hFaa+M5q7q20Kcve9eQottOG5kZ74KEr55v0tU2CQormSSDK87zYQ==} + /@testing-library/react/13.4.0_biqbaboplfbrettd7655fr4n2y: + resolution: {integrity: sha512-sXOGON+WNTh3MLE9rve97ftaZukN3oNf2KjDy7YTx6hcTO2uuLHuCGynMDhFwGw/jYf4OJ2Qk0i4i79qMNNkyw==} engines: {node: '>=12'} peerDependencies: react: ^18.0.0 @@ -1227,7 +1191,7 @@ packages: /@types/graceful-fs/4.1.5: resolution: {integrity: sha512-anKkLmZZ+xm4p8JWBf4hElkM4XR+EZeA2M9BAkkTldmcyDY4mbdIJnRghDJH3Ov5ooY7/UAoENtmdMSkaAd7Cw==} dependencies: - '@types/node': 18.7.14 + '@types/node': 18.11.13 dev: true /@types/istanbul-lib-coverage/2.0.4: @@ -1246,31 +1210,27 @@ packages: '@types/istanbul-lib-report': 3.0.0 dev: true - /@types/jest/27.5.2: - resolution: {integrity: sha512-mpT8LJJ4CMeeahobofYWIjFo0xonRS/HfxnVEPMPFSQdGUt1uHCnoPT7Zhb+sjDU2wz0oKV0OLUR0WzrHNgfeA==} + /@types/jest/29.2.4: + resolution: {integrity: sha512-PipFB04k2qTRPePduVLTRiPzQfvMeLwUN3Z21hsAKaB/W9IIzgB2pizCL466ftJlcyZqnHoC9ZHpxLGl3fS86A==} dependencies: - jest-matcher-utils: 27.5.1 - pretty-format: 27.5.1 + expect: 29.3.1 + pretty-format: 29.3.1 dev: true - /@types/jsdom/16.2.15: - resolution: {integrity: sha512-nwF87yjBKuX/roqGYerZZM0Nv1pZDMAT5YhOHYeM/72Fic+VEqJh4nyoqoapzJnW3pUlfxPY5FhgsJtM+dRnQQ==} + /@types/jsdom/20.0.1: + resolution: {integrity: sha512-d0r18sZPmMQr1eG35u12FZfhIXNrnsPU/g5wvRKCUf/tOGilKKwYMYGqh33BNR6ba+2gkHw1EUiHoN3mn7E5IQ==} dependencies: - '@types/node': 18.7.14 - '@types/parse5': 6.0.3 + '@types/node': 18.11.13 '@types/tough-cookie': 4.0.2 + parse5: 7.1.2 dev: true /@types/json-schema/7.0.11: resolution: {integrity: sha512-wOuvG1SN4Us4rez+tylwwwCV1psiNVOkJeM3AUWUNWg/jDQY2+HE/444y5gc+jBmRqASOm2Oeh5c1axHobwRKQ==} dev: true - /@types/node/18.7.14: - resolution: {integrity: sha512-6bbDaETVi8oyIARulOE9qF1/Qdi/23z6emrUh0fNJRUmjznqrixD4MpGDdgOFk5Xb0m2H6Xu42JGdvAxaJR/wA==} - dev: true - - /@types/parse5/6.0.3: - resolution: {integrity: sha512-SuT16Q1K51EAVPz1K29DJ/sXjhSQ0zjvsypYJ6tlwVsRV9jwW5Adq2ch8Dq8kDBCkYnELS7N7VNCSB5nC56t/g==} + /@types/node/18.11.13: + resolution: {integrity: sha512-IASpMGVcWpUsx5xBOrxMj7Bl8lqfuTY7FKAnPmu5cHkfQVWF8GulWS1jbRqA934qZL35xh5xN/+Xe/i26Bod4w==} dev: true /@types/prettier/2.6.3: @@ -1284,11 +1244,11 @@ packages: /@types/react-dom/18.0.6: resolution: {integrity: sha512-/5OFZgfIPSwy+YuIBP/FgJnQnsxhZhjjrnxudMddeblOouIodEQ75X14Rr4wGSG/bknL+Omy9iWlLo1u/9GzAA==} dependencies: - '@types/react': 18.0.15 + '@types/react': 18.0.26 dev: true - /@types/react/18.0.15: - resolution: {integrity: sha512-iz3BtLuIYH1uWdsv6wXYdhozhqj20oD4/Hk2DNXIn1kFsmp9x8d9QB6FnPhfkbhd2PgEONt9Q1x/ebkwjfFLow==} + /@types/react/18.0.26: + resolution: {integrity: sha512-hCR3PJQsAIXyxhTNSiDFY//LhnMZWpNNr5etoCqx/iUfGc5gXWtQR2Phl908jVR6uPXacojQWTg4qRpkxTuGug==} dependencies: '@types/prop-types': 15.7.5 '@types/scheduler': 0.16.2 @@ -1298,13 +1258,17 @@ packages: /@types/resolve/1.17.1: resolution: {integrity: sha512-yy7HuzQhj0dhGpD8RLXSZWEkLsV9ibvxvi6EiJ3bkqLAO1RGo0WbkWQiwpRlSFymTJRz0d3k5LM3kkx8ArDbLw==} dependencies: - '@types/node': 18.7.14 + '@types/node': 18.11.13 dev: true /@types/scheduler/0.16.2: resolution: {integrity: sha512-hppQEBDmlwhFAXKJX2KnWLYu5yMfi91yazPb2l+lbJiwW+wdo1gNeRA+3RgNSO39WYX2euey41KEwnqesU2Jew==} dev: true + /@types/semver/7.3.13: + resolution: {integrity: sha512-21cFJr9z3g5dW8B0CVI9g2O9beqaThGQ6ZFBqHfwhzLDKUxaqTIy3vnfah/UPkfOiF2pLq+tGz+W8RyCskuslw==} + dev: true + /@types/stack-utils/2.0.1: resolution: {integrity: sha512-Hl219/BT5fLAaz6NDkSuhzasy49dwQS/DSdu4MdggFB8zcXv7vflBI3xp7FEmkmdDkBUI2bPUNeMttp2knYdxw==} dev: true @@ -1312,7 +1276,7 @@ packages: /@types/testing-library__jest-dom/5.14.5: resolution: {integrity: sha512-SBwbxYoyPIvxHbeHxTZX2Pe/74F/tX2/D3mMvzabdeJ25bBojfW0TyB8BHrbq/9zaaKICJZjLP+8r6AeZMFCuQ==} dependencies: - '@types/jest': 27.5.2 + '@types/jest': 29.2.4 dev: true /@types/tough-cookie/4.0.2: @@ -1339,8 +1303,8 @@ packages: '@types/yargs-parser': 21.0.0 dev: true - /@typescript-eslint/eslint-plugin/5.36.1_lwwfuyj7twi2pixhqbdlqx6rge: - resolution: {integrity: sha512-iC40UK8q1tMepSDwiLbTbMXKDxzNy+4TfPWgIL661Ym0sD42vRcQU93IsZIrmi+x292DBr60UI/gSwfdVYexCA==} + /@typescript-eslint/eslint-plugin/5.46.1_imrg37k3svwu377c6q7gkarwmi: + resolution: {integrity: sha512-YpzNv3aayRBwjs4J3oz65eVLXc9xx0PDbIRisHj+dYhvBn02MjYOD96P8YGiWEIFBrojaUjxvkaUpakD82phsA==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} peerDependencies: '@typescript-eslint/parser': ^5.0.0 @@ -1350,24 +1314,24 @@ packages: typescript: optional: true dependencies: - '@typescript-eslint/parser': 5.36.1_3gbszem2nfymcdpvzng2ytglf4 - '@typescript-eslint/scope-manager': 5.36.1 - '@typescript-eslint/type-utils': 5.36.1_3gbszem2nfymcdpvzng2ytglf4 - '@typescript-eslint/utils': 5.36.1_3gbszem2nfymcdpvzng2ytglf4 + '@typescript-eslint/parser': 5.46.1_ha6vam6werchizxrnqvarmz2zu + '@typescript-eslint/scope-manager': 5.46.1 + '@typescript-eslint/type-utils': 5.46.1_ha6vam6werchizxrnqvarmz2zu + '@typescript-eslint/utils': 5.46.1_ha6vam6werchizxrnqvarmz2zu debug: 4.3.4 - eslint: 8.15.0 - functional-red-black-tree: 1.0.1 + eslint: 8.29.0 ignore: 5.2.0 + natural-compare-lite: 1.4.0 regexpp: 3.2.0 semver: 7.3.7 - tsutils: 3.21.0_typescript@4.8.2 - typescript: 4.8.2 + tsutils: 3.21.0_typescript@4.9.4 + typescript: 4.9.4 transitivePeerDependencies: - supports-color dev: true - /@typescript-eslint/parser/5.36.1_3gbszem2nfymcdpvzng2ytglf4: - resolution: {integrity: sha512-/IsgNGOkBi7CuDfUbwt1eOqUXF9WGVBW9dwEe1pi+L32XrTsZIgmDFIi2RxjzsvB/8i+MIf5JIoTEH8LOZ368A==} + /@typescript-eslint/parser/5.46.1_ha6vam6werchizxrnqvarmz2zu: + resolution: {integrity: sha512-RelQ5cGypPh4ySAtfIMBzBGyrNerQcmfA1oJvPj5f+H4jI59rl9xxpn4bonC0tQvUKOEN7eGBFWxFLK3Xepneg==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} peerDependencies: eslint: ^6.0.0 || ^7.0.0 || ^8.0.0 @@ -1376,24 +1340,16 @@ packages: typescript: optional: true dependencies: - '@typescript-eslint/scope-manager': 5.36.1 - '@typescript-eslint/types': 5.36.1 - '@typescript-eslint/typescript-estree': 5.36.1_typescript@4.8.2 + '@typescript-eslint/scope-manager': 5.46.1 + '@typescript-eslint/types': 5.46.1 + '@typescript-eslint/typescript-estree': 5.46.1_typescript@4.9.4 debug: 4.3.4 - eslint: 8.15.0 - typescript: 4.8.2 + eslint: 8.29.0 + typescript: 4.9.4 transitivePeerDependencies: - supports-color dev: true - /@typescript-eslint/scope-manager/5.30.7: - resolution: {integrity: sha512-7BM1bwvdF1UUvt+b9smhqdc/eniOnCKxQT/kj3oXtj3LqnTWCAM0qHRHfyzCzhEfWX0zrW7KqXXeE4DlchZBKw==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} - dependencies: - '@typescript-eslint/types': 5.30.7 - '@typescript-eslint/visitor-keys': 5.30.7 - dev: true - /@typescript-eslint/scope-manager/5.36.1: resolution: {integrity: sha512-pGC2SH3/tXdu9IH3ItoqciD3f3RRGCh7hb9zPdN2Drsr341zgd6VbhP5OHQO/reUqihNltfPpMpTNihFMarP2w==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} @@ -1402,8 +1358,16 @@ packages: '@typescript-eslint/visitor-keys': 5.36.1 dev: true - /@typescript-eslint/type-utils/5.36.1_3gbszem2nfymcdpvzng2ytglf4: - resolution: {integrity: sha512-xfZhfmoQT6m3lmlqDvDzv9TiCYdw22cdj06xY0obSznBsT///GK5IEZQdGliXpAOaRL34o8phEvXzEo/VJx13Q==} + /@typescript-eslint/scope-manager/5.46.1: + resolution: {integrity: sha512-iOChVivo4jpwUdrJZyXSMrEIM/PvsbbDOX1y3UCKjSgWn+W89skxWaYXACQfxmIGhPVpRWK/VWPYc+bad6smIA==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + dependencies: + '@typescript-eslint/types': 5.46.1 + '@typescript-eslint/visitor-keys': 5.46.1 + dev: true + + /@typescript-eslint/type-utils/5.46.1_ha6vam6werchizxrnqvarmz2zu: + resolution: {integrity: sha512-V/zMyfI+jDmL1ADxfDxjZ0EMbtiVqj8LUGPAGyBkXXStWmCUErMpW873zEHsyguWCuq2iN4BrlWUkmuVj84yng==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} peerDependencies: eslint: '*' @@ -1412,28 +1376,28 @@ packages: typescript: optional: true dependencies: - '@typescript-eslint/typescript-estree': 5.36.1_typescript@4.8.2 - '@typescript-eslint/utils': 5.36.1_3gbszem2nfymcdpvzng2ytglf4 + '@typescript-eslint/typescript-estree': 5.46.1_typescript@4.9.4 + '@typescript-eslint/utils': 5.46.1_ha6vam6werchizxrnqvarmz2zu debug: 4.3.4 - eslint: 8.15.0 - tsutils: 3.21.0_typescript@4.8.2 - typescript: 4.8.2 + eslint: 8.29.0 + tsutils: 3.21.0_typescript@4.9.4 + typescript: 4.9.4 transitivePeerDependencies: - supports-color dev: true - /@typescript-eslint/types/5.30.7: - resolution: {integrity: sha512-ocVkETUs82+U+HowkovV6uxf1AnVRKCmDRNUBUUo46/5SQv1owC/EBFkiu4MOHeZqhKz2ktZ3kvJJ1uFqQ8QPg==} + /@typescript-eslint/types/5.36.1: + resolution: {integrity: sha512-jd93ShpsIk1KgBTx9E+hCSEuLCUFwi9V/urhjOWnOaksGZFbTOxAT47OH2d4NLJnLhkVD+wDbB48BuaycZPLBg==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} dev: true - /@typescript-eslint/types/5.36.1: - resolution: {integrity: sha512-jd93ShpsIk1KgBTx9E+hCSEuLCUFwi9V/urhjOWnOaksGZFbTOxAT47OH2d4NLJnLhkVD+wDbB48BuaycZPLBg==} + /@typescript-eslint/types/5.46.1: + resolution: {integrity: sha512-Z5pvlCaZgU+93ryiYUwGwLl9AQVB/PQ1TsJ9NZ/gHzZjN7g9IAn6RSDkpCV8hqTwAiaj6fmCcKSQeBPlIpW28w==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} dev: true - /@typescript-eslint/typescript-estree/5.30.7_typescript@4.8.2: - resolution: {integrity: sha512-tNslqXI1ZdmXXrHER83TJ8OTYl4epUzJC0aj2i4DMDT4iU+UqLT3EJeGQvJ17BMbm31x5scSwo3hPM0nqQ1AEA==} + /@typescript-eslint/typescript-estree/5.36.1_typescript@4.9.4: + resolution: {integrity: sha512-ih7V52zvHdiX6WcPjsOdmADhYMDN15SylWRZrT2OMy80wzKbc79n8wFW0xpWpU0x3VpBz/oDgTm2xwDAnFTl+g==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} peerDependencies: typescript: '*' @@ -1441,20 +1405,20 @@ packages: typescript: optional: true dependencies: - '@typescript-eslint/types': 5.30.7 - '@typescript-eslint/visitor-keys': 5.30.7 + '@typescript-eslint/types': 5.36.1 + '@typescript-eslint/visitor-keys': 5.36.1 debug: 4.3.4 globby: 11.1.0 is-glob: 4.0.3 semver: 7.3.7 - tsutils: 3.21.0_typescript@4.8.2 - typescript: 4.8.2 + tsutils: 3.21.0_typescript@4.9.4 + typescript: 4.9.4 transitivePeerDependencies: - supports-color dev: true - /@typescript-eslint/typescript-estree/5.36.1_typescript@4.8.2: - resolution: {integrity: sha512-ih7V52zvHdiX6WcPjsOdmADhYMDN15SylWRZrT2OMy80wzKbc79n8wFW0xpWpU0x3VpBz/oDgTm2xwDAnFTl+g==} + /@typescript-eslint/typescript-estree/5.46.1_typescript@4.9.4: + resolution: {integrity: sha512-j9W4t67QiNp90kh5Nbr1w92wzt+toiIsaVPnEblB2Ih2U9fqBTyqV9T3pYWZBRt6QoMh/zVWP59EpuCjc4VRBg==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} peerDependencies: typescript: '*' @@ -1462,67 +1426,69 @@ packages: typescript: optional: true dependencies: - '@typescript-eslint/types': 5.36.1 - '@typescript-eslint/visitor-keys': 5.36.1 + '@typescript-eslint/types': 5.46.1 + '@typescript-eslint/visitor-keys': 5.46.1 debug: 4.3.4 globby: 11.1.0 is-glob: 4.0.3 semver: 7.3.7 - tsutils: 3.21.0_typescript@4.8.2 - typescript: 4.8.2 + tsutils: 3.21.0_typescript@4.9.4 + typescript: 4.9.4 transitivePeerDependencies: - supports-color dev: true - /@typescript-eslint/utils/5.30.7_3gbszem2nfymcdpvzng2ytglf4: - resolution: {integrity: sha512-Z3pHdbFw+ftZiGUnm1GZhkJgVqsDL5CYW2yj+TB2mfXDFOMqtbzQi2dNJIyPqPbx9mv2kUxS1gU+r2gKlKi1rQ==} + /@typescript-eslint/utils/5.36.1_ha6vam6werchizxrnqvarmz2zu: + resolution: {integrity: sha512-lNj4FtTiXm5c+u0pUehozaUWhh7UYKnwryku0nxJlYUEWetyG92uw2pr+2Iy4M/u0ONMKzfrx7AsGBTCzORmIg==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} peerDependencies: eslint: ^6.0.0 || ^7.0.0 || ^8.0.0 dependencies: '@types/json-schema': 7.0.11 - '@typescript-eslint/scope-manager': 5.30.7 - '@typescript-eslint/types': 5.30.7 - '@typescript-eslint/typescript-estree': 5.30.7_typescript@4.8.2 - eslint: 8.15.0 + '@typescript-eslint/scope-manager': 5.36.1 + '@typescript-eslint/types': 5.36.1 + '@typescript-eslint/typescript-estree': 5.36.1_typescript@4.9.4 + eslint: 8.29.0 eslint-scope: 5.1.1 - eslint-utils: 3.0.0_eslint@8.15.0 + eslint-utils: 3.0.0_eslint@8.29.0 transitivePeerDependencies: - supports-color - typescript dev: true - /@typescript-eslint/utils/5.36.1_3gbszem2nfymcdpvzng2ytglf4: - resolution: {integrity: sha512-lNj4FtTiXm5c+u0pUehozaUWhh7UYKnwryku0nxJlYUEWetyG92uw2pr+2Iy4M/u0ONMKzfrx7AsGBTCzORmIg==} + /@typescript-eslint/utils/5.46.1_ha6vam6werchizxrnqvarmz2zu: + resolution: {integrity: sha512-RBdBAGv3oEpFojaCYT4Ghn4775pdjvwfDOfQ2P6qzNVgQOVrnSPe5/Pb88kv7xzYQjoio0eKHKB9GJ16ieSxvA==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} peerDependencies: eslint: ^6.0.0 || ^7.0.0 || ^8.0.0 dependencies: '@types/json-schema': 7.0.11 - '@typescript-eslint/scope-manager': 5.36.1 - '@typescript-eslint/types': 5.36.1 - '@typescript-eslint/typescript-estree': 5.36.1_typescript@4.8.2 - eslint: 8.15.0 + '@types/semver': 7.3.13 + '@typescript-eslint/scope-manager': 5.46.1 + '@typescript-eslint/types': 5.46.1 + '@typescript-eslint/typescript-estree': 5.46.1_typescript@4.9.4 + eslint: 8.29.0 eslint-scope: 5.1.1 - eslint-utils: 3.0.0_eslint@8.15.0 + eslint-utils: 3.0.0_eslint@8.29.0 + semver: 7.3.7 transitivePeerDependencies: - supports-color - typescript dev: true - /@typescript-eslint/visitor-keys/5.30.7: - resolution: {integrity: sha512-KrRXf8nnjvcpxDFOKej4xkD7657+PClJs5cJVSG7NNoCNnjEdc46juNAQt7AyuWctuCgs6mVRc1xGctEqrjxWw==} + /@typescript-eslint/visitor-keys/5.36.1: + resolution: {integrity: sha512-ojB9aRyRFzVMN3b5joSYni6FAS10BBSCAfKJhjJAV08t/a95aM6tAhz+O1jF+EtgxktuSO3wJysp2R+Def/IWQ==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} dependencies: - '@typescript-eslint/types': 5.30.7 + '@typescript-eslint/types': 5.36.1 eslint-visitor-keys: 3.3.0 dev: true - /@typescript-eslint/visitor-keys/5.36.1: - resolution: {integrity: sha512-ojB9aRyRFzVMN3b5joSYni6FAS10BBSCAfKJhjJAV08t/a95aM6tAhz+O1jF+EtgxktuSO3wJysp2R+Def/IWQ==} + /@typescript-eslint/visitor-keys/5.46.1: + resolution: {integrity: sha512-jczZ9noovXwy59KjRTk1OftT78pwygdcmCuBf8yMoWt/8O8l+6x2LSEze0E4TeepXK4MezW3zGSyoDRZK7Y9cg==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} dependencies: - '@typescript-eslint/types': 5.36.1 + '@typescript-eslint/types': 5.46.1 eslint-visitor-keys: 3.3.0 dev: true @@ -1530,11 +1496,11 @@ packages: resolution: {integrity: sha512-j2afSsaIENvHZN2B8GOpF566vZ5WVk5opAiMTvWgaQT8DkbOqsTfvNAvHoRGU2zzP8cPoqys+xHTRDWW8L+/BA==} dev: true - /acorn-globals/6.0.0: - resolution: {integrity: sha512-ZQl7LOWaF5ePqqcX4hLuv/bLXYQNfNWw2c0/yX/TsPRKamzHcTGQnlCjHT3TsmkOUVEPS3crCxiPfdzE/Trlhg==} + /acorn-globals/7.0.1: + resolution: {integrity: sha512-umOSDSDrfHbTNPuNpC2NSnnA3LUrqpevPb4T9jRx4MagXNS0rs+gwiTcAvqCRmsD6utzsrzNt+ebm00SNWiC3Q==} dependencies: - acorn: 7.4.1 - acorn-walk: 7.2.0 + acorn: 8.8.1 + acorn-walk: 8.2.0 dev: true /acorn-jsx/5.3.2_acorn@8.8.0: @@ -1545,19 +1511,19 @@ packages: acorn: 8.8.0 dev: true - /acorn-walk/7.2.0: - resolution: {integrity: sha512-OPdCF6GsMIP+Az+aWfAAOEt2/+iVDKE7oy6lJ098aoe59oAmK76qV6Gw60SbZ8jHuG2wH058GF4pLFbYamYrVA==} + /acorn-walk/8.2.0: + resolution: {integrity: sha512-k+iyHEuPgSw6SbuDpGQM+06HQUa04DZ3o+F6CSzXMvvI5KMvnaEqXe+YVe555R9nn6GPt404fos4wcgpw12SDA==} engines: {node: '>=0.4.0'} dev: true - /acorn/7.4.1: - resolution: {integrity: sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==} + /acorn/8.8.0: + resolution: {integrity: sha512-QOxyigPVrpZ2GXT+PFyZTl6TtOFc5egxHIP9IlQ+RbupQuX4RkT/Bee4/kQuC02Xkzg84JcT7oLYtDIQxp+v7w==} engines: {node: '>=0.4.0'} hasBin: true dev: true - /acorn/8.8.0: - resolution: {integrity: sha512-QOxyigPVrpZ2GXT+PFyZTl6TtOFc5egxHIP9IlQ+RbupQuX4RkT/Bee4/kQuC02Xkzg84JcT7oLYtDIQxp+v7w==} + /acorn/8.8.1: + resolution: {integrity: sha512-7zFpHzhnqYKrkYdUjF1HI1bzd0VygEGX8lFk4k5zVMqHEoES+P+7TKI+EvLO9WVMJ8eekdO0aDEK044xTXwPPA==} engines: {node: '>=0.4.0'} hasBin: true dev: true @@ -1656,14 +1622,14 @@ packages: engines: {node: '>=6.0'} dev: true - /array-includes/3.1.5: - resolution: {integrity: sha512-iSDYZMMyTPkiFasVqfuAQnWAYcvO/SeBSCGKePoEthjp4LEMTe4uLc7b025o4jAZpHhihh8xPo99TNWUWWkGDQ==} + /array-includes/3.1.6: + resolution: {integrity: sha512-sgTbLvL6cNnw24FnbaDyjmvddQ2ML8arZsgaJhoABMoplz/4QRhtrYS+alr1BUM1Bwp6dhx8vVCBSLG+StwOFw==} engines: {node: '>= 0.4'} dependencies: call-bind: 1.0.2 define-properties: 1.1.4 - es-abstract: 1.20.1 - get-intrinsic: 1.1.2 + es-abstract: 1.20.5 + get-intrinsic: 1.1.3 is-string: 1.0.7 dev: true @@ -1672,16 +1638,26 @@ packages: engines: {node: '>=8'} dev: true - /array.prototype.flatmap/1.3.0: - resolution: {integrity: sha512-PZC9/8TKAIxcWKdyeb77EzULHPrIX/tIZebLJUQOMR1OwYosT8yggdfWScfTBCDj5utONvOuPQQumYsU2ULbkg==} + /array.prototype.flatmap/1.3.1: + resolution: {integrity: sha512-8UGn9O1FDVvMNB0UlLv4voxRMze7+FpHyF5mSMRjWHUMlpoDViniy05870VlxhfgTnLbpuwTzvD76MTtWxB/mQ==} engines: {node: '>= 0.4'} dependencies: call-bind: 1.0.2 define-properties: 1.1.4 - es-abstract: 1.20.1 + es-abstract: 1.20.5 es-shim-unscopables: 1.0.0 dev: true + /array.prototype.tosorted/1.1.1: + resolution: {integrity: sha512-pZYPXPRl2PqWcsUs6LOMn+1f1532nEoPTYowBtqLwAW+W8vSVhkIGnmOX1t/UQjD6YGI0vcD2B1U7ZFGQH9jnQ==} + dependencies: + call-bind: 1.0.2 + define-properties: 1.1.4 + es-abstract: 1.20.5 + es-shim-unscopables: 1.0.0 + get-intrinsic: 1.1.3 + dev: true + /astral-regex/2.0.0: resolution: {integrity: sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ==} engines: {node: '>=8'} @@ -1691,23 +1667,17 @@ packages: resolution: {integrity: sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==} dev: true - /atob/2.1.2: - resolution: {integrity: sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg==} - engines: {node: '>= 4.5.0'} - hasBin: true - dev: true - - /babel-jest/28.1.3_@babel+core@7.18.9: - resolution: {integrity: sha512-epUaPOEWMk3cWX0M/sPvCHHCe9fMFAa/9hXEgKP8nFfNl/jlGkE9ucq9NqkZGXLDduCJYS0UvSlPUwC0S+rH6Q==} - engines: {node: ^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0} + /babel-jest/29.3.1_@babel+core@7.18.9: + resolution: {integrity: sha512-aard+xnMoxgjwV70t0L6wkW/3HQQtV+O0PEimxKgzNqCJnbYmroPojdP2tqKSOAt8QAKV/uSZU8851M7B5+fcA==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} peerDependencies: '@babel/core': ^7.8.0 dependencies: '@babel/core': 7.18.9 - '@jest/transform': 28.1.3 + '@jest/transform': 29.3.1 '@types/babel__core': 7.1.19 babel-plugin-istanbul: 6.1.1 - babel-preset-jest: 28.1.3_@babel+core@7.18.9 + babel-preset-jest: 29.2.0_@babel+core@7.18.9 chalk: 4.1.2 graceful-fs: 4.2.10 slash: 3.0.0 @@ -1728,9 +1698,9 @@ packages: - supports-color dev: true - /babel-plugin-jest-hoist/28.1.3: - resolution: {integrity: sha512-Ys3tUKAmfnkRUpPdpa98eYrAR0nV+sSFUZZEGuQ2EbFd1y4SOLtD5QDNHAq+bb9a+bbXvYQC4b+ID/THIMcU6Q==} - engines: {node: ^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0} + /babel-plugin-jest-hoist/29.2.0: + resolution: {integrity: sha512-TnspP2WNiR3GLfCsUNHqeXw0RoQ2f9U5hQ5L3XFpwuO8htQmSrhh8qsB6vi5Yi8+kuynN1yjDjQsPfkebmB6ZA==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: '@babel/template': 7.18.6 '@babel/types': 7.18.9 @@ -1758,14 +1728,14 @@ packages: '@babel/plugin-syntax-top-level-await': 7.14.5_@babel+core@7.18.9 dev: true - /babel-preset-jest/28.1.3_@babel+core@7.18.9: - resolution: {integrity: sha512-L+fupJvlWAHbQfn74coNX3zf60LXMJsezNvvx8eIh7iOR1luJ1poxYgQk1F8PYtNq/6QODDHCqsSnTFSWC491A==} - engines: {node: ^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0} + /babel-preset-jest/29.2.0_@babel+core@7.18.9: + resolution: {integrity: sha512-z9JmMJppMxNv8N7fNRHvhMg9cvIkMxQBXgFkane3yKVEvEOP+kB50lk8DFRvF9PGqbyXxlmebKWhuDORO8RgdA==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} peerDependencies: '@babel/core': ^7.0.0 dependencies: '@babel/core': 7.18.9 - babel-plugin-jest-hoist: 28.1.3 + babel-plugin-jest-hoist: 29.2.0 babel-preset-current-node-syntax: 1.0.1_@babel+core@7.18.9 dev: true @@ -1787,16 +1757,12 @@ packages: fill-range: 7.0.1 dev: true - /browser-process-hrtime/1.0.0: - resolution: {integrity: sha512-9o5UecI3GhkpM6DrXr69PblIuWxPKk9Y0jHBRhdocZ2y7YECBFCsHm79Pr3OyR2AvjhDkabFJaDJMYRazHgsow==} - dev: true - /browserslist/4.21.2: resolution: {integrity: sha512-MonuOgAtUB46uP5CezYbRaYKBNt2LxP0yX+Pmj4LkcDFGkn9Cbpi83d9sCjwQDErXsIJSzY5oKGDbgOlF/LPAA==} engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7} hasBin: true dependencies: - caniuse-lite: 1.0.30001369 + caniuse-lite: 1.0.30001439 electron-to-chromium: 1.4.199 node-releases: 2.0.6 update-browserslist-db: 1.0.5_browserslist@4.21.2 @@ -1817,8 +1783,8 @@ packages: engines: {node: '>=6'} dev: true - /bunchee/2.1.7_typescript@4.8.2: - resolution: {integrity: sha512-0eJxpWzCnuTTeEDDLrKhs5mr17j/Czx66St+ptr3r6OaIxtXL/cftPGjS+bVeypPTbqZ/EDdPbJ6sXYe58V2yg==} + /bunchee/2.2.0_typescript@4.9.4: + resolution: {integrity: sha512-lJY6bMIbNcSfBPUZ+6ZZPoqTKIPkl0fi+SL+DBDhWER1GOH14m6DTGLpa0MSEI3bo3TBUJ7TggQ/Gw7p76+nvQ==} hasBin: true peerDependencies: typescript: '>= 3.7.0' @@ -1829,21 +1795,21 @@ packages: '@rollup/plugin-commonjs': 22.0.2_rollup@2.79.1 '@rollup/plugin-json': 4.1.0_rollup@2.79.1 '@rollup/plugin-node-resolve': 14.1.0_rollup@2.79.1 - '@swc/core': 1.3.6 + '@swc/core': 1.3.22 arg: 5.0.0 rollup: 2.79.1 - rollup-plugin-dts: 4.2.3_b2qkuxlobxx24w2qbmhtfsd2nq + rollup-plugin-dts: 4.2.3_ntuob3xud5wukob6phfmz2mbyy rollup-plugin-preserve-shebang: 1.0.1 - rollup-plugin-swc3: 0.6.0_k45d4bcey73t6cefd5fuiagzey + rollup-plugin-swc3: 0.6.0_5e6vvh4jynfu3vhynwqmszxsva tslib: 2.4.0 - typescript: 4.8.2 + typescript: 4.9.4 dev: true /call-bind/1.0.2: resolution: {integrity: sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==} dependencies: function-bind: 1.1.1 - get-intrinsic: 1.1.2 + get-intrinsic: 1.1.3 dev: true /callsites/3.1.0: @@ -1861,8 +1827,8 @@ packages: engines: {node: '>=10'} dev: true - /caniuse-lite/1.0.30001369: - resolution: {integrity: sha512-OY1SBHaodJc4wflDIKnlkdqWzJZd1Ls/2zbVJHBSv3AT7vgOJ58yAhd2CN4d57l2kPJrgMb7P9+N1Mhy4tNSQA==} + /caniuse-lite/1.0.30001439: + resolution: {integrity: sha512-1MgUzEkoMO6gKfXflStpYgZDlFM7M/ck/bgfVCACO5vnAf0fXoNVHdWtqGU+MYca+4bL9Z5bpOVmR33cWW9G2A==} dev: true /chalk/2.4.2: @@ -1931,6 +1897,10 @@ packages: string-width: 5.1.2 dev: true + /client-only/0.0.1: + resolution: {integrity: sha512-IV3Ou0jSMzZrd3pZ48nLkT9DA7Ag1pnPzaiQhpW7c3RbcqqzvzzVu+L8gfqMp/8IM2MQtSiqaCxrrcfu8I8rMA==} + dev: true + /cliui/7.0.4: resolution: {integrity: sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==} dependencies: @@ -1999,6 +1969,10 @@ packages: safe-buffer: 5.1.2 dev: true + /convert-source-map/2.0.0: + resolution: {integrity: sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==} + dev: true + /cross-spawn/7.0.3: resolution: {integrity: sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==} engines: {node: '>= 8'} @@ -2012,14 +1986,6 @@ packages: resolution: {integrity: sha512-YUifsXXuknHlUsmlgyY0PKzgPOr7/FjCePfHNt0jxm83wHZi44VDMQ7/fGNkjY3/jV1MC+1CmZbaHzugyeRtpg==} dev: true - /css/3.0.0: - resolution: {integrity: sha512-DG9pFfwOrzc+hawpmqX/dHYHJG+Bsdb0klhyi1sDneOgGOXy9wQIC8hzyVp1e4NRYDBdxcylvywPkkXCHAzTyQ==} - dependencies: - inherits: 2.0.4 - source-map: 0.6.1 - source-map-resolve: 0.6.0 - dev: true - /cssom/0.3.8: resolution: {integrity: sha512-b0tGHbfegbhPJpxpiBPU2sCkigAqtM9O121le6bbOlgyV+NyGyCmVfJ6QW9eRjz8CpNfWEOYBIMIGRYkLwsIYg==} dev: true @@ -2060,13 +2026,8 @@ packages: ms: 2.1.2 dev: true - /decimal.js/10.3.1: - resolution: {integrity: sha512-V0pfhfr8suzyPGOx3nmq4aHqabehUZn6Ch9kyFpV79TGDTWFmHqUqXdabR7QHqxzrYolF4+tVmJhUG4OURg5dQ==} - dev: true - - /decode-uri-component/0.2.0: - resolution: {integrity: sha512-hjf+xovcEn31w/EUYdTXQh/8smFL/dzYjohQGEIgjyNavaJfBY2p5F527Bo1VPATxv0VYTUC2bOcXvqFwk78Og==} - engines: {node: '>=0.10'} + /decimal.js/10.4.3: + resolution: {integrity: sha512-VBBaLc1MgL5XpzgIP7ny5Z6Nx3UrRkIViUkPUdtl9aya5amy3De1gsUUSB1g3+3sExYNjCAsAznmukyxCb1GRA==} dev: true /dedent/0.7.0: @@ -2100,14 +2061,9 @@ packages: engines: {node: '>=8'} dev: true - /diff-sequences/27.5.1: - resolution: {integrity: sha512-k1gCAXAsNgLwEL+Y8Wvl+M6oEFj5bgazfZULpS5CneoPPXRaCCW7dm+q21Ky2VEE5X+VeRDBVg1Pcvvsr4TtNQ==} - engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} - dev: true - - /diff-sequences/28.1.1: - resolution: {integrity: sha512-FU0iFaH/E23a+a718l8Qa/19bF9p06kgE0KipMOMadwa3SjnaElKzPaUC0vnibs6/B/9ni97s61mcejk8W1fQw==} - engines: {node: ^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0} + /diff-sequences/29.3.1: + resolution: {integrity: sha512-hlM3QR272NXCi4pq+N4Kok4kOp6EsgOM3ZSpJI7Da3UAs+Ttsi8MRmB6trM/lhyzUxGfOgnpkHtgqm5Q/CTcfQ==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dev: true /dir-glob/3.0.1: @@ -2150,8 +2106,8 @@ packages: resolution: {integrity: sha512-WIGME0Cs7oob3mxsJwHbeWkH0tYkIE/sjkJ8ML2BYmuRcjhRl/q5kVDXG7W9LOOKwzPU5M0LBlXRq9rlSgnNlg==} dev: true - /emittery/0.10.2: - resolution: {integrity: sha512-aITqOwnLanpHLNXZJENbOgjUBeHocD+xsSJmNrjovKBW5HbSpW3d1pEls7GFQPUWXiwG9+0P4GtHfEqC/4M0Iw==} + /emittery/0.13.1: + resolution: {integrity: sha512-DeWwawk6r5yR9jFgnDKYt4sLS0LmHJJi3ZOnb5/JdbYwj3nW+FxQnHIjhBKz8YLC7oRNPVM9NQ47I3CVx34eqQ==} engines: {node: '>=12'} dev: true @@ -2163,27 +2119,33 @@ packages: resolution: {integrity: sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==} dev: true + /entities/4.4.0: + resolution: {integrity: sha512-oYp7156SP8LkeGD0GF85ad1X9Ai79WtRsZ2gxJqtBuzH+98YUV6jkHEKlZkMbcrjJjIVJNIDP/3WL9wQkoPbWA==} + engines: {node: '>=0.12'} + dev: true + /error-ex/1.3.2: resolution: {integrity: sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==} dependencies: is-arrayish: 0.2.1 dev: true - /es-abstract/1.20.1: - resolution: {integrity: sha512-WEm2oBhfoI2sImeM4OF2zE2V3BYdSF+KnSi9Sidz51fQHd7+JuF8Xgcj9/0o+OWeIeIS/MiuNnlruQrJf16GQA==} + /es-abstract/1.20.5: + resolution: {integrity: sha512-7h8MM2EQhsCA7pU/Nv78qOXFpD8Rhqd12gYiSJVkrH9+e8VuA8JlPJK/hQjjlLv6pJvx/z1iRFKzYb0XT/RuAQ==} engines: {node: '>= 0.4'} dependencies: call-bind: 1.0.2 es-to-primitive: 1.2.1 function-bind: 1.1.1 function.prototype.name: 1.1.5 - get-intrinsic: 1.1.2 + get-intrinsic: 1.1.3 get-symbol-description: 1.0.0 + gopd: 1.0.1 has: 1.0.3 has-property-descriptors: 1.0.0 has-symbols: 1.0.3 internal-slot: 1.0.3 - is-callable: 1.2.4 + is-callable: 1.2.7 is-negative-zero: 2.0.2 is-regex: 1.1.4 is-shared-array-buffer: 1.0.2 @@ -2191,10 +2153,11 @@ packages: is-weakref: 1.0.2 object-inspect: 1.12.2 object-keys: 1.1.1 - object.assign: 4.1.2 + object.assign: 4.1.4 regexp.prototype.flags: 1.4.3 - string.prototype.trimend: 1.0.5 - string.prototype.trimstart: 1.0.5 + safe-regex-test: 1.0.0 + string.prototype.trimend: 1.0.6 + string.prototype.trimstart: 1.0.6 unbox-primitive: 1.0.2 dev: true @@ -2208,7 +2171,7 @@ packages: resolution: {integrity: sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==} engines: {node: '>= 0.4'} dependencies: - is-callable: 1.2.4 + is-callable: 1.2.7 is-date-object: 1.0.5 is-symbol: 1.0.4 dev: true @@ -2246,67 +2209,68 @@ packages: source-map: 0.6.1 dev: true - /eslint-config-prettier/8.5.0_eslint@8.15.0: + /eslint-config-prettier/8.5.0_eslint@8.29.0: resolution: {integrity: sha512-obmWKLUNCnhtQRKc+tmnYuQl0pFU1ibYJQ5BGhTVB08bHe9wC8qUeG7c08dj9XX+AuPj1YSGSQIHl1pnDHZR0Q==} hasBin: true peerDependencies: eslint: '>=7.0.0' dependencies: - eslint: 8.15.0 + eslint: 8.29.0 dev: true - /eslint-plugin-jest-dom/4.0.1_eslint@8.15.0: - resolution: {integrity: sha512-9aUaX4AtlFBziLqKSjc7DKHQ/y1T32qNapG3uSeLDMJYKswASoQLJWOfLIE+zEHKvCNzNIz8T7282tQkuu0TKQ==} + /eslint-plugin-jest-dom/4.0.3_eslint@8.29.0: + resolution: {integrity: sha512-9j+n8uj0+V0tmsoS7bYC7fLhQmIvjRqRYEcbDSi+TKPsTThLLXCyj5swMSSf/hTleeMktACnn+HFqXBr5gbcbA==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0, npm: '>=6', yarn: '>=1'} peerDependencies: - eslint: '>=6.8' + eslint: ^6.8.0 || ^7.0.0 || ^8.0.0 dependencies: '@babel/runtime': 7.18.9 '@testing-library/dom': 8.16.0 - eslint: 8.15.0 + eslint: 8.29.0 requireindex: 1.2.0 dev: true - /eslint-plugin-react-hooks/4.5.0_eslint@8.15.0: - resolution: {integrity: sha512-8k1gRt7D7h03kd+SAAlzXkQwWK22BnK6GKZG+FJA6BAGy22CFvl8kCIXKpVux0cCxMWDQUPqSok0LKaZ0aOcCw==} + /eslint-plugin-react-hooks/4.6.0_eslint@8.29.0: + resolution: {integrity: sha512-oFc7Itz9Qxh2x4gNHStv3BqJq54ExXmfC+a1NjAta66IAN87Wu0R/QArgIS9qKzX3dXKPI9H5crl9QchNMY9+g==} engines: {node: '>=10'} peerDependencies: eslint: ^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0-0 dependencies: - eslint: 8.15.0 + eslint: 8.29.0 dev: true - /eslint-plugin-react/7.30.0_eslint@8.15.0: - resolution: {integrity: sha512-RgwH7hjW48BleKsYyHK5vUAvxtE9SMPDKmcPRQgtRCYaZA0XQPt5FSkrU3nhz5ifzMZcA8opwmRJ2cmOO8tr5A==} + /eslint-plugin-react/7.31.11_eslint@8.29.0: + resolution: {integrity: sha512-TTvq5JsT5v56wPa9OYHzsrOlHzKZKjV+aLgS+55NJP/cuzdiQPC7PfYoUjMoxlffKtvijpk7vA/jmuqRb9nohw==} engines: {node: '>=4'} peerDependencies: eslint: ^3 || ^4 || ^5 || ^6 || ^7 || ^8 dependencies: - array-includes: 3.1.5 - array.prototype.flatmap: 1.3.0 + array-includes: 3.1.6 + array.prototype.flatmap: 1.3.1 + array.prototype.tosorted: 1.1.1 doctrine: 2.1.0 - eslint: 8.15.0 + eslint: 8.29.0 estraverse: 5.3.0 jsx-ast-utils: 3.3.2 minimatch: 3.1.2 - object.entries: 1.1.5 - object.fromentries: 2.0.5 - object.hasown: 1.1.1 - object.values: 1.1.5 + object.entries: 1.1.6 + object.fromentries: 2.0.6 + object.hasown: 1.1.2 + object.values: 1.1.6 prop-types: 15.8.1 resolve: 2.0.0-next.4 semver: 6.3.0 - string.prototype.matchall: 4.0.7 + string.prototype.matchall: 4.0.8 dev: true - /eslint-plugin-testing-library/5.5.0_3gbszem2nfymcdpvzng2ytglf4: - resolution: {integrity: sha512-eWQ19l6uWL7LW8oeMyQVSGjVYFnBqk7DMHjadm0yOHBvX3Xi9OBrsNuxoAMdX4r7wlQ5WWpW46d+CB6FWFL/PQ==} + /eslint-plugin-testing-library/5.9.1_ha6vam6werchizxrnqvarmz2zu: + resolution: {integrity: sha512-6BQp3tmb79jLLasPHJmy8DnxREe+2Pgf7L+7o09TSWPfdqqtQfRZmZNetr5mOs3yqZk/MRNxpN3RUpJe0wB4LQ==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0, npm: '>=6'} peerDependencies: eslint: ^7.5.0 || ^8.0.0 dependencies: - '@typescript-eslint/utils': 5.30.7_3gbszem2nfymcdpvzng2ytglf4 - eslint: 8.15.0 + '@typescript-eslint/utils': 5.36.1_ha6vam6werchizxrnqvarmz2zu + eslint: 8.29.0 transitivePeerDependencies: - supports-color - typescript @@ -2328,13 +2292,13 @@ packages: estraverse: 5.3.0 dev: true - /eslint-utils/3.0.0_eslint@8.15.0: + /eslint-utils/3.0.0_eslint@8.29.0: resolution: {integrity: sha512-uuQC43IGctw68pJA1RgbQS8/NP7rch6Cwd4j3ZBtgo4/8Flj4eGE7ZYSZRN3iq5pVUv6GPdW5Z1RFleo84uLDA==} engines: {node: ^10.0.0 || ^12.0.0 || >= 14.0.0} peerDependencies: eslint: '>=5' dependencies: - eslint: 8.15.0 + eslint: 8.29.0 eslint-visitor-keys: 2.1.0 dev: true @@ -2348,13 +2312,15 @@ packages: engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} dev: true - /eslint/8.15.0: - resolution: {integrity: sha512-GG5USZ1jhCu8HJkzGgeK8/+RGnHaNYZGrGDzUtigK3BsGESW/rs2az23XqE0WVwDxy1VRvvjSSGu5nB0Bu+6SA==} + /eslint/8.29.0: + resolution: {integrity: sha512-isQ4EEiyUjZFbEKvEGJKKGBwXtvXX+zJbkVKCgTuB9t/+jUBcy8avhkEwWJecI15BkRkOYmvIM5ynbhRjEkoeg==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} hasBin: true dependencies: - '@eslint/eslintrc': 1.3.0 - '@humanwhocodes/config-array': 0.9.5 + '@eslint/eslintrc': 1.3.3 + '@humanwhocodes/config-array': 0.11.7 + '@humanwhocodes/module-importer': 1.0.1 + '@nodelib/fs.walk': 1.2.8 ajv: 6.12.6 chalk: 4.1.2 cross-spawn: 7.0.3 @@ -2362,20 +2328,23 @@ packages: doctrine: 3.0.0 escape-string-regexp: 4.0.0 eslint-scope: 7.1.1 - eslint-utils: 3.0.0_eslint@8.15.0 + eslint-utils: 3.0.0_eslint@8.29.0 eslint-visitor-keys: 3.3.0 - espree: 9.3.2 + espree: 9.4.1 esquery: 1.4.0 esutils: 2.0.3 fast-deep-equal: 3.1.3 file-entry-cache: 6.0.1 - functional-red-black-tree: 1.0.1 + find-up: 5.0.0 glob-parent: 6.0.2 globals: 13.17.0 + grapheme-splitter: 1.0.4 ignore: 5.2.0 import-fresh: 3.3.0 imurmurhash: 0.1.4 is-glob: 4.0.3 + is-path-inside: 3.0.3 + js-sdsl: 4.2.0 js-yaml: 4.1.0 json-stable-stringify-without-jsonify: 1.0.1 levn: 0.4.1 @@ -2387,13 +2356,12 @@ packages: strip-ansi: 6.0.1 strip-json-comments: 3.1.1 text-table: 0.2.0 - v8-compile-cache: 2.3.0 transitivePeerDependencies: - supports-color dev: true - /espree/9.3.2: - resolution: {integrity: sha512-D211tC7ZwouTIuY5x9XnS0E9sWNChB7IYKX/Xp5eQj3nFXhqmiUDB9q27y76oFl8jTg3pXcQx/bpxMfs3CIZbA==} + /espree/9.4.1: + resolution: {integrity: sha512-XwctdmTO6SIvCzd9810yyNzIrOrqNYV9Koizx4C/mRhf9uq0o4yHoCEU/670pOxOL/MSraektvSAji79kX90Vg==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} dependencies: acorn: 8.8.0 @@ -2479,15 +2447,15 @@ packages: engines: {node: '>= 0.8.0'} dev: true - /expect/28.1.3: - resolution: {integrity: sha512-eEh0xn8HlsuOBxFgIss+2mX85VAS4Qy3OSkjV7rlBWljtA4oWH37glVGyOZSZvErDT/yBywZdPGwCXuTvSG85g==} - engines: {node: ^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0} + /expect/29.3.1: + resolution: {integrity: sha512-gGb1yTgU30Q0O/tQq+z30KBWv24ApkMgFUpvKBkyLUBL68Wv8dHdJxTBZFl/iT8K/bqDHvUYRH6IIN3rToopPA==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: - '@jest/expect-utils': 28.1.3 - jest-get-type: 28.0.2 - jest-matcher-utils: 28.1.3 - jest-message-util: 28.1.3 - jest-util: 28.1.3 + '@jest/expect-utils': 29.3.1 + jest-get-type: 29.2.0 + jest-matcher-utils: 29.3.1 + jest-message-util: 29.3.1 + jest-util: 29.3.1 dev: true /fast-deep-equal/3.1.3: @@ -2547,6 +2515,14 @@ packages: path-exists: 4.0.0 dev: true + /find-up/5.0.0: + resolution: {integrity: sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==} + engines: {node: '>=10'} + dependencies: + locate-path: 6.0.0 + path-exists: 4.0.0 + dev: true + /flat-cache/3.0.4: resolution: {integrity: sha512-dm9s5Pw7Jc0GvMYbshN6zchCA9RgQlzzEZX3vylR9IqFfS8XciblUXOKfW6SiuJ0e13eDYZoZV5wdrev7P3Nwg==} engines: {node: ^10.12.0 || >=12.0.0} @@ -2590,14 +2566,10 @@ packages: dependencies: call-bind: 1.0.2 define-properties: 1.1.4 - es-abstract: 1.20.1 + es-abstract: 1.20.5 functions-have-names: 1.2.3 dev: true - /functional-red-black-tree/1.0.1: - resolution: {integrity: sha512-dsKNQNdj6xA3T+QlADDA7mOSlX0qiMINjn0cgr+eGHGsbSHzTabcIogz2+p/iqP1Xs6EP/sS2SbqH+brGTbq0g==} - dev: true - /functions-have-names/1.2.3: resolution: {integrity: sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==} dev: true @@ -2612,8 +2584,8 @@ packages: engines: {node: 6.* || 8.* || >= 10.*} dev: true - /get-intrinsic/1.1.2: - resolution: {integrity: sha512-Jfm3OyCxHh9DJyc28qGk+JmfkpO41A4XkneDSujN9MDXrm4oDKdHvndhZ2dN94+ERNfkYJWDclW6k2L/ZGHjXA==} + /get-intrinsic/1.1.3: + resolution: {integrity: sha512-QJVz1Tj7MS099PevUG5jvnt9tSkXN8K14dxQlikJuPt4uD9hHAHjLyLBiLR5zELelBdD9QNRAXZzsJx0WaDL9A==} dependencies: function-bind: 1.1.1 has: 1.0.3 @@ -2635,7 +2607,7 @@ packages: engines: {node: '>= 0.4'} dependencies: call-bind: 1.0.2 - get-intrinsic: 1.1.2 + get-intrinsic: 1.1.3 dev: true /get-tsconfig/4.2.0: @@ -2691,10 +2663,20 @@ packages: slash: 3.0.0 dev: true + /gopd/1.0.1: + resolution: {integrity: sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==} + dependencies: + get-intrinsic: 1.1.3 + dev: true + /graceful-fs/4.2.10: resolution: {integrity: sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA==} dev: true + /grapheme-splitter/1.0.4: + resolution: {integrity: sha512-bzh50DW9kTPM00T8y4o8vQg89Di9oLJVLW/KaOGIXJWP/iqCN6WKYkbNOF04vFLJhwcpYUh9ydh/+5vpOqV4YQ==} + dev: true + /has-bigints/1.0.2: resolution: {integrity: sha512-tSvCKtBr9lkF0Ex0aQiP9N+OpV4zi2r/Nee5VkRDbaqv35RLYMzbwQfFSZZH0kR+Rd6302UJZ2p/bJCEoR3VoQ==} dev: true @@ -2712,7 +2694,7 @@ packages: /has-property-descriptors/1.0.0: resolution: {integrity: sha512-62DVLZGoiEBDHQyqG4w9xCuZ7eJEwNmJRWw2VY84Oedb7WFcA27fiEVe8oUQx9hAUJ4ekurquucTGwsyO1XGdQ==} dependencies: - get-intrinsic: 1.1.2 + get-intrinsic: 1.1.3 dev: true /has-symbols/1.0.3: @@ -2776,8 +2758,8 @@ packages: engines: {node: '>=12.20.0'} dev: true - /husky/8.0.1: - resolution: {integrity: sha512-xs7/chUH/CKdOCs7Zy0Aev9e/dKOMZf3K1Az1nar3tzlv0jfqnYtu235bstsWTmXOR0EfINrPa97yy4Lz6RiKw==} + /husky/8.0.2: + resolution: {integrity: sha512-Tkv80jtvbnkK3mYWxPZePGFpQ/tT3HNSs/sasF9P2YfkMezDl3ON37YN6jUUI4eTg5LcyVynlb6r4eyvOmspvg==} engines: {node: '>=14'} hasBin: true dev: true @@ -2836,7 +2818,7 @@ packages: resolution: {integrity: sha512-O0DB1JC/sPyZl7cIo78n5dR7eUSwwpYPiXRhTzNxZVAMUuB8vlnRFyLxdrVToks6XPLVnFfbzaVd5WLjhgg+vA==} engines: {node: '>= 0.4'} dependencies: - get-intrinsic: 1.1.2 + get-intrinsic: 1.1.3 has: 1.0.3 side-channel: 1.0.4 dev: true @@ -2866,8 +2848,8 @@ packages: builtin-modules: 3.3.0 dev: true - /is-callable/1.2.4: - resolution: {integrity: sha512-nsuwtxZfMX67Oryl9LCQ+upnC0Z0BgpwntpS89m1H/TLF0zNfzfLMV/9Wa/6MZsj0acpEjAO0KF1xT6ZdLl95w==} + /is-callable/1.2.7: + resolution: {integrity: sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==} engines: {node: '>= 0.4'} dev: true @@ -2932,6 +2914,11 @@ packages: engines: {node: '>=0.12.0'} dev: true + /is-path-inside/3.0.3: + resolution: {integrity: sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==} + engines: {node: '>=8'} + dev: true + /is-potential-custom-element-name/1.0.1: resolution: {integrity: sha512-bCYeRA2rVibKZd+s2625gGnGF/t7DSqDs4dP7CrLA1m7jKWz6pps0LpYLJN8Q64HtmPKJ1hrN3nzPNKFEKOUiQ==} dev: true @@ -3036,44 +3023,44 @@ packages: istanbul-lib-report: 3.0.0 dev: true - /jest-changed-files/28.1.3: - resolution: {integrity: sha512-esaOfUWJXk2nfZt9SPyC8gA1kNfdKLkQWyzsMlqq8msYSlNKfmZxfRgZn4Cd4MGVUF+7v6dBs0d5TOAKa7iIiA==} - engines: {node: ^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0} + /jest-changed-files/29.2.0: + resolution: {integrity: sha512-qPVmLLyBmvF5HJrY7krDisx6Voi8DmlV3GZYX0aFNbaQsZeoz1hfxcCMbqDGuQCxU1dJy9eYc2xscE8QrCCYaA==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: execa: 5.1.1 p-limit: 3.1.0 dev: true - /jest-circus/28.1.3: - resolution: {integrity: sha512-cZ+eS5zc79MBwt+IhQhiEp0OeBddpc1n8MBo1nMB8A7oPMKEO+Sre+wHaLJexQUj9Ya/8NOBY0RESUgYjB6fow==} - engines: {node: ^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0} + /jest-circus/29.3.1: + resolution: {integrity: sha512-wpr26sEvwb3qQQbdlmei+gzp6yoSSoSL6GsLPxnuayZSMrSd5Ka7IjAvatpIernBvT2+Ic6RLTg+jSebScmasg==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: - '@jest/environment': 28.1.3 - '@jest/expect': 28.1.3 - '@jest/test-result': 28.1.3 - '@jest/types': 28.1.3 - '@types/node': 18.7.14 + '@jest/environment': 29.3.1 + '@jest/expect': 29.3.1 + '@jest/test-result': 29.3.1 + '@jest/types': 29.3.1 + '@types/node': 18.11.13 chalk: 4.1.2 co: 4.6.0 dedent: 0.7.0 is-generator-fn: 2.1.0 - jest-each: 28.1.3 - jest-matcher-utils: 28.1.3 - jest-message-util: 28.1.3 - jest-runtime: 28.1.3 - jest-snapshot: 28.1.3 - jest-util: 28.1.3 + jest-each: 29.3.1 + jest-matcher-utils: 29.3.1 + jest-message-util: 29.3.1 + jest-runtime: 29.3.1 + jest-snapshot: 29.3.1 + jest-util: 29.3.1 p-limit: 3.1.0 - pretty-format: 28.1.3 + pretty-format: 29.3.1 slash: 3.0.0 stack-utils: 2.0.5 transitivePeerDependencies: - supports-color dev: true - /jest-cli/28.1.3_@types+node@18.7.14: - resolution: {integrity: sha512-roY3kvrv57Azn1yPgdTebPAXvdR2xfezaKKYzVxZ6It/5NCxzJym6tUI5P1zkdWhfUYkxEI9uZWcQdaFLo8mJQ==} - engines: {node: ^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0} + /jest-cli/29.3.1_@types+node@18.11.13: + resolution: {integrity: sha512-TO/ewvwyvPOiBBuWZ0gm04z3WWP8TIK8acgPzE4IxgsLKQgb377NYGrQLc3Wl/7ndWzIH2CDNNsUjGxwLL43VQ==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} hasBin: true peerDependencies: node-notifier: ^8.0.1 || ^9.0.0 || ^10.0.0 @@ -3081,16 +3068,16 @@ packages: node-notifier: optional: true dependencies: - '@jest/core': 28.1.3 - '@jest/test-result': 28.1.3 - '@jest/types': 28.1.3 + '@jest/core': 29.3.1 + '@jest/test-result': 29.3.1 + '@jest/types': 29.3.1 chalk: 4.1.2 exit: 0.1.2 graceful-fs: 4.2.10 import-local: 3.1.0 - jest-config: 28.1.3_@types+node@18.7.14 - jest-util: 28.1.3 - jest-validate: 28.1.3 + jest-config: 29.3.1_@types+node@18.11.13 + jest-util: 29.3.1 + jest-validate: 29.3.1 prompts: 2.4.2 yargs: 17.5.1 transitivePeerDependencies: @@ -3099,9 +3086,9 @@ packages: - ts-node dev: true - /jest-config/28.1.3_@types+node@18.7.14: - resolution: {integrity: sha512-MG3INjByJ0J4AsNBm7T3hsuxKQqFIiRo/AUqb1q9LRKI5UU6Aar9JHbr9Ivn1TVwfUD9KirRoM/T6u8XlcQPHQ==} - engines: {node: ^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0} + /jest-config/29.3.1_@types+node@18.11.13: + resolution: {integrity: sha512-y0tFHdj2WnTEhxmGUK1T7fgLen7YK4RtfvpLFBXfQkh2eMJAQq24Vx9472lvn5wg0MAO6B+iPfJfzdR9hJYalg==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} peerDependencies: '@types/node': '*' ts-node: '>=9.0.0' @@ -3112,182 +3099,162 @@ packages: optional: true dependencies: '@babel/core': 7.18.9 - '@jest/test-sequencer': 28.1.3 - '@jest/types': 28.1.3 - '@types/node': 18.7.14 - babel-jest: 28.1.3_@babel+core@7.18.9 + '@jest/test-sequencer': 29.3.1 + '@jest/types': 29.3.1 + '@types/node': 18.11.13 + babel-jest: 29.3.1_@babel+core@7.18.9 chalk: 4.1.2 ci-info: 3.3.2 deepmerge: 4.2.2 glob: 7.2.3 graceful-fs: 4.2.10 - jest-circus: 28.1.3 - jest-environment-node: 28.1.3 - jest-get-type: 28.0.2 - jest-regex-util: 28.0.2 - jest-resolve: 28.1.3 - jest-runner: 28.1.3 - jest-util: 28.1.3 - jest-validate: 28.1.3 + jest-circus: 29.3.1 + jest-environment-node: 29.3.1 + jest-get-type: 29.2.0 + jest-regex-util: 29.2.0 + jest-resolve: 29.3.1 + jest-runner: 29.3.1 + jest-util: 29.3.1 + jest-validate: 29.3.1 micromatch: 4.0.5 parse-json: 5.2.0 - pretty-format: 28.1.3 + pretty-format: 29.3.1 slash: 3.0.0 strip-json-comments: 3.1.1 transitivePeerDependencies: - supports-color dev: true - /jest-diff/27.5.1: - resolution: {integrity: sha512-m0NvkX55LDt9T4mctTEgnZk3fmEg3NRYutvMPWM/0iPnkFj2wIeF45O1718cMSOFO1vINkqmxqD8vE37uTEbqw==} - engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} + /jest-diff/29.3.1: + resolution: {integrity: sha512-vU8vyiO7568tmin2lA3r2DP8oRvzhvRcD4DjpXc6uGveQodyk7CKLhQlCSiwgx3g0pFaE88/KLZ0yaTWMc4Uiw==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: chalk: 4.1.2 - diff-sequences: 27.5.1 - jest-get-type: 27.5.1 - pretty-format: 27.5.1 + diff-sequences: 29.3.1 + jest-get-type: 29.2.0 + pretty-format: 29.3.1 dev: true - /jest-diff/28.1.3: - resolution: {integrity: sha512-8RqP1B/OXzjjTWkqMX67iqgwBVJRgCyKD3L9nq+6ZqJMdvjE8RgHktqZ6jNrkdMT+dJuYNI3rhQpxaz7drJHfw==} - engines: {node: ^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0} + /jest-docblock/29.2.0: + resolution: {integrity: sha512-bkxUsxTgWQGbXV5IENmfiIuqZhJcyvF7tU4zJ/7ioTutdz4ToB5Yx6JOFBpgI+TphRY4lhOyCWGNH/QFQh5T6A==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: - chalk: 4.1.2 - diff-sequences: 28.1.1 - jest-get-type: 28.0.2 - pretty-format: 28.1.3 + detect-newline: 3.1.0 dev: true - /jest-docblock/28.1.1: - resolution: {integrity: sha512-3wayBVNiOYx0cwAbl9rwm5kKFP8yHH3d/fkEaL02NPTkDojPtheGB7HZSFY4wzX+DxyrvhXz0KSCVksmCknCuA==} - engines: {node: ^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0} + /jest-each/29.3.1: + resolution: {integrity: sha512-qrZH7PmFB9rEzCSl00BWjZYuS1BSOH8lLuC0azQE9lQrAx3PWGKHTDudQiOSwIy5dGAJh7KA0ScYlCP7JxvFYA==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: - detect-newline: 3.1.0 + '@jest/types': 29.3.1 + chalk: 4.1.2 + jest-get-type: 29.2.0 + jest-util: 29.3.1 + pretty-format: 29.3.1 dev: true - /jest-each/28.1.3: - resolution: {integrity: sha512-arT1z4sg2yABU5uogObVPvSlSMQlDA48owx07BDPAiasW0yYpYHYOo4HHLz9q0BVzDVU4hILFjzJw0So9aCL/g==} - engines: {node: ^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0} + /jest-environment-jsdom/29.3.1: + resolution: {integrity: sha512-G46nKgiez2Gy4zvYNhayfMEAFlVHhWfncqvqS6yCd0i+a4NsSUD2WtrKSaYQrYiLQaupHXxCRi8xxVL2M9PbhA==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + peerDependencies: + canvas: ^2.5.0 + peerDependenciesMeta: + canvas: + optional: true dependencies: - '@jest/types': 28.1.3 - chalk: 4.1.2 - jest-get-type: 28.0.2 - jest-util: 28.1.3 - pretty-format: 28.1.3 - dev: true - - /jest-environment-jsdom/28.1.0: - resolution: {integrity: sha512-8n6P4xiDjNVqTWv6W6vJPuQdLx+ZiA3dbYg7YJ+DPzR+9B61K6pMVJrSs2IxfGRG4J7pyAUA5shQ9G0KEun78w==} - engines: {node: ^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0} - dependencies: - '@jest/environment': 28.1.3 - '@jest/fake-timers': 28.1.3 - '@jest/types': 28.1.3 - '@types/jsdom': 16.2.15 - '@types/node': 18.7.14 - jest-mock: 28.1.3 - jest-util: 28.1.3 - jsdom: 19.0.0 + '@jest/environment': 29.3.1 + '@jest/fake-timers': 29.3.1 + '@jest/types': 29.3.1 + '@types/jsdom': 20.0.1 + '@types/node': 18.11.13 + jest-mock: 29.3.1 + jest-util: 29.3.1 + jsdom: 20.0.3 transitivePeerDependencies: - bufferutil - - canvas - supports-color - utf-8-validate dev: true - /jest-environment-node/28.1.3: - resolution: {integrity: sha512-ugP6XOhEpjAEhGYvp5Xj989ns5cB1K6ZdjBYuS30umT4CQEETaxSiPcZ/E1kFktX4GkrcM4qu07IIlDYX1gp+A==} - engines: {node: ^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0} + /jest-environment-node/29.3.1: + resolution: {integrity: sha512-xm2THL18Xf5sIHoU7OThBPtuH6Lerd+Y1NLYiZJlkE3hbE+7N7r8uvHIl/FkZ5ymKXJe/11SQuf3fv4v6rUMag==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: - '@jest/environment': 28.1.3 - '@jest/fake-timers': 28.1.3 - '@jest/types': 28.1.3 - '@types/node': 18.7.14 - jest-mock: 28.1.3 - jest-util: 28.1.3 + '@jest/environment': 29.3.1 + '@jest/fake-timers': 29.3.1 + '@jest/types': 29.3.1 + '@types/node': 18.11.13 + jest-mock: 29.3.1 + jest-util: 29.3.1 dev: true - /jest-get-type/27.5.1: - resolution: {integrity: sha512-2KY95ksYSaK7DMBWQn6dQz3kqAf3BB64y2udeG+hv4KfSOb9qwcYQstTJc1KCbsix+wLZWZYN8t7nwX3GOBLRw==} - engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} + /jest-get-type/29.2.0: + resolution: {integrity: sha512-uXNJlg8hKFEnDgFsrCjznB+sTxdkuqiCL6zMgA75qEbAJjJYTs9XPrvDctrEig2GDow22T/LvHgO57iJhXB/UA==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dev: true - /jest-get-type/28.0.2: - resolution: {integrity: sha512-ioj2w9/DxSYHfOm5lJKCdcAmPJzQXmbM/Url3rhlghrPvT3tt+7a/+oXc9azkKmLvoiXjtV83bEWqi+vs5nlPA==} - engines: {node: ^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0} - dev: true - - /jest-haste-map/28.1.3: - resolution: {integrity: sha512-3S+RQWDXccXDKSWnkHa/dPwt+2qwA8CJzR61w3FoYCvoo3Pn8tvGcysmMF0Bj0EX5RYvAI2EIvC57OmotfdtKA==} - engines: {node: ^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0} + /jest-haste-map/29.3.1: + resolution: {integrity: sha512-/FFtvoG1xjbbPXQLFef+WSU4yrc0fc0Dds6aRPBojUid7qlPqZvxdUBA03HW0fnVHXVCnCdkuoghYItKNzc/0A==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: - '@jest/types': 28.1.3 + '@jest/types': 29.3.1 '@types/graceful-fs': 4.1.5 - '@types/node': 18.7.14 + '@types/node': 18.11.13 anymatch: 3.1.2 fb-watchman: 2.0.1 graceful-fs: 4.2.10 - jest-regex-util: 28.0.2 - jest-util: 28.1.3 - jest-worker: 28.1.3 + jest-regex-util: 29.2.0 + jest-util: 29.3.1 + jest-worker: 29.3.1 micromatch: 4.0.5 walker: 1.0.8 optionalDependencies: fsevents: 2.3.2 dev: true - /jest-leak-detector/28.1.3: - resolution: {integrity: sha512-WFVJhnQsiKtDEo5lG2mM0v40QWnBM+zMdHHyJs8AWZ7J0QZJS59MsyKeJHWhpBZBH32S48FOVvGyOFT1h0DlqA==} - engines: {node: ^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0} + /jest-leak-detector/29.3.1: + resolution: {integrity: sha512-3DA/VVXj4zFOPagGkuqHnSQf1GZBmmlagpguxEERO6Pla2g84Q1MaVIB3YMxgUaFIaYag8ZnTyQgiZ35YEqAQA==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: - jest-get-type: 28.0.2 - pretty-format: 28.1.3 - dev: true - - /jest-matcher-utils/27.5.1: - resolution: {integrity: sha512-z2uTx/T6LBaCoNWNFWwChLBKYxTMcGBRjAt+2SbP929/Fflb9aa5LGma654Rz8z9HLxsrUaYzxE9T/EFIL/PAw==} - engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} - dependencies: - chalk: 4.1.2 - jest-diff: 27.5.1 - jest-get-type: 27.5.1 - pretty-format: 27.5.1 + jest-get-type: 29.2.0 + pretty-format: 29.3.1 dev: true - /jest-matcher-utils/28.1.3: - resolution: {integrity: sha512-kQeJ7qHemKfbzKoGjHHrRKH6atgxMk8Enkk2iPQ3XwO6oE/KYD8lMYOziCkeSB9G4adPM4nR1DE8Tf5JeWH6Bw==} - engines: {node: ^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0} + /jest-matcher-utils/29.3.1: + resolution: {integrity: sha512-fkRMZUAScup3txIKfMe3AIZZmPEjWEdsPJFK3AIy5qRohWqQFg1qrmKfYXR9qEkNc7OdAu2N4KPHibEmy4HPeQ==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: chalk: 4.1.2 - jest-diff: 28.1.3 - jest-get-type: 28.0.2 - pretty-format: 28.1.3 + jest-diff: 29.3.1 + jest-get-type: 29.2.0 + pretty-format: 29.3.1 dev: true - /jest-message-util/28.1.3: - resolution: {integrity: sha512-PFdn9Iewbt575zKPf1286Ht9EPoJmYT7P0kY+RibeYZ2XtOr53pDLEFoTWXbd1h4JiGiWpTBC84fc8xMXQMb7g==} - engines: {node: ^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0} + /jest-message-util/29.3.1: + resolution: {integrity: sha512-lMJTbgNcDm5z+6KDxWtqOFWlGQxD6XaYwBqHR8kmpkP+WWWG90I35kdtQHY67Ay5CSuydkTBbJG+tH9JShFCyA==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: '@babel/code-frame': 7.18.6 - '@jest/types': 28.1.3 + '@jest/types': 29.3.1 '@types/stack-utils': 2.0.1 chalk: 4.1.2 graceful-fs: 4.2.10 micromatch: 4.0.5 - pretty-format: 28.1.3 + pretty-format: 29.3.1 slash: 3.0.0 stack-utils: 2.0.5 dev: true - /jest-mock/28.1.3: - resolution: {integrity: sha512-o3J2jr6dMMWYVH4Lh/NKmDXdosrsJgi4AviS8oXLujcjpCMBb1FMsblDnOXKZKfSiHLxYub1eS0IHuRXsio9eA==} - engines: {node: ^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0} + /jest-mock/29.3.1: + resolution: {integrity: sha512-H8/qFDtDVMFvFP4X8NuOT3XRDzOUTz+FeACjufHzsOIBAxivLqkB1PoLCaJx9iPPQ8dZThHPp/G3WRWyMgA3JA==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: - '@jest/types': 28.1.3 - '@types/node': 18.7.14 + '@jest/types': 29.3.1 + '@types/node': 18.11.13 + jest-util: 29.3.1 dev: true - /jest-pnp-resolver/1.2.2_jest-resolve@28.1.3: + /jest-pnp-resolver/1.2.2_jest-resolve@29.3.1: resolution: {integrity: sha512-olV41bKSMm8BdnuMsewT4jqlZ8+3TCARAXjZGT9jcoSnrfUnRCqnMoF9XEeoWjbzObpqF9dRhHQj0Xb9QdF6/w==} engines: {node: '>=6'} peerDependencies: @@ -3296,179 +3263,181 @@ packages: jest-resolve: optional: true dependencies: - jest-resolve: 28.1.3 + jest-resolve: 29.3.1 dev: true - /jest-regex-util/28.0.2: - resolution: {integrity: sha512-4s0IgyNIy0y9FK+cjoVYoxamT7Zeo7MhzqRGx7YDYmaQn1wucY9rotiGkBzzcMXTtjrCAP/f7f+E0F7+fxPNdw==} - engines: {node: ^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0} + /jest-regex-util/29.2.0: + resolution: {integrity: sha512-6yXn0kg2JXzH30cr2NlThF+70iuO/3irbaB4mh5WyqNIvLLP+B6sFdluO1/1RJmslyh/f9osnefECflHvTbwVA==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dev: true - /jest-resolve-dependencies/28.1.3: - resolution: {integrity: sha512-qa0QO2Q0XzQoNPouMbCc7Bvtsem8eQgVPNkwn9LnS+R2n8DaVDPL/U1gngC0LTl1RYXJU0uJa2BMC2DbTfFrHA==} - engines: {node: ^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0} + /jest-resolve-dependencies/29.3.1: + resolution: {integrity: sha512-Vk0cYq0byRw2WluNmNWGqPeRnZ3p3hHmjJMp2dyyZeYIfiBskwq4rpiuGFR6QGAdbj58WC7HN4hQHjf2mpvrLA==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: - jest-regex-util: 28.0.2 - jest-snapshot: 28.1.3 + jest-regex-util: 29.2.0 + jest-snapshot: 29.3.1 transitivePeerDependencies: - supports-color dev: true - /jest-resolve/28.1.3: - resolution: {integrity: sha512-Z1W3tTjE6QaNI90qo/BJpfnvpxtaFTFw5CDgwpyE/Kz8U/06N1Hjf4ia9quUhCh39qIGWF1ZuxFiBiJQwSEYKQ==} - engines: {node: ^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0} + /jest-resolve/29.3.1: + resolution: {integrity: sha512-amXJgH/Ng712w3Uz5gqzFBBjxV8WFLSmNjoreBGMqxgCz5cH7swmBZzgBaCIOsvb0NbpJ0vgaSFdJqMdT+rADw==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: chalk: 4.1.2 graceful-fs: 4.2.10 - jest-haste-map: 28.1.3 - jest-pnp-resolver: 1.2.2_jest-resolve@28.1.3 - jest-util: 28.1.3 - jest-validate: 28.1.3 + jest-haste-map: 29.3.1 + jest-pnp-resolver: 1.2.2_jest-resolve@29.3.1 + jest-util: 29.3.1 + jest-validate: 29.3.1 resolve: 1.22.1 resolve.exports: 1.1.0 slash: 3.0.0 dev: true - /jest-runner/28.1.3: - resolution: {integrity: sha512-GkMw4D/0USd62OVO0oEgjn23TM+YJa2U2Wu5zz9xsQB1MxWKDOlrnykPxnMsN0tnJllfLPinHTka61u0QhaxBA==} - engines: {node: ^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0} + /jest-runner/29.3.1: + resolution: {integrity: sha512-oFvcwRNrKMtE6u9+AQPMATxFcTySyKfLhvso7Sdk/rNpbhg4g2GAGCopiInk1OP4q6gz3n6MajW4+fnHWlU3bA==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: - '@jest/console': 28.1.3 - '@jest/environment': 28.1.3 - '@jest/test-result': 28.1.3 - '@jest/transform': 28.1.3 - '@jest/types': 28.1.3 - '@types/node': 18.7.14 + '@jest/console': 29.3.1 + '@jest/environment': 29.3.1 + '@jest/test-result': 29.3.1 + '@jest/transform': 29.3.1 + '@jest/types': 29.3.1 + '@types/node': 18.11.13 chalk: 4.1.2 - emittery: 0.10.2 + emittery: 0.13.1 graceful-fs: 4.2.10 - jest-docblock: 28.1.1 - jest-environment-node: 28.1.3 - jest-haste-map: 28.1.3 - jest-leak-detector: 28.1.3 - jest-message-util: 28.1.3 - jest-resolve: 28.1.3 - jest-runtime: 28.1.3 - jest-util: 28.1.3 - jest-watcher: 28.1.3 - jest-worker: 28.1.3 + jest-docblock: 29.2.0 + jest-environment-node: 29.3.1 + jest-haste-map: 29.3.1 + jest-leak-detector: 29.3.1 + jest-message-util: 29.3.1 + jest-resolve: 29.3.1 + jest-runtime: 29.3.1 + jest-util: 29.3.1 + jest-watcher: 29.3.1 + jest-worker: 29.3.1 p-limit: 3.1.0 source-map-support: 0.5.13 transitivePeerDependencies: - supports-color dev: true - /jest-runtime/28.1.3: - resolution: {integrity: sha512-NU+881ScBQQLc1JHG5eJGU7Ui3kLKrmwCPPtYsJtBykixrM2OhVQlpMmFWJjMyDfdkGgBMNjXCGB/ebzsgNGQw==} - engines: {node: ^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0} + /jest-runtime/29.3.1: + resolution: {integrity: sha512-jLzkIxIqXwBEOZx7wx9OO9sxoZmgT2NhmQKzHQm1xwR1kNW/dn0OjxR424VwHHf1SPN6Qwlb5pp1oGCeFTQ62A==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: - '@jest/environment': 28.1.3 - '@jest/fake-timers': 28.1.3 - '@jest/globals': 28.1.3 - '@jest/source-map': 28.1.2 - '@jest/test-result': 28.1.3 - '@jest/transform': 28.1.3 - '@jest/types': 28.1.3 + '@jest/environment': 29.3.1 + '@jest/fake-timers': 29.3.1 + '@jest/globals': 29.3.1 + '@jest/source-map': 29.2.0 + '@jest/test-result': 29.3.1 + '@jest/transform': 29.3.1 + '@jest/types': 29.3.1 + '@types/node': 18.11.13 chalk: 4.1.2 cjs-module-lexer: 1.2.2 collect-v8-coverage: 1.0.1 - execa: 5.1.1 glob: 7.2.3 graceful-fs: 4.2.10 - jest-haste-map: 28.1.3 - jest-message-util: 28.1.3 - jest-mock: 28.1.3 - jest-regex-util: 28.0.2 - jest-resolve: 28.1.3 - jest-snapshot: 28.1.3 - jest-util: 28.1.3 + jest-haste-map: 29.3.1 + jest-message-util: 29.3.1 + jest-mock: 29.3.1 + jest-regex-util: 29.2.0 + jest-resolve: 29.3.1 + jest-snapshot: 29.3.1 + jest-util: 29.3.1 slash: 3.0.0 strip-bom: 4.0.0 transitivePeerDependencies: - supports-color dev: true - /jest-snapshot/28.1.3: - resolution: {integrity: sha512-4lzMgtiNlc3DU/8lZfmqxN3AYD6GGLbl+72rdBpXvcV+whX7mDrREzkPdp2RnmfIiWBg1YbuFSkXduF2JcafJg==} - engines: {node: ^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0} + /jest-snapshot/29.3.1: + resolution: {integrity: sha512-+3JOc+s28upYLI2OJM4PWRGK9AgpsMs/ekNryUV0yMBClT9B1DF2u2qay8YxcQd338PPYSFNb0lsar1B49sLDA==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: '@babel/core': 7.18.9 '@babel/generator': 7.18.9 + '@babel/plugin-syntax-jsx': 7.18.6_@babel+core@7.18.9 '@babel/plugin-syntax-typescript': 7.18.6_@babel+core@7.18.9 '@babel/traverse': 7.18.9 '@babel/types': 7.18.9 - '@jest/expect-utils': 28.1.3 - '@jest/transform': 28.1.3 - '@jest/types': 28.1.3 + '@jest/expect-utils': 29.3.1 + '@jest/transform': 29.3.1 + '@jest/types': 29.3.1 '@types/babel__traverse': 7.17.1 '@types/prettier': 2.6.3 babel-preset-current-node-syntax: 1.0.1_@babel+core@7.18.9 chalk: 4.1.2 - expect: 28.1.3 + expect: 29.3.1 graceful-fs: 4.2.10 - jest-diff: 28.1.3 - jest-get-type: 28.0.2 - jest-haste-map: 28.1.3 - jest-matcher-utils: 28.1.3 - jest-message-util: 28.1.3 - jest-util: 28.1.3 + jest-diff: 29.3.1 + jest-get-type: 29.2.0 + jest-haste-map: 29.3.1 + jest-matcher-utils: 29.3.1 + jest-message-util: 29.3.1 + jest-util: 29.3.1 natural-compare: 1.4.0 - pretty-format: 28.1.3 + pretty-format: 29.3.1 semver: 7.3.7 transitivePeerDependencies: - supports-color dev: true - /jest-util/28.1.3: - resolution: {integrity: sha512-XdqfpHwpcSRko/C35uLYFM2emRAltIIKZiJ9eAmhjsj0CqZMa0p1ib0R5fWIqGhn1a103DebTbpqIaP1qCQ6tQ==} - engines: {node: ^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0} + /jest-util/29.3.1: + resolution: {integrity: sha512-7YOVZaiX7RJLv76ZfHt4nbNEzzTRiMW/IiOG7ZOKmTXmoGBxUDefgMAxQubu6WPVqP5zSzAdZG0FfLcC7HOIFQ==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: - '@jest/types': 28.1.3 - '@types/node': 18.7.14 + '@jest/types': 29.3.1 + '@types/node': 18.11.13 chalk: 4.1.2 ci-info: 3.3.2 graceful-fs: 4.2.10 picomatch: 2.3.1 dev: true - /jest-validate/28.1.3: - resolution: {integrity: sha512-SZbOGBWEsaTxBGCOpsRWlXlvNkvTkY0XxRfh7zYmvd8uL5Qzyg0CHAXiXKROflh801quA6+/DsT4ODDthOC/OA==} - engines: {node: ^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0} + /jest-validate/29.3.1: + resolution: {integrity: sha512-N9Lr3oYR2Mpzuelp1F8negJR3YE+L1ebk1rYA5qYo9TTY3f9OWdptLoNSPP9itOCBIRBqjt/S5XHlzYglLN67g==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: - '@jest/types': 28.1.3 + '@jest/types': 29.3.1 camelcase: 6.3.0 chalk: 4.1.2 - jest-get-type: 28.0.2 + jest-get-type: 29.2.0 leven: 3.1.0 - pretty-format: 28.1.3 + pretty-format: 29.3.1 dev: true - /jest-watcher/28.1.3: - resolution: {integrity: sha512-t4qcqj9hze+jviFPUN3YAtAEeFnr/azITXQEMARf5cMwKY2SMBRnCQTXLixTl20OR6mLh9KLMrgVJgJISym+1g==} - engines: {node: ^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0} + /jest-watcher/29.3.1: + resolution: {integrity: sha512-RspXG2BQFDsZSRKGCT/NiNa8RkQ1iKAjrO0//soTMWx/QUt+OcxMqMSBxz23PYGqUuWm2+m2mNNsmj0eIoOaFg==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: - '@jest/test-result': 28.1.3 - '@jest/types': 28.1.3 - '@types/node': 18.7.14 + '@jest/test-result': 29.3.1 + '@jest/types': 29.3.1 + '@types/node': 18.11.13 ansi-escapes: 4.3.2 chalk: 4.1.2 - emittery: 0.10.2 - jest-util: 28.1.3 + emittery: 0.13.1 + jest-util: 29.3.1 string-length: 4.0.2 dev: true - /jest-worker/28.1.3: - resolution: {integrity: sha512-CqRA220YV/6jCo8VWvAt1KKx6eek1VIHMPeLEbpcfSfkEeWyBNppynM/o6q+Wmw+sOhos2ml34wZbSX3G13//g==} - engines: {node: ^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0} + /jest-worker/29.3.1: + resolution: {integrity: sha512-lY4AnnmsEWeiXirAIA0c9SDPbuCBq8IYuDVL8PMm0MZ2PEs2yPvRA/J64QBXuZp7CYKrDM/rmNrc9/i3KJQncw==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: - '@types/node': 18.7.14 + '@types/node': 18.11.13 + jest-util: 29.3.1 merge-stream: 2.0.0 supports-color: 8.1.1 dev: true - /jest/28.1.0_@types+node@18.7.14: - resolution: {integrity: sha512-TZR+tHxopPhzw3c3560IJXZWLNHgpcz1Zh0w5A65vynLGNcg/5pZ+VildAd7+XGOu6jd58XMY/HNn0IkZIXVXg==} - engines: {node: ^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0} + /jest/29.3.1_@types+node@18.11.13: + resolution: {integrity: sha512-6iWfL5DTT0Np6UYs/y5Niu7WIfNv/wRTtN5RSXt2DIEft3dx3zPuw/3WJQBCJfmEzvDiEKwoqMbGD9n49+qLSA==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} hasBin: true peerDependencies: node-notifier: ^8.0.1 || ^9.0.0 || ^10.0.0 @@ -3476,15 +3445,20 @@ packages: node-notifier: optional: true dependencies: - '@jest/core': 28.1.3 + '@jest/core': 29.3.1 + '@jest/types': 29.3.1 import-local: 3.1.0 - jest-cli: 28.1.3_@types+node@18.7.14 + jest-cli: 29.3.1_@types+node@18.11.13 transitivePeerDependencies: - '@types/node' - supports-color - ts-node dev: true + /js-sdsl/4.2.0: + resolution: {integrity: sha512-dyBIzQBDkCqCu+0upx25Y2jGdbTGxE9fshMsCdK0ViOongpV+n5tXRcZY9v7CaVQ79AGS9KA1KHtojxiM7aXSQ==} + dev: true + /js-tokens/4.0.0: resolution: {integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==} dev: true @@ -3504,9 +3478,9 @@ packages: argparse: 2.0.1 dev: true - /jsdom/19.0.0: - resolution: {integrity: sha512-RYAyjCbxy/vri/CfnjUWJQQtZ3LKlLnDqj+9XLNnJPgEGeirZs3hllKR20re8LUZ6o1b1X4Jat+Qd26zmP41+A==} - engines: {node: '>=12'} + /jsdom/20.0.3: + resolution: {integrity: sha512-SYhBvTh89tTfCD/CRdSOm13mOBa42iTaTyfyEWBdKcGdPxPtLFBXuHR8XHb33YNYaP+lLbmSvBTsnoesCNJEsQ==} + engines: {node: '>=14'} peerDependencies: canvas: ^2.5.0 peerDependenciesMeta: @@ -3514,12 +3488,12 @@ packages: optional: true dependencies: abab: 2.0.6 - acorn: 8.8.0 - acorn-globals: 6.0.0 + acorn: 8.8.1 + acorn-globals: 7.0.1 cssom: 0.5.0 cssstyle: 2.3.0 data-urls: 3.0.2 - decimal.js: 10.3.1 + decimal.js: 10.4.3 domexception: 4.0.0 escodegen: 2.0.0 form-data: 4.0.0 @@ -3527,18 +3501,17 @@ packages: http-proxy-agent: 5.0.0 https-proxy-agent: 5.0.1 is-potential-custom-element-name: 1.0.1 - nwsapi: 2.2.1 - parse5: 6.0.1 - saxes: 5.0.1 + nwsapi: 2.2.2 + parse5: 7.1.2 + saxes: 6.0.0 symbol-tree: 3.2.4 - tough-cookie: 4.0.0 - w3c-hr-time: 1.0.2 - w3c-xmlserializer: 3.0.0 + tough-cookie: 4.1.2 + w3c-xmlserializer: 4.0.0 webidl-conversions: 7.0.0 whatwg-encoding: 2.0.0 whatwg-mimetype: 3.0.0 - whatwg-url: 10.0.0 - ws: 8.8.1 + whatwg-url: 11.0.0 + ws: 8.11.0 xml-name-validator: 4.0.0 transitivePeerDependencies: - bufferutil @@ -3578,7 +3551,7 @@ packages: resolution: {integrity: sha512-4ZCADZHRkno244xlNnn4AOG6sRQ7iBZ5BbgZ4vW4y5IZw7cVUD1PPeblm1xx/nfmMxPdt/LHsXZW8z/j58+l9Q==} engines: {node: '>=4.0'} dependencies: - array-includes: 3.1.5 + array-includes: 3.1.6 object.assign: 4.1.2 dev: true @@ -3666,6 +3639,13 @@ packages: p-locate: 4.1.0 dev: true + /locate-path/6.0.0: + resolution: {integrity: sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==} + engines: {node: '>=10'} + dependencies: + p-locate: 5.0.0 + dev: true + /lodash.merge/4.6.2: resolution: {integrity: sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==} dev: true @@ -3789,19 +3769,23 @@ packages: hasBin: true dev: true + /natural-compare-lite/1.4.0: + resolution: {integrity: sha512-Tj+HTDSJJKaZnfiuw+iaF9skdPpTo2GtEly5JHnWV/hfv2Qj/9RKsGISQtLh2ox3l5EAGw487hnBee0sIJ6v2g==} + dev: true + /natural-compare/1.4.0: resolution: {integrity: sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==} dev: true - /next/12.2.3_biqbaboplfbrettd7655fr4n2y: - resolution: {integrity: sha512-TA0tmSA6Dk6S6kfvCNbF7CWYW8468gZUxr/3/30z4KvAQbXnl2ASYZElVe7q/hBW/1F1ee0tSBlHa4/sn+ZIBw==} - engines: {node: '>=12.22.0'} + /next/13.0.6_biqbaboplfbrettd7655fr4n2y: + resolution: {integrity: sha512-COvigvms2LRt1rrzfBQcMQ2GZd86Mvk1z+LOLY5pniFtL4VrTmhZ9salrbKfSiXbhsD01TrDdD68ec3ABDyscA==} + engines: {node: '>=14.6.0'} hasBin: true peerDependencies: fibers: '>= 3.1.0' node-sass: ^6.0.0 || ^7.0.0 - react: ^17.0.2 || ^18.0.0-0 - react-dom: ^17.0.2 || ^18.0.0-0 + react: ^18.2.0 + react-dom: ^18.2.0 sass: ^1.3.0 peerDependenciesMeta: fibers: @@ -3811,28 +3795,27 @@ packages: sass: optional: true dependencies: - '@next/env': 12.2.3 - '@swc/helpers': 0.4.3 - caniuse-lite: 1.0.30001369 + '@next/env': 13.0.6 + '@swc/helpers': 0.4.14 + caniuse-lite: 1.0.30001439 postcss: 8.4.14 react: 18.2.0 react-dom: 18.2.0_react@18.2.0 - styled-jsx: 5.0.2_react@18.2.0 - use-sync-external-store: 1.2.0_react@18.2.0 + styled-jsx: 5.1.0_react@18.2.0 optionalDependencies: - '@next/swc-android-arm-eabi': 12.2.3 - '@next/swc-android-arm64': 12.2.3 - '@next/swc-darwin-arm64': 12.2.3 - '@next/swc-darwin-x64': 12.2.3 - '@next/swc-freebsd-x64': 12.2.3 - '@next/swc-linux-arm-gnueabihf': 12.2.3 - '@next/swc-linux-arm64-gnu': 12.2.3 - '@next/swc-linux-arm64-musl': 12.2.3 - '@next/swc-linux-x64-gnu': 12.2.3 - '@next/swc-linux-x64-musl': 12.2.3 - '@next/swc-win32-arm64-msvc': 12.2.3 - '@next/swc-win32-ia32-msvc': 12.2.3 - '@next/swc-win32-x64-msvc': 12.2.3 + '@next/swc-android-arm-eabi': 13.0.6 + '@next/swc-android-arm64': 13.0.6 + '@next/swc-darwin-arm64': 13.0.6 + '@next/swc-darwin-x64': 13.0.6 + '@next/swc-freebsd-x64': 13.0.6 + '@next/swc-linux-arm-gnueabihf': 13.0.6 + '@next/swc-linux-arm64-gnu': 13.0.6 + '@next/swc-linux-arm64-musl': 13.0.6 + '@next/swc-linux-x64-gnu': 13.0.6 + '@next/swc-linux-x64-musl': 13.0.6 + '@next/swc-win32-arm64-msvc': 13.0.6 + '@next/swc-win32-ia32-msvc': 13.0.6 + '@next/swc-win32-x64-msvc': 13.0.6 transitivePeerDependencies: - '@babel/core' - babel-plugin-macros @@ -3865,8 +3848,8 @@ packages: path-key: 4.0.0 dev: true - /nwsapi/2.2.1: - resolution: {integrity: sha512-JYOWTeFoS0Z93587vRJgASD5Ut11fYl5NyihP3KrYBvMe1FRRs6RN7m20SA/16GM4P6hTnZjT+UmDOt38UeXNg==} + /nwsapi/2.2.2: + resolution: {integrity: sha512-90yv+6538zuvUMnN+zCr8LuV6bPFdq50304114vJYJ8RDyK8D5O9Phpbd6SZWgI7PwzmmfN1upeOJlvybDSgCw==} dev: true /object-assign/4.1.1: @@ -3893,38 +3876,48 @@ packages: object-keys: 1.1.1 dev: true - /object.entries/1.1.5: - resolution: {integrity: sha512-TyxmjUoZggd4OrrU1W66FMDG6CuqJxsFvymeyXI51+vQLN67zYfZseptRge703kKQdo4uccgAKebXFcRCzk4+g==} + /object.assign/4.1.4: + resolution: {integrity: sha512-1mxKf0e58bvyjSCtKYY4sRe9itRk3PJpquJOjeIkz885CczcI4IvJJDLPS72oowuSh+pBxUFROpX+TU++hxhZQ==} engines: {node: '>= 0.4'} dependencies: call-bind: 1.0.2 define-properties: 1.1.4 - es-abstract: 1.20.1 + has-symbols: 1.0.3 + object-keys: 1.1.1 dev: true - /object.fromentries/2.0.5: - resolution: {integrity: sha512-CAyG5mWQRRiBU57Re4FKoTBjXfDoNwdFVH2Y1tS9PqCsfUTymAohOkEMSG3aRNKmv4lV3O7p1et7c187q6bynw==} + /object.entries/1.1.6: + resolution: {integrity: sha512-leTPzo4Zvg3pmbQ3rDK69Rl8GQvIqMWubrkxONG9/ojtFE2rD9fjMKfSI5BxW3osRH1m6VdzmqK8oAY9aT4x5w==} engines: {node: '>= 0.4'} dependencies: call-bind: 1.0.2 define-properties: 1.1.4 - es-abstract: 1.20.1 + es-abstract: 1.20.5 dev: true - /object.hasown/1.1.1: - resolution: {integrity: sha512-LYLe4tivNQzq4JdaWW6WO3HMZZJWzkkH8fnI6EebWl0VZth2wL2Lovm74ep2/gZzlaTdV62JZHEqHQ2yVn8Q/A==} + /object.fromentries/2.0.6: + resolution: {integrity: sha512-VciD13dswC4j1Xt5394WR4MzmAQmlgN72phd/riNp9vtD7tp4QQWJ0R4wvclXcafgcYK8veHRed2W6XeGBvcfg==} + engines: {node: '>= 0.4'} dependencies: + call-bind: 1.0.2 define-properties: 1.1.4 - es-abstract: 1.20.1 + es-abstract: 1.20.5 dev: true - /object.values/1.1.5: - resolution: {integrity: sha512-QUZRW0ilQ3PnPpbNtgdNV1PDbEqLIiSFB3l+EnGtBQ/8SUTLj1PZwtQHABZtLgwpJZTSZhuGLOGk57Drx2IvYg==} + /object.hasown/1.1.2: + resolution: {integrity: sha512-B5UIT3J1W+WuWIU55h0mjlwaqxiE5vYENJXIXZ4VFe05pNYrkKuK0U/6aFcb0pKywYJh7IhfoqUfKVmrJJHZHw==} + dependencies: + define-properties: 1.1.4 + es-abstract: 1.20.5 + dev: true + + /object.values/1.1.6: + resolution: {integrity: sha512-FVVTkD1vENCsAcwNs9k6jea2uHC/X0+JcjG8YA60FN5CMaJmG95wT9jek/xX9nornqGRrBkKtzuAu2wuHpKqvw==} engines: {node: '>= 0.4'} dependencies: call-bind: 1.0.2 define-properties: 1.1.4 - es-abstract: 1.20.1 + es-abstract: 1.20.5 dev: true /once/1.4.0: @@ -3992,6 +3985,13 @@ packages: p-limit: 2.3.0 dev: true + /p-locate/5.0.0: + resolution: {integrity: sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==} + engines: {node: '>=10'} + dependencies: + p-limit: 3.1.0 + dev: true + /p-map/4.0.0: resolution: {integrity: sha512-/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ==} engines: {node: '>=10'} @@ -4021,8 +4021,10 @@ packages: lines-and-columns: 1.2.4 dev: true - /parse5/6.0.1: - resolution: {integrity: sha512-Ofn/CTFzRGTTxwpNEs9PP93gXShHcTq255nzRYSKe8AkVpZY7e1fpmTfOyoIvjP5HG7Z2ZM7VS9PPhQGW2pOpw==} + /parse5/7.1.2: + resolution: {integrity: sha512-Czj1WaSVpaoj0wbhMzLmWD69anp2WH7FXMB9n1Sy8/ZFF9jolSQVMu1Ij5WIyGmcBmhk7EOndpO4mIpihVqAXw==} + dependencies: + entities: 4.4.0 dev: true /path-exists/4.0.0: @@ -4100,8 +4102,8 @@ packages: engines: {node: '>= 0.8.0'} dev: true - /prettier/2.6.2: - resolution: {integrity: sha512-PkUpF+qoXTqhOeWL9fu7As8LXsIUZ1WYaJiY/a7McAQzxjk82OF0tibkFXVCDImZtWxbvojFjerkiLb0/q8mew==} + /prettier/2.8.1: + resolution: {integrity: sha512-lqGoSJBQNJidqCHE80vqZJHWHRFoNYsSpP9AjFhlhi9ODCJA541svILes/+/1GM3VaL/abZi7cpFzOpdR9UPKg==} engines: {node: '>=10.13.0'} hasBin: true dev: true @@ -4115,12 +4117,11 @@ packages: react-is: 17.0.2 dev: true - /pretty-format/28.1.3: - resolution: {integrity: sha512-8gFb/To0OmxHR9+ZTb14Df2vNxdGCX8g1xWGUTqUw5TiZvcQf5sHKObd5UcPyLLyowNwDAMTF3XWOG1B6mxl1Q==} - engines: {node: ^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0} + /pretty-format/29.3.1: + resolution: {integrity: sha512-FyLnmb1cYJV8biEIiRyzRFvs2lry7PPIvOqKVe1GCUEYg4YGmlx1qG9EJNMxArYm7piII4qb8UV1Pncq5dxmcg==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: - '@jest/schemas': 28.1.3 - ansi-regex: 5.0.1 + '@jest/schemas': 29.0.0 ansi-styles: 5.2.0 react-is: 18.2.0 dev: true @@ -4150,6 +4151,10 @@ packages: engines: {node: '>=6'} dev: true + /querystringify/2.2.0: + resolution: {integrity: sha512-FIqgj2EUvTa7R50u0rGsyTftzjYmv/a3hO345bZNrqabNqjtgiDMgmo4mkUjd+nzU5oF3dClKqFIPUKybUyqoQ==} + dev: true + /queue-microtask/1.2.3: resolution: {integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==} dev: true @@ -4219,6 +4224,10 @@ packages: engines: {node: '>=0.10.5'} dev: true + /requires-port/1.0.0: + resolution: {integrity: sha512-KigOCHcocU3XODJxsu8i/j8T9tzT4adHiecwORRQ0ZZFcp7ahwXuRU1m+yuO90C5ZUyGeGfocHDI14M3L3yDAQ==} + dev: true + /resolve-cwd/3.0.0: resolution: {integrity: sha512-OrZaX2Mb+rJCpH/6CpSqt9xFVpN++x01XnN2ie9g6P5/3xelLAkXWVADpdz1IHD/KFfEXyE6V0U01OQ3UO2rEg==} engines: {node: '>=8'} @@ -4283,7 +4292,7 @@ packages: glob: 7.2.3 dev: true - /rollup-plugin-dts/4.2.3_b2qkuxlobxx24w2qbmhtfsd2nq: + /rollup-plugin-dts/4.2.3_ntuob3xud5wukob6phfmz2mbyy: resolution: {integrity: sha512-jlcpItqM2efqfIiKzDB/IKOS9E9fDvbkJSGw5GtK/PqPGS9eC3R3JKyw2VvpTktZA+TNgJRMu1NTv244aTUzzQ==} engines: {node: '>=v12.22.12'} peerDependencies: @@ -4292,7 +4301,7 @@ packages: dependencies: magic-string: 0.26.6 rollup: 2.79.1 - typescript: 4.8.2 + typescript: 4.9.4 optionalDependencies: '@babel/code-frame': 7.18.6 dev: true @@ -4303,7 +4312,7 @@ packages: magic-string: 0.25.9 dev: true - /rollup-plugin-swc3/0.6.0_k45d4bcey73t6cefd5fuiagzey: + /rollup-plugin-swc3/0.6.0_5e6vvh4jynfu3vhynwqmszxsva: resolution: {integrity: sha512-nNG2T3x3wq6e7H+8ZHB0CxJ3H9QeYZUh+DwCjwWEyGCaIwIMyIaq/30ZJlYK8/OWWhCfYMwxKRcZGirPg6nPqA==} engines: {node: '>=12'} peerDependencies: @@ -4311,7 +4320,7 @@ packages: rollup: ^2.0.0 dependencies: '@rollup/pluginutils': 4.2.1 - '@swc/core': 1.3.6 + '@swc/core': 1.3.22 deepmerge: 4.2.2 get-tsconfig: 4.2.0 rollup: 2.79.1 @@ -4334,20 +4343,28 @@ packages: /rxjs/7.5.6: resolution: {integrity: sha512-dnyv2/YsXhnm461G+R/Pe5bWP41Nm6LBXEYWI6eiFP4fiwx6WRI/CD0zbdVAudd9xwLEF2IDcKXLHit0FYjUzw==} dependencies: - tslib: 2.4.0 + tslib: 2.4.1 dev: true /safe-buffer/5.1.2: resolution: {integrity: sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==} dev: true + /safe-regex-test/1.0.0: + resolution: {integrity: sha512-JBUUzyOgEwXQY1NuPtvcj/qcBDbDmEvWufhlnXZIm75DEHp+afM1r1ujJpJsV/gSM4t59tpDyPi1sd6ZaPFfsA==} + dependencies: + call-bind: 1.0.2 + get-intrinsic: 1.1.3 + is-regex: 1.1.4 + dev: true + /safer-buffer/2.1.2: resolution: {integrity: sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==} dev: true - /saxes/5.0.1: - resolution: {integrity: sha512-5LBh1Tls8c9xgGjw3QrMwETmTMVk0oFgvrFSvWx62llR2hcEInrKNZ2GZCCuuy2lvWrdl5jhbpeqc5hRYKFOcw==} - engines: {node: '>=10'} + /saxes/6.0.0: + resolution: {integrity: sha512-xAg7SOnEhrm5zI3puOOKyy1OMcMlIJZYNJY7xLBwSze0UjhPLnWfj2GF2EpT0jmzaJKIWKHLsaSSajf35bcYnA==} + engines: {node: '>=v12.22.7'} dependencies: xmlchars: 2.2.0 dev: true @@ -4387,7 +4404,7 @@ packages: resolution: {integrity: sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==} dependencies: call-bind: 1.0.2 - get-intrinsic: 1.1.2 + get-intrinsic: 1.1.3 object-inspect: 1.12.2 dev: true @@ -4435,14 +4452,6 @@ packages: engines: {node: '>=0.10.0'} dev: true - /source-map-resolve/0.6.0: - resolution: {integrity: sha512-KXBr9d/fO/bWo97NXsPIAW1bFSBOuCnjbNTBMO7N59hsv5i9yzRDfcYwwt0l04+VqnKC+EwzvJZIP/qkuMgR/w==} - deprecated: See https://github.com/lydell/source-map-resolve#deprecated - dependencies: - atob: 2.1.2 - decode-uri-component: 0.2.0 - dev: true - /source-map-support/0.5.13: resolution: {integrity: sha512-SHSKFHadjVA5oR4PPqhtAVdcBWwRYVd6g6cAXnIbRiIwc2EhPrTuKUBdSLvlEKyIP3GCf89fltvcZiP9MMFA1w==} dependencies: @@ -4457,6 +4466,7 @@ packages: /sourcemap-codec/1.4.8: resolution: {integrity: sha512-9NykojV5Uih4lgo5So5dtw+f0JgJX30KCNI8gwhz2J9A15wD0Ml6tjHKwf6fTSa6fAdVBdZeNOs9eJ71qCk8vA==} + deprecated: Please use @jridgewell/sourcemap-codec instead dev: true /sprintf-js/1.0.3: @@ -4501,33 +4511,33 @@ packages: strip-ansi: 7.0.1 dev: true - /string.prototype.matchall/4.0.7: - resolution: {integrity: sha512-f48okCX7JiwVi1NXCVWcFnZgADDC/n2vePlQ/KUCNqCikLLilQvwjMO8+BHVKvgzH0JB0J9LEPgxOGT02RoETg==} + /string.prototype.matchall/4.0.8: + resolution: {integrity: sha512-6zOCOcJ+RJAQshcTvXPHoxoQGONa3e/Lqx90wUA+wEzX78sg5Bo+1tQo4N0pohS0erG9qtCqJDjNCQBjeWVxyg==} dependencies: call-bind: 1.0.2 define-properties: 1.1.4 - es-abstract: 1.20.1 - get-intrinsic: 1.1.2 + es-abstract: 1.20.5 + get-intrinsic: 1.1.3 has-symbols: 1.0.3 internal-slot: 1.0.3 regexp.prototype.flags: 1.4.3 side-channel: 1.0.4 dev: true - /string.prototype.trimend/1.0.5: - resolution: {integrity: sha512-I7RGvmjV4pJ7O3kdf+LXFpVfdNOxtCW/2C8f6jNiW4+PQchwxkCDzlk1/7p+Wl4bqFIZeF47qAHXLuHHWKAxog==} + /string.prototype.trimend/1.0.6: + resolution: {integrity: sha512-JySq+4mrPf9EsDBEDYMOb/lM7XQLulwg5R/m1r0PXEFqrV0qHvl58sdTilSXtKOflCsK2E8jxf+GKC0T07RWwQ==} dependencies: call-bind: 1.0.2 define-properties: 1.1.4 - es-abstract: 1.20.1 + es-abstract: 1.20.5 dev: true - /string.prototype.trimstart/1.0.5: - resolution: {integrity: sha512-THx16TJCGlsN0o6dl2o6ncWUsdgnLRSA23rRE5pyGBw/mLr3Ej/R2LaqCtgP8VNMGZsvMWnf9ooZPyY2bHvUFg==} + /string.prototype.trimstart/1.0.6: + resolution: {integrity: sha512-omqjMDaY92pbn5HOX7f9IccLA+U1tA9GvtU4JrodiXFfYB7jPzzHpRzpglLAjtUV6bB557zwClJezTqnAiYnQA==} dependencies: call-bind: 1.0.2 define-properties: 1.1.4 - es-abstract: 1.20.1 + es-abstract: 1.20.5 dev: true /strip-ansi/6.0.1: @@ -4571,8 +4581,8 @@ packages: engines: {node: '>=8'} dev: true - /styled-jsx/5.0.2_react@18.2.0: - resolution: {integrity: sha512-LqPQrbBh3egD57NBcHET4qcgshPks+yblyhPlH2GY8oaDgKs8SK4C3dBh3oSJjgzJ3G5t1SYEZGHkP+QEpX9EQ==} + /styled-jsx/5.1.0_react@18.2.0: + resolution: {integrity: sha512-/iHaRJt9U7T+5tp6TRelLnqBqiaIT0HsO0+vgyj8hK2KUk7aejFqRrumqPUlAqDwAj8IbS/1hk3IhBAAK/FCUQ==} engines: {node: '>= 12.0.0'} peerDependencies: '@babel/core': '*' @@ -4584,6 +4594,7 @@ packages: babel-plugin-macros: optional: true dependencies: + client-only: 0.0.1 react: 18.2.0 dev: true @@ -4608,14 +4619,6 @@ packages: has-flag: 4.0.0 dev: true - /supports-hyperlinks/2.2.0: - resolution: {integrity: sha512-6sXEzV5+I5j8Bmq9/vUphGRM/RJNT9SCURJLjwfOg51heRtguGWDzcaBlgAzKhQa0EVNpPEKzQuBwZ8S8WaCeQ==} - engines: {node: '>=8'} - dependencies: - has-flag: 4.0.0 - supports-color: 7.2.0 - dev: true - /supports-preserve-symlinks-flag/1.0.0: resolution: {integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==} engines: {node: '>= 0.4'} @@ -4625,14 +4628,6 @@ packages: resolution: {integrity: sha512-9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw==} dev: true - /terminal-link/2.1.1: - resolution: {integrity: sha512-un0FmiRUQNr5PJqy9kP7c40F5BOfpGlYTrxonDChEZB7pzZxRNp/bt+ymiy9/npwXya9KH99nJ/GXFIiUkYGFQ==} - engines: {node: '>=8'} - dependencies: - ansi-escapes: 4.3.2 - supports-hyperlinks: 2.2.0 - dev: true - /test-exclude/6.0.0: resolution: {integrity: sha512-cAGWPIyOHU6zlmg88jwm7VRyXnMN7iV68OGAbYDk/Mh/xC/pzVPlQtY6ngoIH/5/tciuhGfvESU8GrHrcxD56w==} engines: {node: '>=8'} @@ -4666,13 +4661,14 @@ packages: is-number: 7.0.0 dev: true - /tough-cookie/4.0.0: - resolution: {integrity: sha512-tHdtEpQCMrc1YLrMaqXXcj6AxhYi/xgit6mZu1+EDWUn+qhUf8wMQoFIy9NXuq23zAwtcB0t/MjACGR18pcRbg==} + /tough-cookie/4.1.2: + resolution: {integrity: sha512-G9fqXWoYFZgTc2z8Q5zaHy/vJMjm+WV0AkAeHxVCQiEB1b+dGvWzFW6QV07cY5jQ5gRkeid2qIkzkxUnmoQZUQ==} engines: {node: '>=6'} dependencies: psl: 1.9.0 punycode: 2.1.1 - universalify: 0.1.2 + universalify: 0.2.0 + url-parse: 1.5.10 dev: true /tr46/3.0.0: @@ -4690,14 +4686,18 @@ packages: resolution: {integrity: sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ==} dev: true - /tsutils/3.21.0_typescript@4.8.2: + /tslib/2.4.1: + resolution: {integrity: sha512-tGyy4dAjRIEwI7BzsB0lynWgOpfqjUdq91XXAlIWD2OwKBH7oCl/GZG/HT4BOHrTlPMOASlMQ7veyTqpmRcrNA==} + dev: true + + /tsutils/3.21.0_typescript@4.9.4: resolution: {integrity: sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA==} engines: {node: '>= 6'} peerDependencies: typescript: '>=2.8.0 || >= 3.2.0-dev || >= 3.3.0-dev || >= 3.4.0-dev || >= 3.5.0-dev || >= 3.6.0-dev || >= 3.6.0-beta || >= 3.7.0-dev || >= 3.7.0-beta' dependencies: tslib: 1.14.1 - typescript: 4.8.2 + typescript: 4.9.4 dev: true /type-check/0.3.2: @@ -4729,8 +4729,8 @@ packages: engines: {node: '>=10'} dev: true - /typescript/4.8.2: - resolution: {integrity: sha512-C0I1UsrrDHo2fYI5oaCGbSejwX4ch+9Y5jTQELvovfmFkK3HHSZJB8MSJcWLmCUBzQBchCrZ9rMRV6GuNrvGtw==} + /typescript/4.9.4: + resolution: {integrity: sha512-Uz+dTXYzxXXbsFpM86Wh3dKCxrQqUcVMxwU54orwlJjOpO3ao8L7j5lH+dWfTwgCwIuM9GQ2kvVotzYJMXTBZg==} engines: {node: '>=4.2.0'} hasBin: true dev: true @@ -4744,8 +4744,8 @@ packages: which-boxed-primitive: 1.0.2 dev: true - /universalify/0.1.2: - resolution: {integrity: sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==} + /universalify/0.2.0: + resolution: {integrity: sha512-CJ1QgKmNg3CwvAv/kOFmtnEN05f0D/cn9QntgNOQlQF9dgvVTHj3t+8JPdjqawCHk7V/KA+fbUqzZ9XWhcqPUg==} engines: {node: '>= 4.0.0'} dev: true @@ -4766,35 +4766,33 @@ packages: punycode: 2.1.1 dev: true + /url-parse/1.5.10: + resolution: {integrity: sha512-WypcfiRhfeUP9vvF0j6rw0J3hrWrw6iZv3+22h6iRMJ/8z1Tj6XfLP4DsUix5MhMPnXpiHDoKyoZ/bdCkwBCiQ==} + dependencies: + querystringify: 2.2.0 + requires-port: 1.0.0 + dev: true + /use-sync-external-store/1.2.0_react@18.2.0: resolution: {integrity: sha512-eEgnFxGQ1Ife9bzYs6VLi8/4X6CObHMw9Qr9tPY43iKwsPw8xE8+EFsf/2cFZ5S3esXgpWgtSCtLNS41F+sKPA==} peerDependencies: react: ^16.8.0 || ^17.0.0 || ^18.0.0 dependencies: react: 18.2.0 - - /v8-compile-cache/2.3.0: - resolution: {integrity: sha512-l8lCEmLcLYZh4nbunNZvQCJc5pv7+RCwa8q/LdUx8u7lsWvPDKmpodJAJNwkAhJC//dFY48KuIEmjtd4RViDrA==} - dev: true + dev: false /v8-to-istanbul/9.0.1: resolution: {integrity: sha512-74Y4LqY74kLE6IFyIjPtkSTWzUZmj8tdHT9Ii/26dvQ6K9Dl2NbEfj0XgU2sHCtKgt5VupqhlO/5aWuqS+IY1w==} engines: {node: '>=10.12.0'} dependencies: - '@jridgewell/trace-mapping': 0.3.14 + '@jridgewell/trace-mapping': 0.3.17 '@types/istanbul-lib-coverage': 2.0.4 convert-source-map: 1.8.0 dev: true - /w3c-hr-time/1.0.2: - resolution: {integrity: sha512-z8P5DvDNjKDoFIHK7q8r8lackT6l+jo/Ye3HOle7l9nICP9lf1Ci25fy9vHd0JOWewkIFzXIEig3TdKT7JQ5fQ==} - dependencies: - browser-process-hrtime: 1.0.0 - dev: true - - /w3c-xmlserializer/3.0.0: - resolution: {integrity: sha512-3WFqGEgSXIyGhOmAFtlicJNMjEps8b1MG31NCA0/vOF9+nKMUW1ckhi9cnNHmf88Rzw5V+dwIwsm2C7X8k9aQg==} - engines: {node: '>=12'} + /w3c-xmlserializer/4.0.0: + resolution: {integrity: sha512-d+BFHzbiCx6zGfz0HyQ6Rg69w9k19nviJspaj4yNscGjrHu94sVP+aRm75yEbCh+r2/yR+7q6hux9LVtbuTGBw==} + engines: {node: '>=14'} dependencies: xml-name-validator: 4.0.0 dev: true @@ -4822,14 +4820,6 @@ packages: engines: {node: '>=12'} dev: true - /whatwg-url/10.0.0: - resolution: {integrity: sha512-CLxxCmdUby142H5FZzn4D8ikO1cmypvXVQktsgosNy4a4BHrDHeciBBGZhb0bNoR5/MltoCatso+vFjjGx8t0w==} - engines: {node: '>=12'} - dependencies: - tr46: 3.0.0 - webidl-conversions: 7.0.0 - dev: true - /whatwg-url/11.0.0: resolution: {integrity: sha512-RKT8HExMpoYx4igMiVMY83lN6UeITKJlBQ+vR/8ZJ8OCdSiN3RwCq+9gH0+Xzj0+5IrM6i4j/6LuvzbZIQgEcQ==} engines: {node: '>=12'} @@ -4891,8 +4881,8 @@ packages: signal-exit: 3.0.7 dev: true - /ws/8.8.1: - resolution: {integrity: sha512-bGy2JzvzkPowEJV++hF07hAD6niYSr0JzBNo/J29WsB57A2r7Wlc1UFcTR9IzrPvuNVO4B8LGqF8qcpsVOhJCA==} + /ws/8.11.0: + resolution: {integrity: sha512-HPG3wQd9sNQoT9xHyNCXoDUa+Xw/VevmY9FoHyQ+g+rrMn4j6FB4np7Z0OhdTgjx6MgQLK7jwSy1YecU1+4Asg==} engines: {node: '>=10.0.0'} peerDependencies: bufferutil: ^4.0.1 diff --git a/test/type/config.tsx b/test/type/config.tsx index 4298e0c1d..9fa8f55e6 100644 --- a/test/type/config.tsx +++ b/test/type/config.tsx @@ -2,6 +2,7 @@ import React from 'react' import type { Cache } from 'swr' import { useSWRConfig, SWRConfig } from 'swr' import { expectType } from './utils' +import type { FullConfiguration } from 'swr/_internal' export function useTestCache() { expectType>(useSWRConfig().cache) @@ -28,3 +29,12 @@ export function useCustomSWRConfig() { ) } + +export function useFullConfiguration() { + type IData = { value: string } + type IError = { error: any } + type IConfig = FullConfiguration + + const config: IConfig = SWRConfig.defaultValue + expectType(config.fallbackData) +} diff --git a/test/type/fetcher.ts b/test/type/fetcher.ts index c439ed28c..697d99daf 100644 --- a/test/type/fetcher.ts +++ b/test/type/fetcher.ts @@ -1,22 +1,23 @@ import useSWR from 'swr' import useSWRInfinite from 'swr/infinite' import { expectType, truthy } from './utils' +import type { Equal } from '@type-challenges/utils' export function useDataErrorGeneric() { useSWR<{ id: number }>('/api/', () => ({ id: 123 })) useSWR('/api/', (key: string) => key) useSWRInfinite( (index, previousPageData) => { - expectType(index) - expectType(previousPageData) + expectType>(true) + expectType>(true) return 'key' }, key => key ) useSWRInfinite<{ id: number }[], any>( (index, previousPageData) => { - expectType(index) - expectType<{ id: number }[] | null>(previousPageData) + expectType>(true) + expectType>(true) return truthy() ? 'key' : null }, key => key @@ -25,51 +26,66 @@ export function useDataErrorGeneric() { export function useString() { useSWR('/api/user', key => { - expectType(key) + expectType>(true) return key }) useSWR(truthy() ? '/api/user' : null, key => { - expectType(key) + expectType>(true) return key }) useSWR(truthy() ? '/api/user' : false, key => { - expectType(key) + expectType>(true) return key }) } export function useRecord() { useSWR({ a: '1', b: { c: '3', d: 2 } }, key => { - expectType<{ a: string; b: { c: string; d: number } }>(key) + expectType>( + true + ) return key }) useSWR(truthy() ? { a: '1', b: { c: '3', d: 2 } } : null, key => { - expectType<{ a: string; b: { c: string; d: number } }>(key) + expectType>( + true + ) return key }) useSWR(truthy() ? { a: '1', b: { c: '3', d: 2 } } : false, key => { - expectType<{ a: string; b: { c: string; d: number } }>(key) + expectType>( + true + ) return key }) } export function useTuple() { useSWR([{ a: '1', b: { c: '3' } }, [1231, '888']], keys => { - expectType<[{ a: string; b: { c: string } }, (string | number)[]]>(keys) + expectType< + Equal<[{ a: string; b: { c: string } }, (string | number)[]], typeof keys> + >(true) return keys }) useSWR(truthy() ? [{ a: '1', b: { c: '3' } }, [1231, '888']] : null, keys => { - expectType<[{ a: string; b: { c: string } }, (string | number)[]]>(keys) + expectType< + Equal<[{ a: string; b: { c: string } }, (string | number)[]], typeof keys> + >(true) return keys }) useSWR( truthy() ? [{ a: '1', b: { c: '3' } }, [1231, '888']] : false, keys => { - expectType<[{ a: string; b: { c: string } }, (string | number)[]]>(keys) + expectType< + Equal< + [{ a: string; b: { c: string } }, (string | number)[]], + typeof keys + > + >(true) return keys } ) @@ -78,22 +94,7 @@ export function useTuple() { export function useReadonlyTuple() { useSWR([{ a: '1', b: { c: '3' } }, [1231, '888']] as const, keys => { expectType< - readonly [ - { - readonly a: '1' - readonly b: { - readonly c: '3' - } - }, - readonly [1231, '888'] - ] - >(keys) - return keys - }) - useSWR( - truthy() ? ([{ a: '1', b: { c: '3' } }, [1231, '888']] as const) : null, - keys => { - expectType< + Equal< readonly [ { readonly a: '1' @@ -102,8 +103,29 @@ export function useReadonlyTuple() { } }, readonly [1231, '888'] - ] - >(keys) + ], + typeof keys + > + >(true) + return keys + }) + useSWR( + truthy() ? ([{ a: '1', b: { c: '3' } }, [1231, '888']] as const) : null, + keys => { + expectType< + Equal< + readonly [ + { + readonly a: '1' + readonly b: { + readonly c: '3' + } + }, + readonly [1231, '888'] + ], + typeof keys + > + >(true) return keys } ) @@ -111,16 +133,19 @@ export function useReadonlyTuple() { truthy() ? ([{ a: '1', b: { c: '3' } }, [1231, '888']] as const) : false, keys => { expectType< - readonly [ - { - readonly a: '1' - readonly b: { - readonly c: '3' - } - }, - readonly [1231, '888'] - ] - >(keys) + Equal< + readonly [ + { + readonly a: '1' + readonly b: { + readonly c: '3' + } + }, + readonly [1231, '888'] + ], + typeof keys + > + >(true) return keys } ) @@ -130,14 +155,14 @@ export function useReturnString() { useSWR( () => '/api/user', key => { - expectType(key) + expectType>(true) return key } ) useSWR( () => (truthy() ? '/api/user' : null), key => { - expectType(key) + expectType>(true) return key } ) @@ -145,7 +170,7 @@ export function useReturnString() { useSWR( () => (truthy() ? '/api/user' : false), key => { - expectType(key) + expectType>(true) return key } ) @@ -155,7 +180,7 @@ export function useReturnString() { return `${index}${previousPageData}` }, key => { - expectType(key) + expectType>(true) return key } ) @@ -165,7 +190,7 @@ export function useReturnString() { return truthy() ? `${index}${previousPageData}` : null }, key => { - expectType(key) + expectType>(true) return key } ) @@ -174,7 +199,7 @@ export function useReturnString() { return truthy() ? `${index}${previousPageData}` : false }, key => { - expectType(key) + expectType>(true) return key } ) @@ -184,14 +209,18 @@ export function useReturnRecord() { useSWR( () => ({ a: '1', b: { c: '3', d: 2 } }), key => { - expectType<{ a: string; b: { c: string; d: number } }>(key) + expectType>( + true + ) return key } ) useSWR( () => (truthy() ? { a: '1', b: { c: '3', d: 2 } } : null), key => { - expectType<{ a: string; b: { c: string; d: number } }>(key) + expectType>( + true + ) return key } ) @@ -199,7 +228,9 @@ export function useReturnRecord() { useSWR( () => (truthy() ? { a: '1', b: { c: '3', d: 2 } } : false), key => { - expectType<{ a: string; b: { c: string; d: number } }>(key) + expectType>( + true + ) return key } ) @@ -210,7 +241,7 @@ export function useReturnRecord() { endPoint: '/api' }), key => { - expectType<{ index: number; endPoint: string }>(key) + expectType>(true) return [key] } ) @@ -224,7 +255,7 @@ export function useReturnRecord() { } : null, key => { - expectType<{ index: number; endPoint: string }>(key) + expectType>(true) return [key] } ) @@ -238,7 +269,7 @@ export function useReturnRecord() { } : false, key => { - expectType<{ index: number; endPoint: string }>(key) + expectType>(true) return [key] } ) @@ -248,14 +279,24 @@ export function useReturnTuple() { useSWR( () => [{ a: '1', b: { c: '3' } }, [1231, '888']], keys => { - expectType<[{ a: string; b: { c: string } }, (string | number)[]]>(keys) + expectType< + Equal< + [{ a: string; b: { c: string } }, (string | number)[]], + typeof keys + > + >(true) return keys } ) useSWR( () => (truthy() ? [{ a: '1', b: { c: '3' } }, [1231, '888']] : null), keys => { - expectType<[{ a: string; b: { c: string } }, (string | number)[]]>(keys) + expectType< + Equal< + [{ a: string; b: { c: string } }, (string | number)[]], + typeof keys + > + >(true) return keys } ) @@ -263,7 +304,12 @@ export function useReturnTuple() { useSWR( () => (truthy() ? [{ a: '1', b: { c: '3' } }, [1231, '888']] : false), keys => { - expectType<[{ a: string; b: { c: string } }, (string | number)[]]>(keys) + expectType< + Equal< + [{ a: string; b: { c: string } }, (string | number)[]], + typeof keys + > + >(true) return keys } ) @@ -271,7 +317,12 @@ export function useReturnTuple() { useSWRInfinite( index => [{ a: '1', b: { c: '3', d: index } }, [1231, '888']], keys => { - expectType<[{ a: string; b: { c: string } }, (string | number)[]]>(keys) + expectType< + Equal< + [{ a: string; b: { c: string; d: number } }, (string | number)[]], + typeof keys + > + >(true) return keys[1] } ) @@ -280,7 +331,12 @@ export function useReturnTuple() { index => truthy() ? [{ a: '1', b: { c: '3', d: index } }, [1231, '888']] : null, keys => { - expectType<[{ a: string; b: { c: string } }, (string | number)[]]>(keys) + expectType< + Equal< + [{ a: string; b: { c: string; d: number } }, (string | number)[]], + typeof keys + > + >(true) return keys[1] } ) @@ -289,7 +345,12 @@ export function useReturnTuple() { index => truthy() ? [{ a: '1', b: { c: '3', d: index } }, [1231, '888']] : false, keys => { - expectType<[{ a: string; b: { c: string } }, (string | number)[]]>(keys) + expectType< + Equal< + [{ a: string; b: { c: string; d: number } }, (string | number)[]], + typeof keys + > + >(true) return keys[1] } ) @@ -300,16 +361,19 @@ export function useReturnReadonlyTuple() { () => [{ a: '1', b: { c: '3' } }, [1231, '888']] as const, keys => { expectType< - readonly [ - { - readonly a: '1' - readonly b: { - readonly c: '3' - } - }, - readonly [1231, '888'] - ] - >(keys) + Equal< + readonly [ + { + readonly a: '1' + readonly b: { + readonly c: '3' + } + }, + readonly [1231, '888'] + ], + typeof keys + > + >(true) return keys } ) @@ -318,16 +382,19 @@ export function useReturnReadonlyTuple() { truthy() ? ([{ a: '1', b: { c: '3' } }, [1231, '888']] as const) : null, keys => { expectType< - readonly [ - { - readonly a: '1' - readonly b: { - readonly c: '3' - } - }, - readonly [1231, '888'] - ] - >(keys) + Equal< + readonly [ + { + readonly a: '1' + readonly b: { + readonly c: '3' + } + }, + readonly [1231, '888'] + ], + typeof keys + > + >(true) return keys } ) @@ -337,16 +404,19 @@ export function useReturnReadonlyTuple() { truthy() ? ([{ a: '1', b: { c: '3' } }, [1231, '888']] as const) : false, keys => { expectType< - readonly [ - { - readonly a: '1' - readonly b: { - readonly c: '3' - } - }, - readonly [1231, '888'] - ] - >(keys) + Equal< + readonly [ + { + readonly a: '1' + readonly b: { + readonly c: '3' + } + }, + readonly [1231, '888'] + ], + typeof keys + > + >(true) return keys } ) @@ -355,16 +425,19 @@ export function useReturnReadonlyTuple() { () => [{ a: '1', b: { c: '3' } }, [1231, '888']] as const, keys => { expectType< - readonly [ - { - readonly a: '1' - readonly b: { - readonly c: '3' - } - }, - readonly [1231, '888'] - ] - >(keys) + Equal< + readonly [ + { + readonly a: '1' + readonly b: { + readonly c: '3' + } + }, + readonly [1231, '888'] + ], + typeof keys + > + >(true) return keys } ) @@ -373,16 +446,19 @@ export function useReturnReadonlyTuple() { truthy() ? ([{ a: '1', b: { c: '3' } }, [1231, '888']] as const) : null, keys => { expectType< - readonly [ - { - readonly a: '1' - readonly b: { - readonly c: '3' - } - }, - readonly [1231, '888'] - ] - >(keys) + Equal< + readonly [ + { + readonly a: '1' + readonly b: { + readonly c: '3' + } + }, + readonly [1231, '888'] + ], + typeof keys + > + >(true) return keys[1] } ) @@ -392,16 +468,19 @@ export function useReturnReadonlyTuple() { truthy() ? ([{ a: '1', b: { c: '3' } }, [1231, '888']] as const) : false, keys => { expectType< - readonly [ - { - readonly a: '1' - readonly b: { - readonly c: '3' - } - }, - readonly [1231, '888'] - ] - >(keys) + Equal< + readonly [ + { + readonly a: '1' + readonly b: { + readonly c: '3' + } + }, + readonly [1231, '888'] + ], + typeof keys + > + >(true) return keys[1] } ) diff --git a/test/type/option-fetcher.ts b/test/type/option-fetcher.ts index 1b9bd0b8b..0a6d3c2bb 100644 --- a/test/type/option-fetcher.ts +++ b/test/type/option-fetcher.ts @@ -1,6 +1,7 @@ import useSWR from 'swr' import useSWRInfinite from 'swr/infinite' import { expectType, truthy } from './utils' +import type { Equal } from '@type-challenges/utils' export function useDataErrorGeneric() { useSWR<{ id: number }>('/api/', { fetcher: () => ({ id: 123 }) }) @@ -11,19 +12,19 @@ export function useDataErrorGeneric() { export function useString() { useSWR('/api/user', { fetcher: key => { - expectType(key) + expectType>(true) return key } }) useSWR(truthy() ? '/api/user' : null, { fetcher: key => { - expectType(key) + expectType>(true) return key } }) useSWR(truthy() ? '/api/user' : false, { fetcher: key => { - expectType(key) + expectType>(true) return key } }) @@ -34,7 +35,9 @@ export function useRecord() { { a: '1', b: { c: '3', d: 2 } }, { fetcher: key => { - expectType<{ a: string; b: { c: string; d: number } }>(key) + expectType< + Equal<{ a: string; b: { c: string; d: number } }, typeof key> + >(true) return key } } @@ -42,14 +45,18 @@ export function useRecord() { useSWR(truthy() ? { a: '1', b: { c: '3', d: 2 } } : null, { fetcher: key => { - expectType<{ a: string; b: { c: string; d: number } }>(key) + expectType>( + true + ) return key } }) useSWR(truthy() ? { a: '1', b: { c: '3', d: 2 } } : false, { fetcher: key => { - expectType<{ a: string; b: { c: string; d: number } }>(key) + expectType>( + true + ) return key } }) @@ -58,19 +65,34 @@ export function useRecord() { export function useTuple() { useSWR([{ a: '1', b: { c: '3' } }, [1231, '888']], { fetcher: keys => { - expectType<[{ a: string; b: { c: string } }, (string | number)[]]>(keys) + expectType< + Equal< + [{ a: string; b: { c: string } }, (string | number)[]], + typeof keys + > + >(true) return keys } }) useSWR(truthy() ? [{ a: '1', b: { c: '3' } }, [1231, '888']] : null, { fetcher: keys => { - expectType<[{ a: string; b: { c: string } }, (string | number)[]]>(keys) + expectType< + Equal< + [{ a: string; b: { c: string } }, (string | number)[]], + typeof keys + > + >(true) return keys } }) useSWR(truthy() ? [{ a: '1', b: { c: '3' } }, [1231, '888']] : false, { fetcher: keys => { - expectType<[{ a: string; b: { c: string } }, (string | number)[]]>(keys) + expectType< + Equal< + [{ a: string; b: { c: string } }, (string | number)[]], + typeof keys + > + >(true) return keys } }) @@ -80,24 +102,7 @@ export function useReadonlyTuple() { useSWR([{ a: '1', b: { c: '3' } }, [1231, '888']] as const, { fetcher: keys => { expectType< - readonly [ - { - readonly a: '1' - readonly b: { - readonly c: '3' - } - }, - readonly [1231, '888'] - ] - >(keys) - return keys - } - }) - useSWR( - truthy() ? ([{ a: '1', b: { c: '3' } }, [1231, '888']] as const) : null, - { - fetcher: keys => { - expectType< + Equal< readonly [ { readonly a: '1' @@ -106,8 +111,31 @@ export function useReadonlyTuple() { } }, readonly [1231, '888'] - ] - >(keys) + ], + typeof keys + > + >(true) + return keys + } + }) + useSWR( + truthy() ? ([{ a: '1', b: { c: '3' } }, [1231, '888']] as const) : null, + { + fetcher: keys => { + expectType< + Equal< + readonly [ + { + readonly a: '1' + readonly b: { + readonly c: '3' + } + }, + readonly [1231, '888'] + ], + typeof keys + > + >(true) return keys } } @@ -117,16 +145,19 @@ export function useReadonlyTuple() { { fetcher: keys => { expectType< - readonly [ - { - readonly a: '1' - readonly b: { - readonly c: '3' - } - }, - readonly [1231, '888'] - ] - >(keys) + Equal< + readonly [ + { + readonly a: '1' + readonly b: { + readonly c: '3' + } + }, + readonly [1231, '888'] + ], + typeof keys + > + >(true) return keys } } @@ -136,20 +167,20 @@ export function useReadonlyTuple() { export function useReturnString() { useSWR(() => '/api/user', { fetcher: key => { - expectType(key) + expectType>(true) return key } }) useSWR(() => (truthy() ? '/api/user' : null), { fetcher: key => { - expectType(key) + expectType>(true) return key } }) useSWR(() => (truthy() ? '/api/user' : false), { fetcher: key => { - expectType(key) + expectType>(true) return key } }) @@ -160,7 +191,7 @@ export function useReturnString() { }, { fetcher: key => { - expectType(key) + expectType>(true) return key } } @@ -172,7 +203,7 @@ export function useReturnString() { }, { fetcher: key => { - expectType(key) + expectType>(true) return key } } @@ -183,7 +214,7 @@ export function useReturnString() { }, { fetcher: key => { - expectType(key) + expectType>(true) return key } } @@ -193,20 +224,26 @@ export function useReturnString() { export function useReturnRecord() { useSWR(() => ({ a: '1', b: { c: '3', d: 2 } }), { fetcher: key => { - expectType<{ a: string; b: { c: string; d: number } }>(key) + expectType>( + true + ) return key } }) useSWR(() => (truthy() ? { a: '1', b: { c: '3', d: 2 } } : null), { fetcher: key => { - expectType<{ a: string; b: { c: string; d: number } }>(key) + expectType>( + true + ) return key } }) useSWR(() => (truthy() ? { a: '1', b: { c: '3', d: 2 } } : false), { fetcher: key => { - expectType<{ a: string; b: { c: string; d: number } }>(key) + expectType>( + true + ) return key } }) @@ -218,7 +255,7 @@ export function useReturnRecord() { }), { fetcher: key => { - expectType<{ index: number; endPoint: string }>(key) + expectType>(true) return [key] } } @@ -234,7 +271,7 @@ export function useReturnRecord() { : null, { fetcher: key => { - expectType<{ index: number; endPoint: string }>(key) + expectType>(true) return [key] } } @@ -250,7 +287,7 @@ export function useReturnRecord() { : false, { fetcher: key => { - expectType<{ index: number; endPoint: string }>(key) + expectType>(true) return [key] } } @@ -260,13 +297,23 @@ export function useReturnRecord() { export function useReturnTuple() { useSWR(() => [{ a: '1', b: { c: '3' } }, [1231, '888']], { fetcher: keys => { - expectType<[{ a: string; b: { c: string } }, (string | number)[]]>(keys) + expectType< + Equal< + [{ a: string; b: { c: string } }, (string | number)[]], + typeof keys + > + >(true) return keys } }) useSWR(() => (truthy() ? [{ a: '1', b: { c: '3' } }, [1231, '888']] : null), { fetcher: keys => { - expectType<[{ a: string; b: { c: string } }, (string | number)[]]>(keys) + expectType< + Equal< + [{ a: string; b: { c: string } }, (string | number)[]], + typeof keys + > + >(true) return keys } }) @@ -275,7 +322,12 @@ export function useReturnTuple() { () => (truthy() ? [{ a: '1', b: { c: '3' } }, [1231, '888']] : false), { fetcher: keys => { - expectType<[{ a: string; b: { c: string } }, (string | number)[]]>(keys) + expectType< + Equal< + [{ a: string; b: { c: string } }, (string | number)[]], + typeof keys + > + >(true) return keys } } @@ -285,7 +337,12 @@ export function useReturnTuple() { index => [{ a: '1', b: { c: '3', d: index } }, [1231, '888']], { fetcher: keys => { - expectType<[{ a: string; b: { c: string } }, (string | number)[]]>(keys) + expectType< + Equal< + [{ a: string; b: { c: string; d: number } }, (string | number)[]], + typeof keys + > + >(true) return keys[1] } } @@ -296,7 +353,12 @@ export function useReturnTuple() { truthy() ? [{ a: '1', b: { c: '3', d: index } }, [1231, '888']] : null, { fetcher: keys => { - expectType<[{ a: string; b: { c: string } }, (string | number)[]]>(keys) + expectType< + Equal< + [{ a: string; b: { c: string; d: number } }, (string | number)[]], + typeof keys + > + >(true) return keys[1] } } @@ -307,7 +369,12 @@ export function useReturnTuple() { truthy() ? [{ a: '1', b: { c: '3', d: index } }, [1231, '888']] : false, { fetcher: keys => { - expectType<[{ a: string; b: { c: string } }, (string | number)[]]>(keys) + expectType< + Equal< + [{ a: string; b: { c: string; d: number } }, (string | number)[]], + typeof keys + > + >(true) return keys[1] } } @@ -318,16 +385,19 @@ export function useReturnReadonlyTuple() { useSWR(() => [{ a: '1', b: { c: '3' } }, [1231, '888']] as const, { fetcher: keys => { expectType< - readonly [ - { - readonly a: '1' - readonly b: { - readonly c: '3' - } - }, - readonly [1231, '888'] - ] - >(keys) + Equal< + readonly [ + { + readonly a: '1' + readonly b: { + readonly c: '3' + } + }, + readonly [1231, '888'] + ], + typeof keys + > + >(true) return keys } }) @@ -337,16 +407,19 @@ export function useReturnReadonlyTuple() { { fetcher: keys => { expectType< - readonly [ - { - readonly a: '1' - readonly b: { - readonly c: '3' - } - }, - readonly [1231, '888'] - ] - >(keys) + Equal< + readonly [ + { + readonly a: '1' + readonly b: { + readonly c: '3' + } + }, + readonly [1231, '888'] + ], + typeof keys + > + >(true) return keys } } @@ -358,16 +431,19 @@ export function useReturnReadonlyTuple() { { fetcher: keys => { expectType< - readonly [ - { - readonly a: '1' - readonly b: { - readonly c: '3' - } - }, - readonly [1231, '888'] - ] - >(keys) + Equal< + readonly [ + { + readonly a: '1' + readonly b: { + readonly c: '3' + } + }, + readonly [1231, '888'] + ], + typeof keys + > + >(true) return keys } } @@ -376,16 +452,19 @@ export function useReturnReadonlyTuple() { useSWRInfinite(() => [{ a: '1', b: { c: '3' } }, [1231, '888']] as const, { fetcher: keys => { expectType< - readonly [ - { - readonly a: '1' - readonly b: { - readonly c: '3' - } - }, - readonly [1231, '888'] - ] - >(keys) + Equal< + readonly [ + { + readonly a: '1' + readonly b: { + readonly c: '3' + } + }, + readonly [1231, '888'] + ], + typeof keys + > + >(true) return keys } }) @@ -395,16 +474,19 @@ export function useReturnReadonlyTuple() { { fetcher: keys => { expectType< - readonly [ - { - readonly a: '1' - readonly b: { - readonly c: '3' - } - }, - readonly [1231, '888'] - ] - >(keys) + Equal< + readonly [ + { + readonly a: '1' + readonly b: { + readonly c: '3' + } + }, + readonly [1231, '888'] + ], + typeof keys + > + >(true) return keys[1] } } @@ -416,16 +498,19 @@ export function useReturnReadonlyTuple() { { fetcher: keys => { expectType< - readonly [ - { - readonly a: '1' - readonly b: { - readonly c: '3' - } - }, - readonly [1231, '888'] - ] - >(keys) + Equal< + readonly [ + { + readonly a: '1' + readonly b: { + readonly c: '3' + } + }, + readonly [1231, '888'] + ], + typeof keys + > + >(true) return keys[1] } } diff --git a/test/use-swr-integration.test.tsx b/test/use-swr-integration.test.tsx index e08e2d4d4..2f1746a5d 100644 --- a/test/use-swr-integration.test.tsx +++ b/test/use-swr-integration.test.tsx @@ -503,26 +503,26 @@ describe('useSWR', () => { await screen.findByText('data:value') expect(logs).toMatchInlineSnapshot(` - Array [ - Object { + [ + { "data": undefined, "error": undefined, "isLoading": true, "isValidating": true, }, - Object { + { "data": undefined, "error": [Error: error], "isLoading": false, "isValidating": false, }, - Object { + { "data": undefined, "error": [Error: error], "isLoading": true, "isValidating": true, }, - Object { + { "data": "value", "error": undefined, "isLoading": false, @@ -559,11 +559,11 @@ describe('useSWR', () => { await screen.findByText('data:value') expect(logs).toMatchInlineSnapshot(` - Array [ - Object { + [ + { "data": undefined, }, - Object { + { "data": "value", }, ] diff --git a/test/use-swr-remote-mutation.test.tsx b/test/use-swr-remote-mutation.test.tsx index 81eaee3c3..02e5cdac0 100644 --- a/test/use-swr-remote-mutation.test.tsx +++ b/test/use-swr-remote-mutation.test.tsx @@ -1,5 +1,5 @@ import { act, fireEvent, render, screen } from '@testing-library/react' -import React from 'react' +import React, { useState } from 'react' import useSWR from 'swr' import useSWRMutation from 'swr/mutation' import { createKey, sleep, nextTick } from './utils' @@ -884,4 +884,47 @@ describe('useSWR - remote mutation', () => { fireEvent.click(screen.getByText('trigger')) await screen.findByText('Error: none') }) + + it('should always use the latest fetcher', async () => { + const key = createKey() + + function Page() { + const [count, setCount] = useState(0) + const { data, trigger } = useSWRMutation(key, () => count) + + return ( +
+ + +
+ data:{data},count:{count} +
+
+ ) + } + + render() + + await screen.findByText('data:,count:0') + fireEvent.click(screen.getByText('trigger')) + await screen.findByText('data:0,count:0') + + fireEvent.click(screen.getByText('++')) + await screen.findByText('data:0,count:1') + + fireEvent.click(screen.getByText('trigger')) + await screen.findByText('data:1,count:1') + }) })