├── .eslintrc.json ├── .gitignore ├── .prettierrc ├── .vscode └── settings.json ├── README.md ├── package.json ├── pnpm-lock.yaml ├── rollup.config.js ├── src ├── client.ts ├── constants.ts ├── index.ts ├── tb-config.tsx ├── types.ts ├── use-fech-pipe.ts └── use-query.ts └── tsconfig.json /.eslintrc.json: -------------------------------------------------------------------------------- 1 | { 2 | "root": true, 3 | "parser": "@typescript-eslint/parser", 4 | "plugins": [ 5 | "@typescript-eslint" 6 | ], 7 | "extends": ["eslint:recommended", "plugin:react/recommended", "plugin:prettier/recommended", "plugin:@typescript-eslint/eslint-recommended", 8 | "plugin:@typescript-eslint/recommended", "prettier"] 9 | } 10 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | node_modules 2 | dist 3 | .rollup.cache 4 | tsconfig.tsbuildinfo -------------------------------------------------------------------------------- /.prettierrc: -------------------------------------------------------------------------------- 1 | { 2 | "semi": true, 3 | "tabWidth": 2, 4 | "printWidth": 100, 5 | "singleQuote": true, 6 | "trailingComma": "none", 7 | "jsxBracketSameLine": true 8 | } -------------------------------------------------------------------------------- /.vscode/settings.json: -------------------------------------------------------------------------------- 1 | { 2 | "editor.rulers": [100] 3 | } 4 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | ## Tremor Tinybird Plugin 2 | 3 | ``` 4 | npm i tinybird-utils 5 | ``` 6 | 7 | ### API 8 | 9 | The plugin exports a `useFetchPipe` function that provides a single interface to easily query [Tinybird pipes](https://www.tinybird.co/docs/concepts/pipes.html) using [SWR](https://swr.vercel.app/). 10 | 11 | **Arguments:** 12 | 13 | - `name`: The name of the Tinybird pipe. 14 | - `queryParams` (optional): The query parameters of the pipe as a JSON-object. 15 | - `config` (optional): The Tinybird configuration as a JSON-object. 16 | - `responseType` (optional): The API response type. `'JSON' | 'CSV' | 'Ndjson' | 'Parquet'` 17 | 18 | **Example:** 19 | 20 | ```jsx 21 | // Example.tsx 22 | import { useFetchPipe } from 'tinybird-utils'; 23 | import { LineChart } from '@tremor/react'; 24 | 25 | export default function Example() { 26 | const { data, status } = useFetchPipe('my_sales_data_pipe', { 27 | date_from: '2023-01-01', 28 | date_to: '2023-03-01' 29 | }); 30 | 31 | return status === 'loading' ? ( 32 |

Loading...

