├── .gitignore ├── README.md ├── api.http ├── jest.config.ts ├── package-lock.json ├── package.json ├── src ├── application │ ├── create-route.use-case.spec.ts │ ├── create-route.use-case.ts │ └── list-all-routes.use-case.ts ├── domain │ ├── route.entity.spec.ts │ ├── route.entity.ts │ └── route.repository.ts └── infra │ ├── db │ ├── route-in-memory.repository.spec.ts │ └── route-in-memory.repository.ts │ └── http │ └── express │ └── index.ts └── tsconfig.json /.gitignore: -------------------------------------------------------------------------------- 1 | .history/ 2 | node_modules/ -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | ![Imersão Full Stack && Full Cycle](https://events-fullcycle.s3.amazonaws.com/events-fullcycle/static/site/img/grupo_4417.png) 2 | 3 | Participe gratuitamente: https://imersao.fullcycle.com.br/ 4 | 5 | ## Sobre o repositório 6 | Esse repositório contém o código-fonte ministrado na aula TypeScript com Clean Architecture: [https://www.youtube.com/watch?v=yLPxkIxbNDg](https://www.youtube.com/watch?v=yLPxkIxbNDg) 7 | 8 | ## Rodar a aplicação 9 | 10 | Execute os comandos: 11 | 12 | ```bash 13 | npm install 14 | npm run express 15 | ``` 16 | 17 | Acesse http://localhost:3000. 18 | -------------------------------------------------------------------------------- /api.http: -------------------------------------------------------------------------------- 1 | GET http://localhost:3000/routes 2 | 3 | ### 4 | POST http://localhost:3000/routes 5 | Content-Type: application/json 6 | 7 | { 8 | "title": "minha rota", 9 | "startPosition": { "lat": 0, "lng": 1 }, 10 | "endPosition": { "lat": 2, "lng": 3 } 11 | } -------------------------------------------------------------------------------- /jest.config.ts: -------------------------------------------------------------------------------- 1 | /* 2 | * For a detailed explanation regarding each configuration property and type check, visit: 3 | * https://jestjs.io/docs/configuration 4 | */ 5 | 6 | export default { 7 | // All imported modules in your tests should be mocked automatically 8 | // automock: false, 9 | 10 | // Stop running tests after `n` failures 11 | // bail: 0, 12 | 13 | // The directory where Jest should store its cached dependency information 14 | // cacheDirectory: "/tmp/jest_rs", 15 | 16 | // Automatically clear mock calls, instances, contexts and results before every test 17 | clearMocks: true, 18 | 19 | // Indicates whether the coverage information should be collected while executing the test 20 | // collectCoverage: false, 21 | 22 | // An array of glob patterns indicating a set of files for which coverage information should be collected 23 | // collectCoverageFrom: undefined, 24 | 25 | // The directory where Jest should output its coverage files 26 | // coverageDirectory: undefined, 27 | 28 | // An array of regexp pattern strings used to skip coverage collection 29 | // coveragePathIgnorePatterns: [ 30 | // "/node_modules/" 31 | // ], 32 | 33 | // Indicates which provider should be used to instrument code for coverage 34 | coverageProvider: "v8", 35 | 36 | // A list of reporter names that Jest uses when writing coverage reports 37 | // coverageReporters: [ 38 | // "json", 39 | // "text", 40 | // "lcov", 41 | // "clover" 42 | // ], 43 | 44 | // An object that configures minimum threshold enforcement for coverage results 45 | // coverageThreshold: undefined, 46 | 47 | // A path to a custom dependency extractor 48 | // dependencyExtractor: undefined, 49 | 50 | // Make calling deprecated APIs throw helpful error messages 51 | // errorOnDeprecated: false, 52 | 53 | // The default configuration for fake timers 54 | // fakeTimers: { 55 | // "enableGlobally": false 56 | // }, 57 | 58 | // Force coverage collection from ignored files using an array of glob patterns 59 | // forceCoverageMatch: [], 60 | 61 | // A path to a module which exports an async function that is triggered once before all test suites 62 | // globalSetup: undefined, 63 | 64 | // A path to a module which exports an async function that is triggered once after all test suites 65 | // globalTeardown: undefined, 66 | 67 | // A set of global variables that need to be available in all test environments 68 | // globals: {}, 69 | 70 | // The maximum amount of workers used to run your tests. Can be specified as % or a number. E.g. maxWorkers: 10% will use 10% of your CPU amount + 1 as the maximum worker number. maxWorkers: 2 will use a maximum of 2 workers. 71 | // maxWorkers: "50%", 72 | 73 | // An array of directory names to be searched recursively up from the requiring module's location 74 | // moduleDirectories: [ 75 | // "node_modules" 76 | // ], 77 | 78 | // An array of file extensions your modules use 79 | // moduleFileExtensions: [ 80 | // "js", 81 | // "mjs", 82 | // "cjs", 83 | // "jsx", 84 | // "ts", 85 | // "tsx", 86 | // "json", 87 | // "node" 88 | // ], 89 | 90 | // A map from regular expressions to module names or to arrays of module names that allow to stub out resources with a single module 91 | // moduleNameMapper: {}, 92 | 93 | // An array of regexp pattern strings, matched against all module paths before considered 'visible' to the module loader 94 | // modulePathIgnorePatterns: [], 95 | 96 | // Activates notifications for test results 97 | // notify: false, 98 | 99 | // An enum that specifies notification mode. Requires { notify: true } 100 | // notifyMode: "failure-change", 101 | 102 | // A preset that is used as a base for Jest's configuration 103 | // preset: undefined, 104 | 105 | // Run tests from one or more projects 106 | // projects: undefined, 107 | 108 | // Use this configuration option to add custom reporters to Jest 109 | // reporters: undefined, 110 | 111 | // Automatically reset mock state before every test 112 | // resetMocks: false, 113 | 114 | // Reset the module registry before running each individual test 115 | // resetModules: false, 116 | 117 | // A path to a custom resolver 118 | // resolver: undefined, 119 | 120 | // Automatically restore mock state and implementation before every test 121 | // restoreMocks: false, 122 | 123 | // The root directory that Jest should scan for tests and modules within 124 | // rootDir: undefined, 125 | 126 | // A list of paths to directories that Jest should use to search for files in 127 | // roots: [ 128 | // "" 129 | // ], 130 | 131 | // Allows you to use a custom runner instead of Jest's default test runner 132 | // runner: "jest-runner", 133 | 134 | // The paths to modules that run some code to configure or set up the testing environment before each test 135 | // setupFiles: [], 136 | 137 | // A list of paths to modules that run some code to configure or set up the testing framework before each test 138 | // setupFilesAfterEnv: [], 139 | 140 | // The number of seconds after which a test is considered as slow and reported as such in the results. 141 | // slowTestThreshold: 5, 142 | 143 | // A list of paths to snapshot serializer modules Jest should use for snapshot testing 144 | // snapshotSerializers: [], 145 | 146 | // The test environment that will be used for testing 147 | // testEnvironment: "jest-environment-node", 148 | 149 | // Options that will be passed to the testEnvironment 150 | // testEnvironmentOptions: {}, 151 | 152 | // Adds a location field to test results 153 | // testLocationInResults: false, 154 | 155 | // The glob patterns Jest uses to detect test files 156 | // testMatch: [ 157 | // "**/__tests__/**/*.[jt]s?(x)", 158 | // "**/?(*.)+(spec|test).[tj]s?(x)" 159 | // ], 160 | 161 | // An array of regexp pattern strings that are matched against all test paths, matched tests are skipped 162 | // testPathIgnorePatterns: [ 163 | // "/node_modules/" 164 | // ], 165 | 166 | // The regexp pattern or array of patterns that Jest uses to detect test files 167 | // testRegex: [], 168 | 169 | // This option allows the use of a custom results processor 170 | // testResultsProcessor: undefined, 171 | 172 | // This option allows use of a custom test runner 173 | // testRunner: "jest-circus/runner", 174 | 175 | // A map from regular expressions to paths to transformers 176 | transform: { 177 | "^.+\\.ts?$": [ 178 | "@swc/jest" 179 | ] 180 | }, 181 | 182 | // An array of regexp pattern strings that are matched against all source file paths, matched files will skip transformation 183 | // transformIgnorePatterns: [ 184 | // "/node_modules/", 185 | // "\\.pnp\\.[^\\/]+$" 186 | // ], 187 | 188 | // An array of regexp pattern strings that are matched against all modules before the module loader will automatically return a mock for them 189 | // unmockedModulePathPatterns: undefined, 190 | 191 | // Indicates whether each individual test should be reported during the run 192 | // verbose: undefined, 193 | 194 | // An array of regexp patterns that are matched against all source file paths before re-running tests in watch mode 195 | // watchPathIgnorePatterns: [], 196 | 197 | // Whether to use watchman for file crawling 198 | // watchman: true, 199 | }; 200 | -------------------------------------------------------------------------------- /package-lock.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "typescript-clean-arch", 3 | "version": "1.0.0", 4 | "lockfileVersion": 1, 5 | "requires": true, 6 | "dependencies": { 7 | "@ampproject/remapping": { 8 | "version": "2.2.0", 9 | "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.2.0.tgz", 10 | "integrity": "sha512-qRmjj8nj9qmLTQXXmaR1cck3UXSRMPrbsLJAasZpF+t3riI71BXed5ebIOYwQntykeZuhjsdweEc9BxH5Jc26w==", 11 | "dev": true, 12 | "requires": { 13 | "@jridgewell/gen-mapping": "^0.1.0", 14 | "@jridgewell/trace-mapping": "^0.3.9" 15 | } 16 | }, 17 | "@babel/code-frame": { 18 | "version": "7.16.7", 19 | "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.16.7.tgz", 20 | "integrity": "sha512-iAXqUn8IIeBTNd72xsFlgaXHkMBMt6y4HJp1tIaK465CWLT/fG1aqB7ykr95gHHmlBdGbFeWWfyB4NJJ0nmeIg==", 21 | "dev": true, 22 | "requires": { 23 | "@babel/highlight": "^7.16.7" 24 | } 25 | }, 26 | "@babel/compat-data": { 27 | "version": "7.18.5", 28 | "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.18.5.tgz", 29 | "integrity": "sha512-BxhE40PVCBxVEJsSBhB6UWyAuqJRxGsAw8BdHMJ3AKGydcwuWW4kOO3HmqBQAdcq/OP+/DlTVxLvsCzRTnZuGg==", 30 | "dev": true 31 | }, 32 | "@babel/core": { 33 | "version": "7.18.5", 34 | "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.18.5.tgz", 35 | "integrity": "sha512-MGY8vg3DxMnctw0LdvSEojOsumc70g0t18gNyUdAZqB1Rpd1Bqo/svHGvt+UJ6JcGX+DIekGFDxxIWofBxLCnQ==", 36 | "dev": true, 37 | "requires": { 38 | "@ampproject/remapping": "^2.1.0", 39 | "@babel/code-frame": "^7.16.7", 40 | "@babel/generator": "^7.18.2", 41 | "@babel/helper-compilation-targets": "^7.18.2", 42 | "@babel/helper-module-transforms": "^7.18.0", 43 | "@babel/helpers": "^7.18.2", 44 | "@babel/parser": "^7.18.5", 45 | "@babel/template": "^7.16.7", 46 | "@babel/traverse": "^7.18.5", 47 | "@babel/types": "^7.18.4", 48 | "convert-source-map": "^1.7.0", 49 | "debug": "^4.1.0", 50 | "gensync": "^1.0.0-beta.2", 51 | "json5": "^2.2.1", 52 | "semver": "^6.3.0" 53 | } 54 | }, 55 | "@babel/generator": { 56 | "version": "7.18.2", 57 | "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.18.2.tgz", 58 | "integrity": "sha512-W1lG5vUwFvfMd8HVXqdfbuG7RuaSrTCCD8cl8fP8wOivdbtbIg2Db3IWUcgvfxKbbn6ZBGYRW/Zk1MIwK49mgw==", 59 | "dev": true, 60 | "requires": { 61 | "@babel/types": "^7.18.2", 62 | "@jridgewell/gen-mapping": "^0.3.0", 63 | "jsesc": "^2.5.1" 64 | }, 65 | "dependencies": { 66 | "@jridgewell/gen-mapping": { 67 | "version": "0.3.1", 68 | "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.1.tgz", 69 | "integrity": "sha512-GcHwniMlA2z+WFPWuY8lp3fsza0I8xPFMWL5+n8LYyP6PSvPrXf4+n8stDHZY2DM0zy9sVkRDy1jDI4XGzYVqg==", 70 | "dev": true, 71 | "requires": { 72 | "@jridgewell/set-array": "^1.0.0", 73 | "@jridgewell/sourcemap-codec": "^1.4.10", 74 | "@jridgewell/trace-mapping": "^0.3.9" 75 | } 76 | } 77 | } 78 | }, 79 | "@babel/helper-compilation-targets": { 80 | "version": "7.18.2", 81 | "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.18.2.tgz", 82 | "integrity": "sha512-s1jnPotJS9uQnzFtiZVBUxe67CuBa679oWFHpxYYnTpRL/1ffhyX44R9uYiXoa/pLXcY9H2moJta0iaanlk/rQ==", 83 | "dev": true, 84 | "requires": { 85 | "@babel/compat-data": "^7.17.10", 86 | "@babel/helper-validator-option": "^7.16.7", 87 | "browserslist": "^4.20.2", 88 | "semver": "^6.3.0" 89 | } 90 | }, 91 | "@babel/helper-environment-visitor": { 92 | "version": "7.18.2", 93 | "resolved": "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.18.2.tgz", 94 | "integrity": "sha512-14GQKWkX9oJzPiQQ7/J36FTXcD4kSp8egKjO9nINlSKiHITRA9q/R74qu8S9xlc/b/yjsJItQUeeh3xnGN0voQ==", 95 | "dev": true 96 | }, 97 | "@babel/helper-function-name": { 98 | "version": "7.17.9", 99 | "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.17.9.tgz", 100 | "integrity": "sha512-7cRisGlVtiVqZ0MW0/yFB4atgpGLWEHUVYnb448hZK4x+vih0YO5UoS11XIYtZYqHd0dIPMdUSv8q5K4LdMnIg==", 101 | "dev": true, 102 | "requires": { 103 | "@babel/template": "^7.16.7", 104 | "@babel/types": "^7.17.0" 105 | } 106 | }, 107 | "@babel/helper-hoist-variables": { 108 | "version": "7.16.7", 109 | "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.16.7.tgz", 110 | "integrity": "sha512-m04d/0Op34H5v7pbZw6pSKP7weA6lsMvfiIAMeIvkY/R4xQtBSMFEigu9QTZ2qB/9l22vsxtM8a+Q8CzD255fg==", 111 | "dev": true, 112 | "requires": { 113 | "@babel/types": "^7.16.7" 114 | } 115 | }, 116 | "@babel/helper-module-imports": { 117 | "version": "7.16.7", 118 | "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.16.7.tgz", 119 | "integrity": "sha512-LVtS6TqjJHFc+nYeITRo6VLXve70xmq7wPhWTqDJusJEgGmkAACWwMiTNrvfoQo6hEhFwAIixNkvB0jPXDL8Wg==", 120 | "dev": true, 121 | "requires": { 122 | "@babel/types": "^7.16.7" 123 | } 124 | }, 125 | "@babel/helper-module-transforms": { 126 | "version": "7.18.0", 127 | "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.18.0.tgz", 128 | "integrity": "sha512-kclUYSUBIjlvnzN2++K9f2qzYKFgjmnmjwL4zlmU5f8ZtzgWe8s0rUPSTGy2HmK4P8T52MQsS+HTQAgZd3dMEA==", 129 | "dev": true, 130 | "requires": { 131 | "@babel/helper-environment-visitor": "^7.16.7", 132 | "@babel/helper-module-imports": "^7.16.7", 133 | "@babel/helper-simple-access": "^7.17.7", 134 | "@babel/helper-split-export-declaration": "^7.16.7", 135 | "@babel/helper-validator-identifier": "^7.16.7", 136 | "@babel/template": "^7.16.7", 137 | "@babel/traverse": "^7.18.0", 138 | "@babel/types": "^7.18.0" 139 | } 140 | }, 141 | "@babel/helper-plugin-utils": { 142 | "version": "7.17.12", 143 | "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.17.12.tgz", 144 | "integrity": "sha512-JDkf04mqtN3y4iAbO1hv9U2ARpPyPL1zqyWs/2WG1pgSq9llHFjStX5jdxb84himgJm+8Ng+x0oiWF/nw/XQKA==", 145 | "dev": true 146 | }, 147 | "@babel/helper-simple-access": { 148 | "version": "7.18.2", 149 | "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.18.2.tgz", 150 | "integrity": "sha512-7LIrjYzndorDY88MycupkpQLKS1AFfsVRm2k/9PtKScSy5tZq0McZTj+DiMRynboZfIqOKvo03pmhTaUgiD6fQ==", 151 | "dev": true, 152 | "requires": { 153 | "@babel/types": "^7.18.2" 154 | } 155 | }, 156 | "@babel/helper-split-export-declaration": { 157 | "version": "7.16.7", 158 | "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.16.7.tgz", 159 | "integrity": "sha512-xbWoy/PFoxSWazIToT9Sif+jJTlrMcndIsaOKvTA6u7QEo7ilkRZpjew18/W3c7nm8fXdUDXh02VXTbZ0pGDNw==", 160 | "dev": true, 161 | "requires": { 162 | "@babel/types": "^7.16.7" 163 | } 164 | }, 165 | "@babel/helper-validator-identifier": { 166 | "version": "7.16.7", 167 | "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.16.7.tgz", 168 | "integrity": "sha512-hsEnFemeiW4D08A5gUAZxLBTXpZ39P+a+DGDsHw1yxqyQ/jzFEnxf5uTEGp+3bzAbNOxU1paTgYS4ECU/IgfDw==", 169 | "dev": true 170 | }, 171 | "@babel/helper-validator-option": { 172 | "version": "7.16.7", 173 | "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.16.7.tgz", 174 | "integrity": "sha512-TRtenOuRUVo9oIQGPC5G9DgK4743cdxvtOw0weQNpZXaS16SCBi5MNjZF8vba3ETURjZpTbVn7Vvcf2eAwFozQ==", 175 | "dev": true 176 | }, 177 | "@babel/helpers": { 178 | "version": "7.18.2", 179 | "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.18.2.tgz", 180 | "integrity": "sha512-j+d+u5xT5utcQSzrh9p+PaJX94h++KN+ng9b9WEJq7pkUPAd61FGqhjuUEdfknb3E/uDBb7ruwEeKkIxNJPIrg==", 181 | "dev": true, 182 | "requires": { 183 | "@babel/template": "^7.16.7", 184 | "@babel/traverse": "^7.18.2", 185 | "@babel/types": "^7.18.2" 186 | } 187 | }, 188 | "@babel/highlight": { 189 | "version": "7.17.12", 190 | "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.17.12.tgz", 191 | "integrity": "sha512-7yykMVF3hfZY2jsHZEEgLc+3x4o1O+fYyULu11GynEUQNwB6lua+IIQn1FiJxNucd5UlyJryrwsOh8PL9Sn8Qg==", 192 | "dev": true, 193 | "requires": { 194 | "@babel/helper-validator-identifier": "^7.16.7", 195 | "chalk": "^2.0.0", 196 | "js-tokens": "^4.0.0" 197 | }, 198 | "dependencies": { 199 | "ansi-styles": { 200 | "version": "3.2.1", 201 | "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", 202 | "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", 203 | "dev": true, 204 | "requires": { 205 | "color-convert": "^1.9.0" 206 | } 207 | }, 208 | "chalk": { 209 | "version": "2.4.2", 210 | "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", 211 | "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", 212 | "dev": true, 213 | "requires": { 214 | "ansi-styles": "^3.2.1", 215 | "escape-string-regexp": "^1.0.5", 216 | "supports-color": "^5.3.0" 217 | } 218 | }, 219 | "color-convert": { 220 | "version": "1.9.3", 221 | "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", 222 | "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", 223 | "dev": true, 224 | "requires": { 225 | "color-name": "1.1.3" 226 | } 227 | }, 228 | "color-name": { 229 | "version": "1.1.3", 230 | "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", 231 | "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==", 232 | "dev": true 233 | }, 234 | "has-flag": { 235 | "version": "3.0.0", 236 | "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", 237 | "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", 238 | "dev": true 239 | }, 240 | "supports-color": { 241 | "version": "5.5.0", 242 | "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", 243 | "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", 244 | "dev": true, 245 | "requires": { 246 | "has-flag": "^3.0.0" 247 | } 248 | } 249 | } 250 | }, 251 | "@babel/parser": { 252 | "version": "7.18.5", 253 | "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.18.5.tgz", 254 | "integrity": "sha512-YZWVaglMiplo7v8f1oMQ5ZPQr0vn7HPeZXxXWsxXJRjGVrzUFn9OxFQl1sb5wzfootjA/yChhW84BV+383FSOw==", 255 | "dev": true 256 | }, 257 | "@babel/plugin-syntax-async-generators": { 258 | "version": "7.8.4", 259 | "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.8.4.tgz", 260 | "integrity": "sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw==", 261 | "dev": true, 262 | "requires": { 263 | "@babel/helper-plugin-utils": "^7.8.0" 264 | } 265 | }, 266 | "@babel/plugin-syntax-bigint": { 267 | "version": "7.8.3", 268 | "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-bigint/-/plugin-syntax-bigint-7.8.3.tgz", 269 | "integrity": "sha512-wnTnFlG+YxQm3vDxpGE57Pj0srRU4sHE/mDkt1qv2YJJSeUAec2ma4WLUnUPeKjyrfntVwe/N6dCXpU+zL3Npg==", 270 | "dev": true, 271 | "requires": { 272 | "@babel/helper-plugin-utils": "^7.8.0" 273 | } 274 | }, 275 | "@babel/plugin-syntax-class-properties": { 276 | "version": "7.12.13", 277 | "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.12.13.tgz", 278 | "integrity": "sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA==", 279 | "dev": true, 280 | "requires": { 281 | "@babel/helper-plugin-utils": "^7.12.13" 282 | } 283 | }, 284 | "@babel/plugin-syntax-import-meta": { 285 | "version": "7.10.4", 286 | "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-meta/-/plugin-syntax-import-meta-7.10.4.tgz", 287 | "integrity": "sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g==", 288 | "dev": true, 289 | "requires": { 290 | "@babel/helper-plugin-utils": "^7.10.4" 291 | } 292 | }, 293 | "@babel/plugin-syntax-json-strings": { 294 | "version": "7.8.3", 295 | "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.8.3.tgz", 296 | "integrity": "sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==", 297 | "dev": true, 298 | "requires": { 299 | "@babel/helper-plugin-utils": "^7.8.0" 300 | } 301 | }, 302 | "@babel/plugin-syntax-logical-assignment-operators": { 303 | "version": "7.10.4", 304 | "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-logical-assignment-operators/-/plugin-syntax-logical-assignment-operators-7.10.4.tgz", 305 | "integrity": "sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig==", 306 | "dev": true, 307 | "requires": { 308 | "@babel/helper-plugin-utils": "^7.10.4" 309 | } 310 | }, 311 | "@babel/plugin-syntax-nullish-coalescing-operator": { 312 | "version": "7.8.3", 313 | "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-nullish-coalescing-operator/-/plugin-syntax-nullish-coalescing-operator-7.8.3.tgz", 314 | "integrity": "sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ==", 315 | "dev": true, 316 | "requires": { 317 | "@babel/helper-plugin-utils": "^7.8.0" 318 | } 319 | }, 320 | "@babel/plugin-syntax-numeric-separator": { 321 | "version": "7.10.4", 322 | "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-numeric-separator/-/plugin-syntax-numeric-separator-7.10.4.tgz", 323 | "integrity": "sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug==", 324 | "dev": true, 325 | "requires": { 326 | "@babel/helper-plugin-utils": "^7.10.4" 327 | } 328 | }, 329 | "@babel/plugin-syntax-object-rest-spread": { 330 | "version": "7.8.3", 331 | "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.8.3.tgz", 332 | "integrity": "sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==", 333 | "dev": true, 334 | "requires": { 335 | "@babel/helper-plugin-utils": "^7.8.0" 336 | } 337 | }, 338 | "@babel/plugin-syntax-optional-catch-binding": { 339 | "version": "7.8.3", 340 | "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.8.3.tgz", 341 | "integrity": "sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q==", 342 | "dev": true, 343 | "requires": { 344 | "@babel/helper-plugin-utils": "^7.8.0" 345 | } 346 | }, 347 | "@babel/plugin-syntax-optional-chaining": { 348 | "version": "7.8.3", 349 | "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-chaining/-/plugin-syntax-optional-chaining-7.8.3.tgz", 350 | "integrity": "sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg==", 351 | "dev": true, 352 | "requires": { 353 | "@babel/helper-plugin-utils": "^7.8.0" 354 | } 355 | }, 356 | "@babel/plugin-syntax-top-level-await": { 357 | "version": "7.14.5", 358 | "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.14.5.tgz", 359 | "integrity": "sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw==", 360 | "dev": true, 361 | "requires": { 362 | "@babel/helper-plugin-utils": "^7.14.5" 363 | } 364 | }, 365 | "@babel/plugin-syntax-typescript": { 366 | "version": "7.17.12", 367 | "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.17.12.tgz", 368 | "integrity": "sha512-TYY0SXFiO31YXtNg3HtFwNJHjLsAyIIhAhNWkQ5whPPS7HWUFlg9z0Ta4qAQNjQbP1wsSt/oKkmZ/4/WWdMUpw==", 369 | "dev": true, 370 | "requires": { 371 | "@babel/helper-plugin-utils": "^7.17.12" 372 | } 373 | }, 374 | "@babel/template": { 375 | "version": "7.16.7", 376 | "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.16.7.tgz", 377 | "integrity": "sha512-I8j/x8kHUrbYRTUxXrrMbfCa7jxkE7tZre39x3kjr9hvI82cK1FfqLygotcWN5kdPGWcLdWMHpSBavse5tWw3w==", 378 | "dev": true, 379 | "requires": { 380 | "@babel/code-frame": "^7.16.7", 381 | "@babel/parser": "^7.16.7", 382 | "@babel/types": "^7.16.7" 383 | } 384 | }, 385 | "@babel/traverse": { 386 | "version": "7.18.5", 387 | "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.18.5.tgz", 388 | "integrity": "sha512-aKXj1KT66sBj0vVzk6rEeAO6Z9aiiQ68wfDgge3nHhA/my6xMM/7HGQUNumKZaoa2qUPQ5whJG9aAifsxUKfLA==", 389 | "dev": true, 390 | "requires": { 391 | "@babel/code-frame": "^7.16.7", 392 | "@babel/generator": "^7.18.2", 393 | "@babel/helper-environment-visitor": "^7.18.2", 394 | "@babel/helper-function-name": "^7.17.9", 395 | "@babel/helper-hoist-variables": "^7.16.7", 396 | "@babel/helper-split-export-declaration": "^7.16.7", 397 | "@babel/parser": "^7.18.5", 398 | "@babel/types": "^7.18.4", 399 | "debug": "^4.1.0", 400 | "globals": "^11.1.0" 401 | } 402 | }, 403 | "@babel/types": { 404 | "version": "7.18.4", 405 | "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.18.4.tgz", 406 | "integrity": "sha512-ThN1mBcMq5pG/Vm2IcBmPPfyPXbd8S02rS+OBIDENdufvqC7Z/jHPCv9IcP01277aKtDI8g/2XysBN4hA8niiw==", 407 | "dev": true, 408 | "requires": { 409 | "@babel/helper-validator-identifier": "^7.16.7", 410 | "to-fast-properties": "^2.0.0" 411 | } 412 | }, 413 | "@bcoe/v8-coverage": { 414 | "version": "0.2.3", 415 | "resolved": "https://registry.npmjs.org/@bcoe/v8-coverage/-/v8-coverage-0.2.3.tgz", 416 | "integrity": "sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw==", 417 | "dev": true 418 | }, 419 | "@cspotcode/source-map-support": { 420 | "version": "0.8.1", 421 | "resolved": "https://registry.npmjs.org/@cspotcode/source-map-support/-/source-map-support-0.8.1.tgz", 422 | "integrity": "sha512-IchNf6dN4tHoMFIn/7OE8LWZ19Y6q/67Bmf6vnGREv8RSbBVb9LPJxEcnwrcwX6ixSvaiGoomAUvu4YSxXrVgw==", 423 | "dev": true, 424 | "requires": { 425 | "@jridgewell/trace-mapping": "0.3.9" 426 | }, 427 | "dependencies": { 428 | "@jridgewell/trace-mapping": { 429 | "version": "0.3.9", 430 | "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.9.tgz", 431 | "integrity": "sha512-3Belt6tdc8bPgAtbcmdtNJlirVoTmEb5e2gC94PnkwEW9jI6CAHUeoG85tjWP5WquqfavoMtMwiG4P926ZKKuQ==", 432 | "dev": true, 433 | "requires": { 434 | "@jridgewell/resolve-uri": "^3.0.3", 435 | "@jridgewell/sourcemap-codec": "^1.4.10" 436 | } 437 | } 438 | } 439 | }, 440 | "@istanbuljs/load-nyc-config": { 441 | "version": "1.1.0", 442 | "resolved": "https://registry.npmjs.org/@istanbuljs/load-nyc-config/-/load-nyc-config-1.1.0.tgz", 443 | "integrity": "sha512-VjeHSlIzpv/NyD3N0YuHfXOPDIixcA1q2ZV98wsMqcYlPmv2n3Yb2lYP9XMElnaFVXg5A7YLTeLu6V84uQDjmQ==", 444 | "dev": true, 445 | "requires": { 446 | "camelcase": "^5.3.1", 447 | "find-up": "^4.1.0", 448 | "get-package-type": "^0.1.0", 449 | "js-yaml": "^3.13.1", 450 | "resolve-from": "^5.0.0" 451 | } 452 | }, 453 | "@istanbuljs/schema": { 454 | "version": "0.1.3", 455 | "resolved": "https://registry.npmjs.org/@istanbuljs/schema/-/schema-0.1.3.tgz", 456 | "integrity": "sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA==", 457 | "dev": true 458 | }, 459 | "@jest/console": { 460 | "version": "28.1.1", 461 | "resolved": "https://registry.npmjs.org/@jest/console/-/console-28.1.1.tgz", 462 | "integrity": "sha512-0RiUocPVFEm3WRMOStIHbRWllG6iW6E3/gUPnf4lkrVFyXIIDeCe+vlKeYyFOMhB2EPE6FLFCNADSOOQMaqvyA==", 463 | "dev": true, 464 | "requires": { 465 | "@jest/types": "^28.1.1", 466 | "@types/node": "*", 467 | "chalk": "^4.0.0", 468 | "jest-message-util": "^28.1.1", 469 | "jest-util": "^28.1.1", 470 | "slash": "^3.0.0" 471 | }, 472 | "dependencies": { 473 | "@jest/types": { 474 | "version": "28.1.1", 475 | "resolved": "https://registry.npmjs.org/@jest/types/-/types-28.1.1.tgz", 476 | "integrity": "sha512-vRXVqSg1VhDnB8bWcmvLzmg0Bt9CRKVgHPXqYwvWMX3TvAjeO+nRuK6+VdTKCtWOvYlmkF/HqNAL/z+N3B53Kw==", 477 | "dev": true, 478 | "requires": { 479 | "@jest/schemas": "^28.0.2", 480 | "@types/istanbul-lib-coverage": "^2.0.0", 481 | "@types/istanbul-reports": "^3.0.0", 482 | "@types/node": "*", 483 | "@types/yargs": "^17.0.8", 484 | "chalk": "^4.0.0" 485 | } 486 | }, 487 | "@types/yargs": { 488 | "version": "17.0.10", 489 | "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-17.0.10.tgz", 490 | "integrity": "sha512-gmEaFwpj/7f/ROdtIlci1R1VYU1J4j95m8T+Tj3iBgiBFKg1foE/PSl93bBd5T9LDXNPo8UlNN6W0qwD8O5OaA==", 491 | "dev": true, 492 | "requires": { 493 | "@types/yargs-parser": "*" 494 | } 495 | } 496 | } 497 | }, 498 | "@jest/core": { 499 | "version": "28.1.1", 500 | "resolved": "https://registry.npmjs.org/@jest/core/-/core-28.1.1.tgz", 501 | "integrity": "sha512-3pYsBoZZ42tXMdlcFeCc/0j9kOlK7MYuXs2B1QbvDgMoW1K9NJ4G/VYvIbMb26iqlkTfPHo7SC2JgjDOk/mxXw==", 502 | "dev": true, 503 | "requires": { 504 | "@jest/console": "^28.1.1", 505 | "@jest/reporters": "^28.1.1", 506 | "@jest/test-result": "^28.1.1", 507 | "@jest/transform": "^28.1.1", 508 | "@jest/types": "^28.1.1", 509 | "@types/node": "*", 510 | "ansi-escapes": "^4.2.1", 511 | "chalk": "^4.0.0", 512 | "ci-info": "^3.2.0", 513 | "exit": "^0.1.2", 514 | "graceful-fs": "^4.2.9", 515 | "jest-changed-files": "^28.0.2", 516 | "jest-config": "^28.1.1", 517 | "jest-haste-map": "^28.1.1", 518 | "jest-message-util": "^28.1.1", 519 | "jest-regex-util": "^28.0.2", 520 | "jest-resolve": "^28.1.1", 521 | "jest-resolve-dependencies": "^28.1.1", 522 | "jest-runner": "^28.1.1", 523 | "jest-runtime": "^28.1.1", 524 | "jest-snapshot": "^28.1.1", 525 | "jest-util": "^28.1.1", 526 | "jest-validate": "^28.1.1", 527 | "jest-watcher": "^28.1.1", 528 | "micromatch": "^4.0.4", 529 | "pretty-format": "^28.1.1", 530 | "rimraf": "^3.0.0", 531 | "slash": "^3.0.0", 532 | "strip-ansi": "^6.0.0" 533 | }, 534 | "dependencies": { 535 | "@jest/types": { 536 | "version": "28.1.1", 537 | "resolved": "https://registry.npmjs.org/@jest/types/-/types-28.1.1.tgz", 538 | "integrity": "sha512-vRXVqSg1VhDnB8bWcmvLzmg0Bt9CRKVgHPXqYwvWMX3TvAjeO+nRuK6+VdTKCtWOvYlmkF/HqNAL/z+N3B53Kw==", 539 | "dev": true, 540 | "requires": { 541 | "@jest/schemas": "^28.0.2", 542 | "@types/istanbul-lib-coverage": "^2.0.0", 543 | "@types/istanbul-reports": "^3.0.0", 544 | "@types/node": "*", 545 | "@types/yargs": "^17.0.8", 546 | "chalk": "^4.0.0" 547 | } 548 | }, 549 | "@types/yargs": { 550 | "version": "17.0.10", 551 | "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-17.0.10.tgz", 552 | "integrity": "sha512-gmEaFwpj/7f/ROdtIlci1R1VYU1J4j95m8T+Tj3iBgiBFKg1foE/PSl93bBd5T9LDXNPo8UlNN6W0qwD8O5OaA==", 553 | "dev": true, 554 | "requires": { 555 | "@types/yargs-parser": "*" 556 | } 557 | }, 558 | "ansi-styles": { 559 | "version": "5.2.0", 560 | "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", 561 | "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", 562 | "dev": true 563 | }, 564 | "pretty-format": { 565 | "version": "28.1.1", 566 | "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-28.1.1.tgz", 567 | "integrity": "sha512-wwJbVTGFHeucr5Jw2bQ9P+VYHyLdAqedFLEkdQUVaBF/eiidDwH5OpilINq4mEfhbCjLnirt6HTTDhv1HaTIQw==", 568 | "dev": true, 569 | "requires": { 570 | "@jest/schemas": "^28.0.2", 571 | "ansi-regex": "^5.0.1", 572 | "ansi-styles": "^5.0.0", 573 | "react-is": "^18.0.0" 574 | } 575 | }, 576 | "react-is": { 577 | "version": "18.1.0", 578 | "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.1.0.tgz", 579 | "integrity": "sha512-Fl7FuabXsJnV5Q1qIOQwx/sagGF18kogb4gpfcG4gjLBWO0WDiiz1ko/ExayuxE7InyQkBLkxRFG5oxY6Uu3Kg==", 580 | "dev": true 581 | } 582 | } 583 | }, 584 | "@jest/create-cache-key-function": { 585 | "version": "27.5.1", 586 | "resolved": "https://registry.npmjs.org/@jest/create-cache-key-function/-/create-cache-key-function-27.5.1.tgz", 587 | "integrity": "sha512-dmH1yW+makpTSURTy8VzdUwFnfQh1G8R+DxO2Ho2FFmBbKFEVm+3jWdvFhE2VqB/LATCTokkP0dotjyQyw5/AQ==", 588 | "dev": true, 589 | "requires": { 590 | "@jest/types": "^27.5.1" 591 | } 592 | }, 593 | "@jest/environment": { 594 | "version": "28.1.1", 595 | "resolved": "https://registry.npmjs.org/@jest/environment/-/environment-28.1.1.tgz", 596 | "integrity": "sha512-9auVQ2GzQ7nrU+lAr8KyY838YahElTX9HVjbQPPS2XjlxQ+na18G113OoBhyBGBtD6ZnO/SrUy5WR8EzOj1/Uw==", 597 | "dev": true, 598 | "requires": { 599 | "@jest/fake-timers": "^28.1.1", 600 | "@jest/types": "^28.1.1", 601 | "@types/node": "*", 602 | "jest-mock": "^28.1.1" 603 | }, 604 | "dependencies": { 605 | "@jest/types": { 606 | "version": "28.1.1", 607 | "resolved": "https://registry.npmjs.org/@jest/types/-/types-28.1.1.tgz", 608 | "integrity": "sha512-vRXVqSg1VhDnB8bWcmvLzmg0Bt9CRKVgHPXqYwvWMX3TvAjeO+nRuK6+VdTKCtWOvYlmkF/HqNAL/z+N3B53Kw==", 609 | "dev": true, 610 | "requires": { 611 | "@jest/schemas": "^28.0.2", 612 | "@types/istanbul-lib-coverage": "^2.0.0", 613 | "@types/istanbul-reports": "^3.0.0", 614 | "@types/node": "*", 615 | "@types/yargs": "^17.0.8", 616 | "chalk": "^4.0.0" 617 | } 618 | }, 619 | "@types/yargs": { 620 | "version": "17.0.10", 621 | "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-17.0.10.tgz", 622 | "integrity": "sha512-gmEaFwpj/7f/ROdtIlci1R1VYU1J4j95m8T+Tj3iBgiBFKg1foE/PSl93bBd5T9LDXNPo8UlNN6W0qwD8O5OaA==", 623 | "dev": true, 624 | "requires": { 625 | "@types/yargs-parser": "*" 626 | } 627 | } 628 | } 629 | }, 630 | "@jest/expect": { 631 | "version": "28.1.1", 632 | "resolved": "https://registry.npmjs.org/@jest/expect/-/expect-28.1.1.tgz", 633 | "integrity": "sha512-/+tQprrFoT6lfkMj4mW/mUIfAmmk/+iQPmg7mLDIFOf2lyf7EBHaS+x3RbeR0VZVMe55IvX7QRoT/2aK3AuUXg==", 634 | "dev": true, 635 | "requires": { 636 | "expect": "^28.1.1", 637 | "jest-snapshot": "^28.1.1" 638 | } 639 | }, 640 | "@jest/expect-utils": { 641 | "version": "28.1.1", 642 | "resolved": "https://registry.npmjs.org/@jest/expect-utils/-/expect-utils-28.1.1.tgz", 643 | "integrity": "sha512-n/ghlvdhCdMI/hTcnn4qV57kQuV9OTsZzH1TTCVARANKhl6hXJqLKUkwX69ftMGpsbpt96SsDD8n8LD2d9+FRw==", 644 | "dev": true, 645 | "requires": { 646 | "jest-get-type": "^28.0.2" 647 | }, 648 | "dependencies": { 649 | "jest-get-type": { 650 | "version": "28.0.2", 651 | "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-28.0.2.tgz", 652 | "integrity": "sha512-ioj2w9/DxSYHfOm5lJKCdcAmPJzQXmbM/Url3rhlghrPvT3tt+7a/+oXc9azkKmLvoiXjtV83bEWqi+vs5nlPA==", 653 | "dev": true 654 | } 655 | } 656 | }, 657 | "@jest/fake-timers": { 658 | "version": "28.1.1", 659 | "resolved": "https://registry.npmjs.org/@jest/fake-timers/-/fake-timers-28.1.1.tgz", 660 | "integrity": "sha512-BY/3+TyLs5+q87rGWrGUY5f8e8uC3LsVHS9Diz8+FV3ARXL4sNnkLlIB8dvDvRrp+LUCGM+DLqlsYubizGUjIA==", 661 | "dev": true, 662 | "requires": { 663 | "@jest/types": "^28.1.1", 664 | "@sinonjs/fake-timers": "^9.1.1", 665 | "@types/node": "*", 666 | "jest-message-util": "^28.1.1", 667 | "jest-mock": "^28.1.1", 668 | "jest-util": "^28.1.1" 669 | }, 670 | "dependencies": { 671 | "@jest/types": { 672 | "version": "28.1.1", 673 | "resolved": "https://registry.npmjs.org/@jest/types/-/types-28.1.1.tgz", 674 | "integrity": "sha512-vRXVqSg1VhDnB8bWcmvLzmg0Bt9CRKVgHPXqYwvWMX3TvAjeO+nRuK6+VdTKCtWOvYlmkF/HqNAL/z+N3B53Kw==", 675 | "dev": true, 676 | "requires": { 677 | "@jest/schemas": "^28.0.2", 678 | "@types/istanbul-lib-coverage": "^2.0.0", 679 | "@types/istanbul-reports": "^3.0.0", 680 | "@types/node": "*", 681 | "@types/yargs": "^17.0.8", 682 | "chalk": "^4.0.0" 683 | } 684 | }, 685 | "@types/yargs": { 686 | "version": "17.0.10", 687 | "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-17.0.10.tgz", 688 | "integrity": "sha512-gmEaFwpj/7f/ROdtIlci1R1VYU1J4j95m8T+Tj3iBgiBFKg1foE/PSl93bBd5T9LDXNPo8UlNN6W0qwD8O5OaA==", 689 | "dev": true, 690 | "requires": { 691 | "@types/yargs-parser": "*" 692 | } 693 | } 694 | } 695 | }, 696 | "@jest/globals": { 697 | "version": "28.1.1", 698 | "resolved": "https://registry.npmjs.org/@jest/globals/-/globals-28.1.1.tgz", 699 | "integrity": "sha512-dEgl/6v7ToB4vXItdvcltJBgny0xBE6xy6IYQrPJAJggdEinGxCDMivNv7sFzPcTITGquXD6UJwYxfJ/5ZwDSg==", 700 | "dev": true, 701 | "requires": { 702 | "@jest/environment": "^28.1.1", 703 | "@jest/expect": "^28.1.1", 704 | "@jest/types": "^28.1.1" 705 | }, 706 | "dependencies": { 707 | "@jest/types": { 708 | "version": "28.1.1", 709 | "resolved": "https://registry.npmjs.org/@jest/types/-/types-28.1.1.tgz", 710 | "integrity": "sha512-vRXVqSg1VhDnB8bWcmvLzmg0Bt9CRKVgHPXqYwvWMX3TvAjeO+nRuK6+VdTKCtWOvYlmkF/HqNAL/z+N3B53Kw==", 711 | "dev": true, 712 | "requires": { 713 | "@jest/schemas": "^28.0.2", 714 | "@types/istanbul-lib-coverage": "^2.0.0", 715 | "@types/istanbul-reports": "^3.0.0", 716 | "@types/node": "*", 717 | "@types/yargs": "^17.0.8", 718 | "chalk": "^4.0.0" 719 | } 720 | }, 721 | "@types/yargs": { 722 | "version": "17.0.10", 723 | "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-17.0.10.tgz", 724 | "integrity": "sha512-gmEaFwpj/7f/ROdtIlci1R1VYU1J4j95m8T+Tj3iBgiBFKg1foE/PSl93bBd5T9LDXNPo8UlNN6W0qwD8O5OaA==", 725 | "dev": true, 726 | "requires": { 727 | "@types/yargs-parser": "*" 728 | } 729 | } 730 | } 731 | }, 732 | "@jest/reporters": { 733 | "version": "28.1.1", 734 | "resolved": "https://registry.npmjs.org/@jest/reporters/-/reporters-28.1.1.tgz", 735 | "integrity": "sha512-597Zj4D4d88sZrzM4atEGLuO7SdA/YrOv9SRXHXRNC+/FwPCWxZhBAEzhXoiJzfRwn8zes/EjS8Lo6DouGN5Gg==", 736 | "dev": true, 737 | "requires": { 738 | "@bcoe/v8-coverage": "^0.2.3", 739 | "@jest/console": "^28.1.1", 740 | "@jest/test-result": "^28.1.1", 741 | "@jest/transform": "^28.1.1", 742 | "@jest/types": "^28.1.1", 743 | "@jridgewell/trace-mapping": "^0.3.7", 744 | "@types/node": "*", 745 | "chalk": "^4.0.0", 746 | "collect-v8-coverage": "^1.0.0", 747 | "exit": "^0.1.2", 748 | "glob": "^7.1.3", 749 | "graceful-fs": "^4.2.9", 750 | "istanbul-lib-coverage": "^3.0.0", 751 | "istanbul-lib-instrument": "^5.1.0", 752 | "istanbul-lib-report": "^3.0.0", 753 | "istanbul-lib-source-maps": "^4.0.0", 754 | "istanbul-reports": "^3.1.3", 755 | "jest-message-util": "^28.1.1", 756 | "jest-util": "^28.1.1", 757 | "jest-worker": "^28.1.1", 758 | "slash": "^3.0.0", 759 | "string-length": "^4.0.1", 760 | "strip-ansi": "^6.0.0", 761 | "terminal-link": "^2.0.0", 762 | "v8-to-istanbul": "^9.0.0" 763 | }, 764 | "dependencies": { 765 | "@jest/types": { 766 | "version": "28.1.1", 767 | "resolved": "https://registry.npmjs.org/@jest/types/-/types-28.1.1.tgz", 768 | "integrity": "sha512-vRXVqSg1VhDnB8bWcmvLzmg0Bt9CRKVgHPXqYwvWMX3TvAjeO+nRuK6+VdTKCtWOvYlmkF/HqNAL/z+N3B53Kw==", 769 | "dev": true, 770 | "requires": { 771 | "@jest/schemas": "^28.0.2", 772 | "@types/istanbul-lib-coverage": "^2.0.0", 773 | "@types/istanbul-reports": "^3.0.0", 774 | "@types/node": "*", 775 | "@types/yargs": "^17.0.8", 776 | "chalk": "^4.0.0" 777 | } 778 | }, 779 | "@types/yargs": { 780 | "version": "17.0.10", 781 | "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-17.0.10.tgz", 782 | "integrity": "sha512-gmEaFwpj/7f/ROdtIlci1R1VYU1J4j95m8T+Tj3iBgiBFKg1foE/PSl93bBd5T9LDXNPo8UlNN6W0qwD8O5OaA==", 783 | "dev": true, 784 | "requires": { 785 | "@types/yargs-parser": "*" 786 | } 787 | } 788 | } 789 | }, 790 | "@jest/schemas": { 791 | "version": "28.0.2", 792 | "resolved": "https://registry.npmjs.org/@jest/schemas/-/schemas-28.0.2.tgz", 793 | "integrity": "sha512-YVDJZjd4izeTDkij00vHHAymNXQ6WWsdChFRK86qck6Jpr3DCL5W3Is3vslviRlP+bLuMYRLbdp98amMvqudhA==", 794 | "dev": true, 795 | "requires": { 796 | "@sinclair/typebox": "^0.23.3" 797 | } 798 | }, 799 | "@jest/source-map": { 800 | "version": "28.0.2", 801 | "resolved": "https://registry.npmjs.org/@jest/source-map/-/source-map-28.0.2.tgz", 802 | "integrity": "sha512-Y9dxC8ZpN3kImkk0LkK5XCEneYMAXlZ8m5bflmSL5vrwyeUpJfentacCUg6fOb8NOpOO7hz2+l37MV77T6BFPw==", 803 | "dev": true, 804 | "requires": { 805 | "@jridgewell/trace-mapping": "^0.3.7", 806 | "callsites": "^3.0.0", 807 | "graceful-fs": "^4.2.9" 808 | } 809 | }, 810 | "@jest/test-result": { 811 | "version": "28.1.1", 812 | "resolved": "https://registry.npmjs.org/@jest/test-result/-/test-result-28.1.1.tgz", 813 | "integrity": "sha512-hPmkugBktqL6rRzwWAtp1JtYT4VHwv8OQ+9lE5Gymj6dHzubI/oJHMUpPOt8NrdVWSrz9S7bHjJUmv2ggFoUNQ==", 814 | "dev": true, 815 | "requires": { 816 | "@jest/console": "^28.1.1", 817 | "@jest/types": "^28.1.1", 818 | "@types/istanbul-lib-coverage": "^2.0.0", 819 | "collect-v8-coverage": "^1.0.0" 820 | }, 821 | "dependencies": { 822 | "@jest/types": { 823 | "version": "28.1.1", 824 | "resolved": "https://registry.npmjs.org/@jest/types/-/types-28.1.1.tgz", 825 | "integrity": "sha512-vRXVqSg1VhDnB8bWcmvLzmg0Bt9CRKVgHPXqYwvWMX3TvAjeO+nRuK6+VdTKCtWOvYlmkF/HqNAL/z+N3B53Kw==", 826 | "dev": true, 827 | "requires": { 828 | "@jest/schemas": "^28.0.2", 829 | "@types/istanbul-lib-coverage": "^2.0.0", 830 | "@types/istanbul-reports": "^3.0.0", 831 | "@types/node": "*", 832 | "@types/yargs": "^17.0.8", 833 | "chalk": "^4.0.0" 834 | } 835 | }, 836 | "@types/yargs": { 837 | "version": "17.0.10", 838 | "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-17.0.10.tgz", 839 | "integrity": "sha512-gmEaFwpj/7f/ROdtIlci1R1VYU1J4j95m8T+Tj3iBgiBFKg1foE/PSl93bBd5T9LDXNPo8UlNN6W0qwD8O5OaA==", 840 | "dev": true, 841 | "requires": { 842 | "@types/yargs-parser": "*" 843 | } 844 | } 845 | } 846 | }, 847 | "@jest/test-sequencer": { 848 | "version": "28.1.1", 849 | "resolved": "https://registry.npmjs.org/@jest/test-sequencer/-/test-sequencer-28.1.1.tgz", 850 | "integrity": "sha512-nuL+dNSVMcWB7OOtgb0EGH5AjO4UBCt68SLP08rwmC+iRhyuJWS9MtZ/MpipxFwKAlHFftbMsydXqWre8B0+XA==", 851 | "dev": true, 852 | "requires": { 853 | "@jest/test-result": "^28.1.1", 854 | "graceful-fs": "^4.2.9", 855 | "jest-haste-map": "^28.1.1", 856 | "slash": "^3.0.0" 857 | } 858 | }, 859 | "@jest/transform": { 860 | "version": "28.1.1", 861 | "resolved": "https://registry.npmjs.org/@jest/transform/-/transform-28.1.1.tgz", 862 | "integrity": "sha512-PkfaTUuvjUarl1EDr5ZQcCA++oXkFCP9QFUkG0yVKVmNObjhrqDy0kbMpMebfHWm3CCDHjYNem9eUSH8suVNHQ==", 863 | "dev": true, 864 | "requires": { 865 | "@babel/core": "^7.11.6", 866 | "@jest/types": "^28.1.1", 867 | "@jridgewell/trace-mapping": "^0.3.7", 868 | "babel-plugin-istanbul": "^6.1.1", 869 | "chalk": "^4.0.0", 870 | "convert-source-map": "^1.4.0", 871 | "fast-json-stable-stringify": "^2.0.0", 872 | "graceful-fs": "^4.2.9", 873 | "jest-haste-map": "^28.1.1", 874 | "jest-regex-util": "^28.0.2", 875 | "jest-util": "^28.1.1", 876 | "micromatch": "^4.0.4", 877 | "pirates": "^4.0.4", 878 | "slash": "^3.0.0", 879 | "write-file-atomic": "^4.0.1" 880 | }, 881 | "dependencies": { 882 | "@jest/types": { 883 | "version": "28.1.1", 884 | "resolved": "https://registry.npmjs.org/@jest/types/-/types-28.1.1.tgz", 885 | "integrity": "sha512-vRXVqSg1VhDnB8bWcmvLzmg0Bt9CRKVgHPXqYwvWMX3TvAjeO+nRuK6+VdTKCtWOvYlmkF/HqNAL/z+N3B53Kw==", 886 | "dev": true, 887 | "requires": { 888 | "@jest/schemas": "^28.0.2", 889 | "@types/istanbul-lib-coverage": "^2.0.0", 890 | "@types/istanbul-reports": "^3.0.0", 891 | "@types/node": "*", 892 | "@types/yargs": "^17.0.8", 893 | "chalk": "^4.0.0" 894 | } 895 | }, 896 | "@types/yargs": { 897 | "version": "17.0.10", 898 | "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-17.0.10.tgz", 899 | "integrity": "sha512-gmEaFwpj/7f/ROdtIlci1R1VYU1J4j95m8T+Tj3iBgiBFKg1foE/PSl93bBd5T9LDXNPo8UlNN6W0qwD8O5OaA==", 900 | "dev": true, 901 | "requires": { 902 | "@types/yargs-parser": "*" 903 | } 904 | } 905 | } 906 | }, 907 | "@jest/types": { 908 | "version": "27.5.1", 909 | "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.5.1.tgz", 910 | "integrity": "sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==", 911 | "dev": true, 912 | "requires": { 913 | "@types/istanbul-lib-coverage": "^2.0.0", 914 | "@types/istanbul-reports": "^3.0.0", 915 | "@types/node": "*", 916 | "@types/yargs": "^16.0.0", 917 | "chalk": "^4.0.0" 918 | } 919 | }, 920 | "@jridgewell/gen-mapping": { 921 | "version": "0.1.1", 922 | "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.1.1.tgz", 923 | "integrity": "sha512-sQXCasFk+U8lWYEe66WxRDOE9PjVz4vSM51fTu3Hw+ClTpUSQb718772vH3pyS5pShp6lvQM7SxgIDXXXmOX7w==", 924 | "dev": true, 925 | "requires": { 926 | "@jridgewell/set-array": "^1.0.0", 927 | "@jridgewell/sourcemap-codec": "^1.4.10" 928 | } 929 | }, 930 | "@jridgewell/resolve-uri": { 931 | "version": "3.0.7", 932 | "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.0.7.tgz", 933 | "integrity": "sha512-8cXDaBBHOr2pQ7j77Y6Vp5VDT2sIqWyWQ56TjEq4ih/a4iST3dItRe8Q9fp0rrIl9DoKhWQtUQz/YpOxLkXbNA==", 934 | "dev": true 935 | }, 936 | "@jridgewell/set-array": { 937 | "version": "1.1.1", 938 | "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.1.1.tgz", 939 | "integrity": "sha512-Ct5MqZkLGEXTVmQYbGtx9SVqD2fqwvdubdps5D3djjAkgkKwT918VNOz65pEHFaYTeWcukmJmH5SwsA9Tn2ObQ==", 940 | "dev": true 941 | }, 942 | "@jridgewell/sourcemap-codec": { 943 | "version": "1.4.13", 944 | "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.13.tgz", 945 | "integrity": "sha512-GryiOJmNcWbovBxTfZSF71V/mXbgcV3MewDe3kIMCLyIh5e7SKAeUZs+rMnJ8jkMolZ/4/VsdBmMrw3l+VdZ3w==", 946 | "dev": true 947 | }, 948 | "@jridgewell/trace-mapping": { 949 | "version": "0.3.13", 950 | "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.13.tgz", 951 | "integrity": "sha512-o1xbKhp9qnIAoHJSWd6KlCZfqslL4valSF81H8ImioOAxluWYWOpWkpyktY2vnt4tbrX9XYaxovq6cgowaJp2w==", 952 | "dev": true, 953 | "requires": { 954 | "@jridgewell/resolve-uri": "^3.0.3", 955 | "@jridgewell/sourcemap-codec": "^1.4.10" 956 | } 957 | }, 958 | "@sinclair/typebox": { 959 | "version": "0.23.5", 960 | "resolved": "https://registry.npmjs.org/@sinclair/typebox/-/typebox-0.23.5.tgz", 961 | "integrity": "sha512-AFBVi/iT4g20DHoujvMH1aEDn8fGJh4xsRGCP6d8RpLPMqsNPvW01Jcn0QysXTsg++/xj25NmJsGyH9xug/wKg==", 962 | "dev": true 963 | }, 964 | "@sinonjs/commons": { 965 | "version": "1.8.3", 966 | "resolved": "https://registry.npmjs.org/@sinonjs/commons/-/commons-1.8.3.tgz", 967 | "integrity": "sha512-xkNcLAn/wZaX14RPlwizcKicDk9G3F8m2nU3L7Ukm5zBgTwiT0wsoFAHx9Jq56fJA1z/7uKGtCRu16sOUCLIHQ==", 968 | "dev": true, 969 | "requires": { 970 | "type-detect": "4.0.8" 971 | } 972 | }, 973 | "@sinonjs/fake-timers": { 974 | "version": "9.1.2", 975 | "resolved": "https://registry.npmjs.org/@sinonjs/fake-timers/-/fake-timers-9.1.2.tgz", 976 | "integrity": "sha512-BPS4ynJW/o92PUR4wgriz2Ud5gpST5vz6GQfMixEDK0Z8ZCUv2M7SkBLykH56T++Xs+8ln9zTGbOvNGIe02/jw==", 977 | "dev": true, 978 | "requires": { 979 | "@sinonjs/commons": "^1.7.0" 980 | } 981 | }, 982 | "@swc/core": { 983 | "version": "1.2.198", 984 | "resolved": "https://registry.npmjs.org/@swc/core/-/core-1.2.198.tgz", 985 | "integrity": "sha512-QQ2U6MXpFK134YwZsRiMKbH6BVBBwV4cVJ5NyRbfHSeV6lSrzSTogx/pHwVZzPg8dhwL0P+wAMxGJj0jMjUHbQ==", 986 | "dev": true, 987 | "requires": { 988 | "@swc/core-android-arm-eabi": "1.2.199", 989 | "@swc/core-android-arm64": "1.2.199", 990 | "@swc/core-darwin-arm64": "1.2.199", 991 | "@swc/core-darwin-x64": "1.2.199", 992 | "@swc/core-freebsd-x64": "1.2.199", 993 | "@swc/core-linux-arm-gnueabihf": "1.2.199", 994 | "@swc/core-linux-arm64-gnu": "1.2.199", 995 | "@swc/core-linux-arm64-musl": "1.2.199", 996 | "@swc/core-linux-x64-gnu": "1.2.199", 997 | "@swc/core-linux-x64-musl": "1.2.199", 998 | "@swc/core-win32-arm64-msvc": "1.2.199", 999 | "@swc/core-win32-ia32-msvc": "1.2.199", 1000 | "@swc/core-win32-x64-msvc": "1.2.199" 1001 | } 1002 | }, 1003 | "@swc/core-android-arm-eabi": { 1004 | "version": "1.2.199", 1005 | "resolved": "https://registry.npmjs.org/@swc/core-android-arm-eabi/-/core-android-arm-eabi-1.2.199.tgz", 1006 | "integrity": "sha512-g371Vp4c0oC4wpk8AVtXSOq8V/39dBBB/bjJ2GStN42NOO0bJWA6bssT8Gd+wxHSnWnboVwMvZTXqxqfSofsGA==", 1007 | "dev": true, 1008 | "optional": true 1009 | }, 1010 | "@swc/core-android-arm64": { 1011 | "version": "1.2.199", 1012 | "resolved": "https://registry.npmjs.org/@swc/core-android-arm64/-/core-android-arm64-1.2.199.tgz", 1013 | "integrity": "sha512-dUu1BSFN3fJMDaLu4G+DzWFp5ac9QwORRyFQF+byZUxb2NsJh2ZNtKMO1xQZ2lIN0wZn+2KZRRfgM0lpT2m3/Q==", 1014 | "dev": true, 1015 | "optional": true 1016 | }, 1017 | "@swc/core-darwin-arm64": { 1018 | "version": "1.2.199", 1019 | "resolved": "https://registry.npmjs.org/@swc/core-darwin-arm64/-/core-darwin-arm64-1.2.199.tgz", 1020 | "integrity": "sha512-EIQrO+QvaoXY0/qiCjDvHxELnuAb2yDUalNFQOrNiUJ+9U6jSPvFAoN4a9cJTOmk26fmN5arju1MBoycpVBjyA==", 1021 | "dev": true, 1022 | "optional": true 1023 | }, 1024 | "@swc/core-darwin-x64": { 1025 | "version": "1.2.199", 1026 | "resolved": "https://registry.npmjs.org/@swc/core-darwin-x64/-/core-darwin-x64-1.2.199.tgz", 1027 | "integrity": "sha512-sNDqBFjSqbJF7JIg+0J1KYsOaO2/93WGU/nEdMl8XisXu8jwi0jn5iwxwWGOV7ZNsWcB6ZaNcEhtSMkRocxwzA==", 1028 | "dev": true, 1029 | "optional": true 1030 | }, 1031 | "@swc/core-freebsd-x64": { 1032 | "version": "1.2.199", 1033 | "resolved": "https://registry.npmjs.org/@swc/core-freebsd-x64/-/core-freebsd-x64-1.2.199.tgz", 1034 | "integrity": "sha512-2PS4FlauO/8c4ESB/J1Dwy0Qb56ytfbQgtiJC/BiH/Qdxih0MmBG5fKF6K75e1op51RgK8qyLrKYz2g+fZ7KzQ==", 1035 | "dev": true, 1036 | "optional": true 1037 | }, 1038 | "@swc/core-linux-arm-gnueabihf": { 1039 | "version": "1.2.199", 1040 | "resolved": "https://registry.npmjs.org/@swc/core-linux-arm-gnueabihf/-/core-linux-arm-gnueabihf-1.2.199.tgz", 1041 | "integrity": "sha512-dPYPIZMvtYTzzesw3XckbOTkjDgSdPLDItzWh51yx0q1nz2Vzz1d4txFtLiExIW7J9gz2190/IXqxjhZJvESGw==", 1042 | "dev": true, 1043 | "optional": true 1044 | }, 1045 | "@swc/core-linux-arm64-gnu": { 1046 | "version": "1.2.199", 1047 | "resolved": "https://registry.npmjs.org/@swc/core-linux-arm64-gnu/-/core-linux-arm64-gnu-1.2.199.tgz", 1048 | "integrity": "sha512-wOlecCRPP09RhqJEfyFFuwvJDeNdSAlKp3YzTTWvpfH8wMeVSBlEOiHrLSfNCXRsHoqJZAGdk/4McjIISQgqmw==", 1049 | "dev": true, 1050 | "optional": true 1051 | }, 1052 | "@swc/core-linux-arm64-musl": { 1053 | "version": "1.2.199", 1054 | "resolved": "https://registry.npmjs.org/@swc/core-linux-arm64-musl/-/core-linux-arm64-musl-1.2.199.tgz", 1055 | "integrity": "sha512-B7hJ9Yw0oBXIoKb0NzrG9hp15rYFZ6E8nmKbK40WgXh7vj/cCw4ILQYB6Vw5YBDpgdg+gs20JeiO9ehw1SLU6Q==", 1056 | "dev": true, 1057 | "optional": true 1058 | }, 1059 | "@swc/core-linux-x64-gnu": { 1060 | "version": "1.2.199", 1061 | "resolved": "https://registry.npmjs.org/@swc/core-linux-x64-gnu/-/core-linux-x64-gnu-1.2.199.tgz", 1062 | "integrity": "sha512-7K9ZjGj+0FWHYes1QI3d7XhCzolm/W2E/WHuAL/nZuTHQ0/VRTCjdgA6ilJozUBDjj1xKmJp3rdWwNzveRDilQ==", 1063 | "dev": true, 1064 | "optional": true 1065 | }, 1066 | "@swc/core-linux-x64-musl": { 1067 | "version": "1.2.199", 1068 | "resolved": "https://registry.npmjs.org/@swc/core-linux-x64-musl/-/core-linux-x64-musl-1.2.199.tgz", 1069 | "integrity": "sha512-VP6VN5ZwwMMug0fd8yOX6AWkgkXpZWXzd5eOv4CHI+7L7OBd+uYE3VK22XMzrgWOhIN2EagOMIPvOONXeTBDRw==", 1070 | "dev": true, 1071 | "optional": true 1072 | }, 1073 | "@swc/core-win32-arm64-msvc": { 1074 | "version": "1.2.199", 1075 | "resolved": "https://registry.npmjs.org/@swc/core-win32-arm64-msvc/-/core-win32-arm64-msvc-1.2.199.tgz", 1076 | "integrity": "sha512-ACXzDkYnrJQbU5Ll+vkwMxV/shpiw2pAT5Br5FGsoGo0QVGjEJWa6EVPsvZDMhu0c0IzbFKJgvqqOQKC6cAcDw==", 1077 | "dev": true, 1078 | "optional": true 1079 | }, 1080 | "@swc/core-win32-ia32-msvc": { 1081 | "version": "1.2.199", 1082 | "resolved": "https://registry.npmjs.org/@swc/core-win32-ia32-msvc/-/core-win32-ia32-msvc-1.2.199.tgz", 1083 | "integrity": "sha512-nWeWoHGs+0WQ95INw7VjQyA9BpuL+2o55RSrJgH6Jktun/c6gStCVDjJimvf/lQY1ILLZEUipyT2C6BuzsmHmQ==", 1084 | "dev": true, 1085 | "optional": true 1086 | }, 1087 | "@swc/core-win32-x64-msvc": { 1088 | "version": "1.2.199", 1089 | "resolved": "https://registry.npmjs.org/@swc/core-win32-x64-msvc/-/core-win32-x64-msvc-1.2.199.tgz", 1090 | "integrity": "sha512-PCd5Zau6uL++vYqxpYR1anYJcHG81nFJsTfZ6fYwhRARcYyPExNENKJbJgSycaBrPcylApCtUR8wVWWWp35cPQ==", 1091 | "dev": true, 1092 | "optional": true 1093 | }, 1094 | "@swc/jest": { 1095 | "version": "0.2.21", 1096 | "resolved": "https://registry.npmjs.org/@swc/jest/-/jest-0.2.21.tgz", 1097 | "integrity": "sha512-/+NcExiZbxXANNhNPnIdFuGq62CeumulLS1bngwqIXd8H7d96LFUfrYzdt8tlTwLMel8tFtQ5aRjzVkyOTyPDw==", 1098 | "dev": true, 1099 | "requires": { 1100 | "@jest/create-cache-key-function": "^27.4.2" 1101 | } 1102 | }, 1103 | "@tsconfig/node10": { 1104 | "version": "1.0.9", 1105 | "resolved": "https://registry.npmjs.org/@tsconfig/node10/-/node10-1.0.9.tgz", 1106 | "integrity": "sha512-jNsYVVxU8v5g43Erja32laIDHXeoNvFEpX33OK4d6hljo3jDhCBDhx5dhCCTMWUojscpAagGiRkBKxpdl9fxqA==", 1107 | "dev": true 1108 | }, 1109 | "@tsconfig/node12": { 1110 | "version": "1.0.10", 1111 | "resolved": "https://registry.npmjs.org/@tsconfig/node12/-/node12-1.0.10.tgz", 1112 | "integrity": "sha512-N+srakvPaYMGkwjNDx3ASx65Zl3QG8dJgVtIB+YMOkucU+zctlv/hdP5250VKdDHSDoW9PFZoCqbqNcAPjCjXA==", 1113 | "dev": true 1114 | }, 1115 | "@tsconfig/node14": { 1116 | "version": "1.0.2", 1117 | "resolved": "https://registry.npmjs.org/@tsconfig/node14/-/node14-1.0.2.tgz", 1118 | "integrity": "sha512-YwrUA5ysDXHFYfL0Xed9x3sNS4P+aKlCOnnbqUa2E5HdQshHFleCJVrj1PlGTb4GgFUCDyte1v3JWLy2sz8Oqg==", 1119 | "dev": true 1120 | }, 1121 | "@tsconfig/node16": { 1122 | "version": "1.0.3", 1123 | "resolved": "https://registry.npmjs.org/@tsconfig/node16/-/node16-1.0.3.tgz", 1124 | "integrity": "sha512-yOlFc+7UtL/89t2ZhjPvvB/DeAr3r+Dq58IgzsFkOAvVC6NMJXmCGjbptdXdR9qsX7pKcTL+s87FtYREi2dEEQ==", 1125 | "dev": true 1126 | }, 1127 | "@types/babel__core": { 1128 | "version": "7.1.19", 1129 | "resolved": "https://registry.npmjs.org/@types/babel__core/-/babel__core-7.1.19.tgz", 1130 | "integrity": "sha512-WEOTgRsbYkvA/KCsDwVEGkd7WAr1e3g31VHQ8zy5gul/V1qKullU/BU5I68X5v7V3GnB9eotmom4v5a5gjxorw==", 1131 | "dev": true, 1132 | "requires": { 1133 | "@babel/parser": "^7.1.0", 1134 | "@babel/types": "^7.0.0", 1135 | "@types/babel__generator": "*", 1136 | "@types/babel__template": "*", 1137 | "@types/babel__traverse": "*" 1138 | } 1139 | }, 1140 | "@types/babel__generator": { 1141 | "version": "7.6.4", 1142 | "resolved": "https://registry.npmjs.org/@types/babel__generator/-/babel__generator-7.6.4.tgz", 1143 | "integrity": "sha512-tFkciB9j2K755yrTALxD44McOrk+gfpIpvC3sxHjRawj6PfnQxrse4Clq5y/Rq+G3mrBurMax/lG8Qn2t9mSsg==", 1144 | "dev": true, 1145 | "requires": { 1146 | "@babel/types": "^7.0.0" 1147 | } 1148 | }, 1149 | "@types/babel__template": { 1150 | "version": "7.4.1", 1151 | "resolved": "https://registry.npmjs.org/@types/babel__template/-/babel__template-7.4.1.tgz", 1152 | "integrity": "sha512-azBFKemX6kMg5Io+/rdGT0dkGreboUVR0Cdm3fz9QJWpaQGJRQXl7C+6hOTCZcMll7KFyEQpgbYI2lHdsS4U7g==", 1153 | "dev": true, 1154 | "requires": { 1155 | "@babel/parser": "^7.1.0", 1156 | "@babel/types": "^7.0.0" 1157 | } 1158 | }, 1159 | "@types/babel__traverse": { 1160 | "version": "7.17.1", 1161 | "resolved": "https://registry.npmjs.org/@types/babel__traverse/-/babel__traverse-7.17.1.tgz", 1162 | "integrity": "sha512-kVzjari1s2YVi77D3w1yuvohV2idweYXMCDzqBiVNN63TcDWrIlTVOYpqVrvbbyOE/IyzBoTKF0fdnLPEORFxA==", 1163 | "dev": true, 1164 | "requires": { 1165 | "@babel/types": "^7.3.0" 1166 | } 1167 | }, 1168 | "@types/body-parser": { 1169 | "version": "1.19.2", 1170 | "resolved": "https://registry.npmjs.org/@types/body-parser/-/body-parser-1.19.2.tgz", 1171 | "integrity": "sha512-ALYone6pm6QmwZoAgeyNksccT9Q4AWZQ6PvfwR37GT6r6FWUPguq6sUmNGSMV2Wr761oQoBxwGGa6DR5o1DC9g==", 1172 | "dev": true, 1173 | "requires": { 1174 | "@types/connect": "*", 1175 | "@types/node": "*" 1176 | } 1177 | }, 1178 | "@types/connect": { 1179 | "version": "3.4.35", 1180 | "resolved": "https://registry.npmjs.org/@types/connect/-/connect-3.4.35.tgz", 1181 | "integrity": "sha512-cdeYyv4KWoEgpBISTxWvqYsVy444DOqehiF3fM3ne10AmJ62RSyNkUnxMJXHQWRQQX2eR94m5y1IZyDwBjV9FQ==", 1182 | "dev": true, 1183 | "requires": { 1184 | "@types/node": "*" 1185 | } 1186 | }, 1187 | "@types/express": { 1188 | "version": "4.17.13", 1189 | "resolved": "https://registry.npmjs.org/@types/express/-/express-4.17.13.tgz", 1190 | "integrity": "sha512-6bSZTPaTIACxn48l50SR+axgrqm6qXFIxrdAKaG6PaJk3+zuUr35hBlgT7vOmJcum+OEaIBLtHV/qloEAFITeA==", 1191 | "dev": true, 1192 | "requires": { 1193 | "@types/body-parser": "*", 1194 | "@types/express-serve-static-core": "^4.17.18", 1195 | "@types/qs": "*", 1196 | "@types/serve-static": "*" 1197 | } 1198 | }, 1199 | "@types/express-serve-static-core": { 1200 | "version": "4.17.28", 1201 | "resolved": "https://registry.npmjs.org/@types/express-serve-static-core/-/express-serve-static-core-4.17.28.tgz", 1202 | "integrity": "sha512-P1BJAEAW3E2DJUlkgq4tOL3RyMunoWXqbSCygWo5ZIWTjUgN1YnaXWW4VWl/oc8vs/XoYibEGBKP0uZyF4AHig==", 1203 | "dev": true, 1204 | "requires": { 1205 | "@types/node": "*", 1206 | "@types/qs": "*", 1207 | "@types/range-parser": "*" 1208 | } 1209 | }, 1210 | "@types/graceful-fs": { 1211 | "version": "4.1.5", 1212 | "resolved": "https://registry.npmjs.org/@types/graceful-fs/-/graceful-fs-4.1.5.tgz", 1213 | "integrity": "sha512-anKkLmZZ+xm4p8JWBf4hElkM4XR+EZeA2M9BAkkTldmcyDY4mbdIJnRghDJH3Ov5ooY7/UAoENtmdMSkaAd7Cw==", 1214 | "dev": true, 1215 | "requires": { 1216 | "@types/node": "*" 1217 | } 1218 | }, 1219 | "@types/istanbul-lib-coverage": { 1220 | "version": "2.0.4", 1221 | "resolved": "https://registry.npmjs.org/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.4.tgz", 1222 | "integrity": "sha512-z/QT1XN4K4KYuslS23k62yDIDLwLFkzxOuMplDtObz0+y7VqJCaO2o+SPwHCvLFZh7xazvvoor2tA/hPz9ee7g==", 1223 | "dev": true 1224 | }, 1225 | "@types/istanbul-lib-report": { 1226 | "version": "3.0.0", 1227 | "resolved": "https://registry.npmjs.org/@types/istanbul-lib-report/-/istanbul-lib-report-3.0.0.tgz", 1228 | "integrity": "sha512-plGgXAPfVKFoYfa9NpYDAkseG+g6Jr294RqeqcqDixSbU34MZVJRi/P+7Y8GDpzkEwLaGZZOpKIEmeVZNtKsrg==", 1229 | "dev": true, 1230 | "requires": { 1231 | "@types/istanbul-lib-coverage": "*" 1232 | } 1233 | }, 1234 | "@types/istanbul-reports": { 1235 | "version": "3.0.1", 1236 | "resolved": "https://registry.npmjs.org/@types/istanbul-reports/-/istanbul-reports-3.0.1.tgz", 1237 | "integrity": "sha512-c3mAZEuK0lvBp8tmuL74XRKn1+y2dcwOUpH7x4WrF6gk1GIgiluDRgMYQtw2OFcBvAJWlt6ASU3tSqxp0Uu0Aw==", 1238 | "dev": true, 1239 | "requires": { 1240 | "@types/istanbul-lib-report": "*" 1241 | } 1242 | }, 1243 | "@types/jest": { 1244 | "version": "28.1.1", 1245 | "resolved": "https://registry.npmjs.org/@types/jest/-/jest-28.1.1.tgz", 1246 | "integrity": "sha512-C2p7yqleUKtCkVjlOur9BWVA4HgUQmEj/HWCt5WzZ5mLXrWnyIfl0wGuArc+kBXsy0ZZfLp+7dywB4HtSVYGVA==", 1247 | "dev": true, 1248 | "requires": { 1249 | "jest-matcher-utils": "^27.0.0", 1250 | "pretty-format": "^27.0.0" 1251 | } 1252 | }, 1253 | "@types/mime": { 1254 | "version": "1.3.2", 1255 | "resolved": "https://registry.npmjs.org/@types/mime/-/mime-1.3.2.tgz", 1256 | "integrity": "sha512-YATxVxgRqNH6nHEIsvg6k2Boc1JHI9ZbH5iWFFv/MTkchz3b1ieGDa5T0a9RznNdI0KhVbdbWSN+KWWrQZRxTw==", 1257 | "dev": true 1258 | }, 1259 | "@types/node": { 1260 | "version": "17.0.42", 1261 | "resolved": "https://registry.npmjs.org/@types/node/-/node-17.0.42.tgz", 1262 | "integrity": "sha512-Q5BPGyGKcvQgAMbsr7qEGN/kIPN6zZecYYABeTDBizOsau+2NMdSVTar9UQw21A2+JyA2KRNDYaYrPB0Rpk2oQ==", 1263 | "dev": true 1264 | }, 1265 | "@types/prettier": { 1266 | "version": "2.6.3", 1267 | "resolved": "https://registry.npmjs.org/@types/prettier/-/prettier-2.6.3.tgz", 1268 | "integrity": "sha512-ymZk3LEC/fsut+/Q5qejp6R9O1rMxz3XaRHDV6kX8MrGAhOSPqVARbDi+EZvInBpw+BnCX3TD240byVkOfQsHg==", 1269 | "dev": true 1270 | }, 1271 | "@types/qs": { 1272 | "version": "6.9.7", 1273 | "resolved": "https://registry.npmjs.org/@types/qs/-/qs-6.9.7.tgz", 1274 | "integrity": "sha512-FGa1F62FT09qcrueBA6qYTrJPVDzah9a+493+o2PCXsesWHIn27G98TsSMs3WPNbZIEj4+VJf6saSFpvD+3Zsw==", 1275 | "dev": true 1276 | }, 1277 | "@types/range-parser": { 1278 | "version": "1.2.4", 1279 | "resolved": "https://registry.npmjs.org/@types/range-parser/-/range-parser-1.2.4.tgz", 1280 | "integrity": "sha512-EEhsLsD6UsDM1yFhAvy0Cjr6VwmpMWqFBCb9w07wVugF7w9nfajxLuVmngTIpgS6svCnm6Vaw+MZhoDCKnOfsw==", 1281 | "dev": true 1282 | }, 1283 | "@types/serve-static": { 1284 | "version": "1.13.10", 1285 | "resolved": "https://registry.npmjs.org/@types/serve-static/-/serve-static-1.13.10.tgz", 1286 | "integrity": "sha512-nCkHGI4w7ZgAdNkrEu0bv+4xNV/XDqW+DydknebMOQwkpDGx8G+HTlj7R7ABI8i8nKxVw0wtKPi1D+lPOkh4YQ==", 1287 | "dev": true, 1288 | "requires": { 1289 | "@types/mime": "^1", 1290 | "@types/node": "*" 1291 | } 1292 | }, 1293 | "@types/stack-utils": { 1294 | "version": "2.0.1", 1295 | "resolved": "https://registry.npmjs.org/@types/stack-utils/-/stack-utils-2.0.1.tgz", 1296 | "integrity": "sha512-Hl219/BT5fLAaz6NDkSuhzasy49dwQS/DSdu4MdggFB8zcXv7vflBI3xp7FEmkmdDkBUI2bPUNeMttp2knYdxw==", 1297 | "dev": true 1298 | }, 1299 | "@types/yargs": { 1300 | "version": "16.0.4", 1301 | "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.4.tgz", 1302 | "integrity": "sha512-T8Yc9wt/5LbJyCaLiHPReJa0kApcIgJ7Bn735GjItUfh08Z1pJvu8QZqb9s+mMvKV6WUQRV7K2R46YbjMXTTJw==", 1303 | "dev": true, 1304 | "requires": { 1305 | "@types/yargs-parser": "*" 1306 | } 1307 | }, 1308 | "@types/yargs-parser": { 1309 | "version": "21.0.0", 1310 | "resolved": "https://registry.npmjs.org/@types/yargs-parser/-/yargs-parser-21.0.0.tgz", 1311 | "integrity": "sha512-iO9ZQHkZxHn4mSakYV0vFHAVDyEOIJQrV2uZ06HxEPcx+mt8swXoZHIbaaJ2crJYFfErySgktuTZ3BeLz+XmFA==", 1312 | "dev": true 1313 | }, 1314 | "accepts": { 1315 | "version": "1.3.8", 1316 | "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.8.tgz", 1317 | "integrity": "sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==", 1318 | "requires": { 1319 | "mime-types": "~2.1.34", 1320 | "negotiator": "0.6.3" 1321 | } 1322 | }, 1323 | "acorn": { 1324 | "version": "8.7.1", 1325 | "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.7.1.tgz", 1326 | "integrity": "sha512-Xx54uLJQZ19lKygFXOWsscKUbsBZW0CPykPhVQdhIeIwrbPmJzqeASDInc8nKBnp/JT6igTs82qPXz069H8I/A==", 1327 | "dev": true 1328 | }, 1329 | "acorn-walk": { 1330 | "version": "8.2.0", 1331 | "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-8.2.0.tgz", 1332 | "integrity": "sha512-k+iyHEuPgSw6SbuDpGQM+06HQUa04DZ3o+F6CSzXMvvI5KMvnaEqXe+YVe555R9nn6GPt404fos4wcgpw12SDA==", 1333 | "dev": true 1334 | }, 1335 | "ansi-escapes": { 1336 | "version": "4.3.2", 1337 | "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.2.tgz", 1338 | "integrity": "sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==", 1339 | "dev": true, 1340 | "requires": { 1341 | "type-fest": "^0.21.3" 1342 | } 1343 | }, 1344 | "ansi-regex": { 1345 | "version": "5.0.1", 1346 | "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", 1347 | "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", 1348 | "dev": true 1349 | }, 1350 | "ansi-styles": { 1351 | "version": "4.3.0", 1352 | "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", 1353 | "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", 1354 | "dev": true, 1355 | "requires": { 1356 | "color-convert": "^2.0.1" 1357 | } 1358 | }, 1359 | "anymatch": { 1360 | "version": "3.1.2", 1361 | "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.2.tgz", 1362 | "integrity": "sha512-P43ePfOAIupkguHUycrc4qJ9kz8ZiuOUijaETwX7THt0Y/GNK7v0aa8rY816xWjZ7rJdA5XdMcpVFTKMq+RvWg==", 1363 | "dev": true, 1364 | "requires": { 1365 | "normalize-path": "^3.0.0", 1366 | "picomatch": "^2.0.4" 1367 | } 1368 | }, 1369 | "arg": { 1370 | "version": "4.1.3", 1371 | "resolved": "https://registry.npmjs.org/arg/-/arg-4.1.3.tgz", 1372 | "integrity": "sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA==", 1373 | "dev": true 1374 | }, 1375 | "argparse": { 1376 | "version": "1.0.10", 1377 | "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", 1378 | "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", 1379 | "dev": true, 1380 | "requires": { 1381 | "sprintf-js": "~1.0.2" 1382 | } 1383 | }, 1384 | "array-flatten": { 1385 | "version": "1.1.1", 1386 | "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz", 1387 | "integrity": "sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg==" 1388 | }, 1389 | "babel-jest": { 1390 | "version": "28.1.1", 1391 | "resolved": "https://registry.npmjs.org/babel-jest/-/babel-jest-28.1.1.tgz", 1392 | "integrity": "sha512-MEt0263viUdAkTq5D7upHPNxvt4n9uLUGa6pPz3WviNBMtOmStb1lIXS3QobnoqM+qnH+vr4EKlvhe8QcmxIYw==", 1393 | "dev": true, 1394 | "requires": { 1395 | "@jest/transform": "^28.1.1", 1396 | "@types/babel__core": "^7.1.14", 1397 | "babel-plugin-istanbul": "^6.1.1", 1398 | "babel-preset-jest": "^28.1.1", 1399 | "chalk": "^4.0.0", 1400 | "graceful-fs": "^4.2.9", 1401 | "slash": "^3.0.0" 1402 | } 1403 | }, 1404 | "babel-plugin-istanbul": { 1405 | "version": "6.1.1", 1406 | "resolved": "https://registry.npmjs.org/babel-plugin-istanbul/-/babel-plugin-istanbul-6.1.1.tgz", 1407 | "integrity": "sha512-Y1IQok9821cC9onCx5otgFfRm7Lm+I+wwxOx738M/WLPZ9Q42m4IG5W0FNX8WLL2gYMZo3JkuXIH2DOpWM+qwA==", 1408 | "dev": true, 1409 | "requires": { 1410 | "@babel/helper-plugin-utils": "^7.0.0", 1411 | "@istanbuljs/load-nyc-config": "^1.0.0", 1412 | "@istanbuljs/schema": "^0.1.2", 1413 | "istanbul-lib-instrument": "^5.0.4", 1414 | "test-exclude": "^6.0.0" 1415 | } 1416 | }, 1417 | "babel-plugin-jest-hoist": { 1418 | "version": "28.1.1", 1419 | "resolved": "https://registry.npmjs.org/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-28.1.1.tgz", 1420 | "integrity": "sha512-NovGCy5Hn25uMJSAU8FaHqzs13cFoOI4lhIujiepssjCKRsAo3TA734RDWSGxuFTsUJXerYOqQQodlxgmtqbzw==", 1421 | "dev": true, 1422 | "requires": { 1423 | "@babel/template": "^7.3.3", 1424 | "@babel/types": "^7.3.3", 1425 | "@types/babel__core": "^7.1.14", 1426 | "@types/babel__traverse": "^7.0.6" 1427 | } 1428 | }, 1429 | "babel-preset-current-node-syntax": { 1430 | "version": "1.0.1", 1431 | "resolved": "https://registry.npmjs.org/babel-preset-current-node-syntax/-/babel-preset-current-node-syntax-1.0.1.tgz", 1432 | "integrity": "sha512-M7LQ0bxarkxQoN+vz5aJPsLBn77n8QgTFmo8WK0/44auK2xlCXrYcUxHFxgU7qW5Yzw/CjmLRK2uJzaCd7LvqQ==", 1433 | "dev": true, 1434 | "requires": { 1435 | "@babel/plugin-syntax-async-generators": "^7.8.4", 1436 | "@babel/plugin-syntax-bigint": "^7.8.3", 1437 | "@babel/plugin-syntax-class-properties": "^7.8.3", 1438 | "@babel/plugin-syntax-import-meta": "^7.8.3", 1439 | "@babel/plugin-syntax-json-strings": "^7.8.3", 1440 | "@babel/plugin-syntax-logical-assignment-operators": "^7.8.3", 1441 | "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3", 1442 | "@babel/plugin-syntax-numeric-separator": "^7.8.3", 1443 | "@babel/plugin-syntax-object-rest-spread": "^7.8.3", 1444 | "@babel/plugin-syntax-optional-catch-binding": "^7.8.3", 1445 | "@babel/plugin-syntax-optional-chaining": "^7.8.3", 1446 | "@babel/plugin-syntax-top-level-await": "^7.8.3" 1447 | } 1448 | }, 1449 | "babel-preset-jest": { 1450 | "version": "28.1.1", 1451 | "resolved": "https://registry.npmjs.org/babel-preset-jest/-/babel-preset-jest-28.1.1.tgz", 1452 | "integrity": "sha512-FCq9Oud0ReTeWtcneYf/48981aTfXYuB9gbU4rBNNJVBSQ6ssv7E6v/qvbBxtOWwZFXjLZwpg+W3q7J6vhH25g==", 1453 | "dev": true, 1454 | "requires": { 1455 | "babel-plugin-jest-hoist": "^28.1.1", 1456 | "babel-preset-current-node-syntax": "^1.0.0" 1457 | } 1458 | }, 1459 | "balanced-match": { 1460 | "version": "1.0.2", 1461 | "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", 1462 | "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", 1463 | "dev": true 1464 | }, 1465 | "body-parser": { 1466 | "version": "1.20.0", 1467 | "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.20.0.tgz", 1468 | "integrity": "sha512-DfJ+q6EPcGKZD1QWUjSpqp+Q7bDQTsQIF4zfUAtZ6qk+H/3/QRhg9CEp39ss+/T2vw0+HaidC0ecJj/DRLIaKg==", 1469 | "requires": { 1470 | "bytes": "3.1.2", 1471 | "content-type": "~1.0.4", 1472 | "debug": "2.6.9", 1473 | "depd": "2.0.0", 1474 | "destroy": "1.2.0", 1475 | "http-errors": "2.0.0", 1476 | "iconv-lite": "0.4.24", 1477 | "on-finished": "2.4.1", 1478 | "qs": "6.10.3", 1479 | "raw-body": "2.5.1", 1480 | "type-is": "~1.6.18", 1481 | "unpipe": "1.0.0" 1482 | }, 1483 | "dependencies": { 1484 | "debug": { 1485 | "version": "2.6.9", 1486 | "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", 1487 | "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", 1488 | "requires": { 1489 | "ms": "2.0.0" 1490 | } 1491 | }, 1492 | "ms": { 1493 | "version": "2.0.0", 1494 | "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", 1495 | "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" 1496 | } 1497 | } 1498 | }, 1499 | "brace-expansion": { 1500 | "version": "1.1.11", 1501 | "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", 1502 | "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", 1503 | "dev": true, 1504 | "requires": { 1505 | "balanced-match": "^1.0.0", 1506 | "concat-map": "0.0.1" 1507 | } 1508 | }, 1509 | "braces": { 1510 | "version": "3.0.2", 1511 | "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", 1512 | "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", 1513 | "dev": true, 1514 | "requires": { 1515 | "fill-range": "^7.0.1" 1516 | } 1517 | }, 1518 | "browserslist": { 1519 | "version": "4.20.4", 1520 | "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.20.4.tgz", 1521 | "integrity": "sha512-ok1d+1WpnU24XYN7oC3QWgTyMhY/avPJ/r9T00xxvUOIparA/gc+UPUMaod3i+G6s+nI2nUb9xZ5k794uIwShw==", 1522 | "dev": true, 1523 | "requires": { 1524 | "caniuse-lite": "^1.0.30001349", 1525 | "electron-to-chromium": "^1.4.147", 1526 | "escalade": "^3.1.1", 1527 | "node-releases": "^2.0.5", 1528 | "picocolors": "^1.0.0" 1529 | } 1530 | }, 1531 | "bser": { 1532 | "version": "2.1.1", 1533 | "resolved": "https://registry.npmjs.org/bser/-/bser-2.1.1.tgz", 1534 | "integrity": "sha512-gQxTNE/GAfIIrmHLUE3oJyp5FO6HRBfhjnw4/wMmA63ZGDJnWBmgY/lyQBpnDUkGmAhbSe39tx2d/iTOAfglwQ==", 1535 | "dev": true, 1536 | "requires": { 1537 | "node-int64": "^0.4.0" 1538 | } 1539 | }, 1540 | "buffer-from": { 1541 | "version": "1.1.2", 1542 | "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz", 1543 | "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==", 1544 | "dev": true 1545 | }, 1546 | "bytes": { 1547 | "version": "3.1.2", 1548 | "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz", 1549 | "integrity": "sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==" 1550 | }, 1551 | "call-bind": { 1552 | "version": "1.0.2", 1553 | "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.2.tgz", 1554 | "integrity": "sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==", 1555 | "requires": { 1556 | "function-bind": "^1.1.1", 1557 | "get-intrinsic": "^1.0.2" 1558 | } 1559 | }, 1560 | "callsites": { 1561 | "version": "3.1.0", 1562 | "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", 1563 | "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", 1564 | "dev": true 1565 | }, 1566 | "camelcase": { 1567 | "version": "5.3.1", 1568 | "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", 1569 | "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", 1570 | "dev": true 1571 | }, 1572 | "caniuse-lite": { 1573 | "version": "1.0.30001352", 1574 | "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001352.tgz", 1575 | "integrity": "sha512-GUgH8w6YergqPQDGWhJGt8GDRnY0L/iJVQcU3eJ46GYf52R8tk0Wxp0PymuFVZboJYXGiCqwozAYZNRjVj6IcA==", 1576 | "dev": true 1577 | }, 1578 | "chalk": { 1579 | "version": "4.1.2", 1580 | "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", 1581 | "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", 1582 | "dev": true, 1583 | "requires": { 1584 | "ansi-styles": "^4.1.0", 1585 | "supports-color": "^7.1.0" 1586 | } 1587 | }, 1588 | "char-regex": { 1589 | "version": "1.0.2", 1590 | "resolved": "https://registry.npmjs.org/char-regex/-/char-regex-1.0.2.tgz", 1591 | "integrity": "sha512-kWWXztvZ5SBQV+eRgKFeh8q5sLuZY2+8WUIzlxWVTg+oGwY14qylx1KbKzHd8P6ZYkAg0xyIDU9JMHhyJMZ1jw==", 1592 | "dev": true 1593 | }, 1594 | "ci-info": { 1595 | "version": "3.3.1", 1596 | "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-3.3.1.tgz", 1597 | "integrity": "sha512-SXgeMX9VwDe7iFFaEWkA5AstuER9YKqy4EhHqr4DVqkwmD9rpVimkMKWHdjn30Ja45txyjhSn63lVX69eVCckg==", 1598 | "dev": true 1599 | }, 1600 | "cjs-module-lexer": { 1601 | "version": "1.2.2", 1602 | "resolved": "https://registry.npmjs.org/cjs-module-lexer/-/cjs-module-lexer-1.2.2.tgz", 1603 | "integrity": "sha512-cOU9usZw8/dXIXKtwa8pM0OTJQuJkxMN6w30csNRUerHfeQ5R6U3kkU/FtJeIf3M202OHfY2U8ccInBG7/xogA==", 1604 | "dev": true 1605 | }, 1606 | "cliui": { 1607 | "version": "7.0.4", 1608 | "resolved": "https://registry.npmjs.org/cliui/-/cliui-7.0.4.tgz", 1609 | "integrity": "sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==", 1610 | "dev": true, 1611 | "requires": { 1612 | "string-width": "^4.2.0", 1613 | "strip-ansi": "^6.0.0", 1614 | "wrap-ansi": "^7.0.0" 1615 | } 1616 | }, 1617 | "co": { 1618 | "version": "4.6.0", 1619 | "resolved": "https://registry.npmjs.org/co/-/co-4.6.0.tgz", 1620 | "integrity": "sha512-QVb0dM5HvG+uaxitm8wONl7jltx8dqhfU33DcqtOZcLSVIKSDDLDi7+0LbAKiyI8hD9u42m2YxXSkMGWThaecQ==", 1621 | "dev": true 1622 | }, 1623 | "collect-v8-coverage": { 1624 | "version": "1.0.1", 1625 | "resolved": "https://registry.npmjs.org/collect-v8-coverage/-/collect-v8-coverage-1.0.1.tgz", 1626 | "integrity": "sha512-iBPtljfCNcTKNAto0KEtDfZ3qzjJvqE3aTGZsbhjSBlorqpXJlaWWtPO35D+ZImoC3KWejX64o+yPGxhWSTzfg==", 1627 | "dev": true 1628 | }, 1629 | "color-convert": { 1630 | "version": "2.0.1", 1631 | "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", 1632 | "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", 1633 | "dev": true, 1634 | "requires": { 1635 | "color-name": "~1.1.4" 1636 | } 1637 | }, 1638 | "color-name": { 1639 | "version": "1.1.4", 1640 | "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", 1641 | "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", 1642 | "dev": true 1643 | }, 1644 | "concat-map": { 1645 | "version": "0.0.1", 1646 | "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", 1647 | "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==", 1648 | "dev": true 1649 | }, 1650 | "content-disposition": { 1651 | "version": "0.5.4", 1652 | "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.4.tgz", 1653 | "integrity": "sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ==", 1654 | "requires": { 1655 | "safe-buffer": "5.2.1" 1656 | }, 1657 | "dependencies": { 1658 | "safe-buffer": { 1659 | "version": "5.2.1", 1660 | "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", 1661 | "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==" 1662 | } 1663 | } 1664 | }, 1665 | "content-type": { 1666 | "version": "1.0.4", 1667 | "resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.4.tgz", 1668 | "integrity": "sha512-hIP3EEPs8tB9AT1L+NUqtwOAps4mk2Zob89MWXMHjHWg9milF/j4osnnQLXBCBFBk/tvIG/tUc9mOUJiPBhPXA==" 1669 | }, 1670 | "convert-source-map": { 1671 | "version": "1.8.0", 1672 | "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.8.0.tgz", 1673 | "integrity": "sha512-+OQdjP49zViI/6i7nIJpA8rAl4sV/JdPfU9nZs3VqOwGIgizICvuN2ru6fMd+4llL0tar18UYJXfZ/TWtmhUjA==", 1674 | "dev": true, 1675 | "requires": { 1676 | "safe-buffer": "~5.1.1" 1677 | } 1678 | }, 1679 | "cookie": { 1680 | "version": "0.5.0", 1681 | "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.5.0.tgz", 1682 | "integrity": "sha512-YZ3GUyn/o8gfKJlnlX7g7xq4gyO6OSuhGPKaaGssGB2qgDUS0gPgtTvoyZLTt9Ab6dC4hfc9dV5arkvc/OCmrw==" 1683 | }, 1684 | "cookie-signature": { 1685 | "version": "1.0.6", 1686 | "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz", 1687 | "integrity": "sha512-QADzlaHc8icV8I7vbaJXJwod9HWYp8uCqf1xa4OfNu1T7JVxQIrUgOWtHdNDtPiywmFbiS12VjotIXLrKM3orQ==" 1688 | }, 1689 | "create-require": { 1690 | "version": "1.1.1", 1691 | "resolved": "https://registry.npmjs.org/create-require/-/create-require-1.1.1.tgz", 1692 | "integrity": "sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ==", 1693 | "dev": true 1694 | }, 1695 | "cross-spawn": { 1696 | "version": "7.0.3", 1697 | "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", 1698 | "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", 1699 | "dev": true, 1700 | "requires": { 1701 | "path-key": "^3.1.0", 1702 | "shebang-command": "^2.0.0", 1703 | "which": "^2.0.1" 1704 | } 1705 | }, 1706 | "debug": { 1707 | "version": "4.3.4", 1708 | "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", 1709 | "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", 1710 | "dev": true, 1711 | "requires": { 1712 | "ms": "2.1.2" 1713 | } 1714 | }, 1715 | "dedent": { 1716 | "version": "0.7.0", 1717 | "resolved": "https://registry.npmjs.org/dedent/-/dedent-0.7.0.tgz", 1718 | "integrity": "sha512-Q6fKUPqnAHAyhiUgFU7BUzLiv0kd8saH9al7tnu5Q/okj6dnupxyTgFIBjVzJATdfIAm9NAsvXNzjaKa+bxVyA==", 1719 | "dev": true 1720 | }, 1721 | "deepmerge": { 1722 | "version": "4.2.2", 1723 | "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-4.2.2.tgz", 1724 | "integrity": "sha512-FJ3UgI4gIl+PHZm53knsuSFpE+nESMr7M4v9QcgB7S63Kj/6WqMiFQJpBBYz1Pt+66bZpP3Q7Lye0Oo9MPKEdg==", 1725 | "dev": true 1726 | }, 1727 | "depd": { 1728 | "version": "2.0.0", 1729 | "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz", 1730 | "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==" 1731 | }, 1732 | "destroy": { 1733 | "version": "1.2.0", 1734 | "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.2.0.tgz", 1735 | "integrity": "sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==" 1736 | }, 1737 | "detect-newline": { 1738 | "version": "3.1.0", 1739 | "resolved": "https://registry.npmjs.org/detect-newline/-/detect-newline-3.1.0.tgz", 1740 | "integrity": "sha512-TLz+x/vEXm/Y7P7wn1EJFNLxYpUD4TgMosxY6fAVJUnJMbupHBOncxyWUG9OpTaH9EBD7uFI5LfEgmMOc54DsA==", 1741 | "dev": true 1742 | }, 1743 | "diff": { 1744 | "version": "4.0.2", 1745 | "resolved": "https://registry.npmjs.org/diff/-/diff-4.0.2.tgz", 1746 | "integrity": "sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A==", 1747 | "dev": true 1748 | }, 1749 | "diff-sequences": { 1750 | "version": "27.5.1", 1751 | "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-27.5.1.tgz", 1752 | "integrity": "sha512-k1gCAXAsNgLwEL+Y8Wvl+M6oEFj5bgazfZULpS5CneoPPXRaCCW7dm+q21Ky2VEE5X+VeRDBVg1Pcvvsr4TtNQ==", 1753 | "dev": true 1754 | }, 1755 | "ee-first": { 1756 | "version": "1.1.1", 1757 | "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz", 1758 | "integrity": "sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==" 1759 | }, 1760 | "electron-to-chromium": { 1761 | "version": "1.4.154", 1762 | "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.154.tgz", 1763 | "integrity": "sha512-GbV9djOkrnj6xmW+YYVVEI3VCQnJ0pnSTu7TW2JyjKd5cakoiSaG5R4RbEtfaD92GsY10DzbU3GYRe+IOA9kqA==", 1764 | "dev": true 1765 | }, 1766 | "emittery": { 1767 | "version": "0.10.2", 1768 | "resolved": "https://registry.npmjs.org/emittery/-/emittery-0.10.2.tgz", 1769 | "integrity": "sha512-aITqOwnLanpHLNXZJENbOgjUBeHocD+xsSJmNrjovKBW5HbSpW3d1pEls7GFQPUWXiwG9+0P4GtHfEqC/4M0Iw==", 1770 | "dev": true 1771 | }, 1772 | "emoji-regex": { 1773 | "version": "8.0.0", 1774 | "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", 1775 | "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", 1776 | "dev": true 1777 | }, 1778 | "encodeurl": { 1779 | "version": "1.0.2", 1780 | "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz", 1781 | "integrity": "sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==" 1782 | }, 1783 | "error-ex": { 1784 | "version": "1.3.2", 1785 | "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz", 1786 | "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==", 1787 | "dev": true, 1788 | "requires": { 1789 | "is-arrayish": "^0.2.1" 1790 | } 1791 | }, 1792 | "escalade": { 1793 | "version": "3.1.1", 1794 | "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz", 1795 | "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==", 1796 | "dev": true 1797 | }, 1798 | "escape-html": { 1799 | "version": "1.0.3", 1800 | "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz", 1801 | "integrity": "sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==" 1802 | }, 1803 | "escape-string-regexp": { 1804 | "version": "1.0.5", 1805 | "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", 1806 | "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", 1807 | "dev": true 1808 | }, 1809 | "esprima": { 1810 | "version": "4.0.1", 1811 | "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", 1812 | "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==", 1813 | "dev": true 1814 | }, 1815 | "etag": { 1816 | "version": "1.8.1", 1817 | "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz", 1818 | "integrity": "sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==" 1819 | }, 1820 | "execa": { 1821 | "version": "5.1.1", 1822 | "resolved": "https://registry.npmjs.org/execa/-/execa-5.1.1.tgz", 1823 | "integrity": "sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==", 1824 | "dev": true, 1825 | "requires": { 1826 | "cross-spawn": "^7.0.3", 1827 | "get-stream": "^6.0.0", 1828 | "human-signals": "^2.1.0", 1829 | "is-stream": "^2.0.0", 1830 | "merge-stream": "^2.0.0", 1831 | "npm-run-path": "^4.0.1", 1832 | "onetime": "^5.1.2", 1833 | "signal-exit": "^3.0.3", 1834 | "strip-final-newline": "^2.0.0" 1835 | } 1836 | }, 1837 | "exit": { 1838 | "version": "0.1.2", 1839 | "resolved": "https://registry.npmjs.org/exit/-/exit-0.1.2.tgz", 1840 | "integrity": "sha512-Zk/eNKV2zbjpKzrsQ+n1G6poVbErQxJ0LBOJXaKZ1EViLzH+hrLu9cdXI4zw9dBQJslwBEpbQ2P1oS7nDxs6jQ==", 1841 | "dev": true 1842 | }, 1843 | "expect": { 1844 | "version": "28.1.1", 1845 | "resolved": "https://registry.npmjs.org/expect/-/expect-28.1.1.tgz", 1846 | "integrity": "sha512-/AANEwGL0tWBwzLNOvO0yUdy2D52jVdNXppOqswC49sxMN2cPWsGCQdzuIf9tj6hHoBQzNvx75JUYuQAckPo3w==", 1847 | "dev": true, 1848 | "requires": { 1849 | "@jest/expect-utils": "^28.1.1", 1850 | "jest-get-type": "^28.0.2", 1851 | "jest-matcher-utils": "^28.1.1", 1852 | "jest-message-util": "^28.1.1", 1853 | "jest-util": "^28.1.1" 1854 | }, 1855 | "dependencies": { 1856 | "ansi-styles": { 1857 | "version": "5.2.0", 1858 | "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", 1859 | "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", 1860 | "dev": true 1861 | }, 1862 | "diff-sequences": { 1863 | "version": "28.1.1", 1864 | "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-28.1.1.tgz", 1865 | "integrity": "sha512-FU0iFaH/E23a+a718l8Qa/19bF9p06kgE0KipMOMadwa3SjnaElKzPaUC0vnibs6/B/9ni97s61mcejk8W1fQw==", 1866 | "dev": true 1867 | }, 1868 | "jest-diff": { 1869 | "version": "28.1.1", 1870 | "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-28.1.1.tgz", 1871 | "integrity": "sha512-/MUUxeR2fHbqHoMMiffe/Afm+U8U4olFRJ0hiVG2lZatPJcnGxx292ustVu7bULhjV65IYMxRdploAKLbcrsyg==", 1872 | "dev": true, 1873 | "requires": { 1874 | "chalk": "^4.0.0", 1875 | "diff-sequences": "^28.1.1", 1876 | "jest-get-type": "^28.0.2", 1877 | "pretty-format": "^28.1.1" 1878 | } 1879 | }, 1880 | "jest-get-type": { 1881 | "version": "28.0.2", 1882 | "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-28.0.2.tgz", 1883 | "integrity": "sha512-ioj2w9/DxSYHfOm5lJKCdcAmPJzQXmbM/Url3rhlghrPvT3tt+7a/+oXc9azkKmLvoiXjtV83bEWqi+vs5nlPA==", 1884 | "dev": true 1885 | }, 1886 | "jest-matcher-utils": { 1887 | "version": "28.1.1", 1888 | "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-28.1.1.tgz", 1889 | "integrity": "sha512-NPJPRWrbmR2nAJ+1nmnfcKKzSwgfaciCCrYZzVnNoxVoyusYWIjkBMNvu0RHJe7dNj4hH3uZOPZsQA+xAYWqsw==", 1890 | "dev": true, 1891 | "requires": { 1892 | "chalk": "^4.0.0", 1893 | "jest-diff": "^28.1.1", 1894 | "jest-get-type": "^28.0.2", 1895 | "pretty-format": "^28.1.1" 1896 | } 1897 | }, 1898 | "pretty-format": { 1899 | "version": "28.1.1", 1900 | "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-28.1.1.tgz", 1901 | "integrity": "sha512-wwJbVTGFHeucr5Jw2bQ9P+VYHyLdAqedFLEkdQUVaBF/eiidDwH5OpilINq4mEfhbCjLnirt6HTTDhv1HaTIQw==", 1902 | "dev": true, 1903 | "requires": { 1904 | "@jest/schemas": "^28.0.2", 1905 | "ansi-regex": "^5.0.1", 1906 | "ansi-styles": "^5.0.0", 1907 | "react-is": "^18.0.0" 1908 | } 1909 | }, 1910 | "react-is": { 1911 | "version": "18.1.0", 1912 | "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.1.0.tgz", 1913 | "integrity": "sha512-Fl7FuabXsJnV5Q1qIOQwx/sagGF18kogb4gpfcG4gjLBWO0WDiiz1ko/ExayuxE7InyQkBLkxRFG5oxY6Uu3Kg==", 1914 | "dev": true 1915 | } 1916 | } 1917 | }, 1918 | "express": { 1919 | "version": "4.18.1", 1920 | "resolved": "https://registry.npmjs.org/express/-/express-4.18.1.tgz", 1921 | "integrity": "sha512-zZBcOX9TfehHQhtupq57OF8lFZ3UZi08Y97dwFCkD8p9d/d2Y3M+ykKcwaMDEL+4qyUolgBDX6AblpR3fL212Q==", 1922 | "requires": { 1923 | "accepts": "~1.3.8", 1924 | "array-flatten": "1.1.1", 1925 | "body-parser": "1.20.0", 1926 | "content-disposition": "0.5.4", 1927 | "content-type": "~1.0.4", 1928 | "cookie": "0.5.0", 1929 | "cookie-signature": "1.0.6", 1930 | "debug": "2.6.9", 1931 | "depd": "2.0.0", 1932 | "encodeurl": "~1.0.2", 1933 | "escape-html": "~1.0.3", 1934 | "etag": "~1.8.1", 1935 | "finalhandler": "1.2.0", 1936 | "fresh": "0.5.2", 1937 | "http-errors": "2.0.0", 1938 | "merge-descriptors": "1.0.1", 1939 | "methods": "~1.1.2", 1940 | "on-finished": "2.4.1", 1941 | "parseurl": "~1.3.3", 1942 | "path-to-regexp": "0.1.7", 1943 | "proxy-addr": "~2.0.7", 1944 | "qs": "6.10.3", 1945 | "range-parser": "~1.2.1", 1946 | "safe-buffer": "5.2.1", 1947 | "send": "0.18.0", 1948 | "serve-static": "1.15.0", 1949 | "setprototypeof": "1.2.0", 1950 | "statuses": "2.0.1", 1951 | "type-is": "~1.6.18", 1952 | "utils-merge": "1.0.1", 1953 | "vary": "~1.1.2" 1954 | }, 1955 | "dependencies": { 1956 | "debug": { 1957 | "version": "2.6.9", 1958 | "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", 1959 | "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", 1960 | "requires": { 1961 | "ms": "2.0.0" 1962 | } 1963 | }, 1964 | "ms": { 1965 | "version": "2.0.0", 1966 | "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", 1967 | "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" 1968 | }, 1969 | "safe-buffer": { 1970 | "version": "5.2.1", 1971 | "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", 1972 | "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==" 1973 | } 1974 | } 1975 | }, 1976 | "fast-json-stable-stringify": { 1977 | "version": "2.1.0", 1978 | "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", 1979 | "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==", 1980 | "dev": true 1981 | }, 1982 | "fb-watchman": { 1983 | "version": "2.0.1", 1984 | "resolved": "https://registry.npmjs.org/fb-watchman/-/fb-watchman-2.0.1.tgz", 1985 | "integrity": "sha512-DkPJKQeY6kKwmuMretBhr7G6Vodr7bFwDYTXIkfG1gjvNpaxBTQV3PbXg6bR1c1UP4jPOX0jHUbbHANL9vRjVg==", 1986 | "dev": true, 1987 | "requires": { 1988 | "bser": "2.1.1" 1989 | } 1990 | }, 1991 | "fill-range": { 1992 | "version": "7.0.1", 1993 | "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", 1994 | "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", 1995 | "dev": true, 1996 | "requires": { 1997 | "to-regex-range": "^5.0.1" 1998 | } 1999 | }, 2000 | "finalhandler": { 2001 | "version": "1.2.0", 2002 | "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.2.0.tgz", 2003 | "integrity": "sha512-5uXcUVftlQMFnWC9qu/svkWv3GTd2PfUhK/3PLkYNAe7FbqJMt3515HaxE6eRL74GdsriiwujiawdaB1BpEISg==", 2004 | "requires": { 2005 | "debug": "2.6.9", 2006 | "encodeurl": "~1.0.2", 2007 | "escape-html": "~1.0.3", 2008 | "on-finished": "2.4.1", 2009 | "parseurl": "~1.3.3", 2010 | "statuses": "2.0.1", 2011 | "unpipe": "~1.0.0" 2012 | }, 2013 | "dependencies": { 2014 | "debug": { 2015 | "version": "2.6.9", 2016 | "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", 2017 | "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", 2018 | "requires": { 2019 | "ms": "2.0.0" 2020 | } 2021 | }, 2022 | "ms": { 2023 | "version": "2.0.0", 2024 | "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", 2025 | "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" 2026 | } 2027 | } 2028 | }, 2029 | "find-up": { 2030 | "version": "4.1.0", 2031 | "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", 2032 | "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", 2033 | "dev": true, 2034 | "requires": { 2035 | "locate-path": "^5.0.0", 2036 | "path-exists": "^4.0.0" 2037 | } 2038 | }, 2039 | "forwarded": { 2040 | "version": "0.2.0", 2041 | "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.2.0.tgz", 2042 | "integrity": "sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==" 2043 | }, 2044 | "fresh": { 2045 | "version": "0.5.2", 2046 | "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz", 2047 | "integrity": "sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q==" 2048 | }, 2049 | "fs.realpath": { 2050 | "version": "1.0.0", 2051 | "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", 2052 | "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==", 2053 | "dev": true 2054 | }, 2055 | "fsevents": { 2056 | "version": "2.3.2", 2057 | "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz", 2058 | "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==", 2059 | "dev": true, 2060 | "optional": true 2061 | }, 2062 | "function-bind": { 2063 | "version": "1.1.1", 2064 | "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", 2065 | "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==" 2066 | }, 2067 | "gensync": { 2068 | "version": "1.0.0-beta.2", 2069 | "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz", 2070 | "integrity": "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==", 2071 | "dev": true 2072 | }, 2073 | "get-caller-file": { 2074 | "version": "2.0.5", 2075 | "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", 2076 | "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==", 2077 | "dev": true 2078 | }, 2079 | "get-intrinsic": { 2080 | "version": "1.1.2", 2081 | "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.1.2.tgz", 2082 | "integrity": "sha512-Jfm3OyCxHh9DJyc28qGk+JmfkpO41A4XkneDSujN9MDXrm4oDKdHvndhZ2dN94+ERNfkYJWDclW6k2L/ZGHjXA==", 2083 | "requires": { 2084 | "function-bind": "^1.1.1", 2085 | "has": "^1.0.3", 2086 | "has-symbols": "^1.0.3" 2087 | } 2088 | }, 2089 | "get-package-type": { 2090 | "version": "0.1.0", 2091 | "resolved": "https://registry.npmjs.org/get-package-type/-/get-package-type-0.1.0.tgz", 2092 | "integrity": "sha512-pjzuKtY64GYfWizNAJ0fr9VqttZkNiK2iS430LtIHzjBEr6bX8Am2zm4sW4Ro5wjWW5cAlRL1qAMTcXbjNAO2Q==", 2093 | "dev": true 2094 | }, 2095 | "get-stream": { 2096 | "version": "6.0.1", 2097 | "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz", 2098 | "integrity": "sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==", 2099 | "dev": true 2100 | }, 2101 | "glob": { 2102 | "version": "7.2.3", 2103 | "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", 2104 | "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", 2105 | "dev": true, 2106 | "requires": { 2107 | "fs.realpath": "^1.0.0", 2108 | "inflight": "^1.0.4", 2109 | "inherits": "2", 2110 | "minimatch": "^3.1.1", 2111 | "once": "^1.3.0", 2112 | "path-is-absolute": "^1.0.0" 2113 | } 2114 | }, 2115 | "globals": { 2116 | "version": "11.12.0", 2117 | "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz", 2118 | "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==", 2119 | "dev": true 2120 | }, 2121 | "graceful-fs": { 2122 | "version": "4.2.10", 2123 | "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.10.tgz", 2124 | "integrity": "sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA==", 2125 | "dev": true 2126 | }, 2127 | "has": { 2128 | "version": "1.0.3", 2129 | "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", 2130 | "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", 2131 | "requires": { 2132 | "function-bind": "^1.1.1" 2133 | } 2134 | }, 2135 | "has-flag": { 2136 | "version": "4.0.0", 2137 | "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", 2138 | "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", 2139 | "dev": true 2140 | }, 2141 | "has-symbols": { 2142 | "version": "1.0.3", 2143 | "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz", 2144 | "integrity": "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==" 2145 | }, 2146 | "html-escaper": { 2147 | "version": "2.0.2", 2148 | "resolved": "https://registry.npmjs.org/html-escaper/-/html-escaper-2.0.2.tgz", 2149 | "integrity": "sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==", 2150 | "dev": true 2151 | }, 2152 | "http-errors": { 2153 | "version": "2.0.0", 2154 | "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-2.0.0.tgz", 2155 | "integrity": "sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==", 2156 | "requires": { 2157 | "depd": "2.0.0", 2158 | "inherits": "2.0.4", 2159 | "setprototypeof": "1.2.0", 2160 | "statuses": "2.0.1", 2161 | "toidentifier": "1.0.1" 2162 | } 2163 | }, 2164 | "human-signals": { 2165 | "version": "2.1.0", 2166 | "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-2.1.0.tgz", 2167 | "integrity": "sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==", 2168 | "dev": true 2169 | }, 2170 | "iconv-lite": { 2171 | "version": "0.4.24", 2172 | "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", 2173 | "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", 2174 | "requires": { 2175 | "safer-buffer": ">= 2.1.2 < 3" 2176 | } 2177 | }, 2178 | "import-local": { 2179 | "version": "3.1.0", 2180 | "resolved": "https://registry.npmjs.org/import-local/-/import-local-3.1.0.tgz", 2181 | "integrity": "sha512-ASB07uLtnDs1o6EHjKpX34BKYDSqnFerfTOJL2HvMqF70LnxpjkzDB8J44oT9pu4AMPkQwf8jl6szgvNd2tRIg==", 2182 | "dev": true, 2183 | "requires": { 2184 | "pkg-dir": "^4.2.0", 2185 | "resolve-cwd": "^3.0.0" 2186 | } 2187 | }, 2188 | "imurmurhash": { 2189 | "version": "0.1.4", 2190 | "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", 2191 | "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==", 2192 | "dev": true 2193 | }, 2194 | "inflight": { 2195 | "version": "1.0.6", 2196 | "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", 2197 | "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", 2198 | "dev": true, 2199 | "requires": { 2200 | "once": "^1.3.0", 2201 | "wrappy": "1" 2202 | } 2203 | }, 2204 | "inherits": { 2205 | "version": "2.0.4", 2206 | "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", 2207 | "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" 2208 | }, 2209 | "ipaddr.js": { 2210 | "version": "1.9.1", 2211 | "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.1.tgz", 2212 | "integrity": "sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==" 2213 | }, 2214 | "is-arrayish": { 2215 | "version": "0.2.1", 2216 | "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", 2217 | "integrity": "sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==", 2218 | "dev": true 2219 | }, 2220 | "is-core-module": { 2221 | "version": "2.9.0", 2222 | "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.9.0.tgz", 2223 | "integrity": "sha512-+5FPy5PnwmO3lvfMb0AsoPaBG+5KHUI0wYFXOtYPnVVVspTFUuMZNfNaNVRt3FZadstu2c8x23vykRW/NBoU6A==", 2224 | "dev": true, 2225 | "requires": { 2226 | "has": "^1.0.3" 2227 | } 2228 | }, 2229 | "is-fullwidth-code-point": { 2230 | "version": "3.0.0", 2231 | "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", 2232 | "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", 2233 | "dev": true 2234 | }, 2235 | "is-generator-fn": { 2236 | "version": "2.1.0", 2237 | "resolved": "https://registry.npmjs.org/is-generator-fn/-/is-generator-fn-2.1.0.tgz", 2238 | "integrity": "sha512-cTIB4yPYL/Grw0EaSzASzg6bBy9gqCofvWN8okThAYIxKJZC+udlRAmGbM0XLeniEJSs8uEgHPGuHSe1XsOLSQ==", 2239 | "dev": true 2240 | }, 2241 | "is-number": { 2242 | "version": "7.0.0", 2243 | "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", 2244 | "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", 2245 | "dev": true 2246 | }, 2247 | "is-stream": { 2248 | "version": "2.0.1", 2249 | "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz", 2250 | "integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==", 2251 | "dev": true 2252 | }, 2253 | "isexe": { 2254 | "version": "2.0.0", 2255 | "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", 2256 | "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", 2257 | "dev": true 2258 | }, 2259 | "istanbul-lib-coverage": { 2260 | "version": "3.2.0", 2261 | "resolved": "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-3.2.0.tgz", 2262 | "integrity": "sha512-eOeJ5BHCmHYvQK7xt9GkdHuzuCGS1Y6g9Gvnx3Ym33fz/HpLRYxiS0wHNr+m/MBC8B647Xt608vCDEvhl9c6Mw==", 2263 | "dev": true 2264 | }, 2265 | "istanbul-lib-instrument": { 2266 | "version": "5.2.0", 2267 | "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-5.2.0.tgz", 2268 | "integrity": "sha512-6Lthe1hqXHBNsqvgDzGO6l03XNeu3CrG4RqQ1KM9+l5+jNGpEJfIELx1NS3SEHmJQA8np/u+E4EPRKRiu6m19A==", 2269 | "dev": true, 2270 | "requires": { 2271 | "@babel/core": "^7.12.3", 2272 | "@babel/parser": "^7.14.7", 2273 | "@istanbuljs/schema": "^0.1.2", 2274 | "istanbul-lib-coverage": "^3.2.0", 2275 | "semver": "^6.3.0" 2276 | } 2277 | }, 2278 | "istanbul-lib-report": { 2279 | "version": "3.0.0", 2280 | "resolved": "https://registry.npmjs.org/istanbul-lib-report/-/istanbul-lib-report-3.0.0.tgz", 2281 | "integrity": "sha512-wcdi+uAKzfiGT2abPpKZ0hSU1rGQjUQnLvtY5MpQ7QCTahD3VODhcu4wcfY1YtkGaDD5yuydOLINXsfbus9ROw==", 2282 | "dev": true, 2283 | "requires": { 2284 | "istanbul-lib-coverage": "^3.0.0", 2285 | "make-dir": "^3.0.0", 2286 | "supports-color": "^7.1.0" 2287 | } 2288 | }, 2289 | "istanbul-lib-source-maps": { 2290 | "version": "4.0.1", 2291 | "resolved": "https://registry.npmjs.org/istanbul-lib-source-maps/-/istanbul-lib-source-maps-4.0.1.tgz", 2292 | "integrity": "sha512-n3s8EwkdFIJCG3BPKBYvskgXGoy88ARzvegkitk60NxRdwltLOTaH7CUiMRXvwYorl0Q712iEjcWB+fK/MrWVw==", 2293 | "dev": true, 2294 | "requires": { 2295 | "debug": "^4.1.1", 2296 | "istanbul-lib-coverage": "^3.0.0", 2297 | "source-map": "^0.6.1" 2298 | } 2299 | }, 2300 | "istanbul-reports": { 2301 | "version": "3.1.4", 2302 | "resolved": "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-3.1.4.tgz", 2303 | "integrity": "sha512-r1/DshN4KSE7xWEknZLLLLDn5CJybV3nw01VTkp6D5jzLuELlcbudfj/eSQFvrKsJuTVCGnePO7ho82Nw9zzfw==", 2304 | "dev": true, 2305 | "requires": { 2306 | "html-escaper": "^2.0.0", 2307 | "istanbul-lib-report": "^3.0.0" 2308 | } 2309 | }, 2310 | "jest": { 2311 | "version": "28.1.1", 2312 | "resolved": "https://registry.npmjs.org/jest/-/jest-28.1.1.tgz", 2313 | "integrity": "sha512-qw9YHBnjt6TCbIDMPMpJZqf9E12rh6869iZaN08/vpOGgHJSAaLLUn6H8W3IAEuy34Ls3rct064mZLETkxJ2XA==", 2314 | "dev": true, 2315 | "requires": { 2316 | "@jest/core": "^28.1.1", 2317 | "@jest/types": "^28.1.1", 2318 | "import-local": "^3.0.2", 2319 | "jest-cli": "^28.1.1" 2320 | }, 2321 | "dependencies": { 2322 | "@jest/types": { 2323 | "version": "28.1.1", 2324 | "resolved": "https://registry.npmjs.org/@jest/types/-/types-28.1.1.tgz", 2325 | "integrity": "sha512-vRXVqSg1VhDnB8bWcmvLzmg0Bt9CRKVgHPXqYwvWMX3TvAjeO+nRuK6+VdTKCtWOvYlmkF/HqNAL/z+N3B53Kw==", 2326 | "dev": true, 2327 | "requires": { 2328 | "@jest/schemas": "^28.0.2", 2329 | "@types/istanbul-lib-coverage": "^2.0.0", 2330 | "@types/istanbul-reports": "^3.0.0", 2331 | "@types/node": "*", 2332 | "@types/yargs": "^17.0.8", 2333 | "chalk": "^4.0.0" 2334 | } 2335 | }, 2336 | "@types/yargs": { 2337 | "version": "17.0.10", 2338 | "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-17.0.10.tgz", 2339 | "integrity": "sha512-gmEaFwpj/7f/ROdtIlci1R1VYU1J4j95m8T+Tj3iBgiBFKg1foE/PSl93bBd5T9LDXNPo8UlNN6W0qwD8O5OaA==", 2340 | "dev": true, 2341 | "requires": { 2342 | "@types/yargs-parser": "*" 2343 | } 2344 | }, 2345 | "jest-cli": { 2346 | "version": "28.1.1", 2347 | "resolved": "https://registry.npmjs.org/jest-cli/-/jest-cli-28.1.1.tgz", 2348 | "integrity": "sha512-+sUfVbJqb1OjBZ0OdBbI6OWfYM1i7bSfzYy6gze1F1w3OKWq8ZTEKkZ8a7ZQPq6G/G1qMh/uKqpdWhgl11NFQQ==", 2349 | "dev": true, 2350 | "requires": { 2351 | "@jest/core": "^28.1.1", 2352 | "@jest/test-result": "^28.1.1", 2353 | "@jest/types": "^28.1.1", 2354 | "chalk": "^4.0.0", 2355 | "exit": "^0.1.2", 2356 | "graceful-fs": "^4.2.9", 2357 | "import-local": "^3.0.2", 2358 | "jest-config": "^28.1.1", 2359 | "jest-util": "^28.1.1", 2360 | "jest-validate": "^28.1.1", 2361 | "prompts": "^2.0.1", 2362 | "yargs": "^17.3.1" 2363 | } 2364 | } 2365 | } 2366 | }, 2367 | "jest-changed-files": { 2368 | "version": "28.0.2", 2369 | "resolved": "https://registry.npmjs.org/jest-changed-files/-/jest-changed-files-28.0.2.tgz", 2370 | "integrity": "sha512-QX9u+5I2s54ZnGoMEjiM2WeBvJR2J7w/8ZUmH2um/WLAuGAYFQcsVXY9+1YL6k0H/AGUdH8pXUAv6erDqEsvIA==", 2371 | "dev": true, 2372 | "requires": { 2373 | "execa": "^5.0.0", 2374 | "throat": "^6.0.1" 2375 | } 2376 | }, 2377 | "jest-circus": { 2378 | "version": "28.1.1", 2379 | "resolved": "https://registry.npmjs.org/jest-circus/-/jest-circus-28.1.1.tgz", 2380 | "integrity": "sha512-75+BBVTsL4+p2w198DQpCeyh1RdaS2lhEG87HkaFX/UG0gJExVq2skG2pT7XZEGBubNj2CytcWSPan4QEPNosw==", 2381 | "dev": true, 2382 | "requires": { 2383 | "@jest/environment": "^28.1.1", 2384 | "@jest/expect": "^28.1.1", 2385 | "@jest/test-result": "^28.1.1", 2386 | "@jest/types": "^28.1.1", 2387 | "@types/node": "*", 2388 | "chalk": "^4.0.0", 2389 | "co": "^4.6.0", 2390 | "dedent": "^0.7.0", 2391 | "is-generator-fn": "^2.0.0", 2392 | "jest-each": "^28.1.1", 2393 | "jest-matcher-utils": "^28.1.1", 2394 | "jest-message-util": "^28.1.1", 2395 | "jest-runtime": "^28.1.1", 2396 | "jest-snapshot": "^28.1.1", 2397 | "jest-util": "^28.1.1", 2398 | "pretty-format": "^28.1.1", 2399 | "slash": "^3.0.0", 2400 | "stack-utils": "^2.0.3", 2401 | "throat": "^6.0.1" 2402 | }, 2403 | "dependencies": { 2404 | "@jest/types": { 2405 | "version": "28.1.1", 2406 | "resolved": "https://registry.npmjs.org/@jest/types/-/types-28.1.1.tgz", 2407 | "integrity": "sha512-vRXVqSg1VhDnB8bWcmvLzmg0Bt9CRKVgHPXqYwvWMX3TvAjeO+nRuK6+VdTKCtWOvYlmkF/HqNAL/z+N3B53Kw==", 2408 | "dev": true, 2409 | "requires": { 2410 | "@jest/schemas": "^28.0.2", 2411 | "@types/istanbul-lib-coverage": "^2.0.0", 2412 | "@types/istanbul-reports": "^3.0.0", 2413 | "@types/node": "*", 2414 | "@types/yargs": "^17.0.8", 2415 | "chalk": "^4.0.0" 2416 | } 2417 | }, 2418 | "@types/yargs": { 2419 | "version": "17.0.10", 2420 | "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-17.0.10.tgz", 2421 | "integrity": "sha512-gmEaFwpj/7f/ROdtIlci1R1VYU1J4j95m8T+Tj3iBgiBFKg1foE/PSl93bBd5T9LDXNPo8UlNN6W0qwD8O5OaA==", 2422 | "dev": true, 2423 | "requires": { 2424 | "@types/yargs-parser": "*" 2425 | } 2426 | }, 2427 | "ansi-styles": { 2428 | "version": "5.2.0", 2429 | "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", 2430 | "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", 2431 | "dev": true 2432 | }, 2433 | "diff-sequences": { 2434 | "version": "28.1.1", 2435 | "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-28.1.1.tgz", 2436 | "integrity": "sha512-FU0iFaH/E23a+a718l8Qa/19bF9p06kgE0KipMOMadwa3SjnaElKzPaUC0vnibs6/B/9ni97s61mcejk8W1fQw==", 2437 | "dev": true 2438 | }, 2439 | "jest-diff": { 2440 | "version": "28.1.1", 2441 | "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-28.1.1.tgz", 2442 | "integrity": "sha512-/MUUxeR2fHbqHoMMiffe/Afm+U8U4olFRJ0hiVG2lZatPJcnGxx292ustVu7bULhjV65IYMxRdploAKLbcrsyg==", 2443 | "dev": true, 2444 | "requires": { 2445 | "chalk": "^4.0.0", 2446 | "diff-sequences": "^28.1.1", 2447 | "jest-get-type": "^28.0.2", 2448 | "pretty-format": "^28.1.1" 2449 | } 2450 | }, 2451 | "jest-get-type": { 2452 | "version": "28.0.2", 2453 | "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-28.0.2.tgz", 2454 | "integrity": "sha512-ioj2w9/DxSYHfOm5lJKCdcAmPJzQXmbM/Url3rhlghrPvT3tt+7a/+oXc9azkKmLvoiXjtV83bEWqi+vs5nlPA==", 2455 | "dev": true 2456 | }, 2457 | "jest-matcher-utils": { 2458 | "version": "28.1.1", 2459 | "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-28.1.1.tgz", 2460 | "integrity": "sha512-NPJPRWrbmR2nAJ+1nmnfcKKzSwgfaciCCrYZzVnNoxVoyusYWIjkBMNvu0RHJe7dNj4hH3uZOPZsQA+xAYWqsw==", 2461 | "dev": true, 2462 | "requires": { 2463 | "chalk": "^4.0.0", 2464 | "jest-diff": "^28.1.1", 2465 | "jest-get-type": "^28.0.2", 2466 | "pretty-format": "^28.1.1" 2467 | } 2468 | }, 2469 | "pretty-format": { 2470 | "version": "28.1.1", 2471 | "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-28.1.1.tgz", 2472 | "integrity": "sha512-wwJbVTGFHeucr5Jw2bQ9P+VYHyLdAqedFLEkdQUVaBF/eiidDwH5OpilINq4mEfhbCjLnirt6HTTDhv1HaTIQw==", 2473 | "dev": true, 2474 | "requires": { 2475 | "@jest/schemas": "^28.0.2", 2476 | "ansi-regex": "^5.0.1", 2477 | "ansi-styles": "^5.0.0", 2478 | "react-is": "^18.0.0" 2479 | } 2480 | }, 2481 | "react-is": { 2482 | "version": "18.1.0", 2483 | "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.1.0.tgz", 2484 | "integrity": "sha512-Fl7FuabXsJnV5Q1qIOQwx/sagGF18kogb4gpfcG4gjLBWO0WDiiz1ko/ExayuxE7InyQkBLkxRFG5oxY6Uu3Kg==", 2485 | "dev": true 2486 | } 2487 | } 2488 | }, 2489 | "jest-config": { 2490 | "version": "28.1.1", 2491 | "resolved": "https://registry.npmjs.org/jest-config/-/jest-config-28.1.1.tgz", 2492 | "integrity": "sha512-tASynMhS+jVV85zKvjfbJ8nUyJS/jUSYZ5KQxLUN2ZCvcQc/OmhQl2j6VEL3ezQkNofxn5pQ3SPYWPHb0unTZA==", 2493 | "dev": true, 2494 | "requires": { 2495 | "@babel/core": "^7.11.6", 2496 | "@jest/test-sequencer": "^28.1.1", 2497 | "@jest/types": "^28.1.1", 2498 | "babel-jest": "^28.1.1", 2499 | "chalk": "^4.0.0", 2500 | "ci-info": "^3.2.0", 2501 | "deepmerge": "^4.2.2", 2502 | "glob": "^7.1.3", 2503 | "graceful-fs": "^4.2.9", 2504 | "jest-circus": "^28.1.1", 2505 | "jest-environment-node": "^28.1.1", 2506 | "jest-get-type": "^28.0.2", 2507 | "jest-regex-util": "^28.0.2", 2508 | "jest-resolve": "^28.1.1", 2509 | "jest-runner": "^28.1.1", 2510 | "jest-util": "^28.1.1", 2511 | "jest-validate": "^28.1.1", 2512 | "micromatch": "^4.0.4", 2513 | "parse-json": "^5.2.0", 2514 | "pretty-format": "^28.1.1", 2515 | "slash": "^3.0.0", 2516 | "strip-json-comments": "^3.1.1" 2517 | }, 2518 | "dependencies": { 2519 | "@jest/types": { 2520 | "version": "28.1.1", 2521 | "resolved": "https://registry.npmjs.org/@jest/types/-/types-28.1.1.tgz", 2522 | "integrity": "sha512-vRXVqSg1VhDnB8bWcmvLzmg0Bt9CRKVgHPXqYwvWMX3TvAjeO+nRuK6+VdTKCtWOvYlmkF/HqNAL/z+N3B53Kw==", 2523 | "dev": true, 2524 | "requires": { 2525 | "@jest/schemas": "^28.0.2", 2526 | "@types/istanbul-lib-coverage": "^2.0.0", 2527 | "@types/istanbul-reports": "^3.0.0", 2528 | "@types/node": "*", 2529 | "@types/yargs": "^17.0.8", 2530 | "chalk": "^4.0.0" 2531 | } 2532 | }, 2533 | "@types/yargs": { 2534 | "version": "17.0.10", 2535 | "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-17.0.10.tgz", 2536 | "integrity": "sha512-gmEaFwpj/7f/ROdtIlci1R1VYU1J4j95m8T+Tj3iBgiBFKg1foE/PSl93bBd5T9LDXNPo8UlNN6W0qwD8O5OaA==", 2537 | "dev": true, 2538 | "requires": { 2539 | "@types/yargs-parser": "*" 2540 | } 2541 | }, 2542 | "ansi-styles": { 2543 | "version": "5.2.0", 2544 | "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", 2545 | "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", 2546 | "dev": true 2547 | }, 2548 | "jest-get-type": { 2549 | "version": "28.0.2", 2550 | "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-28.0.2.tgz", 2551 | "integrity": "sha512-ioj2w9/DxSYHfOm5lJKCdcAmPJzQXmbM/Url3rhlghrPvT3tt+7a/+oXc9azkKmLvoiXjtV83bEWqi+vs5nlPA==", 2552 | "dev": true 2553 | }, 2554 | "pretty-format": { 2555 | "version": "28.1.1", 2556 | "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-28.1.1.tgz", 2557 | "integrity": "sha512-wwJbVTGFHeucr5Jw2bQ9P+VYHyLdAqedFLEkdQUVaBF/eiidDwH5OpilINq4mEfhbCjLnirt6HTTDhv1HaTIQw==", 2558 | "dev": true, 2559 | "requires": { 2560 | "@jest/schemas": "^28.0.2", 2561 | "ansi-regex": "^5.0.1", 2562 | "ansi-styles": "^5.0.0", 2563 | "react-is": "^18.0.0" 2564 | } 2565 | }, 2566 | "react-is": { 2567 | "version": "18.1.0", 2568 | "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.1.0.tgz", 2569 | "integrity": "sha512-Fl7FuabXsJnV5Q1qIOQwx/sagGF18kogb4gpfcG4gjLBWO0WDiiz1ko/ExayuxE7InyQkBLkxRFG5oxY6Uu3Kg==", 2570 | "dev": true 2571 | } 2572 | } 2573 | }, 2574 | "jest-diff": { 2575 | "version": "27.5.1", 2576 | "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-27.5.1.tgz", 2577 | "integrity": "sha512-m0NvkX55LDt9T4mctTEgnZk3fmEg3NRYutvMPWM/0iPnkFj2wIeF45O1718cMSOFO1vINkqmxqD8vE37uTEbqw==", 2578 | "dev": true, 2579 | "requires": { 2580 | "chalk": "^4.0.0", 2581 | "diff-sequences": "^27.5.1", 2582 | "jest-get-type": "^27.5.1", 2583 | "pretty-format": "^27.5.1" 2584 | } 2585 | }, 2586 | "jest-docblock": { 2587 | "version": "28.1.1", 2588 | "resolved": "https://registry.npmjs.org/jest-docblock/-/jest-docblock-28.1.1.tgz", 2589 | "integrity": "sha512-3wayBVNiOYx0cwAbl9rwm5kKFP8yHH3d/fkEaL02NPTkDojPtheGB7HZSFY4wzX+DxyrvhXz0KSCVksmCknCuA==", 2590 | "dev": true, 2591 | "requires": { 2592 | "detect-newline": "^3.0.0" 2593 | } 2594 | }, 2595 | "jest-each": { 2596 | "version": "28.1.1", 2597 | "resolved": "https://registry.npmjs.org/jest-each/-/jest-each-28.1.1.tgz", 2598 | "integrity": "sha512-A042rqh17ZvEhRceDMi784ppoXR7MWGDEKTXEZXb4svt0eShMZvijGxzKsx+yIjeE8QYmHPrnHiTSQVhN4nqaw==", 2599 | "dev": true, 2600 | "requires": { 2601 | "@jest/types": "^28.1.1", 2602 | "chalk": "^4.0.0", 2603 | "jest-get-type": "^28.0.2", 2604 | "jest-util": "^28.1.1", 2605 | "pretty-format": "^28.1.1" 2606 | }, 2607 | "dependencies": { 2608 | "@jest/types": { 2609 | "version": "28.1.1", 2610 | "resolved": "https://registry.npmjs.org/@jest/types/-/types-28.1.1.tgz", 2611 | "integrity": "sha512-vRXVqSg1VhDnB8bWcmvLzmg0Bt9CRKVgHPXqYwvWMX3TvAjeO+nRuK6+VdTKCtWOvYlmkF/HqNAL/z+N3B53Kw==", 2612 | "dev": true, 2613 | "requires": { 2614 | "@jest/schemas": "^28.0.2", 2615 | "@types/istanbul-lib-coverage": "^2.0.0", 2616 | "@types/istanbul-reports": "^3.0.0", 2617 | "@types/node": "*", 2618 | "@types/yargs": "^17.0.8", 2619 | "chalk": "^4.0.0" 2620 | } 2621 | }, 2622 | "@types/yargs": { 2623 | "version": "17.0.10", 2624 | "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-17.0.10.tgz", 2625 | "integrity": "sha512-gmEaFwpj/7f/ROdtIlci1R1VYU1J4j95m8T+Tj3iBgiBFKg1foE/PSl93bBd5T9LDXNPo8UlNN6W0qwD8O5OaA==", 2626 | "dev": true, 2627 | "requires": { 2628 | "@types/yargs-parser": "*" 2629 | } 2630 | }, 2631 | "ansi-styles": { 2632 | "version": "5.2.0", 2633 | "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", 2634 | "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", 2635 | "dev": true 2636 | }, 2637 | "jest-get-type": { 2638 | "version": "28.0.2", 2639 | "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-28.0.2.tgz", 2640 | "integrity": "sha512-ioj2w9/DxSYHfOm5lJKCdcAmPJzQXmbM/Url3rhlghrPvT3tt+7a/+oXc9azkKmLvoiXjtV83bEWqi+vs5nlPA==", 2641 | "dev": true 2642 | }, 2643 | "pretty-format": { 2644 | "version": "28.1.1", 2645 | "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-28.1.1.tgz", 2646 | "integrity": "sha512-wwJbVTGFHeucr5Jw2bQ9P+VYHyLdAqedFLEkdQUVaBF/eiidDwH5OpilINq4mEfhbCjLnirt6HTTDhv1HaTIQw==", 2647 | "dev": true, 2648 | "requires": { 2649 | "@jest/schemas": "^28.0.2", 2650 | "ansi-regex": "^5.0.1", 2651 | "ansi-styles": "^5.0.0", 2652 | "react-is": "^18.0.0" 2653 | } 2654 | }, 2655 | "react-is": { 2656 | "version": "18.1.0", 2657 | "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.1.0.tgz", 2658 | "integrity": "sha512-Fl7FuabXsJnV5Q1qIOQwx/sagGF18kogb4gpfcG4gjLBWO0WDiiz1ko/ExayuxE7InyQkBLkxRFG5oxY6Uu3Kg==", 2659 | "dev": true 2660 | } 2661 | } 2662 | }, 2663 | "jest-environment-node": { 2664 | "version": "28.1.1", 2665 | "resolved": "https://registry.npmjs.org/jest-environment-node/-/jest-environment-node-28.1.1.tgz", 2666 | "integrity": "sha512-2aV/eeY/WNgUUJrrkDJ3cFEigjC5fqT1+fCclrY6paqJ5zVPoM//sHmfgUUp7WLYxIdbPwMiVIzejpN56MxnNA==", 2667 | "dev": true, 2668 | "requires": { 2669 | "@jest/environment": "^28.1.1", 2670 | "@jest/fake-timers": "^28.1.1", 2671 | "@jest/types": "^28.1.1", 2672 | "@types/node": "*", 2673 | "jest-mock": "^28.1.1", 2674 | "jest-util": "^28.1.1" 2675 | }, 2676 | "dependencies": { 2677 | "@jest/types": { 2678 | "version": "28.1.1", 2679 | "resolved": "https://registry.npmjs.org/@jest/types/-/types-28.1.1.tgz", 2680 | "integrity": "sha512-vRXVqSg1VhDnB8bWcmvLzmg0Bt9CRKVgHPXqYwvWMX3TvAjeO+nRuK6+VdTKCtWOvYlmkF/HqNAL/z+N3B53Kw==", 2681 | "dev": true, 2682 | "requires": { 2683 | "@jest/schemas": "^28.0.2", 2684 | "@types/istanbul-lib-coverage": "^2.0.0", 2685 | "@types/istanbul-reports": "^3.0.0", 2686 | "@types/node": "*", 2687 | "@types/yargs": "^17.0.8", 2688 | "chalk": "^4.0.0" 2689 | } 2690 | }, 2691 | "@types/yargs": { 2692 | "version": "17.0.10", 2693 | "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-17.0.10.tgz", 2694 | "integrity": "sha512-gmEaFwpj/7f/ROdtIlci1R1VYU1J4j95m8T+Tj3iBgiBFKg1foE/PSl93bBd5T9LDXNPo8UlNN6W0qwD8O5OaA==", 2695 | "dev": true, 2696 | "requires": { 2697 | "@types/yargs-parser": "*" 2698 | } 2699 | } 2700 | } 2701 | }, 2702 | "jest-get-type": { 2703 | "version": "27.5.1", 2704 | "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-27.5.1.tgz", 2705 | "integrity": "sha512-2KY95ksYSaK7DMBWQn6dQz3kqAf3BB64y2udeG+hv4KfSOb9qwcYQstTJc1KCbsix+wLZWZYN8t7nwX3GOBLRw==", 2706 | "dev": true 2707 | }, 2708 | "jest-haste-map": { 2709 | "version": "28.1.1", 2710 | "resolved": "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-28.1.1.tgz", 2711 | "integrity": "sha512-ZrRSE2o3Ezh7sb1KmeLEZRZ4mgufbrMwolcFHNRSjKZhpLa8TdooXOOFlSwoUzlbVs1t0l7upVRW2K7RWGHzbQ==", 2712 | "dev": true, 2713 | "requires": { 2714 | "@jest/types": "^28.1.1", 2715 | "@types/graceful-fs": "^4.1.3", 2716 | "@types/node": "*", 2717 | "anymatch": "^3.0.3", 2718 | "fb-watchman": "^2.0.0", 2719 | "fsevents": "^2.3.2", 2720 | "graceful-fs": "^4.2.9", 2721 | "jest-regex-util": "^28.0.2", 2722 | "jest-util": "^28.1.1", 2723 | "jest-worker": "^28.1.1", 2724 | "micromatch": "^4.0.4", 2725 | "walker": "^1.0.8" 2726 | }, 2727 | "dependencies": { 2728 | "@jest/types": { 2729 | "version": "28.1.1", 2730 | "resolved": "https://registry.npmjs.org/@jest/types/-/types-28.1.1.tgz", 2731 | "integrity": "sha512-vRXVqSg1VhDnB8bWcmvLzmg0Bt9CRKVgHPXqYwvWMX3TvAjeO+nRuK6+VdTKCtWOvYlmkF/HqNAL/z+N3B53Kw==", 2732 | "dev": true, 2733 | "requires": { 2734 | "@jest/schemas": "^28.0.2", 2735 | "@types/istanbul-lib-coverage": "^2.0.0", 2736 | "@types/istanbul-reports": "^3.0.0", 2737 | "@types/node": "*", 2738 | "@types/yargs": "^17.0.8", 2739 | "chalk": "^4.0.0" 2740 | } 2741 | }, 2742 | "@types/yargs": { 2743 | "version": "17.0.10", 2744 | "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-17.0.10.tgz", 2745 | "integrity": "sha512-gmEaFwpj/7f/ROdtIlci1R1VYU1J4j95m8T+Tj3iBgiBFKg1foE/PSl93bBd5T9LDXNPo8UlNN6W0qwD8O5OaA==", 2746 | "dev": true, 2747 | "requires": { 2748 | "@types/yargs-parser": "*" 2749 | } 2750 | } 2751 | } 2752 | }, 2753 | "jest-leak-detector": { 2754 | "version": "28.1.1", 2755 | "resolved": "https://registry.npmjs.org/jest-leak-detector/-/jest-leak-detector-28.1.1.tgz", 2756 | "integrity": "sha512-4jvs8V8kLbAaotE+wFR7vfUGf603cwYtFf1/PYEsyX2BAjSzj8hQSVTP6OWzseTl0xL6dyHuKs2JAks7Pfubmw==", 2757 | "dev": true, 2758 | "requires": { 2759 | "jest-get-type": "^28.0.2", 2760 | "pretty-format": "^28.1.1" 2761 | }, 2762 | "dependencies": { 2763 | "ansi-styles": { 2764 | "version": "5.2.0", 2765 | "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", 2766 | "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", 2767 | "dev": true 2768 | }, 2769 | "jest-get-type": { 2770 | "version": "28.0.2", 2771 | "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-28.0.2.tgz", 2772 | "integrity": "sha512-ioj2w9/DxSYHfOm5lJKCdcAmPJzQXmbM/Url3rhlghrPvT3tt+7a/+oXc9azkKmLvoiXjtV83bEWqi+vs5nlPA==", 2773 | "dev": true 2774 | }, 2775 | "pretty-format": { 2776 | "version": "28.1.1", 2777 | "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-28.1.1.tgz", 2778 | "integrity": "sha512-wwJbVTGFHeucr5Jw2bQ9P+VYHyLdAqedFLEkdQUVaBF/eiidDwH5OpilINq4mEfhbCjLnirt6HTTDhv1HaTIQw==", 2779 | "dev": true, 2780 | "requires": { 2781 | "@jest/schemas": "^28.0.2", 2782 | "ansi-regex": "^5.0.1", 2783 | "ansi-styles": "^5.0.0", 2784 | "react-is": "^18.0.0" 2785 | } 2786 | }, 2787 | "react-is": { 2788 | "version": "18.1.0", 2789 | "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.1.0.tgz", 2790 | "integrity": "sha512-Fl7FuabXsJnV5Q1qIOQwx/sagGF18kogb4gpfcG4gjLBWO0WDiiz1ko/ExayuxE7InyQkBLkxRFG5oxY6Uu3Kg==", 2791 | "dev": true 2792 | } 2793 | } 2794 | }, 2795 | "jest-matcher-utils": { 2796 | "version": "27.5.1", 2797 | "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-27.5.1.tgz", 2798 | "integrity": "sha512-z2uTx/T6LBaCoNWNFWwChLBKYxTMcGBRjAt+2SbP929/Fflb9aa5LGma654Rz8z9HLxsrUaYzxE9T/EFIL/PAw==", 2799 | "dev": true, 2800 | "requires": { 2801 | "chalk": "^4.0.0", 2802 | "jest-diff": "^27.5.1", 2803 | "jest-get-type": "^27.5.1", 2804 | "pretty-format": "^27.5.1" 2805 | } 2806 | }, 2807 | "jest-message-util": { 2808 | "version": "28.1.1", 2809 | "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-28.1.1.tgz", 2810 | "integrity": "sha512-xoDOOT66fLfmTRiqkoLIU7v42mal/SqwDKvfmfiWAdJMSJiU+ozgluO7KbvoAgiwIrrGZsV7viETjc8GNrA/IQ==", 2811 | "dev": true, 2812 | "requires": { 2813 | "@babel/code-frame": "^7.12.13", 2814 | "@jest/types": "^28.1.1", 2815 | "@types/stack-utils": "^2.0.0", 2816 | "chalk": "^4.0.0", 2817 | "graceful-fs": "^4.2.9", 2818 | "micromatch": "^4.0.4", 2819 | "pretty-format": "^28.1.1", 2820 | "slash": "^3.0.0", 2821 | "stack-utils": "^2.0.3" 2822 | }, 2823 | "dependencies": { 2824 | "@jest/types": { 2825 | "version": "28.1.1", 2826 | "resolved": "https://registry.npmjs.org/@jest/types/-/types-28.1.1.tgz", 2827 | "integrity": "sha512-vRXVqSg1VhDnB8bWcmvLzmg0Bt9CRKVgHPXqYwvWMX3TvAjeO+nRuK6+VdTKCtWOvYlmkF/HqNAL/z+N3B53Kw==", 2828 | "dev": true, 2829 | "requires": { 2830 | "@jest/schemas": "^28.0.2", 2831 | "@types/istanbul-lib-coverage": "^2.0.0", 2832 | "@types/istanbul-reports": "^3.0.0", 2833 | "@types/node": "*", 2834 | "@types/yargs": "^17.0.8", 2835 | "chalk": "^4.0.0" 2836 | } 2837 | }, 2838 | "@types/yargs": { 2839 | "version": "17.0.10", 2840 | "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-17.0.10.tgz", 2841 | "integrity": "sha512-gmEaFwpj/7f/ROdtIlci1R1VYU1J4j95m8T+Tj3iBgiBFKg1foE/PSl93bBd5T9LDXNPo8UlNN6W0qwD8O5OaA==", 2842 | "dev": true, 2843 | "requires": { 2844 | "@types/yargs-parser": "*" 2845 | } 2846 | }, 2847 | "ansi-styles": { 2848 | "version": "5.2.0", 2849 | "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", 2850 | "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", 2851 | "dev": true 2852 | }, 2853 | "pretty-format": { 2854 | "version": "28.1.1", 2855 | "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-28.1.1.tgz", 2856 | "integrity": "sha512-wwJbVTGFHeucr5Jw2bQ9P+VYHyLdAqedFLEkdQUVaBF/eiidDwH5OpilINq4mEfhbCjLnirt6HTTDhv1HaTIQw==", 2857 | "dev": true, 2858 | "requires": { 2859 | "@jest/schemas": "^28.0.2", 2860 | "ansi-regex": "^5.0.1", 2861 | "ansi-styles": "^5.0.0", 2862 | "react-is": "^18.0.0" 2863 | } 2864 | }, 2865 | "react-is": { 2866 | "version": "18.1.0", 2867 | "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.1.0.tgz", 2868 | "integrity": "sha512-Fl7FuabXsJnV5Q1qIOQwx/sagGF18kogb4gpfcG4gjLBWO0WDiiz1ko/ExayuxE7InyQkBLkxRFG5oxY6Uu3Kg==", 2869 | "dev": true 2870 | } 2871 | } 2872 | }, 2873 | "jest-mock": { 2874 | "version": "28.1.1", 2875 | "resolved": "https://registry.npmjs.org/jest-mock/-/jest-mock-28.1.1.tgz", 2876 | "integrity": "sha512-bDCb0FjfsmKweAvE09dZT59IMkzgN0fYBH6t5S45NoJfd2DHkS3ySG2K+hucortryhO3fVuXdlxWcbtIuV/Skw==", 2877 | "dev": true, 2878 | "requires": { 2879 | "@jest/types": "^28.1.1", 2880 | "@types/node": "*" 2881 | }, 2882 | "dependencies": { 2883 | "@jest/types": { 2884 | "version": "28.1.1", 2885 | "resolved": "https://registry.npmjs.org/@jest/types/-/types-28.1.1.tgz", 2886 | "integrity": "sha512-vRXVqSg1VhDnB8bWcmvLzmg0Bt9CRKVgHPXqYwvWMX3TvAjeO+nRuK6+VdTKCtWOvYlmkF/HqNAL/z+N3B53Kw==", 2887 | "dev": true, 2888 | "requires": { 2889 | "@jest/schemas": "^28.0.2", 2890 | "@types/istanbul-lib-coverage": "^2.0.0", 2891 | "@types/istanbul-reports": "^3.0.0", 2892 | "@types/node": "*", 2893 | "@types/yargs": "^17.0.8", 2894 | "chalk": "^4.0.0" 2895 | } 2896 | }, 2897 | "@types/yargs": { 2898 | "version": "17.0.10", 2899 | "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-17.0.10.tgz", 2900 | "integrity": "sha512-gmEaFwpj/7f/ROdtIlci1R1VYU1J4j95m8T+Tj3iBgiBFKg1foE/PSl93bBd5T9LDXNPo8UlNN6W0qwD8O5OaA==", 2901 | "dev": true, 2902 | "requires": { 2903 | "@types/yargs-parser": "*" 2904 | } 2905 | } 2906 | } 2907 | }, 2908 | "jest-pnp-resolver": { 2909 | "version": "1.2.2", 2910 | "resolved": "https://registry.npmjs.org/jest-pnp-resolver/-/jest-pnp-resolver-1.2.2.tgz", 2911 | "integrity": "sha512-olV41bKSMm8BdnuMsewT4jqlZ8+3TCARAXjZGT9jcoSnrfUnRCqnMoF9XEeoWjbzObpqF9dRhHQj0Xb9QdF6/w==", 2912 | "dev": true 2913 | }, 2914 | "jest-regex-util": { 2915 | "version": "28.0.2", 2916 | "resolved": "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-28.0.2.tgz", 2917 | "integrity": "sha512-4s0IgyNIy0y9FK+cjoVYoxamT7Zeo7MhzqRGx7YDYmaQn1wucY9rotiGkBzzcMXTtjrCAP/f7f+E0F7+fxPNdw==", 2918 | "dev": true 2919 | }, 2920 | "jest-resolve": { 2921 | "version": "28.1.1", 2922 | "resolved": "https://registry.npmjs.org/jest-resolve/-/jest-resolve-28.1.1.tgz", 2923 | "integrity": "sha512-/d1UbyUkf9nvsgdBildLe6LAD4DalgkgZcKd0nZ8XUGPyA/7fsnaQIlKVnDiuUXv/IeZhPEDrRJubVSulxrShA==", 2924 | "dev": true, 2925 | "requires": { 2926 | "chalk": "^4.0.0", 2927 | "graceful-fs": "^4.2.9", 2928 | "jest-haste-map": "^28.1.1", 2929 | "jest-pnp-resolver": "^1.2.2", 2930 | "jest-util": "^28.1.1", 2931 | "jest-validate": "^28.1.1", 2932 | "resolve": "^1.20.0", 2933 | "resolve.exports": "^1.1.0", 2934 | "slash": "^3.0.0" 2935 | } 2936 | }, 2937 | "jest-resolve-dependencies": { 2938 | "version": "28.1.1", 2939 | "resolved": "https://registry.npmjs.org/jest-resolve-dependencies/-/jest-resolve-dependencies-28.1.1.tgz", 2940 | "integrity": "sha512-p8Y150xYJth4EXhOuB8FzmS9r8IGLEioiaetgdNGb9VHka4fl0zqWlVe4v7mSkYOuEUg2uB61iE+zySDgrOmgQ==", 2941 | "dev": true, 2942 | "requires": { 2943 | "jest-regex-util": "^28.0.2", 2944 | "jest-snapshot": "^28.1.1" 2945 | } 2946 | }, 2947 | "jest-runner": { 2948 | "version": "28.1.1", 2949 | "resolved": "https://registry.npmjs.org/jest-runner/-/jest-runner-28.1.1.tgz", 2950 | "integrity": "sha512-W5oFUiDBgTsCloTAj6q95wEvYDB0pxIhY6bc5F26OucnwBN+K58xGTGbliSMI4ChQal5eANDF+xvELaYkJxTmA==", 2951 | "dev": true, 2952 | "requires": { 2953 | "@jest/console": "^28.1.1", 2954 | "@jest/environment": "^28.1.1", 2955 | "@jest/test-result": "^28.1.1", 2956 | "@jest/transform": "^28.1.1", 2957 | "@jest/types": "^28.1.1", 2958 | "@types/node": "*", 2959 | "chalk": "^4.0.0", 2960 | "emittery": "^0.10.2", 2961 | "graceful-fs": "^4.2.9", 2962 | "jest-docblock": "^28.1.1", 2963 | "jest-environment-node": "^28.1.1", 2964 | "jest-haste-map": "^28.1.1", 2965 | "jest-leak-detector": "^28.1.1", 2966 | "jest-message-util": "^28.1.1", 2967 | "jest-resolve": "^28.1.1", 2968 | "jest-runtime": "^28.1.1", 2969 | "jest-util": "^28.1.1", 2970 | "jest-watcher": "^28.1.1", 2971 | "jest-worker": "^28.1.1", 2972 | "source-map-support": "0.5.13", 2973 | "throat": "^6.0.1" 2974 | }, 2975 | "dependencies": { 2976 | "@jest/types": { 2977 | "version": "28.1.1", 2978 | "resolved": "https://registry.npmjs.org/@jest/types/-/types-28.1.1.tgz", 2979 | "integrity": "sha512-vRXVqSg1VhDnB8bWcmvLzmg0Bt9CRKVgHPXqYwvWMX3TvAjeO+nRuK6+VdTKCtWOvYlmkF/HqNAL/z+N3B53Kw==", 2980 | "dev": true, 2981 | "requires": { 2982 | "@jest/schemas": "^28.0.2", 2983 | "@types/istanbul-lib-coverage": "^2.0.0", 2984 | "@types/istanbul-reports": "^3.0.0", 2985 | "@types/node": "*", 2986 | "@types/yargs": "^17.0.8", 2987 | "chalk": "^4.0.0" 2988 | } 2989 | }, 2990 | "@types/yargs": { 2991 | "version": "17.0.10", 2992 | "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-17.0.10.tgz", 2993 | "integrity": "sha512-gmEaFwpj/7f/ROdtIlci1R1VYU1J4j95m8T+Tj3iBgiBFKg1foE/PSl93bBd5T9LDXNPo8UlNN6W0qwD8O5OaA==", 2994 | "dev": true, 2995 | "requires": { 2996 | "@types/yargs-parser": "*" 2997 | } 2998 | } 2999 | } 3000 | }, 3001 | "jest-runtime": { 3002 | "version": "28.1.1", 3003 | "resolved": "https://registry.npmjs.org/jest-runtime/-/jest-runtime-28.1.1.tgz", 3004 | "integrity": "sha512-J89qEJWW0leOsqyi0D9zHpFEYHwwafFdS9xgvhFHtIdRghbadodI0eA+DrthK/1PebBv3Px8mFSMGKrtaVnleg==", 3005 | "dev": true, 3006 | "requires": { 3007 | "@jest/environment": "^28.1.1", 3008 | "@jest/fake-timers": "^28.1.1", 3009 | "@jest/globals": "^28.1.1", 3010 | "@jest/source-map": "^28.0.2", 3011 | "@jest/test-result": "^28.1.1", 3012 | "@jest/transform": "^28.1.1", 3013 | "@jest/types": "^28.1.1", 3014 | "chalk": "^4.0.0", 3015 | "cjs-module-lexer": "^1.0.0", 3016 | "collect-v8-coverage": "^1.0.0", 3017 | "execa": "^5.0.0", 3018 | "glob": "^7.1.3", 3019 | "graceful-fs": "^4.2.9", 3020 | "jest-haste-map": "^28.1.1", 3021 | "jest-message-util": "^28.1.1", 3022 | "jest-mock": "^28.1.1", 3023 | "jest-regex-util": "^28.0.2", 3024 | "jest-resolve": "^28.1.1", 3025 | "jest-snapshot": "^28.1.1", 3026 | "jest-util": "^28.1.1", 3027 | "slash": "^3.0.0", 3028 | "strip-bom": "^4.0.0" 3029 | }, 3030 | "dependencies": { 3031 | "@jest/types": { 3032 | "version": "28.1.1", 3033 | "resolved": "https://registry.npmjs.org/@jest/types/-/types-28.1.1.tgz", 3034 | "integrity": "sha512-vRXVqSg1VhDnB8bWcmvLzmg0Bt9CRKVgHPXqYwvWMX3TvAjeO+nRuK6+VdTKCtWOvYlmkF/HqNAL/z+N3B53Kw==", 3035 | "dev": true, 3036 | "requires": { 3037 | "@jest/schemas": "^28.0.2", 3038 | "@types/istanbul-lib-coverage": "^2.0.0", 3039 | "@types/istanbul-reports": "^3.0.0", 3040 | "@types/node": "*", 3041 | "@types/yargs": "^17.0.8", 3042 | "chalk": "^4.0.0" 3043 | } 3044 | }, 3045 | "@types/yargs": { 3046 | "version": "17.0.10", 3047 | "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-17.0.10.tgz", 3048 | "integrity": "sha512-gmEaFwpj/7f/ROdtIlci1R1VYU1J4j95m8T+Tj3iBgiBFKg1foE/PSl93bBd5T9LDXNPo8UlNN6W0qwD8O5OaA==", 3049 | "dev": true, 3050 | "requires": { 3051 | "@types/yargs-parser": "*" 3052 | } 3053 | } 3054 | } 3055 | }, 3056 | "jest-snapshot": { 3057 | "version": "28.1.1", 3058 | "resolved": "https://registry.npmjs.org/jest-snapshot/-/jest-snapshot-28.1.1.tgz", 3059 | "integrity": "sha512-1KjqHJ98adRcbIdMizjF5DipwZFbvxym/kFO4g4fVZCZRxH/dqV8TiBFCa6rqic3p0karsy8RWS1y4E07b7P0A==", 3060 | "dev": true, 3061 | "requires": { 3062 | "@babel/core": "^7.11.6", 3063 | "@babel/generator": "^7.7.2", 3064 | "@babel/plugin-syntax-typescript": "^7.7.2", 3065 | "@babel/traverse": "^7.7.2", 3066 | "@babel/types": "^7.3.3", 3067 | "@jest/expect-utils": "^28.1.1", 3068 | "@jest/transform": "^28.1.1", 3069 | "@jest/types": "^28.1.1", 3070 | "@types/babel__traverse": "^7.0.6", 3071 | "@types/prettier": "^2.1.5", 3072 | "babel-preset-current-node-syntax": "^1.0.0", 3073 | "chalk": "^4.0.0", 3074 | "expect": "^28.1.1", 3075 | "graceful-fs": "^4.2.9", 3076 | "jest-diff": "^28.1.1", 3077 | "jest-get-type": "^28.0.2", 3078 | "jest-haste-map": "^28.1.1", 3079 | "jest-matcher-utils": "^28.1.1", 3080 | "jest-message-util": "^28.1.1", 3081 | "jest-util": "^28.1.1", 3082 | "natural-compare": "^1.4.0", 3083 | "pretty-format": "^28.1.1", 3084 | "semver": "^7.3.5" 3085 | }, 3086 | "dependencies": { 3087 | "@jest/types": { 3088 | "version": "28.1.1", 3089 | "resolved": "https://registry.npmjs.org/@jest/types/-/types-28.1.1.tgz", 3090 | "integrity": "sha512-vRXVqSg1VhDnB8bWcmvLzmg0Bt9CRKVgHPXqYwvWMX3TvAjeO+nRuK6+VdTKCtWOvYlmkF/HqNAL/z+N3B53Kw==", 3091 | "dev": true, 3092 | "requires": { 3093 | "@jest/schemas": "^28.0.2", 3094 | "@types/istanbul-lib-coverage": "^2.0.0", 3095 | "@types/istanbul-reports": "^3.0.0", 3096 | "@types/node": "*", 3097 | "@types/yargs": "^17.0.8", 3098 | "chalk": "^4.0.0" 3099 | } 3100 | }, 3101 | "@types/yargs": { 3102 | "version": "17.0.10", 3103 | "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-17.0.10.tgz", 3104 | "integrity": "sha512-gmEaFwpj/7f/ROdtIlci1R1VYU1J4j95m8T+Tj3iBgiBFKg1foE/PSl93bBd5T9LDXNPo8UlNN6W0qwD8O5OaA==", 3105 | "dev": true, 3106 | "requires": { 3107 | "@types/yargs-parser": "*" 3108 | } 3109 | }, 3110 | "ansi-styles": { 3111 | "version": "5.2.0", 3112 | "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", 3113 | "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", 3114 | "dev": true 3115 | }, 3116 | "diff-sequences": { 3117 | "version": "28.1.1", 3118 | "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-28.1.1.tgz", 3119 | "integrity": "sha512-FU0iFaH/E23a+a718l8Qa/19bF9p06kgE0KipMOMadwa3SjnaElKzPaUC0vnibs6/B/9ni97s61mcejk8W1fQw==", 3120 | "dev": true 3121 | }, 3122 | "jest-diff": { 3123 | "version": "28.1.1", 3124 | "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-28.1.1.tgz", 3125 | "integrity": "sha512-/MUUxeR2fHbqHoMMiffe/Afm+U8U4olFRJ0hiVG2lZatPJcnGxx292ustVu7bULhjV65IYMxRdploAKLbcrsyg==", 3126 | "dev": true, 3127 | "requires": { 3128 | "chalk": "^4.0.0", 3129 | "diff-sequences": "^28.1.1", 3130 | "jest-get-type": "^28.0.2", 3131 | "pretty-format": "^28.1.1" 3132 | } 3133 | }, 3134 | "jest-get-type": { 3135 | "version": "28.0.2", 3136 | "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-28.0.2.tgz", 3137 | "integrity": "sha512-ioj2w9/DxSYHfOm5lJKCdcAmPJzQXmbM/Url3rhlghrPvT3tt+7a/+oXc9azkKmLvoiXjtV83bEWqi+vs5nlPA==", 3138 | "dev": true 3139 | }, 3140 | "jest-matcher-utils": { 3141 | "version": "28.1.1", 3142 | "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-28.1.1.tgz", 3143 | "integrity": "sha512-NPJPRWrbmR2nAJ+1nmnfcKKzSwgfaciCCrYZzVnNoxVoyusYWIjkBMNvu0RHJe7dNj4hH3uZOPZsQA+xAYWqsw==", 3144 | "dev": true, 3145 | "requires": { 3146 | "chalk": "^4.0.0", 3147 | "jest-diff": "^28.1.1", 3148 | "jest-get-type": "^28.0.2", 3149 | "pretty-format": "^28.1.1" 3150 | } 3151 | }, 3152 | "pretty-format": { 3153 | "version": "28.1.1", 3154 | "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-28.1.1.tgz", 3155 | "integrity": "sha512-wwJbVTGFHeucr5Jw2bQ9P+VYHyLdAqedFLEkdQUVaBF/eiidDwH5OpilINq4mEfhbCjLnirt6HTTDhv1HaTIQw==", 3156 | "dev": true, 3157 | "requires": { 3158 | "@jest/schemas": "^28.0.2", 3159 | "ansi-regex": "^5.0.1", 3160 | "ansi-styles": "^5.0.0", 3161 | "react-is": "^18.0.0" 3162 | } 3163 | }, 3164 | "react-is": { 3165 | "version": "18.1.0", 3166 | "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.1.0.tgz", 3167 | "integrity": "sha512-Fl7FuabXsJnV5Q1qIOQwx/sagGF18kogb4gpfcG4gjLBWO0WDiiz1ko/ExayuxE7InyQkBLkxRFG5oxY6Uu3Kg==", 3168 | "dev": true 3169 | }, 3170 | "semver": { 3171 | "version": "7.3.7", 3172 | "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.7.tgz", 3173 | "integrity": "sha512-QlYTucUYOews+WeEujDoEGziz4K6c47V/Bd+LjSSYcA94p+DmINdf7ncaUinThfvZyu13lN9OY1XDxt8C0Tw0g==", 3174 | "dev": true, 3175 | "requires": { 3176 | "lru-cache": "^6.0.0" 3177 | } 3178 | } 3179 | } 3180 | }, 3181 | "jest-util": { 3182 | "version": "28.1.1", 3183 | "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-28.1.1.tgz", 3184 | "integrity": "sha512-FktOu7ca1DZSyhPAxgxB6hfh2+9zMoJ7aEQA759Z6p45NuO8mWcqujH+UdHlCm/V6JTWwDztM2ITCzU1ijJAfw==", 3185 | "dev": true, 3186 | "requires": { 3187 | "@jest/types": "^28.1.1", 3188 | "@types/node": "*", 3189 | "chalk": "^4.0.0", 3190 | "ci-info": "^3.2.0", 3191 | "graceful-fs": "^4.2.9", 3192 | "picomatch": "^2.2.3" 3193 | }, 3194 | "dependencies": { 3195 | "@jest/types": { 3196 | "version": "28.1.1", 3197 | "resolved": "https://registry.npmjs.org/@jest/types/-/types-28.1.1.tgz", 3198 | "integrity": "sha512-vRXVqSg1VhDnB8bWcmvLzmg0Bt9CRKVgHPXqYwvWMX3TvAjeO+nRuK6+VdTKCtWOvYlmkF/HqNAL/z+N3B53Kw==", 3199 | "dev": true, 3200 | "requires": { 3201 | "@jest/schemas": "^28.0.2", 3202 | "@types/istanbul-lib-coverage": "^2.0.0", 3203 | "@types/istanbul-reports": "^3.0.0", 3204 | "@types/node": "*", 3205 | "@types/yargs": "^17.0.8", 3206 | "chalk": "^4.0.0" 3207 | } 3208 | }, 3209 | "@types/yargs": { 3210 | "version": "17.0.10", 3211 | "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-17.0.10.tgz", 3212 | "integrity": "sha512-gmEaFwpj/7f/ROdtIlci1R1VYU1J4j95m8T+Tj3iBgiBFKg1foE/PSl93bBd5T9LDXNPo8UlNN6W0qwD8O5OaA==", 3213 | "dev": true, 3214 | "requires": { 3215 | "@types/yargs-parser": "*" 3216 | } 3217 | } 3218 | } 3219 | }, 3220 | "jest-validate": { 3221 | "version": "28.1.1", 3222 | "resolved": "https://registry.npmjs.org/jest-validate/-/jest-validate-28.1.1.tgz", 3223 | "integrity": "sha512-Kpf6gcClqFCIZ4ti5++XemYJWUPCFUW+N2gknn+KgnDf549iLul3cBuKVe1YcWRlaF8tZV8eJCap0eECOEE3Ug==", 3224 | "dev": true, 3225 | "requires": { 3226 | "@jest/types": "^28.1.1", 3227 | "camelcase": "^6.2.0", 3228 | "chalk": "^4.0.0", 3229 | "jest-get-type": "^28.0.2", 3230 | "leven": "^3.1.0", 3231 | "pretty-format": "^28.1.1" 3232 | }, 3233 | "dependencies": { 3234 | "@jest/types": { 3235 | "version": "28.1.1", 3236 | "resolved": "https://registry.npmjs.org/@jest/types/-/types-28.1.1.tgz", 3237 | "integrity": "sha512-vRXVqSg1VhDnB8bWcmvLzmg0Bt9CRKVgHPXqYwvWMX3TvAjeO+nRuK6+VdTKCtWOvYlmkF/HqNAL/z+N3B53Kw==", 3238 | "dev": true, 3239 | "requires": { 3240 | "@jest/schemas": "^28.0.2", 3241 | "@types/istanbul-lib-coverage": "^2.0.0", 3242 | "@types/istanbul-reports": "^3.0.0", 3243 | "@types/node": "*", 3244 | "@types/yargs": "^17.0.8", 3245 | "chalk": "^4.0.0" 3246 | } 3247 | }, 3248 | "@types/yargs": { 3249 | "version": "17.0.10", 3250 | "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-17.0.10.tgz", 3251 | "integrity": "sha512-gmEaFwpj/7f/ROdtIlci1R1VYU1J4j95m8T+Tj3iBgiBFKg1foE/PSl93bBd5T9LDXNPo8UlNN6W0qwD8O5OaA==", 3252 | "dev": true, 3253 | "requires": { 3254 | "@types/yargs-parser": "*" 3255 | } 3256 | }, 3257 | "ansi-styles": { 3258 | "version": "5.2.0", 3259 | "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", 3260 | "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", 3261 | "dev": true 3262 | }, 3263 | "camelcase": { 3264 | "version": "6.3.0", 3265 | "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz", 3266 | "integrity": "sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==", 3267 | "dev": true 3268 | }, 3269 | "jest-get-type": { 3270 | "version": "28.0.2", 3271 | "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-28.0.2.tgz", 3272 | "integrity": "sha512-ioj2w9/DxSYHfOm5lJKCdcAmPJzQXmbM/Url3rhlghrPvT3tt+7a/+oXc9azkKmLvoiXjtV83bEWqi+vs5nlPA==", 3273 | "dev": true 3274 | }, 3275 | "pretty-format": { 3276 | "version": "28.1.1", 3277 | "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-28.1.1.tgz", 3278 | "integrity": "sha512-wwJbVTGFHeucr5Jw2bQ9P+VYHyLdAqedFLEkdQUVaBF/eiidDwH5OpilINq4mEfhbCjLnirt6HTTDhv1HaTIQw==", 3279 | "dev": true, 3280 | "requires": { 3281 | "@jest/schemas": "^28.0.2", 3282 | "ansi-regex": "^5.0.1", 3283 | "ansi-styles": "^5.0.0", 3284 | "react-is": "^18.0.0" 3285 | } 3286 | }, 3287 | "react-is": { 3288 | "version": "18.1.0", 3289 | "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.1.0.tgz", 3290 | "integrity": "sha512-Fl7FuabXsJnV5Q1qIOQwx/sagGF18kogb4gpfcG4gjLBWO0WDiiz1ko/ExayuxE7InyQkBLkxRFG5oxY6Uu3Kg==", 3291 | "dev": true 3292 | } 3293 | } 3294 | }, 3295 | "jest-watcher": { 3296 | "version": "28.1.1", 3297 | "resolved": "https://registry.npmjs.org/jest-watcher/-/jest-watcher-28.1.1.tgz", 3298 | "integrity": "sha512-RQIpeZ8EIJMxbQrXpJQYIIlubBnB9imEHsxxE41f54ZwcqWLysL/A0ZcdMirf+XsMn3xfphVQVV4EW0/p7i7Ug==", 3299 | "dev": true, 3300 | "requires": { 3301 | "@jest/test-result": "^28.1.1", 3302 | "@jest/types": "^28.1.1", 3303 | "@types/node": "*", 3304 | "ansi-escapes": "^4.2.1", 3305 | "chalk": "^4.0.0", 3306 | "emittery": "^0.10.2", 3307 | "jest-util": "^28.1.1", 3308 | "string-length": "^4.0.1" 3309 | }, 3310 | "dependencies": { 3311 | "@jest/types": { 3312 | "version": "28.1.1", 3313 | "resolved": "https://registry.npmjs.org/@jest/types/-/types-28.1.1.tgz", 3314 | "integrity": "sha512-vRXVqSg1VhDnB8bWcmvLzmg0Bt9CRKVgHPXqYwvWMX3TvAjeO+nRuK6+VdTKCtWOvYlmkF/HqNAL/z+N3B53Kw==", 3315 | "dev": true, 3316 | "requires": { 3317 | "@jest/schemas": "^28.0.2", 3318 | "@types/istanbul-lib-coverage": "^2.0.0", 3319 | "@types/istanbul-reports": "^3.0.0", 3320 | "@types/node": "*", 3321 | "@types/yargs": "^17.0.8", 3322 | "chalk": "^4.0.0" 3323 | } 3324 | }, 3325 | "@types/yargs": { 3326 | "version": "17.0.10", 3327 | "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-17.0.10.tgz", 3328 | "integrity": "sha512-gmEaFwpj/7f/ROdtIlci1R1VYU1J4j95m8T+Tj3iBgiBFKg1foE/PSl93bBd5T9LDXNPo8UlNN6W0qwD8O5OaA==", 3329 | "dev": true, 3330 | "requires": { 3331 | "@types/yargs-parser": "*" 3332 | } 3333 | } 3334 | } 3335 | }, 3336 | "jest-worker": { 3337 | "version": "28.1.1", 3338 | "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-28.1.1.tgz", 3339 | "integrity": "sha512-Au7slXB08C6h+xbJPp7VIb6U0XX5Kc9uel/WFc6/rcTzGiaVCBRngBExSYuXSLFPULPSYU3cJ3ybS988lNFQhQ==", 3340 | "dev": true, 3341 | "requires": { 3342 | "@types/node": "*", 3343 | "merge-stream": "^2.0.0", 3344 | "supports-color": "^8.0.0" 3345 | }, 3346 | "dependencies": { 3347 | "supports-color": { 3348 | "version": "8.1.1", 3349 | "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", 3350 | "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", 3351 | "dev": true, 3352 | "requires": { 3353 | "has-flag": "^4.0.0" 3354 | } 3355 | } 3356 | } 3357 | }, 3358 | "js-tokens": { 3359 | "version": "4.0.0", 3360 | "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", 3361 | "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", 3362 | "dev": true 3363 | }, 3364 | "js-yaml": { 3365 | "version": "3.14.1", 3366 | "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz", 3367 | "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==", 3368 | "dev": true, 3369 | "requires": { 3370 | "argparse": "^1.0.7", 3371 | "esprima": "^4.0.0" 3372 | } 3373 | }, 3374 | "jsesc": { 3375 | "version": "2.5.2", 3376 | "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz", 3377 | "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==", 3378 | "dev": true 3379 | }, 3380 | "json-parse-even-better-errors": { 3381 | "version": "2.3.1", 3382 | "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz", 3383 | "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==", 3384 | "dev": true 3385 | }, 3386 | "json5": { 3387 | "version": "2.2.1", 3388 | "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.1.tgz", 3389 | "integrity": "sha512-1hqLFMSrGHRHxav9q9gNjJ5EXznIxGVO09xQRrwplcS8qs28pZ8s8hupZAmqDwZUmVZ2Qb2jnyPOWcDH8m8dlA==", 3390 | "dev": true 3391 | }, 3392 | "kleur": { 3393 | "version": "3.0.3", 3394 | "resolved": "https://registry.npmjs.org/kleur/-/kleur-3.0.3.tgz", 3395 | "integrity": "sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w==", 3396 | "dev": true 3397 | }, 3398 | "leven": { 3399 | "version": "3.1.0", 3400 | "resolved": "https://registry.npmjs.org/leven/-/leven-3.1.0.tgz", 3401 | "integrity": "sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A==", 3402 | "dev": true 3403 | }, 3404 | "lines-and-columns": { 3405 | "version": "1.2.4", 3406 | "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz", 3407 | "integrity": "sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==", 3408 | "dev": true 3409 | }, 3410 | "locate-path": { 3411 | "version": "5.0.0", 3412 | "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", 3413 | "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", 3414 | "dev": true, 3415 | "requires": { 3416 | "p-locate": "^4.1.0" 3417 | } 3418 | }, 3419 | "lru-cache": { 3420 | "version": "6.0.0", 3421 | "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", 3422 | "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", 3423 | "dev": true, 3424 | "requires": { 3425 | "yallist": "^4.0.0" 3426 | } 3427 | }, 3428 | "make-dir": { 3429 | "version": "3.1.0", 3430 | "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz", 3431 | "integrity": "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==", 3432 | "dev": true, 3433 | "requires": { 3434 | "semver": "^6.0.0" 3435 | } 3436 | }, 3437 | "make-error": { 3438 | "version": "1.3.6", 3439 | "resolved": "https://registry.npmjs.org/make-error/-/make-error-1.3.6.tgz", 3440 | "integrity": "sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==", 3441 | "dev": true 3442 | }, 3443 | "makeerror": { 3444 | "version": "1.0.12", 3445 | "resolved": "https://registry.npmjs.org/makeerror/-/makeerror-1.0.12.tgz", 3446 | "integrity": "sha512-JmqCvUhmt43madlpFzG4BQzG2Z3m6tvQDNKdClZnO3VbIudJYmxsT0FNJMeiB2+JTSlTQTSbU8QdesVmwJcmLg==", 3447 | "dev": true, 3448 | "requires": { 3449 | "tmpl": "1.0.5" 3450 | } 3451 | }, 3452 | "media-typer": { 3453 | "version": "0.3.0", 3454 | "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz", 3455 | "integrity": "sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ==" 3456 | }, 3457 | "merge-descriptors": { 3458 | "version": "1.0.1", 3459 | "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.1.tgz", 3460 | "integrity": "sha512-cCi6g3/Zr1iqQi6ySbseM1Xvooa98N0w31jzUYrXPX2xqObmFGHJ0tQ5u74H3mVh7wLouTseZyYIq39g8cNp1w==" 3461 | }, 3462 | "merge-stream": { 3463 | "version": "2.0.0", 3464 | "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz", 3465 | "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==", 3466 | "dev": true 3467 | }, 3468 | "methods": { 3469 | "version": "1.1.2", 3470 | "resolved": "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz", 3471 | "integrity": "sha512-iclAHeNqNm68zFtnZ0e+1L2yUIdvzNoauKU4WBA3VvH/vPFieF7qfRlwUZU+DA9P9bPXIS90ulxoUoCH23sV2w==" 3472 | }, 3473 | "micromatch": { 3474 | "version": "4.0.5", 3475 | "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz", 3476 | "integrity": "sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==", 3477 | "dev": true, 3478 | "requires": { 3479 | "braces": "^3.0.2", 3480 | "picomatch": "^2.3.1" 3481 | } 3482 | }, 3483 | "mime": { 3484 | "version": "1.6.0", 3485 | "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz", 3486 | "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==" 3487 | }, 3488 | "mime-db": { 3489 | "version": "1.52.0", 3490 | "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", 3491 | "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==" 3492 | }, 3493 | "mime-types": { 3494 | "version": "2.1.35", 3495 | "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", 3496 | "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", 3497 | "requires": { 3498 | "mime-db": "1.52.0" 3499 | } 3500 | }, 3501 | "mimic-fn": { 3502 | "version": "2.1.0", 3503 | "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", 3504 | "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==", 3505 | "dev": true 3506 | }, 3507 | "minimatch": { 3508 | "version": "3.1.2", 3509 | "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", 3510 | "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", 3511 | "dev": true, 3512 | "requires": { 3513 | "brace-expansion": "^1.1.7" 3514 | } 3515 | }, 3516 | "ms": { 3517 | "version": "2.1.2", 3518 | "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", 3519 | "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", 3520 | "dev": true 3521 | }, 3522 | "natural-compare": { 3523 | "version": "1.4.0", 3524 | "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", 3525 | "integrity": "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==", 3526 | "dev": true 3527 | }, 3528 | "negotiator": { 3529 | "version": "0.6.3", 3530 | "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.3.tgz", 3531 | "integrity": "sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==" 3532 | }, 3533 | "node-int64": { 3534 | "version": "0.4.0", 3535 | "resolved": "https://registry.npmjs.org/node-int64/-/node-int64-0.4.0.tgz", 3536 | "integrity": "sha512-O5lz91xSOeoXP6DulyHfllpq+Eg00MWitZIbtPfoSEvqIHdl5gfcY6hYzDWnj0qD5tz52PI08u9qUvSVeUBeHw==", 3537 | "dev": true 3538 | }, 3539 | "node-releases": { 3540 | "version": "2.0.5", 3541 | "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.5.tgz", 3542 | "integrity": "sha512-U9h1NLROZTq9uE1SNffn6WuPDg8icmi3ns4rEl/oTfIle4iLjTliCzgTsbaIFMq/Xn078/lfY/BL0GWZ+psK4Q==", 3543 | "dev": true 3544 | }, 3545 | "normalize-path": { 3546 | "version": "3.0.0", 3547 | "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", 3548 | "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", 3549 | "dev": true 3550 | }, 3551 | "npm-run-path": { 3552 | "version": "4.0.1", 3553 | "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.1.tgz", 3554 | "integrity": "sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==", 3555 | "dev": true, 3556 | "requires": { 3557 | "path-key": "^3.0.0" 3558 | } 3559 | }, 3560 | "object-inspect": { 3561 | "version": "1.12.2", 3562 | "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.12.2.tgz", 3563 | "integrity": "sha512-z+cPxW0QGUp0mcqcsgQyLVRDoXFQbXOwBaqyF7VIgI4TWNQsDHrBpUQslRmIfAoYWdYzs6UlKJtB2XJpTaNSpQ==" 3564 | }, 3565 | "on-finished": { 3566 | "version": "2.4.1", 3567 | "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.4.1.tgz", 3568 | "integrity": "sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==", 3569 | "requires": { 3570 | "ee-first": "1.1.1" 3571 | } 3572 | }, 3573 | "once": { 3574 | "version": "1.4.0", 3575 | "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", 3576 | "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", 3577 | "dev": true, 3578 | "requires": { 3579 | "wrappy": "1" 3580 | } 3581 | }, 3582 | "onetime": { 3583 | "version": "5.1.2", 3584 | "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz", 3585 | "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==", 3586 | "dev": true, 3587 | "requires": { 3588 | "mimic-fn": "^2.1.0" 3589 | } 3590 | }, 3591 | "p-limit": { 3592 | "version": "2.3.0", 3593 | "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", 3594 | "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", 3595 | "dev": true, 3596 | "requires": { 3597 | "p-try": "^2.0.0" 3598 | } 3599 | }, 3600 | "p-locate": { 3601 | "version": "4.1.0", 3602 | "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", 3603 | "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", 3604 | "dev": true, 3605 | "requires": { 3606 | "p-limit": "^2.2.0" 3607 | } 3608 | }, 3609 | "p-try": { 3610 | "version": "2.2.0", 3611 | "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", 3612 | "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", 3613 | "dev": true 3614 | }, 3615 | "parse-json": { 3616 | "version": "5.2.0", 3617 | "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz", 3618 | "integrity": "sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==", 3619 | "dev": true, 3620 | "requires": { 3621 | "@babel/code-frame": "^7.0.0", 3622 | "error-ex": "^1.3.1", 3623 | "json-parse-even-better-errors": "^2.3.0", 3624 | "lines-and-columns": "^1.1.6" 3625 | } 3626 | }, 3627 | "parseurl": { 3628 | "version": "1.3.3", 3629 | "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz", 3630 | "integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==" 3631 | }, 3632 | "path-exists": { 3633 | "version": "4.0.0", 3634 | "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", 3635 | "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", 3636 | "dev": true 3637 | }, 3638 | "path-is-absolute": { 3639 | "version": "1.0.1", 3640 | "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", 3641 | "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==", 3642 | "dev": true 3643 | }, 3644 | "path-key": { 3645 | "version": "3.1.1", 3646 | "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", 3647 | "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", 3648 | "dev": true 3649 | }, 3650 | "path-parse": { 3651 | "version": "1.0.7", 3652 | "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", 3653 | "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==", 3654 | "dev": true 3655 | }, 3656 | "path-to-regexp": { 3657 | "version": "0.1.7", 3658 | "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.7.tgz", 3659 | "integrity": "sha512-5DFkuoqlv1uYQKxy8omFBeJPQcdoE07Kv2sferDCrAq1ohOU+MSDswDIbnx3YAM60qIOnYa53wBhXW0EbMonrQ==" 3660 | }, 3661 | "picocolors": { 3662 | "version": "1.0.0", 3663 | "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz", 3664 | "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==", 3665 | "dev": true 3666 | }, 3667 | "picomatch": { 3668 | "version": "2.3.1", 3669 | "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", 3670 | "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", 3671 | "dev": true 3672 | }, 3673 | "pirates": { 3674 | "version": "4.0.5", 3675 | "resolved": "https://registry.npmjs.org/pirates/-/pirates-4.0.5.tgz", 3676 | "integrity": "sha512-8V9+HQPupnaXMA23c5hvl69zXvTwTzyAYasnkb0Tts4XvO4CliqONMOnvlq26rkhLC3nWDFBJf73LU1e1VZLaQ==", 3677 | "dev": true 3678 | }, 3679 | "pkg-dir": { 3680 | "version": "4.2.0", 3681 | "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-4.2.0.tgz", 3682 | "integrity": "sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==", 3683 | "dev": true, 3684 | "requires": { 3685 | "find-up": "^4.0.0" 3686 | } 3687 | }, 3688 | "pretty-format": { 3689 | "version": "27.5.1", 3690 | "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-27.5.1.tgz", 3691 | "integrity": "sha512-Qb1gy5OrP5+zDf2Bvnzdl3jsTf1qXVMazbvCoKhtKqVs4/YK4ozX4gKQJJVyNe+cajNPn0KoC0MC3FUmaHWEmQ==", 3692 | "dev": true, 3693 | "requires": { 3694 | "ansi-regex": "^5.0.1", 3695 | "ansi-styles": "^5.0.0", 3696 | "react-is": "^17.0.1" 3697 | }, 3698 | "dependencies": { 3699 | "ansi-styles": { 3700 | "version": "5.2.0", 3701 | "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", 3702 | "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", 3703 | "dev": true 3704 | } 3705 | } 3706 | }, 3707 | "prompts": { 3708 | "version": "2.4.2", 3709 | "resolved": "https://registry.npmjs.org/prompts/-/prompts-2.4.2.tgz", 3710 | "integrity": "sha512-NxNv/kLguCA7p3jE8oL2aEBsrJWgAakBpgmgK6lpPWV+WuOmY6r2/zbAVnP+T8bQlA0nzHXSJSJW0Hq7ylaD2Q==", 3711 | "dev": true, 3712 | "requires": { 3713 | "kleur": "^3.0.3", 3714 | "sisteransi": "^1.0.5" 3715 | } 3716 | }, 3717 | "proxy-addr": { 3718 | "version": "2.0.7", 3719 | "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.7.tgz", 3720 | "integrity": "sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==", 3721 | "requires": { 3722 | "forwarded": "0.2.0", 3723 | "ipaddr.js": "1.9.1" 3724 | } 3725 | }, 3726 | "qs": { 3727 | "version": "6.10.3", 3728 | "resolved": "https://registry.npmjs.org/qs/-/qs-6.10.3.tgz", 3729 | "integrity": "sha512-wr7M2E0OFRfIfJZjKGieI8lBKb7fRCH4Fv5KNPEs7gJ8jadvotdsS08PzOKR7opXhZ/Xkjtt3WF9g38drmyRqQ==", 3730 | "requires": { 3731 | "side-channel": "^1.0.4" 3732 | } 3733 | }, 3734 | "range-parser": { 3735 | "version": "1.2.1", 3736 | "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz", 3737 | "integrity": "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==" 3738 | }, 3739 | "raw-body": { 3740 | "version": "2.5.1", 3741 | "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.5.1.tgz", 3742 | "integrity": "sha512-qqJBtEyVgS0ZmPGdCFPWJ3FreoqvG4MVQln/kCgF7Olq95IbOp0/BWyMwbdtn4VTvkM8Y7khCQ2Xgk/tcrCXig==", 3743 | "requires": { 3744 | "bytes": "3.1.2", 3745 | "http-errors": "2.0.0", 3746 | "iconv-lite": "0.4.24", 3747 | "unpipe": "1.0.0" 3748 | } 3749 | }, 3750 | "react-is": { 3751 | "version": "17.0.2", 3752 | "resolved": "https://registry.npmjs.org/react-is/-/react-is-17.0.2.tgz", 3753 | "integrity": "sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w==", 3754 | "dev": true 3755 | }, 3756 | "require-directory": { 3757 | "version": "2.1.1", 3758 | "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", 3759 | "integrity": "sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==", 3760 | "dev": true 3761 | }, 3762 | "resolve": { 3763 | "version": "1.22.0", 3764 | "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.0.tgz", 3765 | "integrity": "sha512-Hhtrw0nLeSrFQ7phPp4OOcVjLPIeMnRlr5mcnVuMe7M/7eBn98A3hmFRLoFo3DLZkivSYwhRUJTyPyWAk56WLw==", 3766 | "dev": true, 3767 | "requires": { 3768 | "is-core-module": "^2.8.1", 3769 | "path-parse": "^1.0.7", 3770 | "supports-preserve-symlinks-flag": "^1.0.0" 3771 | } 3772 | }, 3773 | "resolve-cwd": { 3774 | "version": "3.0.0", 3775 | "resolved": "https://registry.npmjs.org/resolve-cwd/-/resolve-cwd-3.0.0.tgz", 3776 | "integrity": "sha512-OrZaX2Mb+rJCpH/6CpSqt9xFVpN++x01XnN2ie9g6P5/3xelLAkXWVADpdz1IHD/KFfEXyE6V0U01OQ3UO2rEg==", 3777 | "dev": true, 3778 | "requires": { 3779 | "resolve-from": "^5.0.0" 3780 | } 3781 | }, 3782 | "resolve-from": { 3783 | "version": "5.0.0", 3784 | "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz", 3785 | "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==", 3786 | "dev": true 3787 | }, 3788 | "resolve.exports": { 3789 | "version": "1.1.0", 3790 | "resolved": "https://registry.npmjs.org/resolve.exports/-/resolve.exports-1.1.0.tgz", 3791 | "integrity": "sha512-J1l+Zxxp4XK3LUDZ9m60LRJF/mAe4z6a4xyabPHk7pvK5t35dACV32iIjJDFeWZFfZlO29w6SZ67knR0tHzJtQ==", 3792 | "dev": true 3793 | }, 3794 | "rimraf": { 3795 | "version": "3.0.2", 3796 | "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", 3797 | "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", 3798 | "dev": true, 3799 | "requires": { 3800 | "glob": "^7.1.3" 3801 | } 3802 | }, 3803 | "safe-buffer": { 3804 | "version": "5.1.2", 3805 | "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", 3806 | "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", 3807 | "dev": true 3808 | }, 3809 | "safer-buffer": { 3810 | "version": "2.1.2", 3811 | "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", 3812 | "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==" 3813 | }, 3814 | "semver": { 3815 | "version": "6.3.0", 3816 | "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", 3817 | "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", 3818 | "dev": true 3819 | }, 3820 | "send": { 3821 | "version": "0.18.0", 3822 | "resolved": "https://registry.npmjs.org/send/-/send-0.18.0.tgz", 3823 | "integrity": "sha512-qqWzuOjSFOuqPjFe4NOsMLafToQQwBSOEpS+FwEt3A2V3vKubTquT3vmLTQpFgMXp8AlFWFuP1qKaJZOtPpVXg==", 3824 | "requires": { 3825 | "debug": "2.6.9", 3826 | "depd": "2.0.0", 3827 | "destroy": "1.2.0", 3828 | "encodeurl": "~1.0.2", 3829 | "escape-html": "~1.0.3", 3830 | "etag": "~1.8.1", 3831 | "fresh": "0.5.2", 3832 | "http-errors": "2.0.0", 3833 | "mime": "1.6.0", 3834 | "ms": "2.1.3", 3835 | "on-finished": "2.4.1", 3836 | "range-parser": "~1.2.1", 3837 | "statuses": "2.0.1" 3838 | }, 3839 | "dependencies": { 3840 | "debug": { 3841 | "version": "2.6.9", 3842 | "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", 3843 | "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", 3844 | "requires": { 3845 | "ms": "2.0.0" 3846 | }, 3847 | "dependencies": { 3848 | "ms": { 3849 | "version": "2.0.0", 3850 | "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", 3851 | "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" 3852 | } 3853 | } 3854 | }, 3855 | "ms": { 3856 | "version": "2.1.3", 3857 | "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", 3858 | "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==" 3859 | } 3860 | } 3861 | }, 3862 | "serve-static": { 3863 | "version": "1.15.0", 3864 | "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.15.0.tgz", 3865 | "integrity": "sha512-XGuRDNjXUijsUL0vl6nSD7cwURuzEgglbOaFuZM9g3kwDXOWVTck0jLzjPzGD+TazWbboZYu52/9/XPdUgne9g==", 3866 | "requires": { 3867 | "encodeurl": "~1.0.2", 3868 | "escape-html": "~1.0.3", 3869 | "parseurl": "~1.3.3", 3870 | "send": "0.18.0" 3871 | } 3872 | }, 3873 | "setprototypeof": { 3874 | "version": "1.2.0", 3875 | "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.2.0.tgz", 3876 | "integrity": "sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==" 3877 | }, 3878 | "shebang-command": { 3879 | "version": "2.0.0", 3880 | "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", 3881 | "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", 3882 | "dev": true, 3883 | "requires": { 3884 | "shebang-regex": "^3.0.0" 3885 | } 3886 | }, 3887 | "shebang-regex": { 3888 | "version": "3.0.0", 3889 | "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", 3890 | "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", 3891 | "dev": true 3892 | }, 3893 | "side-channel": { 3894 | "version": "1.0.4", 3895 | "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.4.tgz", 3896 | "integrity": "sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==", 3897 | "requires": { 3898 | "call-bind": "^1.0.0", 3899 | "get-intrinsic": "^1.0.2", 3900 | "object-inspect": "^1.9.0" 3901 | } 3902 | }, 3903 | "signal-exit": { 3904 | "version": "3.0.7", 3905 | "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", 3906 | "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==", 3907 | "dev": true 3908 | }, 3909 | "sisteransi": { 3910 | "version": "1.0.5", 3911 | "resolved": "https://registry.npmjs.org/sisteransi/-/sisteransi-1.0.5.tgz", 3912 | "integrity": "sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==", 3913 | "dev": true 3914 | }, 3915 | "slash": { 3916 | "version": "3.0.0", 3917 | "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", 3918 | "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", 3919 | "dev": true 3920 | }, 3921 | "source-map": { 3922 | "version": "0.6.1", 3923 | "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", 3924 | "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", 3925 | "dev": true 3926 | }, 3927 | "source-map-support": { 3928 | "version": "0.5.13", 3929 | "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.13.tgz", 3930 | "integrity": "sha512-SHSKFHadjVA5oR4PPqhtAVdcBWwRYVd6g6cAXnIbRiIwc2EhPrTuKUBdSLvlEKyIP3GCf89fltvcZiP9MMFA1w==", 3931 | "dev": true, 3932 | "requires": { 3933 | "buffer-from": "^1.0.0", 3934 | "source-map": "^0.6.0" 3935 | } 3936 | }, 3937 | "sprintf-js": { 3938 | "version": "1.0.3", 3939 | "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", 3940 | "integrity": "sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==", 3941 | "dev": true 3942 | }, 3943 | "stack-utils": { 3944 | "version": "2.0.5", 3945 | "resolved": "https://registry.npmjs.org/stack-utils/-/stack-utils-2.0.5.tgz", 3946 | "integrity": "sha512-xrQcmYhOsn/1kX+Vraq+7j4oE2j/6BFscZ0etmYg81xuM8Gq0022Pxb8+IqgOFUIaxHs0KaSb7T1+OegiNrNFA==", 3947 | "dev": true, 3948 | "requires": { 3949 | "escape-string-regexp": "^2.0.0" 3950 | }, 3951 | "dependencies": { 3952 | "escape-string-regexp": { 3953 | "version": "2.0.0", 3954 | "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-2.0.0.tgz", 3955 | "integrity": "sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w==", 3956 | "dev": true 3957 | } 3958 | } 3959 | }, 3960 | "statuses": { 3961 | "version": "2.0.1", 3962 | "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz", 3963 | "integrity": "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==" 3964 | }, 3965 | "string-length": { 3966 | "version": "4.0.2", 3967 | "resolved": "https://registry.npmjs.org/string-length/-/string-length-4.0.2.tgz", 3968 | "integrity": "sha512-+l6rNN5fYHNhZZy41RXsYptCjA2Igmq4EG7kZAYFQI1E1VTXarr6ZPXBg6eq7Y6eK4FEhY6AJlyuFIb/v/S0VQ==", 3969 | "dev": true, 3970 | "requires": { 3971 | "char-regex": "^1.0.2", 3972 | "strip-ansi": "^6.0.0" 3973 | } 3974 | }, 3975 | "string-width": { 3976 | "version": "4.2.3", 3977 | "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", 3978 | "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", 3979 | "dev": true, 3980 | "requires": { 3981 | "emoji-regex": "^8.0.0", 3982 | "is-fullwidth-code-point": "^3.0.0", 3983 | "strip-ansi": "^6.0.1" 3984 | } 3985 | }, 3986 | "strip-ansi": { 3987 | "version": "6.0.1", 3988 | "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", 3989 | "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", 3990 | "dev": true, 3991 | "requires": { 3992 | "ansi-regex": "^5.0.1" 3993 | } 3994 | }, 3995 | "strip-bom": { 3996 | "version": "4.0.0", 3997 | "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-4.0.0.tgz", 3998 | "integrity": "sha512-3xurFv5tEgii33Zi8Jtp55wEIILR9eh34FAW00PZf+JnSsTmV/ioewSgQl97JHvgjoRGwPShsWm+IdrxB35d0w==", 3999 | "dev": true 4000 | }, 4001 | "strip-final-newline": { 4002 | "version": "2.0.0", 4003 | "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-2.0.0.tgz", 4004 | "integrity": "sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==", 4005 | "dev": true 4006 | }, 4007 | "strip-json-comments": { 4008 | "version": "3.1.1", 4009 | "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", 4010 | "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==", 4011 | "dev": true 4012 | }, 4013 | "supports-color": { 4014 | "version": "7.2.0", 4015 | "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", 4016 | "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", 4017 | "dev": true, 4018 | "requires": { 4019 | "has-flag": "^4.0.0" 4020 | } 4021 | }, 4022 | "supports-hyperlinks": { 4023 | "version": "2.2.0", 4024 | "resolved": "https://registry.npmjs.org/supports-hyperlinks/-/supports-hyperlinks-2.2.0.tgz", 4025 | "integrity": "sha512-6sXEzV5+I5j8Bmq9/vUphGRM/RJNT9SCURJLjwfOg51heRtguGWDzcaBlgAzKhQa0EVNpPEKzQuBwZ8S8WaCeQ==", 4026 | "dev": true, 4027 | "requires": { 4028 | "has-flag": "^4.0.0", 4029 | "supports-color": "^7.0.0" 4030 | } 4031 | }, 4032 | "supports-preserve-symlinks-flag": { 4033 | "version": "1.0.0", 4034 | "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", 4035 | "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==", 4036 | "dev": true 4037 | }, 4038 | "terminal-link": { 4039 | "version": "2.1.1", 4040 | "resolved": "https://registry.npmjs.org/terminal-link/-/terminal-link-2.1.1.tgz", 4041 | "integrity": "sha512-un0FmiRUQNr5PJqy9kP7c40F5BOfpGlYTrxonDChEZB7pzZxRNp/bt+ymiy9/npwXya9KH99nJ/GXFIiUkYGFQ==", 4042 | "dev": true, 4043 | "requires": { 4044 | "ansi-escapes": "^4.2.1", 4045 | "supports-hyperlinks": "^2.0.0" 4046 | } 4047 | }, 4048 | "test-exclude": { 4049 | "version": "6.0.0", 4050 | "resolved": "https://registry.npmjs.org/test-exclude/-/test-exclude-6.0.0.tgz", 4051 | "integrity": "sha512-cAGWPIyOHU6zlmg88jwm7VRyXnMN7iV68OGAbYDk/Mh/xC/pzVPlQtY6ngoIH/5/tciuhGfvESU8GrHrcxD56w==", 4052 | "dev": true, 4053 | "requires": { 4054 | "@istanbuljs/schema": "^0.1.2", 4055 | "glob": "^7.1.4", 4056 | "minimatch": "^3.0.4" 4057 | } 4058 | }, 4059 | "throat": { 4060 | "version": "6.0.1", 4061 | "resolved": "https://registry.npmjs.org/throat/-/throat-6.0.1.tgz", 4062 | "integrity": "sha512-8hmiGIJMDlwjg7dlJ4yKGLK8EsYqKgPWbG3b4wjJddKNwc7N7Dpn08Df4szr/sZdMVeOstrdYSsqzX6BYbcB+w==", 4063 | "dev": true 4064 | }, 4065 | "tmpl": { 4066 | "version": "1.0.5", 4067 | "resolved": "https://registry.npmjs.org/tmpl/-/tmpl-1.0.5.tgz", 4068 | "integrity": "sha512-3f0uOEAQwIqGuWW2MVzYg8fV/QNnc/IpuJNG837rLuczAaLVHslWHZQj4IGiEl5Hs3kkbhwL9Ab7Hrsmuj+Smw==", 4069 | "dev": true 4070 | }, 4071 | "to-fast-properties": { 4072 | "version": "2.0.0", 4073 | "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz", 4074 | "integrity": "sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==", 4075 | "dev": true 4076 | }, 4077 | "to-regex-range": { 4078 | "version": "5.0.1", 4079 | "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", 4080 | "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", 4081 | "dev": true, 4082 | "requires": { 4083 | "is-number": "^7.0.0" 4084 | } 4085 | }, 4086 | "toidentifier": { 4087 | "version": "1.0.1", 4088 | "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.1.tgz", 4089 | "integrity": "sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==" 4090 | }, 4091 | "ts-node": { 4092 | "version": "10.8.1", 4093 | "resolved": "https://registry.npmjs.org/ts-node/-/ts-node-10.8.1.tgz", 4094 | "integrity": "sha512-Wwsnao4DQoJsN034wePSg5nZiw4YKXf56mPIAeD6wVmiv+RytNSWqc2f3fKvcUoV+Yn2+yocD71VOfQHbmVX4g==", 4095 | "dev": true, 4096 | "requires": { 4097 | "@cspotcode/source-map-support": "^0.8.0", 4098 | "@tsconfig/node10": "^1.0.7", 4099 | "@tsconfig/node12": "^1.0.7", 4100 | "@tsconfig/node14": "^1.0.0", 4101 | "@tsconfig/node16": "^1.0.2", 4102 | "acorn": "^8.4.1", 4103 | "acorn-walk": "^8.1.1", 4104 | "arg": "^4.1.0", 4105 | "create-require": "^1.1.0", 4106 | "diff": "^4.0.1", 4107 | "make-error": "^1.1.1", 4108 | "v8-compile-cache-lib": "^3.0.1", 4109 | "yn": "3.1.1" 4110 | } 4111 | }, 4112 | "type-detect": { 4113 | "version": "4.0.8", 4114 | "resolved": "https://registry.npmjs.org/type-detect/-/type-detect-4.0.8.tgz", 4115 | "integrity": "sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==", 4116 | "dev": true 4117 | }, 4118 | "type-fest": { 4119 | "version": "0.21.3", 4120 | "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.21.3.tgz", 4121 | "integrity": "sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==", 4122 | "dev": true 4123 | }, 4124 | "type-is": { 4125 | "version": "1.6.18", 4126 | "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.18.tgz", 4127 | "integrity": "sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==", 4128 | "requires": { 4129 | "media-typer": "0.3.0", 4130 | "mime-types": "~2.1.24" 4131 | } 4132 | }, 4133 | "typescript": { 4134 | "version": "4.7.3", 4135 | "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.7.3.tgz", 4136 | "integrity": "sha512-WOkT3XYvrpXx4vMMqlD+8R8R37fZkjyLGlxavMc4iB8lrl8L0DeTcHbYgw/v0N/z9wAFsgBhcsF0ruoySS22mA==", 4137 | "dev": true 4138 | }, 4139 | "unpipe": { 4140 | "version": "1.0.0", 4141 | "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz", 4142 | "integrity": "sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==" 4143 | }, 4144 | "utils-merge": { 4145 | "version": "1.0.1", 4146 | "resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz", 4147 | "integrity": "sha512-pMZTvIkT1d+TFGvDOqodOclx0QWkkgi6Tdoa8gC8ffGAAqz9pzPTZWAybbsHHoED/ztMtkv/VoYTYyShUn81hA==" 4148 | }, 4149 | "v8-compile-cache-lib": { 4150 | "version": "3.0.1", 4151 | "resolved": "https://registry.npmjs.org/v8-compile-cache-lib/-/v8-compile-cache-lib-3.0.1.tgz", 4152 | "integrity": "sha512-wa7YjyUGfNZngI/vtK0UHAN+lgDCxBPCylVXGp0zu59Fz5aiGtNXaq3DhIov063MorB+VfufLh3JlF2KdTK3xg==", 4153 | "dev": true 4154 | }, 4155 | "v8-to-istanbul": { 4156 | "version": "9.0.0", 4157 | "resolved": "https://registry.npmjs.org/v8-to-istanbul/-/v8-to-istanbul-9.0.0.tgz", 4158 | "integrity": "sha512-HcvgY/xaRm7isYmyx+lFKA4uQmfUbN0J4M0nNItvzTvH/iQ9kW5j/t4YSR+Ge323/lrgDAWJoF46tzGQHwBHFw==", 4159 | "dev": true, 4160 | "requires": { 4161 | "@jridgewell/trace-mapping": "^0.3.7", 4162 | "@types/istanbul-lib-coverage": "^2.0.1", 4163 | "convert-source-map": "^1.6.0" 4164 | } 4165 | }, 4166 | "vary": { 4167 | "version": "1.1.2", 4168 | "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz", 4169 | "integrity": "sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==" 4170 | }, 4171 | "walker": { 4172 | "version": "1.0.8", 4173 | "resolved": "https://registry.npmjs.org/walker/-/walker-1.0.8.tgz", 4174 | "integrity": "sha512-ts/8E8l5b7kY0vlWLewOkDXMmPdLcVV4GmOQLyxuSswIJsweeFZtAsMF7k1Nszz+TYBQrlYRmzOnr398y1JemQ==", 4175 | "dev": true, 4176 | "requires": { 4177 | "makeerror": "1.0.12" 4178 | } 4179 | }, 4180 | "which": { 4181 | "version": "2.0.2", 4182 | "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", 4183 | "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", 4184 | "dev": true, 4185 | "requires": { 4186 | "isexe": "^2.0.0" 4187 | } 4188 | }, 4189 | "wrap-ansi": { 4190 | "version": "7.0.0", 4191 | "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", 4192 | "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", 4193 | "dev": true, 4194 | "requires": { 4195 | "ansi-styles": "^4.0.0", 4196 | "string-width": "^4.1.0", 4197 | "strip-ansi": "^6.0.0" 4198 | } 4199 | }, 4200 | "wrappy": { 4201 | "version": "1.0.2", 4202 | "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", 4203 | "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==", 4204 | "dev": true 4205 | }, 4206 | "write-file-atomic": { 4207 | "version": "4.0.1", 4208 | "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-4.0.1.tgz", 4209 | "integrity": "sha512-nSKUxgAbyioruk6hU87QzVbY279oYT6uiwgDoujth2ju4mJ+TZau7SQBhtbTmUyuNYTuXnSyRn66FV0+eCgcrQ==", 4210 | "dev": true, 4211 | "requires": { 4212 | "imurmurhash": "^0.1.4", 4213 | "signal-exit": "^3.0.7" 4214 | } 4215 | }, 4216 | "y18n": { 4217 | "version": "5.0.8", 4218 | "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", 4219 | "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==", 4220 | "dev": true 4221 | }, 4222 | "yallist": { 4223 | "version": "4.0.0", 4224 | "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", 4225 | "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", 4226 | "dev": true 4227 | }, 4228 | "yargs": { 4229 | "version": "17.5.1", 4230 | "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.5.1.tgz", 4231 | "integrity": "sha512-t6YAJcxDkNX7NFYiVtKvWUz8l+PaKTLiL63mJYWR2GnHq2gjEWISzsLp9wg3aY36dY1j+gfIEL3pIF+XlJJfbA==", 4232 | "dev": true, 4233 | "requires": { 4234 | "cliui": "^7.0.2", 4235 | "escalade": "^3.1.1", 4236 | "get-caller-file": "^2.0.5", 4237 | "require-directory": "^2.1.1", 4238 | "string-width": "^4.2.3", 4239 | "y18n": "^5.0.5", 4240 | "yargs-parser": "^21.0.0" 4241 | } 4242 | }, 4243 | "yargs-parser": { 4244 | "version": "21.0.1", 4245 | "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.0.1.tgz", 4246 | "integrity": "sha512-9BK1jFpLzJROCI5TzwZL/TU4gqjK5xiHV/RfWLOahrjAko/e4DJkRDZQXfvqAsiZzzYhgAzbgz6lg48jcm4GLg==", 4247 | "dev": true 4248 | }, 4249 | "yn": { 4250 | "version": "3.1.1", 4251 | "resolved": "https://registry.npmjs.org/yn/-/yn-3.1.1.tgz", 4252 | "integrity": "sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q==", 4253 | "dev": true 4254 | } 4255 | } 4256 | } 4257 | -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "typescript-clean-arch", 3 | "version": "1.0.0", 4 | "description": "", 5 | "main": "index.js", 6 | "scripts": { 7 | "test": "jest", 8 | "express": "ts-node src/infra/http/express/index.ts" 9 | }, 10 | "keywords": [], 11 | "author": "", 12 | "license": "ISC", 13 | "devDependencies": { 14 | "@swc/core": "^1.2.198", 15 | "@swc/jest": "^0.2.21", 16 | "@types/express": "^4.17.13", 17 | "@types/jest": "^28.1.1", 18 | "jest": "^28.1.1", 19 | "ts-node": "^10.8.1", 20 | "typescript": "^4.7.3" 21 | }, 22 | "dependencies": { 23 | "express": "^4.18.1" 24 | } 25 | } 26 | -------------------------------------------------------------------------------- /src/application/create-route.use-case.spec.ts: -------------------------------------------------------------------------------- 1 | import { RouteInMemoryRepository } from "../infra/db/route-in-memory.repository" 2 | import { CreateRouteUseCase } from "./create-route.use-case" 3 | 4 | describe('CreateRouteUseCase Tests', () => { 5 | 6 | it('should create a new route', async () => { 7 | const repository = new RouteInMemoryRepository(); 8 | const createUseCase = new CreateRouteUseCase(repository); 9 | const output = await createUseCase.execute({ 10 | title: 'my title', 11 | startPosition: {lat: 1, lng: 2}, 12 | endPosition: {lat: 3, lng: 4}, 13 | }); 14 | expect(repository.items).toHaveLength(1); 15 | expect(output).toStrictEqual({ 16 | id: repository.items[0].id, 17 | title: 'my title', 18 | startPosition: {lat: 1, lng: 2}, 19 | endPosition: {lat: 3, lng: 4}, 20 | points: [] 21 | }); 22 | }) 23 | }) -------------------------------------------------------------------------------- /src/application/create-route.use-case.ts: -------------------------------------------------------------------------------- 1 | import { LatLng, Route } from "../domain/route.entity"; 2 | import { RouteRepositoryInterface } from "../domain/route.repository"; 3 | //não services do Nest.js - casos de uso vão ser o service 4 | //services do Nest.js usam os casos 5 | export class CreateRouteUseCase { 6 | constructor(private routeRepo: RouteRepositoryInterface) {} 7 | 8 | async execute(input: CreateRouteInput): Promise { 9 | const route = new Route(input); 10 | await this.routeRepo.insert(route); 11 | return route.toJSON(); 12 | } 13 | } 14 | 15 | type CreateRouteInput = { 16 | title: string; 17 | startPosition: LatLng; 18 | endPosition: LatLng; 19 | points?: LatLng[]; 20 | }; 21 | 22 | type CreateRouteOutput = { 23 | id: string, 24 | title: string; 25 | startPosition: LatLng; 26 | endPosition: LatLng; 27 | points?: LatLng[]; 28 | }; 29 | -------------------------------------------------------------------------------- /src/application/list-all-routes.use-case.ts: -------------------------------------------------------------------------------- 1 | import { LatLng } from "../domain/route.entity"; 2 | import { RouteRepositoryInterface } from "../domain/route.repository"; 3 | 4 | export class ListAllRoutesUseCase { 5 | constructor(private routeRepo: RouteRepositoryInterface) {} 6 | 7 | async execute(): Promise { 8 | const routes = await this.routeRepo.findAll(); 9 | return routes.map(r => r.toJSON()); 10 | } 11 | } 12 | 13 | type CreateRouteOutput = { 14 | id: string, 15 | title: string; 16 | startPosition: LatLng; 17 | endPosition: LatLng; 18 | paths?: LatLng[]; 19 | }[]; 20 | -------------------------------------------------------------------------------- /src/domain/route.entity.spec.ts: -------------------------------------------------------------------------------- 1 | import { LatLng, Route, RouteProps } from "./route.entity"; 2 | 3 | describe("Route Tests", () => { 4 | test("constructor", () => { 5 | let routeProps: RouteProps = { 6 | title: "minha rota", 7 | startPosition: { lat: 0, lng: 1 }, 8 | endPosition: { lat: 2, lng: 3 }, 9 | }; 10 | let route = new Route(routeProps); 11 | expect(route.props).toStrictEqual({ 12 | ...routeProps, 13 | points: [], 14 | }); 15 | 16 | routeProps = { 17 | title: "minha rota", 18 | startPosition: { lat: 0, lng: 1 }, 19 | endPosition: { lat: 2, lng: 3 }, 20 | points: [{ lat: 10, lng: 11 }], 21 | }; 22 | route = new Route(routeProps); 23 | expect(route.id).toBeDefined(); 24 | expect(route.props).toStrictEqual({ 25 | ...routeProps, 26 | points: [{ lat: 10, lng: 11 }], 27 | }); 28 | }); 29 | 30 | test("updateTitle method", () => { 31 | const routeProps: RouteProps = { 32 | title: "minha rota", 33 | startPosition: { lat: 0, lng: 1 }, 34 | endPosition: { lat: 2, lng: 3 }, 35 | }; 36 | const route = new Route(routeProps); 37 | route.updateTitle("title updated"); 38 | expect(route.title).toBe("title updated"); 39 | }); 40 | 41 | test("updatePosition method", () => { 42 | const routeProps: RouteProps = { 43 | title: "minha rota", 44 | startPosition: { lat: 0, lng: 1 }, 45 | endPosition: { lat: 2, lng: 3 }, 46 | }; 47 | const route = new Route(routeProps); 48 | const startPosition: LatLng = { lat: 10, lng: 20 }; 49 | const endPosition: LatLng = { lat: 30, lng: 40 }; 50 | route.updatePosition(startPosition, endPosition); 51 | expect(route.startPosition).toBe(startPosition); 52 | expect(route.endPosition).toBe(endPosition); 53 | }); 54 | 55 | test("updatePoints method", () => { 56 | const routeProps: RouteProps = { 57 | title: "minha rota", 58 | startPosition: { lat: 0, lng: 1 }, 59 | endPosition: { lat: 2, lng: 3 }, 60 | }; 61 | const route = new Route(routeProps); 62 | const points: LatLng[] = [ 63 | { lat: 10, lng: 20 } 64 | ]; 65 | route.updatePoints(points); 66 | expect(route.points).toHaveLength(1); 67 | expect(route.points).toStrictEqual(points) 68 | }); 69 | }); 70 | -------------------------------------------------------------------------------- /src/domain/route.entity.ts: -------------------------------------------------------------------------------- 1 | import crypto from "crypto"; 2 | 3 | export type LatLng = { lat: number; lng: number }; 4 | 5 | //class, type, interface 6 | 7 | export type RouteProps = { 8 | title: string; 9 | startPosition: LatLng; 10 | endPosition: LatLng; 11 | points?: LatLng[]; 12 | }; 13 | 14 | export class Route { 15 | public readonly id: string; 16 | public props: Required; 17 | constructor(props: RouteProps, id?: string) { 18 | this.id = id || crypto.randomUUID(); 19 | this.props = { 20 | ...props, 21 | points: props.points || [], 22 | }; 23 | } 24 | 25 | updateTitle(title: string) { 26 | this.title = title; 27 | //mudar pra maiusculo 28 | //valor alguns caracteres 29 | //validacoes 30 | } 31 | 32 | updatePosition(startPosition: LatLng, endPosition: LatLng) { 33 | this.startPosition = startPosition; 34 | this.endPosition = endPosition; 35 | //mudar pra maiusculo 36 | //valor alguns caracteres 37 | //validacoes 38 | } 39 | 40 | updatePoints(points: LatLng[]) { 41 | this.points = points; 42 | //mudar pra maiusculo 43 | //valor alguns caracteres 44 | //validacoes 45 | } 46 | 47 | get title() { 48 | return this.props.title; 49 | } 50 | 51 | private set title(value: string) { 52 | this.props.title = value; 53 | } 54 | 55 | get startPosition() { 56 | return this.props.startPosition; 57 | } 58 | 59 | private set startPosition(value: LatLng) { 60 | this.props.startPosition = value; 61 | } 62 | 63 | get endPosition() { 64 | return this.props.endPosition; 65 | } 66 | 67 | private set endPosition(value: LatLng) { 68 | this.props.endPosition = value; 69 | } 70 | 71 | get points() { 72 | return this.props.points; 73 | } 74 | 75 | private set points(value: LatLng[]) { 76 | this.props.points = value; 77 | } 78 | 79 | toJSON() { 80 | return { 81 | id: this.id, 82 | ...this.props, 83 | }; 84 | } 85 | } 86 | 87 | 88 | //anemia - ORM, JPA, Hibernate, Entity Framework, Doctrine, Eloquent, Django ORM -------------------------------------------------------------------------------- /src/domain/route.repository.ts: -------------------------------------------------------------------------------- 1 | import { Route } from "./route.entity"; 2 | 3 | 4 | export interface RouteRepositoryInterface{ 5 | insert(route: Route): Promise; 6 | findAll(): Promise 7 | } -------------------------------------------------------------------------------- /src/infra/db/route-in-memory.repository.spec.ts: -------------------------------------------------------------------------------- 1 | import { Route, RouteProps } from "../../domain/route.entity"; 2 | import { RouteInMemoryRepository } from "./route-in-memory.repository"; 3 | 4 | describe("RouteInMemoryRepository Test", () => { 5 | it("should insert a new route", async () => { 6 | const repository = new RouteInMemoryRepository(); 7 | const routeProps: RouteProps = { 8 | title: "minha rota", 9 | startPosition: { lat: 0, lng: 1 }, 10 | endPosition: { lat: 2, lng: 3 }, 11 | }; 12 | const route = new Route(routeProps); 13 | await repository.insert(route); 14 | expect(repository.items).toHaveLength(1); 15 | expect(repository.items).toStrictEqual([route]); 16 | }); 17 | }); 18 | -------------------------------------------------------------------------------- /src/infra/db/route-in-memory.repository.ts: -------------------------------------------------------------------------------- 1 | import { Route } from "../../domain/route.entity"; 2 | import { RouteRepositoryInterface } from "../../domain/route.repository"; 3 | 4 | export class RouteInMemoryRepository implements RouteRepositoryInterface { 5 | items: Route[] = []; 6 | async insert(route: Route): Promise { 7 | this.items.push(route); 8 | } 9 | 10 | async findAll(): Promise { 11 | return this.items; 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /src/infra/http/express/index.ts: -------------------------------------------------------------------------------- 1 | import express, { Express, Request, Response } from "express"; 2 | import { CreateRouteUseCase } from "../../../application/create-route.use-case"; 3 | import { ListAllRoutesUseCase } from "../../../application/list-all-routes.use-case"; 4 | import { RouteInMemoryRepository } from "../../db/route-in-memory.repository"; 5 | 6 | const app: Express = express(); 7 | app.use(express.json()); 8 | const port = process.env.PORT || 3000; 9 | 10 | const routeRepo = new RouteInMemoryRepository(); 11 | 12 | app.get('/routes', async (_req: Request, res: Response) => { 13 | const listAllUseCase = new ListAllRoutesUseCase(routeRepo); 14 | const output = await listAllUseCase.execute(); 15 | res.json(output); 16 | }) 17 | 18 | app.post("/routes", async (req: Request, res: Response) => { 19 | const createUseCase = new CreateRouteUseCase(routeRepo); 20 | const output = await createUseCase.execute(req.body); 21 | res.status(201).json(output); 22 | }); 23 | 24 | app.listen(port, () => { 25 | console.log(`Server rodando na porta ${port}`); 26 | }); 27 | 28 | 29 | -------------------------------------------------------------------------------- /tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "compilerOptions": { 3 | /* Visit https://aka.ms/tsconfig to read more about this file */ 4 | 5 | /* Projects */ 6 | // "incremental": true, /* Save .tsbuildinfo files to allow for incremental compilation of projects. */ 7 | // "composite": true, /* Enable constraints that allow a TypeScript project to be used with project references. */ 8 | // "tsBuildInfoFile": "./.tsbuildinfo", /* Specify the path to .tsbuildinfo incremental compilation file. */ 9 | // "disableSourceOfProjectReferenceRedirect": true, /* Disable preferring source files instead of declaration files when referencing composite projects. */ 10 | // "disableSolutionSearching": true, /* Opt a project out of multi-project reference checking when editing. */ 11 | // "disableReferencedProjectLoad": true, /* Reduce the number of projects loaded automatically by TypeScript. */ 12 | 13 | /* Language and Environment */ 14 | "target": "es2016", /* Set the JavaScript language version for emitted JavaScript and include compatible library declarations. */ 15 | // "lib": [], /* Specify a set of bundled library declaration files that describe the target runtime environment. */ 16 | // "jsx": "preserve", /* Specify what JSX code is generated. */ 17 | // "experimentalDecorators": true, /* Enable experimental support for TC39 stage 2 draft decorators. */ 18 | // "emitDecoratorMetadata": true, /* Emit design-type metadata for decorated declarations in source files. */ 19 | // "jsxFactory": "", /* Specify the JSX factory function used when targeting React JSX emit, e.g. 'React.createElement' or 'h'. */ 20 | // "jsxFragmentFactory": "", /* Specify the JSX Fragment reference used for fragments when targeting React JSX emit e.g. 'React.Fragment' or 'Fragment'. */ 21 | // "jsxImportSource": "", /* Specify module specifier used to import the JSX factory functions when using 'jsx: react-jsx*'. */ 22 | // "reactNamespace": "", /* Specify the object invoked for 'createElement'. This only applies when targeting 'react' JSX emit. */ 23 | // "noLib": true, /* Disable including any library files, including the default lib.d.ts. */ 24 | // "useDefineForClassFields": true, /* Emit ECMAScript-standard-compliant class fields. */ 25 | // "moduleDetection": "auto", /* Control what method is used to detect module-format JS files. */ 26 | 27 | /* Modules */ 28 | "module": "commonjs", /* Specify what module code is generated. */ 29 | // "rootDir": "./", /* Specify the root folder within your source files. */ 30 | // "moduleResolution": "node", /* Specify how TypeScript looks up a file from a given module specifier. */ 31 | // "baseUrl": "./", /* Specify the base directory to resolve non-relative module names. */ 32 | // "paths": {}, /* Specify a set of entries that re-map imports to additional lookup locations. */ 33 | // "rootDirs": [], /* Allow multiple folders to be treated as one when resolving modules. */ 34 | // "typeRoots": [], /* Specify multiple folders that act like './node_modules/@types'. */ 35 | // "types": [], /* Specify type package names to be included without being referenced in a source file. */ 36 | // "allowUmdGlobalAccess": true, /* Allow accessing UMD globals from modules. */ 37 | // "moduleSuffixes": [], /* List of file name suffixes to search when resolving a module. */ 38 | // "resolveJsonModule": true, /* Enable importing .json files. */ 39 | // "noResolve": true, /* Disallow 'import's, 'require's or ''s from expanding the number of files TypeScript should add to a project. */ 40 | 41 | /* JavaScript Support */ 42 | // "allowJs": true, /* Allow JavaScript files to be a part of your program. Use the 'checkJS' option to get errors from these files. */ 43 | // "checkJs": true, /* Enable error reporting in type-checked JavaScript files. */ 44 | // "maxNodeModuleJsDepth": 1, /* Specify the maximum folder depth used for checking JavaScript files from 'node_modules'. Only applicable with 'allowJs'. */ 45 | 46 | /* Emit */ 47 | // "declaration": true, /* Generate .d.ts files from TypeScript and JavaScript files in your project. */ 48 | // "declarationMap": true, /* Create sourcemaps for d.ts files. */ 49 | // "emitDeclarationOnly": true, /* Only output d.ts files and not JavaScript files. */ 50 | // "sourceMap": true, /* Create source map files for emitted JavaScript files. */ 51 | // "outFile": "./", /* Specify a file that bundles all outputs into one JavaScript file. If 'declaration' is true, also designates a file that bundles all .d.ts output. */ 52 | // "outDir": "./", /* Specify an output folder for all emitted files. */ 53 | // "removeComments": true, /* Disable emitting comments. */ 54 | // "noEmit": true, /* Disable emitting files from a compilation. */ 55 | // "importHelpers": true, /* Allow importing helper functions from tslib once per project, instead of including them per-file. */ 56 | // "importsNotUsedAsValues": "remove", /* Specify emit/checking behavior for imports that are only used for types. */ 57 | // "downlevelIteration": true, /* Emit more compliant, but verbose and less performant JavaScript for iteration. */ 58 | // "sourceRoot": "", /* Specify the root path for debuggers to find the reference source code. */ 59 | // "mapRoot": "", /* Specify the location where debugger should locate map files instead of generated locations. */ 60 | // "inlineSourceMap": true, /* Include sourcemap files inside the emitted JavaScript. */ 61 | // "inlineSources": true, /* Include source code in the sourcemaps inside the emitted JavaScript. */ 62 | // "emitBOM": true, /* Emit a UTF-8 Byte Order Mark (BOM) in the beginning of output files. */ 63 | // "newLine": "crlf", /* Set the newline character for emitting files. */ 64 | // "stripInternal": true, /* Disable emitting declarations that have '@internal' in their JSDoc comments. */ 65 | // "noEmitHelpers": true, /* Disable generating custom helper functions like '__extends' in compiled output. */ 66 | // "noEmitOnError": true, /* Disable emitting files if any type checking errors are reported. */ 67 | // "preserveConstEnums": true, /* Disable erasing 'const enum' declarations in generated code. */ 68 | // "declarationDir": "./", /* Specify the output directory for generated declaration files. */ 69 | // "preserveValueImports": true, /* Preserve unused imported values in the JavaScript output that would otherwise be removed. */ 70 | 71 | /* Interop Constraints */ 72 | // "isolatedModules": true, /* Ensure that each file can be safely transpiled without relying on other imports. */ 73 | // "allowSyntheticDefaultImports": true, /* Allow 'import x from y' when a module doesn't have a default export. */ 74 | "esModuleInterop": true, /* Emit additional JavaScript to ease support for importing CommonJS modules. This enables 'allowSyntheticDefaultImports' for type compatibility. */ 75 | // "preserveSymlinks": true, /* Disable resolving symlinks to their realpath. This correlates to the same flag in node. */ 76 | "forceConsistentCasingInFileNames": true, /* Ensure that casing is correct in imports. */ 77 | 78 | /* Type Checking */ 79 | "strict": true, /* Enable all strict type-checking options. */ 80 | // "noImplicitAny": true, /* Enable error reporting for expressions and declarations with an implied 'any' type. */ 81 | // "strictNullChecks": true, /* When type checking, take into account 'null' and 'undefined'. */ 82 | // "strictFunctionTypes": true, /* When assigning functions, check to ensure parameters and the return values are subtype-compatible. */ 83 | // "strictBindCallApply": true, /* Check that the arguments for 'bind', 'call', and 'apply' methods match the original function. */ 84 | // "strictPropertyInitialization": true, /* Check for class properties that are declared but not set in the constructor. */ 85 | // "noImplicitThis": true, /* Enable error reporting when 'this' is given the type 'any'. */ 86 | // "useUnknownInCatchVariables": true, /* Default catch clause variables as 'unknown' instead of 'any'. */ 87 | // "alwaysStrict": true, /* Ensure 'use strict' is always emitted. */ 88 | // "noUnusedLocals": true, /* Enable error reporting when local variables aren't read. */ 89 | // "noUnusedParameters": true, /* Raise an error when a function parameter isn't read. */ 90 | // "exactOptionalPropertyTypes": true, /* Interpret optional property types as written, rather than adding 'undefined'. */ 91 | // "noImplicitReturns": true, /* Enable error reporting for codepaths that do not explicitly return in a function. */ 92 | // "noFallthroughCasesInSwitch": true, /* Enable error reporting for fallthrough cases in switch statements. */ 93 | // "noUncheckedIndexedAccess": true, /* Add 'undefined' to a type when accessed using an index. */ 94 | // "noImplicitOverride": true, /* Ensure overriding members in derived classes are marked with an override modifier. */ 95 | // "noPropertyAccessFromIndexSignature": true, /* Enforces using indexed accessors for keys declared using an indexed type. */ 96 | // "allowUnusedLabels": true, /* Disable error reporting for unused labels. */ 97 | // "allowUnreachableCode": true, /* Disable error reporting for unreachable code. */ 98 | 99 | /* Completeness */ 100 | // "skipDefaultLibCheck": true, /* Skip type checking .d.ts files that are included with TypeScript. */ 101 | "skipLibCheck": true /* Skip type checking all .d.ts files. */ 102 | } 103 | } 104 | --------------------------------------------------------------------------------