├── .editorconfig
├── .github
└── workflows
│ └── test.yml
├── .gitignore
├── .prettierignore
├── .prettierrc
├── LICENSE
├── README.md
├── __tests__
├── hook.ts
└── store.ts
├── jest.config.js
├── package.json
├── pnpm-lock.yaml
├── src
└── index.ts
├── tsconfig.json
└── tsconfig.prod.json
/.editorconfig:
--------------------------------------------------------------------------------
1 | root = true
2 |
3 | [*]
4 | indent_size = 4
5 | indent_style = space
6 | insert_final_newline = true
7 | trim_trailing_whitespace = true
8 |
--------------------------------------------------------------------------------
/.github/workflows/test.yml:
--------------------------------------------------------------------------------
1 | name: test
2 |
3 | on:
4 | - push
5 | - pull_request
6 |
7 | jobs:
8 | run-tests:
9 | runs-on: ubuntu-latest
10 | steps:
11 | - uses: actions/checkout@v3
12 | - uses: actions/cache@v3
13 | with:
14 | path: ~/.pnpm-store
15 | key: ${{ runner.os }}-${{ hashFiles('**/pnpm-lock.yaml') }}
16 | restore-keys: |
17 | ${{ runner.os }}-
18 | - uses: pnpm/action-setup@v2.1.0
19 | with:
20 | version: 6.32.7
21 | run_install: true
22 | - run: pnpm test
23 |
--------------------------------------------------------------------------------
/.gitignore:
--------------------------------------------------------------------------------
1 | node_modules/
2 | dist/
3 | *.lock
4 | *.log
5 | package-lock.json
6 |
--------------------------------------------------------------------------------
/.prettierignore:
--------------------------------------------------------------------------------
1 | dist
2 |
--------------------------------------------------------------------------------
/.prettierrc:
--------------------------------------------------------------------------------
1 | {
2 | "arrowParens": "avoid",
3 | "semi": false,
4 | "singleQuote": true,
5 | "printWidth": 120,
6 | "tabWidth": 4
7 | }
8 |
--------------------------------------------------------------------------------
/LICENSE:
--------------------------------------------------------------------------------
1 |
2 | MIT License
3 | -----------
4 |
5 | Copyright (c) 2019 skt-t1-byungi
6 | Permission is hereby granted, free of charge, to any person
7 | obtaining a copy of this software and associated documentation
8 | files (the "Software"), to deal in the Software without
9 | restriction, including without limitation the rights to use,
10 | copy, modify, merge, publish, distribute, sublicense, and/or sell
11 | copies of the Software, and to permit persons to whom the
12 | Software is furnished to do so, subject to the following
13 | conditions:
14 |
15 | The above copyright notice and this permission notice shall be
16 | included in all copies or substantial portions of the Software.
17 |
18 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
19 | EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
20 | OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
21 | NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
22 | HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
23 | WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
24 | FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
25 | OTHER DEALINGS IN THE SOFTWARE.
26 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | # use-simple-store 🏬
2 |
3 | Simple global state management using react hook.
4 |
5 | [](https://www.npmjs.com/package/use-simple-store)
6 | [](https://github.com/skt-t1-byungi/use-simple-store/blob/master/LICENSE)
7 |
8 | ## Install
9 |
10 | ```sh
11 | npm i use-simple-store
12 | ```
13 |
14 | ## Example
15 |
16 | ```js
17 | import createStore from 'use-simple-store'
18 |
19 | const { useStore, update } = createStore({ count: 0 })
20 |
21 | const increment = () => update(state => {
22 | state.count = state.count + 1
23 | })
24 |
25 | const decrement = () => update(state => {
26 | state.count = state.count - 1
27 | })
28 |
29 | function App() {
30 | const { count } = useStore()
31 |
32 | return (
33 |
34 | {count}
35 |
36 |
37 |
))
38 | }
39 | ```
40 |
41 | ## API
42 |
43 | ### createStore(initialState)
44 |
45 | Create a store.
46 |
47 | ### store.update([mutate])
48 |
49 | Update state by mutate function. (using [immer](https://github.com/mweststrate/immer))
50 |
51 | ```js
52 | const todos = createStore({})
53 |
54 | const addTodo = (id, text) =>
55 | todos.update(state => {
56 | state[id] = { id, text, done: false }
57 | })
58 |
59 | const deleteTodo = id =>
60 | todos.update(state => {
61 | delete state[id]
62 | })
63 | ```
64 |
65 | #### Asynchronous update.
66 |
67 | The `update()` does not support promise. If you need an asynchronous update, see the example below: 👇
68 |
69 | ```js
70 | async function fetchTodos() {
71 | update(state => {
72 | state.fetching = true
73 | })
74 |
75 | const todos = await fetchTodosAsync()
76 |
77 | update(state => {
78 | state.fetching = false
79 | state.todos = todos
80 | })
81 | }
82 | ```
83 |
84 | ### store.subscribe(listener)
85 |
86 | Subscribe to state changes.
87 |
88 | ```js
89 | const { subscribe, update } = createStore({ count: 0 })
90 |
91 | subscribe(state => {
92 | console.log(`count: ${state.count}`)
93 | })
94 |
95 | update(state => {
96 | state.count++
97 | }) // => count: 1
98 | update(state => {
99 | state.count++
100 | }) // => count: 2
101 | ```
102 |
103 | #### Unsubscribe
104 |
105 | The `subscribe()` returns a function to unsubscribe.
106 |
107 | ```js
108 | const unsubscribe = subscribe(listener)
109 |
110 | /* ... */
111 |
112 | unsubscribe()
113 | ```
114 |
115 | ### store.getState()
116 |
117 | Returns current state.
118 |
119 | ### store.useStore([selector[, dependencies]])
120 |
121 | A react hook to subscribe to store state changes.
122 |
123 | #### selector
124 |
125 | Select only the necessary state of the store. When the state of the store is large, its performance is better.
126 |
127 | ```js
128 | function Todo({ id }) {
129 | const todo = useStore(state => state[id])
130 |
131 | const handleClick = () => {
132 | update(state => {
133 | state[id].done = !todo.done
134 | })
135 | }
136 |
137 | return {todo.text})
138 | }
139 | ```
140 |
141 | #### dependencies
142 |
143 | Replace the selector with `dependencies`.
144 |
145 | ```js
146 | const s = useStore(state => state[condition ? 'v1' : 'v2'], [condition])
147 | ```
148 |
149 | ## License
150 |
151 | MIT
152 |
--------------------------------------------------------------------------------
/__tests__/hook.ts:
--------------------------------------------------------------------------------
1 | import { act, renderHook } from '@testing-library/react-hooks'
2 |
3 | import createStore from '../src'
4 |
5 | test('render, update', () => {
6 | const store = createStore({ n: 0 })
7 | const { result } = renderHook(() => store.useStore())
8 |
9 | expect(result.current).toEqual({ n: 0 })
10 | act(() =>
11 | store.update(s => {
12 | s.n++
13 | })
14 | )
15 |
16 | expect(result.current).toEqual({ n: 1 })
17 | })
18 |
19 | test('Selector replacement', () => {
20 | const store = createStore({ a: 1, b: 2 })
21 | const { result, rerender } = renderHook(p => store.useStore(s => s[p ? 'a' : 'b'], [p]), { initialProps: true })
22 |
23 | expect(result.current).toBe(1)
24 | rerender(false)
25 | expect(result.current).toBe(2)
26 | })
27 |
28 | test('Update during render', () => {
29 | const store = createStore({ n: 0 })
30 | let once = 0
31 | const { result } = renderHook(() => {
32 | const ret = store.useStore()
33 | if (!once++)
34 | store.update(s => {
35 | s.n++
36 | })
37 | return ret
38 | })
39 | expect(result.current.n).toBe(1)
40 | })
41 |
--------------------------------------------------------------------------------
/__tests__/store.ts:
--------------------------------------------------------------------------------
1 | import createStore from '../src'
2 |
3 | test('getState(), update()', () => {
4 | const store = createStore({ n: 0 })
5 |
6 | expect(store.getState()).toEqual({ n: 0 })
7 | store.update(s => {
8 | s.n++
9 | })
10 | expect(store.getState()).toEqual({ n: 1 })
11 | store.update(s => {
12 | s.n++
13 | })
14 | expect(store.getState()).toEqual({ n: 2 })
15 | })
16 |
17 | test('subscribe(), unsubscribe()', () => {
18 | const store = createStore({ n: 0 })
19 | const mo = jest.fn()
20 |
21 | const unsubscribe = store.subscribe(mo)
22 | store.update(s => {
23 | s.n++
24 | })
25 | unsubscribe()
26 | store.update(s => {
27 | s.n++
28 | })
29 |
30 | expect(mo.mock.calls.length).toBe(1)
31 | })
32 |
33 | test('Only runs when the state changes.', () => {
34 | const store = createStore({ v: 'a' })
35 | const mo = jest.fn()
36 | store.subscribe(mo)
37 |
38 | store.update(s => {
39 | s.v = 'a'
40 | })
41 | store.update(s => {
42 | s.v = 'a'
43 | })
44 | store.update(s => {
45 | s.v = 'b'
46 | })
47 | store.update(s => {
48 | s.v = 'b'
49 | })
50 |
51 | expect(mo.mock.calls.length).toBe(1)
52 | })
53 |
54 | test('Update with replacement', () => {
55 | const store = createStore({ a: '1' })
56 | store.update(() => ({ b: '2' }))
57 | expect(store.getState()).toEqual({ b: '2' })
58 | })
59 |
--------------------------------------------------------------------------------
/jest.config.js:
--------------------------------------------------------------------------------
1 | module.exports = {
2 | preset: 'ts-jest',
3 | testEnvironment: 'jsdom',
4 | }
5 |
--------------------------------------------------------------------------------
/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "use-simple-store",
3 | "description": "Simple state management using react hook.",
4 | "version": "1.6.0",
5 | "main": "dist/index.js",
6 | "types": "dist/index.d.ts",
7 | "repository": "https://github.com/skt-t1-byungi/use-simple-store",
8 | "author": "skt-t1-byungi ",
9 | "keywords": [
10 | "react",
11 | "hook",
12 | "hooks",
13 | "state",
14 | "store"
15 | ],
16 | "license": "MIT",
17 | "files": [
18 | "dist"
19 | ],
20 | "scripts": {
21 | "test": "jest",
22 | "build": "rm -rf dist && tsc -p tsconfig.prod.json",
23 | "prepublishOnly": "npm run test && npm run build"
24 | },
25 | "devDependencies": {
26 | "@testing-library/react-hooks": "8.0.0",
27 | "@types/jest": "27.4.1",
28 | "@types/node": "^17.0.24",
29 | "@types/react": "^17",
30 | "@types/shallowequal": "1.1.1",
31 | "@types/use-sync-external-store": "^0.0.3",
32 | "browser-env": "3.3.0",
33 | "jest": "27.5.1",
34 | "prettier": "2.6.2",
35 | "react": "^17",
36 | "react-dom": "^17",
37 | "ts-jest": "27.1.4",
38 | "ts-node": "10.7.0",
39 | "typescript": "4.6.3"
40 | },
41 | "peerDependencies": {
42 | "react": "^16.8.4 || ^17.0.0"
43 | },
44 | "dependencies": {
45 | "immer": "^9.0.12",
46 | "shallowequal": "^1.1.0",
47 | "use-sync-external-store": "^1.0.0"
48 | }
49 | }
50 |
--------------------------------------------------------------------------------
/pnpm-lock.yaml:
--------------------------------------------------------------------------------
1 | lockfileVersion: '6.0'
2 |
3 | settings:
4 | autoInstallPeers: true
5 | excludeLinksFromLockfile: false
6 |
7 | dependencies:
8 | immer:
9 | specifier: ^9.0.12
10 | version: 9.0.12
11 | shallowequal:
12 | specifier: ^1.1.0
13 | version: 1.1.0
14 | use-sync-external-store:
15 | specifier: ^1.0.0
16 | version: 1.0.0(react@17.0.2)
17 |
18 | devDependencies:
19 | '@testing-library/react-hooks':
20 | specifier: 8.0.0
21 | version: 8.0.0(@types/react@17.0.44)(react-dom@17.0.2)(react@17.0.2)
22 | '@types/jest':
23 | specifier: 27.4.1
24 | version: 27.4.1
25 | '@types/node':
26 | specifier: ^17.0.24
27 | version: 17.0.24
28 | '@types/react':
29 | specifier: ^17
30 | version: 17.0.44
31 | '@types/shallowequal':
32 | specifier: 1.1.1
33 | version: 1.1.1
34 | '@types/use-sync-external-store':
35 | specifier: ^0.0.3
36 | version: 0.0.3
37 | browser-env:
38 | specifier: 3.3.0
39 | version: 3.3.0
40 | jest:
41 | specifier: 27.5.1
42 | version: 27.5.1(ts-node@10.7.0)
43 | prettier:
44 | specifier: 2.6.2
45 | version: 2.6.2
46 | react:
47 | specifier: ^17
48 | version: 17.0.2
49 | react-dom:
50 | specifier: ^17
51 | version: 17.0.2(react@17.0.2)
52 | ts-jest:
53 | specifier: 27.1.4
54 | version: 27.1.4(@babel/core@7.17.9)(@types/jest@27.4.1)(jest@27.5.1)(typescript@4.6.3)
55 | ts-node:
56 | specifier: 10.7.0
57 | version: 10.7.0(@types/node@17.0.24)(typescript@4.6.3)
58 | typescript:
59 | specifier: 4.6.3
60 | version: 4.6.3
61 |
62 | packages:
63 |
64 | /@ampproject/remapping@2.1.2:
65 | resolution: {integrity: sha512-hoyByceqwKirw7w3Z7gnIIZC3Wx3J484Y3L/cMpXFbr7d9ZQj2mODrirNzcJa+SM3UlpWXYvKV4RlRpFXlWgXg==}
66 | engines: {node: '>=6.0.0'}
67 | dependencies:
68 | '@jridgewell/trace-mapping': 0.3.4
69 | dev: true
70 |
71 | /@babel/code-frame@7.16.7:
72 | resolution: {integrity: sha512-iAXqUn8IIeBTNd72xsFlgaXHkMBMt6y4HJp1tIaK465CWLT/fG1aqB7ykr95gHHmlBdGbFeWWfyB4NJJ0nmeIg==}
73 | engines: {node: '>=6.9.0'}
74 | dependencies:
75 | '@babel/highlight': 7.17.9
76 | dev: true
77 |
78 | /@babel/code-frame@7.22.13:
79 | resolution: {integrity: sha512-XktuhWlJ5g+3TJXc5upd9Ks1HutSArik6jf2eAjYFyIOf4ej3RN+184cZbzDvbPnuTJIUhPKKJE3cIsYTiAT3w==}
80 | engines: {node: '>=6.9.0'}
81 | dependencies:
82 | '@babel/highlight': 7.22.20
83 | chalk: 2.4.2
84 | dev: true
85 |
86 | /@babel/compat-data@7.17.7:
87 | resolution: {integrity: sha512-p8pdE6j0a29TNGebNm7NzYZWB3xVZJBZ7XGs42uAKzQo8VQ3F0By/cQCtUEABwIqw5zo6WA4NbmxsfzADzMKnQ==}
88 | engines: {node: '>=6.9.0'}
89 | dev: true
90 |
91 | /@babel/core@7.17.9:
92 | resolution: {integrity: sha512-5ug+SfZCpDAkVp9SFIZAzlW18rlzsOcJGaetCjkySnrXXDUw9AR8cDUm1iByTmdWM6yxX6/zycaV76w3YTF2gw==}
93 | engines: {node: '>=6.9.0'}
94 | dependencies:
95 | '@ampproject/remapping': 2.1.2
96 | '@babel/code-frame': 7.16.7
97 | '@babel/generator': 7.17.9
98 | '@babel/helper-compilation-targets': 7.17.7(@babel/core@7.17.9)
99 | '@babel/helper-module-transforms': 7.17.7
100 | '@babel/helpers': 7.17.9
101 | '@babel/parser': 7.17.9
102 | '@babel/template': 7.16.7
103 | '@babel/traverse': 7.23.2
104 | '@babel/types': 7.17.0
105 | convert-source-map: 1.8.0
106 | debug: 4.3.4
107 | gensync: 1.0.0-beta.2
108 | json5: 2.2.1
109 | semver: 6.3.0
110 | transitivePeerDependencies:
111 | - supports-color
112 | dev: true
113 |
114 | /@babel/generator@7.17.9:
115 | resolution: {integrity: sha512-rAdDousTwxbIxbz5I7GEQ3lUip+xVCXooZNbsydCWs3xA7ZsYOv+CFRdzGxRX78BmQHu9B1Eso59AOZQOJDEdQ==}
116 | engines: {node: '>=6.9.0'}
117 | dependencies:
118 | '@babel/types': 7.17.0
119 | jsesc: 2.5.2
120 | source-map: 0.5.7
121 | dev: true
122 |
123 | /@babel/generator@7.23.0:
124 | resolution: {integrity: sha512-lN85QRR+5IbYrMWM6Y4pE/noaQtg4pNiqeNGX60eqOfo6gtEj6uw/JagelB8vVztSd7R6M5n1+PQkDbHbBRU4g==}
125 | engines: {node: '>=6.9.0'}
126 | dependencies:
127 | '@babel/types': 7.23.0
128 | '@jridgewell/gen-mapping': 0.3.3
129 | '@jridgewell/trace-mapping': 0.3.20
130 | jsesc: 2.5.2
131 | dev: true
132 |
133 | /@babel/helper-compilation-targets@7.17.7(@babel/core@7.17.9):
134 | resolution: {integrity: sha512-UFzlz2jjd8kroj0hmCFV5zr+tQPi1dpC2cRsDV/3IEW8bJfCPrPpmcSN6ZS8RqIq4LXcmpipCQFPddyFA5Yc7w==}
135 | engines: {node: '>=6.9.0'}
136 | peerDependencies:
137 | '@babel/core': ^7.0.0
138 | dependencies:
139 | '@babel/compat-data': 7.17.7
140 | '@babel/core': 7.17.9
141 | '@babel/helper-validator-option': 7.16.7
142 | browserslist: 4.20.2
143 | semver: 6.3.0
144 | dev: true
145 |
146 | /@babel/helper-environment-visitor@7.16.7:
147 | resolution: {integrity: sha512-SLLb0AAn6PkUeAfKJCCOl9e1R53pQlGAfc4y4XuMRZfqeMYLE0dM1LMhqbGAlGQY0lfw5/ohoYWAe9V1yibRag==}
148 | engines: {node: '>=6.9.0'}
149 | dependencies:
150 | '@babel/types': 7.17.0
151 | dev: true
152 |
153 | /@babel/helper-environment-visitor@7.22.20:
154 | resolution: {integrity: sha512-zfedSIzFhat/gFhWfHtgWvlec0nqB9YEIVrpuwjruLlXfUSnA8cJB0miHKwqDnQ7d32aKo2xt88/xZptwxbfhA==}
155 | engines: {node: '>=6.9.0'}
156 | dev: true
157 |
158 | /@babel/helper-function-name@7.23.0:
159 | resolution: {integrity: sha512-OErEqsrxjZTJciZ4Oo+eoZqeW9UIiOcuYKRJA4ZAgV9myA+pOXhhmpfNCKjEH/auVfEYVFJ6y1Tc4r0eIApqiw==}
160 | engines: {node: '>=6.9.0'}
161 | dependencies:
162 | '@babel/template': 7.22.15
163 | '@babel/types': 7.23.0
164 | dev: true
165 |
166 | /@babel/helper-hoist-variables@7.22.5:
167 | resolution: {integrity: sha512-wGjk9QZVzvknA6yKIUURb8zY3grXCcOZt+/7Wcy8O2uctxhplmUPkOdlgoNhmdVee2c92JXbf1xpMtVNbfoxRw==}
168 | engines: {node: '>=6.9.0'}
169 | dependencies:
170 | '@babel/types': 7.23.0
171 | dev: true
172 |
173 | /@babel/helper-module-imports@7.16.7:
174 | resolution: {integrity: sha512-LVtS6TqjJHFc+nYeITRo6VLXve70xmq7wPhWTqDJusJEgGmkAACWwMiTNrvfoQo6hEhFwAIixNkvB0jPXDL8Wg==}
175 | engines: {node: '>=6.9.0'}
176 | dependencies:
177 | '@babel/types': 7.17.0
178 | dev: true
179 |
180 | /@babel/helper-module-transforms@7.17.7:
181 | resolution: {integrity: sha512-VmZD99F3gNTYB7fJRDTi+u6l/zxY0BE6OIxPSU7a50s6ZUQkHwSDmV92FfM+oCG0pZRVojGYhkR8I0OGeCVREw==}
182 | engines: {node: '>=6.9.0'}
183 | dependencies:
184 | '@babel/helper-environment-visitor': 7.16.7
185 | '@babel/helper-module-imports': 7.16.7
186 | '@babel/helper-simple-access': 7.17.7
187 | '@babel/helper-split-export-declaration': 7.16.7
188 | '@babel/helper-validator-identifier': 7.16.7
189 | '@babel/template': 7.16.7
190 | '@babel/traverse': 7.23.2
191 | '@babel/types': 7.17.0
192 | transitivePeerDependencies:
193 | - supports-color
194 | dev: true
195 |
196 | /@babel/helper-plugin-utils@7.16.7:
197 | resolution: {integrity: sha512-Qg3Nk7ZxpgMrsox6HreY1ZNKdBq7K72tDSliA6dCl5f007jR4ne8iD5UzuNnCJH2xBf2BEEVGr+/OL6Gdp7RxA==}
198 | engines: {node: '>=6.9.0'}
199 | dev: true
200 |
201 | /@babel/helper-simple-access@7.17.7:
202 | resolution: {integrity: sha512-txyMCGroZ96i+Pxr3Je3lzEJjqwaRC9buMUgtomcrLe5Nd0+fk1h0LLA+ixUF5OW7AhHuQ7Es1WcQJZmZsz2XA==}
203 | engines: {node: '>=6.9.0'}
204 | dependencies:
205 | '@babel/types': 7.17.0
206 | dev: true
207 |
208 | /@babel/helper-split-export-declaration@7.16.7:
209 | resolution: {integrity: sha512-xbWoy/PFoxSWazIToT9Sif+jJTlrMcndIsaOKvTA6u7QEo7ilkRZpjew18/W3c7nm8fXdUDXh02VXTbZ0pGDNw==}
210 | engines: {node: '>=6.9.0'}
211 | dependencies:
212 | '@babel/types': 7.17.0
213 | dev: true
214 |
215 | /@babel/helper-split-export-declaration@7.22.6:
216 | resolution: {integrity: sha512-AsUnxuLhRYsisFiaJwvp1QF+I3KjD5FOxut14q/GzovUe6orHLesW2C7d754kRm53h5gqrz6sFl6sxc4BVtE/g==}
217 | engines: {node: '>=6.9.0'}
218 | dependencies:
219 | '@babel/types': 7.23.0
220 | dev: true
221 |
222 | /@babel/helper-string-parser@7.22.5:
223 | resolution: {integrity: sha512-mM4COjgZox8U+JcXQwPijIZLElkgEpO5rsERVDJTc2qfCDfERyob6k5WegS14SX18IIjv+XD+GrqNumY5JRCDw==}
224 | engines: {node: '>=6.9.0'}
225 | dev: true
226 |
227 | /@babel/helper-validator-identifier@7.16.7:
228 | resolution: {integrity: sha512-hsEnFemeiW4D08A5gUAZxLBTXpZ39P+a+DGDsHw1yxqyQ/jzFEnxf5uTEGp+3bzAbNOxU1paTgYS4ECU/IgfDw==}
229 | engines: {node: '>=6.9.0'}
230 | dev: true
231 |
232 | /@babel/helper-validator-identifier@7.22.20:
233 | resolution: {integrity: sha512-Y4OZ+ytlatR8AI+8KZfKuL5urKp7qey08ha31L8b3BwewJAoJamTzyvxPR/5D+KkdJCGPq/+8TukHBlY10FX9A==}
234 | engines: {node: '>=6.9.0'}
235 | dev: true
236 |
237 | /@babel/helper-validator-option@7.16.7:
238 | resolution: {integrity: sha512-TRtenOuRUVo9oIQGPC5G9DgK4743cdxvtOw0weQNpZXaS16SCBi5MNjZF8vba3ETURjZpTbVn7Vvcf2eAwFozQ==}
239 | engines: {node: '>=6.9.0'}
240 | dev: true
241 |
242 | /@babel/helpers@7.17.9:
243 | resolution: {integrity: sha512-cPCt915ShDWUEzEp3+UNRktO2n6v49l5RSnG9M5pS24hA+2FAc5si+Pn1i4VVbQQ+jh+bIZhPFQOJOzbrOYY1Q==}
244 | engines: {node: '>=6.9.0'}
245 | dependencies:
246 | '@babel/template': 7.16.7
247 | '@babel/traverse': 7.23.2
248 | '@babel/types': 7.17.0
249 | transitivePeerDependencies:
250 | - supports-color
251 | dev: true
252 |
253 | /@babel/highlight@7.17.9:
254 | resolution: {integrity: sha512-J9PfEKCbFIv2X5bjTMiZu6Vf341N05QIY+d6FvVKynkG1S7G0j3I0QoRtWIrXhZ+/Nlb5Q0MzqL7TokEJ5BNHg==}
255 | engines: {node: '>=6.9.0'}
256 | dependencies:
257 | '@babel/helper-validator-identifier': 7.16.7
258 | chalk: 2.4.2
259 | js-tokens: 4.0.0
260 | dev: true
261 |
262 | /@babel/highlight@7.22.20:
263 | resolution: {integrity: sha512-dkdMCN3py0+ksCgYmGG8jKeGA/8Tk+gJwSYYlFGxG5lmhfKNoAy004YpLxpS1W2J8m/EK2Ew+yOs9pVRwO89mg==}
264 | engines: {node: '>=6.9.0'}
265 | dependencies:
266 | '@babel/helper-validator-identifier': 7.22.20
267 | chalk: 2.4.2
268 | js-tokens: 4.0.0
269 | dev: true
270 |
271 | /@babel/parser@7.17.9:
272 | resolution: {integrity: sha512-vqUSBLP8dQHFPdPi9bc5GK9vRkYHJ49fsZdtoJ8EQ8ibpwk5rPKfvNIwChB0KVXcIjcepEBBd2VHC5r9Gy8ueg==}
273 | engines: {node: '>=6.0.0'}
274 | hasBin: true
275 | dependencies:
276 | '@babel/types': 7.17.0
277 | dev: true
278 |
279 | /@babel/parser@7.23.0:
280 | resolution: {integrity: sha512-vvPKKdMemU85V9WE/l5wZEmImpCtLqbnTvqDS2U1fJ96KrxoW7KrXhNsNCblQlg8Ck4b85yxdTyelsMUgFUXiw==}
281 | engines: {node: '>=6.0.0'}
282 | hasBin: true
283 | dependencies:
284 | '@babel/types': 7.23.0
285 | dev: true
286 |
287 | /@babel/plugin-syntax-async-generators@7.8.4(@babel/core@7.17.9):
288 | resolution: {integrity: sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw==}
289 | peerDependencies:
290 | '@babel/core': ^7.0.0-0
291 | dependencies:
292 | '@babel/core': 7.17.9
293 | '@babel/helper-plugin-utils': 7.16.7
294 | dev: true
295 |
296 | /@babel/plugin-syntax-bigint@7.8.3(@babel/core@7.17.9):
297 | resolution: {integrity: sha512-wnTnFlG+YxQm3vDxpGE57Pj0srRU4sHE/mDkt1qv2YJJSeUAec2ma4WLUnUPeKjyrfntVwe/N6dCXpU+zL3Npg==}
298 | peerDependencies:
299 | '@babel/core': ^7.0.0-0
300 | dependencies:
301 | '@babel/core': 7.17.9
302 | '@babel/helper-plugin-utils': 7.16.7
303 | dev: true
304 |
305 | /@babel/plugin-syntax-class-properties@7.12.13(@babel/core@7.17.9):
306 | resolution: {integrity: sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA==}
307 | peerDependencies:
308 | '@babel/core': ^7.0.0-0
309 | dependencies:
310 | '@babel/core': 7.17.9
311 | '@babel/helper-plugin-utils': 7.16.7
312 | dev: true
313 |
314 | /@babel/plugin-syntax-import-meta@7.10.4(@babel/core@7.17.9):
315 | resolution: {integrity: sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g==}
316 | peerDependencies:
317 | '@babel/core': ^7.0.0-0
318 | dependencies:
319 | '@babel/core': 7.17.9
320 | '@babel/helper-plugin-utils': 7.16.7
321 | dev: true
322 |
323 | /@babel/plugin-syntax-json-strings@7.8.3(@babel/core@7.17.9):
324 | resolution: {integrity: sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==}
325 | peerDependencies:
326 | '@babel/core': ^7.0.0-0
327 | dependencies:
328 | '@babel/core': 7.17.9
329 | '@babel/helper-plugin-utils': 7.16.7
330 | dev: true
331 |
332 | /@babel/plugin-syntax-logical-assignment-operators@7.10.4(@babel/core@7.17.9):
333 | resolution: {integrity: sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig==}
334 | peerDependencies:
335 | '@babel/core': ^7.0.0-0
336 | dependencies:
337 | '@babel/core': 7.17.9
338 | '@babel/helper-plugin-utils': 7.16.7
339 | dev: true
340 |
341 | /@babel/plugin-syntax-nullish-coalescing-operator@7.8.3(@babel/core@7.17.9):
342 | resolution: {integrity: sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ==}
343 | peerDependencies:
344 | '@babel/core': ^7.0.0-0
345 | dependencies:
346 | '@babel/core': 7.17.9
347 | '@babel/helper-plugin-utils': 7.16.7
348 | dev: true
349 |
350 | /@babel/plugin-syntax-numeric-separator@7.10.4(@babel/core@7.17.9):
351 | resolution: {integrity: sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug==}
352 | peerDependencies:
353 | '@babel/core': ^7.0.0-0
354 | dependencies:
355 | '@babel/core': 7.17.9
356 | '@babel/helper-plugin-utils': 7.16.7
357 | dev: true
358 |
359 | /@babel/plugin-syntax-object-rest-spread@7.8.3(@babel/core@7.17.9):
360 | resolution: {integrity: sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==}
361 | peerDependencies:
362 | '@babel/core': ^7.0.0-0
363 | dependencies:
364 | '@babel/core': 7.17.9
365 | '@babel/helper-plugin-utils': 7.16.7
366 | dev: true
367 |
368 | /@babel/plugin-syntax-optional-catch-binding@7.8.3(@babel/core@7.17.9):
369 | resolution: {integrity: sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q==}
370 | peerDependencies:
371 | '@babel/core': ^7.0.0-0
372 | dependencies:
373 | '@babel/core': 7.17.9
374 | '@babel/helper-plugin-utils': 7.16.7
375 | dev: true
376 |
377 | /@babel/plugin-syntax-optional-chaining@7.8.3(@babel/core@7.17.9):
378 | resolution: {integrity: sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg==}
379 | peerDependencies:
380 | '@babel/core': ^7.0.0-0
381 | dependencies:
382 | '@babel/core': 7.17.9
383 | '@babel/helper-plugin-utils': 7.16.7
384 | dev: true
385 |
386 | /@babel/plugin-syntax-top-level-await@7.14.5(@babel/core@7.17.9):
387 | resolution: {integrity: sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw==}
388 | engines: {node: '>=6.9.0'}
389 | peerDependencies:
390 | '@babel/core': ^7.0.0-0
391 | dependencies:
392 | '@babel/core': 7.17.9
393 | '@babel/helper-plugin-utils': 7.16.7
394 | dev: true
395 |
396 | /@babel/plugin-syntax-typescript@7.16.7(@babel/core@7.17.9):
397 | resolution: {integrity: sha512-YhUIJHHGkqPgEcMYkPCKTyGUdoGKWtopIycQyjJH8OjvRgOYsXsaKehLVPScKJWAULPxMa4N1vCe6szREFlZ7A==}
398 | engines: {node: '>=6.9.0'}
399 | peerDependencies:
400 | '@babel/core': ^7.0.0-0
401 | dependencies:
402 | '@babel/core': 7.17.9
403 | '@babel/helper-plugin-utils': 7.16.7
404 | dev: true
405 |
406 | /@babel/runtime@7.17.9:
407 | resolution: {integrity: sha512-lSiBBvodq29uShpWGNbgFdKYNiFDo5/HIYsaCEY9ff4sb10x9jizo2+pRrSyF4jKZCXqgzuqBOQKbUm90gQwJg==}
408 | engines: {node: '>=6.9.0'}
409 | dependencies:
410 | regenerator-runtime: 0.13.9
411 | dev: true
412 |
413 | /@babel/template@7.16.7:
414 | resolution: {integrity: sha512-I8j/x8kHUrbYRTUxXrrMbfCa7jxkE7tZre39x3kjr9hvI82cK1FfqLygotcWN5kdPGWcLdWMHpSBavse5tWw3w==}
415 | engines: {node: '>=6.9.0'}
416 | dependencies:
417 | '@babel/code-frame': 7.16.7
418 | '@babel/parser': 7.17.9
419 | '@babel/types': 7.17.0
420 | dev: true
421 |
422 | /@babel/template@7.22.15:
423 | resolution: {integrity: sha512-QPErUVm4uyJa60rkI73qneDacvdvzxshT3kksGqlGWYdOTIUOwJ7RDUL8sGqslY1uXWSL6xMFKEXDS3ox2uF0w==}
424 | engines: {node: '>=6.9.0'}
425 | dependencies:
426 | '@babel/code-frame': 7.22.13
427 | '@babel/parser': 7.23.0
428 | '@babel/types': 7.23.0
429 | dev: true
430 |
431 | /@babel/traverse@7.23.2:
432 | resolution: {integrity: sha512-azpe59SQ48qG6nu2CzcMLbxUudtN+dOM9kDbUqGq3HXUJRlo7i8fvPoxQUzYgLZ4cMVmuZgm8vvBpNeRhd6XSw==}
433 | engines: {node: '>=6.9.0'}
434 | dependencies:
435 | '@babel/code-frame': 7.22.13
436 | '@babel/generator': 7.23.0
437 | '@babel/helper-environment-visitor': 7.22.20
438 | '@babel/helper-function-name': 7.23.0
439 | '@babel/helper-hoist-variables': 7.22.5
440 | '@babel/helper-split-export-declaration': 7.22.6
441 | '@babel/parser': 7.23.0
442 | '@babel/types': 7.23.0
443 | debug: 4.3.4
444 | globals: 11.12.0
445 | transitivePeerDependencies:
446 | - supports-color
447 | dev: true
448 |
449 | /@babel/types@7.17.0:
450 | resolution: {integrity: sha512-TmKSNO4D5rzhL5bjWFcVHHLETzfQ/AmbKpKPOSjlP0WoHZ6L911fgoOKY4Alp/emzG4cHJdyN49zpgkbXFEHHw==}
451 | engines: {node: '>=6.9.0'}
452 | dependencies:
453 | '@babel/helper-validator-identifier': 7.16.7
454 | to-fast-properties: 2.0.0
455 | dev: true
456 |
457 | /@babel/types@7.23.0:
458 | resolution: {integrity: sha512-0oIyUfKoI3mSqMvsxBdclDwxXKXAUA8v/apZbc+iSyARYou1o8ZGDxbUYyLFoW2arqS2jDGqJuZvv1d/io1axg==}
459 | engines: {node: '>=6.9.0'}
460 | dependencies:
461 | '@babel/helper-string-parser': 7.22.5
462 | '@babel/helper-validator-identifier': 7.22.20
463 | to-fast-properties: 2.0.0
464 | dev: true
465 |
466 | /@bcoe/v8-coverage@0.2.3:
467 | resolution: {integrity: sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw==}
468 | dev: true
469 |
470 | /@cspotcode/source-map-consumer@0.8.0:
471 | resolution: {integrity: sha512-41qniHzTU8yAGbCp04ohlmSrZf8bkf/iJsl3V0dRGsQN/5GFfx+LbCSsCpp2gqrqjTVg/K6O8ycoV35JIwAzAg==}
472 | engines: {node: '>= 12'}
473 | dev: true
474 |
475 | /@cspotcode/source-map-support@0.7.0:
476 | resolution: {integrity: sha512-X4xqRHqN8ACt2aHVe51OxeA2HjbcL4MqFqXkrmQszJ1NOUuUu5u6Vqx/0lZSVNku7velL5FC/s5uEAj1lsBMhA==}
477 | engines: {node: '>=12'}
478 | dependencies:
479 | '@cspotcode/source-map-consumer': 0.8.0
480 | dev: true
481 |
482 | /@istanbuljs/load-nyc-config@1.1.0:
483 | resolution: {integrity: sha512-VjeHSlIzpv/NyD3N0YuHfXOPDIixcA1q2ZV98wsMqcYlPmv2n3Yb2lYP9XMElnaFVXg5A7YLTeLu6V84uQDjmQ==}
484 | engines: {node: '>=8'}
485 | dependencies:
486 | camelcase: 5.3.1
487 | find-up: 4.1.0
488 | get-package-type: 0.1.0
489 | js-yaml: 3.14.1
490 | resolve-from: 5.0.0
491 | dev: true
492 |
493 | /@istanbuljs/schema@0.1.3:
494 | resolution: {integrity: sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA==}
495 | engines: {node: '>=8'}
496 | dev: true
497 |
498 | /@jest/console@27.5.1:
499 | resolution: {integrity: sha512-kZ/tNpS3NXn0mlXXXPNuDZnb4c0oZ20r4K5eemM2k30ZC3G0T02nXUvyhf5YdbXWHPEJLc9qGLxEZ216MdL+Zg==}
500 | engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0}
501 | dependencies:
502 | '@jest/types': 27.5.1
503 | '@types/node': 17.0.24
504 | chalk: 4.1.2
505 | jest-message-util: 27.5.1
506 | jest-util: 27.5.1
507 | slash: 3.0.0
508 | dev: true
509 |
510 | /@jest/core@27.5.1(ts-node@10.7.0):
511 | resolution: {integrity: sha512-AK6/UTrvQD0Cd24NSqmIA6rKsu0tKIxfiCducZvqxYdmMisOYAsdItspT+fQDQYARPf8XgjAFZi0ogW2agH5nQ==}
512 | engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0}
513 | peerDependencies:
514 | node-notifier: ^8.0.1 || ^9.0.0 || ^10.0.0
515 | peerDependenciesMeta:
516 | node-notifier:
517 | optional: true
518 | dependencies:
519 | '@jest/console': 27.5.1
520 | '@jest/reporters': 27.5.1
521 | '@jest/test-result': 27.5.1
522 | '@jest/transform': 27.5.1
523 | '@jest/types': 27.5.1
524 | '@types/node': 17.0.24
525 | ansi-escapes: 4.3.2
526 | chalk: 4.1.2
527 | emittery: 0.8.1
528 | exit: 0.1.2
529 | graceful-fs: 4.2.10
530 | jest-changed-files: 27.5.1
531 | jest-config: 27.5.1(ts-node@10.7.0)
532 | jest-haste-map: 27.5.1
533 | jest-message-util: 27.5.1
534 | jest-regex-util: 27.5.1
535 | jest-resolve: 27.5.1
536 | jest-resolve-dependencies: 27.5.1
537 | jest-runner: 27.5.1
538 | jest-runtime: 27.5.1
539 | jest-snapshot: 27.5.1
540 | jest-util: 27.5.1
541 | jest-validate: 27.5.1
542 | jest-watcher: 27.5.1
543 | micromatch: 4.0.5
544 | rimraf: 3.0.2
545 | slash: 3.0.0
546 | strip-ansi: 6.0.1
547 | transitivePeerDependencies:
548 | - bufferutil
549 | - canvas
550 | - supports-color
551 | - ts-node
552 | - utf-8-validate
553 | dev: true
554 |
555 | /@jest/environment@27.5.1:
556 | resolution: {integrity: sha512-/WQjhPJe3/ghaol/4Bq480JKXV/Rfw8nQdN7f41fM8VDHLcxKXou6QyXAh3EFr9/bVG3x74z1NWDkP87EiY8gA==}
557 | engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0}
558 | dependencies:
559 | '@jest/fake-timers': 27.5.1
560 | '@jest/types': 27.5.1
561 | '@types/node': 17.0.24
562 | jest-mock: 27.5.1
563 | dev: true
564 |
565 | /@jest/fake-timers@27.5.1:
566 | resolution: {integrity: sha512-/aPowoolwa07k7/oM3aASneNeBGCmGQsc3ugN4u6s4C/+s5M64MFo/+djTdiwcbQlRfFElGuDXWzaWj6QgKObQ==}
567 | engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0}
568 | dependencies:
569 | '@jest/types': 27.5.1
570 | '@sinonjs/fake-timers': 8.1.0
571 | '@types/node': 17.0.24
572 | jest-message-util: 27.5.1
573 | jest-mock: 27.5.1
574 | jest-util: 27.5.1
575 | dev: true
576 |
577 | /@jest/globals@27.5.1:
578 | resolution: {integrity: sha512-ZEJNB41OBQQgGzgyInAv0UUfDDj3upmHydjieSxFvTRuZElrx7tXg/uVQ5hYVEwiXs3+aMsAeEc9X7xiSKCm4Q==}
579 | engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0}
580 | dependencies:
581 | '@jest/environment': 27.5.1
582 | '@jest/types': 27.5.1
583 | expect: 27.5.1
584 | dev: true
585 |
586 | /@jest/reporters@27.5.1:
587 | resolution: {integrity: sha512-cPXh9hWIlVJMQkVk84aIvXuBB4uQQmFqZiacloFuGiP3ah1sbCxCosidXFDfqG8+6fO1oR2dTJTlsOy4VFmUfw==}
588 | engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0}
589 | peerDependencies:
590 | node-notifier: ^8.0.1 || ^9.0.0 || ^10.0.0
591 | peerDependenciesMeta:
592 | node-notifier:
593 | optional: true
594 | dependencies:
595 | '@bcoe/v8-coverage': 0.2.3
596 | '@jest/console': 27.5.1
597 | '@jest/test-result': 27.5.1
598 | '@jest/transform': 27.5.1
599 | '@jest/types': 27.5.1
600 | '@types/node': 17.0.24
601 | chalk: 4.1.2
602 | collect-v8-coverage: 1.0.1
603 | exit: 0.1.2
604 | glob: 7.2.0
605 | graceful-fs: 4.2.10
606 | istanbul-lib-coverage: 3.2.0
607 | istanbul-lib-instrument: 5.1.0
608 | istanbul-lib-report: 3.0.0
609 | istanbul-lib-source-maps: 4.0.1
610 | istanbul-reports: 3.1.4
611 | jest-haste-map: 27.5.1
612 | jest-resolve: 27.5.1
613 | jest-util: 27.5.1
614 | jest-worker: 27.5.1
615 | slash: 3.0.0
616 | source-map: 0.6.1
617 | string-length: 4.0.2
618 | terminal-link: 2.1.1
619 | v8-to-istanbul: 8.1.1
620 | transitivePeerDependencies:
621 | - supports-color
622 | dev: true
623 |
624 | /@jest/source-map@27.5.1:
625 | resolution: {integrity: sha512-y9NIHUYF3PJRlHk98NdC/N1gl88BL08aQQgu4k4ZopQkCw9t9cV8mtl3TV8b/YCB8XaVTFrmUTAJvjsntDireg==}
626 | engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0}
627 | dependencies:
628 | callsites: 3.1.0
629 | graceful-fs: 4.2.10
630 | source-map: 0.6.1
631 | dev: true
632 |
633 | /@jest/test-result@27.5.1:
634 | resolution: {integrity: sha512-EW35l2RYFUcUQxFJz5Cv5MTOxlJIQs4I7gxzi2zVU7PJhOwfYq1MdC5nhSmYjX1gmMmLPvB3sIaC+BkcHRBfag==}
635 | engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0}
636 | dependencies:
637 | '@jest/console': 27.5.1
638 | '@jest/types': 27.5.1
639 | '@types/istanbul-lib-coverage': 2.0.4
640 | collect-v8-coverage: 1.0.1
641 | dev: true
642 |
643 | /@jest/test-sequencer@27.5.1:
644 | resolution: {integrity: sha512-LCheJF7WB2+9JuCS7VB/EmGIdQuhtqjRNI9A43idHv3E4KltCTsPsLxvdaubFHSYwY/fNjMWjl6vNRhDiN7vpQ==}
645 | engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0}
646 | dependencies:
647 | '@jest/test-result': 27.5.1
648 | graceful-fs: 4.2.10
649 | jest-haste-map: 27.5.1
650 | jest-runtime: 27.5.1
651 | transitivePeerDependencies:
652 | - supports-color
653 | dev: true
654 |
655 | /@jest/transform@27.5.1:
656 | resolution: {integrity: sha512-ipON6WtYgl/1329g5AIJVbUuEh0wZVbdpGwC99Jw4LwuoBNS95MVphU6zOeD9pDkon+LLbFL7lOQRapbB8SCHw==}
657 | engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0}
658 | dependencies:
659 | '@babel/core': 7.17.9
660 | '@jest/types': 27.5.1
661 | babel-plugin-istanbul: 6.1.1
662 | chalk: 4.1.2
663 | convert-source-map: 1.8.0
664 | fast-json-stable-stringify: 2.1.0
665 | graceful-fs: 4.2.10
666 | jest-haste-map: 27.5.1
667 | jest-regex-util: 27.5.1
668 | jest-util: 27.5.1
669 | micromatch: 4.0.5
670 | pirates: 4.0.5
671 | slash: 3.0.0
672 | source-map: 0.6.1
673 | write-file-atomic: 3.0.3
674 | transitivePeerDependencies:
675 | - supports-color
676 | dev: true
677 |
678 | /@jest/types@27.5.1:
679 | resolution: {integrity: sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==}
680 | engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0}
681 | dependencies:
682 | '@types/istanbul-lib-coverage': 2.0.4
683 | '@types/istanbul-reports': 3.0.1
684 | '@types/node': 17.0.24
685 | '@types/yargs': 16.0.4
686 | chalk: 4.1.2
687 | dev: true
688 |
689 | /@jridgewell/gen-mapping@0.3.3:
690 | resolution: {integrity: sha512-HLhSWOLRi875zjjMG/r+Nv0oCW8umGb0BgEhyX3dDX3egwZtB8PqLnjz3yedt8R5StBrzcg4aBpnh8UA9D1BoQ==}
691 | engines: {node: '>=6.0.0'}
692 | dependencies:
693 | '@jridgewell/set-array': 1.1.2
694 | '@jridgewell/sourcemap-codec': 1.4.11
695 | '@jridgewell/trace-mapping': 0.3.20
696 | dev: true
697 |
698 | /@jridgewell/resolve-uri@3.0.5:
699 | resolution: {integrity: sha512-VPeQ7+wH0itvQxnG+lIzWgkysKIr3L9sslimFW55rHMdGu/qCQ5z5h9zq4gI8uBtqkpHhsF4Z/OwExufUCThew==}
700 | engines: {node: '>=6.0.0'}
701 | dev: true
702 |
703 | /@jridgewell/resolve-uri@3.1.1:
704 | resolution: {integrity: sha512-dSYZh7HhCDtCKm4QakX0xFpsRDqjjtZf/kjI/v3T3Nwt5r8/qz/M19F9ySyOqU94SXBmeG9ttTul+YnR4LOxFA==}
705 | engines: {node: '>=6.0.0'}
706 | dev: true
707 |
708 | /@jridgewell/set-array@1.1.2:
709 | resolution: {integrity: sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw==}
710 | engines: {node: '>=6.0.0'}
711 | dev: true
712 |
713 | /@jridgewell/sourcemap-codec@1.4.11:
714 | resolution: {integrity: sha512-Fg32GrJo61m+VqYSdRSjRXMjQ06j8YIYfcTqndLYVAaHmroZHLJZCydsWBOTDqXS2v+mjxohBWEMfg97GXmYQg==}
715 | dev: true
716 |
717 | /@jridgewell/sourcemap-codec@1.4.15:
718 | resolution: {integrity: sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==}
719 | dev: true
720 |
721 | /@jridgewell/trace-mapping@0.3.20:
722 | resolution: {integrity: sha512-R8LcPeWZol2zR8mmH3JeKQ6QRCFb7XgUhV9ZlGhHLGyg4wpPiPZNQOOWhFZhxKw8u//yTbNGI42Bx/3paXEQ+Q==}
723 | dependencies:
724 | '@jridgewell/resolve-uri': 3.1.1
725 | '@jridgewell/sourcemap-codec': 1.4.15
726 | dev: true
727 |
728 | /@jridgewell/trace-mapping@0.3.4:
729 | resolution: {integrity: sha512-vFv9ttIedivx0ux3QSjhgtCVjPZd5l46ZOMDSCwnH1yUO2e964gO8LZGyv2QkqcgR6TnBU1v+1IFqmeoG+0UJQ==}
730 | dependencies:
731 | '@jridgewell/resolve-uri': 3.0.5
732 | '@jridgewell/sourcemap-codec': 1.4.11
733 | dev: true
734 |
735 | /@sinonjs/commons@1.8.3:
736 | resolution: {integrity: sha512-xkNcLAn/wZaX14RPlwizcKicDk9G3F8m2nU3L7Ukm5zBgTwiT0wsoFAHx9Jq56fJA1z/7uKGtCRu16sOUCLIHQ==}
737 | dependencies:
738 | type-detect: 4.0.8
739 | dev: true
740 |
741 | /@sinonjs/fake-timers@8.1.0:
742 | resolution: {integrity: sha512-OAPJUAtgeINhh/TAlUID4QTs53Njm7xzddaVlEs/SXwgtiD1tW22zAB/W1wdqfrpmikgaWQ9Fw6Ws+hsiRm5Vg==}
743 | dependencies:
744 | '@sinonjs/commons': 1.8.3
745 | dev: true
746 |
747 | /@testing-library/react-hooks@8.0.0(@types/react@17.0.44)(react-dom@17.0.2)(react@17.0.2):
748 | resolution: {integrity: sha512-uZqcgtcUUtw7Z9N32W13qQhVAD+Xki2hxbTR461MKax8T6Jr8nsUvZB+vcBTkzY2nFvsUet434CsgF0ncW2yFw==}
749 | engines: {node: '>=12'}
750 | peerDependencies:
751 | '@types/react': ^16.9.0 || ^17.0.0
752 | react: ^16.9.0 || ^17.0.0
753 | react-dom: ^16.9.0 || ^17.0.0
754 | react-test-renderer: ^16.9.0 || ^17.0.0
755 | peerDependenciesMeta:
756 | '@types/react':
757 | optional: true
758 | react-dom:
759 | optional: true
760 | react-test-renderer:
761 | optional: true
762 | dependencies:
763 | '@babel/runtime': 7.17.9
764 | '@types/react': 17.0.44
765 | react: 17.0.2
766 | react-dom: 17.0.2(react@17.0.2)
767 | react-error-boundary: 3.1.4(react@17.0.2)
768 | dev: true
769 |
770 | /@tootallnate/once@1.1.2:
771 | resolution: {integrity: sha512-RbzJvlNzmRq5c3O09UipeuXno4tA1FE6ikOjxZK0tuxVv3412l64l5t1W5pj4+rJq9vpkm/kwiR07aZXnsKPxw==}
772 | engines: {node: '>= 6'}
773 | dev: true
774 |
775 | /@tsconfig/node10@1.0.8:
776 | resolution: {integrity: sha512-6XFfSQmMgq0CFLY1MslA/CPUfhIL919M1rMsa5lP2P097N2Wd1sSX0tx1u4olM16fLNhtHZpRhedZJphNJqmZg==}
777 | dev: true
778 |
779 | /@tsconfig/node12@1.0.9:
780 | resolution: {integrity: sha512-/yBMcem+fbvhSREH+s14YJi18sp7J9jpuhYByADT2rypfajMZZN4WQ6zBGgBKp53NKmqI36wFYDb3yaMPurITw==}
781 | dev: true
782 |
783 | /@tsconfig/node14@1.0.1:
784 | resolution: {integrity: sha512-509r2+yARFfHHE7T6Puu2jjkoycftovhXRqW328PDXTVGKihlb1P8Z9mMZH04ebyajfRY7dedfGynlrFHJUQCg==}
785 | dev: true
786 |
787 | /@tsconfig/node16@1.0.2:
788 | resolution: {integrity: sha512-eZxlbI8GZscaGS7kkc/trHTT5xgrjH3/1n2JDwusC9iahPKWMRvRjJSAN5mCXviuTGQ/lHnhvv8Q1YTpnfz9gA==}
789 | dev: true
790 |
791 | /@types/babel__core@7.1.19:
792 | resolution: {integrity: sha512-WEOTgRsbYkvA/KCsDwVEGkd7WAr1e3g31VHQ8zy5gul/V1qKullU/BU5I68X5v7V3GnB9eotmom4v5a5gjxorw==}
793 | dependencies:
794 | '@babel/parser': 7.17.9
795 | '@babel/types': 7.17.0
796 | '@types/babel__generator': 7.6.4
797 | '@types/babel__template': 7.4.1
798 | '@types/babel__traverse': 7.17.0
799 | dev: true
800 |
801 | /@types/babel__generator@7.6.4:
802 | resolution: {integrity: sha512-tFkciB9j2K755yrTALxD44McOrk+gfpIpvC3sxHjRawj6PfnQxrse4Clq5y/Rq+G3mrBurMax/lG8Qn2t9mSsg==}
803 | dependencies:
804 | '@babel/types': 7.17.0
805 | dev: true
806 |
807 | /@types/babel__template@7.4.1:
808 | resolution: {integrity: sha512-azBFKemX6kMg5Io+/rdGT0dkGreboUVR0Cdm3fz9QJWpaQGJRQXl7C+6hOTCZcMll7KFyEQpgbYI2lHdsS4U7g==}
809 | dependencies:
810 | '@babel/parser': 7.17.9
811 | '@babel/types': 7.17.0
812 | dev: true
813 |
814 | /@types/babel__traverse@7.17.0:
815 | resolution: {integrity: sha512-r8aveDbd+rzGP+ykSdF3oPuTVRWRfbBiHl0rVDM2yNEmSMXfkObQLV46b4RnCv3Lra51OlfnZhkkFaDl2MIRaA==}
816 | dependencies:
817 | '@babel/types': 7.17.0
818 | dev: true
819 |
820 | /@types/graceful-fs@4.1.5:
821 | resolution: {integrity: sha512-anKkLmZZ+xm4p8JWBf4hElkM4XR+EZeA2M9BAkkTldmcyDY4mbdIJnRghDJH3Ov5ooY7/UAoENtmdMSkaAd7Cw==}
822 | dependencies:
823 | '@types/node': 17.0.24
824 | dev: true
825 |
826 | /@types/istanbul-lib-coverage@2.0.4:
827 | resolution: {integrity: sha512-z/QT1XN4K4KYuslS23k62yDIDLwLFkzxOuMplDtObz0+y7VqJCaO2o+SPwHCvLFZh7xazvvoor2tA/hPz9ee7g==}
828 | dev: true
829 |
830 | /@types/istanbul-lib-report@3.0.0:
831 | resolution: {integrity: sha512-plGgXAPfVKFoYfa9NpYDAkseG+g6Jr294RqeqcqDixSbU34MZVJRi/P+7Y8GDpzkEwLaGZZOpKIEmeVZNtKsrg==}
832 | dependencies:
833 | '@types/istanbul-lib-coverage': 2.0.4
834 | dev: true
835 |
836 | /@types/istanbul-reports@3.0.1:
837 | resolution: {integrity: sha512-c3mAZEuK0lvBp8tmuL74XRKn1+y2dcwOUpH7x4WrF6gk1GIgiluDRgMYQtw2OFcBvAJWlt6ASU3tSqxp0Uu0Aw==}
838 | dependencies:
839 | '@types/istanbul-lib-report': 3.0.0
840 | dev: true
841 |
842 | /@types/jest@27.4.1:
843 | resolution: {integrity: sha512-23iPJADSmicDVrWk+HT58LMJtzLAnB2AgIzplQuq/bSrGaxCrlvRFjGbXmamnnk/mAmCdLStiGqggu28ocUyiw==}
844 | dependencies:
845 | jest-matcher-utils: 27.5.1
846 | pretty-format: 27.5.1
847 | dev: true
848 |
849 | /@types/node@17.0.24:
850 | resolution: {integrity: sha512-aveCYRQbgTH9Pssp1voEP7HiuWlD2jW2BO56w+bVrJn04i61yh6mRfoKO6hEYQD9vF+W8Chkwc6j1M36uPkx4g==}
851 | dev: true
852 |
853 | /@types/prettier@2.6.0:
854 | resolution: {integrity: sha512-G/AdOadiZhnJp0jXCaBQU449W2h716OW/EoXeYkCytxKL06X1WCXB4DZpp8TpZ8eyIJVS1cw4lrlkkSYU21cDw==}
855 | dev: true
856 |
857 | /@types/prop-types@15.7.5:
858 | resolution: {integrity: sha512-JCB8C6SnDoQf0cNycqd/35A7MjcnK+ZTqE7judS6o7utxUCg6imJg3QK2qzHKszlTjcj2cn+NwMB2i96ubpj7w==}
859 | dev: true
860 |
861 | /@types/react@17.0.44:
862 | resolution: {integrity: sha512-Ye0nlw09GeMp2Suh8qoOv0odfgCoowfM/9MG6WeRD60Gq9wS90bdkdRtYbRkNhXOpG4H+YXGvj4wOWhAC0LJ1g==}
863 | dependencies:
864 | '@types/prop-types': 15.7.5
865 | '@types/scheduler': 0.16.2
866 | csstype: 3.0.11
867 | dev: true
868 |
869 | /@types/scheduler@0.16.2:
870 | resolution: {integrity: sha512-hppQEBDmlwhFAXKJX2KnWLYu5yMfi91yazPb2l+lbJiwW+wdo1gNeRA+3RgNSO39WYX2euey41KEwnqesU2Jew==}
871 | dev: true
872 |
873 | /@types/shallowequal@1.1.1:
874 | resolution: {integrity: sha512-Lhni3aX80zbpdxRuWhnuYPm8j8UQaa571lHP/xI4W+7BAFhSIhRReXnqjEgT/XzPoXZTJkCqstFMJ8CZTK6IlQ==}
875 | dev: true
876 |
877 | /@types/stack-utils@2.0.1:
878 | resolution: {integrity: sha512-Hl219/BT5fLAaz6NDkSuhzasy49dwQS/DSdu4MdggFB8zcXv7vflBI3xp7FEmkmdDkBUI2bPUNeMttp2knYdxw==}
879 | dev: true
880 |
881 | /@types/use-sync-external-store@0.0.3:
882 | resolution: {integrity: sha512-EwmlvuaxPNej9+T4v5AuBPJa2x2UOJVdjCtDHgcDqitUeOtjnJKJ+apYjVcAoBEMjKW1VVFGZLUb5+qqa09XFA==}
883 | dev: true
884 |
885 | /@types/yargs-parser@21.0.0:
886 | resolution: {integrity: sha512-iO9ZQHkZxHn4mSakYV0vFHAVDyEOIJQrV2uZ06HxEPcx+mt8swXoZHIbaaJ2crJYFfErySgktuTZ3BeLz+XmFA==}
887 | dev: true
888 |
889 | /@types/yargs@16.0.4:
890 | resolution: {integrity: sha512-T8Yc9wt/5LbJyCaLiHPReJa0kApcIgJ7Bn735GjItUfh08Z1pJvu8QZqb9s+mMvKV6WUQRV7K2R46YbjMXTTJw==}
891 | dependencies:
892 | '@types/yargs-parser': 21.0.0
893 | dev: true
894 |
895 | /abab@2.0.5:
896 | resolution: {integrity: sha512-9IK9EadsbHo6jLWIpxpR6pL0sazTXV6+SQv25ZB+F7Bj9mJNaOc4nCRabwd5M/JwmUa8idz6Eci6eKfJryPs6Q==}
897 | dev: true
898 |
899 | /acorn-globals@4.3.4:
900 | resolution: {integrity: sha512-clfQEh21R+D0leSbUdWf3OcfqyaCSAQ8Ryq00bofSekfr9W8u1jyYZo6ir0xu9Gtcf7BjcHJpnbZH7JOCpP60A==}
901 | dependencies:
902 | acorn: 6.4.2
903 | acorn-walk: 6.2.0
904 | dev: true
905 |
906 | /acorn-globals@6.0.0:
907 | resolution: {integrity: sha512-ZQl7LOWaF5ePqqcX4hLuv/bLXYQNfNWw2c0/yX/TsPRKamzHcTGQnlCjHT3TsmkOUVEPS3crCxiPfdzE/Trlhg==}
908 | dependencies:
909 | acorn: 7.4.1
910 | acorn-walk: 7.2.0
911 | dev: true
912 |
913 | /acorn-walk@6.2.0:
914 | resolution: {integrity: sha512-7evsyfH1cLOCdAzZAd43Cic04yKydNx0cF+7tiA19p1XnLLPU4dpCQOqpjqwokFe//vS0QqfqqjCS2JkiIs0cA==}
915 | engines: {node: '>=0.4.0'}
916 | dev: true
917 |
918 | /acorn-walk@7.2.0:
919 | resolution: {integrity: sha512-OPdCF6GsMIP+Az+aWfAAOEt2/+iVDKE7oy6lJ098aoe59oAmK76qV6Gw60SbZ8jHuG2wH058GF4pLFbYamYrVA==}
920 | engines: {node: '>=0.4.0'}
921 | dev: true
922 |
923 | /acorn-walk@8.2.0:
924 | resolution: {integrity: sha512-k+iyHEuPgSw6SbuDpGQM+06HQUa04DZ3o+F6CSzXMvvI5KMvnaEqXe+YVe555R9nn6GPt404fos4wcgpw12SDA==}
925 | engines: {node: '>=0.4.0'}
926 | dev: true
927 |
928 | /acorn@6.4.2:
929 | resolution: {integrity: sha512-XtGIhXwF8YM8bJhGxG5kXgjkEuNGLTkoYqVE+KMR+aspr4KGYmKYg7yUe3KghyQ9yheNwLnjmzh/7+gfDBmHCQ==}
930 | engines: {node: '>=0.4.0'}
931 | hasBin: true
932 | dev: true
933 |
934 | /acorn@7.4.1:
935 | resolution: {integrity: sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==}
936 | engines: {node: '>=0.4.0'}
937 | hasBin: true
938 | dev: true
939 |
940 | /acorn@8.7.0:
941 | resolution: {integrity: sha512-V/LGr1APy+PXIwKebEWrkZPwoeoF+w1jiOBUmuxuiUIaOHtob8Qc9BTrYo7VuI5fR8tqsy+buA2WFooR5olqvQ==}
942 | engines: {node: '>=0.4.0'}
943 | hasBin: true
944 | dev: true
945 |
946 | /agent-base@6.0.2:
947 | resolution: {integrity: sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==}
948 | engines: {node: '>= 6.0.0'}
949 | dependencies:
950 | debug: 4.3.4
951 | transitivePeerDependencies:
952 | - supports-color
953 | dev: true
954 |
955 | /ajv@6.12.6:
956 | resolution: {integrity: sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==}
957 | dependencies:
958 | fast-deep-equal: 3.1.3
959 | fast-json-stable-stringify: 2.1.0
960 | json-schema-traverse: 0.4.1
961 | uri-js: 4.4.1
962 | dev: true
963 |
964 | /ansi-escapes@4.3.2:
965 | resolution: {integrity: sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==}
966 | engines: {node: '>=8'}
967 | dependencies:
968 | type-fest: 0.21.3
969 | dev: true
970 |
971 | /ansi-regex@5.0.1:
972 | resolution: {integrity: sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==}
973 | engines: {node: '>=8'}
974 | dev: true
975 |
976 | /ansi-styles@3.2.1:
977 | resolution: {integrity: sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==}
978 | engines: {node: '>=4'}
979 | dependencies:
980 | color-convert: 1.9.3
981 | dev: true
982 |
983 | /ansi-styles@4.3.0:
984 | resolution: {integrity: sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==}
985 | engines: {node: '>=8'}
986 | dependencies:
987 | color-convert: 2.0.1
988 | dev: true
989 |
990 | /ansi-styles@5.2.0:
991 | resolution: {integrity: sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==}
992 | engines: {node: '>=10'}
993 | dev: true
994 |
995 | /anymatch@3.1.2:
996 | resolution: {integrity: sha512-P43ePfOAIupkguHUycrc4qJ9kz8ZiuOUijaETwX7THt0Y/GNK7v0aa8rY816xWjZ7rJdA5XdMcpVFTKMq+RvWg==}
997 | engines: {node: '>= 8'}
998 | dependencies:
999 | normalize-path: 3.0.0
1000 | picomatch: 2.3.1
1001 | dev: true
1002 |
1003 | /arg@4.1.3:
1004 | resolution: {integrity: sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA==}
1005 | dev: true
1006 |
1007 | /argparse@1.0.10:
1008 | resolution: {integrity: sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==}
1009 | dependencies:
1010 | sprintf-js: 1.0.3
1011 | dev: true
1012 |
1013 | /array-equal@1.0.0:
1014 | resolution: {integrity: sha1-jCpe8kcv2ep0KwTHenUJO6J1fJM=}
1015 | dev: true
1016 |
1017 | /asn1@0.2.4:
1018 | resolution: {integrity: sha512-jxwzQpLQjSmWXgwaCZE9Nz+glAG01yF1QnWgbhGwHI5A6FRIEY6IVqtHhIepHqI7/kyEyQEagBC5mBEFlIYvdg==}
1019 | dependencies:
1020 | safer-buffer: 2.1.2
1021 | dev: true
1022 |
1023 | /assert-plus@1.0.0:
1024 | resolution: {integrity: sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=}
1025 | engines: {node: '>=0.8'}
1026 | dev: true
1027 |
1028 | /async-limiter@1.0.1:
1029 | resolution: {integrity: sha512-csOlWGAcRFJaI6m+F2WKdnMKr4HhdhFVBk0H/QbJFMCr+uO2kwohwXQPxw/9OCxp05r5ghVBFSyioixx3gfkNQ==}
1030 | dev: true
1031 |
1032 | /asynckit@0.4.0:
1033 | resolution: {integrity: sha1-x57Zf380y48robyXkLzDZkdLS3k=}
1034 | dev: true
1035 |
1036 | /aws-sign2@0.7.0:
1037 | resolution: {integrity: sha1-tG6JCTSpWR8tL2+G1+ap8bP+dqg=}
1038 | dev: true
1039 |
1040 | /aws4@1.11.0:
1041 | resolution: {integrity: sha512-xh1Rl34h6Fi1DC2WWKfxUTVqRsNnr6LsKz2+hfwDxQJWmrx8+c7ylaqBMcHfl1U1r2dsifOvKX3LQuLNZ+XSvA==}
1042 | dev: true
1043 |
1044 | /babel-jest@27.5.1(@babel/core@7.17.9):
1045 | resolution: {integrity: sha512-cdQ5dXjGRd0IBRATiQ4mZGlGlRE8kJpjPOixdNRdT+m3UcNqmYWN6rK6nvtXYfY3D76cb8s/O1Ss8ea24PIwcg==}
1046 | engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0}
1047 | peerDependencies:
1048 | '@babel/core': ^7.8.0
1049 | dependencies:
1050 | '@babel/core': 7.17.9
1051 | '@jest/transform': 27.5.1
1052 | '@jest/types': 27.5.1
1053 | '@types/babel__core': 7.1.19
1054 | babel-plugin-istanbul: 6.1.1
1055 | babel-preset-jest: 27.5.1(@babel/core@7.17.9)
1056 | chalk: 4.1.2
1057 | graceful-fs: 4.2.10
1058 | slash: 3.0.0
1059 | transitivePeerDependencies:
1060 | - supports-color
1061 | dev: true
1062 |
1063 | /babel-plugin-istanbul@6.1.1:
1064 | resolution: {integrity: sha512-Y1IQok9821cC9onCx5otgFfRm7Lm+I+wwxOx738M/WLPZ9Q42m4IG5W0FNX8WLL2gYMZo3JkuXIH2DOpWM+qwA==}
1065 | engines: {node: '>=8'}
1066 | dependencies:
1067 | '@babel/helper-plugin-utils': 7.16.7
1068 | '@istanbuljs/load-nyc-config': 1.1.0
1069 | '@istanbuljs/schema': 0.1.3
1070 | istanbul-lib-instrument: 5.1.0
1071 | test-exclude: 6.0.0
1072 | transitivePeerDependencies:
1073 | - supports-color
1074 | dev: true
1075 |
1076 | /babel-plugin-jest-hoist@27.5.1:
1077 | resolution: {integrity: sha512-50wCwD5EMNW4aRpOwtqzyZHIewTYNxLA4nhB+09d8BIssfNfzBRhkBIHiaPv1Si226TQSvp8gxAJm2iY2qs2hQ==}
1078 | engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0}
1079 | dependencies:
1080 | '@babel/template': 7.16.7
1081 | '@babel/types': 7.17.0
1082 | '@types/babel__core': 7.1.19
1083 | '@types/babel__traverse': 7.17.0
1084 | dev: true
1085 |
1086 | /babel-preset-current-node-syntax@1.0.1(@babel/core@7.17.9):
1087 | resolution: {integrity: sha512-M7LQ0bxarkxQoN+vz5aJPsLBn77n8QgTFmo8WK0/44auK2xlCXrYcUxHFxgU7qW5Yzw/CjmLRK2uJzaCd7LvqQ==}
1088 | peerDependencies:
1089 | '@babel/core': ^7.0.0
1090 | dependencies:
1091 | '@babel/core': 7.17.9
1092 | '@babel/plugin-syntax-async-generators': 7.8.4(@babel/core@7.17.9)
1093 | '@babel/plugin-syntax-bigint': 7.8.3(@babel/core@7.17.9)
1094 | '@babel/plugin-syntax-class-properties': 7.12.13(@babel/core@7.17.9)
1095 | '@babel/plugin-syntax-import-meta': 7.10.4(@babel/core@7.17.9)
1096 | '@babel/plugin-syntax-json-strings': 7.8.3(@babel/core@7.17.9)
1097 | '@babel/plugin-syntax-logical-assignment-operators': 7.10.4(@babel/core@7.17.9)
1098 | '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3(@babel/core@7.17.9)
1099 | '@babel/plugin-syntax-numeric-separator': 7.10.4(@babel/core@7.17.9)
1100 | '@babel/plugin-syntax-object-rest-spread': 7.8.3(@babel/core@7.17.9)
1101 | '@babel/plugin-syntax-optional-catch-binding': 7.8.3(@babel/core@7.17.9)
1102 | '@babel/plugin-syntax-optional-chaining': 7.8.3(@babel/core@7.17.9)
1103 | '@babel/plugin-syntax-top-level-await': 7.14.5(@babel/core@7.17.9)
1104 | dev: true
1105 |
1106 | /babel-preset-jest@27.5.1(@babel/core@7.17.9):
1107 | resolution: {integrity: sha512-Nptf2FzlPCWYuJg41HBqXVT8ym6bXOevuCTbhxlUpjwtysGaIWFvDEjp4y+G7fl13FgOdjs7P/DmErqH7da0Ag==}
1108 | engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0}
1109 | peerDependencies:
1110 | '@babel/core': ^7.0.0
1111 | dependencies:
1112 | '@babel/core': 7.17.9
1113 | babel-plugin-jest-hoist: 27.5.1
1114 | babel-preset-current-node-syntax: 1.0.1(@babel/core@7.17.9)
1115 | dev: true
1116 |
1117 | /balanced-match@1.0.2:
1118 | resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==}
1119 | dev: true
1120 |
1121 | /bcrypt-pbkdf@1.0.2:
1122 | resolution: {integrity: sha1-pDAdOJtqQ/m2f/PKEaP2Y342Dp4=}
1123 | dependencies:
1124 | tweetnacl: 0.14.5
1125 | dev: true
1126 |
1127 | /brace-expansion@1.1.11:
1128 | resolution: {integrity: sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==}
1129 | dependencies:
1130 | balanced-match: 1.0.2
1131 | concat-map: 0.0.1
1132 | dev: true
1133 |
1134 | /braces@3.0.2:
1135 | resolution: {integrity: sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==}
1136 | engines: {node: '>=8'}
1137 | dependencies:
1138 | fill-range: 7.0.1
1139 | dev: true
1140 |
1141 | /browser-env@3.3.0:
1142 | resolution: {integrity: sha512-XO+rbi2f9DtuoYgnN/Um80Qz/m033C3fKdUxKbbNs+jCshezRENMlG+QGT9qZyZE4b/KYTwUu6RNMCavGhPdEQ==}
1143 | engines: {node: '>=4'}
1144 | dependencies:
1145 | window: 4.2.6
1146 | transitivePeerDependencies:
1147 | - bufferutil
1148 | - utf-8-validate
1149 | dev: true
1150 |
1151 | /browser-process-hrtime@1.0.0:
1152 | resolution: {integrity: sha512-9o5UecI3GhkpM6DrXr69PblIuWxPKk9Y0jHBRhdocZ2y7YECBFCsHm79Pr3OyR2AvjhDkabFJaDJMYRazHgsow==}
1153 | dev: true
1154 |
1155 | /browserslist@4.20.2:
1156 | resolution: {integrity: sha512-CQOBCqp/9pDvDbx3xfMi+86pr4KXIf2FDkTTdeuYw8OxS9t898LA1Khq57gtufFILXpfgsSx5woNgsBgvGjpsA==}
1157 | engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7}
1158 | hasBin: true
1159 | dependencies:
1160 | caniuse-lite: 1.0.30001332
1161 | electron-to-chromium: 1.4.110
1162 | escalade: 3.1.1
1163 | node-releases: 2.0.3
1164 | picocolors: 1.0.0
1165 | dev: true
1166 |
1167 | /bs-logger@0.2.6:
1168 | resolution: {integrity: sha512-pd8DCoxmbgc7hyPKOvxtqNcjYoOsABPQdcCUjGp3d42VR2CX1ORhk2A87oqqu5R1kk+76nsxZupkmyd+MVtCog==}
1169 | engines: {node: '>= 6'}
1170 | dependencies:
1171 | fast-json-stable-stringify: 2.1.0
1172 | dev: true
1173 |
1174 | /bser@2.1.1:
1175 | resolution: {integrity: sha512-gQxTNE/GAfIIrmHLUE3oJyp5FO6HRBfhjnw4/wMmA63ZGDJnWBmgY/lyQBpnDUkGmAhbSe39tx2d/iTOAfglwQ==}
1176 | dependencies:
1177 | node-int64: 0.4.0
1178 | dev: true
1179 |
1180 | /buffer-from@1.1.2:
1181 | resolution: {integrity: sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==}
1182 | dev: true
1183 |
1184 | /callsites@3.1.0:
1185 | resolution: {integrity: sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==}
1186 | engines: {node: '>=6'}
1187 | dev: true
1188 |
1189 | /camelcase@5.3.1:
1190 | resolution: {integrity: sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==}
1191 | engines: {node: '>=6'}
1192 | dev: true
1193 |
1194 | /camelcase@6.3.0:
1195 | resolution: {integrity: sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==}
1196 | engines: {node: '>=10'}
1197 | dev: true
1198 |
1199 | /caniuse-lite@1.0.30001332:
1200 | resolution: {integrity: sha512-10T30NYOEQtN6C11YGg411yebhvpnC6Z102+B95eAsN0oB6KUs01ivE8u+G6FMIRtIrVlYXhL+LUwQ3/hXwDWw==}
1201 | dev: true
1202 |
1203 | /caseless@0.12.0:
1204 | resolution: {integrity: sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw=}
1205 | dev: true
1206 |
1207 | /chalk@2.4.2:
1208 | resolution: {integrity: sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==}
1209 | engines: {node: '>=4'}
1210 | dependencies:
1211 | ansi-styles: 3.2.1
1212 | escape-string-regexp: 1.0.5
1213 | supports-color: 5.5.0
1214 | dev: true
1215 |
1216 | /chalk@4.1.2:
1217 | resolution: {integrity: sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==}
1218 | engines: {node: '>=10'}
1219 | dependencies:
1220 | ansi-styles: 4.3.0
1221 | supports-color: 7.2.0
1222 | dev: true
1223 |
1224 | /char-regex@1.0.2:
1225 | resolution: {integrity: sha512-kWWXztvZ5SBQV+eRgKFeh8q5sLuZY2+8WUIzlxWVTg+oGwY14qylx1KbKzHd8P6ZYkAg0xyIDU9JMHhyJMZ1jw==}
1226 | engines: {node: '>=10'}
1227 | dev: true
1228 |
1229 | /ci-info@3.3.0:
1230 | resolution: {integrity: sha512-riT/3vI5YpVH6/qomlDnJow6TBee2PBKSEpx3O32EGPYbWGIRsIlGRms3Sm74wYE1JMo8RnO04Hb12+v1J5ICw==}
1231 | dev: true
1232 |
1233 | /cjs-module-lexer@1.2.2:
1234 | resolution: {integrity: sha512-cOU9usZw8/dXIXKtwa8pM0OTJQuJkxMN6w30csNRUerHfeQ5R6U3kkU/FtJeIf3M202OHfY2U8ccInBG7/xogA==}
1235 | dev: true
1236 |
1237 | /cliui@7.0.4:
1238 | resolution: {integrity: sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==}
1239 | dependencies:
1240 | string-width: 4.2.3
1241 | strip-ansi: 6.0.1
1242 | wrap-ansi: 7.0.0
1243 | dev: true
1244 |
1245 | /co@4.6.0:
1246 | resolution: {integrity: sha1-bqa989hTrlTMuOR7+gvz+QMfsYQ=}
1247 | engines: {iojs: '>= 1.0.0', node: '>= 0.12.0'}
1248 | dev: true
1249 |
1250 | /collect-v8-coverage@1.0.1:
1251 | resolution: {integrity: sha512-iBPtljfCNcTKNAto0KEtDfZ3qzjJvqE3aTGZsbhjSBlorqpXJlaWWtPO35D+ZImoC3KWejX64o+yPGxhWSTzfg==}
1252 | dev: true
1253 |
1254 | /color-convert@1.9.3:
1255 | resolution: {integrity: sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==}
1256 | dependencies:
1257 | color-name: 1.1.3
1258 | dev: true
1259 |
1260 | /color-convert@2.0.1:
1261 | resolution: {integrity: sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==}
1262 | engines: {node: '>=7.0.0'}
1263 | dependencies:
1264 | color-name: 1.1.4
1265 | dev: true
1266 |
1267 | /color-name@1.1.3:
1268 | resolution: {integrity: sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==}
1269 | dev: true
1270 |
1271 | /color-name@1.1.4:
1272 | resolution: {integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==}
1273 | dev: true
1274 |
1275 | /combined-stream@1.0.8:
1276 | resolution: {integrity: sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==}
1277 | engines: {node: '>= 0.8'}
1278 | dependencies:
1279 | delayed-stream: 1.0.0
1280 | dev: true
1281 |
1282 | /concat-map@0.0.1:
1283 | resolution: {integrity: sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=}
1284 | dev: true
1285 |
1286 | /convert-source-map@1.8.0:
1287 | resolution: {integrity: sha512-+OQdjP49zViI/6i7nIJpA8rAl4sV/JdPfU9nZs3VqOwGIgizICvuN2ru6fMd+4llL0tar18UYJXfZ/TWtmhUjA==}
1288 | dependencies:
1289 | safe-buffer: 5.1.2
1290 | dev: true
1291 |
1292 | /core-util-is@1.0.2:
1293 | resolution: {integrity: sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=}
1294 | dev: true
1295 |
1296 | /create-require@1.1.1:
1297 | resolution: {integrity: sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ==}
1298 | dev: true
1299 |
1300 | /cross-spawn@7.0.3:
1301 | resolution: {integrity: sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==}
1302 | engines: {node: '>= 8'}
1303 | dependencies:
1304 | path-key: 3.1.1
1305 | shebang-command: 2.0.0
1306 | which: 2.0.2
1307 | dev: true
1308 |
1309 | /cssom@0.3.8:
1310 | resolution: {integrity: sha512-b0tGHbfegbhPJpxpiBPU2sCkigAqtM9O121le6bbOlgyV+NyGyCmVfJ6QW9eRjz8CpNfWEOYBIMIGRYkLwsIYg==}
1311 | dev: true
1312 |
1313 | /cssom@0.4.4:
1314 | resolution: {integrity: sha512-p3pvU7r1MyyqbTk+WbNJIgJjG2VmTIaB10rI93LzVPrmDJKkzKYMtxxyAvQXR/NS6otuzveI7+7BBq3SjBS2mw==}
1315 | dev: true
1316 |
1317 | /cssstyle@1.4.0:
1318 | resolution: {integrity: sha512-GBrLZYZ4X4x6/QEoBnIrqb8B/f5l4+8me2dkom/j1Gtbxy0kBv6OGzKuAsGM75bkGwGAFkt56Iwg28S3XTZgSA==}
1319 | dependencies:
1320 | cssom: 0.3.8
1321 | dev: true
1322 |
1323 | /cssstyle@2.3.0:
1324 | resolution: {integrity: sha512-AZL67abkUzIuvcHqk7c09cezpGNcxUxU4Ioi/05xHk4DQeTkWmGYftIE6ctU6AEt+Gn4n1lDStOtj7FKycP71A==}
1325 | engines: {node: '>=8'}
1326 | dependencies:
1327 | cssom: 0.3.8
1328 | dev: true
1329 |
1330 | /csstype@3.0.11:
1331 | resolution: {integrity: sha512-sa6P2wJ+CAbgyy4KFssIb/JNMLxFvKF1pCYCSXS8ZMuqZnMsrxqI2E5sPyoTpxoPU/gVZMzr2zjOfg8GIZOMsw==}
1332 | dev: true
1333 |
1334 | /dashdash@1.14.1:
1335 | resolution: {integrity: sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA=}
1336 | engines: {node: '>=0.10'}
1337 | dependencies:
1338 | assert-plus: 1.0.0
1339 | dev: true
1340 |
1341 | /data-urls@1.1.0:
1342 | resolution: {integrity: sha512-YTWYI9se1P55u58gL5GkQHW4P6VJBJ5iBT+B5a7i2Tjadhv52paJG0qHX4A0OR6/t52odI64KP2YvFpkDOi3eQ==}
1343 | dependencies:
1344 | abab: 2.0.5
1345 | whatwg-mimetype: 2.3.0
1346 | whatwg-url: 7.1.0
1347 | dev: true
1348 |
1349 | /data-urls@2.0.0:
1350 | resolution: {integrity: sha512-X5eWTSXO/BJmpdIKCRuKUgSCgAN0OwliVK3yPKbwIWU1Tdw5BRajxlzMidvh+gwko9AfQ9zIj52pzF91Q3YAvQ==}
1351 | engines: {node: '>=10'}
1352 | dependencies:
1353 | abab: 2.0.5
1354 | whatwg-mimetype: 2.3.0
1355 | whatwg-url: 8.7.0
1356 | dev: true
1357 |
1358 | /debug@4.3.4:
1359 | resolution: {integrity: sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==}
1360 | engines: {node: '>=6.0'}
1361 | peerDependencies:
1362 | supports-color: '*'
1363 | peerDependenciesMeta:
1364 | supports-color:
1365 | optional: true
1366 | dependencies:
1367 | ms: 2.1.2
1368 | dev: true
1369 |
1370 | /decimal.js@10.3.1:
1371 | resolution: {integrity: sha512-V0pfhfr8suzyPGOx3nmq4aHqabehUZn6Ch9kyFpV79TGDTWFmHqUqXdabR7QHqxzrYolF4+tVmJhUG4OURg5dQ==}
1372 | dev: true
1373 |
1374 | /dedent@0.7.0:
1375 | resolution: {integrity: sha1-JJXduvbrh0q7Dhvp3yLS5aVEMmw=}
1376 | dev: true
1377 |
1378 | /deep-is@0.1.4:
1379 | resolution: {integrity: sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==}
1380 | dev: true
1381 |
1382 | /deepmerge@4.2.2:
1383 | resolution: {integrity: sha512-FJ3UgI4gIl+PHZm53knsuSFpE+nESMr7M4v9QcgB7S63Kj/6WqMiFQJpBBYz1Pt+66bZpP3Q7Lye0Oo9MPKEdg==}
1384 | engines: {node: '>=0.10.0'}
1385 | dev: true
1386 |
1387 | /delayed-stream@1.0.0:
1388 | resolution: {integrity: sha1-3zrhmayt+31ECqrgsp4icrJOxhk=}
1389 | engines: {node: '>=0.4.0'}
1390 | dev: true
1391 |
1392 | /detect-newline@3.1.0:
1393 | resolution: {integrity: sha512-TLz+x/vEXm/Y7P7wn1EJFNLxYpUD4TgMosxY6fAVJUnJMbupHBOncxyWUG9OpTaH9EBD7uFI5LfEgmMOc54DsA==}
1394 | engines: {node: '>=8'}
1395 | dev: true
1396 |
1397 | /diff-sequences@27.5.1:
1398 | resolution: {integrity: sha512-k1gCAXAsNgLwEL+Y8Wvl+M6oEFj5bgazfZULpS5CneoPPXRaCCW7dm+q21Ky2VEE5X+VeRDBVg1Pcvvsr4TtNQ==}
1399 | engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0}
1400 | dev: true
1401 |
1402 | /diff@4.0.2:
1403 | resolution: {integrity: sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A==}
1404 | engines: {node: '>=0.3.1'}
1405 | dev: true
1406 |
1407 | /domexception@1.0.1:
1408 | resolution: {integrity: sha512-raigMkn7CJNNo6Ihro1fzG7wr3fHuYVytzquZKX5n0yizGsTcYgzdIUwj1X9pK0VvjeihV+XiclP+DjwbsSKug==}
1409 | dependencies:
1410 | webidl-conversions: 4.0.2
1411 | dev: true
1412 |
1413 | /domexception@2.0.1:
1414 | resolution: {integrity: sha512-yxJ2mFy/sibVQlu5qHjOkf9J3K6zgmCxgJ94u2EdvDOV09H+32LtRswEcUsmUWN72pVLOEnTSRaIVVzVQgS0dg==}
1415 | engines: {node: '>=8'}
1416 | dependencies:
1417 | webidl-conversions: 5.0.0
1418 | dev: true
1419 |
1420 | /ecc-jsbn@0.1.2:
1421 | resolution: {integrity: sha1-OoOpBOVDUyh4dMVkt1SThoSamMk=}
1422 | dependencies:
1423 | jsbn: 0.1.1
1424 | safer-buffer: 2.1.2
1425 | dev: true
1426 |
1427 | /electron-to-chromium@1.4.110:
1428 | resolution: {integrity: sha512-TvHZrkj9anfWkxgblHlNr4IMQdm2N6D0o8Wu1BDpSL/RKT4DHyUt/tvDFtApgZ+LGFL3U9EO4LRZ1eSlQ8xMYA==}
1429 | dev: true
1430 |
1431 | /emittery@0.8.1:
1432 | resolution: {integrity: sha512-uDfvUjVrfGJJhymx/kz6prltenw1u7WrCg1oa94zYY8xxVpLLUu045LAT0dhDZdXG58/EpPL/5kA180fQ/qudg==}
1433 | engines: {node: '>=10'}
1434 | dev: true
1435 |
1436 | /emoji-regex@8.0.0:
1437 | resolution: {integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==}
1438 | dev: true
1439 |
1440 | /error-ex@1.3.2:
1441 | resolution: {integrity: sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==}
1442 | dependencies:
1443 | is-arrayish: 0.2.1
1444 | dev: true
1445 |
1446 | /escalade@3.1.1:
1447 | resolution: {integrity: sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==}
1448 | engines: {node: '>=6'}
1449 | dev: true
1450 |
1451 | /escape-string-regexp@1.0.5:
1452 | resolution: {integrity: sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==}
1453 | engines: {node: '>=0.8.0'}
1454 | dev: true
1455 |
1456 | /escape-string-regexp@2.0.0:
1457 | resolution: {integrity: sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w==}
1458 | engines: {node: '>=8'}
1459 | dev: true
1460 |
1461 | /escodegen@1.14.3:
1462 | resolution: {integrity: sha512-qFcX0XJkdg+PB3xjZZG/wKSuT1PnQWx57+TVSjIMmILd2yC/6ByYElPwJnslDsuWuSAp4AwJGumarAAmJch5Kw==}
1463 | engines: {node: '>=4.0'}
1464 | hasBin: true
1465 | dependencies:
1466 | esprima: 4.0.1
1467 | estraverse: 4.3.0
1468 | esutils: 2.0.3
1469 | optionator: 0.8.3
1470 | optionalDependencies:
1471 | source-map: 0.6.1
1472 | dev: true
1473 |
1474 | /escodegen@2.0.0:
1475 | resolution: {integrity: sha512-mmHKys/C8BFUGI+MAWNcSYoORYLMdPzjrknd2Vc+bUsjN5bXcr8EhrNB+UTqfL1y3I9c4fw2ihgtMPQLBRiQxw==}
1476 | engines: {node: '>=6.0'}
1477 | hasBin: true
1478 | dependencies:
1479 | esprima: 4.0.1
1480 | estraverse: 5.3.0
1481 | esutils: 2.0.3
1482 | optionator: 0.8.3
1483 | optionalDependencies:
1484 | source-map: 0.6.1
1485 | dev: true
1486 |
1487 | /esprima@4.0.1:
1488 | resolution: {integrity: sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==}
1489 | engines: {node: '>=4'}
1490 | hasBin: true
1491 | dev: true
1492 |
1493 | /estraverse@4.3.0:
1494 | resolution: {integrity: sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==}
1495 | engines: {node: '>=4.0'}
1496 | dev: true
1497 |
1498 | /estraverse@5.3.0:
1499 | resolution: {integrity: sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==}
1500 | engines: {node: '>=4.0'}
1501 | dev: true
1502 |
1503 | /esutils@2.0.3:
1504 | resolution: {integrity: sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==}
1505 | engines: {node: '>=0.10.0'}
1506 | dev: true
1507 |
1508 | /execa@5.1.1:
1509 | resolution: {integrity: sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==}
1510 | engines: {node: '>=10'}
1511 | dependencies:
1512 | cross-spawn: 7.0.3
1513 | get-stream: 6.0.1
1514 | human-signals: 2.1.0
1515 | is-stream: 2.0.1
1516 | merge-stream: 2.0.0
1517 | npm-run-path: 4.0.1
1518 | onetime: 5.1.2
1519 | signal-exit: 3.0.7
1520 | strip-final-newline: 2.0.0
1521 | dev: true
1522 |
1523 | /exit@0.1.2:
1524 | resolution: {integrity: sha1-BjJjj42HfMghB9MKD/8aF8uhzQw=}
1525 | engines: {node: '>= 0.8.0'}
1526 | dev: true
1527 |
1528 | /expect@27.5.1:
1529 | resolution: {integrity: sha512-E1q5hSUG2AmYQwQJ041nvgpkODHQvB+RKlB4IYdru6uJsyFTRyZAP463M+1lINorwbqAmUggi6+WwkD8lCS/Dw==}
1530 | engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0}
1531 | dependencies:
1532 | '@jest/types': 27.5.1
1533 | jest-get-type: 27.5.1
1534 | jest-matcher-utils: 27.5.1
1535 | jest-message-util: 27.5.1
1536 | dev: true
1537 |
1538 | /extend@3.0.2:
1539 | resolution: {integrity: sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==}
1540 | dev: true
1541 |
1542 | /extsprintf@1.3.0:
1543 | resolution: {integrity: sha1-lpGEQOMEGnpBT4xS48V06zw+HgU=}
1544 | engines: {'0': node >=0.6.0}
1545 | dev: true
1546 |
1547 | /fast-deep-equal@3.1.3:
1548 | resolution: {integrity: sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==}
1549 | dev: true
1550 |
1551 | /fast-json-stable-stringify@2.1.0:
1552 | resolution: {integrity: sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==}
1553 | dev: true
1554 |
1555 | /fast-levenshtein@2.0.6:
1556 | resolution: {integrity: sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc=}
1557 | dev: true
1558 |
1559 | /fb-watchman@2.0.1:
1560 | resolution: {integrity: sha512-DkPJKQeY6kKwmuMretBhr7G6Vodr7bFwDYTXIkfG1gjvNpaxBTQV3PbXg6bR1c1UP4jPOX0jHUbbHANL9vRjVg==}
1561 | dependencies:
1562 | bser: 2.1.1
1563 | dev: true
1564 |
1565 | /fill-range@7.0.1:
1566 | resolution: {integrity: sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==}
1567 | engines: {node: '>=8'}
1568 | dependencies:
1569 | to-regex-range: 5.0.1
1570 | dev: true
1571 |
1572 | /find-up@4.1.0:
1573 | resolution: {integrity: sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==}
1574 | engines: {node: '>=8'}
1575 | dependencies:
1576 | locate-path: 5.0.0
1577 | path-exists: 4.0.0
1578 | dev: true
1579 |
1580 | /forever-agent@0.6.1:
1581 | resolution: {integrity: sha1-+8cfDEGt6zf5bFd60e1C2P2sypE=}
1582 | dev: true
1583 |
1584 | /form-data@2.3.3:
1585 | resolution: {integrity: sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ==}
1586 | engines: {node: '>= 0.12'}
1587 | dependencies:
1588 | asynckit: 0.4.0
1589 | combined-stream: 1.0.8
1590 | mime-types: 2.1.31
1591 | dev: true
1592 |
1593 | /form-data@3.0.1:
1594 | resolution: {integrity: sha512-RHkBKtLWUVwd7SqRIvCZMEvAMoGUp0XU+seQiZejj0COz3RI3hWP4sCv3gZWWLjJTd7rGwcsF5eKZGii0r/hbg==}
1595 | engines: {node: '>= 6'}
1596 | dependencies:
1597 | asynckit: 0.4.0
1598 | combined-stream: 1.0.8
1599 | mime-types: 2.1.35
1600 | dev: true
1601 |
1602 | /fs.realpath@1.0.0:
1603 | resolution: {integrity: sha1-FQStJSMVjKpA20onh8sBQRmU6k8=}
1604 | dev: true
1605 |
1606 | /fsevents@2.3.2:
1607 | resolution: {integrity: sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==}
1608 | engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0}
1609 | os: [darwin]
1610 | requiresBuild: true
1611 | dev: true
1612 | optional: true
1613 |
1614 | /function-bind@1.1.1:
1615 | resolution: {integrity: sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==}
1616 | dev: true
1617 |
1618 | /gensync@1.0.0-beta.2:
1619 | resolution: {integrity: sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==}
1620 | engines: {node: '>=6.9.0'}
1621 | dev: true
1622 |
1623 | /get-caller-file@2.0.5:
1624 | resolution: {integrity: sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==}
1625 | engines: {node: 6.* || 8.* || >= 10.*}
1626 | dev: true
1627 |
1628 | /get-package-type@0.1.0:
1629 | resolution: {integrity: sha512-pjzuKtY64GYfWizNAJ0fr9VqttZkNiK2iS430LtIHzjBEr6bX8Am2zm4sW4Ro5wjWW5cAlRL1qAMTcXbjNAO2Q==}
1630 | engines: {node: '>=8.0.0'}
1631 | dev: true
1632 |
1633 | /get-stream@6.0.1:
1634 | resolution: {integrity: sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==}
1635 | engines: {node: '>=10'}
1636 | dev: true
1637 |
1638 | /getpass@0.1.7:
1639 | resolution: {integrity: sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo=}
1640 | dependencies:
1641 | assert-plus: 1.0.0
1642 | dev: true
1643 |
1644 | /glob@7.2.0:
1645 | resolution: {integrity: sha512-lmLf6gtyrPq8tTjSmrO94wBeQbFR3HbLHbuyD69wuyQkImp2hWqMGB47OX65FBkPffO641IP9jWa1z4ivqG26Q==}
1646 | dependencies:
1647 | fs.realpath: 1.0.0
1648 | inflight: 1.0.6
1649 | inherits: 2.0.4
1650 | minimatch: 3.1.2
1651 | once: 1.4.0
1652 | path-is-absolute: 1.0.1
1653 | dev: true
1654 |
1655 | /globals@11.12.0:
1656 | resolution: {integrity: sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==}
1657 | engines: {node: '>=4'}
1658 | dev: true
1659 |
1660 | /graceful-fs@4.2.10:
1661 | resolution: {integrity: sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA==}
1662 | dev: true
1663 |
1664 | /har-schema@2.0.0:
1665 | resolution: {integrity: sha1-qUwiJOvKwEeCoNkDVSHyRzW37JI=}
1666 | engines: {node: '>=4'}
1667 | dev: true
1668 |
1669 | /har-validator@5.1.5:
1670 | resolution: {integrity: sha512-nmT2T0lljbxdQZfspsno9hgrG3Uir6Ks5afism62poxqBM6sDnMEuPmzTq8XN0OEwqKLLdh1jQI3qyE66Nzb3w==}
1671 | engines: {node: '>=6'}
1672 | deprecated: this library is no longer supported
1673 | dependencies:
1674 | ajv: 6.12.6
1675 | har-schema: 2.0.0
1676 | dev: true
1677 |
1678 | /has-flag@3.0.0:
1679 | resolution: {integrity: sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==}
1680 | engines: {node: '>=4'}
1681 | dev: true
1682 |
1683 | /has-flag@4.0.0:
1684 | resolution: {integrity: sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==}
1685 | engines: {node: '>=8'}
1686 | dev: true
1687 |
1688 | /has@1.0.3:
1689 | resolution: {integrity: sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==}
1690 | engines: {node: '>= 0.4.0'}
1691 | dependencies:
1692 | function-bind: 1.1.1
1693 | dev: true
1694 |
1695 | /html-encoding-sniffer@1.0.2:
1696 | resolution: {integrity: sha512-71lZziiDnsuabfdYiUeWdCVyKuqwWi23L8YeIgV9jSSZHCtb6wB1BKWooH7L3tn4/FuZJMVWyNaIDr4RGmaSYw==}
1697 | dependencies:
1698 | whatwg-encoding: 1.0.5
1699 | dev: true
1700 |
1701 | /html-encoding-sniffer@2.0.1:
1702 | resolution: {integrity: sha512-D5JbOMBIR/TVZkubHT+OyT2705QvogUW4IBn6nHd756OwieSF9aDYFj4dv6HHEVGYbHaLETa3WggZYWWMyy3ZQ==}
1703 | engines: {node: '>=10'}
1704 | dependencies:
1705 | whatwg-encoding: 1.0.5
1706 | dev: true
1707 |
1708 | /html-escaper@2.0.2:
1709 | resolution: {integrity: sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==}
1710 | dev: true
1711 |
1712 | /http-proxy-agent@4.0.1:
1713 | resolution: {integrity: sha512-k0zdNgqWTGA6aeIRVpvfVob4fL52dTfaehylg0Y4UvSySvOq/Y+BOyPrgpUrA7HylqvU8vIZGsRuXmspskV0Tg==}
1714 | engines: {node: '>= 6'}
1715 | dependencies:
1716 | '@tootallnate/once': 1.1.2
1717 | agent-base: 6.0.2
1718 | debug: 4.3.4
1719 | transitivePeerDependencies:
1720 | - supports-color
1721 | dev: true
1722 |
1723 | /http-signature@1.2.0:
1724 | resolution: {integrity: sha1-muzZJRFHcvPZW2WmCruPfBj7rOE=}
1725 | engines: {node: '>=0.8', npm: '>=1.3.7'}
1726 | dependencies:
1727 | assert-plus: 1.0.0
1728 | jsprim: 1.4.1
1729 | sshpk: 1.16.1
1730 | dev: true
1731 |
1732 | /https-proxy-agent@5.0.1:
1733 | resolution: {integrity: sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==}
1734 | engines: {node: '>= 6'}
1735 | dependencies:
1736 | agent-base: 6.0.2
1737 | debug: 4.3.4
1738 | transitivePeerDependencies:
1739 | - supports-color
1740 | dev: true
1741 |
1742 | /human-signals@2.1.0:
1743 | resolution: {integrity: sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==}
1744 | engines: {node: '>=10.17.0'}
1745 | dev: true
1746 |
1747 | /iconv-lite@0.4.24:
1748 | resolution: {integrity: sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==}
1749 | engines: {node: '>=0.10.0'}
1750 | dependencies:
1751 | safer-buffer: 2.1.2
1752 | dev: true
1753 |
1754 | /immer@9.0.12:
1755 | resolution: {integrity: sha512-lk7UNmSbAukB5B6dh9fnh5D0bJTOFKxVg2cyJWTYrWRfhLrLMBquONcUs3aFq507hNoIZEDDh8lb8UtOizSMhA==}
1756 | dev: false
1757 |
1758 | /import-local@3.1.0:
1759 | resolution: {integrity: sha512-ASB07uLtnDs1o6EHjKpX34BKYDSqnFerfTOJL2HvMqF70LnxpjkzDB8J44oT9pu4AMPkQwf8jl6szgvNd2tRIg==}
1760 | engines: {node: '>=8'}
1761 | hasBin: true
1762 | dependencies:
1763 | pkg-dir: 4.2.0
1764 | resolve-cwd: 3.0.0
1765 | dev: true
1766 |
1767 | /imurmurhash@0.1.4:
1768 | resolution: {integrity: sha1-khi5srkoojixPcT7a21XbyMUU+o=}
1769 | engines: {node: '>=0.8.19'}
1770 | dev: true
1771 |
1772 | /inflight@1.0.6:
1773 | resolution: {integrity: sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=}
1774 | dependencies:
1775 | once: 1.4.0
1776 | wrappy: 1.0.2
1777 | dev: true
1778 |
1779 | /inherits@2.0.4:
1780 | resolution: {integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==}
1781 | dev: true
1782 |
1783 | /is-arrayish@0.2.1:
1784 | resolution: {integrity: sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0=}
1785 | dev: true
1786 |
1787 | /is-core-module@2.8.1:
1788 | resolution: {integrity: sha512-SdNCUs284hr40hFTFP6l0IfZ/RSrMXF3qgoRHd3/79unUTvrFO/JoXwkGm+5J/Oe3E/b5GsnG330uUNgRpu1PA==}
1789 | dependencies:
1790 | has: 1.0.3
1791 | dev: true
1792 |
1793 | /is-fullwidth-code-point@3.0.0:
1794 | resolution: {integrity: sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==}
1795 | engines: {node: '>=8'}
1796 | dev: true
1797 |
1798 | /is-generator-fn@2.1.0:
1799 | resolution: {integrity: sha512-cTIB4yPYL/Grw0EaSzASzg6bBy9gqCofvWN8okThAYIxKJZC+udlRAmGbM0XLeniEJSs8uEgHPGuHSe1XsOLSQ==}
1800 | engines: {node: '>=6'}
1801 | dev: true
1802 |
1803 | /is-number@7.0.0:
1804 | resolution: {integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==}
1805 | engines: {node: '>=0.12.0'}
1806 | dev: true
1807 |
1808 | /is-potential-custom-element-name@1.0.1:
1809 | resolution: {integrity: sha512-bCYeRA2rVibKZd+s2625gGnGF/t7DSqDs4dP7CrLA1m7jKWz6pps0LpYLJN8Q64HtmPKJ1hrN3nzPNKFEKOUiQ==}
1810 | dev: true
1811 |
1812 | /is-stream@2.0.1:
1813 | resolution: {integrity: sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==}
1814 | engines: {node: '>=8'}
1815 | dev: true
1816 |
1817 | /is-typedarray@1.0.0:
1818 | resolution: {integrity: sha1-5HnICFjfDBsR3dppQPlgEfzaSpo=}
1819 | dev: true
1820 |
1821 | /isexe@2.0.0:
1822 | resolution: {integrity: sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=}
1823 | dev: true
1824 |
1825 | /isstream@0.1.2:
1826 | resolution: {integrity: sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo=}
1827 | dev: true
1828 |
1829 | /istanbul-lib-coverage@3.2.0:
1830 | resolution: {integrity: sha512-eOeJ5BHCmHYvQK7xt9GkdHuzuCGS1Y6g9Gvnx3Ym33fz/HpLRYxiS0wHNr+m/MBC8B647Xt608vCDEvhl9c6Mw==}
1831 | engines: {node: '>=8'}
1832 | dev: true
1833 |
1834 | /istanbul-lib-instrument@5.1.0:
1835 | resolution: {integrity: sha512-czwUz525rkOFDJxfKK6mYfIs9zBKILyrZQxjz3ABhjQXhbhFsSbo1HW/BFcsDnfJYJWA6thRR5/TUY2qs5W99Q==}
1836 | engines: {node: '>=8'}
1837 | dependencies:
1838 | '@babel/core': 7.17.9
1839 | '@babel/parser': 7.17.9
1840 | '@istanbuljs/schema': 0.1.3
1841 | istanbul-lib-coverage: 3.2.0
1842 | semver: 6.3.0
1843 | transitivePeerDependencies:
1844 | - supports-color
1845 | dev: true
1846 |
1847 | /istanbul-lib-report@3.0.0:
1848 | resolution: {integrity: sha512-wcdi+uAKzfiGT2abPpKZ0hSU1rGQjUQnLvtY5MpQ7QCTahD3VODhcu4wcfY1YtkGaDD5yuydOLINXsfbus9ROw==}
1849 | engines: {node: '>=8'}
1850 | dependencies:
1851 | istanbul-lib-coverage: 3.2.0
1852 | make-dir: 3.1.0
1853 | supports-color: 7.2.0
1854 | dev: true
1855 |
1856 | /istanbul-lib-source-maps@4.0.1:
1857 | resolution: {integrity: sha512-n3s8EwkdFIJCG3BPKBYvskgXGoy88ARzvegkitk60NxRdwltLOTaH7CUiMRXvwYorl0Q712iEjcWB+fK/MrWVw==}
1858 | engines: {node: '>=10'}
1859 | dependencies:
1860 | debug: 4.3.4
1861 | istanbul-lib-coverage: 3.2.0
1862 | source-map: 0.6.1
1863 | transitivePeerDependencies:
1864 | - supports-color
1865 | dev: true
1866 |
1867 | /istanbul-reports@3.1.4:
1868 | resolution: {integrity: sha512-r1/DshN4KSE7xWEknZLLLLDn5CJybV3nw01VTkp6D5jzLuELlcbudfj/eSQFvrKsJuTVCGnePO7ho82Nw9zzfw==}
1869 | engines: {node: '>=8'}
1870 | dependencies:
1871 | html-escaper: 2.0.2
1872 | istanbul-lib-report: 3.0.0
1873 | dev: true
1874 |
1875 | /jest-changed-files@27.5.1:
1876 | resolution: {integrity: sha512-buBLMiByfWGCoMsLLzGUUSpAmIAGnbR2KJoMN10ziLhOLvP4e0SlypHnAel8iqQXTrcbmfEY9sSqae5sgUsTvw==}
1877 | engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0}
1878 | dependencies:
1879 | '@jest/types': 27.5.1
1880 | execa: 5.1.1
1881 | throat: 6.0.1
1882 | dev: true
1883 |
1884 | /jest-circus@27.5.1:
1885 | resolution: {integrity: sha512-D95R7x5UtlMA5iBYsOHFFbMD/GVA4R/Kdq15f7xYWUfWHBto9NYRsOvnSauTgdF+ogCpJ4tyKOXhUifxS65gdw==}
1886 | engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0}
1887 | dependencies:
1888 | '@jest/environment': 27.5.1
1889 | '@jest/test-result': 27.5.1
1890 | '@jest/types': 27.5.1
1891 | '@types/node': 17.0.24
1892 | chalk: 4.1.2
1893 | co: 4.6.0
1894 | dedent: 0.7.0
1895 | expect: 27.5.1
1896 | is-generator-fn: 2.1.0
1897 | jest-each: 27.5.1
1898 | jest-matcher-utils: 27.5.1
1899 | jest-message-util: 27.5.1
1900 | jest-runtime: 27.5.1
1901 | jest-snapshot: 27.5.1
1902 | jest-util: 27.5.1
1903 | pretty-format: 27.5.1
1904 | slash: 3.0.0
1905 | stack-utils: 2.0.5
1906 | throat: 6.0.1
1907 | transitivePeerDependencies:
1908 | - supports-color
1909 | dev: true
1910 |
1911 | /jest-cli@27.5.1(ts-node@10.7.0):
1912 | resolution: {integrity: sha512-Hc6HOOwYq4/74/c62dEE3r5elx8wjYqxY0r0G/nFrLDPMFRu6RA/u8qINOIkvhxG7mMQ5EJsOGfRpI8L6eFUVw==}
1913 | engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0}
1914 | hasBin: true
1915 | peerDependencies:
1916 | node-notifier: ^8.0.1 || ^9.0.0 || ^10.0.0
1917 | peerDependenciesMeta:
1918 | node-notifier:
1919 | optional: true
1920 | dependencies:
1921 | '@jest/core': 27.5.1(ts-node@10.7.0)
1922 | '@jest/test-result': 27.5.1
1923 | '@jest/types': 27.5.1
1924 | chalk: 4.1.2
1925 | exit: 0.1.2
1926 | graceful-fs: 4.2.10
1927 | import-local: 3.1.0
1928 | jest-config: 27.5.1(ts-node@10.7.0)
1929 | jest-util: 27.5.1
1930 | jest-validate: 27.5.1
1931 | prompts: 2.4.2
1932 | yargs: 16.2.0
1933 | transitivePeerDependencies:
1934 | - bufferutil
1935 | - canvas
1936 | - supports-color
1937 | - ts-node
1938 | - utf-8-validate
1939 | dev: true
1940 |
1941 | /jest-config@27.5.1(ts-node@10.7.0):
1942 | resolution: {integrity: sha512-5sAsjm6tGdsVbW9ahcChPAFCk4IlkQUknH5AvKjuLTSlcO/wCZKyFdn7Rg0EkC+OGgWODEy2hDpWB1PgzH0JNA==}
1943 | engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0}
1944 | peerDependencies:
1945 | ts-node: '>=9.0.0'
1946 | peerDependenciesMeta:
1947 | ts-node:
1948 | optional: true
1949 | dependencies:
1950 | '@babel/core': 7.17.9
1951 | '@jest/test-sequencer': 27.5.1
1952 | '@jest/types': 27.5.1
1953 | babel-jest: 27.5.1(@babel/core@7.17.9)
1954 | chalk: 4.1.2
1955 | ci-info: 3.3.0
1956 | deepmerge: 4.2.2
1957 | glob: 7.2.0
1958 | graceful-fs: 4.2.10
1959 | jest-circus: 27.5.1
1960 | jest-environment-jsdom: 27.5.1
1961 | jest-environment-node: 27.5.1
1962 | jest-get-type: 27.5.1
1963 | jest-jasmine2: 27.5.1
1964 | jest-regex-util: 27.5.1
1965 | jest-resolve: 27.5.1
1966 | jest-runner: 27.5.1
1967 | jest-util: 27.5.1
1968 | jest-validate: 27.5.1
1969 | micromatch: 4.0.5
1970 | parse-json: 5.2.0
1971 | pretty-format: 27.5.1
1972 | slash: 3.0.0
1973 | strip-json-comments: 3.1.1
1974 | ts-node: 10.7.0(@types/node@17.0.24)(typescript@4.6.3)
1975 | transitivePeerDependencies:
1976 | - bufferutil
1977 | - canvas
1978 | - supports-color
1979 | - utf-8-validate
1980 | dev: true
1981 |
1982 | /jest-diff@27.5.1:
1983 | resolution: {integrity: sha512-m0NvkX55LDt9T4mctTEgnZk3fmEg3NRYutvMPWM/0iPnkFj2wIeF45O1718cMSOFO1vINkqmxqD8vE37uTEbqw==}
1984 | engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0}
1985 | dependencies:
1986 | chalk: 4.1.2
1987 | diff-sequences: 27.5.1
1988 | jest-get-type: 27.5.1
1989 | pretty-format: 27.5.1
1990 | dev: true
1991 |
1992 | /jest-docblock@27.5.1:
1993 | resolution: {integrity: sha512-rl7hlABeTsRYxKiUfpHrQrG4e2obOiTQWfMEH3PxPjOtdsfLQO4ReWSZaQ7DETm4xu07rl4q/h4zcKXyU0/OzQ==}
1994 | engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0}
1995 | dependencies:
1996 | detect-newline: 3.1.0
1997 | dev: true
1998 |
1999 | /jest-each@27.5.1:
2000 | resolution: {integrity: sha512-1Ff6p+FbhT/bXQnEouYy00bkNSY7OUpfIcmdl8vZ31A1UUaurOLPA8a8BbJOF2RDUElwJhmeaV7LnagI+5UwNQ==}
2001 | engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0}
2002 | dependencies:
2003 | '@jest/types': 27.5.1
2004 | chalk: 4.1.2
2005 | jest-get-type: 27.5.1
2006 | jest-util: 27.5.1
2007 | pretty-format: 27.5.1
2008 | dev: true
2009 |
2010 | /jest-environment-jsdom@27.5.1:
2011 | resolution: {integrity: sha512-TFBvkTC1Hnnnrka/fUb56atfDtJ9VMZ94JkjTbggl1PEpwrYtUBKMezB3inLmWqQsXYLcMwNoDQwoBTAvFfsfw==}
2012 | engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0}
2013 | dependencies:
2014 | '@jest/environment': 27.5.1
2015 | '@jest/fake-timers': 27.5.1
2016 | '@jest/types': 27.5.1
2017 | '@types/node': 17.0.24
2018 | jest-mock: 27.5.1
2019 | jest-util: 27.5.1
2020 | jsdom: 16.7.0
2021 | transitivePeerDependencies:
2022 | - bufferutil
2023 | - canvas
2024 | - supports-color
2025 | - utf-8-validate
2026 | dev: true
2027 |
2028 | /jest-environment-node@27.5.1:
2029 | resolution: {integrity: sha512-Jt4ZUnxdOsTGwSRAfKEnE6BcwsSPNOijjwifq5sDFSA2kesnXTvNqKHYgM0hDq3549Uf/KzdXNYn4wMZJPlFLw==}
2030 | engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0}
2031 | dependencies:
2032 | '@jest/environment': 27.5.1
2033 | '@jest/fake-timers': 27.5.1
2034 | '@jest/types': 27.5.1
2035 | '@types/node': 17.0.24
2036 | jest-mock: 27.5.1
2037 | jest-util: 27.5.1
2038 | dev: true
2039 |
2040 | /jest-get-type@27.5.1:
2041 | resolution: {integrity: sha512-2KY95ksYSaK7DMBWQn6dQz3kqAf3BB64y2udeG+hv4KfSOb9qwcYQstTJc1KCbsix+wLZWZYN8t7nwX3GOBLRw==}
2042 | engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0}
2043 | dev: true
2044 |
2045 | /jest-haste-map@27.5.1:
2046 | resolution: {integrity: sha512-7GgkZ4Fw4NFbMSDSpZwXeBiIbx+t/46nJ2QitkOjvwPYyZmqttu2TDSimMHP1EkPOi4xUZAN1doE5Vd25H4Jng==}
2047 | engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0}
2048 | dependencies:
2049 | '@jest/types': 27.5.1
2050 | '@types/graceful-fs': 4.1.5
2051 | '@types/node': 17.0.24
2052 | anymatch: 3.1.2
2053 | fb-watchman: 2.0.1
2054 | graceful-fs: 4.2.10
2055 | jest-regex-util: 27.5.1
2056 | jest-serializer: 27.5.1
2057 | jest-util: 27.5.1
2058 | jest-worker: 27.5.1
2059 | micromatch: 4.0.5
2060 | walker: 1.0.8
2061 | optionalDependencies:
2062 | fsevents: 2.3.2
2063 | dev: true
2064 |
2065 | /jest-jasmine2@27.5.1:
2066 | resolution: {integrity: sha512-jtq7VVyG8SqAorDpApwiJJImd0V2wv1xzdheGHRGyuT7gZm6gG47QEskOlzsN1PG/6WNaCo5pmwMHDf3AkG2pQ==}
2067 | engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0}
2068 | dependencies:
2069 | '@jest/environment': 27.5.1
2070 | '@jest/source-map': 27.5.1
2071 | '@jest/test-result': 27.5.1
2072 | '@jest/types': 27.5.1
2073 | '@types/node': 17.0.24
2074 | chalk: 4.1.2
2075 | co: 4.6.0
2076 | expect: 27.5.1
2077 | is-generator-fn: 2.1.0
2078 | jest-each: 27.5.1
2079 | jest-matcher-utils: 27.5.1
2080 | jest-message-util: 27.5.1
2081 | jest-runtime: 27.5.1
2082 | jest-snapshot: 27.5.1
2083 | jest-util: 27.5.1
2084 | pretty-format: 27.5.1
2085 | throat: 6.0.1
2086 | transitivePeerDependencies:
2087 | - supports-color
2088 | dev: true
2089 |
2090 | /jest-leak-detector@27.5.1:
2091 | resolution: {integrity: sha512-POXfWAMvfU6WMUXftV4HolnJfnPOGEu10fscNCA76KBpRRhcMN2c8d3iT2pxQS3HLbA+5X4sOUPzYO2NUyIlHQ==}
2092 | engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0}
2093 | dependencies:
2094 | jest-get-type: 27.5.1
2095 | pretty-format: 27.5.1
2096 | dev: true
2097 |
2098 | /jest-matcher-utils@27.5.1:
2099 | resolution: {integrity: sha512-z2uTx/T6LBaCoNWNFWwChLBKYxTMcGBRjAt+2SbP929/Fflb9aa5LGma654Rz8z9HLxsrUaYzxE9T/EFIL/PAw==}
2100 | engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0}
2101 | dependencies:
2102 | chalk: 4.1.2
2103 | jest-diff: 27.5.1
2104 | jest-get-type: 27.5.1
2105 | pretty-format: 27.5.1
2106 | dev: true
2107 |
2108 | /jest-message-util@27.5.1:
2109 | resolution: {integrity: sha512-rMyFe1+jnyAAf+NHwTclDz0eAaLkVDdKVHHBFWsBWHnnh5YeJMNWWsv7AbFYXfK3oTqvL7VTWkhNLu1jX24D+g==}
2110 | engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0}
2111 | dependencies:
2112 | '@babel/code-frame': 7.16.7
2113 | '@jest/types': 27.5.1
2114 | '@types/stack-utils': 2.0.1
2115 | chalk: 4.1.2
2116 | graceful-fs: 4.2.10
2117 | micromatch: 4.0.5
2118 | pretty-format: 27.5.1
2119 | slash: 3.0.0
2120 | stack-utils: 2.0.5
2121 | dev: true
2122 |
2123 | /jest-mock@27.5.1:
2124 | resolution: {integrity: sha512-K4jKbY1d4ENhbrG2zuPWaQBvDly+iZ2yAW+T1fATN78hc0sInwn7wZB8XtlNnvHug5RMwV897Xm4LqmPM4e2Og==}
2125 | engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0}
2126 | dependencies:
2127 | '@jest/types': 27.5.1
2128 | '@types/node': 17.0.24
2129 | dev: true
2130 |
2131 | /jest-pnp-resolver@1.2.2(jest-resolve@27.5.1):
2132 | resolution: {integrity: sha512-olV41bKSMm8BdnuMsewT4jqlZ8+3TCARAXjZGT9jcoSnrfUnRCqnMoF9XEeoWjbzObpqF9dRhHQj0Xb9QdF6/w==}
2133 | engines: {node: '>=6'}
2134 | peerDependencies:
2135 | jest-resolve: '*'
2136 | peerDependenciesMeta:
2137 | jest-resolve:
2138 | optional: true
2139 | dependencies:
2140 | jest-resolve: 27.5.1
2141 | dev: true
2142 |
2143 | /jest-regex-util@27.5.1:
2144 | resolution: {integrity: sha512-4bfKq2zie+x16okqDXjXn9ql2B0dScQu+vcwe4TvFVhkVyuWLqpZrZtXxLLWoXYgn0E87I6r6GRYHF7wFZBUvg==}
2145 | engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0}
2146 | dev: true
2147 |
2148 | /jest-resolve-dependencies@27.5.1:
2149 | resolution: {integrity: sha512-QQOOdY4PE39iawDn5rzbIePNigfe5B9Z91GDD1ae/xNDlu9kaat8QQ5EKnNmVWPV54hUdxCVwwj6YMgR2O7IOg==}
2150 | engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0}
2151 | dependencies:
2152 | '@jest/types': 27.5.1
2153 | jest-regex-util: 27.5.1
2154 | jest-snapshot: 27.5.1
2155 | transitivePeerDependencies:
2156 | - supports-color
2157 | dev: true
2158 |
2159 | /jest-resolve@27.5.1:
2160 | resolution: {integrity: sha512-FFDy8/9E6CV83IMbDpcjOhumAQPDyETnU2KZ1O98DwTnz8AOBsW/Xv3GySr1mOZdItLR+zDZ7I/UdTFbgSOVCw==}
2161 | engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0}
2162 | dependencies:
2163 | '@jest/types': 27.5.1
2164 | chalk: 4.1.2
2165 | graceful-fs: 4.2.10
2166 | jest-haste-map: 27.5.1
2167 | jest-pnp-resolver: 1.2.2(jest-resolve@27.5.1)
2168 | jest-util: 27.5.1
2169 | jest-validate: 27.5.1
2170 | resolve: 1.22.0
2171 | resolve.exports: 1.1.0
2172 | slash: 3.0.0
2173 | dev: true
2174 |
2175 | /jest-runner@27.5.1:
2176 | resolution: {integrity: sha512-g4NPsM4mFCOwFKXO4p/H/kWGdJp9V8kURY2lX8Me2drgXqG7rrZAx5kv+5H7wtt/cdFIjhqYx1HrlqWHaOvDaQ==}
2177 | engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0}
2178 | dependencies:
2179 | '@jest/console': 27.5.1
2180 | '@jest/environment': 27.5.1
2181 | '@jest/test-result': 27.5.1
2182 | '@jest/transform': 27.5.1
2183 | '@jest/types': 27.5.1
2184 | '@types/node': 17.0.24
2185 | chalk: 4.1.2
2186 | emittery: 0.8.1
2187 | graceful-fs: 4.2.10
2188 | jest-docblock: 27.5.1
2189 | jest-environment-jsdom: 27.5.1
2190 | jest-environment-node: 27.5.1
2191 | jest-haste-map: 27.5.1
2192 | jest-leak-detector: 27.5.1
2193 | jest-message-util: 27.5.1
2194 | jest-resolve: 27.5.1
2195 | jest-runtime: 27.5.1
2196 | jest-util: 27.5.1
2197 | jest-worker: 27.5.1
2198 | source-map-support: 0.5.21
2199 | throat: 6.0.1
2200 | transitivePeerDependencies:
2201 | - bufferutil
2202 | - canvas
2203 | - supports-color
2204 | - utf-8-validate
2205 | dev: true
2206 |
2207 | /jest-runtime@27.5.1:
2208 | resolution: {integrity: sha512-o7gxw3Gf+H2IGt8fv0RiyE1+r83FJBRruoA+FXrlHw6xEyBsU8ugA6IPfTdVyA0w8HClpbK+DGJxH59UrNMx8A==}
2209 | engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0}
2210 | dependencies:
2211 | '@jest/environment': 27.5.1
2212 | '@jest/fake-timers': 27.5.1
2213 | '@jest/globals': 27.5.1
2214 | '@jest/source-map': 27.5.1
2215 | '@jest/test-result': 27.5.1
2216 | '@jest/transform': 27.5.1
2217 | '@jest/types': 27.5.1
2218 | chalk: 4.1.2
2219 | cjs-module-lexer: 1.2.2
2220 | collect-v8-coverage: 1.0.1
2221 | execa: 5.1.1
2222 | glob: 7.2.0
2223 | graceful-fs: 4.2.10
2224 | jest-haste-map: 27.5.1
2225 | jest-message-util: 27.5.1
2226 | jest-mock: 27.5.1
2227 | jest-regex-util: 27.5.1
2228 | jest-resolve: 27.5.1
2229 | jest-snapshot: 27.5.1
2230 | jest-util: 27.5.1
2231 | slash: 3.0.0
2232 | strip-bom: 4.0.0
2233 | transitivePeerDependencies:
2234 | - supports-color
2235 | dev: true
2236 |
2237 | /jest-serializer@27.5.1:
2238 | resolution: {integrity: sha512-jZCyo6iIxO1aqUxpuBlwTDMkzOAJS4a3eYz3YzgxxVQFwLeSA7Jfq5cbqCY+JLvTDrWirgusI/0KwxKMgrdf7w==}
2239 | engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0}
2240 | dependencies:
2241 | '@types/node': 17.0.24
2242 | graceful-fs: 4.2.10
2243 | dev: true
2244 |
2245 | /jest-snapshot@27.5.1:
2246 | resolution: {integrity: sha512-yYykXI5a0I31xX67mgeLw1DZ0bJB+gpq5IpSuCAoyDi0+BhgU/RIrL+RTzDmkNTchvDFWKP8lp+w/42Z3us5sA==}
2247 | engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0}
2248 | dependencies:
2249 | '@babel/core': 7.17.9
2250 | '@babel/generator': 7.17.9
2251 | '@babel/plugin-syntax-typescript': 7.16.7(@babel/core@7.17.9)
2252 | '@babel/traverse': 7.23.2
2253 | '@babel/types': 7.17.0
2254 | '@jest/transform': 27.5.1
2255 | '@jest/types': 27.5.1
2256 | '@types/babel__traverse': 7.17.0
2257 | '@types/prettier': 2.6.0
2258 | babel-preset-current-node-syntax: 1.0.1(@babel/core@7.17.9)
2259 | chalk: 4.1.2
2260 | expect: 27.5.1
2261 | graceful-fs: 4.2.10
2262 | jest-diff: 27.5.1
2263 | jest-get-type: 27.5.1
2264 | jest-haste-map: 27.5.1
2265 | jest-matcher-utils: 27.5.1
2266 | jest-message-util: 27.5.1
2267 | jest-util: 27.5.1
2268 | natural-compare: 1.4.0
2269 | pretty-format: 27.5.1
2270 | semver: 7.3.7
2271 | transitivePeerDependencies:
2272 | - supports-color
2273 | dev: true
2274 |
2275 | /jest-util@27.5.1:
2276 | resolution: {integrity: sha512-Kv2o/8jNvX1MQ0KGtw480E/w4fBCDOnH6+6DmeKi6LZUIlKA5kwY0YNdlzaWTiVgxqAqik11QyxDOKk543aKXw==}
2277 | engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0}
2278 | dependencies:
2279 | '@jest/types': 27.5.1
2280 | '@types/node': 17.0.24
2281 | chalk: 4.1.2
2282 | ci-info: 3.3.0
2283 | graceful-fs: 4.2.10
2284 | picomatch: 2.3.1
2285 | dev: true
2286 |
2287 | /jest-validate@27.5.1:
2288 | resolution: {integrity: sha512-thkNli0LYTmOI1tDB3FI1S1RTp/Bqyd9pTarJwL87OIBFuqEb5Apv5EaApEudYg4g86e3CT6kM0RowkhtEnCBQ==}
2289 | engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0}
2290 | dependencies:
2291 | '@jest/types': 27.5.1
2292 | camelcase: 6.3.0
2293 | chalk: 4.1.2
2294 | jest-get-type: 27.5.1
2295 | leven: 3.1.0
2296 | pretty-format: 27.5.1
2297 | dev: true
2298 |
2299 | /jest-watcher@27.5.1:
2300 | resolution: {integrity: sha512-z676SuD6Z8o8qbmEGhoEUFOM1+jfEiL3DXHK/xgEiG2EyNYfFG60jluWcupY6dATjfEsKQuibReS1djInQnoVw==}
2301 | engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0}
2302 | dependencies:
2303 | '@jest/test-result': 27.5.1
2304 | '@jest/types': 27.5.1
2305 | '@types/node': 17.0.24
2306 | ansi-escapes: 4.3.2
2307 | chalk: 4.1.2
2308 | jest-util: 27.5.1
2309 | string-length: 4.0.2
2310 | dev: true
2311 |
2312 | /jest-worker@27.5.1:
2313 | resolution: {integrity: sha512-7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg==}
2314 | engines: {node: '>= 10.13.0'}
2315 | dependencies:
2316 | '@types/node': 17.0.24
2317 | merge-stream: 2.0.0
2318 | supports-color: 8.1.1
2319 | dev: true
2320 |
2321 | /jest@27.5.1(ts-node@10.7.0):
2322 | resolution: {integrity: sha512-Yn0mADZB89zTtjkPJEXwrac3LHudkQMR+Paqa8uxJHCBr9agxztUifWCyiYrjhMPBoUVBjyny0I7XH6ozDr7QQ==}
2323 | engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0}
2324 | hasBin: true
2325 | peerDependencies:
2326 | node-notifier: ^8.0.1 || ^9.0.0 || ^10.0.0
2327 | peerDependenciesMeta:
2328 | node-notifier:
2329 | optional: true
2330 | dependencies:
2331 | '@jest/core': 27.5.1(ts-node@10.7.0)
2332 | import-local: 3.1.0
2333 | jest-cli: 27.5.1(ts-node@10.7.0)
2334 | transitivePeerDependencies:
2335 | - bufferutil
2336 | - canvas
2337 | - supports-color
2338 | - ts-node
2339 | - utf-8-validate
2340 | dev: true
2341 |
2342 | /js-tokens@4.0.0:
2343 | resolution: {integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==}
2344 |
2345 | /js-yaml@3.14.1:
2346 | resolution: {integrity: sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==}
2347 | hasBin: true
2348 | dependencies:
2349 | argparse: 1.0.10
2350 | esprima: 4.0.1
2351 | dev: true
2352 |
2353 | /jsbn@0.1.1:
2354 | resolution: {integrity: sha1-peZUwuWi3rXyAdls77yoDA7y9RM=}
2355 | dev: true
2356 |
2357 | /jsdom@13.2.0:
2358 | resolution: {integrity: sha512-cG1NtMWO9hWpqRNRR3dSvEQa8bFI6iLlqU2x4kwX51FQjp0qus8T9aBaAO6iGp3DeBrhdwuKxckknohkmfvsFw==}
2359 | engines: {node: '>=8'}
2360 | dependencies:
2361 | abab: 2.0.5
2362 | acorn: 6.4.2
2363 | acorn-globals: 4.3.4
2364 | array-equal: 1.0.0
2365 | cssom: 0.3.8
2366 | cssstyle: 1.4.0
2367 | data-urls: 1.1.0
2368 | domexception: 1.0.1
2369 | escodegen: 1.14.3
2370 | html-encoding-sniffer: 1.0.2
2371 | nwsapi: 2.2.0
2372 | parse5: 5.1.0
2373 | pn: 1.1.0
2374 | request: 2.88.2
2375 | request-promise-native: 1.0.9(request@2.88.2)
2376 | saxes: 3.1.11
2377 | symbol-tree: 3.2.4
2378 | tough-cookie: 2.5.0
2379 | w3c-hr-time: 1.0.2
2380 | w3c-xmlserializer: 1.1.2
2381 | webidl-conversions: 4.0.2
2382 | whatwg-encoding: 1.0.5
2383 | whatwg-mimetype: 2.3.0
2384 | whatwg-url: 7.1.0
2385 | ws: 6.2.2
2386 | xml-name-validator: 3.0.0
2387 | transitivePeerDependencies:
2388 | - bufferutil
2389 | - utf-8-validate
2390 | dev: true
2391 |
2392 | /jsdom@16.7.0:
2393 | resolution: {integrity: sha512-u9Smc2G1USStM+s/x1ru5Sxrl6mPYCbByG1U/hUmqaVsm4tbNyS7CicOSRyuGQYZhTu0h84qkZZQ/I+dzizSVw==}
2394 | engines: {node: '>=10'}
2395 | peerDependencies:
2396 | canvas: ^2.5.0
2397 | peerDependenciesMeta:
2398 | canvas:
2399 | optional: true
2400 | dependencies:
2401 | abab: 2.0.5
2402 | acorn: 8.7.0
2403 | acorn-globals: 6.0.0
2404 | cssom: 0.4.4
2405 | cssstyle: 2.3.0
2406 | data-urls: 2.0.0
2407 | decimal.js: 10.3.1
2408 | domexception: 2.0.1
2409 | escodegen: 2.0.0
2410 | form-data: 3.0.1
2411 | html-encoding-sniffer: 2.0.1
2412 | http-proxy-agent: 4.0.1
2413 | https-proxy-agent: 5.0.1
2414 | is-potential-custom-element-name: 1.0.1
2415 | nwsapi: 2.2.0
2416 | parse5: 6.0.1
2417 | saxes: 5.0.1
2418 | symbol-tree: 3.2.4
2419 | tough-cookie: 4.0.0
2420 | w3c-hr-time: 1.0.2
2421 | w3c-xmlserializer: 2.0.0
2422 | webidl-conversions: 6.1.0
2423 | whatwg-encoding: 1.0.5
2424 | whatwg-mimetype: 2.3.0
2425 | whatwg-url: 8.7.0
2426 | ws: 7.5.7
2427 | xml-name-validator: 3.0.0
2428 | transitivePeerDependencies:
2429 | - bufferutil
2430 | - supports-color
2431 | - utf-8-validate
2432 | dev: true
2433 |
2434 | /jsesc@2.5.2:
2435 | resolution: {integrity: sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==}
2436 | engines: {node: '>=4'}
2437 | hasBin: true
2438 | dev: true
2439 |
2440 | /json-parse-even-better-errors@2.3.1:
2441 | resolution: {integrity: sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==}
2442 | dev: true
2443 |
2444 | /json-schema-traverse@0.4.1:
2445 | resolution: {integrity: sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==}
2446 | dev: true
2447 |
2448 | /json-schema@0.2.3:
2449 | resolution: {integrity: sha1-tIDIkuWaLwWVTOcnvT8qTogvnhM=}
2450 | dev: true
2451 |
2452 | /json-stringify-safe@5.0.1:
2453 | resolution: {integrity: sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus=}
2454 | dev: true
2455 |
2456 | /json5@2.2.1:
2457 | resolution: {integrity: sha512-1hqLFMSrGHRHxav9q9gNjJ5EXznIxGVO09xQRrwplcS8qs28pZ8s8hupZAmqDwZUmVZ2Qb2jnyPOWcDH8m8dlA==}
2458 | engines: {node: '>=6'}
2459 | hasBin: true
2460 | dev: true
2461 |
2462 | /jsprim@1.4.1:
2463 | resolution: {integrity: sha1-MT5mvB5cwG5Di8G3SZwuXFastqI=}
2464 | engines: {'0': node >=0.6.0}
2465 | dependencies:
2466 | assert-plus: 1.0.0
2467 | extsprintf: 1.3.0
2468 | json-schema: 0.2.3
2469 | verror: 1.10.0
2470 | dev: true
2471 |
2472 | /kleur@3.0.3:
2473 | resolution: {integrity: sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w==}
2474 | engines: {node: '>=6'}
2475 | dev: true
2476 |
2477 | /leven@3.1.0:
2478 | resolution: {integrity: sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A==}
2479 | engines: {node: '>=6'}
2480 | dev: true
2481 |
2482 | /levn@0.3.0:
2483 | resolution: {integrity: sha1-OwmSTt+fCDwEkP3UwLxEIeBHZO4=}
2484 | engines: {node: '>= 0.8.0'}
2485 | dependencies:
2486 | prelude-ls: 1.1.2
2487 | type-check: 0.3.2
2488 | dev: true
2489 |
2490 | /lines-and-columns@1.2.4:
2491 | resolution: {integrity: sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==}
2492 | dev: true
2493 |
2494 | /locate-path@5.0.0:
2495 | resolution: {integrity: sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==}
2496 | engines: {node: '>=8'}
2497 | dependencies:
2498 | p-locate: 4.1.0
2499 | dev: true
2500 |
2501 | /lodash.memoize@4.1.2:
2502 | resolution: {integrity: sha1-vMbEmkKihA7Zl/Mj6tpezRguC/4=}
2503 | dev: true
2504 |
2505 | /lodash.sortby@4.7.0:
2506 | resolution: {integrity: sha1-7dFMgk4sycHgsKG0K7UhBRakJDg=}
2507 | dev: true
2508 |
2509 | /lodash@4.17.21:
2510 | resolution: {integrity: sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==}
2511 | dev: true
2512 |
2513 | /loose-envify@1.4.0:
2514 | resolution: {integrity: sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==}
2515 | hasBin: true
2516 | dependencies:
2517 | js-tokens: 4.0.0
2518 |
2519 | /lru-cache@6.0.0:
2520 | resolution: {integrity: sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==}
2521 | engines: {node: '>=10'}
2522 | dependencies:
2523 | yallist: 4.0.0
2524 | dev: true
2525 |
2526 | /make-dir@3.1.0:
2527 | resolution: {integrity: sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==}
2528 | engines: {node: '>=8'}
2529 | dependencies:
2530 | semver: 6.3.0
2531 | dev: true
2532 |
2533 | /make-error@1.3.6:
2534 | resolution: {integrity: sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==}
2535 | dev: true
2536 |
2537 | /makeerror@1.0.12:
2538 | resolution: {integrity: sha512-JmqCvUhmt43madlpFzG4BQzG2Z3m6tvQDNKdClZnO3VbIudJYmxsT0FNJMeiB2+JTSlTQTSbU8QdesVmwJcmLg==}
2539 | dependencies:
2540 | tmpl: 1.0.5
2541 | dev: true
2542 |
2543 | /merge-stream@2.0.0:
2544 | resolution: {integrity: sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==}
2545 | dev: true
2546 |
2547 | /micromatch@4.0.5:
2548 | resolution: {integrity: sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==}
2549 | engines: {node: '>=8.6'}
2550 | dependencies:
2551 | braces: 3.0.2
2552 | picomatch: 2.3.1
2553 | dev: true
2554 |
2555 | /mime-db@1.48.0:
2556 | resolution: {integrity: sha512-FM3QwxV+TnZYQ2aRqhlKBMHxk10lTbMt3bBkMAp54ddrNeVSfcQYOOKuGuy3Ddrm38I04If834fOUSq1yzslJQ==}
2557 | engines: {node: '>= 0.6'}
2558 | dev: true
2559 |
2560 | /mime-db@1.52.0:
2561 | resolution: {integrity: sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==}
2562 | engines: {node: '>= 0.6'}
2563 | dev: true
2564 |
2565 | /mime-types@2.1.31:
2566 | resolution: {integrity: sha512-XGZnNzm3QvgKxa8dpzyhFTHmpP3l5YNusmne07VUOXxou9CqUqYa/HBy124RqtVh/O2pECas/MOcsDgpilPOPg==}
2567 | engines: {node: '>= 0.6'}
2568 | dependencies:
2569 | mime-db: 1.48.0
2570 | dev: true
2571 |
2572 | /mime-types@2.1.35:
2573 | resolution: {integrity: sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==}
2574 | engines: {node: '>= 0.6'}
2575 | dependencies:
2576 | mime-db: 1.52.0
2577 | dev: true
2578 |
2579 | /mimic-fn@2.1.0:
2580 | resolution: {integrity: sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==}
2581 | engines: {node: '>=6'}
2582 | dev: true
2583 |
2584 | /minimatch@3.1.2:
2585 | resolution: {integrity: sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==}
2586 | dependencies:
2587 | brace-expansion: 1.1.11
2588 | dev: true
2589 |
2590 | /ms@2.1.2:
2591 | resolution: {integrity: sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==}
2592 | dev: true
2593 |
2594 | /natural-compare@1.4.0:
2595 | resolution: {integrity: sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc=}
2596 | dev: true
2597 |
2598 | /node-int64@0.4.0:
2599 | resolution: {integrity: sha1-h6kGXNs1XTGC2PlM4RGIuCXGijs=}
2600 | dev: true
2601 |
2602 | /node-releases@2.0.3:
2603 | resolution: {integrity: sha512-maHFz6OLqYxz+VQyCAtA3PTX4UP/53pa05fyDNc9CwjvJ0yEh6+xBwKsgCxMNhS8taUKBFYxfuiaD9U/55iFaw==}
2604 | dev: true
2605 |
2606 | /normalize-path@3.0.0:
2607 | resolution: {integrity: sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==}
2608 | engines: {node: '>=0.10.0'}
2609 | dev: true
2610 |
2611 | /npm-run-path@4.0.1:
2612 | resolution: {integrity: sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==}
2613 | engines: {node: '>=8'}
2614 | dependencies:
2615 | path-key: 3.1.1
2616 | dev: true
2617 |
2618 | /nwsapi@2.2.0:
2619 | resolution: {integrity: sha512-h2AatdwYH+JHiZpv7pt/gSX1XoRGb7L/qSIeuqA6GwYoF9w1vP1cw42TO0aI2pNyshRK5893hNSl+1//vHK7hQ==}
2620 | dev: true
2621 |
2622 | /oauth-sign@0.9.0:
2623 | resolution: {integrity: sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ==}
2624 | dev: true
2625 |
2626 | /object-assign@4.1.1:
2627 | resolution: {integrity: sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=}
2628 | engines: {node: '>=0.10.0'}
2629 |
2630 | /once@1.4.0:
2631 | resolution: {integrity: sha1-WDsap3WWHUsROsF9nFC6753Xa9E=}
2632 | dependencies:
2633 | wrappy: 1.0.2
2634 | dev: true
2635 |
2636 | /onetime@5.1.2:
2637 | resolution: {integrity: sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==}
2638 | engines: {node: '>=6'}
2639 | dependencies:
2640 | mimic-fn: 2.1.0
2641 | dev: true
2642 |
2643 | /optionator@0.8.3:
2644 | resolution: {integrity: sha512-+IW9pACdk3XWmmTXG8m3upGUJst5XRGzxMRjXzAuJ1XnIFNvfhjjIuYkDvysnPQ7qzqVzLt78BCruntqRhWQbA==}
2645 | engines: {node: '>= 0.8.0'}
2646 | dependencies:
2647 | deep-is: 0.1.4
2648 | fast-levenshtein: 2.0.6
2649 | levn: 0.3.0
2650 | prelude-ls: 1.1.2
2651 | type-check: 0.3.2
2652 | word-wrap: 1.2.3
2653 | dev: true
2654 |
2655 | /p-limit@2.3.0:
2656 | resolution: {integrity: sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==}
2657 | engines: {node: '>=6'}
2658 | dependencies:
2659 | p-try: 2.2.0
2660 | dev: true
2661 |
2662 | /p-locate@4.1.0:
2663 | resolution: {integrity: sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==}
2664 | engines: {node: '>=8'}
2665 | dependencies:
2666 | p-limit: 2.3.0
2667 | dev: true
2668 |
2669 | /p-try@2.2.0:
2670 | resolution: {integrity: sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==}
2671 | engines: {node: '>=6'}
2672 | dev: true
2673 |
2674 | /parse-json@5.2.0:
2675 | resolution: {integrity: sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==}
2676 | engines: {node: '>=8'}
2677 | dependencies:
2678 | '@babel/code-frame': 7.16.7
2679 | error-ex: 1.3.2
2680 | json-parse-even-better-errors: 2.3.1
2681 | lines-and-columns: 1.2.4
2682 | dev: true
2683 |
2684 | /parse5@5.1.0:
2685 | resolution: {integrity: sha512-fxNG2sQjHvlVAYmzBZS9YlDp6PTSSDwa98vkD4QgVDDCAo84z5X1t5XyJQ62ImdLXx5NdIIfihey6xpum9/gRQ==}
2686 | dev: true
2687 |
2688 | /parse5@6.0.1:
2689 | resolution: {integrity: sha512-Ofn/CTFzRGTTxwpNEs9PP93gXShHcTq255nzRYSKe8AkVpZY7e1fpmTfOyoIvjP5HG7Z2ZM7VS9PPhQGW2pOpw==}
2690 | dev: true
2691 |
2692 | /path-exists@4.0.0:
2693 | resolution: {integrity: sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==}
2694 | engines: {node: '>=8'}
2695 | dev: true
2696 |
2697 | /path-is-absolute@1.0.1:
2698 | resolution: {integrity: sha1-F0uSaHNVNP+8es5r9TpanhtcX18=}
2699 | engines: {node: '>=0.10.0'}
2700 | dev: true
2701 |
2702 | /path-key@3.1.1:
2703 | resolution: {integrity: sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==}
2704 | engines: {node: '>=8'}
2705 | dev: true
2706 |
2707 | /path-parse@1.0.7:
2708 | resolution: {integrity: sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==}
2709 | dev: true
2710 |
2711 | /performance-now@2.1.0:
2712 | resolution: {integrity: sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns=}
2713 | dev: true
2714 |
2715 | /picocolors@1.0.0:
2716 | resolution: {integrity: sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==}
2717 | dev: true
2718 |
2719 | /picomatch@2.3.1:
2720 | resolution: {integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==}
2721 | engines: {node: '>=8.6'}
2722 | dev: true
2723 |
2724 | /pirates@4.0.5:
2725 | resolution: {integrity: sha512-8V9+HQPupnaXMA23c5hvl69zXvTwTzyAYasnkb0Tts4XvO4CliqONMOnvlq26rkhLC3nWDFBJf73LU1e1VZLaQ==}
2726 | engines: {node: '>= 6'}
2727 | dev: true
2728 |
2729 | /pkg-dir@4.2.0:
2730 | resolution: {integrity: sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==}
2731 | engines: {node: '>=8'}
2732 | dependencies:
2733 | find-up: 4.1.0
2734 | dev: true
2735 |
2736 | /pn@1.1.0:
2737 | resolution: {integrity: sha512-2qHaIQr2VLRFoxe2nASzsV6ef4yOOH+Fi9FBOVH6cqeSgUnoyySPZkxzLuzd+RYOQTRpROA0ztTMqxROKSb/nA==}
2738 | dev: true
2739 |
2740 | /prelude-ls@1.1.2:
2741 | resolution: {integrity: sha1-IZMqVJ9eUv/ZqCf1cOBL5iqX2lQ=}
2742 | engines: {node: '>= 0.8.0'}
2743 | dev: true
2744 |
2745 | /prettier@2.6.2:
2746 | resolution: {integrity: sha512-PkUpF+qoXTqhOeWL9fu7As8LXsIUZ1WYaJiY/a7McAQzxjk82OF0tibkFXVCDImZtWxbvojFjerkiLb0/q8mew==}
2747 | engines: {node: '>=10.13.0'}
2748 | hasBin: true
2749 | dev: true
2750 |
2751 | /pretty-format@27.5.1:
2752 | resolution: {integrity: sha512-Qb1gy5OrP5+zDf2Bvnzdl3jsTf1qXVMazbvCoKhtKqVs4/YK4ozX4gKQJJVyNe+cajNPn0KoC0MC3FUmaHWEmQ==}
2753 | engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0}
2754 | dependencies:
2755 | ansi-regex: 5.0.1
2756 | ansi-styles: 5.2.0
2757 | react-is: 17.0.2
2758 | dev: true
2759 |
2760 | /prompts@2.4.2:
2761 | resolution: {integrity: sha512-NxNv/kLguCA7p3jE8oL2aEBsrJWgAakBpgmgK6lpPWV+WuOmY6r2/zbAVnP+T8bQlA0nzHXSJSJW0Hq7ylaD2Q==}
2762 | engines: {node: '>= 6'}
2763 | dependencies:
2764 | kleur: 3.0.3
2765 | sisteransi: 1.0.5
2766 | dev: true
2767 |
2768 | /psl@1.8.0:
2769 | resolution: {integrity: sha512-RIdOzyoavK+hA18OGGWDqUTsCLhtA7IcZ/6NCs4fFJaHBDab+pDDmDIByWFRQJq2Cd7r1OoQxBGKOaztq+hjIQ==}
2770 | dev: true
2771 |
2772 | /punycode@2.1.1:
2773 | resolution: {integrity: sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==}
2774 | engines: {node: '>=6'}
2775 | dev: true
2776 |
2777 | /qs@6.5.2:
2778 | resolution: {integrity: sha512-N5ZAX4/LxJmF+7wN74pUD6qAh9/wnvdQcjq9TZjevvXzSUo7bfmw91saqMjzGS2xq91/odN2dW/WOl7qQHNDGA==}
2779 | engines: {node: '>=0.6'}
2780 | dev: true
2781 |
2782 | /react-dom@17.0.2(react@17.0.2):
2783 | resolution: {integrity: sha512-s4h96KtLDUQlsENhMn1ar8t2bEa+q/YAtj8pPPdIjPDGBDIVNsrD9aXNWqspUe6AzKCIG0C1HZZLqLV7qpOBGA==}
2784 | peerDependencies:
2785 | react: 17.0.2
2786 | dependencies:
2787 | loose-envify: 1.4.0
2788 | object-assign: 4.1.1
2789 | react: 17.0.2
2790 | scheduler: 0.20.2
2791 | dev: true
2792 |
2793 | /react-error-boundary@3.1.4(react@17.0.2):
2794 | resolution: {integrity: sha512-uM9uPzZJTF6wRQORmSrvOIgt4lJ9MC1sNgEOj2XGsDTRE4kmpWxg7ENK9EWNKJRMAOY9z0MuF4yIfl6gp4sotA==}
2795 | engines: {node: '>=10', npm: '>=6'}
2796 | peerDependencies:
2797 | react: '>=16.13.1'
2798 | dependencies:
2799 | '@babel/runtime': 7.17.9
2800 | react: 17.0.2
2801 | dev: true
2802 |
2803 | /react-is@17.0.2:
2804 | resolution: {integrity: sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w==}
2805 | dev: true
2806 |
2807 | /react@17.0.2:
2808 | resolution: {integrity: sha512-gnhPt75i/dq/z3/6q/0asP78D0u592D5L1pd7M8P+dck6Fu/jJeL6iVVK23fptSUZj8Vjf++7wXA8UNclGQcbA==}
2809 | engines: {node: '>=0.10.0'}
2810 | dependencies:
2811 | loose-envify: 1.4.0
2812 | object-assign: 4.1.1
2813 |
2814 | /regenerator-runtime@0.13.9:
2815 | resolution: {integrity: sha512-p3VT+cOEgxFsRRA9X4lkI1E+k2/CtnKtU4gcxyaCUreilL/vqI6CdZ3wxVUx3UOUg+gnUOQQcRI7BmSI656MYA==}
2816 | dev: true
2817 |
2818 | /request-promise-core@1.1.4(request@2.88.2):
2819 | resolution: {integrity: sha512-TTbAfBBRdWD7aNNOoVOBH4pN/KigV6LyapYNNlAPA8JwbovRti1E88m3sYAwsLi5ryhPKsE9APwnjFTgdUjTpw==}
2820 | engines: {node: '>=0.10.0'}
2821 | peerDependencies:
2822 | request: ^2.34
2823 | dependencies:
2824 | lodash: 4.17.21
2825 | request: 2.88.2
2826 | dev: true
2827 |
2828 | /request-promise-native@1.0.9(request@2.88.2):
2829 | resolution: {integrity: sha512-wcW+sIUiWnKgNY0dqCpOZkUbF/I+YPi+f09JZIDa39Ec+q82CpSYniDp+ISgTTbKmnpJWASeJBPZmoxH84wt3g==}
2830 | engines: {node: '>=0.12.0'}
2831 | deprecated: request-promise-native has been deprecated because it extends the now deprecated request package, see https://github.com/request/request/issues/3142
2832 | peerDependencies:
2833 | request: ^2.34
2834 | dependencies:
2835 | request: 2.88.2
2836 | request-promise-core: 1.1.4(request@2.88.2)
2837 | stealthy-require: 1.1.1
2838 | tough-cookie: 2.5.0
2839 | dev: true
2840 |
2841 | /request@2.88.2:
2842 | resolution: {integrity: sha512-MsvtOrfG9ZcrOwAW+Qi+F6HbD0CWXEh9ou77uOb7FM2WPhwT7smM833PzanhJLsgXjN89Ir6V2PczXNnMpwKhw==}
2843 | engines: {node: '>= 6'}
2844 | deprecated: request has been deprecated, see https://github.com/request/request/issues/3142
2845 | dependencies:
2846 | aws-sign2: 0.7.0
2847 | aws4: 1.11.0
2848 | caseless: 0.12.0
2849 | combined-stream: 1.0.8
2850 | extend: 3.0.2
2851 | forever-agent: 0.6.1
2852 | form-data: 2.3.3
2853 | har-validator: 5.1.5
2854 | http-signature: 1.2.0
2855 | is-typedarray: 1.0.0
2856 | isstream: 0.1.2
2857 | json-stringify-safe: 5.0.1
2858 | mime-types: 2.1.31
2859 | oauth-sign: 0.9.0
2860 | performance-now: 2.1.0
2861 | qs: 6.5.2
2862 | safe-buffer: 5.2.1
2863 | tough-cookie: 2.5.0
2864 | tunnel-agent: 0.6.0
2865 | uuid: 3.4.0
2866 | dev: true
2867 |
2868 | /require-directory@2.1.1:
2869 | resolution: {integrity: sha1-jGStX9MNqxyXbiNE/+f3kqam30I=}
2870 | engines: {node: '>=0.10.0'}
2871 | dev: true
2872 |
2873 | /resolve-cwd@3.0.0:
2874 | resolution: {integrity: sha512-OrZaX2Mb+rJCpH/6CpSqt9xFVpN++x01XnN2ie9g6P5/3xelLAkXWVADpdz1IHD/KFfEXyE6V0U01OQ3UO2rEg==}
2875 | engines: {node: '>=8'}
2876 | dependencies:
2877 | resolve-from: 5.0.0
2878 | dev: true
2879 |
2880 | /resolve-from@5.0.0:
2881 | resolution: {integrity: sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==}
2882 | engines: {node: '>=8'}
2883 | dev: true
2884 |
2885 | /resolve.exports@1.1.0:
2886 | resolution: {integrity: sha512-J1l+Zxxp4XK3LUDZ9m60LRJF/mAe4z6a4xyabPHk7pvK5t35dACV32iIjJDFeWZFfZlO29w6SZ67knR0tHzJtQ==}
2887 | engines: {node: '>=10'}
2888 | dev: true
2889 |
2890 | /resolve@1.22.0:
2891 | resolution: {integrity: sha512-Hhtrw0nLeSrFQ7phPp4OOcVjLPIeMnRlr5mcnVuMe7M/7eBn98A3hmFRLoFo3DLZkivSYwhRUJTyPyWAk56WLw==}
2892 | hasBin: true
2893 | dependencies:
2894 | is-core-module: 2.8.1
2895 | path-parse: 1.0.7
2896 | supports-preserve-symlinks-flag: 1.0.0
2897 | dev: true
2898 |
2899 | /rimraf@3.0.2:
2900 | resolution: {integrity: sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==}
2901 | hasBin: true
2902 | dependencies:
2903 | glob: 7.2.0
2904 | dev: true
2905 |
2906 | /safe-buffer@5.1.2:
2907 | resolution: {integrity: sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==}
2908 | dev: true
2909 |
2910 | /safe-buffer@5.2.1:
2911 | resolution: {integrity: sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==}
2912 | dev: true
2913 |
2914 | /safer-buffer@2.1.2:
2915 | resolution: {integrity: sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==}
2916 | dev: true
2917 |
2918 | /saxes@3.1.11:
2919 | resolution: {integrity: sha512-Ydydq3zC+WYDJK1+gRxRapLIED9PWeSuuS41wqyoRmzvhhh9nc+QQrVMKJYzJFULazeGhzSV0QleN2wD3boh2g==}
2920 | engines: {node: '>=8'}
2921 | dependencies:
2922 | xmlchars: 2.2.0
2923 | dev: true
2924 |
2925 | /saxes@5.0.1:
2926 | resolution: {integrity: sha512-5LBh1Tls8c9xgGjw3QrMwETmTMVk0oFgvrFSvWx62llR2hcEInrKNZ2GZCCuuy2lvWrdl5jhbpeqc5hRYKFOcw==}
2927 | engines: {node: '>=10'}
2928 | dependencies:
2929 | xmlchars: 2.2.0
2930 | dev: true
2931 |
2932 | /scheduler@0.20.2:
2933 | resolution: {integrity: sha512-2eWfGgAqqWFGqtdMmcL5zCMK1U8KlXv8SQFGglL3CEtd0aDVDWgeF/YoCmvln55m5zSk3J/20hTaSBeSObsQDQ==}
2934 | dependencies:
2935 | loose-envify: 1.4.0
2936 | object-assign: 4.1.1
2937 | dev: true
2938 |
2939 | /semver@6.3.0:
2940 | resolution: {integrity: sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==}
2941 | hasBin: true
2942 | dev: true
2943 |
2944 | /semver@7.3.7:
2945 | resolution: {integrity: sha512-QlYTucUYOews+WeEujDoEGziz4K6c47V/Bd+LjSSYcA94p+DmINdf7ncaUinThfvZyu13lN9OY1XDxt8C0Tw0g==}
2946 | engines: {node: '>=10'}
2947 | hasBin: true
2948 | dependencies:
2949 | lru-cache: 6.0.0
2950 | dev: true
2951 |
2952 | /shallowequal@1.1.0:
2953 | resolution: {integrity: sha512-y0m1JoUZSlPAjXVtPPW70aZWfIL/dSP7AFkRnniLCrK/8MDKog3TySTBmckD+RObVxH0v4Tox67+F14PdED2oQ==}
2954 | dev: false
2955 |
2956 | /shebang-command@2.0.0:
2957 | resolution: {integrity: sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==}
2958 | engines: {node: '>=8'}
2959 | dependencies:
2960 | shebang-regex: 3.0.0
2961 | dev: true
2962 |
2963 | /shebang-regex@3.0.0:
2964 | resolution: {integrity: sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==}
2965 | engines: {node: '>=8'}
2966 | dev: true
2967 |
2968 | /signal-exit@3.0.7:
2969 | resolution: {integrity: sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==}
2970 | dev: true
2971 |
2972 | /sisteransi@1.0.5:
2973 | resolution: {integrity: sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==}
2974 | dev: true
2975 |
2976 | /slash@3.0.0:
2977 | resolution: {integrity: sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==}
2978 | engines: {node: '>=8'}
2979 | dev: true
2980 |
2981 | /source-map-support@0.5.21:
2982 | resolution: {integrity: sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==}
2983 | dependencies:
2984 | buffer-from: 1.1.2
2985 | source-map: 0.6.1
2986 | dev: true
2987 |
2988 | /source-map@0.5.7:
2989 | resolution: {integrity: sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=}
2990 | engines: {node: '>=0.10.0'}
2991 | dev: true
2992 |
2993 | /source-map@0.6.1:
2994 | resolution: {integrity: sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==}
2995 | engines: {node: '>=0.10.0'}
2996 | dev: true
2997 |
2998 | /source-map@0.7.3:
2999 | resolution: {integrity: sha512-CkCj6giN3S+n9qrYiBTX5gystlENnRW5jZeNLHpe6aue+SrHcG5VYwujhW9s4dY31mEGsxBDrHR6oI69fTXsaQ==}
3000 | engines: {node: '>= 8'}
3001 | dev: true
3002 |
3003 | /sprintf-js@1.0.3:
3004 | resolution: {integrity: sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=}
3005 | dev: true
3006 |
3007 | /sshpk@1.16.1:
3008 | resolution: {integrity: sha512-HXXqVUq7+pcKeLqqZj6mHFUMvXtOJt1uoUx09pFW6011inTMxqI8BA8PM95myrIyyKwdnzjdFjLiE6KBPVtJIg==}
3009 | engines: {node: '>=0.10.0'}
3010 | hasBin: true
3011 | dependencies:
3012 | asn1: 0.2.4
3013 | assert-plus: 1.0.0
3014 | bcrypt-pbkdf: 1.0.2
3015 | dashdash: 1.14.1
3016 | ecc-jsbn: 0.1.2
3017 | getpass: 0.1.7
3018 | jsbn: 0.1.1
3019 | safer-buffer: 2.1.2
3020 | tweetnacl: 0.14.5
3021 | dev: true
3022 |
3023 | /stack-utils@2.0.5:
3024 | resolution: {integrity: sha512-xrQcmYhOsn/1kX+Vraq+7j4oE2j/6BFscZ0etmYg81xuM8Gq0022Pxb8+IqgOFUIaxHs0KaSb7T1+OegiNrNFA==}
3025 | engines: {node: '>=10'}
3026 | dependencies:
3027 | escape-string-regexp: 2.0.0
3028 | dev: true
3029 |
3030 | /stealthy-require@1.1.1:
3031 | resolution: {integrity: sha1-NbCYdbT/SfJqd35QmzCQoyJr8ks=}
3032 | engines: {node: '>=0.10.0'}
3033 | dev: true
3034 |
3035 | /string-length@4.0.2:
3036 | resolution: {integrity: sha512-+l6rNN5fYHNhZZy41RXsYptCjA2Igmq4EG7kZAYFQI1E1VTXarr6ZPXBg6eq7Y6eK4FEhY6AJlyuFIb/v/S0VQ==}
3037 | engines: {node: '>=10'}
3038 | dependencies:
3039 | char-regex: 1.0.2
3040 | strip-ansi: 6.0.1
3041 | dev: true
3042 |
3043 | /string-width@4.2.3:
3044 | resolution: {integrity: sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==}
3045 | engines: {node: '>=8'}
3046 | dependencies:
3047 | emoji-regex: 8.0.0
3048 | is-fullwidth-code-point: 3.0.0
3049 | strip-ansi: 6.0.1
3050 | dev: true
3051 |
3052 | /strip-ansi@6.0.1:
3053 | resolution: {integrity: sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==}
3054 | engines: {node: '>=8'}
3055 | dependencies:
3056 | ansi-regex: 5.0.1
3057 | dev: true
3058 |
3059 | /strip-bom@4.0.0:
3060 | resolution: {integrity: sha512-3xurFv5tEgii33Zi8Jtp55wEIILR9eh34FAW00PZf+JnSsTmV/ioewSgQl97JHvgjoRGwPShsWm+IdrxB35d0w==}
3061 | engines: {node: '>=8'}
3062 | dev: true
3063 |
3064 | /strip-final-newline@2.0.0:
3065 | resolution: {integrity: sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==}
3066 | engines: {node: '>=6'}
3067 | dev: true
3068 |
3069 | /strip-json-comments@3.1.1:
3070 | resolution: {integrity: sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==}
3071 | engines: {node: '>=8'}
3072 | dev: true
3073 |
3074 | /supports-color@5.5.0:
3075 | resolution: {integrity: sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==}
3076 | engines: {node: '>=4'}
3077 | dependencies:
3078 | has-flag: 3.0.0
3079 | dev: true
3080 |
3081 | /supports-color@7.2.0:
3082 | resolution: {integrity: sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==}
3083 | engines: {node: '>=8'}
3084 | dependencies:
3085 | has-flag: 4.0.0
3086 | dev: true
3087 |
3088 | /supports-color@8.1.1:
3089 | resolution: {integrity: sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==}
3090 | engines: {node: '>=10'}
3091 | dependencies:
3092 | has-flag: 4.0.0
3093 | dev: true
3094 |
3095 | /supports-hyperlinks@2.2.0:
3096 | resolution: {integrity: sha512-6sXEzV5+I5j8Bmq9/vUphGRM/RJNT9SCURJLjwfOg51heRtguGWDzcaBlgAzKhQa0EVNpPEKzQuBwZ8S8WaCeQ==}
3097 | engines: {node: '>=8'}
3098 | dependencies:
3099 | has-flag: 4.0.0
3100 | supports-color: 7.2.0
3101 | dev: true
3102 |
3103 | /supports-preserve-symlinks-flag@1.0.0:
3104 | resolution: {integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==}
3105 | engines: {node: '>= 0.4'}
3106 | dev: true
3107 |
3108 | /symbol-tree@3.2.4:
3109 | resolution: {integrity: sha512-9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw==}
3110 | dev: true
3111 |
3112 | /terminal-link@2.1.1:
3113 | resolution: {integrity: sha512-un0FmiRUQNr5PJqy9kP7c40F5BOfpGlYTrxonDChEZB7pzZxRNp/bt+ymiy9/npwXya9KH99nJ/GXFIiUkYGFQ==}
3114 | engines: {node: '>=8'}
3115 | dependencies:
3116 | ansi-escapes: 4.3.2
3117 | supports-hyperlinks: 2.2.0
3118 | dev: true
3119 |
3120 | /test-exclude@6.0.0:
3121 | resolution: {integrity: sha512-cAGWPIyOHU6zlmg88jwm7VRyXnMN7iV68OGAbYDk/Mh/xC/pzVPlQtY6ngoIH/5/tciuhGfvESU8GrHrcxD56w==}
3122 | engines: {node: '>=8'}
3123 | dependencies:
3124 | '@istanbuljs/schema': 0.1.3
3125 | glob: 7.2.0
3126 | minimatch: 3.1.2
3127 | dev: true
3128 |
3129 | /throat@6.0.1:
3130 | resolution: {integrity: sha512-8hmiGIJMDlwjg7dlJ4yKGLK8EsYqKgPWbG3b4wjJddKNwc7N7Dpn08Df4szr/sZdMVeOstrdYSsqzX6BYbcB+w==}
3131 | dev: true
3132 |
3133 | /tmpl@1.0.5:
3134 | resolution: {integrity: sha512-3f0uOEAQwIqGuWW2MVzYg8fV/QNnc/IpuJNG837rLuczAaLVHslWHZQj4IGiEl5Hs3kkbhwL9Ab7Hrsmuj+Smw==}
3135 | dev: true
3136 |
3137 | /to-fast-properties@2.0.0:
3138 | resolution: {integrity: sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==}
3139 | engines: {node: '>=4'}
3140 | dev: true
3141 |
3142 | /to-regex-range@5.0.1:
3143 | resolution: {integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==}
3144 | engines: {node: '>=8.0'}
3145 | dependencies:
3146 | is-number: 7.0.0
3147 | dev: true
3148 |
3149 | /tough-cookie@2.5.0:
3150 | resolution: {integrity: sha512-nlLsUzgm1kfLXSXfRZMc1KLAugd4hqJHDTvc2hDIwS3mZAfMEuMbc03SujMF+GEcpaX/qboeycw6iO8JwVv2+g==}
3151 | engines: {node: '>=0.8'}
3152 | dependencies:
3153 | psl: 1.8.0
3154 | punycode: 2.1.1
3155 | dev: true
3156 |
3157 | /tough-cookie@4.0.0:
3158 | resolution: {integrity: sha512-tHdtEpQCMrc1YLrMaqXXcj6AxhYi/xgit6mZu1+EDWUn+qhUf8wMQoFIy9NXuq23zAwtcB0t/MjACGR18pcRbg==}
3159 | engines: {node: '>=6'}
3160 | dependencies:
3161 | psl: 1.8.0
3162 | punycode: 2.1.1
3163 | universalify: 0.1.2
3164 | dev: true
3165 |
3166 | /tr46@1.0.1:
3167 | resolution: {integrity: sha1-qLE/1r/SSJUZZ0zN5VujaTtwbQk=}
3168 | dependencies:
3169 | punycode: 2.1.1
3170 | dev: true
3171 |
3172 | /tr46@2.1.0:
3173 | resolution: {integrity: sha512-15Ih7phfcdP5YxqiB+iDtLoaTz4Nd35+IiAv0kQ5FNKHzXgdWqPoTIqEDDJmXceQt4JZk6lVPT8lnDlPpGDppw==}
3174 | engines: {node: '>=8'}
3175 | dependencies:
3176 | punycode: 2.1.1
3177 | dev: true
3178 |
3179 | /ts-jest@27.1.4(@babel/core@7.17.9)(@types/jest@27.4.1)(jest@27.5.1)(typescript@4.6.3):
3180 | resolution: {integrity: sha512-qjkZlVPWVctAezwsOD1OPzbZ+k7zA5z3oxII4dGdZo5ggX/PL7kvwTM0pXTr10fAtbiVpJaL3bWd502zAhpgSQ==}
3181 | engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0}
3182 | hasBin: true
3183 | peerDependencies:
3184 | '@babel/core': '>=7.0.0-beta.0 <8'
3185 | '@types/jest': ^27.0.0
3186 | babel-jest: '>=27.0.0 <28'
3187 | esbuild: '*'
3188 | jest: ^27.0.0
3189 | typescript: '>=3.8 <5.0'
3190 | peerDependenciesMeta:
3191 | '@babel/core':
3192 | optional: true
3193 | '@types/jest':
3194 | optional: true
3195 | babel-jest:
3196 | optional: true
3197 | esbuild:
3198 | optional: true
3199 | dependencies:
3200 | '@babel/core': 7.17.9
3201 | '@types/jest': 27.4.1
3202 | bs-logger: 0.2.6
3203 | fast-json-stable-stringify: 2.1.0
3204 | jest: 27.5.1(ts-node@10.7.0)
3205 | jest-util: 27.5.1
3206 | json5: 2.2.1
3207 | lodash.memoize: 4.1.2
3208 | make-error: 1.3.6
3209 | semver: 7.3.7
3210 | typescript: 4.6.3
3211 | yargs-parser: 20.2.9
3212 | dev: true
3213 |
3214 | /ts-node@10.7.0(@types/node@17.0.24)(typescript@4.6.3):
3215 | resolution: {integrity: sha512-TbIGS4xgJoX2i3do417KSaep1uRAW/Lu+WAL2doDHC0D6ummjirVOXU5/7aiZotbQ5p1Zp9tP7U6cYhA0O7M8A==}
3216 | hasBin: true
3217 | peerDependencies:
3218 | '@swc/core': '>=1.2.50'
3219 | '@swc/wasm': '>=1.2.50'
3220 | '@types/node': '*'
3221 | typescript: '>=2.7'
3222 | peerDependenciesMeta:
3223 | '@swc/core':
3224 | optional: true
3225 | '@swc/wasm':
3226 | optional: true
3227 | dependencies:
3228 | '@cspotcode/source-map-support': 0.7.0
3229 | '@tsconfig/node10': 1.0.8
3230 | '@tsconfig/node12': 1.0.9
3231 | '@tsconfig/node14': 1.0.1
3232 | '@tsconfig/node16': 1.0.2
3233 | '@types/node': 17.0.24
3234 | acorn: 8.7.0
3235 | acorn-walk: 8.2.0
3236 | arg: 4.1.3
3237 | create-require: 1.1.1
3238 | diff: 4.0.2
3239 | make-error: 1.3.6
3240 | typescript: 4.6.3
3241 | v8-compile-cache-lib: 3.0.0
3242 | yn: 3.1.1
3243 | dev: true
3244 |
3245 | /tunnel-agent@0.6.0:
3246 | resolution: {integrity: sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0=}
3247 | dependencies:
3248 | safe-buffer: 5.2.1
3249 | dev: true
3250 |
3251 | /tweetnacl@0.14.5:
3252 | resolution: {integrity: sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q=}
3253 | dev: true
3254 |
3255 | /type-check@0.3.2:
3256 | resolution: {integrity: sha1-WITKtRLPHTVeP7eE8wgEsrUg23I=}
3257 | engines: {node: '>= 0.8.0'}
3258 | dependencies:
3259 | prelude-ls: 1.1.2
3260 | dev: true
3261 |
3262 | /type-detect@4.0.8:
3263 | resolution: {integrity: sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==}
3264 | engines: {node: '>=4'}
3265 | dev: true
3266 |
3267 | /type-fest@0.21.3:
3268 | resolution: {integrity: sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==}
3269 | engines: {node: '>=10'}
3270 | dev: true
3271 |
3272 | /typedarray-to-buffer@3.1.5:
3273 | resolution: {integrity: sha512-zdu8XMNEDepKKR+XYOXAVPtWui0ly0NtohUscw+UmaHiAWT8hrV1rr//H6V+0DvJ3OQ19S979M0laLfX8rm82Q==}
3274 | dependencies:
3275 | is-typedarray: 1.0.0
3276 | dev: true
3277 |
3278 | /typescript@4.6.3:
3279 | resolution: {integrity: sha512-yNIatDa5iaofVozS/uQJEl3JRWLKKGJKh6Yaiv0GLGSuhpFJe7P3SbHZ8/yjAHRQwKRoA6YZqlfjXWmVzoVSMw==}
3280 | engines: {node: '>=4.2.0'}
3281 | hasBin: true
3282 | dev: true
3283 |
3284 | /universalify@0.1.2:
3285 | resolution: {integrity: sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==}
3286 | engines: {node: '>= 4.0.0'}
3287 | dev: true
3288 |
3289 | /uri-js@4.4.1:
3290 | resolution: {integrity: sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==}
3291 | dependencies:
3292 | punycode: 2.1.1
3293 | dev: true
3294 |
3295 | /use-sync-external-store@1.0.0(react@17.0.2):
3296 | resolution: {integrity: sha512-AFVsxg5GkFg8GDcxnl+Z0lMAz9rE8DGJCc28qnBuQF7lac57B5smLcT37aXpXIIPz75rW4g3eXHPjhHwdGskOw==}
3297 | peerDependencies:
3298 | react: ^16.8.0 || ^17.0.0 || ^18.0.0-rc
3299 | dependencies:
3300 | react: 17.0.2
3301 | dev: false
3302 |
3303 | /uuid@3.4.0:
3304 | resolution: {integrity: sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==}
3305 | deprecated: Please upgrade to version 7 or higher. Older versions may use Math.random() in certain circumstances, which is known to be problematic. See https://v8.dev/blog/math-random for details.
3306 | hasBin: true
3307 | dev: true
3308 |
3309 | /v8-compile-cache-lib@3.0.0:
3310 | resolution: {integrity: sha512-mpSYqfsFvASnSn5qMiwrr4VKfumbPyONLCOPmsR3A6pTY/r0+tSaVbgPWSAIuzbk3lCTa+FForeTiO+wBQGkjA==}
3311 | dev: true
3312 |
3313 | /v8-to-istanbul@8.1.1:
3314 | resolution: {integrity: sha512-FGtKtv3xIpR6BYhvgH8MI/y78oT7d8Au3ww4QIxymrCtZEh5b8gCw2siywE+puhEmuWKDtmfrvF5UlB298ut3w==}
3315 | engines: {node: '>=10.12.0'}
3316 | dependencies:
3317 | '@types/istanbul-lib-coverage': 2.0.4
3318 | convert-source-map: 1.8.0
3319 | source-map: 0.7.3
3320 | dev: true
3321 |
3322 | /verror@1.10.0:
3323 | resolution: {integrity: sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA=}
3324 | engines: {'0': node >=0.6.0}
3325 | dependencies:
3326 | assert-plus: 1.0.0
3327 | core-util-is: 1.0.2
3328 | extsprintf: 1.3.0
3329 | dev: true
3330 |
3331 | /w3c-hr-time@1.0.2:
3332 | resolution: {integrity: sha512-z8P5DvDNjKDoFIHK7q8r8lackT6l+jo/Ye3HOle7l9nICP9lf1Ci25fy9vHd0JOWewkIFzXIEig3TdKT7JQ5fQ==}
3333 | dependencies:
3334 | browser-process-hrtime: 1.0.0
3335 | dev: true
3336 |
3337 | /w3c-xmlserializer@1.1.2:
3338 | resolution: {integrity: sha512-p10l/ayESzrBMYWRID6xbuCKh2Fp77+sA0doRuGn4tTIMrrZVeqfpKjXHY+oDh3K4nLdPgNwMTVP6Vp4pvqbNg==}
3339 | dependencies:
3340 | domexception: 1.0.1
3341 | webidl-conversions: 4.0.2
3342 | xml-name-validator: 3.0.0
3343 | dev: true
3344 |
3345 | /w3c-xmlserializer@2.0.0:
3346 | resolution: {integrity: sha512-4tzD0mF8iSiMiNs30BiLO3EpfGLZUT2MSX/G+o7ZywDzliWQ3OPtTZ0PTC3B3ca1UAf4cJMHB+2Bf56EriJuRA==}
3347 | engines: {node: '>=10'}
3348 | dependencies:
3349 | xml-name-validator: 3.0.0
3350 | dev: true
3351 |
3352 | /walker@1.0.8:
3353 | resolution: {integrity: sha512-ts/8E8l5b7kY0vlWLewOkDXMmPdLcVV4GmOQLyxuSswIJsweeFZtAsMF7k1Nszz+TYBQrlYRmzOnr398y1JemQ==}
3354 | dependencies:
3355 | makeerror: 1.0.12
3356 | dev: true
3357 |
3358 | /webidl-conversions@4.0.2:
3359 | resolution: {integrity: sha512-YQ+BmxuTgd6UXZW3+ICGfyqRyHXVlD5GtQr5+qjiNW7bF0cqrzX500HVXPBOvgXb5YnzDd+h0zqyv61KUD7+Sg==}
3360 | dev: true
3361 |
3362 | /webidl-conversions@5.0.0:
3363 | resolution: {integrity: sha512-VlZwKPCkYKxQgeSbH5EyngOmRp7Ww7I9rQLERETtf5ofd9pGeswWiOtogpEO850jziPRarreGxn5QIiTqpb2wA==}
3364 | engines: {node: '>=8'}
3365 | dev: true
3366 |
3367 | /webidl-conversions@6.1.0:
3368 | resolution: {integrity: sha512-qBIvFLGiBpLjfwmYAaHPXsn+ho5xZnGvyGvsarywGNc8VyQJUMHJ8OBKGGrPER0okBeMDaan4mNBlgBROxuI8w==}
3369 | engines: {node: '>=10.4'}
3370 | dev: true
3371 |
3372 | /whatwg-encoding@1.0.5:
3373 | resolution: {integrity: sha512-b5lim54JOPN9HtzvK9HFXvBma/rnfFeqsic0hSpjtDbVxR3dJKLc+KB4V6GgiGOvl7CY/KNh8rxSo9DKQrnUEw==}
3374 | dependencies:
3375 | iconv-lite: 0.4.24
3376 | dev: true
3377 |
3378 | /whatwg-mimetype@2.3.0:
3379 | resolution: {integrity: sha512-M4yMwr6mAnQz76TbJm914+gPpB/nCwvZbJU28cUD6dR004SAxDLOOSUaB1JDRqLtaOV/vi0IC5lEAGFgrjGv/g==}
3380 | dev: true
3381 |
3382 | /whatwg-url@7.1.0:
3383 | resolution: {integrity: sha512-WUu7Rg1DroM7oQvGWfOiAK21n74Gg+T4elXEQYkOhtyLeWiJFoOGLXPKI/9gzIie9CtwVLm8wtw6YJdKyxSjeg==}
3384 | dependencies:
3385 | lodash.sortby: 4.7.0
3386 | tr46: 1.0.1
3387 | webidl-conversions: 4.0.2
3388 | dev: true
3389 |
3390 | /whatwg-url@8.7.0:
3391 | resolution: {integrity: sha512-gAojqb/m9Q8a5IV96E3fHJM70AzCkgt4uXYX2O7EmuyOnLrViCQlsEBmF9UQIu3/aeAIp2U17rtbpZWNntQqdg==}
3392 | engines: {node: '>=10'}
3393 | dependencies:
3394 | lodash: 4.17.21
3395 | tr46: 2.1.0
3396 | webidl-conversions: 6.1.0
3397 | dev: true
3398 |
3399 | /which@2.0.2:
3400 | resolution: {integrity: sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==}
3401 | engines: {node: '>= 8'}
3402 | hasBin: true
3403 | dependencies:
3404 | isexe: 2.0.0
3405 | dev: true
3406 |
3407 | /window@4.2.6:
3408 | resolution: {integrity: sha512-vk5Uv4hlPkZjUTAUVJUyvJQrbA05T99Qm3CTk0krXHKdoghxV70uPbHK3uGmrI1SfyJpdYncvZ7CbewJ30e9MQ==}
3409 | engines: {node: '>=4'}
3410 | dependencies:
3411 | jsdom: 13.2.0
3412 | transitivePeerDependencies:
3413 | - bufferutil
3414 | - utf-8-validate
3415 | dev: true
3416 |
3417 | /word-wrap@1.2.3:
3418 | resolution: {integrity: sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==}
3419 | engines: {node: '>=0.10.0'}
3420 | dev: true
3421 |
3422 | /wrap-ansi@7.0.0:
3423 | resolution: {integrity: sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==}
3424 | engines: {node: '>=10'}
3425 | dependencies:
3426 | ansi-styles: 4.3.0
3427 | string-width: 4.2.3
3428 | strip-ansi: 6.0.1
3429 | dev: true
3430 |
3431 | /wrappy@1.0.2:
3432 | resolution: {integrity: sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=}
3433 | dev: true
3434 |
3435 | /write-file-atomic@3.0.3:
3436 | resolution: {integrity: sha512-AvHcyZ5JnSfq3ioSyjrBkH9yW4m7Ayk8/9My/DD9onKeu/94fwrMocemO2QAJFAlnnDN+ZDS+ZjAR5ua1/PV/Q==}
3437 | dependencies:
3438 | imurmurhash: 0.1.4
3439 | is-typedarray: 1.0.0
3440 | signal-exit: 3.0.7
3441 | typedarray-to-buffer: 3.1.5
3442 | dev: true
3443 |
3444 | /ws@6.2.2:
3445 | resolution: {integrity: sha512-zmhltoSR8u1cnDsD43TX59mzoMZsLKqUweyYBAIvTngR3shc0W6aOZylZmq/7hqyVxPdi+5Ud2QInblgyE72fw==}
3446 | peerDependencies:
3447 | bufferutil: ^4.0.1
3448 | utf-8-validate: ^5.0.2
3449 | peerDependenciesMeta:
3450 | bufferutil:
3451 | optional: true
3452 | utf-8-validate:
3453 | optional: true
3454 | dependencies:
3455 | async-limiter: 1.0.1
3456 | dev: true
3457 |
3458 | /ws@7.5.7:
3459 | resolution: {integrity: sha512-KMvVuFzpKBuiIXW3E4u3mySRO2/mCHSyZDJQM5NQ9Q9KHWHWh0NHgfbRMLLrceUK5qAL4ytALJbpRMjixFZh8A==}
3460 | engines: {node: '>=8.3.0'}
3461 | peerDependencies:
3462 | bufferutil: ^4.0.1
3463 | utf-8-validate: ^5.0.2
3464 | peerDependenciesMeta:
3465 | bufferutil:
3466 | optional: true
3467 | utf-8-validate:
3468 | optional: true
3469 | dev: true
3470 |
3471 | /xml-name-validator@3.0.0:
3472 | resolution: {integrity: sha512-A5CUptxDsvxKJEU3yO6DuWBSJz/qizqzJKOMIfUJHETbBw/sFaDxgd6fxm1ewUaM0jZ444Fc5vC5ROYurg/4Pw==}
3473 | dev: true
3474 |
3475 | /xmlchars@2.2.0:
3476 | resolution: {integrity: sha512-JZnDKK8B0RCDw84FNdDAIpZK+JuJw+s7Lz8nksI7SIuU3UXJJslUthsi+uWBUYOwPFwW7W7PRLRfUKpxjtjFCw==}
3477 | dev: true
3478 |
3479 | /y18n@5.0.8:
3480 | resolution: {integrity: sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==}
3481 | engines: {node: '>=10'}
3482 | dev: true
3483 |
3484 | /yallist@4.0.0:
3485 | resolution: {integrity: sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==}
3486 | dev: true
3487 |
3488 | /yargs-parser@20.2.9:
3489 | resolution: {integrity: sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w==}
3490 | engines: {node: '>=10'}
3491 | dev: true
3492 |
3493 | /yargs@16.2.0:
3494 | resolution: {integrity: sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==}
3495 | engines: {node: '>=10'}
3496 | dependencies:
3497 | cliui: 7.0.4
3498 | escalade: 3.1.1
3499 | get-caller-file: 2.0.5
3500 | require-directory: 2.1.1
3501 | string-width: 4.2.3
3502 | y18n: 5.0.8
3503 | yargs-parser: 20.2.9
3504 | dev: true
3505 |
3506 | /yn@3.1.1:
3507 | resolution: {integrity: sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q==}
3508 | engines: {node: '>=6'}
3509 | dev: true
3510 |
--------------------------------------------------------------------------------
/src/index.ts:
--------------------------------------------------------------------------------
1 | import { useCallback } from 'react'
2 | import produce, { Draft } from 'immer'
3 | import shallowEqual from 'shallowequal'
4 | import { useSyncExternalStoreWithSelector } from 'use-sync-external-store/shim/with-selector'
5 |
6 | type Listener = (state: T) => void
7 | type Mutator = (state: Draft) => void
8 | type Selector = (state: T) => Result
9 |
10 | export class Store {
11 | private _state: T
12 | private _listeners: Array> = []
13 |
14 | constructor(initialState: T) {
15 | this._state = Object(initialState)
16 | this.getState = this.getState.bind(this)
17 | this.update = this.update.bind(this)
18 | this.subscribe = this.subscribe.bind(this)
19 | this.useStore = this.useStore.bind(this)
20 | }
21 |
22 | getState(): Readonly {
23 | return this._state
24 | }
25 |
26 | update(mutate: Mutator) {
27 | const nextState = produce(this._state, mutate)
28 | if (this._state !== (this._state = nextState)) {
29 | this._listeners.forEach(fn => fn(this._state))
30 | }
31 | }
32 |
33 | subscribe(listener: Listener) {
34 | this._listeners.push(listener)
35 | return () => void this._listeners.splice(this._listeners.indexOf(listener), 1)
36 | }
37 |
38 | useStore = Selector>(
39 | selector: F = passThrough as any,
40 | deps: any[] = []
41 | ): ReturnType {
42 | return useSyncExternalStoreWithSelector(
43 | this.subscribe,
44 | this.getState,
45 | this.getState,
46 | useCallback(selector, deps),
47 | shallowEqual
48 | )
49 | }
50 | }
51 |
52 | function passThrough(val: T) {
53 | return val
54 | }
55 |
56 | export function createStore(initialState: T) {
57 | return new Store(initialState)
58 | }
59 |
60 | export default createStore
61 |
--------------------------------------------------------------------------------
/tsconfig.json:
--------------------------------------------------------------------------------
1 | {
2 | "compilerOptions": {
3 | "target": "es5",
4 | "module": "commonjs",
5 | "lib": ["esnext"],
6 | "strict": true,
7 | "esModuleInterop": true
8 | }
9 | }
10 |
--------------------------------------------------------------------------------
/tsconfig.prod.json:
--------------------------------------------------------------------------------
1 | {
2 | "extends": "./tsconfig.json",
3 | "compilerOptions": {
4 | "declaration": true,
5 | "outDir": "dist"
6 | },
7 | "files": ["src/index.ts"]
8 | }
9 |
--------------------------------------------------------------------------------