33 | ) : ( 34 | 35 | ); 36 | } 37 | ``` 38 | 39 | ### Configuration 40 | 41 | Configuration parameters: 42 | 43 | - `token`: The Tinybird auth token 44 | - `baseUrl` (optional): The Tinybird API base url, i.e. the tinybird pipe prefix up to the pipe name. Default: `https://api.tinybird.co/v0/pipes/` 45 | 46 | **(1) Using the `TbConfigProvider`:** 47 | 48 | ```jsx 49 | // ContextProvider.tsx 50 | import { TbConfigProvider } from 'tinybird-utils'; 51 | 52 | export default function ContextProvider({ children }) { 53 | const token = ''; 54 | const baseUrl = 'https://ui.us-east.tinybird.co/v0/pipes/'; 55 | 56 | return ( 57 | 61 | {children} 62 | 63 | ); 64 | } 65 | ``` 66 | 67 | The config values can be set in one of the `TbConfigProvider`s child components using the `TbConfigContext` and the provided setters: 68 | 69 | ```jsx 70 | // Example.tsx 71 | import { TbConfigContext } from 'tinybird-utils'; 72 | import { useContext } from 'react'; 73 | 74 | ... 75 | const { setToken, setBaseUrl } = useContext(TbConfigContext); 76 | ... 77 | ``` 78 | 79 | Once the config parameters are set in the `TbConfigProvider`, the `useFetchPipe` function will automatically obtain the config from the `TbConfigContext`. 80 | 81 | **(2) Directly providing a config via the `config` argument of the `useFetchPipe` as a JSON-object.** 82 | 83 | ```jsx 84 | const { data } = useFetchPipe( 85 | 'my_pipe', 86 | { 87 | date_from: '2023-01-01', 88 | date_to: '2023-03-01' 89 | }, 90 | { 91 | token: '', 92 | // Optional 93 | baseUrl: 'https://api.us-east.tinybird.co/v0/pipes/' 94 | } 95 | ); 96 | ``` 97 | -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "@tremor/tinybird-utils", 3 | "version": "0.0.1", 4 | "description": "Utilities to fetch data from Tinybird.", 5 | "main": "dist/index.cjs", 6 | "module": "dist/index.js", 7 | "files": [ 8 | "dist" 9 | ], 10 | "scripts": { 11 | "prebuild": "rm -rf dist", 12 | "build": "rollup -c", 13 | "publish:patch": "npm run build && npm version patch && npm publish", 14 | "test": "echo \"Error: no test specified\" && exit 1", 15 | "lint": "eslint \"**/*.{ts, tsx}\"", 16 | "lint:fix": "eslint --fix", 17 | "format": "prettier --write './**/*.{js,jsx,ts,tsx,css,md,json}' --config ./.prettierrc" 18 | }, 19 | "repository": { 20 | "type": "git", 21 | "url": "git+https://github.com/mitrotasios/tinybird-utils.git" 22 | }, 23 | "author": "tremor", 24 | "license": "Apache 2.0", 25 | "bugs": { 26 | "url": "https://github.com/mitrotasios/tinybird-utils/issues" 27 | }, 28 | "types": "dist/index.d.ts", 29 | "homepage": "https://github.com/mitrotasios/tinybird-utils#readme", 30 | "devDependencies": { 31 | "@rollup/plugin-commonjs": "^24.1.0", 32 | "@rollup/plugin-node-resolve": "^15.0.2", 33 | "@rollup/plugin-typescript": "^11.1.0", 34 | "@types/react": "^18.0.37", 35 | "@typescript-eslint/eslint-plugin": "^5.59.0", 36 | "@typescript-eslint/parser": "^5.59.0", 37 | "eslint": "^8.38.0", 38 | "eslint-config-prettier": "^8.8.0", 39 | "eslint-plugin-prettier": "^4.2.1", 40 | "eslint-plugin-react": "^7.32.2", 41 | "prettier": "2.8.7", 42 | "react": "^18.2.0", 43 | "swr": "^2.1.3", 44 | "tslib": "^2.5.0", 45 | "typescript": "^5.0.4", 46 | "rollup": "^2.70.2", 47 | "rollup-plugin-dts": "^4.2.1", 48 | "rollup-plugin-peer-deps-external": "^2.2.4", 49 | "rollup-plugin-terser": "^7.0.2", 50 | "rollup-plugin-typescript-paths": "^1.3.1" 51 | }, 52 | "peerDependencies": { 53 | "react": "^18.0.0", 54 | "swr": "^2.0.0" 55 | } 56 | } 57 | -------------------------------------------------------------------------------- /pnpm-lock.yaml: -------------------------------------------------------------------------------- 1 | lockfileVersion: 5.4 2 | 3 | specifiers: 4 | '@rollup/plugin-commonjs': ^24.1.0 5 | '@rollup/plugin-node-resolve': ^15.0.2 6 | '@rollup/plugin-typescript': ^11.1.0 7 | '@types/react': ^18.0.37 8 | '@typescript-eslint/eslint-plugin': ^5.59.0 9 | '@typescript-eslint/parser': ^5.59.0 10 | eslint: ^8.38.0 11 | eslint-config-prettier: ^8.8.0 12 | eslint-plugin-prettier: ^4.2.1 13 | eslint-plugin-react: ^7.32.2 14 | prettier: 2.8.7 15 | react: ^18.2.0 16 | rollup: ^2.70.2 17 | rollup-plugin-dts: ^5.3.0 18 | rollup-plugin-peer-deps-external: ^2.2.4 19 | rollup-plugin-terser: ^7.0.2 20 | rollup-plugin-typescript-paths: ^1.4.0 21 | swr: ^2.1.3 22 | tslib: ^2.5.0 23 | typescript: ^5.0.4 24 | 25 | devDependencies: 26 | '@rollup/plugin-commonjs': 24.1.0_rollup@2.79.1 27 | '@rollup/plugin-node-resolve': 15.0.2_rollup@2.79.1 28 | '@rollup/plugin-typescript': 11.1.0_lnoztkf4lbmsnm3hpr7v4ukvdy 29 | '@types/react': 18.0.37 30 | '@typescript-eslint/eslint-plugin': 5.59.0_wsbkzerfphvgr4lle7vmeh64yi 31 | '@typescript-eslint/parser': 5.59.0_voubu7prgxjfsfbgx5d4sqnwiy 32 | eslint: 8.38.0 33 | eslint-config-prettier: 8.8.0_eslint@8.38.0 34 | eslint-plugin-prettier: 4.2.1_mrzcadguhkbme6yx3ehduvsjxu 35 | eslint-plugin-react: 7.32.2_eslint@8.38.0 36 | prettier: 2.8.7 37 | react: 18.2.0 38 | rollup: 2.79.1 39 | rollup-plugin-dts: 5.3.0_vxwo7vqlqcs7hwrek7gmfkalae 40 | rollup-plugin-peer-deps-external: 2.2.4_rollup@2.79.1 41 | rollup-plugin-terser: 7.0.2_rollup@2.79.1 42 | rollup-plugin-typescript-paths: 1.4.0_typescript@5.0.4 43 | swr: 2.1.3_react@18.2.0 44 | tslib: 2.5.0 45 | typescript: 5.0.4 46 | 47 | packages: 48 | 49 | /@babel/code-frame/7.21.4: 50 | resolution: {integrity: sha512-LYvhNKfwWSPpocw8GI7gpK2nq3HSDuEPC/uSYaALSJu9xjsalaaYFOq0Pwt5KmVqwEbZlDu81aLXwBOmD/Fv9g==} 51 | engines: {node: '>=6.9.0'} 52 | dependencies: 53 | '@babel/highlight': 7.18.6 54 | dev: true 55 | 56 | /@babel/helper-validator-identifier/7.19.1: 57 | resolution: {integrity: sha512-awrNfaMtnHUr653GgGEs++LlAvW6w+DcPrOliSMXWCKo597CwL5Acf/wWdNkf/tfEQE3mjkeD1YOVZOUV/od1w==} 58 | engines: {node: '>=6.9.0'} 59 | dev: true 60 | 61 | /@babel/highlight/7.18.6: 62 | resolution: {integrity: sha512-u7stbOuYjaPezCuLj29hNW1v64M2Md2qupEKP1fHc7WdOA3DgLh37suiSrZYY7haUB7iBeQZ9P1uiRF359do3g==} 63 | engines: {node: '>=6.9.0'} 64 | dependencies: 65 | '@babel/helper-validator-identifier': 7.19.1 66 | chalk: 2.4.2 67 | js-tokens: 4.0.0 68 | dev: true 69 | 70 | /@eslint-community/eslint-utils/4.4.0_eslint@8.38.0: 71 | resolution: {integrity: sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==} 72 | engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} 73 | peerDependencies: 74 | eslint: ^6.0.0 || ^7.0.0 || >=8.0.0 75 | dependencies: 76 | eslint: 8.38.0 77 | eslint-visitor-keys: 3.4.0 78 | dev: true 79 | 80 | /@eslint-community/regexpp/4.5.0: 81 | resolution: {integrity: sha512-vITaYzIcNmjn5tF5uxcZ/ft7/RXGrMUIS9HalWckEOF6ESiwXKoMzAQf2UW0aVd6rnOeExTJVd5hmWXucBKGXQ==} 82 | engines: {node: ^12.0.0 || ^14.0.0 || >=16.0.0} 83 | dev: true 84 | 85 | /@eslint/eslintrc/2.0.2: 86 | resolution: {integrity: sha512-3W4f5tDUra+pA+FzgugqL2pRimUTDJWKr7BINqOpkZrC0uYI0NIc0/JFgBROCU07HR6GieA5m3/rsPIhDmCXTQ==} 87 | engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} 88 | dependencies: 89 | ajv: 6.12.6 90 | debug: 4.3.4 91 | espree: 9.5.1 92 | globals: 13.20.0 93 | ignore: 5.2.4 94 | import-fresh: 3.3.0 95 | js-yaml: 4.1.0 96 | minimatch: 3.1.2 97 | strip-json-comments: 3.1.1 98 | transitivePeerDependencies: 99 | - supports-color 100 | dev: true 101 | 102 | /@eslint/js/8.38.0: 103 | resolution: {integrity: sha512-IoD2MfUnOV58ghIHCiil01PcohxjbYR/qCxsoC+xNgUwh1EY8jOOrYmu3d3a71+tJJ23uscEV4X2HJWMsPJu4g==} 104 | engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} 105 | dev: true 106 | 107 | /@humanwhocodes/config-array/0.11.8: 108 | resolution: {integrity: sha512-UybHIJzJnR5Qc/MsD9Kr+RpO2h+/P1GhOwdiLPXK5TWk5sgTdu88bTD9UP+CKbPPh5Rni1u0GjAdYQLemG8g+g==} 109 | engines: {node: '>=10.10.0'} 110 | dependencies: 111 | '@humanwhocodes/object-schema': 1.2.1 112 | debug: 4.3.4 113 | minimatch: 3.1.2 114 | transitivePeerDependencies: 115 | - supports-color 116 | dev: true 117 | 118 | /@humanwhocodes/module-importer/1.0.1: 119 | resolution: {integrity: sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==} 120 | engines: {node: '>=12.22'} 121 | dev: true 122 | 123 | /@humanwhocodes/object-schema/1.2.1: 124 | resolution: {integrity: sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA==} 125 | dev: true 126 | 127 | /@jridgewell/gen-mapping/0.3.3: 128 | resolution: {integrity: sha512-HLhSWOLRi875zjjMG/r+Nv0oCW8umGb0BgEhyX3dDX3egwZtB8PqLnjz3yedt8R5StBrzcg4aBpnh8UA9D1BoQ==} 129 | engines: {node: '>=6.0.0'} 130 | dependencies: 131 | '@jridgewell/set-array': 1.1.2 132 | '@jridgewell/sourcemap-codec': 1.4.15 133 | '@jridgewell/trace-mapping': 0.3.18 134 | dev: true 135 | 136 | /@jridgewell/resolve-uri/3.1.0: 137 | resolution: {integrity: sha512-F2msla3tad+Mfht5cJq7LSXcdudKTWCVYUgw6pLFOOHSTtZlj6SWNYAp+AhuqLmWdBO2X5hPrLcu8cVP8fy28w==} 138 | engines: {node: '>=6.0.0'} 139 | dev: true 140 | 141 | /@jridgewell/set-array/1.1.2: 142 | resolution: {integrity: sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw==} 143 | engines: {node: '>=6.0.0'} 144 | dev: true 145 | 146 | /@jridgewell/source-map/0.3.3: 147 | resolution: {integrity: sha512-b+fsZXeLYi9fEULmfBrhxn4IrPlINf8fiNarzTof004v3lFdntdwa9PF7vFJqm3mg7s+ScJMxXaE3Acp1irZcg==} 148 | dependencies: 149 | '@jridgewell/gen-mapping': 0.3.3 150 | '@jridgewell/trace-mapping': 0.3.18 151 | dev: true 152 | 153 | /@jridgewell/sourcemap-codec/1.4.14: 154 | resolution: {integrity: sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw==} 155 | dev: true 156 | 157 | /@jridgewell/sourcemap-codec/1.4.15: 158 | resolution: {integrity: sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==} 159 | dev: true 160 | 161 | /@jridgewell/trace-mapping/0.3.18: 162 | resolution: {integrity: sha512-w+niJYzMHdd7USdiH2U6869nqhD2nbfZXND5Yp93qIbEmnDNk7PD48o+YchRVpzMU7M6jVCbenTR7PA1FLQ9pA==} 163 | dependencies: 164 | '@jridgewell/resolve-uri': 3.1.0 165 | '@jridgewell/sourcemap-codec': 1.4.14 166 | dev: true 167 | 168 | /@nodelib/fs.scandir/2.1.5: 169 | resolution: {integrity: sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==} 170 | engines: {node: '>= 8'} 171 | dependencies: 172 | '@nodelib/fs.stat': 2.0.5 173 | run-parallel: 1.2.0 174 | dev: true 175 | 176 | /@nodelib/fs.stat/2.0.5: 177 | resolution: {integrity: sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==} 178 | engines: {node: '>= 8'} 179 | dev: true 180 | 181 | /@nodelib/fs.walk/1.2.8: 182 | resolution: {integrity: sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==} 183 | engines: {node: '>= 8'} 184 | dependencies: 185 | '@nodelib/fs.scandir': 2.1.5 186 | fastq: 1.15.0 187 | dev: true 188 | 189 | /@rollup/plugin-commonjs/24.1.0_rollup@2.79.1: 190 | resolution: {integrity: sha512-eSL45hjhCWI0jCCXcNtLVqM5N1JlBGvlFfY0m6oOYnLCJ6N0qEXoZql4sY2MOUArzhH4SA/qBpTxvvZp2Sc+DQ==} 191 | engines: {node: '>=14.0.0'} 192 | peerDependencies: 193 | rollup: ^2.68.0||^3.0.0 194 | peerDependenciesMeta: 195 | rollup: 196 | optional: true 197 | dependencies: 198 | '@rollup/pluginutils': 5.0.2_rollup@2.79.1 199 | commondir: 1.0.1 200 | estree-walker: 2.0.2 201 | glob: 8.1.0 202 | is-reference: 1.2.1 203 | magic-string: 0.27.0 204 | rollup: 2.79.1 205 | dev: true 206 | 207 | /@rollup/plugin-node-resolve/15.0.2_rollup@2.79.1: 208 | resolution: {integrity: sha512-Y35fRGUjC3FaurG722uhUuG8YHOJRJQbI6/CkbRkdPotSpDj9NtIN85z1zrcyDcCQIW4qp5mgG72U+gJ0TAFEg==} 209 | engines: {node: '>=14.0.0'} 210 | peerDependencies: 211 | rollup: ^2.78.0||^3.0.0 212 | peerDependenciesMeta: 213 | rollup: 214 | optional: true 215 | dependencies: 216 | '@rollup/pluginutils': 5.0.2_rollup@2.79.1 217 | '@types/resolve': 1.20.2 218 | deepmerge: 4.3.1 219 | is-builtin-module: 3.2.1 220 | is-module: 1.0.0 221 | resolve: 1.22.2 222 | rollup: 2.79.1 223 | dev: true 224 | 225 | /@rollup/plugin-typescript/11.1.0_lnoztkf4lbmsnm3hpr7v4ukvdy: 226 | resolution: {integrity: sha512-86flrfE+bSHB69znnTV6kVjkncs2LBMhcTCyxWgRxLyfXfQrxg4UwlAqENnjrrxnSNS/XKCDJCl8EkdFJVHOxw==} 227 | engines: {node: '>=14.0.0'} 228 | peerDependencies: 229 | rollup: ^2.14.0||^3.0.0 230 | tslib: '*' 231 | typescript: '>=3.7.0' 232 | peerDependenciesMeta: 233 | rollup: 234 | optional: true 235 | tslib: 236 | optional: true 237 | dependencies: 238 | '@rollup/pluginutils': 5.0.2_rollup@2.79.1 239 | resolve: 1.22.2 240 | rollup: 2.79.1 241 | tslib: 2.5.0 242 | typescript: 5.0.4 243 | dev: true 244 | 245 | /@rollup/pluginutils/5.0.2_rollup@2.79.1: 246 | resolution: {integrity: sha512-pTd9rIsP92h+B6wWwFbW8RkZv4hiR/xKsqre4SIuAOaOEQRxi0lqLke9k2/7WegC85GgUs9pjmOjCUi3In4vwA==} 247 | engines: {node: '>=14.0.0'} 248 | peerDependencies: 249 | rollup: ^1.20.0||^2.0.0||^3.0.0 250 | peerDependenciesMeta: 251 | rollup: 252 | optional: true 253 | dependencies: 254 | '@types/estree': 1.0.1 255 | estree-walker: 2.0.2 256 | picomatch: 2.3.1 257 | rollup: 2.79.1 258 | dev: true 259 | 260 | /@types/estree/1.0.1: 261 | resolution: {integrity: sha512-LG4opVs2ANWZ1TJoKc937iMmNstM/d0ae1vNbnBvBhqCSezgVUOzcLCqbI5elV8Vy6WKwKjaqR+zO9VKirBBCA==} 262 | dev: true 263 | 264 | /@types/json-schema/7.0.11: 265 | resolution: {integrity: sha512-wOuvG1SN4Us4rez+tylwwwCV1psiNVOkJeM3AUWUNWg/jDQY2+HE/444y5gc+jBmRqASOm2Oeh5c1axHobwRKQ==} 266 | dev: true 267 | 268 | /@types/node/18.16.0: 269 | resolution: {integrity: sha512-BsAaKhB+7X+H4GnSjGhJG9Qi8Tw+inU9nJDwmD5CgOmBLEI6ArdhikpLX7DjbjDRDTbqZzU2LSQNZg8WGPiSZQ==} 270 | dev: true 271 | 272 | /@types/prop-types/15.7.5: 273 | resolution: {integrity: sha512-JCB8C6SnDoQf0cNycqd/35A7MjcnK+ZTqE7judS6o7utxUCg6imJg3QK2qzHKszlTjcj2cn+NwMB2i96ubpj7w==} 274 | dev: true 275 | 276 | /@types/react/18.0.37: 277 | resolution: {integrity: sha512-4yaZZtkRN3ZIQD3KSEwkfcik8s0SWV+82dlJot1AbGYHCzJkWP3ENBY6wYeDRmKZ6HkrgoGAmR2HqdwYGp6OEw==} 278 | dependencies: 279 | '@types/prop-types': 15.7.5 280 | '@types/scheduler': 0.16.3 281 | csstype: 3.1.2 282 | dev: true 283 | 284 | /@types/resolve/1.20.2: 285 | resolution: {integrity: sha512-60BCwRFOZCQhDncwQdxxeOEEkbc5dIMccYLwbxsS4TUNeVECQ/pBJ0j09mrHOl/JJvpRPGwO9SvE4nR2Nb/a4Q==} 286 | dev: true 287 | 288 | /@types/scheduler/0.16.3: 289 | resolution: {integrity: sha512-5cJ8CB4yAx7BH1oMvdU0Jh9lrEXyPkar6F9G/ERswkCuvP4KQZfZkSjcMbAICCpQTN4OuZn8tz0HiKv9TGZgrQ==} 290 | dev: true 291 | 292 | /@types/semver/7.3.13: 293 | resolution: {integrity: sha512-21cFJr9z3g5dW8B0CVI9g2O9beqaThGQ6ZFBqHfwhzLDKUxaqTIy3vnfah/UPkfOiF2pLq+tGz+W8RyCskuslw==} 294 | dev: true 295 | 296 | /@typescript-eslint/eslint-plugin/5.59.0_wsbkzerfphvgr4lle7vmeh64yi: 297 | resolution: {integrity: sha512-p0QgrEyrxAWBecR56gyn3wkG15TJdI//eetInP3zYRewDh0XS+DhB3VUAd3QqvziFsfaQIoIuZMxZRB7vXYaYw==} 298 | engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} 299 | peerDependencies: 300 | '@typescript-eslint/parser': ^5.0.0 301 | eslint: ^6.0.0 || ^7.0.0 || ^8.0.0 302 | typescript: '*' 303 | peerDependenciesMeta: 304 | typescript: 305 | optional: true 306 | dependencies: 307 | '@eslint-community/regexpp': 4.5.0 308 | '@typescript-eslint/parser': 5.59.0_voubu7prgxjfsfbgx5d4sqnwiy 309 | '@typescript-eslint/scope-manager': 5.59.0 310 | '@typescript-eslint/type-utils': 5.59.0_voubu7prgxjfsfbgx5d4sqnwiy 311 | '@typescript-eslint/utils': 5.59.0_voubu7prgxjfsfbgx5d4sqnwiy 312 | debug: 4.3.4 313 | eslint: 8.38.0 314 | grapheme-splitter: 1.0.4 315 | ignore: 5.2.4 316 | natural-compare-lite: 1.4.0 317 | semver: 7.5.0 318 | tsutils: 3.21.0_typescript@5.0.4 319 | typescript: 5.0.4 320 | transitivePeerDependencies: 321 | - supports-color 322 | dev: true 323 | 324 | /@typescript-eslint/parser/5.59.0_voubu7prgxjfsfbgx5d4sqnwiy: 325 | resolution: {integrity: sha512-qK9TZ70eJtjojSUMrrEwA9ZDQ4N0e/AuoOIgXuNBorXYcBDk397D2r5MIe1B3cok/oCtdNC5j+lUUpVB+Dpb+w==} 326 | engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} 327 | peerDependencies: 328 | eslint: ^6.0.0 || ^7.0.0 || ^8.0.0 329 | typescript: '*' 330 | peerDependenciesMeta: 331 | typescript: 332 | optional: true 333 | dependencies: 334 | '@typescript-eslint/scope-manager': 5.59.0 335 | '@typescript-eslint/types': 5.59.0 336 | '@typescript-eslint/typescript-estree': 5.59.0_typescript@5.0.4 337 | debug: 4.3.4 338 | eslint: 8.38.0 339 | typescript: 5.0.4 340 | transitivePeerDependencies: 341 | - supports-color 342 | dev: true 343 | 344 | /@typescript-eslint/scope-manager/5.59.0: 345 | resolution: {integrity: sha512-tsoldKaMh7izN6BvkK6zRMINj4Z2d6gGhO2UsI8zGZY3XhLq1DndP3Ycjhi1JwdwPRwtLMW4EFPgpuKhbCGOvQ==} 346 | engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} 347 | dependencies: 348 | '@typescript-eslint/types': 5.59.0 349 | '@typescript-eslint/visitor-keys': 5.59.0 350 | dev: true 351 | 352 | /@typescript-eslint/type-utils/5.59.0_voubu7prgxjfsfbgx5d4sqnwiy: 353 | resolution: {integrity: sha512-d/B6VSWnZwu70kcKQSCqjcXpVH+7ABKH8P1KNn4K7j5PXXuycZTPXF44Nui0TEm6rbWGi8kc78xRgOC4n7xFgA==} 354 | engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} 355 | peerDependencies: 356 | eslint: '*' 357 | typescript: '*' 358 | peerDependenciesMeta: 359 | typescript: 360 | optional: true 361 | dependencies: 362 | '@typescript-eslint/typescript-estree': 5.59.0_typescript@5.0.4 363 | '@typescript-eslint/utils': 5.59.0_voubu7prgxjfsfbgx5d4sqnwiy 364 | debug: 4.3.4 365 | eslint: 8.38.0 366 | tsutils: 3.21.0_typescript@5.0.4 367 | typescript: 5.0.4 368 | transitivePeerDependencies: 369 | - supports-color 370 | dev: true 371 | 372 | /@typescript-eslint/types/5.59.0: 373 | resolution: {integrity: sha512-yR2h1NotF23xFFYKHZs17QJnB51J/s+ud4PYU4MqdZbzeNxpgUr05+dNeCN/bb6raslHvGdd6BFCkVhpPk/ZeA==} 374 | engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} 375 | dev: true 376 | 377 | /@typescript-eslint/typescript-estree/5.59.0_typescript@5.0.4: 378 | resolution: {integrity: sha512-sUNnktjmI8DyGzPdZ8dRwW741zopGxltGs/SAPgGL/AAgDpiLsCFLcMNSpbfXfmnNeHmK9h3wGmCkGRGAoUZAg==} 379 | engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} 380 | peerDependencies: 381 | typescript: '*' 382 | peerDependenciesMeta: 383 | typescript: 384 | optional: true 385 | dependencies: 386 | '@typescript-eslint/types': 5.59.0 387 | '@typescript-eslint/visitor-keys': 5.59.0 388 | debug: 4.3.4 389 | globby: 11.1.0 390 | is-glob: 4.0.3 391 | semver: 7.5.0 392 | tsutils: 3.21.0_typescript@5.0.4 393 | typescript: 5.0.4 394 | transitivePeerDependencies: 395 | - supports-color 396 | dev: true 397 | 398 | /@typescript-eslint/utils/5.59.0_voubu7prgxjfsfbgx5d4sqnwiy: 399 | resolution: {integrity: sha512-GGLFd+86drlHSvPgN/el6dRQNYYGOvRSDVydsUaQluwIW3HvbXuxyuD5JETvBt/9qGYe+lOrDk6gRrWOHb/FvA==} 400 | engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} 401 | peerDependencies: 402 | eslint: ^6.0.0 || ^7.0.0 || ^8.0.0 403 | dependencies: 404 | '@eslint-community/eslint-utils': 4.4.0_eslint@8.38.0 405 | '@types/json-schema': 7.0.11 406 | '@types/semver': 7.3.13 407 | '@typescript-eslint/scope-manager': 5.59.0 408 | '@typescript-eslint/types': 5.59.0 409 | '@typescript-eslint/typescript-estree': 5.59.0_typescript@5.0.4 410 | eslint: 8.38.0 411 | eslint-scope: 5.1.1 412 | semver: 7.5.0 413 | transitivePeerDependencies: 414 | - supports-color 415 | - typescript 416 | dev: true 417 | 418 | /@typescript-eslint/visitor-keys/5.59.0: 419 | resolution: {integrity: sha512-qZ3iXxQhanchCeaExlKPV3gDQFxMUmU35xfd5eCXB6+kUw1TUAbIy2n7QIrwz9s98DQLzNWyHp61fY0da4ZcbA==} 420 | engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} 421 | dependencies: 422 | '@typescript-eslint/types': 5.59.0 423 | eslint-visitor-keys: 3.4.0 424 | dev: true 425 | 426 | /acorn-jsx/5.3.2_acorn@8.8.2: 427 | resolution: {integrity: sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==} 428 | peerDependencies: 429 | acorn: ^6.0.0 || ^7.0.0 || ^8.0.0 430 | dependencies: 431 | acorn: 8.8.2 432 | dev: true 433 | 434 | /acorn/8.8.2: 435 | resolution: {integrity: sha512-xjIYgE8HBrkpd/sJqOGNspf8uHG+NOHGOw6a/Urj8taM2EXfdNAH2oFcPeIFfsv3+kz/mJrS5VuMqbNLjCa2vw==} 436 | engines: {node: '>=0.4.0'} 437 | hasBin: true 438 | dev: true 439 | 440 | /ajv/6.12.6: 441 | resolution: {integrity: sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==} 442 | dependencies: 443 | fast-deep-equal: 3.1.3 444 | fast-json-stable-stringify: 2.1.0 445 | json-schema-traverse: 0.4.1 446 | uri-js: 4.4.1 447 | dev: true 448 | 449 | /ansi-regex/5.0.1: 450 | resolution: {integrity: sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==} 451 | engines: {node: '>=8'} 452 | dev: true 453 | 454 | /ansi-styles/3.2.1: 455 | resolution: {integrity: sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==} 456 | engines: {node: '>=4'} 457 | dependencies: 458 | color-convert: 1.9.3 459 | dev: true 460 | 461 | /ansi-styles/4.3.0: 462 | resolution: {integrity: sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==} 463 | engines: {node: '>=8'} 464 | dependencies: 465 | color-convert: 2.0.1 466 | dev: true 467 | 468 | /argparse/2.0.1: 469 | resolution: {integrity: sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==} 470 | dev: true 471 | 472 | /array-buffer-byte-length/1.0.0: 473 | resolution: {integrity: sha512-LPuwb2P+NrQw3XhxGc36+XSvuBPopovXYTR9Ew++Du9Yb/bx5AzBfrIsBoj0EZUifjQU+sHL21sseZ3jerWO/A==} 474 | dependencies: 475 | call-bind: 1.0.2 476 | is-array-buffer: 3.0.2 477 | dev: true 478 | 479 | /array-includes/3.1.6: 480 | resolution: {integrity: sha512-sgTbLvL6cNnw24FnbaDyjmvddQ2ML8arZsgaJhoABMoplz/4QRhtrYS+alr1BUM1Bwp6dhx8vVCBSLG+StwOFw==} 481 | engines: {node: '>= 0.4'} 482 | dependencies: 483 | call-bind: 1.0.2 484 | define-properties: 1.2.0 485 | es-abstract: 1.21.2 486 | get-intrinsic: 1.2.0 487 | is-string: 1.0.7 488 | dev: true 489 | 490 | /array-union/2.1.0: 491 | resolution: {integrity: sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==} 492 | engines: {node: '>=8'} 493 | dev: true 494 | 495 | /array.prototype.flatmap/1.3.1: 496 | resolution: {integrity: sha512-8UGn9O1FDVvMNB0UlLv4voxRMze7+FpHyF5mSMRjWHUMlpoDViniy05870VlxhfgTnLbpuwTzvD76MTtWxB/mQ==} 497 | engines: {node: '>= 0.4'} 498 | dependencies: 499 | call-bind: 1.0.2 500 | define-properties: 1.2.0 501 | es-abstract: 1.21.2 502 | es-shim-unscopables: 1.0.0 503 | dev: true 504 | 505 | /array.prototype.tosorted/1.1.1: 506 | resolution: {integrity: sha512-pZYPXPRl2PqWcsUs6LOMn+1f1532nEoPTYowBtqLwAW+W8vSVhkIGnmOX1t/UQjD6YGI0vcD2B1U7ZFGQH9jnQ==} 507 | dependencies: 508 | call-bind: 1.0.2 509 | define-properties: 1.2.0 510 | es-abstract: 1.21.2 511 | es-shim-unscopables: 1.0.0 512 | get-intrinsic: 1.2.0 513 | dev: true 514 | 515 | /available-typed-arrays/1.0.5: 516 | resolution: {integrity: sha512-DMD0KiN46eipeziST1LPP/STfDU0sufISXmjSgvVsoU2tqxctQeASejWcfNtxYKqETM1UxQ8sp2OrSBWpHY6sw==} 517 | engines: {node: '>= 0.4'} 518 | dev: true 519 | 520 | /balanced-match/1.0.2: 521 | resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==} 522 | dev: true 523 | 524 | /brace-expansion/1.1.11: 525 | resolution: {integrity: sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==} 526 | dependencies: 527 | balanced-match: 1.0.2 528 | concat-map: 0.0.1 529 | dev: true 530 | 531 | /brace-expansion/2.0.1: 532 | resolution: {integrity: sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==} 533 | dependencies: 534 | balanced-match: 1.0.2 535 | dev: true 536 | 537 | /braces/3.0.2: 538 | resolution: {integrity: sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==} 539 | engines: {node: '>=8'} 540 | dependencies: 541 | fill-range: 7.0.1 542 | dev: true 543 | 544 | /buffer-from/1.1.2: 545 | resolution: {integrity: sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==} 546 | dev: true 547 | 548 | /builtin-modules/3.3.0: 549 | resolution: {integrity: sha512-zhaCDicdLuWN5UbN5IMnFqNMhNfo919sH85y2/ea+5Yg9TsTkeZxpL+JLbp6cgYFS4sRLp3YV4S6yDuqVWHYOw==} 550 | engines: {node: '>=6'} 551 | dev: true 552 | 553 | /call-bind/1.0.2: 554 | resolution: {integrity: sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==} 555 | dependencies: 556 | function-bind: 1.1.1 557 | get-intrinsic: 1.2.0 558 | dev: true 559 | 560 | /callsites/3.1.0: 561 | resolution: {integrity: sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==} 562 | engines: {node: '>=6'} 563 | dev: true 564 | 565 | /chalk/2.4.2: 566 | resolution: {integrity: sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==} 567 | engines: {node: '>=4'} 568 | dependencies: 569 | ansi-styles: 3.2.1 570 | escape-string-regexp: 1.0.5 571 | supports-color: 5.5.0 572 | dev: true 573 | 574 | /chalk/4.1.2: 575 | resolution: {integrity: sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==} 576 | engines: {node: '>=10'} 577 | dependencies: 578 | ansi-styles: 4.3.0 579 | supports-color: 7.2.0 580 | dev: true 581 | 582 | /color-convert/1.9.3: 583 | resolution: {integrity: sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==} 584 | dependencies: 585 | color-name: 1.1.3 586 | dev: true 587 | 588 | /color-convert/2.0.1: 589 | resolution: {integrity: sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==} 590 | engines: {node: '>=7.0.0'} 591 | dependencies: 592 | color-name: 1.1.4 593 | dev: true 594 | 595 | /color-name/1.1.3: 596 | resolution: {integrity: sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==} 597 | dev: true 598 | 599 | /color-name/1.1.4: 600 | resolution: {integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==} 601 | dev: true 602 | 603 | /commander/2.20.3: 604 | resolution: {integrity: sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==} 605 | dev: true 606 | 607 | /commondir/1.0.1: 608 | resolution: {integrity: sha512-W9pAhw0ja1Edb5GVdIF1mjZw/ASI0AlShXM83UUGe2DVr5TdAPEA1OA8m/g8zWp9x6On7gqufY+FatDbC3MDQg==} 609 | dev: true 610 | 611 | /concat-map/0.0.1: 612 | resolution: {integrity: sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==} 613 | dev: true 614 | 615 | /cross-spawn/7.0.3: 616 | resolution: {integrity: sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==} 617 | engines: {node: '>= 8'} 618 | dependencies: 619 | path-key: 3.1.1 620 | shebang-command: 2.0.0 621 | which: 2.0.2 622 | dev: true 623 | 624 | /csstype/3.1.2: 625 | resolution: {integrity: sha512-I7K1Uu0MBPzaFKg4nI5Q7Vs2t+3gWWW648spaF+Rg7pI9ds18Ugn+lvg4SHczUdKlHI5LWBXyqfS8+DufyBsgQ==} 626 | dev: true 627 | 628 | /debug/4.3.4: 629 | resolution: {integrity: sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==} 630 | engines: {node: '>=6.0'} 631 | peerDependencies: 632 | supports-color: '*' 633 | peerDependenciesMeta: 634 | supports-color: 635 | optional: true 636 | dependencies: 637 | ms: 2.1.2 638 | dev: true 639 | 640 | /deep-is/0.1.4: 641 | resolution: {integrity: sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==} 642 | dev: true 643 | 644 | /deepmerge/4.3.1: 645 | resolution: {integrity: sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A==} 646 | engines: {node: '>=0.10.0'} 647 | dev: true 648 | 649 | /define-properties/1.2.0: 650 | resolution: {integrity: sha512-xvqAVKGfT1+UAvPwKTVw/njhdQ8ZhXK4lI0bCIuCMrp2up9nPnaDftrLtmpTazqd1o+UY4zgzU+avtMbDP+ldA==} 651 | engines: {node: '>= 0.4'} 652 | dependencies: 653 | has-property-descriptors: 1.0.0 654 | object-keys: 1.1.1 655 | dev: true 656 | 657 | /dir-glob/3.0.1: 658 | resolution: {integrity: sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==} 659 | engines: {node: '>=8'} 660 | dependencies: 661 | path-type: 4.0.0 662 | dev: true 663 | 664 | /doctrine/2.1.0: 665 | resolution: {integrity: sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==} 666 | engines: {node: '>=0.10.0'} 667 | dependencies: 668 | esutils: 2.0.3 669 | dev: true 670 | 671 | /doctrine/3.0.0: 672 | resolution: {integrity: sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==} 673 | engines: {node: '>=6.0.0'} 674 | dependencies: 675 | esutils: 2.0.3 676 | dev: true 677 | 678 | /es-abstract/1.21.2: 679 | resolution: {integrity: sha512-y/B5POM2iBnIxCiernH1G7rC9qQoM77lLIMQLuob0zhp8C56Po81+2Nj0WFKnd0pNReDTnkYryc+zhOzpEIROg==} 680 | engines: {node: '>= 0.4'} 681 | dependencies: 682 | array-buffer-byte-length: 1.0.0 683 | available-typed-arrays: 1.0.5 684 | call-bind: 1.0.2 685 | es-set-tostringtag: 2.0.1 686 | es-to-primitive: 1.2.1 687 | function.prototype.name: 1.1.5 688 | get-intrinsic: 1.2.0 689 | get-symbol-description: 1.0.0 690 | globalthis: 1.0.3 691 | gopd: 1.0.1 692 | has: 1.0.3 693 | has-property-descriptors: 1.0.0 694 | has-proto: 1.0.1 695 | has-symbols: 1.0.3 696 | internal-slot: 1.0.5 697 | is-array-buffer: 3.0.2 698 | is-callable: 1.2.7 699 | is-negative-zero: 2.0.2 700 | is-regex: 1.1.4 701 | is-shared-array-buffer: 1.0.2 702 | is-string: 1.0.7 703 | is-typed-array: 1.1.10 704 | is-weakref: 1.0.2 705 | object-inspect: 1.12.3 706 | object-keys: 1.1.1 707 | object.assign: 4.1.4 708 | regexp.prototype.flags: 1.5.0 709 | safe-regex-test: 1.0.0 710 | string.prototype.trim: 1.2.7 711 | string.prototype.trimend: 1.0.6 712 | string.prototype.trimstart: 1.0.6 713 | typed-array-length: 1.0.4 714 | unbox-primitive: 1.0.2 715 | which-typed-array: 1.1.9 716 | dev: true 717 | 718 | /es-set-tostringtag/2.0.1: 719 | resolution: {integrity: sha512-g3OMbtlwY3QewlqAiMLI47KywjWZoEytKr8pf6iTC8uJq5bIAH52Z9pnQ8pVL6whrCto53JZDuUIsifGeLorTg==} 720 | engines: {node: '>= 0.4'} 721 | dependencies: 722 | get-intrinsic: 1.2.0 723 | has: 1.0.3 724 | has-tostringtag: 1.0.0 725 | dev: true 726 | 727 | /es-shim-unscopables/1.0.0: 728 | resolution: {integrity: sha512-Jm6GPcCdC30eMLbZ2x8z2WuRwAws3zTBBKuusffYVUrNj/GVSUAZ+xKMaUpfNDR5IbyNA5LJbaecoUVbmUcB1w==} 729 | dependencies: 730 | has: 1.0.3 731 | dev: true 732 | 733 | /es-to-primitive/1.2.1: 734 | resolution: {integrity: sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==} 735 | engines: {node: '>= 0.4'} 736 | dependencies: 737 | is-callable: 1.2.7 738 | is-date-object: 1.0.5 739 | is-symbol: 1.0.4 740 | dev: true 741 | 742 | /escape-string-regexp/1.0.5: 743 | resolution: {integrity: sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==} 744 | engines: {node: '>=0.8.0'} 745 | dev: true 746 | 747 | /escape-string-regexp/4.0.0: 748 | resolution: {integrity: sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==} 749 | engines: {node: '>=10'} 750 | dev: true 751 | 752 | /eslint-config-prettier/8.8.0_eslint@8.38.0: 753 | resolution: {integrity: sha512-wLbQiFre3tdGgpDv67NQKnJuTlcUVYHas3k+DZCc2U2BadthoEY4B7hLPvAxaqdyOGCzuLfii2fqGph10va7oA==} 754 | hasBin: true 755 | peerDependencies: 756 | eslint: '>=7.0.0' 757 | dependencies: 758 | eslint: 8.38.0 759 | dev: true 760 | 761 | /eslint-plugin-prettier/4.2.1_mrzcadguhkbme6yx3ehduvsjxu: 762 | resolution: {integrity: sha512-f/0rXLXUt0oFYs8ra4w49wYZBG5GKZpAYsJSm6rnYL5uVDjd+zowwMwVZHnAjf4edNrKpCDYfXDgmRE/Ak7QyQ==} 763 | engines: {node: '>=12.0.0'} 764 | peerDependencies: 765 | eslint: '>=7.28.0' 766 | eslint-config-prettier: '*' 767 | prettier: '>=2.0.0' 768 | peerDependenciesMeta: 769 | eslint-config-prettier: 770 | optional: true 771 | dependencies: 772 | eslint: 8.38.0 773 | eslint-config-prettier: 8.8.0_eslint@8.38.0 774 | prettier: 2.8.7 775 | prettier-linter-helpers: 1.0.0 776 | dev: true 777 | 778 | /eslint-plugin-react/7.32.2_eslint@8.38.0: 779 | resolution: {integrity: sha512-t2fBMa+XzonrrNkyVirzKlvn5RXzzPwRHtMvLAtVZrt8oxgnTQaYbU6SXTOO1mwQgp1y5+toMSKInnzGr0Knqg==} 780 | engines: {node: '>=4'} 781 | peerDependencies: 782 | eslint: ^3 || ^4 || ^5 || ^6 || ^7 || ^8 783 | dependencies: 784 | array-includes: 3.1.6 785 | array.prototype.flatmap: 1.3.1 786 | array.prototype.tosorted: 1.1.1 787 | doctrine: 2.1.0 788 | eslint: 8.38.0 789 | estraverse: 5.3.0 790 | jsx-ast-utils: 3.3.3 791 | minimatch: 3.1.2 792 | object.entries: 1.1.6 793 | object.fromentries: 2.0.6 794 | object.hasown: 1.1.2 795 | object.values: 1.1.6 796 | prop-types: 15.8.1 797 | resolve: 2.0.0-next.4 798 | semver: 6.3.0 799 | string.prototype.matchall: 4.0.8 800 | dev: true 801 | 802 | /eslint-scope/5.1.1: 803 | resolution: {integrity: sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==} 804 | engines: {node: '>=8.0.0'} 805 | dependencies: 806 | esrecurse: 4.3.0 807 | estraverse: 4.3.0 808 | dev: true 809 | 810 | /eslint-scope/7.2.0: 811 | resolution: {integrity: sha512-DYj5deGlHBfMt15J7rdtyKNq/Nqlv5KfU4iodrQ019XESsRnwXH9KAE0y3cwtUHDo2ob7CypAnCqefh6vioWRw==} 812 | engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} 813 | dependencies: 814 | esrecurse: 4.3.0 815 | estraverse: 5.3.0 816 | dev: true 817 | 818 | /eslint-visitor-keys/3.4.0: 819 | resolution: {integrity: sha512-HPpKPUBQcAsZOsHAFwTtIKcYlCje62XB7SEAcxjtmW6TD1WVpkS6i6/hOVtTZIl4zGj/mBqpFVGvaDneik+VoQ==} 820 | engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} 821 | dev: true 822 | 823 | /eslint/8.38.0: 824 | resolution: {integrity: sha512-pIdsD2jwlUGf/U38Jv97t8lq6HpaU/G9NKbYmpWpZGw3LdTNhZLbJePqxOXGB5+JEKfOPU/XLxYxFh03nr1KTg==} 825 | engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} 826 | hasBin: true 827 | dependencies: 828 | '@eslint-community/eslint-utils': 4.4.0_eslint@8.38.0 829 | '@eslint-community/regexpp': 4.5.0 830 | '@eslint/eslintrc': 2.0.2 831 | '@eslint/js': 8.38.0 832 | '@humanwhocodes/config-array': 0.11.8 833 | '@humanwhocodes/module-importer': 1.0.1 834 | '@nodelib/fs.walk': 1.2.8 835 | ajv: 6.12.6 836 | chalk: 4.1.2 837 | cross-spawn: 7.0.3 838 | debug: 4.3.4 839 | doctrine: 3.0.0 840 | escape-string-regexp: 4.0.0 841 | eslint-scope: 7.2.0 842 | eslint-visitor-keys: 3.4.0 843 | espree: 9.5.1 844 | esquery: 1.5.0 845 | esutils: 2.0.3 846 | fast-deep-equal: 3.1.3 847 | file-entry-cache: 6.0.1 848 | find-up: 5.0.0 849 | glob-parent: 6.0.2 850 | globals: 13.20.0 851 | grapheme-splitter: 1.0.4 852 | ignore: 5.2.4 853 | import-fresh: 3.3.0 854 | imurmurhash: 0.1.4 855 | is-glob: 4.0.3 856 | is-path-inside: 3.0.3 857 | js-sdsl: 4.4.0 858 | js-yaml: 4.1.0 859 | json-stable-stringify-without-jsonify: 1.0.1 860 | levn: 0.4.1 861 | lodash.merge: 4.6.2 862 | minimatch: 3.1.2 863 | natural-compare: 1.4.0 864 | optionator: 0.9.1 865 | strip-ansi: 6.0.1 866 | strip-json-comments: 3.1.1 867 | text-table: 0.2.0 868 | transitivePeerDependencies: 869 | - supports-color 870 | dev: true 871 | 872 | /espree/9.5.1: 873 | resolution: {integrity: sha512-5yxtHSZXRSW5pvv3hAlXM5+/Oswi1AUFqBmbibKb5s6bp3rGIDkyXU6xCoyuuLhijr4SFwPrXRoZjz0AZDN9tg==} 874 | engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} 875 | dependencies: 876 | acorn: 8.8.2 877 | acorn-jsx: 5.3.2_acorn@8.8.2 878 | eslint-visitor-keys: 3.4.0 879 | dev: true 880 | 881 | /esquery/1.5.0: 882 | resolution: {integrity: sha512-YQLXUplAwJgCydQ78IMJywZCceoqk1oH01OERdSAJc/7U2AylwjhSCLDEtqwg811idIS/9fIU5GjG73IgjKMVg==} 883 | engines: {node: '>=0.10'} 884 | dependencies: 885 | estraverse: 5.3.0 886 | dev: true 887 | 888 | /esrecurse/4.3.0: 889 | resolution: {integrity: sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==} 890 | engines: {node: '>=4.0'} 891 | dependencies: 892 | estraverse: 5.3.0 893 | dev: true 894 | 895 | /estraverse/4.3.0: 896 | resolution: {integrity: sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==} 897 | engines: {node: '>=4.0'} 898 | dev: true 899 | 900 | /estraverse/5.3.0: 901 | resolution: {integrity: sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==} 902 | engines: {node: '>=4.0'} 903 | dev: true 904 | 905 | /estree-walker/2.0.2: 906 | resolution: {integrity: sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==} 907 | dev: true 908 | 909 | /esutils/2.0.3: 910 | resolution: {integrity: sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==} 911 | engines: {node: '>=0.10.0'} 912 | dev: true 913 | 914 | /fast-deep-equal/3.1.3: 915 | resolution: {integrity: sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==} 916 | dev: true 917 | 918 | /fast-diff/1.2.0: 919 | resolution: {integrity: sha512-xJuoT5+L99XlZ8twedaRf6Ax2TgQVxvgZOYoPKqZufmJib0tL2tegPBOZb1pVNgIhlqDlA0eO0c3wBvQcmzx4w==} 920 | dev: true 921 | 922 | /fast-glob/3.2.12: 923 | resolution: {integrity: sha512-DVj4CQIYYow0BlaelwK1pHl5n5cRSJfM60UA0zK891sVInoPri2Ekj7+e1CT3/3qxXenpI+nBBmQAcJPJgaj4w==} 924 | engines: {node: '>=8.6.0'} 925 | dependencies: 926 | '@nodelib/fs.stat': 2.0.5 927 | '@nodelib/fs.walk': 1.2.8 928 | glob-parent: 5.1.2 929 | merge2: 1.4.1 930 | micromatch: 4.0.5 931 | dev: true 932 | 933 | /fast-json-stable-stringify/2.1.0: 934 | resolution: {integrity: sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==} 935 | dev: true 936 | 937 | /fast-levenshtein/2.0.6: 938 | resolution: {integrity: sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==} 939 | dev: true 940 | 941 | /fastq/1.15.0: 942 | resolution: {integrity: sha512-wBrocU2LCXXa+lWBt8RoIRD89Fi8OdABODa/kEnyeyjS5aZO5/GNvI5sEINADqP/h8M29UHTHUb53sUu5Ihqdw==} 943 | dependencies: 944 | reusify: 1.0.4 945 | dev: true 946 | 947 | /file-entry-cache/6.0.1: 948 | resolution: {integrity: sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==} 949 | engines: {node: ^10.12.0 || >=12.0.0} 950 | dependencies: 951 | flat-cache: 3.0.4 952 | dev: true 953 | 954 | /fill-range/7.0.1: 955 | resolution: {integrity: sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==} 956 | engines: {node: '>=8'} 957 | dependencies: 958 | to-regex-range: 5.0.1 959 | dev: true 960 | 961 | /find-up/5.0.0: 962 | resolution: {integrity: sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==} 963 | engines: {node: '>=10'} 964 | dependencies: 965 | locate-path: 6.0.0 966 | path-exists: 4.0.0 967 | dev: true 968 | 969 | /flat-cache/3.0.4: 970 | resolution: {integrity: sha512-dm9s5Pw7Jc0GvMYbshN6zchCA9RgQlzzEZX3vylR9IqFfS8XciblUXOKfW6SiuJ0e13eDYZoZV5wdrev7P3Nwg==} 971 | engines: {node: ^10.12.0 || >=12.0.0} 972 | dependencies: 973 | flatted: 3.2.7 974 | rimraf: 3.0.2 975 | dev: true 976 | 977 | /flatted/3.2.7: 978 | resolution: {integrity: sha512-5nqDSxl8nn5BSNxyR3n4I6eDmbolI6WT+QqR547RwxQapgjQBmtktdP+HTBb/a/zLsbzERTONyUB5pefh5TtjQ==} 979 | dev: true 980 | 981 | /for-each/0.3.3: 982 | resolution: {integrity: sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw==} 983 | dependencies: 984 | is-callable: 1.2.7 985 | dev: true 986 | 987 | /fs.realpath/1.0.0: 988 | resolution: {integrity: sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==} 989 | dev: true 990 | 991 | /fsevents/2.3.2: 992 | resolution: {integrity: sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==} 993 | engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0} 994 | os: [darwin] 995 | requiresBuild: true 996 | dev: true 997 | optional: true 998 | 999 | /function-bind/1.1.1: 1000 | resolution: {integrity: sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==} 1001 | dev: true 1002 | 1003 | /function.prototype.name/1.1.5: 1004 | resolution: {integrity: sha512-uN7m/BzVKQnCUF/iW8jYea67v++2u7m5UgENbHRtdDVclOUP+FMPlCNdmk0h/ysGyo2tavMJEDqJAkJdRa1vMA==} 1005 | engines: {node: '>= 0.4'} 1006 | dependencies: 1007 | call-bind: 1.0.2 1008 | define-properties: 1.2.0 1009 | es-abstract: 1.21.2 1010 | functions-have-names: 1.2.3 1011 | dev: true 1012 | 1013 | /functions-have-names/1.2.3: 1014 | resolution: {integrity: sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==} 1015 | dev: true 1016 | 1017 | /get-intrinsic/1.2.0: 1018 | resolution: {integrity: sha512-L049y6nFOuom5wGyRc3/gdTLO94dySVKRACj1RmJZBQXlbTMhtNIgkWkUHq+jYmZvKf14EW1EoJnnjbmoHij0Q==} 1019 | dependencies: 1020 | function-bind: 1.1.1 1021 | has: 1.0.3 1022 | has-symbols: 1.0.3 1023 | dev: true 1024 | 1025 | /get-symbol-description/1.0.0: 1026 | resolution: {integrity: sha512-2EmdH1YvIQiZpltCNgkuiUnyukzxM/R6NDJX31Ke3BG1Nq5b0S2PhX59UKi9vZpPDQVdqn+1IcaAwnzTT5vCjw==} 1027 | engines: {node: '>= 0.4'} 1028 | dependencies: 1029 | call-bind: 1.0.2 1030 | get-intrinsic: 1.2.0 1031 | dev: true 1032 | 1033 | /glob-parent/5.1.2: 1034 | resolution: {integrity: sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==} 1035 | engines: {node: '>= 6'} 1036 | dependencies: 1037 | is-glob: 4.0.3 1038 | dev: true 1039 | 1040 | /glob-parent/6.0.2: 1041 | resolution: {integrity: sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==} 1042 | engines: {node: '>=10.13.0'} 1043 | dependencies: 1044 | is-glob: 4.0.3 1045 | dev: true 1046 | 1047 | /glob/7.2.3: 1048 | resolution: {integrity: sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==} 1049 | dependencies: 1050 | fs.realpath: 1.0.0 1051 | inflight: 1.0.6 1052 | inherits: 2.0.4 1053 | minimatch: 3.1.2 1054 | once: 1.4.0 1055 | path-is-absolute: 1.0.1 1056 | dev: true 1057 | 1058 | /glob/8.1.0: 1059 | resolution: {integrity: sha512-r8hpEjiQEYlF2QU0df3dS+nxxSIreXQS1qRhMJM0Q5NDdR386C7jb7Hwwod8Fgiuex+k0GFjgft18yvxm5XoCQ==} 1060 | engines: {node: '>=12'} 1061 | dependencies: 1062 | fs.realpath: 1.0.0 1063 | inflight: 1.0.6 1064 | inherits: 2.0.4 1065 | minimatch: 5.1.6 1066 | once: 1.4.0 1067 | dev: true 1068 | 1069 | /globals/13.20.0: 1070 | resolution: {integrity: sha512-Qg5QtVkCy/kv3FUSlu4ukeZDVf9ee0iXLAUYX13gbR17bnejFTzr4iS9bY7kwCf1NztRNm1t91fjOiyx4CSwPQ==} 1071 | engines: {node: '>=8'} 1072 | dependencies: 1073 | type-fest: 0.20.2 1074 | dev: true 1075 | 1076 | /globalthis/1.0.3: 1077 | resolution: {integrity: sha512-sFdI5LyBiNTHjRd7cGPWapiHWMOXKyuBNX/cWJ3NfzrZQVa8GI/8cofCl74AOVqq9W5kNmguTIzJ/1s2gyI9wA==} 1078 | engines: {node: '>= 0.4'} 1079 | dependencies: 1080 | define-properties: 1.2.0 1081 | dev: true 1082 | 1083 | /globby/11.1.0: 1084 | resolution: {integrity: sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==} 1085 | engines: {node: '>=10'} 1086 | dependencies: 1087 | array-union: 2.1.0 1088 | dir-glob: 3.0.1 1089 | fast-glob: 3.2.12 1090 | ignore: 5.2.4 1091 | merge2: 1.4.1 1092 | slash: 3.0.0 1093 | dev: true 1094 | 1095 | /gopd/1.0.1: 1096 | resolution: {integrity: sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==} 1097 | dependencies: 1098 | get-intrinsic: 1.2.0 1099 | dev: true 1100 | 1101 | /grapheme-splitter/1.0.4: 1102 | resolution: {integrity: sha512-bzh50DW9kTPM00T8y4o8vQg89Di9oLJVLW/KaOGIXJWP/iqCN6WKYkbNOF04vFLJhwcpYUh9ydh/+5vpOqV4YQ==} 1103 | dev: true 1104 | 1105 | /has-bigints/1.0.2: 1106 | resolution: {integrity: sha512-tSvCKtBr9lkF0Ex0aQiP9N+OpV4zi2r/Nee5VkRDbaqv35RLYMzbwQfFSZZH0kR+Rd6302UJZ2p/bJCEoR3VoQ==} 1107 | dev: true 1108 | 1109 | /has-flag/3.0.0: 1110 | resolution: {integrity: sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==} 1111 | engines: {node: '>=4'} 1112 | dev: true 1113 | 1114 | /has-flag/4.0.0: 1115 | resolution: {integrity: sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==} 1116 | engines: {node: '>=8'} 1117 | dev: true 1118 | 1119 | /has-property-descriptors/1.0.0: 1120 | resolution: {integrity: sha512-62DVLZGoiEBDHQyqG4w9xCuZ7eJEwNmJRWw2VY84Oedb7WFcA27fiEVe8oUQx9hAUJ4ekurquucTGwsyO1XGdQ==} 1121 | dependencies: 1122 | get-intrinsic: 1.2.0 1123 | dev: true 1124 | 1125 | /has-proto/1.0.1: 1126 | resolution: {integrity: sha512-7qE+iP+O+bgF9clE5+UoBFzE65mlBiVj3tKCrlNQ0Ogwm0BjpT/gK4SlLYDMybDh5I3TCTKnPPa0oMG7JDYrhg==} 1127 | engines: {node: '>= 0.4'} 1128 | dev: true 1129 | 1130 | /has-symbols/1.0.3: 1131 | resolution: {integrity: sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==} 1132 | engines: {node: '>= 0.4'} 1133 | dev: true 1134 | 1135 | /has-tostringtag/1.0.0: 1136 | resolution: {integrity: sha512-kFjcSNhnlGV1kyoGk7OXKSawH5JOb/LzUc5w9B02hOTO0dfFRjbHQKvg1d6cf3HbeUmtU9VbbV3qzZ2Teh97WQ==} 1137 | engines: {node: '>= 0.4'} 1138 | dependencies: 1139 | has-symbols: 1.0.3 1140 | dev: true 1141 | 1142 | /has/1.0.3: 1143 | resolution: {integrity: sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==} 1144 | engines: {node: '>= 0.4.0'} 1145 | dependencies: 1146 | function-bind: 1.1.1 1147 | dev: true 1148 | 1149 | /ignore/5.2.4: 1150 | resolution: {integrity: sha512-MAb38BcSbH0eHNBxn7ql2NH/kX33OkB3lZ1BNdh7ENeRChHTYsTvWrMubiIAMNS2llXEEgZ1MUOBtXChP3kaFQ==} 1151 | engines: {node: '>= 4'} 1152 | dev: true 1153 | 1154 | /import-fresh/3.3.0: 1155 | resolution: {integrity: sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==} 1156 | engines: {node: '>=6'} 1157 | dependencies: 1158 | parent-module: 1.0.1 1159 | resolve-from: 4.0.0 1160 | dev: true 1161 | 1162 | /imurmurhash/0.1.4: 1163 | resolution: {integrity: sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==} 1164 | engines: {node: '>=0.8.19'} 1165 | dev: true 1166 | 1167 | /inflight/1.0.6: 1168 | resolution: {integrity: sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==} 1169 | dependencies: 1170 | once: 1.4.0 1171 | wrappy: 1.0.2 1172 | dev: true 1173 | 1174 | /inherits/2.0.4: 1175 | resolution: {integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==} 1176 | dev: true 1177 | 1178 | /internal-slot/1.0.5: 1179 | resolution: {integrity: sha512-Y+R5hJrzs52QCG2laLn4udYVnxsfny9CpOhNhUvk/SSSVyF6T27FzRbF0sroPidSu3X8oEAkOn2K804mjpt6UQ==} 1180 | engines: {node: '>= 0.4'} 1181 | dependencies: 1182 | get-intrinsic: 1.2.0 1183 | has: 1.0.3 1184 | side-channel: 1.0.4 1185 | dev: true 1186 | 1187 | /is-array-buffer/3.0.2: 1188 | resolution: {integrity: sha512-y+FyyR/w8vfIRq4eQcM1EYgSTnmHXPqaF+IgzgraytCFq5Xh8lllDVmAZolPJiZttZLeFSINPYMaEJ7/vWUa1w==} 1189 | dependencies: 1190 | call-bind: 1.0.2 1191 | get-intrinsic: 1.2.0 1192 | is-typed-array: 1.1.10 1193 | dev: true 1194 | 1195 | /is-bigint/1.0.4: 1196 | resolution: {integrity: sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg==} 1197 | dependencies: 1198 | has-bigints: 1.0.2 1199 | dev: true 1200 | 1201 | /is-boolean-object/1.1.2: 1202 | resolution: {integrity: sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA==} 1203 | engines: {node: '>= 0.4'} 1204 | dependencies: 1205 | call-bind: 1.0.2 1206 | has-tostringtag: 1.0.0 1207 | dev: true 1208 | 1209 | /is-builtin-module/3.2.1: 1210 | resolution: {integrity: sha512-BSLE3HnV2syZ0FK0iMA/yUGplUeMmNz4AW5fnTunbCIqZi4vG3WjJT9FHMy5D69xmAYBHXQhJdALdpwVxV501A==} 1211 | engines: {node: '>=6'} 1212 | dependencies: 1213 | builtin-modules: 3.3.0 1214 | dev: true 1215 | 1216 | /is-callable/1.2.7: 1217 | resolution: {integrity: sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==} 1218 | engines: {node: '>= 0.4'} 1219 | dev: true 1220 | 1221 | /is-core-module/2.12.0: 1222 | resolution: {integrity: sha512-RECHCBCd/viahWmwj6enj19sKbHfJrddi/6cBDsNTKbNq0f7VeaUkBo60BqzvPqo/W54ChS62Z5qyun7cfOMqQ==} 1223 | dependencies: 1224 | has: 1.0.3 1225 | dev: true 1226 | 1227 | /is-date-object/1.0.5: 1228 | resolution: {integrity: sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ==} 1229 | engines: {node: '>= 0.4'} 1230 | dependencies: 1231 | has-tostringtag: 1.0.0 1232 | dev: true 1233 | 1234 | /is-extglob/2.1.1: 1235 | resolution: {integrity: sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==} 1236 | engines: {node: '>=0.10.0'} 1237 | dev: true 1238 | 1239 | /is-glob/4.0.3: 1240 | resolution: {integrity: sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==} 1241 | engines: {node: '>=0.10.0'} 1242 | dependencies: 1243 | is-extglob: 2.1.1 1244 | dev: true 1245 | 1246 | /is-module/1.0.0: 1247 | resolution: {integrity: sha512-51ypPSPCoTEIN9dy5Oy+h4pShgJmPCygKfyRCISBI+JoWT/2oJvK8QPxmwv7b/p239jXrm9M1mlQbyKJ5A152g==} 1248 | dev: true 1249 | 1250 | /is-negative-zero/2.0.2: 1251 | resolution: {integrity: sha512-dqJvarLawXsFbNDeJW7zAz8ItJ9cd28YufuuFzh0G8pNHjJMnY08Dv7sYX2uF5UpQOwieAeOExEYAWWfu7ZZUA==} 1252 | engines: {node: '>= 0.4'} 1253 | dev: true 1254 | 1255 | /is-number-object/1.0.7: 1256 | resolution: {integrity: sha512-k1U0IRzLMo7ZlYIfzRu23Oh6MiIFasgpb9X76eqfFZAqwH44UI4KTBvBYIZ1dSL9ZzChTB9ShHfLkR4pdW5krQ==} 1257 | engines: {node: '>= 0.4'} 1258 | dependencies: 1259 | has-tostringtag: 1.0.0 1260 | dev: true 1261 | 1262 | /is-number/7.0.0: 1263 | resolution: {integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==} 1264 | engines: {node: '>=0.12.0'} 1265 | dev: true 1266 | 1267 | /is-path-inside/3.0.3: 1268 | resolution: {integrity: sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==} 1269 | engines: {node: '>=8'} 1270 | dev: true 1271 | 1272 | /is-reference/1.2.1: 1273 | resolution: {integrity: sha512-U82MsXXiFIrjCK4otLT+o2NA2Cd2g5MLoOVXUZjIOhLurrRxpEXzI8O0KZHr3IjLvlAH1kTPYSuqer5T9ZVBKQ==} 1274 | dependencies: 1275 | '@types/estree': 1.0.1 1276 | dev: true 1277 | 1278 | /is-regex/1.1.4: 1279 | resolution: {integrity: sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg==} 1280 | engines: {node: '>= 0.4'} 1281 | dependencies: 1282 | call-bind: 1.0.2 1283 | has-tostringtag: 1.0.0 1284 | dev: true 1285 | 1286 | /is-shared-array-buffer/1.0.2: 1287 | resolution: {integrity: sha512-sqN2UDu1/0y6uvXyStCOzyhAjCSlHceFoMKJW8W9EU9cvic/QdsZ0kEU93HEy3IUEFZIiH/3w+AH/UQbPHNdhA==} 1288 | dependencies: 1289 | call-bind: 1.0.2 1290 | dev: true 1291 | 1292 | /is-string/1.0.7: 1293 | resolution: {integrity: sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg==} 1294 | engines: {node: '>= 0.4'} 1295 | dependencies: 1296 | has-tostringtag: 1.0.0 1297 | dev: true 1298 | 1299 | /is-symbol/1.0.4: 1300 | resolution: {integrity: sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg==} 1301 | engines: {node: '>= 0.4'} 1302 | dependencies: 1303 | has-symbols: 1.0.3 1304 | dev: true 1305 | 1306 | /is-typed-array/1.1.10: 1307 | resolution: {integrity: sha512-PJqgEHiWZvMpaFZ3uTc8kHPM4+4ADTlDniuQL7cU/UDA0Ql7F70yGfHph3cLNe+c9toaigv+DFzTJKhc2CtO6A==} 1308 | engines: {node: '>= 0.4'} 1309 | dependencies: 1310 | available-typed-arrays: 1.0.5 1311 | call-bind: 1.0.2 1312 | for-each: 0.3.3 1313 | gopd: 1.0.1 1314 | has-tostringtag: 1.0.0 1315 | dev: true 1316 | 1317 | /is-weakref/1.0.2: 1318 | resolution: {integrity: sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ==} 1319 | dependencies: 1320 | call-bind: 1.0.2 1321 | dev: true 1322 | 1323 | /isexe/2.0.0: 1324 | resolution: {integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==} 1325 | dev: true 1326 | 1327 | /jest-worker/26.6.2: 1328 | resolution: {integrity: sha512-KWYVV1c4i+jbMpaBC+U++4Va0cp8OisU185o73T1vo99hqi7w8tSJfUXYswwqqrjzwxa6KpRK54WhPvwf5w6PQ==} 1329 | engines: {node: '>= 10.13.0'} 1330 | dependencies: 1331 | '@types/node': 18.16.0 1332 | merge-stream: 2.0.0 1333 | supports-color: 7.2.0 1334 | dev: true 1335 | 1336 | /js-sdsl/4.4.0: 1337 | resolution: {integrity: sha512-FfVSdx6pJ41Oa+CF7RDaFmTnCaFhua+SNYQX74riGOpl96x+2jQCqEfQ2bnXu/5DPCqlRuiqyvTJM0Qjz26IVg==} 1338 | dev: true 1339 | 1340 | /js-tokens/4.0.0: 1341 | resolution: {integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==} 1342 | dev: true 1343 | 1344 | /js-yaml/4.1.0: 1345 | resolution: {integrity: sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==} 1346 | hasBin: true 1347 | dependencies: 1348 | argparse: 2.0.1 1349 | dev: true 1350 | 1351 | /json-schema-traverse/0.4.1: 1352 | resolution: {integrity: sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==} 1353 | dev: true 1354 | 1355 | /json-stable-stringify-without-jsonify/1.0.1: 1356 | resolution: {integrity: sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==} 1357 | dev: true 1358 | 1359 | /jsx-ast-utils/3.3.3: 1360 | resolution: {integrity: sha512-fYQHZTZ8jSfmWZ0iyzfwiU4WDX4HpHbMCZ3gPlWYiCl3BoeOTsqKBqnTVfH2rYT7eP5c3sVbeSPHnnJOaTrWiw==} 1361 | engines: {node: '>=4.0'} 1362 | dependencies: 1363 | array-includes: 3.1.6 1364 | object.assign: 4.1.4 1365 | dev: true 1366 | 1367 | /levn/0.4.1: 1368 | resolution: {integrity: sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==} 1369 | engines: {node: '>= 0.8.0'} 1370 | dependencies: 1371 | prelude-ls: 1.2.1 1372 | type-check: 0.4.0 1373 | dev: true 1374 | 1375 | /locate-path/6.0.0: 1376 | resolution: {integrity: sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==} 1377 | engines: {node: '>=10'} 1378 | dependencies: 1379 | p-locate: 5.0.0 1380 | dev: true 1381 | 1382 | /lodash.merge/4.6.2: 1383 | resolution: {integrity: sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==} 1384 | dev: true 1385 | 1386 | /loose-envify/1.4.0: 1387 | resolution: {integrity: sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==} 1388 | hasBin: true 1389 | dependencies: 1390 | js-tokens: 4.0.0 1391 | dev: true 1392 | 1393 | /lru-cache/6.0.0: 1394 | resolution: {integrity: sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==} 1395 | engines: {node: '>=10'} 1396 | dependencies: 1397 | yallist: 4.0.0 1398 | dev: true 1399 | 1400 | /magic-string/0.27.0: 1401 | resolution: {integrity: sha512-8UnnX2PeRAPZuN12svgR9j7M1uWMovg/CEnIwIG0LFkXSJJe4PdfUGiTGl8V9bsBHFUtfVINcSyYxd7q+kx9fA==} 1402 | engines: {node: '>=12'} 1403 | dependencies: 1404 | '@jridgewell/sourcemap-codec': 1.4.15 1405 | dev: true 1406 | 1407 | /magic-string/0.30.0: 1408 | resolution: {integrity: sha512-LA+31JYDJLs82r2ScLrlz1GjSgu66ZV518eyWT+S8VhyQn/JL0u9MeBOvQMGYiPk1DBiSN9DDMOcXvigJZaViQ==} 1409 | engines: {node: '>=12'} 1410 | dependencies: 1411 | '@jridgewell/sourcemap-codec': 1.4.15 1412 | dev: true 1413 | 1414 | /merge-stream/2.0.0: 1415 | resolution: {integrity: sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==} 1416 | dev: true 1417 | 1418 | /merge2/1.4.1: 1419 | resolution: {integrity: sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==} 1420 | engines: {node: '>= 8'} 1421 | dev: true 1422 | 1423 | /micromatch/4.0.5: 1424 | resolution: {integrity: sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==} 1425 | engines: {node: '>=8.6'} 1426 | dependencies: 1427 | braces: 3.0.2 1428 | picomatch: 2.3.1 1429 | dev: true 1430 | 1431 | /minimatch/3.1.2: 1432 | resolution: {integrity: sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==} 1433 | dependencies: 1434 | brace-expansion: 1.1.11 1435 | dev: true 1436 | 1437 | /minimatch/5.1.6: 1438 | resolution: {integrity: sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==} 1439 | engines: {node: '>=10'} 1440 | dependencies: 1441 | brace-expansion: 2.0.1 1442 | dev: true 1443 | 1444 | /ms/2.1.2: 1445 | resolution: {integrity: sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==} 1446 | dev: true 1447 | 1448 | /natural-compare-lite/1.4.0: 1449 | resolution: {integrity: sha512-Tj+HTDSJJKaZnfiuw+iaF9skdPpTo2GtEly5JHnWV/hfv2Qj/9RKsGISQtLh2ox3l5EAGw487hnBee0sIJ6v2g==} 1450 | dev: true 1451 | 1452 | /natural-compare/1.4.0: 1453 | resolution: {integrity: sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==} 1454 | dev: true 1455 | 1456 | /object-assign/4.1.1: 1457 | resolution: {integrity: sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==} 1458 | engines: {node: '>=0.10.0'} 1459 | dev: true 1460 | 1461 | /object-inspect/1.12.3: 1462 | resolution: {integrity: sha512-geUvdk7c+eizMNUDkRpW1wJwgfOiOeHbxBR/hLXK1aT6zmVSO0jsQcs7fj6MGw89jC/cjGfLcNOrtMYtGqm81g==} 1463 | dev: true 1464 | 1465 | /object-keys/1.1.1: 1466 | resolution: {integrity: sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==} 1467 | engines: {node: '>= 0.4'} 1468 | dev: true 1469 | 1470 | /object.assign/4.1.4: 1471 | resolution: {integrity: sha512-1mxKf0e58bvyjSCtKYY4sRe9itRk3PJpquJOjeIkz885CczcI4IvJJDLPS72oowuSh+pBxUFROpX+TU++hxhZQ==} 1472 | engines: {node: '>= 0.4'} 1473 | dependencies: 1474 | call-bind: 1.0.2 1475 | define-properties: 1.2.0 1476 | has-symbols: 1.0.3 1477 | object-keys: 1.1.1 1478 | dev: true 1479 | 1480 | /object.entries/1.1.6: 1481 | resolution: {integrity: sha512-leTPzo4Zvg3pmbQ3rDK69Rl8GQvIqMWubrkxONG9/ojtFE2rD9fjMKfSI5BxW3osRH1m6VdzmqK8oAY9aT4x5w==} 1482 | engines: {node: '>= 0.4'} 1483 | dependencies: 1484 | call-bind: 1.0.2 1485 | define-properties: 1.2.0 1486 | es-abstract: 1.21.2 1487 | dev: true 1488 | 1489 | /object.fromentries/2.0.6: 1490 | resolution: {integrity: sha512-VciD13dswC4j1Xt5394WR4MzmAQmlgN72phd/riNp9vtD7tp4QQWJ0R4wvclXcafgcYK8veHRed2W6XeGBvcfg==} 1491 | engines: {node: '>= 0.4'} 1492 | dependencies: 1493 | call-bind: 1.0.2 1494 | define-properties: 1.2.0 1495 | es-abstract: 1.21.2 1496 | dev: true 1497 | 1498 | /object.hasown/1.1.2: 1499 | resolution: {integrity: sha512-B5UIT3J1W+WuWIU55h0mjlwaqxiE5vYENJXIXZ4VFe05pNYrkKuK0U/6aFcb0pKywYJh7IhfoqUfKVmrJJHZHw==} 1500 | dependencies: 1501 | define-properties: 1.2.0 1502 | es-abstract: 1.21.2 1503 | dev: true 1504 | 1505 | /object.values/1.1.6: 1506 | resolution: {integrity: sha512-FVVTkD1vENCsAcwNs9k6jea2uHC/X0+JcjG8YA60FN5CMaJmG95wT9jek/xX9nornqGRrBkKtzuAu2wuHpKqvw==} 1507 | engines: {node: '>= 0.4'} 1508 | dependencies: 1509 | call-bind: 1.0.2 1510 | define-properties: 1.2.0 1511 | es-abstract: 1.21.2 1512 | dev: true 1513 | 1514 | /once/1.4.0: 1515 | resolution: {integrity: sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==} 1516 | dependencies: 1517 | wrappy: 1.0.2 1518 | dev: true 1519 | 1520 | /optionator/0.9.1: 1521 | resolution: {integrity: sha512-74RlY5FCnhq4jRxVUPKDaRwrVNXMqsGsiW6AJw4XK8hmtm10wC0ypZBLw5IIp85NZMr91+qd1RvvENwg7jjRFw==} 1522 | engines: {node: '>= 0.8.0'} 1523 | dependencies: 1524 | deep-is: 0.1.4 1525 | fast-levenshtein: 2.0.6 1526 | levn: 0.4.1 1527 | prelude-ls: 1.2.1 1528 | type-check: 0.4.0 1529 | word-wrap: 1.2.3 1530 | dev: true 1531 | 1532 | /p-limit/3.1.0: 1533 | resolution: {integrity: sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==} 1534 | engines: {node: '>=10'} 1535 | dependencies: 1536 | yocto-queue: 0.1.0 1537 | dev: true 1538 | 1539 | /p-locate/5.0.0: 1540 | resolution: {integrity: sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==} 1541 | engines: {node: '>=10'} 1542 | dependencies: 1543 | p-limit: 3.1.0 1544 | dev: true 1545 | 1546 | /parent-module/1.0.1: 1547 | resolution: {integrity: sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==} 1548 | engines: {node: '>=6'} 1549 | dependencies: 1550 | callsites: 3.1.0 1551 | dev: true 1552 | 1553 | /path-exists/4.0.0: 1554 | resolution: {integrity: sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==} 1555 | engines: {node: '>=8'} 1556 | dev: true 1557 | 1558 | /path-is-absolute/1.0.1: 1559 | resolution: {integrity: sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==} 1560 | engines: {node: '>=0.10.0'} 1561 | dev: true 1562 | 1563 | /path-key/3.1.1: 1564 | resolution: {integrity: sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==} 1565 | engines: {node: '>=8'} 1566 | dev: true 1567 | 1568 | /path-parse/1.0.7: 1569 | resolution: {integrity: sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==} 1570 | dev: true 1571 | 1572 | /path-type/4.0.0: 1573 | resolution: {integrity: sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==} 1574 | engines: {node: '>=8'} 1575 | dev: true 1576 | 1577 | /picomatch/2.3.1: 1578 | resolution: {integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==} 1579 | engines: {node: '>=8.6'} 1580 | dev: true 1581 | 1582 | /prelude-ls/1.2.1: 1583 | resolution: {integrity: sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==} 1584 | engines: {node: '>= 0.8.0'} 1585 | dev: true 1586 | 1587 | /prettier-linter-helpers/1.0.0: 1588 | resolution: {integrity: sha512-GbK2cP9nraSSUF9N2XwUwqfzlAFlMNYYl+ShE/V+H8a9uNl/oUqB1w2EL54Jh0OlyRSd8RfWYJ3coVS4TROP2w==} 1589 | engines: {node: '>=6.0.0'} 1590 | dependencies: 1591 | fast-diff: 1.2.0 1592 | dev: true 1593 | 1594 | /prettier/2.8.7: 1595 | resolution: {integrity: sha512-yPngTo3aXUUmyuTjeTUT75txrf+aMh9FiD7q9ZE/i6r0bPb22g4FsE6Y338PQX1bmfy08i9QQCB7/rcUAVntfw==} 1596 | engines: {node: '>=10.13.0'} 1597 | hasBin: true 1598 | dev: true 1599 | 1600 | /prop-types/15.8.1: 1601 | resolution: {integrity: sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg==} 1602 | dependencies: 1603 | loose-envify: 1.4.0 1604 | object-assign: 4.1.1 1605 | react-is: 16.13.1 1606 | dev: true 1607 | 1608 | /punycode/2.3.0: 1609 | resolution: {integrity: sha512-rRV+zQD8tVFys26lAGR9WUuS4iUAngJScM+ZRSKtvl5tKeZ2t5bvdNFdNHBW9FWR4guGHlgmsZ1G7BSm2wTbuA==} 1610 | engines: {node: '>=6'} 1611 | dev: true 1612 | 1613 | /queue-microtask/1.2.3: 1614 | resolution: {integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==} 1615 | dev: true 1616 | 1617 | /randombytes/2.1.0: 1618 | resolution: {integrity: sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==} 1619 | dependencies: 1620 | safe-buffer: 5.2.1 1621 | dev: true 1622 | 1623 | /react-is/16.13.1: 1624 | resolution: {integrity: sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==} 1625 | dev: true 1626 | 1627 | /react/18.2.0: 1628 | resolution: {integrity: sha512-/3IjMdb2L9QbBdWiW5e3P2/npwMBaU9mHCSCUzNln0ZCYbcfTsGbTJrU/kGemdH2IWmB2ioZ+zkxtmq6g09fGQ==} 1629 | engines: {node: '>=0.10.0'} 1630 | dependencies: 1631 | loose-envify: 1.4.0 1632 | dev: true 1633 | 1634 | /regexp.prototype.flags/1.5.0: 1635 | resolution: {integrity: sha512-0SutC3pNudRKgquxGoRGIz946MZVHqbNfPjBdxeOhBrdgDKlRoXmYLQN9xRbrR09ZXWeGAdPuif7egofn6v5LA==} 1636 | engines: {node: '>= 0.4'} 1637 | dependencies: 1638 | call-bind: 1.0.2 1639 | define-properties: 1.2.0 1640 | functions-have-names: 1.2.3 1641 | dev: true 1642 | 1643 | /resolve-from/4.0.0: 1644 | resolution: {integrity: sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==} 1645 | engines: {node: '>=4'} 1646 | dev: true 1647 | 1648 | /resolve/1.22.2: 1649 | resolution: {integrity: sha512-Sb+mjNHOULsBv818T40qSPeRiuWLyaGMa5ewydRLFimneixmVy2zdivRl+AF6jaYPC8ERxGDmFSiqui6SfPd+g==} 1650 | hasBin: true 1651 | dependencies: 1652 | is-core-module: 2.12.0 1653 | path-parse: 1.0.7 1654 | supports-preserve-symlinks-flag: 1.0.0 1655 | dev: true 1656 | 1657 | /resolve/2.0.0-next.4: 1658 | resolution: {integrity: sha512-iMDbmAWtfU+MHpxt/I5iWI7cY6YVEZUQ3MBgPQ++XD1PELuJHIl82xBmObyP2KyQmkNB2dsqF7seoQQiAn5yDQ==} 1659 | hasBin: true 1660 | dependencies: 1661 | is-core-module: 2.12.0 1662 | path-parse: 1.0.7 1663 | supports-preserve-symlinks-flag: 1.0.0 1664 | dev: true 1665 | 1666 | /reusify/1.0.4: 1667 | resolution: {integrity: sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==} 1668 | engines: {iojs: '>=1.0.0', node: '>=0.10.0'} 1669 | dev: true 1670 | 1671 | /rimraf/3.0.2: 1672 | resolution: {integrity: sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==} 1673 | hasBin: true 1674 | dependencies: 1675 | glob: 7.2.3 1676 | dev: true 1677 | 1678 | /rollup-plugin-dts/5.3.0_vxwo7vqlqcs7hwrek7gmfkalae: 1679 | resolution: {integrity: sha512-8FXp0ZkyZj1iU5klkIJYLjIq/YZSwBoERu33QBDxm/1yw5UU4txrEtcmMkrq+ZiKu3Q4qvPCNqc3ovX6rjqzbQ==} 1680 | engines: {node: '>=v14'} 1681 | peerDependencies: 1682 | rollup: ^3.0.0 1683 | typescript: ^4.1 || ^5.0 1684 | dependencies: 1685 | magic-string: 0.30.0 1686 | rollup: 2.79.1 1687 | typescript: 5.0.4 1688 | optionalDependencies: 1689 | '@babel/code-frame': 7.21.4 1690 | dev: true 1691 | 1692 | /rollup-plugin-peer-deps-external/2.2.4_rollup@2.79.1: 1693 | resolution: {integrity: sha512-AWdukIM1+k5JDdAqV/Cxd+nejvno2FVLVeZ74NKggm3Q5s9cbbcOgUPGdbxPi4BXu7xGaZ8HG12F+thImYu/0g==} 1694 | peerDependencies: 1695 | rollup: '*' 1696 | dependencies: 1697 | rollup: 2.79.1 1698 | dev: true 1699 | 1700 | /rollup-plugin-terser/7.0.2_rollup@2.79.1: 1701 | resolution: {integrity: sha512-w3iIaU4OxcF52UUXiZNsNeuXIMDvFrr+ZXK6bFZ0Q60qyVfq4uLptoS4bbq3paG3x216eQllFZX7zt6TIImguQ==} 1702 | deprecated: This package has been deprecated and is no longer maintained. Please use @rollup/plugin-terser 1703 | peerDependencies: 1704 | rollup: ^2.0.0 1705 | dependencies: 1706 | '@babel/code-frame': 7.21.4 1707 | jest-worker: 26.6.2 1708 | rollup: 2.79.1 1709 | serialize-javascript: 4.0.0 1710 | terser: 5.17.1 1711 | dev: true 1712 | 1713 | /rollup-plugin-typescript-paths/1.4.0_typescript@5.0.4: 1714 | resolution: {integrity: sha512-6EgeLRjTVmymftEyCuYu91XzY5XMB5lR0YrJkeT0D7OG2RGSdbNL+C/hfPIdc/sjMa9Sl5NLsxIr6C/+/5EUpA==} 1715 | peerDependencies: 1716 | typescript: '>=3.4' 1717 | dependencies: 1718 | typescript: 5.0.4 1719 | dev: true 1720 | 1721 | /rollup/2.79.1: 1722 | resolution: {integrity: sha512-uKxbd0IhMZOhjAiD5oAFp7BqvkA4Dv47qpOCtaNvng4HBwdbWtdOh8f5nZNuk2rp51PMGk3bzfWu5oayNEuYnw==} 1723 | engines: {node: '>=10.0.0'} 1724 | hasBin: true 1725 | optionalDependencies: 1726 | fsevents: 2.3.2 1727 | dev: true 1728 | 1729 | /run-parallel/1.2.0: 1730 | resolution: {integrity: sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==} 1731 | dependencies: 1732 | queue-microtask: 1.2.3 1733 | dev: true 1734 | 1735 | /safe-buffer/5.2.1: 1736 | resolution: {integrity: sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==} 1737 | dev: true 1738 | 1739 | /safe-regex-test/1.0.0: 1740 | resolution: {integrity: sha512-JBUUzyOgEwXQY1NuPtvcj/qcBDbDmEvWufhlnXZIm75DEHp+afM1r1ujJpJsV/gSM4t59tpDyPi1sd6ZaPFfsA==} 1741 | dependencies: 1742 | call-bind: 1.0.2 1743 | get-intrinsic: 1.2.0 1744 | is-regex: 1.1.4 1745 | dev: true 1746 | 1747 | /semver/6.3.0: 1748 | resolution: {integrity: sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==} 1749 | hasBin: true 1750 | dev: true 1751 | 1752 | /semver/7.5.0: 1753 | resolution: {integrity: sha512-+XC0AD/R7Q2mPSRuy2Id0+CGTZ98+8f+KvwirxOKIEyid+XSx6HbC63p+O4IndTHuX5Z+JxQ0TghCkO5Cg/2HA==} 1754 | engines: {node: '>=10'} 1755 | hasBin: true 1756 | dependencies: 1757 | lru-cache: 6.0.0 1758 | dev: true 1759 | 1760 | /serialize-javascript/4.0.0: 1761 | resolution: {integrity: sha512-GaNA54380uFefWghODBWEGisLZFj00nS5ACs6yHa9nLqlLpVLO8ChDGeKRjZnV4Nh4n0Qi7nhYZD/9fCPzEqkw==} 1762 | dependencies: 1763 | randombytes: 2.1.0 1764 | dev: true 1765 | 1766 | /shebang-command/2.0.0: 1767 | resolution: {integrity: sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==} 1768 | engines: {node: '>=8'} 1769 | dependencies: 1770 | shebang-regex: 3.0.0 1771 | dev: true 1772 | 1773 | /shebang-regex/3.0.0: 1774 | resolution: {integrity: sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==} 1775 | engines: {node: '>=8'} 1776 | dev: true 1777 | 1778 | /side-channel/1.0.4: 1779 | resolution: {integrity: sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==} 1780 | dependencies: 1781 | call-bind: 1.0.2 1782 | get-intrinsic: 1.2.0 1783 | object-inspect: 1.12.3 1784 | dev: true 1785 | 1786 | /slash/3.0.0: 1787 | resolution: {integrity: sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==} 1788 | engines: {node: '>=8'} 1789 | dev: true 1790 | 1791 | /source-map-support/0.5.21: 1792 | resolution: {integrity: sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==} 1793 | dependencies: 1794 | buffer-from: 1.1.2 1795 | source-map: 0.6.1 1796 | dev: true 1797 | 1798 | /source-map/0.6.1: 1799 | resolution: {integrity: sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==} 1800 | engines: {node: '>=0.10.0'} 1801 | dev: true 1802 | 1803 | /string.prototype.matchall/4.0.8: 1804 | resolution: {integrity: sha512-6zOCOcJ+RJAQshcTvXPHoxoQGONa3e/Lqx90wUA+wEzX78sg5Bo+1tQo4N0pohS0erG9qtCqJDjNCQBjeWVxyg==} 1805 | dependencies: 1806 | call-bind: 1.0.2 1807 | define-properties: 1.2.0 1808 | es-abstract: 1.21.2 1809 | get-intrinsic: 1.2.0 1810 | has-symbols: 1.0.3 1811 | internal-slot: 1.0.5 1812 | regexp.prototype.flags: 1.5.0 1813 | side-channel: 1.0.4 1814 | dev: true 1815 | 1816 | /string.prototype.trim/1.2.7: 1817 | resolution: {integrity: sha512-p6TmeT1T3411M8Cgg9wBTMRtY2q9+PNy9EV1i2lIXUN/btt763oIfxwN3RR8VU6wHX8j/1CFy0L+YuThm6bgOg==} 1818 | engines: {node: '>= 0.4'} 1819 | dependencies: 1820 | call-bind: 1.0.2 1821 | define-properties: 1.2.0 1822 | es-abstract: 1.21.2 1823 | dev: true 1824 | 1825 | /string.prototype.trimend/1.0.6: 1826 | resolution: {integrity: sha512-JySq+4mrPf9EsDBEDYMOb/lM7XQLulwg5R/m1r0PXEFqrV0qHvl58sdTilSXtKOflCsK2E8jxf+GKC0T07RWwQ==} 1827 | dependencies: 1828 | call-bind: 1.0.2 1829 | define-properties: 1.2.0 1830 | es-abstract: 1.21.2 1831 | dev: true 1832 | 1833 | /string.prototype.trimstart/1.0.6: 1834 | resolution: {integrity: sha512-omqjMDaY92pbn5HOX7f9IccLA+U1tA9GvtU4JrodiXFfYB7jPzzHpRzpglLAjtUV6bB557zwClJezTqnAiYnQA==} 1835 | dependencies: 1836 | call-bind: 1.0.2 1837 | define-properties: 1.2.0 1838 | es-abstract: 1.21.2 1839 | dev: true 1840 | 1841 | /strip-ansi/6.0.1: 1842 | resolution: {integrity: sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==} 1843 | engines: {node: '>=8'} 1844 | dependencies: 1845 | ansi-regex: 5.0.1 1846 | dev: true 1847 | 1848 | /strip-json-comments/3.1.1: 1849 | resolution: {integrity: sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==} 1850 | engines: {node: '>=8'} 1851 | dev: true 1852 | 1853 | /supports-color/5.5.0: 1854 | resolution: {integrity: sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==} 1855 | engines: {node: '>=4'} 1856 | dependencies: 1857 | has-flag: 3.0.0 1858 | dev: true 1859 | 1860 | /supports-color/7.2.0: 1861 | resolution: {integrity: sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==} 1862 | engines: {node: '>=8'} 1863 | dependencies: 1864 | has-flag: 4.0.0 1865 | dev: true 1866 | 1867 | /supports-preserve-symlinks-flag/1.0.0: 1868 | resolution: {integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==} 1869 | engines: {node: '>= 0.4'} 1870 | dev: true 1871 | 1872 | /swr/2.1.3_react@18.2.0: 1873 | resolution: {integrity: sha512-g3ApxIM4Fjbd6vvEAlW60hJlKcYxHb+wtehogTygrh6Jsw7wNagv9m4Oj5Gq6zvvZw0tcyhVGL9L0oISvl3sUw==} 1874 | peerDependencies: 1875 | react: ^16.11.0 || ^17.0.0 || ^18.0.0 1876 | dependencies: 1877 | react: 18.2.0 1878 | use-sync-external-store: 1.2.0_react@18.2.0 1879 | dev: true 1880 | 1881 | /terser/5.17.1: 1882 | resolution: {integrity: sha512-hVl35zClmpisy6oaoKALOpS0rDYLxRFLHhRuDlEGTKey9qHjS1w9GMORjuwIMt70Wan4lwsLYyWDVnWgF+KUEw==} 1883 | engines: {node: '>=10'} 1884 | hasBin: true 1885 | dependencies: 1886 | '@jridgewell/source-map': 0.3.3 1887 | acorn: 8.8.2 1888 | commander: 2.20.3 1889 | source-map-support: 0.5.21 1890 | dev: true 1891 | 1892 | /text-table/0.2.0: 1893 | resolution: {integrity: sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==} 1894 | dev: true 1895 | 1896 | /to-regex-range/5.0.1: 1897 | resolution: {integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==} 1898 | engines: {node: '>=8.0'} 1899 | dependencies: 1900 | is-number: 7.0.0 1901 | dev: true 1902 | 1903 | /tslib/1.14.1: 1904 | resolution: {integrity: sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==} 1905 | dev: true 1906 | 1907 | /tslib/2.5.0: 1908 | resolution: {integrity: sha512-336iVw3rtn2BUK7ORdIAHTyxHGRIHVReokCR3XjbckJMK7ms8FysBfhLR8IXnAgy7T0PTPNBWKiH514FOW/WSg==} 1909 | dev: true 1910 | 1911 | /tsutils/3.21.0_typescript@5.0.4: 1912 | resolution: {integrity: sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA==} 1913 | engines: {node: '>= 6'} 1914 | peerDependencies: 1915 | typescript: '>=2.8.0 || >= 3.2.0-dev || >= 3.3.0-dev || >= 3.4.0-dev || >= 3.5.0-dev || >= 3.6.0-dev || >= 3.6.0-beta || >= 3.7.0-dev || >= 3.7.0-beta' 1916 | dependencies: 1917 | tslib: 1.14.1 1918 | typescript: 5.0.4 1919 | dev: true 1920 | 1921 | /type-check/0.4.0: 1922 | resolution: {integrity: sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==} 1923 | engines: {node: '>= 0.8.0'} 1924 | dependencies: 1925 | prelude-ls: 1.2.1 1926 | dev: true 1927 | 1928 | /type-fest/0.20.2: 1929 | resolution: {integrity: sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==} 1930 | engines: {node: '>=10'} 1931 | dev: true 1932 | 1933 | /typed-array-length/1.0.4: 1934 | resolution: {integrity: sha512-KjZypGq+I/H7HI5HlOoGHkWUUGq+Q0TPhQurLbyrVrvnKTBgzLhIJ7j6J/XTQOi0d1RjyZ0wdas8bKs2p0x3Ng==} 1935 | dependencies: 1936 | call-bind: 1.0.2 1937 | for-each: 0.3.3 1938 | is-typed-array: 1.1.10 1939 | dev: true 1940 | 1941 | /typescript/5.0.4: 1942 | resolution: {integrity: sha512-cW9T5W9xY37cc+jfEnaUvX91foxtHkza3Nw3wkoF4sSlKn0MONdkdEndig/qPBWXNkmplh3NzayQzCiHM4/hqw==} 1943 | engines: {node: '>=12.20'} 1944 | hasBin: true 1945 | dev: true 1946 | 1947 | /unbox-primitive/1.0.2: 1948 | resolution: {integrity: sha512-61pPlCD9h51VoreyJ0BReideM3MDKMKnh6+V9L08331ipq6Q8OFXZYiqP6n/tbHx4s5I9uRhcye6BrbkizkBDw==} 1949 | dependencies: 1950 | call-bind: 1.0.2 1951 | has-bigints: 1.0.2 1952 | has-symbols: 1.0.3 1953 | which-boxed-primitive: 1.0.2 1954 | dev: true 1955 | 1956 | /uri-js/4.4.1: 1957 | resolution: {integrity: sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==} 1958 | dependencies: 1959 | punycode: 2.3.0 1960 | dev: true 1961 | 1962 | /use-sync-external-store/1.2.0_react@18.2.0: 1963 | resolution: {integrity: sha512-eEgnFxGQ1Ife9bzYs6VLi8/4X6CObHMw9Qr9tPY43iKwsPw8xE8+EFsf/2cFZ5S3esXgpWgtSCtLNS41F+sKPA==} 1964 | peerDependencies: 1965 | react: ^16.8.0 || ^17.0.0 || ^18.0.0 1966 | dependencies: 1967 | react: 18.2.0 1968 | dev: true 1969 | 1970 | /which-boxed-primitive/1.0.2: 1971 | resolution: {integrity: sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg==} 1972 | dependencies: 1973 | is-bigint: 1.0.4 1974 | is-boolean-object: 1.1.2 1975 | is-number-object: 1.0.7 1976 | is-string: 1.0.7 1977 | is-symbol: 1.0.4 1978 | dev: true 1979 | 1980 | /which-typed-array/1.1.9: 1981 | resolution: {integrity: sha512-w9c4xkx6mPidwp7180ckYWfMmvxpjlZuIudNtDf4N/tTAUB8VJbX25qZoAsrtGuYNnGw3pa0AXgbGKRB8/EceA==} 1982 | engines: {node: '>= 0.4'} 1983 | dependencies: 1984 | available-typed-arrays: 1.0.5 1985 | call-bind: 1.0.2 1986 | for-each: 0.3.3 1987 | gopd: 1.0.1 1988 | has-tostringtag: 1.0.0 1989 | is-typed-array: 1.1.10 1990 | dev: true 1991 | 1992 | /which/2.0.2: 1993 | resolution: {integrity: sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==} 1994 | engines: {node: '>= 8'} 1995 | hasBin: true 1996 | dependencies: 1997 | isexe: 2.0.0 1998 | dev: true 1999 | 2000 | /word-wrap/1.2.3: 2001 | resolution: {integrity: sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==} 2002 | engines: {node: '>=0.10.0'} 2003 | dev: true 2004 | 2005 | /wrappy/1.0.2: 2006 | resolution: {integrity: sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==} 2007 | dev: true 2008 | 2009 | /yallist/4.0.0: 2010 | resolution: {integrity: sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==} 2011 | dev: true 2012 | 2013 | /yocto-queue/0.1.0: 2014 | resolution: {integrity: sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==} 2015 | engines: {node: '>=10'} 2016 | dev: true 2017 | -------------------------------------------------------------------------------- /rollup.config.js: -------------------------------------------------------------------------------- 1 | /* eslint-disable @typescript-eslint/no-var-requires */ 2 | /* eslint-disable no-undef */ 3 | import commonjs from '@rollup/plugin-commonjs'; 4 | import resolve from '@rollup/plugin-node-resolve'; 5 | import typescript from '@rollup/plugin-typescript'; 6 | 7 | import dts from 'rollup-plugin-dts'; 8 | import peerDepsExternal from 'rollup-plugin-peer-deps-external'; 9 | import { typescriptPaths } from 'rollup-plugin-typescript-paths'; 10 | import { terser } from 'rollup-plugin-terser'; 11 | 12 | const outputOptions = { 13 | sourcemap: false, 14 | preserveModules: true, 15 | preserveModulesRoot: 'src' 16 | }; 17 | 18 | export default [ 19 | { 20 | input: 'src/index.ts', 21 | output: [ 22 | { 23 | dir: 'dist', 24 | format: 'cjs', 25 | entryFileNames: '[name].cjs', 26 | exports: 'auto', 27 | ...outputOptions 28 | }, 29 | { 30 | dir: 'dist', 31 | format: 'esm', 32 | ...outputOptions 33 | } 34 | ], 35 | external: [/node_modules/], 36 | plugins: [ 37 | peerDepsExternal(), 38 | resolve(), 39 | commonjs(), 40 | terser(), 41 | typescript({ 42 | tsconfig: './tsconfig.json', 43 | exclude: ['**/stories/**', '**/tests/**', './styles.css'] 44 | }), 45 | typescriptPaths() 46 | ] 47 | }, 48 | { 49 | input: 'dist/index.d.ts', 50 | output: [{ file: 'dist/index.d.ts', format: 'esm' }], 51 | plugins: [dts()], 52 | external: [/\.css$/] 53 | } 54 | ]; 55 | -------------------------------------------------------------------------------- /src/client.ts: -------------------------------------------------------------------------------- 1 | import { ClientResponse, QueryError, ResponseType, TbConfig } from './types'; 2 | 3 | export default async function client( 4 | path: string, 5 | params?: RequestInit, 6 | config?: TbConfig, 7 | responseType: ResponseType = 'JSON' 8 | ): Promise> { 9 | if (!config?.token || !config?.baseUrl) throw new Error('Configuration not found'); 10 | const { token, baseUrl } = config; 11 | 12 | const response = await fetch(`${baseUrl}${path}`, { 13 | headers: { 14 | Authorization: `Bearer ${token}` 15 | }, 16 | ...params 17 | }); 18 | 19 | let data; 20 | if (responseType == 'JSON') { 21 | data = (await response.json()) as ClientResponse; 22 | } else { 23 | data = (await response.text()) as ClientResponse; 24 | } 25 | 26 | if (!response.ok) { 27 | throw new QueryError(data?.error ?? 'Something went wrong', response.status); 28 | } 29 | return data; 30 | } 31 | -------------------------------------------------------------------------------- /src/constants.ts: -------------------------------------------------------------------------------- 1 | export const BASE_URL = 'https://api.tinybird.co/v0/pipes/'; 2 | -------------------------------------------------------------------------------- /src/index.ts: -------------------------------------------------------------------------------- 1 | import client from './client'; 2 | import useFetchPipe from './use-fech-pipe'; 3 | 4 | export * from './tb-config'; 5 | export * from './types'; 6 | export { useFetchPipe, client }; 7 | -------------------------------------------------------------------------------- /src/tb-config.tsx: -------------------------------------------------------------------------------- 1 | import React, { createContext } from 'react'; 2 | import type { ReactNode } from 'react'; 3 | 4 | import { TbConfig } from './types'; 5 | import { BASE_URL } from './constants'; 6 | 7 | export const TbConfigContext = createContext({ 8 | baseUrl: undefined, 9 | token: undefined 10 | }); 11 | 12 | export interface TbConfigProviderProps extends TbConfig { 13 | children: ReactNode; 14 | } 15 | 16 | export const TbConfigProvider = ({ 17 | baseUrl = BASE_URL, 18 | token, 19 | children 20 | }: TbConfigProviderProps) => ( 21 | 26 | {children} 27 | 28 | ); 29 | -------------------------------------------------------------------------------- /src/types.ts: -------------------------------------------------------------------------------- 1 | import type { SWRResponse } from 'swr'; 2 | 3 | export type TbConfig = { 4 | baseUrl?: string; 5 | token?: string; 6 | }; 7 | 8 | export type ClientResponse = T & { error?: string }; 9 | 10 | export type BaseColumnType = 'String' | 'Date' | 'UInt64' | 'Float64'; 11 | 12 | export type ColumnType = BaseColumnType | `Nullable(${BaseColumnType})`; 13 | 14 | export type Meta = { name: keyof T; type: ColumnType }; 15 | 16 | export type Statistics = { 17 | elapsed: number; 18 | rows_read: number; 19 | bytes_read: number; 20 | }; 21 | 22 | export type QueryPipe = { 23 | meta: Meta[]; 24 | data: T[]; 25 | rows: number; 26 | statistics: Statistics; 27 | }; 28 | 29 | export type PipeParams = Record; 30 | 31 | export type QueryStatus = 'idle' | 'loading' | 'updating' | 'error' | 'success'; 32 | 33 | export class QueryError extends Error { 34 | status: number; 35 | constructor(message: string, status: number) { 36 | super(message); 37 | this.name = 'QueryError'; 38 | this.status = status; 39 | } 40 | } 41 | 42 | export type QueryResponse = SWRResponse & { 43 | warning: QueryError | null; 44 | status: QueryStatus; 45 | }; 46 | 47 | export type ResponseType = 'JSON' | 'CSV' | 'Ndjson' | 'Parquet'; 48 | -------------------------------------------------------------------------------- /src/use-fech-pipe.ts: -------------------------------------------------------------------------------- 1 | import { useContext } from 'react'; 2 | 3 | import { useQuery } from './use-query'; 4 | import { TbConfigContext } from './tb-config'; 5 | import client from './client'; 6 | import { TbConfig, QueryPipe, ResponseType } from './types'; 7 | import { BASE_URL } from './constants'; 8 | 9 | function queryPipe( 10 | name: string, 11 | params: Partial = {}, 12 | config: TbConfig, 13 | responseType: ResponseType 14 | ): Promise> { 15 | const searchParams = new URLSearchParams(); 16 | Object.entries(params).forEach(([key, value]) => { 17 | if (!value) return; 18 | searchParams.set(key, value as string); 19 | }); 20 | 21 | return client(`${name}.${responseType.toLowerCase()}?${searchParams}`, {}, config, responseType); 22 | } 23 | 24 | type PipeFetcherArgs = [ 25 | name: string, 26 | params: Partial, 27 | config: TbConfig, 28 | responseType: ResponseType 29 | ]; 30 | async function pipeFetcher([ 31 | name, 32 | params, 33 | config, 34 | responseType 35 | ]: PipeFetcherArgs) { 36 | const { data } = await queryPipe(name, params, config, responseType); 37 | 38 | return data; 39 | } 40 | 41 | export default function useFetchPipe( 42 | name: string, 43 | queryParams: Partial = {}, 44 | config?: TbConfig, 45 | responseType: ResponseType = 'JSON' 46 | ) { 47 | const configContext = useContext(TbConfigContext); 48 | const token = configContext.token || config?.token; 49 | const baseUrl = config?.baseUrl ?? configContext.baseUrl ?? BASE_URL; 50 | 51 | if (!token) throw new Error('Tinybird token not found'); 52 | 53 | return useQuery( 54 | [name, queryParams, { token, baseUrl }, responseType], 55 | pipeFetcher 56 | ); 57 | } 58 | -------------------------------------------------------------------------------- /src/use-query.ts: -------------------------------------------------------------------------------- 1 | import { useState } from 'react'; 2 | import useSWR, { Key, Fetcher } from 'swr'; 3 | 4 | import { QueryError, QueryResponse } from './types'; 5 | 6 | export function useQuery( 7 | key: K, 8 | fetcher: Fetcher, 9 | config?: { 10 | onSuccess?: (data: T) => void; 11 | onError?: (error: QueryError) => void; 12 | } 13 | ): QueryResponse { 14 | const [warning, setWarning] = useState(null); 15 | 16 | const handleError = (error: QueryError) => { 17 | config?.onError?.(error); 18 | if (error.status !== 404 && error.status !== 400) return; 19 | setWarning(error); 20 | }; 21 | 22 | const handleSuccess = (data: T) => { 23 | config?.onSuccess?.(data); 24 | setWarning(null); 25 | }; 26 | 27 | const query = useSWR(key, fetcher, { 28 | onError: handleError, 29 | onSuccess: handleSuccess 30 | }); 31 | 32 | const { data, error, isValidating } = query; 33 | 34 | const getStatus = () => { 35 | if (!data && !error) return 'loading'; 36 | if (isValidating) return 'updating'; 37 | if (error) return 'error'; 38 | if (!data) return 'success'; 39 | return 'idle'; 40 | }; 41 | 42 | return { ...query, warning, status: getStatus() }; 43 | } 44 | -------------------------------------------------------------------------------- /tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "compilerOptions": { 3 | "target": "es2017", 4 | "rootDir": "src", 5 | "baseUrl": "src/", 6 | "esModuleInterop": true, 7 | "forceConsistentCasingInFileNames": true, 8 | "strict": true, 9 | "skipLibCheck": true, 10 | "jsx": "react", 11 | "module": "ESNext", 12 | "declaration": true, 13 | "declarationDir": "dist", 14 | "sourceMap": false, 15 | "moduleResolution": "node", 16 | "allowSyntheticDefaultImports": true, 17 | "emitDeclarationOnly": true, 18 | }, 19 | "include": ["src"], 20 | } 21 | --------------------------------------------------------------------------------