├── .github ├── banner.jpg ├── feather.svg └── workflows │ ├── node.js.yml │ └── npm-publish.yml ├── .gitignore ├── .npmignore ├── LICENSE.md ├── README.md ├── jest.config.js ├── package.json ├── pnpm-lock.yaml ├── src ├── index.ts ├── provider.ts └── utils │ ├── generateFilter.ts │ ├── generateSort.ts │ ├── index.ts │ └── mapOperator.ts ├── test ├── jest.setup.ts ├── methods │ ├── create.spec.ts │ ├── delete.spec.ts │ ├── getList.spec.ts │ ├── getMany.spec.ts │ ├── getOne.spec.ts │ └── update.spec.ts ├── test.db ├── test.sql └── utils │ ├── generateFilter.spec.ts │ ├── generateSort.spec.ts │ └── mapOperator.spec.ts ├── tsconfig.declarations.json ├── tsconfig.json └── tsup.config.ts /.github/banner.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mateusabelli/refine-sqlite/2c61b1d767841b7f4b2e8f4844e270951173ed95/.github/banner.jpg -------------------------------------------------------------------------------- /.github/feather.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /.github/workflows/node.js.yml: -------------------------------------------------------------------------------- 1 | # This workflow will do a clean installation of node dependencies, cache/restore them, build the source code and run tests across different versions of node 2 | # For more information see: https://docs.github.com/en/actions/automating-builds-and-tests/building-and-testing-nodejs 3 | 4 | name: Node.js CI 5 | 6 | on: 7 | push: 8 | branches: [ "main" ] 9 | pull_request: 10 | branches: [ "main" ] 11 | 12 | jobs: 13 | build: 14 | runs-on: ubuntu-latest 15 | 16 | strategy: 17 | matrix: 18 | node-version: [18.x, 20.x] 19 | 20 | steps: 21 | - uses: actions/checkout@v4 22 | - name: Use Node.js ${{ matrix.node-version }} 23 | uses: actions/setup-node@v4 24 | with: 25 | node-version: ${{ matrix.node-version }} 26 | - name: Setup PNPM ${{ matrix.pnpm-version }} 27 | uses: pnpm/action-setup@v4.0.0 28 | with: 29 | version: 9.x.x 30 | - run: pnpm install --frozen-lockfile 31 | - run: pnpm build 32 | - run: pnpm test 33 | -------------------------------------------------------------------------------- /.github/workflows/npm-publish.yml: -------------------------------------------------------------------------------- 1 | # This workflow will run tests using node and then publish a package to GitHub Packages when a release is created 2 | # For more information see: https://docs.github.com/en/actions/publishing-packages/publishing-nodejs-packages 3 | 4 | name: Node.js Package 5 | 6 | on: 7 | release: 8 | types: [created] 9 | 10 | jobs: 11 | build: 12 | runs-on: ubuntu-latest 13 | steps: 14 | - uses: actions/checkout@v4 15 | - uses: actions/setup-node@v4 16 | with: 17 | node-version: 20 18 | - uses: pnpm/action-setup@v4.0.0 19 | with: 20 | version: 9.x.x 21 | - run: pnpm install --frozen-lockfile 22 | - run: pnpm build 23 | - run: pnpm test 24 | 25 | publish-npm: 26 | needs: build 27 | runs-on: ubuntu-latest 28 | steps: 29 | - uses: actions/checkout@v4 30 | - uses: actions/setup-node@v4 31 | with: 32 | node-version: 20 33 | registry-url: https://registry.npmjs.org/ 34 | - uses: pnpm/action-setup@v4.0.0 35 | with: 36 | version: 9.x.x 37 | - run: pnpm install --frozen-lockfile 38 | - run: npm publish 39 | env: 40 | NODE_AUTH_TOKEN: ${{secrets.npm_token}} 41 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | # WebStorm 2 | .idea 3 | 4 | # Logs 5 | logs 6 | *.log 7 | npm-debug.log* 8 | yarn-debug.log* 9 | yarn-error.log* 10 | lerna-debug.log* 11 | .pnpm-debug.log* 12 | 13 | # Diagnostic reports (https://nodejs.org/api/report.html) 14 | report.[0-9]*.[0-9]*.[0-9]*.[0-9]*.json 15 | 16 | # Runtime data 17 | pids 18 | *.pid 19 | *.seed 20 | *.pid.lock 21 | 22 | # Directory for instrumented libs generated by jscoverage/JSCover 23 | lib-cov 24 | 25 | # Coverage directory used by tools like istanbul 26 | coverage 27 | *.lcov 28 | 29 | # nyc test coverage 30 | .nyc_output 31 | 32 | # Grunt intermediate storage (https://gruntjs.com/creating-plugins#storing-task-files) 33 | .grunt 34 | 35 | # Bower dependency directory (https://bower.io/) 36 | bower_components 37 | 38 | # node-waf configuration 39 | .lock-wscript 40 | 41 | # Compiled binary addons (https://nodejs.org/api/addons.html) 42 | build/Release 43 | 44 | # Dependency directories 45 | node_modules/ 46 | jspm_packages/ 47 | 48 | # Snowpack dependency directory (https://snowpack.dev/) 49 | web_modules/ 50 | 51 | # TypeScript cache 52 | *.tsbuildinfo 53 | 54 | # Optional npm cache directory 55 | .npm 56 | 57 | # Optional eslint cache 58 | .eslintcache 59 | 60 | # Optional stylelint cache 61 | .stylelintcache 62 | 63 | # Microbundle cache 64 | .rpt2_cache/ 65 | .rts2_cache_cjs/ 66 | .rts2_cache_es/ 67 | .rts2_cache_umd/ 68 | 69 | # Optional REPL history 70 | .node_repl_history 71 | 72 | # Output of 'npm pack' 73 | *.tgz 74 | 75 | # Yarn Integrity file 76 | .yarn-integrity 77 | 78 | # dotenv environment variable files 79 | .env 80 | .env.development.local 81 | .env.test.local 82 | .env.production.local 83 | .env.local 84 | 85 | # parcel-bundler cache (https://parceljs.org/) 86 | .cache 87 | .parcel-cache 88 | 89 | # Next.js build output 90 | .next 91 | out 92 | 93 | # Nuxt.js build / generate output 94 | .nuxt 95 | dist 96 | 97 | # Gatsby files 98 | .cache/ 99 | # Comment in the public line in if your project uses Gatsby and not Next.js 100 | # https://nextjs.org/blog/next-9-1#public-directory-support 101 | # public 102 | 103 | # vuepress build output 104 | .vuepress/dist 105 | 106 | # vuepress v2.x temp and cache directory 107 | .temp 108 | .cache 109 | 110 | # Docusaurus cache and generated files 111 | .docusaurus 112 | 113 | # Serverless directories 114 | .serverless/ 115 | 116 | # FuseBox cache 117 | .fusebox/ 118 | 119 | # DynamoDB Local files 120 | .dynamodb/ 121 | 122 | # TernJS port file 123 | .tern-port 124 | 125 | # Stores VSCode versions used for testing VSCode extensions 126 | .vscode-test 127 | 128 | # yarn v2 129 | .yarn/cache 130 | .yarn/unplugged 131 | .yarn/build-state.yml 132 | .yarn/install-state.gz 133 | .pnp.* -------------------------------------------------------------------------------- /.npmignore: -------------------------------------------------------------------------------- 1 | node_modules 2 | .DS_Store 3 | test 4 | jest.config.js 5 | **/*.spec.ts 6 | **/*.spec.tsx 7 | **/*.test.ts 8 | **/*.test.tsx 9 | tsup.config.ts 10 | tsconfig.test.json 11 | tsconfig.declarations.json -------------------------------------------------------------------------------- /LICENSE.md: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2023 - Present, Mateus Abelli 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 |

2 | 9 | refine-sqlite 10 |

11 | 12 |

Connector for backends created with SQLite.

