diff --git a/.babelrc b/.babelrc
index b6e309f..3e53af2 100644
--- a/.babelrc
+++ b/.babelrc
@@ -1,14 +1,4 @@
{
- "presets": [
- "@babel/preset-typescript",
- [
- "@babel/preset-env",
- {
-
- "modules": false
- }
- ]
- ]
- // "presets": ["@babel/preset-env", {"targets": {"node": "current"}}]
+ "presets": ["@babel/preset-env"]
}
\ No newline at end of file
diff --git a/.gitignore b/.gitignore
index 4923694..1728a76 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,7 +1,5 @@
node_modules
.DS_Store
examples/
-test/
dist
-demo
-taskOrder.test.js
\ No newline at end of file
+demo
\ No newline at end of file
diff --git a/README-zh_CN.md b/README-zh_CN.md
index 588a0bf..5ceec4f 100644
--- a/README-zh_CN.md
+++ b/README-zh_CN.md
@@ -1,9 +1,12 @@
# async-task-mapping
-它可以做出promise无法完成的异步任务,可以无视发送和接收的顺序,允许绑定pending状态的异步任务,允许在多个函数内共同触发一个任务,并且支持生产者-消费者模式和订单模式。
+
+它可以做出 promise 无法完成的异步任务,可以无视发送和接收的顺序,允许绑定 pending 状态的异步任务,允许在多个函数内共同触发一个任务,并且支持生产者-消费者模式和订单模式。
[English](./README.md) | 简体中文
+
## 使用之前
-async-task-mapping工具没有使用任何第三方依赖包,不会限制技术栈。
+
+async-task-mapping 工具没有使用任何第三方依赖包,不会限制技术栈。
## 安装
@@ -12,105 +15,118 @@ npm i async-task-mapping --save
```
## 使用方法
-### 使用 createTaskList
-```javascript
-import { createTaskList } from 'async-task-mapping';
-const asyncTask = createTaskList({ordered: true, requestCount: 2, responseCount: 2})
-
- setTimeout(async () => {
- // 这里返回一个Promise.resolve,你可以使用async/await或者.then.
- const data = await asyncTask.request()
- console.log('data-1', data)
- }, 100)
-
- setTimeout(async () => {
- const data = await asyncTask.request(() => console.log('request-2'))
- console.log('data-2', data)
- }, 200)
-
- setTimeout(() => {
- asyncTask.pushResponse('response1')
- }, 300)
+### 使用 createTaskList
- setTimeout(() => {
- asyncTask.pushResponse('response2')
- }, 400)
+版本 1.0.0-beta
+```javascript
+import { createTaskList } from "async-task-mapping";
+const asyncTask = createTaskList({
+ ordered: true,
+ taskCount: 2,
+ resolveCount: 2,
+});
+
+setTimeout(async () => {
+ // 这里返回一个Promise.resolve,你可以使用async/await或者.then.
+ const { list, dataMap } = await asyncTask;
+ console.log("data-1", list[0]);
+ // 或者
+ asyncTask.then(({ list, dataMap }) => {
+ console.log("data-1", list[0]);
+ });
+}, 100);
+
+setTimeout(async () => {
+ const { list, dataMap } = await asyncTask;
+ console.log("data-2", dataMap.res2);
+}, 200);
+
+setTimeout(() => {
+ asyncTask.pushResolve("response1");
+}, 300);
+
+setTimeout(() => {
+ asyncTask.pushResolve("response2", "res2");
+}, 400);
```
+
你可以在不同函数中使用这些方法. 以上代码执行结果为:
+
```javascript
// time 200: request-2
// time 300: data-1 response1
// time 400: data-2 response2
```
-#### createTaskList实例化过程中传入的参数
-| 名称 | 描述 | 默认值 |
-| ---- | ---- | ---- |
-| ordered | 是否为有序 | false |
-| requestCount | 读取数据的次数 | 1 |
-| responseCount | 增加数据的次数 | 1 |
+#### createTaskList 实例化过程中传入的参数
-#### createTaskList实例上的方法
+| 名称 | 描述 | 默认值 |
+| ------------ | -------------- | ------ |
+| ordered | 是否为有序 | false |
+| taskCount | 读取数据的次数 | 1 |
+| resolveCount | 增加数据的次数 | 1 |
-| 名称 | 描述 | 返回值的数据结构 |
-| ---- | ---- | ---- |
-| request | 接收的方法,可以传入一个立即执行的函数 | Promise类型, 如果responseCount为1,
得到的data是pushResponse的原数据,
如果responseCount大于1,将得到一个数组 |
-| pushResponse | 增加数据的方法 | -- |
-| clear | 清空所有的状态 | -- |
-| paused (v0.1.0) | 暂停任务 | -- |
-| running (v0.1.0) | 继续匹配任务 | -- |
-| getStatus | 获取当前状态 | {
requestDone: false (是否完成所有的request绑定),
responseDone: false (是否完成所有的pushResponse),
requestCount: 1 (已绑定的request数量),
responseCount: 1 (已完成的pushResponse数量)
} |
+#### createTaskList 实例上的方法
+| 名称 | 描述 | 返回值的数据结构 |
+| ----------- | -------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
+| then\* | promise 上原有的方法 | task.then(({list, dataMap})=>{}) |
+| pushResolve | 增加数据的方法 | pushResolve(data, name), 非必填,Promise.resolve 的数据 |
+| clear | 清空所有的状态 | -- |
+| paused | 暂停任务 | -- |
+| running | 继续匹配任务 | -- |
+| getStatus | 获取当前状态 | {
requestDone: false (是否完成所有的 request 绑定),
responseDone: false (是否完成所有的 pushResolve),
requestCount: 1 (已绑定的 request 数量),
responseCount: 1 (已完成的 pushResolve 数量)
} |
### 使用 createTaskOrder
-request和response可以不按照顺序绑定.
-```javascript
-import { createTaskOrder } from 'async-task-mapping';
-const taskOrder = createTaskOrder()
-
- setTimeout(async () => {
- // 这里返回一个Promise.resolve,你可以使用async/await或者.then.
- const data = await taskOrder.request()
- console.log('data1', data)
- }, 230)
-
- setTimeout(async () => {
- const data = await taskOrder.request(() => console.log('request 2'))
- console.log('data2', data)
- }, 500)
- setTimeout( () => {
- taskOrder.pushResponse('Response1')
- }, 200)
- setTimeout(() => {
- taskOrder.pushResponse('Response2')
- }, 300)
- setTimeout(() => {
- taskOrder.pushResponse('Response3')
- }, 400)
+request 和 response 可以不按照顺序绑定.
+```javascript
+import { createTaskOrder } from "async-task-mapping";
+const taskOrder = createTaskOrder({ order: false });
+
+setTimeout(async () => {
+ // 这里返回一个Promise.resolve,你可以使用async/await或者.then.
+ const data = await taskOrder;
+ console.log("data1", data);
+}, 230);
+
+setTimeout(async () => {
+ const data = await taskOrder;
+ console.log("data2", data);
+}, 500);
+setTimeout(() => {
+ resolve;
+ taskOrder.pushResolve("resolve1");
+}, 200);
+setTimeout(() => {
+ taskOrder.pushResolve("resolve2");
+}, 300);
+setTimeout(() => {
+ taskOrder.pushResolve("resolve3");
+}, 400);
```
+
你可以在不同函数中使用这些方法. 以上代码执行结果为:
+
```javascript
-// time 230: data1 Response1
-// time 500: data2 Response2
+// time 230: data1 resolve1
+// time 500: data2 resolve2
```
-#### createTaskOrder实例上的方法
-
-| 名称 | 描述 | 返回值的数据结构 |
-| ---- | ---- | ---- |
-| request | 接收数据的方法,可以传入一个立即执行的函数 | Promise类型, 得到的data是pushResponse的原数据 |
-| pushResponse | 增加数据的方法 | -- |
-| clear | 清空所有的状态 | -- |
-| paused (v0.1.0) | 暂停任务 | -- |
-| running (v0.1.0) | 继续匹配任务 | -- |
-| getStatus | 获取当前状态 | {
pendingRequests: 0 (未完成匹配的request数量),
pendingResponses: 0 (未完成匹配的response数量)
} |
-| getLastCompletedTask
(v0.1.0) | 获取最后一个request与response完成匹配的数据 | -- |
+#### createTaskOrder 实例上的方法
+| 名称 | 描述 | 返回值的数据结构 |
+| ------------------------ | ----------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------- |
+| pushResolve | 增加数据的方法 | -- |
+| clear | 清空所有的状态 | -- |
+| paused | 暂停任务 | -- |
+| running | 继续匹配任务 | -- |
+| getStatus | 获取当前状态 | {
pendingRequests: 0 (未完成匹配的 request 数量),
pendingResponses: 0 (未完成匹配的 response 数量)
} |
+| getLastCompletedTask
| 获取最后一个 request 与 response 完成匹配的数据 | -- |
### 开源协议
-[MIT](./LICENSE).
\ No newline at end of file
+[MIT](./LICENSE).
diff --git a/README.md b/README.md
index 8204950..6a2e3fa 100644
--- a/README.md
+++ b/README.md
@@ -1,8 +1,11 @@
# async-task-mapping
+
It can make asynchronous tasks that promise cannot complete, ignore the order of sending and receiving, allow binding of asynchronous tasks in pending status, allow triggering a task in multiple functions, and support producer consumer mode and order mode.
-English | [简体中文](https://github.com/TNT-03/async-task-mapping/blob/master/README-zh_CN.md)
+English | [简体中文](https://github.com/TNT-03/async-task-mapping/blob/master/README-zh_CN.md)
+
## Pre-requisites
+
The async-task-mapping library does not use any third-party dependency packages and does not limit the technology stack.
## Install
@@ -12,101 +15,117 @@ npm i async-task-mapping --save
```
## Usage
-### use createTaskList
-```javascript
-import { createTaskList } from 'async-task-mapping';
-const asyncTask = createTaskList({ordered: true, requestCount: 2, responseCount: 2})
-
- setTimeout(async () => {
- // A Promise.resolve is returned here. You can use either async/await or .then.
- const data = await asyncTask.request()
- console.log('data-1', data)
- }, 100)
-
- setTimeout(async () => {
- const data = await asyncTask.request(() => console.log('request-2'))
- console.log('data-2', data)
- }, 200)
-
- setTimeout(() => {
- asyncTask.pushResponse('response1')
- }, 300)
+### use createTaskList
- setTimeout(() => {
- asyncTask.pushResponse('response2')
- }, 400)
+version 1.0.0-beta
+```javascript
+import { createTaskList } from "async-task-mapping";
+const asyncTask = createTaskList({
+ ordered: true,
+ taskCount: 2,
+ resolveCount: 2,
+});
+
+setTimeout(async () => {
+ // A Promise.resolve is returned here. You can use either async/await or .then.
+ const { list, dataMap } = await asyncTask;
+ console.log("data-1", list[0]);
+ // or
+ asyncTask.then(({ list, dataMap }) => {
+ console.log("data-1", list[0]);
+ });
+}, 100);
+
+setTimeout(async () => {
+ const { list, dataMap } = await asyncTask;
+ console.log("data-2", dataMap.res2);
+}, 200);
+
+setTimeout(() => {
+ asyncTask.pushResolve("response1");
+}, 300);
+
+setTimeout(() => {
+ asyncTask.pushResolve("response2", "res2");
+}, 400);
```
+
You can use these functions in different methods. The result of the above code is:
+
```javascript
// time 200: request-2
// time 300: data-1 response1
// time 400: data-2 response2
```
+
#### Parameters passed in during createTaskList instantiation
-| name | description | default |
-| ---- | ---- | ---- |
-| ordered | Is it orderly | false |
-| requestCount | Number of times to access data | 1 |
-| responseCount | Increase the number of times of data | 1 |
+| name | description | default |
+| ------------ | ------------------------------------ | ------- |
+| ordered | Is it orderly | false |
+| taskCount | Number of times to access data | 1 |
+| resolveCount | Increase the number of times of data | 1 |
#### Methods on createTaskList Instances
-| name | description | returned data structure |
-| ---- | ---- | ---- |
-| request | Used to access data | Promise type, The data obtained is the original data of
pushResponse. If the responseCount is greater than 1,
an array will be obtained|
-| pushResponse | Used to add data | -- |
-| clear | Clear all statuses | -- |
-| paused (v0.1.0) | pause task | -- |
-| running (v0.1.0) | continue matching tasks | -- |
-| getStatus | Get current status | {
// Whether to complete all request binding
requestDone: false,
// Whether to complete all pushResponse
responseDone: false,
//Number of requests bound
requestCount: 1 (Number of requests bound),
// Number of pushResponse complete
responseCount: 1 (Number of pushResponse completed)
} |
+| name | description | returned data structure |
+| ----------- | ------------------------------ | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
+| then\* | The original method of promise | task.then(({list, dataMap})=>{}) |
+| pushResolve | Used to add data | pushResolve(data, name), Not required, data of Promise.resolve |
+| clear | Clear all statuses | -- |
+| paused | pause task | -- |
+| running | continue matching tasks | -- |
+| getStatus | Get current status | {
// Whether to complete all request binding
requestDone: false,
// Whether to complete all pushResolve
responseDone: false,
//Number of requests bound
requestCount: 1 (Number of requests bound),
// Number of pushResolve complete
responseCount: 1 (Number of pushResolve completed)
} |
### use createTaskOrder
The request and response can be out of order.
+
```javascript
-import { createTaskOrder } from 'async-task-mapping';
-const taskOrder = createTaskOrder()
-
- setTimeout(async () => {
- // A Promise.resolve is returned here. You can use either async/await or .then.
- const data = await taskOrder.request()
- console.log('data1', data)
- }, 230)
-
- setTimeout(async () => {
- const data = await taskOrder.request(() => console.log('request 2'))
- console.log('data2', data)
- }, 500)
- setTimeout( () => {
- taskOrder.pushResponse('Response1')
- }, 200)
- setTimeout(() => {
- taskOrder.pushResponse('Response2')
- }, 300)
- setTimeout(() => {
- taskOrder.pushResponse('Response3')
- }, 400)
+import { createTaskOrder } from "async-task-mapping";
+const taskOrder = createTaskOrder();
+
+setTimeout(async () => {
+ // A Promise.resolve is returned here. You can use either async/await or .then.
+ const data = await taskOrder;
+ console.log("data1", data);
+}, 230);
+
+setTimeout(async () => {
+ const data = await taskOrder;
+ console.log("data2", data);
+}, 500);
+setTimeout(() => {
+ taskOrder.pushResolve("resolve1");
+}, 200);
+setTimeout(() => {
+ taskOrder.pushResolve("resolve2");
+}, 300);
+setTimeout(() => {
+ taskOrder.pushResolve("resolve3");
+}, 400);
```
+
You can use these functions in different methods. The result of the above code is:
+
```javascript
-// time 230: data1 Response1
-// time 500: data2 Response2
+// time 230: data1 resolve1
+// time 500: data2 resolve2
```
+
#### Methods on createTaskOrder Instances
-| name | description | returned data structure |
-| ---- | ---- | ---- |
-| request | The method to access data, which can be
passed in a function to be executed immediately | Promise type, the data obtained is the original data of
pushResponse |
-| pushResponse | Used to add data | -- |
-| clear | Clear all statuses | -- |
-| paused (v0.1.0) | pause task | -- |
-| running (v0.1.0) | continue matching tasks | -- |
-| getStatus | Get current status | {
//Number of incomplete matching requests
pendingRequests: 0,
//Number of responses that have not completed matching
pendingResponses: 0
} |
-| getLastCompletedTask | Get the data matching the last request with the response | -- |
+| name | description | returned data structure |
+| -------------------- | -------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
+| pushResolve | Used to add data | -- |
+| clear | Clear all statuses | -- |
+| paused | pause task | -- |
+| running | continue matching tasks | -- |
+| getStatus | Get current status | {
//Number of incomplete matching requests
pendingRequests: 0,
//Number of responses that have not completed matching
pendingResponses: 0
} |
+| getLastCompletedTask | Get the data matching the last request with the response | -- |
### License
-[MIT](https://github.com/TNT-03/async-task-mapping/blob/master/LICENSE).
\ No newline at end of file
+[MIT](https://github.com/TNT-03/async-task-mapping/blob/master/LICENSE).
diff --git a/babel.config.js b/babel.config.js
index a90fb23..8d1213b 100644
--- a/babel.config.js
+++ b/babel.config.js
@@ -1,3 +1,8 @@
module.exports = {
- presets: [['@babel/preset-env', {targets: {node: 'current'}}]],
- };
\ No newline at end of file
+ // presets: [["@babel/preset-env", { targets: { node: "current" } }]],
+ env: {
+ test: {
+ plugins: ["@babel/plugin-transform-runtime"],
+ },
+ },
+};
diff --git a/package-lock.json b/package-lock.json
index a398f49..fb86cd9 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -1,21 +1,20 @@
{
"name": "async-task-mapping",
- "version": "0.1.0",
+ "version": "1.0.0-beta",
"lockfileVersion": 2,
"requires": true,
"packages": {
"": {
"name": "async-task-mapping",
- "version": "0.1.0",
+ "version": "1.0.0-beta",
"license": "MIT",
"dependencies": {
"rollup-plugin-json": "^4.0.0"
},
"devDependencies": {
"@babel/core": "^7.17.5",
- "@babel/plugin-transform-runtime": "^7.21.0",
+ "@babel/plugin-transform-runtime": "^7.21.4",
"@babel/preset-env": "^7.16.11",
- "@babel/preset-typescript": "^7.16.7",
"@rollup/plugin-html": "^1.0.2",
"@typescript-eslint/eslint-plugin": "^5.13.0",
"@typescript-eslint/parser": "^5.13.0",
@@ -26,9 +25,7 @@
"rollup-plugin-livereload": "^2.0.5",
"rollup-plugin-serve": "^1.1.0",
"rollup-plugin-terser": "^7.0.2",
- "rollup-plugin-typescript2": "^0.31.2",
- "tslib": "^2.3.1",
- "typescript": "^4.6.2"
+ "tslib": "^2.3.1"
}
},
"node_modules/@ampproject/remapping": {
@@ -44,12 +41,12 @@
}
},
"node_modules/@babel/code-frame": {
- "version": "7.16.7",
- "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.16.7.tgz",
- "integrity": "sha512-iAXqUn8IIeBTNd72xsFlgaXHkMBMt6y4HJp1tIaK465CWLT/fG1aqB7ykr95gHHmlBdGbFeWWfyB4NJJ0nmeIg==",
+ "version": "7.21.4",
+ "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.21.4.tgz",
+ "integrity": "sha512-LYvhNKfwWSPpocw8GI7gpK2nq3HSDuEPC/uSYaALSJu9xjsalaaYFOq0Pwt5KmVqwEbZlDu81aLXwBOmD/Fv9g==",
"dev": true,
"dependencies": {
- "@babel/highlight": "^7.16.7"
+ "@babel/highlight": "^7.18.6"
},
"engines": {
"node": ">=6.9.0"
@@ -91,26 +88,27 @@
}
},
"node_modules/@babel/generator": {
- "version": "7.17.3",
- "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.17.3.tgz",
- "integrity": "sha512-+R6Dctil/MgUsZsZAkYgK+ADNSZzJRRy0TvY65T71z/CR854xHQ1EweBYXdfT+HNeN7w0cSJJEzgxZMv40pxsg==",
+ "version": "7.21.4",
+ "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.21.4.tgz",
+ "integrity": "sha512-NieM3pVIYW2SwGzKoqfPrQsf4xGs9M9AIG3ThppsSRmO+m7eQhmI6amajKMUeIO37wFfsvnvcxQFx6x6iqxDnA==",
"dev": true,
"dependencies": {
- "@babel/types": "^7.17.0",
- "jsesc": "^2.5.1",
- "source-map": "^0.5.0"
+ "@babel/types": "^7.21.4",
+ "@jridgewell/gen-mapping": "^0.3.2",
+ "@jridgewell/trace-mapping": "^0.3.17",
+ "jsesc": "^2.5.1"
},
"engines": {
"node": ">=6.9.0"
}
},
"node_modules/@babel/helper-annotate-as-pure": {
- "version": "7.16.7",
- "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.16.7.tgz",
- "integrity": "sha512-s6t2w/IPQVTAET1HitoowRGXooX8mCgtuP5195wD/QJPV6wYjpujCGF7JuMODVX2ZAJOf1GT6DT9MHEZvLOFSw==",
+ "version": "7.18.6",
+ "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.18.6.tgz",
+ "integrity": "sha512-duORpUiYrEpzKIop6iNbjnwKLAKnJ47csTyRACyEmWj0QdUrm5aqNJGHSSEQSUAvNW0ojX0dOmK9dZduvkfeXA==",
"dev": true,
"dependencies": {
- "@babel/types": "^7.16.7"
+ "@babel/types": "^7.18.6"
},
"engines": {
"node": ">=6.9.0"
@@ -164,18 +162,19 @@
"dev": true
},
"node_modules/@babel/helper-create-class-features-plugin": {
- "version": "7.17.6",
- "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.17.6.tgz",
- "integrity": "sha512-SogLLSxXm2OkBbSsHZMM4tUi8fUzjs63AT/d0YQIzr6GSd8Hxsbk2KYDX0k0DweAzGMj/YWeiCsorIdtdcW8Eg==",
+ "version": "7.21.4",
+ "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.21.4.tgz",
+ "integrity": "sha512-46QrX2CQlaFRF4TkwfTt6nJD7IHq8539cCL7SDpqWSDeJKY1xylKKY5F/33mJhLZ3mFvKv2gGrVS6NkyF6qs+Q==",
"dev": true,
"dependencies": {
- "@babel/helper-annotate-as-pure": "^7.16.7",
- "@babel/helper-environment-visitor": "^7.16.7",
- "@babel/helper-function-name": "^7.16.7",
- "@babel/helper-member-expression-to-functions": "^7.16.7",
- "@babel/helper-optimise-call-expression": "^7.16.7",
- "@babel/helper-replace-supers": "^7.16.7",
- "@babel/helper-split-export-declaration": "^7.16.7"
+ "@babel/helper-annotate-as-pure": "^7.18.6",
+ "@babel/helper-environment-visitor": "^7.18.9",
+ "@babel/helper-function-name": "^7.21.0",
+ "@babel/helper-member-expression-to-functions": "^7.21.0",
+ "@babel/helper-optimise-call-expression": "^7.18.6",
+ "@babel/helper-replace-supers": "^7.20.7",
+ "@babel/helper-skip-transparent-expression-wrappers": "^7.20.0",
+ "@babel/helper-split-export-declaration": "^7.18.6"
},
"engines": {
"node": ">=6.9.0"
@@ -218,13 +217,10 @@
}
},
"node_modules/@babel/helper-environment-visitor": {
- "version": "7.16.7",
- "resolved": "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.16.7.tgz",
- "integrity": "sha512-SLLb0AAn6PkUeAfKJCCOl9e1R53pQlGAfc4y4XuMRZfqeMYLE0dM1LMhqbGAlGQY0lfw5/ohoYWAe9V1yibRag==",
+ "version": "7.18.9",
+ "resolved": "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.18.9.tgz",
+ "integrity": "sha512-3r/aACDJ3fhQ/EVgFy0hpj8oHyHpQc+LPtJoY9SzTThAsStm4Ptegq92vqKoE3vD706ZVFWITnMnxucw+S9Ipg==",
"dev": true,
- "dependencies": {
- "@babel/types": "^7.16.7"
- },
"engines": {
"node": ">=6.9.0"
}
@@ -242,93 +238,80 @@
}
},
"node_modules/@babel/helper-function-name": {
- "version": "7.16.7",
- "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.16.7.tgz",
- "integrity": "sha512-QfDfEnIUyyBSR3HtrtGECuZ6DAyCkYFp7GHl75vFtTnn6pjKeK0T1DB5lLkFvBea8MdaiUABx3osbgLyInoejA==",
- "dev": true,
- "dependencies": {
- "@babel/helper-get-function-arity": "^7.16.7",
- "@babel/template": "^7.16.7",
- "@babel/types": "^7.16.7"
- },
- "engines": {
- "node": ">=6.9.0"
- }
- },
- "node_modules/@babel/helper-get-function-arity": {
- "version": "7.16.7",
- "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.16.7.tgz",
- "integrity": "sha512-flc+RLSOBXzNzVhcLu6ujeHUrD6tANAOU5ojrRx/as+tbzf8+stUCj7+IfRRoAbEZqj/ahXEMsjhOhgeZsrnTw==",
+ "version": "7.21.0",
+ "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.21.0.tgz",
+ "integrity": "sha512-HfK1aMRanKHpxemaY2gqBmL04iAPOPRj7DxtNbiDOrJK+gdwkiNRVpCpUJYbUT+aZyemKN8brqTOxzCaG6ExRg==",
"dev": true,
"dependencies": {
- "@babel/types": "^7.16.7"
+ "@babel/template": "^7.20.7",
+ "@babel/types": "^7.21.0"
},
"engines": {
"node": ">=6.9.0"
}
},
"node_modules/@babel/helper-hoist-variables": {
- "version": "7.16.7",
- "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.16.7.tgz",
- "integrity": "sha512-m04d/0Op34H5v7pbZw6pSKP7weA6lsMvfiIAMeIvkY/R4xQtBSMFEigu9QTZ2qB/9l22vsxtM8a+Q8CzD255fg==",
+ "version": "7.18.6",
+ "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.18.6.tgz",
+ "integrity": "sha512-UlJQPkFqFULIcyW5sbzgbkxn2FKRgwWiRexcuaR8RNJRy8+LLveqPjwZV/bwrLZCN0eUHD/x8D0heK1ozuoo6Q==",
"dev": true,
"dependencies": {
- "@babel/types": "^7.16.7"
+ "@babel/types": "^7.18.6"
},
"engines": {
"node": ">=6.9.0"
}
},
"node_modules/@babel/helper-member-expression-to-functions": {
- "version": "7.16.7",
- "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.16.7.tgz",
- "integrity": "sha512-VtJ/65tYiU/6AbMTDwyoXGPKHgTsfRarivm+YbB5uAzKUyuPjgZSgAFeG87FCigc7KNHu2Pegh1XIT3lXjvz3Q==",
+ "version": "7.21.0",
+ "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.21.0.tgz",
+ "integrity": "sha512-Muu8cdZwNN6mRRNG6lAYErJ5X3bRevgYR2O8wN0yn7jJSnGDu6eG59RfT29JHxGUovyfrh6Pj0XzmR7drNVL3Q==",
"dev": true,
"dependencies": {
- "@babel/types": "^7.16.7"
+ "@babel/types": "^7.21.0"
},
"engines": {
"node": ">=6.9.0"
}
},
"node_modules/@babel/helper-module-imports": {
- "version": "7.18.6",
- "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.18.6.tgz",
- "integrity": "sha512-0NFvs3VkuSYbFi1x2Vd6tKrywq+z/cLeYC/RJNFrIX/30Bf5aiGYbtvGXolEktzJH8o5E5KJ3tT+nkxuuZFVlA==",
+ "version": "7.21.4",
+ "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.21.4.tgz",
+ "integrity": "sha512-orajc5T2PsRYUN3ZryCEFeMDYwyw09c/pZeaQEZPH0MpKzSvn3e0uXsDBu3k03VI+9DBiRo+l22BfKTpKwa/Wg==",
"dev": true,
"dependencies": {
- "@babel/types": "^7.18.6"
+ "@babel/types": "^7.21.4"
},
"engines": {
"node": ">=6.9.0"
}
},
"node_modules/@babel/helper-module-transforms": {
- "version": "7.17.6",
- "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.17.6.tgz",
- "integrity": "sha512-2ULmRdqoOMpdvkbT8jONrZML/XALfzxlb052bldftkicAUy8AxSCkD5trDPQcwHNmolcl7wP6ehNqMlyUw6AaA==",
+ "version": "7.21.2",
+ "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.21.2.tgz",
+ "integrity": "sha512-79yj2AR4U/Oqq/WOV7Lx6hUjau1Zfo4cI+JLAVYeMV5XIlbOhmjEk5ulbTc9fMpmlojzZHkUUxAiK+UKn+hNQQ==",
"dev": true,
"dependencies": {
- "@babel/helper-environment-visitor": "^7.16.7",
- "@babel/helper-module-imports": "^7.16.7",
- "@babel/helper-simple-access": "^7.16.7",
- "@babel/helper-split-export-declaration": "^7.16.7",
- "@babel/helper-validator-identifier": "^7.16.7",
- "@babel/template": "^7.16.7",
- "@babel/traverse": "^7.17.3",
- "@babel/types": "^7.17.0"
+ "@babel/helper-environment-visitor": "^7.18.9",
+ "@babel/helper-module-imports": "^7.18.6",
+ "@babel/helper-simple-access": "^7.20.2",
+ "@babel/helper-split-export-declaration": "^7.18.6",
+ "@babel/helper-validator-identifier": "^7.19.1",
+ "@babel/template": "^7.20.7",
+ "@babel/traverse": "^7.21.2",
+ "@babel/types": "^7.21.2"
},
"engines": {
"node": ">=6.9.0"
}
},
"node_modules/@babel/helper-optimise-call-expression": {
- "version": "7.16.7",
- "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.16.7.tgz",
- "integrity": "sha512-EtgBhg7rd/JcnpZFXpBy0ze1YRfdm7BnBX4uKMBd3ixa3RGAE002JZB66FJyNH7g0F38U05pXmA5P8cBh7z+1w==",
+ "version": "7.18.6",
+ "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.18.6.tgz",
+ "integrity": "sha512-HP59oD9/fEHQkdcbgFCnbmgH5vIQTJbxh2yf+CdM89/glUNnuzr87Q8GIjGEnOktTROemO0Pe0iPAYbqZuOUiA==",
"dev": true,
"dependencies": {
- "@babel/types": "^7.16.7"
+ "@babel/types": "^7.18.6"
},
"engines": {
"node": ">=6.9.0"
@@ -358,52 +341,53 @@
}
},
"node_modules/@babel/helper-replace-supers": {
- "version": "7.16.7",
- "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.16.7.tgz",
- "integrity": "sha512-y9vsWilTNaVnVh6xiJfABzsNpgDPKev9HnAgz6Gb1p6UUwf9NepdlsV7VXGCftJM+jqD5f7JIEubcpLjZj5dBw==",
+ "version": "7.20.7",
+ "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.20.7.tgz",
+ "integrity": "sha512-vujDMtB6LVfNW13jhlCrp48QNslK6JXi7lQG736HVbHz/mbf4Dc7tIRh1Xf5C0rF7BP8iiSxGMCmY6Ci1ven3A==",
"dev": true,
"dependencies": {
- "@babel/helper-environment-visitor": "^7.16.7",
- "@babel/helper-member-expression-to-functions": "^7.16.7",
- "@babel/helper-optimise-call-expression": "^7.16.7",
- "@babel/traverse": "^7.16.7",
- "@babel/types": "^7.16.7"
+ "@babel/helper-environment-visitor": "^7.18.9",
+ "@babel/helper-member-expression-to-functions": "^7.20.7",
+ "@babel/helper-optimise-call-expression": "^7.18.6",
+ "@babel/template": "^7.20.7",
+ "@babel/traverse": "^7.20.7",
+ "@babel/types": "^7.20.7"
},
"engines": {
"node": ">=6.9.0"
}
},
"node_modules/@babel/helper-simple-access": {
- "version": "7.16.7",
- "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.16.7.tgz",
- "integrity": "sha512-ZIzHVyoeLMvXMN/vok/a4LWRy8G2v205mNP0XOuf9XRLyX5/u9CnVulUtDgUTama3lT+bf/UqucuZjqiGuTS1g==",
+ "version": "7.20.2",
+ "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.20.2.tgz",
+ "integrity": "sha512-+0woI/WPq59IrqDYbVGfshjT5Dmk/nnbdpcF8SnMhhXObpTq2KNBdLFRFrkVdbDOyUmHBCxzm5FHV1rACIkIbA==",
"dev": true,
"dependencies": {
- "@babel/types": "^7.16.7"
+ "@babel/types": "^7.20.2"
},
"engines": {
"node": ">=6.9.0"
}
},
"node_modules/@babel/helper-skip-transparent-expression-wrappers": {
- "version": "7.16.0",
- "resolved": "https://registry.npmjs.org/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.16.0.tgz",
- "integrity": "sha512-+il1gTy0oHwUsBQZyJvukbB4vPMdcYBrFHa0Uc4AizLxbq6BOYC51Rv4tWocX9BLBDLZ4kc6qUFpQ6HRgL+3zw==",
+ "version": "7.20.0",
+ "resolved": "https://registry.npmjs.org/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.20.0.tgz",
+ "integrity": "sha512-5y1JYeNKfvnT8sZcK9DVRtpTbGiomYIHviSP3OQWmDPU3DeH4a1ZlT/N2lyQ5P8egjcRaT/Y9aNqUxK0WsnIIg==",
"dev": true,
"dependencies": {
- "@babel/types": "^7.16.0"
+ "@babel/types": "^7.20.0"
},
"engines": {
"node": ">=6.9.0"
}
},
"node_modules/@babel/helper-split-export-declaration": {
- "version": "7.16.7",
- "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.16.7.tgz",
- "integrity": "sha512-xbWoy/PFoxSWazIToT9Sif+jJTlrMcndIsaOKvTA6u7QEo7ilkRZpjew18/W3c7nm8fXdUDXh02VXTbZ0pGDNw==",
+ "version": "7.18.6",
+ "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.18.6.tgz",
+ "integrity": "sha512-bde1etTx6ZyTmobl9LLMMQsaizFVZrquTEHOqKeQESMKo4PlObf+8+JA25ZsIpZhT/WEd39+vOdLXAFG/nELpA==",
"dev": true,
"dependencies": {
- "@babel/types": "^7.16.7"
+ "@babel/types": "^7.18.6"
},
"engines": {
"node": ">=6.9.0"
@@ -466,12 +450,12 @@
}
},
"node_modules/@babel/highlight": {
- "version": "7.16.10",
- "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.16.10.tgz",
- "integrity": "sha512-5FnTQLSLswEj6IkgVw5KusNUUFY9ZGqe/TRFnP/BKYHYgfh7tc+C7mwiy95/yNP7Dh9x580Vv8r7u7ZfTBFxdw==",
+ "version": "7.18.6",
+ "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.18.6.tgz",
+ "integrity": "sha512-u7stbOuYjaPezCuLj29hNW1v64M2Md2qupEKP1fHc7WdOA3DgLh37suiSrZYY7haUB7iBeQZ9P1uiRF359do3g==",
"dev": true,
"dependencies": {
- "@babel/helper-validator-identifier": "^7.16.7",
+ "@babel/helper-validator-identifier": "^7.18.6",
"chalk": "^2.0.0",
"js-tokens": "^4.0.0"
},
@@ -480,9 +464,9 @@
}
},
"node_modules/@babel/parser": {
- "version": "7.20.15",
- "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.20.15.tgz",
- "integrity": "sha512-DI4a1oZuf8wC+oAJA9RW6ga3Zbe8RZFt7kD9i4qAspz3I/yHet1VvC3DiSy/fsUvv5pvJuNPh0LPOdCcqinDPg==",
+ "version": "7.21.4",
+ "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.21.4.tgz",
+ "integrity": "sha512-alVJj7k7zIxqBZ7BTRhz0IqJFxW1VJbm6N8JbcYhQ186df9ZBPbZBmWSqAMXwHGsCJdYks7z/voa3ibiS5bCIw==",
"dev": true,
"bin": {
"parser": "bin/babel-parser.js"
@@ -871,12 +855,12 @@
}
},
"node_modules/@babel/plugin-syntax-jsx": {
- "version": "7.16.7",
- "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.16.7.tgz",
- "integrity": "sha512-Esxmk7YjA8QysKeT3VhTXvF6y77f/a91SIs4pWb4H2eWGQkCKFgQaG6hdoEVZtGsrAcb2K5BW66XsOErD4WU3Q==",
+ "version": "7.21.4",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.21.4.tgz",
+ "integrity": "sha512-5hewiLct5OKyh6PLKEYaFclcqtIgCb6bmELouxjF6up5q3Sov7rOayW4RwhbaBL0dit8rA80GNfY+UuDp2mBbQ==",
"dev": true,
"dependencies": {
- "@babel/helper-plugin-utils": "^7.16.7"
+ "@babel/helper-plugin-utils": "^7.20.2"
},
"engines": {
"node": ">=6.9.0"
@@ -988,12 +972,12 @@
}
},
"node_modules/@babel/plugin-syntax-typescript": {
- "version": "7.16.7",
- "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.16.7.tgz",
- "integrity": "sha512-YhUIJHHGkqPgEcMYkPCKTyGUdoGKWtopIycQyjJH8OjvRgOYsXsaKehLVPScKJWAULPxMa4N1vCe6szREFlZ7A==",
+ "version": "7.21.4",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.21.4.tgz",
+ "integrity": "sha512-xz0D39NvhQn4t4RNsHmDnnsaQizIlUkdtYvLs8La1BlfjQ6JEwxkJGeqJMW2tAXx+q6H+WFuUTXNdYVpEya0YA==",
"dev": true,
"dependencies": {
- "@babel/helper-plugin-utils": "^7.16.7"
+ "@babel/helper-plugin-utils": "^7.20.2"
},
"engines": {
"node": ">=6.9.0"
@@ -1243,15 +1227,14 @@
}
},
"node_modules/@babel/plugin-transform-modules-commonjs": {
- "version": "7.16.8",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.16.8.tgz",
- "integrity": "sha512-oflKPvsLT2+uKQopesJt3ApiaIS2HW+hzHFcwRNtyDGieAeC/dIHZX8buJQ2J2X1rxGPy4eRcUijm3qcSPjYcA==",
+ "version": "7.21.2",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.21.2.tgz",
+ "integrity": "sha512-Cln+Yy04Gxua7iPdj6nOV96smLGjpElir5YwzF0LBPKoPlLDNJePNlrGGaybAJkd0zKRnOVXOgizSqPYMNYkzA==",
"dev": true,
"dependencies": {
- "@babel/helper-module-transforms": "^7.16.7",
- "@babel/helper-plugin-utils": "^7.16.7",
- "@babel/helper-simple-access": "^7.16.7",
- "babel-plugin-dynamic-import-node": "^2.3.3"
+ "@babel/helper-module-transforms": "^7.21.2",
+ "@babel/helper-plugin-utils": "^7.20.2",
+ "@babel/helper-simple-access": "^7.20.2"
},
"engines": {
"node": ">=6.9.0"
@@ -1371,71 +1354,6 @@
"@babel/core": "^7.0.0-0"
}
},
- "node_modules/@babel/plugin-transform-react-display-name": {
- "version": "7.16.7",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-display-name/-/plugin-transform-react-display-name-7.16.7.tgz",
- "integrity": "sha512-qgIg8BcZgd0G/Cz916D5+9kqX0c7nPZyXaP8R2tLNN5tkyIZdG5fEwBrxwplzSnjC1jvQmyMNVwUCZPcbGY7Pg==",
- "dev": true,
- "dependencies": {
- "@babel/helper-plugin-utils": "^7.16.7"
- },
- "engines": {
- "node": ">=6.9.0"
- },
- "peerDependencies": {
- "@babel/core": "^7.0.0-0"
- }
- },
- "node_modules/@babel/plugin-transform-react-jsx": {
- "version": "7.17.3",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx/-/plugin-transform-react-jsx-7.17.3.tgz",
- "integrity": "sha512-9tjBm4O07f7mzKSIlEmPdiE6ub7kfIe6Cd+w+oQebpATfTQMAgW+YOuWxogbKVTulA+MEO7byMeIUtQ1z+z+ZQ==",
- "dev": true,
- "dependencies": {
- "@babel/helper-annotate-as-pure": "^7.16.7",
- "@babel/helper-module-imports": "^7.16.7",
- "@babel/helper-plugin-utils": "^7.16.7",
- "@babel/plugin-syntax-jsx": "^7.16.7",
- "@babel/types": "^7.17.0"
- },
- "engines": {
- "node": ">=6.9.0"
- },
- "peerDependencies": {
- "@babel/core": "^7.0.0-0"
- }
- },
- "node_modules/@babel/plugin-transform-react-jsx-development": {
- "version": "7.16.7",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-development/-/plugin-transform-react-jsx-development-7.16.7.tgz",
- "integrity": "sha512-RMvQWvpla+xy6MlBpPlrKZCMRs2AGiHOGHY3xRwl0pEeim348dDyxeH4xBsMPbIMhujeq7ihE702eM2Ew0Wo+A==",
- "dev": true,
- "dependencies": {
- "@babel/plugin-transform-react-jsx": "^7.16.7"
- },
- "engines": {
- "node": ">=6.9.0"
- },
- "peerDependencies": {
- "@babel/core": "^7.0.0-0"
- }
- },
- "node_modules/@babel/plugin-transform-react-pure-annotations": {
- "version": "7.16.7",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-pure-annotations/-/plugin-transform-react-pure-annotations-7.16.7.tgz",
- "integrity": "sha512-hs71ToC97k3QWxswh2ElzMFABXHvGiJ01IB1TbYQDGeWRKWz/MPUTh5jGExdHvosYKpnJW5Pm3S4+TA3FyX+GA==",
- "dev": true,
- "dependencies": {
- "@babel/helper-annotate-as-pure": "^7.16.7",
- "@babel/helper-plugin-utils": "^7.16.7"
- },
- "engines": {
- "node": ">=6.9.0"
- },
- "peerDependencies": {
- "@babel/core": "^7.0.0-0"
- }
- },
"node_modules/@babel/plugin-transform-regenerator": {
"version": "7.16.7",
"resolved": "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.16.7.tgz",
@@ -1467,12 +1385,12 @@
}
},
"node_modules/@babel/plugin-transform-runtime": {
- "version": "7.21.0",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.21.0.tgz",
- "integrity": "sha512-ReY6pxwSzEU0b3r2/T/VhqMKg/AkceBT19X0UptA3/tYi5Pe2eXgEUH+NNMC5nok6c6XQz5tyVTUpuezRfSMSg==",
+ "version": "7.21.4",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.21.4.tgz",
+ "integrity": "sha512-1J4dhrw1h1PqnNNpzwxQ2UBymJUF8KuPjAAnlLwZcGhHAIqUigFW7cdK6GHoB64ubY4qXQNYknoUeks4Wz7CUA==",
"dev": true,
"dependencies": {
- "@babel/helper-module-imports": "^7.18.6",
+ "@babel/helper-module-imports": "^7.21.4",
"@babel/helper-plugin-utils": "^7.20.2",
"babel-plugin-polyfill-corejs2": "^0.3.3",
"babel-plugin-polyfill-corejs3": "^0.6.0",
@@ -1587,23 +1505,6 @@
"@babel/core": "^7.0.0-0"
}
},
- "node_modules/@babel/plugin-transform-typescript": {
- "version": "7.16.8",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typescript/-/plugin-transform-typescript-7.16.8.tgz",
- "integrity": "sha512-bHdQ9k7YpBDO2d0NVfkj51DpQcvwIzIusJ7mEUaMlbZq3Kt/U47j24inXZHQ5MDiYpCs+oZiwnXyKedE8+q7AQ==",
- "dev": true,
- "dependencies": {
- "@babel/helper-create-class-features-plugin": "^7.16.7",
- "@babel/helper-plugin-utils": "^7.16.7",
- "@babel/plugin-syntax-typescript": "^7.16.7"
- },
- "engines": {
- "node": ">=6.9.0"
- },
- "peerDependencies": {
- "@babel/core": "^7.0.0-0"
- }
- },
"node_modules/@babel/plugin-transform-unicode-escapes": {
"version": "7.16.7",
"resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.16.7.tgz",
@@ -1739,43 +1640,6 @@
"@babel/core": "^7.0.0-0"
}
},
- "node_modules/@babel/preset-react": {
- "version": "7.16.7",
- "resolved": "https://registry.npmjs.org/@babel/preset-react/-/preset-react-7.16.7.tgz",
- "integrity": "sha512-fWpyI8UM/HE6DfPBzD8LnhQ/OcH8AgTaqcqP2nGOXEUV+VKBR5JRN9hCk9ai+zQQ57vtm9oWeXguBCPNUjytgA==",
- "dev": true,
- "dependencies": {
- "@babel/helper-plugin-utils": "^7.16.7",
- "@babel/helper-validator-option": "^7.16.7",
- "@babel/plugin-transform-react-display-name": "^7.16.7",
- "@babel/plugin-transform-react-jsx": "^7.16.7",
- "@babel/plugin-transform-react-jsx-development": "^7.16.7",
- "@babel/plugin-transform-react-pure-annotations": "^7.16.7"
- },
- "engines": {
- "node": ">=6.9.0"
- },
- "peerDependencies": {
- "@babel/core": "^7.0.0-0"
- }
- },
- "node_modules/@babel/preset-typescript": {
- "version": "7.16.7",
- "resolved": "https://registry.npmjs.org/@babel/preset-typescript/-/preset-typescript-7.16.7.tgz",
- "integrity": "sha512-WbVEmgXdIyvzB77AQjGBEyYPZx+8tTsO50XtfozQrkW8QB2rLJpH2lgx0TRw5EJrBxOZQ+wCcyPVQvS8tjEHpQ==",
- "dev": true,
- "dependencies": {
- "@babel/helper-plugin-utils": "^7.16.7",
- "@babel/helper-validator-option": "^7.16.7",
- "@babel/plugin-transform-typescript": "^7.16.7"
- },
- "engines": {
- "node": ">=6.9.0"
- },
- "peerDependencies": {
- "@babel/core": "^7.0.0-0"
- }
- },
"node_modules/@babel/runtime": {
"version": "7.17.2",
"resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.17.2.tgz",
@@ -1789,33 +1653,33 @@
}
},
"node_modules/@babel/template": {
- "version": "7.16.7",
- "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.16.7.tgz",
- "integrity": "sha512-I8j/x8kHUrbYRTUxXrrMbfCa7jxkE7tZre39x3kjr9hvI82cK1FfqLygotcWN5kdPGWcLdWMHpSBavse5tWw3w==",
+ "version": "7.20.7",
+ "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.20.7.tgz",
+ "integrity": "sha512-8SegXApWe6VoNw0r9JHpSteLKTpTiLZ4rMlGIm9JQ18KiCtyQiAMEazujAHrUS5flrcqYZa75ukev3P6QmUwUw==",
"dev": true,
"dependencies": {
- "@babel/code-frame": "^7.16.7",
- "@babel/parser": "^7.16.7",
- "@babel/types": "^7.16.7"
+ "@babel/code-frame": "^7.18.6",
+ "@babel/parser": "^7.20.7",
+ "@babel/types": "^7.20.7"
},
"engines": {
"node": ">=6.9.0"
}
},
"node_modules/@babel/traverse": {
- "version": "7.17.3",
- "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.17.3.tgz",
- "integrity": "sha512-5irClVky7TxRWIRtxlh2WPUUOLhcPN06AGgaQSB8AEwuyEBgJVuJ5imdHm5zxk8w0QS5T+tDfnDxAlhWjpb7cw==",
- "dev": true,
- "dependencies": {
- "@babel/code-frame": "^7.16.7",
- "@babel/generator": "^7.17.3",
- "@babel/helper-environment-visitor": "^7.16.7",
- "@babel/helper-function-name": "^7.16.7",
- "@babel/helper-hoist-variables": "^7.16.7",
- "@babel/helper-split-export-declaration": "^7.16.7",
- "@babel/parser": "^7.17.3",
- "@babel/types": "^7.17.0",
+ "version": "7.21.4",
+ "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.21.4.tgz",
+ "integrity": "sha512-eyKrRHKdyZxqDm+fV1iqL9UAHMoIg0nDaGqfIOd8rKH17m5snv7Gn4qgjBoFfLz9APvjFU/ICT00NVCv1Epp8Q==",
+ "dev": true,
+ "dependencies": {
+ "@babel/code-frame": "^7.21.4",
+ "@babel/generator": "^7.21.4",
+ "@babel/helper-environment-visitor": "^7.18.9",
+ "@babel/helper-function-name": "^7.21.0",
+ "@babel/helper-hoist-variables": "^7.18.6",
+ "@babel/helper-split-export-declaration": "^7.18.6",
+ "@babel/parser": "^7.21.4",
+ "@babel/types": "^7.21.4",
"debug": "^4.1.0",
"globals": "^11.1.0"
},
@@ -1824,9 +1688,9 @@
}
},
"node_modules/@babel/types": {
- "version": "7.20.7",
- "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.20.7.tgz",
- "integrity": "sha512-69OnhBxSSgK0OzTJai4kyPDiKTIe3j+ctaHdIGVbRahTLAT7L3R9oeXHC2aVSuGYt3cVnoAMDmOCgJ2yaiLMvg==",
+ "version": "7.21.4",
+ "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.21.4.tgz",
+ "integrity": "sha512-rU2oY501qDxE8Pyo7i/Orqma4ziCOrby0/9mvbDUGEfvZjb279Nk9k19e2fiCxHbRRpY2ZyrgW1eq22mvmOIzA==",
"dev": true,
"dependencies": {
"@babel/helper-string-parser": "^7.19.4",
@@ -2676,6 +2540,20 @@
"node": ">=8"
}
},
+ "node_modules/@jridgewell/gen-mapping": {
+ "version": "0.3.2",
+ "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.2.tgz",
+ "integrity": "sha512-mh65xKQAzI6iBcFzwv28KVWSmCkdRBWoOh+bYQGW3+6OZvbbN3TqMGo5hqYxQniRcH9F2VZIoJCm4pa3BPDK/A==",
+ "dev": true,
+ "dependencies": {
+ "@jridgewell/set-array": "^1.0.1",
+ "@jridgewell/sourcemap-codec": "^1.4.10",
+ "@jridgewell/trace-mapping": "^0.3.9"
+ },
+ "engines": {
+ "node": ">=6.0.0"
+ }
+ },
"node_modules/@jridgewell/resolve-uri": {
"version": "3.1.0",
"resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.0.tgz",
@@ -2685,6 +2563,15 @@
"node": ">=6.0.0"
}
},
+ "node_modules/@jridgewell/set-array": {
+ "version": "1.1.2",
+ "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.1.2.tgz",
+ "integrity": "sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw==",
+ "dev": true,
+ "engines": {
+ "node": ">=6.0.0"
+ }
+ },
"node_modules/@jridgewell/sourcemap-codec": {
"version": "1.4.14",
"resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.14.tgz",
@@ -2753,25 +2640,6 @@
}
}
},
- "node_modules/@rollup/pluginutils": {
- "version": "4.1.2",
- "resolved": "https://registry.npmjs.org/@rollup/pluginutils/-/pluginutils-4.1.2.tgz",
- "integrity": "sha512-ROn4qvkxP9SyPeHaf7uQC/GPFY6L/OWy9+bd9AwcjOAWQwxRscoEyAUD8qCY5o5iL4jqQwoLk2kaTKJPb/HwzQ==",
- "dev": true,
- "dependencies": {
- "estree-walker": "^2.0.1",
- "picomatch": "^2.2.2"
- },
- "engines": {
- "node": ">= 8.0.0"
- }
- },
- "node_modules/@rollup/pluginutils/node_modules/estree-walker": {
- "version": "2.0.2",
- "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-2.0.2.tgz",
- "integrity": "sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==",
- "dev": true
- },
"node_modules/@sinclair/typebox": {
"version": "0.25.21",
"resolved": "https://registry.npmjs.org/@sinclair/typebox/-/typebox-0.25.21.tgz",
@@ -2888,29 +2756,6 @@
"integrity": "sha512-KufADq8uQqo1pYKVIYzfKbJfBAc0sOeXqGbFaSpv8MRmC/zXgowNZmFcbngndGk922QDmOASEXUZCaY48gs4cg==",
"dev": true
},
- "node_modules/@types/prop-types": {
- "version": "15.7.4",
- "resolved": "https://registry.npmjs.org/@types/prop-types/-/prop-types-15.7.4.tgz",
- "integrity": "sha512-rZ5drC/jWjrArrS8BR6SIr4cWpW09RNTYt9AMZo3Jwwif+iacXAqgVjm0B0Bv/S1jhDXKHqRVNCbACkJ89RAnQ==",
- "dev": true
- },
- "node_modules/@types/react": {
- "version": "17.0.39",
- "resolved": "https://registry.npmjs.org/@types/react/-/react-17.0.39.tgz",
- "integrity": "sha512-UVavlfAxDd/AgAacMa60Azl7ygyQNRwC/DsHZmKgNvPmRR5p70AJ5Q9EAmL2NWOJmeV+vVUI4IAP7GZrN8h8Ug==",
- "dev": true,
- "dependencies": {
- "@types/prop-types": "*",
- "@types/scheduler": "*",
- "csstype": "^3.0.2"
- }
- },
- "node_modules/@types/scheduler": {
- "version": "0.16.2",
- "resolved": "https://registry.npmjs.org/@types/scheduler/-/scheduler-0.16.2.tgz",
- "integrity": "sha512-hppQEBDmlwhFAXKJX2KnWLYu5yMfi91yazPb2l+lbJiwW+wdo1gNeRA+3RgNSO39WYX2euey41KEwnqesU2Jew==",
- "dev": true
- },
"node_modules/@types/stack-utils": {
"version": "2.0.1",
"resolved": "https://registry.npmjs.org/@types/stack-utils/-/stack-utils-2.0.1.tgz",
@@ -3114,17 +2959,6 @@
"node": "^12.22.0 || ^14.17.0 || >=16.0.0"
}
},
- "node_modules/@yarn-tool/resolve-package": {
- "version": "1.0.45",
- "resolved": "https://registry.npmjs.org/@yarn-tool/resolve-package/-/resolve-package-1.0.45.tgz",
- "integrity": "sha512-xnfY8JceApkSTliZtr7X6yl1wZYhGbRp0beBMi1OtmvTVTm/ZSt3881Fw1M3ZwhHqr7OEfl8828LJK2q62BvoQ==",
- "dev": true,
- "dependencies": {
- "pkg-dir": "< 6 >= 5",
- "tslib": "^2.3.1",
- "upath2": "^3.1.12"
- }
- },
"node_modules/acorn": {
"version": "8.7.0",
"resolved": "https://registry.npmjs.org/acorn/-/acorn-8.7.0.tgz",
@@ -3680,7 +3514,7 @@
"node_modules/color-name": {
"version": "1.1.3",
"resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz",
- "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=",
+ "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==",
"dev": true
},
"node_modules/commander": {
@@ -3689,12 +3523,6 @@
"integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==",
"dev": true
},
- "node_modules/commondir": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/commondir/-/commondir-1.0.1.tgz",
- "integrity": "sha1-3dgA2gxmEnOTzKWVDqloo6rxJTs=",
- "dev": true
- },
"node_modules/concat-map": {
"version": "0.0.1",
"resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz",
@@ -3737,12 +3565,6 @@
"node": ">= 8"
}
},
- "node_modules/csstype": {
- "version": "3.0.11",
- "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.0.11.tgz",
- "integrity": "sha512-sa6P2wJ+CAbgyy4KFssIb/JNMLxFvKF1pCYCSXS8ZMuqZnMsrxqI2E5sPyoTpxoPU/gVZMzr2zjOfg8GIZOMsw==",
- "dev": true
- },
"node_modules/debug": {
"version": "4.3.3",
"resolved": "https://registry.npmjs.org/debug/-/debug-4.3.3.tgz",
@@ -3880,7 +3702,7 @@
"node_modules/escape-string-regexp": {
"version": "1.0.5",
"resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz",
- "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=",
+ "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==",
"dev": true,
"engines": {
"node": ">=0.8.0"
@@ -4316,94 +4138,6 @@
"node": ">=8"
}
},
- "node_modules/find-cache-dir": {
- "version": "3.3.2",
- "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-3.3.2.tgz",
- "integrity": "sha512-wXZV5emFEjrridIgED11OoUKLxiYjAcqot/NJdAkOhlJ+vGzwhOAfcG5OX1jP+S0PcjEn8bdMJv+g2jwQ3Onig==",
- "dev": true,
- "dependencies": {
- "commondir": "^1.0.1",
- "make-dir": "^3.0.2",
- "pkg-dir": "^4.1.0"
- },
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/find-cache-dir/node_modules/find-up": {
- "version": "4.1.0",
- "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz",
- "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==",
- "dev": true,
- "dependencies": {
- "locate-path": "^5.0.0",
- "path-exists": "^4.0.0"
- },
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/find-cache-dir/node_modules/locate-path": {
- "version": "5.0.0",
- "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz",
- "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==",
- "dev": true,
- "dependencies": {
- "p-locate": "^4.1.0"
- },
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/find-cache-dir/node_modules/p-limit": {
- "version": "2.3.0",
- "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz",
- "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==",
- "dev": true,
- "dependencies": {
- "p-try": "^2.0.0"
- },
- "engines": {
- "node": ">=6"
- }
- },
- "node_modules/find-cache-dir/node_modules/p-locate": {
- "version": "4.1.0",
- "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz",
- "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==",
- "dev": true,
- "dependencies": {
- "p-limit": "^2.2.0"
- },
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/find-cache-dir/node_modules/pkg-dir": {
- "version": "4.2.0",
- "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-4.2.0.tgz",
- "integrity": "sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==",
- "dev": true,
- "dependencies": {
- "find-up": "^4.0.0"
- },
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/find-up": {
- "version": "5.0.0",
- "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz",
- "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==",
- "dev": true,
- "dependencies": {
- "locate-path": "^6.0.0",
- "path-exists": "^4.0.0"
- },
- "engines": {
- "node": ">=10"
- }
- },
"node_modules/flat-cache": {
"version": "3.0.4",
"resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-3.0.4.tgz",
@@ -4423,20 +4157,6 @@
"integrity": "sha512-WIWGi2L3DyTUvUrwRKgGi9TwxQMUEqPOPQBVi71R96jZXJdFskXEmf54BoZaS1kknGODoIGASGEzBUYdyMCBJg==",
"dev": true
},
- "node_modules/fs-extra": {
- "version": "10.0.1",
- "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-10.0.1.tgz",
- "integrity": "sha512-NbdoVMZso2Lsrn/QwLXOy6rm0ufY2zEOKCDzJR/0kBsb0E6qed0P3iYK+Ath3BfvXEeu4JhEtXLgILx5psUfag==",
- "dev": true,
- "dependencies": {
- "graceful-fs": "^4.2.0",
- "jsonfile": "^6.0.1",
- "universalify": "^2.0.0"
- },
- "engines": {
- "node": ">=12"
- }
- },
"node_modules/fs.realpath": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz",
@@ -4595,7 +4315,7 @@
"node_modules/has-flag": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz",
- "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=",
+ "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==",
"dev": true,
"engines": {
"node": ">=4"
@@ -6634,18 +6354,6 @@
"node": ">=6"
}
},
- "node_modules/jsonfile": {
- "version": "6.1.0",
- "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz",
- "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==",
- "dev": true,
- "dependencies": {
- "universalify": "^2.0.0"
- },
- "optionalDependencies": {
- "graceful-fs": "^4.1.6"
- }
- },
"node_modules/kleur": {
"version": "3.0.3",
"resolved": "https://registry.npmjs.org/kleur/-/kleur-3.0.3.tgz",
@@ -6707,18 +6415,6 @@
"integrity": "sha512-5MP0uUeVCec89ZbNOT/i97Mc+q3SxXmiUGhRFOTmhrGPn//uWVQdCvcLJDy64MSBR5MidFdOR7B9viumoavy6g==",
"dev": true
},
- "node_modules/locate-path": {
- "version": "6.0.0",
- "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz",
- "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==",
- "dev": true,
- "dependencies": {
- "p-locate": "^5.0.0"
- },
- "engines": {
- "node": ">=10"
- }
- },
"node_modules/lodash.debounce": {
"version": "4.0.8",
"resolved": "https://registry.npmjs.org/lodash.debounce/-/lodash.debounce-4.0.8.tgz",
@@ -6968,18 +6664,6 @@
"node": ">=10"
}
},
- "node_modules/p-locate": {
- "version": "5.0.0",
- "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz",
- "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==",
- "dev": true,
- "dependencies": {
- "p-limit": "^3.0.2"
- },
- "engines": {
- "node": ">=10"
- }
- },
"node_modules/p-try": {
"version": "2.2.0",
"resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz",
@@ -7037,15 +6721,6 @@
"node": ">=0.10.0"
}
},
- "node_modules/path-is-network-drive": {
- "version": "1.0.13",
- "resolved": "https://registry.npmjs.org/path-is-network-drive/-/path-is-network-drive-1.0.13.tgz",
- "integrity": "sha512-Hg74mRN6mmXV+gTm3INjFK40ncAmC/Lo4qoQaSZ+GT3hZzlKdWQSqAjqyPeW0SvObP2W073WyYEBWY9d3wOm3A==",
- "dev": true,
- "dependencies": {
- "tslib": "^2.3.1"
- }
- },
"node_modules/path-key": {
"version": "3.1.1",
"resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz",
@@ -7061,15 +6736,6 @@
"integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==",
"dev": true
},
- "node_modules/path-strip-sep": {
- "version": "1.0.10",
- "resolved": "https://registry.npmjs.org/path-strip-sep/-/path-strip-sep-1.0.10.tgz",
- "integrity": "sha512-JpCy+8LAJQQTO1bQsb/84s1g+/Stm3h39aOpPRBQ/paMUGVPPZChLTOTKHoaCkc/6sKuF7yVsnq5Pe1S6xQGcA==",
- "dev": true,
- "dependencies": {
- "tslib": "^2.3.1"
- }
- },
"node_modules/path-type": {
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz",
@@ -7103,18 +6769,6 @@
"node": ">= 6"
}
},
- "node_modules/pkg-dir": {
- "version": "5.0.0",
- "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-5.0.0.tgz",
- "integrity": "sha512-NPE8TDbzl/3YQYY7CSS228s3g2ollTFnc+Qi3tqmqJp9Vg2ovUpixcJEo2HJScN2Ez+kEaal6y70c0ehqJBJeA==",
- "dev": true,
- "dependencies": {
- "find-up": "^5.0.0"
- },
- "engines": {
- "node": ">=10"
- }
- },
"node_modules/prelude-ls": {
"version": "1.2.1",
"resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz",
@@ -7495,24 +7149,6 @@
"node": ">=8"
}
},
- "node_modules/rollup-plugin-typescript2": {
- "version": "0.31.2",
- "resolved": "https://registry.npmjs.org/rollup-plugin-typescript2/-/rollup-plugin-typescript2-0.31.2.tgz",
- "integrity": "sha512-hRwEYR1C8xDGVVMFJQdEVnNAeWRvpaY97g5mp3IeLnzhNXzSVq78Ye/BJ9PAaUfN4DXa/uDnqerifMOaMFY54Q==",
- "dev": true,
- "dependencies": {
- "@rollup/pluginutils": "^4.1.2",
- "@yarn-tool/resolve-package": "^1.0.40",
- "find-cache-dir": "^3.3.2",
- "fs-extra": "^10.0.0",
- "resolve": "^1.20.0",
- "tslib": "^2.3.1"
- },
- "peerDependencies": {
- "rollup": ">=1.26.3",
- "typescript": ">=2.4.0"
- }
- },
"node_modules/rollup-pluginutils": {
"version": "2.8.2",
"resolved": "https://registry.npmjs.org/rollup-pluginutils/-/rollup-pluginutils-2.8.2.tgz",
@@ -7587,15 +7223,6 @@
"node": ">=8"
}
},
- "node_modules/source-map": {
- "version": "0.5.7",
- "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz",
- "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=",
- "dev": true,
- "engines": {
- "node": ">=0.10.0"
- }
- },
"node_modules/source-map-support": {
"version": "0.5.21",
"resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.21.tgz",
@@ -7865,6 +7492,7 @@
"resolved": "https://registry.npmjs.org/typescript/-/typescript-4.6.2.tgz",
"integrity": "sha512-HM/hFigTBHZhLXshn9sN37H085+hQGeJHJ/X7LpBWLID/fbc2acUMfU+lGD98X81sKP+pFa9f0DZmCwB9GnbAg==",
"dev": true,
+ "peer": true,
"bin": {
"tsc": "bin/tsc",
"tsserver": "bin/tsserver"
@@ -7913,29 +7541,6 @@
"node": ">=4"
}
},
- "node_modules/universalify": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz",
- "integrity": "sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==",
- "dev": true,
- "engines": {
- "node": ">= 10.0.0"
- }
- },
- "node_modules/upath2": {
- "version": "3.1.12",
- "resolved": "https://registry.npmjs.org/upath2/-/upath2-3.1.12.tgz",
- "integrity": "sha512-yC3eZeCyCXFWjy7Nu4pgjLhXNYjuzuUmJiRgSSw6TJp8Emc+E4951HGPJf+bldFC5SL7oBLeNbtm1fGzXn2gxw==",
- "dev": true,
- "dependencies": {
- "path-is-network-drive": "^1.0.13",
- "path-strip-sep": "^1.0.10",
- "tslib": "^2.3.1"
- },
- "peerDependencies": {
- "@types/node": "*"
- }
- },
"node_modules/update-browserslist-db": {
"version": "1.0.10",
"resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.10.tgz",
@@ -8177,12 +7782,12 @@
}
},
"@babel/code-frame": {
- "version": "7.16.7",
- "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.16.7.tgz",
- "integrity": "sha512-iAXqUn8IIeBTNd72xsFlgaXHkMBMt6y4HJp1tIaK465CWLT/fG1aqB7ykr95gHHmlBdGbFeWWfyB4NJJ0nmeIg==",
+ "version": "7.21.4",
+ "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.21.4.tgz",
+ "integrity": "sha512-LYvhNKfwWSPpocw8GI7gpK2nq3HSDuEPC/uSYaALSJu9xjsalaaYFOq0Pwt5KmVqwEbZlDu81aLXwBOmD/Fv9g==",
"dev": true,
"requires": {
- "@babel/highlight": "^7.16.7"
+ "@babel/highlight": "^7.18.6"
}
},
"@babel/compat-data": {
@@ -8215,23 +7820,24 @@
}
},
"@babel/generator": {
- "version": "7.17.3",
- "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.17.3.tgz",
- "integrity": "sha512-+R6Dctil/MgUsZsZAkYgK+ADNSZzJRRy0TvY65T71z/CR854xHQ1EweBYXdfT+HNeN7w0cSJJEzgxZMv40pxsg==",
+ "version": "7.21.4",
+ "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.21.4.tgz",
+ "integrity": "sha512-NieM3pVIYW2SwGzKoqfPrQsf4xGs9M9AIG3ThppsSRmO+m7eQhmI6amajKMUeIO37wFfsvnvcxQFx6x6iqxDnA==",
"dev": true,
"requires": {
- "@babel/types": "^7.17.0",
- "jsesc": "^2.5.1",
- "source-map": "^0.5.0"
+ "@babel/types": "^7.21.4",
+ "@jridgewell/gen-mapping": "^0.3.2",
+ "@jridgewell/trace-mapping": "^0.3.17",
+ "jsesc": "^2.5.1"
}
},
"@babel/helper-annotate-as-pure": {
- "version": "7.16.7",
- "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.16.7.tgz",
- "integrity": "sha512-s6t2w/IPQVTAET1HitoowRGXooX8mCgtuP5195wD/QJPV6wYjpujCGF7JuMODVX2ZAJOf1GT6DT9MHEZvLOFSw==",
+ "version": "7.18.6",
+ "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.18.6.tgz",
+ "integrity": "sha512-duORpUiYrEpzKIop6iNbjnwKLAKnJ47csTyRACyEmWj0QdUrm5aqNJGHSSEQSUAvNW0ojX0dOmK9dZduvkfeXA==",
"dev": true,
"requires": {
- "@babel/types": "^7.16.7"
+ "@babel/types": "^7.18.6"
}
},
"@babel/helper-builder-binary-assignment-operator-visitor": {
@@ -8275,18 +7881,19 @@
}
},
"@babel/helper-create-class-features-plugin": {
- "version": "7.17.6",
- "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.17.6.tgz",
- "integrity": "sha512-SogLLSxXm2OkBbSsHZMM4tUi8fUzjs63AT/d0YQIzr6GSd8Hxsbk2KYDX0k0DweAzGMj/YWeiCsorIdtdcW8Eg==",
+ "version": "7.21.4",
+ "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.21.4.tgz",
+ "integrity": "sha512-46QrX2CQlaFRF4TkwfTt6nJD7IHq8539cCL7SDpqWSDeJKY1xylKKY5F/33mJhLZ3mFvKv2gGrVS6NkyF6qs+Q==",
"dev": true,
"requires": {
- "@babel/helper-annotate-as-pure": "^7.16.7",
- "@babel/helper-environment-visitor": "^7.16.7",
- "@babel/helper-function-name": "^7.16.7",
- "@babel/helper-member-expression-to-functions": "^7.16.7",
- "@babel/helper-optimise-call-expression": "^7.16.7",
- "@babel/helper-replace-supers": "^7.16.7",
- "@babel/helper-split-export-declaration": "^7.16.7"
+ "@babel/helper-annotate-as-pure": "^7.18.6",
+ "@babel/helper-environment-visitor": "^7.18.9",
+ "@babel/helper-function-name": "^7.21.0",
+ "@babel/helper-member-expression-to-functions": "^7.21.0",
+ "@babel/helper-optimise-call-expression": "^7.18.6",
+ "@babel/helper-replace-supers": "^7.20.7",
+ "@babel/helper-skip-transparent-expression-wrappers": "^7.20.0",
+ "@babel/helper-split-export-declaration": "^7.18.6"
}
},
"@babel/helper-create-regexp-features-plugin": {
@@ -8314,13 +7921,10 @@
}
},
"@babel/helper-environment-visitor": {
- "version": "7.16.7",
- "resolved": "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.16.7.tgz",
- "integrity": "sha512-SLLb0AAn6PkUeAfKJCCOl9e1R53pQlGAfc4y4XuMRZfqeMYLE0dM1LMhqbGAlGQY0lfw5/ohoYWAe9V1yibRag==",
- "dev": true,
- "requires": {
- "@babel/types": "^7.16.7"
- }
+ "version": "7.18.9",
+ "resolved": "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.18.9.tgz",
+ "integrity": "sha512-3r/aACDJ3fhQ/EVgFy0hpj8oHyHpQc+LPtJoY9SzTThAsStm4Ptegq92vqKoE3vD706ZVFWITnMnxucw+S9Ipg==",
+ "dev": true
},
"@babel/helper-explode-assignable-expression": {
"version": "7.16.7",
@@ -8332,75 +7936,65 @@
}
},
"@babel/helper-function-name": {
- "version": "7.16.7",
- "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.16.7.tgz",
- "integrity": "sha512-QfDfEnIUyyBSR3HtrtGECuZ6DAyCkYFp7GHl75vFtTnn6pjKeK0T1DB5lLkFvBea8MdaiUABx3osbgLyInoejA==",
- "dev": true,
- "requires": {
- "@babel/helper-get-function-arity": "^7.16.7",
- "@babel/template": "^7.16.7",
- "@babel/types": "^7.16.7"
- }
- },
- "@babel/helper-get-function-arity": {
- "version": "7.16.7",
- "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.16.7.tgz",
- "integrity": "sha512-flc+RLSOBXzNzVhcLu6ujeHUrD6tANAOU5ojrRx/as+tbzf8+stUCj7+IfRRoAbEZqj/ahXEMsjhOhgeZsrnTw==",
+ "version": "7.21.0",
+ "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.21.0.tgz",
+ "integrity": "sha512-HfK1aMRanKHpxemaY2gqBmL04iAPOPRj7DxtNbiDOrJK+gdwkiNRVpCpUJYbUT+aZyemKN8brqTOxzCaG6ExRg==",
"dev": true,
"requires": {
- "@babel/types": "^7.16.7"
+ "@babel/template": "^7.20.7",
+ "@babel/types": "^7.21.0"
}
},
"@babel/helper-hoist-variables": {
- "version": "7.16.7",
- "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.16.7.tgz",
- "integrity": "sha512-m04d/0Op34H5v7pbZw6pSKP7weA6lsMvfiIAMeIvkY/R4xQtBSMFEigu9QTZ2qB/9l22vsxtM8a+Q8CzD255fg==",
+ "version": "7.18.6",
+ "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.18.6.tgz",
+ "integrity": "sha512-UlJQPkFqFULIcyW5sbzgbkxn2FKRgwWiRexcuaR8RNJRy8+LLveqPjwZV/bwrLZCN0eUHD/x8D0heK1ozuoo6Q==",
"dev": true,
"requires": {
- "@babel/types": "^7.16.7"
+ "@babel/types": "^7.18.6"
}
},
"@babel/helper-member-expression-to-functions": {
- "version": "7.16.7",
- "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.16.7.tgz",
- "integrity": "sha512-VtJ/65tYiU/6AbMTDwyoXGPKHgTsfRarivm+YbB5uAzKUyuPjgZSgAFeG87FCigc7KNHu2Pegh1XIT3lXjvz3Q==",
+ "version": "7.21.0",
+ "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.21.0.tgz",
+ "integrity": "sha512-Muu8cdZwNN6mRRNG6lAYErJ5X3bRevgYR2O8wN0yn7jJSnGDu6eG59RfT29JHxGUovyfrh6Pj0XzmR7drNVL3Q==",
"dev": true,
"requires": {
- "@babel/types": "^7.16.7"
+ "@babel/types": "^7.21.0"
}
},
"@babel/helper-module-imports": {
- "version": "7.18.6",
- "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.18.6.tgz",
- "integrity": "sha512-0NFvs3VkuSYbFi1x2Vd6tKrywq+z/cLeYC/RJNFrIX/30Bf5aiGYbtvGXolEktzJH8o5E5KJ3tT+nkxuuZFVlA==",
+ "version": "7.21.4",
+ "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.21.4.tgz",
+ "integrity": "sha512-orajc5T2PsRYUN3ZryCEFeMDYwyw09c/pZeaQEZPH0MpKzSvn3e0uXsDBu3k03VI+9DBiRo+l22BfKTpKwa/Wg==",
"dev": true,
"requires": {
- "@babel/types": "^7.18.6"
+ "@babel/types": "^7.21.4"
}
},
"@babel/helper-module-transforms": {
- "version": "7.17.6",
- "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.17.6.tgz",
- "integrity": "sha512-2ULmRdqoOMpdvkbT8jONrZML/XALfzxlb052bldftkicAUy8AxSCkD5trDPQcwHNmolcl7wP6ehNqMlyUw6AaA==",
+ "version": "7.21.2",
+ "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.21.2.tgz",
+ "integrity": "sha512-79yj2AR4U/Oqq/WOV7Lx6hUjau1Zfo4cI+JLAVYeMV5XIlbOhmjEk5ulbTc9fMpmlojzZHkUUxAiK+UKn+hNQQ==",
"dev": true,
"requires": {
- "@babel/helper-environment-visitor": "^7.16.7",
- "@babel/helper-module-imports": "^7.16.7",
- "@babel/helper-simple-access": "^7.16.7",
- "@babel/helper-split-export-declaration": "^7.16.7",
- "@babel/helper-validator-identifier": "^7.16.7",
- "@babel/template": "^7.16.7",
- "@babel/traverse": "^7.17.3",
- "@babel/types": "^7.17.0"
+ "@babel/helper-environment-visitor": "^7.18.9",
+ "@babel/helper-module-imports": "^7.18.6",
+ "@babel/helper-simple-access": "^7.20.2",
+ "@babel/helper-split-export-declaration": "^7.18.6",
+ "@babel/helper-validator-identifier": "^7.19.1",
+ "@babel/template": "^7.20.7",
+ "@babel/traverse": "^7.21.2",
+ "@babel/types": "^7.21.2"
}
},
"@babel/helper-optimise-call-expression": {
- "version": "7.16.7",
- "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.16.7.tgz",
- "integrity": "sha512-EtgBhg7rd/JcnpZFXpBy0ze1YRfdm7BnBX4uKMBd3ixa3RGAE002JZB66FJyNH7g0F38U05pXmA5P8cBh7z+1w==",
+ "version": "7.18.6",
+ "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.18.6.tgz",
+ "integrity": "sha512-HP59oD9/fEHQkdcbgFCnbmgH5vIQTJbxh2yf+CdM89/glUNnuzr87Q8GIjGEnOktTROemO0Pe0iPAYbqZuOUiA==",
"dev": true,
"requires": {
- "@babel/types": "^7.16.7"
+ "@babel/types": "^7.18.6"
}
},
"@babel/helper-plugin-utils": {
@@ -8421,43 +8015,44 @@
}
},
"@babel/helper-replace-supers": {
- "version": "7.16.7",
- "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.16.7.tgz",
- "integrity": "sha512-y9vsWilTNaVnVh6xiJfABzsNpgDPKev9HnAgz6Gb1p6UUwf9NepdlsV7VXGCftJM+jqD5f7JIEubcpLjZj5dBw==",
+ "version": "7.20.7",
+ "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.20.7.tgz",
+ "integrity": "sha512-vujDMtB6LVfNW13jhlCrp48QNslK6JXi7lQG736HVbHz/mbf4Dc7tIRh1Xf5C0rF7BP8iiSxGMCmY6Ci1ven3A==",
"dev": true,
"requires": {
- "@babel/helper-environment-visitor": "^7.16.7",
- "@babel/helper-member-expression-to-functions": "^7.16.7",
- "@babel/helper-optimise-call-expression": "^7.16.7",
- "@babel/traverse": "^7.16.7",
- "@babel/types": "^7.16.7"
+ "@babel/helper-environment-visitor": "^7.18.9",
+ "@babel/helper-member-expression-to-functions": "^7.20.7",
+ "@babel/helper-optimise-call-expression": "^7.18.6",
+ "@babel/template": "^7.20.7",
+ "@babel/traverse": "^7.20.7",
+ "@babel/types": "^7.20.7"
}
},
"@babel/helper-simple-access": {
- "version": "7.16.7",
- "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.16.7.tgz",
- "integrity": "sha512-ZIzHVyoeLMvXMN/vok/a4LWRy8G2v205mNP0XOuf9XRLyX5/u9CnVulUtDgUTama3lT+bf/UqucuZjqiGuTS1g==",
+ "version": "7.20.2",
+ "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.20.2.tgz",
+ "integrity": "sha512-+0woI/WPq59IrqDYbVGfshjT5Dmk/nnbdpcF8SnMhhXObpTq2KNBdLFRFrkVdbDOyUmHBCxzm5FHV1rACIkIbA==",
"dev": true,
"requires": {
- "@babel/types": "^7.16.7"
+ "@babel/types": "^7.20.2"
}
},
"@babel/helper-skip-transparent-expression-wrappers": {
- "version": "7.16.0",
- "resolved": "https://registry.npmjs.org/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.16.0.tgz",
- "integrity": "sha512-+il1gTy0oHwUsBQZyJvukbB4vPMdcYBrFHa0Uc4AizLxbq6BOYC51Rv4tWocX9BLBDLZ4kc6qUFpQ6HRgL+3zw==",
+ "version": "7.20.0",
+ "resolved": "https://registry.npmjs.org/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.20.0.tgz",
+ "integrity": "sha512-5y1JYeNKfvnT8sZcK9DVRtpTbGiomYIHviSP3OQWmDPU3DeH4a1ZlT/N2lyQ5P8egjcRaT/Y9aNqUxK0WsnIIg==",
"dev": true,
"requires": {
- "@babel/types": "^7.16.0"
+ "@babel/types": "^7.20.0"
}
},
"@babel/helper-split-export-declaration": {
- "version": "7.16.7",
- "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.16.7.tgz",
- "integrity": "sha512-xbWoy/PFoxSWazIToT9Sif+jJTlrMcndIsaOKvTA6u7QEo7ilkRZpjew18/W3c7nm8fXdUDXh02VXTbZ0pGDNw==",
+ "version": "7.18.6",
+ "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.18.6.tgz",
+ "integrity": "sha512-bde1etTx6ZyTmobl9LLMMQsaizFVZrquTEHOqKeQESMKo4PlObf+8+JA25ZsIpZhT/WEd39+vOdLXAFG/nELpA==",
"dev": true,
"requires": {
- "@babel/types": "^7.16.7"
+ "@babel/types": "^7.18.6"
}
},
"@babel/helper-string-parser": {
@@ -8502,20 +8097,20 @@
}
},
"@babel/highlight": {
- "version": "7.16.10",
- "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.16.10.tgz",
- "integrity": "sha512-5FnTQLSLswEj6IkgVw5KusNUUFY9ZGqe/TRFnP/BKYHYgfh7tc+C7mwiy95/yNP7Dh9x580Vv8r7u7ZfTBFxdw==",
+ "version": "7.18.6",
+ "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.18.6.tgz",
+ "integrity": "sha512-u7stbOuYjaPezCuLj29hNW1v64M2Md2qupEKP1fHc7WdOA3DgLh37suiSrZYY7haUB7iBeQZ9P1uiRF359do3g==",
"dev": true,
"requires": {
- "@babel/helper-validator-identifier": "^7.16.7",
+ "@babel/helper-validator-identifier": "^7.18.6",
"chalk": "^2.0.0",
"js-tokens": "^4.0.0"
}
},
"@babel/parser": {
- "version": "7.20.15",
- "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.20.15.tgz",
- "integrity": "sha512-DI4a1oZuf8wC+oAJA9RW6ga3Zbe8RZFt7kD9i4qAspz3I/yHet1VvC3DiSy/fsUvv5pvJuNPh0LPOdCcqinDPg==",
+ "version": "7.21.4",
+ "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.21.4.tgz",
+ "integrity": "sha512-alVJj7k7zIxqBZ7BTRhz0IqJFxW1VJbm6N8JbcYhQ186df9ZBPbZBmWSqAMXwHGsCJdYks7z/voa3ibiS5bCIw==",
"dev": true
},
"@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": {
@@ -8769,12 +8364,12 @@
}
},
"@babel/plugin-syntax-jsx": {
- "version": "7.16.7",
- "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.16.7.tgz",
- "integrity": "sha512-Esxmk7YjA8QysKeT3VhTXvF6y77f/a91SIs4pWb4H2eWGQkCKFgQaG6hdoEVZtGsrAcb2K5BW66XsOErD4WU3Q==",
+ "version": "7.21.4",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.21.4.tgz",
+ "integrity": "sha512-5hewiLct5OKyh6PLKEYaFclcqtIgCb6bmELouxjF6up5q3Sov7rOayW4RwhbaBL0dit8rA80GNfY+UuDp2mBbQ==",
"dev": true,
"requires": {
- "@babel/helper-plugin-utils": "^7.16.7"
+ "@babel/helper-plugin-utils": "^7.20.2"
}
},
"@babel/plugin-syntax-logical-assignment-operators": {
@@ -8850,12 +8445,12 @@
}
},
"@babel/plugin-syntax-typescript": {
- "version": "7.16.7",
- "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.16.7.tgz",
- "integrity": "sha512-YhUIJHHGkqPgEcMYkPCKTyGUdoGKWtopIycQyjJH8OjvRgOYsXsaKehLVPScKJWAULPxMa4N1vCe6szREFlZ7A==",
+ "version": "7.21.4",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.21.4.tgz",
+ "integrity": "sha512-xz0D39NvhQn4t4RNsHmDnnsaQizIlUkdtYvLs8La1BlfjQ6JEwxkJGeqJMW2tAXx+q6H+WFuUTXNdYVpEya0YA==",
"dev": true,
"requires": {
- "@babel/helper-plugin-utils": "^7.16.7"
+ "@babel/helper-plugin-utils": "^7.20.2"
}
},
"@babel/plugin-transform-arrow-functions": {
@@ -9009,15 +8604,14 @@
}
},
"@babel/plugin-transform-modules-commonjs": {
- "version": "7.16.8",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.16.8.tgz",
- "integrity": "sha512-oflKPvsLT2+uKQopesJt3ApiaIS2HW+hzHFcwRNtyDGieAeC/dIHZX8buJQ2J2X1rxGPy4eRcUijm3qcSPjYcA==",
+ "version": "7.21.2",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.21.2.tgz",
+ "integrity": "sha512-Cln+Yy04Gxua7iPdj6nOV96smLGjpElir5YwzF0LBPKoPlLDNJePNlrGGaybAJkd0zKRnOVXOgizSqPYMNYkzA==",
"dev": true,
"requires": {
- "@babel/helper-module-transforms": "^7.16.7",
- "@babel/helper-plugin-utils": "^7.16.7",
- "@babel/helper-simple-access": "^7.16.7",
- "babel-plugin-dynamic-import-node": "^2.3.3"
+ "@babel/helper-module-transforms": "^7.21.2",
+ "@babel/helper-plugin-utils": "^7.20.2",
+ "@babel/helper-simple-access": "^7.20.2"
}
},
"@babel/plugin-transform-modules-systemjs": {
@@ -9089,47 +8683,6 @@
"@babel/helper-plugin-utils": "^7.16.7"
}
},
- "@babel/plugin-transform-react-display-name": {
- "version": "7.16.7",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-display-name/-/plugin-transform-react-display-name-7.16.7.tgz",
- "integrity": "sha512-qgIg8BcZgd0G/Cz916D5+9kqX0c7nPZyXaP8R2tLNN5tkyIZdG5fEwBrxwplzSnjC1jvQmyMNVwUCZPcbGY7Pg==",
- "dev": true,
- "requires": {
- "@babel/helper-plugin-utils": "^7.16.7"
- }
- },
- "@babel/plugin-transform-react-jsx": {
- "version": "7.17.3",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx/-/plugin-transform-react-jsx-7.17.3.tgz",
- "integrity": "sha512-9tjBm4O07f7mzKSIlEmPdiE6ub7kfIe6Cd+w+oQebpATfTQMAgW+YOuWxogbKVTulA+MEO7byMeIUtQ1z+z+ZQ==",
- "dev": true,
- "requires": {
- "@babel/helper-annotate-as-pure": "^7.16.7",
- "@babel/helper-module-imports": "^7.16.7",
- "@babel/helper-plugin-utils": "^7.16.7",
- "@babel/plugin-syntax-jsx": "^7.16.7",
- "@babel/types": "^7.17.0"
- }
- },
- "@babel/plugin-transform-react-jsx-development": {
- "version": "7.16.7",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-development/-/plugin-transform-react-jsx-development-7.16.7.tgz",
- "integrity": "sha512-RMvQWvpla+xy6MlBpPlrKZCMRs2AGiHOGHY3xRwl0pEeim348dDyxeH4xBsMPbIMhujeq7ihE702eM2Ew0Wo+A==",
- "dev": true,
- "requires": {
- "@babel/plugin-transform-react-jsx": "^7.16.7"
- }
- },
- "@babel/plugin-transform-react-pure-annotations": {
- "version": "7.16.7",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-pure-annotations/-/plugin-transform-react-pure-annotations-7.16.7.tgz",
- "integrity": "sha512-hs71ToC97k3QWxswh2ElzMFABXHvGiJ01IB1TbYQDGeWRKWz/MPUTh5jGExdHvosYKpnJW5Pm3S4+TA3FyX+GA==",
- "dev": true,
- "requires": {
- "@babel/helper-annotate-as-pure": "^7.16.7",
- "@babel/helper-plugin-utils": "^7.16.7"
- }
- },
"@babel/plugin-transform-regenerator": {
"version": "7.16.7",
"resolved": "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.16.7.tgz",
@@ -9149,12 +8702,12 @@
}
},
"@babel/plugin-transform-runtime": {
- "version": "7.21.0",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.21.0.tgz",
- "integrity": "sha512-ReY6pxwSzEU0b3r2/T/VhqMKg/AkceBT19X0UptA3/tYi5Pe2eXgEUH+NNMC5nok6c6XQz5tyVTUpuezRfSMSg==",
+ "version": "7.21.4",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.21.4.tgz",
+ "integrity": "sha512-1J4dhrw1h1PqnNNpzwxQ2UBymJUF8KuPjAAnlLwZcGhHAIqUigFW7cdK6GHoB64ubY4qXQNYknoUeks4Wz7CUA==",
"dev": true,
"requires": {
- "@babel/helper-module-imports": "^7.18.6",
+ "@babel/helper-module-imports": "^7.21.4",
"@babel/helper-plugin-utils": "^7.20.2",
"babel-plugin-polyfill-corejs2": "^0.3.3",
"babel-plugin-polyfill-corejs3": "^0.6.0",
@@ -9229,17 +8782,6 @@
"@babel/helper-plugin-utils": "^7.16.7"
}
},
- "@babel/plugin-transform-typescript": {
- "version": "7.16.8",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typescript/-/plugin-transform-typescript-7.16.8.tgz",
- "integrity": "sha512-bHdQ9k7YpBDO2d0NVfkj51DpQcvwIzIusJ7mEUaMlbZq3Kt/U47j24inXZHQ5MDiYpCs+oZiwnXyKedE8+q7AQ==",
- "dev": true,
- "requires": {
- "@babel/helper-create-class-features-plugin": "^7.16.7",
- "@babel/helper-plugin-utils": "^7.16.7",
- "@babel/plugin-syntax-typescript": "^7.16.7"
- }
- },
"@babel/plugin-transform-unicode-escapes": {
"version": "7.16.7",
"resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.16.7.tgz",
@@ -9354,30 +8896,6 @@
"esutils": "^2.0.2"
}
},
- "@babel/preset-react": {
- "version": "https://registry.npmjs.org/@babel/preset-react/-/preset-react-7.16.7.tgz",
- "integrity": "sha512-fWpyI8UM/HE6DfPBzD8LnhQ/OcH8AgTaqcqP2nGOXEUV+VKBR5JRN9hCk9ai+zQQ57vtm9oWeXguBCPNUjytgA==",
- "dev": true,
- "requires": {
- "@babel/helper-plugin-utils": "^7.16.7",
- "@babel/helper-validator-option": "^7.16.7",
- "@babel/plugin-transform-react-display-name": "^7.16.7",
- "@babel/plugin-transform-react-jsx": "^7.16.7",
- "@babel/plugin-transform-react-jsx-development": "^7.16.7",
- "@babel/plugin-transform-react-pure-annotations": "^7.16.7"
- }
- },
- "@babel/preset-typescript": {
- "version": "7.16.7",
- "resolved": "https://registry.npmjs.org/@babel/preset-typescript/-/preset-typescript-7.16.7.tgz",
- "integrity": "sha512-WbVEmgXdIyvzB77AQjGBEyYPZx+8tTsO50XtfozQrkW8QB2rLJpH2lgx0TRw5EJrBxOZQ+wCcyPVQvS8tjEHpQ==",
- "dev": true,
- "requires": {
- "@babel/helper-plugin-utils": "^7.16.7",
- "@babel/helper-validator-option": "^7.16.7",
- "@babel/plugin-transform-typescript": "^7.16.7"
- }
- },
"@babel/runtime": {
"version": "7.17.2",
"resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.17.2.tgz",
@@ -9388,38 +8906,38 @@
}
},
"@babel/template": {
- "version": "7.16.7",
- "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.16.7.tgz",
- "integrity": "sha512-I8j/x8kHUrbYRTUxXrrMbfCa7jxkE7tZre39x3kjr9hvI82cK1FfqLygotcWN5kdPGWcLdWMHpSBavse5tWw3w==",
+ "version": "7.20.7",
+ "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.20.7.tgz",
+ "integrity": "sha512-8SegXApWe6VoNw0r9JHpSteLKTpTiLZ4rMlGIm9JQ18KiCtyQiAMEazujAHrUS5flrcqYZa75ukev3P6QmUwUw==",
"dev": true,
"requires": {
- "@babel/code-frame": "^7.16.7",
- "@babel/parser": "^7.16.7",
- "@babel/types": "^7.16.7"
+ "@babel/code-frame": "^7.18.6",
+ "@babel/parser": "^7.20.7",
+ "@babel/types": "^7.20.7"
}
},
"@babel/traverse": {
- "version": "7.17.3",
- "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.17.3.tgz",
- "integrity": "sha512-5irClVky7TxRWIRtxlh2WPUUOLhcPN06AGgaQSB8AEwuyEBgJVuJ5imdHm5zxk8w0QS5T+tDfnDxAlhWjpb7cw==",
- "dev": true,
- "requires": {
- "@babel/code-frame": "^7.16.7",
- "@babel/generator": "^7.17.3",
- "@babel/helper-environment-visitor": "^7.16.7",
- "@babel/helper-function-name": "^7.16.7",
- "@babel/helper-hoist-variables": "^7.16.7",
- "@babel/helper-split-export-declaration": "^7.16.7",
- "@babel/parser": "^7.17.3",
- "@babel/types": "^7.17.0",
+ "version": "7.21.4",
+ "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.21.4.tgz",
+ "integrity": "sha512-eyKrRHKdyZxqDm+fV1iqL9UAHMoIg0nDaGqfIOd8rKH17m5snv7Gn4qgjBoFfLz9APvjFU/ICT00NVCv1Epp8Q==",
+ "dev": true,
+ "requires": {
+ "@babel/code-frame": "^7.21.4",
+ "@babel/generator": "^7.21.4",
+ "@babel/helper-environment-visitor": "^7.18.9",
+ "@babel/helper-function-name": "^7.21.0",
+ "@babel/helper-hoist-variables": "^7.18.6",
+ "@babel/helper-split-export-declaration": "^7.18.6",
+ "@babel/parser": "^7.21.4",
+ "@babel/types": "^7.21.4",
"debug": "^4.1.0",
"globals": "^11.1.0"
}
},
"@babel/types": {
- "version": "7.20.7",
- "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.20.7.tgz",
- "integrity": "sha512-69OnhBxSSgK0OzTJai4kyPDiKTIe3j+ctaHdIGVbRahTLAT7L3R9oeXHC2aVSuGYt3cVnoAMDmOCgJ2yaiLMvg==",
+ "version": "7.21.4",
+ "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.21.4.tgz",
+ "integrity": "sha512-rU2oY501qDxE8Pyo7i/Orqma4ziCOrby0/9mvbDUGEfvZjb279Nk9k19e2fiCxHbRRpY2ZyrgW1eq22mvmOIzA==",
"dev": true,
"requires": {
"@babel/helper-string-parser": "^7.19.4",
@@ -10071,12 +9589,29 @@
}
}
},
+ "@jridgewell/gen-mapping": {
+ "version": "0.3.2",
+ "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.2.tgz",
+ "integrity": "sha512-mh65xKQAzI6iBcFzwv28KVWSmCkdRBWoOh+bYQGW3+6OZvbbN3TqMGo5hqYxQniRcH9F2VZIoJCm4pa3BPDK/A==",
+ "dev": true,
+ "requires": {
+ "@jridgewell/set-array": "^1.0.1",
+ "@jridgewell/sourcemap-codec": "^1.4.10",
+ "@jridgewell/trace-mapping": "^0.3.9"
+ }
+ },
"@jridgewell/resolve-uri": {
"version": "3.1.0",
"resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.0.tgz",
"integrity": "sha512-F2msla3tad+Mfht5cJq7LSXcdudKTWCVYUgw6pLFOOHSTtZlj6SWNYAp+AhuqLmWdBO2X5hPrLcu8cVP8fy28w==",
"dev": true
},
+ "@jridgewell/set-array": {
+ "version": "1.1.2",
+ "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.1.2.tgz",
+ "integrity": "sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw==",
+ "dev": true
+ },
"@jridgewell/sourcemap-codec": {
"version": "1.4.14",
"resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.14.tgz",
@@ -10126,24 +9661,6 @@
"dev": true,
"requires": {}
},
- "@rollup/pluginutils": {
- "version": "4.1.2",
- "resolved": "https://registry.npmjs.org/@rollup/pluginutils/-/pluginutils-4.1.2.tgz",
- "integrity": "sha512-ROn4qvkxP9SyPeHaf7uQC/GPFY6L/OWy9+bd9AwcjOAWQwxRscoEyAUD8qCY5o5iL4jqQwoLk2kaTKJPb/HwzQ==",
- "dev": true,
- "requires": {
- "estree-walker": "^2.0.1",
- "picomatch": "^2.2.2"
- },
- "dependencies": {
- "estree-walker": {
- "version": "2.0.2",
- "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-2.0.2.tgz",
- "integrity": "sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==",
- "dev": true
- }
- }
- },
"@sinclair/typebox": {
"version": "0.25.21",
"resolved": "https://registry.npmjs.org/@sinclair/typebox/-/typebox-0.25.21.tgz",
@@ -10260,28 +9777,6 @@
"integrity": "sha512-KufADq8uQqo1pYKVIYzfKbJfBAc0sOeXqGbFaSpv8MRmC/zXgowNZmFcbngndGk922QDmOASEXUZCaY48gs4cg==",
"dev": true
},
- "@types/prop-types": {
- "version": "15.7.4",
- "resolved": "https://registry.npmjs.org/@types/prop-types/-/prop-types-15.7.4.tgz",
- "integrity": "sha512-rZ5drC/jWjrArrS8BR6SIr4cWpW09RNTYt9AMZo3Jwwif+iacXAqgVjm0B0Bv/S1jhDXKHqRVNCbACkJ89RAnQ==",
- "dev": true
- },
- "@types/react": {
- "version": "https://registry.npmjs.org/@types/react/-/react-17.0.39.tgz",
- "integrity": "sha512-UVavlfAxDd/AgAacMa60Azl7ygyQNRwC/DsHZmKgNvPmRR5p70AJ5Q9EAmL2NWOJmeV+vVUI4IAP7GZrN8h8Ug==",
- "dev": true,
- "requires": {
- "@types/prop-types": "*",
- "@types/scheduler": "*",
- "csstype": "^3.0.2"
- }
- },
- "@types/scheduler": {
- "version": "0.16.2",
- "resolved": "https://registry.npmjs.org/@types/scheduler/-/scheduler-0.16.2.tgz",
- "integrity": "sha512-hppQEBDmlwhFAXKJX2KnWLYu5yMfi91yazPb2l+lbJiwW+wdo1gNeRA+3RgNSO39WYX2euey41KEwnqesU2Jew==",
- "dev": true
- },
"@types/stack-utils": {
"version": "2.0.1",
"resolved": "https://registry.npmjs.org/@types/stack-utils/-/stack-utils-2.0.1.tgz",
@@ -10420,17 +9915,6 @@
"eslint-visitor-keys": "^3.0.0"
}
},
- "@yarn-tool/resolve-package": {
- "version": "1.0.45",
- "resolved": "https://registry.npmjs.org/@yarn-tool/resolve-package/-/resolve-package-1.0.45.tgz",
- "integrity": "sha512-xnfY8JceApkSTliZtr7X6yl1wZYhGbRp0beBMi1OtmvTVTm/ZSt3881Fw1M3ZwhHqr7OEfl8828LJK2q62BvoQ==",
- "dev": true,
- "requires": {
- "pkg-dir": "< 6 >= 5",
- "tslib": "^2.3.1",
- "upath2": "^3.1.12"
- }
- },
"acorn": {
"version": "8.7.0",
"resolved": "https://registry.npmjs.org/acorn/-/acorn-8.7.0.tgz",
@@ -10836,7 +10320,7 @@
"color-name": {
"version": "1.1.3",
"resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz",
- "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=",
+ "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==",
"dev": true
},
"commander": {
@@ -10845,12 +10329,6 @@
"integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==",
"dev": true
},
- "commondir": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/commondir/-/commondir-1.0.1.tgz",
- "integrity": "sha1-3dgA2gxmEnOTzKWVDqloo6rxJTs=",
- "dev": true
- },
"concat-map": {
"version": "0.0.1",
"resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz",
@@ -10886,12 +10364,6 @@
"which": "^2.0.1"
}
},
- "csstype": {
- "version": "3.0.11",
- "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.0.11.tgz",
- "integrity": "sha512-sa6P2wJ+CAbgyy4KFssIb/JNMLxFvKF1pCYCSXS8ZMuqZnMsrxqI2E5sPyoTpxoPU/gVZMzr2zjOfg8GIZOMsw==",
- "dev": true
- },
"debug": {
"version": "4.3.3",
"resolved": "https://registry.npmjs.org/debug/-/debug-4.3.3.tgz",
@@ -10994,7 +10466,7 @@
"escape-string-regexp": {
"version": "1.0.5",
"resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz",
- "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=",
+ "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==",
"dev": true
},
"eslint": {
@@ -11335,75 +10807,6 @@
"to-regex-range": "^5.0.1"
}
},
- "find-cache-dir": {
- "version": "3.3.2",
- "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-3.3.2.tgz",
- "integrity": "sha512-wXZV5emFEjrridIgED11OoUKLxiYjAcqot/NJdAkOhlJ+vGzwhOAfcG5OX1jP+S0PcjEn8bdMJv+g2jwQ3Onig==",
- "dev": true,
- "requires": {
- "commondir": "^1.0.1",
- "make-dir": "^3.0.2",
- "pkg-dir": "^4.1.0"
- },
- "dependencies": {
- "find-up": {
- "version": "4.1.0",
- "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz",
- "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==",
- "dev": true,
- "requires": {
- "locate-path": "^5.0.0",
- "path-exists": "^4.0.0"
- }
- },
- "locate-path": {
- "version": "5.0.0",
- "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz",
- "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==",
- "dev": true,
- "requires": {
- "p-locate": "^4.1.0"
- }
- },
- "p-limit": {
- "version": "2.3.0",
- "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz",
- "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==",
- "dev": true,
- "requires": {
- "p-try": "^2.0.0"
- }
- },
- "p-locate": {
- "version": "4.1.0",
- "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz",
- "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==",
- "dev": true,
- "requires": {
- "p-limit": "^2.2.0"
- }
- },
- "pkg-dir": {
- "version": "4.2.0",
- "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-4.2.0.tgz",
- "integrity": "sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==",
- "dev": true,
- "requires": {
- "find-up": "^4.0.0"
- }
- }
- }
- },
- "find-up": {
- "version": "5.0.0",
- "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz",
- "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==",
- "dev": true,
- "requires": {
- "locate-path": "^6.0.0",
- "path-exists": "^4.0.0"
- }
- },
"flat-cache": {
"version": "3.0.4",
"resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-3.0.4.tgz",
@@ -11420,17 +10823,6 @@
"integrity": "sha512-WIWGi2L3DyTUvUrwRKgGi9TwxQMUEqPOPQBVi71R96jZXJdFskXEmf54BoZaS1kknGODoIGASGEzBUYdyMCBJg==",
"dev": true
},
- "fs-extra": {
- "version": "10.0.1",
- "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-10.0.1.tgz",
- "integrity": "sha512-NbdoVMZso2Lsrn/QwLXOy6rm0ufY2zEOKCDzJR/0kBsb0E6qed0P3iYK+Ath3BfvXEeu4JhEtXLgILx5psUfag==",
- "dev": true,
- "requires": {
- "graceful-fs": "^4.2.0",
- "jsonfile": "^6.0.1",
- "universalify": "^2.0.0"
- }
- },
"fs.realpath": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz",
@@ -11552,7 +10944,7 @@
"has-flag": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz",
- "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=",
+ "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==",
"dev": true
},
"has-symbols": {
@@ -13067,16 +12459,6 @@
"minimist": "^1.2.5"
}
},
- "jsonfile": {
- "version": "6.1.0",
- "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz",
- "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==",
- "dev": true,
- "requires": {
- "graceful-fs": "^4.1.6",
- "universalify": "^2.0.0"
- }
- },
"kleur": {
"version": "3.0.3",
"resolved": "https://registry.npmjs.org/kleur/-/kleur-3.0.3.tgz",
@@ -13123,15 +12505,6 @@
"integrity": "sha512-5MP0uUeVCec89ZbNOT/i97Mc+q3SxXmiUGhRFOTmhrGPn//uWVQdCvcLJDy64MSBR5MidFdOR7B9viumoavy6g==",
"dev": true
},
- "locate-path": {
- "version": "6.0.0",
- "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz",
- "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==",
- "dev": true,
- "requires": {
- "p-locate": "^5.0.0"
- }
- },
"lodash.debounce": {
"version": "4.0.8",
"resolved": "https://registry.npmjs.org/lodash.debounce/-/lodash.debounce-4.0.8.tgz",
@@ -13330,15 +12703,6 @@
"yocto-queue": "^0.1.0"
}
},
- "p-locate": {
- "version": "5.0.0",
- "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz",
- "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==",
- "dev": true,
- "requires": {
- "p-limit": "^3.0.2"
- }
- },
"p-try": {
"version": "2.2.0",
"resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz",
@@ -13378,15 +12742,6 @@
"integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=",
"dev": true
},
- "path-is-network-drive": {
- "version": "1.0.13",
- "resolved": "https://registry.npmjs.org/path-is-network-drive/-/path-is-network-drive-1.0.13.tgz",
- "integrity": "sha512-Hg74mRN6mmXV+gTm3INjFK40ncAmC/Lo4qoQaSZ+GT3hZzlKdWQSqAjqyPeW0SvObP2W073WyYEBWY9d3wOm3A==",
- "dev": true,
- "requires": {
- "tslib": "^2.3.1"
- }
- },
"path-key": {
"version": "3.1.1",
"resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz",
@@ -13399,15 +12754,6 @@
"integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==",
"dev": true
},
- "path-strip-sep": {
- "version": "1.0.10",
- "resolved": "https://registry.npmjs.org/path-strip-sep/-/path-strip-sep-1.0.10.tgz",
- "integrity": "sha512-JpCy+8LAJQQTO1bQsb/84s1g+/Stm3h39aOpPRBQ/paMUGVPPZChLTOTKHoaCkc/6sKuF7yVsnq5Pe1S6xQGcA==",
- "dev": true,
- "requires": {
- "tslib": "^2.3.1"
- }
- },
"path-type": {
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz",
@@ -13432,15 +12778,6 @@
"integrity": "sha512-8V9+HQPupnaXMA23c5hvl69zXvTwTzyAYasnkb0Tts4XvO4CliqONMOnvlq26rkhLC3nWDFBJf73LU1e1VZLaQ==",
"dev": true
},
- "pkg-dir": {
- "version": "5.0.0",
- "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-5.0.0.tgz",
- "integrity": "sha512-NPE8TDbzl/3YQYY7CSS228s3g2ollTFnc+Qi3tqmqJp9Vg2ovUpixcJEo2HJScN2Ez+kEaal6y70c0ehqJBJeA==",
- "dev": true,
- "requires": {
- "find-up": "^5.0.0"
- }
- },
"prelude-ls": {
"version": "1.2.1",
"resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz",
@@ -13741,20 +13078,6 @@
}
}
},
- "rollup-plugin-typescript2": {
- "version": "0.31.2",
- "resolved": "https://registry.npmjs.org/rollup-plugin-typescript2/-/rollup-plugin-typescript2-0.31.2.tgz",
- "integrity": "sha512-hRwEYR1C8xDGVVMFJQdEVnNAeWRvpaY97g5mp3IeLnzhNXzSVq78Ye/BJ9PAaUfN4DXa/uDnqerifMOaMFY54Q==",
- "dev": true,
- "requires": {
- "@rollup/pluginutils": "^4.1.2",
- "@yarn-tool/resolve-package": "^1.0.40",
- "find-cache-dir": "^3.3.2",
- "fs-extra": "^10.0.0",
- "resolve": "^1.20.0",
- "tslib": "^2.3.1"
- }
- },
"rollup-pluginutils": {
"version": "2.8.2",
"resolved": "https://registry.npmjs.org/rollup-pluginutils/-/rollup-pluginutils-2.8.2.tgz",
@@ -13817,12 +13140,6 @@
"integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==",
"dev": true
},
- "source-map": {
- "version": "0.5.7",
- "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz",
- "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=",
- "dev": true
- },
"source-map-support": {
"version": "0.5.21",
"resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.21.tgz",
@@ -14033,7 +13350,8 @@
"version": "4.6.2",
"resolved": "https://registry.npmjs.org/typescript/-/typescript-4.6.2.tgz",
"integrity": "sha512-HM/hFigTBHZhLXshn9sN37H085+hQGeJHJ/X7LpBWLID/fbc2acUMfU+lGD98X81sKP+pFa9f0DZmCwB9GnbAg==",
- "dev": true
+ "dev": true,
+ "peer": true
},
"unicode-canonical-property-names-ecmascript": {
"version": "2.0.0",
@@ -14063,23 +13381,6 @@
"integrity": "sha512-5Zfuy9q/DFr4tfO7ZPeVXb1aPoeQSdeFMLpYuFebehDAhbuevLs5yxSZmIFN1tP5F9Wl4IpJrYojg85/zgyZHQ==",
"dev": true
},
- "universalify": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz",
- "integrity": "sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==",
- "dev": true
- },
- "upath2": {
- "version": "3.1.12",
- "resolved": "https://registry.npmjs.org/upath2/-/upath2-3.1.12.tgz",
- "integrity": "sha512-yC3eZeCyCXFWjy7Nu4pgjLhXNYjuzuUmJiRgSSw6TJp8Emc+E4951HGPJf+bldFC5SL7oBLeNbtm1fGzXn2gxw==",
- "dev": true,
- "requires": {
- "path-is-network-drive": "^1.0.13",
- "path-strip-sep": "^1.0.10",
- "tslib": "^2.3.1"
- }
- },
"update-browserslist-db": {
"version": "1.0.10",
"resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.10.tgz",
diff --git a/package.json b/package.json
index 9cb4cd0..351da7e 100644
--- a/package.json
+++ b/package.json
@@ -1,6 +1,6 @@
{
"name": "async-task-mapping",
- "version": "0.1.0",
+ "version": "1.0.0-beta",
"main": "dist/index.js",
"module": "dist/index.js",
"author": "Jiegang Liang (t.n.t)",
@@ -10,9 +10,8 @@
},
"devDependencies": {
"@babel/core": "^7.17.5",
- "@babel/plugin-transform-runtime": "^7.21.0",
+ "@babel/plugin-transform-runtime": "^7.21.4",
"@babel/preset-env": "^7.16.11",
- "@babel/preset-typescript": "^7.16.7",
"@rollup/plugin-html": "^1.0.2",
"@typescript-eslint/eslint-plugin": "^5.13.0",
"@typescript-eslint/parser": "^5.13.0",
@@ -23,9 +22,7 @@
"rollup-plugin-livereload": "^2.0.5",
"rollup-plugin-serve": "^1.1.0",
"rollup-plugin-terser": "^7.0.2",
- "rollup-plugin-typescript2": "^0.31.2",
- "tslib": "^2.3.1",
- "typescript": "^4.6.2"
+ "tslib": "^2.3.1"
},
"files": [
"dist"
@@ -37,8 +34,9 @@
"release": "npm run build && npm publish"
},
"license": "MIT",
- "description": "",
+ "description": "Asynchronous Task Manager.",
"npmName": "async-task-mapping",
+ "keywords": ["async", "task", "mapping", "list", "await", "promise"],
"npmFileMap": [
{
"basePath": "/dist/",
diff --git a/previousVersions/README-zh_CN.md b/previousVersions/README-zh_CN.md
new file mode 100644
index 0000000..588a0bf
--- /dev/null
+++ b/previousVersions/README-zh_CN.md
@@ -0,0 +1,116 @@
+# async-task-mapping
+它可以做出promise无法完成的异步任务,可以无视发送和接收的顺序,允许绑定pending状态的异步任务,允许在多个函数内共同触发一个任务,并且支持生产者-消费者模式和订单模式。
+
+[English](./README.md) | 简体中文
+## 使用之前
+async-task-mapping工具没有使用任何第三方依赖包,不会限制技术栈。
+
+## 安装
+
+```sh
+npm i async-task-mapping --save
+```
+
+## 使用方法
+### 使用 createTaskList
+
+```javascript
+import { createTaskList } from 'async-task-mapping';
+const asyncTask = createTaskList({ordered: true, requestCount: 2, responseCount: 2})
+
+ setTimeout(async () => {
+ // 这里返回一个Promise.resolve,你可以使用async/await或者.then.
+ const data = await asyncTask.request()
+ console.log('data-1', data)
+ }, 100)
+
+ setTimeout(async () => {
+ const data = await asyncTask.request(() => console.log('request-2'))
+ console.log('data-2', data)
+ }, 200)
+
+ setTimeout(() => {
+ asyncTask.pushResponse('response1')
+ }, 300)
+
+ setTimeout(() => {
+ asyncTask.pushResponse('response2')
+ }, 400)
+
+```
+你可以在不同函数中使用这些方法. 以上代码执行结果为:
+```javascript
+// time 200: request-2
+// time 300: data-1 response1
+// time 400: data-2 response2
+```
+#### createTaskList实例化过程中传入的参数
+
+| 名称 | 描述 | 默认值 |
+| ---- | ---- | ---- |
+| ordered | 是否为有序 | false |
+| requestCount | 读取数据的次数 | 1 |
+| responseCount | 增加数据的次数 | 1 |
+
+#### createTaskList实例上的方法
+
+| 名称 | 描述 | 返回值的数据结构 |
+| ---- | ---- | ---- |
+| request | 接收的方法,可以传入一个立即执行的函数 | Promise类型, 如果responseCount为1,
得到的data是pushResponse的原数据,
如果responseCount大于1,将得到一个数组 |
+| pushResponse | 增加数据的方法 | -- |
+| clear | 清空所有的状态 | -- |
+| paused (v0.1.0) | 暂停任务 | -- |
+| running (v0.1.0) | 继续匹配任务 | -- |
+| getStatus | 获取当前状态 | {
requestDone: false (是否完成所有的request绑定),
responseDone: false (是否完成所有的pushResponse),
requestCount: 1 (已绑定的request数量),
responseCount: 1 (已完成的pushResponse数量)
} |
+
+
+### 使用 createTaskOrder
+
+request和response可以不按照顺序绑定.
+```javascript
+import { createTaskOrder } from 'async-task-mapping';
+const taskOrder = createTaskOrder()
+
+ setTimeout(async () => {
+ // 这里返回一个Promise.resolve,你可以使用async/await或者.then.
+ const data = await taskOrder.request()
+ console.log('data1', data)
+ }, 230)
+
+ setTimeout(async () => {
+ const data = await taskOrder.request(() => console.log('request 2'))
+ console.log('data2', data)
+ }, 500)
+ setTimeout( () => {
+ taskOrder.pushResponse('Response1')
+ }, 200)
+ setTimeout(() => {
+ taskOrder.pushResponse('Response2')
+ }, 300)
+ setTimeout(() => {
+ taskOrder.pushResponse('Response3')
+ }, 400)
+
+```
+你可以在不同函数中使用这些方法. 以上代码执行结果为:
+```javascript
+// time 230: data1 Response1
+// time 500: data2 Response2
+```
+
+#### createTaskOrder实例上的方法
+
+| 名称 | 描述 | 返回值的数据结构 |
+| ---- | ---- | ---- |
+| request | 接收数据的方法,可以传入一个立即执行的函数 | Promise类型, 得到的data是pushResponse的原数据 |
+| pushResponse | 增加数据的方法 | -- |
+| clear | 清空所有的状态 | -- |
+| paused (v0.1.0) | 暂停任务 | -- |
+| running (v0.1.0) | 继续匹配任务 | -- |
+| getStatus | 获取当前状态 | {
pendingRequests: 0 (未完成匹配的request数量),
pendingResponses: 0 (未完成匹配的response数量)
} |
+| getLastCompletedTask
(v0.1.0) | 获取最后一个request与response完成匹配的数据 | -- |
+
+
+### 开源协议
+
+[MIT](./LICENSE).
\ No newline at end of file
diff --git a/previousVersions/README.md b/previousVersions/README.md
new file mode 100644
index 0000000..c60ec55
--- /dev/null
+++ b/previousVersions/README.md
@@ -0,0 +1,128 @@
+# async-task-mapping
+
+It can make asynchronous tasks that promise cannot complete, ignore the order of sending and receiving, allow binding of asynchronous tasks in pending status, allow triggering a task in multiple functions, and support producer consumer mode and order mode.
+
+English | [简体中文](https://github.com/TNT-03/async-task-mapping/blob/master/previousVersions/README-zh_CN.md)
+
+## Pre-requisites
+
+The async-task-mapping library does not use any third-party dependency packages and does not limit the technology stack.
+
+## Install
+
+```sh
+npm i async-task-mapping --save
+```
+
+## Usage
+
+### use createTaskList
+
+version v0.0.13
+
+```javascript
+import { createTaskList } from "async-task-mapping";
+const asyncTask = createTaskList({
+ ordered: true,
+ requestCount: 2,
+ responseCount: 2,
+});
+
+setTimeout(async () => {
+ // A Promise.resolve is returned here. You can use either async/await or .then.
+ const data = await asyncTask.request();
+ console.log("data-1", data);
+}, 100);
+
+setTimeout(async () => {
+ const data = await asyncTask.request(() => console.log("request-2"));
+ console.log("data-2", data);
+}, 200);
+
+setTimeout(() => {
+ asyncTask.pushResponse("response1");
+}, 300);
+
+setTimeout(() => {
+ asyncTask.pushResponse("response2");
+}, 400);
+```
+
+You can use these functions in different methods. The result of the above code is:
+
+```javascript
+// time 200: request-2
+// time 300: data-1 response1
+// time 400: data-2 response2
+```
+
+#### Parameters passed in during createTaskList instantiation
+
+| name | description | default |
+| ------------- | ------------------------------------ | ------- |
+| ordered | Is it orderly | false |
+| requestCount | Number of times to access data | 1 |
+| responseCount | Increase the number of times of data | 1 |
+
+#### Methods on createTaskList Instances
+
+| name | description | returned data structure |
+| ---------------- | ----------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
+| request | Used to access data | Promise type, The data obtained is the original data of
pushResponse. If the responseCount is greater than 1,
an array will be obtained |
+| pushResponse | Used to add data | -- |
+| clear | Clear all statuses | -- |
+| paused (v0.1.0) | pause task | -- |
+| running (v0.1.0) | continue matching tasks | -- |
+| getStatus | Get current status | {
// Whether to complete all request binding
requestDone: false,
// Whether to complete all pushResponse
responseDone: false,
//Number of requests bound
requestCount: 1 (Number of requests bound),
// Number of pushResponse complete
responseCount: 1 (Number of pushResponse completed)
} |
+
+### use createTaskOrder
+
+The request and response can be out of order.
+
+```javascript
+import { createTaskOrder } from "async-task-mapping";
+const taskOrder = createTaskOrder();
+
+setTimeout(async () => {
+ // A Promise.resolve is returned here. You can use either async/await or .then.
+ const data = await taskOrder.request();
+ console.log("data1", data);
+}, 230);
+
+setTimeout(async () => {
+ const data = await taskOrder.request(() => console.log("request 2"));
+ console.log("data2", data);
+}, 500);
+setTimeout(() => {
+ taskOrder.pushResponse("Response1");
+}, 200);
+setTimeout(() => {
+ taskOrder.pushResponse("Response2");
+}, 300);
+setTimeout(() => {
+ taskOrder.pushResponse("Response3");
+}, 400);
+```
+
+You can use these functions in different methods. The result of the above code is:
+
+```javascript
+// time 230: data1 Response1
+// time 500: data2 Response2
+```
+
+#### Methods on createTaskOrder Instances
+
+| name | description | returned data structure |
+| -------------------- | -------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
+| request | The method to access data, which can be
passed in a function to be executed immediately | Promise type, the data obtained is the original data of
pushResponse |
+| pushResponse | Used to add data | -- |
+| clear | Clear all statuses | -- |
+| paused (v0.1.0) | pause task | -- |
+| running (v0.1.0) | continue matching tasks | -- |
+| getStatus | Get current status | {
//Number of incomplete matching requests
pendingRequests: 0,
//Number of responses that have not completed matching
pendingResponses: 0
} |
+| getLastCompletedTask | Get the data matching the last request with the response | -- |
+
+### License
+
+[MIT](https://github.com/TNT-03/async-task-mapping/blob/master/LICENSE).
diff --git a/task/orderedList.js b/task/orderedList.js
index 1eec820..23418e6 100644
--- a/task/orderedList.js
+++ b/task/orderedList.js
@@ -1,33 +1,38 @@
-import SeaAnemones from "./seaAnemones"
-
+import SeaAnemones from "./seaAnemones";
+import { checkCallback } from "./../utils/index";
class OrderedList extends SeaAnemones {
constructor(taskCount) {
const store = {
order: true,
paused: false,
taskCount: taskCount,
- status: 'static',
+ status: "static",
requestList: [],
- resolveList: []
- }
- super(store)
- this.#store = store
+ resolveList: [],
+ dataMap: {},
+ };
+ super(store);
+ this.#store = store;
}
#store = null;
- request () {
- const {resolveList, taskCount, requestList } = this.#store
- if(resolveList.length === taskCount[1] && requestList.length === taskCount[0]) {
- this.clear()
+ request(cb) {
+ checkCallback(cb);
+ const { resolveList, taskCount, requestList } = this.#store;
+ if (
+ resolveList.length === taskCount[1] &&
+ requestList.length === taskCount[0]
+ ) {
+ this.clear();
}
- if(requestList.length + 1 > taskCount[0]) {
- console.warn('Too many request bound')
- return
+ if (requestList.length + 1 > taskCount[0]) {
+ console.warn("Too many request bound");
+ return;
}
- this.#store.status = 'pending'
+ this.#store.status = "pending";
return new Promise((conch) => {
- requestList.push(conch)
- })
+ requestList.push(conch);
+ });
}
}
-export default OrderedList
\ No newline at end of file
+export default OrderedList;
diff --git a/task/seaAnemones.js b/task/seaAnemones.js
index a07a53a..1229657 100644
--- a/task/seaAnemones.js
+++ b/task/seaAnemones.js
@@ -1,54 +1,56 @@
-import Cell from './cell'
-import { getStatusData } from '../utils/index'
+import Cell from "./cell";
+import { getStatusData } from "../utils/index";
-class SeaAnemones extends Cell{
+class SeaAnemones extends Cell {
constructor(store) {
- super()
- this.#store = store
+ super();
+ this.#store = store;
}
#store = null;
- pushResolve (resolve, name) {
- const { order, paused, resolveList, taskCount, requestList } = this.#store
- if(order && requestList.length !== taskCount[0]) {
- return 'Please bind the request before binding the pushResolve'
+ pushResolve(resolve, name) {
+ const { order, paused, resolveList, dataMap, taskCount, requestList } =
+ this.#store;
+ if (order && requestList.length !== taskCount[0]) {
+ return "Please bind the request before binding the pushResolve";
}
- if(resolveList.length === taskCount[1]) {
- return 'Too many pushResolve bound'
+ if (resolveList.length === taskCount[1]) {
+ return "Too many pushResolve bound";
}
- resolveList.push(resolve)
- if(name) {
- resolveList[name] = resolve
+ resolveList.push(resolve);
+ if (name) {
+ dataMap[name] = resolve;
}
- if(paused) {
- return
+ if (paused) {
+ return;
}
- this.running()
+ this.running();
}
- paused () {
- this.#store.paused = true
+ paused() {
+ this.#store.paused = true;
}
running() {
- if(resolveList.length === taskCount[1]){
+ const { resolveList, dataMap, taskCount, requestList } = this.#store;
+ if (resolveList.length === taskCount[1]) {
requestList.forEach((callback) => {
- callback(resolveList)
- })
- this.#store.status = 'fulfilled'
+ callback({ list: resolveList, dataMap });
+ });
+ this.#store.status = "fulfilled";
} else {
- this.#store.status = 'pending'
+ this.#store.status = "pending";
}
- this.#store.paused = false
+ this.#store.paused = false;
}
- clear () {
- [
+ clear() {
+ [
this.#store.taskCount,
this.#store.status,
this.#store.requestList,
- this.#store.resolveList
- ] = [[1, 1], 'static', [], []]
+ this.#store.resolveList,
+ ] = [[1, 1], "static", [], []];
}
- getStatus () {
- const { requestList, resolveList, taskCount } = this.#store
- return getStatusData([requestList, resolveList, taskCount])
+ getStatus() {
+ const { requestList, resolveList, taskCount } = this.#store;
+ return getStatusData([requestList, resolveList, taskCount]);
}
}
-export default SeaAnemones
\ No newline at end of file
+export default SeaAnemones;
diff --git a/task/taskOrder.js b/task/taskOrder.js
index bfb8747..f0e2fc7 100644
--- a/task/taskOrder.js
+++ b/task/taskOrder.js
@@ -1,67 +1,67 @@
-import { getTracks } from '../utils/index'
-import Cell from './cell'
+import { getTracks } from "../utils/index";
+import Cell from "./cell";
-class TaskOrder extends Cell{
+class TaskOrder extends Cell {
// 链带
- #resolveChain ={}
- #requestChain ={}
+ #resolveChain = {};
+ #requestChain = {};
// 拉头
- #slider = {}
- #lastResolveData = null
- #paused = false
+ #slider = {};
+ #lastResolveData = null;
+ #paused = false;
constructor() {
- super()
- this.clear()
+ super();
+ this.clear();
}
- clear () {
- this.#slider = {}
- this.#resolveChain = this.#slider
- this.#requestChain = this.#slider
+ clear() {
+ this.#slider = {};
+ this.#resolveChain = this.#slider;
+ this.#requestChain = this.#slider;
}
- getStatus () {
+ getStatus() {
return {
pendingRequests: getTracks(this.#requestChain),
- pendingResolve: getTracks(this.#resolveChain)
- }
+ pendingResolve: getTracks(this.#resolveChain),
+ };
}
- #zipUp () {
- if(this.#paused) {
- return
+ #zipUp() {
+ if (this.#paused) {
+ return;
}
- const next = this.#slider.next
- if(next && next.request && next.resolveData) {
- this.#lastResolveData = next.resolveData
- this.#slider = next
- next.request(next.resolveData)
+ const next = this.#slider.next;
+ console.log("zipUp", next);
+ if (next && next.request && next.resolveData) {
+ this.#lastResolveData = next.resolveData;
+ this.#slider = next;
+ next.request(next.resolveData);
}
}
- #addChainTeeth (node) {
- let next = node.next ? node.next : {}
- next = next.next
- return next
+ #addChainTeeth(node) {
+ node.next = node.next ? node.next : {};
+ return node.next;
}
- request () {
- return new Promise((request) =>{
- this.#requestChain = this.#addChainTeeth(this.#requestChain)
- this.#requestChain.request = request
- this.#zipUp()
- })
+ request() {
+ return new Promise((request) => {
+ this.#requestChain = this.#addChainTeeth(this.#requestChain);
+ this.#requestChain.request = request;
+ this.#zipUp();
+ });
}
- pushResolve (resolveData) {
- this.#requestChain = this.#addChainTeeth(this.#requestChain)
- this.#requestChain.resolveData = resolveData
- this.#zipUp()
+ pushResolve(resolveData) {
+ this.#resolveChain = this.#addChainTeeth(this.#resolveChain);
+ this.#resolveChain.resolveData = resolveData;
+ this.#zipUp();
}
getLastCompletedTask() {
- return this.#lastResolveData
+ return this.#lastResolveData;
}
- paused () {
- this.#paused = true
+ paused() {
+ this.#paused = true;
}
running() {
- this.#paused = false
- this.#zipUp()
+ this.#paused = false;
+ this.#zipUp();
}
}
-export default TaskOrder
\ No newline at end of file
+export default TaskOrder;
diff --git a/task/unorderedList.js b/task/unorderedList.js
index 494f237..cb1eda4 100644
--- a/task/unorderedList.js
+++ b/task/unorderedList.js
@@ -1,34 +1,43 @@
-import SeaAnemones from "./seaAnemones"
+import SeaAnemones from "./seaAnemones";
+import { checkCallback } from "./../utils/index";
class UnorderedList extends SeaAnemones {
constructor(taskCount) {
const store = {
taskCount: taskCount,
- status: 'static',
+ status: "static",
requestList: [],
- resolveList: []
- }
- super(store)
- this.#store = store
+ resolveList: [],
+ dataMap: {},
+ };
+ super(store);
+ this.#store = store;
}
- #store = null
- request () {
- const {resolveList, taskCount, requestList } = this.#store
- if(resolveList.length === taskCount[1] && requestList.length === taskCount[0]) {
- this.clear()
+ #store = null;
+ request(cb) {
+ checkCallback(cb);
+ const { resolveList, taskCount, requestList } = this.#store;
+ if (
+ resolveList.length === taskCount[1] &&
+ requestList.length === taskCount[0]
+ ) {
+ this.clear();
}
- if(requestList.length + 1 > taskCount[0]) {
- console.warn('Too many request bound')
- } else if (this.#store.status === 'static' || this.#store.status === 'pending') {
- this.#store.status = 'pending'
+ if (requestList.length + 1 > taskCount[0]) {
+ console.warn("Too many request bound");
+ } else if (
+ this.#store.status === "static" ||
+ this.#store.status === "pending"
+ ) {
+ this.#store.status = "pending";
return new Promise((lobster) => {
- requestList.push(lobster)
- })
- } else if (this.#store.status === 'fulfilled') {
- requestList.push(null)
- return Promise.resolve(resolveList)
+ requestList.push(lobster);
+ });
+ } else if (this.#store.status === "fulfilled") {
+ requestList.push(null);
+ return Promise.resolve(resolveList);
}
}
}
-export default UnorderedList
\ No newline at end of file
+export default UnorderedList;
diff --git a/test/orderList.test.js b/test/orderList.test.js
index f84b0bd..34b58dd 100644
--- a/test/orderList.test.js
+++ b/test/orderList.test.js
@@ -1,26 +1,30 @@
// eslint-disable-next-line @typescript-eslint/no-var-requires
-// const { createTaskList } = require('../dist/index')
-test('createTaskList error', async () => {
- const asyncTask = createTaskList({ordered: true, taskCount: 2, resolveCount: 2})
- let target = ''
+const { createTaskList } = require("../dist/index");
+test("createTaskList error", async () => {
+ const asyncTask = createTaskList({
+ ordered: true,
+ taskCount: 2,
+ resolveCount: 2,
+ });
+ let target = "";
setTimeout(() => {
- asyncTask.then((data) => {
- target += data.join('')
- })
- }, 10)
+ asyncTask.then(({ list }) => {
+ target += list.join("");
+ });
+ }, 10);
setTimeout(async () => {
- const data = await asyncTask
- target += data.join('')
- }, 20)
+ const { list, dataMap } = await asyncTask;
+ target += list.join("") + dataMap.res2_name;
+ }, 20);
setTimeout(() => {
- asyncTask.pushResolve('res1')
- }, 30)
+ asyncTask.pushResolve("res1");
+ }, 30);
setTimeout(() => {
- asyncTask.pushResolve('res2')
- }, 40)
+ asyncTask.pushResolve("res2", "res2_name");
+ }, 40);
setTimeout(() => {
- expect(target).toBe('res1res2res1res2');
- }, 50)
-});
\ No newline at end of file
+ expect(target).toBe("res1res2res1res2" + "res2");
+ }, 50);
+});
diff --git a/test/paused.test.js b/test/paused.test.js
new file mode 100644
index 0000000..28bbceb
--- /dev/null
+++ b/test/paused.test.js
@@ -0,0 +1,34 @@
+// eslint-disable-next-line
+const { createTaskOrder } = require("../dist/index");
+test("createTaskList error", async () => {
+ const taskOrder = createTaskOrder();
+ let target = "";
+ setTimeout(() => {
+ taskOrder.then((data) => {
+ target += `then1: ${data}, `;
+ });
+ }, 10);
+ setTimeout(async () => {
+ const data = await taskOrder;
+ target += `then2: ${data}, `;
+ taskOrder.paused();
+ }, 20);
+ setTimeout(() => {
+ taskOrder.pushResolve("res1");
+ }, 40);
+ setTimeout(() => {
+ taskOrder.pushResolve("res2");
+ }, 50);
+ setTimeout(() => {
+ taskOrder.pushResolve("res3");
+ }, 60);
+ setTimeout(async () => {
+ taskOrder.running();
+ const data = await taskOrder;
+ target += `then3: ${data}, `;
+ }, 70);
+
+ setTimeout(() => {
+ expect(target).toBe("then1: res1, then2: res2, then3: res3, ");
+ }, 90);
+});
diff --git a/test/taskOrder.test.js b/test/taskOrder.test.js
new file mode 100644
index 0000000..701bf83
--- /dev/null
+++ b/test/taskOrder.test.js
@@ -0,0 +1,32 @@
+// eslint-disable-next-line
+const { createTaskOrder } = require("../dist/index");
+test("createTaskList error", async () => {
+ const taskOrder = createTaskOrder();
+ let target = "";
+ setTimeout(() => {
+ taskOrder.then((data) => {
+ target += `then1: ${data}, `;
+ });
+ }, 10);
+ setTimeout(async () => {
+ const data = await taskOrder;
+ target += `then2: ${data}, `;
+ }, 20);
+ setTimeout(() => {
+ taskOrder.pushResolve("res1");
+ }, 40);
+ setTimeout(() => {
+ taskOrder.pushResolve("res2");
+ }, 50);
+ setTimeout(() => {
+ taskOrder.pushResolve("res3");
+ }, 60);
+ setTimeout(async () => {
+ const data = await taskOrder;
+ target += `then3: ${data}, `;
+ }, 70);
+
+ setTimeout(() => {
+ expect(target).toBe("then1: res1, then2: res2, then3: res3, ");
+ }, 80);
+});
diff --git a/test/unorderList.test.js b/test/unorderList.test.js
new file mode 100644
index 0000000..5e8ae41
--- /dev/null
+++ b/test/unorderList.test.js
@@ -0,0 +1,30 @@
+// eslint-disable-next-line
+const { createTaskList } = require("../dist/index");
+test("unorderList error", async () => {
+ const asyncTask = createTaskList({
+ ordered: false,
+ taskCount: 2,
+ resolveCount: 2,
+ });
+ let target = "";
+ setTimeout(() => {
+ asyncTask.then(({ list }) => {
+ target += list.join("");
+ });
+ }, 10);
+ setTimeout(async () => {
+ const { list, dataMap } = await asyncTask;
+ target += list.join("") + dataMap.res2;
+ }, 20);
+
+ setTimeout(() => {
+ asyncTask.pushResolve("res1");
+ }, 30);
+
+ setTimeout(() => {
+ asyncTask.pushResolve("res2", "res2");
+ }, 40);
+ setTimeout(() => {
+ expect(target).toBe("res1res2res1res2" + "res2");
+ }, 50);
+});
diff --git a/utils/dispatch.js b/utils/dispatch.js
index 378a9fa..448f631 100644
--- a/utils/dispatch.js
+++ b/utils/dispatch.js
@@ -1,14 +1,14 @@
-export const checkCallback = (octopus) => {
- if(octopus) {
- octopus()
+export const checkCallback = (cb) => {
+ if (cb) {
+ cb();
}
-}
+};
export const getTracks = (node) => {
- let count = 0
- while(node.next) {
- count++
- node = node.next
+ let count = 0;
+ while (node.next) {
+ count++;
+ node = node.next;
}
- return count
-}
\ No newline at end of file
+ return count;
+};