diff --git a/ReadMe.md b/ReadMe.md
index eba521d..d981a1b 100644
--- a/ReadMe.md
+++ b/ReadMe.md
@@ -160,48 +160,7 @@ serviceWorker?.addEventListener('controllerchange', () =>
### Internationalization
-`source/i18n/en-US.ts`
-
-```typescript
-export enum en_US {
- title = 'Title',
- name = 'Name'
-}
-```
-
-`source/i18n/zh-CN.ts`
-
-```typescript
-export enum zh_CN {
- title = '标题',
- name = '名称'
-}
-```
-
-`source/index.tsx`
-
-```javascript
-import { render, createCell } from 'web-cell';
-import { documentReady, bootI18n, textJoin } from 'web-utility';
-
-import { en_US } from './i18n/en-US';
-import { zh_CN } from './i18n/zh-CN';
-
-console.log(
- navigator.languages.includes('zh-CN'), // true
- document.documentElement.lang // ''
-);
-const { language, words } = bootI18n({
- 'en-US': en_US,
- 'zh-CN': zh_CN
-});
-documentReady.then(() =>
- render(
-
{textJoin(words.title, words.name, 'test', 'example')}
- // 标题名称 test example
- );
-);
-```
+Migrate to [MobX i18n][9] since v4.
### Test scripts
@@ -247,3 +206,4 @@ describe('My module', async () => {
[6]: https://mochajs.org/
[7]: https://jestjs.io/
[8]: https://typestrong.org/ts-node/
+[9]: https://github.com/idea2app/MobX-i18n
diff --git a/package.json b/package.json
index 43c4baf..f5be015 100644
--- a/package.json
+++ b/package.json
@@ -1,6 +1,6 @@
{
"name": "web-utility",
- "version": "3.9.9",
+ "version": "4.0.0",
"license": "LGPL-3.0",
"author": "shiy2008@gmail.com",
"description": "Web front-end toolkit based on TypeScript",
@@ -24,9 +24,9 @@
"main": "dist/index.js",
"module": "dist/index.esm.js",
"dependencies": {
- "@swc/helpers": "^0.4.12",
- "element-internals-polyfill": "^1.1.14",
- "regenerator-runtime": "^0.13.10"
+ "@swc/helpers": "^0.4.14",
+ "element-internals-polyfill": "^1.1.17",
+ "regenerator-runtime": "^0.13.11"
},
"peerDependencies": {
"typescript": "^4.1.0"
@@ -34,20 +34,20 @@
"devDependencies": {
"@parcel/packager-ts": "~2.6.2",
"@parcel/transformer-typescript-types": "~2.6.2",
- "@peculiar/webcrypto": "^1.4.0",
- "@types/jest": "^29.1.2",
- "@types/node": "^16.11.66",
- "@webcomponents/webcomponentsjs": "^2.6.0",
- "husky": "^8.0.1",
+ "@peculiar/webcrypto": "^1.4.1",
+ "@types/jest": "^29.2.4",
+ "@types/node": "^16.18.10",
+ "@webcomponents/webcomponentsjs": "^2.7.0",
+ "husky": "^8.0.2",
"intersection-observer": "^0.12.2",
- "jest": "^29.2.0",
- "jest-environment-jsdom": "^29.2.0",
- "lint-staged": "^13.0.3",
+ "jest": "^29.3.1",
+ "jest-environment-jsdom": "^29.3.1",
+ "lint-staged": "^13.1.0",
"open-cli": "^7.1.0",
"parcel": "~2.6.2",
- "prettier": "^2.7.1",
+ "prettier": "^2.8.1",
"ts-jest": "^29.0.3",
- "typedoc": "^0.23.16",
+ "typedoc": "^0.23.22",
"typedoc-plugin-mdn-links": "^2.0.0",
"typescript": "~4.7.4"
},
diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml
index cf65001..44c79a1 100644
--- a/pnpm-lock.yaml
+++ b/pnpm-lock.yaml
@@ -3,49 +3,49 @@ lockfileVersion: 5.4
specifiers:
'@parcel/packager-ts': ~2.6.2
'@parcel/transformer-typescript-types': ~2.6.2
- '@peculiar/webcrypto': ^1.4.0
- '@swc/helpers': ^0.4.12
- '@types/jest': ^29.1.2
- '@types/node': ^16.11.66
- '@webcomponents/webcomponentsjs': ^2.6.0
- element-internals-polyfill: ^1.1.14
- husky: ^8.0.1
+ '@peculiar/webcrypto': ^1.4.1
+ '@swc/helpers': ^0.4.14
+ '@types/jest': ^29.2.4
+ '@types/node': ^16.18.10
+ '@webcomponents/webcomponentsjs': ^2.7.0
+ element-internals-polyfill: ^1.1.17
+ husky: ^8.0.2
intersection-observer: ^0.12.2
- jest: ^29.2.0
- jest-environment-jsdom: ^29.2.0
- lint-staged: ^13.0.3
+ jest: ^29.3.1
+ jest-environment-jsdom: ^29.3.1
+ lint-staged: ^13.1.0
open-cli: ^7.1.0
parcel: ~2.6.2
- prettier: ^2.7.1
- regenerator-runtime: ^0.13.10
+ prettier: ^2.8.1
+ regenerator-runtime: ^0.13.11
ts-jest: ^29.0.3
- typedoc: ^0.23.16
+ typedoc: ^0.23.22
typedoc-plugin-mdn-links: ^2.0.0
typescript: ~4.7.4
dependencies:
- '@swc/helpers': 0.4.12
- element-internals-polyfill: 1.1.14
- regenerator-runtime: 0.13.10
+ '@swc/helpers': 0.4.14
+ element-internals-polyfill: 1.1.17
+ regenerator-runtime: 0.13.11
devDependencies:
'@parcel/packager-ts': 2.6.2
'@parcel/transformer-typescript-types': 2.6.2_typescript@4.7.4
- '@peculiar/webcrypto': 1.4.0
- '@types/jest': 29.1.2
- '@types/node': 16.11.66
- '@webcomponents/webcomponentsjs': 2.6.0
- husky: 8.0.1
+ '@peculiar/webcrypto': 1.4.1
+ '@types/jest': 29.2.4
+ '@types/node': 16.18.10
+ '@webcomponents/webcomponentsjs': 2.7.0
+ husky: 8.0.2
intersection-observer: 0.12.2
- jest: 29.2.0_@types+node@16.11.66
- jest-environment-jsdom: 29.2.0
- lint-staged: 13.0.3
+ jest: 29.3.1_@types+node@16.18.10
+ jest-environment-jsdom: 29.3.1
+ lint-staged: 13.1.0
open-cli: 7.1.0
parcel: 2.6.2
- prettier: 2.7.1
- ts-jest: 29.0.3_ihhzkrnprqx3xisyi6en647bvi
- typedoc: 0.23.16_typescript@4.7.4
- typedoc-plugin-mdn-links: 2.0.0_typedoc@0.23.16
+ prettier: 2.8.1
+ ts-jest: 29.0.3_wkdujqsgbnfnnp5xidismkcn6e
+ typedoc: 0.23.22_typescript@4.7.4
+ typedoc-plugin-mdn-links: 2.0.0_typedoc@0.23.22
typescript: 4.7.4
packages:
@@ -399,20 +399,20 @@ packages:
engines: {node: '>=8'}
dev: true
- /@jest/console/29.2.0:
- resolution: {integrity: sha512-Xz1Wu+ZZxcB3RS8U3HdkFxlRJ7kLXI/by9X7d2/gvseIWPwYu/c1EsYy77cB5iyyHGOy3whS2HycjcuzIF4Jow==}
+ /@jest/console/29.3.1:
+ resolution: {integrity: sha512-IRE6GD47KwcqA09RIWrabKdHPiKDGgtAL31xDxbi/RjQMsr+lY+ppxmHwY0dUEV3qvvxZzoe5Hl0RXZJOjQNUg==}
engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
dependencies:
- '@jest/types': 29.2.0
- '@types/node': 16.11.66
+ '@jest/types': 29.3.1
+ '@types/node': 16.18.10
chalk: 4.1.2
- jest-message-util: 29.2.0
- jest-util: 29.2.0
+ jest-message-util: 29.3.1
+ jest-util: 29.3.1
slash: 3.0.0
dev: true
- /@jest/core/29.2.0:
- resolution: {integrity: sha512-+gyJ3bX+kGEW/eqt/0kI7fLjqiFr3AN8O+rlEl1fYRf7D8h4Sj4tBGo9YOSirvWgvemoH2EPRya35bgvcPFzHQ==}
+ /@jest/core/29.3.1:
+ resolution: {integrity: sha512-0ohVjjRex985w5MmO5L3u5GR1O30DexhBSpuwx2P+9ftyqHdJXnk7IUWiP80oHMvt7ubHCJHxV0a0vlKVuZirw==}
engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
peerDependencies:
node-notifier: ^8.0.1 || ^9.0.0 || ^10.0.0
@@ -420,32 +420,32 @@ packages:
node-notifier:
optional: true
dependencies:
- '@jest/console': 29.2.0
- '@jest/reporters': 29.2.0
- '@jest/test-result': 29.2.0
- '@jest/transform': 29.2.0
- '@jest/types': 29.2.0
- '@types/node': 16.11.66
+ '@jest/console': 29.3.1
+ '@jest/reporters': 29.3.1
+ '@jest/test-result': 29.3.1
+ '@jest/transform': 29.3.1
+ '@jest/types': 29.3.1
+ '@types/node': 16.18.10
ansi-escapes: 4.3.2
chalk: 4.1.2
ci-info: 3.3.2
exit: 0.1.2
graceful-fs: 4.2.10
jest-changed-files: 29.2.0
- jest-config: 29.2.0_@types+node@16.11.66
- jest-haste-map: 29.2.0
- jest-message-util: 29.2.0
+ jest-config: 29.3.1_@types+node@16.18.10
+ jest-haste-map: 29.3.1
+ jest-message-util: 29.3.1
jest-regex-util: 29.2.0
- jest-resolve: 29.2.0
- jest-resolve-dependencies: 29.2.0
- jest-runner: 29.2.0
- jest-runtime: 29.2.0
- jest-snapshot: 29.2.0
- jest-util: 29.2.0
- jest-validate: 29.2.0
- jest-watcher: 29.2.0
+ jest-resolve: 29.3.1
+ jest-resolve-dependencies: 29.3.1
+ jest-runner: 29.3.1
+ jest-runtime: 29.3.1
+ jest-snapshot: 29.3.1
+ jest-util: 29.3.1
+ jest-validate: 29.3.1
+ jest-watcher: 29.3.1
micromatch: 4.0.5
- pretty-format: 29.2.0
+ pretty-format: 29.3.1
slash: 3.0.0
strip-ansi: 6.0.1
transitivePeerDependencies:
@@ -453,66 +453,59 @@ packages:
- ts-node
dev: true
- /@jest/environment/29.2.0:
- resolution: {integrity: sha512-foaVv1QVPB31Mno3LlL58PxEQQOLZd9zQfCpyQQCQIpUAtdFP1INBjkphxrCfKT13VxpA0z5jFGIkmZk0DAg2Q==}
+ /@jest/environment/29.3.1:
+ resolution: {integrity: sha512-pMmvfOPmoa1c1QpfFW0nXYtNLpofqo4BrCIk6f2kW4JFeNlHV2t3vd+3iDLf31e2ot2Mec0uqZfmI+U0K2CFag==}
engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
dependencies:
- '@jest/fake-timers': 29.2.0
- '@jest/types': 29.2.0
- '@types/node': 16.11.66
- jest-mock: 29.2.0
+ '@jest/fake-timers': 29.3.1
+ '@jest/types': 29.3.1
+ '@types/node': 16.18.10
+ jest-mock: 29.3.1
dev: true
- /@jest/expect-utils/29.0.2:
- resolution: {integrity: sha512-+wcQF9khXKvAEi8VwROnCWWmHfsJYCZAs5dmuMlJBKk57S6ZN2/FQMIlo01F29fJyT8kV/xblE7g3vkIdTLOjw==}
- engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
- dependencies:
- jest-get-type: 29.0.0
- dev: true
-
- /@jest/expect-utils/29.2.0:
- resolution: {integrity: sha512-nz2IDF7nb1qmj9hx8Ja3MFab2q9Ml8QbOaaeJNyX5JQJHU8QUvEDiMctmhGEkk3Kzr8w8vAqz4hPk/ogJSrUhg==}
+ /@jest/expect-utils/29.3.1:
+ resolution: {integrity: sha512-wlrznINZI5sMjwvUoLVk617ll/UYfGIZNxmbU+Pa7wmkL4vYzhV9R2pwVqUh4NWWuLQWkI8+8mOkxs//prKQ3g==}
engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
dependencies:
jest-get-type: 29.2.0
dev: true
- /@jest/expect/29.2.0:
- resolution: {integrity: sha512-+3lxcYL9e0xPJGOR33utxxejn+Mulz40kY0oy0FVsmIESW87NZDJ7B1ovaIqeX0xIgPX4laS5SGlqD2uSoBMcw==}
+ /@jest/expect/29.3.1:
+ resolution: {integrity: sha512-QivM7GlSHSsIAWzgfyP8dgeExPRZ9BIe2LsdPyEhCGkZkoyA+kGsoIzbKAfZCvvRzfZioKwPtCZIt5SaoxYCvg==}
engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
dependencies:
- expect: 29.2.0
- jest-snapshot: 29.2.0
+ expect: 29.3.1
+ jest-snapshot: 29.3.1
transitivePeerDependencies:
- supports-color
dev: true
- /@jest/fake-timers/29.2.0:
- resolution: {integrity: sha512-mX0V0uQsgeSLTt0yTqanAhhpeUKMGd2uq+PSLAfO40h72bvfNNQ7pIEl9vIwNMFxRih1ENveEjSBsLjxGGDPSw==}
+ /@jest/fake-timers/29.3.1:
+ resolution: {integrity: sha512-iHTL/XpnDlFki9Tq0Q1GGuVeQ8BHZGIYsvCO5eN/O/oJaRzofG9Xndd9HuSDBI/0ZS79pg0iwn07OMTQ7ngF2A==}
engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
dependencies:
- '@jest/types': 29.2.0
+ '@jest/types': 29.3.1
'@sinonjs/fake-timers': 9.1.2
- '@types/node': 16.11.66
- jest-message-util: 29.2.0
- jest-mock: 29.2.0
- jest-util: 29.2.0
+ '@types/node': 16.18.10
+ jest-message-util: 29.3.1
+ jest-mock: 29.3.1
+ jest-util: 29.3.1
dev: true
- /@jest/globals/29.2.0:
- resolution: {integrity: sha512-JQxtEVNWiai1p3PIzAJZSyEqQdAJGvNKvinZDPfu0mhiYEVx6E+PiBuDWj1sVUW8hzu+R3DVqaWC9K2xcLRIAA==}
+ /@jest/globals/29.3.1:
+ resolution: {integrity: sha512-cTicd134vOcwO59OPaB6AmdHQMCtWOe+/DitpTZVxWgMJ+YvXL1HNAmPyiGbSHmF/mXVBkvlm8YYtQhyHPnV6Q==}
engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
dependencies:
- '@jest/environment': 29.2.0
- '@jest/expect': 29.2.0
- '@jest/types': 29.2.0
- jest-mock: 29.2.0
+ '@jest/environment': 29.3.1
+ '@jest/expect': 29.3.1
+ '@jest/types': 29.3.1
+ jest-mock: 29.3.1
transitivePeerDependencies:
- supports-color
dev: true
- /@jest/reporters/29.2.0:
- resolution: {integrity: sha512-BXoAJatxTZ18U0cwD7C8qBo8V6vef8AXYRBZdhqE5DF9CmpqmhMfw9c7OUvYqMTnBBK9A0NgXGO4Lc9EJzdHvw==}
+ /@jest/reporters/29.3.1:
+ resolution: {integrity: sha512-GhBu3YFuDrcAYW/UESz1JphEAbvUjaY2vShRZRoRY1mxpCMB3yGSJ4j9n0GxVlEOdCf7qjvUfBCrTUUqhVfbRA==}
engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
peerDependencies:
node-notifier: ^8.0.1 || ^9.0.0 || ^10.0.0
@@ -521,12 +514,12 @@ packages:
optional: true
dependencies:
'@bcoe/v8-coverage': 0.2.3
- '@jest/console': 29.2.0
- '@jest/test-result': 29.2.0
- '@jest/transform': 29.2.0
- '@jest/types': 29.2.0
+ '@jest/console': 29.3.1
+ '@jest/test-result': 29.3.1
+ '@jest/transform': 29.3.1
+ '@jest/types': 29.3.1
'@jridgewell/trace-mapping': 0.3.15
- '@types/node': 16.11.66
+ '@types/node': 16.18.10
chalk: 4.1.2
collect-v8-coverage: 1.0.1
exit: 0.1.2
@@ -537,9 +530,9 @@ packages:
istanbul-lib-report: 3.0.0
istanbul-lib-source-maps: 4.0.1
istanbul-reports: 3.1.4
- jest-message-util: 29.2.0
- jest-util: 29.2.0
- jest-worker: 29.2.0
+ jest-message-util: 29.3.1
+ jest-util: 29.3.1
+ jest-worker: 29.3.1
slash: 3.0.0
string-length: 4.0.2
strip-ansi: 6.0.1
@@ -564,41 +557,41 @@ packages:
graceful-fs: 4.2.10
dev: true
- /@jest/test-result/29.2.0:
- resolution: {integrity: sha512-l76EPJ6QqtzsCLS4aimJqWO53pxZ82o3aE+Brcmo1HJ/phb9+MR7gPhyDdN6VSGaLJCRVJBZgWEhAEz+qON0Fw==}
+ /@jest/test-result/29.3.1:
+ resolution: {integrity: sha512-qeLa6qc0ddB0kuOZyZIhfN5q0e2htngokyTWsGriedsDhItisW7SDYZ7ceOe57Ii03sL988/03wAcBh3TChMGw==}
engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
dependencies:
- '@jest/console': 29.2.0
- '@jest/types': 29.2.0
+ '@jest/console': 29.3.1
+ '@jest/types': 29.3.1
'@types/istanbul-lib-coverage': 2.0.4
collect-v8-coverage: 1.0.1
dev: true
- /@jest/test-sequencer/29.2.0:
- resolution: {integrity: sha512-NCnjZcGnVdva6IDqF7TCuFsXs2F1tohiNF9sasSJNzD7VfN5ic9XgcS/oPDalGiPLxCmGKj4kewqqrKAqBACcQ==}
+ /@jest/test-sequencer/29.3.1:
+ resolution: {integrity: sha512-IqYvLbieTv20ArgKoAMyhLHNrVHJfzO6ARZAbQRlY4UGWfdDnLlZEF0BvKOMd77uIiIjSZRwq3Jb3Fa3I8+2UA==}
engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
dependencies:
- '@jest/test-result': 29.2.0
+ '@jest/test-result': 29.3.1
graceful-fs: 4.2.10
- jest-haste-map: 29.2.0
+ jest-haste-map: 29.3.1
slash: 3.0.0
dev: true
- /@jest/transform/29.2.0:
- resolution: {integrity: sha512-NXMujGHy+B4DAj4dGnVPD0SIXlR2Z/N8Gp9h3mF66kcIRult1WWqY3/CEIrJcKviNWaFPYhZjCG2L3fteWzcUw==}
+ /@jest/transform/29.3.1:
+ resolution: {integrity: sha512-8wmCFBTVGYqFNLWfcOWoVuMuKYPUBTnTMDkdvFtAYELwDOl9RGwOsvQWGPFxDJ8AWY9xM/8xCXdqmPK3+Q5Lug==}
engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
dependencies:
'@babel/core': 7.18.6
- '@jest/types': 29.2.0
+ '@jest/types': 29.3.1
'@jridgewell/trace-mapping': 0.3.15
babel-plugin-istanbul: 6.1.1
chalk: 4.1.2
- convert-source-map: 1.8.0
+ convert-source-map: 2.0.0
fast-json-stable-stringify: 2.1.0
graceful-fs: 4.2.10
- jest-haste-map: 29.2.0
+ jest-haste-map: 29.3.1
jest-regex-util: 29.2.0
- jest-util: 29.2.0
+ jest-util: 29.3.1
micromatch: 4.0.5
pirates: 4.0.5
slash: 3.0.0
@@ -614,19 +607,19 @@ packages:
'@jest/schemas': 29.0.0
'@types/istanbul-lib-coverage': 2.0.4
'@types/istanbul-reports': 3.0.1
- '@types/node': 16.11.66
+ '@types/node': 16.18.10
'@types/yargs': 17.0.10
chalk: 4.1.2
dev: true
- /@jest/types/29.2.0:
- resolution: {integrity: sha512-mfgpQz4Z2xGo37m6KD8xEpKelaVzvYVRijmLPePn9pxgaPEtX+SqIyPNzzoeCPXKYbB4L/wYSgXDL8o3Gop78Q==}
+ /@jest/types/29.3.1:
+ resolution: {integrity: sha512-d0S0jmmTpjnhCmNpApgX3jrUZgZ22ivKJRvL2lli5hpCRoNnp1f85r2/wpKfXuYu8E7Jjh1hGfhPyup1NM5AmA==}
engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
dependencies:
'@jest/schemas': 29.0.0
'@types/istanbul-lib-coverage': 2.0.4
'@types/istanbul-reports': 3.0.1
- '@types/node': 16.11.66
+ '@types/node': 16.18.10
'@types/yargs': 17.0.10
chalk: 4.1.2
dev: true
@@ -1404,11 +1397,11 @@ packages:
'@parcel/source-map': 2.0.5
'@parcel/utils': 2.6.2
'@parcel/workers': 2.6.2_@parcel+core@2.6.2
- '@swc/helpers': 0.4.12
+ '@swc/helpers': 0.4.14
browserslist: 4.21.1
detect-libc: 1.0.3
nullthrows: 1.1.1
- regenerator-runtime: 0.13.10
+ regenerator-runtime: 0.13.11
semver: 5.7.1
dev: true
@@ -1569,29 +1562,29 @@ packages:
nullthrows: 1.1.1
dev: true
- /@peculiar/asn1-schema/2.2.0:
- resolution: {integrity: sha512-1ENEJNY7Lwlua/1wvzpYP194WtjQBfFxvde2FlzfBFh/ln6wvChrtxlORhbKEnYswzn6fOC4c7HdC5izLPMTJg==}
+ /@peculiar/asn1-schema/2.3.3:
+ resolution: {integrity: sha512-6GptMYDMyWBHTUKndHaDsRZUO/XMSgIns2krxcm2L7SEExRHwawFvSwNBhqNPR9HJwv3MruAiF1bhN0we6j6GQ==}
dependencies:
asn1js: 3.0.5
pvtsutils: 1.3.2
- tslib: 2.4.0
+ tslib: 2.4.1
dev: true
/@peculiar/json-schema/1.1.12:
resolution: {integrity: sha512-coUfuoMeIB7B8/NMekxaDzLhaYmp0HZNPEjYRm9goRou8UZIC3z21s0sL9AWoCw4EG876QyO3kYrc61WNF9B/w==}
engines: {node: '>=8.0.0'}
dependencies:
- tslib: 2.4.0
+ tslib: 2.4.1
dev: true
- /@peculiar/webcrypto/1.4.0:
- resolution: {integrity: sha512-U58N44b2m3OuTgpmKgf0LPDOmP3bhwNz01vAnj1mBwxBASRhptWYK+M3zG+HBkDqGQM+bFsoIihTW8MdmPXEqg==}
+ /@peculiar/webcrypto/1.4.1:
+ resolution: {integrity: sha512-eK4C6WTNYxoI7JOabMoZICiyqRRtJB220bh0Mbj5RwRycleZf9BPyZoxsTvpP0FpmVS2aS13NKOuh5/tN3sIRw==}
engines: {node: '>=10.12.0'}
dependencies:
- '@peculiar/asn1-schema': 2.2.0
+ '@peculiar/asn1-schema': 2.3.3
'@peculiar/json-schema': 1.1.12
pvtsutils: 1.3.2
- tslib: 2.4.0
+ tslib: 2.4.1
webcrypto-core: 1.7.5
dev: true
@@ -1611,8 +1604,8 @@ packages:
'@sinonjs/commons': 1.8.3
dev: true
- /@swc/helpers/0.4.12:
- resolution: {integrity: sha512-R6RmwS9Dld5lNvwKlPn62+piU+WDG1sMfsnfJioXCciyko/gZ0DQ4Mqglhq1iGU1nQ/RcGkAwfMH+elMSkJH3Q==}
+ /@swc/helpers/0.4.14:
+ resolution: {integrity: sha512-4C7nX/dvpzB7za4Ql9K81xK3HPxCpHMgwTZVyf+9JQ6VUbn9jjZVN7/Nkdz/Ugzs2CSjqnL/UPXroiVBVHUWUw==}
dependencies:
tslib: 2.4.0
@@ -1662,7 +1655,7 @@ packages:
/@types/graceful-fs/4.1.5:
resolution: {integrity: sha512-anKkLmZZ+xm4p8JWBf4hElkM4XR+EZeA2M9BAkkTldmcyDY4mbdIJnRghDJH3Ov5ooY7/UAoENtmdMSkaAd7Cw==}
dependencies:
- '@types/node': 16.11.66
+ '@types/node': 16.18.10
dev: true
/@types/istanbul-lib-coverage/2.0.4:
@@ -1681,17 +1674,17 @@ packages:
'@types/istanbul-lib-report': 3.0.0
dev: true
- /@types/jest/29.1.2:
- resolution: {integrity: sha512-y+nlX0h87U0R+wsGn6EBuoRWYyv3KFtwRNP3QWp9+k2tJ2/bqcGS3UxD7jgT+tiwJWWq3UsyV4Y+T6rsMT4XMg==}
+ /@types/jest/29.2.4:
+ resolution: {integrity: sha512-PipFB04k2qTRPePduVLTRiPzQfvMeLwUN3Z21hsAKaB/W9IIzgB2pizCL466ftJlcyZqnHoC9ZHpxLGl3fS86A==}
dependencies:
- expect: 29.0.2
- pretty-format: 29.0.2
+ expect: 29.3.1
+ pretty-format: 29.3.1
dev: true
/@types/jsdom/20.0.0:
resolution: {integrity: sha512-YfAchFs0yM1QPDrLm2VHe+WHGtqms3NXnXAMolrgrVP6fgBHHXy1ozAbo/dFtPNtZC/m66bPiCTWYmqp1F14gA==}
dependencies:
- '@types/node': 16.11.66
+ '@types/node': 16.18.10
'@types/tough-cookie': 4.0.2
parse5: 7.1.1
dev: true
@@ -1700,8 +1693,8 @@ packages:
resolution: {integrity: sha512-jhuKLIRrhvCPLqwPcx6INqmKeiA5EWrsCOPhrlFSrbrmU4ZMPjj5Ul/oLCMDO98XRUIwVm78xICz4EPCektzeQ==}
dev: true
- /@types/node/16.11.66:
- resolution: {integrity: sha512-+xvMrGl3eAygKcf5jm+4zA4tbfEgmKM9o6/glTmN0RFVdu2VuFXMYYtRmuv3zTGCgAYMnEZLde3B7BTp+Yxcig==}
+ /@types/node/16.18.10:
+ resolution: {integrity: sha512-XU1+v7h81p7145ddPfjv7jtWvkSilpcnON3mQ+bDi9Yuf7OI56efOglXRyXWgQ57xH3fEQgh7WOJMncRHVew5w==}
dev: true
/@types/normalize-package-data/2.4.1:
@@ -1734,8 +1727,8 @@ packages:
'@types/yargs-parser': 21.0.0
dev: true
- /@webcomponents/webcomponentsjs/2.6.0:
- resolution: {integrity: sha512-Moog+Smx3ORTbWwuPqoclr+uvfLnciVd6wdCaVscHPrxbmQ/IJKm3wbB7hpzJtXWjAq2l/6QMlO85aZiOdtv5Q==}
+ /@webcomponents/webcomponentsjs/2.7.0:
+ resolution: {integrity: sha512-j161Z9oiy8k74vchdrQGihfSp7QulrTclCUiPo0D7JF6/RjpXAmB0ThlTAFlSElkgqg0vdFgNAXaX9ZHZy25wQ==}
dev: true
/abab/2.0.6:
@@ -1853,7 +1846,7 @@ packages:
dependencies:
pvtsutils: 1.3.2
pvutils: 1.1.3
- tslib: 2.4.0
+ tslib: 2.4.1
dev: true
/astral-regex/2.0.0:
@@ -1865,14 +1858,14 @@ packages:
resolution: {integrity: sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==}
dev: true
- /babel-jest/29.2.0_@babel+core@7.18.6:
- resolution: {integrity: sha512-c8FkrW1chgcbyBqOo7jFGpQYfVnb43JqjQGV+C2r94k2rZJOukYOZ6+csAqKE4ms+PHc+yevnONxs27jQIxylw==}
+ /babel-jest/29.3.1_@babel+core@7.18.6:
+ resolution: {integrity: sha512-aard+xnMoxgjwV70t0L6wkW/3HQQtV+O0PEimxKgzNqCJnbYmroPojdP2tqKSOAt8QAKV/uSZU8851M7B5+fcA==}
engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
peerDependencies:
'@babel/core': ^7.8.0
dependencies:
'@babel/core': 7.18.6
- '@jest/transform': 29.2.0
+ '@jest/transform': 29.3.1
'@types/babel__core': 7.1.19
babel-plugin-istanbul: 6.1.1
babel-preset-jest: 29.2.0_@babel+core@7.18.6
@@ -2158,8 +2151,8 @@ packages:
engines: {node: '>= 10'}
dev: true
- /commander/9.3.0:
- resolution: {integrity: sha512-hv95iU5uXPbK83mjrJKuZyFM/LBAoCV/XhVGkS5Je6tl7sxr6A0ITMw5WoRV46/UaJ46Nllm3Xt7IaJhXTIkzw==}
+ /commander/9.4.1:
+ resolution: {integrity: sha512-5EEkTNyHNGFPD2H+c/dXXfQZYa/scCKasxWcXJaWnNJ99pnQN9Vnmqow+p+PlFPE63Q6mThaZws1T+HxfpgtPw==}
engines: {node: ^12.20.0 || >=14}
dev: true
@@ -2173,6 +2166,10 @@ packages:
safe-buffer: 5.1.2
dev: true
+ /convert-source-map/2.0.0:
+ resolution: {integrity: sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==}
+ dev: true
+
/cosmiconfig/7.0.1:
resolution: {integrity: sha512-a1YWNUV2HwGimB7dU2s1wUMurNKjpx60HxBB6xUM8Re+2s1g1IIfJvFR0/iCF+XHdE0GMTKTuLR32UQff4TEyQ==}
engines: {node: '>=10'}
@@ -2322,13 +2319,8 @@ packages:
engines: {node: '>=8'}
dev: true
- /diff-sequences/29.0.0:
- resolution: {integrity: sha512-7Qe/zd1wxSDL4D/X/FPjOMB+ZMDt71W94KYaq05I2l0oQqgXgs7s4ftYYmV38gBSrPz2vcygxfs1xn0FT+rKNA==}
- engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
- dev: true
-
- /diff-sequences/29.2.0:
- resolution: {integrity: sha512-413SY5JpYeSBZxmenGEmCVQ8mCgtFJF0w9PROdaS6z987XC2Pd2GOKqOITLtMftmyFZqgtCOb/QA7/Z3ZXfzIw==}
+ /diff-sequences/29.3.1:
+ resolution: {integrity: sha512-hlM3QR272NXCi4pq+N4Kok4kOp6EsgOM3ZSpJI7Da3UAs+Ttsi8MRmB6trM/lhyzUxGfOgnpkHtgqm5Q/CTcfQ==}
engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
dev: true
@@ -2383,12 +2375,12 @@ packages:
resolution: {integrity: sha512-Qo3LnVW6JRNhD32viSdPebxKI7K+3WeBDjU1+Q2yZS83zAh8C2LyPpzTimlciv6U74KpY9n/0ESAhUByRke0jw==}
dev: true
- /element-internals-polyfill/1.1.14:
- resolution: {integrity: sha512-G4q3K8M80U5MPIaD+FX2gdAJNQLWGwJ00449p3bGPpkmNESMvemRu+hM69jt2ikwnRBsi51ys5CVNiT6ukT40w==}
+ /element-internals-polyfill/1.1.17:
+ resolution: {integrity: sha512-sMDJyJiwvcHB6wLnyG+y/9FRxi/9OyI8bmjyw18K6b5iVlBjmA5CJVTFz4K2I7R53yqevK8WkTrfBmSHJXH9Rw==}
dev: false
- /emittery/0.10.2:
- resolution: {integrity: sha512-aITqOwnLanpHLNXZJENbOgjUBeHocD+xsSJmNrjovKBW5HbSpW3d1pEls7GFQPUWXiwG9+0P4GtHfEqC/4M0Iw==}
+ /emittery/0.13.1:
+ resolution: {integrity: sha512-DeWwawk6r5yR9jFgnDKYt4sLS0LmHJJi3ZOnb5/JdbYwj3nW+FxQnHIjhBKz8YLC7oRNPVM9NQ47I3CVx34eqQ==}
engines: {node: '>=12'}
dev: true
@@ -2499,26 +2491,15 @@ packages:
engines: {node: '>= 0.8.0'}
dev: true
- /expect/29.0.2:
- resolution: {integrity: sha512-JeJlAiLKn4aApT4pzUXBVxl3NaZidWIOdg//smaIlP9ZMBDkHZGFd9ubphUZP9pUyDEo7bC6M0IIZR51o75qQw==}
+ /expect/29.3.1:
+ resolution: {integrity: sha512-gGb1yTgU30Q0O/tQq+z30KBWv24ApkMgFUpvKBkyLUBL68Wv8dHdJxTBZFl/iT8K/bqDHvUYRH6IIN3rToopPA==}
engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
dependencies:
- '@jest/expect-utils': 29.0.2
- jest-get-type: 29.0.0
- jest-matcher-utils: 29.0.2
- jest-message-util: 29.0.2
- jest-util: 29.0.2
- dev: true
-
- /expect/29.2.0:
- resolution: {integrity: sha512-03ClF3GWwUqd9Grgkr9ZSdaCJGMRA69PQ8jT7o+Bx100VlGiAFf9/8oIm9Qve7ZVJhuJxFftqFhviZJRxxNfvg==}
- engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
- dependencies:
- '@jest/expect-utils': 29.2.0
+ '@jest/expect-utils': 29.3.1
jest-get-type: 29.2.0
- jest-matcher-utils: 29.2.0
- jest-message-util: 29.2.0
- jest-util: 29.2.0
+ jest-matcher-utils: 29.3.1
+ jest-message-util: 29.3.1
+ jest-util: 29.3.1
dev: true
/fast-json-stable-stringify/2.1.0:
@@ -2764,8 +2745,8 @@ packages:
engines: {node: '>=12.20.0'}
dev: true
- /husky/8.0.1:
- resolution: {integrity: sha512-xs7/chUH/CKdOCs7Zy0Aev9e/dKOMZf3K1Az1nar3tzlv0jfqnYtu235bstsWTmXOR0EfINrPa97yy4Lz6RiKw==}
+ /husky/8.0.2:
+ resolution: {integrity: sha512-Tkv80jtvbnkK3mYWxPZePGFpQ/tT3HNSs/sasF9P2YfkMezDl3ON37YN6jUUI4eTg5LcyVynlb6r4eyvOmspvg==}
engines: {node: '>=14'}
hasBin: true
dev: true
@@ -2952,35 +2933,35 @@ packages:
p-limit: 3.1.0
dev: true
- /jest-circus/29.2.0:
- resolution: {integrity: sha512-bpJRMe+VtvYlF3q8JNx+/cAo4FYvNCiR5s7Z0Scf8aC+KJ2ineSjZKtw1cIZbythlplkiro0My8nc65pfCqJ3A==}
+ /jest-circus/29.3.1:
+ resolution: {integrity: sha512-wpr26sEvwb3qQQbdlmei+gzp6yoSSoSL6GsLPxnuayZSMrSd5Ka7IjAvatpIernBvT2+Ic6RLTg+jSebScmasg==}
engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
dependencies:
- '@jest/environment': 29.2.0
- '@jest/expect': 29.2.0
- '@jest/test-result': 29.2.0
- '@jest/types': 29.2.0
- '@types/node': 16.11.66
+ '@jest/environment': 29.3.1
+ '@jest/expect': 29.3.1
+ '@jest/test-result': 29.3.1
+ '@jest/types': 29.3.1
+ '@types/node': 16.18.10
chalk: 4.1.2
co: 4.6.0
dedent: 0.7.0
is-generator-fn: 2.1.0
- jest-each: 29.2.0
- jest-matcher-utils: 29.2.0
- jest-message-util: 29.2.0
- jest-runtime: 29.2.0
- jest-snapshot: 29.2.0
- jest-util: 29.2.0
+ jest-each: 29.3.1
+ jest-matcher-utils: 29.3.1
+ jest-message-util: 29.3.1
+ jest-runtime: 29.3.1
+ jest-snapshot: 29.3.1
+ jest-util: 29.3.1
p-limit: 3.1.0
- pretty-format: 29.2.0
+ pretty-format: 29.3.1
slash: 3.0.0
stack-utils: 2.0.5
transitivePeerDependencies:
- supports-color
dev: true
- /jest-cli/29.2.0_@types+node@16.11.66:
- resolution: {integrity: sha512-/581TzbXeO+5kbtSlhXEthGiVJCC8AP0jgT0iZINAAMW+tTFj2uWU7z+HNUH5yIYdHV7AvRr0fWLrmHJGIruHg==}
+ /jest-cli/29.3.1_@types+node@16.18.10:
+ resolution: {integrity: sha512-TO/ewvwyvPOiBBuWZ0gm04z3WWP8TIK8acgPzE4IxgsLKQgb377NYGrQLc3Wl/7ndWzIH2CDNNsUjGxwLL43VQ==}
engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
hasBin: true
peerDependencies:
@@ -2989,16 +2970,16 @@ packages:
node-notifier:
optional: true
dependencies:
- '@jest/core': 29.2.0
- '@jest/test-result': 29.2.0
- '@jest/types': 29.2.0
+ '@jest/core': 29.3.1
+ '@jest/test-result': 29.3.1
+ '@jest/types': 29.3.1
chalk: 4.1.2
exit: 0.1.2
graceful-fs: 4.2.10
import-local: 3.1.0
- jest-config: 29.2.0_@types+node@16.11.66
- jest-util: 29.2.0
- jest-validate: 29.2.0
+ jest-config: 29.3.1_@types+node@16.18.10
+ jest-util: 29.3.1
+ jest-validate: 29.3.1
prompts: 2.4.2
yargs: 17.5.1
transitivePeerDependencies:
@@ -3007,8 +2988,8 @@ packages:
- ts-node
dev: true
- /jest-config/29.2.0_@types+node@16.11.66:
- resolution: {integrity: sha512-IkdCsrHIoxDPZAyFcdtQrCQ3uftLqns6Joj0tlbxiAQW4k/zTXmIygqWBmPNxO9FbFkDrhtYZiLHXjaJh9rS+Q==}
+ /jest-config/29.3.1_@types+node@16.18.10:
+ resolution: {integrity: sha512-y0tFHdj2WnTEhxmGUK1T7fgLen7YK4RtfvpLFBXfQkh2eMJAQq24Vx9472lvn5wg0MAO6B+iPfJfzdR9hJYalg==}
engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
peerDependencies:
'@types/node': '*'
@@ -3020,50 +3001,40 @@ packages:
optional: true
dependencies:
'@babel/core': 7.18.6
- '@jest/test-sequencer': 29.2.0
- '@jest/types': 29.2.0
- '@types/node': 16.11.66
- babel-jest: 29.2.0_@babel+core@7.18.6
+ '@jest/test-sequencer': 29.3.1
+ '@jest/types': 29.3.1
+ '@types/node': 16.18.10
+ babel-jest: 29.3.1_@babel+core@7.18.6
chalk: 4.1.2
ci-info: 3.3.2
deepmerge: 4.2.2
glob: 7.2.3
graceful-fs: 4.2.10
- jest-circus: 29.2.0
- jest-environment-node: 29.2.0
+ jest-circus: 29.3.1
+ jest-environment-node: 29.3.1
jest-get-type: 29.2.0
jest-regex-util: 29.2.0
- jest-resolve: 29.2.0
- jest-runner: 29.2.0
- jest-util: 29.2.0
- jest-validate: 29.2.0
+ jest-resolve: 29.3.1
+ jest-runner: 29.3.1
+ jest-util: 29.3.1
+ jest-validate: 29.3.1
micromatch: 4.0.5
parse-json: 5.2.0
- pretty-format: 29.2.0
+ pretty-format: 29.3.1
slash: 3.0.0
strip-json-comments: 3.1.1
transitivePeerDependencies:
- supports-color
dev: true
- /jest-diff/29.0.2:
- resolution: {integrity: sha512-b9l9970sa1rMXH1owp2Woprmy42qIwwll/htsw4Gf7+WuSp5bZxNhkKHDuCGKL+HoHn1KhcC+tNEeAPYBkD2Jg==}
- engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
- dependencies:
- chalk: 4.1.2
- diff-sequences: 29.0.0
- jest-get-type: 29.0.0
- pretty-format: 29.1.2
- dev: true
-
- /jest-diff/29.2.0:
- resolution: {integrity: sha512-GsH07qQL+/D/GxlnU+sSg9GL3fBOcuTlmtr3qr2pnkiODCwubNN2/7slW4m3CvxDsEus/VEOfQKRFLyXsUlnZw==}
+ /jest-diff/29.3.1:
+ resolution: {integrity: sha512-vU8vyiO7568tmin2lA3r2DP8oRvzhvRcD4DjpXc6uGveQodyk7CKLhQlCSiwgx3g0pFaE88/KLZ0yaTWMc4Uiw==}
engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
dependencies:
chalk: 4.1.2
- diff-sequences: 29.2.0
+ diff-sequences: 29.3.1
jest-get-type: 29.2.0
- pretty-format: 29.2.0
+ pretty-format: 29.3.1
dev: true
/jest-docblock/29.2.0:
@@ -3073,19 +3044,19 @@ packages:
detect-newline: 3.1.0
dev: true
- /jest-each/29.2.0:
- resolution: {integrity: sha512-h4LeC3L/R7jIMfTdYowevPIssvcPYQ7Qzs+pCSYsJgPztIizXwKmnfhZXBA4WVqdmvMcpmseYEXb67JT7IJ2eg==}
+ /jest-each/29.3.1:
+ resolution: {integrity: sha512-qrZH7PmFB9rEzCSl00BWjZYuS1BSOH8lLuC0azQE9lQrAx3PWGKHTDudQiOSwIy5dGAJh7KA0ScYlCP7JxvFYA==}
engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
dependencies:
- '@jest/types': 29.2.0
+ '@jest/types': 29.3.1
chalk: 4.1.2
jest-get-type: 29.2.0
- jest-util: 29.2.0
- pretty-format: 29.2.0
+ jest-util: 29.3.1
+ pretty-format: 29.3.1
dev: true
- /jest-environment-jsdom/29.2.0:
- resolution: {integrity: sha512-DgHbBxC4RmHpDLFLMt00NjXXimGvtNALRyxQYOo3e6vwq1qsIDqXsEZiuEpjTg0BueENE1mx8BKFKHXArEdRQQ==}
+ /jest-environment-jsdom/29.3.1:
+ resolution: {integrity: sha512-G46nKgiez2Gy4zvYNhayfMEAFlVHhWfncqvqS6yCd0i+a4NsSUD2WtrKSaYQrYiLQaupHXxCRi8xxVL2M9PbhA==}
engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
peerDependencies:
canvas: ^2.5.0
@@ -3093,13 +3064,13 @@ packages:
canvas:
optional: true
dependencies:
- '@jest/environment': 29.2.0
- '@jest/fake-timers': 29.2.0
- '@jest/types': 29.2.0
+ '@jest/environment': 29.3.1
+ '@jest/fake-timers': 29.3.1
+ '@jest/types': 29.3.1
'@types/jsdom': 20.0.0
- '@types/node': 16.11.66
- jest-mock: 29.2.0
- jest-util: 29.2.0
+ '@types/node': 16.18.10
+ jest-mock: 29.3.1
+ jest-util: 29.3.1
jsdom: 20.0.0
transitivePeerDependencies:
- bufferutil
@@ -3107,21 +3078,16 @@ packages:
- utf-8-validate
dev: true
- /jest-environment-node/29.2.0:
- resolution: {integrity: sha512-b4qQGVStPMvtZG97Ac0rvnmSIjCZturFU7MQRMp4JDFl7zoaDLTtXmFjFP1tNmi9te6kR8d+Htbv3nYeoaIz6g==}
+ /jest-environment-node/29.3.1:
+ resolution: {integrity: sha512-xm2THL18Xf5sIHoU7OThBPtuH6Lerd+Y1NLYiZJlkE3hbE+7N7r8uvHIl/FkZ5ymKXJe/11SQuf3fv4v6rUMag==}
engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
dependencies:
- '@jest/environment': 29.2.0
- '@jest/fake-timers': 29.2.0
- '@jest/types': 29.2.0
- '@types/node': 16.11.66
- jest-mock: 29.2.0
- jest-util: 29.2.0
- dev: true
-
- /jest-get-type/29.0.0:
- resolution: {integrity: sha512-83X19z/HuLKYXYHskZlBAShO7UfLFXu/vWajw9ZNJASN32li8yHMaVGAQqxFW1RCFOkB7cubaL6FaJVQqqJLSw==}
- engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
+ '@jest/environment': 29.3.1
+ '@jest/fake-timers': 29.3.1
+ '@jest/types': 29.3.1
+ '@types/node': 16.18.10
+ jest-mock: 29.3.1
+ jest-util: 29.3.1
dev: true
/jest-get-type/29.2.0:
@@ -3129,93 +3095,68 @@ packages:
engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
dev: true
- /jest-haste-map/29.2.0:
- resolution: {integrity: sha512-qu9lGFi7qJ8v37egS1phZZUJYiMyWnKwu83NlNT1qs50TbedIX2hFl+9ztsJ7U/ENaHwk1/Bs8fqOIQsScIRwg==}
+ /jest-haste-map/29.3.1:
+ resolution: {integrity: sha512-/FFtvoG1xjbbPXQLFef+WSU4yrc0fc0Dds6aRPBojUid7qlPqZvxdUBA03HW0fnVHXVCnCdkuoghYItKNzc/0A==}
engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
dependencies:
- '@jest/types': 29.2.0
+ '@jest/types': 29.3.1
'@types/graceful-fs': 4.1.5
- '@types/node': 16.11.66
+ '@types/node': 16.18.10
anymatch: 3.1.2
fb-watchman: 2.0.1
graceful-fs: 4.2.10
jest-regex-util: 29.2.0
- jest-util: 29.2.0
- jest-worker: 29.2.0
+ jest-util: 29.3.1
+ jest-worker: 29.3.1
micromatch: 4.0.5
walker: 1.0.8
optionalDependencies:
fsevents: 2.3.2
dev: true
- /jest-leak-detector/29.2.0:
- resolution: {integrity: sha512-FXT9sCFdct42+oOqGIr/9kmUw3RbhvpkwidCBT5ySHHoWNGd3c9n7HXpFKjEz9UnUITRCGdn0q2s6Sxrq36kwg==}
+ /jest-leak-detector/29.3.1:
+ resolution: {integrity: sha512-3DA/VVXj4zFOPagGkuqHnSQf1GZBmmlagpguxEERO6Pla2g84Q1MaVIB3YMxgUaFIaYag8ZnTyQgiZ35YEqAQA==}
engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
dependencies:
jest-get-type: 29.2.0
- pretty-format: 29.2.0
- dev: true
-
- /jest-matcher-utils/29.0.2:
- resolution: {integrity: sha512-s62YkHFBfAx0JLA2QX1BlnCRFwHRobwAv2KP1+YhjzF6ZCbCVrf1sG8UJyn62ZUsDaQKpoo86XMTjkUyO5aWmQ==}
- engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
- dependencies:
- chalk: 4.1.2
- jest-diff: 29.0.2
- jest-get-type: 29.0.0
- pretty-format: 29.1.2
+ pretty-format: 29.3.1
dev: true
- /jest-matcher-utils/29.2.0:
- resolution: {integrity: sha512-FcEfKZ4vm28yCdBsvC69EkrEhcfex+IYlRctNJXsRG9+WC3WxgBNORnECIgqUtj7o/h1d8o7xB/dFUiLi4bqtw==}
+ /jest-matcher-utils/29.3.1:
+ resolution: {integrity: sha512-fkRMZUAScup3txIKfMe3AIZZmPEjWEdsPJFK3AIy5qRohWqQFg1qrmKfYXR9qEkNc7OdAu2N4KPHibEmy4HPeQ==}
engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
dependencies:
chalk: 4.1.2
- jest-diff: 29.2.0
+ jest-diff: 29.3.1
jest-get-type: 29.2.0
- pretty-format: 29.2.0
+ pretty-format: 29.3.1
dev: true
- /jest-message-util/29.0.2:
- resolution: {integrity: sha512-kcJAgms3ckJV0wUoLsAM40xAhY+pb9FVSZwicjFU9PFkaTNmqh9xd99/CzKse48wPM1ANUQKmp03/DpkY+lGrA==}
+ /jest-message-util/29.3.1:
+ resolution: {integrity: sha512-lMJTbgNcDm5z+6KDxWtqOFWlGQxD6XaYwBqHR8kmpkP+WWWG90I35kdtQHY67Ay5CSuydkTBbJG+tH9JShFCyA==}
engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
dependencies:
'@babel/code-frame': 7.18.6
- '@jest/types': 29.1.2
+ '@jest/types': 29.3.1
'@types/stack-utils': 2.0.1
chalk: 4.1.2
graceful-fs: 4.2.10
micromatch: 4.0.5
- pretty-format: 29.1.2
+ pretty-format: 29.3.1
slash: 3.0.0
stack-utils: 2.0.5
dev: true
- /jest-message-util/29.2.0:
- resolution: {integrity: sha512-arBfk5yMFMTnMB22GyG601xGSGthA02vWSewPaxoFo0F9wBqDOyxccPbCcYu8uibw3kduSHXdCOd1PsLSgdomg==}
+ /jest-mock/29.3.1:
+ resolution: {integrity: sha512-H8/qFDtDVMFvFP4X8NuOT3XRDzOUTz+FeACjufHzsOIBAxivLqkB1PoLCaJx9iPPQ8dZThHPp/G3WRWyMgA3JA==}
engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
dependencies:
- '@babel/code-frame': 7.18.6
- '@jest/types': 29.2.0
- '@types/stack-utils': 2.0.1
- chalk: 4.1.2
- graceful-fs: 4.2.10
- micromatch: 4.0.5
- pretty-format: 29.2.0
- slash: 3.0.0
- stack-utils: 2.0.5
- dev: true
-
- /jest-mock/29.2.0:
- resolution: {integrity: sha512-aiWGR0P8ivssIO17xkehLGFtCcef2ZwQFNPwEer1jQLHxPctDlIg3Hs6QMq1KpPz5dkCcgM7mwGif4a9IPznlg==}
- engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
- dependencies:
- '@jest/types': 29.2.0
- '@types/node': 16.11.66
- jest-util: 29.2.0
+ '@jest/types': 29.3.1
+ '@types/node': 16.18.10
+ jest-util: 29.3.1
dev: true
- /jest-pnp-resolver/1.2.2_jest-resolve@29.2.0:
+ /jest-pnp-resolver/1.2.2_jest-resolve@29.3.1:
resolution: {integrity: sha512-olV41bKSMm8BdnuMsewT4jqlZ8+3TCARAXjZGT9jcoSnrfUnRCqnMoF9XEeoWjbzObpqF9dRhHQj0Xb9QdF6/w==}
engines: {node: '>=6'}
peerDependencies:
@@ -3224,7 +3165,7 @@ packages:
jest-resolve:
optional: true
dependencies:
- jest-resolve: 29.2.0
+ jest-resolve: 29.3.1
dev: true
/jest-regex-util/29.2.0:
@@ -3232,92 +3173,92 @@ packages:
engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
dev: true
- /jest-resolve-dependencies/29.2.0:
- resolution: {integrity: sha512-Cd0Z39sDntEnfR9PoUdFHUAGDvtKI0/7Wt73l3lt03A3yQ+A6Qi3XmBuqGjdFl2QbXaPa937oLhilG612P8HGQ==}
+ /jest-resolve-dependencies/29.3.1:
+ resolution: {integrity: sha512-Vk0cYq0byRw2WluNmNWGqPeRnZ3p3hHmjJMp2dyyZeYIfiBskwq4rpiuGFR6QGAdbj58WC7HN4hQHjf2mpvrLA==}
engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
dependencies:
jest-regex-util: 29.2.0
- jest-snapshot: 29.2.0
+ jest-snapshot: 29.3.1
transitivePeerDependencies:
- supports-color
dev: true
- /jest-resolve/29.2.0:
- resolution: {integrity: sha512-f5c0ljNg2guDBCC7wi92vAhNuA0BtAG5vkY7Fob0c7sUMU1g87mTXqRmjrVFe2XvdwP5m5T/e5KJsCKu9hRvBA==}
+ /jest-resolve/29.3.1:
+ resolution: {integrity: sha512-amXJgH/Ng712w3Uz5gqzFBBjxV8WFLSmNjoreBGMqxgCz5cH7swmBZzgBaCIOsvb0NbpJ0vgaSFdJqMdT+rADw==}
engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
dependencies:
chalk: 4.1.2
graceful-fs: 4.2.10
- jest-haste-map: 29.2.0
- jest-pnp-resolver: 1.2.2_jest-resolve@29.2.0
- jest-util: 29.2.0
- jest-validate: 29.2.0
+ jest-haste-map: 29.3.1
+ jest-pnp-resolver: 1.2.2_jest-resolve@29.3.1
+ jest-util: 29.3.1
+ jest-validate: 29.3.1
resolve: 1.22.1
resolve.exports: 1.1.0
slash: 3.0.0
dev: true
- /jest-runner/29.2.0:
- resolution: {integrity: sha512-VPBrCwl9fM2mc5yk6yZhNrgXzRJMD5jfLmntkMLlrVq4hQPWbRK998iJlR+DOGCO04TC9PPYLntOJ001Vnf28g==}
+ /jest-runner/29.3.1:
+ resolution: {integrity: sha512-oFvcwRNrKMtE6u9+AQPMATxFcTySyKfLhvso7Sdk/rNpbhg4g2GAGCopiInk1OP4q6gz3n6MajW4+fnHWlU3bA==}
engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
dependencies:
- '@jest/console': 29.2.0
- '@jest/environment': 29.2.0
- '@jest/test-result': 29.2.0
- '@jest/transform': 29.2.0
- '@jest/types': 29.2.0
- '@types/node': 16.11.66
+ '@jest/console': 29.3.1
+ '@jest/environment': 29.3.1
+ '@jest/test-result': 29.3.1
+ '@jest/transform': 29.3.1
+ '@jest/types': 29.3.1
+ '@types/node': 16.18.10
chalk: 4.1.2
- emittery: 0.10.2
+ emittery: 0.13.1
graceful-fs: 4.2.10
jest-docblock: 29.2.0
- jest-environment-node: 29.2.0
- jest-haste-map: 29.2.0
- jest-leak-detector: 29.2.0
- jest-message-util: 29.2.0
- jest-resolve: 29.2.0
- jest-runtime: 29.2.0
- jest-util: 29.2.0
- jest-watcher: 29.2.0
- jest-worker: 29.2.0
+ jest-environment-node: 29.3.1
+ jest-haste-map: 29.3.1
+ jest-leak-detector: 29.3.1
+ jest-message-util: 29.3.1
+ jest-resolve: 29.3.1
+ jest-runtime: 29.3.1
+ jest-util: 29.3.1
+ jest-watcher: 29.3.1
+ jest-worker: 29.3.1
p-limit: 3.1.0
source-map-support: 0.5.13
transitivePeerDependencies:
- supports-color
dev: true
- /jest-runtime/29.2.0:
- resolution: {integrity: sha512-+GDmzCrswQF+mvI0upTYMe/OPYnlRRNLLDHM9AFLp2y7zxWoDoYgb8DL3WwJ8d9m743AzrnvBV9JQHi/0ed7dg==}
+ /jest-runtime/29.3.1:
+ resolution: {integrity: sha512-jLzkIxIqXwBEOZx7wx9OO9sxoZmgT2NhmQKzHQm1xwR1kNW/dn0OjxR424VwHHf1SPN6Qwlb5pp1oGCeFTQ62A==}
engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
dependencies:
- '@jest/environment': 29.2.0
- '@jest/fake-timers': 29.2.0
- '@jest/globals': 29.2.0
+ '@jest/environment': 29.3.1
+ '@jest/fake-timers': 29.3.1
+ '@jest/globals': 29.3.1
'@jest/source-map': 29.2.0
- '@jest/test-result': 29.2.0
- '@jest/transform': 29.2.0
- '@jest/types': 29.2.0
- '@types/node': 16.11.66
+ '@jest/test-result': 29.3.1
+ '@jest/transform': 29.3.1
+ '@jest/types': 29.3.1
+ '@types/node': 16.18.10
chalk: 4.1.2
cjs-module-lexer: 1.2.2
collect-v8-coverage: 1.0.1
glob: 7.2.3
graceful-fs: 4.2.10
- jest-haste-map: 29.2.0
- jest-message-util: 29.2.0
- jest-mock: 29.2.0
+ jest-haste-map: 29.3.1
+ jest-message-util: 29.3.1
+ jest-mock: 29.3.1
jest-regex-util: 29.2.0
- jest-resolve: 29.2.0
- jest-snapshot: 29.2.0
- jest-util: 29.2.0
+ jest-resolve: 29.3.1
+ jest-snapshot: 29.3.1
+ jest-util: 29.3.1
slash: 3.0.0
strip-bom: 4.0.0
transitivePeerDependencies:
- supports-color
dev: true
- /jest-snapshot/29.2.0:
- resolution: {integrity: sha512-YCKrOR0PLRXROmww73fHO9oeY4tL+LPQXWR3yml1+hKbQDR8j1VUrVzB65hKSJJgxBOr1vWx+hmz2by8JjAU5w==}
+ /jest-snapshot/29.3.1:
+ resolution: {integrity: sha512-+3JOc+s28upYLI2OJM4PWRGK9AgpsMs/ekNryUV0yMBClT9B1DF2u2qay8YxcQd338PPYSFNb0lsar1B49sLDA==}
engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
dependencies:
'@babel/core': 7.18.6
@@ -3326,23 +3267,23 @@ packages:
'@babel/plugin-syntax-typescript': 7.18.6_@babel+core@7.18.6
'@babel/traverse': 7.18.6
'@babel/types': 7.18.7
- '@jest/expect-utils': 29.2.0
- '@jest/transform': 29.2.0
- '@jest/types': 29.2.0
+ '@jest/expect-utils': 29.3.1
+ '@jest/transform': 29.3.1
+ '@jest/types': 29.3.1
'@types/babel__traverse': 7.17.1
'@types/prettier': 2.6.3
babel-preset-current-node-syntax: 1.0.1_@babel+core@7.18.6
chalk: 4.1.2
- expect: 29.2.0
+ expect: 29.3.1
graceful-fs: 4.2.10
- jest-diff: 29.2.0
+ jest-diff: 29.3.1
jest-get-type: 29.2.0
- jest-haste-map: 29.2.0
- jest-matcher-utils: 29.2.0
- jest-message-util: 29.2.0
- jest-util: 29.2.0
+ jest-haste-map: 29.3.1
+ jest-matcher-utils: 29.3.1
+ jest-message-util: 29.3.1
+ jest-util: 29.3.1
natural-compare: 1.4.0
- pretty-format: 29.2.0
+ pretty-format: 29.3.1
semver: 7.3.7
transitivePeerDependencies:
- supports-color
@@ -3353,63 +3294,63 @@ packages:
engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
dependencies:
'@jest/types': 29.1.2
- '@types/node': 16.11.66
+ '@types/node': 16.18.10
chalk: 4.1.2
ci-info: 3.3.2
graceful-fs: 4.2.10
picomatch: 2.3.1
dev: true
- /jest-util/29.2.0:
- resolution: {integrity: sha512-8M1dx12ujkBbnhwytrezWY0Ut79hbflwodE+qZKjxSRz5qt4xDp6dQQJaOCFvCmE0QJqp9KyEK33lpPNjnhevw==}
+ /jest-util/29.3.1:
+ resolution: {integrity: sha512-7YOVZaiX7RJLv76ZfHt4nbNEzzTRiMW/IiOG7ZOKmTXmoGBxUDefgMAxQubu6WPVqP5zSzAdZG0FfLcC7HOIFQ==}
engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
dependencies:
- '@jest/types': 29.2.0
- '@types/node': 16.11.66
+ '@jest/types': 29.3.1
+ '@types/node': 16.18.10
chalk: 4.1.2
ci-info: 3.3.2
graceful-fs: 4.2.10
picomatch: 2.3.1
dev: true
- /jest-validate/29.2.0:
- resolution: {integrity: sha512-4Vl51bPNeFeDok9aJiOnrC6tqJbOp4iMCYlewoC2ZzYJZ5+6pfr3KObAdx5wP8auHcg2MRaguiqj5OdScZa72g==}
+ /jest-validate/29.3.1:
+ resolution: {integrity: sha512-N9Lr3oYR2Mpzuelp1F8negJR3YE+L1ebk1rYA5qYo9TTY3f9OWdptLoNSPP9itOCBIRBqjt/S5XHlzYglLN67g==}
engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
dependencies:
- '@jest/types': 29.2.0
+ '@jest/types': 29.3.1
camelcase: 6.3.0
chalk: 4.1.2
jest-get-type: 29.2.0
leven: 3.1.0
- pretty-format: 29.2.0
+ pretty-format: 29.3.1
dev: true
- /jest-watcher/29.2.0:
- resolution: {integrity: sha512-bRh0JdUeN+cl9XfK7tMnXLm4Mv70hG2SZlqbkFe5CTs7oeCkbwlGBk/mEfEJ63mrxZ8LPbnfaMpfSmkhEQBEGA==}
+ /jest-watcher/29.3.1:
+ resolution: {integrity: sha512-RspXG2BQFDsZSRKGCT/NiNa8RkQ1iKAjrO0//soTMWx/QUt+OcxMqMSBxz23PYGqUuWm2+m2mNNsmj0eIoOaFg==}
engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
dependencies:
- '@jest/test-result': 29.2.0
- '@jest/types': 29.2.0
- '@types/node': 16.11.66
+ '@jest/test-result': 29.3.1
+ '@jest/types': 29.3.1
+ '@types/node': 16.18.10
ansi-escapes: 4.3.2
chalk: 4.1.2
- emittery: 0.10.2
- jest-util: 29.2.0
+ emittery: 0.13.1
+ jest-util: 29.3.1
string-length: 4.0.2
dev: true
- /jest-worker/29.2.0:
- resolution: {integrity: sha512-mluOlMbRX1H59vGVzPcVg2ALfCausbBpxC8a2KWOzInhYHZibbHH8CB0C1JkmkpfurrkOYgF7FPmypuom1OM9A==}
+ /jest-worker/29.3.1:
+ resolution: {integrity: sha512-lY4AnnmsEWeiXirAIA0c9SDPbuCBq8IYuDVL8PMm0MZ2PEs2yPvRA/J64QBXuZp7CYKrDM/rmNrc9/i3KJQncw==}
engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
dependencies:
- '@types/node': 16.11.66
- jest-util: 29.2.0
+ '@types/node': 16.18.10
+ jest-util: 29.3.1
merge-stream: 2.0.0
supports-color: 8.1.1
dev: true
- /jest/29.2.0_@types+node@16.11.66:
- resolution: {integrity: sha512-6krPemKUXCEu5Fh3j6ZVoLMjpTQVm0OCU+7f3K/9gllX8wNIE6NSCQ6s0q2RDoiKLRaQlVRHyscjSPRPqCI0Fg==}
+ /jest/29.3.1_@types+node@16.18.10:
+ resolution: {integrity: sha512-6iWfL5DTT0Np6UYs/y5Niu7WIfNv/wRTtN5RSXt2DIEft3dx3zPuw/3WJQBCJfmEzvDiEKwoqMbGD9n49+qLSA==}
engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
hasBin: true
peerDependencies:
@@ -3418,10 +3359,10 @@ packages:
node-notifier:
optional: true
dependencies:
- '@jest/core': 29.2.0
- '@jest/types': 29.2.0
+ '@jest/core': 29.3.1
+ '@jest/types': 29.3.1
import-local: 3.1.0
- jest-cli: 29.2.0_@types+node@16.11.66
+ jest-cli: 29.3.1_@types+node@16.18.10
transitivePeerDependencies:
- '@types/node'
- supports-color
@@ -3525,8 +3466,8 @@ packages:
type-check: 0.3.2
dev: true
- /lilconfig/2.0.5:
- resolution: {integrity: sha512-xaYmXZtTHPAw5m+xLN8ab9C+3a8YmV3asNSPOATITbtwrfbwaLJj8h66H1WMIpALCkqsIzK3h7oQ+PdX+LQ9Eg==}
+ /lilconfig/2.0.6:
+ resolution: {integrity: sha512-9JROoBW7pobfsx+Sq2JsASvCo6Pfo6WWoUW79HuB1BCoBXD4PLWJPqDF6fNj67pqBYTbAHkE57M1kS/+L1neOg==}
engines: {node: '>=10'}
dev: true
@@ -3534,32 +3475,32 @@ packages:
resolution: {integrity: sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==}
dev: true
- /lint-staged/13.0.3:
- resolution: {integrity: sha512-9hmrwSCFroTSYLjflGI8Uk+GWAwMB4OlpU4bMJEAT5d/llQwtYKoim4bLOyLCuWFAhWEupE0vkIFqtw/WIsPug==}
+ /lint-staged/13.1.0:
+ resolution: {integrity: sha512-pn/sR8IrcF/T0vpWLilih8jmVouMlxqXxKuAojmbiGX5n/gDnz+abdPptlj0vYnbfE0SQNl3CY/HwtM0+yfOVQ==}
engines: {node: ^14.13.1 || >=16.0.0}
hasBin: true
dependencies:
cli-truncate: 3.1.0
colorette: 2.0.19
- commander: 9.3.0
+ commander: 9.4.1
debug: 4.3.4
execa: 6.1.0
- lilconfig: 2.0.5
- listr2: 4.0.5
+ lilconfig: 2.0.6
+ listr2: 5.0.6
micromatch: 4.0.5
normalize-path: 3.0.0
object-inspect: 1.12.2
pidtree: 0.6.0
string-argv: 0.3.1
- yaml: 2.1.1
+ yaml: 2.1.3
transitivePeerDependencies:
- enquirer
- supports-color
dev: true
- /listr2/4.0.5:
- resolution: {integrity: sha512-juGHV1doQdpNT3GSTs9IUN43QJb7KHdF9uqg7Vufs/tG9VTzpFphqF4pm/ICdAABGQxsyNn9CiYA3StkI6jpwA==}
- engines: {node: '>=12'}
+ /listr2/5.0.6:
+ resolution: {integrity: sha512-u60KxKBy1BR2uLJNTWNptzWQ1ob/gjMzIJPZffAENzpZqbMZ/5PrXXOomDcevIS/+IB7s1mmCEtSlT2qHWMqag==}
+ engines: {node: ^14.13.1 || >=16.0.0}
peerDependencies:
enquirer: '>= 2.3.0 < 3'
peerDependenciesMeta:
@@ -3571,7 +3512,7 @@ packages:
log-update: 4.0.0
p-map: 4.0.0
rfdc: 1.3.0
- rxjs: 7.5.5
+ rxjs: 7.6.0
through: 2.3.8
wrap-ansi: 7.0.0
dev: true
@@ -4108,32 +4049,14 @@ packages:
engines: {node: '>= 0.8.0'}
dev: true
- /prettier/2.7.1:
- resolution: {integrity: sha512-ujppO+MkdPqoVINuDFDRLClm7D78qbDt0/NR+wp5FqEZOoTNAjPHWj17QRhu7geIHJfcNhRk1XVQmF8Bp3ye+g==}
+ /prettier/2.8.1:
+ resolution: {integrity: sha512-lqGoSJBQNJidqCHE80vqZJHWHRFoNYsSpP9AjFhlhi9ODCJA541svILes/+/1GM3VaL/abZi7cpFzOpdR9UPKg==}
engines: {node: '>=10.13.0'}
hasBin: true
dev: true
- /pretty-format/29.0.2:
- resolution: {integrity: sha512-wp3CdtUa3cSJVFn3Miu5a1+pxc1iPIQTenOAn+x5erXeN1+ryTcLesV5pbK/rlW5EKwp27x38MoYfNGaNXDDhg==}
- engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
- dependencies:
- '@jest/schemas': 29.0.0
- ansi-styles: 5.2.0
- react-is: 18.2.0
- dev: true
-
- /pretty-format/29.1.2:
- resolution: {integrity: sha512-CGJ6VVGXVRP2o2Dorl4mAwwvDWT25luIsYhkyVQW32E4nL+TgW939J7LlKT/npq5Cpq6j3s+sy+13yk7xYpBmg==}
- engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
- dependencies:
- '@jest/schemas': 29.0.0
- ansi-styles: 5.2.0
- react-is: 18.2.0
- dev: true
-
- /pretty-format/29.2.0:
- resolution: {integrity: sha512-QCSUFdwOi924g24czhOH5eTkXxUCqlLGZBRCySlwDYHIXRJkdGyjJc9nZaqhlFBZws8dq5Dvk0lCilsmlfsPxw==}
+ /pretty-format/29.3.1:
+ resolution: {integrity: sha512-FyLnmb1cYJV8biEIiRyzRFvs2lry7PPIvOqKVe1GCUEYg4YGmlx1qG9EJNMxArYm7piII4qb8UV1Pncq5dxmcg==}
engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
dependencies:
'@jest/schemas': 29.0.0
@@ -4161,7 +4084,7 @@ packages:
/pvtsutils/1.3.2:
resolution: {integrity: sha512-+Ipe2iNUyrZz+8K/2IOo+kKikdtfhRKzNpQbruF2URmqPtoqAs8g3xS7TJvFF2GcPXjh7DkqMnpVveRFq4PgEQ==}
dependencies:
- tslib: 2.4.0
+ tslib: 2.4.1
dev: true
/pvutils/1.1.3:
@@ -4230,8 +4153,8 @@ packages:
strip-indent: 4.0.0
dev: true
- /regenerator-runtime/0.13.10:
- resolution: {integrity: sha512-KepLsg4dU12hryUO7bp/axHAKvwGOCV0sGloQtpagJ12ai+ojVDqkeGSiRX1zlq+kjIMZ1t7gpze+26QqtdGqw==}
+ /regenerator-runtime/0.13.11:
+ resolution: {integrity: sha512-kY1AZVr2Ra+t+piVaJ4gxaFaReZVH40AKNo7UCX6W+dEwBo/2oZJzqfuN1qLq1oL45o56cPaTXELwrTh8Fpggg==}
/require-directory/2.1.1:
resolution: {integrity: sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==}
@@ -4281,10 +4204,10 @@ packages:
resolution: {integrity: sha512-V2hovdzFbOi77/WajaSMXk2OLm+xNIeQdMMuB7icj7bk6zi2F8GGAxigcnDFpJHbNyNcgyJDiP+8nOrY5cZGrA==}
dev: true
- /rxjs/7.5.5:
- resolution: {integrity: sha512-sy+H0pQofO95VDmFLzyaw9xNJU4KTRSwQIGM6+iG3SypAtCiLDzpeG8sJrNCWn2Up9km+KhkvTdbkrdy+yzZdw==}
+ /rxjs/7.6.0:
+ resolution: {integrity: sha512-DDa7d8TFNUalGC9VqXvQ1euWNN7sc63TrUCuM9J998+ViviahMIjKSOU7rfcgFOF+FCD71BhDRv4hrFz+ImDLQ==}
dependencies:
- tslib: 2.4.0
+ tslib: 2.4.1
dev: true
/safe-buffer/5.1.2:
@@ -4663,7 +4586,7 @@ packages:
engines: {node: '>=12'}
dev: true
- /ts-jest/29.0.3_ihhzkrnprqx3xisyi6en647bvi:
+ /ts-jest/29.0.3_wkdujqsgbnfnnp5xidismkcn6e:
resolution: {integrity: sha512-Ibygvmuyq1qp/z3yTh9QTwVVAbFdDy/+4BtIQR2sp6baF2SJU/8CKK/hhnGIDY2L90Az2jIqTwZPnN2p+BweiQ==}
engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
hasBin: true
@@ -4686,7 +4609,7 @@ packages:
dependencies:
bs-logger: 0.2.6
fast-json-stable-stringify: 2.1.0
- jest: 29.2.0_@types+node@16.11.66
+ jest: 29.3.1_@types+node@16.18.10
jest-util: 29.0.2
json5: 2.2.1
lodash.memoize: 4.1.2
@@ -4699,6 +4622,10 @@ packages:
/tslib/2.4.0:
resolution: {integrity: sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ==}
+ /tslib/2.4.1:
+ resolution: {integrity: sha512-tGyy4dAjRIEwI7BzsB0lynWgOpfqjUdq91XXAlIWD2OwKBH7oCl/GZG/HT4BOHrTlPMOASlMQ7veyTqpmRcrNA==}
+ dev: true
+
/type-check/0.3.2:
resolution: {integrity: sha512-ZCmOJdvOWDBYJlzAoFkC+Q0+bUyEOS1ltgp1MGU03fqHG+dbi9tBFU2Rd9QKiDZFAYrhPh2JUf7rZRIuHRKtOg==}
engines: {node: '>= 0.8.0'}
@@ -4731,20 +4658,20 @@ packages:
engines: {node: '>=12.20'}
dev: true
- /typedoc-plugin-mdn-links/2.0.0_typedoc@0.23.16:
+ /typedoc-plugin-mdn-links/2.0.0_typedoc@0.23.22:
resolution: {integrity: sha512-IGLuelXPOenGdmklr5DHgPPf/MfZj7aEYCxCMtPN8C1D0lA7w0YLahd0jhDDcOMU7zL1EPcM5pPnhZHltDhqGQ==}
peerDependencies:
typedoc: 0.22.x || 0.23.x
dependencies:
- typedoc: 0.23.16_typescript@4.7.4
+ typedoc: 0.23.22_typescript@4.7.4
dev: true
- /typedoc/0.23.16_typescript@4.7.4:
- resolution: {integrity: sha512-rumYsCeNRXlyuZVzefD7050n7ptL2uudsCJg50dY0v/stKniqIlRpvx/F/6expC0/Q6Dbab+g/JpZuB7Sw90FA==}
+ /typedoc/0.23.22_typescript@4.7.4:
+ resolution: {integrity: sha512-5sJkjK60xp8A7YpcYniu3+Wf0QcgojEnhzHuCN+CkdpQkKRhOspon/9+sGTkGI8kjVkZs3KHrhltpQyVhRMVfw==}
engines: {node: '>= 14.14'}
hasBin: true
peerDependencies:
- typescript: 4.6.x || 4.7.x || 4.8.x
+ typescript: 4.6.x || 4.7.x || 4.8.x || 4.9.x
dependencies:
lunr: 2.3.9
marked: 4.1.0
@@ -4846,11 +4773,11 @@ packages:
/webcrypto-core/1.7.5:
resolution: {integrity: sha512-gaExY2/3EHQlRNNNVSrbG2Cg94Rutl7fAaKILS1w8ZDhGxdFOaw6EbCfHIxPy9vt/xwp5o0VQAx9aySPF6hU1A==}
dependencies:
- '@peculiar/asn1-schema': 2.2.0
+ '@peculiar/asn1-schema': 2.3.3
'@peculiar/json-schema': 1.1.12
asn1js: 3.0.5
pvtsutils: 1.3.2
- tslib: 2.4.0
+ tslib: 2.4.1
dev: true
/webidl-conversions/7.0.0:
@@ -4961,8 +4888,8 @@ packages:
engines: {node: '>= 6'}
dev: true
- /yaml/2.1.1:
- resolution: {integrity: sha512-o96x3OPo8GjWeSLF+wOAbrPfhFOGY0W00GNaxCDv+9hkcDJEnev1yh8S7pgHF0ik6zc8sQLuL8hjHjJULZp8bw==}
+ /yaml/2.1.3:
+ resolution: {integrity: sha512-AacA8nRULjKMX2DvWvOAdBZMOfQlypSFkjcOcu9FalllIDJ1kvlREzcdIZmidQUqqeMv7jorHjq2HlLv/+c2lg==}
engines: {node: '>= 14'}
dev: true
diff --git a/source/data.ts b/source/data.ts
index aa1fcde..992b245 100644
--- a/source/data.ts
+++ b/source/data.ts
@@ -5,7 +5,7 @@ export type AbstractClass = abstract new (...args: any[]) => T;
export type Values = Required[keyof T];
export type TypeKeys = {
- [K in keyof T]: T[K] extends D ? K : never;
+ [K in keyof T]: Required[K] extends D ? K : never;
}[keyof T];
export type PickData = Omit>;
@@ -27,6 +27,15 @@ export function assertInheritance(Sub: Function, Super: Function) {
return Sub.prototype instanceof Super;
}
+export function isUnsafeNumeric(raw: string) {
+ return (
+ /^[\d.]+$/.test(raw) &&
+ raw.localeCompare(Number.MAX_SAFE_INTEGER + '', undefined, {
+ numeric: true
+ }) > 0
+ );
+}
+
export function byteLength(raw: string) {
return raw.replace(/[^\u0021-\u007e\uff61-\uffef]/g, 'xx').length;
}
diff --git a/source/i18n.ts b/source/i18n.ts
deleted file mode 100644
index c6eef92..0000000
--- a/source/i18n.ts
+++ /dev/null
@@ -1,35 +0,0 @@
-export function bootI18n>(
- data: Record,
- fallback = document.documentElement.lang || 'en-US'
-) {
- const languages = [...navigator.languages, fallback];
- const language = languages.find(language => language in data);
- const words: T = Object.assign(
- {},
- ...languages.reverse().map(name => data[name])
- );
- document.documentElement.lang = language;
-
- return { language, words };
-}
-
-export function isNumberLetter(raw = '') {
- return (
- new RegExp('\\p{N}', 'u').test(raw) ||
- new RegExp('\\p{Ll}', 'u').test(raw.toLowerCase())
- );
-}
-
-export function textJoin(...parts: string[]) {
- return parts
- .map((raw, index) => {
- const isNL = isNumberLetter(raw.slice(-1));
-
- if (index + 1 === parts.length) return raw;
-
- const diff = isNL !== isNumberLetter(parts[index + 1]?.trim()[0]);
-
- return raw + (diff || isNL ? ' ' : '');
- })
- .join('');
-}
diff --git a/source/index.ts b/source/index.ts
index 92ccf1e..493c259 100644
--- a/source/index.ts
+++ b/source/index.ts
@@ -1,7 +1,6 @@
export * from './data';
export * from './math';
export * from './date';
-export * from './i18n';
export * from './parser';
export * from './URL';
export * from './crypto';
diff --git a/source/parser.ts b/source/parser.ts
index 5e800ea..ef0caad 100644
--- a/source/parser.ts
+++ b/source/parser.ts
@@ -1,3 +1,5 @@
+import { isUnsafeNumeric } from './data';
+
export function parseJSON(raw: string) {
function parseItem(value: any) {
if (typeof value === 'string' && /^\d+(-\d{1,2}){1,2}/.test(value)) {
@@ -10,15 +12,10 @@ export function parseJSON(raw: string) {
const value = parseItem(raw);
- if (typeof value !== 'string') return value;
+ if (typeof value !== 'string' || isUnsafeNumeric(value)) return value;
try {
- return /^[\d.]+$/.test(value) &&
- value.localeCompare(Number.MAX_SAFE_INTEGER + '', undefined, {
- numeric: true
- }) > 0
- ? value
- : JSON.parse(raw, (key, value) => parseItem(value));
+ return JSON.parse(raw, (key, value) => parseItem(value));
} catch {
return raw;
}
diff --git a/test/i18n.spec.ts b/test/i18n.spec.ts
deleted file mode 100644
index 8aaeff7..0000000
--- a/test/i18n.spec.ts
+++ /dev/null
@@ -1,55 +0,0 @@
-import { bootI18n, textJoin } from '../source/i18n';
-
-describe('Internationalization', () => {
- enum en_US {
- title = 'Title',
- name = 'Name'
- }
- enum zh_CN {
- title = '标题',
- name = '名称'
- }
- enum zh_TW {
- title = '標題',
- name = '名稱'
- }
-
- it('should match the User-agent Language', () => {
- expect(navigator.language).toBe('en-US');
-
- const { language, words } = bootI18n({
- 'en-US': en_US,
- 'zh-CN': zh_CN
- });
- expect(language).toBe('en-US');
- expect(words.title).toBe(en_US.title);
- });
-
- it('should use the Default Language while mismatch the User-agent Language', () => {
- const { language, words } = bootI18n(
- { 'zh-TW': zh_TW, 'zh-CN': zh_CN },
- 'zh-CN'
- );
- expect(language).toBe('zh-CN');
- expect(words.title).toBe(zh_CN.title);
- expect(document.documentElement.lang).toBe('zh-CN');
-
- const locale = bootI18n({ 'zh-TW': zh_TW, 'zh-CN': zh_CN });
-
- expect(locale.language).toBe('zh-CN');
- expect(locale.words.title).toBe(zh_CN.title);
- expect(document.documentElement.lang).toBe('zh-CN');
- });
-
- it('should join strings into text based on the rule of Matched language', () => {
- const { words } = bootI18n({ 'zh-TW': zh_TW, 'zh-CN': zh_CN });
-
- expect(
- textJoin(words.title, words.name, 'test', 'example', '8964')
- ).toBe(`${words.title}${words.name} test example 8964`);
-
- expect(
- textJoin(words.title, 'test', words.name, '8964', 'example')
- ).toBe(`${words.title} test ${words.name} 8964 example`);
- });
-});