13 | 14 |
15 | 16 | [![npm version](https://badge.fury.io/js/refine-sqlite.svg)](https://www.npmjs.com/package/refine-sqlite) 17 | [![npm](https://img.shields.io/npm/dt/refine-sqlite.svg)](https://www.npmjs.com/package/refine-sqlite) 18 | [![GitHub license](https://img.shields.io/badge/license-MIT-blue.svg)](https://github.com/mateusabelli/refine-sqlite/blob/main/LICENSE.md) 19 | [![Node.js CI](https://github.com/mateusabelli/refine-sqlite/actions/workflows/node.js.yml/badge.svg?branch=main)](https://github.com/mateusabelli/refine-sqlite/actions/workflows/node.js.yml) 20 | 21 |
22 | 23 |
24 | 25 | ## Getting Started 26 | 27 | With **refine-sqlite** you can quickly start creating your app as fast as possible by leveraging the easy-to-use methods powered by [refine](https://refine.dev) to interact with your SQLite database. 28 | 29 | ## Features 30 | 31 | - **Well tested** - All the methods are tested using [Jest](https://jestjs.io/). 32 | - **Fully featured** - All CRUD operations are supported. 33 | - **Synchronous** - Everything works synchronously using [better-sqlite3](https://www.npmjs.com/package/better-sqlite3). 34 | - **Type safe** - Written in TypeScript with strict mode enabled. 35 | 36 | ## Installation 37 | 38 | ```bash 39 | npm install refine-sqlite 40 | ``` 41 | 42 | ## Usage 43 | 44 | 1. Create a database file. You can use the [DB Browser for SQLite](https://sqlitebrowser.org/) to easily create the tables and insert some data, or you can also use the [sqlite3](https://www.sqlite.org/cli.html) command line shell.
45 | 2. Import the `dataProvider` function in your file and pass the database file path as a string parameter.
46 | 3. Use the methods to create, update, delete, and get data from your database, filtering and sorting as you wish. 47 | 48 | > **Note** 49 | > `resource` is the name of the table in the database. 50 | 51 | ```ts 52 | import { dataProvider } from "refine-sqlite"; 53 | 54 | const response = dataProvider("database.db") 55 | .getList({ 56 | resource: "posts", 57 | filters: [ 58 | { 59 | field: "category_id", 60 | operator: "eq", 61 | value: ["2"], 62 | }, 63 | ], 64 | sorters: [ 65 | { 66 | field: "title", 67 | order: "asc", 68 | }, 69 | ], 70 | }); 71 | 72 | console.log(response) 73 | 74 | // { 75 | // data: [ 76 | // { id: 6, title: 'Dolorem unde et officiis.', category_id: 2 }, 77 | // { id: 1, title: 'Soluta et est est.', category_id: 2 } 78 | // ], 79 | // total: 2 80 | // } 81 | ``` 82 | 83 | ## Documentation 84 | 85 | - [Methods](https://github.com/mateusabelli/refine-sqlite/wiki/Methods) 86 | - [Filters](https://github.com/mateusabelli/refine-sqlite/wiki/Filters) 87 | - [Sorters](https://github.com/mateusabelli/refine-sqlite/wiki/Sorters) 88 | 89 | ## Development 90 | 91 | Clone the repository 92 | 93 | ```bash 94 | git clone https://github.com/mateusabelli/refine-sqlite.git 95 | ``` 96 | 97 | Install the dependencies 98 | 99 | ```bash 100 | cd refine-sqlite 101 | pnpm install 102 | ``` 103 | 104 | Build and test 105 | 106 | ```bash 107 | pnpm run build 108 | pnpm run test 109 | ``` 110 | 111 | > **Important** 112 | > Before the tests run, the database file `test.db` is deleted and recreated. 113 | 114 | ## Contributing 115 | 116 | All contributions are welcome and appreciated! Please create an [Issue](https://github.com/mateusabelli/refine-sqlite/issues) or [Pull Request](https://github.com/mateusabelli/refine-sqlite/pulls) if you encounter any problems or have suggestions for improvements. 117 | 118 | If you want to say **thank you** or/and support active development of **refine-sqlite** 119 | 120 | - Add a [GitHub Star](https://github.com/mateusabelli/refine-sqlite) to the project. 121 | - Tweet about the project [on Twitter / X](https://twitter.com/intent/tweet?text=With%20refine-sqlite%20you%20can%20quickly%20start%20developing%20your%20next%20refine%20project%20with%20a%20lightweight%20local%20database.%20Check%20it%20out!%0A%0A%20https%3A//github.com/mateusabelli/refine-sqlite%20). 122 | - Write interesting articles about the project on [Dev.to](https://dev.to/), [Medium](https://medium.com/) or personal blog. 123 | - Consider becoming a sponsor on [GitHub](https://github.com/sponsors/mateusabelli). 124 | 125 | 126 | ## Special Thanks 127 | 128 | 129 | 135 |
130 | 131 | 132 |

refine

133 |
134 |
136 | 137 | I'd like to thank [refine](https://github.com/refinedev), my first GitHub sponsor :heart:
138 | For believing and supporting my projects! 139 | 140 | ## License 141 | 142 | **refine-sqlite** is free and open-source software licensed under the [MIT](./LICENSE.md) License.
The feather icon is from [Phosphor Icons](https://phosphoricons.com/) licensed under the MIT License. 143 | -------------------------------------------------------------------------------- /jest.config.js: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | preset: "ts-jest", 3 | rootDir: "./", 4 | displayName: "refine-sqlite", 5 | setupFilesAfterEnv: ["/test/jest.setup.ts"], 6 | testEnvironment: "node", 7 | }; -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "refine-sqlite", 3 | "description": "SQLite data provider for the refine framework", 4 | "version": "1.0.0", 5 | "license": "MIT", 6 | "main": "dist/index.js", 7 | "typings": "dist/index.d.ts", 8 | "author": "Mateus Abelli", 9 | "keywords": [ 10 | "refine", 11 | "data provider", 12 | "sqlite" 13 | ], 14 | "private": false, 15 | "files": [ 16 | "dist", 17 | "src" 18 | ], 19 | "repository": { 20 | "type": "git", 21 | "url": "git+https://github.com/mateusabelli/refine-sqlite.git" 22 | }, 23 | "funding": [ 24 | { 25 | "type": "github", 26 | "url": "https://github.com/sponsors/mateusabelli" 27 | } 28 | ], 29 | "engines": { 30 | "node": ">=16" 31 | }, 32 | "module": "dist/esm/index.js", 33 | "scripts": { 34 | "start": "tsup --watch --format esm,cjs,iife --legacy-output", 35 | "build": "tsup --format esm,cjs,iife --minify --legacy-output", 36 | "test": "jest --passWithNoTests --runInBand", 37 | "prepare": "npm run build" 38 | }, 39 | "dependencies": { 40 | "better-sqlite3": "^11.0.0" 41 | }, 42 | "devDependencies": { 43 | "@esbuild-plugins/node-resolve": "^0.2.2", 44 | "@refinedev/core": "^4.51.0", 45 | "@types/better-sqlite3": "^7.6.10", 46 | "@types/jest": "^29.5.12", 47 | "@types/node": "^20.14.8", 48 | "jest": "^29.7.0", 49 | "ts-jest": "^29.1.5", 50 | "tslib": "^2.6.3", 51 | "tsup": "^8.1.0", 52 | "typescript": "^5.5.2" 53 | } 54 | } 55 | -------------------------------------------------------------------------------- /pnpm-lock.yaml: -------------------------------------------------------------------------------- 1 | lockfileVersion: '9.0' 2 | 3 | settings: 4 | autoInstallPeers: true 5 | excludeLinksFromLockfile: false 6 | 7 | importers: 8 | 9 | .: 10 | dependencies: 11 | better-sqlite3: 12 | specifier: ^11.0.0 13 | version: 11.0.0 14 | devDependencies: 15 | '@esbuild-plugins/node-resolve': 16 | specifier: ^0.2.2 17 | version: 0.2.2(esbuild@0.21.5) 18 | '@refinedev/core': 19 | specifier: ^4.51.0 20 | version: 4.51.0(@tanstack/react-query@5.45.1(react@18.3.1))(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) 21 | '@types/better-sqlite3': 22 | specifier: ^7.6.10 23 | version: 7.6.10 24 | '@types/jest': 25 | specifier: ^29.5.12 26 | version: 29.5.12 27 | '@types/node': 28 | specifier: ^20.14.8 29 | version: 20.14.8 30 | jest: 31 | specifier: ^29.7.0 32 | version: 29.7.0(@types/node@20.14.8) 33 | ts-jest: 34 | specifier: ^29.1.5 35 | version: 29.1.5(@babel/core@7.24.7)(@jest/transform@29.7.0)(@jest/types@29.6.3)(babel-jest@29.7.0(@babel/core@7.24.7))(esbuild@0.21.5)(jest@29.7.0(@types/node@20.14.8))(typescript@5.5.2) 36 | tslib: 37 | specifier: ^2.6.3 38 | version: 2.6.3 39 | tsup: 40 | specifier: ^8.1.0 41 | version: 8.1.0(typescript@5.5.2) 42 | typescript: 43 | specifier: ^5.5.2 44 | version: 5.5.2 45 | 46 | packages: 47 | 48 | '@ampproject/remapping@2.3.0': 49 | resolution: {integrity: sha512-30iZtAPgz+LTIYoeivqYo853f02jBYSd5uGnGpkFV0M3xOt9aN73erkgYAmZU43x4VfqcnLxW9Kpg3R5LC4YYw==} 50 | engines: {node: '>=6.0.0'} 51 | 52 | '@babel/code-frame@7.24.7': 53 | resolution: {integrity: sha512-BcYH1CVJBO9tvyIZ2jVeXgSIMvGZ2FDRvDdOIVQyuklNKSsx+eppDEBq/g47Ayw+RqNFE+URvOShmf+f/qwAlA==} 54 | engines: {node: '>=6.9.0'} 55 | 56 | '@babel/compat-data@7.24.7': 57 | resolution: {integrity: sha512-qJzAIcv03PyaWqxRgO4mSU3lihncDT296vnyuE2O8uA4w3UHWI4S3hgeZd1L8W1Bft40w9JxJ2b412iDUFFRhw==} 58 | engines: {node: '>=6.9.0'} 59 | 60 | '@babel/core@7.24.7': 61 | resolution: {integrity: sha512-nykK+LEK86ahTkX/3TgauT0ikKoNCfKHEaZYTUVupJdTLzGNvrblu4u6fa7DhZONAltdf8e662t/abY8idrd/g==} 62 | engines: {node: '>=6.9.0'} 63 | 64 | '@babel/generator@7.24.7': 65 | resolution: {integrity: sha512-oipXieGC3i45Y1A41t4tAqpnEZWgB/lC6Ehh6+rOviR5XWpTtMmLN+fGjz9vOiNRt0p6RtO6DtD0pdU3vpqdSA==} 66 | engines: {node: '>=6.9.0'} 67 | 68 | '@babel/helper-compilation-targets@7.24.7': 69 | resolution: {integrity: sha512-ctSdRHBi20qWOfy27RUb4Fhp07KSJ3sXcuSvTrXrc4aG8NSYDo1ici3Vhg9bg69y5bj0Mr1lh0aeEgTvc12rMg==} 70 | engines: {node: '>=6.9.0'} 71 | 72 | '@babel/helper-environment-visitor@7.24.7': 73 | resolution: {integrity: sha512-DoiN84+4Gnd0ncbBOM9AZENV4a5ZiL39HYMyZJGZ/AZEykHYdJw0wW3kdcsh9/Kn+BRXHLkkklZ51ecPKmI1CQ==} 74 | engines: {node: '>=6.9.0'} 75 | 76 | '@babel/helper-function-name@7.24.7': 77 | resolution: {integrity: sha512-FyoJTsj/PEUWu1/TYRiXTIHc8lbw+TDYkZuoE43opPS5TrI7MyONBE1oNvfguEXAD9yhQRrVBnXdXzSLQl9XnA==} 78 | engines: {node: '>=6.9.0'} 79 | 80 | '@babel/helper-hoist-variables@7.24.7': 81 | resolution: {integrity: sha512-MJJwhkoGy5c4ehfoRyrJ/owKeMl19U54h27YYftT0o2teQ3FJ3nQUf/I3LlJsX4l3qlw7WRXUmiyajvHXoTubQ==} 82 | engines: {node: '>=6.9.0'} 83 | 84 | '@babel/helper-module-imports@7.24.7': 85 | resolution: {integrity: sha512-8AyH3C+74cgCVVXow/myrynrAGv+nTVg5vKu2nZph9x7RcRwzmh0VFallJuFTZ9mx6u4eSdXZfcOzSqTUm0HCA==} 86 | engines: {node: '>=6.9.0'} 87 | 88 | '@babel/helper-module-transforms@7.24.7': 89 | resolution: {integrity: sha512-1fuJEwIrp+97rM4RWdO+qrRsZlAeL1lQJoPqtCYWv0NL115XM93hIH4CSRln2w52SqvmY5hqdtauB6QFCDiZNQ==} 90 | engines: {node: '>=6.9.0'} 91 | peerDependencies: 92 | '@babel/core': ^7.0.0 93 | 94 | '@babel/helper-plugin-utils@7.24.7': 95 | resolution: {integrity: sha512-Rq76wjt7yz9AAc1KnlRKNAi/dMSVWgDRx43FHoJEbcYU6xOWaE2dVPwcdTukJrjxS65GITyfbvEYHvkirZ6uEg==} 96 | engines: {node: '>=6.9.0'} 97 | 98 | '@babel/helper-simple-access@7.24.7': 99 | resolution: {integrity: sha512-zBAIvbCMh5Ts+b86r/CjU+4XGYIs+R1j951gxI3KmmxBMhCg4oQMsv6ZXQ64XOm/cvzfU1FmoCyt6+owc5QMYg==} 100 | engines: {node: '>=6.9.0'} 101 | 102 | '@babel/helper-split-export-declaration@7.24.7': 103 | resolution: {integrity: sha512-oy5V7pD+UvfkEATUKvIjvIAH/xCzfsFVw7ygW2SI6NClZzquT+mwdTfgfdbUiceh6iQO0CHtCPsyze/MZ2YbAA==} 104 | engines: {node: '>=6.9.0'} 105 | 106 | '@babel/helper-string-parser@7.24.7': 107 | resolution: {integrity: sha512-7MbVt6xrwFQbunH2DNQsAP5sTGxfqQtErvBIvIMi6EQnbgUOuVYanvREcmFrOPhoXBrTtjhhP+lW+o5UfK+tDg==} 108 | engines: {node: '>=6.9.0'} 109 | 110 | '@babel/helper-validator-identifier@7.24.7': 111 | resolution: {integrity: sha512-rR+PBcQ1SMQDDyF6X0wxtG8QyLCgUB0eRAGguqRLfkCA87l7yAP7ehq8SNj96OOGTO8OBV70KhuFYcIkHXOg0w==} 112 | engines: {node: '>=6.9.0'} 113 | 114 | '@babel/helper-validator-option@7.24.7': 115 | resolution: {integrity: sha512-yy1/KvjhV/ZCL+SM7hBrvnZJ3ZuT9OuZgIJAGpPEToANvc3iM6iDvBnRjtElWibHU6n8/LPR/EjX9EtIEYO3pw==} 116 | engines: {node: '>=6.9.0'} 117 | 118 | '@babel/helpers@7.24.7': 119 | resolution: {integrity: sha512-NlmJJtvcw72yRJRcnCmGvSi+3jDEg8qFu3z0AFoymmzLx5ERVWyzd9kVXr7Th9/8yIJi2Zc6av4Tqz3wFs8QWg==} 120 | engines: {node: '>=6.9.0'} 121 | 122 | '@babel/highlight@7.24.7': 123 | resolution: {integrity: sha512-EStJpq4OuY8xYfhGVXngigBJRWxftKX9ksiGDnmlY3o7B/V7KIAc9X4oiK87uPJSc/vs5L869bem5fhZa8caZw==} 124 | engines: {node: '>=6.9.0'} 125 | 126 | '@babel/parser@7.24.7': 127 | resolution: {integrity: sha512-9uUYRm6OqQrCqQdG1iCBwBPZgN8ciDBro2nIOFaiRz1/BCxaI7CNvQbDHvsArAC7Tw9Hda/B3U+6ui9u4HWXPw==} 128 | engines: {node: '>=6.0.0'} 129 | hasBin: true 130 | 131 | '@babel/plugin-syntax-async-generators@7.8.4': 132 | resolution: {integrity: sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw==} 133 | peerDependencies: 134 | '@babel/core': ^7.0.0-0 135 | 136 | '@babel/plugin-syntax-bigint@7.8.3': 137 | resolution: {integrity: sha512-wnTnFlG+YxQm3vDxpGE57Pj0srRU4sHE/mDkt1qv2YJJSeUAec2ma4WLUnUPeKjyrfntVwe/N6dCXpU+zL3Npg==} 138 | peerDependencies: 139 | '@babel/core': ^7.0.0-0 140 | 141 | '@babel/plugin-syntax-class-properties@7.12.13': 142 | resolution: {integrity: sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA==} 143 | peerDependencies: 144 | '@babel/core': ^7.0.0-0 145 | 146 | '@babel/plugin-syntax-import-meta@7.10.4': 147 | resolution: {integrity: sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g==} 148 | peerDependencies: 149 | '@babel/core': ^7.0.0-0 150 | 151 | '@babel/plugin-syntax-json-strings@7.8.3': 152 | resolution: {integrity: sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==} 153 | peerDependencies: 154 | '@babel/core': ^7.0.0-0 155 | 156 | '@babel/plugin-syntax-jsx@7.24.7': 157 | resolution: {integrity: sha512-6ddciUPe/mpMnOKv/U+RSd2vvVy+Yw/JfBB0ZHYjEZt9NLHmCUylNYlsbqCCS1Bffjlb0fCwC9Vqz+sBz6PsiQ==} 158 | engines: {node: '>=6.9.0'} 159 | peerDependencies: 160 | '@babel/core': ^7.0.0-0 161 | 162 | '@babel/plugin-syntax-logical-assignment-operators@7.10.4': 163 | resolution: {integrity: sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig==} 164 | peerDependencies: 165 | '@babel/core': ^7.0.0-0 166 | 167 | '@babel/plugin-syntax-nullish-coalescing-operator@7.8.3': 168 | resolution: {integrity: sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ==} 169 | peerDependencies: 170 | '@babel/core': ^7.0.0-0 171 | 172 | '@babel/plugin-syntax-numeric-separator@7.10.4': 173 | resolution: {integrity: sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug==} 174 | peerDependencies: 175 | '@babel/core': ^7.0.0-0 176 | 177 | '@babel/plugin-syntax-object-rest-spread@7.8.3': 178 | resolution: {integrity: sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==} 179 | peerDependencies: 180 | '@babel/core': ^7.0.0-0 181 | 182 | '@babel/plugin-syntax-optional-catch-binding@7.8.3': 183 | resolution: {integrity: sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q==} 184 | peerDependencies: 185 | '@babel/core': ^7.0.0-0 186 | 187 | '@babel/plugin-syntax-optional-chaining@7.8.3': 188 | resolution: {integrity: sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg==} 189 | peerDependencies: 190 | '@babel/core': ^7.0.0-0 191 | 192 | '@babel/plugin-syntax-top-level-await@7.14.5': 193 | resolution: {integrity: sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw==} 194 | engines: {node: '>=6.9.0'} 195 | peerDependencies: 196 | '@babel/core': ^7.0.0-0 197 | 198 | '@babel/plugin-syntax-typescript@7.24.7': 199 | resolution: {integrity: sha512-c/+fVeJBB0FeKsFvwytYiUD+LBvhHjGSI0g446PRGdSVGZLRNArBUno2PETbAly3tpiNAQR5XaZ+JslxkotsbA==} 200 | engines: {node: '>=6.9.0'} 201 | peerDependencies: 202 | '@babel/core': ^7.0.0-0 203 | 204 | '@babel/template@7.24.7': 205 | resolution: {integrity: sha512-jYqfPrU9JTF0PmPy1tLYHW4Mp4KlgxJD9l2nP9fD6yT/ICi554DmrWBAEYpIelzjHf1msDP3PxJIRt/nFNfBig==} 206 | engines: {node: '>=6.9.0'} 207 | 208 | '@babel/traverse@7.24.7': 209 | resolution: {integrity: sha512-yb65Ed5S/QAcewNPh0nZczy9JdYXkkAbIsEo+P7BE7yO3txAY30Y/oPa3QkQ5It3xVG2kpKMg9MsdxZaO31uKA==} 210 | engines: {node: '>=6.9.0'} 211 | 212 | '@babel/types@7.24.7': 213 | resolution: {integrity: sha512-XEFXSlxiG5td2EJRe8vOmRbaXVgfcBlszKujvVmWIK/UpywWljQCfzAv3RQCGujWQ1RD4YYWEAqDXfuJiy8f5Q==} 214 | engines: {node: '>=6.9.0'} 215 | 216 | '@bcoe/v8-coverage@0.2.3': 217 | resolution: {integrity: sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw==} 218 | 219 | '@esbuild-plugins/node-resolve@0.2.2': 220 | resolution: {integrity: sha512-+t5FdX3ATQlb53UFDBRb4nqjYBz492bIrnVWvpQHpzZlu9BQL5HasMZhqc409ygUwOWCXZhrWr6NyZ6T6Y+cxw==} 221 | peerDependencies: 222 | esbuild: '*' 223 | 224 | '@esbuild/aix-ppc64@0.21.5': 225 | resolution: {integrity: sha512-1SDgH6ZSPTlggy1yI6+Dbkiz8xzpHJEVAlF/AM1tHPLsf5STom9rwtjE4hKAF20FfXXNTFqEYXyJNWh1GiZedQ==} 226 | engines: {node: '>=12'} 227 | cpu: [ppc64] 228 | os: [aix] 229 | 230 | '@esbuild/android-arm64@0.21.5': 231 | resolution: {integrity: sha512-c0uX9VAUBQ7dTDCjq+wdyGLowMdtR/GoC2U5IYk/7D1H1JYC0qseD7+11iMP2mRLN9RcCMRcjC4YMclCzGwS/A==} 232 | engines: {node: '>=12'} 233 | cpu: [arm64] 234 | os: [android] 235 | 236 | '@esbuild/android-arm@0.21.5': 237 | resolution: {integrity: sha512-vCPvzSjpPHEi1siZdlvAlsPxXl7WbOVUBBAowWug4rJHb68Ox8KualB+1ocNvT5fjv6wpkX6o/iEpbDrf68zcg==} 238 | engines: {node: '>=12'} 239 | cpu: [arm] 240 | os: [android] 241 | 242 | '@esbuild/android-x64@0.21.5': 243 | resolution: {integrity: sha512-D7aPRUUNHRBwHxzxRvp856rjUHRFW1SdQATKXH2hqA0kAZb1hKmi02OpYRacl0TxIGz/ZmXWlbZgjwWYaCakTA==} 244 | engines: {node: '>=12'} 245 | cpu: [x64] 246 | os: [android] 247 | 248 | '@esbuild/darwin-arm64@0.21.5': 249 | resolution: {integrity: sha512-DwqXqZyuk5AiWWf3UfLiRDJ5EDd49zg6O9wclZ7kUMv2WRFr4HKjXp/5t8JZ11QbQfUS6/cRCKGwYhtNAY88kQ==} 250 | engines: {node: '>=12'} 251 | cpu: [arm64] 252 | os: [darwin] 253 | 254 | '@esbuild/darwin-x64@0.21.5': 255 | resolution: {integrity: sha512-se/JjF8NlmKVG4kNIuyWMV/22ZaerB+qaSi5MdrXtd6R08kvs2qCN4C09miupktDitvh8jRFflwGFBQcxZRjbw==} 256 | engines: {node: '>=12'} 257 | cpu: [x64] 258 | os: [darwin] 259 | 260 | '@esbuild/freebsd-arm64@0.21.5': 261 | resolution: {integrity: sha512-5JcRxxRDUJLX8JXp/wcBCy3pENnCgBR9bN6JsY4OmhfUtIHe3ZW0mawA7+RDAcMLrMIZaf03NlQiX9DGyB8h4g==} 262 | engines: {node: '>=12'} 263 | cpu: [arm64] 264 | os: [freebsd] 265 | 266 | '@esbuild/freebsd-x64@0.21.5': 267 | resolution: {integrity: sha512-J95kNBj1zkbMXtHVH29bBriQygMXqoVQOQYA+ISs0/2l3T9/kj42ow2mpqerRBxDJnmkUDCaQT/dfNXWX/ZZCQ==} 268 | engines: {node: '>=12'} 269 | cpu: [x64] 270 | os: [freebsd] 271 | 272 | '@esbuild/linux-arm64@0.21.5': 273 | resolution: {integrity: sha512-ibKvmyYzKsBeX8d8I7MH/TMfWDXBF3db4qM6sy+7re0YXya+K1cem3on9XgdT2EQGMu4hQyZhan7TeQ8XkGp4Q==} 274 | engines: {node: '>=12'} 275 | cpu: [arm64] 276 | os: [linux] 277 | 278 | '@esbuild/linux-arm@0.21.5': 279 | resolution: {integrity: sha512-bPb5AHZtbeNGjCKVZ9UGqGwo8EUu4cLq68E95A53KlxAPRmUyYv2D6F0uUI65XisGOL1hBP5mTronbgo+0bFcA==} 280 | engines: {node: '>=12'} 281 | cpu: [arm] 282 | os: [linux] 283 | 284 | '@esbuild/linux-ia32@0.21.5': 285 | resolution: {integrity: sha512-YvjXDqLRqPDl2dvRODYmmhz4rPeVKYvppfGYKSNGdyZkA01046pLWyRKKI3ax8fbJoK5QbxblURkwK/MWY18Tg==} 286 | engines: {node: '>=12'} 287 | cpu: [ia32] 288 | os: [linux] 289 | 290 | '@esbuild/linux-loong64@0.21.5': 291 | resolution: {integrity: sha512-uHf1BmMG8qEvzdrzAqg2SIG/02+4/DHB6a9Kbya0XDvwDEKCoC8ZRWI5JJvNdUjtciBGFQ5PuBlpEOXQj+JQSg==} 292 | engines: {node: '>=12'} 293 | cpu: [loong64] 294 | os: [linux] 295 | 296 | '@esbuild/linux-mips64el@0.21.5': 297 | resolution: {integrity: sha512-IajOmO+KJK23bj52dFSNCMsz1QP1DqM6cwLUv3W1QwyxkyIWecfafnI555fvSGqEKwjMXVLokcV5ygHW5b3Jbg==} 298 | engines: {node: '>=12'} 299 | cpu: [mips64el] 300 | os: [linux] 301 | 302 | '@esbuild/linux-ppc64@0.21.5': 303 | resolution: {integrity: sha512-1hHV/Z4OEfMwpLO8rp7CvlhBDnjsC3CttJXIhBi+5Aj5r+MBvy4egg7wCbe//hSsT+RvDAG7s81tAvpL2XAE4w==} 304 | engines: {node: '>=12'} 305 | cpu: [ppc64] 306 | os: [linux] 307 | 308 | '@esbuild/linux-riscv64@0.21.5': 309 | resolution: {integrity: sha512-2HdXDMd9GMgTGrPWnJzP2ALSokE/0O5HhTUvWIbD3YdjME8JwvSCnNGBnTThKGEB91OZhzrJ4qIIxk/SBmyDDA==} 310 | engines: {node: '>=12'} 311 | cpu: [riscv64] 312 | os: [linux] 313 | 314 | '@esbuild/linux-s390x@0.21.5': 315 | resolution: {integrity: sha512-zus5sxzqBJD3eXxwvjN1yQkRepANgxE9lgOW2qLnmr8ikMTphkjgXu1HR01K4FJg8h1kEEDAqDcZQtbrRnB41A==} 316 | engines: {node: '>=12'} 317 | cpu: [s390x] 318 | os: [linux] 319 | 320 | '@esbuild/linux-x64@0.21.5': 321 | resolution: {integrity: sha512-1rYdTpyv03iycF1+BhzrzQJCdOuAOtaqHTWJZCWvijKD2N5Xu0TtVC8/+1faWqcP9iBCWOmjmhoH94dH82BxPQ==} 322 | engines: {node: '>=12'} 323 | cpu: [x64] 324 | os: [linux] 325 | 326 | '@esbuild/netbsd-x64@0.21.5': 327 | resolution: {integrity: sha512-Woi2MXzXjMULccIwMnLciyZH4nCIMpWQAs049KEeMvOcNADVxo0UBIQPfSmxB3CWKedngg7sWZdLvLczpe0tLg==} 328 | engines: {node: '>=12'} 329 | cpu: [x64] 330 | os: [netbsd] 331 | 332 | '@esbuild/openbsd-x64@0.21.5': 333 | resolution: {integrity: sha512-HLNNw99xsvx12lFBUwoT8EVCsSvRNDVxNpjZ7bPn947b8gJPzeHWyNVhFsaerc0n3TsbOINvRP2byTZ5LKezow==} 334 | engines: {node: '>=12'} 335 | cpu: [x64] 336 | os: [openbsd] 337 | 338 | '@esbuild/sunos-x64@0.21.5': 339 | resolution: {integrity: sha512-6+gjmFpfy0BHU5Tpptkuh8+uw3mnrvgs+dSPQXQOv3ekbordwnzTVEb4qnIvQcYXq6gzkyTnoZ9dZG+D4garKg==} 340 | engines: {node: '>=12'} 341 | cpu: [x64] 342 | os: [sunos] 343 | 344 | '@esbuild/win32-arm64@0.21.5': 345 | resolution: {integrity: sha512-Z0gOTd75VvXqyq7nsl93zwahcTROgqvuAcYDUr+vOv8uHhNSKROyU961kgtCD1e95IqPKSQKH7tBTslnS3tA8A==} 346 | engines: {node: '>=12'} 347 | cpu: [arm64] 348 | os: [win32] 349 | 350 | '@esbuild/win32-ia32@0.21.5': 351 | resolution: {integrity: sha512-SWXFF1CL2RVNMaVs+BBClwtfZSvDgtL//G/smwAc5oVK/UPu2Gu9tIaRgFmYFFKrmg3SyAjSrElf0TiJ1v8fYA==} 352 | engines: {node: '>=12'} 353 | cpu: [ia32] 354 | os: [win32] 355 | 356 | '@esbuild/win32-x64@0.21.5': 357 | resolution: {integrity: sha512-tQd/1efJuzPC6rCFwEvLtci/xNFcTZknmXs98FYDfGE4wP9ClFV98nyKrzJKVPMhdDnjzLhdUyMX4PsQAPjwIw==} 358 | engines: {node: '>=12'} 359 | cpu: [x64] 360 | os: [win32] 361 | 362 | '@isaacs/cliui@8.0.2': 363 | resolution: {integrity: sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==} 364 | engines: {node: '>=12'} 365 | 366 | '@istanbuljs/load-nyc-config@1.1.0': 367 | resolution: {integrity: sha512-VjeHSlIzpv/NyD3N0YuHfXOPDIixcA1q2ZV98wsMqcYlPmv2n3Yb2lYP9XMElnaFVXg5A7YLTeLu6V84uQDjmQ==} 368 | engines: {node: '>=8'} 369 | 370 | '@istanbuljs/schema@0.1.3': 371 | resolution: {integrity: sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA==} 372 | engines: {node: '>=8'} 373 | 374 | '@jest/console@29.7.0': 375 | resolution: {integrity: sha512-5Ni4CU7XHQi32IJ398EEP4RrB8eV09sXP2ROqD4bksHrnTree52PsxvX8tpL8LvTZ3pFzXyPbNQReSN41CAhOg==} 376 | engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} 377 | 378 | '@jest/core@29.7.0': 379 | resolution: {integrity: sha512-n7aeXWKMnGtDA48y8TLWJPJmLmmZ642Ceo78cYWEpiD7FzDgmNDV/GCVRorPABdXLJZ/9wzzgZAlHjXjxDHGsg==} 380 | engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} 381 | peerDependencies: 382 | node-notifier: ^8.0.1 || ^9.0.0 || ^10.0.0 383 | peerDependenciesMeta: 384 | node-notifier: 385 | optional: true 386 | 387 | '@jest/environment@29.7.0': 388 | resolution: {integrity: sha512-aQIfHDq33ExsN4jP1NWGXhxgQ/wixs60gDiKO+XVMd8Mn0NWPWgc34ZQDTb2jKaUWQ7MuwoitXAsN2XVXNMpAw==} 389 | engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} 390 | 391 | '@jest/expect-utils@29.7.0': 392 | resolution: {integrity: sha512-GlsNBWiFQFCVi9QVSx7f5AgMeLxe9YCCs5PuP2O2LdjDAA8Jh9eX7lA1Jq/xdXw3Wb3hyvlFNfZIfcRetSzYcA==} 393 | engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} 394 | 395 | '@jest/expect@29.7.0': 396 | resolution: {integrity: sha512-8uMeAMycttpva3P1lBHB8VciS9V0XAr3GymPpipdyQXbBcuhkLQOSe8E/p92RyAdToS6ZD1tFkX+CkhoECE0dQ==} 397 | engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} 398 | 399 | '@jest/fake-timers@29.7.0': 400 | resolution: {integrity: sha512-q4DH1Ha4TTFPdxLsqDXK1d3+ioSL7yL5oCMJZgDYm6i+6CygW5E5xVr/D1HdsGxjt1ZWSfUAs9OxSB/BNelWrQ==} 401 | engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} 402 | 403 | '@jest/globals@29.7.0': 404 | resolution: {integrity: sha512-mpiz3dutLbkW2MNFubUGUEVLkTGiqW6yLVTA+JbP6fI6J5iL9Y0Nlg8k95pcF8ctKwCS7WVxteBs29hhfAotzQ==} 405 | engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} 406 | 407 | '@jest/reporters@29.7.0': 408 | resolution: {integrity: sha512-DApq0KJbJOEzAFYjHADNNxAE3KbhxQB1y5Kplb5Waqw6zVbuWatSnMjE5gs8FUgEPmNsnZA3NCWl9NG0ia04Pg==} 409 | engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} 410 | peerDependencies: 411 | node-notifier: ^8.0.1 || ^9.0.0 || ^10.0.0 412 | peerDependenciesMeta: 413 | node-notifier: 414 | optional: true 415 | 416 | '@jest/schemas@29.6.3': 417 | resolution: {integrity: sha512-mo5j5X+jIZmJQveBKeS/clAueipV7KgiX1vMgCxam1RNYiqE1w62n0/tJJnHtjW8ZHcQco5gY85jA3mi0L+nSA==} 418 | engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} 419 | 420 | '@jest/source-map@29.6.3': 421 | resolution: {integrity: sha512-MHjT95QuipcPrpLM+8JMSzFx6eHp5Bm+4XeFDJlwsvVBjmKNiIAvasGK2fxz2WbGRlnvqehFbh07MMa7n3YJnw==} 422 | engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} 423 | 424 | '@jest/test-result@29.7.0': 425 | resolution: {integrity: sha512-Fdx+tv6x1zlkJPcWXmMDAG2HBnaR9XPSd5aDWQVsfrZmLVT3lU1cwyxLgRmXR9yrq4NBoEm9BMsfgFzTQAbJYA==} 426 | engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} 427 | 428 | '@jest/test-sequencer@29.7.0': 429 | resolution: {integrity: sha512-GQwJ5WZVrKnOJuiYiAF52UNUJXgTZx1NHjFSEB0qEMmSZKAkdMoIzw/Cj6x6NF4AvV23AUqDpFzQkN/eYCYTxw==} 430 | engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} 431 | 432 | '@jest/transform@29.7.0': 433 | resolution: {integrity: sha512-ok/BTPFzFKVMwO5eOHRrvnBVHdRy9IrsrW1GpMaQ9MCnilNLXQKmAX8s1YXDFaai9xJpac2ySzV0YeRRECr2Vw==} 434 | engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} 435 | 436 | '@jest/types@29.6.3': 437 | resolution: {integrity: sha512-u3UPsIilWKOM3F9CXtrG8LEJmNxwoCQC/XVj4IKYXvvpx7QIi/Kg1LI5uDmDpKlac62NUtX7eLjRh+jVZcLOzw==} 438 | engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} 439 | 440 | '@jridgewell/gen-mapping@0.3.5': 441 | resolution: {integrity: sha512-IzL8ZoEDIBRWEzlCcRhOaCupYyN5gdIK+Q6fbFdPDg6HqX6jpkItn7DFIpW9LQzXG6Df9sA7+OKnq0qlz/GaQg==} 442 | engines: {node: '>=6.0.0'} 443 | 444 | '@jridgewell/resolve-uri@3.1.2': 445 | resolution: {integrity: sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==} 446 | engines: {node: '>=6.0.0'} 447 | 448 | '@jridgewell/set-array@1.2.1': 449 | resolution: {integrity: sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A==} 450 | engines: {node: '>=6.0.0'} 451 | 452 | '@jridgewell/sourcemap-codec@1.4.15': 453 | resolution: {integrity: sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==} 454 | 455 | '@jridgewell/trace-mapping@0.3.25': 456 | resolution: {integrity: sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==} 457 | 458 | '@nodelib/fs.scandir@2.1.5': 459 | resolution: {integrity: sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==} 460 | engines: {node: '>= 8'} 461 | 462 | '@nodelib/fs.stat@2.0.5': 463 | resolution: {integrity: sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==} 464 | engines: {node: '>= 8'} 465 | 466 | '@nodelib/fs.walk@1.2.8': 467 | resolution: {integrity: sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==} 468 | engines: {node: '>= 8'} 469 | 470 | '@pkgjs/parseargs@0.11.0': 471 | resolution: {integrity: sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==} 472 | engines: {node: '>=14'} 473 | 474 | '@refinedev/core@4.51.0': 475 | resolution: {integrity: sha512-nvyaARMiBzReF+OwUfblLl49rjcNBFT/m+4XWW6jcz5lWHRAYAfIEH6KbOBRabxs+V4nKzWKLzzZwpEqIEqvFA==} 476 | peerDependencies: 477 | '@tanstack/react-query': ^4.10.1 478 | '@types/react': ^17.0.0 || ^18.0.0 479 | '@types/react-dom': ^17.0.0 || ^18.0.0 480 | react: ^17.0.0 || ^18.0.0 481 | react-dom: ^17.0.0 || ^18.0.0 482 | 483 | '@refinedev/devtools-internal@1.1.11': 484 | resolution: {integrity: sha512-s+Mm6RB/dbgd6x9R3Iydum6gJ2/MFotYSIh/Ba7seCUS0v/Vb5f0X8EVhwbPbJ45N+WctaRpjNbxM0eKZ8blSA==} 485 | engines: {node: '>=10'} 486 | peerDependencies: 487 | '@types/react': ^17.0.0 || ^18.0.0 488 | '@types/react-dom': ^17.0.0 || ^18.0.0 489 | react: ^17.0.0 || ^18.0.0 490 | react-dom: ^17.0.0 || ^18.0.0 491 | 492 | '@refinedev/devtools-shared@1.1.9': 493 | resolution: {integrity: sha512-BBVvtffxSkSIFD5ii8OuvJ7I8rHG0Fui/3ZRejr8ssI9QmbG44TXg5npsHiLlVbRicMK4FJfIU4A71lfjwD6jw==} 494 | engines: {node: '>=10'} 495 | peerDependencies: 496 | '@types/react': ^17.0.0 || ^18.0.0 497 | '@types/react-dom': ^17.0.0 || ^18.0.0 498 | react: ^17.0.0 || ^18.0.0 499 | react-dom: ^17.0.0 || ^18.0.0 500 | 501 | '@rollup/rollup-android-arm-eabi@4.18.0': 502 | resolution: {integrity: sha512-Tya6xypR10giZV1XzxmH5wr25VcZSncG0pZIjfePT0OVBvqNEurzValetGNarVrGiq66EBVAFn15iYX4w6FKgQ==} 503 | cpu: [arm] 504 | os: [android] 505 | 506 | '@rollup/rollup-android-arm64@4.18.0': 507 | resolution: {integrity: sha512-avCea0RAP03lTsDhEyfy+hpfr85KfyTctMADqHVhLAF3MlIkq83CP8UfAHUssgXTYd+6er6PaAhx/QGv4L1EiA==} 508 | cpu: [arm64] 509 | os: [android] 510 | 511 | '@rollup/rollup-darwin-arm64@4.18.0': 512 | resolution: {integrity: sha512-IWfdwU7KDSm07Ty0PuA/W2JYoZ4iTj3TUQjkVsO/6U+4I1jN5lcR71ZEvRh52sDOERdnNhhHU57UITXz5jC1/w==} 513 | cpu: [arm64] 514 | os: [darwin] 515 | 516 | '@rollup/rollup-darwin-x64@4.18.0': 517 | resolution: {integrity: sha512-n2LMsUz7Ynu7DoQrSQkBf8iNrjOGyPLrdSg802vk6XT3FtsgX6JbE8IHRvposskFm9SNxzkLYGSq9QdpLYpRNA==} 518 | cpu: [x64] 519 | os: [darwin] 520 | 521 | '@rollup/rollup-linux-arm-gnueabihf@4.18.0': 522 | resolution: {integrity: sha512-C/zbRYRXFjWvz9Z4haRxcTdnkPt1BtCkz+7RtBSuNmKzMzp3ZxdM28Mpccn6pt28/UWUCTXa+b0Mx1k3g6NOMA==} 523 | cpu: [arm] 524 | os: [linux] 525 | 526 | '@rollup/rollup-linux-arm-musleabihf@4.18.0': 527 | resolution: {integrity: sha512-l3m9ewPgjQSXrUMHg93vt0hYCGnrMOcUpTz6FLtbwljo2HluS4zTXFy2571YQbisTnfTKPZ01u/ukJdQTLGh9A==} 528 | cpu: [arm] 529 | os: [linux] 530 | 531 | '@rollup/rollup-linux-arm64-gnu@4.18.0': 532 | resolution: {integrity: sha512-rJ5D47d8WD7J+7STKdCUAgmQk49xuFrRi9pZkWoRD1UeSMakbcepWXPF8ycChBoAqs1pb2wzvbY6Q33WmN2ftw==} 533 | cpu: [arm64] 534 | os: [linux] 535 | 536 | '@rollup/rollup-linux-arm64-musl@4.18.0': 537 | resolution: {integrity: sha512-be6Yx37b24ZwxQ+wOQXXLZqpq4jTckJhtGlWGZs68TgdKXJgw54lUUoFYrg6Zs/kjzAQwEwYbp8JxZVzZLRepQ==} 538 | cpu: [arm64] 539 | os: [linux] 540 | 541 | '@rollup/rollup-linux-powerpc64le-gnu@4.18.0': 542 | resolution: {integrity: sha512-hNVMQK+qrA9Todu9+wqrXOHxFiD5YmdEi3paj6vP02Kx1hjd2LLYR2eaN7DsEshg09+9uzWi2W18MJDlG0cxJA==} 543 | cpu: [ppc64] 544 | os: [linux] 545 | 546 | '@rollup/rollup-linux-riscv64-gnu@4.18.0': 547 | resolution: {integrity: sha512-ROCM7i+m1NfdrsmvwSzoxp9HFtmKGHEqu5NNDiZWQtXLA8S5HBCkVvKAxJ8U+CVctHwV2Gb5VUaK7UAkzhDjlg==} 548 | cpu: [riscv64] 549 | os: [linux] 550 | 551 | '@rollup/rollup-linux-s390x-gnu@4.18.0': 552 | resolution: {integrity: sha512-0UyyRHyDN42QL+NbqevXIIUnKA47A+45WyasO+y2bGJ1mhQrfrtXUpTxCOrfxCR4esV3/RLYyucGVPiUsO8xjg==} 553 | cpu: [s390x] 554 | os: [linux] 555 | 556 | '@rollup/rollup-linux-x64-gnu@4.18.0': 557 | resolution: {integrity: sha512-xuglR2rBVHA5UsI8h8UbX4VJ470PtGCf5Vpswh7p2ukaqBGFTnsfzxUBetoWBWymHMxbIG0Cmx7Y9qDZzr648w==} 558 | cpu: [x64] 559 | os: [linux] 560 | 561 | '@rollup/rollup-linux-x64-musl@4.18.0': 562 | resolution: {integrity: sha512-LKaqQL9osY/ir2geuLVvRRs+utWUNilzdE90TpyoX0eNqPzWjRm14oMEE+YLve4k/NAqCdPkGYDaDF5Sw+xBfg==} 563 | cpu: [x64] 564 | os: [linux] 565 | 566 | '@rollup/rollup-win32-arm64-msvc@4.18.0': 567 | resolution: {integrity: sha512-7J6TkZQFGo9qBKH0pk2cEVSRhJbL6MtfWxth7Y5YmZs57Pi+4x6c2dStAUvaQkHQLnEQv1jzBUW43GvZW8OFqA==} 568 | cpu: [arm64] 569 | os: [win32] 570 | 571 | '@rollup/rollup-win32-ia32-msvc@4.18.0': 572 | resolution: {integrity: sha512-Txjh+IxBPbkUB9+SXZMpv+b/vnTEtFyfWZgJ6iyCmt2tdx0OF5WhFowLmnh8ENGNpfUlUZkdI//4IEmhwPieNg==} 573 | cpu: [ia32] 574 | os: [win32] 575 | 576 | '@rollup/rollup-win32-x64-msvc@4.18.0': 577 | resolution: {integrity: sha512-UOo5FdvOL0+eIVTgS4tIdbW+TtnBLWg1YBCcU2KWM7nuNwRz9bksDX1bekJJCpu25N1DVWaCwnT39dVQxzqS8g==} 578 | cpu: [x64] 579 | os: [win32] 580 | 581 | '@sinclair/typebox@0.27.8': 582 | resolution: {integrity: sha512-+Fj43pSMwJs4KRrH/938Uf+uAELIgVBmQzg/q1YG10djyfA3TnrU8N8XzqCh/okZdszqBQTZf96idMfE5lnwTA==} 583 | 584 | '@sinonjs/commons@3.0.1': 585 | resolution: {integrity: sha512-K3mCHKQ9sVh8o1C9cxkwxaOmXoAMlDxC1mYyHrjqOWEcBjYr76t96zL2zlj5dUGZ3HSw240X1qgH3Mjf1yJWpQ==} 586 | 587 | '@sinonjs/fake-timers@10.3.0': 588 | resolution: {integrity: sha512-V4BG07kuYSUkTCSBHG8G8TNhM+F19jXFWnQtzj+we8DrkpSBCee9Z3Ms8yiGer/dlmhe35/Xdgyo3/0rQKg7YA==} 589 | 590 | '@tanstack/query-core@4.36.1': 591 | resolution: {integrity: sha512-DJSilV5+ytBP1FbFcEJovv4rnnm/CokuVvrBEtW/Va9DvuJ3HksbXUJEpI0aV1KtuL4ZoO9AVE6PyNLzF7tLeA==} 592 | 593 | '@tanstack/query-core@5.45.0': 594 | resolution: {integrity: sha512-RVfIZQmFUTdjhSAAblvueimfngYyfN6HlwaJUPK71PKd7yi43Vs1S/rdimmZedPWX/WGppcq/U1HOj7O7FwYxw==} 595 | 596 | '@tanstack/react-query@4.36.1': 597 | resolution: {integrity: sha512-y7ySVHFyyQblPl3J3eQBWpXZkliroki3ARnBKsdJchlgt7yJLRDUcf4B8soufgiYt3pEQIkBWBx1N9/ZPIeUWw==} 598 | peerDependencies: 599 | react: ^16.8.0 || ^17.0.0 || ^18.0.0 600 | react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 601 | react-native: '*' 602 | peerDependenciesMeta: 603 | react-dom: 604 | optional: true 605 | react-native: 606 | optional: true 607 | 608 | '@tanstack/react-query@5.45.1': 609 | resolution: {integrity: sha512-mYYfJujKg2kxmkRRjA6nn4YKG3ITsKuH22f1kteJ5IuVQqgKUgbaSQfYwVP0gBS05mhwxO03HVpD0t7BMN7WOA==} 610 | peerDependencies: 611 | react: ^18.0.0 612 | 613 | '@types/babel__core@7.20.5': 614 | resolution: {integrity: sha512-qoQprZvz5wQFJwMDqeseRXWv3rqMvhgpbXFfVyWhbx9X47POIA6i/+dXefEmZKoAgOaTdaIgNSMqMIU61yRyzA==} 615 | 616 | '@types/babel__generator@7.6.8': 617 | resolution: {integrity: sha512-ASsj+tpEDsEiFr1arWrlN6V3mdfjRMZt6LtK/Vp/kreFLnr5QH5+DhvD5nINYZXzwJvXeGq+05iUXcAzVrqWtw==} 618 | 619 | '@types/babel__template@7.4.4': 620 | resolution: {integrity: sha512-h/NUaSyG5EyxBIp8YRxo4RMe2/qQgvyowRwVMzhYhBCONbW8PUsg4lkFMrhgZhUe5z3L3MiLDuvyJ/CaPa2A8A==} 621 | 622 | '@types/babel__traverse@7.20.6': 623 | resolution: {integrity: sha512-r1bzfrm0tomOI8g1SzvCaQHo6Lcv6zu0EA+W2kHrt8dyrHQxGzBBL4kdkzIS+jBMV+EYcMAEAqXqYaLJq5rOZg==} 624 | 625 | '@types/better-sqlite3@7.6.10': 626 | resolution: {integrity: sha512-TZBjD+yOsyrUJGmcUj6OS3JADk3+UZcNv3NOBqGkM09bZdi28fNZw8ODqbMOLfKCu7RYCO62/ldq1iHbzxqoPw==} 627 | 628 | '@types/estree@1.0.5': 629 | resolution: {integrity: sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw==} 630 | 631 | '@types/graceful-fs@4.1.9': 632 | resolution: {integrity: sha512-olP3sd1qOEe5dXTSaFvQG+02VdRXcdytWLAZsAq1PecU8uqQAhkrnbli7DagjtXKW/Bl7YJbUsa8MPcuc8LHEQ==} 633 | 634 | '@types/istanbul-lib-coverage@2.0.6': 635 | resolution: {integrity: sha512-2QF/t/auWm0lsy8XtKVPG19v3sSOQlJe/YHZgfjb/KBBHOGSV+J2q/S671rcq9uTBrLAXmZpqJiaQbMT+zNU1w==} 636 | 637 | '@types/istanbul-lib-report@3.0.3': 638 | resolution: {integrity: sha512-NQn7AHQnk/RSLOxrBbGyJM/aVQ+pjj5HCgasFxc0K/KhoATfQ/47AyUl15I2yBUpihjmas+a+VJBOqecrFH+uA==} 639 | 640 | '@types/istanbul-reports@3.0.4': 641 | resolution: {integrity: sha512-pk2B1NWalF9toCRu6gjBzR69syFjP4Od8WRAX+0mmf9lAjCRicLOWc+ZrxZHx/0XRjotgkF9t6iaMJ+aXcOdZQ==} 642 | 643 | '@types/jest@29.5.12': 644 | resolution: {integrity: sha512-eDC8bTvT/QhYdxJAulQikueigY5AsdBRH2yDKW3yveW7svY3+DzN84/2NUgkw10RTiJbWqZrTtoGVdYlvFJdLw==} 645 | 646 | '@types/node@20.14.8': 647 | resolution: {integrity: sha512-DO+2/jZinXfROG7j7WKFn/3C6nFwxy2lLpgLjEXJz+0XKphZlTLJ14mo8Vfg8X5BWN6XjyESXq+LcYdT7tR3bA==} 648 | 649 | '@types/prop-types@15.7.12': 650 | resolution: {integrity: sha512-5zvhXYtRNRluoE/jAp4GVsSduVUzNWKkOZrCDBWYtE7biZywwdC2AcEzg+cSMLFRfVgeAFqpfNabiPjxFddV1Q==} 651 | 652 | '@types/react-dom@18.3.0': 653 | resolution: {integrity: sha512-EhwApuTmMBmXuFOikhQLIBUn6uFg81SwLMOAUgodJF14SOBOCMdU04gDoYi0WOJJHD144TL32z4yDqCW3dnkQg==} 654 | 655 | '@types/react@18.3.3': 656 | resolution: {integrity: sha512-hti/R0pS0q1/xx+TsI73XIqk26eBsISZ2R0wUijXIngRK9R/e7Xw/cXVxQK7R5JjW+SV4zGcn5hXjudkN/pLIw==} 657 | 658 | '@types/resolve@1.20.6': 659 | resolution: {integrity: sha512-A4STmOXPhMUtHH+S6ymgE2GiBSMqf4oTvcQZMcHzokuTLVYzXTB8ttjcgxOVaAp2lGwEdzZ0J+cRbbeevQj1UQ==} 660 | 661 | '@types/stack-utils@2.0.3': 662 | resolution: {integrity: sha512-9aEbYZ3TbYMznPdcdr3SmIrLXwC/AKZXQeCf9Pgao5CKb8CyHuEX5jzWPTkvregvhRJHcpRO6BFoGW9ycaOkYw==} 663 | 664 | '@types/yargs-parser@21.0.3': 665 | resolution: {integrity: sha512-I4q9QU9MQv4oEOz4tAHJtNz1cwuLxn2F3xcc2iV5WdqLPpUnj30aUuxt1mAxYTG+oe8CZMV/+6rU4S4gRDzqtQ==} 666 | 667 | '@types/yargs@17.0.32': 668 | resolution: {integrity: sha512-xQ67Yc/laOG5uMfX/093MRlGGCIBzZMarVa+gfNKJxWAIgykYpVGkBdbqEzGDDfCrVUj6Hiff4mTZ5BA6TmAog==} 669 | 670 | ansi-escapes@4.3.2: 671 | resolution: {integrity: sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==} 672 | engines: {node: '>=8'} 673 | 674 | ansi-regex@5.0.1: 675 | resolution: {integrity: sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==} 676 | engines: {node: '>=8'} 677 | 678 | ansi-regex@6.0.1: 679 | resolution: {integrity: sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==} 680 | engines: {node: '>=12'} 681 | 682 | ansi-styles@3.2.1: 683 | resolution: {integrity: sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==} 684 | engines: {node: '>=4'} 685 | 686 | ansi-styles@4.3.0: 687 | resolution: {integrity: sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==} 688 | engines: {node: '>=8'} 689 | 690 | ansi-styles@5.2.0: 691 | resolution: {integrity: sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==} 692 | engines: {node: '>=10'} 693 | 694 | ansi-styles@6.2.1: 695 | resolution: {integrity: sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==} 696 | engines: {node: '>=12'} 697 | 698 | any-promise@1.3.0: 699 | resolution: {integrity: sha512-7UvmKalWRt1wgjL1RrGxoSJW/0QZFIegpeGvZG9kjp8vrRu55XTHbwnqq2GpXm9uLbcuhxm3IqX9OB4MZR1b2A==} 700 | 701 | anymatch@3.1.3: 702 | resolution: {integrity: sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==} 703 | engines: {node: '>= 8'} 704 | 705 | argparse@1.0.10: 706 | resolution: {integrity: sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==} 707 | 708 | array-union@2.1.0: 709 | resolution: {integrity: sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==} 710 | engines: {node: '>=8'} 711 | 712 | babel-jest@29.7.0: 713 | resolution: {integrity: sha512-BrvGY3xZSwEcCzKvKsCi2GgHqDqsYkOP4/by5xCgIwGXQxIEh+8ew3gmrE1y7XRR6LHZIj6yLYnUi/mm2KXKBg==} 714 | engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} 715 | peerDependencies: 716 | '@babel/core': ^7.8.0 717 | 718 | babel-plugin-istanbul@6.1.1: 719 | resolution: {integrity: sha512-Y1IQok9821cC9onCx5otgFfRm7Lm+I+wwxOx738M/WLPZ9Q42m4IG5W0FNX8WLL2gYMZo3JkuXIH2DOpWM+qwA==} 720 | engines: {node: '>=8'} 721 | 722 | babel-plugin-jest-hoist@29.6.3: 723 | resolution: {integrity: sha512-ESAc/RJvGTFEzRwOTT4+lNDk/GNHMkKbNzsvT0qKRfDyyYTskxB5rnU2njIDYVxXCBHHEI1c0YwHob3WaYujOg==} 724 | engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} 725 | 726 | babel-preset-current-node-syntax@1.0.1: 727 | resolution: {integrity: sha512-M7LQ0bxarkxQoN+vz5aJPsLBn77n8QgTFmo8WK0/44auK2xlCXrYcUxHFxgU7qW5Yzw/CjmLRK2uJzaCd7LvqQ==} 728 | peerDependencies: 729 | '@babel/core': ^7.0.0 730 | 731 | babel-preset-jest@29.6.3: 732 | resolution: {integrity: sha512-0B3bhxR6snWXJZtR/RliHTDPRgn1sNHOR0yVtq/IiQFyuOVjFS+wuio/R4gSNkyYmKmJB4wGZv2NZanmKmTnNA==} 733 | engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} 734 | peerDependencies: 735 | '@babel/core': ^7.0.0 736 | 737 | balanced-match@1.0.2: 738 | resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==} 739 | 740 | base64-js@1.5.1: 741 | resolution: {integrity: sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==} 742 | 743 | better-sqlite3@11.0.0: 744 | resolution: {integrity: sha512-1NnNhmT3EZTsKtofJlMox1jkMxdedILury74PwUbQBjWgo4tL4kf7uTAjU55mgQwjdzqakSTjkf+E1imrFwjnA==} 745 | 746 | binary-extensions@2.3.0: 747 | resolution: {integrity: sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw==} 748 | engines: {node: '>=8'} 749 | 750 | bindings@1.5.0: 751 | resolution: {integrity: sha512-p2q/t/mhvuOj/UeLlV6566GD/guowlr0hHxClI0W9m7MWYkL1F0hLo+0Aexs9HSPCtR1SXQ0TD3MMKrXZajbiQ==} 752 | 753 | bl@4.1.0: 754 | resolution: {integrity: sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==} 755 | 756 | brace-expansion@1.1.11: 757 | resolution: {integrity: sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==} 758 | 759 | brace-expansion@2.0.1: 760 | resolution: {integrity: sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==} 761 | 762 | braces@3.0.3: 763 | resolution: {integrity: sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==} 764 | engines: {node: '>=8'} 765 | 766 | browserslist@4.23.1: 767 | resolution: {integrity: sha512-TUfofFo/KsK/bWZ9TWQ5O26tsWW4Uhmt8IYklbnUa70udB6P2wA7w7o4PY4muaEPBQaAX+CEnmmIA41NVHtPVw==} 768 | engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7} 769 | hasBin: true 770 | 771 | bs-logger@0.2.6: 772 | resolution: {integrity: sha512-pd8DCoxmbgc7hyPKOvxtqNcjYoOsABPQdcCUjGp3d42VR2CX1ORhk2A87oqqu5R1kk+76nsxZupkmyd+MVtCog==} 773 | engines: {node: '>= 6'} 774 | 775 | bser@2.1.1: 776 | resolution: {integrity: sha512-gQxTNE/GAfIIrmHLUE3oJyp5FO6HRBfhjnw4/wMmA63ZGDJnWBmgY/lyQBpnDUkGmAhbSe39tx2d/iTOAfglwQ==} 777 | 778 | buffer-from@1.1.2: 779 | resolution: {integrity: sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==} 780 | 781 | buffer@5.7.1: 782 | resolution: {integrity: sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==} 783 | 784 | bundle-require@4.2.1: 785 | resolution: {integrity: sha512-7Q/6vkyYAwOmQNRw75x+4yRtZCZJXUDmHHlFdkiV0wgv/reNjtJwpu1jPJ0w2kbEpIM0uoKI3S4/f39dU7AjSA==} 786 | engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} 787 | peerDependencies: 788 | esbuild: '>=0.17' 789 | 790 | cac@6.7.14: 791 | resolution: {integrity: sha512-b6Ilus+c3RrdDk+JhLKUAQfzzgLEPy6wcXqS7f/xe1EETvsDP6GORG7SFuOs6cID5YkqchW/LXZbX5bc8j7ZcQ==} 792 | engines: {node: '>=8'} 793 | 794 | call-bind@1.0.7: 795 | resolution: {integrity: sha512-GHTSNSYICQ7scH7sZ+M2rFopRoLh8t2bLSW6BbgrtLsahOIB5iyAVJf9GjWK3cYTDaMj4XdBpM1cA6pIS0Kv2w==} 796 | engines: {node: '>= 0.4'} 797 | 798 | callsites@3.1.0: 799 | resolution: {integrity: sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==} 800 | engines: {node: '>=6'} 801 | 802 | camelcase@5.3.1: 803 | resolution: {integrity: sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==} 804 | engines: {node: '>=6'} 805 | 806 | camelcase@6.3.0: 807 | resolution: {integrity: sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==} 808 | engines: {node: '>=10'} 809 | 810 | caniuse-lite@1.0.30001636: 811 | resolution: {integrity: sha512-bMg2vmr8XBsbL6Lr0UHXy/21m84FTxDLWn2FSqMd5PrlbMxwJlQnC2YWYxVgp66PZE+BBNF2jYQUBKCo1FDeZg==} 812 | 813 | chalk@2.4.2: 814 | resolution: {integrity: sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==} 815 | engines: {node: '>=4'} 816 | 817 | chalk@4.1.2: 818 | resolution: {integrity: sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==} 819 | engines: {node: '>=10'} 820 | 821 | char-regex@1.0.2: 822 | resolution: {integrity: sha512-kWWXztvZ5SBQV+eRgKFeh8q5sLuZY2+8WUIzlxWVTg+oGwY14qylx1KbKzHd8P6ZYkAg0xyIDU9JMHhyJMZ1jw==} 823 | engines: {node: '>=10'} 824 | 825 | chokidar@3.6.0: 826 | resolution: {integrity: sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==} 827 | engines: {node: '>= 8.10.0'} 828 | 829 | chownr@1.1.4: 830 | resolution: {integrity: sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg==} 831 | 832 | ci-info@3.9.0: 833 | resolution: {integrity: sha512-NIxF55hv4nSqQswkAeiOi1r83xy8JldOFDTWiug55KBu9Jnblncd2U6ViHmYgHf01TPZS77NJBhBMKdWj9HQMQ==} 834 | engines: {node: '>=8'} 835 | 836 | cjs-module-lexer@1.3.1: 837 | resolution: {integrity: sha512-a3KdPAANPbNE4ZUv9h6LckSl9zLsYOP4MBmhIPkRaeyybt+r4UghLvq+xw/YwUcC1gqylCkL4rdVs3Lwupjm4Q==} 838 | 839 | cliui@8.0.1: 840 | resolution: {integrity: sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==} 841 | engines: {node: '>=12'} 842 | 843 | co@4.6.0: 844 | resolution: {integrity: sha512-QVb0dM5HvG+uaxitm8wONl7jltx8dqhfU33DcqtOZcLSVIKSDDLDi7+0LbAKiyI8hD9u42m2YxXSkMGWThaecQ==} 845 | engines: {iojs: '>= 1.0.0', node: '>= 0.12.0'} 846 | 847 | collect-v8-coverage@1.0.2: 848 | resolution: {integrity: sha512-lHl4d5/ONEbLlJvaJNtsF/Lz+WvB07u2ycqTYbdrq7UypDXailES4valYb2eWiJFxZlVmpGekfqoxQhzyFdT4Q==} 849 | 850 | color-convert@1.9.3: 851 | resolution: {integrity: sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==} 852 | 853 | color-convert@2.0.1: 854 | resolution: {integrity: sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==} 855 | engines: {node: '>=7.0.0'} 856 | 857 | color-name@1.1.3: 858 | resolution: {integrity: sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==} 859 | 860 | color-name@1.1.4: 861 | resolution: {integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==} 862 | 863 | commander@4.1.1: 864 | resolution: {integrity: sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA==} 865 | engines: {node: '>= 6'} 866 | 867 | concat-map@0.0.1: 868 | resolution: {integrity: sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==} 869 | 870 | convert-source-map@2.0.0: 871 | resolution: {integrity: sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==} 872 | 873 | create-jest@29.7.0: 874 | resolution: {integrity: sha512-Adz2bdH0Vq3F53KEMJOoftQFutWCukm6J24wbPWRO4k1kMY7gS7ds/uoJkNuV8wDCtWWnuwGcJwpWcih+zEW1Q==} 875 | engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} 876 | hasBin: true 877 | 878 | cross-spawn@7.0.3: 879 | resolution: {integrity: sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==} 880 | engines: {node: '>= 8'} 881 | 882 | csstype@3.1.3: 883 | resolution: {integrity: sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==} 884 | 885 | debug@4.3.5: 886 | resolution: {integrity: sha512-pt0bNEmneDIvdL1Xsd9oDQ/wrQRkXDT4AUWlNZNPKvW5x/jyO9VFXkJUP07vQ2upmw5PlaITaPKc31jK13V+jg==} 887 | engines: {node: '>=6.0'} 888 | peerDependencies: 889 | supports-color: '*' 890 | peerDependenciesMeta: 891 | supports-color: 892 | optional: true 893 | 894 | decompress-response@6.0.0: 895 | resolution: {integrity: sha512-aW35yZM6Bb/4oJlZncMH2LCoZtJXTRxES17vE3hoRiowU2kWHaJKFkSBDnDR+cm9J+9QhXmREyIfv0pji9ejCQ==} 896 | engines: {node: '>=10'} 897 | 898 | dedent@1.5.3: 899 | resolution: {integrity: sha512-NHQtfOOW68WD8lgypbLA5oT+Bt0xXJhiYvoR6SmmNXZfpzOGXwdKWmcwG8N7PwVVWV3eF/68nmD9BaJSsTBhyQ==} 900 | peerDependencies: 901 | babel-plugin-macros: ^3.1.0 902 | peerDependenciesMeta: 903 | babel-plugin-macros: 904 | optional: true 905 | 906 | deep-extend@0.6.0: 907 | resolution: {integrity: sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==} 908 | engines: {node: '>=4.0.0'} 909 | 910 | deepmerge@4.3.1: 911 | resolution: {integrity: sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A==} 912 | engines: {node: '>=0.10.0'} 913 | 914 | define-data-property@1.1.4: 915 | resolution: {integrity: sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A==} 916 | engines: {node: '>= 0.4'} 917 | 918 | detect-libc@2.0.3: 919 | resolution: {integrity: sha512-bwy0MGW55bG41VqxxypOsdSdGqLwXPI/focwgTYCFMbdUiBAxLg9CFzG08sz2aqzknwiX7Hkl0bQENjg8iLByw==} 920 | engines: {node: '>=8'} 921 | 922 | detect-newline@3.1.0: 923 | resolution: {integrity: sha512-TLz+x/vEXm/Y7P7wn1EJFNLxYpUD4TgMosxY6fAVJUnJMbupHBOncxyWUG9OpTaH9EBD7uFI5LfEgmMOc54DsA==} 924 | engines: {node: '>=8'} 925 | 926 | diff-sequences@29.6.3: 927 | resolution: {integrity: sha512-EjePK1srD3P08o2j4f0ExnylqRs5B9tJjcp9t1krH2qRi8CCdsYfwe9JgSLurFBWwq4uOlipzfk5fHNvwFKr8Q==} 928 | engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} 929 | 930 | dir-glob@3.0.1: 931 | resolution: {integrity: sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==} 932 | engines: {node: '>=8'} 933 | 934 | eastasianwidth@0.2.0: 935 | resolution: {integrity: sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==} 936 | 937 | electron-to-chromium@1.4.810: 938 | resolution: {integrity: sha512-Kaxhu4T7SJGpRQx99tq216gCq2nMxJo+uuT6uzz9l8TVN2stL7M06MIIXAtr9jsrLs2Glflgf2vMQRepxawOdQ==} 939 | 940 | emittery@0.13.1: 941 | resolution: {integrity: sha512-DeWwawk6r5yR9jFgnDKYt4sLS0LmHJJi3ZOnb5/JdbYwj3nW+FxQnHIjhBKz8YLC7oRNPVM9NQ47I3CVx34eqQ==} 942 | engines: {node: '>=12'} 943 | 944 | emoji-regex@8.0.0: 945 | resolution: {integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==} 946 | 947 | emoji-regex@9.2.2: 948 | resolution: {integrity: sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==} 949 | 950 | end-of-stream@1.4.4: 951 | resolution: {integrity: sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==} 952 | 953 | error-ex@1.3.2: 954 | resolution: {integrity: sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==} 955 | 956 | error-stack-parser@2.1.4: 957 | resolution: {integrity: sha512-Sk5V6wVazPhq5MhpO+AUxJn5x7XSXGl1R93Vn7i+zS15KDVxQijejNCrz8340/2bgLBjR9GtEG8ZVKONDjcqGQ==} 958 | 959 | es-define-property@1.0.0: 960 | resolution: {integrity: sha512-jxayLKShrEqqzJ0eumQbVhTYQM27CfT1T35+gCgDFoL82JLsXqTJ76zv6A0YLOgEnLUMvLzsDsGIrl8NFpT2gQ==} 961 | engines: {node: '>= 0.4'} 962 | 963 | es-errors@1.3.0: 964 | resolution: {integrity: sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==} 965 | engines: {node: '>= 0.4'} 966 | 967 | esbuild@0.21.5: 968 | resolution: {integrity: sha512-mg3OPMV4hXywwpoDxu3Qda5xCKQi+vCTZq8S9J/EpkhB2HzKXq4SNFZE3+NK93JYxc8VMSep+lOUSC/RVKaBqw==} 969 | engines: {node: '>=12'} 970 | hasBin: true 971 | 972 | escalade@3.1.2: 973 | resolution: {integrity: sha512-ErCHMCae19vR8vQGe50xIsVomy19rg6gFu3+r3jkEO46suLMWBksvVyoGgQV+jOfl84ZSOSlmv6Gxa89PmTGmA==} 974 | engines: {node: '>=6'} 975 | 976 | escape-string-regexp@1.0.5: 977 | resolution: {integrity: sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==} 978 | engines: {node: '>=0.8.0'} 979 | 980 | escape-string-regexp@2.0.0: 981 | resolution: {integrity: sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w==} 982 | engines: {node: '>=8'} 983 | 984 | escape-string-regexp@4.0.0: 985 | resolution: {integrity: sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==} 986 | engines: {node: '>=10'} 987 | 988 | esprima@4.0.1: 989 | resolution: {integrity: sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==} 990 | engines: {node: '>=4'} 991 | hasBin: true 992 | 993 | execa@5.1.1: 994 | resolution: {integrity: sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==} 995 | engines: {node: '>=10'} 996 | 997 | exit@0.1.2: 998 | resolution: {integrity: sha512-Zk/eNKV2zbjpKzrsQ+n1G6poVbErQxJ0LBOJXaKZ1EViLzH+hrLu9cdXI4zw9dBQJslwBEpbQ2P1oS7nDxs6jQ==} 999 | engines: {node: '>= 0.8.0'} 1000 | 1001 | expand-template@2.0.3: 1002 | resolution: {integrity: sha512-XYfuKMvj4O35f/pOXLObndIRvyQ+/+6AhODh+OKWj9S9498pHHn/IMszH+gt0fBCRWMNfk1ZSp5x3AifmnI2vg==} 1003 | engines: {node: '>=6'} 1004 | 1005 | expect@29.7.0: 1006 | resolution: {integrity: sha512-2Zks0hf1VLFYI1kbh0I5jP3KHHyCHpkfyHBzsSXRFgl/Bg9mWYfMW8oD+PdMPlEwy5HNsR9JutYy6pMeOh61nw==} 1007 | engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} 1008 | 1009 | fast-glob@3.3.2: 1010 | resolution: {integrity: sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow==} 1011 | engines: {node: '>=8.6.0'} 1012 | 1013 | fast-json-stable-stringify@2.1.0: 1014 | resolution: {integrity: sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==} 1015 | 1016 | fastq@1.17.1: 1017 | resolution: {integrity: sha512-sRVD3lWVIXWg6By68ZN7vho9a1pQcN/WBFaAAsDDFzlJjvoGx0P8z7V1t72grFJfJhu3YPZBuu25f7Kaw2jN1w==} 1018 | 1019 | fb-watchman@2.0.2: 1020 | resolution: {integrity: sha512-p5161BqbuCaSnB8jIbzQHOlpgsPmK5rJVDfDKO91Axs5NC1uu3HRQm6wt9cd9/+GtQQIO53JdGXXoyDpTAsgYA==} 1021 | 1022 | file-uri-to-path@1.0.0: 1023 | resolution: {integrity: sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw==} 1024 | 1025 | fill-range@7.1.1: 1026 | resolution: {integrity: sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==} 1027 | engines: {node: '>=8'} 1028 | 1029 | find-up@4.1.0: 1030 | resolution: {integrity: sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==} 1031 | engines: {node: '>=8'} 1032 | 1033 | foreground-child@3.2.1: 1034 | resolution: {integrity: sha512-PXUUyLqrR2XCWICfv6ukppP96sdFwWbNEnfEMt7jNsISjMsvaLNinAHNDYyvkyU+SZG2BTSbT5NjG+vZslfGTA==} 1035 | engines: {node: '>=14'} 1036 | 1037 | fs-constants@1.0.0: 1038 | resolution: {integrity: sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow==} 1039 | 1040 | fs.realpath@1.0.0: 1041 | resolution: {integrity: sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==} 1042 | 1043 | fsevents@2.3.3: 1044 | resolution: {integrity: sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==} 1045 | engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0} 1046 | os: [darwin] 1047 | 1048 | function-bind@1.1.2: 1049 | resolution: {integrity: sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==} 1050 | 1051 | gensync@1.0.0-beta.2: 1052 | resolution: {integrity: sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==} 1053 | engines: {node: '>=6.9.0'} 1054 | 1055 | get-caller-file@2.0.5: 1056 | resolution: {integrity: sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==} 1057 | engines: {node: 6.* || 8.* || >= 10.*} 1058 | 1059 | get-intrinsic@1.2.4: 1060 | resolution: {integrity: sha512-5uYhsJH8VJBTv7oslg4BznJYhDoRI6waYCxMmCdnTrcCrHA/fCFKoTFz2JKKE0HdDFUF7/oQuhzumXJK7paBRQ==} 1061 | engines: {node: '>= 0.4'} 1062 | 1063 | get-package-type@0.1.0: 1064 | resolution: {integrity: sha512-pjzuKtY64GYfWizNAJ0fr9VqttZkNiK2iS430LtIHzjBEr6bX8Am2zm4sW4Ro5wjWW5cAlRL1qAMTcXbjNAO2Q==} 1065 | engines: {node: '>=8.0.0'} 1066 | 1067 | get-stream@6.0.1: 1068 | resolution: {integrity: sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==} 1069 | engines: {node: '>=10'} 1070 | 1071 | github-from-package@0.0.0: 1072 | resolution: {integrity: sha512-SyHy3T1v2NUXn29OsWdxmK6RwHD+vkj3v8en8AOBZ1wBQ/hCAQ5bAQTD02kW4W9tUp/3Qh6J8r9EvntiyCmOOw==} 1073 | 1074 | glob-parent@5.1.2: 1075 | resolution: {integrity: sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==} 1076 | engines: {node: '>= 6'} 1077 | 1078 | glob@10.4.2: 1079 | resolution: {integrity: sha512-GwMlUF6PkPo3Gk21UxkCohOv0PLcIXVtKyLlpEI28R/cO/4eNOdmLk3CMW1wROV/WR/EsZOWAfBbBOqYvs88/w==} 1080 | engines: {node: '>=16 || 14 >=14.18'} 1081 | hasBin: true 1082 | 1083 | glob@7.2.3: 1084 | resolution: {integrity: sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==} 1085 | deprecated: Glob versions prior to v9 are no longer supported 1086 | 1087 | globals@11.12.0: 1088 | resolution: {integrity: sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==} 1089 | engines: {node: '>=4'} 1090 | 1091 | globby@11.1.0: 1092 | resolution: {integrity: sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==} 1093 | engines: {node: '>=10'} 1094 | 1095 | gopd@1.0.1: 1096 | resolution: {integrity: sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==} 1097 | 1098 | graceful-fs@4.2.11: 1099 | resolution: {integrity: sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==} 1100 | 1101 | has-flag@3.0.0: 1102 | resolution: {integrity: sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==} 1103 | engines: {node: '>=4'} 1104 | 1105 | has-flag@4.0.0: 1106 | resolution: {integrity: sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==} 1107 | engines: {node: '>=8'} 1108 | 1109 | has-property-descriptors@1.0.2: 1110 | resolution: {integrity: sha512-55JNKuIW+vq4Ke1BjOTjM2YctQIvCT7GFzHwmfZPGo5wnrgkid0YQtnAleFSqumZm4az3n2BS+erby5ipJdgrg==} 1111 | 1112 | has-proto@1.0.3: 1113 | resolution: {integrity: sha512-SJ1amZAJUiZS+PhsVLf5tGydlaVB8EdFpaSO4gmiUKUOxk8qzn5AIy4ZeJUmh22znIdk/uMAUT2pl3FxzVUH+Q==} 1114 | engines: {node: '>= 0.4'} 1115 | 1116 | has-symbols@1.0.3: 1117 | resolution: {integrity: sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==} 1118 | engines: {node: '>= 0.4'} 1119 | 1120 | hasown@2.0.2: 1121 | resolution: {integrity: sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==} 1122 | engines: {node: '>= 0.4'} 1123 | 1124 | html-escaper@2.0.2: 1125 | resolution: {integrity: sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==} 1126 | 1127 | human-signals@2.1.0: 1128 | resolution: {integrity: sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==} 1129 | engines: {node: '>=10.17.0'} 1130 | 1131 | ieee754@1.2.1: 1132 | resolution: {integrity: sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==} 1133 | 1134 | ignore@5.3.1: 1135 | resolution: {integrity: sha512-5Fytz/IraMjqpwfd34ke28PTVMjZjJG2MPn5t7OE4eUCUNf8BAa7b5WUS9/Qvr6mwOQS7Mk6vdsMno5he+T8Xw==} 1136 | engines: {node: '>= 4'} 1137 | 1138 | import-local@3.1.0: 1139 | resolution: {integrity: sha512-ASB07uLtnDs1o6EHjKpX34BKYDSqnFerfTOJL2HvMqF70LnxpjkzDB8J44oT9pu4AMPkQwf8jl6szgvNd2tRIg==} 1140 | engines: {node: '>=8'} 1141 | hasBin: true 1142 | 1143 | imurmurhash@0.1.4: 1144 | resolution: {integrity: sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==} 1145 | engines: {node: '>=0.8.19'} 1146 | 1147 | inflight@1.0.6: 1148 | resolution: {integrity: sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==} 1149 | deprecated: This module is not supported, and leaks memory. Do not use it. Check out lru-cache if you want a good and tested way to coalesce async requests by a key value, which is much more comprehensive and powerful. 1150 | 1151 | inherits@2.0.4: 1152 | resolution: {integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==} 1153 | 1154 | ini@1.3.8: 1155 | resolution: {integrity: sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==} 1156 | 1157 | is-arrayish@0.2.1: 1158 | resolution: {integrity: sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==} 1159 | 1160 | is-binary-path@2.1.0: 1161 | resolution: {integrity: sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==} 1162 | engines: {node: '>=8'} 1163 | 1164 | is-core-module@2.14.0: 1165 | resolution: {integrity: sha512-a5dFJih5ZLYlRtDc0dZWP7RiKr6xIKzmn/oAYCDvdLThadVgyJwlaoQPmRtMSpz+rk0OGAgIu+TcM9HUF0fk1A==} 1166 | engines: {node: '>= 0.4'} 1167 | 1168 | is-extglob@2.1.1: 1169 | resolution: {integrity: sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==} 1170 | engines: {node: '>=0.10.0'} 1171 | 1172 | is-fullwidth-code-point@3.0.0: 1173 | resolution: {integrity: sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==} 1174 | engines: {node: '>=8'} 1175 | 1176 | is-generator-fn@2.1.0: 1177 | resolution: {integrity: sha512-cTIB4yPYL/Grw0EaSzASzg6bBy9gqCofvWN8okThAYIxKJZC+udlRAmGbM0XLeniEJSs8uEgHPGuHSe1XsOLSQ==} 1178 | engines: {node: '>=6'} 1179 | 1180 | is-glob@4.0.3: 1181 | resolution: {integrity: sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==} 1182 | engines: {node: '>=0.10.0'} 1183 | 1184 | is-number@7.0.0: 1185 | resolution: {integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==} 1186 | engines: {node: '>=0.12.0'} 1187 | 1188 | is-stream@2.0.1: 1189 | resolution: {integrity: sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==} 1190 | engines: {node: '>=8'} 1191 | 1192 | isexe@2.0.0: 1193 | resolution: {integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==} 1194 | 1195 | istanbul-lib-coverage@3.2.2: 1196 | resolution: {integrity: sha512-O8dpsF+r0WV/8MNRKfnmrtCWhuKjxrq2w+jpzBL5UZKTi2LeVWnWOmWRxFlesJONmc+wLAGvKQZEOanko0LFTg==} 1197 | engines: {node: '>=8'} 1198 | 1199 | istanbul-lib-instrument@5.2.1: 1200 | resolution: {integrity: sha512-pzqtp31nLv/XFOzXGuvhCb8qhjmTVo5vjVk19XE4CRlSWz0KoeJ3bw9XsA7nOp9YBf4qHjwBxkDzKcME/J29Yg==} 1201 | engines: {node: '>=8'} 1202 | 1203 | istanbul-lib-instrument@6.0.2: 1204 | resolution: {integrity: sha512-1WUsZ9R1lA0HtBSohTkm39WTPlNKSJ5iFk7UwqXkBLoHQT+hfqPsfsTDVuZdKGaBwn7din9bS7SsnoAr943hvw==} 1205 | engines: {node: '>=10'} 1206 | 1207 | istanbul-lib-report@3.0.1: 1208 | resolution: {integrity: sha512-GCfE1mtsHGOELCU8e/Z7YWzpmybrx/+dSTfLrvY8qRmaY6zXTKWn6WQIjaAFw069icm6GVMNkgu0NzI4iPZUNw==} 1209 | engines: {node: '>=10'} 1210 | 1211 | istanbul-lib-source-maps@4.0.1: 1212 | resolution: {integrity: sha512-n3s8EwkdFIJCG3BPKBYvskgXGoy88ARzvegkitk60NxRdwltLOTaH7CUiMRXvwYorl0Q712iEjcWB+fK/MrWVw==} 1213 | engines: {node: '>=10'} 1214 | 1215 | istanbul-reports@3.1.7: 1216 | resolution: {integrity: sha512-BewmUXImeuRk2YY0PVbxgKAysvhRPUQE0h5QRM++nVWyubKGV0l8qQ5op8+B2DOmwSe63Jivj0BjkPQVf8fP5g==} 1217 | engines: {node: '>=8'} 1218 | 1219 | jackspeak@3.4.0: 1220 | resolution: {integrity: sha512-JVYhQnN59LVPFCEcVa2C3CrEKYacvjRfqIQl+h8oi91aLYQVWRYbxjPcv1bUiUy/kLmQaANrYfNMCO3kuEDHfw==} 1221 | engines: {node: '>=14'} 1222 | 1223 | jest-changed-files@29.7.0: 1224 | resolution: {integrity: sha512-fEArFiwf1BpQ+4bXSprcDc3/x4HSzL4al2tozwVpDFpsxALjLYdyiIK4e5Vz66GQJIbXJ82+35PtysofptNX2w==} 1225 | engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} 1226 | 1227 | jest-circus@29.7.0: 1228 | resolution: {integrity: sha512-3E1nCMgipcTkCocFwM90XXQab9bS+GMsjdpmPrlelaxwD93Ad8iVEjX/vvHPdLPnFf+L40u+5+iutRdA1N9myw==} 1229 | engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} 1230 | 1231 | jest-cli@29.7.0: 1232 | resolution: {integrity: sha512-OVVobw2IubN/GSYsxETi+gOe7Ka59EFMR/twOU3Jb2GnKKeMGJB5SGUUrEz3SFVmJASUdZUzy83sLNNQ2gZslg==} 1233 | engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} 1234 | hasBin: true 1235 | peerDependencies: 1236 | node-notifier: ^8.0.1 || ^9.0.0 || ^10.0.0 1237 | peerDependenciesMeta: 1238 | node-notifier: 1239 | optional: true 1240 | 1241 | jest-config@29.7.0: 1242 | resolution: {integrity: sha512-uXbpfeQ7R6TZBqI3/TxCU4q4ttk3u0PJeC+E0zbfSoSjq6bJ7buBPxzQPL0ifrkY4DNu4JUdk0ImlBUYi840eQ==} 1243 | engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} 1244 | peerDependencies: 1245 | '@types/node': '*' 1246 | ts-node: '>=9.0.0' 1247 | peerDependenciesMeta: 1248 | '@types/node': 1249 | optional: true 1250 | ts-node: 1251 | optional: true 1252 | 1253 | jest-diff@29.7.0: 1254 | resolution: {integrity: sha512-LMIgiIrhigmPrs03JHpxUh2yISK3vLFPkAodPeo0+BuF7wA2FoQbkEg1u8gBYBThncu7e1oEDUfIXVuTqLRUjw==} 1255 | engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} 1256 | 1257 | jest-docblock@29.7.0: 1258 | resolution: {integrity: sha512-q617Auw3A612guyaFgsbFeYpNP5t2aoUNLwBUbc/0kD1R4t9ixDbyFTHd1nok4epoVFpr7PmeWHrhvuV3XaJ4g==} 1259 | engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} 1260 | 1261 | jest-each@29.7.0: 1262 | resolution: {integrity: sha512-gns+Er14+ZrEoC5fhOfYCY1LOHHr0TI+rQUHZS8Ttw2l7gl+80eHc/gFf2Ktkw0+SIACDTeWvpFcv3B04VembQ==} 1263 | engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} 1264 | 1265 | jest-environment-node@29.7.0: 1266 | resolution: {integrity: sha512-DOSwCRqXirTOyheM+4d5YZOrWcdu0LNZ87ewUoywbcb2XR4wKgqiG8vNeYwhjFMbEkfju7wx2GYH0P2gevGvFw==} 1267 | engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} 1268 | 1269 | jest-get-type@29.6.3: 1270 | resolution: {integrity: sha512-zrteXnqYxfQh7l5FHyL38jL39di8H8rHoecLH3JNxH3BwOrBsNeabdap5e0I23lD4HHI8W5VFBZqG4Eaq5LNcw==} 1271 | engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} 1272 | 1273 | jest-haste-map@29.7.0: 1274 | resolution: {integrity: sha512-fP8u2pyfqx0K1rGn1R9pyE0/KTn+G7PxktWidOBTqFPLYX0b9ksaMFkhK5vrS3DVun09pckLdlx90QthlW7AmA==} 1275 | engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} 1276 | 1277 | jest-leak-detector@29.7.0: 1278 | resolution: {integrity: sha512-kYA8IJcSYtST2BY9I+SMC32nDpBT3J2NvWJx8+JCuCdl/CR1I4EKUJROiP8XtCcxqgTTBGJNdbB1A8XRKbTetw==} 1279 | engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} 1280 | 1281 | jest-matcher-utils@29.7.0: 1282 | resolution: {integrity: sha512-sBkD+Xi9DtcChsI3L3u0+N0opgPYnCRPtGcQYrgXmR+hmt/fYfWAL0xRXYU8eWOdfuLgBe0YCW3AFtnRLagq/g==} 1283 | engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} 1284 | 1285 | jest-message-util@29.7.0: 1286 | resolution: {integrity: sha512-GBEV4GRADeP+qtB2+6u61stea8mGcOT4mCtrYISZwfu9/ISHFJ/5zOMXYbpBE9RsS5+Gb63DW4FgmnKJ79Kf6w==} 1287 | engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} 1288 | 1289 | jest-mock@29.7.0: 1290 | resolution: {integrity: sha512-ITOMZn+UkYS4ZFh83xYAOzWStloNzJFO2s8DWrE4lhtGD+AorgnbkiKERe4wQVBydIGPx059g6riW5Btp6Llnw==} 1291 | engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} 1292 | 1293 | jest-pnp-resolver@1.2.3: 1294 | resolution: {integrity: sha512-+3NpwQEnRoIBtx4fyhblQDPgJI0H1IEIkX7ShLUjPGA7TtUTvI1oiKi3SR4oBR0hQhQR80l4WAe5RrXBwWMA8w==} 1295 | engines: {node: '>=6'} 1296 | peerDependencies: 1297 | jest-resolve: '*' 1298 | peerDependenciesMeta: 1299 | jest-resolve: 1300 | optional: true 1301 | 1302 | jest-regex-util@29.6.3: 1303 | resolution: {integrity: sha512-KJJBsRCyyLNWCNBOvZyRDnAIfUiRJ8v+hOBQYGn8gDyF3UegwiP4gwRR3/SDa42g1YbVycTidUF3rKjyLFDWbg==} 1304 | engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} 1305 | 1306 | jest-resolve-dependencies@29.7.0: 1307 | resolution: {integrity: sha512-un0zD/6qxJ+S0et7WxeI3H5XSe9lTBBR7bOHCHXkKR6luG5mwDDlIzVQ0V5cZCuoTgEdcdwzTghYkTWfubi+nA==} 1308 | engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} 1309 | 1310 | jest-resolve@29.7.0: 1311 | resolution: {integrity: sha512-IOVhZSrg+UvVAshDSDtHyFCCBUl/Q3AAJv8iZ6ZjnZ74xzvwuzLXid9IIIPgTnY62SJjfuupMKZsZQRsCvxEgA==} 1312 | engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} 1313 | 1314 | jest-runner@29.7.0: 1315 | resolution: {integrity: sha512-fsc4N6cPCAahybGBfTRcq5wFR6fpLznMg47sY5aDpsoejOcVYFb07AHuSnR0liMcPTgBsA3ZJL6kFOjPdoNipQ==} 1316 | engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} 1317 | 1318 | jest-runtime@29.7.0: 1319 | resolution: {integrity: sha512-gUnLjgwdGqW7B4LvOIkbKs9WGbn+QLqRQQ9juC6HndeDiezIwhDP+mhMwHWCEcfQ5RUXa6OPnFF8BJh5xegwwQ==} 1320 | engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} 1321 | 1322 | jest-snapshot@29.7.0: 1323 | resolution: {integrity: sha512-Rm0BMWtxBcioHr1/OX5YCP8Uov4riHvKPknOGs804Zg9JGZgmIBkbtlxJC/7Z4msKYVbIJtfU+tKb8xlYNfdkw==} 1324 | engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} 1325 | 1326 | jest-util@29.7.0: 1327 | resolution: {integrity: sha512-z6EbKajIpqGKU56y5KBUgy1dt1ihhQJgWzUlZHArA/+X2ad7Cb5iF+AK1EWVL/Bo7Rz9uurpqw6SiBCefUbCGA==} 1328 | engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} 1329 | 1330 | jest-validate@29.7.0: 1331 | resolution: {integrity: sha512-ZB7wHqaRGVw/9hST/OuFUReG7M8vKeq0/J2egIGLdvjHCmYqGARhzXmtgi+gVeZ5uXFF219aOc3Ls2yLg27tkw==} 1332 | engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} 1333 | 1334 | jest-watcher@29.7.0: 1335 | resolution: {integrity: sha512-49Fg7WXkU3Vl2h6LbLtMQ/HyB6rXSIX7SqvBLQmssRBGN9I0PNvPmAmCWSOY6SOvrjhI/F7/bGAv9RtnsPA03g==} 1336 | engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} 1337 | 1338 | jest-worker@29.7.0: 1339 | resolution: {integrity: sha512-eIz2msL/EzL9UFTFFx7jBTkeZfku0yUAyZZZmJ93H2TYEiroIx2PQjEXcwYtYl8zXCxb+PAmA2hLIt/6ZEkPHw==} 1340 | engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} 1341 | 1342 | jest@29.7.0: 1343 | resolution: {integrity: sha512-NIy3oAFp9shda19hy4HK0HRTWKtPJmGdnvywu01nOqNC2vZg+Z+fvJDxpMQA88eb2I9EcafcdjYgsDthnYTvGw==} 1344 | engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} 1345 | hasBin: true 1346 | peerDependencies: 1347 | node-notifier: ^8.0.1 || ^9.0.0 || ^10.0.0 1348 | peerDependenciesMeta: 1349 | node-notifier: 1350 | optional: true 1351 | 1352 | joycon@3.1.1: 1353 | resolution: {integrity: sha512-34wB/Y7MW7bzjKRjUKTa46I2Z7eV62Rkhva+KkopW7Qvv/OSWBqvkSY7vusOPrNuZcUG3tApvdVgNB8POj3SPw==} 1354 | engines: {node: '>=10'} 1355 | 1356 | js-tokens@4.0.0: 1357 | resolution: {integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==} 1358 | 1359 | js-yaml@3.14.1: 1360 | resolution: {integrity: sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==} 1361 | hasBin: true 1362 | 1363 | jsesc@2.5.2: 1364 | resolution: {integrity: sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==} 1365 | engines: {node: '>=4'} 1366 | hasBin: true 1367 | 1368 | json-parse-even-better-errors@2.3.1: 1369 | resolution: {integrity: sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==} 1370 | 1371 | json5@2.2.3: 1372 | resolution: {integrity: sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==} 1373 | engines: {node: '>=6'} 1374 | hasBin: true 1375 | 1376 | kleur@3.0.3: 1377 | resolution: {integrity: sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w==} 1378 | engines: {node: '>=6'} 1379 | 1380 | leven@3.1.0: 1381 | resolution: {integrity: sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A==} 1382 | engines: {node: '>=6'} 1383 | 1384 | lilconfig@3.1.2: 1385 | resolution: {integrity: sha512-eop+wDAvpItUys0FWkHIKeC9ybYrTGbU41U5K7+bttZZeohvnY7M9dZ5kB21GNWiFT2q1OoPTvncPCgSOVO5ow==} 1386 | engines: {node: '>=14'} 1387 | 1388 | lines-and-columns@1.2.4: 1389 | resolution: {integrity: sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==} 1390 | 1391 | load-tsconfig@0.2.5: 1392 | resolution: {integrity: sha512-IXO6OCs9yg8tMKzfPZ1YmheJbZCiEsnBdcB03l0OcfK9prKnJb96siuHCr5Fl37/yo9DnKU+TLpxzTUspw9shg==} 1393 | engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} 1394 | 1395 | locate-path@5.0.0: 1396 | resolution: {integrity: sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==} 1397 | engines: {node: '>=8'} 1398 | 1399 | lodash-es@4.17.21: 1400 | resolution: {integrity: sha512-mKnC+QJ9pWVzv+C4/U3rRsHapFfHvQFoFB92e52xeyGMcX6/OlIl78je1u8vePzYZSkkogMPJ2yjxxsb89cxyw==} 1401 | 1402 | lodash.memoize@4.1.2: 1403 | resolution: {integrity: sha512-t7j+NzmgnQzTAYXcsHYLgimltOV1MXHtlOWf6GjL9Kj8GK5FInw5JotxvbOs+IvV1/Dzo04/fCGfLVs7aXb4Ag==} 1404 | 1405 | lodash.sortby@4.7.0: 1406 | resolution: {integrity: sha512-HDWXG8isMntAyRF5vZ7xKuEvOhT4AhlRt/3czTSjvGUxjYCBVRQY48ViDHyfYz9VIoBkW4TMGQNapx+l3RUwdA==} 1407 | 1408 | lodash@4.17.21: 1409 | resolution: {integrity: sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==} 1410 | 1411 | loose-envify@1.4.0: 1412 | resolution: {integrity: sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==} 1413 | hasBin: true 1414 | 1415 | lru-cache@10.2.2: 1416 | resolution: {integrity: sha512-9hp3Vp2/hFQUiIwKo8XCeFVnrg8Pk3TYNPIR7tJADKi5YfcF7vEaK7avFHTlSy3kOKYaJQaalfEo6YuXdceBOQ==} 1417 | engines: {node: 14 || >=16.14} 1418 | 1419 | lru-cache@5.1.1: 1420 | resolution: {integrity: sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==} 1421 | 1422 | make-dir@4.0.0: 1423 | resolution: {integrity: sha512-hXdUTZYIVOt1Ex//jAQi+wTZZpUpwBj/0QsOzqegb3rGMMeJiSEu5xLHnYfBrRV4RH2+OCSOO95Is/7x1WJ4bw==} 1424 | engines: {node: '>=10'} 1425 | 1426 | make-error@1.3.6: 1427 | resolution: {integrity: sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==} 1428 | 1429 | makeerror@1.0.12: 1430 | resolution: {integrity: sha512-JmqCvUhmt43madlpFzG4BQzG2Z3m6tvQDNKdClZnO3VbIudJYmxsT0FNJMeiB2+JTSlTQTSbU8QdesVmwJcmLg==} 1431 | 1432 | merge-stream@2.0.0: 1433 | resolution: {integrity: sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==} 1434 | 1435 | merge2@1.4.1: 1436 | resolution: {integrity: sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==} 1437 | engines: {node: '>= 8'} 1438 | 1439 | micromatch@4.0.7: 1440 | resolution: {integrity: sha512-LPP/3KorzCwBxfeUuZmaR6bG2kdeHSbe0P2tY3FLRU4vYrjYz5hI4QZwV0njUx3jeuKe67YukQ1LSPZBKDqO/Q==} 1441 | engines: {node: '>=8.6'} 1442 | 1443 | mimic-fn@2.1.0: 1444 | resolution: {integrity: sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==} 1445 | engines: {node: '>=6'} 1446 | 1447 | mimic-response@3.1.0: 1448 | resolution: {integrity: sha512-z0yWI+4FDrrweS8Zmt4Ej5HdJmky15+L2e6Wgn3+iK5fWzb6T3fhNFq2+MeTRb064c6Wr4N/wv0DzQTjNzHNGQ==} 1449 | engines: {node: '>=10'} 1450 | 1451 | minimatch@3.1.2: 1452 | resolution: {integrity: sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==} 1453 | 1454 | minimatch@9.0.4: 1455 | resolution: {integrity: sha512-KqWh+VchfxcMNRAJjj2tnsSJdNbHsVgnkBhTNrW7AjVo6OvLtxw8zfT9oLw1JSohlFzJ8jCoTgaoXvJ+kHt6fw==} 1456 | engines: {node: '>=16 || 14 >=14.17'} 1457 | 1458 | minimist@1.2.8: 1459 | resolution: {integrity: sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==} 1460 | 1461 | minipass@7.1.2: 1462 | resolution: {integrity: sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw==} 1463 | engines: {node: '>=16 || 14 >=14.17'} 1464 | 1465 | mkdirp-classic@0.5.3: 1466 | resolution: {integrity: sha512-gKLcREMhtuZRwRAfqP3RFW+TK4JqApVBtOIftVgjuABpAtpxhPGaDcfvbhNvD0B8iD1oUr/txX35NjcaY6Ns/A==} 1467 | 1468 | ms@2.1.2: 1469 | resolution: {integrity: sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==} 1470 | 1471 | mz@2.7.0: 1472 | resolution: {integrity: sha512-z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q==} 1473 | 1474 | napi-build-utils@1.0.2: 1475 | resolution: {integrity: sha512-ONmRUqK7zj7DWX0D9ADe03wbwOBZxNAfF20PlGfCWQcD3+/MakShIHrMqx9YwPTfxDdF1zLeL+RGZiR9kGMLdg==} 1476 | 1477 | natural-compare@1.4.0: 1478 | resolution: {integrity: sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==} 1479 | 1480 | node-abi@3.65.0: 1481 | resolution: {integrity: sha512-ThjYBfoDNr08AWx6hGaRbfPwxKV9kVzAzOzlLKbk2CuqXE2xnCh+cbAGnwM3t8Lq4v9rUB7VfondlkBckcJrVA==} 1482 | engines: {node: '>=10'} 1483 | 1484 | node-int64@0.4.0: 1485 | resolution: {integrity: sha512-O5lz91xSOeoXP6DulyHfllpq+Eg00MWitZIbtPfoSEvqIHdl5gfcY6hYzDWnj0qD5tz52PI08u9qUvSVeUBeHw==} 1486 | 1487 | node-releases@2.0.14: 1488 | resolution: {integrity: sha512-y10wOWt8yZpqXmOgRo77WaHEmhYQYGNA6y421PKsKYWEK8aW+cqAphborZDhqfyKrbZEN92CN1X2KbafY2s7Yw==} 1489 | 1490 | normalize-path@3.0.0: 1491 | resolution: {integrity: sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==} 1492 | engines: {node: '>=0.10.0'} 1493 | 1494 | npm-run-path@4.0.1: 1495 | resolution: {integrity: sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==} 1496 | engines: {node: '>=8'} 1497 | 1498 | object-assign@4.1.1: 1499 | resolution: {integrity: sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==} 1500 | engines: {node: '>=0.10.0'} 1501 | 1502 | object-inspect@1.13.2: 1503 | resolution: {integrity: sha512-IRZSRuzJiynemAXPYtPe5BoI/RESNYR7TYm50MC5Mqbd3Jmw5y790sErYw3V6SryFJD64b74qQQs9wn5Bg/k3g==} 1504 | engines: {node: '>= 0.4'} 1505 | 1506 | once@1.4.0: 1507 | resolution: {integrity: sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==} 1508 | 1509 | onetime@5.1.2: 1510 | resolution: {integrity: sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==} 1511 | engines: {node: '>=6'} 1512 | 1513 | p-limit@2.3.0: 1514 | resolution: {integrity: sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==} 1515 | engines: {node: '>=6'} 1516 | 1517 | p-limit@3.1.0: 1518 | resolution: {integrity: sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==} 1519 | engines: {node: '>=10'} 1520 | 1521 | p-locate@4.1.0: 1522 | resolution: {integrity: sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==} 1523 | engines: {node: '>=8'} 1524 | 1525 | p-try@2.2.0: 1526 | resolution: {integrity: sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==} 1527 | engines: {node: '>=6'} 1528 | 1529 | package-json-from-dist@1.0.0: 1530 | resolution: {integrity: sha512-dATvCeZN/8wQsGywez1mzHtTlP22H8OEfPrVMLNr4/eGa+ijtLn/6M5f0dY8UKNrC2O9UCU6SSoG3qRKnt7STw==} 1531 | 1532 | papaparse@5.4.1: 1533 | resolution: {integrity: sha512-HipMsgJkZu8br23pW15uvo6sib6wne/4woLZPlFf3rpDyMe9ywEXUsuD7+6K9PRkJlVT51j/sCOYDKGGS3ZJrw==} 1534 | 1535 | parse-json@5.2.0: 1536 | resolution: {integrity: sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==} 1537 | engines: {node: '>=8'} 1538 | 1539 | path-exists@4.0.0: 1540 | resolution: {integrity: sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==} 1541 | engines: {node: '>=8'} 1542 | 1543 | path-is-absolute@1.0.1: 1544 | resolution: {integrity: sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==} 1545 | engines: {node: '>=0.10.0'} 1546 | 1547 | path-key@3.1.1: 1548 | resolution: {integrity: sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==} 1549 | engines: {node: '>=8'} 1550 | 1551 | path-parse@1.0.7: 1552 | resolution: {integrity: sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==} 1553 | 1554 | path-scurry@1.11.1: 1555 | resolution: {integrity: sha512-Xa4Nw17FS9ApQFJ9umLiJS4orGjm7ZzwUrwamcGQuHSzDyth9boKDaycYdDcZDuqYATXw4HFXgaqWTctW/v1HA==} 1556 | engines: {node: '>=16 || 14 >=14.18'} 1557 | 1558 | path-type@4.0.0: 1559 | resolution: {integrity: sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==} 1560 | engines: {node: '>=8'} 1561 | 1562 | picocolors@1.0.1: 1563 | resolution: {integrity: sha512-anP1Z8qwhkbmu7MFP5iTt+wQKXgwzf7zTyGlcdzabySa9vd0Xt392U0rVmz9poOaBj0uHJKyyo9/upk0HrEQew==} 1564 | 1565 | picomatch@2.3.1: 1566 | resolution: {integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==} 1567 | engines: {node: '>=8.6'} 1568 | 1569 | pirates@4.0.6: 1570 | resolution: {integrity: sha512-saLsH7WeYYPiD25LDuLRRY/i+6HaPYr6G1OUlN39otzkSTxKnubR9RTxS3/Kk50s1g2JTgFwWQDQyplC5/SHZg==} 1571 | engines: {node: '>= 6'} 1572 | 1573 | pkg-dir@4.2.0: 1574 | resolution: {integrity: sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==} 1575 | engines: {node: '>=8'} 1576 | 1577 | pluralize@8.0.0: 1578 | resolution: {integrity: sha512-Nc3IT5yHzflTfbjgqWcCPpo7DaKy4FnpB0l/zCAW0Tc7jxAiuqSxHasntB3D7887LSrA93kDJ9IXovxJYxyLCA==} 1579 | engines: {node: '>=4'} 1580 | 1581 | postcss-load-config@4.0.2: 1582 | resolution: {integrity: sha512-bSVhyJGL00wMVoPUzAVAnbEoWyqRxkjv64tUl427SKnPrENtq6hJwUojroMz2VB+Q1edmi4IfrAPpami5VVgMQ==} 1583 | engines: {node: '>= 14'} 1584 | peerDependencies: 1585 | postcss: '>=8.0.9' 1586 | ts-node: '>=9.0.0' 1587 | peerDependenciesMeta: 1588 | postcss: 1589 | optional: true 1590 | ts-node: 1591 | optional: true 1592 | 1593 | prebuild-install@7.1.2: 1594 | resolution: {integrity: sha512-UnNke3IQb6sgarcZIDU3gbMeTp/9SSU1DAIkil7PrqG1vZlBtY5msYccSKSHDqa3hNg436IXK+SNImReuA1wEQ==} 1595 | engines: {node: '>=10'} 1596 | hasBin: true 1597 | 1598 | pretty-format@29.7.0: 1599 | resolution: {integrity: sha512-Pdlw/oPxN+aXdmM9R00JVC9WVFoCLTKJvDVLgmJ+qAffBMxsV85l/Lu7sNx4zSzPyoL2euImuEwHhOXdEgNFZQ==} 1600 | engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} 1601 | 1602 | prompts@2.4.2: 1603 | resolution: {integrity: sha512-NxNv/kLguCA7p3jE8oL2aEBsrJWgAakBpgmgK6lpPWV+WuOmY6r2/zbAVnP+T8bQlA0nzHXSJSJW0Hq7ylaD2Q==} 1604 | engines: {node: '>= 6'} 1605 | 1606 | pump@3.0.0: 1607 | resolution: {integrity: sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==} 1608 | 1609 | punycode@2.3.1: 1610 | resolution: {integrity: sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==} 1611 | engines: {node: '>=6'} 1612 | 1613 | pure-rand@6.1.0: 1614 | resolution: {integrity: sha512-bVWawvoZoBYpp6yIoQtQXHZjmz35RSVHnUOTefl8Vcjr8snTPY1wnpSPMWekcFwbxI6gtmT7rSYPFvz71ldiOA==} 1615 | 1616 | qs@6.12.1: 1617 | resolution: {integrity: sha512-zWmv4RSuB9r2mYQw3zxQuHWeU+42aKi1wWig/j4ele4ygELZ7PEO6MM7rim9oAQH2A5MWfsAVf/jPvTPgCbvUQ==} 1618 | engines: {node: '>=0.6'} 1619 | 1620 | queue-microtask@1.2.3: 1621 | resolution: {integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==} 1622 | 1623 | rc@1.2.8: 1624 | resolution: {integrity: sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==} 1625 | hasBin: true 1626 | 1627 | react-dom@18.3.1: 1628 | resolution: {integrity: sha512-5m4nQKp+rZRb09LNH59GM4BxTh9251/ylbKIbpe7TpGxfJ+9kv6BLkLBXIjjspbgbnIBNqlI23tRnTWT0snUIw==} 1629 | peerDependencies: 1630 | react: ^18.3.1 1631 | 1632 | react-is@18.3.1: 1633 | resolution: {integrity: sha512-/LLMVyas0ljjAtoYiPqYiL8VWXzUUdThrmU5+n20DZv+a+ClRoevUzw5JxU+Ieh5/c87ytoTBV9G1FiKfNJdmg==} 1634 | 1635 | react@18.3.1: 1636 | resolution: {integrity: sha512-wS+hAgJShR0KhEvPJArfuPVN1+Hz1t0Y6n5jLrGQbkb4urgPE/0Rve+1kMB1v/oWgHgm4WIcV+i7F2pTVj+2iQ==} 1637 | engines: {node: '>=0.10.0'} 1638 | 1639 | readable-stream@3.6.2: 1640 | resolution: {integrity: sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==} 1641 | engines: {node: '>= 6'} 1642 | 1643 | readdirp@3.6.0: 1644 | resolution: {integrity: sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==} 1645 | engines: {node: '>=8.10.0'} 1646 | 1647 | require-directory@2.1.1: 1648 | resolution: {integrity: sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==} 1649 | engines: {node: '>=0.10.0'} 1650 | 1651 | resolve-cwd@3.0.0: 1652 | resolution: {integrity: sha512-OrZaX2Mb+rJCpH/6CpSqt9xFVpN++x01XnN2ie9g6P5/3xelLAkXWVADpdz1IHD/KFfEXyE6V0U01OQ3UO2rEg==} 1653 | engines: {node: '>=8'} 1654 | 1655 | resolve-from@5.0.0: 1656 | resolution: {integrity: sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==} 1657 | engines: {node: '>=8'} 1658 | 1659 | resolve.exports@2.0.2: 1660 | resolution: {integrity: sha512-X2UW6Nw3n/aMgDVy+0rSqgHlv39WZAlZrXCdnbyEiKm17DSqHX4MmQMaST3FbeWR5FTuRcUwYAziZajji0Y7mg==} 1661 | engines: {node: '>=10'} 1662 | 1663 | resolve@1.22.8: 1664 | resolution: {integrity: sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==} 1665 | hasBin: true 1666 | 1667 | reusify@1.0.4: 1668 | resolution: {integrity: sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==} 1669 | engines: {iojs: '>=1.0.0', node: '>=0.10.0'} 1670 | 1671 | rollup@4.18.0: 1672 | resolution: {integrity: sha512-QmJz14PX3rzbJCN1SG4Xe/bAAX2a6NpCP8ab2vfu2GiUr8AQcr2nCV/oEO3yneFarB67zk8ShlIyWb2LGTb3Sg==} 1673 | engines: {node: '>=18.0.0', npm: '>=8.0.0'} 1674 | hasBin: true 1675 | 1676 | run-parallel@1.2.0: 1677 | resolution: {integrity: sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==} 1678 | 1679 | safe-buffer@5.2.1: 1680 | resolution: {integrity: sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==} 1681 | 1682 | scheduler@0.23.2: 1683 | resolution: {integrity: sha512-UOShsPwz7NrMUqhR6t0hWjFduvOzbtv7toDH1/hIrfRNIDBnnBWd0CwJTGvTpngVlmwGCdP9/Zl/tVrDqcuYzQ==} 1684 | 1685 | semver@6.3.1: 1686 | resolution: {integrity: sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==} 1687 | hasBin: true 1688 | 1689 | semver@7.6.2: 1690 | resolution: {integrity: sha512-FNAIBWCx9qcRhoHcgcJ0gvU7SN1lYU2ZXuSfl04bSC5OpvDHFyJCjdNHomPXxjQlCBU67YW64PzY7/VIEH7F2w==} 1691 | engines: {node: '>=10'} 1692 | hasBin: true 1693 | 1694 | set-function-length@1.2.2: 1695 | resolution: {integrity: sha512-pgRc4hJ4/sNjWCSS9AmnS40x3bNMDTknHgL5UaMBTMyJnU90EgWh1Rz+MC9eFu4BuN/UwZjKQuY/1v3rM7HMfg==} 1696 | engines: {node: '>= 0.4'} 1697 | 1698 | shebang-command@2.0.0: 1699 | resolution: {integrity: sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==} 1700 | engines: {node: '>=8'} 1701 | 1702 | shebang-regex@3.0.0: 1703 | resolution: {integrity: sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==} 1704 | engines: {node: '>=8'} 1705 | 1706 | side-channel@1.0.6: 1707 | resolution: {integrity: sha512-fDW/EZ6Q9RiO8eFG8Hj+7u/oW+XrPTIChwCOM2+th2A6OblDtYYIpve9m+KvI9Z4C9qSEXlaGR6bTEYHReuglA==} 1708 | engines: {node: '>= 0.4'} 1709 | 1710 | signal-exit@3.0.7: 1711 | resolution: {integrity: sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==} 1712 | 1713 | signal-exit@4.1.0: 1714 | resolution: {integrity: sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==} 1715 | engines: {node: '>=14'} 1716 | 1717 | simple-concat@1.0.1: 1718 | resolution: {integrity: sha512-cSFtAPtRhljv69IK0hTVZQ+OfE9nePi/rtJmw5UjHeVyVroEqJXP1sFztKUy1qU+xvz3u/sfYJLa947b7nAN2Q==} 1719 | 1720 | simple-get@4.0.1: 1721 | resolution: {integrity: sha512-brv7p5WgH0jmQJr1ZDDfKDOSeWWg+OVypG99A/5vYGPqJ6pxiaHLy8nxtFjBA7oMa01ebA9gfh1uMCFqOuXxvA==} 1722 | 1723 | sisteransi@1.0.5: 1724 | resolution: {integrity: sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==} 1725 | 1726 | slash@3.0.0: 1727 | resolution: {integrity: sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==} 1728 | engines: {node: '>=8'} 1729 | 1730 | source-map-support@0.5.13: 1731 | resolution: {integrity: sha512-SHSKFHadjVA5oR4PPqhtAVdcBWwRYVd6g6cAXnIbRiIwc2EhPrTuKUBdSLvlEKyIP3GCf89fltvcZiP9MMFA1w==} 1732 | 1733 | source-map@0.6.1: 1734 | resolution: {integrity: sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==} 1735 | engines: {node: '>=0.10.0'} 1736 | 1737 | source-map@0.8.0-beta.0: 1738 | resolution: {integrity: sha512-2ymg6oRBpebeZi9UUNsgQ89bhx01TcTkmNTGnNO88imTmbSgy4nfujrgVEFKWpMTEGA11EDkTt7mqObTPdigIA==} 1739 | engines: {node: '>= 8'} 1740 | 1741 | sprintf-js@1.0.3: 1742 | resolution: {integrity: sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==} 1743 | 1744 | stack-utils@2.0.6: 1745 | resolution: {integrity: sha512-XlkWvfIm6RmsWtNJx+uqtKLS8eqFbxUg0ZzLXqY0caEy9l7hruX8IpiDnjsLavoBgqCCR71TqWO8MaXYheJ3RQ==} 1746 | engines: {node: '>=10'} 1747 | 1748 | stackframe@1.3.4: 1749 | resolution: {integrity: sha512-oeVtt7eWQS+Na6F//S4kJ2K2VbRlS9D43mAlMyVpVWovy9o+jfgH8O9agzANzaiLjclA0oYzUXEM4PurhSUChw==} 1750 | 1751 | string-length@4.0.2: 1752 | resolution: {integrity: sha512-+l6rNN5fYHNhZZy41RXsYptCjA2Igmq4EG7kZAYFQI1E1VTXarr6ZPXBg6eq7Y6eK4FEhY6AJlyuFIb/v/S0VQ==} 1753 | engines: {node: '>=10'} 1754 | 1755 | string-width@4.2.3: 1756 | resolution: {integrity: sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==} 1757 | engines: {node: '>=8'} 1758 | 1759 | string-width@5.1.2: 1760 | resolution: {integrity: sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==} 1761 | engines: {node: '>=12'} 1762 | 1763 | string_decoder@1.3.0: 1764 | resolution: {integrity: sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==} 1765 | 1766 | strip-ansi@6.0.1: 1767 | resolution: {integrity: sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==} 1768 | engines: {node: '>=8'} 1769 | 1770 | strip-ansi@7.1.0: 1771 | resolution: {integrity: sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==} 1772 | engines: {node: '>=12'} 1773 | 1774 | strip-bom@4.0.0: 1775 | resolution: {integrity: sha512-3xurFv5tEgii33Zi8Jtp55wEIILR9eh34FAW00PZf+JnSsTmV/ioewSgQl97JHvgjoRGwPShsWm+IdrxB35d0w==} 1776 | engines: {node: '>=8'} 1777 | 1778 | strip-final-newline@2.0.0: 1779 | resolution: {integrity: sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==} 1780 | engines: {node: '>=6'} 1781 | 1782 | strip-json-comments@2.0.1: 1783 | resolution: {integrity: sha512-4gB8na07fecVVkOI6Rs4e7T6NOTki5EmL7TUduTs6bu3EdnSycntVJ4re8kgZA+wx9IueI2Y11bfbgwtzuE0KQ==} 1784 | engines: {node: '>=0.10.0'} 1785 | 1786 | strip-json-comments@3.1.1: 1787 | resolution: {integrity: sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==} 1788 | engines: {node: '>=8'} 1789 | 1790 | sucrase@3.35.0: 1791 | resolution: {integrity: sha512-8EbVDiu9iN/nESwxeSxDKe0dunta1GOlHufmSSXxMD2z2/tMZpDMpvXQGsc+ajGo8y2uYUmixaSRUc/QPoQ0GA==} 1792 | engines: {node: '>=16 || 14 >=14.17'} 1793 | hasBin: true 1794 | 1795 | supports-color@5.5.0: 1796 | resolution: {integrity: sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==} 1797 | engines: {node: '>=4'} 1798 | 1799 | supports-color@7.2.0: 1800 | resolution: {integrity: sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==} 1801 | engines: {node: '>=8'} 1802 | 1803 | supports-color@8.1.1: 1804 | resolution: {integrity: sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==} 1805 | engines: {node: '>=10'} 1806 | 1807 | supports-preserve-symlinks-flag@1.0.0: 1808 | resolution: {integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==} 1809 | engines: {node: '>= 0.4'} 1810 | 1811 | tar-fs@2.1.1: 1812 | resolution: {integrity: sha512-V0r2Y9scmbDRLCNex/+hYzvp/zyYjvFbHPNgVTKfQvVrb6guiE/fxP+XblDNR011utopbkex2nM4dHNV6GDsng==} 1813 | 1814 | tar-stream@2.2.0: 1815 | resolution: {integrity: sha512-ujeqbceABgwMZxEJnk2HDY2DlnUZ+9oEcb1KzTVfYHio0UE6dG71n60d8D2I4qNvleWrrXpmjpt7vZeF1LnMZQ==} 1816 | engines: {node: '>=6'} 1817 | 1818 | test-exclude@6.0.0: 1819 | resolution: {integrity: sha512-cAGWPIyOHU6zlmg88jwm7VRyXnMN7iV68OGAbYDk/Mh/xC/pzVPlQtY6ngoIH/5/tciuhGfvESU8GrHrcxD56w==} 1820 | engines: {node: '>=8'} 1821 | 1822 | thenify-all@1.6.0: 1823 | resolution: {integrity: sha512-RNxQH/qI8/t3thXJDwcstUO4zeqo64+Uy/+sNVRBx4Xn2OX+OZ9oP+iJnNFqplFra2ZUVeKCSa2oVWi3T4uVmA==} 1824 | engines: {node: '>=0.8'} 1825 | 1826 | thenify@3.3.1: 1827 | resolution: {integrity: sha512-RVZSIV5IG10Hk3enotrhvz0T9em6cyHBLkH/YAZuKqd8hRkKhSfCGIcP2KUY0EPxndzANBmNllzWPwak+bheSw==} 1828 | 1829 | tmpl@1.0.5: 1830 | resolution: {integrity: sha512-3f0uOEAQwIqGuWW2MVzYg8fV/QNnc/IpuJNG837rLuczAaLVHslWHZQj4IGiEl5Hs3kkbhwL9Ab7Hrsmuj+Smw==} 1831 | 1832 | to-fast-properties@2.0.0: 1833 | resolution: {integrity: sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==} 1834 | engines: {node: '>=4'} 1835 | 1836 | to-regex-range@5.0.1: 1837 | resolution: {integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==} 1838 | engines: {node: '>=8.0'} 1839 | 1840 | tr46@1.0.1: 1841 | resolution: {integrity: sha512-dTpowEjclQ7Kgx5SdBkqRzVhERQXov8/l9Ft9dVM9fmg0W0KQSVaXX9T4i6twCPNtYiZM53lpSSUAwJbFPOHxA==} 1842 | 1843 | tree-kill@1.2.2: 1844 | resolution: {integrity: sha512-L0Orpi8qGpRG//Nd+H90vFB+3iHnue1zSSGmNOOCh1GLJ7rUKVwV2HvijphGQS2UmhUZewS9VgvxYIdgr+fG1A==} 1845 | hasBin: true 1846 | 1847 | ts-interface-checker@0.1.13: 1848 | resolution: {integrity: sha512-Y/arvbn+rrz3JCKl9C4kVNfTfSm2/mEp5FSz5EsZSANGPSlQrpRI5M4PKF+mJnE52jOO90PnPSc3Ur3bTQw0gA==} 1849 | 1850 | ts-jest@29.1.5: 1851 | resolution: {integrity: sha512-UuClSYxM7byvvYfyWdFI+/2UxMmwNyJb0NPkZPQE2hew3RurV7l7zURgOHAd/1I1ZdPpe3GUsXNXAcN8TFKSIg==} 1852 | engines: {node: ^14.15.0 || ^16.10.0 || ^18.0.0 || >=20.0.0} 1853 | hasBin: true 1854 | peerDependencies: 1855 | '@babel/core': '>=7.0.0-beta.0 <8' 1856 | '@jest/transform': ^29.0.0 1857 | '@jest/types': ^29.0.0 1858 | babel-jest: ^29.0.0 1859 | esbuild: '*' 1860 | jest: ^29.0.0 1861 | typescript: '>=4.3 <6' 1862 | peerDependenciesMeta: 1863 | '@babel/core': 1864 | optional: true 1865 | '@jest/transform': 1866 | optional: true 1867 | '@jest/types': 1868 | optional: true 1869 | babel-jest: 1870 | optional: true 1871 | esbuild: 1872 | optional: true 1873 | 1874 | tslib@2.6.3: 1875 | resolution: {integrity: sha512-xNvxJEOUiWPGhUuUdQgAJPKOOJfGnIyKySOc09XkKsgdUV/3E2zvwZYdejjmRgPCgcym1juLH3226yA7sEFJKQ==} 1876 | 1877 | tsup@8.1.0: 1878 | resolution: {integrity: sha512-UFdfCAXukax+U6KzeTNO2kAARHcWxmKsnvSPXUcfA1D+kU05XDccCrkffCQpFaWDsZfV0jMyTsxU39VfCp6EOg==} 1879 | engines: {node: '>=18'} 1880 | hasBin: true 1881 | peerDependencies: 1882 | '@microsoft/api-extractor': ^7.36.0 1883 | '@swc/core': ^1 1884 | postcss: ^8.4.12 1885 | typescript: '>=4.5.0' 1886 | peerDependenciesMeta: 1887 | '@microsoft/api-extractor': 1888 | optional: true 1889 | '@swc/core': 1890 | optional: true 1891 | postcss: 1892 | optional: true 1893 | typescript: 1894 | optional: true 1895 | 1896 | tunnel-agent@0.6.0: 1897 | resolution: {integrity: sha512-McnNiV1l8RYeY8tBgEpuodCC1mLUdbSN+CYBL7kJsJNInOP8UjDDEwdk6Mw60vdLLrr5NHKZhMAOSrR2NZuQ+w==} 1898 | 1899 | type-detect@4.0.8: 1900 | resolution: {integrity: sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==} 1901 | engines: {node: '>=4'} 1902 | 1903 | type-fest@0.21.3: 1904 | resolution: {integrity: sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==} 1905 | engines: {node: '>=10'} 1906 | 1907 | typescript@5.5.2: 1908 | resolution: {integrity: sha512-NcRtPEOsPFFWjobJEtfihkLCZCXZt/os3zf8nTxjVH3RvTSxjrCamJpbExGvYOF+tFHc3pA65qpdwPbzjohhew==} 1909 | engines: {node: '>=14.17'} 1910 | hasBin: true 1911 | 1912 | undici-types@5.26.5: 1913 | resolution: {integrity: sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==} 1914 | 1915 | update-browserslist-db@1.0.16: 1916 | resolution: {integrity: sha512-KVbTxlBYlckhF5wgfyZXTWnMn7MMZjMu9XG8bPlliUOP9ThaF4QnhP8qrjrH7DRzHfSk0oQv1wToW+iA5GajEQ==} 1917 | hasBin: true 1918 | peerDependencies: 1919 | browserslist: '>= 4.21.0' 1920 | 1921 | use-sync-external-store@1.2.2: 1922 | resolution: {integrity: sha512-PElTlVMwpblvbNqQ82d2n6RjStvdSoNe9FG28kNfz3WiXilJm4DdNkEzRhCZuIDwY8U08WVihhGR5iRqAwfDiw==} 1923 | peerDependencies: 1924 | react: ^16.8.0 || ^17.0.0 || ^18.0.0 1925 | 1926 | util-deprecate@1.0.2: 1927 | resolution: {integrity: sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==} 1928 | 1929 | v8-to-istanbul@9.3.0: 1930 | resolution: {integrity: sha512-kiGUalWN+rgBJ/1OHZsBtU4rXZOfj/7rKQxULKlIzwzQSvMJUUNgPwJEEh7gU6xEVxC0ahoOBvN2YI8GH6FNgA==} 1931 | engines: {node: '>=10.12.0'} 1932 | 1933 | walker@1.0.8: 1934 | resolution: {integrity: sha512-ts/8E8l5b7kY0vlWLewOkDXMmPdLcVV4GmOQLyxuSswIJsweeFZtAsMF7k1Nszz+TYBQrlYRmzOnr398y1JemQ==} 1935 | 1936 | warn-once@0.1.1: 1937 | resolution: {integrity: sha512-VkQZJbO8zVImzYFteBXvBOZEl1qL175WH8VmZcxF2fZAoudNhNDvHi+doCaAEdU2l2vtcIwa2zn0QK5+I1HQ3Q==} 1938 | 1939 | webidl-conversions@4.0.2: 1940 | resolution: {integrity: sha512-YQ+BmxuTgd6UXZW3+ICGfyqRyHXVlD5GtQr5+qjiNW7bF0cqrzX500HVXPBOvgXb5YnzDd+h0zqyv61KUD7+Sg==} 1941 | 1942 | whatwg-url@7.1.0: 1943 | resolution: {integrity: sha512-WUu7Rg1DroM7oQvGWfOiAK21n74Gg+T4elXEQYkOhtyLeWiJFoOGLXPKI/9gzIie9CtwVLm8wtw6YJdKyxSjeg==} 1944 | 1945 | which@2.0.2: 1946 | resolution: {integrity: sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==} 1947 | engines: {node: '>= 8'} 1948 | hasBin: true 1949 | 1950 | wrap-ansi@7.0.0: 1951 | resolution: {integrity: sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==} 1952 | engines: {node: '>=10'} 1953 | 1954 | wrap-ansi@8.1.0: 1955 | resolution: {integrity: sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==} 1956 | engines: {node: '>=12'} 1957 | 1958 | wrappy@1.0.2: 1959 | resolution: {integrity: sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==} 1960 | 1961 | write-file-atomic@4.0.2: 1962 | resolution: {integrity: sha512-7KxauUdBmSdWnmpaGFg+ppNjKF8uNLry8LyzjauQDOVONfFLNKrKvQOxZ/VuTIcS/gge/YNahf5RIIQWTSarlg==} 1963 | engines: {node: ^12.13.0 || ^14.15.0 || >=16.0.0} 1964 | 1965 | y18n@5.0.8: 1966 | resolution: {integrity: sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==} 1967 | engines: {node: '>=10'} 1968 | 1969 | yallist@3.1.1: 1970 | resolution: {integrity: sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==} 1971 | 1972 | yaml@2.4.5: 1973 | resolution: {integrity: sha512-aBx2bnqDzVOyNKfsysjA2ms5ZlnjSAW2eG3/L5G/CSujfjLJTJsEw1bGw8kCf04KodQWk1pxlGnZ56CRxiawmg==} 1974 | engines: {node: '>= 14'} 1975 | hasBin: true 1976 | 1977 | yargs-parser@21.1.1: 1978 | resolution: {integrity: sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==} 1979 | engines: {node: '>=12'} 1980 | 1981 | yargs@17.7.2: 1982 | resolution: {integrity: sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==} 1983 | engines: {node: '>=12'} 1984 | 1985 | yocto-queue@0.1.0: 1986 | resolution: {integrity: sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==} 1987 | engines: {node: '>=10'} 1988 | 1989 | snapshots: 1990 | 1991 | '@ampproject/remapping@2.3.0': 1992 | dependencies: 1993 | '@jridgewell/gen-mapping': 0.3.5 1994 | '@jridgewell/trace-mapping': 0.3.25 1995 | 1996 | '@babel/code-frame@7.24.7': 1997 | dependencies: 1998 | '@babel/highlight': 7.24.7 1999 | picocolors: 1.0.1 2000 | 2001 | '@babel/compat-data@7.24.7': {} 2002 | 2003 | '@babel/core@7.24.7': 2004 | dependencies: 2005 | '@ampproject/remapping': 2.3.0 2006 | '@babel/code-frame': 7.24.7 2007 | '@babel/generator': 7.24.7 2008 | '@babel/helper-compilation-targets': 7.24.7 2009 | '@babel/helper-module-transforms': 7.24.7(@babel/core@7.24.7) 2010 | '@babel/helpers': 7.24.7 2011 | '@babel/parser': 7.24.7 2012 | '@babel/template': 7.24.7 2013 | '@babel/traverse': 7.24.7 2014 | '@babel/types': 7.24.7 2015 | convert-source-map: 2.0.0 2016 | debug: 4.3.5 2017 | gensync: 1.0.0-beta.2 2018 | json5: 2.2.3 2019 | semver: 6.3.1 2020 | transitivePeerDependencies: 2021 | - supports-color 2022 | 2023 | '@babel/generator@7.24.7': 2024 | dependencies: 2025 | '@babel/types': 7.24.7 2026 | '@jridgewell/gen-mapping': 0.3.5 2027 | '@jridgewell/trace-mapping': 0.3.25 2028 | jsesc: 2.5.2 2029 | 2030 | '@babel/helper-compilation-targets@7.24.7': 2031 | dependencies: 2032 | '@babel/compat-data': 7.24.7 2033 | '@babel/helper-validator-option': 7.24.7 2034 | browserslist: 4.23.1 2035 | lru-cache: 5.1.1 2036 | semver: 6.3.1 2037 | 2038 | '@babel/helper-environment-visitor@7.24.7': 2039 | dependencies: 2040 | '@babel/types': 7.24.7 2041 | 2042 | '@babel/helper-function-name@7.24.7': 2043 | dependencies: 2044 | '@babel/template': 7.24.7 2045 | '@babel/types': 7.24.7 2046 | 2047 | '@babel/helper-hoist-variables@7.24.7': 2048 | dependencies: 2049 | '@babel/types': 7.24.7 2050 | 2051 | '@babel/helper-module-imports@7.24.7': 2052 | dependencies: 2053 | '@babel/traverse': 7.24.7 2054 | '@babel/types': 7.24.7 2055 | transitivePeerDependencies: 2056 | - supports-color 2057 | 2058 | '@babel/helper-module-transforms@7.24.7(@babel/core@7.24.7)': 2059 | dependencies: 2060 | '@babel/core': 7.24.7 2061 | '@babel/helper-environment-visitor': 7.24.7 2062 | '@babel/helper-module-imports': 7.24.7 2063 | '@babel/helper-simple-access': 7.24.7 2064 | '@babel/helper-split-export-declaration': 7.24.7 2065 | '@babel/helper-validator-identifier': 7.24.7 2066 | transitivePeerDependencies: 2067 | - supports-color 2068 | 2069 | '@babel/helper-plugin-utils@7.24.7': {} 2070 | 2071 | '@babel/helper-simple-access@7.24.7': 2072 | dependencies: 2073 | '@babel/traverse': 7.24.7 2074 | '@babel/types': 7.24.7 2075 | transitivePeerDependencies: 2076 | - supports-color 2077 | 2078 | '@babel/helper-split-export-declaration@7.24.7': 2079 | dependencies: 2080 | '@babel/types': 7.24.7 2081 | 2082 | '@babel/helper-string-parser@7.24.7': {} 2083 | 2084 | '@babel/helper-validator-identifier@7.24.7': {} 2085 | 2086 | '@babel/helper-validator-option@7.24.7': {} 2087 | 2088 | '@babel/helpers@7.24.7': 2089 | dependencies: 2090 | '@babel/template': 7.24.7 2091 | '@babel/types': 7.24.7 2092 | 2093 | '@babel/highlight@7.24.7': 2094 | dependencies: 2095 | '@babel/helper-validator-identifier': 7.24.7 2096 | chalk: 2.4.2 2097 | js-tokens: 4.0.0 2098 | picocolors: 1.0.1 2099 | 2100 | '@babel/parser@7.24.7': 2101 | dependencies: 2102 | '@babel/types': 7.24.7 2103 | 2104 | '@babel/plugin-syntax-async-generators@7.8.4(@babel/core@7.24.7)': 2105 | dependencies: 2106 | '@babel/core': 7.24.7 2107 | '@babel/helper-plugin-utils': 7.24.7 2108 | 2109 | '@babel/plugin-syntax-bigint@7.8.3(@babel/core@7.24.7)': 2110 | dependencies: 2111 | '@babel/core': 7.24.7 2112 | '@babel/helper-plugin-utils': 7.24.7 2113 | 2114 | '@babel/plugin-syntax-class-properties@7.12.13(@babel/core@7.24.7)': 2115 | dependencies: 2116 | '@babel/core': 7.24.7 2117 | '@babel/helper-plugin-utils': 7.24.7 2118 | 2119 | '@babel/plugin-syntax-import-meta@7.10.4(@babel/core@7.24.7)': 2120 | dependencies: 2121 | '@babel/core': 7.24.7 2122 | '@babel/helper-plugin-utils': 7.24.7 2123 | 2124 | '@babel/plugin-syntax-json-strings@7.8.3(@babel/core@7.24.7)': 2125 | dependencies: 2126 | '@babel/core': 7.24.7 2127 | '@babel/helper-plugin-utils': 7.24.7 2128 | 2129 | '@babel/plugin-syntax-jsx@7.24.7(@babel/core@7.24.7)': 2130 | dependencies: 2131 | '@babel/core': 7.24.7 2132 | '@babel/helper-plugin-utils': 7.24.7 2133 | 2134 | '@babel/plugin-syntax-logical-assignment-operators@7.10.4(@babel/core@7.24.7)': 2135 | dependencies: 2136 | '@babel/core': 7.24.7 2137 | '@babel/helper-plugin-utils': 7.24.7 2138 | 2139 | '@babel/plugin-syntax-nullish-coalescing-operator@7.8.3(@babel/core@7.24.7)': 2140 | dependencies: 2141 | '@babel/core': 7.24.7 2142 | '@babel/helper-plugin-utils': 7.24.7 2143 | 2144 | '@babel/plugin-syntax-numeric-separator@7.10.4(@babel/core@7.24.7)': 2145 | dependencies: 2146 | '@babel/core': 7.24.7 2147 | '@babel/helper-plugin-utils': 7.24.7 2148 | 2149 | '@babel/plugin-syntax-object-rest-spread@7.8.3(@babel/core@7.24.7)': 2150 | dependencies: 2151 | '@babel/core': 7.24.7 2152 | '@babel/helper-plugin-utils': 7.24.7 2153 | 2154 | '@babel/plugin-syntax-optional-catch-binding@7.8.3(@babel/core@7.24.7)': 2155 | dependencies: 2156 | '@babel/core': 7.24.7 2157 | '@babel/helper-plugin-utils': 7.24.7 2158 | 2159 | '@babel/plugin-syntax-optional-chaining@7.8.3(@babel/core@7.24.7)': 2160 | dependencies: 2161 | '@babel/core': 7.24.7 2162 | '@babel/helper-plugin-utils': 7.24.7 2163 | 2164 | '@babel/plugin-syntax-top-level-await@7.14.5(@babel/core@7.24.7)': 2165 | dependencies: 2166 | '@babel/core': 7.24.7 2167 | '@babel/helper-plugin-utils': 7.24.7 2168 | 2169 | '@babel/plugin-syntax-typescript@7.24.7(@babel/core@7.24.7)': 2170 | dependencies: 2171 | '@babel/core': 7.24.7 2172 | '@babel/helper-plugin-utils': 7.24.7 2173 | 2174 | '@babel/template@7.24.7': 2175 | dependencies: 2176 | '@babel/code-frame': 7.24.7 2177 | '@babel/parser': 7.24.7 2178 | '@babel/types': 7.24.7 2179 | 2180 | '@babel/traverse@7.24.7': 2181 | dependencies: 2182 | '@babel/code-frame': 7.24.7 2183 | '@babel/generator': 7.24.7 2184 | '@babel/helper-environment-visitor': 7.24.7 2185 | '@babel/helper-function-name': 7.24.7 2186 | '@babel/helper-hoist-variables': 7.24.7 2187 | '@babel/helper-split-export-declaration': 7.24.7 2188 | '@babel/parser': 7.24.7 2189 | '@babel/types': 7.24.7 2190 | debug: 4.3.5 2191 | globals: 11.12.0 2192 | transitivePeerDependencies: 2193 | - supports-color 2194 | 2195 | '@babel/types@7.24.7': 2196 | dependencies: 2197 | '@babel/helper-string-parser': 7.24.7 2198 | '@babel/helper-validator-identifier': 7.24.7 2199 | to-fast-properties: 2.0.0 2200 | 2201 | '@bcoe/v8-coverage@0.2.3': {} 2202 | 2203 | '@esbuild-plugins/node-resolve@0.2.2(esbuild@0.21.5)': 2204 | dependencies: 2205 | '@types/resolve': 1.20.6 2206 | debug: 4.3.5 2207 | esbuild: 0.21.5 2208 | escape-string-regexp: 4.0.0 2209 | resolve: 1.22.8 2210 | transitivePeerDependencies: 2211 | - supports-color 2212 | 2213 | '@esbuild/aix-ppc64@0.21.5': 2214 | optional: true 2215 | 2216 | '@esbuild/android-arm64@0.21.5': 2217 | optional: true 2218 | 2219 | '@esbuild/android-arm@0.21.5': 2220 | optional: true 2221 | 2222 | '@esbuild/android-x64@0.21.5': 2223 | optional: true 2224 | 2225 | '@esbuild/darwin-arm64@0.21.5': 2226 | optional: true 2227 | 2228 | '@esbuild/darwin-x64@0.21.5': 2229 | optional: true 2230 | 2231 | '@esbuild/freebsd-arm64@0.21.5': 2232 | optional: true 2233 | 2234 | '@esbuild/freebsd-x64@0.21.5': 2235 | optional: true 2236 | 2237 | '@esbuild/linux-arm64@0.21.5': 2238 | optional: true 2239 | 2240 | '@esbuild/linux-arm@0.21.5': 2241 | optional: true 2242 | 2243 | '@esbuild/linux-ia32@0.21.5': 2244 | optional: true 2245 | 2246 | '@esbuild/linux-loong64@0.21.5': 2247 | optional: true 2248 | 2249 | '@esbuild/linux-mips64el@0.21.5': 2250 | optional: true 2251 | 2252 | '@esbuild/linux-ppc64@0.21.5': 2253 | optional: true 2254 | 2255 | '@esbuild/linux-riscv64@0.21.5': 2256 | optional: true 2257 | 2258 | '@esbuild/linux-s390x@0.21.5': 2259 | optional: true 2260 | 2261 | '@esbuild/linux-x64@0.21.5': 2262 | optional: true 2263 | 2264 | '@esbuild/netbsd-x64@0.21.5': 2265 | optional: true 2266 | 2267 | '@esbuild/openbsd-x64@0.21.5': 2268 | optional: true 2269 | 2270 | '@esbuild/sunos-x64@0.21.5': 2271 | optional: true 2272 | 2273 | '@esbuild/win32-arm64@0.21.5': 2274 | optional: true 2275 | 2276 | '@esbuild/win32-ia32@0.21.5': 2277 | optional: true 2278 | 2279 | '@esbuild/win32-x64@0.21.5': 2280 | optional: true 2281 | 2282 | '@isaacs/cliui@8.0.2': 2283 | dependencies: 2284 | string-width: 5.1.2 2285 | string-width-cjs: string-width@4.2.3 2286 | strip-ansi: 7.1.0 2287 | strip-ansi-cjs: strip-ansi@6.0.1 2288 | wrap-ansi: 8.1.0 2289 | wrap-ansi-cjs: wrap-ansi@7.0.0 2290 | 2291 | '@istanbuljs/load-nyc-config@1.1.0': 2292 | dependencies: 2293 | camelcase: 5.3.1 2294 | find-up: 4.1.0 2295 | get-package-type: 0.1.0 2296 | js-yaml: 3.14.1 2297 | resolve-from: 5.0.0 2298 | 2299 | '@istanbuljs/schema@0.1.3': {} 2300 | 2301 | '@jest/console@29.7.0': 2302 | dependencies: 2303 | '@jest/types': 29.6.3 2304 | '@types/node': 20.14.8 2305 | chalk: 4.1.2 2306 | jest-message-util: 29.7.0 2307 | jest-util: 29.7.0 2308 | slash: 3.0.0 2309 | 2310 | '@jest/core@29.7.0': 2311 | dependencies: 2312 | '@jest/console': 29.7.0 2313 | '@jest/reporters': 29.7.0 2314 | '@jest/test-result': 29.7.0 2315 | '@jest/transform': 29.7.0 2316 | '@jest/types': 29.6.3 2317 | '@types/node': 20.14.8 2318 | ansi-escapes: 4.3.2 2319 | chalk: 4.1.2 2320 | ci-info: 3.9.0 2321 | exit: 0.1.2 2322 | graceful-fs: 4.2.11 2323 | jest-changed-files: 29.7.0 2324 | jest-config: 29.7.0(@types/node@20.14.8) 2325 | jest-haste-map: 29.7.0 2326 | jest-message-util: 29.7.0 2327 | jest-regex-util: 29.6.3 2328 | jest-resolve: 29.7.0 2329 | jest-resolve-dependencies: 29.7.0 2330 | jest-runner: 29.7.0 2331 | jest-runtime: 29.7.0 2332 | jest-snapshot: 29.7.0 2333 | jest-util: 29.7.0 2334 | jest-validate: 29.7.0 2335 | jest-watcher: 29.7.0 2336 | micromatch: 4.0.7 2337 | pretty-format: 29.7.0 2338 | slash: 3.0.0 2339 | strip-ansi: 6.0.1 2340 | transitivePeerDependencies: 2341 | - babel-plugin-macros 2342 | - supports-color 2343 | - ts-node 2344 | 2345 | '@jest/environment@29.7.0': 2346 | dependencies: 2347 | '@jest/fake-timers': 29.7.0 2348 | '@jest/types': 29.6.3 2349 | '@types/node': 20.14.8 2350 | jest-mock: 29.7.0 2351 | 2352 | '@jest/expect-utils@29.7.0': 2353 | dependencies: 2354 | jest-get-type: 29.6.3 2355 | 2356 | '@jest/expect@29.7.0': 2357 | dependencies: 2358 | expect: 29.7.0 2359 | jest-snapshot: 29.7.0 2360 | transitivePeerDependencies: 2361 | - supports-color 2362 | 2363 | '@jest/fake-timers@29.7.0': 2364 | dependencies: 2365 | '@jest/types': 29.6.3 2366 | '@sinonjs/fake-timers': 10.3.0 2367 | '@types/node': 20.14.8 2368 | jest-message-util: 29.7.0 2369 | jest-mock: 29.7.0 2370 | jest-util: 29.7.0 2371 | 2372 | '@jest/globals@29.7.0': 2373 | dependencies: 2374 | '@jest/environment': 29.7.0 2375 | '@jest/expect': 29.7.0 2376 | '@jest/types': 29.6.3 2377 | jest-mock: 29.7.0 2378 | transitivePeerDependencies: 2379 | - supports-color 2380 | 2381 | '@jest/reporters@29.7.0': 2382 | dependencies: 2383 | '@bcoe/v8-coverage': 0.2.3 2384 | '@jest/console': 29.7.0 2385 | '@jest/test-result': 29.7.0 2386 | '@jest/transform': 29.7.0 2387 | '@jest/types': 29.6.3 2388 | '@jridgewell/trace-mapping': 0.3.25 2389 | '@types/node': 20.14.8 2390 | chalk: 4.1.2 2391 | collect-v8-coverage: 1.0.2 2392 | exit: 0.1.2 2393 | glob: 7.2.3 2394 | graceful-fs: 4.2.11 2395 | istanbul-lib-coverage: 3.2.2 2396 | istanbul-lib-instrument: 6.0.2 2397 | istanbul-lib-report: 3.0.1 2398 | istanbul-lib-source-maps: 4.0.1 2399 | istanbul-reports: 3.1.7 2400 | jest-message-util: 29.7.0 2401 | jest-util: 29.7.0 2402 | jest-worker: 29.7.0 2403 | slash: 3.0.0 2404 | string-length: 4.0.2 2405 | strip-ansi: 6.0.1 2406 | v8-to-istanbul: 9.3.0 2407 | transitivePeerDependencies: 2408 | - supports-color 2409 | 2410 | '@jest/schemas@29.6.3': 2411 | dependencies: 2412 | '@sinclair/typebox': 0.27.8 2413 | 2414 | '@jest/source-map@29.6.3': 2415 | dependencies: 2416 | '@jridgewell/trace-mapping': 0.3.25 2417 | callsites: 3.1.0 2418 | graceful-fs: 4.2.11 2419 | 2420 | '@jest/test-result@29.7.0': 2421 | dependencies: 2422 | '@jest/console': 29.7.0 2423 | '@jest/types': 29.6.3 2424 | '@types/istanbul-lib-coverage': 2.0.6 2425 | collect-v8-coverage: 1.0.2 2426 | 2427 | '@jest/test-sequencer@29.7.0': 2428 | dependencies: 2429 | '@jest/test-result': 29.7.0 2430 | graceful-fs: 4.2.11 2431 | jest-haste-map: 29.7.0 2432 | slash: 3.0.0 2433 | 2434 | '@jest/transform@29.7.0': 2435 | dependencies: 2436 | '@babel/core': 7.24.7 2437 | '@jest/types': 29.6.3 2438 | '@jridgewell/trace-mapping': 0.3.25 2439 | babel-plugin-istanbul: 6.1.1 2440 | chalk: 4.1.2 2441 | convert-source-map: 2.0.0 2442 | fast-json-stable-stringify: 2.1.0 2443 | graceful-fs: 4.2.11 2444 | jest-haste-map: 29.7.0 2445 | jest-regex-util: 29.6.3 2446 | jest-util: 29.7.0 2447 | micromatch: 4.0.7 2448 | pirates: 4.0.6 2449 | slash: 3.0.0 2450 | write-file-atomic: 4.0.2 2451 | transitivePeerDependencies: 2452 | - supports-color 2453 | 2454 | '@jest/types@29.6.3': 2455 | dependencies: 2456 | '@jest/schemas': 29.6.3 2457 | '@types/istanbul-lib-coverage': 2.0.6 2458 | '@types/istanbul-reports': 3.0.4 2459 | '@types/node': 20.14.8 2460 | '@types/yargs': 17.0.32 2461 | chalk: 4.1.2 2462 | 2463 | '@jridgewell/gen-mapping@0.3.5': 2464 | dependencies: 2465 | '@jridgewell/set-array': 1.2.1 2466 | '@jridgewell/sourcemap-codec': 1.4.15 2467 | '@jridgewell/trace-mapping': 0.3.25 2468 | 2469 | '@jridgewell/resolve-uri@3.1.2': {} 2470 | 2471 | '@jridgewell/set-array@1.2.1': {} 2472 | 2473 | '@jridgewell/sourcemap-codec@1.4.15': {} 2474 | 2475 | '@jridgewell/trace-mapping@0.3.25': 2476 | dependencies: 2477 | '@jridgewell/resolve-uri': 3.1.2 2478 | '@jridgewell/sourcemap-codec': 1.4.15 2479 | 2480 | '@nodelib/fs.scandir@2.1.5': 2481 | dependencies: 2482 | '@nodelib/fs.stat': 2.0.5 2483 | run-parallel: 1.2.0 2484 | 2485 | '@nodelib/fs.stat@2.0.5': {} 2486 | 2487 | '@nodelib/fs.walk@1.2.8': 2488 | dependencies: 2489 | '@nodelib/fs.scandir': 2.1.5 2490 | fastq: 1.17.1 2491 | 2492 | '@pkgjs/parseargs@0.11.0': 2493 | optional: true 2494 | 2495 | '@refinedev/core@4.51.0(@tanstack/react-query@5.45.1(react@18.3.1))(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': 2496 | dependencies: 2497 | '@refinedev/devtools-internal': 1.1.11(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) 2498 | '@tanstack/react-query': 5.45.1(react@18.3.1) 2499 | '@types/react': 18.3.3 2500 | '@types/react-dom': 18.3.0 2501 | lodash: 4.17.21 2502 | lodash-es: 4.17.21 2503 | papaparse: 5.4.1 2504 | pluralize: 8.0.0 2505 | qs: 6.12.1 2506 | react: 18.3.1 2507 | react-dom: 18.3.1(react@18.3.1) 2508 | tslib: 2.6.3 2509 | warn-once: 0.1.1 2510 | transitivePeerDependencies: 2511 | - react-native 2512 | 2513 | '@refinedev/devtools-internal@1.1.11(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': 2514 | dependencies: 2515 | '@refinedev/devtools-shared': 1.1.9(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) 2516 | '@tanstack/react-query': 4.36.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1) 2517 | '@types/react': 18.3.3 2518 | '@types/react-dom': 18.3.0 2519 | error-stack-parser: 2.1.4 2520 | react: 18.3.1 2521 | react-dom: 18.3.1(react@18.3.1) 2522 | transitivePeerDependencies: 2523 | - react-native 2524 | 2525 | '@refinedev/devtools-shared@1.1.9(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': 2526 | dependencies: 2527 | '@tanstack/react-query': 4.36.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1) 2528 | '@types/react': 18.3.3 2529 | '@types/react-dom': 18.3.0 2530 | error-stack-parser: 2.1.4 2531 | react: 18.3.1 2532 | react-dom: 18.3.1(react@18.3.1) 2533 | transitivePeerDependencies: 2534 | - react-native 2535 | 2536 | '@rollup/rollup-android-arm-eabi@4.18.0': 2537 | optional: true 2538 | 2539 | '@rollup/rollup-android-arm64@4.18.0': 2540 | optional: true 2541 | 2542 | '@rollup/rollup-darwin-arm64@4.18.0': 2543 | optional: true 2544 | 2545 | '@rollup/rollup-darwin-x64@4.18.0': 2546 | optional: true 2547 | 2548 | '@rollup/rollup-linux-arm-gnueabihf@4.18.0': 2549 | optional: true 2550 | 2551 | '@rollup/rollup-linux-arm-musleabihf@4.18.0': 2552 | optional: true 2553 | 2554 | '@rollup/rollup-linux-arm64-gnu@4.18.0': 2555 | optional: true 2556 | 2557 | '@rollup/rollup-linux-arm64-musl@4.18.0': 2558 | optional: true 2559 | 2560 | '@rollup/rollup-linux-powerpc64le-gnu@4.18.0': 2561 | optional: true 2562 | 2563 | '@rollup/rollup-linux-riscv64-gnu@4.18.0': 2564 | optional: true 2565 | 2566 | '@rollup/rollup-linux-s390x-gnu@4.18.0': 2567 | optional: true 2568 | 2569 | '@rollup/rollup-linux-x64-gnu@4.18.0': 2570 | optional: true 2571 | 2572 | '@rollup/rollup-linux-x64-musl@4.18.0': 2573 | optional: true 2574 | 2575 | '@rollup/rollup-win32-arm64-msvc@4.18.0': 2576 | optional: true 2577 | 2578 | '@rollup/rollup-win32-ia32-msvc@4.18.0': 2579 | optional: true 2580 | 2581 | '@rollup/rollup-win32-x64-msvc@4.18.0': 2582 | optional: true 2583 | 2584 | '@sinclair/typebox@0.27.8': {} 2585 | 2586 | '@sinonjs/commons@3.0.1': 2587 | dependencies: 2588 | type-detect: 4.0.8 2589 | 2590 | '@sinonjs/fake-timers@10.3.0': 2591 | dependencies: 2592 | '@sinonjs/commons': 3.0.1 2593 | 2594 | '@tanstack/query-core@4.36.1': {} 2595 | 2596 | '@tanstack/query-core@5.45.0': {} 2597 | 2598 | '@tanstack/react-query@4.36.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': 2599 | dependencies: 2600 | '@tanstack/query-core': 4.36.1 2601 | react: 18.3.1 2602 | use-sync-external-store: 1.2.2(react@18.3.1) 2603 | optionalDependencies: 2604 | react-dom: 18.3.1(react@18.3.1) 2605 | 2606 | '@tanstack/react-query@5.45.1(react@18.3.1)': 2607 | dependencies: 2608 | '@tanstack/query-core': 5.45.0 2609 | react: 18.3.1 2610 | 2611 | '@types/babel__core@7.20.5': 2612 | dependencies: 2613 | '@babel/parser': 7.24.7 2614 | '@babel/types': 7.24.7 2615 | '@types/babel__generator': 7.6.8 2616 | '@types/babel__template': 7.4.4 2617 | '@types/babel__traverse': 7.20.6 2618 | 2619 | '@types/babel__generator@7.6.8': 2620 | dependencies: 2621 | '@babel/types': 7.24.7 2622 | 2623 | '@types/babel__template@7.4.4': 2624 | dependencies: 2625 | '@babel/parser': 7.24.7 2626 | '@babel/types': 7.24.7 2627 | 2628 | '@types/babel__traverse@7.20.6': 2629 | dependencies: 2630 | '@babel/types': 7.24.7 2631 | 2632 | '@types/better-sqlite3@7.6.10': 2633 | dependencies: 2634 | '@types/node': 20.14.8 2635 | 2636 | '@types/estree@1.0.5': {} 2637 | 2638 | '@types/graceful-fs@4.1.9': 2639 | dependencies: 2640 | '@types/node': 20.14.8 2641 | 2642 | '@types/istanbul-lib-coverage@2.0.6': {} 2643 | 2644 | '@types/istanbul-lib-report@3.0.3': 2645 | dependencies: 2646 | '@types/istanbul-lib-coverage': 2.0.6 2647 | 2648 | '@types/istanbul-reports@3.0.4': 2649 | dependencies: 2650 | '@types/istanbul-lib-report': 3.0.3 2651 | 2652 | '@types/jest@29.5.12': 2653 | dependencies: 2654 | expect: 29.7.0 2655 | pretty-format: 29.7.0 2656 | 2657 | '@types/node@20.14.8': 2658 | dependencies: 2659 | undici-types: 5.26.5 2660 | 2661 | '@types/prop-types@15.7.12': {} 2662 | 2663 | '@types/react-dom@18.3.0': 2664 | dependencies: 2665 | '@types/react': 18.3.3 2666 | 2667 | '@types/react@18.3.3': 2668 | dependencies: 2669 | '@types/prop-types': 15.7.12 2670 | csstype: 3.1.3 2671 | 2672 | '@types/resolve@1.20.6': {} 2673 | 2674 | '@types/stack-utils@2.0.3': {} 2675 | 2676 | '@types/yargs-parser@21.0.3': {} 2677 | 2678 | '@types/yargs@17.0.32': 2679 | dependencies: 2680 | '@types/yargs-parser': 21.0.3 2681 | 2682 | ansi-escapes@4.3.2: 2683 | dependencies: 2684 | type-fest: 0.21.3 2685 | 2686 | ansi-regex@5.0.1: {} 2687 | 2688 | ansi-regex@6.0.1: {} 2689 | 2690 | ansi-styles@3.2.1: 2691 | dependencies: 2692 | color-convert: 1.9.3 2693 | 2694 | ansi-styles@4.3.0: 2695 | dependencies: 2696 | color-convert: 2.0.1 2697 | 2698 | ansi-styles@5.2.0: {} 2699 | 2700 | ansi-styles@6.2.1: {} 2701 | 2702 | any-promise@1.3.0: {} 2703 | 2704 | anymatch@3.1.3: 2705 | dependencies: 2706 | normalize-path: 3.0.0 2707 | picomatch: 2.3.1 2708 | 2709 | argparse@1.0.10: 2710 | dependencies: 2711 | sprintf-js: 1.0.3 2712 | 2713 | array-union@2.1.0: {} 2714 | 2715 | babel-jest@29.7.0(@babel/core@7.24.7): 2716 | dependencies: 2717 | '@babel/core': 7.24.7 2718 | '@jest/transform': 29.7.0 2719 | '@types/babel__core': 7.20.5 2720 | babel-plugin-istanbul: 6.1.1 2721 | babel-preset-jest: 29.6.3(@babel/core@7.24.7) 2722 | chalk: 4.1.2 2723 | graceful-fs: 4.2.11 2724 | slash: 3.0.0 2725 | transitivePeerDependencies: 2726 | - supports-color 2727 | 2728 | babel-plugin-istanbul@6.1.1: 2729 | dependencies: 2730 | '@babel/helper-plugin-utils': 7.24.7 2731 | '@istanbuljs/load-nyc-config': 1.1.0 2732 | '@istanbuljs/schema': 0.1.3 2733 | istanbul-lib-instrument: 5.2.1 2734 | test-exclude: 6.0.0 2735 | transitivePeerDependencies: 2736 | - supports-color 2737 | 2738 | babel-plugin-jest-hoist@29.6.3: 2739 | dependencies: 2740 | '@babel/template': 7.24.7 2741 | '@babel/types': 7.24.7 2742 | '@types/babel__core': 7.20.5 2743 | '@types/babel__traverse': 7.20.6 2744 | 2745 | babel-preset-current-node-syntax@1.0.1(@babel/core@7.24.7): 2746 | dependencies: 2747 | '@babel/core': 7.24.7 2748 | '@babel/plugin-syntax-async-generators': 7.8.4(@babel/core@7.24.7) 2749 | '@babel/plugin-syntax-bigint': 7.8.3(@babel/core@7.24.7) 2750 | '@babel/plugin-syntax-class-properties': 7.12.13(@babel/core@7.24.7) 2751 | '@babel/plugin-syntax-import-meta': 7.10.4(@babel/core@7.24.7) 2752 | '@babel/plugin-syntax-json-strings': 7.8.3(@babel/core@7.24.7) 2753 | '@babel/plugin-syntax-logical-assignment-operators': 7.10.4(@babel/core@7.24.7) 2754 | '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3(@babel/core@7.24.7) 2755 | '@babel/plugin-syntax-numeric-separator': 7.10.4(@babel/core@7.24.7) 2756 | '@babel/plugin-syntax-object-rest-spread': 7.8.3(@babel/core@7.24.7) 2757 | '@babel/plugin-syntax-optional-catch-binding': 7.8.3(@babel/core@7.24.7) 2758 | '@babel/plugin-syntax-optional-chaining': 7.8.3(@babel/core@7.24.7) 2759 | '@babel/plugin-syntax-top-level-await': 7.14.5(@babel/core@7.24.7) 2760 | 2761 | babel-preset-jest@29.6.3(@babel/core@7.24.7): 2762 | dependencies: 2763 | '@babel/core': 7.24.7 2764 | babel-plugin-jest-hoist: 29.6.3 2765 | babel-preset-current-node-syntax: 1.0.1(@babel/core@7.24.7) 2766 | 2767 | balanced-match@1.0.2: {} 2768 | 2769 | base64-js@1.5.1: {} 2770 | 2771 | better-sqlite3@11.0.0: 2772 | dependencies: 2773 | bindings: 1.5.0 2774 | prebuild-install: 7.1.2 2775 | 2776 | binary-extensions@2.3.0: {} 2777 | 2778 | bindings@1.5.0: 2779 | dependencies: 2780 | file-uri-to-path: 1.0.0 2781 | 2782 | bl@4.1.0: 2783 | dependencies: 2784 | buffer: 5.7.1 2785 | inherits: 2.0.4 2786 | readable-stream: 3.6.2 2787 | 2788 | brace-expansion@1.1.11: 2789 | dependencies: 2790 | balanced-match: 1.0.2 2791 | concat-map: 0.0.1 2792 | 2793 | brace-expansion@2.0.1: 2794 | dependencies: 2795 | balanced-match: 1.0.2 2796 | 2797 | braces@3.0.3: 2798 | dependencies: 2799 | fill-range: 7.1.1 2800 | 2801 | browserslist@4.23.1: 2802 | dependencies: 2803 | caniuse-lite: 1.0.30001636 2804 | electron-to-chromium: 1.4.810 2805 | node-releases: 2.0.14 2806 | update-browserslist-db: 1.0.16(browserslist@4.23.1) 2807 | 2808 | bs-logger@0.2.6: 2809 | dependencies: 2810 | fast-json-stable-stringify: 2.1.0 2811 | 2812 | bser@2.1.1: 2813 | dependencies: 2814 | node-int64: 0.4.0 2815 | 2816 | buffer-from@1.1.2: {} 2817 | 2818 | buffer@5.7.1: 2819 | dependencies: 2820 | base64-js: 1.5.1 2821 | ieee754: 1.2.1 2822 | 2823 | bundle-require@4.2.1(esbuild@0.21.5): 2824 | dependencies: 2825 | esbuild: 0.21.5 2826 | load-tsconfig: 0.2.5 2827 | 2828 | cac@6.7.14: {} 2829 | 2830 | call-bind@1.0.7: 2831 | dependencies: 2832 | es-define-property: 1.0.0 2833 | es-errors: 1.3.0 2834 | function-bind: 1.1.2 2835 | get-intrinsic: 1.2.4 2836 | set-function-length: 1.2.2 2837 | 2838 | callsites@3.1.0: {} 2839 | 2840 | camelcase@5.3.1: {} 2841 | 2842 | camelcase@6.3.0: {} 2843 | 2844 | caniuse-lite@1.0.30001636: {} 2845 | 2846 | chalk@2.4.2: 2847 | dependencies: 2848 | ansi-styles: 3.2.1 2849 | escape-string-regexp: 1.0.5 2850 | supports-color: 5.5.0 2851 | 2852 | chalk@4.1.2: 2853 | dependencies: 2854 | ansi-styles: 4.3.0 2855 | supports-color: 7.2.0 2856 | 2857 | char-regex@1.0.2: {} 2858 | 2859 | chokidar@3.6.0: 2860 | dependencies: 2861 | anymatch: 3.1.3 2862 | braces: 3.0.3 2863 | glob-parent: 5.1.2 2864 | is-binary-path: 2.1.0 2865 | is-glob: 4.0.3 2866 | normalize-path: 3.0.0 2867 | readdirp: 3.6.0 2868 | optionalDependencies: 2869 | fsevents: 2.3.3 2870 | 2871 | chownr@1.1.4: {} 2872 | 2873 | ci-info@3.9.0: {} 2874 | 2875 | cjs-module-lexer@1.3.1: {} 2876 | 2877 | cliui@8.0.1: 2878 | dependencies: 2879 | string-width: 4.2.3 2880 | strip-ansi: 6.0.1 2881 | wrap-ansi: 7.0.0 2882 | 2883 | co@4.6.0: {} 2884 | 2885 | collect-v8-coverage@1.0.2: {} 2886 | 2887 | color-convert@1.9.3: 2888 | dependencies: 2889 | color-name: 1.1.3 2890 | 2891 | color-convert@2.0.1: 2892 | dependencies: 2893 | color-name: 1.1.4 2894 | 2895 | color-name@1.1.3: {} 2896 | 2897 | color-name@1.1.4: {} 2898 | 2899 | commander@4.1.1: {} 2900 | 2901 | concat-map@0.0.1: {} 2902 | 2903 | convert-source-map@2.0.0: {} 2904 | 2905 | create-jest@29.7.0(@types/node@20.14.8): 2906 | dependencies: 2907 | '@jest/types': 29.6.3 2908 | chalk: 4.1.2 2909 | exit: 0.1.2 2910 | graceful-fs: 4.2.11 2911 | jest-config: 29.7.0(@types/node@20.14.8) 2912 | jest-util: 29.7.0 2913 | prompts: 2.4.2 2914 | transitivePeerDependencies: 2915 | - '@types/node' 2916 | - babel-plugin-macros 2917 | - supports-color 2918 | - ts-node 2919 | 2920 | cross-spawn@7.0.3: 2921 | dependencies: 2922 | path-key: 3.1.1 2923 | shebang-command: 2.0.0 2924 | which: 2.0.2 2925 | 2926 | csstype@3.1.3: {} 2927 | 2928 | debug@4.3.5: 2929 | dependencies: 2930 | ms: 2.1.2 2931 | 2932 | decompress-response@6.0.0: 2933 | dependencies: 2934 | mimic-response: 3.1.0 2935 | 2936 | dedent@1.5.3: {} 2937 | 2938 | deep-extend@0.6.0: {} 2939 | 2940 | deepmerge@4.3.1: {} 2941 | 2942 | define-data-property@1.1.4: 2943 | dependencies: 2944 | es-define-property: 1.0.0 2945 | es-errors: 1.3.0 2946 | gopd: 1.0.1 2947 | 2948 | detect-libc@2.0.3: {} 2949 | 2950 | detect-newline@3.1.0: {} 2951 | 2952 | diff-sequences@29.6.3: {} 2953 | 2954 | dir-glob@3.0.1: 2955 | dependencies: 2956 | path-type: 4.0.0 2957 | 2958 | eastasianwidth@0.2.0: {} 2959 | 2960 | electron-to-chromium@1.4.810: {} 2961 | 2962 | emittery@0.13.1: {} 2963 | 2964 | emoji-regex@8.0.0: {} 2965 | 2966 | emoji-regex@9.2.2: {} 2967 | 2968 | end-of-stream@1.4.4: 2969 | dependencies: 2970 | once: 1.4.0 2971 | 2972 | error-ex@1.3.2: 2973 | dependencies: 2974 | is-arrayish: 0.2.1 2975 | 2976 | error-stack-parser@2.1.4: 2977 | dependencies: 2978 | stackframe: 1.3.4 2979 | 2980 | es-define-property@1.0.0: 2981 | dependencies: 2982 | get-intrinsic: 1.2.4 2983 | 2984 | es-errors@1.3.0: {} 2985 | 2986 | esbuild@0.21.5: 2987 | optionalDependencies: 2988 | '@esbuild/aix-ppc64': 0.21.5 2989 | '@esbuild/android-arm': 0.21.5 2990 | '@esbuild/android-arm64': 0.21.5 2991 | '@esbuild/android-x64': 0.21.5 2992 | '@esbuild/darwin-arm64': 0.21.5 2993 | '@esbuild/darwin-x64': 0.21.5 2994 | '@esbuild/freebsd-arm64': 0.21.5 2995 | '@esbuild/freebsd-x64': 0.21.5 2996 | '@esbuild/linux-arm': 0.21.5 2997 | '@esbuild/linux-arm64': 0.21.5 2998 | '@esbuild/linux-ia32': 0.21.5 2999 | '@esbuild/linux-loong64': 0.21.5 3000 | '@esbuild/linux-mips64el': 0.21.5 3001 | '@esbuild/linux-ppc64': 0.21.5 3002 | '@esbuild/linux-riscv64': 0.21.5 3003 | '@esbuild/linux-s390x': 0.21.5 3004 | '@esbuild/linux-x64': 0.21.5 3005 | '@esbuild/netbsd-x64': 0.21.5 3006 | '@esbuild/openbsd-x64': 0.21.5 3007 | '@esbuild/sunos-x64': 0.21.5 3008 | '@esbuild/win32-arm64': 0.21.5 3009 | '@esbuild/win32-ia32': 0.21.5 3010 | '@esbuild/win32-x64': 0.21.5 3011 | 3012 | escalade@3.1.2: {} 3013 | 3014 | escape-string-regexp@1.0.5: {} 3015 | 3016 | escape-string-regexp@2.0.0: {} 3017 | 3018 | escape-string-regexp@4.0.0: {} 3019 | 3020 | esprima@4.0.1: {} 3021 | 3022 | execa@5.1.1: 3023 | dependencies: 3024 | cross-spawn: 7.0.3 3025 | get-stream: 6.0.1 3026 | human-signals: 2.1.0 3027 | is-stream: 2.0.1 3028 | merge-stream: 2.0.0 3029 | npm-run-path: 4.0.1 3030 | onetime: 5.1.2 3031 | signal-exit: 3.0.7 3032 | strip-final-newline: 2.0.0 3033 | 3034 | exit@0.1.2: {} 3035 | 3036 | expand-template@2.0.3: {} 3037 | 3038 | expect@29.7.0: 3039 | dependencies: 3040 | '@jest/expect-utils': 29.7.0 3041 | jest-get-type: 29.6.3 3042 | jest-matcher-utils: 29.7.0 3043 | jest-message-util: 29.7.0 3044 | jest-util: 29.7.0 3045 | 3046 | fast-glob@3.3.2: 3047 | dependencies: 3048 | '@nodelib/fs.stat': 2.0.5 3049 | '@nodelib/fs.walk': 1.2.8 3050 | glob-parent: 5.1.2 3051 | merge2: 1.4.1 3052 | micromatch: 4.0.7 3053 | 3054 | fast-json-stable-stringify@2.1.0: {} 3055 | 3056 | fastq@1.17.1: 3057 | dependencies: 3058 | reusify: 1.0.4 3059 | 3060 | fb-watchman@2.0.2: 3061 | dependencies: 3062 | bser: 2.1.1 3063 | 3064 | file-uri-to-path@1.0.0: {} 3065 | 3066 | fill-range@7.1.1: 3067 | dependencies: 3068 | to-regex-range: 5.0.1 3069 | 3070 | find-up@4.1.0: 3071 | dependencies: 3072 | locate-path: 5.0.0 3073 | path-exists: 4.0.0 3074 | 3075 | foreground-child@3.2.1: 3076 | dependencies: 3077 | cross-spawn: 7.0.3 3078 | signal-exit: 4.1.0 3079 | 3080 | fs-constants@1.0.0: {} 3081 | 3082 | fs.realpath@1.0.0: {} 3083 | 3084 | fsevents@2.3.3: 3085 | optional: true 3086 | 3087 | function-bind@1.1.2: {} 3088 | 3089 | gensync@1.0.0-beta.2: {} 3090 | 3091 | get-caller-file@2.0.5: {} 3092 | 3093 | get-intrinsic@1.2.4: 3094 | dependencies: 3095 | es-errors: 1.3.0 3096 | function-bind: 1.1.2 3097 | has-proto: 1.0.3 3098 | has-symbols: 1.0.3 3099 | hasown: 2.0.2 3100 | 3101 | get-package-type@0.1.0: {} 3102 | 3103 | get-stream@6.0.1: {} 3104 | 3105 | github-from-package@0.0.0: {} 3106 | 3107 | glob-parent@5.1.2: 3108 | dependencies: 3109 | is-glob: 4.0.3 3110 | 3111 | glob@10.4.2: 3112 | dependencies: 3113 | foreground-child: 3.2.1 3114 | jackspeak: 3.4.0 3115 | minimatch: 9.0.4 3116 | minipass: 7.1.2 3117 | package-json-from-dist: 1.0.0 3118 | path-scurry: 1.11.1 3119 | 3120 | glob@7.2.3: 3121 | dependencies: 3122 | fs.realpath: 1.0.0 3123 | inflight: 1.0.6 3124 | inherits: 2.0.4 3125 | minimatch: 3.1.2 3126 | once: 1.4.0 3127 | path-is-absolute: 1.0.1 3128 | 3129 | globals@11.12.0: {} 3130 | 3131 | globby@11.1.0: 3132 | dependencies: 3133 | array-union: 2.1.0 3134 | dir-glob: 3.0.1 3135 | fast-glob: 3.3.2 3136 | ignore: 5.3.1 3137 | merge2: 1.4.1 3138 | slash: 3.0.0 3139 | 3140 | gopd@1.0.1: 3141 | dependencies: 3142 | get-intrinsic: 1.2.4 3143 | 3144 | graceful-fs@4.2.11: {} 3145 | 3146 | has-flag@3.0.0: {} 3147 | 3148 | has-flag@4.0.0: {} 3149 | 3150 | has-property-descriptors@1.0.2: 3151 | dependencies: 3152 | es-define-property: 1.0.0 3153 | 3154 | has-proto@1.0.3: {} 3155 | 3156 | has-symbols@1.0.3: {} 3157 | 3158 | hasown@2.0.2: 3159 | dependencies: 3160 | function-bind: 1.1.2 3161 | 3162 | html-escaper@2.0.2: {} 3163 | 3164 | human-signals@2.1.0: {} 3165 | 3166 | ieee754@1.2.1: {} 3167 | 3168 | ignore@5.3.1: {} 3169 | 3170 | import-local@3.1.0: 3171 | dependencies: 3172 | pkg-dir: 4.2.0 3173 | resolve-cwd: 3.0.0 3174 | 3175 | imurmurhash@0.1.4: {} 3176 | 3177 | inflight@1.0.6: 3178 | dependencies: 3179 | once: 1.4.0 3180 | wrappy: 1.0.2 3181 | 3182 | inherits@2.0.4: {} 3183 | 3184 | ini@1.3.8: {} 3185 | 3186 | is-arrayish@0.2.1: {} 3187 | 3188 | is-binary-path@2.1.0: 3189 | dependencies: 3190 | binary-extensions: 2.3.0 3191 | 3192 | is-core-module@2.14.0: 3193 | dependencies: 3194 | hasown: 2.0.2 3195 | 3196 | is-extglob@2.1.1: {} 3197 | 3198 | is-fullwidth-code-point@3.0.0: {} 3199 | 3200 | is-generator-fn@2.1.0: {} 3201 | 3202 | is-glob@4.0.3: 3203 | dependencies: 3204 | is-extglob: 2.1.1 3205 | 3206 | is-number@7.0.0: {} 3207 | 3208 | is-stream@2.0.1: {} 3209 | 3210 | isexe@2.0.0: {} 3211 | 3212 | istanbul-lib-coverage@3.2.2: {} 3213 | 3214 | istanbul-lib-instrument@5.2.1: 3215 | dependencies: 3216 | '@babel/core': 7.24.7 3217 | '@babel/parser': 7.24.7 3218 | '@istanbuljs/schema': 0.1.3 3219 | istanbul-lib-coverage: 3.2.2 3220 | semver: 6.3.1 3221 | transitivePeerDependencies: 3222 | - supports-color 3223 | 3224 | istanbul-lib-instrument@6.0.2: 3225 | dependencies: 3226 | '@babel/core': 7.24.7 3227 | '@babel/parser': 7.24.7 3228 | '@istanbuljs/schema': 0.1.3 3229 | istanbul-lib-coverage: 3.2.2 3230 | semver: 7.6.2 3231 | transitivePeerDependencies: 3232 | - supports-color 3233 | 3234 | istanbul-lib-report@3.0.1: 3235 | dependencies: 3236 | istanbul-lib-coverage: 3.2.2 3237 | make-dir: 4.0.0 3238 | supports-color: 7.2.0 3239 | 3240 | istanbul-lib-source-maps@4.0.1: 3241 | dependencies: 3242 | debug: 4.3.5 3243 | istanbul-lib-coverage: 3.2.2 3244 | source-map: 0.6.1 3245 | transitivePeerDependencies: 3246 | - supports-color 3247 | 3248 | istanbul-reports@3.1.7: 3249 | dependencies: 3250 | html-escaper: 2.0.2 3251 | istanbul-lib-report: 3.0.1 3252 | 3253 | jackspeak@3.4.0: 3254 | dependencies: 3255 | '@isaacs/cliui': 8.0.2 3256 | optionalDependencies: 3257 | '@pkgjs/parseargs': 0.11.0 3258 | 3259 | jest-changed-files@29.7.0: 3260 | dependencies: 3261 | execa: 5.1.1 3262 | jest-util: 29.7.0 3263 | p-limit: 3.1.0 3264 | 3265 | jest-circus@29.7.0: 3266 | dependencies: 3267 | '@jest/environment': 29.7.0 3268 | '@jest/expect': 29.7.0 3269 | '@jest/test-result': 29.7.0 3270 | '@jest/types': 29.6.3 3271 | '@types/node': 20.14.8 3272 | chalk: 4.1.2 3273 | co: 4.6.0 3274 | dedent: 1.5.3 3275 | is-generator-fn: 2.1.0 3276 | jest-each: 29.7.0 3277 | jest-matcher-utils: 29.7.0 3278 | jest-message-util: 29.7.0 3279 | jest-runtime: 29.7.0 3280 | jest-snapshot: 29.7.0 3281 | jest-util: 29.7.0 3282 | p-limit: 3.1.0 3283 | pretty-format: 29.7.0 3284 | pure-rand: 6.1.0 3285 | slash: 3.0.0 3286 | stack-utils: 2.0.6 3287 | transitivePeerDependencies: 3288 | - babel-plugin-macros 3289 | - supports-color 3290 | 3291 | jest-cli@29.7.0(@types/node@20.14.8): 3292 | dependencies: 3293 | '@jest/core': 29.7.0 3294 | '@jest/test-result': 29.7.0 3295 | '@jest/types': 29.6.3 3296 | chalk: 4.1.2 3297 | create-jest: 29.7.0(@types/node@20.14.8) 3298 | exit: 0.1.2 3299 | import-local: 3.1.0 3300 | jest-config: 29.7.0(@types/node@20.14.8) 3301 | jest-util: 29.7.0 3302 | jest-validate: 29.7.0 3303 | yargs: 17.7.2 3304 | transitivePeerDependencies: 3305 | - '@types/node' 3306 | - babel-plugin-macros 3307 | - supports-color 3308 | - ts-node 3309 | 3310 | jest-config@29.7.0(@types/node@20.14.8): 3311 | dependencies: 3312 | '@babel/core': 7.24.7 3313 | '@jest/test-sequencer': 29.7.0 3314 | '@jest/types': 29.6.3 3315 | babel-jest: 29.7.0(@babel/core@7.24.7) 3316 | chalk: 4.1.2 3317 | ci-info: 3.9.0 3318 | deepmerge: 4.3.1 3319 | glob: 7.2.3 3320 | graceful-fs: 4.2.11 3321 | jest-circus: 29.7.0 3322 | jest-environment-node: 29.7.0 3323 | jest-get-type: 29.6.3 3324 | jest-regex-util: 29.6.3 3325 | jest-resolve: 29.7.0 3326 | jest-runner: 29.7.0 3327 | jest-util: 29.7.0 3328 | jest-validate: 29.7.0 3329 | micromatch: 4.0.7 3330 | parse-json: 5.2.0 3331 | pretty-format: 29.7.0 3332 | slash: 3.0.0 3333 | strip-json-comments: 3.1.1 3334 | optionalDependencies: 3335 | '@types/node': 20.14.8 3336 | transitivePeerDependencies: 3337 | - babel-plugin-macros 3338 | - supports-color 3339 | 3340 | jest-diff@29.7.0: 3341 | dependencies: 3342 | chalk: 4.1.2 3343 | diff-sequences: 29.6.3 3344 | jest-get-type: 29.6.3 3345 | pretty-format: 29.7.0 3346 | 3347 | jest-docblock@29.7.0: 3348 | dependencies: 3349 | detect-newline: 3.1.0 3350 | 3351 | jest-each@29.7.0: 3352 | dependencies: 3353 | '@jest/types': 29.6.3 3354 | chalk: 4.1.2 3355 | jest-get-type: 29.6.3 3356 | jest-util: 29.7.0 3357 | pretty-format: 29.7.0 3358 | 3359 | jest-environment-node@29.7.0: 3360 | dependencies: 3361 | '@jest/environment': 29.7.0 3362 | '@jest/fake-timers': 29.7.0 3363 | '@jest/types': 29.6.3 3364 | '@types/node': 20.14.8 3365 | jest-mock: 29.7.0 3366 | jest-util: 29.7.0 3367 | 3368 | jest-get-type@29.6.3: {} 3369 | 3370 | jest-haste-map@29.7.0: 3371 | dependencies: 3372 | '@jest/types': 29.6.3 3373 | '@types/graceful-fs': 4.1.9 3374 | '@types/node': 20.14.8 3375 | anymatch: 3.1.3 3376 | fb-watchman: 2.0.2 3377 | graceful-fs: 4.2.11 3378 | jest-regex-util: 29.6.3 3379 | jest-util: 29.7.0 3380 | jest-worker: 29.7.0 3381 | micromatch: 4.0.7 3382 | walker: 1.0.8 3383 | optionalDependencies: 3384 | fsevents: 2.3.3 3385 | 3386 | jest-leak-detector@29.7.0: 3387 | dependencies: 3388 | jest-get-type: 29.6.3 3389 | pretty-format: 29.7.0 3390 | 3391 | jest-matcher-utils@29.7.0: 3392 | dependencies: 3393 | chalk: 4.1.2 3394 | jest-diff: 29.7.0 3395 | jest-get-type: 29.6.3 3396 | pretty-format: 29.7.0 3397 | 3398 | jest-message-util@29.7.0: 3399 | dependencies: 3400 | '@babel/code-frame': 7.24.7 3401 | '@jest/types': 29.6.3 3402 | '@types/stack-utils': 2.0.3 3403 | chalk: 4.1.2 3404 | graceful-fs: 4.2.11 3405 | micromatch: 4.0.7 3406 | pretty-format: 29.7.0 3407 | slash: 3.0.0 3408 | stack-utils: 2.0.6 3409 | 3410 | jest-mock@29.7.0: 3411 | dependencies: 3412 | '@jest/types': 29.6.3 3413 | '@types/node': 20.14.8 3414 | jest-util: 29.7.0 3415 | 3416 | jest-pnp-resolver@1.2.3(jest-resolve@29.7.0): 3417 | optionalDependencies: 3418 | jest-resolve: 29.7.0 3419 | 3420 | jest-regex-util@29.6.3: {} 3421 | 3422 | jest-resolve-dependencies@29.7.0: 3423 | dependencies: 3424 | jest-regex-util: 29.6.3 3425 | jest-snapshot: 29.7.0 3426 | transitivePeerDependencies: 3427 | - supports-color 3428 | 3429 | jest-resolve@29.7.0: 3430 | dependencies: 3431 | chalk: 4.1.2 3432 | graceful-fs: 4.2.11 3433 | jest-haste-map: 29.7.0 3434 | jest-pnp-resolver: 1.2.3(jest-resolve@29.7.0) 3435 | jest-util: 29.7.0 3436 | jest-validate: 29.7.0 3437 | resolve: 1.22.8 3438 | resolve.exports: 2.0.2 3439 | slash: 3.0.0 3440 | 3441 | jest-runner@29.7.0: 3442 | dependencies: 3443 | '@jest/console': 29.7.0 3444 | '@jest/environment': 29.7.0 3445 | '@jest/test-result': 29.7.0 3446 | '@jest/transform': 29.7.0 3447 | '@jest/types': 29.6.3 3448 | '@types/node': 20.14.8 3449 | chalk: 4.1.2 3450 | emittery: 0.13.1 3451 | graceful-fs: 4.2.11 3452 | jest-docblock: 29.7.0 3453 | jest-environment-node: 29.7.0 3454 | jest-haste-map: 29.7.0 3455 | jest-leak-detector: 29.7.0 3456 | jest-message-util: 29.7.0 3457 | jest-resolve: 29.7.0 3458 | jest-runtime: 29.7.0 3459 | jest-util: 29.7.0 3460 | jest-watcher: 29.7.0 3461 | jest-worker: 29.7.0 3462 | p-limit: 3.1.0 3463 | source-map-support: 0.5.13 3464 | transitivePeerDependencies: 3465 | - supports-color 3466 | 3467 | jest-runtime@29.7.0: 3468 | dependencies: 3469 | '@jest/environment': 29.7.0 3470 | '@jest/fake-timers': 29.7.0 3471 | '@jest/globals': 29.7.0 3472 | '@jest/source-map': 29.6.3 3473 | '@jest/test-result': 29.7.0 3474 | '@jest/transform': 29.7.0 3475 | '@jest/types': 29.6.3 3476 | '@types/node': 20.14.8 3477 | chalk: 4.1.2 3478 | cjs-module-lexer: 1.3.1 3479 | collect-v8-coverage: 1.0.2 3480 | glob: 7.2.3 3481 | graceful-fs: 4.2.11 3482 | jest-haste-map: 29.7.0 3483 | jest-message-util: 29.7.0 3484 | jest-mock: 29.7.0 3485 | jest-regex-util: 29.6.3 3486 | jest-resolve: 29.7.0 3487 | jest-snapshot: 29.7.0 3488 | jest-util: 29.7.0 3489 | slash: 3.0.0 3490 | strip-bom: 4.0.0 3491 | transitivePeerDependencies: 3492 | - supports-color 3493 | 3494 | jest-snapshot@29.7.0: 3495 | dependencies: 3496 | '@babel/core': 7.24.7 3497 | '@babel/generator': 7.24.7 3498 | '@babel/plugin-syntax-jsx': 7.24.7(@babel/core@7.24.7) 3499 | '@babel/plugin-syntax-typescript': 7.24.7(@babel/core@7.24.7) 3500 | '@babel/types': 7.24.7 3501 | '@jest/expect-utils': 29.7.0 3502 | '@jest/transform': 29.7.0 3503 | '@jest/types': 29.6.3 3504 | babel-preset-current-node-syntax: 1.0.1(@babel/core@7.24.7) 3505 | chalk: 4.1.2 3506 | expect: 29.7.0 3507 | graceful-fs: 4.2.11 3508 | jest-diff: 29.7.0 3509 | jest-get-type: 29.6.3 3510 | jest-matcher-utils: 29.7.0 3511 | jest-message-util: 29.7.0 3512 | jest-util: 29.7.0 3513 | natural-compare: 1.4.0 3514 | pretty-format: 29.7.0 3515 | semver: 7.6.2 3516 | transitivePeerDependencies: 3517 | - supports-color 3518 | 3519 | jest-util@29.7.0: 3520 | dependencies: 3521 | '@jest/types': 29.6.3 3522 | '@types/node': 20.14.8 3523 | chalk: 4.1.2 3524 | ci-info: 3.9.0 3525 | graceful-fs: 4.2.11 3526 | picomatch: 2.3.1 3527 | 3528 | jest-validate@29.7.0: 3529 | dependencies: 3530 | '@jest/types': 29.6.3 3531 | camelcase: 6.3.0 3532 | chalk: 4.1.2 3533 | jest-get-type: 29.6.3 3534 | leven: 3.1.0 3535 | pretty-format: 29.7.0 3536 | 3537 | jest-watcher@29.7.0: 3538 | dependencies: 3539 | '@jest/test-result': 29.7.0 3540 | '@jest/types': 29.6.3 3541 | '@types/node': 20.14.8 3542 | ansi-escapes: 4.3.2 3543 | chalk: 4.1.2 3544 | emittery: 0.13.1 3545 | jest-util: 29.7.0 3546 | string-length: 4.0.2 3547 | 3548 | jest-worker@29.7.0: 3549 | dependencies: 3550 | '@types/node': 20.14.8 3551 | jest-util: 29.7.0 3552 | merge-stream: 2.0.0 3553 | supports-color: 8.1.1 3554 | 3555 | jest@29.7.0(@types/node@20.14.8): 3556 | dependencies: 3557 | '@jest/core': 29.7.0 3558 | '@jest/types': 29.6.3 3559 | import-local: 3.1.0 3560 | jest-cli: 29.7.0(@types/node@20.14.8) 3561 | transitivePeerDependencies: 3562 | - '@types/node' 3563 | - babel-plugin-macros 3564 | - supports-color 3565 | - ts-node 3566 | 3567 | joycon@3.1.1: {} 3568 | 3569 | js-tokens@4.0.0: {} 3570 | 3571 | js-yaml@3.14.1: 3572 | dependencies: 3573 | argparse: 1.0.10 3574 | esprima: 4.0.1 3575 | 3576 | jsesc@2.5.2: {} 3577 | 3578 | json-parse-even-better-errors@2.3.1: {} 3579 | 3580 | json5@2.2.3: {} 3581 | 3582 | kleur@3.0.3: {} 3583 | 3584 | leven@3.1.0: {} 3585 | 3586 | lilconfig@3.1.2: {} 3587 | 3588 | lines-and-columns@1.2.4: {} 3589 | 3590 | load-tsconfig@0.2.5: {} 3591 | 3592 | locate-path@5.0.0: 3593 | dependencies: 3594 | p-locate: 4.1.0 3595 | 3596 | lodash-es@4.17.21: {} 3597 | 3598 | lodash.memoize@4.1.2: {} 3599 | 3600 | lodash.sortby@4.7.0: {} 3601 | 3602 | lodash@4.17.21: {} 3603 | 3604 | loose-envify@1.4.0: 3605 | dependencies: 3606 | js-tokens: 4.0.0 3607 | 3608 | lru-cache@10.2.2: {} 3609 | 3610 | lru-cache@5.1.1: 3611 | dependencies: 3612 | yallist: 3.1.1 3613 | 3614 | make-dir@4.0.0: 3615 | dependencies: 3616 | semver: 7.6.2 3617 | 3618 | make-error@1.3.6: {} 3619 | 3620 | makeerror@1.0.12: 3621 | dependencies: 3622 | tmpl: 1.0.5 3623 | 3624 | merge-stream@2.0.0: {} 3625 | 3626 | merge2@1.4.1: {} 3627 | 3628 | micromatch@4.0.7: 3629 | dependencies: 3630 | braces: 3.0.3 3631 | picomatch: 2.3.1 3632 | 3633 | mimic-fn@2.1.0: {} 3634 | 3635 | mimic-response@3.1.0: {} 3636 | 3637 | minimatch@3.1.2: 3638 | dependencies: 3639 | brace-expansion: 1.1.11 3640 | 3641 | minimatch@9.0.4: 3642 | dependencies: 3643 | brace-expansion: 2.0.1 3644 | 3645 | minimist@1.2.8: {} 3646 | 3647 | minipass@7.1.2: {} 3648 | 3649 | mkdirp-classic@0.5.3: {} 3650 | 3651 | ms@2.1.2: {} 3652 | 3653 | mz@2.7.0: 3654 | dependencies: 3655 | any-promise: 1.3.0 3656 | object-assign: 4.1.1 3657 | thenify-all: 1.6.0 3658 | 3659 | napi-build-utils@1.0.2: {} 3660 | 3661 | natural-compare@1.4.0: {} 3662 | 3663 | node-abi@3.65.0: 3664 | dependencies: 3665 | semver: 7.6.2 3666 | 3667 | node-int64@0.4.0: {} 3668 | 3669 | node-releases@2.0.14: {} 3670 | 3671 | normalize-path@3.0.0: {} 3672 | 3673 | npm-run-path@4.0.1: 3674 | dependencies: 3675 | path-key: 3.1.1 3676 | 3677 | object-assign@4.1.1: {} 3678 | 3679 | object-inspect@1.13.2: {} 3680 | 3681 | once@1.4.0: 3682 | dependencies: 3683 | wrappy: 1.0.2 3684 | 3685 | onetime@5.1.2: 3686 | dependencies: 3687 | mimic-fn: 2.1.0 3688 | 3689 | p-limit@2.3.0: 3690 | dependencies: 3691 | p-try: 2.2.0 3692 | 3693 | p-limit@3.1.0: 3694 | dependencies: 3695 | yocto-queue: 0.1.0 3696 | 3697 | p-locate@4.1.0: 3698 | dependencies: 3699 | p-limit: 2.3.0 3700 | 3701 | p-try@2.2.0: {} 3702 | 3703 | package-json-from-dist@1.0.0: {} 3704 | 3705 | papaparse@5.4.1: {} 3706 | 3707 | parse-json@5.2.0: 3708 | dependencies: 3709 | '@babel/code-frame': 7.24.7 3710 | error-ex: 1.3.2 3711 | json-parse-even-better-errors: 2.3.1 3712 | lines-and-columns: 1.2.4 3713 | 3714 | path-exists@4.0.0: {} 3715 | 3716 | path-is-absolute@1.0.1: {} 3717 | 3718 | path-key@3.1.1: {} 3719 | 3720 | path-parse@1.0.7: {} 3721 | 3722 | path-scurry@1.11.1: 3723 | dependencies: 3724 | lru-cache: 10.2.2 3725 | minipass: 7.1.2 3726 | 3727 | path-type@4.0.0: {} 3728 | 3729 | picocolors@1.0.1: {} 3730 | 3731 | picomatch@2.3.1: {} 3732 | 3733 | pirates@4.0.6: {} 3734 | 3735 | pkg-dir@4.2.0: 3736 | dependencies: 3737 | find-up: 4.1.0 3738 | 3739 | pluralize@8.0.0: {} 3740 | 3741 | postcss-load-config@4.0.2: 3742 | dependencies: 3743 | lilconfig: 3.1.2 3744 | yaml: 2.4.5 3745 | 3746 | prebuild-install@7.1.2: 3747 | dependencies: 3748 | detect-libc: 2.0.3 3749 | expand-template: 2.0.3 3750 | github-from-package: 0.0.0 3751 | minimist: 1.2.8 3752 | mkdirp-classic: 0.5.3 3753 | napi-build-utils: 1.0.2 3754 | node-abi: 3.65.0 3755 | pump: 3.0.0 3756 | rc: 1.2.8 3757 | simple-get: 4.0.1 3758 | tar-fs: 2.1.1 3759 | tunnel-agent: 0.6.0 3760 | 3761 | pretty-format@29.7.0: 3762 | dependencies: 3763 | '@jest/schemas': 29.6.3 3764 | ansi-styles: 5.2.0 3765 | react-is: 18.3.1 3766 | 3767 | prompts@2.4.2: 3768 | dependencies: 3769 | kleur: 3.0.3 3770 | sisteransi: 1.0.5 3771 | 3772 | pump@3.0.0: 3773 | dependencies: 3774 | end-of-stream: 1.4.4 3775 | once: 1.4.0 3776 | 3777 | punycode@2.3.1: {} 3778 | 3779 | pure-rand@6.1.0: {} 3780 | 3781 | qs@6.12.1: 3782 | dependencies: 3783 | side-channel: 1.0.6 3784 | 3785 | queue-microtask@1.2.3: {} 3786 | 3787 | rc@1.2.8: 3788 | dependencies: 3789 | deep-extend: 0.6.0 3790 | ini: 1.3.8 3791 | minimist: 1.2.8 3792 | strip-json-comments: 2.0.1 3793 | 3794 | react-dom@18.3.1(react@18.3.1): 3795 | dependencies: 3796 | loose-envify: 1.4.0 3797 | react: 18.3.1 3798 | scheduler: 0.23.2 3799 | 3800 | react-is@18.3.1: {} 3801 | 3802 | react@18.3.1: 3803 | dependencies: 3804 | loose-envify: 1.4.0 3805 | 3806 | readable-stream@3.6.2: 3807 | dependencies: 3808 | inherits: 2.0.4 3809 | string_decoder: 1.3.0 3810 | util-deprecate: 1.0.2 3811 | 3812 | readdirp@3.6.0: 3813 | dependencies: 3814 | picomatch: 2.3.1 3815 | 3816 | require-directory@2.1.1: {} 3817 | 3818 | resolve-cwd@3.0.0: 3819 | dependencies: 3820 | resolve-from: 5.0.0 3821 | 3822 | resolve-from@5.0.0: {} 3823 | 3824 | resolve.exports@2.0.2: {} 3825 | 3826 | resolve@1.22.8: 3827 | dependencies: 3828 | is-core-module: 2.14.0 3829 | path-parse: 1.0.7 3830 | supports-preserve-symlinks-flag: 1.0.0 3831 | 3832 | reusify@1.0.4: {} 3833 | 3834 | rollup@4.18.0: 3835 | dependencies: 3836 | '@types/estree': 1.0.5 3837 | optionalDependencies: 3838 | '@rollup/rollup-android-arm-eabi': 4.18.0 3839 | '@rollup/rollup-android-arm64': 4.18.0 3840 | '@rollup/rollup-darwin-arm64': 4.18.0 3841 | '@rollup/rollup-darwin-x64': 4.18.0 3842 | '@rollup/rollup-linux-arm-gnueabihf': 4.18.0 3843 | '@rollup/rollup-linux-arm-musleabihf': 4.18.0 3844 | '@rollup/rollup-linux-arm64-gnu': 4.18.0 3845 | '@rollup/rollup-linux-arm64-musl': 4.18.0 3846 | '@rollup/rollup-linux-powerpc64le-gnu': 4.18.0 3847 | '@rollup/rollup-linux-riscv64-gnu': 4.18.0 3848 | '@rollup/rollup-linux-s390x-gnu': 4.18.0 3849 | '@rollup/rollup-linux-x64-gnu': 4.18.0 3850 | '@rollup/rollup-linux-x64-musl': 4.18.0 3851 | '@rollup/rollup-win32-arm64-msvc': 4.18.0 3852 | '@rollup/rollup-win32-ia32-msvc': 4.18.0 3853 | '@rollup/rollup-win32-x64-msvc': 4.18.0 3854 | fsevents: 2.3.3 3855 | 3856 | run-parallel@1.2.0: 3857 | dependencies: 3858 | queue-microtask: 1.2.3 3859 | 3860 | safe-buffer@5.2.1: {} 3861 | 3862 | scheduler@0.23.2: 3863 | dependencies: 3864 | loose-envify: 1.4.0 3865 | 3866 | semver@6.3.1: {} 3867 | 3868 | semver@7.6.2: {} 3869 | 3870 | set-function-length@1.2.2: 3871 | dependencies: 3872 | define-data-property: 1.1.4 3873 | es-errors: 1.3.0 3874 | function-bind: 1.1.2 3875 | get-intrinsic: 1.2.4 3876 | gopd: 1.0.1 3877 | has-property-descriptors: 1.0.2 3878 | 3879 | shebang-command@2.0.0: 3880 | dependencies: 3881 | shebang-regex: 3.0.0 3882 | 3883 | shebang-regex@3.0.0: {} 3884 | 3885 | side-channel@1.0.6: 3886 | dependencies: 3887 | call-bind: 1.0.7 3888 | es-errors: 1.3.0 3889 | get-intrinsic: 1.2.4 3890 | object-inspect: 1.13.2 3891 | 3892 | signal-exit@3.0.7: {} 3893 | 3894 | signal-exit@4.1.0: {} 3895 | 3896 | simple-concat@1.0.1: {} 3897 | 3898 | simple-get@4.0.1: 3899 | dependencies: 3900 | decompress-response: 6.0.0 3901 | once: 1.4.0 3902 | simple-concat: 1.0.1 3903 | 3904 | sisteransi@1.0.5: {} 3905 | 3906 | slash@3.0.0: {} 3907 | 3908 | source-map-support@0.5.13: 3909 | dependencies: 3910 | buffer-from: 1.1.2 3911 | source-map: 0.6.1 3912 | 3913 | source-map@0.6.1: {} 3914 | 3915 | source-map@0.8.0-beta.0: 3916 | dependencies: 3917 | whatwg-url: 7.1.0 3918 | 3919 | sprintf-js@1.0.3: {} 3920 | 3921 | stack-utils@2.0.6: 3922 | dependencies: 3923 | escape-string-regexp: 2.0.0 3924 | 3925 | stackframe@1.3.4: {} 3926 | 3927 | string-length@4.0.2: 3928 | dependencies: 3929 | char-regex: 1.0.2 3930 | strip-ansi: 6.0.1 3931 | 3932 | string-width@4.2.3: 3933 | dependencies: 3934 | emoji-regex: 8.0.0 3935 | is-fullwidth-code-point: 3.0.0 3936 | strip-ansi: 6.0.1 3937 | 3938 | string-width@5.1.2: 3939 | dependencies: 3940 | eastasianwidth: 0.2.0 3941 | emoji-regex: 9.2.2 3942 | strip-ansi: 7.1.0 3943 | 3944 | string_decoder@1.3.0: 3945 | dependencies: 3946 | safe-buffer: 5.2.1 3947 | 3948 | strip-ansi@6.0.1: 3949 | dependencies: 3950 | ansi-regex: 5.0.1 3951 | 3952 | strip-ansi@7.1.0: 3953 | dependencies: 3954 | ansi-regex: 6.0.1 3955 | 3956 | strip-bom@4.0.0: {} 3957 | 3958 | strip-final-newline@2.0.0: {} 3959 | 3960 | strip-json-comments@2.0.1: {} 3961 | 3962 | strip-json-comments@3.1.1: {} 3963 | 3964 | sucrase@3.35.0: 3965 | dependencies: 3966 | '@jridgewell/gen-mapping': 0.3.5 3967 | commander: 4.1.1 3968 | glob: 10.4.2 3969 | lines-and-columns: 1.2.4 3970 | mz: 2.7.0 3971 | pirates: 4.0.6 3972 | ts-interface-checker: 0.1.13 3973 | 3974 | supports-color@5.5.0: 3975 | dependencies: 3976 | has-flag: 3.0.0 3977 | 3978 | supports-color@7.2.0: 3979 | dependencies: 3980 | has-flag: 4.0.0 3981 | 3982 | supports-color@8.1.1: 3983 | dependencies: 3984 | has-flag: 4.0.0 3985 | 3986 | supports-preserve-symlinks-flag@1.0.0: {} 3987 | 3988 | tar-fs@2.1.1: 3989 | dependencies: 3990 | chownr: 1.1.4 3991 | mkdirp-classic: 0.5.3 3992 | pump: 3.0.0 3993 | tar-stream: 2.2.0 3994 | 3995 | tar-stream@2.2.0: 3996 | dependencies: 3997 | bl: 4.1.0 3998 | end-of-stream: 1.4.4 3999 | fs-constants: 1.0.0 4000 | inherits: 2.0.4 4001 | readable-stream: 3.6.2 4002 | 4003 | test-exclude@6.0.0: 4004 | dependencies: 4005 | '@istanbuljs/schema': 0.1.3 4006 | glob: 7.2.3 4007 | minimatch: 3.1.2 4008 | 4009 | thenify-all@1.6.0: 4010 | dependencies: 4011 | thenify: 3.3.1 4012 | 4013 | thenify@3.3.1: 4014 | dependencies: 4015 | any-promise: 1.3.0 4016 | 4017 | tmpl@1.0.5: {} 4018 | 4019 | to-fast-properties@2.0.0: {} 4020 | 4021 | to-regex-range@5.0.1: 4022 | dependencies: 4023 | is-number: 7.0.0 4024 | 4025 | tr46@1.0.1: 4026 | dependencies: 4027 | punycode: 2.3.1 4028 | 4029 | tree-kill@1.2.2: {} 4030 | 4031 | ts-interface-checker@0.1.13: {} 4032 | 4033 | ts-jest@29.1.5(@babel/core@7.24.7)(@jest/transform@29.7.0)(@jest/types@29.6.3)(babel-jest@29.7.0(@babel/core@7.24.7))(esbuild@0.21.5)(jest@29.7.0(@types/node@20.14.8))(typescript@5.5.2): 4034 | dependencies: 4035 | bs-logger: 0.2.6 4036 | fast-json-stable-stringify: 2.1.0 4037 | jest: 29.7.0(@types/node@20.14.8) 4038 | jest-util: 29.7.0 4039 | json5: 2.2.3 4040 | lodash.memoize: 4.1.2 4041 | make-error: 1.3.6 4042 | semver: 7.6.2 4043 | typescript: 5.5.2 4044 | yargs-parser: 21.1.1 4045 | optionalDependencies: 4046 | '@babel/core': 7.24.7 4047 | '@jest/transform': 29.7.0 4048 | '@jest/types': 29.6.3 4049 | babel-jest: 29.7.0(@babel/core@7.24.7) 4050 | esbuild: 0.21.5 4051 | 4052 | tslib@2.6.3: {} 4053 | 4054 | tsup@8.1.0(typescript@5.5.2): 4055 | dependencies: 4056 | bundle-require: 4.2.1(esbuild@0.21.5) 4057 | cac: 6.7.14 4058 | chokidar: 3.6.0 4059 | debug: 4.3.5 4060 | esbuild: 0.21.5 4061 | execa: 5.1.1 4062 | globby: 11.1.0 4063 | joycon: 3.1.1 4064 | postcss-load-config: 4.0.2 4065 | resolve-from: 5.0.0 4066 | rollup: 4.18.0 4067 | source-map: 0.8.0-beta.0 4068 | sucrase: 3.35.0 4069 | tree-kill: 1.2.2 4070 | optionalDependencies: 4071 | typescript: 5.5.2 4072 | transitivePeerDependencies: 4073 | - supports-color 4074 | - ts-node 4075 | 4076 | tunnel-agent@0.6.0: 4077 | dependencies: 4078 | safe-buffer: 5.2.1 4079 | 4080 | type-detect@4.0.8: {} 4081 | 4082 | type-fest@0.21.3: {} 4083 | 4084 | typescript@5.5.2: {} 4085 | 4086 | undici-types@5.26.5: {} 4087 | 4088 | update-browserslist-db@1.0.16(browserslist@4.23.1): 4089 | dependencies: 4090 | browserslist: 4.23.1 4091 | escalade: 3.1.2 4092 | picocolors: 1.0.1 4093 | 4094 | use-sync-external-store@1.2.2(react@18.3.1): 4095 | dependencies: 4096 | react: 18.3.1 4097 | 4098 | util-deprecate@1.0.2: {} 4099 | 4100 | v8-to-istanbul@9.3.0: 4101 | dependencies: 4102 | '@jridgewell/trace-mapping': 0.3.25 4103 | '@types/istanbul-lib-coverage': 2.0.6 4104 | convert-source-map: 2.0.0 4105 | 4106 | walker@1.0.8: 4107 | dependencies: 4108 | makeerror: 1.0.12 4109 | 4110 | warn-once@0.1.1: {} 4111 | 4112 | webidl-conversions@4.0.2: {} 4113 | 4114 | whatwg-url@7.1.0: 4115 | dependencies: 4116 | lodash.sortby: 4.7.0 4117 | tr46: 1.0.1 4118 | webidl-conversions: 4.0.2 4119 | 4120 | which@2.0.2: 4121 | dependencies: 4122 | isexe: 2.0.0 4123 | 4124 | wrap-ansi@7.0.0: 4125 | dependencies: 4126 | ansi-styles: 4.3.0 4127 | string-width: 4.2.3 4128 | strip-ansi: 6.0.1 4129 | 4130 | wrap-ansi@8.1.0: 4131 | dependencies: 4132 | ansi-styles: 6.2.1 4133 | string-width: 5.1.2 4134 | strip-ansi: 7.1.0 4135 | 4136 | wrappy@1.0.2: {} 4137 | 4138 | write-file-atomic@4.0.2: 4139 | dependencies: 4140 | imurmurhash: 0.1.4 4141 | signal-exit: 3.0.7 4142 | 4143 | y18n@5.0.8: {} 4144 | 4145 | yallist@3.1.1: {} 4146 | 4147 | yaml@2.4.5: {} 4148 | 4149 | yargs-parser@21.1.1: {} 4150 | 4151 | yargs@17.7.2: 4152 | dependencies: 4153 | cliui: 8.0.1 4154 | escalade: 3.1.2 4155 | get-caller-file: 2.0.5 4156 | require-directory: 2.1.1 4157 | string-width: 4.2.3 4158 | y18n: 5.0.8 4159 | yargs-parser: 21.1.1 4160 | 4161 | yocto-queue@0.1.0: {} 4162 | -------------------------------------------------------------------------------- /src/index.ts: -------------------------------------------------------------------------------- 1 | export * from "./provider"; -------------------------------------------------------------------------------- /src/provider.ts: -------------------------------------------------------------------------------- 1 | import { 2 | BaseRecord, 3 | CreateParams, 4 | DeleteOneParams, 5 | GetListParams, 6 | GetManyParams, 7 | GetOneParams, 8 | UpdateParams 9 | } from "@refinedev/core"; 10 | import { generateSort, generateFilter } from "./utils"; 11 | import Database from "better-sqlite3"; 12 | 13 | const dbConnect = (dbPath: string) => { 14 | const db = new Database(dbPath) 15 | db.pragma('journal_mode = WAL'); 16 | 17 | return db; 18 | } 19 | 20 | export const dataProvider = ( 21 | dbPath: string 22 | ) => ({ 23 | getList: ({ resource, pagination, filters, sorters }: GetListParams) => { 24 | const db = dbConnect(dbPath); 25 | 26 | const { 27 | current = 1, 28 | pageSize = 10, 29 | } = pagination ?? {}; 30 | 31 | const queryFilters = generateFilter(filters); 32 | 33 | const query: { 34 | _start?: number; 35 | _end?: number; 36 | _sortString?: string; 37 | } = {}; 38 | 39 | query._start = (current - 1) * pageSize; 40 | query._end = current * pageSize; 41 | 42 | const generatedSort = generateSort(sorters); 43 | if (generatedSort) { 44 | query._sortString = generatedSort; 45 | } 46 | 47 | let sql = `SELECT * FROM ${resource}`; 48 | 49 | if (queryFilters) sql += ` WHERE ${queryFilters}`; 50 | if (generatedSort) sql += ` ORDER BY ${query._sortString}`; 51 | if (pagination) sql += ` LIMIT ${query._start}, ${query._end}`; 52 | 53 | try { 54 | const stmt = db.prepare(sql) 55 | const data = stmt.all() as Array; 56 | 57 | return { 58 | data, 59 | total: data.length, 60 | }; 61 | } catch (error) { 62 | console.error("Error in getList()", error); 63 | return { 64 | data: [], 65 | total: 0, 66 | } 67 | } finally { 68 | db.close(); 69 | } 70 | }, 71 | 72 | getMany: ({ resource, ids }: GetManyParams) => { 73 | const db = dbConnect(dbPath); 74 | const idString = ids.join(", ") 75 | 76 | try { 77 | const stmt = db.prepare(`SELECT * FROM ${resource} WHERE id IN (${idString})`) 78 | const data = stmt.all() as Array; 79 | 80 | return { 81 | data, 82 | }; 83 | } catch (error) { 84 | console.error("Error in getMany()", error); 85 | return { 86 | data: [], 87 | } 88 | } finally { 89 | db.close() 90 | } 91 | }, 92 | 93 | create: ({ resource, variables }: CreateParams) => { 94 | const db = dbConnect(dbPath); 95 | 96 | const columns = Object.keys(variables || {}).join(", ") 97 | const values = Object.values(variables || {}).map((value) => `'${value}'`).join(", ") 98 | 99 | try { 100 | const stmt = db.prepare(`INSERT INTO ${resource} (${columns}) VALUES (${values})`) 101 | const { lastInsertRowid } = stmt.run() 102 | 103 | const stmt2 = db.prepare(`SELECT * FROM ${resource} WHERE id = ${lastInsertRowid}`) 104 | const data = stmt2.get() as BaseRecord; 105 | 106 | return { 107 | data, 108 | }; 109 | } catch (error) { 110 | console.error("Error in create()", error); 111 | return { 112 | data: {} 113 | } 114 | } finally { 115 | db.close() 116 | } 117 | }, 118 | 119 | update: ({ resource, id, variables }: UpdateParams) => { 120 | const db = dbConnect(dbPath); 121 | let updateQuery = ""; 122 | 123 | const columns = Object.keys(variables || {}) 124 | const values = Object.values(variables || {}); 125 | 126 | columns.forEach((column, index) => { 127 | updateQuery += `${column} = '${values[index]}', `; 128 | }); 129 | 130 | // Slices the last comma 131 | updateQuery = updateQuery.slice(0, -2); 132 | 133 | try { 134 | db.prepare(`UPDATE ${resource} SET ${updateQuery} WHERE id = ?`) 135 | .run(id) 136 | 137 | const stmt = db.prepare(`SELECT * FROM ${resource} WHERE id = ?`) 138 | const data = stmt.get(id) as BaseRecord; 139 | 140 | return { 141 | data, 142 | } 143 | } catch (error) { 144 | console.error("Error in update()", error); 145 | return { 146 | data: {} 147 | } 148 | } finally { 149 | db.close() 150 | } 151 | }, 152 | 153 | getOne: ({ resource, id }: GetOneParams) => { 154 | const db = dbConnect(dbPath); 155 | try { 156 | const stmt = db.prepare(`SELECT * FROM ${resource} WHERE id = ?`) 157 | const data = stmt.get(id) as BaseRecord; 158 | 159 | return { 160 | data, 161 | }; 162 | } catch (error) { 163 | console.error("Error in getOne()", error); 164 | return { 165 | data: {} 166 | } 167 | } finally { 168 | db.close() 169 | } 170 | }, 171 | 172 | deleteOne: ({ resource, id }: DeleteOneParams) => { 173 | const db = dbConnect(dbPath); 174 | 175 | try { 176 | const stmt = db.prepare(`DELETE FROM ${resource} WHERE id = ?`); 177 | const { changes } = stmt.run(id); 178 | 179 | if (changes !== 1) { 180 | throw new Error(`Failed to delete ${resource} with id ${id}`); 181 | } 182 | 183 | return { 184 | data: null 185 | } 186 | } catch (error) { 187 | console.log("Error in deleteOne()", error); 188 | return { 189 | data: null 190 | } 191 | } finally { 192 | db.close(); 193 | } 194 | } 195 | }); 196 | -------------------------------------------------------------------------------- /src/utils/generateFilter.ts: -------------------------------------------------------------------------------- 1 | import {CrudFilters} from "@refinedev/core"; 2 | import {mapOperator} from "./mapOperator"; 3 | 4 | export const generateFilter = (filters?: CrudFilters) => { 5 | let queryFilterString = ""; 6 | 7 | if (filters) { 8 | filters.map((filter) => { 9 | if (filter.operator === "or" || filter.operator === "and") { 10 | throw new Error( 11 | `[refine-sqlite]: \`operator: ${filter.operator}\` is not supported. You can create custom data provider. https://refine.dev/docs/api-reference/core/providers/data-provider/#creating-a-data-provider`, 12 | ); 13 | } 14 | 15 | // Check if the filter is of LogicalFilter type 16 | if ("field" in filter) { 17 | const { field, operator, value } = filter; 18 | 19 | queryFilterString += `${field} ${mapOperator(operator)} '${value}' AND `; 20 | } 21 | }); 22 | } 23 | 24 | // Returns the query string without the last 5 characters (AND + space) 25 | return queryFilterString.slice(0, -5) 26 | }; -------------------------------------------------------------------------------- /src/utils/generateSort.ts: -------------------------------------------------------------------------------- 1 | import { CrudSorting } from "@refinedev/core"; 2 | 3 | export const generateSort = (sorters?: CrudSorting) => { 4 | if (sorters && sorters.length > 0) { 5 | const _sort: string[] = []; 6 | const _order: string[] = []; 7 | let _sortString = ""; 8 | 9 | sorters.map((item) => { 10 | _sort.push(item.field); 11 | _order.push(item.order); 12 | }); 13 | 14 | _sort.forEach((item, index) => { 15 | _sortString += `${item} ${_order[index]}, ` 16 | if (index === _sort.length - 1) { 17 | _sortString = _sortString.slice(0, -2); 18 | } 19 | }) 20 | 21 | return _sortString; 22 | } 23 | // const _sort: string[] = []; 24 | // const _order: string[] = []; 25 | // 26 | // sorters.map((item) => { 27 | // _sort.push(item.field); 28 | // _order.push(item.order); 29 | // }); 30 | // 31 | // return { 32 | // _sort, 33 | // _order, 34 | // }; 35 | // } 36 | 37 | return; 38 | }; -------------------------------------------------------------------------------- /src/utils/index.ts: -------------------------------------------------------------------------------- 1 | export { generateSort } from "./generateSort"; 2 | export { generateFilter } from "./generateFilter"; 3 | export { mapOperator } from "./mapOperator"; 4 | -------------------------------------------------------------------------------- /src/utils/mapOperator.ts: -------------------------------------------------------------------------------- 1 | import {CrudOperators} from "@refinedev/core"; 2 | 3 | export const mapOperator = (operator: CrudOperators): string => { 4 | switch (operator) { 5 | case "ne": 6 | return "IS NOT"; 7 | case "gte": 8 | return ">="; 9 | case "lte": 10 | return "<="; 11 | case "contains": 12 | return "LIKE" 13 | case "eq": 14 | return "IS" 15 | default: 16 | return ""; 17 | } 18 | }; 19 | -------------------------------------------------------------------------------- /test/jest.setup.ts: -------------------------------------------------------------------------------- 1 | import Database from 'better-sqlite3'; 2 | import fs from "fs"; 3 | 4 | beforeAll(async () => { 5 | const dbPath = "test/test.db"; 6 | try { 7 | // Delete the database if it exists (DB must be disconnected first) 8 | if (fs.existsSync(dbPath)) { 9 | fs.rmSync(dbPath); 10 | } 11 | 12 | // Create the database 13 | const db = new Database(dbPath) 14 | db.pragma('journal_mode = WAL'); 15 | 16 | // Create the tables 17 | const migration = fs.readFileSync('test/test.sql', 'utf8'); 18 | db.exec(migration); 19 | db.close() 20 | } catch (error) { 21 | console.error("[JEST] Error in beforeAll: ", error); 22 | } 23 | }) -------------------------------------------------------------------------------- /test/methods/create.spec.ts: -------------------------------------------------------------------------------- 1 | import {dataProvider} from "../../src"; 2 | 3 | describe("create", () => { 4 | const apiUrl = "./test/test.db" 5 | 6 | it("correct response", () => { 7 | const response = dataProvider( 8 | apiUrl 9 | ).create({ 10 | resource: "posts", 11 | variables: { id: 1001, title: "foo", category_id: 1 }, 12 | }); 13 | 14 | const { data } = response; 15 | 16 | expect(data["id"]).toBe(1001); 17 | expect(data["title"]).toBe("foo"); 18 | expect(data["category_id"]).toBe(1); 19 | }); 20 | }); -------------------------------------------------------------------------------- /test/methods/delete.spec.ts: -------------------------------------------------------------------------------- 1 | import {dataProvider} from "../../src"; 2 | 3 | describe("deleteOne", () => { 4 | const apiUrl = "./test/test.db" 5 | 6 | it("correct response", () => { 7 | const response = dataProvider(apiUrl) 8 | .deleteOne({ resource: "posts", id: "1" }); 9 | 10 | const { data } = response; 11 | 12 | expect(data).toEqual(null); 13 | }); 14 | }); 15 | -------------------------------------------------------------------------------- /test/methods/getList.spec.ts: -------------------------------------------------------------------------------- 1 | import {dataProvider} from "../../src"; 2 | 3 | describe("getList", () => { 4 | const apiUrl = "./test/test.db" 5 | 6 | it("correct response", () => { 7 | const response = dataProvider(apiUrl) 8 | .getList({ resource: "posts" }) 9 | 10 | expect(response.data[0]["id"]).toBe(1); 11 | expect(response.data[0]["title"]).toBe("Soluta et est est."); 12 | expect(response.total).toBe(6); 13 | }) 14 | 15 | it("correct response with pagination", () => { 16 | const response = dataProvider(apiUrl) 17 | .getList({ 18 | resource: "posts", 19 | pagination: { 20 | current: 3, 21 | pageSize: 2, 22 | } 23 | }); 24 | 25 | expect(response.data[0]["id"]).toBe(5); 26 | expect(response.data[0]["title"]).toBe("Dolorem eum non quis officiis iusto."); 27 | expect(response.total).toBe(2); 28 | }) 29 | 30 | it("correct sorting response", () => { 31 | const response = dataProvider(apiUrl) 32 | .getList({ 33 | resource: "posts", 34 | sorters: [ 35 | { 36 | field: "id", 37 | order: "desc", 38 | } 39 | ], 40 | }); 41 | 42 | expect(response.data[0]["id"]).toBe(6); 43 | expect(response.data[0]["title"]).toBe("Dolorem unde et officiis."); 44 | expect(response.total).toBe(6); 45 | }); 46 | 47 | it("correct filter response", () => { 48 | const response = dataProvider(apiUrl) 49 | .getList({ 50 | resource: "posts", 51 | filters: [ 52 | { 53 | field: "category_id", 54 | operator: "eq", 55 | value: ["2"], 56 | }, 57 | ], 58 | }); 59 | 60 | expect(response.data[0]["category_id"]).toBe(2); 61 | expect(response.total).toBe(2); 62 | }); 63 | 64 | it("correct filter and sort response", () => { 65 | const response = dataProvider(apiUrl) 66 | .getList({ 67 | resource: "posts", 68 | filters: [ 69 | { 70 | field: "category_id", 71 | operator: "eq", 72 | value: ["2"], 73 | }, 74 | ], 75 | sorters: [ 76 | { 77 | field: "title", 78 | order: "asc", 79 | }, 80 | ], 81 | }); 82 | 83 | expect(response.data[0]["id"]).toBe(6); 84 | expect(response.total).toBe(2); 85 | }); 86 | }); 87 | -------------------------------------------------------------------------------- /test/methods/getMany.spec.ts: -------------------------------------------------------------------------------- 1 | import {dataProvider} from "../../src"; 2 | 3 | describe("getMany", () => { 4 | const apiUrl = "./test/test.db"; 5 | 6 | it("correct response", () => { 7 | const response = dataProvider(apiUrl) 8 | .getMany({ resource: "posts", ids: [2, 5]}); 9 | 10 | const { data } = response; 11 | 12 | expect(data[0]["id"]).toBe(2); 13 | expect(data[1]["id"]).toBe(5); 14 | }); 15 | }); 16 | -------------------------------------------------------------------------------- /test/methods/getOne.spec.ts: -------------------------------------------------------------------------------- 1 | import {dataProvider} from "../../src/" 2 | 3 | describe("getOne", () => { 4 | const apiUrl = "./test/test.db"; 5 | 6 | it("correct response", () => { 7 | const response = dataProvider(apiUrl) 8 | .getOne({ resource: "posts", id: "2" }); 9 | 10 | const { data } = response; 11 | 12 | expect(data.id).toBe(2); 13 | expect(data.title).toBe("Quia ducimus voluptate."); 14 | }); 15 | }); 16 | -------------------------------------------------------------------------------- /test/methods/update.spec.ts: -------------------------------------------------------------------------------- 1 | import {dataProvider} from "../../src"; 2 | 3 | describe("update", () => { 4 | const apiUrl = "./test/test.db" 5 | 6 | it("correct response", () => { 7 | const response = dataProvider(apiUrl) 8 | .update({ 9 | resource: "posts", 10 | id: "1", 11 | variables: { 12 | id: 1, 13 | title: "foo", 14 | }, 15 | }); 16 | 17 | const { data } = response; 18 | 19 | expect(data["id"]).toBe(1); 20 | expect(data["title"]).toBe("foo"); 21 | }); 22 | }); 23 | -------------------------------------------------------------------------------- /test/test.db: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mateusabelli/refine-sqlite/2c61b1d767841b7f4b2e8f4844e270951173ed95/test/test.db -------------------------------------------------------------------------------- /test/test.sql: -------------------------------------------------------------------------------- 1 | PRAGMA foreign_keys=OFF; 2 | BEGIN TRANSACTION; 3 | CREATE TABLE IF NOT EXISTS "categories" ( 4 | "id" INTEGER NOT NULL, 5 | "title" TEXT NOT NULL, 6 | PRIMARY KEY("id") 7 | ); 8 | INSERT INTO categories VALUES(1,'Enim Alias Autem'); 9 | INSERT INTO categories VALUES(2,'Dolorem Assumenda Optio'); 10 | INSERT INTO categories VALUES(3,'Quasi Facilis Optio'); 11 | INSERT INTO categories VALUES(4,'Natus Quibusdam Id'); 12 | INSERT INTO categories VALUES(5,'Aut Corrupti Doloribus'); 13 | CREATE TABLE IF NOT EXISTS "posts" ( 14 | "id" INTEGER NOT NULL, 15 | "title" TEXT NOT NULL, 16 | "category_id" INTEGER, 17 | PRIMARY KEY("id" AUTOINCREMENT), 18 | FOREIGN KEY("category_id") REFERENCES "categories"("id") 19 | ); 20 | INSERT INTO posts VALUES(1,'Soluta et est est.',2); 21 | INSERT INTO posts VALUES(2,'Quia ducimus voluptate.',4); 22 | INSERT INTO posts VALUES(3,'Numquam dolores quisquam.',1); 23 | INSERT INTO posts VALUES(4,'Dolores facere quibusdam dicta.',3); 24 | INSERT INTO posts VALUES(5,'Dolorem eum non quis officiis iusto.',5); 25 | INSERT INTO posts VALUES(6,'Dolorem unde et officiis.',2); 26 | DELETE FROM sqlite_sequence; 27 | INSERT INTO sqlite_sequence VALUES('posts',6); 28 | COMMIT; 29 | -------------------------------------------------------------------------------- /test/utils/generateFilter.spec.ts: -------------------------------------------------------------------------------- 1 | import { CrudFilters } from "@refinedev/core"; 2 | import { generateFilter } from "../../src/utils/generateFilter"; 3 | 4 | describe("generateFilter", () => { 5 | it("returns an empty string when no filters are provided", () => { 6 | const result = generateFilter(); 7 | expect(result).toEqual(""); 8 | }); 9 | 10 | it("creates a filter object based on the provided filters", () => { 11 | const filters: CrudFilters = [ 12 | { field: "title", operator: "eq", value: "Quia ducimus voluptate." }, 13 | { field: "category_id", operator: "gte", value: 4 }, 14 | ]; 15 | const result = generateFilter(filters); 16 | expect(result).toEqual("title IS 'Quia ducimus voluptate.' AND category_id >= '4'"); 17 | }); 18 | 19 | it.each(["or", "and"])( 20 | "throws an error for unsupported '%s' operator", 21 | (operator) => { 22 | const filters: CrudFilters = [ 23 | { operator: operator as "or" | "and", value: [] }, 24 | ]; 25 | expect(() => generateFilter(filters)).toThrow(); 26 | }, 27 | ); 28 | }); -------------------------------------------------------------------------------- /test/utils/generateSort.spec.ts: -------------------------------------------------------------------------------- 1 | import { CrudSorting } from "@refinedev/core"; 2 | import { generateSort } from "../../src/utils"; 3 | 4 | describe("generateSort", () => { 5 | it("should return undefined when sorters are not provided", () => { 6 | const result = generateSort(); 7 | expect(result).toBeUndefined(); 8 | }); 9 | 10 | it("should return undefined when sorters are empty", () => { 11 | const result = generateSort([]); 12 | expect(result).toBeUndefined(); 13 | }); 14 | 15 | it("should generate correct _sort and _order arrays for given sorters", () => { 16 | const sorters: CrudSorting = [ 17 | { 18 | field: "field1", 19 | order: "asc", 20 | }, 21 | { 22 | field: "field2", 23 | order: "desc", 24 | }, 25 | ]; 26 | 27 | const result = generateSort(sorters); 28 | 29 | expect(result).toEqual("field1 asc, field2 desc"); 30 | }); 31 | }); -------------------------------------------------------------------------------- /test/utils/mapOperator.spec.ts: -------------------------------------------------------------------------------- 1 | import { CrudOperators } from "@refinedev/core"; 2 | import { mapOperator } from "../../src/utils"; 3 | 4 | describe("mapOperator", () => { 5 | it("should return correct mapping for given operator", () => { 6 | const operatorMappings: Record = { 7 | ne: "IS NOT", 8 | gte: ">=", 9 | lte: "<=", 10 | contains: "LIKE", 11 | eq: "IS", 12 | and: "", 13 | between: "", 14 | containss: "", 15 | endswith: "", 16 | endswiths: "", 17 | gt: "", 18 | in: "", 19 | lt: "", 20 | ncontains: "", 21 | ncontainss: "", 22 | nendswith: "", 23 | nendswiths: "", 24 | nnull: "", 25 | nin: "", 26 | nbetween: "", 27 | nstartswith: "", 28 | nstartswiths: "", 29 | null: "", 30 | or: "", 31 | startswith: "", 32 | startswiths: "", 33 | ina: "", 34 | nina: "" 35 | }; 36 | 37 | for (const operator in operatorMappings) { 38 | const expectedResult = operatorMappings[operator as CrudOperators]; 39 | expect(mapOperator(operator as CrudOperators)).toEqual( 40 | expectedResult, 41 | ); 42 | } 43 | }); 44 | 45 | it.each(["unsupported", "", undefined, null])( 46 | "should return empty string for %s operator ", 47 | (operator) => { 48 | expect(mapOperator(operator as CrudOperators)).toEqual(""); 49 | }, 50 | ); 51 | }); 52 | -------------------------------------------------------------------------------- /tsconfig.declarations.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "./tsconfig.json", 3 | "exclude": [ 4 | "node_modules", 5 | "dist", 6 | "test", 7 | "../test/**/*", 8 | "**/*.spec.ts", 9 | "**/*.test.ts", 10 | "**/*.spec.tsx", 11 | "**/*.test.tsx" 12 | ], 13 | "compilerOptions": { 14 | "outDir": "dist", 15 | "declarationDir": "dist", 16 | "declaration": true, 17 | "emitDeclarationOnly": true, 18 | "noEmit": false, 19 | "declarationMap": true 20 | } 21 | } -------------------------------------------------------------------------------- /tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "include": [ 3 | "src", 4 | "types" 5 | ], 6 | "compilerOptions": { 7 | "rootDir": "./src", 8 | "baseUrl": ".", 9 | "module": "esnext", 10 | "lib": ["dom", "esnext", "DOM.Iterable"], 11 | "importHelpers": true, 12 | "declaration": true, 13 | "sourceMap": true, 14 | "strict": true, 15 | "noImplicitReturns": true, 16 | "noFallthroughCasesInSwitch": true, 17 | "moduleResolution": "node", 18 | "jsx": "react", 19 | "esModuleInterop": true, 20 | "noEmit": true, 21 | "skipLibCheck": true, 22 | "forceConsistentCasingInFileNames": true, 23 | "allowSyntheticDefaultImports": true, 24 | } 25 | } -------------------------------------------------------------------------------- /tsup.config.ts: -------------------------------------------------------------------------------- 1 | import { defineConfig } from "tsup"; 2 | import { NodeResolvePlugin } from "@esbuild-plugins/node-resolve"; 3 | 4 | export default defineConfig({ 5 | entry: ["src/index.ts"], 6 | splitting: false, 7 | sourcemap: true, 8 | clean: false, 9 | platform: "browser", 10 | esbuildPlugins: [ 11 | NodeResolvePlugin({ 12 | extensions: [".js", "ts", "tsx", "jsx"], 13 | onResolved: (resolved) => { 14 | if (resolved.includes("node_modules")) { 15 | return { 16 | external: true, 17 | }; 18 | } 19 | return resolved; 20 | }, 21 | }), 22 | ], 23 | onSuccess: "tsc --project tsconfig.declarations.json", 24 | }); --------------------------------------------------------------------------------