From 2d9268084baeedf427903dfcc8c8a2bd6d72ab1b Mon Sep 17 00:00:00 2001 From: Petra Jaros Date: Sat, 22 Apr 2023 12:00:40 -0400 Subject: [PATCH 01/12] Upgrade lockfile version --- pnpm-lock.yaml | 1474 ++++++++++++++++++++++++------------------------ 1 file changed, 725 insertions(+), 749 deletions(-) diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 38a1205..658d116 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -1,97 +1,117 @@ -lockfileVersion: 5.4 - -specifiers: - '@m-ld/m-ld': ^0.9.1 - '@rdfjs/types': ^1.1.0 - '@types/jest': ^29.4.0 - '@types/jsonld': ^1.5.8 - '@types/n3': ^1.10.4 - '@types/node': 18.14.1 - '@types/react': 18.0.28 - '@types/react-dom': 18.0.11 - classnames: 2.3.2 - eslint: 8.34.0 - eslint-config-next: 13.2.1 - fast-check: ^3.7.0 - jest: ^29.4.3 - jsonld: 8.1.1 - memory-level: ^1.0.0 - n3: ^1.16.3 - next: 13.2.1 - react: 18.2.0 - react-dom: 18.2.0 - rxjs: ^7.8.0 - rxjs-for-await: ^1.0.0 - todomvc-app-css: 2.4.2 - todomvc-common: 1.0.5 - ts-node: ^10.9.1 - typescript: 4.9.5 +lockfileVersion: '6.0' dependencies: - '@m-ld/m-ld': 0.9.1 - '@types/node': 18.14.1 - '@types/react': 18.0.28 - '@types/react-dom': 18.0.11 - classnames: 2.3.2 - eslint: 8.34.0 - eslint-config-next: 13.2.1_7kw3g6rralp5ps6mg3uyzz6azm - jsonld: 8.1.1 - memory-level: 1.0.0 - n3: 1.16.3 - next: 13.2.1_biqbaboplfbrettd7655fr4n2y - react: 18.2.0 - react-dom: 18.2.0_react@18.2.0 - rxjs: 7.8.0 - todomvc-app-css: 2.4.2 - todomvc-common: 1.0.5 - typescript: 4.9.5 + '@m-ld/m-ld': + specifier: ^0.9.1 + version: 0.9.1 + '@types/node': + specifier: 18.14.1 + version: 18.14.1 + '@types/react': + specifier: 18.0.28 + version: 18.0.28 + '@types/react-dom': + specifier: 18.0.11 + version: 18.0.11 + classnames: + specifier: 2.3.2 + version: 2.3.2 + eslint: + specifier: 8.34.0 + version: 8.34.0 + eslint-config-next: + specifier: 13.2.1 + version: 13.2.1(eslint@8.34.0)(typescript@4.9.5) + jsonld: + specifier: 8.1.1 + version: 8.1.1 + memory-level: + specifier: ^1.0.0 + version: 1.0.0 + n3: + specifier: ^1.16.3 + version: 1.16.3 + next: + specifier: 13.2.1 + version: 13.2.1(@babel/core@7.21.0)(react-dom@18.2.0)(react@18.2.0) + react: + specifier: 18.2.0 + version: 18.2.0 + react-dom: + specifier: 18.2.0 + version: 18.2.0(react@18.2.0) + rxjs: + specifier: ^7.8.0 + version: 7.8.0 + todomvc-app-css: + specifier: 2.4.2 + version: 2.4.2 + todomvc-common: + specifier: 1.0.5 + version: 1.0.5 + typescript: + specifier: 4.9.5 + version: 4.9.5 devDependencies: - '@rdfjs/types': 1.1.0 - '@types/jest': 29.4.0 - '@types/jsonld': 1.5.8 - '@types/n3': 1.10.4 - fast-check: 3.7.0 - jest: 29.4.3_ujxcenvse5zlxdro6vjdmkgl3a - rxjs-for-await: 1.0.0_rxjs@7.8.0 - ts-node: 10.9.1_uayvamxqnl5yeiojjysxwopmsy + '@rdfjs/types': + specifier: ^1.1.0 + version: 1.1.0 + '@types/jest': + specifier: ^29.4.0 + version: 29.4.0 + '@types/jsonld': + specifier: ^1.5.8 + version: 1.5.8 + '@types/n3': + specifier: ^1.10.4 + version: 1.10.4 + fast-check: + specifier: ^3.7.0 + version: 3.7.0 + jest: + specifier: ^29.4.3 + version: 29.4.3(@types/node@18.14.1)(ts-node@10.9.1) + rxjs-for-await: + specifier: ^1.0.0 + version: 1.0.0(rxjs@7.8.0) + ts-node: + specifier: ^10.9.1 + version: 10.9.1(@types/node@18.14.1)(typescript@4.9.5) packages: - /@ably/msgpack-js/0.4.0: + /@ably/msgpack-js@0.4.0: resolution: {integrity: sha512-IPt/BoiQwCWubqoNik1aw/6M/DleMdrxJOUpSja6xmMRbT2p1TA8oqKWgfZabqzrq8emRNeSl/+4XABPNnW5pQ==} dependencies: bops: 1.0.1 dev: false - /@ampproject/remapping/2.2.0: + /@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.17 - dev: true - /@babel/code-frame/7.18.6: + /@babel/code-frame@7.18.6: resolution: {integrity: sha512-TDCmlK5eOvH+eH7cdAFlNXeVJqWIQ7gW9tY1GJIpUtFb6CmjVyq2VM3u71bOyR8CRihcCgMUYoDNyLXao3+70Q==} engines: {node: '>=6.9.0'} dependencies: '@babel/highlight': 7.18.6 - dev: true - /@babel/compat-data/7.21.0: + /@babel/compat-data@7.21.0: resolution: {integrity: sha512-gMuZsmsgxk/ENC3O/fRw5QY8A9/uxQbbCEypnLIiYYc/qVJtEV7ouxC3EllIIwNzMqAQee5tanFabWsUOutS7g==} engines: {node: '>=6.9.0'} - dev: true - /@babel/core/7.21.0: + /@babel/core@7.21.0: resolution: {integrity: sha512-PuxUbxcW6ZYe656yL3EAhpy7qXKq0DmYsrJLpbB8XrsCP9Nm+XCg9XFMb5vIDliPD7+U/+M+QJlH17XOcB7eXA==} engines: {node: '>=6.9.0'} dependencies: '@ampproject/remapping': 2.2.0 '@babel/code-frame': 7.18.6 '@babel/generator': 7.21.1 - '@babel/helper-compilation-targets': 7.20.7_@babel+core@7.21.0 + '@babel/helper-compilation-targets': 7.20.7(@babel/core@7.21.0) '@babel/helper-module-transforms': 7.21.2 '@babel/helpers': 7.21.0 '@babel/parser': 7.21.2 @@ -105,9 +125,8 @@ packages: semver: 6.3.0 transitivePeerDependencies: - supports-color - dev: true - /@babel/generator/7.21.1: + /@babel/generator@7.21.1: resolution: {integrity: sha512-1lT45bAYlQhFn/BHivJs43AiW2rg3/UbLyShGfF3C0KmHvO5fSghWd5kBJy30kpRRucGzXStvnnCFniCR2kXAA==} engines: {node: '>=6.9.0'} dependencies: @@ -115,9 +134,8 @@ packages: '@jridgewell/gen-mapping': 0.3.2 '@jridgewell/trace-mapping': 0.3.17 jsesc: 2.5.2 - dev: true - /@babel/helper-compilation-targets/7.20.7_@babel+core@7.21.0: + /@babel/helper-compilation-targets@7.20.7(@babel/core@7.21.0): resolution: {integrity: sha512-4tGORmfQcrc+bvrjb5y3dG9Mx1IOZjsHqQVUz7XCNHO+iTmqxWnVg3KRygjGmpRLJGdQSKuvFinbIb0CnZwHAQ==} engines: {node: '>=6.9.0'} peerDependencies: @@ -129,36 +147,31 @@ packages: browserslist: 4.21.5 lru-cache: 5.1.1 semver: 6.3.0 - dev: true - /@babel/helper-environment-visitor/7.18.9: + /@babel/helper-environment-visitor@7.18.9: resolution: {integrity: sha512-3r/aACDJ3fhQ/EVgFy0hpj8oHyHpQc+LPtJoY9SzTThAsStm4Ptegq92vqKoE3vD706ZVFWITnMnxucw+S9Ipg==} engines: {node: '>=6.9.0'} - dev: true - /@babel/helper-function-name/7.21.0: + /@babel/helper-function-name@7.21.0: resolution: {integrity: sha512-HfK1aMRanKHpxemaY2gqBmL04iAPOPRj7DxtNbiDOrJK+gdwkiNRVpCpUJYbUT+aZyemKN8brqTOxzCaG6ExRg==} engines: {node: '>=6.9.0'} dependencies: '@babel/template': 7.20.7 '@babel/types': 7.21.2 - dev: true - /@babel/helper-hoist-variables/7.18.6: + /@babel/helper-hoist-variables@7.18.6: resolution: {integrity: sha512-UlJQPkFqFULIcyW5sbzgbkxn2FKRgwWiRexcuaR8RNJRy8+LLveqPjwZV/bwrLZCN0eUHD/x8D0heK1ozuoo6Q==} engines: {node: '>=6.9.0'} dependencies: '@babel/types': 7.21.2 - dev: true - /@babel/helper-module-imports/7.18.6: + /@babel/helper-module-imports@7.18.6: resolution: {integrity: sha512-0NFvs3VkuSYbFi1x2Vd6tKrywq+z/cLeYC/RJNFrIX/30Bf5aiGYbtvGXolEktzJH8o5E5KJ3tT+nkxuuZFVlA==} engines: {node: '>=6.9.0'} dependencies: '@babel/types': 7.21.2 - dev: true - /@babel/helper-module-transforms/7.21.2: + /@babel/helper-module-transforms@7.21.2: resolution: {integrity: sha512-79yj2AR4U/Oqq/WOV7Lx6hUjau1Zfo4cI+JLAVYeMV5XIlbOhmjEk5ulbTc9fMpmlojzZHkUUxAiK+UKn+hNQQ==} engines: {node: '>=6.9.0'} dependencies: @@ -172,43 +185,37 @@ packages: '@babel/types': 7.21.2 transitivePeerDependencies: - supports-color - dev: true - /@babel/helper-plugin-utils/7.20.2: + /@babel/helper-plugin-utils@7.20.2: resolution: {integrity: sha512-8RvlJG2mj4huQ4pZ+rU9lqKi9ZKiRmuvGuM2HlWmkmgOhbs6zEAw6IEiJ5cQqGbDzGZOhwuOQNtZMi/ENLjZoQ==} engines: {node: '>=6.9.0'} dev: true - /@babel/helper-simple-access/7.20.2: + /@babel/helper-simple-access@7.20.2: resolution: {integrity: sha512-+0woI/WPq59IrqDYbVGfshjT5Dmk/nnbdpcF8SnMhhXObpTq2KNBdLFRFrkVdbDOyUmHBCxzm5FHV1rACIkIbA==} engines: {node: '>=6.9.0'} dependencies: '@babel/types': 7.21.2 - dev: true - /@babel/helper-split-export-declaration/7.18.6: + /@babel/helper-split-export-declaration@7.18.6: resolution: {integrity: sha512-bde1etTx6ZyTmobl9LLMMQsaizFVZrquTEHOqKeQESMKo4PlObf+8+JA25ZsIpZhT/WEd39+vOdLXAFG/nELpA==} engines: {node: '>=6.9.0'} dependencies: '@babel/types': 7.21.2 - dev: true - /@babel/helper-string-parser/7.19.4: + /@babel/helper-string-parser@7.19.4: resolution: {integrity: sha512-nHtDoQcuqFmwYNYPz3Rah5ph2p8PFeFCsZk9A/48dPc/rGocJ5J3hAAZ7pb76VWX3fZKu+uEr/FhH5jLx7umrw==} engines: {node: '>=6.9.0'} - dev: true - /@babel/helper-validator-identifier/7.19.1: + /@babel/helper-validator-identifier@7.19.1: resolution: {integrity: sha512-awrNfaMtnHUr653GgGEs++LlAvW6w+DcPrOliSMXWCKo597CwL5Acf/wWdNkf/tfEQE3mjkeD1YOVZOUV/od1w==} engines: {node: '>=6.9.0'} - dev: true - /@babel/helper-validator-option/7.21.0: + /@babel/helper-validator-option@7.21.0: resolution: {integrity: sha512-rmL/B8/f0mKS2baE9ZpyTcTavvEuWhTTW8amjzXNvYG4AwBsqTLikfXsEofsJEfKHf+HQVQbFOHy6o+4cnC/fQ==} engines: {node: '>=6.9.0'} - dev: true - /@babel/helpers/7.21.0: + /@babel/helpers@7.21.0: resolution: {integrity: sha512-XXve0CBtOW0pd7MRzzmoyuSj0e3SEzj8pgyFxnTT1NJZL38BD1MK7yYrm8yefRPIDvNNe14xR4FdbHwpInD4rA==} engines: {node: '>=6.9.0'} dependencies: @@ -217,26 +224,23 @@ packages: '@babel/types': 7.21.2 transitivePeerDependencies: - supports-color - dev: true - /@babel/highlight/7.18.6: + /@babel/highlight@7.18.6: resolution: {integrity: sha512-u7stbOuYjaPezCuLj29hNW1v64M2Md2qupEKP1fHc7WdOA3DgLh37suiSrZYY7haUB7iBeQZ9P1uiRF359do3g==} engines: {node: '>=6.9.0'} dependencies: '@babel/helper-validator-identifier': 7.19.1 chalk: 2.4.2 js-tokens: 4.0.0 - dev: true - /@babel/parser/7.21.2: + /@babel/parser@7.21.2: resolution: {integrity: sha512-URpaIJQwEkEC2T9Kn+Ai6Xe/02iNaVCuT/PtoRz3GPVJVDpPd7mLo+VddTbhCRU9TXqW5mSrQfXZyi8kDKOVpQ==} engines: {node: '>=6.0.0'} hasBin: true dependencies: '@babel/types': 7.21.2 - dev: true - /@babel/plugin-syntax-async-generators/7.8.4_@babel+core@7.21.0: + /@babel/plugin-syntax-async-generators@7.8.4(@babel/core@7.21.0): resolution: {integrity: sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw==} peerDependencies: '@babel/core': ^7.0.0-0 @@ -245,7 +249,7 @@ packages: '@babel/helper-plugin-utils': 7.20.2 dev: true - /@babel/plugin-syntax-bigint/7.8.3_@babel+core@7.21.0: + /@babel/plugin-syntax-bigint@7.8.3(@babel/core@7.21.0): resolution: {integrity: sha512-wnTnFlG+YxQm3vDxpGE57Pj0srRU4sHE/mDkt1qv2YJJSeUAec2ma4WLUnUPeKjyrfntVwe/N6dCXpU+zL3Npg==} peerDependencies: '@babel/core': ^7.0.0-0 @@ -254,7 +258,7 @@ packages: '@babel/helper-plugin-utils': 7.20.2 dev: true - /@babel/plugin-syntax-class-properties/7.12.13_@babel+core@7.21.0: + /@babel/plugin-syntax-class-properties@7.12.13(@babel/core@7.21.0): resolution: {integrity: sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA==} peerDependencies: '@babel/core': ^7.0.0-0 @@ -263,7 +267,7 @@ packages: '@babel/helper-plugin-utils': 7.20.2 dev: true - /@babel/plugin-syntax-import-meta/7.10.4_@babel+core@7.21.0: + /@babel/plugin-syntax-import-meta@7.10.4(@babel/core@7.21.0): resolution: {integrity: sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g==} peerDependencies: '@babel/core': ^7.0.0-0 @@ -272,7 +276,7 @@ packages: '@babel/helper-plugin-utils': 7.20.2 dev: true - /@babel/plugin-syntax-json-strings/7.8.3_@babel+core@7.21.0: + /@babel/plugin-syntax-json-strings@7.8.3(@babel/core@7.21.0): resolution: {integrity: sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==} peerDependencies: '@babel/core': ^7.0.0-0 @@ -281,7 +285,7 @@ packages: '@babel/helper-plugin-utils': 7.20.2 dev: true - /@babel/plugin-syntax-jsx/7.18.6_@babel+core@7.21.0: + /@babel/plugin-syntax-jsx@7.18.6(@babel/core@7.21.0): resolution: {integrity: sha512-6mmljtAedFGTWu2p/8WIORGwy+61PLgOMPOdazc7YoJ9ZCWUyFy3A6CpPkRKLKD1ToAesxX8KGEViAiLo9N+7Q==} engines: {node: '>=6.9.0'} peerDependencies: @@ -291,7 +295,7 @@ packages: '@babel/helper-plugin-utils': 7.20.2 dev: true - /@babel/plugin-syntax-logical-assignment-operators/7.10.4_@babel+core@7.21.0: + /@babel/plugin-syntax-logical-assignment-operators@7.10.4(@babel/core@7.21.0): resolution: {integrity: sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig==} peerDependencies: '@babel/core': ^7.0.0-0 @@ -300,7 +304,7 @@ packages: '@babel/helper-plugin-utils': 7.20.2 dev: true - /@babel/plugin-syntax-nullish-coalescing-operator/7.8.3_@babel+core@7.21.0: + /@babel/plugin-syntax-nullish-coalescing-operator@7.8.3(@babel/core@7.21.0): resolution: {integrity: sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ==} peerDependencies: '@babel/core': ^7.0.0-0 @@ -309,7 +313,7 @@ packages: '@babel/helper-plugin-utils': 7.20.2 dev: true - /@babel/plugin-syntax-numeric-separator/7.10.4_@babel+core@7.21.0: + /@babel/plugin-syntax-numeric-separator@7.10.4(@babel/core@7.21.0): resolution: {integrity: sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug==} peerDependencies: '@babel/core': ^7.0.0-0 @@ -318,7 +322,7 @@ packages: '@babel/helper-plugin-utils': 7.20.2 dev: true - /@babel/plugin-syntax-object-rest-spread/7.8.3_@babel+core@7.21.0: + /@babel/plugin-syntax-object-rest-spread@7.8.3(@babel/core@7.21.0): resolution: {integrity: sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==} peerDependencies: '@babel/core': ^7.0.0-0 @@ -327,7 +331,7 @@ packages: '@babel/helper-plugin-utils': 7.20.2 dev: true - /@babel/plugin-syntax-optional-catch-binding/7.8.3_@babel+core@7.21.0: + /@babel/plugin-syntax-optional-catch-binding@7.8.3(@babel/core@7.21.0): resolution: {integrity: sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q==} peerDependencies: '@babel/core': ^7.0.0-0 @@ -336,7 +340,7 @@ packages: '@babel/helper-plugin-utils': 7.20.2 dev: true - /@babel/plugin-syntax-optional-chaining/7.8.3_@babel+core@7.21.0: + /@babel/plugin-syntax-optional-chaining@7.8.3(@babel/core@7.21.0): resolution: {integrity: sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg==} peerDependencies: '@babel/core': ^7.0.0-0 @@ -345,7 +349,7 @@ packages: '@babel/helper-plugin-utils': 7.20.2 dev: true - /@babel/plugin-syntax-top-level-await/7.14.5_@babel+core@7.21.0: + /@babel/plugin-syntax-top-level-await@7.14.5(@babel/core@7.21.0): resolution: {integrity: sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw==} engines: {node: '>=6.9.0'} peerDependencies: @@ -355,7 +359,7 @@ packages: '@babel/helper-plugin-utils': 7.20.2 dev: true - /@babel/plugin-syntax-typescript/7.20.0_@babel+core@7.21.0: + /@babel/plugin-syntax-typescript@7.20.0(@babel/core@7.21.0): resolution: {integrity: sha512-rd9TkG+u1CExzS4SM1BlMEhMXwFLKVjOAFFCDx9PbX5ycJWDoWMcwdJH9RhkPu1dOgn5TrxLot/Gx6lWFuAUNQ==} engines: {node: '>=6.9.0'} peerDependencies: @@ -365,23 +369,22 @@ packages: '@babel/helper-plugin-utils': 7.20.2 dev: true - /@babel/runtime/7.21.0: + /@babel/runtime@7.21.0: resolution: {integrity: sha512-xwII0//EObnq89Ji5AKYQaRYiW/nZ3llSv29d49IuxPhKbtJoLP+9QUUZ4nVragQVtaVGeZrpB+ZtG/Pdy/POw==} engines: {node: '>=6.9.0'} dependencies: regenerator-runtime: 0.13.11 dev: false - /@babel/template/7.20.7: + /@babel/template@7.20.7: resolution: {integrity: sha512-8SegXApWe6VoNw0r9JHpSteLKTpTiLZ4rMlGIm9JQ18KiCtyQiAMEazujAHrUS5flrcqYZa75ukev3P6QmUwUw==} engines: {node: '>=6.9.0'} dependencies: '@babel/code-frame': 7.18.6 '@babel/parser': 7.21.2 '@babel/types': 7.21.2 - dev: true - /@babel/traverse/7.21.2: + /@babel/traverse@7.21.2: resolution: {integrity: sha512-ts5FFU/dSUPS13tv8XiEObDu9K+iagEKME9kAbaP7r0Y9KtZJZ+NGndDvWoRAYNpeWafbpFeki3q9QoMD6gxyw==} engines: {node: '>=6.9.0'} dependencies: @@ -397,40 +400,38 @@ packages: globals: 11.12.0 transitivePeerDependencies: - supports-color - dev: true - /@babel/types/7.21.2: + /@babel/types@7.21.2: resolution: {integrity: sha512-3wRZSs7jiFaB8AjxiiD+VqN5DTG2iRvJGQ+qYFrs/654lg6kGTQWIOFjlBo5RaXuAZjBmP3+OQH4dmhqiiyYxw==} engines: {node: '>=6.9.0'} dependencies: '@babel/helper-string-parser': 7.19.4 '@babel/helper-validator-identifier': 7.19.1 to-fast-properties: 2.0.0 - dev: true - /@bcoe/v8-coverage/0.2.3: + /@bcoe/v8-coverage@0.2.3: resolution: {integrity: sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw==} dev: true - /@cspotcode/source-map-support/0.8.1: + /@cspotcode/source-map-support@0.8.1: resolution: {integrity: sha512-IchNf6dN4tHoMFIn/7OE8LWZ19Y6q/67Bmf6vnGREv8RSbBVb9LPJxEcnwrcwX6ixSvaiGoomAUvu4YSxXrVgw==} engines: {node: '>=12'} dependencies: '@jridgewell/trace-mapping': 0.3.9 dev: true - /@digitalbazaar/http-client/3.3.0: + /@digitalbazaar/http-client@3.3.0: resolution: {integrity: sha512-xg/DFl+TsgkFi7xsH9AIU0wGPaw3AhwhVC8Gs2/v1h/XnvImIc8fKFGpW9uU0nP9EXw/N4jEEhkOY1oe8Nv4Cw==} engines: {node: '>=14.0'} dependencies: ky: 0.33.3 - ky-universal: 0.11.0_ky@0.33.3 + ky-universal: 0.11.0(ky@0.33.3) undici: 5.21.0 transitivePeerDependencies: - web-streams-polyfill dev: false - /@eslint/eslintrc/1.4.1: + /@eslint/eslintrc@1.4.1: resolution: {integrity: sha512-XXrH9Uarn0stsyldqDYq8r++mROmWRI1xKMXa640Bb//SY1+ECYX6VzT6Lcx5frD0V30XieqJ0oX9I2Xj5aoMA==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} dependencies: @@ -447,7 +448,7 @@ packages: - supports-color dev: false - /@humanwhocodes/config-array/0.11.8: + /@humanwhocodes/config-array@0.11.8: resolution: {integrity: sha512-UybHIJzJnR5Qc/MsD9Kr+RpO2h+/P1GhOwdiLPXK5TWk5sgTdu88bTD9UP+CKbPPh5Rni1u0GjAdYQLemG8g+g==} engines: {node: '>=10.10.0'} dependencies: @@ -458,16 +459,16 @@ packages: - supports-color dev: false - /@humanwhocodes/module-importer/1.0.1: + /@humanwhocodes/module-importer@1.0.1: resolution: {integrity: sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==} engines: {node: '>=12.22'} dev: false - /@humanwhocodes/object-schema/1.2.1: + /@humanwhocodes/object-schema@1.2.1: resolution: {integrity: sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA==} dev: false - /@istanbuljs/load-nyc-config/1.1.0: + /@istanbuljs/load-nyc-config@1.1.0: resolution: {integrity: sha512-VjeHSlIzpv/NyD3N0YuHfXOPDIixcA1q2ZV98wsMqcYlPmv2n3Yb2lYP9XMElnaFVXg5A7YLTeLu6V84uQDjmQ==} engines: {node: '>=8'} dependencies: @@ -478,12 +479,12 @@ packages: resolve-from: 5.0.0 dev: true - /@istanbuljs/schema/0.1.3: + /@istanbuljs/schema@0.1.3: resolution: {integrity: sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA==} engines: {node: '>=8'} dev: true - /@jest/console/29.4.3: + /@jest/console@29.4.3: resolution: {integrity: sha512-W/o/34+wQuXlgqlPYTansOSiBnuxrTv61dEVkA6HNmpcgHLUjfaUbdqt6oVvOzaawwo9IdW9QOtMgQ1ScSZC4A==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: @@ -495,7 +496,7 @@ packages: slash: 3.0.0 dev: true - /@jest/core/29.4.3_ts-node@10.9.1: + /@jest/core@29.4.3(ts-node@10.9.1): resolution: {integrity: sha512-56QvBq60fS4SPZCuM7T+7scNrkGIe7Mr6PVIXUpu48ouvRaWOFqRPV91eifvFM0ay2HmfswXiGf97NGUN5KofQ==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} peerDependencies: @@ -516,7 +517,7 @@ packages: exit: 0.1.2 graceful-fs: 4.2.10 jest-changed-files: 29.4.3 - jest-config: 29.4.3_ujxcenvse5zlxdro6vjdmkgl3a + jest-config: 29.4.3(@types/node@18.14.1)(ts-node@10.9.1) jest-haste-map: 29.4.3 jest-message-util: 29.4.3 jest-regex-util: 29.4.3 @@ -537,7 +538,7 @@ packages: - ts-node dev: true - /@jest/environment/29.4.3: + /@jest/environment@29.4.3: resolution: {integrity: sha512-dq5S6408IxIa+lr54zeqce+QgI+CJT4nmmA+1yzFgtcsGK8c/EyiUb9XQOgz3BMKrRDfKseeOaxj2eO8LlD3lA==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: @@ -547,14 +548,14 @@ packages: jest-mock: 29.4.3 dev: true - /@jest/expect-utils/29.4.3: + /@jest/expect-utils@29.4.3: resolution: {integrity: sha512-/6JWbkxHOP8EoS8jeeTd9dTfc9Uawi+43oLKHfp6zzux3U2hqOOVnV3ai4RpDYHOccL6g+5nrxpoc8DmJxtXVQ==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: jest-get-type: 29.4.3 dev: true - /@jest/expect/29.4.3: + /@jest/expect@29.4.3: resolution: {integrity: sha512-iktRU/YsxEtumI9zsPctYUk7ptpC+AVLLk1Ax3AsA4g1C+8OOnKDkIQBDHtD5hA/+VtgMd5AWI5gNlcAlt2vxQ==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: @@ -564,7 +565,7 @@ packages: - supports-color dev: true - /@jest/fake-timers/29.4.3: + /@jest/fake-timers@29.4.3: resolution: {integrity: sha512-4Hote2MGcCTWSD2gwl0dwbCpBRHhE6olYEuTj8FMowdg3oQWNKr2YuxenPQYZ7+PfqPY1k98wKDU4Z+Hvd4Tiw==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: @@ -576,7 +577,7 @@ packages: jest-util: 29.4.3 dev: true - /@jest/globals/29.4.3: + /@jest/globals@29.4.3: resolution: {integrity: sha512-8BQ/5EzfOLG7AaMcDh7yFCbfRLtsc+09E1RQmRBI4D6QQk4m6NSK/MXo+3bJrBN0yU8A2/VIcqhvsOLFmziioA==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: @@ -588,7 +589,7 @@ packages: - supports-color dev: true - /@jest/reporters/29.4.3: + /@jest/reporters@29.4.3: resolution: {integrity: sha512-sr2I7BmOjJhyqj9ANC6CTLsL4emMoka7HkQpcoMRlhCbQJjz2zsRzw0BDPiPyEFDXAbxKgGFYuQZiSJ1Y6YoTg==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} peerDependencies: @@ -625,14 +626,14 @@ packages: - supports-color dev: true - /@jest/schemas/29.4.3: + /@jest/schemas@29.4.3: resolution: {integrity: sha512-VLYKXQmtmuEz6IxJsrZwzG9NvtkQsWNnWMsKxqWNu3+CnfzJQhp0WDDKWLVV9hLKr0l3SLLFRqcYHjhtyuDVxg==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: '@sinclair/typebox': 0.25.24 dev: true - /@jest/source-map/29.4.3: + /@jest/source-map@29.4.3: resolution: {integrity: sha512-qyt/mb6rLyd9j1jUts4EQncvS6Yy3PM9HghnNv86QBlV+zdL2inCdK1tuVlL+J+lpiw2BI67qXOrX3UurBqQ1w==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: @@ -641,7 +642,7 @@ packages: graceful-fs: 4.2.10 dev: true - /@jest/test-result/29.4.3: + /@jest/test-result@29.4.3: resolution: {integrity: sha512-Oi4u9NfBolMq9MASPwuWTlC5WvmNRwI4S8YrQg5R5Gi47DYlBe3sh7ILTqi/LGrK1XUE4XY9KZcQJTH1WJCLLA==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: @@ -651,7 +652,7 @@ packages: collect-v8-coverage: 1.0.1 dev: true - /@jest/test-sequencer/29.4.3: + /@jest/test-sequencer@29.4.3: resolution: {integrity: sha512-yi/t2nES4GB4G0mjLc0RInCq/cNr9dNwJxcGg8sslajua5Kb4kmozAc+qPLzplhBgfw1vLItbjyHzUN92UXicw==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: @@ -661,7 +662,7 @@ packages: slash: 3.0.0 dev: true - /@jest/transform/29.4.3: + /@jest/transform@29.4.3: resolution: {integrity: sha512-8u0+fBGWolDshsFgPQJESkDa72da/EVwvL+II0trN2DR66wMwiQ9/CihaGfHdlLGFzbBZwMykFtxuwFdZqlKwg==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: @@ -684,7 +685,7 @@ packages: - supports-color dev: true - /@jest/types/29.4.3: + /@jest/types@29.4.3: resolution: {integrity: sha512-bPYfw8V65v17m2Od1cv44FH+SiKW7w2Xu7trhcdTLUmSv85rfKsP+qXSjO4KGJr4dtPSzl/gvslZBXctf1qGEA==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: @@ -696,52 +697,46 @@ packages: chalk: 4.1.2 dev: true - /@jridgewell/gen-mapping/0.1.1: + /@jridgewell/gen-mapping@0.1.1: resolution: {integrity: sha512-sQXCasFk+U8lWYEe66WxRDOE9PjVz4vSM51fTu3Hw+ClTpUSQb718772vH3pyS5pShp6lvQM7SxgIDXXXmOX7w==} engines: {node: '>=6.0.0'} dependencies: '@jridgewell/set-array': 1.1.2 '@jridgewell/sourcemap-codec': 1.4.14 - dev: true - /@jridgewell/gen-mapping/0.3.2: + /@jridgewell/gen-mapping@0.3.2: resolution: {integrity: sha512-mh65xKQAzI6iBcFzwv28KVWSmCkdRBWoOh+bYQGW3+6OZvbbN3TqMGo5hqYxQniRcH9F2VZIoJCm4pa3BPDK/A==} engines: {node: '>=6.0.0'} dependencies: '@jridgewell/set-array': 1.1.2 '@jridgewell/sourcemap-codec': 1.4.14 '@jridgewell/trace-mapping': 0.3.17 - dev: true - /@jridgewell/resolve-uri/3.1.0: + /@jridgewell/resolve-uri@3.1.0: resolution: {integrity: sha512-F2msla3tad+Mfht5cJq7LSXcdudKTWCVYUgw6pLFOOHSTtZlj6SWNYAp+AhuqLmWdBO2X5hPrLcu8cVP8fy28w==} engines: {node: '>=6.0.0'} - dev: true - /@jridgewell/set-array/1.1.2: + /@jridgewell/set-array@1.1.2: resolution: {integrity: sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw==} engines: {node: '>=6.0.0'} - dev: true - /@jridgewell/sourcemap-codec/1.4.14: + /@jridgewell/sourcemap-codec@1.4.14: resolution: {integrity: sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw==} - dev: true - /@jridgewell/trace-mapping/0.3.17: + /@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 - /@jridgewell/trace-mapping/0.3.9: + /@jridgewell/trace-mapping@0.3.9: resolution: {integrity: sha512-3Belt6tdc8bPgAtbcmdtNJlirVoTmEb5e2gC94PnkwEW9jI6CAHUeoG85tjWP5WquqfavoMtMwiG4P926ZKKuQ==} dependencies: '@jridgewell/resolve-uri': 3.1.0 '@jridgewell/sourcemap-codec': 1.4.14 dev: true - /@m-ld/jsonld/6.0.1-m-ld.0: + /@m-ld/jsonld@6.0.1-m-ld.0: resolution: {integrity: sha512-b4by+cq+nbXXl501upm/gWLy1FOFtbwEJCgtsN9CsOVx9OpBbgHtyd4z77HJ7iajblrurdeuzQ7AsEthGDQE9Q==} engines: {node: '>=14'} dependencies: @@ -750,7 +745,7 @@ packages: rdf-canonize: 3.3.0 dev: false - /@m-ld/m-ld-spec/0.6.7: + /@m-ld/m-ld-spec@0.6.7: resolution: {integrity: sha512-c1Ltzo932P3ygQusCnET3K7mvzdIJHxyUTpH234LFEIGfGZGJVcCnkQcd3eWW211BhCK4jypiHKgQGgdUhQcEA==} dependencies: jasmine: 4.5.0 @@ -761,7 +756,7 @@ packages: - encoding dev: false - /@m-ld/m-ld/0.9.1: + /@m-ld/m-ld@0.9.1: resolution: {integrity: sha512-VupVjAuxS2RJSFbi1HDNEPzHFEYlVJQq1hWkGBF3Ov3OpRVbZ4ptMA0kh1kS+C2f37HhXQSS89G0BexuwcF8pg==} peerDependencies: '@peculiar/webcrypto': '1' @@ -800,7 +795,7 @@ packages: marky: 1.2.5 mqtt-pattern: 1.2.0 quadstore: 11.0.8 - quadstore-comunica: 3.0.9_fi4pvxddzqprxeech4oagnd2lm + quadstore-comunica: 3.0.9(asynciterator@3.8.0)(quadstore@11.0.8) queue-microtask: 1.2.3 rdf-data-factory: 1.1.1 reflect-metadata: 0.1.13 @@ -813,17 +808,17 @@ packages: - encoding dev: false - /@next/env/13.2.1: + /@next/env@13.2.1: resolution: {integrity: sha512-Hq+6QZ6kgmloCg8Kgrix+4F0HtvLqVK3FZAnlAoS0eonaDemHe1Km4kwjSWRE3JNpJNcKxFHF+jsZrYo0SxWoQ==} dev: false - /@next/eslint-plugin-next/13.2.1: + /@next/eslint-plugin-next@13.2.1: resolution: {integrity: sha512-r0i5rcO6SMAZtqiGarUVMr3k256X0R0j6pEkKg4PxqUW+hG0qgMxRVAJsuoRG5OBFkCOlSfWZJ0mP9fQdCcyNg==} dependencies: glob: 7.1.7 dev: false - /@next/swc-android-arm-eabi/13.2.1: + /@next/swc-android-arm-eabi@13.2.1: resolution: {integrity: sha512-Yua7mUpEd1wzIT6Jjl3dpRizIfGp9NR4F2xeRuQv+ae+SDI1Em2WyM9m46UL+oeW5GpMiEHoaBagr47RScZFmQ==} engines: {node: '>= 10'} cpu: [arm] @@ -832,7 +827,7 @@ packages: dev: false optional: true - /@next/swc-android-arm64/13.2.1: + /@next/swc-android-arm64@13.2.1: resolution: {integrity: sha512-Bifcr2f6VwInOdq1uH/9lp8fH7Nf7XGkIx4XceVd32LPJqG2c6FZU8ZRBvTdhxzXVpt5TPtuXhOP4Ij9UPqsVw==} engines: {node: '>= 10'} cpu: [arm64] @@ -841,7 +836,7 @@ packages: dev: false optional: true - /@next/swc-darwin-arm64/13.2.1: + /@next/swc-darwin-arm64@13.2.1: resolution: {integrity: sha512-gvqm+fGMYxAkwBapH0Vvng5yrb6HTkIvZfY4oEdwwYrwuLdkjqnJygCMgpNqIFmAHSXgtlWxfYv1VC8sjN81Kw==} engines: {node: '>= 10'} cpu: [arm64] @@ -850,7 +845,7 @@ packages: dev: false optional: true - /@next/swc-darwin-x64/13.2.1: + /@next/swc-darwin-x64@13.2.1: resolution: {integrity: sha512-HGqVqmaZWj6zomqOZUVbO5NhlABL0iIaxTmd0O5B0MoMa5zpDGoaHSG+fxgcWMXcGcxmUNchv1NfNOYiTKoHOg==} engines: {node: '>= 10'} cpu: [x64] @@ -859,7 +854,7 @@ packages: dev: false optional: true - /@next/swc-freebsd-x64/13.2.1: + /@next/swc-freebsd-x64@13.2.1: resolution: {integrity: sha512-N/a4JarAq+E+g+9K2ywJUmDIgU2xs2nA+BBldH0oq4zYJMRiUhL0iaN9G4e72VmGOJ61L/3W6VN8RIUOwTLoqQ==} engines: {node: '>= 10'} cpu: [x64] @@ -868,7 +863,7 @@ packages: dev: false optional: true - /@next/swc-linux-arm-gnueabihf/13.2.1: + /@next/swc-linux-arm-gnueabihf@13.2.1: resolution: {integrity: sha512-WaFoerF/eRbhbE57TaIGJXbQAERADZ/RZ45u6qox9beb5xnWsyYgzX+WuN7Tkhyvga0/aMuVYFzS9CEay7D+bw==} engines: {node: '>= 10'} cpu: [arm] @@ -877,7 +872,7 @@ packages: dev: false optional: true - /@next/swc-linux-arm64-gnu/13.2.1: + /@next/swc-linux-arm64-gnu@13.2.1: resolution: {integrity: sha512-R+Jhc1/RJTnncE9fkePboHDNOCm1WJ8daanWbjKhfPySMyeniKYRwGn5SLYW3S8YlRS0QVdZaaszDSZWgUcsmA==} engines: {node: '>= 10'} cpu: [arm64] @@ -886,7 +881,7 @@ packages: dev: false optional: true - /@next/swc-linux-arm64-musl/13.2.1: + /@next/swc-linux-arm64-musl@13.2.1: resolution: {integrity: sha512-oI1UfZPidGAVddlL2eOTmfsuKV9EaT1aktIzVIxIAgxzQSdwsV371gU3G55ggkurzfdlgF3GThFePDWF0d8dmw==} engines: {node: '>= 10'} cpu: [arm64] @@ -895,7 +890,7 @@ packages: dev: false optional: true - /@next/swc-linux-x64-gnu/13.2.1: + /@next/swc-linux-x64-gnu@13.2.1: resolution: {integrity: sha512-PCygPwrQmS+7WUuAWWioWMZCzZm4PG91lfRxToLDg7yIm/3YfAw5N2EK2TaM9pzlWdvHQAqRMX/oLvv027xUiA==} engines: {node: '>= 10'} cpu: [x64] @@ -904,7 +899,7 @@ packages: dev: false optional: true - /@next/swc-linux-x64-musl/13.2.1: + /@next/swc-linux-x64-musl@13.2.1: resolution: {integrity: sha512-sUAKxo7CFZYGHNxheGh9nIBElLYBM6md/liEGfOTwh/xna4/GTTcmkGWkF7PdnvaYNgcPIQgHIMYiAa6yBKAVw==} engines: {node: '>= 10'} cpu: [x64] @@ -913,7 +908,7 @@ packages: dev: false optional: true - /@next/swc-win32-arm64-msvc/13.2.1: + /@next/swc-win32-arm64-msvc@13.2.1: resolution: {integrity: sha512-qDmyEjDBpl/vBXxuOOKKWmPQOcARcZIMach1s7kjzaien0SySut/PHRlj56sosa81Wt4hTGhfhZ1R7g1n7+B8w==} engines: {node: '>= 10'} cpu: [arm64] @@ -922,7 +917,7 @@ packages: dev: false optional: true - /@next/swc-win32-ia32-msvc/13.2.1: + /@next/swc-win32-ia32-msvc@13.2.1: resolution: {integrity: sha512-2joqFQ81ZYPg6DcikIzQn3DgjKglNhPAozx6dL5sCNkr1CPMD0YIkJgT3CnYyMHQ04Qi3Npv0XX3MD6LJO8OCA==} engines: {node: '>= 10'} cpu: [ia32] @@ -931,7 +926,7 @@ packages: dev: false optional: true - /@next/swc-win32-x64-msvc/13.2.1: + /@next/swc-win32-x64-msvc@13.2.1: resolution: {integrity: sha512-r3+0fSaIZT6N237iMzwUhfNwjhAFvXjqB+4iuW+wcpxW+LHm1g/IoxN8eSRcb8jPItC86JxjAxpke0QL97qd6g==} engines: {node: '>= 10'} cpu: [x64] @@ -940,7 +935,7 @@ packages: dev: false optional: true - /@nodelib/fs.scandir/2.1.5: + /@nodelib/fs.scandir@2.1.5: resolution: {integrity: sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==} engines: {node: '>= 8'} dependencies: @@ -948,12 +943,12 @@ packages: run-parallel: 1.2.0 dev: false - /@nodelib/fs.stat/2.0.5: + /@nodelib/fs.stat@2.0.5: resolution: {integrity: sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==} engines: {node: '>= 8'} dev: false - /@nodelib/fs.walk/1.2.8: + /@nodelib/fs.walk@1.2.8: resolution: {integrity: sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==} engines: {node: '>= 8'} dependencies: @@ -961,7 +956,7 @@ packages: fastq: 1.15.0 dev: false - /@pkgr/utils/2.3.1: + /@pkgr/utils@2.3.1: resolution: {integrity: sha512-wfzX8kc1PMyUILA+1Z/EqoE4UCXGy0iRGMhPwdfae1+f0OXlLqCk+By+aMzgJBzR9AzS4CDizioG6Ss1gvAFJw==} engines: {node: ^12.20.0 || ^14.18.0 || >=16.0.0} dependencies: @@ -973,54 +968,54 @@ packages: tslib: 2.5.0 dev: false - /@rdfjs/types/1.1.0: + /@rdfjs/types@1.1.0: resolution: {integrity: sha512-5zm8bN2/CC634dTcn/0AhTRLaQRjXDZs3QfcAsQKNturHT7XVWcKy/8p3P5gXl+YkZTAmy7T5M/LyiT/jbkENw==} dependencies: '@types/node': 18.14.1 - /@rushstack/eslint-patch/1.2.0: + /@rushstack/eslint-patch@1.2.0: resolution: {integrity: sha512-sXo/qW2/pAcmT43VoRKOJbDOfV3cYpq3szSVfIThQXNt+E4DfKj361vaAt3c88U5tPUxzEswam7GW48PJqtKAg==} dev: false - /@sinclair/typebox/0.25.24: + /@sinclair/typebox@0.25.24: resolution: {integrity: sha512-XJfwUVUKDHF5ugKwIcxEgc9k8b7HbznCp6eUfWgu710hMPNIO4aw4/zB5RogDQz8nd6gyCDpU9O/m6qYEWY6yQ==} dev: true - /@sinonjs/commons/2.0.0: + /@sinonjs/commons@2.0.0: resolution: {integrity: sha512-uLa0j859mMrg2slwQYdO/AkrOfmH+X6LTVmNTS9CqexuE2IvVORIkSpJLqePAbEnKJ77aMmCwr1NUZ57120Xcg==} dependencies: type-detect: 4.0.8 dev: true - /@sinonjs/fake-timers/10.0.2: + /@sinonjs/fake-timers@10.0.2: resolution: {integrity: sha512-SwUDyjWnah1AaNl7kxsa7cfLhlTYoiyhDAIgyh+El30YvXs/o7OLXpYH88Zdhyx9JExKrmHDJ+10bwIcY80Jmw==} dependencies: '@sinonjs/commons': 2.0.0 dev: true - /@swc/helpers/0.4.14: + /@swc/helpers@0.4.14: resolution: {integrity: sha512-4C7nX/dvpzB7za4Ql9K81xK3HPxCpHMgwTZVyf+9JQ6VUbn9jjZVN7/Nkdz/Ugzs2CSjqnL/UPXroiVBVHUWUw==} dependencies: tslib: 2.5.0 dev: false - /@tsconfig/node10/1.0.9: + /@tsconfig/node10@1.0.9: resolution: {integrity: sha512-jNsYVVxU8v5g43Erja32laIDHXeoNvFEpX33OK4d6hljo3jDhCBDhx5dhCCTMWUojscpAagGiRkBKxpdl9fxqA==} dev: true - /@tsconfig/node12/1.0.11: + /@tsconfig/node12@1.0.11: resolution: {integrity: sha512-cqefuRsh12pWyGsIoBKJA9luFu3mRxCA+ORZvA4ktLSzIuCUtWVxGIuXigEwO5/ywWFMZ2QEGKWvkZG1zDMTag==} dev: true - /@tsconfig/node14/1.0.3: + /@tsconfig/node14@1.0.3: resolution: {integrity: sha512-ysT8mhdixWK6Hw3i1V2AeRqZ5WfXg1G43mqoYlM2nc6388Fq5jcXyr5mRsqViLx/GJYdoL0bfXD8nmF+Zn/Iow==} dev: true - /@tsconfig/node16/1.0.3: + /@tsconfig/node16@1.0.3: resolution: {integrity: sha512-yOlFc+7UtL/89t2ZhjPvvB/DeAr3r+Dq58IgzsFkOAvVC6NMJXmCGjbptdXdR9qsX7pKcTL+s87FtYREi2dEEQ==} dev: true - /@types/babel__core/7.20.0: + /@types/babel__core@7.20.0: resolution: {integrity: sha512-+n8dL/9GWblDO0iU6eZAwEIJVr5DWigtle+Q6HLOrh/pdbXOhOtqzq8VPPE2zvNJzSKY4vH/z3iT3tn0A3ypiQ==} dependencies: '@babel/parser': 7.21.2 @@ -1030,97 +1025,97 @@ packages: '@types/babel__traverse': 7.18.3 dev: true - /@types/babel__generator/7.6.4: + /@types/babel__generator@7.6.4: resolution: {integrity: sha512-tFkciB9j2K755yrTALxD44McOrk+gfpIpvC3sxHjRawj6PfnQxrse4Clq5y/Rq+G3mrBurMax/lG8Qn2t9mSsg==} dependencies: '@babel/types': 7.21.2 dev: true - /@types/babel__template/7.4.1: + /@types/babel__template@7.4.1: resolution: {integrity: sha512-azBFKemX6kMg5Io+/rdGT0dkGreboUVR0Cdm3fz9QJWpaQGJRQXl7C+6hOTCZcMll7KFyEQpgbYI2lHdsS4U7g==} dependencies: '@babel/parser': 7.21.2 '@babel/types': 7.21.2 dev: true - /@types/babel__traverse/7.18.3: + /@types/babel__traverse@7.18.3: resolution: {integrity: sha512-1kbcJ40lLB7MHsj39U4Sh1uTd2E7rLEa79kmDpI6cy+XiXsteB3POdQomoq4FxszMrO3ZYchkhYJw7A2862b3w==} dependencies: '@babel/types': 7.21.2 dev: true - /@types/detect-node/2.0.0: + /@types/detect-node@2.0.0: resolution: {integrity: sha512-+BozjlbPTACYITf1PWf62HLtDV79HbmZosUN1mv1gGrnjDCRwBXkDKka1sf6YQJvspmfPXVcy+X6tFW62KteeQ==} dev: false - /@types/graceful-fs/4.1.6: + /@types/graceful-fs@4.1.6: resolution: {integrity: sha512-Sig0SNORX9fdW+bQuTEovKj3uHcUL6LQKbCrrqb1X7J6/ReAbhCXRAhc+SMejhLELFj2QcyuxmUooZ4bt5ReSw==} dependencies: '@types/node': 18.14.1 dev: true - /@types/istanbul-lib-coverage/2.0.4: + /@types/istanbul-lib-coverage@2.0.4: resolution: {integrity: sha512-z/QT1XN4K4KYuslS23k62yDIDLwLFkzxOuMplDtObz0+y7VqJCaO2o+SPwHCvLFZh7xazvvoor2tA/hPz9ee7g==} dev: true - /@types/istanbul-lib-report/3.0.0: + /@types/istanbul-lib-report@3.0.0: resolution: {integrity: sha512-plGgXAPfVKFoYfa9NpYDAkseG+g6Jr294RqeqcqDixSbU34MZVJRi/P+7Y8GDpzkEwLaGZZOpKIEmeVZNtKsrg==} dependencies: '@types/istanbul-lib-coverage': 2.0.4 dev: true - /@types/istanbul-reports/3.0.1: + /@types/istanbul-reports@3.0.1: resolution: {integrity: sha512-c3mAZEuK0lvBp8tmuL74XRKn1+y2dcwOUpH7x4WrF6gk1GIgiluDRgMYQtw2OFcBvAJWlt6ASU3tSqxp0Uu0Aw==} dependencies: '@types/istanbul-lib-report': 3.0.0 dev: true - /@types/jest/29.4.0: + /@types/jest@29.4.0: resolution: {integrity: sha512-VaywcGQ9tPorCX/Jkkni7RWGFfI11whqzs8dvxF41P17Z+z872thvEvlIbznjPJ02kl1HMX3LmLOonsj2n7HeQ==} dependencies: expect: 29.4.3 pretty-format: 29.4.3 dev: true - /@types/json5/0.0.29: + /@types/json5@0.0.29: resolution: {integrity: sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ==} dev: false - /@types/jsonld/1.5.8: + /@types/jsonld@1.5.8: resolution: {integrity: sha512-4l5t/jDnJpqZ+i7CLTTgPcT5BYXnAnwJupb07aAokPufCV0SjDHcwctUkSTuhIuSU9yHok+WOOngIGCtpL96gw==} - /@types/n3/1.10.4: + /@types/n3@1.10.4: resolution: {integrity: sha512-FfRTwcbXcScVHuAjIASveRWL6Fi6fPALl1Ge8tMESYLqU7R42LJvtdBpUi+f9YK0oQPqIN+zFFgMDFJfLMx0bg==} dependencies: '@types/node': 18.14.1 rdf-js: 4.0.2 dev: true - /@types/node/18.14.1: + /@types/node@18.14.1: resolution: {integrity: sha512-QH+37Qds3E0eDlReeboBxfHbX9omAcBCXEzswCu6jySP642jiM3cYSIkU/REqwhCUqXdonHFuBfJDiAJxMNhaQ==} - /@types/prettier/2.7.2: + /@types/prettier@2.7.2: resolution: {integrity: sha512-KufADq8uQqo1pYKVIYzfKbJfBAc0sOeXqGbFaSpv8MRmC/zXgowNZmFcbngndGk922QDmOASEXUZCaY48gs4cg==} dev: true - /@types/prop-types/15.7.5: + /@types/prop-types@15.7.5: resolution: {integrity: sha512-JCB8C6SnDoQf0cNycqd/35A7MjcnK+ZTqE7judS6o7utxUCg6imJg3QK2qzHKszlTjcj2cn+NwMB2i96ubpj7w==} dev: false - /@types/rdf-js/4.0.2: + /@types/rdf-js@4.0.2: resolution: {integrity: sha512-soR/+RMogGiDU1lrpuQl5ZL55/L1eq/JlR2dWx052Uh/RYs9okh3XZHFlIJXHZqjqyjEn4WdbOMfBj7vvc2WVQ==} deprecated: This is a stub types definition. rdf-js provides its own type definitions, so you do not need this installed. dependencies: rdf-js: 4.0.2 dev: false - /@types/react-dom/18.0.11: + /@types/react-dom@18.0.11: resolution: {integrity: sha512-O38bPbI2CWtgw/OoQoY+BRelw7uysmXbWvw3nLWO21H1HSh+GOlqPuXshJfjmpNlKiiSDG9cc1JZAaMmVdcTlw==} dependencies: '@types/react': 18.0.28 dev: false - /@types/react/18.0.28: + /@types/react@18.0.28: resolution: {integrity: sha512-RD0ivG1kEztNBdoAK7lekI9M+azSnitIn85h4iOiaLjaTrMjzslhaqCGaI4IyCJ1RljWiLCEu4jyrLLgqxBTew==} dependencies: '@types/prop-types': 15.7.5 @@ -1128,51 +1123,51 @@ packages: csstype: 3.1.1 dev: false - /@types/requestidlecallback/0.3.5: + /@types/requestidlecallback@0.3.5: resolution: {integrity: sha512-Uh49VrVTPfU0y/qIvXXYuRmd/sKLfVgQWZU1t8FWH22AIJyQbCei1aSmXdMDAijwGUFhBDpJmksiHEDsfiE/cg==} dev: false - /@types/scheduler/0.16.2: + /@types/scheduler@0.16.2: resolution: {integrity: sha512-hppQEBDmlwhFAXKJX2KnWLYu5yMfi91yazPb2l+lbJiwW+wdo1gNeRA+3RgNSO39WYX2euey41KEwnqesU2Jew==} dev: false - /@types/sha.js/2.4.0: + /@types/sha.js@2.4.0: resolution: {integrity: sha512-amxKgPy6WJTKuw8mpUwjX2BSxuBtBmZfRwIUDIuPJKNwGN8CWDli8JTg5ONTWOtcTkHIstvT7oAhhYXqEjStHQ==} dependencies: '@types/node': 18.14.1 dev: false - /@types/simple-peer/9.11.5: + /@types/simple-peer@9.11.5: resolution: {integrity: sha512-haXgWcAa3Y3Sn+T8lzkE4ErQUpYzhW6Cz2lh00RhQTyWt+xZ3s87wJPztUxlqSdFRqGhe2MQIBd0XsyHP3No4w==} dependencies: '@types/node': 18.14.1 dev: false - /@types/sparqljs/3.1.3: + /@types/sparqljs@3.1.3: resolution: {integrity: sha512-nmFgmR6ns4i8sg9fYu+293H+PMLKmDOZy34sgwgAeUEEiIqSs4guj5aCZRt3gq1g0yuKXkqrxLDq/684g7pGtQ==} dependencies: rdf-js: 4.0.2 dev: false - /@types/stack-utils/2.0.1: + /@types/stack-utils@2.0.1: resolution: {integrity: sha512-Hl219/BT5fLAaz6NDkSuhzasy49dwQS/DSdu4MdggFB8zcXv7vflBI3xp7FEmkmdDkBUI2bPUNeMttp2knYdxw==} dev: true - /@types/valid-data-url/2.0.0: + /@types/valid-data-url@2.0.0: resolution: {integrity: sha512-96NadqQC1BDUJQYjjwYVTo6XaBuiFQo2vfvsTLTlHxg8RbjfMNTHeD5ErRsz4rHdA4rDChFjLB2rCayoulPHmQ==} dev: false - /@types/yargs-parser/21.0.0: + /@types/yargs-parser@21.0.0: resolution: {integrity: sha512-iO9ZQHkZxHn4mSakYV0vFHAVDyEOIJQrV2uZ06HxEPcx+mt8swXoZHIbaaJ2crJYFfErySgktuTZ3BeLz+XmFA==} dev: true - /@types/yargs/17.0.22: + /@types/yargs@17.0.22: resolution: {integrity: sha512-pet5WJ9U8yPVRhkwuEIp5ktAeAqRZOq4UdAyWLWzxbtpyXnzbtLdKiXAjJzi/KLmPGS9wk86lUFWZFN6sISo4g==} dependencies: '@types/yargs-parser': 21.0.0 dev: true - /@typescript-eslint/parser/5.53.0_7kw3g6rralp5ps6mg3uyzz6azm: + /@typescript-eslint/parser@5.53.0(eslint@8.34.0)(typescript@4.9.5): resolution: {integrity: sha512-MKBw9i0DLYlmdOb3Oq/526+al20AJZpANdT6Ct9ffxcV8nKCHz63t/S0IhlTFNsBIHJv+GY5SFJ0XfqVeydQrQ==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} peerDependencies: @@ -1184,7 +1179,7 @@ packages: dependencies: '@typescript-eslint/scope-manager': 5.53.0 '@typescript-eslint/types': 5.53.0 - '@typescript-eslint/typescript-estree': 5.53.0_typescript@4.9.5 + '@typescript-eslint/typescript-estree': 5.53.0(typescript@4.9.5) debug: 4.3.4 eslint: 8.34.0 typescript: 4.9.5 @@ -1192,7 +1187,7 @@ packages: - supports-color dev: false - /@typescript-eslint/scope-manager/5.53.0: + /@typescript-eslint/scope-manager@5.53.0: resolution: {integrity: sha512-Opy3dqNsp/9kBBeCPhkCNR7fmdSQqA+47r21hr9a14Bx0xnkElEQmhoHga+VoaoQ6uDHjDKmQPIYcUcKJifS7w==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} dependencies: @@ -1200,12 +1195,12 @@ packages: '@typescript-eslint/visitor-keys': 5.53.0 dev: false - /@typescript-eslint/types/5.53.0: + /@typescript-eslint/types@5.53.0: resolution: {integrity: sha512-5kcDL9ZUIP756K6+QOAfPkigJmCPHcLN7Zjdz76lQWWDdzfOhZDTj1irs6gPBKiXx5/6O3L0+AvupAut3z7D2A==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} dev: false - /@typescript-eslint/typescript-estree/5.53.0_typescript@4.9.5: + /@typescript-eslint/typescript-estree@5.53.0(typescript@4.9.5): resolution: {integrity: sha512-eKmipH7QyScpHSkhbptBBYh9v8FxtngLquq292YTEQ1pxVs39yFBlLC1xeIZcPPz1RWGqb7YgERJRGkjw8ZV7w==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} peerDependencies: @@ -1220,13 +1215,13 @@ packages: globby: 11.1.0 is-glob: 4.0.3 semver: 7.3.8 - tsutils: 3.21.0_typescript@4.9.5 + tsutils: 3.21.0(typescript@4.9.5) typescript: 4.9.5 transitivePeerDependencies: - supports-color dev: false - /@typescript-eslint/visitor-keys/5.53.0: + /@typescript-eslint/visitor-keys@5.53.0: resolution: {integrity: sha512-JqNLnX3leaHFZEN0gCh81sIvgrp/2GOACZNgO4+Tkf64u51kTpAyWFOY8XHx8XuXr3N2C9zgPPHtcpMg6z1g0w==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} dependencies: @@ -1234,14 +1229,14 @@ packages: eslint-visitor-keys: 3.3.0 dev: false - /abort-controller/3.0.0: + /abort-controller@3.0.0: resolution: {integrity: sha512-h8lQ8tacZYnR3vNQTgibj+tODHI5/+l06Au2Pcriv/Gmet0eaj4TwWH41sO9wnHDiQsEj19q0drzdWdeAHtweg==} engines: {node: '>=6.5'} dependencies: event-target-shim: 5.0.1 dev: false - /abstract-level/1.0.3: + /abstract-level@1.0.3: resolution: {integrity: sha512-t6jv+xHy+VYwc4xqZMn2Pa9DjcdzvzZmQGRjTFc8spIbRGHgBrEKbPq+rYXc7CCo0lxgYvSgKVg9qZAhpVQSjA==} engines: {node: '>=12'} dependencies: @@ -1254,7 +1249,7 @@ packages: queue-microtask: 1.2.3 dev: false - /acorn-jsx/5.3.2_acorn@8.8.2: + /acorn-jsx@5.3.2(acorn@8.8.2): resolution: {integrity: sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==} peerDependencies: acorn: ^6.0.0 || ^7.0.0 || ^8.0.0 @@ -1262,17 +1257,17 @@ packages: acorn: 8.8.2 dev: false - /acorn-walk/8.2.0: + /acorn-walk@8.2.0: resolution: {integrity: sha512-k+iyHEuPgSw6SbuDpGQM+06HQUa04DZ3o+F6CSzXMvvI5KMvnaEqXe+YVe555R9nn6GPt404fos4wcgpw12SDA==} engines: {node: '>=0.4.0'} dev: true - /acorn/8.8.2: + /acorn@8.8.2: resolution: {integrity: sha512-xjIYgE8HBrkpd/sJqOGNspf8uHG+NOHGOw6a/Urj8taM2EXfdNAH2oFcPeIFfsv3+kz/mJrS5VuMqbNLjCa2vw==} engines: {node: '>=0.4.0'} hasBin: true - /ajv/6.12.6: + /ajv@6.12.6: resolution: {integrity: sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==} dependencies: fast-deep-equal: 3.1.3 @@ -1281,36 +1276,35 @@ packages: uri-js: 4.4.1 dev: false - /ansi-escapes/4.3.2: + /ansi-escapes@4.3.2: resolution: {integrity: sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==} engines: {node: '>=8'} dependencies: type-fest: 0.21.3 dev: true - /ansi-regex/5.0.1: + /ansi-regex@5.0.1: resolution: {integrity: sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==} engines: {node: '>=8'} - /ansi-styles/3.2.1: + /ansi-styles@3.2.1: resolution: {integrity: sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==} engines: {node: '>=4'} dependencies: color-convert: 1.9.3 - dev: true - /ansi-styles/4.3.0: + /ansi-styles@4.3.0: resolution: {integrity: sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==} engines: {node: '>=8'} dependencies: color-convert: 2.0.1 - /ansi-styles/5.2.0: + /ansi-styles@5.2.0: resolution: {integrity: sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==} engines: {node: '>=10'} dev: true - /anymatch/3.1.3: + /anymatch@3.1.3: resolution: {integrity: sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==} engines: {node: '>= 8'} dependencies: @@ -1318,27 +1312,27 @@ packages: picomatch: 2.3.1 dev: true - /arg/4.1.3: + /arg@4.1.3: resolution: {integrity: sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA==} dev: true - /argparse/1.0.10: + /argparse@1.0.10: resolution: {integrity: sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==} dependencies: sprintf-js: 1.0.3 dev: true - /argparse/2.0.1: + /argparse@2.0.1: resolution: {integrity: sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==} dev: false - /aria-query/5.1.3: + /aria-query@5.1.3: resolution: {integrity: sha512-R5iJ5lkuHybztUfuOAznmboyjWq8O6sqNqtK7CLOqdydi54VNbORp49mb14KbWgG1QD3JFO9hJdZ+y4KutfdOQ==} dependencies: deep-equal: 2.2.0 dev: false - /array-includes/3.1.6: + /array-includes@3.1.6: resolution: {integrity: sha512-sgTbLvL6cNnw24FnbaDyjmvddQ2ML8arZsgaJhoABMoplz/4QRhtrYS+alr1BUM1Bwp6dhx8vVCBSLG+StwOFw==} engines: {node: '>= 0.4'} dependencies: @@ -1349,12 +1343,12 @@ packages: is-string: 1.0.7 dev: false - /array-union/2.1.0: + /array-union@2.1.0: resolution: {integrity: sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==} engines: {node: '>=8'} dev: false - /array.prototype.flat/1.3.1: + /array.prototype.flat@1.3.1: resolution: {integrity: sha512-roTU0KWIOmJ4DRLmwKd19Otg0/mT3qPNt0Qb3GWW8iObuZXxrjB/pzn0R3hqpRSWg4HCwqx+0vwOnWnvlOyeIA==} engines: {node: '>= 0.4'} dependencies: @@ -1364,7 +1358,7 @@ packages: es-shim-unscopables: 1.0.0 dev: false - /array.prototype.flatmap/1.3.1: + /array.prototype.flatmap@1.3.1: resolution: {integrity: sha512-8UGn9O1FDVvMNB0UlLv4voxRMze7+FpHyF5mSMRjWHUMlpoDViniy05870VlxhfgTnLbpuwTzvD76MTtWxB/mQ==} engines: {node: '>= 0.4'} dependencies: @@ -1374,7 +1368,7 @@ packages: es-shim-unscopables: 1.0.0 dev: false - /array.prototype.tosorted/1.1.1: + /array.prototype.tosorted@1.1.1: resolution: {integrity: sha512-pZYPXPRl2PqWcsUs6LOMn+1f1532nEoPTYowBtqLwAW+W8vSVhkIGnmOX1t/UQjD6YGI0vcD2B1U7ZFGQH9jnQ==} dependencies: call-bind: 1.0.2 @@ -1384,31 +1378,31 @@ packages: get-intrinsic: 1.2.0 dev: false - /ast-types-flow/0.0.7: + /ast-types-flow@0.0.7: resolution: {integrity: sha512-eBvWn1lvIApYMhzQMsu9ciLfkBY499mFZlNqG+/9WR7PVlroQw0vG30cOQQbaKz3sCEc44TAOu2ykzqXSNnwag==} dev: false - /asynciterator/3.8.0: + /asynciterator@3.8.0: resolution: {integrity: sha512-bD34LqKHJnkB77MHjL3hOAUOcy9dbB+3lHvL+EiJpD3k2Nyq3i1dCk5adMisB2rwlrHVu/+XRhOdPZL9hzpsfw==} dev: false - /available-typed-arrays/1.0.5: + /available-typed-arrays@1.0.5: resolution: {integrity: sha512-DMD0KiN46eipeziST1LPP/STfDU0sufISXmjSgvVsoU2tqxctQeASejWcfNtxYKqETM1UxQ8sp2OrSBWpHY6sw==} engines: {node: '>= 0.4'} dev: false - /axe-core/4.6.3: + /axe-core@4.6.3: resolution: {integrity: sha512-/BQzOX780JhsxDnPpH4ZiyrJAzcd8AfzFPkv+89veFSr1rcMjuq2JDCwypKaPeB6ljHp9KjXhPpjgCvQlWYuqg==} engines: {node: '>=4'} dev: false - /axobject-query/3.1.1: + /axobject-query@3.1.1: resolution: {integrity: sha512-goKlv8DZrK9hUh975fnHzhNIO4jUnFCfv/dszV5VwUGDFjI6vQ2VwoyjYjYNEbBE8AH87TduWP5uyDR1D+Iteg==} dependencies: deep-equal: 2.2.0 dev: false - /babel-jest/29.4.3_@babel+core@7.21.0: + /babel-jest@29.4.3(@babel/core@7.21.0): resolution: {integrity: sha512-o45Wyn32svZE+LnMVWv/Z4x0SwtLbh4FyGcYtR20kIWd+rdrDZ9Fzq8Ml3MYLD+mZvEdzCjZsCnYZ2jpJyQ+Nw==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} peerDependencies: @@ -1418,7 +1412,7 @@ packages: '@jest/transform': 29.4.3 '@types/babel__core': 7.20.0 babel-plugin-istanbul: 6.1.1 - babel-preset-jest: 29.4.3_@babel+core@7.21.0 + babel-preset-jest: 29.4.3(@babel/core@7.21.0) chalk: 4.1.2 graceful-fs: 4.2.10 slash: 3.0.0 @@ -1426,7 +1420,7 @@ packages: - supports-color dev: true - /babel-plugin-istanbul/6.1.1: + /babel-plugin-istanbul@6.1.1: resolution: {integrity: sha512-Y1IQok9821cC9onCx5otgFfRm7Lm+I+wwxOx738M/WLPZ9Q42m4IG5W0FNX8WLL2gYMZo3JkuXIH2DOpWM+qwA==} engines: {node: '>=8'} dependencies: @@ -1439,7 +1433,7 @@ packages: - supports-color dev: true - /babel-plugin-jest-hoist/29.4.3: + /babel-plugin-jest-hoist@29.4.3: resolution: {integrity: sha512-mB6q2q3oahKphy5V7CpnNqZOCkxxZ9aokf1eh82Dy3jQmg4xvM1tGrh5y6BQUJh4a3Pj9+eLfwvAZ7VNKg7H8Q==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: @@ -1449,27 +1443,27 @@ packages: '@types/babel__traverse': 7.18.3 dev: true - /babel-preset-current-node-syntax/1.0.1_@babel+core@7.21.0: + /babel-preset-current-node-syntax@1.0.1(@babel/core@7.21.0): resolution: {integrity: sha512-M7LQ0bxarkxQoN+vz5aJPsLBn77n8QgTFmo8WK0/44auK2xlCXrYcUxHFxgU7qW5Yzw/CjmLRK2uJzaCd7LvqQ==} peerDependencies: '@babel/core': ^7.0.0 dependencies: '@babel/core': 7.21.0 - '@babel/plugin-syntax-async-generators': 7.8.4_@babel+core@7.21.0 - '@babel/plugin-syntax-bigint': 7.8.3_@babel+core@7.21.0 - '@babel/plugin-syntax-class-properties': 7.12.13_@babel+core@7.21.0 - '@babel/plugin-syntax-import-meta': 7.10.4_@babel+core@7.21.0 - '@babel/plugin-syntax-json-strings': 7.8.3_@babel+core@7.21.0 - '@babel/plugin-syntax-logical-assignment-operators': 7.10.4_@babel+core@7.21.0 - '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3_@babel+core@7.21.0 - '@babel/plugin-syntax-numeric-separator': 7.10.4_@babel+core@7.21.0 - '@babel/plugin-syntax-object-rest-spread': 7.8.3_@babel+core@7.21.0 - '@babel/plugin-syntax-optional-catch-binding': 7.8.3_@babel+core@7.21.0 - '@babel/plugin-syntax-optional-chaining': 7.8.3_@babel+core@7.21.0 - '@babel/plugin-syntax-top-level-await': 7.14.5_@babel+core@7.21.0 - dev: true - - /babel-preset-jest/29.4.3_@babel+core@7.21.0: + '@babel/plugin-syntax-async-generators': 7.8.4(@babel/core@7.21.0) + '@babel/plugin-syntax-bigint': 7.8.3(@babel/core@7.21.0) + '@babel/plugin-syntax-class-properties': 7.12.13(@babel/core@7.21.0) + '@babel/plugin-syntax-import-meta': 7.10.4(@babel/core@7.21.0) + '@babel/plugin-syntax-json-strings': 7.8.3(@babel/core@7.21.0) + '@babel/plugin-syntax-logical-assignment-operators': 7.10.4(@babel/core@7.21.0) + '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3(@babel/core@7.21.0) + '@babel/plugin-syntax-numeric-separator': 7.10.4(@babel/core@7.21.0) + '@babel/plugin-syntax-object-rest-spread': 7.8.3(@babel/core@7.21.0) + '@babel/plugin-syntax-optional-catch-binding': 7.8.3(@babel/core@7.21.0) + '@babel/plugin-syntax-optional-chaining': 7.8.3(@babel/core@7.21.0) + '@babel/plugin-syntax-top-level-await': 7.14.5(@babel/core@7.21.0) + dev: true + + /babel-preset-jest@29.4.3(@babel/core@7.21.0): resolution: {integrity: sha512-gWx6COtSuma6n9bw+8/F+2PCXrIgxV/D1TJFnp6OyBK2cxPWg0K9p/sriNYeifKjpUkMViWQ09DSWtzJQRETsw==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} peerDependencies: @@ -1477,41 +1471,41 @@ packages: dependencies: '@babel/core': 7.21.0 babel-plugin-jest-hoist: 29.4.3 - babel-preset-current-node-syntax: 1.0.1_@babel+core@7.21.0 + babel-preset-current-node-syntax: 1.0.1(@babel/core@7.21.0) dev: true - /balanced-match/1.0.2: + /balanced-match@1.0.2: resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==} - /base64-js/1.0.2: + /base64-js@1.0.2: resolution: {integrity: sha512-ZXBDPMt/v/8fsIqn+Z5VwrhdR6jVka0bYobHdGia0Nxi7BJ9i/Uvml3AocHIBtIIBhZjBw5MR0aR4ROs/8+SNg==} engines: {node: '>= 0.4'} dev: false - /base64-js/1.5.1: + /base64-js@1.5.1: resolution: {integrity: sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==} dev: false - /bops/1.0.1: + /bops@1.0.1: resolution: {integrity: sha512-qCMBuZKP36tELrrgXpAfM+gHzqa0nLsWZ+L37ncsb8txYlnAoxOPpVp+g7fK0sGkMXfA0wl8uQkESqw3v4HNag==} dependencies: base64-js: 1.0.2 to-utf8: 0.0.1 dev: false - /brace-expansion/1.1.11: + /brace-expansion@1.1.11: resolution: {integrity: sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==} dependencies: balanced-match: 1.0.2 concat-map: 0.0.1 - /braces/3.0.2: + /braces@3.0.2: resolution: {integrity: sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==} engines: {node: '>=8'} dependencies: fill-range: 7.0.1 - /browserslist/4.21.5: + /browserslist@4.21.5: resolution: {integrity: sha512-tUkiguQGW7S3IhB7N+c2MV/HZPSCPAAiYBZXLsBhFB/PCy6ZKKsZrmBayHV9fdGV/ARIfJ14NkxKzRDjvp7L6w==} engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7} hasBin: true @@ -1519,105 +1513,103 @@ packages: caniuse-lite: 1.0.30001457 electron-to-chromium: 1.4.311 node-releases: 2.0.10 - update-browserslist-db: 1.0.10_browserslist@4.21.5 - dev: true + update-browserslist-db: 1.0.10(browserslist@4.21.5) - /bser/2.1.1: + /bser@2.1.1: resolution: {integrity: sha512-gQxTNE/GAfIIrmHLUE3oJyp5FO6HRBfhjnw4/wMmA63ZGDJnWBmgY/lyQBpnDUkGmAhbSe39tx2d/iTOAfglwQ==} dependencies: node-int64: 0.4.0 dev: true - /buffer-from/1.1.2: + /buffer-from@1.1.2: resolution: {integrity: sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==} dev: true - /buffer/6.0.3: + /buffer@6.0.3: resolution: {integrity: sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA==} dependencies: base64-js: 1.5.1 ieee754: 1.2.1 dev: false - /busboy/1.6.0: + /busboy@1.6.0: resolution: {integrity: sha512-8SFQbg/0hQ9xy3UNTB0YEnsNBbWfhf7RtnzpL7TkBiTBRfrQ9Fxcnz7VJsleJpyp6rVLvXiuORqjlHi5q+PYuA==} engines: {node: '>=10.16.0'} dependencies: streamsearch: 1.1.0 dev: false - /call-bind/1.0.2: + /call-bind@1.0.2: resolution: {integrity: sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==} dependencies: function-bind: 1.1.1 get-intrinsic: 1.2.0 dev: false - /callsites/3.1.0: + /callsites@3.1.0: resolution: {integrity: sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==} engines: {node: '>=6'} - /camelcase/5.3.1: + /camelcase@5.3.1: resolution: {integrity: sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==} engines: {node: '>=6'} dev: true - /camelcase/6.3.0: + /camelcase@6.3.0: resolution: {integrity: sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==} engines: {node: '>=10'} dev: true - /caniuse-lite/1.0.30001457: + /caniuse-lite@1.0.30001457: resolution: {integrity: sha512-SDIV6bgE1aVbK6XyxdURbUE89zY7+k1BBBaOwYwkNCglXlel/E7mELiHC64HQ+W0xSKlqWhV9Wh7iHxUjMs4fA==} - /canonicalize/1.0.8: + /canonicalize@1.0.8: resolution: {integrity: sha512-0CNTVCLZggSh7bc5VkX5WWPWO+cyZbNd07IHIsSXLia/eAq+r836hgk+8BKoEh7949Mda87VUOitx5OddVj64A==} dev: false - /catering/2.1.1: + /catering@2.1.1: resolution: {integrity: sha512-K7Qy8O9p76sL3/3m7/zLKbRkyOlSZAgzEaLhyj2mXS8PsCud2Eo4hAb8aLtZqHh0QGqLcb9dlJSu6lHRVENm1w==} engines: {node: '>=6'} dev: false - /chalk/2.4.2: + /chalk@2.4.2: resolution: {integrity: sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==} engines: {node: '>=4'} dependencies: ansi-styles: 3.2.1 escape-string-regexp: 1.0.5 supports-color: 5.5.0 - dev: true - /chalk/4.1.2: + /chalk@4.1.2: resolution: {integrity: sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==} engines: {node: '>=10'} dependencies: ansi-styles: 4.3.0 supports-color: 7.2.0 - /char-regex/1.0.2: + /char-regex@1.0.2: resolution: {integrity: sha512-kWWXztvZ5SBQV+eRgKFeh8q5sLuZY2+8WUIzlxWVTg+oGwY14qylx1KbKzHd8P6ZYkAg0xyIDU9JMHhyJMZ1jw==} engines: {node: '>=10'} dev: true - /ci-info/3.8.0: + /ci-info@3.8.0: resolution: {integrity: sha512-eXTggHWSooYhq49F2opQhuHWgzucfF2YgODK4e1566GQs5BIfP30B0oenwBJHfWxAs2fyPB1s7Mg949zLf61Yw==} engines: {node: '>=8'} dev: true - /cjs-module-lexer/1.2.2: + /cjs-module-lexer@1.2.2: resolution: {integrity: sha512-cOU9usZw8/dXIXKtwa8pM0OTJQuJkxMN6w30csNRUerHfeQ5R6U3kkU/FtJeIf3M202OHfY2U8ccInBG7/xogA==} dev: true - /classnames/2.3.2: + /classnames@2.3.2: resolution: {integrity: sha512-CSbhY4cFEJRe6/GQzIk5qXZ4Jeg5pcsP7b5peFSDpffpe1cqjASH/n9UTjBwOp6XpMSTwQ8Za2K5V02ueA7Tmw==} dev: false - /client-only/0.0.1: + /client-only@0.0.1: resolution: {integrity: sha512-IV3Ou0jSMzZrd3pZ48nLkT9DA7Ag1pnPzaiQhpW7c3RbcqqzvzzVu+L8gfqMp/8IM2MQtSiqaCxrrcfu8I8rMA==} dev: false - /cliui/8.0.1: + /cliui@8.0.1: resolution: {integrity: sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==} engines: {node: '>=12'} dependencies: @@ -1626,50 +1618,47 @@ packages: wrap-ansi: 7.0.0 dev: true - /co/4.6.0: + /co@4.6.0: resolution: {integrity: sha512-QVb0dM5HvG+uaxitm8wONl7jltx8dqhfU33DcqtOZcLSVIKSDDLDi7+0LbAKiyI8hD9u42m2YxXSkMGWThaecQ==} engines: {iojs: '>= 1.0.0', node: '>= 0.12.0'} dev: true - /collect-v8-coverage/1.0.1: + /collect-v8-coverage@1.0.1: resolution: {integrity: sha512-iBPtljfCNcTKNAto0KEtDfZ3qzjJvqE3aTGZsbhjSBlorqpXJlaWWtPO35D+ZImoC3KWejX64o+yPGxhWSTzfg==} dev: true - /color-convert/1.9.3: + /color-convert@1.9.3: resolution: {integrity: sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==} dependencies: color-name: 1.1.3 - dev: true - /color-convert/2.0.1: + /color-convert@2.0.1: resolution: {integrity: sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==} engines: {node: '>=7.0.0'} dependencies: color-name: 1.1.4 - /color-name/1.1.3: + /color-name@1.1.3: resolution: {integrity: sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==} - dev: true - /color-name/1.1.4: + /color-name@1.1.4: resolution: {integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==} - /concat-map/0.0.1: + /concat-map@0.0.1: resolution: {integrity: sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==} - /convert-source-map/1.9.0: + /convert-source-map@1.9.0: resolution: {integrity: sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A==} - dev: true - /convert-source-map/2.0.0: + /convert-source-map@2.0.0: resolution: {integrity: sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==} dev: true - /create-require/1.1.1: + /create-require@1.1.1: resolution: {integrity: sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ==} dev: true - /cross-spawn/7.0.3: + /cross-spawn@7.0.3: resolution: {integrity: sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==} engines: {node: '>= 8'} dependencies: @@ -1677,25 +1666,25 @@ packages: shebang-command: 2.0.0 which: 2.0.2 - /csstype/3.1.1: + /csstype@3.1.1: resolution: {integrity: sha512-DJR/VvkAvSZW9bTouZue2sSxDwdTN92uHjqeKVm+0dAqdfNykRzQ95tay8aXMBAAPpUiq4Qcug2L7neoRh2Egw==} dev: false - /cuid/2.1.8: + /cuid@2.1.8: resolution: {integrity: sha512-xiEMER6E7TlTPnDxrM4eRiC6TRgjNX9xzEZ5U/Se2YJKr7Mq4pJn/2XEHjl3STcSh96GmkHPcBXLES8M29wyyg==} deprecated: Cuid and other k-sortable and non-cryptographic ids (Ulid, ObjectId, KSUID, all UUIDs) are all insecure. Use @paralleldrive/cuid2 instead. dev: false - /damerau-levenshtein/1.0.8: + /damerau-levenshtein@1.0.8: resolution: {integrity: sha512-sdQSFB7+llfUcQHUQO3+B8ERRj0Oa4w9POWMI/puGtuf7gFywGmkaLCElnudfTiKZV+NvHqL0ifzdrI8Ro7ESA==} dev: false - /data-uri-to-buffer/4.0.1: + /data-uri-to-buffer@4.0.1: resolution: {integrity: sha512-0R9ikRb668HB7QDxT1vkpuUBtqc53YyAwMwGeUFKRojY/NWKvdZ+9UYtRfGmhqNbRkTSVpMbmyhXipFFv2cb/A==} engines: {node: '>= 12'} dev: false - /debug/3.2.7: + /debug@3.2.7: resolution: {integrity: sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==} peerDependencies: supports-color: '*' @@ -1706,7 +1695,7 @@ packages: ms: 2.1.3 dev: false - /debug/4.3.4: + /debug@4.3.4: resolution: {integrity: sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==} engines: {node: '>=6.0'} peerDependencies: @@ -1717,11 +1706,11 @@ packages: dependencies: ms: 2.1.2 - /dedent/0.7.0: + /dedent@0.7.0: resolution: {integrity: sha512-Q6fKUPqnAHAyhiUgFU7BUzLiv0kd8saH9al7tnu5Q/okj6dnupxyTgFIBjVzJATdfIAm9NAsvXNzjaKa+bxVyA==} dev: true - /deep-equal/2.2.0: + /deep-equal@2.2.0: resolution: {integrity: sha512-RdpzE0Hv4lhowpIUKKMJfeH6C1pXdtT1/it80ubgWqwI3qpuxUBpC1S4hnHg+zjnuOoDkzUtUCEEkG+XG5l3Mw==} dependencies: call-bind: 1.0.2 @@ -1743,21 +1732,21 @@ packages: which-typed-array: 1.1.9 dev: false - /deep-is/0.1.4: + /deep-is@0.1.4: resolution: {integrity: sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==} dev: false - /deepmerge/4.3.0: + /deepmerge@4.3.0: resolution: {integrity: sha512-z2wJZXrmeHdvYJp/Ux55wIjqo81G5Bp4c+oELTW+7ar6SogWHajt5a9gO3s3IDaGSAXjDk0vlQKN3rms8ab3og==} engines: {node: '>=0.10.0'} dev: true - /define-lazy-prop/2.0.0: + /define-lazy-prop@2.0.0: resolution: {integrity: sha512-Ds09qNh8yw3khSjiJjiUInaGX9xlqZDY7JVryGxdxV7NPeuqQfplOpQ66yJFZut3jLa5zOwkXw1g9EI2uKh4Og==} engines: {node: '>=8'} dev: false - /define-properties/1.2.0: + /define-properties@1.2.0: resolution: {integrity: sha512-xvqAVKGfT1+UAvPwKTVw/njhdQ8ZhXK4lI0bCIuCMrp2up9nPnaDftrLtmpTazqd1o+UY4zgzU+avtMbDP+ldA==} engines: {node: '>= 0.4'} dependencies: @@ -1765,60 +1754,59 @@ packages: object-keys: 1.1.1 dev: false - /detect-newline/3.1.0: + /detect-newline@3.1.0: resolution: {integrity: sha512-TLz+x/vEXm/Y7P7wn1EJFNLxYpUD4TgMosxY6fAVJUnJMbupHBOncxyWUG9OpTaH9EBD7uFI5LfEgmMOc54DsA==} engines: {node: '>=8'} dev: true - /diff-sequences/29.4.3: + /diff-sequences@29.4.3: resolution: {integrity: sha512-ofrBgwpPhCD85kMKtE9RYFFq6OC1A89oW2vvgWZNCwxrUpRUILopY7lsYyMDSjc8g6U6aiO0Qubg6r4Wgt5ZnA==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dev: true - /diff/4.0.2: + /diff@4.0.2: resolution: {integrity: sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A==} engines: {node: '>=0.3.1'} dev: true - /dir-glob/3.0.1: + /dir-glob@3.0.1: resolution: {integrity: sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==} engines: {node: '>=8'} dependencies: path-type: 4.0.0 dev: false - /doctrine/2.1.0: + /doctrine@2.1.0: resolution: {integrity: sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==} engines: {node: '>=0.10.0'} dependencies: esutils: 2.0.3 dev: false - /doctrine/3.0.0: + /doctrine@3.0.0: resolution: {integrity: sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==} engines: {node: '>=6.0.0'} dependencies: esutils: 2.0.3 dev: false - /electron-to-chromium/1.4.311: + /electron-to-chromium@1.4.311: resolution: {integrity: sha512-RoDlZufvrtr2Nx3Yx5MB8jX3aHIxm8nRWPJm3yVvyHmyKaRvn90RjzB6hNnt0AkhS3IInJdyRfQb4mWhPvUjVw==} - dev: true - /emittery/0.13.1: + /emittery@0.13.1: resolution: {integrity: sha512-DeWwawk6r5yR9jFgnDKYt4sLS0LmHJJi3ZOnb5/JdbYwj3nW+FxQnHIjhBKz8YLC7oRNPVM9NQ47I3CVx34eqQ==} engines: {node: '>=12'} dev: true - /emoji-regex/8.0.0: + /emoji-regex@8.0.0: resolution: {integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==} dev: true - /emoji-regex/9.2.2: + /emoji-regex@9.2.2: resolution: {integrity: sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==} dev: false - /enhanced-resolve/5.12.0: + /enhanced-resolve@5.12.0: resolution: {integrity: sha512-QHTXI/sZQmko1cbDoNAa3mJ5qhWUUNAq3vR0/YiD379fWQrcfuoX1+HW2S0MTt7XmoPLapdaDKUtelUSPic7hQ==} engines: {node: '>=10.13.0'} dependencies: @@ -1826,13 +1814,13 @@ packages: tapable: 2.2.1 dev: false - /error-ex/1.3.2: + /error-ex@1.3.2: resolution: {integrity: sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==} dependencies: is-arrayish: 0.2.1 dev: true - /es-abstract/1.21.1: + /es-abstract@1.21.1: resolution: {integrity: sha512-QudMsPOz86xYz/1dG1OuGBKOELjCh99IIWHLzy5znUB6j8xG2yMA7bfTV86VSqKF+Y/H08vQPR+9jyXpuC6hfg==} engines: {node: '>= 0.4'} dependencies: @@ -1871,7 +1859,7 @@ packages: which-typed-array: 1.1.9 dev: false - /es-get-iterator/1.1.3: + /es-get-iterator@1.1.3: resolution: {integrity: sha512-sPZmqHBe6JIiTfN5q2pEi//TwxmAFHwj/XEuYjTuse78i8KxaqMTTzxPoFKuzRpDpTJ+0NAbpfenkmH2rePtuw==} dependencies: call-bind: 1.0.2 @@ -1885,7 +1873,7 @@ packages: stop-iteration-iterator: 1.0.0 dev: false - /es-set-tostringtag/2.0.1: + /es-set-tostringtag@2.0.1: resolution: {integrity: sha512-g3OMbtlwY3QewlqAiMLI47KywjWZoEytKr8pf6iTC8uJq5bIAH52Z9pnQ8pVL6whrCto53JZDuUIsifGeLorTg==} engines: {node: '>= 0.4'} dependencies: @@ -1894,13 +1882,13 @@ packages: has-tostringtag: 1.0.0 dev: false - /es-shim-unscopables/1.0.0: + /es-shim-unscopables@1.0.0: resolution: {integrity: sha512-Jm6GPcCdC30eMLbZ2x8z2WuRwAws3zTBBKuusffYVUrNj/GVSUAZ+xKMaUpfNDR5IbyNA5LJbaecoUVbmUcB1w==} dependencies: has: 1.0.3 dev: false - /es-to-primitive/1.2.1: + /es-to-primitive@1.2.1: resolution: {integrity: sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==} engines: {node: '>= 0.4'} dependencies: @@ -1909,27 +1897,25 @@ packages: is-symbol: 1.0.4 dev: false - /escalade/3.1.1: + /escalade@3.1.1: resolution: {integrity: sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==} engines: {node: '>=6'} - dev: true - /escape-string-regexp/1.0.5: + /escape-string-regexp@1.0.5: resolution: {integrity: sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==} engines: {node: '>=0.8.0'} - dev: true - /escape-string-regexp/2.0.0: + /escape-string-regexp@2.0.0: resolution: {integrity: sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w==} engines: {node: '>=8'} dev: true - /escape-string-regexp/4.0.0: + /escape-string-regexp@4.0.0: resolution: {integrity: sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==} engines: {node: '>=10'} dev: false - /eslint-config-next/13.2.1_7kw3g6rralp5ps6mg3uyzz6azm: + /eslint-config-next@13.2.1(eslint@8.34.0)(typescript@4.9.5): resolution: {integrity: sha512-2GAx7EjSiCzJN6H2L/v1kbYrNiwQxzkyjy6eWSjuhAKt+P6d3nVNHGy9mON8ZcYd72w/M8kyMjm4UB9cvijgrw==} peerDependencies: eslint: ^7.23.0 || ^8.0.0 @@ -1940,21 +1926,21 @@ packages: dependencies: '@next/eslint-plugin-next': 13.2.1 '@rushstack/eslint-patch': 1.2.0 - '@typescript-eslint/parser': 5.53.0_7kw3g6rralp5ps6mg3uyzz6azm + '@typescript-eslint/parser': 5.53.0(eslint@8.34.0)(typescript@4.9.5) eslint: 8.34.0 eslint-import-resolver-node: 0.3.7 - eslint-import-resolver-typescript: 3.5.3_mvgyw3chnqkp6sgfmmtihyjpnm - eslint-plugin-import: 2.27.5_2hqppaeqs2axgzqg6vttejknky - eslint-plugin-jsx-a11y: 6.7.1_eslint@8.34.0 - eslint-plugin-react: 7.32.2_eslint@8.34.0 - eslint-plugin-react-hooks: 4.6.0_eslint@8.34.0 + eslint-import-resolver-typescript: 3.5.3(eslint-plugin-import@2.27.5)(eslint@8.34.0) + eslint-plugin-import: 2.27.5(@typescript-eslint/parser@5.53.0)(eslint-import-resolver-typescript@3.5.3)(eslint@8.34.0) + eslint-plugin-jsx-a11y: 6.7.1(eslint@8.34.0) + eslint-plugin-react: 7.32.2(eslint@8.34.0) + eslint-plugin-react-hooks: 4.6.0(eslint@8.34.0) typescript: 4.9.5 transitivePeerDependencies: - eslint-import-resolver-webpack - supports-color dev: false - /eslint-import-resolver-node/0.3.7: + /eslint-import-resolver-node@0.3.7: resolution: {integrity: sha512-gozW2blMLJCeFpBwugLTGyvVjNoeo1knonXAcatC6bjPBZitotxdWf7Gimr25N4c0AAOo4eOUfaG82IJPDpqCA==} dependencies: debug: 3.2.7 @@ -1964,7 +1950,7 @@ packages: - supports-color dev: false - /eslint-import-resolver-typescript/3.5.3_mvgyw3chnqkp6sgfmmtihyjpnm: + /eslint-import-resolver-typescript@3.5.3(eslint-plugin-import@2.27.5)(eslint@8.34.0): resolution: {integrity: sha512-njRcKYBc3isE42LaTcJNVANR3R99H9bAxBDMNDr2W7yq5gYPxbU3MkdhsQukxZ/Xg9C2vcyLlDsbKfRDg0QvCQ==} engines: {node: ^14.18.0 || >=16.0.0} peerDependencies: @@ -1974,7 +1960,7 @@ packages: debug: 4.3.4 enhanced-resolve: 5.12.0 eslint: 8.34.0 - eslint-plugin-import: 2.27.5_2hqppaeqs2axgzqg6vttejknky + eslint-plugin-import: 2.27.5(@typescript-eslint/parser@5.53.0)(eslint-import-resolver-typescript@3.5.3)(eslint@8.34.0) get-tsconfig: 4.4.0 globby: 13.1.3 is-core-module: 2.11.0 @@ -1984,7 +1970,7 @@ packages: - supports-color dev: false - /eslint-module-utils/2.7.4_yfzt44nswbaazp63chcrlz6vvq: + /eslint-module-utils@2.7.4(@typescript-eslint/parser@5.53.0)(eslint-import-resolver-node@0.3.7)(eslint-import-resolver-typescript@3.5.3)(eslint@8.34.0): resolution: {integrity: sha512-j4GT+rqzCoRKHwURX7pddtIPGySnX9Si/cgMI5ztrcqOPtk5dDEeZ34CQVPphnqkJytlc97Vuk05Um2mJ3gEQA==} engines: {node: '>=4'} peerDependencies: @@ -2005,16 +1991,16 @@ packages: eslint-import-resolver-webpack: optional: true dependencies: - '@typescript-eslint/parser': 5.53.0_7kw3g6rralp5ps6mg3uyzz6azm + '@typescript-eslint/parser': 5.53.0(eslint@8.34.0)(typescript@4.9.5) debug: 3.2.7 eslint: 8.34.0 eslint-import-resolver-node: 0.3.7 - eslint-import-resolver-typescript: 3.5.3_mvgyw3chnqkp6sgfmmtihyjpnm + eslint-import-resolver-typescript: 3.5.3(eslint-plugin-import@2.27.5)(eslint@8.34.0) transitivePeerDependencies: - supports-color dev: false - /eslint-plugin-import/2.27.5_2hqppaeqs2axgzqg6vttejknky: + /eslint-plugin-import@2.27.5(@typescript-eslint/parser@5.53.0)(eslint-import-resolver-typescript@3.5.3)(eslint@8.34.0): resolution: {integrity: sha512-LmEt3GVofgiGuiE+ORpnvP+kAm3h6MLZJ4Q5HCyHADofsb4VzXFsRiWj3c0OFiV+3DWFh0qg3v9gcPlfc3zRow==} engines: {node: '>=4'} peerDependencies: @@ -2024,7 +2010,7 @@ packages: '@typescript-eslint/parser': optional: true dependencies: - '@typescript-eslint/parser': 5.53.0_7kw3g6rralp5ps6mg3uyzz6azm + '@typescript-eslint/parser': 5.53.0(eslint@8.34.0)(typescript@4.9.5) array-includes: 3.1.6 array.prototype.flat: 1.3.1 array.prototype.flatmap: 1.3.1 @@ -2032,7 +2018,7 @@ packages: doctrine: 2.1.0 eslint: 8.34.0 eslint-import-resolver-node: 0.3.7 - eslint-module-utils: 2.7.4_yfzt44nswbaazp63chcrlz6vvq + eslint-module-utils: 2.7.4(@typescript-eslint/parser@5.53.0)(eslint-import-resolver-node@0.3.7)(eslint-import-resolver-typescript@3.5.3)(eslint@8.34.0) has: 1.0.3 is-core-module: 2.11.0 is-glob: 4.0.3 @@ -2047,7 +2033,7 @@ packages: - supports-color dev: false - /eslint-plugin-jsx-a11y/6.7.1_eslint@8.34.0: + /eslint-plugin-jsx-a11y@6.7.1(eslint@8.34.0): resolution: {integrity: sha512-63Bog4iIethyo8smBklORknVjB0T2dwB8Mr/hIC+fBS0uyHdYYpzM/Ed+YC8VxTjlXHEWFOdmgwcDn1U2L9VCA==} engines: {node: '>=4.0'} peerDependencies: @@ -2072,7 +2058,7 @@ packages: semver: 6.3.0 dev: false - /eslint-plugin-react-hooks/4.6.0_eslint@8.34.0: + /eslint-plugin-react-hooks@4.6.0(eslint@8.34.0): resolution: {integrity: sha512-oFc7Itz9Qxh2x4gNHStv3BqJq54ExXmfC+a1NjAta66IAN87Wu0R/QArgIS9qKzX3dXKPI9H5crl9QchNMY9+g==} engines: {node: '>=10'} peerDependencies: @@ -2081,7 +2067,7 @@ packages: eslint: 8.34.0 dev: false - /eslint-plugin-react/7.32.2_eslint@8.34.0: + /eslint-plugin-react@7.32.2(eslint@8.34.0): resolution: {integrity: sha512-t2fBMa+XzonrrNkyVirzKlvn5RXzzPwRHtMvLAtVZrt8oxgnTQaYbU6SXTOO1mwQgp1y5+toMSKInnzGr0Knqg==} engines: {node: '>=4'} peerDependencies: @@ -2105,7 +2091,7 @@ packages: string.prototype.matchall: 4.0.8 dev: false - /eslint-scope/7.1.1: + /eslint-scope@7.1.1: resolution: {integrity: sha512-QKQM/UXpIiHcLqJ5AOyIW7XZmzjkzQXYE54n1++wb0u9V/abW3l9uQnxX8Z5Xd18xyKIMTUAyQ0k1e8pz6LUrw==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} dependencies: @@ -2113,7 +2099,7 @@ packages: estraverse: 5.3.0 dev: false - /eslint-utils/3.0.0_eslint@8.34.0: + /eslint-utils@3.0.0(eslint@8.34.0): resolution: {integrity: sha512-uuQC43IGctw68pJA1RgbQS8/NP7rch6Cwd4j3ZBtgo4/8Flj4eGE7ZYSZRN3iq5pVUv6GPdW5Z1RFleo84uLDA==} engines: {node: ^10.0.0 || ^12.0.0 || >= 14.0.0} peerDependencies: @@ -2123,17 +2109,17 @@ packages: eslint-visitor-keys: 2.1.0 dev: false - /eslint-visitor-keys/2.1.0: + /eslint-visitor-keys@2.1.0: resolution: {integrity: sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw==} engines: {node: '>=10'} dev: false - /eslint-visitor-keys/3.3.0: + /eslint-visitor-keys@3.3.0: resolution: {integrity: sha512-mQ+suqKJVyeuwGYHAdjMFqjCyfl8+Ldnxuyp3ldiMBFKkvytrXUZWaiPCEav8qDHKty44bD+qV1IP4T+w+xXRA==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} dev: false - /eslint/8.34.0: + /eslint@8.34.0: resolution: {integrity: sha512-1Z8iFsucw+7kSqXNZVslXS8Ioa4u2KM7GPwuKtkTFAqZ/cHMcEaR+1+Br0wLlot49cNxIiZk5wp8EAbPcYZxTg==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} hasBin: true @@ -2149,7 +2135,7 @@ packages: doctrine: 3.0.0 escape-string-regexp: 4.0.0 eslint-scope: 7.1.1 - eslint-utils: 3.0.0_eslint@8.34.0 + eslint-utils: 3.0.0(eslint@8.34.0) eslint-visitor-keys: 3.3.0 espree: 9.4.1 esquery: 1.4.2 @@ -2181,56 +2167,56 @@ packages: - supports-color dev: false - /espree/9.4.1: + /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.2 - acorn-jsx: 5.3.2_acorn@8.8.2 + acorn-jsx: 5.3.2(acorn@8.8.2) eslint-visitor-keys: 3.3.0 dev: false - /esprima/4.0.1: + /esprima@4.0.1: resolution: {integrity: sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==} engines: {node: '>=4'} hasBin: true dev: true - /esquery/1.4.2: + /esquery@1.4.2: resolution: {integrity: sha512-JVSoLdTlTDkmjFmab7H/9SL9qGSyjElT3myyKp7krqjVFQCDLmj1QFaCLRFBszBKI0XVZaiiXvuPIX3ZwHe1Ng==} engines: {node: '>=0.10'} dependencies: estraverse: 5.3.0 dev: false - /esrecurse/4.3.0: + /esrecurse@4.3.0: resolution: {integrity: sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==} engines: {node: '>=4.0'} dependencies: estraverse: 5.3.0 dev: false - /estraverse/5.3.0: + /estraverse@5.3.0: resolution: {integrity: sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==} engines: {node: '>=4.0'} dev: false - /esutils/2.0.3: + /esutils@2.0.3: resolution: {integrity: sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==} engines: {node: '>=0.10.0'} dev: false - /event-target-shim/5.0.1: + /event-target-shim@5.0.1: resolution: {integrity: sha512-i/2XbnSz/uxRCU6+NdVJgKWDTM427+MqYbkQzD321DuCQJUqOuJKIA0IM2+W2xtYHdKOmZ4dR6fExsd4SXL+WQ==} engines: {node: '>=6'} dev: false - /events/3.3.0: + /events@3.3.0: resolution: {integrity: sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==} engines: {node: '>=0.8.x'} dev: false - /execa/5.1.1: + /execa@5.1.1: resolution: {integrity: sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==} engines: {node: '>=10'} dependencies: @@ -2245,12 +2231,12 @@ packages: strip-final-newline: 2.0.0 dev: true - /exit/0.1.2: + /exit@0.1.2: resolution: {integrity: sha512-Zk/eNKV2zbjpKzrsQ+n1G6poVbErQxJ0LBOJXaKZ1EViLzH+hrLu9cdXI4zw9dBQJslwBEpbQ2P1oS7nDxs6jQ==} engines: {node: '>= 0.8.0'} dev: true - /expect/29.4.3: + /expect@29.4.3: resolution: {integrity: sha512-uC05+Q7eXECFpgDrHdXA4k2rpMyStAYPItEDLyQDo5Ta7fVkJnNA/4zh/OIVkVVNZ1oOK1PipQoyNjuZ6sz6Dg==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: @@ -2261,18 +2247,18 @@ packages: jest-util: 29.4.3 dev: true - /fast-check/3.7.0: + /fast-check@3.7.0: resolution: {integrity: sha512-1QFnXC7UcTlSBk7523W99QbnP6mTrvUjEXLKODjjhh/QJUHAzzBow2POae7hV+Qrqjj4XaU0HbTfwEa8HprS5g==} engines: {node: '>=8.0.0'} dependencies: pure-rand: 6.0.0 dev: true - /fast-deep-equal/3.1.3: + /fast-deep-equal@3.1.3: resolution: {integrity: sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==} dev: false - /fast-glob/3.2.12: + /fast-glob@3.2.12: resolution: {integrity: sha512-DVj4CQIYYow0BlaelwK1pHl5n5cRSJfM60UA0zK891sVInoPri2Ekj7+e1CT3/3qxXenpI+nBBmQAcJPJgaj4w==} engines: {node: '>=8.6.0'} dependencies: @@ -2283,26 +2269,26 @@ packages: micromatch: 4.0.5 dev: false - /fast-json-stable-stringify/2.1.0: + /fast-json-stable-stringify@2.1.0: resolution: {integrity: sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==} - /fast-levenshtein/2.0.6: + /fast-levenshtein@2.0.6: resolution: {integrity: sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==} dev: false - /fastq/1.15.0: + /fastq@1.15.0: resolution: {integrity: sha512-wBrocU2LCXXa+lWBt8RoIRD89Fi8OdABODa/kEnyeyjS5aZO5/GNvI5sEINADqP/h8M29UHTHUb53sUu5Ihqdw==} dependencies: reusify: 1.0.4 dev: false - /fb-watchman/2.0.2: + /fb-watchman@2.0.2: resolution: {integrity: sha512-p5161BqbuCaSnB8jIbzQHOlpgsPmK5rJVDfDKO91Axs5NC1uu3HRQm6wt9cd9/+GtQQIO53JdGXXoyDpTAsgYA==} dependencies: bser: 2.1.1 dev: true - /fetch-blob/3.2.0: + /fetch-blob@3.2.0: resolution: {integrity: sha512-7yAQpD2UMJzLi1Dqv7qFYnPbaPx7ZfFK6PiIxQ4PfkGPyNyl2Ugx+a/umUonmKqjhM4DnfbMvdX6otXq83soQQ==} engines: {node: ^12.20 || >= 14.13} dependencies: @@ -2310,20 +2296,20 @@ packages: web-streams-polyfill: 3.2.1 dev: false - /file-entry-cache/6.0.1: + /file-entry-cache@6.0.1: resolution: {integrity: sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==} engines: {node: ^10.12.0 || >=12.0.0} dependencies: flat-cache: 3.0.4 dev: false - /fill-range/7.0.1: + /fill-range@7.0.1: resolution: {integrity: sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==} engines: {node: '>=8'} dependencies: to-regex-range: 5.0.1 - /find-up/4.1.0: + /find-up@4.1.0: resolution: {integrity: sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==} engines: {node: '>=8'} dependencies: @@ -2331,7 +2317,7 @@ packages: path-exists: 4.0.0 dev: true - /find-up/5.0.0: + /find-up@5.0.0: resolution: {integrity: sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==} engines: {node: '>=10'} dependencies: @@ -2339,7 +2325,7 @@ packages: path-exists: 4.0.0 dev: false - /flat-cache/3.0.4: + /flat-cache@3.0.4: resolution: {integrity: sha512-dm9s5Pw7Jc0GvMYbshN6zchCA9RgQlzzEZX3vylR9IqFfS8XciblUXOKfW6SiuJ0e13eDYZoZV5wdrev7P3Nwg==} engines: {node: ^10.12.0 || >=12.0.0} dependencies: @@ -2347,27 +2333,27 @@ packages: rimraf: 3.0.2 dev: false - /flatted/3.2.7: + /flatted@3.2.7: resolution: {integrity: sha512-5nqDSxl8nn5BSNxyR3n4I6eDmbolI6WT+QqR547RwxQapgjQBmtktdP+HTBb/a/zLsbzERTONyUB5pefh5TtjQ==} dev: false - /for-each/0.3.3: + /for-each@0.3.3: resolution: {integrity: sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw==} dependencies: is-callable: 1.2.7 dev: false - /formdata-polyfill/4.0.10: + /formdata-polyfill@4.0.10: resolution: {integrity: sha512-buewHzMvYL29jdeQTVILecSaZKnt/RJWjoZCF5OW60Z67/GmSLBkOFM7qh1PI3zFNtJbaZL5eQu1vLfazOwj4g==} engines: {node: '>=12.20.0'} dependencies: fetch-blob: 3.2.0 dev: false - /fs.realpath/1.0.0: + /fs.realpath@1.0.0: resolution: {integrity: sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==} - /fsevents/2.3.2: + /fsevents@2.3.2: resolution: {integrity: sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==} engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0} os: [darwin] @@ -2375,10 +2361,10 @@ packages: dev: true optional: true - /function-bind/1.1.1: + /function-bind@1.1.1: resolution: {integrity: sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==} - /function.prototype.name/1.1.5: + /function.prototype.name@1.1.5: resolution: {integrity: sha512-uN7m/BzVKQnCUF/iW8jYea67v++2u7m5UgENbHRtdDVclOUP+FMPlCNdmk0h/ysGyo2tavMJEDqJAkJdRa1vMA==} engines: {node: '>= 0.4'} dependencies: @@ -2388,25 +2374,24 @@ packages: functions-have-names: 1.2.3 dev: false - /functional-red-black-tree/1.0.1: + /functional-red-black-tree@1.0.1: resolution: {integrity: sha512-dsKNQNdj6xA3T+QlADDA7mOSlX0qiMINjn0cgr+eGHGsbSHzTabcIogz2+p/iqP1Xs6EP/sS2SbqH+brGTbq0g==} dev: false - /functions-have-names/1.2.3: + /functions-have-names@1.2.3: resolution: {integrity: sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==} dev: false - /gensync/1.0.0-beta.2: + /gensync@1.0.0-beta.2: resolution: {integrity: sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==} engines: {node: '>=6.9.0'} - dev: true - /get-caller-file/2.0.5: + /get-caller-file@2.0.5: resolution: {integrity: sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==} engines: {node: 6.* || 8.* || >= 10.*} dev: true - /get-intrinsic/1.2.0: + /get-intrinsic@1.2.0: resolution: {integrity: sha512-L049y6nFOuom5wGyRc3/gdTLO94dySVKRACj1RmJZBQXlbTMhtNIgkWkUHq+jYmZvKf14EW1EoJnnjbmoHij0Q==} dependencies: function-bind: 1.1.1 @@ -2414,17 +2399,17 @@ packages: has-symbols: 1.0.3 dev: false - /get-package-type/0.1.0: + /get-package-type@0.1.0: resolution: {integrity: sha512-pjzuKtY64GYfWizNAJ0fr9VqttZkNiK2iS430LtIHzjBEr6bX8Am2zm4sW4Ro5wjWW5cAlRL1qAMTcXbjNAO2Q==} engines: {node: '>=8.0.0'} dev: true - /get-stream/6.0.1: + /get-stream@6.0.1: resolution: {integrity: sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==} engines: {node: '>=10'} dev: true - /get-symbol-description/1.0.0: + /get-symbol-description@1.0.0: resolution: {integrity: sha512-2EmdH1YvIQiZpltCNgkuiUnyukzxM/R6NDJX31Ke3BG1Nq5b0S2PhX59UKi9vZpPDQVdqn+1IcaAwnzTT5vCjw==} engines: {node: '>= 0.4'} dependencies: @@ -2432,25 +2417,25 @@ packages: get-intrinsic: 1.2.0 dev: false - /get-tsconfig/4.4.0: + /get-tsconfig@4.4.0: resolution: {integrity: sha512-0Gdjo/9+FzsYhXCEFueo2aY1z1tpXrxWZzP7k8ul9qt1U5o8rYJwTJYmaeHdrVosYIVYkOy2iwCJ9FdpocJhPQ==} dev: false - /glob-parent/5.1.2: + /glob-parent@5.1.2: resolution: {integrity: sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==} engines: {node: '>= 6'} dependencies: is-glob: 4.0.3 dev: false - /glob-parent/6.0.2: + /glob-parent@6.0.2: resolution: {integrity: sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==} engines: {node: '>=10.13.0'} dependencies: is-glob: 4.0.3 dev: false - /glob/7.1.7: + /glob@7.1.7: resolution: {integrity: sha512-OvD9ENzPLbegENnYP5UUfJIirTg4+XwMWGaQfQTY0JenxNvvIKP3U3/tAQSPIu/lHxXYSZmpXlUHeqAIdKzBLQ==} dependencies: fs.realpath: 1.0.0 @@ -2461,7 +2446,7 @@ packages: path-is-absolute: 1.0.1 dev: false - /glob/7.2.3: + /glob@7.2.3: resolution: {integrity: sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==} dependencies: fs.realpath: 1.0.0 @@ -2471,30 +2456,29 @@ packages: once: 1.4.0 path-is-absolute: 1.0.1 - /globals/11.12.0: + /globals@11.12.0: resolution: {integrity: sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==} engines: {node: '>=4'} - dev: true - /globals/13.20.0: + /globals@13.20.0: resolution: {integrity: sha512-Qg5QtVkCy/kv3FUSlu4ukeZDVf9ee0iXLAUYX13gbR17bnejFTzr4iS9bY7kwCf1NztRNm1t91fjOiyx4CSwPQ==} engines: {node: '>=8'} dependencies: type-fest: 0.20.2 dev: false - /globalthis/1.0.3: + /globalthis@1.0.3: resolution: {integrity: sha512-sFdI5LyBiNTHjRd7cGPWapiHWMOXKyuBNX/cWJ3NfzrZQVa8GI/8cofCl74AOVqq9W5kNmguTIzJ/1s2gyI9wA==} engines: {node: '>= 0.4'} dependencies: define-properties: 1.2.0 dev: false - /globalyzer/0.1.0: + /globalyzer@0.1.0: resolution: {integrity: sha512-40oNTM9UfG6aBmuKxk/giHn5nQ8RVz/SS4Ir6zgzOv9/qC3kKZ9v4etGTcJbEl/NyVQH7FGU7d+X1egr57Md2Q==} dev: false - /globby/11.1.0: + /globby@11.1.0: resolution: {integrity: sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==} engines: {node: '>=10'} dependencies: @@ -2506,7 +2490,7 @@ packages: slash: 3.0.0 dev: false - /globby/13.1.3: + /globby@13.1.3: resolution: {integrity: sha512-8krCNHXvlCgHDpegPzleMq07yMYTO2sXKASmZmquEYWEmCx6J5UTRbp5RwMJkTJGtcQ44YpiUYUiN0b9mzy8Bw==} engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} dependencies: @@ -2517,91 +2501,90 @@ packages: slash: 4.0.0 dev: false - /globrex/0.1.2: + /globrex@0.1.2: resolution: {integrity: sha512-uHJgbwAMwNFf5mLst7IWLNg14x1CkeqglJb/K3doi4dw6q2IvAAmM/Y81kevy83wP+Sst+nutFTYOGg3d1lsxg==} dev: false - /gopd/1.0.1: + /gopd@1.0.1: resolution: {integrity: sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==} dependencies: get-intrinsic: 1.2.0 dev: false - /graceful-fs/4.2.10: + /graceful-fs@4.2.10: resolution: {integrity: sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA==} - /grapheme-splitter/1.0.4: + /grapheme-splitter@1.0.4: resolution: {integrity: sha512-bzh50DW9kTPM00T8y4o8vQg89Di9oLJVLW/KaOGIXJWP/iqCN6WKYkbNOF04vFLJhwcpYUh9ydh/+5vpOqV4YQ==} dev: false - /has-bigints/1.0.2: + /has-bigints@1.0.2: resolution: {integrity: sha512-tSvCKtBr9lkF0Ex0aQiP9N+OpV4zi2r/Nee5VkRDbaqv35RLYMzbwQfFSZZH0kR+Rd6302UJZ2p/bJCEoR3VoQ==} dev: false - /has-flag/3.0.0: + /has-flag@3.0.0: resolution: {integrity: sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==} engines: {node: '>=4'} - dev: true - /has-flag/4.0.0: + /has-flag@4.0.0: resolution: {integrity: sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==} engines: {node: '>=8'} - /has-property-descriptors/1.0.0: + /has-property-descriptors@1.0.0: resolution: {integrity: sha512-62DVLZGoiEBDHQyqG4w9xCuZ7eJEwNmJRWw2VY84Oedb7WFcA27fiEVe8oUQx9hAUJ4ekurquucTGwsyO1XGdQ==} dependencies: get-intrinsic: 1.2.0 dev: false - /has-proto/1.0.1: + /has-proto@1.0.1: resolution: {integrity: sha512-7qE+iP+O+bgF9clE5+UoBFzE65mlBiVj3tKCrlNQ0Ogwm0BjpT/gK4SlLYDMybDh5I3TCTKnPPa0oMG7JDYrhg==} engines: {node: '>= 0.4'} dev: false - /has-symbols/1.0.3: + /has-symbols@1.0.3: resolution: {integrity: sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==} engines: {node: '>= 0.4'} dev: false - /has-tostringtag/1.0.0: + /has-tostringtag@1.0.0: resolution: {integrity: sha512-kFjcSNhnlGV1kyoGk7OXKSawH5JOb/LzUc5w9B02hOTO0dfFRjbHQKvg1d6cf3HbeUmtU9VbbV3qzZ2Teh97WQ==} engines: {node: '>= 0.4'} dependencies: has-symbols: 1.0.3 dev: false - /has/1.0.3: + /has@1.0.3: resolution: {integrity: sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==} engines: {node: '>= 0.4.0'} dependencies: function-bind: 1.1.1 - /hash.js/1.1.7: + /hash.js@1.1.7: resolution: {integrity: sha512-taOaskGt4z4SOANNseOviYDvjEJinIkRgmp7LbKP2YTTmVxWBl87s/uzK9r+44BclBSp2X7K1hqeNfz9JbBeXA==} dependencies: inherits: 2.0.4 minimalistic-assert: 1.0.1 dev: false - /html-escaper/2.0.2: + /html-escaper@2.0.2: resolution: {integrity: sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==} dev: true - /human-signals/2.1.0: + /human-signals@2.1.0: resolution: {integrity: sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==} engines: {node: '>=10.17.0'} dev: true - /ieee754/1.2.1: + /ieee754@1.2.1: resolution: {integrity: sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==} dev: false - /ignore/5.2.4: + /ignore@5.2.4: resolution: {integrity: sha512-MAb38BcSbH0eHNBxn7ql2NH/kX33OkB3lZ1BNdh7ENeRChHTYsTvWrMubiIAMNS2llXEEgZ1MUOBtXChP3kaFQ==} engines: {node: '>= 4'} dev: false - /import-fresh/3.3.0: + /import-fresh@3.3.0: resolution: {integrity: sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==} engines: {node: '>=6'} dependencies: @@ -2609,7 +2592,7 @@ packages: resolve-from: 4.0.0 dev: false - /import-local/3.1.0: + /import-local@3.1.0: resolution: {integrity: sha512-ASB07uLtnDs1o6EHjKpX34BKYDSqnFerfTOJL2HvMqF70LnxpjkzDB8J44oT9pu4AMPkQwf8jl6szgvNd2tRIg==} engines: {node: '>=8'} hasBin: true @@ -2618,20 +2601,20 @@ packages: resolve-cwd: 3.0.0 dev: true - /imurmurhash/0.1.4: + /imurmurhash@0.1.4: resolution: {integrity: sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==} engines: {node: '>=0.8.19'} - /inflight/1.0.6: + /inflight@1.0.6: resolution: {integrity: sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==} dependencies: once: 1.4.0 wrappy: 1.0.2 - /inherits/2.0.4: + /inherits@2.0.4: resolution: {integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==} - /internal-slot/1.0.5: + /internal-slot@1.0.5: resolution: {integrity: sha512-Y+R5hJrzs52QCG2laLn4udYVnxsfny9CpOhNhUvk/SSSVyF6T27FzRbF0sroPidSu3X8oEAkOn2K804mjpt6UQ==} engines: {node: '>= 0.4'} dependencies: @@ -2640,7 +2623,7 @@ packages: side-channel: 1.0.4 dev: false - /is-arguments/1.1.1: + /is-arguments@1.1.1: resolution: {integrity: sha512-8Q7EARjzEnKpt/PCD7e1cgUS0a6X8u5tdSiMqXhojOdoV9TsMsiO+9VLC5vAmO8N7/GmXn7yjR8qnA6bVAEzfA==} engines: {node: '>= 0.4'} dependencies: @@ -2648,7 +2631,7 @@ packages: has-tostringtag: 1.0.0 dev: false - /is-array-buffer/3.0.1: + /is-array-buffer@3.0.1: resolution: {integrity: sha512-ASfLknmY8Xa2XtB4wmbz13Wu202baeA18cJBCeCy0wXUHZF0IPyVEXqKEcd+t2fNSLLL1vC6k7lxZEojNbISXQ==} dependencies: call-bind: 1.0.2 @@ -2656,17 +2639,17 @@ packages: is-typed-array: 1.1.10 dev: false - /is-arrayish/0.2.1: + /is-arrayish@0.2.1: resolution: {integrity: sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==} dev: true - /is-bigint/1.0.4: + /is-bigint@1.0.4: resolution: {integrity: sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg==} dependencies: has-bigints: 1.0.2 dev: false - /is-boolean-object/1.1.2: + /is-boolean-object@1.1.2: resolution: {integrity: sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA==} engines: {node: '>= 0.4'} dependencies: @@ -2674,82 +2657,82 @@ packages: has-tostringtag: 1.0.0 dev: false - /is-buffer/2.0.5: + /is-buffer@2.0.5: resolution: {integrity: sha512-i2R6zNFDwgEHJyQUtJEk0XFi1i0dPFn/oqjK3/vPCcDeJvW5NQ83V8QbicfF1SupOaB0h8ntgBC2YiE7dfyctQ==} engines: {node: '>=4'} dev: false - /is-callable/1.2.7: + /is-callable@1.2.7: resolution: {integrity: sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==} engines: {node: '>= 0.4'} dev: false - /is-core-module/2.11.0: + /is-core-module@2.11.0: resolution: {integrity: sha512-RRjxlvLDkD1YJwDbroBHMb+cukurkDWNyHx7D3oNB5x9rb5ogcksMC5wHCadcXoo67gVr/+3GFySh3134zi6rw==} dependencies: has: 1.0.3 - /is-date-object/1.0.5: + /is-date-object@1.0.5: resolution: {integrity: sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ==} engines: {node: '>= 0.4'} dependencies: has-tostringtag: 1.0.0 dev: false - /is-docker/2.2.1: + /is-docker@2.2.1: resolution: {integrity: sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ==} engines: {node: '>=8'} hasBin: true dev: false - /is-extglob/2.1.1: + /is-extglob@2.1.1: resolution: {integrity: sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==} engines: {node: '>=0.10.0'} dev: false - /is-fullwidth-code-point/3.0.0: + /is-fullwidth-code-point@3.0.0: resolution: {integrity: sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==} engines: {node: '>=8'} dev: true - /is-generator-fn/2.1.0: + /is-generator-fn@2.1.0: resolution: {integrity: sha512-cTIB4yPYL/Grw0EaSzASzg6bBy9gqCofvWN8okThAYIxKJZC+udlRAmGbM0XLeniEJSs8uEgHPGuHSe1XsOLSQ==} engines: {node: '>=6'} dev: true - /is-glob/4.0.3: + /is-glob@4.0.3: resolution: {integrity: sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==} engines: {node: '>=0.10.0'} dependencies: is-extglob: 2.1.1 dev: false - /is-map/2.0.2: + /is-map@2.0.2: resolution: {integrity: sha512-cOZFQQozTha1f4MxLFzlgKYPTyj26picdZTx82hbc/Xf4K/tZOOXSCkMvU4pKioRXGDLJRn0GM7Upe7kR721yg==} dev: false - /is-negative-zero/2.0.2: + /is-negative-zero@2.0.2: resolution: {integrity: sha512-dqJvarLawXsFbNDeJW7zAz8ItJ9cd28YufuuFzh0G8pNHjJMnY08Dv7sYX2uF5UpQOwieAeOExEYAWWfu7ZZUA==} engines: {node: '>= 0.4'} dev: false - /is-number-object/1.0.7: + /is-number-object@1.0.7: resolution: {integrity: sha512-k1U0IRzLMo7ZlYIfzRu23Oh6MiIFasgpb9X76eqfFZAqwH44UI4KTBvBYIZ1dSL9ZzChTB9ShHfLkR4pdW5krQ==} engines: {node: '>= 0.4'} dependencies: has-tostringtag: 1.0.0 dev: false - /is-number/7.0.0: + /is-number@7.0.0: resolution: {integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==} engines: {node: '>=0.12.0'} - /is-path-inside/3.0.3: + /is-path-inside@3.0.3: resolution: {integrity: sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==} engines: {node: '>=8'} dev: false - /is-regex/1.1.4: + /is-regex@1.1.4: resolution: {integrity: sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg==} engines: {node: '>= 0.4'} dependencies: @@ -2757,36 +2740,36 @@ packages: has-tostringtag: 1.0.0 dev: false - /is-set/2.0.2: + /is-set@2.0.2: resolution: {integrity: sha512-+2cnTEZeY5z/iXGbLhPrOAaK/Mau5k5eXq9j14CpRTftq0pAJu2MwVRSZhyZWBzx3o6X795Lz6Bpb6R0GKf37g==} dev: false - /is-shared-array-buffer/1.0.2: + /is-shared-array-buffer@1.0.2: resolution: {integrity: sha512-sqN2UDu1/0y6uvXyStCOzyhAjCSlHceFoMKJW8W9EU9cvic/QdsZ0kEU93HEy3IUEFZIiH/3w+AH/UQbPHNdhA==} dependencies: call-bind: 1.0.2 dev: false - /is-stream/2.0.1: + /is-stream@2.0.1: resolution: {integrity: sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==} engines: {node: '>=8'} dev: true - /is-string/1.0.7: + /is-string@1.0.7: resolution: {integrity: sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg==} engines: {node: '>= 0.4'} dependencies: has-tostringtag: 1.0.0 dev: false - /is-symbol/1.0.4: + /is-symbol@1.0.4: resolution: {integrity: sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg==} engines: {node: '>= 0.4'} dependencies: has-symbols: 1.0.3 dev: false - /is-typed-array/1.1.10: + /is-typed-array@1.1.10: resolution: {integrity: sha512-PJqgEHiWZvMpaFZ3uTc8kHPM4+4ADTlDniuQL7cU/UDA0Ql7F70yGfHph3cLNe+c9toaigv+DFzTJKhc2CtO6A==} engines: {node: '>= 0.4'} dependencies: @@ -2797,43 +2780,43 @@ packages: has-tostringtag: 1.0.0 dev: false - /is-weakmap/2.0.1: + /is-weakmap@2.0.1: resolution: {integrity: sha512-NSBR4kH5oVj1Uwvv970ruUkCV7O1mzgVFO4/rev2cLRda9Tm9HrL70ZPut4rOHgY0FNrUu9BCbXA2sdQ+x0chA==} dev: false - /is-weakref/1.0.2: + /is-weakref@1.0.2: resolution: {integrity: sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ==} dependencies: call-bind: 1.0.2 dev: false - /is-weakset/2.0.2: + /is-weakset@2.0.2: resolution: {integrity: sha512-t2yVvttHkQktwnNNmBQ98AhENLdPUTDTE21uPqAQ0ARwQfGeQKRVS0NNurH7bTf7RrvcVn1OOge45CnBeHCSmg==} dependencies: call-bind: 1.0.2 get-intrinsic: 1.2.0 dev: false - /is-wsl/2.2.0: + /is-wsl@2.2.0: resolution: {integrity: sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==} engines: {node: '>=8'} dependencies: is-docker: 2.2.1 dev: false - /isarray/2.0.5: + /isarray@2.0.5: resolution: {integrity: sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==} dev: false - /isexe/2.0.0: + /isexe@2.0.0: resolution: {integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==} - /istanbul-lib-coverage/3.2.0: + /istanbul-lib-coverage@3.2.0: resolution: {integrity: sha512-eOeJ5BHCmHYvQK7xt9GkdHuzuCGS1Y6g9Gvnx3Ym33fz/HpLRYxiS0wHNr+m/MBC8B647Xt608vCDEvhl9c6Mw==} engines: {node: '>=8'} dev: true - /istanbul-lib-instrument/5.2.1: + /istanbul-lib-instrument@5.2.1: resolution: {integrity: sha512-pzqtp31nLv/XFOzXGuvhCb8qhjmTVo5vjVk19XE4CRlSWz0KoeJ3bw9XsA7nOp9YBf4qHjwBxkDzKcME/J29Yg==} engines: {node: '>=8'} dependencies: @@ -2846,7 +2829,7 @@ packages: - supports-color dev: true - /istanbul-lib-report/3.0.0: + /istanbul-lib-report@3.0.0: resolution: {integrity: sha512-wcdi+uAKzfiGT2abPpKZ0hSU1rGQjUQnLvtY5MpQ7QCTahD3VODhcu4wcfY1YtkGaDD5yuydOLINXsfbus9ROw==} engines: {node: '>=8'} dependencies: @@ -2855,7 +2838,7 @@ packages: supports-color: 7.2.0 dev: true - /istanbul-lib-source-maps/4.0.1: + /istanbul-lib-source-maps@4.0.1: resolution: {integrity: sha512-n3s8EwkdFIJCG3BPKBYvskgXGoy88ARzvegkitk60NxRdwltLOTaH7CUiMRXvwYorl0Q712iEjcWB+fK/MrWVw==} engines: {node: '>=10'} dependencies: @@ -2866,7 +2849,7 @@ packages: - supports-color dev: true - /istanbul-reports/3.1.5: + /istanbul-reports@3.1.5: resolution: {integrity: sha512-nUsEMa9pBt/NOHqbcbeJEgqIlY/K7rVWUX6Lql2orY5e9roQOthbR3vtY4zzf2orPELg80fnxxk9zUyPlgwD1w==} engines: {node: '>=8'} dependencies: @@ -2874,11 +2857,11 @@ packages: istanbul-lib-report: 3.0.0 dev: true - /jasmine-core/4.5.0: + /jasmine-core@4.5.0: resolution: {integrity: sha512-9PMzyvhtocxb3aXJVOPqBDswdgyAeSB81QnLop4npOpbqnheaTEwPc9ZloQeVswugPManznQBjD8kWDTjlnHuw==} dev: false - /jasmine/4.5.0: + /jasmine@4.5.0: resolution: {integrity: sha512-9olGRvNZyADIwYL9XBNBst5BTU/YaePzuddK+YRslc7rI9MdTIE4r3xaBKbv2GEmzYYUfMOdTR8/i6JfLZaxSQ==} hasBin: true dependencies: @@ -2886,7 +2869,7 @@ packages: jasmine-core: 4.5.0 dev: false - /jest-changed-files/29.4.3: + /jest-changed-files@29.4.3: resolution: {integrity: sha512-Vn5cLuWuwmi2GNNbokPOEcvrXGSGrqVnPEZV7rC6P7ck07Dyw9RFnvWglnupSh+hGys0ajGtw/bc2ZgweljQoQ==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: @@ -2894,7 +2877,7 @@ packages: p-limit: 3.1.0 dev: true - /jest-circus/29.4.3: + /jest-circus@29.4.3: resolution: {integrity: sha512-Vw/bVvcexmdJ7MLmgdT3ZjkJ3LKu8IlpefYokxiqoZy6OCQ2VAm6Vk3t/qHiAGUXbdbJKJWnc8gH3ypTbB/OBw==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: @@ -2921,7 +2904,7 @@ packages: - supports-color dev: true - /jest-cli/29.4.3_ujxcenvse5zlxdro6vjdmkgl3a: + /jest-cli@29.4.3(@types/node@18.14.1)(ts-node@10.9.1): resolution: {integrity: sha512-PiiAPuFNfWWolCE6t3ZrDXQc6OsAuM3/tVW0u27UWc1KE+n/HSn5dSE6B2juqN7WP+PP0jAcnKtGmI4u8GMYCg==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} hasBin: true @@ -2931,14 +2914,14 @@ packages: node-notifier: optional: true dependencies: - '@jest/core': 29.4.3_ts-node@10.9.1 + '@jest/core': 29.4.3(ts-node@10.9.1) '@jest/test-result': 29.4.3 '@jest/types': 29.4.3 chalk: 4.1.2 exit: 0.1.2 graceful-fs: 4.2.10 import-local: 3.1.0 - jest-config: 29.4.3_ujxcenvse5zlxdro6vjdmkgl3a + jest-config: 29.4.3(@types/node@18.14.1)(ts-node@10.9.1) jest-util: 29.4.3 jest-validate: 29.4.3 prompts: 2.4.2 @@ -2949,7 +2932,7 @@ packages: - ts-node dev: true - /jest-config/29.4.3_ujxcenvse5zlxdro6vjdmkgl3a: + /jest-config@29.4.3(@types/node@18.14.1)(ts-node@10.9.1): resolution: {integrity: sha512-eCIpqhGnIjdUCXGtLhz4gdDoxKSWXKjzNcc5r+0S1GKOp2fwOipx5mRcwa9GB/ArsxJ1jlj2lmlD9bZAsBxaWQ==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} peerDependencies: @@ -2965,7 +2948,7 @@ packages: '@jest/test-sequencer': 29.4.3 '@jest/types': 29.4.3 '@types/node': 18.14.1 - babel-jest: 29.4.3_@babel+core@7.21.0 + babel-jest: 29.4.3(@babel/core@7.21.0) chalk: 4.1.2 ci-info: 3.8.0 deepmerge: 4.3.0 @@ -2984,12 +2967,12 @@ packages: pretty-format: 29.4.3 slash: 3.0.0 strip-json-comments: 3.1.1 - ts-node: 10.9.1_uayvamxqnl5yeiojjysxwopmsy + ts-node: 10.9.1(@types/node@18.14.1)(typescript@4.9.5) transitivePeerDependencies: - supports-color dev: true - /jest-diff/29.4.3: + /jest-diff@29.4.3: resolution: {integrity: sha512-YB+ocenx7FZ3T5O9lMVMeLYV4265socJKtkwgk/6YUz/VsEzYDkiMuMhWzZmxm3wDRQvayJu/PjkjjSkjoHsCA==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: @@ -2999,14 +2982,14 @@ packages: pretty-format: 29.4.3 dev: true - /jest-docblock/29.4.3: + /jest-docblock@29.4.3: resolution: {integrity: sha512-fzdTftThczeSD9nZ3fzA/4KkHtnmllawWrXO69vtI+L9WjEIuXWs4AmyME7lN5hU7dB0sHhuPfcKofRsUb/2Fg==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: detect-newline: 3.1.0 dev: true - /jest-each/29.4.3: + /jest-each@29.4.3: resolution: {integrity: sha512-1ElHNAnKcbJb/b+L+7j0/w7bDvljw4gTv1wL9fYOczeJrbTbkMGQ5iQPFJ3eFQH19VPTx1IyfePdqSpePKss7Q==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: @@ -3017,7 +3000,7 @@ packages: pretty-format: 29.4.3 dev: true - /jest-environment-node/29.4.3: + /jest-environment-node@29.4.3: resolution: {integrity: sha512-gAiEnSKF104fsGDXNkwk49jD/0N0Bqu2K9+aMQXA6avzsA9H3Fiv1PW2D+gzbOSR705bWd2wJZRFEFpV0tXISg==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: @@ -3029,12 +3012,12 @@ packages: jest-util: 29.4.3 dev: true - /jest-get-type/29.4.3: + /jest-get-type@29.4.3: resolution: {integrity: sha512-J5Xez4nRRMjk8emnTpWrlkyb9pfRQQanDrvWHhsR1+VUfbwxi30eVcZFlcdGInRibU4G5LwHXpI7IRHU0CY+gg==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dev: true - /jest-haste-map/29.4.3: + /jest-haste-map@29.4.3: resolution: {integrity: sha512-eZIgAS8tvm5IZMtKlR8Y+feEOMfo2pSQkmNbufdbMzMSn9nitgGxF1waM/+LbryO3OkMcKS98SUb+j/cQxp/vQ==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: @@ -3053,7 +3036,7 @@ packages: fsevents: 2.3.2 dev: true - /jest-leak-detector/29.4.3: + /jest-leak-detector@29.4.3: resolution: {integrity: sha512-9yw4VC1v2NspMMeV3daQ1yXPNxMgCzwq9BocCwYrRgXe4uaEJPAN0ZK37nFBhcy3cUwEVstFecFLaTHpF7NiGA==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: @@ -3061,7 +3044,7 @@ packages: pretty-format: 29.4.3 dev: true - /jest-matcher-utils/29.4.3: + /jest-matcher-utils@29.4.3: resolution: {integrity: sha512-TTciiXEONycZ03h6R6pYiZlSkvYgT0l8aa49z/DLSGYjex4orMUcafuLXYyyEDWB1RKglq00jzwY00Ei7yFNVg==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: @@ -3071,7 +3054,7 @@ packages: pretty-format: 29.4.3 dev: true - /jest-message-util/29.4.3: + /jest-message-util@29.4.3: resolution: {integrity: sha512-1Y8Zd4ZCN7o/QnWdMmT76If8LuDv23Z1DRovBj/vcSFNlGCJGoO8D1nJDw1AdyAGUk0myDLFGN5RbNeJyCRGCw==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: @@ -3086,7 +3069,7 @@ packages: stack-utils: 2.0.6 dev: true - /jest-mock/29.4.3: + /jest-mock@29.4.3: resolution: {integrity: sha512-LjFgMg+xed9BdkPMyIJh+r3KeHt1klXPJYBULXVVAkbTaaKjPX1o1uVCAZADMEp/kOxGTwy/Ot8XbvgItOrHEg==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: @@ -3095,7 +3078,7 @@ packages: jest-util: 29.4.3 dev: true - /jest-pnp-resolver/1.2.3_jest-resolve@29.4.3: + /jest-pnp-resolver@1.2.3(jest-resolve@29.4.3): resolution: {integrity: sha512-+3NpwQEnRoIBtx4fyhblQDPgJI0H1IEIkX7ShLUjPGA7TtUTvI1oiKi3SR4oBR0hQhQR80l4WAe5RrXBwWMA8w==} engines: {node: '>=6'} peerDependencies: @@ -3107,12 +3090,12 @@ packages: jest-resolve: 29.4.3 dev: true - /jest-regex-util/29.4.3: + /jest-regex-util@29.4.3: resolution: {integrity: sha512-O4FglZaMmWXbGHSQInfXewIsd1LMn9p3ZXB/6r4FOkyhX2/iP/soMG98jGvk/A3HAN78+5VWcBGO0BJAPRh4kg==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dev: true - /jest-resolve-dependencies/29.4.3: + /jest-resolve-dependencies@29.4.3: resolution: {integrity: sha512-uvKMZAQ3nmXLH7O8WAOhS5l0iWyT3WmnJBdmIHiV5tBbdaDZ1wqtNX04FONGoaFvSOSHBJxnwAVnSn1WHdGVaw==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: @@ -3122,14 +3105,14 @@ packages: - supports-color dev: true - /jest-resolve/29.4.3: + /jest-resolve@29.4.3: resolution: {integrity: sha512-GPokE1tzguRyT7dkxBim4wSx6E45S3bOQ7ZdKEG+Qj0Oac9+6AwJPCk0TZh5Vu0xzeX4afpb+eDmgbmZFFwpOw==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: chalk: 4.1.2 graceful-fs: 4.2.10 jest-haste-map: 29.4.3 - jest-pnp-resolver: 1.2.3_jest-resolve@29.4.3 + jest-pnp-resolver: 1.2.3(jest-resolve@29.4.3) jest-util: 29.4.3 jest-validate: 29.4.3 resolve: 1.22.1 @@ -3137,7 +3120,7 @@ packages: slash: 3.0.0 dev: true - /jest-runner/29.4.3: + /jest-runner@29.4.3: resolution: {integrity: sha512-GWPTEiGmtHZv1KKeWlTX9SIFuK19uLXlRQU43ceOQ2hIfA5yPEJC7AMkvFKpdCHx6pNEdOD+2+8zbniEi3v3gA==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: @@ -3166,7 +3149,7 @@ packages: - supports-color dev: true - /jest-runtime/29.4.3: + /jest-runtime@29.4.3: resolution: {integrity: sha512-F5bHvxSH+LvLV24vVB3L8K467dt3y3dio6V3W89dUz9nzvTpqd/HcT9zfYKL2aZPvD63vQFgLvaUX/UpUhrP6Q==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: @@ -3196,14 +3179,14 @@ packages: - supports-color dev: true - /jest-snapshot/29.4.3: + /jest-snapshot@29.4.3: resolution: {integrity: sha512-NGlsqL0jLPDW91dz304QTM/SNO99lpcSYYAjNiX0Ou+sSGgkanKBcSjCfp/pqmiiO1nQaOyLp6XQddAzRcx3Xw==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: '@babel/core': 7.21.0 '@babel/generator': 7.21.1 - '@babel/plugin-syntax-jsx': 7.18.6_@babel+core@7.21.0 - '@babel/plugin-syntax-typescript': 7.20.0_@babel+core@7.21.0 + '@babel/plugin-syntax-jsx': 7.18.6(@babel/core@7.21.0) + '@babel/plugin-syntax-typescript': 7.20.0(@babel/core@7.21.0) '@babel/traverse': 7.21.2 '@babel/types': 7.21.2 '@jest/expect-utils': 29.4.3 @@ -3211,7 +3194,7 @@ packages: '@jest/types': 29.4.3 '@types/babel__traverse': 7.18.3 '@types/prettier': 2.7.2 - babel-preset-current-node-syntax: 1.0.1_@babel+core@7.21.0 + babel-preset-current-node-syntax: 1.0.1(@babel/core@7.21.0) chalk: 4.1.2 expect: 29.4.3 graceful-fs: 4.2.10 @@ -3228,7 +3211,7 @@ packages: - supports-color dev: true - /jest-util/29.4.3: + /jest-util@29.4.3: resolution: {integrity: sha512-ToSGORAz4SSSoqxDSylWX8JzkOQR7zoBtNRsA7e+1WUX5F8jrOwaNpuh1YfJHJKDHXLHmObv5eOjejUd+/Ws+Q==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: @@ -3240,7 +3223,7 @@ packages: picomatch: 2.3.1 dev: true - /jest-validate/29.4.3: + /jest-validate@29.4.3: resolution: {integrity: sha512-J3u5v7aPQoXPzaar6GndAVhdQcZr/3osWSgTeKg5v574I9ybX/dTyH0AJFb5XgXIB7faVhf+rS7t4p3lL9qFaw==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: @@ -3252,7 +3235,7 @@ packages: pretty-format: 29.4.3 dev: true - /jest-watcher/29.4.3: + /jest-watcher@29.4.3: resolution: {integrity: sha512-zwlXH3DN3iksoIZNk73etl1HzKyi5FuQdYLnkQKm5BW4n8HpoG59xSwpVdFrnh60iRRaRBGw0gcymIxjJENPcA==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: @@ -3266,7 +3249,7 @@ packages: string-length: 4.0.2 dev: true - /jest-worker/29.4.3: + /jest-worker@29.4.3: resolution: {integrity: sha512-GLHN/GTAAMEy5BFdvpUfzr9Dr80zQqBrh0fz1mtRMe05hqP45+HfQltu7oTBfduD0UeZs09d+maFtFYAXFWvAA==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: @@ -3276,7 +3259,7 @@ packages: supports-color: 8.1.1 dev: true - /jest/29.4.3_ujxcenvse5zlxdro6vjdmkgl3a: + /jest@29.4.3(@types/node@18.14.1)(ts-node@10.9.1): resolution: {integrity: sha512-XvK65feuEFGZT8OO0fB/QAQS+LGHvQpaadkH5p47/j3Ocqq3xf2pK9R+G0GzgfuhXVxEv76qCOOcMb5efLk6PA==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} hasBin: true @@ -3286,28 +3269,28 @@ packages: node-notifier: optional: true dependencies: - '@jest/core': 29.4.3_ts-node@10.9.1 + '@jest/core': 29.4.3(ts-node@10.9.1) '@jest/types': 29.4.3 import-local: 3.1.0 - jest-cli: 29.4.3_ujxcenvse5zlxdro6vjdmkgl3a + jest-cli: 29.4.3(@types/node@18.14.1)(ts-node@10.9.1) transitivePeerDependencies: - '@types/node' - supports-color - ts-node dev: true - /js-sdsl/4.3.0: + /js-sdsl@4.3.0: resolution: {integrity: sha512-mifzlm2+5nZ+lEcLJMoBK0/IH/bDg8XnJfd/Wq6IP+xoCjLZsTOnV2QpxlVbX9bMnkl5PdEjNtBJ9Cj1NjifhQ==} dev: false - /js-sorted-set/0.7.0: + /js-sorted-set@0.7.0: resolution: {integrity: sha512-NGTSMeoLNYR2BoTLhQ6w+u7Ox4PO34omb/0OBCy4gyedWeXolMGv948Ato0/Of6tfxsAjeySDymCkAj93/xkeA==} dev: false - /js-tokens/4.0.0: + /js-tokens@4.0.0: resolution: {integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==} - /js-yaml/3.14.1: + /js-yaml@3.14.1: resolution: {integrity: sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==} hasBin: true dependencies: @@ -3315,51 +3298,49 @@ packages: esprima: 4.0.1 dev: true - /js-yaml/4.1.0: + /js-yaml@4.1.0: resolution: {integrity: sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==} hasBin: true dependencies: argparse: 2.0.1 dev: false - /jsesc/2.5.2: + /jsesc@2.5.2: resolution: {integrity: sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==} engines: {node: '>=4'} hasBin: true - dev: true - /json-parse-even-better-errors/2.3.1: + /json-parse-even-better-errors@2.3.1: resolution: {integrity: sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==} dev: true - /json-rql/0.6.2: + /json-rql@0.6.2: resolution: {integrity: sha512-dqLgj4wcaP39gf+NPP79y/9FCknyo9RWvWgGtFEnyqeDihyFGa1X4/UP2IeVVmvp68+9NCO/3w/JwVvKPX2W6Q==} dependencies: '@types/jsonld': 1.5.8 dev: false - /json-schema-traverse/0.4.1: + /json-schema-traverse@0.4.1: resolution: {integrity: sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==} dev: false - /json-stable-stringify-without-jsonify/1.0.1: + /json-stable-stringify-without-jsonify@1.0.1: resolution: {integrity: sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==} dev: false - /json5/1.0.2: + /json5@1.0.2: resolution: {integrity: sha512-g1MWMLBiz8FKi1e4w0UyVL3w+iJceWAFBAaBnnGKOpNa5f8TLktkbre1+s6oICydWAm+HRUGTmI+//xv2hvXYA==} hasBin: true dependencies: minimist: 1.2.8 dev: false - /json5/2.2.3: + /json5@2.2.3: resolution: {integrity: sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==} engines: {node: '>=6'} hasBin: true - dev: true - /jsonld/8.1.1: + /jsonld@8.1.1: resolution: {integrity: sha512-TbtV1hlnoDYxbscazbxcS7seDGV+pc0yktxpMySh0OBFvnLw/TIth0jiQtP/9r+ywuCbtj10XjDNBIkRgiyeUg==} engines: {node: '>=14'} dependencies: @@ -3371,7 +3352,7 @@ packages: - web-streams-polyfill dev: false - /jsx-ast-utils/3.3.3: + /jsx-ast-utils@3.3.3: resolution: {integrity: sha512-fYQHZTZ8jSfmWZ0iyzfwiU4WDX4HpHbMCZ3gPlWYiCl3BoeOTsqKBqnTVfH2rYT7eP5c3sVbeSPHnnJOaTrWiw==} engines: {node: '>=4.0'} dependencies: @@ -3379,12 +3360,12 @@ packages: object.assign: 4.1.4 dev: false - /kleur/3.0.3: + /kleur@3.0.3: resolution: {integrity: sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w==} engines: {node: '>=6'} dev: true - /ky-universal/0.11.0_ky@0.33.3: + /ky-universal@0.11.0(ky@0.33.3): resolution: {integrity: sha512-65KyweaWvk+uKKkCrfAf+xqN2/epw1IJDtlyCPxYffFCMR8u1sp2U65NtWpnozYfZxQ6IUzIlvUcw+hQ82U2Xw==} engines: {node: '>=14.16'} peerDependencies: @@ -3399,27 +3380,27 @@ packages: node-fetch: 3.3.1 dev: false - /ky/0.33.3: + /ky@0.33.3: resolution: {integrity: sha512-CasD9OCEQSFIam2U8efFK81Yeg8vNMTBUqtMOHlrcWQHqUX3HeCl9Dr31u4toV7emlH8Mymk5+9p0lL6mKb/Xw==} engines: {node: '>=14.16'} dev: false - /language-subtag-registry/0.3.22: + /language-subtag-registry@0.3.22: resolution: {integrity: sha512-tN0MCzyWnoz/4nHS6uxdlFWoUZT7ABptwKPQ52Ea7URk6vll88bWBVhodtnlfEuCcKWNGoc+uGbw1cwa9IKh/w==} dev: false - /language-tags/1.0.5: + /language-tags@1.0.5: resolution: {integrity: sha512-qJhlO9cGXi6hBGKoxEG/sKZDAHD5Hnu9Hs4WbOY3pCWXDhw0N8x1NenNzm2EnNLkLkk7J2SdxAkDSbb6ftT+UQ==} dependencies: language-subtag-registry: 0.3.22 dev: false - /level-supports/4.0.1: + /level-supports@4.0.1: resolution: {integrity: sha512-PbXpve8rKeNcZ9C1mUicC9auIYFyGpkV9/i6g76tLgANwWhtG2v7I4xNBUlkn3lE2/dZF3Pi0ygYGtLc4RXXdA==} engines: {node: '>=12'} dev: false - /level-transcoder/1.0.1: + /level-transcoder@1.0.1: resolution: {integrity: sha512-t7bFwFtsQeD8cl8NIoQ2iwxA0CL/9IFw7/9gAjOonH0PWTTiRfY7Hq+Ejbsxh86tXobDQ6IOiddjNYIfOBs06w==} engines: {node: '>=12'} dependencies: @@ -3427,12 +3408,12 @@ packages: module-error: 1.0.2 dev: false - /leven/3.1.0: + /leven@3.1.0: resolution: {integrity: sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A==} engines: {node: '>=6'} dev: true - /levn/0.4.1: + /levn@0.4.1: resolution: {integrity: sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==} engines: {node: '>= 0.8.0'} dependencies: @@ -3440,74 +3421,73 @@ packages: type-check: 0.4.0 dev: false - /lines-and-columns/1.2.4: + /lines-and-columns@1.2.4: resolution: {integrity: sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==} dev: true - /locate-path/5.0.0: + /locate-path@5.0.0: resolution: {integrity: sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==} engines: {node: '>=8'} dependencies: p-locate: 4.1.0 dev: true - /locate-path/6.0.0: + /locate-path@6.0.0: resolution: {integrity: sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==} engines: {node: '>=10'} dependencies: p-locate: 5.0.0 dev: false - /lodash.merge/4.6.2: + /lodash.merge@4.6.2: resolution: {integrity: sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==} dev: false - /loglevel/1.8.1: + /loglevel@1.8.1: resolution: {integrity: sha512-tCRIJM51SHjAayKwC+QAg8hT8vg6z7GSgLJKGvzuPb1Wc+hLzqtuVLxp6/HzSPOozuK+8ErAhy7U/sVzw8Dgfg==} engines: {node: '>= 0.6.0'} dev: false - /loose-envify/1.4.0: + /loose-envify@1.4.0: resolution: {integrity: sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==} hasBin: true dependencies: js-tokens: 4.0.0 dev: false - /lru-cache/5.1.1: + /lru-cache@5.1.1: resolution: {integrity: sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==} dependencies: yallist: 3.1.1 - dev: true - /lru-cache/6.0.0: + /lru-cache@6.0.0: resolution: {integrity: sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==} engines: {node: '>=10'} dependencies: yallist: 4.0.0 - /make-dir/3.1.0: + /make-dir@3.1.0: resolution: {integrity: sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==} engines: {node: '>=8'} dependencies: semver: 6.3.0 dev: true - /make-error/1.3.6: + /make-error@1.3.6: resolution: {integrity: sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==} dev: true - /makeerror/1.0.12: + /makeerror@1.0.12: resolution: {integrity: sha512-JmqCvUhmt43madlpFzG4BQzG2Z3m6tvQDNKdClZnO3VbIudJYmxsT0FNJMeiB2+JTSlTQTSbU8QdesVmwJcmLg==} dependencies: tmpl: 1.0.5 dev: true - /marky/1.2.5: + /marky@1.2.5: resolution: {integrity: sha512-q9JtQJKjpsVxCRVgQ+WapguSbKC3SQ5HEzFGPAJMStgh3QjCawp00UKv3MTTAArTmGmmPUvllHZoNbZ3gs0I+Q==} dev: false - /memory-level/1.0.0: + /memory-level@1.0.0: resolution: {integrity: sha512-UXzwewuWeHBz5krr7EvehKcmLFNoXxGcvuYhC41tRnkrTbJohtS7kVn9akmgirtRygg+f7Yjsfi8Uu5SGSQ4Og==} engines: {node: '>=12'} dependencies: @@ -3516,63 +3496,63 @@ packages: module-error: 1.0.2 dev: false - /merge-stream/2.0.0: + /merge-stream@2.0.0: resolution: {integrity: sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==} dev: true - /merge2/1.4.1: + /merge2@1.4.1: resolution: {integrity: sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==} engines: {node: '>= 8'} dev: false - /micromatch/4.0.5: + /micromatch@4.0.5: resolution: {integrity: sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==} engines: {node: '>=8.6'} dependencies: braces: 3.0.2 picomatch: 2.3.1 - /mimic-fn/2.1.0: + /mimic-fn@2.1.0: resolution: {integrity: sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==} engines: {node: '>=6'} dev: true - /minimalistic-assert/1.0.1: + /minimalistic-assert@1.0.1: resolution: {integrity: sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A==} dev: false - /minimatch/3.1.2: + /minimatch@3.1.2: resolution: {integrity: sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==} dependencies: brace-expansion: 1.1.11 - /minimist/1.2.8: + /minimist@1.2.8: resolution: {integrity: sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==} dev: false - /module-error/1.0.2: + /module-error@1.0.2: resolution: {integrity: sha512-0yuvsqSCv8LbaOKhnsQ/T5JhyFlCYLPXK3U2sgV10zoKQwzs/MyfuQUOZQ1V/6OCOJsK/TRgNVrPuPDqtdMFtA==} engines: {node: '>=10'} dev: false - /mqtt-match/1.0.3: + /mqtt-match@1.0.3: resolution: {integrity: sha512-nfeAp+chyjVeIvvrgMhQCfDAIVp/zXX8rtxHQwuAWuapqAdFs1F0kIekG445ps3xs/qFPK6l2xRlAyiqqwbmrQ==} dev: false - /mqtt-pattern/1.2.0: + /mqtt-pattern@1.2.0: resolution: {integrity: sha512-5tvJTrMXcvAWRc4J+YW0pnZOLi20yXFX1R7cjB0291X9aRFPyO+5vbh/kHVwUlNPfJuwijcvrd/AmwDLe1021w==} dependencies: mqtt-match: 1.0.3 dev: false - /ms/2.1.2: + /ms@2.1.2: resolution: {integrity: sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==} - /ms/2.1.3: + /ms@2.1.3: resolution: {integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==} dev: false - /n3/1.16.3: + /n3@1.16.3: resolution: {integrity: sha512-9caLSZuMW1kdlPxEN4ka6E4E8a5QKoZ2emxpW+zHMofI+Bo92nJhN//wNub15S5T9I4c6saEqdGEu+YXJqMZVA==} engines: {node: '>=12.0'} dependencies: @@ -3580,16 +3560,16 @@ packages: readable-stream: 4.3.0 dev: false - /nanoid/3.3.4: + /nanoid@3.3.4: resolution: {integrity: sha512-MqBkQh/OHTS2egovRtLk45wEyNXwF+cokD+1YPf9u5VfJiRdAiRwB2froX5Co9Rh20xs4siNPm8naNotSD6RBw==} engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1} hasBin: true dev: false - /natural-compare/1.4.0: + /natural-compare@1.4.0: resolution: {integrity: sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==} - /next/13.2.1_biqbaboplfbrettd7655fr4n2y: + /next@13.2.1(@babel/core@7.21.0)(react-dom@18.2.0)(react@18.2.0): resolution: {integrity: sha512-qhgJlDtG0xidNViJUPeQHLGJJoT4zDj/El7fP3D3OzpxJDUfxsm16cK4WTMyvSX1ciIfAq05u+0HqFAa+VJ+Hg==} engines: {node: '>=14.6.0'} hasBin: true @@ -3615,8 +3595,8 @@ packages: caniuse-lite: 1.0.30001457 postcss: 8.4.14 react: 18.2.0 - react-dom: 18.2.0_react@18.2.0 - styled-jsx: 5.1.1_react@18.2.0 + react-dom: 18.2.0(react@18.2.0) + styled-jsx: 5.1.1(@babel/core@7.21.0)(react@18.2.0) optionalDependencies: '@next/swc-android-arm-eabi': 13.2.1 '@next/swc-android-arm64': 13.2.1 @@ -3636,12 +3616,12 @@ packages: - babel-plugin-macros dev: false - /node-domexception/1.0.0: + /node-domexception@1.0.0: resolution: {integrity: sha512-/jKZoMpw0F8GRwl4/eLROPA3cfcXtLApP0QzLmUT/HuPCZWyB7IY9ZrMeKw2O/nFIqPQB3PVM9aYm0F312AXDQ==} engines: {node: '>=10.5.0'} dev: false - /node-fetch/2.6.9: + /node-fetch@2.6.9: resolution: {integrity: sha512-DJm/CJkZkRjKKj4Zi4BsKVZh3ValV5IR5s7LVZnW+6YMh0W1BfNA8XSs6DLMGYlId5F3KnA70uu2qepcR08Qqg==} engines: {node: 4.x || >=6.0.0} peerDependencies: @@ -3653,7 +3633,7 @@ packages: whatwg-url: 5.0.0 dev: false - /node-fetch/3.3.1: + /node-fetch@3.3.1: resolution: {integrity: sha512-cRVc/kyto/7E5shrWca1Wsea4y6tL9iYJE5FBCius3JQfb/4P4I295PfhgbJQBLTx6lATE4z+wK0rPM4VS2uow==} engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} dependencies: @@ -3662,36 +3642,35 @@ packages: formdata-polyfill: 4.0.10 dev: false - /node-int64/0.4.0: + /node-int64@0.4.0: resolution: {integrity: sha512-O5lz91xSOeoXP6DulyHfllpq+Eg00MWitZIbtPfoSEvqIHdl5gfcY6hYzDWnj0qD5tz52PI08u9qUvSVeUBeHw==} dev: true - /node-releases/2.0.10: + /node-releases@2.0.10: resolution: {integrity: sha512-5GFldHPXVG/YZmFzJvKK2zDSzPKhEp0+ZR5SVaoSag9fsL5YgHbUHDfnG5494ISANDcK4KwPXAx2xqVEydmd7w==} - dev: true - /normalize-path/3.0.0: + /normalize-path@3.0.0: resolution: {integrity: sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==} engines: {node: '>=0.10.0'} dev: true - /npm-run-path/4.0.1: + /npm-run-path@4.0.1: resolution: {integrity: sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==} engines: {node: '>=8'} dependencies: path-key: 3.1.1 dev: true - /object-assign/4.1.1: + /object-assign@4.1.1: resolution: {integrity: sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==} engines: {node: '>=0.10.0'} dev: false - /object-inspect/1.12.3: + /object-inspect@1.12.3: resolution: {integrity: sha512-geUvdk7c+eizMNUDkRpW1wJwgfOiOeHbxBR/hLXK1aT6zmVSO0jsQcs7fj6MGw89jC/cjGfLcNOrtMYtGqm81g==} dev: false - /object-is/1.1.5: + /object-is@1.1.5: resolution: {integrity: sha512-3cyDsyHgtmi7I7DfSSI2LDp6SK2lwvtbg0p0R1e0RvTqF5ceGx+K2dfSjm1bKDMVCFEDAQvy+o8c6a7VujOddw==} engines: {node: '>= 0.4'} dependencies: @@ -3699,12 +3678,12 @@ packages: define-properties: 1.2.0 dev: false - /object-keys/1.1.1: + /object-keys@1.1.1: resolution: {integrity: sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==} engines: {node: '>= 0.4'} dev: false - /object.assign/4.1.4: + /object.assign@4.1.4: resolution: {integrity: sha512-1mxKf0e58bvyjSCtKYY4sRe9itRk3PJpquJOjeIkz885CczcI4IvJJDLPS72oowuSh+pBxUFROpX+TU++hxhZQ==} engines: {node: '>= 0.4'} dependencies: @@ -3714,7 +3693,7 @@ packages: object-keys: 1.1.1 dev: false - /object.entries/1.1.6: + /object.entries@1.1.6: resolution: {integrity: sha512-leTPzo4Zvg3pmbQ3rDK69Rl8GQvIqMWubrkxONG9/ojtFE2rD9fjMKfSI5BxW3osRH1m6VdzmqK8oAY9aT4x5w==} engines: {node: '>= 0.4'} dependencies: @@ -3723,7 +3702,7 @@ packages: es-abstract: 1.21.1 dev: false - /object.fromentries/2.0.6: + /object.fromentries@2.0.6: resolution: {integrity: sha512-VciD13dswC4j1Xt5394WR4MzmAQmlgN72phd/riNp9vtD7tp4QQWJ0R4wvclXcafgcYK8veHRed2W6XeGBvcfg==} engines: {node: '>= 0.4'} dependencies: @@ -3732,14 +3711,14 @@ packages: es-abstract: 1.21.1 dev: false - /object.hasown/1.1.2: + /object.hasown@1.1.2: resolution: {integrity: sha512-B5UIT3J1W+WuWIU55h0mjlwaqxiE5vYENJXIXZ4VFe05pNYrkKuK0U/6aFcb0pKywYJh7IhfoqUfKVmrJJHZHw==} dependencies: define-properties: 1.2.0 es-abstract: 1.21.1 dev: false - /object.values/1.1.6: + /object.values@1.1.6: resolution: {integrity: sha512-FVVTkD1vENCsAcwNs9k6jea2uHC/X0+JcjG8YA60FN5CMaJmG95wT9jek/xX9nornqGRrBkKtzuAu2wuHpKqvw==} engines: {node: '>= 0.4'} dependencies: @@ -3748,19 +3727,19 @@ packages: es-abstract: 1.21.1 dev: false - /once/1.4.0: + /once@1.4.0: resolution: {integrity: sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==} dependencies: wrappy: 1.0.2 - /onetime/5.1.2: + /onetime@5.1.2: resolution: {integrity: sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==} engines: {node: '>=6'} dependencies: mimic-fn: 2.1.0 dev: true - /open/8.4.2: + /open@8.4.2: resolution: {integrity: sha512-7x81NCL719oNbsq/3mh+hVrAWmFuEYUqrq/Iw3kUzH8ReypT9QQ0BLoJS7/G9k6N81XjW4qHWtjWwe/9eLy1EQ==} engines: {node: '>=12'} dependencies: @@ -3769,7 +3748,7 @@ packages: is-wsl: 2.2.0 dev: false - /optionator/0.9.1: + /optionator@0.9.1: resolution: {integrity: sha512-74RlY5FCnhq4jRxVUPKDaRwrVNXMqsGsiW6AJw4XK8hmtm10wC0ypZBLw5IIp85NZMr91+qd1RvvENwg7jjRFw==} engines: {node: '>= 0.8.0'} dependencies: @@ -3781,46 +3760,46 @@ packages: word-wrap: 1.2.3 dev: false - /p-limit/2.3.0: + /p-limit@2.3.0: resolution: {integrity: sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==} engines: {node: '>=6'} dependencies: p-try: 2.2.0 dev: true - /p-limit/3.1.0: + /p-limit@3.1.0: resolution: {integrity: sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==} engines: {node: '>=10'} dependencies: yocto-queue: 0.1.0 - /p-locate/4.1.0: + /p-locate@4.1.0: resolution: {integrity: sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==} engines: {node: '>=8'} dependencies: p-limit: 2.3.0 dev: true - /p-locate/5.0.0: + /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: false - /p-try/2.2.0: + /p-try@2.2.0: resolution: {integrity: sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==} engines: {node: '>=6'} dev: true - /parent-module/1.0.1: + /parent-module@1.0.1: resolution: {integrity: sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==} engines: {node: '>=6'} dependencies: callsites: 3.1.0 dev: false - /parse-json/5.2.0: + /parse-json@5.2.0: resolution: {integrity: sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==} engines: {node: '>=8'} dependencies: @@ -3830,46 +3809,46 @@ packages: lines-and-columns: 1.2.4 dev: true - /path-exists/4.0.0: + /path-exists@4.0.0: resolution: {integrity: sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==} engines: {node: '>=8'} - /path-is-absolute/1.0.1: + /path-is-absolute@1.0.1: resolution: {integrity: sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==} engines: {node: '>=0.10.0'} - /path-key/3.1.1: + /path-key@3.1.1: resolution: {integrity: sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==} engines: {node: '>=8'} - /path-parse/1.0.7: + /path-parse@1.0.7: resolution: {integrity: sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==} - /path-type/4.0.0: + /path-type@4.0.0: resolution: {integrity: sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==} engines: {node: '>=8'} dev: false - /picocolors/1.0.0: + /picocolors@1.0.0: resolution: {integrity: sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==} - /picomatch/2.3.1: + /picomatch@2.3.1: resolution: {integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==} engines: {node: '>=8.6'} - /pirates/4.0.5: + /pirates@4.0.5: resolution: {integrity: sha512-8V9+HQPupnaXMA23c5hvl69zXvTwTzyAYasnkb0Tts4XvO4CliqONMOnvlq26rkhLC3nWDFBJf73LU1e1VZLaQ==} engines: {node: '>= 6'} dev: true - /pkg-dir/4.2.0: + /pkg-dir@4.2.0: resolution: {integrity: sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==} engines: {node: '>=8'} dependencies: find-up: 4.1.0 dev: true - /postcss/8.4.14: + /postcss@8.4.14: resolution: {integrity: sha512-E398TUmfAYFPBSdzgeieK2Y1+1cpdxJx8yXbK/m57nRhKSmk1GB2tO4lbLBtlkfPQTDKfe4Xqv1ASWPpayPEig==} engines: {node: ^10 || ^12 || >=14} dependencies: @@ -3878,12 +3857,12 @@ packages: source-map-js: 1.0.2 dev: false - /prelude-ls/1.2.1: + /prelude-ls@1.2.1: resolution: {integrity: sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==} engines: {node: '>= 0.8.0'} dev: false - /pretty-format/29.4.3: + /pretty-format@29.4.3: resolution: {integrity: sha512-cvpcHTc42lcsvOOAzd3XuNWTcvk1Jmnzqeu+WsOuiPmxUJTnkbAcFNsRKvEpBEUFVUgy/GTZLulZDcDEi+CIlA==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: @@ -3892,12 +3871,12 @@ packages: react-is: 18.2.0 dev: true - /process/0.11.10: + /process@0.11.10: resolution: {integrity: sha512-cdGef/drWFoydD1JsMzuFf8100nZl+GT+yacc2bEced5f9Rjk4z+WtFUTBu9PhOi9j/jfmBPu0mMEY4wIdAF8A==} engines: {node: '>= 0.6.0'} dev: false - /prompts/2.4.2: + /prompts@2.4.2: resolution: {integrity: sha512-NxNv/kLguCA7p3jE8oL2aEBsrJWgAakBpgmgK6lpPWV+WuOmY6r2/zbAVnP+T8bQlA0nzHXSJSJW0Hq7ylaD2Q==} engines: {node: '>= 6'} dependencies: @@ -3905,7 +3884,7 @@ packages: sisteransi: 1.0.5 dev: true - /prop-types/15.8.1: + /prop-types@15.8.1: resolution: {integrity: sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg==} dependencies: loose-envify: 1.4.0 @@ -3913,16 +3892,16 @@ packages: react-is: 16.13.1 dev: false - /punycode/2.3.0: + /punycode@2.3.0: resolution: {integrity: sha512-rRV+zQD8tVFys26lAGR9WUuS4iUAngJScM+ZRSKtvl5tKeZ2t5bvdNFdNHBW9FWR4guGHlgmsZ1G7BSm2wTbuA==} engines: {node: '>=6'} dev: false - /pure-rand/6.0.0: + /pure-rand@6.0.0: resolution: {integrity: sha512-rLSBxJjP+4DQOgcJAx6RZHT2he2pkhQdSnofG5VWyVl6GRq/K02ISOuOLcsMOrtKDIJb8JN2zm3FFzWNbezdPw==} dev: true - /quadstore-comunica/3.0.9_fi4pvxddzqprxeech4oagnd2lm: + /quadstore-comunica@3.0.9(asynciterator@3.8.0)(quadstore@11.0.8): resolution: {integrity: sha512-GNZ0BaYsBjLuTNojkEkEXXnZmfz5nnWfYNEGX6i7f0IHZ3dH0ZVXCqKtFF8eOJS/o0Vpj3ICDSUkBsKPqohnpQ==} engines: {node: '>=14.0.0'} peerDependencies: @@ -3936,7 +3915,7 @@ packages: sparqljs: 3.6.2 dev: false - /quadstore/11.0.8: + /quadstore@11.0.8: resolution: {integrity: sha512-800SGrQHtkxY7MDQZYkvpkTaUuQ+1hu6N79cLEOyayw0F1j4TzMk7+K4FRBAxJK5kJjjGbMvCdCYN0SBCEWB5w==} engines: {node: '>=14.0.0'} dependencies: @@ -3946,24 +3925,24 @@ packages: js-sorted-set: 0.7.0 dev: false - /queue-microtask/1.2.3: + /queue-microtask@1.2.3: resolution: {integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==} dev: false - /rdf-canonize/3.3.0: + /rdf-canonize@3.3.0: resolution: {integrity: sha512-gfSNkMua/VWC1eYbSkVaL/9LQhFeOh0QULwv7Or0f+po8pMgQ1blYQFe1r9Mv2GJZXw88Cz/drnAnB9UlNnHfQ==} engines: {node: '>=12'} dependencies: setimmediate: 1.0.5 dev: false - /rdf-data-factory/1.1.1: + /rdf-data-factory@1.1.1: resolution: {integrity: sha512-0HoLx7lbBlNd2YTmNKin0txgiYmAV56eVU823at8cG2+iD0Ia5kcRNDpzZy6I/HCtFTymHvTfdhHTzm3ak3Jpw==} dependencies: '@rdfjs/types': 1.1.0 dev: false - /rdf-isomorphic/1.3.1: + /rdf-isomorphic@1.3.1: resolution: {integrity: sha512-6uIhsXTVp2AtO6f41PdnRV5xZsa0zVZQDTBdn0br+DZuFf5M/YD+T6m8hKDUnALI6nFL/IujTMLgEs20MlNidQ==} dependencies: '@rdfjs/types': 1.1.0 @@ -3972,19 +3951,19 @@ packages: rdf-terms: 1.9.1 dev: false - /rdf-js/4.0.2: + /rdf-js@4.0.2: resolution: {integrity: sha512-ApvlFa/WsQh8LpPK/6hctQwG06Z9ztQQGWVtrcrf9L6+sejHNXLPOqL+w7q3hF+iL0C4sv3AX1PUtGkLNzyZ0Q==} dependencies: '@rdfjs/types': 1.1.0 - /rdf-string/1.6.3: + /rdf-string@1.6.3: resolution: {integrity: sha512-HIVwQ2gOqf+ObsCLSUAGFZMIl3rh9uGcRf1KbM85UDhKqP+hy6qj7Vz8FKt3GA54RiThqK3mNcr66dm1LP0+6g==} dependencies: '@rdfjs/types': 1.1.0 rdf-data-factory: 1.1.1 dev: false - /rdf-terms/1.9.1: + /rdf-terms@1.9.1: resolution: {integrity: sha512-GrE8CbQSvuVEFRCywMu6VOgV1AFE6X+nFYcAhEc5pwYKI13bUvz4voiVufQiy3V8rzQKu21Sgl+dS2qcJavy7w==} dependencies: '@rdfjs/types': 1.1.0 @@ -3992,7 +3971,7 @@ packages: rdf-string: 1.6.3 dev: false - /react-dom/18.2.0_react@18.2.0: + /react-dom@18.2.0(react@18.2.0): resolution: {integrity: sha512-6IMTriUmvsjHUjNtEDudZfuDQUoWXVxKHhlEGSk81n4YFS+r/Kl99wXiwlVXtPBtJenozv2P+hxDsw9eA7Xo6g==} peerDependencies: react: ^18.2.0 @@ -4002,22 +3981,22 @@ packages: scheduler: 0.23.0 dev: false - /react-is/16.13.1: + /react-is@16.13.1: resolution: {integrity: sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==} dev: false - /react-is/18.2.0: + /react-is@18.2.0: resolution: {integrity: sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==} dev: true - /react/18.2.0: + /react@18.2.0: resolution: {integrity: sha512-/3IjMdb2L9QbBdWiW5e3P2/npwMBaU9mHCSCUzNln0ZCYbcfTsGbTJrU/kGemdH2IWmB2ioZ+zkxtmq6g09fGQ==} engines: {node: '>=0.10.0'} dependencies: loose-envify: 1.4.0 dev: false - /readable-stream/4.3.0: + /readable-stream@4.3.0: resolution: {integrity: sha512-MuEnA0lbSi7JS8XM+WNJlWZkHAAdm7gETHdFK//Q/mChGyj2akEFtdLZh32jSdkWGbRwCW9pn6g3LWDdDeZnBQ==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} dependencies: @@ -4027,15 +4006,15 @@ packages: process: 0.11.10 dev: false - /reflect-metadata/0.1.13: + /reflect-metadata@0.1.13: resolution: {integrity: sha512-Ts1Y/anZELhSsjMcU605fU9RE4Oi3p5ORujwbIKXfWa+0Zxs510Qrmrce5/Jowq3cHSZSJqBjypxmHarc+vEWg==} dev: false - /regenerator-runtime/0.13.11: + /regenerator-runtime@0.13.11: resolution: {integrity: sha512-kY1AZVr2Ra+t+piVaJ4gxaFaReZVH40AKNo7UCX6W+dEwBo/2oZJzqfuN1qLq1oL45o56cPaTXELwrTh8Fpggg==} dev: false - /regexp.prototype.flags/1.4.3: + /regexp.prototype.flags@1.4.3: resolution: {integrity: sha512-fjggEOO3slI6Wvgjwflkc4NFRCTZAu5CnNfBd5qOMYhWdn67nJBBu34/TkD++eeFmd8C9r9jfXJ27+nSiRkSUA==} engines: {node: '>= 0.4'} dependencies: @@ -4044,39 +4023,39 @@ packages: functions-have-names: 1.2.3 dev: false - /regexpp/3.2.0: + /regexpp@3.2.0: resolution: {integrity: sha512-pq2bWo9mVD43nbts2wGv17XLiNLya+GklZ8kaDLV2Z08gDCsGpnKn9BFMepvWuHCbyVvY7J5o5+BVvoQbmlJLg==} engines: {node: '>=8'} dev: false - /require-directory/2.1.1: + /require-directory@2.1.1: resolution: {integrity: sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==} engines: {node: '>=0.10.0'} dev: true - /resolve-cwd/3.0.0: + /resolve-cwd@3.0.0: resolution: {integrity: sha512-OrZaX2Mb+rJCpH/6CpSqt9xFVpN++x01XnN2ie9g6P5/3xelLAkXWVADpdz1IHD/KFfEXyE6V0U01OQ3UO2rEg==} engines: {node: '>=8'} dependencies: resolve-from: 5.0.0 dev: true - /resolve-from/4.0.0: + /resolve-from@4.0.0: resolution: {integrity: sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==} engines: {node: '>=4'} dev: false - /resolve-from/5.0.0: + /resolve-from@5.0.0: resolution: {integrity: sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==} engines: {node: '>=8'} dev: true - /resolve.exports/2.0.0: + /resolve.exports@2.0.0: resolution: {integrity: sha512-6K/gDlqgQscOlg9fSRpWstA8sYe8rbELsSTNpx+3kTrsVCzvSl0zIvRErM7fdl9ERWDsKnrLnwB+Ne89918XOg==} engines: {node: '>=10'} dev: true - /resolve/1.22.1: + /resolve@1.22.1: resolution: {integrity: sha512-nBpuuYuY5jFsli/JIs1oldw6fOQCBioohqWZg/2hiaOybXOft4lonv85uDOKXdf8rhyK159cxU5cDcK/NKk8zw==} hasBin: true dependencies: @@ -4084,7 +4063,7 @@ packages: path-parse: 1.0.7 supports-preserve-symlinks-flag: 1.0.0 - /resolve/2.0.0-next.4: + /resolve@2.0.0-next.4: resolution: {integrity: sha512-iMDbmAWtfU+MHpxt/I5iWI7cY6YVEZUQ3MBgPQ++XD1PELuJHIl82xBmObyP2KyQmkNB2dsqF7seoQQiAn5yDQ==} hasBin: true dependencies: @@ -4093,31 +4072,31 @@ packages: supports-preserve-symlinks-flag: 1.0.0 dev: false - /reusify/1.0.4: + /reusify@1.0.4: resolution: {integrity: sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==} engines: {iojs: '>=1.0.0', node: '>=0.10.0'} dev: false - /rimraf/3.0.2: + /rimraf@3.0.2: resolution: {integrity: sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==} hasBin: true dependencies: glob: 7.2.3 dev: false - /run-parallel/1.2.0: + /run-parallel@1.2.0: resolution: {integrity: sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==} dependencies: queue-microtask: 1.2.3 dev: false - /rx-flowable/0.1.2: + /rx-flowable@0.1.2: resolution: {integrity: sha512-2N6ifjuNyCqQdTpgyXIy3V/F18uKGUdODId5rw5UO3cHihh5C6uYI+Bcz+IF+YTtXr7yPgsOC3iaeAWPAgOeWA==} dependencies: rxjs: 7.8.0 dev: false - /rxjs-for-await/1.0.0_rxjs@7.8.0: + /rxjs-for-await@1.0.0(rxjs@7.8.0): resolution: {integrity: sha512-MJhvf1vtQaljd5wlzsasvOjcohVogzkHkUI0gFE9nGhZ15/fT2vR1CjkLEh37oRqWwpv11vHo5D+sLM+Aw9Y8g==} peerDependencies: rxjs: ^7.0.0 @@ -4125,16 +4104,16 @@ packages: rxjs: 7.8.0 dev: true - /rxjs/7.8.0: + /rxjs@7.8.0: resolution: {integrity: sha512-F2+gxDshqmIub1KdvZkaEfGDwLNpPvk9Fs6LD/MyQxNgMds/WH9OdDDXOmxUZpME+iSK3rQCctkL0DYyytUqMg==} dependencies: tslib: 2.5.0 - /safe-buffer/5.2.1: + /safe-buffer@5.2.1: resolution: {integrity: sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==} dev: false - /safe-regex-test/1.0.0: + /safe-regex-test@1.0.0: resolution: {integrity: sha512-JBUUzyOgEwXQY1NuPtvcj/qcBDbDmEvWufhlnXZIm75DEHp+afM1r1ujJpJsV/gSM4t59tpDyPi1sd6ZaPFfsA==} dependencies: call-bind: 1.0.2 @@ -4142,28 +4121,28 @@ packages: is-regex: 1.1.4 dev: false - /scheduler/0.23.0: + /scheduler@0.23.0: resolution: {integrity: sha512-CtuThmgHNg7zIZWAXi3AsyIzA3n4xx7aNyjwC2VJldO2LMVDhFK+63xGqq6CsJH4rTAt6/M+N4GhZiDYPx9eUw==} dependencies: loose-envify: 1.4.0 dev: false - /semver/6.3.0: + /semver@6.3.0: resolution: {integrity: sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==} hasBin: true - /semver/7.3.8: + /semver@7.3.8: resolution: {integrity: sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A==} engines: {node: '>=10'} hasBin: true dependencies: lru-cache: 6.0.0 - /setimmediate/1.0.5: + /setimmediate@1.0.5: resolution: {integrity: sha512-MATJdZp8sLqDl/68LfQmbP8zKPLQNV6BIZoIgrscFDQ+RsvK/BxeDQOgyxKKoh0y/8h3BqVFnCqQ/gd+reiIXA==} dev: false - /sha.js/2.4.11: + /sha.js@2.4.11: resolution: {integrity: sha512-QMEp5B7cftE7APOjk5Y6xgrbWu+WkLVQwk8JNjZ8nKRciZaByEW6MubieAiToS7+dwvrjGhH8jRXz3MVd0AYqQ==} hasBin: true dependencies: @@ -4171,17 +4150,17 @@ packages: safe-buffer: 5.2.1 dev: false - /shebang-command/2.0.0: + /shebang-command@2.0.0: resolution: {integrity: sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==} engines: {node: '>=8'} dependencies: shebang-regex: 3.0.0 - /shebang-regex/3.0.0: + /shebang-regex@3.0.0: resolution: {integrity: sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==} engines: {node: '>=8'} - /side-channel/1.0.4: + /side-channel@1.0.4: resolution: {integrity: sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==} dependencies: call-bind: 1.0.2 @@ -4189,41 +4168,41 @@ packages: object-inspect: 1.12.3 dev: false - /signal-exit/3.0.7: + /signal-exit@3.0.7: resolution: {integrity: sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==} dev: true - /sisteransi/1.0.5: + /sisteransi@1.0.5: resolution: {integrity: sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==} dev: true - /slash/3.0.0: + /slash@3.0.0: resolution: {integrity: sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==} engines: {node: '>=8'} - /slash/4.0.0: + /slash@4.0.0: resolution: {integrity: sha512-3dOsAHXXUkQTpOYcoAxLIorMTp4gIQr5IW3iVb7A7lFIp0VHhnynm9izx6TssdrIcVIESAlVjtnO2K8bg+Coew==} engines: {node: '>=12'} dev: false - /source-map-js/1.0.2: + /source-map-js@1.0.2: resolution: {integrity: sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==} engines: {node: '>=0.10.0'} dev: false - /source-map-support/0.5.13: + /source-map-support@0.5.13: resolution: {integrity: sha512-SHSKFHadjVA5oR4PPqhtAVdcBWwRYVd6g6cAXnIbRiIwc2EhPrTuKUBdSLvlEKyIP3GCf89fltvcZiP9MMFA1w==} dependencies: buffer-from: 1.1.2 source-map: 0.6.1 dev: true - /source-map/0.6.1: + /source-map@0.6.1: resolution: {integrity: sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==} engines: {node: '>=0.10.0'} dev: true - /sparqlalgebrajs/4.0.5: + /sparqlalgebrajs@4.0.5: resolution: {integrity: sha512-upGjNvjl5QfEFTBTzp65Lt7D5zsXrVpgJw+4fYgwZdtscegMBM6s+4PNhWaGnuQ80gQyEtD+r4WE2l/yWA+r9A==} hasBin: true dependencies: @@ -4237,7 +4216,7 @@ packages: sparqljs: 3.6.2 dev: false - /sparqljs/3.6.2: + /sparqljs@3.6.2: resolution: {integrity: sha512-KQEJPaOMeeDpdYYuiFb3JEErRLL8XqX4G7sdhZyHC6Qn4+PEMUff/EjUGkwcJ6aCC0JCTIgxDpRdE3+GFXpdxw==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} hasBin: true @@ -4245,30 +4224,30 @@ packages: rdf-data-factory: 1.1.1 dev: false - /sprintf-js/1.0.3: + /sprintf-js@1.0.3: resolution: {integrity: sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==} dev: true - /stack-utils/2.0.6: + /stack-utils@2.0.6: resolution: {integrity: sha512-XlkWvfIm6RmsWtNJx+uqtKLS8eqFbxUg0ZzLXqY0caEy9l7hruX8IpiDnjsLavoBgqCCR71TqWO8MaXYheJ3RQ==} engines: {node: '>=10'} dependencies: escape-string-regexp: 2.0.0 dev: true - /stop-iteration-iterator/1.0.0: + /stop-iteration-iterator@1.0.0: resolution: {integrity: sha512-iCGQj+0l0HOdZ2AEeBADlsRC+vsnDsZsbdSiH1yNSjcfKM7fdpCMfqAL/dwF5BLiw/XhRft/Wax6zQbhq2BcjQ==} engines: {node: '>= 0.4'} dependencies: internal-slot: 1.0.5 dev: false - /streamsearch/1.1.0: + /streamsearch@1.1.0: resolution: {integrity: sha512-Mcc5wHehp9aXz1ax6bZUyY5afg9u2rv5cqQI3mRrYkGC8rW2hM02jWuwjtL++LS5qinSyhj2QfLyNsuc+VsExg==} engines: {node: '>=10.0.0'} dev: false - /string-length/4.0.2: + /string-length@4.0.2: resolution: {integrity: sha512-+l6rNN5fYHNhZZy41RXsYptCjA2Igmq4EG7kZAYFQI1E1VTXarr6ZPXBg6eq7Y6eK4FEhY6AJlyuFIb/v/S0VQ==} engines: {node: '>=10'} dependencies: @@ -4276,7 +4255,7 @@ packages: strip-ansi: 6.0.1 dev: true - /string-width/4.2.3: + /string-width@4.2.3: resolution: {integrity: sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==} engines: {node: '>=8'} dependencies: @@ -4285,7 +4264,7 @@ packages: strip-ansi: 6.0.1 dev: true - /string.prototype.matchall/4.0.8: + /string.prototype.matchall@4.0.8: resolution: {integrity: sha512-6zOCOcJ+RJAQshcTvXPHoxoQGONa3e/Lqx90wUA+wEzX78sg5Bo+1tQo4N0pohS0erG9qtCqJDjNCQBjeWVxyg==} dependencies: call-bind: 1.0.2 @@ -4298,7 +4277,7 @@ packages: side-channel: 1.0.4 dev: false - /string.prototype.trimend/1.0.6: + /string.prototype.trimend@1.0.6: resolution: {integrity: sha512-JySq+4mrPf9EsDBEDYMOb/lM7XQLulwg5R/m1r0PXEFqrV0qHvl58sdTilSXtKOflCsK2E8jxf+GKC0T07RWwQ==} dependencies: call-bind: 1.0.2 @@ -4306,7 +4285,7 @@ packages: es-abstract: 1.21.1 dev: false - /string.prototype.trimstart/1.0.6: + /string.prototype.trimstart@1.0.6: resolution: {integrity: sha512-omqjMDaY92pbn5HOX7f9IccLA+U1tA9GvtU4JrodiXFfYB7jPzzHpRzpglLAjtUV6bB557zwClJezTqnAiYnQA==} dependencies: call-bind: 1.0.2 @@ -4314,32 +4293,32 @@ packages: es-abstract: 1.21.1 dev: false - /strip-ansi/6.0.1: + /strip-ansi@6.0.1: resolution: {integrity: sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==} engines: {node: '>=8'} dependencies: ansi-regex: 5.0.1 - /strip-bom/3.0.0: + /strip-bom@3.0.0: resolution: {integrity: sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==} engines: {node: '>=4'} dev: false - /strip-bom/4.0.0: + /strip-bom@4.0.0: resolution: {integrity: sha512-3xurFv5tEgii33Zi8Jtp55wEIILR9eh34FAW00PZf+JnSsTmV/ioewSgQl97JHvgjoRGwPShsWm+IdrxB35d0w==} engines: {node: '>=8'} dev: true - /strip-final-newline/2.0.0: + /strip-final-newline@2.0.0: resolution: {integrity: sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==} engines: {node: '>=6'} dev: true - /strip-json-comments/3.1.1: + /strip-json-comments@3.1.1: resolution: {integrity: sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==} engines: {node: '>=8'} - /styled-jsx/5.1.1_react@18.2.0: + /styled-jsx@5.1.1(@babel/core@7.21.0)(react@18.2.0): resolution: {integrity: sha512-pW7uC1l4mBZ8ugbiZrcIsiIvVx1UmTfw7UkC3Um2tmfUq9Bhk8IiyEIPl6F8agHgjzku6j0xQEZbfA5uSgSaCw==} engines: {node: '>= 12.0.0'} peerDependencies: @@ -4352,35 +4331,35 @@ packages: babel-plugin-macros: optional: true dependencies: + '@babel/core': 7.21.0 client-only: 0.0.1 react: 18.2.0 dev: false - /supports-color/5.5.0: + /supports-color@5.5.0: resolution: {integrity: sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==} engines: {node: '>=4'} dependencies: has-flag: 3.0.0 - dev: true - /supports-color/7.2.0: + /supports-color@7.2.0: resolution: {integrity: sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==} engines: {node: '>=8'} dependencies: has-flag: 4.0.0 - /supports-color/8.1.1: + /supports-color@8.1.1: resolution: {integrity: sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==} engines: {node: '>=10'} dependencies: has-flag: 4.0.0 dev: true - /supports-preserve-symlinks-flag/1.0.0: + /supports-preserve-symlinks-flag@1.0.0: resolution: {integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==} engines: {node: '>= 0.4'} - /synckit/0.8.5: + /synckit@0.8.5: resolution: {integrity: sha512-L1dapNV6vu2s/4Sputv8xGsCdAVlb5nRDMFU/E27D44l5U6cw1g0dGd45uLc+OXjNMmF4ntiMdCimzcjFKQI8Q==} engines: {node: ^14.18.0 || >=16.0.0} dependencies: @@ -4388,12 +4367,12 @@ packages: tslib: 2.5.0 dev: false - /tapable/2.2.1: + /tapable@2.2.1: resolution: {integrity: sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==} engines: {node: '>=6'} dev: false - /test-exclude/6.0.0: + /test-exclude@6.0.0: resolution: {integrity: sha512-cAGWPIyOHU6zlmg88jwm7VRyXnMN7iV68OGAbYDk/Mh/xC/pzVPlQtY6ngoIH/5/tciuhGfvESU8GrHrcxD56w==} engines: {node: '>=8'} dependencies: @@ -4402,49 +4381,48 @@ packages: minimatch: 3.1.2 dev: true - /text-table/0.2.0: + /text-table@0.2.0: resolution: {integrity: sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==} dev: false - /tiny-glob/0.2.9: + /tiny-glob@0.2.9: resolution: {integrity: sha512-g/55ssRPUjShh+xkfx9UPDXqhckHEsHr4Vd9zX55oSdGZc/MD0m3sferOkwWtp98bv+kcVfEHtRJgBVJzelrzg==} dependencies: globalyzer: 0.1.0 globrex: 0.1.2 dev: false - /tmpl/1.0.5: + /tmpl@1.0.5: resolution: {integrity: sha512-3f0uOEAQwIqGuWW2MVzYg8fV/QNnc/IpuJNG837rLuczAaLVHslWHZQj4IGiEl5Hs3kkbhwL9Ab7Hrsmuj+Smw==} dev: true - /to-fast-properties/2.0.0: + /to-fast-properties@2.0.0: resolution: {integrity: sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==} engines: {node: '>=4'} - dev: true - /to-regex-range/5.0.1: + /to-regex-range@5.0.1: resolution: {integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==} engines: {node: '>=8.0'} dependencies: is-number: 7.0.0 - /to-utf8/0.0.1: + /to-utf8@0.0.1: resolution: {integrity: sha512-zks18/TWT1iHO3v0vFp5qLKOG27m67ycq/Y7a7cTiRuUNlc4gf3HGnkRgMv0NyhnfTamtkYBJl+YeD1/j07gBQ==} dev: false - /todomvc-app-css/2.4.2: + /todomvc-app-css@2.4.2: resolution: {integrity: sha512-ViAkQ7ed89rmhFIGRsT36njN+97z8+s3XsJnB8E2IKOq+/SLD/6PtSvmTtiwUcVk39qPcjAc/OyeDys4LoJUVg==} dev: false - /todomvc-common/1.0.5: + /todomvc-common@1.0.5: resolution: {integrity: sha512-D8kEJmxVMQIWwztEdH+WeiAfXRbbSCpgXq4NkYi+gduJ2tr8CNq7sYLfJvjpQ10KD9QxJwig57rvMbV2QAESwQ==} dev: false - /tr46/0.0.3: + /tr46@0.0.3: resolution: {integrity: sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==} dev: false - /ts-node/10.9.1_uayvamxqnl5yeiojjysxwopmsy: + /ts-node@10.9.1(@types/node@18.14.1)(typescript@4.9.5): resolution: {integrity: sha512-NtVysVPkxxrwFGUUxGYhfux8k78pQB3JqYBXlLRZgdGUqTO5wU/UyHop5p70iEbGhB7q5KmiZiU0Y3KlJrScEw==} hasBin: true peerDependencies: @@ -4475,7 +4453,7 @@ packages: yn: 3.1.1 dev: true - /tsconfig-paths/3.14.1: + /tsconfig-paths@3.14.1: resolution: {integrity: sha512-fxDhWnFSLt3VuTwtvJt5fpwxBHg5AdKWMsgcPOOIilyjymcYVZoCQF8fvFRezCNfblEXmi+PcM1eYHeOAgXCOQ==} dependencies: '@types/json5': 0.0.29 @@ -4484,14 +4462,14 @@ packages: strip-bom: 3.0.0 dev: false - /tslib/1.14.1: + /tslib@1.14.1: resolution: {integrity: sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==} dev: false - /tslib/2.5.0: + /tslib@2.5.0: resolution: {integrity: sha512-336iVw3rtn2BUK7ORdIAHTyxHGRIHVReokCR3XjbckJMK7ms8FysBfhLR8IXnAgy7T0PTPNBWKiH514FOW/WSg==} - /tsutils/3.21.0_typescript@4.9.5: + /tsutils@3.21.0(typescript@4.9.5): resolution: {integrity: sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA==} engines: {node: '>= 6'} peerDependencies: @@ -4501,29 +4479,29 @@ packages: typescript: 4.9.5 dev: false - /type-check/0.4.0: + /type-check@0.4.0: resolution: {integrity: sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==} engines: {node: '>= 0.8.0'} dependencies: prelude-ls: 1.2.1 dev: false - /type-detect/4.0.8: + /type-detect@4.0.8: resolution: {integrity: sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==} engines: {node: '>=4'} dev: true - /type-fest/0.20.2: + /type-fest@0.20.2: resolution: {integrity: sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==} engines: {node: '>=10'} dev: false - /type-fest/0.21.3: + /type-fest@0.21.3: resolution: {integrity: sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==} engines: {node: '>=10'} dev: true - /typed-array-length/1.0.4: + /typed-array-length@1.0.4: resolution: {integrity: sha512-KjZypGq+I/H7HI5HlOoGHkWUUGq+Q0TPhQurLbyrVrvnKTBgzLhIJ7j6J/XTQOi0d1RjyZ0wdas8bKs2p0x3Ng==} dependencies: call-bind: 1.0.2 @@ -4531,12 +4509,12 @@ packages: is-typed-array: 1.1.10 dev: false - /typescript/4.9.5: + /typescript@4.9.5: resolution: {integrity: sha512-1FXk9E2Hm+QzZQ7z+McJiHL4NW1F2EzMu9Nq9i3zAaGqibafqYwCVU6WyWAuyQRRzOlxou8xZSyXLEN8oKj24g==} engines: {node: '>=4.2.0'} hasBin: true - /unbox-primitive/1.0.2: + /unbox-primitive@1.0.2: resolution: {integrity: sha512-61pPlCD9h51VoreyJ0BReideM3MDKMKnh6+V9L08331ipq6Q8OFXZYiqP6n/tbHx4s5I9uRhcye6BrbkizkBDw==} dependencies: call-bind: 1.0.2 @@ -4545,14 +4523,14 @@ packages: which-boxed-primitive: 1.0.2 dev: false - /undici/5.21.0: + /undici@5.21.0: resolution: {integrity: sha512-HOjK8l6a57b2ZGXOcUsI5NLfoTrfmbOl90ixJDl0AEFG4wgHNDQxtZy15/ZQp7HhjkpaGlp/eneMgtsu1dIlUA==} engines: {node: '>=12.18'} dependencies: busboy: 1.6.0 dev: false - /update-browserslist-db/1.0.10_browserslist@4.21.5: + /update-browserslist-db@1.0.10(browserslist@4.21.5): resolution: {integrity: sha512-OztqDenkfFkbSG+tRxBeAnCVPckDBcvibKd35yDONx6OU8N7sqgwc7rCbkJ/WcYtVRZ4ba68d6byhC21GFh7sQ==} hasBin: true peerDependencies: @@ -4561,19 +4539,18 @@ packages: browserslist: 4.21.5 escalade: 3.1.1 picocolors: 1.0.0 - dev: true - /uri-js/4.4.1: + /uri-js@4.4.1: resolution: {integrity: sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==} dependencies: punycode: 2.3.0 dev: false - /v8-compile-cache-lib/3.0.1: + /v8-compile-cache-lib@3.0.1: resolution: {integrity: sha512-wa7YjyUGfNZngI/vtK0UHAN+lgDCxBPCylVXGp0zu59Fz5aiGtNXaq3DhIov063MorB+VfufLh3JlF2KdTK3xg==} dev: true - /v8-to-istanbul/9.1.0: + /v8-to-istanbul@9.1.0: resolution: {integrity: sha512-6z3GW9x8G1gd+JIIgQQQxXuiJtCXeAjp6RaPEPLv62mH3iPHPxV6W3robxtCzNErRo6ZwTmzWhsbNvjyEBKzKA==} engines: {node: '>=10.12.0'} dependencies: @@ -4582,34 +4559,34 @@ packages: convert-source-map: 1.9.0 dev: true - /valid-data-url/4.0.1: + /valid-data-url@4.0.1: resolution: {integrity: sha512-t0oA6VCnlQ/MPKP/Ie9ZD3biEpB2JTxK1Hx4KC72RbhubL9HsXznoBn228UQTazL7cPvsY36bhzt3fk424TjyA==} engines: {node: '>=10'} dev: false - /walker/1.0.8: + /walker@1.0.8: resolution: {integrity: sha512-ts/8E8l5b7kY0vlWLewOkDXMmPdLcVV4GmOQLyxuSswIJsweeFZtAsMF7k1Nszz+TYBQrlYRmzOnr398y1JemQ==} dependencies: makeerror: 1.0.12 dev: true - /web-streams-polyfill/3.2.1: + /web-streams-polyfill@3.2.1: resolution: {integrity: sha512-e0MO3wdXWKrLbL0DgGnUV7WHVuw9OUvL4hjgnPkIeEvESk74gAITi5G606JtZPp39cd8HA9VQzCIvA49LpPN5Q==} engines: {node: '>= 8'} dev: false - /webidl-conversions/3.0.1: + /webidl-conversions@3.0.1: resolution: {integrity: sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==} dev: false - /whatwg-url/5.0.0: + /whatwg-url@5.0.0: resolution: {integrity: sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==} dependencies: tr46: 0.0.3 webidl-conversions: 3.0.1 dev: false - /which-boxed-primitive/1.0.2: + /which-boxed-primitive@1.0.2: resolution: {integrity: sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg==} dependencies: is-bigint: 1.0.4 @@ -4619,7 +4596,7 @@ packages: is-symbol: 1.0.4 dev: false - /which-collection/1.0.1: + /which-collection@1.0.1: resolution: {integrity: sha512-W8xeTUwaln8i3K/cY1nGXzdnVZlidBcagyNFtBdD5kxnb4TvGKR7FfSIS3mYpwWS1QUCutfKz8IY8RjftB0+1A==} dependencies: is-map: 2.0.2 @@ -4628,7 +4605,7 @@ packages: is-weakset: 2.0.2 dev: false - /which-typed-array/1.1.9: + /which-typed-array@1.1.9: resolution: {integrity: sha512-w9c4xkx6mPidwp7180ckYWfMmvxpjlZuIudNtDf4N/tTAUB8VJbX25qZoAsrtGuYNnGw3pa0AXgbGKRB8/EceA==} engines: {node: '>= 0.4'} dependencies: @@ -4640,19 +4617,19 @@ packages: is-typed-array: 1.1.10 dev: false - /which/2.0.2: + /which@2.0.2: resolution: {integrity: sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==} engines: {node: '>= 8'} hasBin: true dependencies: isexe: 2.0.0 - /word-wrap/1.2.3: + /word-wrap@1.2.3: resolution: {integrity: sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==} engines: {node: '>=0.10.0'} dev: false - /wrap-ansi/7.0.0: + /wrap-ansi@7.0.0: resolution: {integrity: sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==} engines: {node: '>=10'} dependencies: @@ -4661,10 +4638,10 @@ packages: strip-ansi: 6.0.1 dev: true - /wrappy/1.0.2: + /wrappy@1.0.2: resolution: {integrity: sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==} - /write-file-atomic/4.0.2: + /write-file-atomic@4.0.2: resolution: {integrity: sha512-7KxauUdBmSdWnmpaGFg+ppNjKF8uNLry8LyzjauQDOVONfFLNKrKvQOxZ/VuTIcS/gge/YNahf5RIIQWTSarlg==} engines: {node: ^12.13.0 || ^14.15.0 || >=16.0.0} dependencies: @@ -4672,24 +4649,23 @@ packages: signal-exit: 3.0.7 dev: true - /y18n/5.0.8: + /y18n@5.0.8: resolution: {integrity: sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==} engines: {node: '>=10'} dev: true - /yallist/3.1.1: + /yallist@3.1.1: resolution: {integrity: sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==} - dev: true - /yallist/4.0.0: + /yallist@4.0.0: resolution: {integrity: sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==} - /yargs-parser/21.1.1: + /yargs-parser@21.1.1: resolution: {integrity: sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==} engines: {node: '>=12'} dev: true - /yargs/17.7.1: + /yargs@17.7.1: resolution: {integrity: sha512-cwiTb08Xuv5fqF4AovYacTFNxk62th7LKJ6BL9IGUpTJrWoU7/7WdQGTP2SjKf1dUNBGzDd28p/Yfs/GI6JrLw==} engines: {node: '>=12'} dependencies: @@ -4702,11 +4678,11 @@ packages: yargs-parser: 21.1.1 dev: true - /yn/3.1.1: + /yn@3.1.1: resolution: {integrity: sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q==} engines: {node: '>=6'} dev: true - /yocto-queue/0.1.0: + /yocto-queue@0.1.0: resolution: {integrity: sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==} engines: {node: '>=10'} From 0c140ae6ef2564f36cd39f57a95dac4096e22376 Mon Sep 17 00:00:00 2001 From: Petra Jaros Date: Sat, 22 Apr 2023 12:01:58 -0400 Subject: [PATCH 02/12] Implement prototype of new-style construct queries --- src/pages/_app.tsx | 2 + src/pages/index.tsx | 221 ++++++++++++++++++++++++++++++-------------- 2 files changed, 155 insertions(+), 68 deletions(-) diff --git a/src/pages/_app.tsx b/src/pages/_app.tsx index 09fdf86..8568dc0 100644 --- a/src/pages/_app.tsx +++ b/src/pages/_app.tsx @@ -29,12 +29,14 @@ const initialDataPromise = compact( "@type": "TodoList", items: [ { + "@id": "urn:uuid:db2ccffd-1b37-4ca4-81b9-d724dfb70ba8", "@type": "icaltzd:Vtodo", status: "COMPLETED", summary: "Taste JavaScript", uid: "DB2CCFFD-1B37-4CA4-81B9-D724DFB70BA8", }, { + "@id": "urn:uuid:401bfc3d-7c9b-46cc-a842-6d7c91bfd7ec", "@type": "icaltzd:Vtodo", status: "IN-PROCESS", summary: "Buy Unicorn", diff --git a/src/pages/index.tsx b/src/pages/index.tsx index 4fdf7fb..0c55e14 100644 --- a/src/pages/index.tsx +++ b/src/pages/index.tsx @@ -1,9 +1,12 @@ -import { useSubject } from "@/hooks/useSubject"; import classNames from "classnames"; +import { useState } from "react"; + +enum StatusFilter { + All = "all", + Active = "active", + Completed = "completed", +} -const ALL_TODOS = "all"; -const ACTIVE_TODOS = "active"; -const COMPLETED_TODOS = "completed"; const ENTER_KEY = 13; const ESCAPE_KEY = 27; @@ -13,63 +16,81 @@ interface ITodo { completed: boolean; } -const TODOS: ITodo[] = [ - { id: "a", title: "Taste JavaScript", completed: true }, - { id: "b", title: "Buy Unicorn", completed: false }, -]; - interface ITodoItemProps { - key: string; - todo: ITodo; + id: string; editing?: boolean; - onSave: (val: any) => void; - onDestroy: () => void; - onEdit: () => void; - onCancel: (event: any) => void; - onToggle: () => void; + // onSave: (val: any) => void; + // onDestroy: () => void; + // onEdit: () => void; + // onCancel: (event: any) => void; + // onToggle: () => void; } -const TodoItem = (props: ITodoItemProps) => ( -
  • -
    - - -
    - this.handleSubmit(e)} - // onChange={(e) => this.handleChange(e)} - // onKeyDown={(e) => this.handleKeyDown(e)} - /> -
  • -); +const TodoItem = ({ id, editing }: ITodoItemProps) => { + const query = { + "@context": { + "@vocab": "http://www.w3.org/2002/12/cal/icaltzd#", + }, + "@id": id, + status: "?", + summary: "?", + }; + + const data = { + "urn:uuid:db2ccffd-1b37-4ca4-81b9-d724dfb70ba8": { + "@context": query["@context"], + "@id": "urn:uuid:db2ccffd-1b37-4ca4-81b9-d724dfb70ba8", + "@type": "icaltzd:Vtodo", + status: "COMPLETED", + summary: "Taste JavaScript", + }, + "urn:uuid:401bfc3d-7c9b-46cc-a842-6d7c91bfd7ec": { + "@context": query["@context"], + "@id": "urn:uuid:401bfc3d-7c9b-46cc-a842-6d7c91bfd7ec", + "@type": "icaltzd:Vtodo", + status: "IN-PROCESS", + summary: "Buy Unicorn", + }, + }[id]; + + if (!data) return <>; + + const completed = data.status === "COMPLETED"; + + return ( +
  • +
    + + +
    + +
  • + ); +}; interface ITodoFooterProps { completedCount: number; - onClearCompleted: any; + // onClearCompleted: any; nowShowing: string; count: number; } const TodoFooter = ({ completedCount, - onClearCompleted, nowShowing, count, }: ITodoFooterProps) => ( @@ -81,7 +102,7 @@ const TodoFooter = ({
  • All @@ -89,7 +110,9 @@ const TodoFooter = ({
  • Active @@ -97,14 +120,19 @@ const TodoFooter = ({
  • Completed
  • {!!completedCount && ( - )} @@ -112,23 +140,80 @@ const TodoFooter = ({ ); export default function Home() { - const nowShowing: string = ALL_TODOS; + const [nowShowing, setNowShowing] = useState(StatusFilter.All); - const todos = TODOS; + const query = { + "@context": { + "@vocab": "https://todomvc.com/vocab/", + icaltzd: "http://www.w3.org/2002/12/cal/icaltzd#", + items: { + "@container": "@list", + }, + activeItems: "items", + completedItems: "items", + "icaltzd:Vtodo": { + "@context": { + "@vocab": "http://www.w3.org/2002/12/cal/icaltzd#", + }, + }, + }, + "@id": "todoMVCList", + items: { + "@id": "?", + "@type": "icaltzd:Vtodo", + ...(nowShowing !== StatusFilter.All && { + status: + nowShowing === StatusFilter.Completed ? "COMPLETED" : "IN-PROGRESS", + }), + }, + activeItems: { + "@where": { + "@type": "icaltzd:Vtodo", + status: "IN-PROGRESS", + }, + "@count": "?", + }, + completedItems: { + "@where": { + "@type": "icaltzd:Vtodo", + status: "COMPLETED", + }, + "@count": "?", + }, + }; - var activeTodoCount = todos.filter((todo) => todo.completed).length; - var completedCount = todos.length - activeTodoCount; + const data = { + "@context": query["@context"], + "@id": "todoMVCList", + items: [ + { + "@id": "urn:uuid:db2ccffd-1b37-4ca4-81b9-d724dfb70ba8", + "@type": "icaltzd:Vtodo", + }, + { + "@id": "urn:uuid:401bfc3d-7c9b-46cc-a842-6d7c91bfd7ec", + "@type": "icaltzd:Vtodo", + }, + ], + activeItems: { + "@where": { + "@type": "icaltzd:Vtodo", + status: "IN-PROGRESS", + }, + "@count": 1, + }, + completedItems: { + "@where": { + "@type": "icaltzd:Vtodo", + status: "COMPLETED", + }, + "@count": 1, + }, + }; - var shownTodos = todos.filter((todo) => { - switch (nowShowing) { - case ACTIVE_TODOS: - return !todo.completed; - case COMPLETED_TODOS: - return todo.completed; - default: - return true; - } - }); + const activeTodoCount = data.activeItems["@count"]; + const completedCount = data.completedItems["@count"]; + const shownTodos = data.items; return (
    @@ -141,7 +226,7 @@ export default function Home() { autoFocus={true} /> - {!!todos.length && ( + {!!data.items.length && (
    Mark all as complete
      {shownTodos.map((todo) => ( - + ))}
    From 6cee5b4ffc6b6b9ad870332d108c0677c4474489 Mon Sep 17 00:00:00 2001 From: Petra Jaros Date: Sat, 22 Apr 2023 12:47:12 -0400 Subject: [PATCH 03/12] Infer type of data from query (in basic ways) --- src/pages/index.tsx | 21 ++++++++++++++++++--- 1 file changed, 18 insertions(+), 3 deletions(-) diff --git a/src/pages/index.tsx b/src/pages/index.tsx index 0c55e14..8dcbc50 100644 --- a/src/pages/index.tsx +++ b/src/pages/index.tsx @@ -1,6 +1,19 @@ import classNames from "classnames"; import { useState } from "react"; +type QueryResult = { + [Key in keyof Query]: Query[Key] extends Array + ? // TODO: Handle arrays in query. + never + : Query[Key] extends object + ? QueryResult | Array> + : // TODO: Support named variables. + Query[Key] extends "?" + ? // TODO: Everything a variable can be. + string | number + : Query[Key]; +}; + enum StatusFilter { All = "all", Active = "active", @@ -32,6 +45,7 @@ const TodoItem = ({ id, editing }: ITodoItemProps) => { "@vocab": "http://www.w3.org/2002/12/cal/icaltzd#", }, "@id": id, + "@type": "icaltzd:Vtodo", status: "?", summary: "?", }; @@ -51,7 +65,7 @@ const TodoItem = ({ id, editing }: ITodoItemProps) => { status: "IN-PROCESS", summary: "Buy Unicorn", }, - }[id]; + }[id] satisfies QueryResult | undefined; if (!data) return <>; @@ -180,7 +194,7 @@ export default function Home() { }, "@count": "?", }, - }; + } as const; const data = { "@context": query["@context"], @@ -209,8 +223,9 @@ export default function Home() { }, "@count": 1, }, - }; + } satisfies QueryResult; + // TODO: How do we know that activeItems and completedItems aren't arrays? const activeTodoCount = data.activeItems["@count"]; const completedCount = data.completedItems["@count"]; const shownTodos = data.items; From bb3c78e611efaf27a6addb516521270d02bcd3f8 Mon Sep 17 00:00:00 2001 From: Petra Jaros Date: Sat, 22 Apr 2023 13:19:15 -0400 Subject: [PATCH 04/12] Start documenting queries --- queries.md | 29 +++++++++++++++++++++++++++++ src/pages/index.tsx | 8 ++++---- 2 files changed, 33 insertions(+), 4 deletions(-) create mode 100644 queries.md diff --git a/queries.md b/queries.md new file mode 100644 index 0000000..e94ebdc --- /dev/null +++ b/queries.md @@ -0,0 +1,29 @@ +# Queries + +_This is highly in-progress…_ + +- The result of a query is always a valid JSON-LD document, possibly containing + additional keywords (beginning with `@`). When interpreted as a JSON-LD + document (and thus ignoring keywords unknown to JSON-LD), the document + describes a set of facts which is a subset of the facts in the original, + queried document. + + - Some keywords may introduce information which is not in the original + document, nor valid in the original document. In particular, aggregations + will not be correct in the context of the original document if the query has + filtered the results: the count of a set in the original document will not + match the count of that set after filtering it (if the filter removes any + elements). Such information is _always_ nested within some `@` keyword which + JSON-LD will ignore. + +- The result of a query always has the same key structure as the query itself, + except: + + - An object value may match more than one object, and thus become an array. + - Variables may match more than one value, and thus become an array. + - _We may need more exceptions here._ + +- (?) When matching a node, every given property much match, unless the property + has `@optional: true`. + +- (?) Variable names are scoped. _Needs more detail if true._ diff --git a/src/pages/index.tsx b/src/pages/index.tsx index 8dcbc50..8b119b3 100644 --- a/src/pages/index.tsx +++ b/src/pages/index.tsx @@ -48,7 +48,7 @@ const TodoItem = ({ id, editing }: ITodoItemProps) => { "@type": "icaltzd:Vtodo", status: "?", summary: "?", - }; + } as const; const data = { "urn:uuid:db2ccffd-1b37-4ca4-81b9-d724dfb70ba8": { @@ -57,15 +57,15 @@ const TodoItem = ({ id, editing }: ITodoItemProps) => { "@type": "icaltzd:Vtodo", status: "COMPLETED", summary: "Taste JavaScript", - }, + } satisfies QueryResult, "urn:uuid:401bfc3d-7c9b-46cc-a842-6d7c91bfd7ec": { "@context": query["@context"], "@id": "urn:uuid:401bfc3d-7c9b-46cc-a842-6d7c91bfd7ec", "@type": "icaltzd:Vtodo", status: "IN-PROCESS", summary: "Buy Unicorn", - }, - }[id] satisfies QueryResult | undefined; + } satisfies QueryResult, + }[id]; if (!data) return <>; From 0f8e018134d6d02abe0be93c552a5e816fa729a6 Mon Sep 17 00:00:00 2001 From: Petra Jaros Date: Thu, 27 Apr 2023 15:26:04 -0400 Subject: [PATCH 05/12] Develop QueryResult further in its own module --- package.json | 3 +- pnpm-lock.yaml | 24 +++++++++- src/QueryResult.tsx | 35 +++++++++++++++ src/QueryResult.typetest.ts | 89 +++++++++++++++++++++++++++++++++++++ src/pages/index.tsx | 42 ++++++++--------- tsconfig.json | 7 ++- 6 files changed, 173 insertions(+), 27 deletions(-) create mode 100644 src/QueryResult.tsx create mode 100644 src/QueryResult.typetest.ts diff --git a/package.json b/package.json index 5fec51b..e34ba6d 100644 --- a/package.json +++ b/package.json @@ -36,6 +36,7 @@ "fast-check": "^3.7.0", "jest": "^29.4.3", "rxjs-for-await": "^1.0.0", - "ts-node": "^10.9.1" + "ts-node": "^10.9.1", + "type-plus": "6.3.0" } } diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 658d116..33d80a8 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -78,6 +78,9 @@ devDependencies: ts-node: specifier: ^10.9.1 version: 10.9.1(@types/node@18.14.1)(typescript@4.9.5) + type-plus: + specifier: 6.3.0 + version: 6.3.0 packages: @@ -2660,7 +2663,6 @@ packages: /is-buffer@2.0.5: resolution: {integrity: sha512-i2R6zNFDwgEHJyQUtJEk0XFi1i0dPFn/oqjK3/vPCcDeJvW5NQ83V8QbicfF1SupOaB0h8ntgBC2YiE7dfyctQ==} engines: {node: '>=4'} - dev: false /is-callable@1.2.7: resolution: {integrity: sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==} @@ -4372,6 +4374,14 @@ packages: engines: {node: '>=6'} dev: false + /tersify@3.12.1: + resolution: {integrity: sha512-VwzXGHZSOB4T27s4uvh9v8FYrNXyfVz0nBQi28TDwrZoQwT8ZJUp1W2Ff73ekN07stJSb0D+pr6iXeNeFqTI6Q==} + dependencies: + acorn: 8.8.2 + is-buffer: 2.0.5 + unpartial: 1.0.4 + dev: true + /test-exclude@6.0.0: resolution: {integrity: sha512-cAGWPIyOHU6zlmg88jwm7VRyXnMN7iV68OGAbYDk/Mh/xC/pzVPlQtY6ngoIH/5/tciuhGfvESU8GrHrcxD56w==} engines: {node: '>=8'} @@ -4501,6 +4511,13 @@ packages: engines: {node: '>=10'} dev: true + /type-plus@6.3.0: + resolution: {integrity: sha512-aEhBC+XRZAOa/Z1D+krYABmHnZODNQNPLrQpmKlSlyjdhyANaH5k76InNOJJ5E7Vr9k3QvHjum2S0xGPbmyQIQ==} + dependencies: + tersify: 3.12.1 + unpartial: 1.0.4 + dev: true + /typed-array-length@1.0.4: resolution: {integrity: sha512-KjZypGq+I/H7HI5HlOoGHkWUUGq+Q0TPhQurLbyrVrvnKTBgzLhIJ7j6J/XTQOi0d1RjyZ0wdas8bKs2p0x3Ng==} dependencies: @@ -4530,6 +4547,11 @@ packages: busboy: 1.6.0 dev: false + /unpartial@1.0.4: + resolution: {integrity: sha512-xY8319WOQcRDRVFWvTty2YJXKvM8XRPehqWZUd7k/BatpbuitI4Jd+2xlwjTZbZScSvT75TnUsUmy5uwFa3o0g==} + engines: {node: '>=6'} + dev: true + /update-browserslist-db@1.0.10(browserslist@4.21.5): resolution: {integrity: sha512-OztqDenkfFkbSG+tRxBeAnCVPckDBcvibKd35yDONx6OU8N7sqgwc7rCbkJ/WcYtVRZ4ba68d6byhC21GFh7sQ==} hasBin: true diff --git a/src/QueryResult.tsx b/src/QueryResult.tsx new file mode 100644 index 0000000..45dcb43 --- /dev/null +++ b/src/QueryResult.tsx @@ -0,0 +1,35 @@ +export type Scalar = string | number; + +type Variable = `?${Name}`; + +interface OperatorToScalar { + "@count": number; +} + +type ScalarForOperator = Key extends keyof OperatorToScalar + ? OperatorToScalar[Key] + : Scalar; + +// prettier-ignore +export type QueryResult = + // For an array, each element is itself a query, and the result is an array of + // query results matching any of those queries. (ReadonlyArray also covers + // non-readonly Arrays) + Query extends ReadonlyArray ? Array> : + + // For an object (that's not an array), each value is itself a query, and + // the result is an object with an entry for each of the same keys, where + // the value is the result of its query. + Query extends object ? { + [Key in keyof Query]: QueryResult>; + } : + + // For a variable, the result is a scalar of the type expected at this node. + Query extends Variable ? ScalarType : + + // For a scalar (that's not a variable), the result is exactly that scalar. + Query extends ScalarType ? Query : + + // Finally, if it somehow matches none of these branches, we've made a mistake + // and are missing a case. + never; diff --git a/src/QueryResult.typetest.ts b/src/QueryResult.typetest.ts new file mode 100644 index 0000000..c6715cb --- /dev/null +++ b/src/QueryResult.typetest.ts @@ -0,0 +1,89 @@ +import { type Equal } from "type-plus"; +import { QueryResult, Scalar } from "./QueryResult"; + +const query = { + aNumber: 1, + aString: "a", + aVariable: "?", + aCollectionOfScalars: ["?"], + + aChild: { + aNumber: 1, + aString: "a", + aVariable: "?", + aCollectionOfScalars: ["?"], + }, + + aCollectionOfChildren: [ + { + aNumber: 1, + aString: "a", + aVariable: "?", + aCollectionOfScalars: ["?"], + }, + ], + + aUnionCollectionOfChildren: [ + { + aNumber: 1, + aString: "a", + aVariable: "?", + }, + { + aNumber: 2, + aString: "b", + aVariable: "?", + }, + ], + + aSetOfChildren: { + "@set": [ + { + aNumber: 1, + aString: "a", + aVariable: "?", + aCollectionOfScalars: ["?"], + }, + ], + "@count": "?", + }, +} as const; + +type Result = QueryResult; + +true satisfies Equal; +true satisfies Equal; +true satisfies Equal; +true satisfies Equal; + +type Child = Pick< + Result, + "aNumber" | "aString" | "aVariable" | "aCollectionOfScalars" +>; + +true satisfies Equal; +true satisfies Equal; + +true satisfies Equal< + Result["aSetOfChildren"], + { + "@set": Child[]; + "@count": number; + } +>; + +true satisfies Equal< + Result["aUnionCollectionOfChildren"], + Array< + | { + aNumber: 1; + aString: "a"; + aVariable: Scalar; + } + | { + aNumber: 2; + aString: "b"; + aVariable: Scalar; + } + > +>; diff --git a/src/pages/index.tsx b/src/pages/index.tsx index 8b119b3..0b60b84 100644 --- a/src/pages/index.tsx +++ b/src/pages/index.tsx @@ -1,18 +1,6 @@ import classNames from "classnames"; import { useState } from "react"; - -type QueryResult = { - [Key in keyof Query]: Query[Key] extends Array - ? // TODO: Handle arrays in query. - never - : Query[Key] extends object - ? QueryResult | Array> - : // TODO: Support named variables. - Query[Key] extends "?" - ? // TODO: Everything a variable can be. - string | number - : Query[Key]; -}; +import { QueryResult } from "../QueryResult"; enum StatusFilter { All = "all", @@ -172,18 +160,23 @@ export default function Home() { }, }, "@id": "todoMVCList", - items: { - "@id": "?", - "@type": "icaltzd:Vtodo", - ...(nowShowing !== StatusFilter.All && { - status: - nowShowing === StatusFilter.Completed ? "COMPLETED" : "IN-PROGRESS", - }), - }, + items: [ + { + "@id": "?", + "@type": "icaltzd:Vtodo", + status: ( + { + [StatusFilter.All]: "?", + [StatusFilter.Active]: "IN-PROCESS", + [StatusFilter.Completed]: "COMPLETED", + } as const + )[nowShowing], + }, + ], activeItems: { "@where": { "@type": "icaltzd:Vtodo", - status: "IN-PROGRESS", + status: "IN-PROCESS", }, "@count": "?", }, @@ -203,16 +196,18 @@ export default function Home() { { "@id": "urn:uuid:db2ccffd-1b37-4ca4-81b9-d724dfb70ba8", "@type": "icaltzd:Vtodo", + status: "COMPLETED", }, { "@id": "urn:uuid:401bfc3d-7c9b-46cc-a842-6d7c91bfd7ec", "@type": "icaltzd:Vtodo", + status: "IN-PROCESS", }, ], activeItems: { "@where": { "@type": "icaltzd:Vtodo", - status: "IN-PROGRESS", + status: "IN-PROCESS", }, "@count": 1, }, @@ -225,7 +220,6 @@ export default function Home() { }, } satisfies QueryResult; - // TODO: How do we know that activeItems and completedItems aren't arrays? const activeTodoCount = data.activeItems["@count"]; const completedCount = data.completedItems["@count"]; const shownTodos = data.items; diff --git a/tsconfig.json b/tsconfig.json index 2159bf4..057a617 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -20,5 +20,10 @@ } }, "include": ["next-env.d.ts", "**/*.ts", "**/*.tsx"], - "exclude": ["node_modules"] + "exclude": ["node_modules"], + "ts-node": { + "compilerOptions": { + "module": "commonjs" + } + } } From fc42cb8be7fa7017b294ebb9c57e2bdb028c01fc Mon Sep 17 00:00:00 2001 From: Petra Jaros Date: Thu, 27 Apr 2023 16:09:11 -0400 Subject: [PATCH 06/12] Accept (scalar) property types in QueryResult --- src/QueryResult.tsx | 15 +++++++++------ src/QueryResult.typetest.ts | 38 ++++++++++++++++++++++++++----------- 2 files changed, 36 insertions(+), 17 deletions(-) diff --git a/src/QueryResult.tsx b/src/QueryResult.tsx index 45dcb43..dffe5c2 100644 --- a/src/QueryResult.tsx +++ b/src/QueryResult.tsx @@ -6,29 +6,32 @@ interface OperatorToScalar { "@count": number; } -type ScalarForOperator = Key extends keyof OperatorToScalar +type ScalarFor = Key extends keyof OperatorToScalar ? OperatorToScalar[Key] + : Key extends keyof PropertyTypes + ? PropertyTypes[Key] : Scalar; // prettier-ignore -export type QueryResult = +export type QueryResult = // For an array, each element is itself a query, and the result is an array of // query results matching any of those queries. (ReadonlyArray also covers // non-readonly Arrays) - Query extends ReadonlyArray ? Array> : + Query extends ReadonlyArray ? Array> : // For an object (that's not an array), each value is itself a query, and // the result is an object with an entry for each of the same keys, where // the value is the result of its query. Query extends object ? { - [Key in keyof Query]: QueryResult>; + [Key in Extract]: + QueryResult; } : // For a variable, the result is a scalar of the type expected at this node. - Query extends Variable ? ScalarType : + Query extends Variable ? ScalarFor : // For a scalar (that's not a variable), the result is exactly that scalar. - Query extends ScalarType ? Query : + Query extends ScalarFor ? Query : // Finally, if it somehow matches none of these branches, we've made a mistake // and are missing a case. diff --git a/src/QueryResult.typetest.ts b/src/QueryResult.typetest.ts index c6715cb..eee9735 100644 --- a/src/QueryResult.typetest.ts +++ b/src/QueryResult.typetest.ts @@ -4,13 +4,17 @@ import { QueryResult, Scalar } from "./QueryResult"; const query = { aNumber: 1, aString: "a", - aVariable: "?", + aNumberVariable: "?", + aStringVariable: "?", + anUnknownVariable: "?", aCollectionOfScalars: ["?"], aChild: { aNumber: 1, aString: "a", - aVariable: "?", + aNumberVariable: "?", + aStringVariable: "?", + anUnknownVariable: "?", aCollectionOfScalars: ["?"], }, @@ -18,7 +22,9 @@ const query = { { aNumber: 1, aString: "a", - aVariable: "?", + aNumberVariable: "?", + aStringVariable: "?", + anUnknownVariable: "?", aCollectionOfScalars: ["?"], }, ], @@ -27,12 +33,10 @@ const query = { { aNumber: 1, aString: "a", - aVariable: "?", }, { aNumber: 2, aString: "b", - aVariable: "?", }, ], @@ -41,7 +45,9 @@ const query = { { aNumber: 1, aString: "a", - aVariable: "?", + aNumberVariable: "?", + aStringVariable: "?", + anUnknownVariable: "?", aCollectionOfScalars: ["?"], }, ], @@ -49,16 +55,28 @@ const query = { }, } as const; -type Result = QueryResult; +interface PropertyTypes { + aNumberVariable: number; + aStringVariable: string; +} + +type Result = QueryResult; true satisfies Equal; true satisfies Equal; -true satisfies Equal; +true satisfies Equal; +true satisfies Equal; +true satisfies Equal; true satisfies Equal; type Child = Pick< Result, - "aNumber" | "aString" | "aVariable" | "aCollectionOfScalars" + | "aNumber" + | "aString" + | "aNumberVariable" + | "aStringVariable" + | "anUnknownVariable" + | "aCollectionOfScalars" >; true satisfies Equal; @@ -78,12 +96,10 @@ true satisfies Equal< | { aNumber: 1; aString: "a"; - aVariable: Scalar; } | { aNumber: 2; aString: "b"; - aVariable: Scalar; } > >; From 0ed04ac0fb40c4988031cf552c150f18fb01c0c5 Mon Sep 17 00:00:00 2001 From: Petra Jaros Date: Thu, 27 Apr 2023 17:13:03 -0400 Subject: [PATCH 07/12] Type the properties in our domain --- src/pages/_app.tsx | 15 +++++++++++++++ src/pages/index.tsx | 3 ++- 2 files changed, 17 insertions(+), 1 deletion(-) diff --git a/src/pages/_app.tsx b/src/pages/_app.tsx index 8568dc0..2578407 100644 --- a/src/pages/_app.tsx +++ b/src/pages/_app.tsx @@ -11,6 +11,21 @@ import "todomvc-common/base.css"; import "todomvc-app-css/index.css"; import { MeldDebug } from "@/components/MeldDebug"; +// TODO: Write these in terms of the expanded IRIs, not the context-relative +// terms that we happen to use consistently. +export interface PropertyTypes { + // TodoList + // TODO: Type lists well + items: unknown; + + // icaltzd:Vtodo + // Statuses for VTODOs specifically: + // https://www.rfc-editor.org/rfc/rfc5545#section-3.8.1.11 + status: "NEEDS-ACTION" | "COMPLETED" | "IN-PROCESS" | "CANCELLED"; + summary: string; + uid: string; +} + const initialDataPromise = compact( { "@context": { diff --git a/src/pages/index.tsx b/src/pages/index.tsx index 0b60b84..592b497 100644 --- a/src/pages/index.tsx +++ b/src/pages/index.tsx @@ -1,6 +1,7 @@ import classNames from "classnames"; import { useState } from "react"; import { QueryResult } from "../QueryResult"; +import { PropertyTypes } from "./_app"; enum StatusFilter { All = "all", @@ -218,7 +219,7 @@ export default function Home() { }, "@count": 1, }, - } satisfies QueryResult; + } satisfies QueryResult; const activeTodoCount = data.activeItems["@count"]; const completedCount = data.completedItems["@count"]; From 47eee21c039358c7dbda2bb9f804dcd2b9e76b52 Mon Sep 17 00:00:00 2001 From: Petra Jaros Date: Fri, 28 Apr 2023 12:33:44 -0400 Subject: [PATCH 08/12] Queries themselves are typed and autocomplete keys --- src/QueryResult.tsx | 36 ++++++++--- src/QueryResult.typetest.ts | 125 +++++++++++++++++++++++------------- src/testUtils/Equal.ts | 26 ++++++++ src/typeUtils.tsx | 36 +++++++++++ 4 files changed, 169 insertions(+), 54 deletions(-) create mode 100644 src/testUtils/Equal.ts create mode 100644 src/typeUtils.tsx diff --git a/src/QueryResult.tsx b/src/QueryResult.tsx index dffe5c2..4ba7fc8 100644 --- a/src/QueryResult.tsx +++ b/src/QueryResult.tsx @@ -1,6 +1,16 @@ +import { HintedUnion, Preserved } from "./typeUtils"; + +// Arrays are assignable to ReadonlyArray, but not vice versa. By using +// ReadonlyArray, we're promising not to mutate the array while we have it. `as +// const` makes arrays readonly, so this comes up quite a bit. +type OneOrSeveral = T | ReadonlyArray; + export type Scalar = string | number; -type Variable = `?${Name}`; +/** A string representing a variable. That is, a string beginning with `?`. */ +export type Variable = Preserved< + string extends Name ? HintedUnion<"?", `?${string}`> : `?${Name}` +>; interface OperatorToScalar { "@count": number; @@ -13,26 +23,36 @@ type ScalarFor = Key extends keyof OperatorToScalar : Scalar; // prettier-ignore -export type QueryResult = +export type QueryResult = // For an array, each element is itself a query, and the result is an array of // query results matching any of those queries. (ReadonlyArray also covers // non-readonly Arrays) - Query extends ReadonlyArray ? Array> : + QueryNode extends ReadonlyArray ? Array> : // For an object (that's not an array), each value is itself a query, and // the result is an object with an entry for each of the same keys, where // the value is the result of its query. - Query extends object ? { - [Key in Extract]: - QueryResult; + QueryNode extends object ? { + [Key in Extract]: + QueryResult; } : // For a variable, the result is a scalar of the type expected at this node. - Query extends Variable ? ScalarFor : + QueryNode extends Variable ? ScalarFor : // For a scalar (that's not a variable), the result is exactly that scalar. - Query extends ScalarFor ? Query : + QueryNode extends ScalarFor ? QueryNode : // Finally, if it somehow matches none of these branches, we've made a mistake // and are missing a case. never; + +export type Query = + | QueryObjectNode + | QueryObjectNode[]; + +type QueryObjectNode = { + [P in string]: OneOrSeveral>; +} & { + [Key in keyof PropertyTypes]?: OneOrSeveral; +}; diff --git a/src/QueryResult.typetest.ts b/src/QueryResult.typetest.ts index eee9735..d451d0b 100644 --- a/src/QueryResult.typetest.ts +++ b/src/QueryResult.typetest.ts @@ -1,35 +1,79 @@ -import { type Equal } from "type-plus"; -import { QueryResult, Scalar } from "./QueryResult"; +import { Query, QueryResult, Scalar, Variable } from "./QueryResult"; +import { Equal } from "./testUtils/Equal"; -const query = { +interface PropertyTypes { + aNumber: number; + multipleNumbers: number; + aString: string; + multipleStrings: string; + aNumberVariable: number; + aStringVariable: string; + anArrayOfString: string; +} + +type AQuery = Query; + +// A non-array query specifically, which is easier to ask questions about if we +// separate it first. +type AQueryObjectNode = Exclude; + +// Super short way to write "single element or array of" +type A = T | ReadonlyArray; + +true satisfies Equal>; +true satisfies Equal>; +true satisfies Equal< + AQueryObjectNode["aNumber"], + A | undefined +>; +true satisfies Equal | undefined>; +true satisfies Equal< + AQueryObjectNode["aNumberVariable"], + A | undefined +>; +true satisfies Equal< + AQueryObjectNode["aStringVariable"], + A | undefined +>; +true satisfies Equal>; +true satisfies Equal< + AQueryObjectNode["anArrayOfString"], + A | undefined +>; +true satisfies Equal>; + +declare function doQuery( + query: Q +): QueryResult; + +const result = doQuery({ + anUnknown: 5, + multipleUnknowns: [1, "a"], aNumber: 1, + multipleNumbers: [1, 2], aString: "a", + multipleStrings: ["a", "b"], aNumberVariable: "?", aStringVariable: "?", anUnknownVariable: "?", - aCollectionOfScalars: ["?"], + anArrayOfString: ["?"], + anArrayOfUnknown: ["?"], aChild: { aNumber: 1, - aString: "a", aNumberVariable: "?", - aStringVariable: "?", - anUnknownVariable: "?", - aCollectionOfScalars: ["?"], + anArrayOfString: ["?"], }, - aCollectionOfChildren: [ + anArrayOfChildren: [ { aNumber: 1, - aString: "a", aNumberVariable: "?", - aStringVariable: "?", - anUnknownVariable: "?", - aCollectionOfScalars: ["?"], + anArrayOfString: ["?"], }, ], - aUnionCollectionOfChildren: [ + aUnionOfChildren: [ { aNumber: 1, aString: "a", @@ -44,54 +88,35 @@ const query = { "@set": [ { aNumber: 1, - aString: "a", aNumberVariable: "?", - aStringVariable: "?", - anUnknownVariable: "?", - aCollectionOfScalars: ["?"], + anArrayOfString: ["?"], }, ], "@count": "?", }, -} as const; - -interface PropertyTypes { - aNumberVariable: number; - aStringVariable: string; -} +} as const); -type Result = QueryResult; +type Result = typeof result; +true satisfies Equal; +true satisfies Equal>; true satisfies Equal; +true satisfies Equal>; true satisfies Equal; +true satisfies Equal>; true satisfies Equal; true satisfies Equal; true satisfies Equal; -true satisfies Equal; - -type Child = Pick< - Result, - | "aNumber" - | "aString" - | "aNumberVariable" - | "aStringVariable" - | "anUnknownVariable" - | "aCollectionOfScalars" ->; +true satisfies Equal; +true satisfies Equal; -true satisfies Equal; -true satisfies Equal; +type Child = Pick; -true satisfies Equal< - Result["aSetOfChildren"], - { - "@set": Child[]; - "@count": number; - } ->; +true satisfies Equal; +true satisfies Equal; true satisfies Equal< - Result["aUnionCollectionOfChildren"], + Result["aUnionOfChildren"], Array< | { aNumber: 1; @@ -103,3 +128,11 @@ true satisfies Equal< } > >; + +true satisfies Equal< + Result["aSetOfChildren"], + { + "@set": Child[]; + "@count": number; + } +>; diff --git a/src/testUtils/Equal.ts b/src/testUtils/Equal.ts new file mode 100644 index 0000000..7981d5b --- /dev/null +++ b/src/testUtils/Equal.ts @@ -0,0 +1,26 @@ +import { type Equal as _Equal } from "type-plus"; + +/** + * Like `type-plus`'s `Equal`, but will display the actual and expected types in + * the error message. + * + * @example + * // Expect two types to be equal: + * true satisfies Equal; // No errors. + * true satisfies Equal; // Error: Type 'true' does not satisfy + * // the expected type 'false | { + * // expected: string; actual: number; }' + * + * // Expect two types not to be equal: + * false satisfies Equal; // Error: Type 'false' does not + * // satisfy the expected type 'true | { + * // expected: number; actual: number; + * // }' + * false satisfies Equal; // No errors. + */ +export type Equal = _Equal< + Actual, + Expected, + true | { actual: Actual; expected: Expected }, + false | { actual: Actual; expected: Expected } +>; diff --git a/src/typeUtils.tsx b/src/typeUtils.tsx new file mode 100644 index 0000000..37b2137 --- /dev/null +++ b/src/typeUtils.tsx @@ -0,0 +1,36 @@ +interface Nothing {} + +/** + * A non-literal type which provides a finite set of literal hints for editor + * ergonomics. Whereas `"a" | "b" | string` will be optimized to just `string` + * and lose autocompletion for "a" and "b", `HintedUnion<"a" | "b", string>` + * will preserve the literals for autocompletion, while still accepting any + * string. The resulting type will be type-equivalent to `LiteralUnion | + * Catchall`. Typically everything in `LiteralUnion` will extend `Catchall`, and + * thus the resulting type is also type-equivalent to just `Catchall`, but this + * is not required. + * + * @see https://github.com/microsoft/TypeScript/issues/29729#issuecomment-1483854699 + * + * @param LiteralUnion A union of literal values to autocomplete in editors. + * @param Catchall A more general type to accept. + * + * @example + * type Name = HintedUnion<"Jane" | "John", string>; + * const name1: Name = // Autocompletes "Jane" and "John" + * const name2: Name = "Eleanor" // Still accepts any string + */ +export type HintedUnion = + | LiteralUnion + | (Catchall & Nothing); + +/** + * When wrapped around the definition of a type alias, convinces TypeScript to + * preserve the type alias name in error output. Useful when the name of an + * alias is more useful to people debugging than the details of its definition. + * + * Has the unfortunate side-effect of the result always extending object, even + * when it shouldn't. This may be a problem for some use cases, so use + * judiciously. + */ +export type Preserved = T & {}; From e581725633d9be743d239b37f3a63ff4e4453c5d Mon Sep 17 00:00:00 2001 From: Petra Jaros Date: Sat, 29 Apr 2023 18:15:16 -0400 Subject: [PATCH 09/12] Starting to type JsonLDDocument --- src/JsonLDDocument.ts | 11 ++++++++ src/JsonLDDocument.typetest.ts | 50 ++++++++++++++++++++++++++++++++++ 2 files changed, 61 insertions(+) create mode 100644 src/JsonLDDocument.ts create mode 100644 src/JsonLDDocument.typetest.ts diff --git a/src/JsonLDDocument.ts b/src/JsonLDDocument.ts new file mode 100644 index 0000000..154d01e --- /dev/null +++ b/src/JsonLDDocument.ts @@ -0,0 +1,11 @@ +type Iri = `${Prefix}:${Suffix}`; + +export type JsonLDDocument = { + "@context": Context; +} & { + [K in keyof Context]?: Context[K] extends keyof PropertyTypes + ? PropertyTypes[Context[K]] + : unknown; +} & { + [K in keyof PropertyTypes]?: PropertyTypes[K]; +} & { [key: Iri]: unknown }; diff --git a/src/JsonLDDocument.typetest.ts b/src/JsonLDDocument.typetest.ts new file mode 100644 index 0000000..86c15cb --- /dev/null +++ b/src/JsonLDDocument.typetest.ts @@ -0,0 +1,50 @@ +import { JsonLDDocument } from "./JsonLDDocument"; + +interface PropertyTypes { + "http://www.example.com/aNumber": number; + "http://www.example.com/multipleNumbers": number; + "http://www.example.com/aString": string; + "http://www.example.com/multipleStrings": string; + "http://www.example.com/aNumberVariable": number; + "http://www.example.com/aStringVariable": string; + "http://www.example.com/anArrayOfString": string; +} + +const createAcceptor = + () => + (d: JsonLDDocument) => {}; + +// A function to take documents (and thus do some type inference) +const acceptDocument = createAcceptor(); + +acceptDocument({ + "@context": { + aNumber: "http://www.example.com/aNumber", + } as const, + aNumber: 1, + "http://www.example.com/aNumber": 2, + "http://www.example.com/unknown": 2, +}); + +// It should accept unknown Iri properties +acceptDocument({ "@context": {}, "http://www.example.com/unknown": 1 }); + +// It should not accept unknown non-Iri properties +// @ts-expect-error +acceptDocument({ "@context": {}, unknown: 1 }); + +// It should accept known Iri properties, and type them +acceptDocument({ "@context": {}, "http://www.example.com/aNumber": 1 }); +// @ts-expect-error +acceptDocument({ "@context": {}, "http://www.example.com/aNumber": "a" }); + +// It should alias properties using the @context +acceptDocument({ + "@context": { + aNumber: "http://www.example.com/aNumber", + alsoANumber: "http://www.example.com/aNumber", + } as const, + aNumber: 1, + // @ts-expect-error + alsoANumber: "a", +}); From d470ea6a59b1de49745cfef1dd652cd28de93f43 Mon Sep 17 00:00:00 2001 From: Petra Jaros Date: Thu, 4 May 2023 11:44:27 -0400 Subject: [PATCH 10/12] WIP --- .vscode/settings.json | 3 + graphs-for-json-ld-1.2.json | 140 +++++++++++++++++++++ graphs-for-json-ld-1.2.md | 210 +++++++++++++++++++++++++++++++ src/JsonLDDocument.ts | 8 +- src/JsonLDDocument.typetest.ts | 35 ++++++ src/type-experiment-inspector.ts | 70 +++++++++++ src/type-experiments.ts | 127 +++++++++++++++++++ 7 files changed, 590 insertions(+), 3 deletions(-) create mode 100644 .vscode/settings.json create mode 100644 graphs-for-json-ld-1.2.json create mode 100644 graphs-for-json-ld-1.2.md create mode 100644 src/type-experiment-inspector.ts create mode 100644 src/type-experiments.ts diff --git a/.vscode/settings.json b/.vscode/settings.json new file mode 100644 index 0000000..1f3312b --- /dev/null +++ b/.vscode/settings.json @@ -0,0 +1,3 @@ +{ + "typescript.tsdk": "/Users/peeja/git/TypeScript/built/local" +} diff --git a/graphs-for-json-ld-1.2.json b/graphs-for-json-ld-1.2.json new file mode 100644 index 0000000..c60d4e3 --- /dev/null +++ b/graphs-for-json-ld-1.2.json @@ -0,0 +1,140 @@ +[ + { + "@context": "http://schema.org/", + "@graph": [ + { + "@id": "ex:addressBook", + "@graph": [ + { + "@id": "ex:jane", + "email": "jane@uni.edu" + } + ] + }, + { + "@id": "ex:campusDirectory", + "@graph": [ + { + "@id": "ex:jane", + "telephone": "(425) 123-4567" + } + ] + }, + { + "@graph": [ + { + "@id": "ex:jane", + "type": "Person", + "jobTitle": "Professor", + "name": "Jane Doe", + "url": "http://www.janedoe.com" + } + ] + } + ] + }, + + { + "@context": "http://schema.org/", + + "@id": "ex:jane", + "type": "Person", + "jobTitle": "Professor", + "name": "Jane Doe", + "url": "http://www.janedoe.com", + + "telephone": { + "@graph": "ex:campusDirectory", + "@value": "(425) 123-4567" + }, + + "email": { + "@graph": "ex:addressBook", + "@value": "jane@uni.edu" + } + }, + + { + "@context": [ + "http://schema.org/", + { "teachesCourseInstances": { "@reverse": "instructor" } } + ], + + "@id": "ex:jane", + "type": "Person", + "name": "Jane Doe", + + "spouse": { + "@graph": "ex:campusDirectory", + "@id": "ex:john", + "type": "Person", + "jobTitle": "Professor", + "name": "John Doe" + }, + + "teachesCourseInstances": { + "@graph": "ex:courseCatalog", + "@set": [ + { + "type": "CourseInstance", + "name": "JSON-LD for You and Me", + "about": "https://www.w3.org/TR/json-ld11/" + }, + { + "type": "CourseInstance", + "name": "Schema.org: A Semantic Smorgasbord", + "about": "http://schema.org/" + } + ] + } + }, + + { + "@context": [ + "http://schema.org/", + { + "Person": { + "telephone": { "@graph": "ex:campusDirectory" }, + "email": { "@graph": "ex:addressBook" }, + "spouse": { "@graph": "ex:campusDirectory" }, + "teachesCourseInstances": { + "@reverse": "instructor", + "@graph": "ex:courseCatalog" + } + } + } + ], + + "@id": "ex:jane", + "type": "Person", + "jobTitle": "Professor", + "name": "Jane Doe", + "url": "http://www.janedoe.com", + + "telephone": "(425) 123-4567", + "email": "jane@uni.edu", + + "spouse": { + "@id": "ex:john", + "type": "Person", + "jobTitle": "Professor", + "name": "John Doe", + + "telephone": "(425) 123-9876", + "email": "john@uni.edu" + }, + + "teachesCourseInstances": [ + { + "type": "CourseInstance", + "name": "JSON-LD for You and Me", + "about": "https://www.w3.org/TR/json-ld11/" + }, + { + "type": "CourseInstance", + "name": "Schema.org: A Semantic Smorgasbord", + "about": "http://schema.org/" + } + ] + } +] diff --git a/graphs-for-json-ld-1.2.md b/graphs-for-json-ld-1.2.md new file mode 100644 index 0000000..37ed737 --- /dev/null +++ b/graphs-for-json-ld-1.2.md @@ -0,0 +1,210 @@ +_Disclaimer: The following represents some thinking I've done lately about multi-graph support in JSON-LD in anticipation of some ideas for [m-ld](https://m-ld.io) and [Web Zero](https://nlnet.nl/project/WebZero/). The use case is not inspired by an immediate concrete need, and therefore should be taken with some skepticism. I'm posting it here mainly to see if it aligns with ideas others are having, and for reference if/when the needs I'm thinking of become more concrete. If having this issue open is unproductive, feel free to close._ + +--- + +The `@graph` mechanism is currently optimized syntactically for graphs which describe disjoint sets of subjects. It's also nicely suited for graphs which themselves are also objects of properties (or, technically, share a name with objects of properties). It's not currently well suited for multiple graphs making statements about the same subject (unless I'm missing a different way to use `@graph`). Consider the following data: + +```turtle + . + "Jane Doe" . + "Professor" . + . + + "(425) 123-4567" . + "jane@uni.edu" . +``` + +This represents three graphs each describing various facts about Prof. Jane Doe: the default graph describing her personhood, name, title, and URL, the campus directory listing her phone number, and an address book listing her email address. In JSON-LD 1.1, I believe this is the most compact way to represent this data: + +```json +{ + "@context": "http://schema.org/", + "@graph": [ + { + "@id": "ex:jane", + "type": "Person", + "jobTitle": "Professor", + "name": "Jane Doe", + "url": "http://www.janedoe.com" + }, + { + "@id": "ex:addressBook", + "@graph": [ + { + "@id": "ex:jane", + "email": "jane@uni.edu" + } + ] + }, + { + "@id": "ex:campusDirectory", + "@graph": [ + { + "@id": "ex:jane", + "telephone": "(425) 123-4567" + } + ] + } + ] +} +``` + +Even though all of the facts here are about Jane, we have to keep some of the facts quite far away from the others because they belong to different graphs. Again, this approach is perfectly natural when the multiple graphs in a dataset tend to describe disjoint sets of subjects, but awkward when they tend to describe the same set of subjects (even when they use disjoint sets of predicates to describe those subjects). + +As [the `@graph` key must currently always map to a node object or array of node objects](https://www.w3.org/TR/json-ld11/#named-graphs), we might use string values of `@graph` to convey this. Whereas the existing use of `@graph` in JSON-LD 1.1 reads as something like "…is a graph which contains…", this use of `@graph` should read as something like "…according to the graph named…". + +```json +{ + "@context": "http://schema.org/", + + "@id": "ex:jane", + "type": "Person", + "jobTitle": "Professor", + "name": "Jane Doe", + "url": "http://www.janedoe.com", + + "telephone": { + "@graph": "ex:campusDirectory", + "@value": "(425) 123-4567" + }, + + "email": { + "@graph": "ex:addressBook", + "@value": "jane@uni.edu" + } +} +``` + +What about when the objects aren't values? + +```json +{ + "@context": [ + "http://schema.org/", + { "teachesCourseInstances": { "@reverse": "instructor" } } + ], + + "@id": "ex:jane", + "type": "Person", + "name": "Jane Doe", + + "spouse": { + "@graph": "ex:campusDirectory", + "@id": "ex:john", + "type": "Person", + "name": "John Doe", + "jobTitle": "Professor" + }, + + "teachesCourseInstances": { + "@graph": "ex:courseCatalog", + "@set": [ + { + "type": "CourseInstance", + "name": "JSON-LD for You and Me", + "about": "https://www.w3.org/TR/json-ld11/" + }, + { + "type": "CourseInstance", + "name": "Schema.org: A Semantic Smorgasbord", + "about": "http://schema.org/" + } + ] + } +} +``` + +Under `spouse`, John has a `@graph` key. If the value of that key were a node object or array of node objects, this would mean that John is also (or shares an identifier with) a named graph containing the data in those objects. In this case, though, it means both: + +1. That ` schema:spouse ` is a triple in `ex:campusDirectory`, and +2. That ` a schema:Person; schema:name "John Doe"; schema:jobTitle "Professor"` are all triples in `ex:campusDirectory` as well. + +That is, the `@graph` cascades into deeper nodes in the tree. My assumption here is that this would match up with typical usage and be convenient for an author. + +Under `teachesCourseInstances`, we have a `@set` which has a `@graph`. This is exactly equivalent to putting the same `@graph` key in each of the set elements, which again means both that the fact of each element being in the set is in the graph `ex:courseCatalog`, _and_ that the `name` and `about` values given for each of them is also in `ex:courseCatalog`. + +A `@graph` with a string at the top level would simply set the name of the graph to cascade into deeper nodes. + +--- + +Secondly, I propose an equivalent method to specify the graph name within the context: + +```json +{ + "@context": [ + "http://schema.org/", + { + "telephone": { "@graph": "ex:campusDirectory" }, + "email": { "@graph": "ex:addressBook" }, + "spouse": { "@graph": "ex:campusDirectory" }, + "teachesCourseInstances": { + "@reverse": "instructor", + "@graph": "ex:courseCatalog" + } + } + ], + + "@id": "ex:jane", + "type": "Person", + "jobTitle": "Professor", + "name": "Jane Doe", + "url": "http://www.janedoe.com", + + "telephone": "(425) 123-4567", + "email": "jane@uni.edu", + + "spouse": { + "@id": "ex:john", + "type": "Person", + "jobTitle": "Professor", + "name": "John Doe", + + "telephone": "(425) 123-9876", + "email": "john@uni.edu" + }, + + "teachesCourseInstances": [ + { + "type": "CourseInstance", + "name": "JSON-LD for You and Me", + "about": "https://www.w3.org/TR/json-ld11/" + }, + { + "type": "CourseInstance", + "name": "Schema.org: A Semantic Smorgasbord", + "about": "http://schema.org/" + } + ] +} +``` + +This document is semantically equivalent to the combination of the examples before, with the addition of John's telephone number and email address. Note that these are stated here to be in the `ex:campusDirectory` and `ex:addressBook` graphs respectively, just like Jane's, because the `@graph` is defined for those properties generally, in the context. This is convenient when a particular graph "owns" a particular set of properties—in this case, we expect telephone numbers and email addresses to always live in those respective graphs. If that were true specifically when the subject is a `Person`, we could even type-scope it: + +```json +{ + "@context": [ + "http://schema.org/", + { + "Person": { + "telephone": { "@graph": "ex:campusDirectory" }, + "email": { "@graph": "ex:addressBook" }, + "spouse": { "@graph": "ex:campusDirectory" }, + "teachesCourseInstances": { + "@reverse": "instructor", + "@graph": "ex:courseCatalog" + } + } + } + ] +} +``` + +--- + +Having written all that out, some caveats: + +- Overloading `@graph` this way may be too messy or confusing, even though it's technically unambiguous. It can clash in the case where you want both semantics: If you want the fact that John is Jane's spouse to be in the `ex:campusDirectory` graph _and_ John is himself a graph containing more statements, you'd want to use `@graph` on John's node for both things. We could do exactly what I've proposed above but with a different keyword, though it seems kind of a shame not to use a keyword called `@graph` for this. 😄 + +- Exactly how the `@context` version works, especially in terms of how it cascades, is poorly specified above. It's possible what I've written paints the idea into a corner that can't be resolved, or can't be made non-confusing. + +- As mentioned at the top, this is based on speculative use cases more than real ones at the moment. I intend to return to it if/when the use cases I have in mind become more concrete, but if people reading have concrete use cases in mind, let's consider how well this proposal would apply to them. diff --git a/src/JsonLDDocument.ts b/src/JsonLDDocument.ts index 154d01e..48f4b7f 100644 --- a/src/JsonLDDocument.ts +++ b/src/JsonLDDocument.ts @@ -1,11 +1,13 @@ type Iri = `${Prefix}:${Suffix}`; -export type JsonLDDocument = { - "@context": Context; -} & { +type _JsonLDDocument = { [K in keyof Context]?: Context[K] extends keyof PropertyTypes ? PropertyTypes[Context[K]] : unknown; } & { [K in keyof PropertyTypes]?: PropertyTypes[K]; } & { [key: Iri]: unknown }; + +export type JsonLDDocument = { + "@context": Context; +} & _JsonLDDocument; diff --git a/src/JsonLDDocument.typetest.ts b/src/JsonLDDocument.typetest.ts index 86c15cb..fbebbd4 100644 --- a/src/JsonLDDocument.typetest.ts +++ b/src/JsonLDDocument.typetest.ts @@ -1,4 +1,5 @@ import { JsonLDDocument } from "./JsonLDDocument"; +import { Equal } from "./testUtils/Equal"; interface PropertyTypes { "http://www.example.com/aNumber": number; @@ -48,3 +49,37 @@ acceptDocument({ // @ts-expect-error alsoANumber: "a", }); + +///// + +declare const empty: unique symbol; + +type Empty = { + [empty]?: undefined; +}; + +type Foo = { "@context": Context } | { [K in "@context"]: never }; + +// true satisfies Equal, { "@context"?: Empty }>; + +({} satisfies Foo); +({ "@context": {} } satisfies Foo); +// @ts-expect-error +({ "@context": { a: 1 } } satisfies Foo); +({ "@context": { a: "ex:a" } } satisfies Foo<{ a: "ex:a" }>); +// @ts-expect-error +({} satisfies Foo<{ a: "ex:a" }>); + +type A = { a: never }; + +type StringLiteral = self extends string + ? string extends self + ? Never<`Type '${Print}' is not assignable to type 'StringLiteral'`> + : self + : string; + +function takesLiteral(l: StringLiteral): void {} + +takesLiteral("abc"); +declare const str: string; +takesLiteral(str); diff --git a/src/type-experiment-inspector.ts b/src/type-experiment-inspector.ts new file mode 100644 index 0000000..36293ce --- /dev/null +++ b/src/type-experiment-inspector.ts @@ -0,0 +1,70 @@ +import * as ts from "typescript"; + +/** + * True if this is visible outside this file, false otherwise + * From: + * https://github.com/microsoft/TypeScript-wiki/blob/main/Using-the-Compiler-API.md + */ +function isNodeExported(declaration: ts.Declaration): boolean { + return ( + (ts.getCombinedModifierFlags(declaration) & ts.ModifierFlags.Export) !== 0 + ); +} + +function extractExportedTypeSignatures(filename: string): string[] { + const program: ts.Program = ts.createProgram([filename], { + emitDeclarationOnly: true, + }); + const sourceFile: ts.SourceFile | undefined = program.getSourceFile(filename); + const typeChecker: ts.TypeChecker = program.getTypeChecker(); + + if (!sourceFile) { + throw new Error(`'${filename}' not found`); + } + + // Get the declaration node you're looking for by it's type name. + // This condition can be adjusted to your needs + const statements = sourceFile.statements + .filter(ts.isTypeAliasDeclaration) + .filter((s) => isNodeExported(s)); + + // if (!statement) { + // throw new Error(`Type: '${aliasName}' not found in file: '${filename}'`); + // } + + // const flags = Object.keys(ts.TypeFormatFlags).filter((k) => isNaN(k as any)); + + // return statements.map( + // (statement) => + // `type ${statement.name.text} = ${typeChecker.typeToString( + // typeChecker.getTypeAtLocation(statement), + // statement, + // ts.TypeFormatFlags.InTypeAlias + // )}` + // ); + + return statements.map((statement) => { + const type: ts.Type = typeChecker.getTypeAtLocation(statement); + console.log(typeChecker.typeToString(type)); + const fields: string[] = []; + // Iterate over the `ts.Symbol`s representing Property Nodes of `ts.Type` + // console.log("getPropertiesOfType:", typeChecker.getPropertiesOfType(type)); + console.log(type.flags); + for (const prop of type.getProperties()) { + const name: string = prop.getName(); + const propType: ts.Type = typeChecker.getTypeOfSymbolAtLocation( + prop, + statement + ); + const propTypeName: string = typeChecker.typeToString(propType); + fields.push(`${name}: ${propTypeName};`); + } + return `type ${statement.name.text} = {\n ${fields.join("\n ")}\n}`; + }); +} + +const typeSignatures = extractExportedTypeSignatures( + "./src/type-experiments-query.ts" +); + +console.log("\n---\n\n" + typeSignatures.join("\n\n")); diff --git a/src/type-experiments.ts b/src/type-experiments.ts new file mode 100644 index 0000000..b26b431 --- /dev/null +++ b/src/type-experiments.ts @@ -0,0 +1,127 @@ +export {}; + +const todo = { + "@context": { + "@vocab": "https://todomvc.com/vocab/", + items: { + "@context": { + "@vocab": "http://www.w3.org/2002/12/cal/icaltzd#", + }, + "@container": "@list", + }, + }, + "@type": "Vtodo", + status: "COMPLETED", + summary: "Taste JavaScript", + uid: "DB2CCFFD-1B37-4CA4-81B9-D724DFB70BA8", +}; + +// @vocab + +// type Iri = string; + +const withContext = { + "@context": { "@vocab": "http://schema.org/" }, + "@id": "http://example.org/library/the-republic", + "@type": "Book", + // "creator": "Plato", + name: "The Republic", + // "contains": "http://example.org/library/the-republic#introduction" + numberOfPages: 692, +}; + +type WithContext = { + "@context": { + "@vocab": "http://schema.org/"; + ex: "http://example.com/"; + height: "http://dimensions.example.com/height"; + }; + "@id": "http://example.org/library/the-republic"; + "@type": string; + // "creator": "Plato", + name: string; + // "contains": "http://example.org/library/the-republic#introduction" + numberOfPages: number; + "http://schema.org/abridged": boolean; + "ex:colorOfCover": string; + height: string; +}; + +const withoutContext = { + "@id": "http://example.org/library/the-republic", + "@type": "http://schema.org/Book", + "http://schema.org/name": "The Republic", + "http://schema.org/numberOfPages": 692, +}; + +type WithoutContext = { + "@id": string; + "@type": string; + "http://schema.org/name": string; + "http://schema.org/numberOfPages": number; +}; + +// TODO: Wildly incomplete. +type JSONObject = Record; +type Context = JSONObject; +type ContextedObject = JSONObject & { "@context": Context }; +type VocabedContext = { "@vocab": string }; + +type Iri = `${string}:${string}`; + +type VocabExpand = C extends VocabedContext + ? P extends Iri + ? unknown + : `${C["@vocab"]}${P}` + : unknown; + +type PrefixExpand< + C extends Context, + P extends string +> = P extends `${infer Prefix}:${infer Suffix}` + ? Prefix extends keyof C + ? C[Prefix] extends string + ? `${C[Prefix]}${Suffix}` + : unknown + : unknown + : unknown; + +type TermExpand = P extends keyof C + ? C[P] extends string + ? C[P] + : unknown + : unknown; + +type Expand = { + [P in Extract as P extends Keyword + ? P + : TermExpand extends Extract + ? Extract + : PrefixExpand extends Extract + ? Extract + : VocabExpand extends Extract + ? Extract + : P extends Iri + ? P + : never]: WC[P]; +}; + +type Keyword = `@${string}`; + +export type Output = Expand; + +// const a: Expand = { +// "@id": "http://example.org/library/the-republic", +// "@type": "http://schema.org/Book", +// "http://schema.org/name": "The Republic", +// "http://schema.org/numberOfPages": 692, +// }; + +interface Foo { + /** This is some documentation! */ + a: number; +} + +type Bar = { [P in keyof Foo]: Foo[P] }; + +// const b: Bar["a"]; From 06157c842efd8ce4dc62ebf38777cc5790126a1d Mon Sep 17 00:00:00 2001 From: Petra Jaros Date: Thu, 4 May 2023 13:34:10 -0400 Subject: [PATCH 11/12] WIP --- src/JsonLDDocument.ts | 9 ++- src/JsonLDDocument.typetest.ts | 103 ++++++++++++++++++++++----------- src/play.ts | 13 +++++ 3 files changed, 89 insertions(+), 36 deletions(-) create mode 100644 src/play.ts diff --git a/src/JsonLDDocument.ts b/src/JsonLDDocument.ts index 48f4b7f..4b389b2 100644 --- a/src/JsonLDDocument.ts +++ b/src/JsonLDDocument.ts @@ -8,6 +8,9 @@ type _JsonLDDocument = { [K in keyof PropertyTypes]?: PropertyTypes[K]; } & { [key: Iri]: unknown }; -export type JsonLDDocument = { - "@context": Context; -} & _JsonLDDocument; +export type JsonLDDocument = self extends { + "@context": infer Context; + [k: string]: any; +} + ? { "@context": Context } & _JsonLDDocument + : _JsonLDDocument; diff --git a/src/JsonLDDocument.typetest.ts b/src/JsonLDDocument.typetest.ts index fbebbd4..648f1a2 100644 --- a/src/JsonLDDocument.typetest.ts +++ b/src/JsonLDDocument.typetest.ts @@ -13,7 +13,7 @@ interface PropertyTypes { const createAcceptor = () => - (d: JsonLDDocument) => {}; + (d: JsonLDDocument) => {}; // A function to take documents (and thus do some type inference) const acceptDocument = createAcceptor(); @@ -46,40 +46,77 @@ acceptDocument({ alsoANumber: "http://www.example.com/aNumber", } as const, aNumber: 1, - // @ts-expect-error - alsoANumber: "a", + alsoANumber: 1, }); -///// - -declare const empty: unique symbol; - -type Empty = { - [empty]?: undefined; -}; - -type Foo = { "@context": Context } | { [K in "@context"]: never }; - -// true satisfies Equal, { "@context"?: Empty }>; - -({} satisfies Foo); -({ "@context": {} } satisfies Foo); // @ts-expect-error -({ "@context": { a: 1 } } satisfies Foo); -({ "@context": { a: "ex:a" } } satisfies Foo<{ a: "ex:a" }>); -// @ts-expect-error -({} satisfies Foo<{ a: "ex:a" }>); - -type A = { a: never }; - -type StringLiteral = self extends string - ? string extends self - ? Never<`Type '${Print}' is not assignable to type 'StringLiteral'`> - : self - : string; +acceptDocument({ + "@context": { + aNumber: "http://www.example.com/aNumber", + alsoANumber: "http://www.example.com/aNumber", + } as const, + alsoANumber: "a", +}); -function takesLiteral(l: StringLiteral): void {} +///// -takesLiteral("abc"); -declare const str: string; -takesLiteral(str); +// declare const empty: unique symbol; + +// type Empty = { +// [empty]?: undefined; +// }; + +// type Foo = { "@context": Context } | { [K in "@context"]: never }; + +// // true satisfies Equal, { "@context"?: Empty }>; + +// ({} satisfies Foo); +// ({ "@context": {} } satisfies Foo); +// // @ts-expect-error +// ({ "@context": { a: 1 } } satisfies Foo); +// ({ "@context": { a: "ex:a" } } satisfies Foo<{ a: "ex:a" }>); +// // @ts-expect-error +// ({} satisfies Foo<{ a: "ex:a" }>); + +// type A = { a: never }; + +// type StringLiteral = self extends string +// ? string extends self +// ? Never<`Type '${Print}' is not assignable to type 'StringLiteral'`> +// : self +// : string; + +// function takesLiteral(l: StringLiteral): void {} + +// takesLiteral("abc"); +// declare const str: string; +// takesLiteral(str); + +// // type Bar = + +// // const b: Bar = {}; + +// type B = { +// "@context": { readonly aNumber: "http://www.example.com/aNumber" }; +// aNumber: number; +// "http://www.example.com/aNumber": number; +// "http://www.example.com/unknown": number; +// } extends { "@context": {} } +// ? true +// : false; + +// type Foo = self extends { +// "@context": infer Context; +// [k: string]: any; +// } +// ? Print +// : Print<{}>; + +// const aDoc: Foo = { +// "@context": { +// aNumber: "http://www.example.com/aNumber", +// } as const, +// // aNumber: 1, +// // "http://www.example.com/aNumber": 2, +// // "http://www.example.com/unknown": 2, +// }; diff --git a/src/play.ts b/src/play.ts new file mode 100644 index 0000000..39ca221 --- /dev/null +++ b/src/play.ts @@ -0,0 +1,13 @@ +export {}; + +type SelfTyped = self extends { + a: infer A; + [k: string]: any; +} + ? { a: A; b?: 2 } + : never; + +const b: SelfTyped = { + a: 1, + // b: 2, +}; From f812540ee3b346cf38f3a91a079866fa09fc8c5b Mon Sep 17 00:00:00 2001 From: Petra Jaros Date: Fri, 5 May 2023 15:29:22 -0400 Subject: [PATCH 12/12] WIP --- src/JsonLDDocument.ts | 39 ++++++++++---- src/JsonLDDocument.typetest.ts | 95 ++++++++++++---------------------- 2 files changed, 62 insertions(+), 72 deletions(-) diff --git a/src/JsonLDDocument.ts b/src/JsonLDDocument.ts index 4b389b2..f9e7b72 100644 --- a/src/JsonLDDocument.ts +++ b/src/JsonLDDocument.ts @@ -1,16 +1,35 @@ +export type Scalar = string | number | boolean | null; + type Iri = `${Prefix}:${Suffix}`; -type _JsonLDDocument = { +type Thing = self extends object + ? "an object" + : "not an object"; +// | Scalar +// | NodeObject; + +type _NodeObject = { [K in keyof Context]?: Context[K] extends keyof PropertyTypes ? PropertyTypes[Context[K]] - : unknown; -} & { + : Thing; +} /* & { [K in keyof PropertyTypes]?: PropertyTypes[K]; -} & { [key: Iri]: unknown }; +} & { [key: Iri]: Thing } */; + +type NextContext = OuterContext & LocalContext; + +export type NodeObject = F extends true + ? never + : self extends { + "@context": infer LocalContext; + [k: string]: any; + } + ? { + "@context": LocalContext; + } & _NodeObject> + : _NodeObject>; -export type JsonLDDocument = self extends { - "@context": infer Context; - [k: string]: any; -} - ? { "@context": Context } & _JsonLDDocument - : _JsonLDDocument; +export type JsonLDDocument = NodeObject< + PropertyTypes, + OuterContext +>; diff --git a/src/JsonLDDocument.typetest.ts b/src/JsonLDDocument.typetest.ts index 648f1a2..4781fc9 100644 --- a/src/JsonLDDocument.typetest.ts +++ b/src/JsonLDDocument.typetest.ts @@ -1,4 +1,4 @@ -import { JsonLDDocument } from "./JsonLDDocument"; +import { JsonLDDocument, NodeObject } from "./JsonLDDocument"; import { Equal } from "./testUtils/Equal"; interface PropertyTypes { @@ -29,15 +29,21 @@ acceptDocument({ // It should accept unknown Iri properties acceptDocument({ "@context": {}, "http://www.example.com/unknown": 1 }); +acceptDocument({ "http://www.example.com/unknown": 1 }); // It should not accept unknown non-Iri properties // @ts-expect-error acceptDocument({ "@context": {}, unknown: 1 }); +// @ts-expect-error +acceptDocument({ unknown: 1 }); // It should accept known Iri properties, and type them acceptDocument({ "@context": {}, "http://www.example.com/aNumber": 1 }); +acceptDocument({ "http://www.example.com/aNumber": 1 }); // @ts-expect-error acceptDocument({ "@context": {}, "http://www.example.com/aNumber": "a" }); +// @ts-expect-error +acceptDocument({ "http://www.example.com/aNumber": "a" }); // It should alias properties using the @context acceptDocument({ @@ -58,65 +64,30 @@ acceptDocument({ alsoANumber: "a", }); -///// - -// declare const empty: unique symbol; - -// type Empty = { -// [empty]?: undefined; -// }; - -// type Foo = { "@context": Context } | { [K in "@context"]: never }; - -// // true satisfies Equal, { "@context"?: Empty }>; - -// ({} satisfies Foo); -// ({ "@context": {} } satisfies Foo); -// // @ts-expect-error -// ({ "@context": { a: 1 } } satisfies Foo); -// ({ "@context": { a: "ex:a" } } satisfies Foo<{ a: "ex:a" }>); -// // @ts-expect-error -// ({} satisfies Foo<{ a: "ex:a" }>); - -// type A = { a: never }; - -// type StringLiteral = self extends string -// ? string extends self -// ? Never<`Type '${Print}' is not assignable to type 'StringLiteral'`> -// : self -// : string; - -// function takesLiteral(l: StringLiteral): void {} - -// takesLiteral("abc"); -// declare const str: string; -// takesLiteral(str); - -// // type Bar = - -// // const b: Bar = {}; - -// type B = { -// "@context": { readonly aNumber: "http://www.example.com/aNumber" }; -// aNumber: number; -// "http://www.example.com/aNumber": number; -// "http://www.example.com/unknown": number; -// } extends { "@context": {} } -// ? true -// : false; - -// type Foo = self extends { -// "@context": infer Context; -// [k: string]: any; -// } -// ? Print -// : Print<{}>; +// It should cascade the context. +acceptDocument({ + "@context": { + aNumber: "http://www.example.com/aNumber", + somethingElse: "http://www.example.com/somethingElse", + } as const, + aNumber: 1, + somethingElse: { + // "@context": { + // aString: "http://www.example.com/aString", + // } as const, + // aNumber: 1, + // aString: "a", + // @ts-expect-erro/r + // unknown: 2, + }, +}); -// const aDoc: Foo = { -// "@context": { -// aNumber: "http://www.example.com/aNumber", -// } as const, -// // aNumber: 1, -// // "http://www.example.com/aNumber": 2, -// // "http://www.example.com/unknown": 2, -// }; +// Type '{}' is not assignable to type ' +// type A = NodeObject< +// PropertyTypes, +// { +// readonly aNumber: "http://www.example.com/aNumber"; +// readonly somethingElse: "http://www.example.com/somethingElse"; +// } +// >; +// const a: A = {};