├── .editorconfig
├── .github
└── FUNDING.yml
├── .gitignore
├── .npmrc
├── .prettierrc.js
├── CHANGELOG.md
├── LICENSE
├── README.md
├── README.zh_CN.md
├── package.json
├── playgrounds
├── vue2
│ ├── .gitignore
│ ├── README.md
│ ├── jsconfig.json
│ ├── package.json
│ ├── pnpm-lock.yaml
│ ├── public
│ │ ├── favicon.ico
│ │ └── index.html
│ ├── src
│ │ ├── App.vue
│ │ ├── assets
│ │ │ └── reset.css
│ │ ├── components
│ │ │ └── button.vue
│ │ └── main.js
│ └── vue.config.js
└── vue3
│ ├── .gitignore
│ ├── .vscode
│ └── extensions.json
│ ├── README.md
│ ├── index.html
│ ├── package.json
│ ├── pnpm-lock.yaml
│ ├── public
│ └── favicon.ico
│ ├── src
│ ├── App.vue
│ ├── assets
│ │ └── reset.css
│ ├── components
│ │ └── button.vue
│ ├── env.d.ts
│ └── main.ts
│ ├── tsconfig.json
│ ├── tsconfig.node.json
│ └── vite.config.ts
├── pnpm-lock.yaml
├── src
├── convert.ts
├── index.ts
└── types.ts
├── tsconfig.json
└── tsup.config.ts
/.editorconfig:
--------------------------------------------------------------------------------
1 | root = true
2 |
3 | [*]
4 | charset = utf-8
5 | end_of_line = lf
6 | trim_trailing_whitespace = true
7 | insert_final_newline = true
8 |
9 | [*.md]
10 | insert_final_newline = false
11 | trim_trailing_whitespace = false
12 |
13 | [*.{js,jsx,json,ts,tsx,yml}]
14 | indent_size = 2
15 | indent_style = space
16 |
--------------------------------------------------------------------------------
/.github/FUNDING.yml:
--------------------------------------------------------------------------------
1 | # These are supported funding model platforms
2 |
3 | github: xiaoxian521
--------------------------------------------------------------------------------
/.gitignore:
--------------------------------------------------------------------------------
1 | # Logs
2 | logs
3 | *.log
4 | npm-debug.log*
5 | yarn-debug.log*
6 | yarn-error.log*
7 | lerna-debug.log*
8 | babel.config.js
9 |
10 | # Diagnostic reports (https://nodejs.org/api/report.html)
11 | report.[0-9]*.[0-9]*.[0-9]*.[0-9]*.json
12 |
13 | # Runtime data
14 | pids
15 | *.pid
16 | *.seed
17 | *.pid.lock
18 |
19 | # Directory for instrumented libs generated by jscoverage/JSCover
20 | lib-cov
21 |
22 | # Coverage directory used by tools like istanbul
23 | coverage
24 | *.lcov
25 |
26 | # nyc test coverage
27 | .nyc_output
28 |
29 | # Grunt intermediate storage (https://gruntjs.com/creating-plugins#storing-task-files)
30 | .grunt
31 |
32 | # Bower dependency directory (https://bower.io/)
33 | bower_components
34 |
35 | # node-waf configuration
36 | .lock-wscript
37 |
38 | # Compiled binary addons (https://nodejs.org/api/addons.html)
39 | build/Release
40 |
41 | # Dependency directories
42 | node_modules/
43 | jspm_packages/
44 |
45 | # TypeScript v1 declaration files
46 | typings/
47 |
48 | # TypeScript cache
49 | *.tsbuildinfo
50 |
51 | # Optional npm cache directory
52 | .npm
53 |
54 | # Optional eslint cache
55 | .eslintcache
56 |
57 | # Microbundle cache
58 | .rpt2_cache/
59 | .rts2_cache_cjs/
60 | .rts2_cache_es/
61 | .rts2_cache_umd/
62 |
63 | # Optional REPL history
64 | .node_repl_history
65 |
66 | # Output of 'npm pack'
67 | *.tgz
68 |
69 | # Yarn Integrity file
70 | .yarn-integrity
71 |
72 | # dotenv environment variables file
73 | .env
74 | .env.test
75 |
76 | # parcel-bundler cache (https://parceljs.org/)
77 | .cache
78 |
79 | # Next.js build output
80 | .next
81 |
82 | # Nuxt.js build / generate output
83 | .nuxt
84 | dist
85 |
86 | # Gatsby files
87 | .cache/
88 | # Comment in the public line in if your project uses Gatsby and *not* Next.js
89 | # https://nextjs.org/blog/next-9-1#public-directory-support
90 | # public
91 |
92 | # vuepress build output
93 | .vuepress/dist
94 |
95 | # Serverless directories
96 | .serverless/
97 |
98 | # FuseBox cache
99 | .fusebox/
100 |
101 | # DynamoDB Local files
102 | .dynamodb/
103 |
104 | # TernJS port file
105 | .tern-port
106 |
--------------------------------------------------------------------------------
/.npmrc:
--------------------------------------------------------------------------------
1 | shamefully-hoist=true
2 | strict-peer-dependencies=false
--------------------------------------------------------------------------------
/.prettierrc.js:
--------------------------------------------------------------------------------
1 | module.exports = {
2 | bracketSpacing: true,
3 | singleQuote: false,
4 | arrowParens: "avoid",
5 | trailingComma: "none"
6 | }
7 |
--------------------------------------------------------------------------------
/CHANGELOG.md:
--------------------------------------------------------------------------------
1 | ## 2.2.0 (2023-02-13)
2 |
3 | ### 🐞 Bug fixes
4 |
5 | - fix: `version` is declared here
6 |
7 | ## 2.1.0 (2022-08-06)
8 |
9 | ### 🐞 Bug fixes
10 |
11 | - fix: memory does not transmit parameter error
12 |
13 | ## 2.0.0 (2022-06-20)
14 |
15 | ### 🎫 Feat
16 |
17 | - supports vue2 and vue3
18 |
--------------------------------------------------------------------------------
/LICENSE:
--------------------------------------------------------------------------------
1 | MIT License
2 |
3 | Copyright (c) latest xiaoxian521
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.
22 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 |
responsive-storage
2 | Responsive local storage, supports vue2 and vue3
3 |
4 |
5 |
6 |
7 |
8 |
9 | English | [简体中文](./README.zh_CN.md)
10 |
11 | ## 🤔 Original intention of development
12 |
13 | - In some scenarios, we need to store some variables and keep it responsive, there are many solutions, such as [vuex](https://vuex.vuejs.org), [pinia](https://pinia.vuejs.org), but they disappear after refreshing the page, in some cases I want them to exist locally without losing responsiveness, so was born [responsive-storage](https://github.com/xiaoxian521/responsive-storage)
14 |
15 | ## 🚀 Features
16 |
17 | - ⚡ **Strong compatibility**: supports both `vue2` and `vue3`, no need to install additional dependencies
18 | - ⚡ **Fully tree-shaking**: Comes with Tree-shaking, only packages the imported code
19 | - 🧪 **Complete example**: Currently we have added `vue2`, `vue3` examples in the [playgrounds](https://github.com/xiaoxian521/responsive-storage/tree/main/playgrounds) folder , zero learning usage cost
20 | - 🦾 **Extremely Light**: The source code size is `1.76 KB`, and the footprint of the package size in the project is only calculated in bits
21 |
22 | ## 📦 install
23 |
24 | ```bash
25 | npm install responsive-storage
26 | or
27 | pnpm add responsive-storage
28 | ````
29 |
30 | ## 🦄 Usage
31 |
32 | ### vue2
33 |
34 | - main.js
35 | ````js
36 | import Storage from "responsive-storage";
37 | Vue.use(Storage, {
38 | // must pass
39 | version: 2,
40 | // Namespace, optional, default `rs-` (not recommended if there is no special requirement)
41 | nameSpace: "xx_",
42 | // The responsive object that needs to be stored (it should be noted here that if nameSpace is passed, the second parameter of the Storage.getData method must be passed and the value of nameSpace must be the same. If nameSpace is not passed, the second parameter of Storage.getData method parameters can be omitted)
43 | memory: {
44 | starValue: Storage.getData("starValue", 'xx_') ?? 1
45 | }
46 | });
47 | ````
48 |
49 | [Click to view the specific usage](https://github.com/xiaoxian521/responsive-storage/tree/main/playgrounds/vue2)
50 |
51 | ### vue3
52 |
53 | - main.ts
54 |
55 | ```ts
56 | import { createApp } from "vue";
57 | import App from "./App.vue";
58 |
59 | import Storage from "responsive-storage";
60 | const app = createApp(App);
61 |
62 | app.use(Storage, {
63 | memory: {
64 | starValue: Storage.getData("starValue") ?? 1
65 | }
66 | });
67 | ````
68 |
69 | [Click to view the specific usage](https://github.com/xiaoxian521/responsive-storage/tree/main/playgrounds/vue3)
70 |
71 | ## License
72 |
73 | [MIT © xiaoxian521-latest](./LICENSE)
--------------------------------------------------------------------------------
/README.zh_CN.md:
--------------------------------------------------------------------------------
1 | responsive-storage
2 | 响应式本地存储,同时支持vue2和vue3
3 |
4 |
5 |
6 |
7 |
8 |
9 | 简体中文 | [English](./README.md)
10 |
11 | ## 🤔 开发初衷
12 |
13 | - 在某些场景下,我们需要存储一些变量并保持响应式,目前有很多解决方案,比如 [vuex](https://vuex.vuejs.org) 、[pinia](https://pinia.vuejs.org),但是它们在刷新页面后就会消失,在某些情况下我想让它们存在本地又不失去响应式,就诞生了 [responsive-storage](https://github.com/xiaoxian521/responsive-storage)
14 |
15 | ## 🚀 特性
16 |
17 | - 🦾 **兼容性强**: 既支持`vue2`,又支持`vue3`,无需安装额外依赖
18 | - ⚡ **完全可摇树**: 自带Tree-shaking,只对引入的代码进行打包
19 | - 🧪 **完善的示例**: 目前我们在 [playgrounds](https://github.com/xiaoxian521/responsive-storage/tree/main/playgrounds) 文件夹中加入了`vue2`、`vue3`示例,零学习使用成本
20 | - 🕋 **极轻**: 源码大小`1.76 KB`,在项目中打包大小的占用空间仅用比特计算
21 |
22 | ## 📦 安装
23 |
24 | ```bash
25 | npm install responsive-storage
26 | or
27 | pnpm add responsive-storage
28 | ```
29 |
30 | ## 🦄 用法
31 |
32 | ### vue2
33 |
34 | - main.js
35 | ```js
36 | import Storage from "responsive-storage";
37 | Vue.use(Storage, {
38 | // 必传
39 | version: 2,
40 | // 命名空间,可不传,默认`rs-`(如果没有特殊需求建议不传)
41 | nameSpace: "xx_",
42 | // 需要存储的响应式对象(这里需要注意一点,如果传了nameSpace,那么Storage.getData方法的第二个参数必传且和nameSpace的值保持一致,如果不传nameSpace的话,Storage.getData方法的第二个参数可不传)
43 | memory: {
44 | starValue: Storage.getData("starValue", 'xx_') ?? 1
45 | }
46 | });
47 | ```
48 |
49 | [点击查看具体用法](https://github.com/xiaoxian521/responsive-storage/tree/main/playgrounds/vue2)
50 |
51 | ### vue3
52 |
53 | - main.ts
54 |
55 | ```ts
56 | import { createApp } from "vue";
57 | import App from "./App.vue";
58 |
59 | import Storage from "responsive-storage";
60 | const app = createApp(App);
61 |
62 | app.use(Storage, {
63 | memory: {
64 | starValue: Storage.getData("starValue") ?? 1
65 | }
66 | });
67 | ```
68 |
69 | [点击查看具体用法](https://github.com/xiaoxian521/responsive-storage/tree/main/playgrounds/vue3)
70 |
71 | ## 许可证
72 |
73 | [MIT © xiaoxian521-latest](./LICENSE)
--------------------------------------------------------------------------------
/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "responsive-storage",
3 | "version": "2.2.0",
4 | "description": "Responsive local storage, supports vue2 and vue3",
5 | "files": [
6 | "dist"
7 | ],
8 | "scripts": {
9 | "build": "tsup",
10 | "dev": "tsup --watch",
11 | "dev:2": "cd playgrounds/vue2/ && pnpm dev",
12 | "dev:3": "cd playgrounds/vue3/ && pnpm dev",
13 | "lint": "prettier --write \"src/*.ts\"",
14 | "pub": "pub"
15 | },
16 | "keywords": [
17 | "Vue2",
18 | "Vue3",
19 | "storage"
20 | ],
21 | "author": "xiaoxian521",
22 | "license": "MIT",
23 | "main": "dist/index.mjs",
24 | "module": "dist/index.mjs",
25 | "types": "dist/index.d.ts",
26 | "exports": {
27 | ".": {
28 | "import": "./dist/index.mjs",
29 | "types": "./dist/index.d.ts"
30 | }
31 | },
32 | "sideEffects": false,
33 | "repository": {
34 | "type": "git",
35 | "url": "https://github.com/xiaoxian521/responsive-storage"
36 | },
37 | "publishConfig": {
38 | "registry": "https://registry.npmjs.org/"
39 | },
40 | "bugs": {
41 | "url": "https://github.com/xiaoxian521/responsive-storage/issues"
42 | },
43 | "homepage": "https://github.com/xiaoxian521/responsive-storage/tree/main/#readme",
44 | "devDependencies": {
45 | "@pureadmin/release": "^1.0.0",
46 | "@types/node": "^18.0.0",
47 | "prettier": "^2.7.1",
48 | "tsup": "^6.1.2",
49 | "typescript": "^4.7.4",
50 | "vue": "^3.2.37"
51 | }
52 | }
53 |
--------------------------------------------------------------------------------
/playgrounds/vue2/.gitignore:
--------------------------------------------------------------------------------
1 | .DS_Store
2 | node_modules
3 | /dist
4 |
5 |
6 | # local env files
7 | .env.local
8 | .env.*.local
9 |
10 | # Log files
11 | npm-debug.log*
12 | yarn-debug.log*
13 | yarn-error.log*
14 | pnpm-debug.log*
15 |
16 | # Editor directories and files
17 | .idea
18 | .vscode
19 | *.suo
20 | *.ntvs*
21 | *.njsproj
22 | *.sln
23 | *.sw?
24 |
--------------------------------------------------------------------------------
/playgrounds/vue2/README.md:
--------------------------------------------------------------------------------
1 | # vue2 responsive-storage test
--------------------------------------------------------------------------------
/playgrounds/vue2/jsconfig.json:
--------------------------------------------------------------------------------
1 | {
2 | "compilerOptions": {
3 | "target": "es5",
4 | "module": "esnext",
5 | "baseUrl": "./",
6 | "moduleResolution": "node",
7 | "paths": {
8 | "@/*": [
9 | "src/*"
10 | ]
11 | },
12 | "lib": [
13 | "esnext",
14 | "dom",
15 | "dom.iterable",
16 | "scripthost"
17 | ]
18 | }
19 | }
20 |
--------------------------------------------------------------------------------
/playgrounds/vue2/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "test",
3 | "version": "0.0.0",
4 | "private": true,
5 | "scripts": {
6 | "dev": "vue-cli-service serve",
7 | "build": "vue-cli-service build",
8 | "preview": "yarn build && serve -s dist",
9 | "lint": "vue-cli-service lint"
10 | },
11 | "dependencies": {
12 | "core-js": "^3.8.3",
13 | "element-ui": "^2.15.9",
14 | "responsive-storage": "^2.0.0",
15 | "vue": "2.6.14"
16 | },
17 | "devDependencies": {
18 | "@babel/core": "^7.12.16",
19 | "@babel/eslint-parser": "^7.12.16",
20 | "@vue/cli-plugin-babel": "~5.0.0",
21 | "@vue/cli-plugin-eslint": "~5.0.0",
22 | "@vue/cli-service": "~5.0.0",
23 | "eslint": "^7.32.0",
24 | "eslint-plugin-vue": "^8.0.3",
25 | "serve": "^13.0.2",
26 | "vue-template-compiler": "2.6.14"
27 | },
28 | "eslintConfig": {
29 | "root": true,
30 | "env": {
31 | "node": true
32 | },
33 | "extends": [
34 | "plugin:vue/essential",
35 | "eslint:recommended"
36 | ],
37 | "parserOptions": {
38 | "parser": "@babel/eslint-parser"
39 | },
40 | "rules": {}
41 | },
42 | "browserslist": [
43 | "> 1%",
44 | "last 2 versions",
45 | "not dead"
46 | ]
47 | }
48 |
--------------------------------------------------------------------------------
/playgrounds/vue2/public/favicon.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/xiaoxian521/responsive-storage/f0e67bb6ccd4671e8bc98af1d0b24fed02b8f2c3/playgrounds/vue2/public/favicon.ico
--------------------------------------------------------------------------------
/playgrounds/vue2/public/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 | vue2 responsive-storage test
10 |
11 |
12 |
13 |
14 | We're sorry but <%= htmlWebpackPlugin.options.title %> doesn't work properly without JavaScript enabled.
15 | Please enable it to continue.
16 |
17 |
18 |
19 |
20 |
21 |
--------------------------------------------------------------------------------
/playgrounds/vue2/src/App.vue:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | Vue2 Version
5 |
6 |
11 |
12 | Please open the Local Storage of your local browser to check the change
13 | of the corresponding value of rs-starValue and observe the change of
14 | star in the page
15 |
16 |
17 |
18 |
24 |
25 |
26 |
27 |
28 |
29 |
39 |
40 |
48 |
--------------------------------------------------------------------------------
/playgrounds/vue2/src/assets/reset.css:
--------------------------------------------------------------------------------
1 | html,
2 | body,
3 | #app {
4 | margin: 0;
5 | padding: 0;
6 | width: 100%;
7 | height: 100%;
8 | }
9 |
--------------------------------------------------------------------------------
/playgrounds/vue2/src/components/button.vue:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | - Decrease
5 |
6 |
7 | + Increase
8 |
9 |
10 |
11 |
12 |
27 |
--------------------------------------------------------------------------------
/playgrounds/vue2/src/main.js:
--------------------------------------------------------------------------------
1 | import Vue from 'vue'
2 | import App from './App.vue'
3 |
4 | import "./assets/reset.css"
5 | import 'element-ui/lib/theme-chalk/index.css'
6 |
7 | import ElementUI from 'element-ui'
8 | Vue.use(ElementUI)
9 |
10 | import Storage from "../../../dist"
11 | // import Storage from "responsive-storage"
12 | Vue.use(Storage, {
13 | version: 2,
14 | // nameSpace: "test_",
15 | memory: {
16 | // starValue: Storage.getData("starValue", "test_") ?? 1
17 | starValue: Storage.getData("starValue") ?? 1
18 | }
19 | })
20 |
21 | Vue.config.productionTip = false
22 |
23 | new Vue({
24 | render: h => h(App),
25 | }).$mount('#app')
26 |
--------------------------------------------------------------------------------
/playgrounds/vue2/vue.config.js:
--------------------------------------------------------------------------------
1 | const { defineConfig } = require('@vue/cli-service')
2 | module.exports = defineConfig({
3 | transpileDependencies: true
4 | })
5 |
--------------------------------------------------------------------------------
/playgrounds/vue3/.gitignore:
--------------------------------------------------------------------------------
1 | # Logs
2 | logs
3 | *.log
4 | npm-debug.log*
5 | yarn-debug.log*
6 | yarn-error.log*
7 | pnpm-debug.log*
8 | lerna-debug.log*
9 |
10 | node_modules
11 | dist
12 | dist-ssr
13 | *.local
14 |
15 | # Editor directories and files
16 | .vscode/*
17 | !.vscode/extensions.json
18 | .idea
19 | .DS_Store
20 | *.suo
21 | *.ntvs*
22 | *.njsproj
23 | *.sln
24 | *.sw?
25 |
--------------------------------------------------------------------------------
/playgrounds/vue3/.vscode/extensions.json:
--------------------------------------------------------------------------------
1 | {
2 | "recommendations": ["Vue.volar"]
3 | }
4 |
--------------------------------------------------------------------------------
/playgrounds/vue3/README.md:
--------------------------------------------------------------------------------
1 | # vue3 responsive-storage test
--------------------------------------------------------------------------------
/playgrounds/vue3/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 | vue3 responsive-storage test
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
--------------------------------------------------------------------------------
/playgrounds/vue3/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "test",
3 | "private": true,
4 | "version": "0.0.0",
5 | "type": "module",
6 | "scripts": {
7 | "dev": "vite",
8 | "build": "vue-tsc --noEmit && vite build",
9 | "preview": "vite build && vite preview"
10 | },
11 | "dependencies": {
12 | "element-plus": "^2.2.6",
13 | "responsive-storage": "^2.0.0",
14 | "vue": "^3.2.37"
15 | },
16 | "devDependencies": {
17 | "@vitejs/plugin-vue": "^2.3.3",
18 | "typescript": "^4.6.4",
19 | "vite": "^2.9.12",
20 | "vue-tsc": "^0.37.5"
21 | }
22 | }
23 |
--------------------------------------------------------------------------------
/playgrounds/vue3/pnpm-lock.yaml:
--------------------------------------------------------------------------------
1 | lockfileVersion: 5.3
2 |
3 | specifiers:
4 | '@vitejs/plugin-vue': ^2.3.3
5 | element-plus: ^2.2.6
6 | responsive-storage: ^2.0.0
7 | typescript: ^4.6.4
8 | vite: ^2.9.12
9 | vue: ^3.2.37
10 | vue-tsc: ^0.37.5
11 |
12 | dependencies:
13 | element-plus: 2.2.6_vue@3.2.37
14 | responsive-storage: 2.0.0
15 | vue: 3.2.37
16 |
17 | devDependencies:
18 | '@vitejs/plugin-vue': 2.3.3_vite@2.9.12+vue@3.2.37
19 | typescript: 4.7.4
20 | vite: 2.9.12
21 | vue-tsc: 0.37.9_typescript@4.7.4
22 |
23 | packages:
24 |
25 | /@babel/helper-validator-identifier/7.16.7:
26 | resolution: {integrity: sha512-hsEnFemeiW4D08A5gUAZxLBTXpZ39P+a+DGDsHw1yxqyQ/jzFEnxf5uTEGp+3bzAbNOxU1paTgYS4ECU/IgfDw==}
27 | engines: {node: '>=6.9.0'}
28 |
29 | /@babel/parser/7.18.5:
30 | resolution: {integrity: sha512-YZWVaglMiplo7v8f1oMQ5ZPQr0vn7HPeZXxXWsxXJRjGVrzUFn9OxFQl1sb5wzfootjA/yChhW84BV+383FSOw==}
31 | engines: {node: '>=6.0.0'}
32 | hasBin: true
33 | dependencies:
34 | '@babel/types': 7.18.4
35 |
36 | /@babel/types/7.18.4:
37 | resolution: {integrity: sha512-ThN1mBcMq5pG/Vm2IcBmPPfyPXbd8S02rS+OBIDENdufvqC7Z/jHPCv9IcP01277aKtDI8g/2XysBN4hA8niiw==}
38 | engines: {node: '>=6.9.0'}
39 | dependencies:
40 | '@babel/helper-validator-identifier': 7.16.7
41 | to-fast-properties: 2.0.0
42 |
43 | /@ctrl/tinycolor/3.4.1:
44 | resolution: {integrity: sha512-ej5oVy6lykXsvieQtqZxCOaLT+xD4+QNarq78cIYISHmZXshCvROLudpQN3lfL8G0NL7plMSSK+zlyvCaIJ4Iw==}
45 | engines: {node: '>=10'}
46 | dev: false
47 |
48 | /@element-plus/icons-vue/2.0.5_vue@3.2.37:
49 | resolution: {integrity: sha512-jvNWyKcdvPvMDLTWjghrPY+bYHKqh7hbAFIPe+HWR073zilzt33csREzmKx3VwhdlJUW5u0nCqN+0rwI8jlH+w==}
50 | peerDependencies:
51 | vue: ^3.2.0
52 | dependencies:
53 | vue: 3.2.37
54 | dev: false
55 |
56 | /@floating-ui/core/0.7.3:
57 | resolution: {integrity: sha512-buc8BXHmG9l82+OQXOFU3Kr2XQx9ys01U/Q9HMIrZ300iLc8HLMgh7dcCqgYzAzf4BkoQvDcXf5Y+CuEZ5JBYg==}
58 | dev: false
59 |
60 | /@floating-ui/dom/0.5.3:
61 | resolution: {integrity: sha512-vpjWB1uC7rajvgA58uzlJZgtWqrdDQLw+XVA3w63ZTmsWwRmVd0Gl5Dy9VMAViI9cP7hBWaJt23Jy3AVgVYnoQ==}
62 | dependencies:
63 | '@floating-ui/core': 0.7.3
64 | dev: false
65 |
66 | /@sxzz/popperjs-es/2.11.7:
67 | resolution: {integrity: sha512-Ccy0NlLkzr0Ex2FKvh2X+OyERHXJ88XJ1MXtsI9y9fGexlaXaVTPzBCRBwIxFkORuOb+uBqeu+RqnpgYTEZRUQ==}
68 | dev: false
69 |
70 | /@types/lodash-es/4.17.6:
71 | resolution: {integrity: sha512-R+zTeVUKDdfoRxpAryaQNRKk3105Rrgx2CFRClIgRGaqDTdjsm8h6IYA8ir584W3ePzkZfst5xIgDwYrlh9HLg==}
72 | dependencies:
73 | '@types/lodash': 4.14.182
74 | dev: false
75 |
76 | /@types/lodash/4.14.182:
77 | resolution: {integrity: sha512-/THyiqyQAP9AfARo4pF+aCGcyiQ94tX/Is2I7HofNRqoYLgN1PBoOWu2/zTA5zMxzP5EFutMtWtGAFRKUe961Q==}
78 | dev: false
79 |
80 | /@vitejs/plugin-vue/2.3.3_vite@2.9.12+vue@3.2.37:
81 | resolution: {integrity: sha512-SmQLDyhz+6lGJhPELsBdzXGc+AcaT8stgkbiTFGpXPe8Tl1tJaBw1A6pxDqDuRsVkD8uscrkx3hA7QDOoKYtyw==}
82 | engines: {node: '>=12.0.0'}
83 | peerDependencies:
84 | vite: ^2.5.10
85 | vue: ^3.2.25
86 | dependencies:
87 | vite: 2.9.12
88 | vue: 3.2.37
89 | dev: true
90 |
91 | /@volar/code-gen/0.37.9:
92 | resolution: {integrity: sha512-/A9WzG4mBduFw2+okHSAWkFyEsozq1OLbspPo9Kp034C2XuDyAuy09e78koA0ZPB+jUMLO1u9SDIWGLSaVVRPg==}
93 | dependencies:
94 | '@volar/source-map': 0.37.9
95 | dev: true
96 |
97 | /@volar/source-map/0.37.9:
98 | resolution: {integrity: sha512-3FlmxAIiWKorbDFzVSgq3oF7A6JX/3wGhO4NhUJEagTWVP1cBszr8mhQdH80bp9JgMi0jYuxVyAu4D6+CT3VVQ==}
99 | dev: true
100 |
101 | /@volar/vue-code-gen/0.37.9:
102 | resolution: {integrity: sha512-5fyl+O8S9l9aWITa2azmlThvMSPBSpKhuzObLErHrwWaWBk+IwMnaYh8xnF1om7VFnWDpyhBM7du5zqyjQDXhw==}
103 | dependencies:
104 | '@volar/code-gen': 0.37.9
105 | '@volar/source-map': 0.37.9
106 | '@vue/compiler-core': 3.2.37
107 | '@vue/compiler-dom': 3.2.37
108 | '@vue/shared': 3.2.37
109 | dev: true
110 |
111 | /@volar/vue-typescript/0.37.9:
112 | resolution: {integrity: sha512-gs83p1gFNAms77CFgLRBg+SLnbwGf4ze5hji4Q4y0p5pwNTKCNP0VXLY5kic3YB2O2Z0uQmNm/i8cgjhtEtitA==}
113 | dependencies:
114 | '@volar/code-gen': 0.37.9
115 | '@volar/source-map': 0.37.9
116 | '@volar/vue-code-gen': 0.37.9
117 | '@vue/compiler-sfc': 3.2.37
118 | '@vue/reactivity': 3.2.37
119 | dev: true
120 |
121 | /@vue/compiler-core/3.2.37:
122 | resolution: {integrity: sha512-81KhEjo7YAOh0vQJoSmAD68wLfYqJvoiD4ulyedzF+OEk/bk6/hx3fTNVfuzugIIaTrOx4PGx6pAiBRe5e9Zmg==}
123 | dependencies:
124 | '@babel/parser': 7.18.5
125 | '@vue/shared': 3.2.37
126 | estree-walker: 2.0.2
127 | source-map: 0.6.1
128 |
129 | /@vue/compiler-dom/3.2.37:
130 | resolution: {integrity: sha512-yxJLH167fucHKxaqXpYk7x8z7mMEnXOw3G2q62FTkmsvNxu4FQSu5+3UMb+L7fjKa26DEzhrmCxAgFLLIzVfqQ==}
131 | dependencies:
132 | '@vue/compiler-core': 3.2.37
133 | '@vue/shared': 3.2.37
134 |
135 | /@vue/compiler-sfc/3.2.37:
136 | resolution: {integrity: sha512-+7i/2+9LYlpqDv+KTtWhOZH+pa8/HnX/905MdVmAcI/mPQOBwkHHIzrsEsucyOIZQYMkXUiTkmZq5am/NyXKkg==}
137 | dependencies:
138 | '@babel/parser': 7.18.5
139 | '@vue/compiler-core': 3.2.37
140 | '@vue/compiler-dom': 3.2.37
141 | '@vue/compiler-ssr': 3.2.37
142 | '@vue/reactivity-transform': 3.2.37
143 | '@vue/shared': 3.2.37
144 | estree-walker: 2.0.2
145 | magic-string: 0.25.9
146 | postcss: 8.4.14
147 | source-map: 0.6.1
148 |
149 | /@vue/compiler-ssr/3.2.37:
150 | resolution: {integrity: sha512-7mQJD7HdXxQjktmsWp/J67lThEIcxLemz1Vb5I6rYJHR5vI+lON3nPGOH3ubmbvYGt8xEUaAr1j7/tIFWiEOqw==}
151 | dependencies:
152 | '@vue/compiler-dom': 3.2.37
153 | '@vue/shared': 3.2.37
154 |
155 | /@vue/reactivity-transform/3.2.37:
156 | resolution: {integrity: sha512-IWopkKEb+8qpu/1eMKVeXrK0NLw9HicGviJzhJDEyfxTR9e1WtpnnbYkJWurX6WwoFP0sz10xQg8yL8lgskAZg==}
157 | dependencies:
158 | '@babel/parser': 7.18.5
159 | '@vue/compiler-core': 3.2.37
160 | '@vue/shared': 3.2.37
161 | estree-walker: 2.0.2
162 | magic-string: 0.25.9
163 |
164 | /@vue/reactivity/3.2.37:
165 | resolution: {integrity: sha512-/7WRafBOshOc6m3F7plwzPeCu/RCVv9uMpOwa/5PiY1Zz+WLVRWiy0MYKwmg19KBdGtFWsmZ4cD+LOdVPcs52A==}
166 | dependencies:
167 | '@vue/shared': 3.2.37
168 |
169 | /@vue/runtime-core/3.2.37:
170 | resolution: {integrity: sha512-JPcd9kFyEdXLl/i0ClS7lwgcs0QpUAWj+SKX2ZC3ANKi1U4DOtiEr6cRqFXsPwY5u1L9fAjkinIdB8Rz3FoYNQ==}
171 | dependencies:
172 | '@vue/reactivity': 3.2.37
173 | '@vue/shared': 3.2.37
174 | dev: false
175 |
176 | /@vue/runtime-dom/3.2.37:
177 | resolution: {integrity: sha512-HimKdh9BepShW6YozwRKAYjYQWg9mQn63RGEiSswMbW+ssIht1MILYlVGkAGGQbkhSh31PCdoUcfiu4apXJoPw==}
178 | dependencies:
179 | '@vue/runtime-core': 3.2.37
180 | '@vue/shared': 3.2.37
181 | csstype: 2.6.20
182 | dev: false
183 |
184 | /@vue/server-renderer/3.2.37_vue@3.2.37:
185 | resolution: {integrity: sha512-kLITEJvaYgZQ2h47hIzPh2K3jG8c1zCVbp/o/bzQOyvzaKiCquKS7AaioPI28GNxIsE/zSx+EwWYsNxDCX95MA==}
186 | peerDependencies:
187 | vue: 3.2.37
188 | dependencies:
189 | '@vue/compiler-ssr': 3.2.37
190 | '@vue/shared': 3.2.37
191 | vue: 3.2.37
192 | dev: false
193 |
194 | /@vue/shared/3.2.37:
195 | resolution: {integrity: sha512-4rSJemR2NQIo9Klm1vabqWjD8rs/ZaJSzMxkMNeJS6lHiUjjUeYFbooN19NgFjztubEKh3WlZUeOLVdbbUWHsw==}
196 |
197 | /@vueuse/core/8.7.4_vue@3.2.37:
198 | resolution: {integrity: sha512-dQgxjb79PDcizlaclgCkCzNoqNv12PnbXxUOFL9VacakmD/ACoSMWwTpcG3HKoDoYyl2V3kSW/8AkvXGEYEGFA==}
199 | peerDependencies:
200 | '@vue/composition-api': ^1.1.0
201 | vue: ^2.6.0 || ^3.2.0
202 | peerDependenciesMeta:
203 | '@vue/composition-api':
204 | optional: true
205 | vue:
206 | optional: true
207 | dependencies:
208 | '@vueuse/metadata': 8.7.4
209 | '@vueuse/shared': 8.7.4_vue@3.2.37
210 | vue: 3.2.37
211 | vue-demi: 0.13.1_vue@3.2.37
212 | dev: false
213 |
214 | /@vueuse/metadata/8.7.4:
215 | resolution: {integrity: sha512-CwEYS6/M6JDxk9D1mUsZq3F0VnYnf39rAxOytP58vb4BrhmPKEVfiSpvxuYcJimU9ccT/xjWhwBnsdGC2H9mIQ==}
216 | dev: false
217 |
218 | /@vueuse/shared/8.7.4_vue@3.2.37:
219 | resolution: {integrity: sha512-QhwTEd2Gr/8ZliWVEM8sbMUkXtVVV1Mt1mOkCnIbIN33D/V28FwGKUKqEPGZZCXuJchARnun/J1TAiT/UmZd1w==}
220 | peerDependencies:
221 | '@vue/composition-api': ^1.1.0
222 | vue: ^2.6.0 || ^3.2.0
223 | peerDependenciesMeta:
224 | '@vue/composition-api':
225 | optional: true
226 | vue:
227 | optional: true
228 | dependencies:
229 | vue: 3.2.37
230 | vue-demi: 0.13.1_vue@3.2.37
231 | dev: false
232 |
233 | /async-validator/4.2.5:
234 | resolution: {integrity: sha512-7HhHjtERjqlNbZtqNqy2rckN/SpOOlmDliet+lP7k+eKZEjPk3DgyeU9lIXLdeLz0uBbbVp+9Qdow9wJWgwwfg==}
235 | dev: false
236 |
237 | /csstype/2.6.20:
238 | resolution: {integrity: sha512-/WwNkdXfckNgw6S5R125rrW8ez139lBHWouiBvX8dfMFtcn6V81REDqnH7+CRpRipfYlyU1CmOnOxrmGcFOjeA==}
239 | dev: false
240 |
241 | /dayjs/1.11.3:
242 | resolution: {integrity: sha512-xxwlswWOlGhzgQ4TKzASQkUhqERI3egRNqgV4ScR8wlANA/A9tZ7miXa44vTTKEq5l7vWoL5G57bG3zA+Kow0A==}
243 | dev: false
244 |
245 | /element-plus/2.2.6_vue@3.2.37:
246 | resolution: {integrity: sha512-N9G4yWSxDt1YtreCJgt7UaSsXKuR4Fzb3ThzlBjbGDYDhcHijsrLL3qkdLZgeoSB13LRyr9pgP1ljNXdaYGa+g==}
247 | peerDependencies:
248 | vue: ^3.2.0
249 | dependencies:
250 | '@ctrl/tinycolor': 3.4.1
251 | '@element-plus/icons-vue': 2.0.5_vue@3.2.37
252 | '@floating-ui/dom': 0.5.3
253 | '@popperjs/core': /@sxzz/popperjs-es/2.11.7
254 | '@types/lodash': 4.14.182
255 | '@types/lodash-es': 4.17.6
256 | '@vueuse/core': 8.7.4_vue@3.2.37
257 | async-validator: 4.2.5
258 | dayjs: 1.11.3
259 | escape-html: 1.0.3
260 | lodash: 4.17.21
261 | lodash-es: 4.17.21
262 | lodash-unified: 1.0.2_da03a4540fbd16bbaafbb96724306afd
263 | memoize-one: 6.0.0
264 | normalize-wheel-es: 1.1.2
265 | vue: 3.2.37
266 | transitivePeerDependencies:
267 | - '@vue/composition-api'
268 | dev: false
269 |
270 | /esbuild-android-64/0.14.46:
271 | resolution: {integrity: sha512-ZyJqwAcjNbZprs0ZAxnUAOhEhdE5kTKwz+CZuLmZYNLAPyRgBtaC8pT2PCuPifNvV8Cl3yLlrQPaOCjovoyb5g==}
272 | engines: {node: '>=12'}
273 | cpu: [x64]
274 | os: [android]
275 | requiresBuild: true
276 | dev: true
277 | optional: true
278 |
279 | /esbuild-android-arm64/0.14.46:
280 | resolution: {integrity: sha512-BKcnUksvCijO9ONv6b4SikZE/OZftwJvX91XROODZGQmuwGVg97jmLDVu3lxuHdFlMNNzxh8taJ2mbCWZzH/Iw==}
281 | engines: {node: '>=12'}
282 | cpu: [arm64]
283 | os: [android]
284 | requiresBuild: true
285 | dev: true
286 | optional: true
287 |
288 | /esbuild-darwin-64/0.14.46:
289 | resolution: {integrity: sha512-/ss2kO92sUJ9/1nHnMb3+oab8w6dyqKrMtPMvSYJ9KZIYGAZxz/WYxfFprY7Xk+ZxWnnlASSyZlG+If1nVmFYg==}
290 | engines: {node: '>=12'}
291 | cpu: [x64]
292 | os: [darwin]
293 | requiresBuild: true
294 | dev: true
295 | optional: true
296 |
297 | /esbuild-darwin-arm64/0.14.46:
298 | resolution: {integrity: sha512-WX0JOaEFf6t+rIjXO6THsf/0fhQAt2Zb0/PSYlvXnuQQAmOmFAfPsuRNocp5ME0NGaUqZd4FxqqmLEVK3RzPAg==}
299 | engines: {node: '>=12'}
300 | cpu: [arm64]
301 | os: [darwin]
302 | requiresBuild: true
303 | dev: true
304 | optional: true
305 |
306 | /esbuild-freebsd-64/0.14.46:
307 | resolution: {integrity: sha512-o+ozPFuHRCAGCVWU2bLurOUgVkT0jcPEu082VBUY2Q/yLf+B+/3nXzh4Fjp5O21tOvJRTn7hUVydG9j5+vYE6A==}
308 | engines: {node: '>=12'}
309 | cpu: [x64]
310 | os: [freebsd]
311 | requiresBuild: true
312 | dev: true
313 | optional: true
314 |
315 | /esbuild-freebsd-arm64/0.14.46:
316 | resolution: {integrity: sha512-9zicZ0X43WDKz3sjNfcqYO38xbfJpSWYXB+FxvYYkmBwGA52K0SAu4oKuTTLi8od8X2IIo1x5C5TUNvKDSVJww==}
317 | engines: {node: '>=12'}
318 | cpu: [arm64]
319 | os: [freebsd]
320 | requiresBuild: true
321 | dev: true
322 | optional: true
323 |
324 | /esbuild-linux-32/0.14.46:
325 | resolution: {integrity: sha512-ZnTpZMVb0VGvL99R5eh4OrJwbUyvpM6M88VAMuHP4LvFjuvZrhgefjKqEGuWZZW7JRnAjKqjXLjWdhdSjwMFnQ==}
326 | engines: {node: '>=12'}
327 | cpu: [ia32]
328 | os: [linux]
329 | requiresBuild: true
330 | dev: true
331 | optional: true
332 |
333 | /esbuild-linux-64/0.14.46:
334 | resolution: {integrity: sha512-ECCRRZtX6l4ubeVhHhiVoK/uYAkvzNqfmR4gP4N/9H9RPu+b8YCcN4bQGp7xCuYIV6Xd41WpOMyO+xpcQvjtQQ==}
335 | engines: {node: '>=12'}
336 | cpu: [x64]
337 | os: [linux]
338 | requiresBuild: true
339 | dev: true
340 | optional: true
341 |
342 | /esbuild-linux-arm/0.14.46:
343 | resolution: {integrity: sha512-RvTJEi4vj13c5FP9YPp+8Y6x6HK1E7uSqfy3y9UoeaNAzNZWA7fN1U3hQjTL/dy5zTJH5KE64mrt5k5+he+CQA==}
344 | engines: {node: '>=12'}
345 | cpu: [arm]
346 | os: [linux]
347 | requiresBuild: true
348 | dev: true
349 | optional: true
350 |
351 | /esbuild-linux-arm64/0.14.46:
352 | resolution: {integrity: sha512-HX0TXCHyI0NEWG4jg8LlW1PbZQbnz+PUH56yjx996cgM5pC90u32drKs/tyJiyyQmNk9OXOogjKw7LEdp/Qc1w==}
353 | engines: {node: '>=12'}
354 | cpu: [arm64]
355 | os: [linux]
356 | requiresBuild: true
357 | dev: true
358 | optional: true
359 |
360 | /esbuild-linux-mips64le/0.14.46:
361 | resolution: {integrity: sha512-jnb2NDwGqJUVmxn1v0f7seNdDm0nRNWHP9Z3MrWAGnBCdnnDlsjqRFDnbKoaQvWONEa+rOOr/giK+VL0hgQExA==}
362 | engines: {node: '>=12'}
363 | cpu: [mips64el]
364 | os: [linux]
365 | requiresBuild: true
366 | dev: true
367 | optional: true
368 |
369 | /esbuild-linux-ppc64le/0.14.46:
370 | resolution: {integrity: sha512-uu3JTQUrwwauKY9z8yq5MnDyOlT3f2DNOzBcYz4dB78HqwEqilCsifoBGd0WcbED5n57dc59X+LZMTZ8Ose44w==}
371 | engines: {node: '>=12'}
372 | cpu: [ppc64]
373 | os: [linux]
374 | requiresBuild: true
375 | dev: true
376 | optional: true
377 |
378 | /esbuild-linux-riscv64/0.14.46:
379 | resolution: {integrity: sha512-OB29r1EG44ZY34JnXCRERxo7k4pRKoQdaoRg2HIeCavatsXZwW4LCakpLnMQ72vXT1HtpBUABEjHkKkn5JyrUg==}
380 | engines: {node: '>=12'}
381 | cpu: [riscv64]
382 | os: [linux]
383 | requiresBuild: true
384 | dev: true
385 | optional: true
386 |
387 | /esbuild-linux-s390x/0.14.46:
388 | resolution: {integrity: sha512-XQ/U9TueMSGYyPTKyZsJVraiuvxhwCDIMn/QwFXCRCJ6H/Cy/Rq33u9qhpeSziinHKfzJROGx5A8mQY6aYamdQ==}
389 | engines: {node: '>=12'}
390 | cpu: [s390x]
391 | os: [linux]
392 | requiresBuild: true
393 | dev: true
394 | optional: true
395 |
396 | /esbuild-netbsd-64/0.14.46:
397 | resolution: {integrity: sha512-i15BwqHaAIFp1vBJkitAbHtwXcLk9TdHs/Ia1xGIAutQYXSJNPLM3Z4B4hyfHNEFl2yBqBIYpglMohv2ClNdOQ==}
398 | engines: {node: '>=12'}
399 | cpu: [x64]
400 | os: [netbsd]
401 | requiresBuild: true
402 | dev: true
403 | optional: true
404 |
405 | /esbuild-openbsd-64/0.14.46:
406 | resolution: {integrity: sha512-XwOIFCE140Y/PvjrwjFfa/QLWBuvhR1mPCOa35mKx02jt++wPNgf0qhn6HfdVC3vQe7R46RwTp4q2cp99fepEg==}
407 | engines: {node: '>=12'}
408 | cpu: [x64]
409 | os: [openbsd]
410 | requiresBuild: true
411 | dev: true
412 | optional: true
413 |
414 | /esbuild-sunos-64/0.14.46:
415 | resolution: {integrity: sha512-+kV3JnmfdxBVpHyFvuGXWtu6tXxXApOLPkSrVkMJf6+ns/3PLtPndpzwCzHjD+qYUEk8ln4MA+ufQ2qmjW5mZg==}
416 | engines: {node: '>=12'}
417 | cpu: [x64]
418 | os: [sunos]
419 | requiresBuild: true
420 | dev: true
421 | optional: true
422 |
423 | /esbuild-windows-32/0.14.46:
424 | resolution: {integrity: sha512-gzGC1Q11B/Bo5A2EX4N22oigWmhL7Z0eDyc8kbSoJjqSrGQuRE7B0uMpluO+q0O/gZ1S3zdw+M4PCWlqOIeXLA==}
425 | engines: {node: '>=12'}
426 | cpu: [ia32]
427 | os: [win32]
428 | requiresBuild: true
429 | dev: true
430 | optional: true
431 |
432 | /esbuild-windows-64/0.14.46:
433 | resolution: {integrity: sha512-Do2daaskfOjmCB7o3ygz6fD3K6SPjZLERiZLktzHz2oUCwsebKu/gmop0+j/XdrVIXC32wFzHzDS+9CTu9OShw==}
434 | engines: {node: '>=12'}
435 | cpu: [x64]
436 | os: [win32]
437 | requiresBuild: true
438 | dev: true
439 | optional: true
440 |
441 | /esbuild-windows-arm64/0.14.46:
442 | resolution: {integrity: sha512-VEzMy6bM60/HT/URTDElyhfi2Pk0quCCrEhRlI4MRno/AIqYUGw0rZwkPl6PeoqVI6BgoBHGY576GWTiPmshCA==}
443 | engines: {node: '>=12'}
444 | cpu: [arm64]
445 | os: [win32]
446 | requiresBuild: true
447 | dev: true
448 | optional: true
449 |
450 | /esbuild/0.14.46:
451 | resolution: {integrity: sha512-vdm5G1JdZBktva8dwQci/s44VbeBUg8g907xoZx77mqFZ4gU5GlMULNsdGeID+qXCXocsfYSGtE0LvqH3eiNQg==}
452 | engines: {node: '>=12'}
453 | hasBin: true
454 | requiresBuild: true
455 | optionalDependencies:
456 | esbuild-android-64: 0.14.46
457 | esbuild-android-arm64: 0.14.46
458 | esbuild-darwin-64: 0.14.46
459 | esbuild-darwin-arm64: 0.14.46
460 | esbuild-freebsd-64: 0.14.46
461 | esbuild-freebsd-arm64: 0.14.46
462 | esbuild-linux-32: 0.14.46
463 | esbuild-linux-64: 0.14.46
464 | esbuild-linux-arm: 0.14.46
465 | esbuild-linux-arm64: 0.14.46
466 | esbuild-linux-mips64le: 0.14.46
467 | esbuild-linux-ppc64le: 0.14.46
468 | esbuild-linux-riscv64: 0.14.46
469 | esbuild-linux-s390x: 0.14.46
470 | esbuild-netbsd-64: 0.14.46
471 | esbuild-openbsd-64: 0.14.46
472 | esbuild-sunos-64: 0.14.46
473 | esbuild-windows-32: 0.14.46
474 | esbuild-windows-64: 0.14.46
475 | esbuild-windows-arm64: 0.14.46
476 | dev: true
477 |
478 | /escape-html/1.0.3:
479 | resolution: {integrity: sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==}
480 | dev: false
481 |
482 | /estree-walker/2.0.2:
483 | resolution: {integrity: sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==}
484 |
485 | /fsevents/2.3.2:
486 | resolution: {integrity: sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==}
487 | engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0}
488 | os: [darwin]
489 | requiresBuild: true
490 | dev: true
491 | optional: true
492 |
493 | /function-bind/1.1.1:
494 | resolution: {integrity: sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==}
495 | dev: true
496 |
497 | /has/1.0.3:
498 | resolution: {integrity: sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==}
499 | engines: {node: '>= 0.4.0'}
500 | dependencies:
501 | function-bind: 1.1.1
502 | dev: true
503 |
504 | /is-core-module/2.9.0:
505 | resolution: {integrity: sha512-+5FPy5PnwmO3lvfMb0AsoPaBG+5KHUI0wYFXOtYPnVVVspTFUuMZNfNaNVRt3FZadstu2c8x23vykRW/NBoU6A==}
506 | dependencies:
507 | has: 1.0.3
508 | dev: true
509 |
510 | /lodash-es/4.17.21:
511 | resolution: {integrity: sha512-mKnC+QJ9pWVzv+C4/U3rRsHapFfHvQFoFB92e52xeyGMcX6/OlIl78je1u8vePzYZSkkogMPJ2yjxxsb89cxyw==}
512 | dev: false
513 |
514 | /lodash-unified/1.0.2_da03a4540fbd16bbaafbb96724306afd:
515 | resolution: {integrity: sha512-OGbEy+1P+UT26CYi4opY4gebD8cWRDxAT6MAObIVQMiqYdxZr1g3QHWCToVsm31x2NkLS4K3+MC2qInaRMa39g==}
516 | peerDependencies:
517 | '@types/lodash-es': '*'
518 | lodash: '*'
519 | lodash-es: '*'
520 | dependencies:
521 | '@types/lodash-es': 4.17.6
522 | lodash: 4.17.21
523 | lodash-es: 4.17.21
524 | dev: false
525 |
526 | /lodash/4.17.21:
527 | resolution: {integrity: sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==}
528 | dev: false
529 |
530 | /magic-string/0.25.9:
531 | resolution: {integrity: sha512-RmF0AsMzgt25qzqqLc1+MbHmhdx0ojF2Fvs4XnOqz2ZOBXzzkEwc/dJQZCYHAn7v1jbVOjAZfK8msRn4BxO4VQ==}
532 | dependencies:
533 | sourcemap-codec: 1.4.8
534 |
535 | /memoize-one/6.0.0:
536 | resolution: {integrity: sha512-rkpe71W0N0c0Xz6QD0eJETuWAJGnJ9afsl1srmwPrI+yBCkge5EycXXbYRyvL29zZVUWQCY7InPRCv3GDXuZNw==}
537 | dev: false
538 |
539 | /nanoid/3.3.4:
540 | resolution: {integrity: sha512-MqBkQh/OHTS2egovRtLk45wEyNXwF+cokD+1YPf9u5VfJiRdAiRwB2froX5Co9Rh20xs4siNPm8naNotSD6RBw==}
541 | engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1}
542 | hasBin: true
543 |
544 | /normalize-wheel-es/1.1.2:
545 | resolution: {integrity: sha512-scX83plWJXYH1J4+BhAuIHadROzxX0UBF3+HuZNY2Ks8BciE7tSTQ+5JhTsvzjaO0/EJdm4JBGrfObKxFf3Png==}
546 | dev: false
547 |
548 | /path-parse/1.0.7:
549 | resolution: {integrity: sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==}
550 | dev: true
551 |
552 | /picocolors/1.0.0:
553 | resolution: {integrity: sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==}
554 |
555 | /postcss/8.4.14:
556 | resolution: {integrity: sha512-E398TUmfAYFPBSdzgeieK2Y1+1cpdxJx8yXbK/m57nRhKSmk1GB2tO4lbLBtlkfPQTDKfe4Xqv1ASWPpayPEig==}
557 | engines: {node: ^10 || ^12 || >=14}
558 | dependencies:
559 | nanoid: 3.3.4
560 | picocolors: 1.0.0
561 | source-map-js: 1.0.2
562 |
563 | /resolve/1.22.1:
564 | resolution: {integrity: sha512-nBpuuYuY5jFsli/JIs1oldw6fOQCBioohqWZg/2hiaOybXOft4lonv85uDOKXdf8rhyK159cxU5cDcK/NKk8zw==}
565 | hasBin: true
566 | dependencies:
567 | is-core-module: 2.9.0
568 | path-parse: 1.0.7
569 | supports-preserve-symlinks-flag: 1.0.0
570 | dev: true
571 |
572 | /responsive-storage/2.0.0:
573 | resolution: {integrity: sha512-4pZbTlwDmJAbnZ0B93aQVfTOY58+LYwwQBGPDqAI89NbjnrgVdmqqemmzkfOSGNqFWWnCamq9moWASFk+oC2Fg==}
574 | dev: false
575 |
576 | /rollup/2.75.6:
577 | resolution: {integrity: sha512-OEf0TgpC9vU6WGROJIk1JA3LR5vk/yvqlzxqdrE2CzzXnqKXNzbAwlWUXis8RS3ZPe7LAq+YUxsRa0l3r27MLA==}
578 | engines: {node: '>=10.0.0'}
579 | hasBin: true
580 | optionalDependencies:
581 | fsevents: 2.3.2
582 | dev: true
583 |
584 | /source-map-js/1.0.2:
585 | resolution: {integrity: sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==}
586 | engines: {node: '>=0.10.0'}
587 |
588 | /source-map/0.6.1:
589 | resolution: {integrity: sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==}
590 | engines: {node: '>=0.10.0'}
591 |
592 | /sourcemap-codec/1.4.8:
593 | resolution: {integrity: sha512-9NykojV5Uih4lgo5So5dtw+f0JgJX30KCNI8gwhz2J9A15wD0Ml6tjHKwf6fTSa6fAdVBdZeNOs9eJ71qCk8vA==}
594 |
595 | /supports-preserve-symlinks-flag/1.0.0:
596 | resolution: {integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==}
597 | engines: {node: '>= 0.4'}
598 | dev: true
599 |
600 | /to-fast-properties/2.0.0:
601 | resolution: {integrity: sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==}
602 | engines: {node: '>=4'}
603 |
604 | /typescript/4.7.4:
605 | resolution: {integrity: sha512-C0WQT0gezHuw6AdY1M2jxUO83Rjf0HP7Sk1DtXj6j1EwkQNZrHAg2XPWlq62oqEhYvONq5pkC2Y9oPljWToLmQ==}
606 | engines: {node: '>=4.2.0'}
607 | hasBin: true
608 | dev: true
609 |
610 | /vite/2.9.12:
611 | resolution: {integrity: sha512-suxC36dQo9Rq1qMB2qiRorNJtJAdxguu5TMvBHOc/F370KvqAe9t48vYp+/TbPKRNrMh/J55tOUmkuIqstZaew==}
612 | engines: {node: '>=12.2.0'}
613 | hasBin: true
614 | peerDependencies:
615 | less: '*'
616 | sass: '*'
617 | stylus: '*'
618 | peerDependenciesMeta:
619 | less:
620 | optional: true
621 | sass:
622 | optional: true
623 | stylus:
624 | optional: true
625 | dependencies:
626 | esbuild: 0.14.46
627 | postcss: 8.4.14
628 | resolve: 1.22.1
629 | rollup: 2.75.6
630 | optionalDependencies:
631 | fsevents: 2.3.2
632 | dev: true
633 |
634 | /vue-demi/0.13.1_vue@3.2.37:
635 | resolution: {integrity: sha512-xmkJ56koG3ptpLnpgmIzk9/4nFf4CqduSJbUM0OdPoU87NwRuZ6x49OLhjSa/fC15fV+5CbEnrxU4oyE022svg==}
636 | engines: {node: '>=12'}
637 | hasBin: true
638 | requiresBuild: true
639 | peerDependencies:
640 | '@vue/composition-api': ^1.0.0-rc.1
641 | vue: ^3.0.0-0 || ^2.6.0
642 | peerDependenciesMeta:
643 | '@vue/composition-api':
644 | optional: true
645 | dependencies:
646 | vue: 3.2.37
647 | dev: false
648 |
649 | /vue-tsc/0.37.9_typescript@4.7.4:
650 | resolution: {integrity: sha512-7UDietFPPfLFm2JeG0OodUhtOWbD66tFrALX3NdqNl8LjVHKLId5oTQpuHNUIme2vbNj/fcwaENPfEX2BCSgMw==}
651 | hasBin: true
652 | peerDependencies:
653 | typescript: '*'
654 | dependencies:
655 | '@volar/vue-typescript': 0.37.9
656 | typescript: 4.7.4
657 | dev: true
658 |
659 | /vue/3.2.37:
660 | resolution: {integrity: sha512-bOKEZxrm8Eh+fveCqS1/NkG/n6aMidsI6hahas7pa0w/l7jkbssJVsRhVDs07IdDq7h9KHswZOgItnwJAgtVtQ==}
661 | dependencies:
662 | '@vue/compiler-dom': 3.2.37
663 | '@vue/compiler-sfc': 3.2.37
664 | '@vue/runtime-dom': 3.2.37
665 | '@vue/server-renderer': 3.2.37_vue@3.2.37
666 | '@vue/shared': 3.2.37
667 | dev: false
668 |
--------------------------------------------------------------------------------
/playgrounds/vue3/public/favicon.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/xiaoxian521/responsive-storage/f0e67bb6ccd4671e8bc98af1d0b24fed02b8f2c3/playgrounds/vue3/public/favicon.ico
--------------------------------------------------------------------------------
/playgrounds/vue3/src/App.vue:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | Vue3 Version
5 |
6 |
11 |
12 | Please open the Local Storage of your local browser to check the change
13 | of the corresponding value of rs-starValue and observe the change of
14 | star in the page
15 |
16 |
17 |
18 |
24 |
25 |
26 |
27 |
28 |
29 |
38 |
39 |
47 |
--------------------------------------------------------------------------------
/playgrounds/vue3/src/assets/reset.css:
--------------------------------------------------------------------------------
1 | html,
2 | body,
3 | #app {
4 | margin: 0;
5 | padding: 0;
6 | width: 100%;
7 | height: 100%;
8 | }
9 |
--------------------------------------------------------------------------------
/playgrounds/vue3/src/components/button.vue:
--------------------------------------------------------------------------------
1 |
21 |
22 |
23 |
24 | - Decrease
25 |
26 |
27 | + Increase
28 |
29 |
30 |
--------------------------------------------------------------------------------
/playgrounds/vue3/src/env.d.ts:
--------------------------------------------------------------------------------
1 | ///
2 |
3 | declare module '*.vue' {
4 | import type { DefineComponent } from 'vue'
5 | // eslint-disable-next-line @typescript-eslint/no-explicit-any, @typescript-eslint/ban-types
6 | const component: DefineComponent<{}, {}, any>
7 | export default component
8 | }
9 |
--------------------------------------------------------------------------------
/playgrounds/vue3/src/main.ts:
--------------------------------------------------------------------------------
1 | import { createApp } from "vue";
2 | import App from "./App.vue";
3 |
4 | import "./assets/reset.css";
5 | import "element-plus/dist/index.css";
6 |
7 | import Storage from "../../../dist";
8 | // import Storage from "responsive-storage";
9 | import ElementPlus from "element-plus";
10 |
11 | const app = createApp(App);
12 |
13 | app.use(Storage, {
14 | // nameSpace: "test_",
15 | memory: {
16 | // starValue: Storage.getData("starValue", "test_") ?? 1
17 | starValue: Storage.getData("starValue") ?? 1
18 | }
19 | });
20 |
21 | app.use(ElementPlus).mount("#app");
22 |
--------------------------------------------------------------------------------
/playgrounds/vue3/tsconfig.json:
--------------------------------------------------------------------------------
1 | {
2 | "compilerOptions": {
3 | "target": "ESNext",
4 | "useDefineForClassFields": true,
5 | "module": "ESNext",
6 | "moduleResolution": "Node",
7 | "strict": true,
8 | "jsx": "preserve",
9 | "sourceMap": true,
10 | "resolveJsonModule": true,
11 | "isolatedModules": true,
12 | "esModuleInterop": true,
13 | "lib": ["ESNext", "DOM"],
14 | "skipLibCheck": true
15 | },
16 | "include": ["src/**/*.ts", "src/**/*.d.ts", "src/**/*.tsx", "src/**/*.vue"],
17 | "references": [{ "path": "./tsconfig.node.json" }]
18 | }
19 |
--------------------------------------------------------------------------------
/playgrounds/vue3/tsconfig.node.json:
--------------------------------------------------------------------------------
1 | {
2 | "compilerOptions": {
3 | "composite": true,
4 | "module": "ESNext",
5 | "moduleResolution": "Node"
6 | },
7 | "include": ["vite.config.ts"]
8 | }
9 |
--------------------------------------------------------------------------------
/playgrounds/vue3/vite.config.ts:
--------------------------------------------------------------------------------
1 | import { defineConfig } from "vite";
2 | import vue from "@vitejs/plugin-vue";
3 |
4 | // https://vitejs.dev/config/
5 | export default defineConfig({
6 | plugins: [vue()]
7 | });
8 |
--------------------------------------------------------------------------------
/pnpm-lock.yaml:
--------------------------------------------------------------------------------
1 | lockfileVersion: 5.4
2 |
3 | specifiers:
4 | '@pureadmin/release': ^1.0.0
5 | '@types/node': ^18.0.0
6 | prettier: ^2.7.1
7 | tsup: ^6.1.2
8 | typescript: ^4.7.4
9 | vue: ^3.2.37
10 |
11 | devDependencies:
12 | '@pureadmin/release': 1.0.0
13 | '@types/node': 18.0.0
14 | prettier: 2.7.1
15 | tsup: 6.1.2_typescript@4.7.4
16 | typescript: 4.7.4
17 | vue: 3.2.37
18 |
19 | packages:
20 |
21 | /@babel/helper-validator-identifier/7.16.7:
22 | resolution: {integrity: sha512-hsEnFemeiW4D08A5gUAZxLBTXpZ39P+a+DGDsHw1yxqyQ/jzFEnxf5uTEGp+3bzAbNOxU1paTgYS4ECU/IgfDw==}
23 | engines: {node: '>=6.9.0'}
24 | dev: true
25 |
26 | /@babel/parser/7.18.5:
27 | resolution: {integrity: sha512-YZWVaglMiplo7v8f1oMQ5ZPQr0vn7HPeZXxXWsxXJRjGVrzUFn9OxFQl1sb5wzfootjA/yChhW84BV+383FSOw==}
28 | engines: {node: '>=6.0.0'}
29 | hasBin: true
30 | dependencies:
31 | '@babel/types': 7.18.4
32 | dev: true
33 |
34 | /@babel/types/7.18.4:
35 | resolution: {integrity: sha512-ThN1mBcMq5pG/Vm2IcBmPPfyPXbd8S02rS+OBIDENdufvqC7Z/jHPCv9IcP01277aKtDI8g/2XysBN4hA8niiw==}
36 | engines: {node: '>=6.9.0'}
37 | dependencies:
38 | '@babel/helper-validator-identifier': 7.16.7
39 | to-fast-properties: 2.0.0
40 | dev: true
41 |
42 | /@nodelib/fs.scandir/2.1.5:
43 | resolution: {integrity: sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==}
44 | engines: {node: '>= 8'}
45 | dependencies:
46 | '@nodelib/fs.stat': 2.0.5
47 | run-parallel: 1.2.0
48 | dev: true
49 |
50 | /@nodelib/fs.stat/2.0.5:
51 | resolution: {integrity: sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==}
52 | engines: {node: '>= 8'}
53 | dev: true
54 |
55 | /@nodelib/fs.walk/1.2.8:
56 | resolution: {integrity: sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==}
57 | engines: {node: '>= 8'}
58 | dependencies:
59 | '@nodelib/fs.scandir': 2.1.5
60 | fastq: 1.13.0
61 | dev: true
62 |
63 | /@pureadmin/release/1.0.0:
64 | resolution: {integrity: sha512-cFXev9X+TQNmpb8E8agD53ZfL5DCYpY25SPpLUXo42Twa62vmJckc+xqh95r4tvgMi0eqUEFRuiSHr1oS3pHmQ==}
65 | hasBin: true
66 | dev: true
67 |
68 | /@types/node/18.0.0:
69 | resolution: {integrity: sha512-cHlGmko4gWLVI27cGJntjs/Sj8th9aYwplmZFwmmgYQQvL5NUsgVJG7OddLvNfLqYS31KFN0s3qlaD9qCaxACA==}
70 | dev: true
71 |
72 | /@vue/compiler-core/3.2.37:
73 | resolution: {integrity: sha512-81KhEjo7YAOh0vQJoSmAD68wLfYqJvoiD4ulyedzF+OEk/bk6/hx3fTNVfuzugIIaTrOx4PGx6pAiBRe5e9Zmg==}
74 | dependencies:
75 | '@babel/parser': 7.18.5
76 | '@vue/shared': 3.2.37
77 | estree-walker: 2.0.2
78 | source-map: 0.6.1
79 | dev: true
80 |
81 | /@vue/compiler-dom/3.2.37:
82 | resolution: {integrity: sha512-yxJLH167fucHKxaqXpYk7x8z7mMEnXOw3G2q62FTkmsvNxu4FQSu5+3UMb+L7fjKa26DEzhrmCxAgFLLIzVfqQ==}
83 | dependencies:
84 | '@vue/compiler-core': 3.2.37
85 | '@vue/shared': 3.2.37
86 | dev: true
87 |
88 | /@vue/compiler-sfc/3.2.37:
89 | resolution: {integrity: sha512-+7i/2+9LYlpqDv+KTtWhOZH+pa8/HnX/905MdVmAcI/mPQOBwkHHIzrsEsucyOIZQYMkXUiTkmZq5am/NyXKkg==}
90 | dependencies:
91 | '@babel/parser': 7.18.5
92 | '@vue/compiler-core': 3.2.37
93 | '@vue/compiler-dom': 3.2.37
94 | '@vue/compiler-ssr': 3.2.37
95 | '@vue/reactivity-transform': 3.2.37
96 | '@vue/shared': 3.2.37
97 | estree-walker: 2.0.2
98 | magic-string: 0.25.9
99 | postcss: 8.4.14
100 | source-map: 0.6.1
101 | dev: true
102 |
103 | /@vue/compiler-ssr/3.2.37:
104 | resolution: {integrity: sha512-7mQJD7HdXxQjktmsWp/J67lThEIcxLemz1Vb5I6rYJHR5vI+lON3nPGOH3ubmbvYGt8xEUaAr1j7/tIFWiEOqw==}
105 | dependencies:
106 | '@vue/compiler-dom': 3.2.37
107 | '@vue/shared': 3.2.37
108 | dev: true
109 |
110 | /@vue/reactivity-transform/3.2.37:
111 | resolution: {integrity: sha512-IWopkKEb+8qpu/1eMKVeXrK0NLw9HicGviJzhJDEyfxTR9e1WtpnnbYkJWurX6WwoFP0sz10xQg8yL8lgskAZg==}
112 | dependencies:
113 | '@babel/parser': 7.18.5
114 | '@vue/compiler-core': 3.2.37
115 | '@vue/shared': 3.2.37
116 | estree-walker: 2.0.2
117 | magic-string: 0.25.9
118 | dev: true
119 |
120 | /@vue/reactivity/3.2.37:
121 | resolution: {integrity: sha512-/7WRafBOshOc6m3F7plwzPeCu/RCVv9uMpOwa/5PiY1Zz+WLVRWiy0MYKwmg19KBdGtFWsmZ4cD+LOdVPcs52A==}
122 | dependencies:
123 | '@vue/shared': 3.2.37
124 | dev: true
125 |
126 | /@vue/runtime-core/3.2.37:
127 | resolution: {integrity: sha512-JPcd9kFyEdXLl/i0ClS7lwgcs0QpUAWj+SKX2ZC3ANKi1U4DOtiEr6cRqFXsPwY5u1L9fAjkinIdB8Rz3FoYNQ==}
128 | dependencies:
129 | '@vue/reactivity': 3.2.37
130 | '@vue/shared': 3.2.37
131 | dev: true
132 |
133 | /@vue/runtime-dom/3.2.37:
134 | resolution: {integrity: sha512-HimKdh9BepShW6YozwRKAYjYQWg9mQn63RGEiSswMbW+ssIht1MILYlVGkAGGQbkhSh31PCdoUcfiu4apXJoPw==}
135 | dependencies:
136 | '@vue/runtime-core': 3.2.37
137 | '@vue/shared': 3.2.37
138 | csstype: 2.6.20
139 | dev: true
140 |
141 | /@vue/server-renderer/3.2.37_vue@3.2.37:
142 | resolution: {integrity: sha512-kLITEJvaYgZQ2h47hIzPh2K3jG8c1zCVbp/o/bzQOyvzaKiCquKS7AaioPI28GNxIsE/zSx+EwWYsNxDCX95MA==}
143 | peerDependencies:
144 | vue: 3.2.37
145 | dependencies:
146 | '@vue/compiler-ssr': 3.2.37
147 | '@vue/shared': 3.2.37
148 | vue: 3.2.37
149 | dev: true
150 |
151 | /@vue/shared/3.2.37:
152 | resolution: {integrity: sha512-4rSJemR2NQIo9Klm1vabqWjD8rs/ZaJSzMxkMNeJS6lHiUjjUeYFbooN19NgFjztubEKh3WlZUeOLVdbbUWHsw==}
153 | dev: true
154 |
155 | /any-promise/1.3.0:
156 | resolution: {integrity: sha512-7UvmKalWRt1wgjL1RrGxoSJW/0QZFIegpeGvZG9kjp8vrRu55XTHbwnqq2GpXm9uLbcuhxm3IqX9OB4MZR1b2A==}
157 | dev: true
158 |
159 | /anymatch/3.1.2:
160 | resolution: {integrity: sha512-P43ePfOAIupkguHUycrc4qJ9kz8ZiuOUijaETwX7THt0Y/GNK7v0aa8rY816xWjZ7rJdA5XdMcpVFTKMq+RvWg==}
161 | engines: {node: '>= 8'}
162 | dependencies:
163 | normalize-path: 3.0.0
164 | picomatch: 2.3.1
165 | dev: true
166 |
167 | /array-union/2.1.0:
168 | resolution: {integrity: sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==}
169 | engines: {node: '>=8'}
170 | dev: true
171 |
172 | /balanced-match/1.0.2:
173 | resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==}
174 | dev: true
175 |
176 | /binary-extensions/2.2.0:
177 | resolution: {integrity: sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==}
178 | engines: {node: '>=8'}
179 | dev: true
180 |
181 | /brace-expansion/1.1.11:
182 | resolution: {integrity: sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==}
183 | dependencies:
184 | balanced-match: 1.0.2
185 | concat-map: 0.0.1
186 | dev: true
187 |
188 | /braces/3.0.2:
189 | resolution: {integrity: sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==}
190 | engines: {node: '>=8'}
191 | dependencies:
192 | fill-range: 7.0.1
193 | dev: true
194 |
195 | /bundle-require/3.0.4_esbuild@0.14.46:
196 | resolution: {integrity: sha512-VXG6epB1yrLAvWVQpl92qF347/UXmncQj7J3U8kZEbdVZ1ZkQyr4hYeL/9RvcE8vVVdp53dY78Fd/3pqfRqI1A==}
197 | engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0}
198 | peerDependencies:
199 | esbuild: '>=0.13'
200 | dependencies:
201 | esbuild: 0.14.46
202 | load-tsconfig: 0.2.3
203 | dev: true
204 |
205 | /cac/6.7.12:
206 | resolution: {integrity: sha512-rM7E2ygtMkJqD9c7WnFU6fruFcN3xe4FM5yUmgxhZzIKJk4uHl9U/fhwdajGFQbQuv43FAUo1Fe8gX/oIKDeSA==}
207 | engines: {node: '>=8'}
208 | dev: true
209 |
210 | /chokidar/3.5.3:
211 | resolution: {integrity: sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==}
212 | engines: {node: '>= 8.10.0'}
213 | dependencies:
214 | anymatch: 3.1.2
215 | braces: 3.0.2
216 | glob-parent: 5.1.2
217 | is-binary-path: 2.1.0
218 | is-glob: 4.0.3
219 | normalize-path: 3.0.0
220 | readdirp: 3.6.0
221 | optionalDependencies:
222 | fsevents: 2.3.2
223 | dev: true
224 |
225 | /commander/4.1.1:
226 | resolution: {integrity: sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA==}
227 | engines: {node: '>= 6'}
228 | dev: true
229 |
230 | /concat-map/0.0.1:
231 | resolution: {integrity: sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=}
232 | dev: true
233 |
234 | /cross-spawn/7.0.3:
235 | resolution: {integrity: sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==}
236 | engines: {node: '>= 8'}
237 | dependencies:
238 | path-key: 3.1.1
239 | shebang-command: 2.0.0
240 | which: 2.0.2
241 | dev: true
242 |
243 | /csstype/2.6.20:
244 | resolution: {integrity: sha512-/WwNkdXfckNgw6S5R125rrW8ez139lBHWouiBvX8dfMFtcn6V81REDqnH7+CRpRipfYlyU1CmOnOxrmGcFOjeA==}
245 | dev: true
246 |
247 | /debug/4.3.4:
248 | resolution: {integrity: sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==}
249 | engines: {node: '>=6.0'}
250 | peerDependencies:
251 | supports-color: '*'
252 | peerDependenciesMeta:
253 | supports-color:
254 | optional: true
255 | dependencies:
256 | ms: 2.1.2
257 | dev: true
258 |
259 | /dir-glob/3.0.1:
260 | resolution: {integrity: sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==}
261 | engines: {node: '>=8'}
262 | dependencies:
263 | path-type: 4.0.0
264 | dev: true
265 |
266 | /esbuild-android-64/0.14.46:
267 | resolution: {integrity: sha512-ZyJqwAcjNbZprs0ZAxnUAOhEhdE5kTKwz+CZuLmZYNLAPyRgBtaC8pT2PCuPifNvV8Cl3yLlrQPaOCjovoyb5g==}
268 | engines: {node: '>=12'}
269 | cpu: [x64]
270 | os: [android]
271 | requiresBuild: true
272 | dev: true
273 | optional: true
274 |
275 | /esbuild-android-arm64/0.14.46:
276 | resolution: {integrity: sha512-BKcnUksvCijO9ONv6b4SikZE/OZftwJvX91XROODZGQmuwGVg97jmLDVu3lxuHdFlMNNzxh8taJ2mbCWZzH/Iw==}
277 | engines: {node: '>=12'}
278 | cpu: [arm64]
279 | os: [android]
280 | requiresBuild: true
281 | dev: true
282 | optional: true
283 |
284 | /esbuild-darwin-64/0.14.46:
285 | resolution: {integrity: sha512-/ss2kO92sUJ9/1nHnMb3+oab8w6dyqKrMtPMvSYJ9KZIYGAZxz/WYxfFprY7Xk+ZxWnnlASSyZlG+If1nVmFYg==}
286 | engines: {node: '>=12'}
287 | cpu: [x64]
288 | os: [darwin]
289 | requiresBuild: true
290 | dev: true
291 | optional: true
292 |
293 | /esbuild-darwin-arm64/0.14.46:
294 | resolution: {integrity: sha512-WX0JOaEFf6t+rIjXO6THsf/0fhQAt2Zb0/PSYlvXnuQQAmOmFAfPsuRNocp5ME0NGaUqZd4FxqqmLEVK3RzPAg==}
295 | engines: {node: '>=12'}
296 | cpu: [arm64]
297 | os: [darwin]
298 | requiresBuild: true
299 | dev: true
300 | optional: true
301 |
302 | /esbuild-freebsd-64/0.14.46:
303 | resolution: {integrity: sha512-o+ozPFuHRCAGCVWU2bLurOUgVkT0jcPEu082VBUY2Q/yLf+B+/3nXzh4Fjp5O21tOvJRTn7hUVydG9j5+vYE6A==}
304 | engines: {node: '>=12'}
305 | cpu: [x64]
306 | os: [freebsd]
307 | requiresBuild: true
308 | dev: true
309 | optional: true
310 |
311 | /esbuild-freebsd-arm64/0.14.46:
312 | resolution: {integrity: sha512-9zicZ0X43WDKz3sjNfcqYO38xbfJpSWYXB+FxvYYkmBwGA52K0SAu4oKuTTLi8od8X2IIo1x5C5TUNvKDSVJww==}
313 | engines: {node: '>=12'}
314 | cpu: [arm64]
315 | os: [freebsd]
316 | requiresBuild: true
317 | dev: true
318 | optional: true
319 |
320 | /esbuild-linux-32/0.14.46:
321 | resolution: {integrity: sha512-ZnTpZMVb0VGvL99R5eh4OrJwbUyvpM6M88VAMuHP4LvFjuvZrhgefjKqEGuWZZW7JRnAjKqjXLjWdhdSjwMFnQ==}
322 | engines: {node: '>=12'}
323 | cpu: [ia32]
324 | os: [linux]
325 | requiresBuild: true
326 | dev: true
327 | optional: true
328 |
329 | /esbuild-linux-64/0.14.46:
330 | resolution: {integrity: sha512-ECCRRZtX6l4ubeVhHhiVoK/uYAkvzNqfmR4gP4N/9H9RPu+b8YCcN4bQGp7xCuYIV6Xd41WpOMyO+xpcQvjtQQ==}
331 | engines: {node: '>=12'}
332 | cpu: [x64]
333 | os: [linux]
334 | requiresBuild: true
335 | dev: true
336 | optional: true
337 |
338 | /esbuild-linux-arm/0.14.46:
339 | resolution: {integrity: sha512-RvTJEi4vj13c5FP9YPp+8Y6x6HK1E7uSqfy3y9UoeaNAzNZWA7fN1U3hQjTL/dy5zTJH5KE64mrt5k5+he+CQA==}
340 | engines: {node: '>=12'}
341 | cpu: [arm]
342 | os: [linux]
343 | requiresBuild: true
344 | dev: true
345 | optional: true
346 |
347 | /esbuild-linux-arm64/0.14.46:
348 | resolution: {integrity: sha512-HX0TXCHyI0NEWG4jg8LlW1PbZQbnz+PUH56yjx996cgM5pC90u32drKs/tyJiyyQmNk9OXOogjKw7LEdp/Qc1w==}
349 | engines: {node: '>=12'}
350 | cpu: [arm64]
351 | os: [linux]
352 | requiresBuild: true
353 | dev: true
354 | optional: true
355 |
356 | /esbuild-linux-mips64le/0.14.46:
357 | resolution: {integrity: sha512-jnb2NDwGqJUVmxn1v0f7seNdDm0nRNWHP9Z3MrWAGnBCdnnDlsjqRFDnbKoaQvWONEa+rOOr/giK+VL0hgQExA==}
358 | engines: {node: '>=12'}
359 | cpu: [mips64el]
360 | os: [linux]
361 | requiresBuild: true
362 | dev: true
363 | optional: true
364 |
365 | /esbuild-linux-ppc64le/0.14.46:
366 | resolution: {integrity: sha512-uu3JTQUrwwauKY9z8yq5MnDyOlT3f2DNOzBcYz4dB78HqwEqilCsifoBGd0WcbED5n57dc59X+LZMTZ8Ose44w==}
367 | engines: {node: '>=12'}
368 | cpu: [ppc64]
369 | os: [linux]
370 | requiresBuild: true
371 | dev: true
372 | optional: true
373 |
374 | /esbuild-linux-riscv64/0.14.46:
375 | resolution: {integrity: sha512-OB29r1EG44ZY34JnXCRERxo7k4pRKoQdaoRg2HIeCavatsXZwW4LCakpLnMQ72vXT1HtpBUABEjHkKkn5JyrUg==}
376 | engines: {node: '>=12'}
377 | cpu: [riscv64]
378 | os: [linux]
379 | requiresBuild: true
380 | dev: true
381 | optional: true
382 |
383 | /esbuild-linux-s390x/0.14.46:
384 | resolution: {integrity: sha512-XQ/U9TueMSGYyPTKyZsJVraiuvxhwCDIMn/QwFXCRCJ6H/Cy/Rq33u9qhpeSziinHKfzJROGx5A8mQY6aYamdQ==}
385 | engines: {node: '>=12'}
386 | cpu: [s390x]
387 | os: [linux]
388 | requiresBuild: true
389 | dev: true
390 | optional: true
391 |
392 | /esbuild-netbsd-64/0.14.46:
393 | resolution: {integrity: sha512-i15BwqHaAIFp1vBJkitAbHtwXcLk9TdHs/Ia1xGIAutQYXSJNPLM3Z4B4hyfHNEFl2yBqBIYpglMohv2ClNdOQ==}
394 | engines: {node: '>=12'}
395 | cpu: [x64]
396 | os: [netbsd]
397 | requiresBuild: true
398 | dev: true
399 | optional: true
400 |
401 | /esbuild-openbsd-64/0.14.46:
402 | resolution: {integrity: sha512-XwOIFCE140Y/PvjrwjFfa/QLWBuvhR1mPCOa35mKx02jt++wPNgf0qhn6HfdVC3vQe7R46RwTp4q2cp99fepEg==}
403 | engines: {node: '>=12'}
404 | cpu: [x64]
405 | os: [openbsd]
406 | requiresBuild: true
407 | dev: true
408 | optional: true
409 |
410 | /esbuild-sunos-64/0.14.46:
411 | resolution: {integrity: sha512-+kV3JnmfdxBVpHyFvuGXWtu6tXxXApOLPkSrVkMJf6+ns/3PLtPndpzwCzHjD+qYUEk8ln4MA+ufQ2qmjW5mZg==}
412 | engines: {node: '>=12'}
413 | cpu: [x64]
414 | os: [sunos]
415 | requiresBuild: true
416 | dev: true
417 | optional: true
418 |
419 | /esbuild-windows-32/0.14.46:
420 | resolution: {integrity: sha512-gzGC1Q11B/Bo5A2EX4N22oigWmhL7Z0eDyc8kbSoJjqSrGQuRE7B0uMpluO+q0O/gZ1S3zdw+M4PCWlqOIeXLA==}
421 | engines: {node: '>=12'}
422 | cpu: [ia32]
423 | os: [win32]
424 | requiresBuild: true
425 | dev: true
426 | optional: true
427 |
428 | /esbuild-windows-64/0.14.46:
429 | resolution: {integrity: sha512-Do2daaskfOjmCB7o3ygz6fD3K6SPjZLERiZLktzHz2oUCwsebKu/gmop0+j/XdrVIXC32wFzHzDS+9CTu9OShw==}
430 | engines: {node: '>=12'}
431 | cpu: [x64]
432 | os: [win32]
433 | requiresBuild: true
434 | dev: true
435 | optional: true
436 |
437 | /esbuild-windows-arm64/0.14.46:
438 | resolution: {integrity: sha512-VEzMy6bM60/HT/URTDElyhfi2Pk0quCCrEhRlI4MRno/AIqYUGw0rZwkPl6PeoqVI6BgoBHGY576GWTiPmshCA==}
439 | engines: {node: '>=12'}
440 | cpu: [arm64]
441 | os: [win32]
442 | requiresBuild: true
443 | dev: true
444 | optional: true
445 |
446 | /esbuild/0.14.46:
447 | resolution: {integrity: sha512-vdm5G1JdZBktva8dwQci/s44VbeBUg8g907xoZx77mqFZ4gU5GlMULNsdGeID+qXCXocsfYSGtE0LvqH3eiNQg==}
448 | engines: {node: '>=12'}
449 | hasBin: true
450 | requiresBuild: true
451 | optionalDependencies:
452 | esbuild-android-64: 0.14.46
453 | esbuild-android-arm64: 0.14.46
454 | esbuild-darwin-64: 0.14.46
455 | esbuild-darwin-arm64: 0.14.46
456 | esbuild-freebsd-64: 0.14.46
457 | esbuild-freebsd-arm64: 0.14.46
458 | esbuild-linux-32: 0.14.46
459 | esbuild-linux-64: 0.14.46
460 | esbuild-linux-arm: 0.14.46
461 | esbuild-linux-arm64: 0.14.46
462 | esbuild-linux-mips64le: 0.14.46
463 | esbuild-linux-ppc64le: 0.14.46
464 | esbuild-linux-riscv64: 0.14.46
465 | esbuild-linux-s390x: 0.14.46
466 | esbuild-netbsd-64: 0.14.46
467 | esbuild-openbsd-64: 0.14.46
468 | esbuild-sunos-64: 0.14.46
469 | esbuild-windows-32: 0.14.46
470 | esbuild-windows-64: 0.14.46
471 | esbuild-windows-arm64: 0.14.46
472 | dev: true
473 |
474 | /estree-walker/2.0.2:
475 | resolution: {integrity: sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==}
476 | dev: true
477 |
478 | /execa/5.1.1:
479 | resolution: {integrity: sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==}
480 | engines: {node: '>=10'}
481 | dependencies:
482 | cross-spawn: 7.0.3
483 | get-stream: 6.0.1
484 | human-signals: 2.1.0
485 | is-stream: 2.0.1
486 | merge-stream: 2.0.0
487 | npm-run-path: 4.0.1
488 | onetime: 5.1.2
489 | signal-exit: 3.0.7
490 | strip-final-newline: 2.0.0
491 | dev: true
492 |
493 | /fast-glob/3.2.11:
494 | resolution: {integrity: sha512-xrO3+1bxSo3ZVHAnqzyuewYT6aMFHRAd4Kcs92MAonjwQZLsK9d0SF1IyQ3k5PoirxTW0Oe/RqFgMQ6TcNE5Ew==}
495 | engines: {node: '>=8.6.0'}
496 | dependencies:
497 | '@nodelib/fs.stat': 2.0.5
498 | '@nodelib/fs.walk': 1.2.8
499 | glob-parent: 5.1.2
500 | merge2: 1.4.1
501 | micromatch: 4.0.5
502 | dev: true
503 |
504 | /fastq/1.13.0:
505 | resolution: {integrity: sha512-YpkpUnK8od0o1hmeSc7UUs/eB/vIPWJYjKck2QKIzAf71Vm1AAQ3EbuZB3g2JIy+pg+ERD0vqI79KyZiB2e2Nw==}
506 | dependencies:
507 | reusify: 1.0.4
508 | dev: true
509 |
510 | /fill-range/7.0.1:
511 | resolution: {integrity: sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==}
512 | engines: {node: '>=8'}
513 | dependencies:
514 | to-regex-range: 5.0.1
515 | dev: true
516 |
517 | /fs.realpath/1.0.0:
518 | resolution: {integrity: sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==}
519 | dev: true
520 |
521 | /fsevents/2.3.2:
522 | resolution: {integrity: sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==}
523 | engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0}
524 | os: [darwin]
525 | requiresBuild: true
526 | dev: true
527 | optional: true
528 |
529 | /get-stream/6.0.1:
530 | resolution: {integrity: sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==}
531 | engines: {node: '>=10'}
532 | dev: true
533 |
534 | /glob-parent/5.1.2:
535 | resolution: {integrity: sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==}
536 | engines: {node: '>= 6'}
537 | dependencies:
538 | is-glob: 4.0.3
539 | dev: true
540 |
541 | /glob/7.1.6:
542 | resolution: {integrity: sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==}
543 | dependencies:
544 | fs.realpath: 1.0.0
545 | inflight: 1.0.6
546 | inherits: 2.0.4
547 | minimatch: 3.1.2
548 | once: 1.4.0
549 | path-is-absolute: 1.0.1
550 | dev: true
551 |
552 | /globby/11.1.0:
553 | resolution: {integrity: sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==}
554 | engines: {node: '>=10'}
555 | dependencies:
556 | array-union: 2.1.0
557 | dir-glob: 3.0.1
558 | fast-glob: 3.2.11
559 | ignore: 5.2.0
560 | merge2: 1.4.1
561 | slash: 3.0.0
562 | dev: true
563 |
564 | /human-signals/2.1.0:
565 | resolution: {integrity: sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==}
566 | engines: {node: '>=10.17.0'}
567 | dev: true
568 |
569 | /ignore/5.2.0:
570 | resolution: {integrity: sha512-CmxgYGiEPCLhfLnpPp1MoRmifwEIOgjcHXxOBjv7mY96c+eWScsOP9c112ZyLdWHi0FxHjI+4uVhKYp/gcdRmQ==}
571 | engines: {node: '>= 4'}
572 | dev: true
573 |
574 | /inflight/1.0.6:
575 | resolution: {integrity: sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==}
576 | dependencies:
577 | once: 1.4.0
578 | wrappy: 1.0.2
579 | dev: true
580 |
581 | /inherits/2.0.4:
582 | resolution: {integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==}
583 | dev: true
584 |
585 | /is-binary-path/2.1.0:
586 | resolution: {integrity: sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==}
587 | engines: {node: '>=8'}
588 | dependencies:
589 | binary-extensions: 2.2.0
590 | dev: true
591 |
592 | /is-extglob/2.1.1:
593 | resolution: {integrity: sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==}
594 | engines: {node: '>=0.10.0'}
595 | dev: true
596 |
597 | /is-glob/4.0.3:
598 | resolution: {integrity: sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==}
599 | engines: {node: '>=0.10.0'}
600 | dependencies:
601 | is-extglob: 2.1.1
602 | dev: true
603 |
604 | /is-number/7.0.0:
605 | resolution: {integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==}
606 | engines: {node: '>=0.12.0'}
607 | dev: true
608 |
609 | /is-stream/2.0.1:
610 | resolution: {integrity: sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==}
611 | engines: {node: '>=8'}
612 | dev: true
613 |
614 | /isexe/2.0.0:
615 | resolution: {integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==}
616 | dev: true
617 |
618 | /joycon/3.1.1:
619 | resolution: {integrity: sha512-34wB/Y7MW7bzjKRjUKTa46I2Z7eV62Rkhva+KkopW7Qvv/OSWBqvkSY7vusOPrNuZcUG3tApvdVgNB8POj3SPw==}
620 | engines: {node: '>=10'}
621 | dev: true
622 |
623 | /lilconfig/2.0.5:
624 | resolution: {integrity: sha512-xaYmXZtTHPAw5m+xLN8ab9C+3a8YmV3asNSPOATITbtwrfbwaLJj8h66H1WMIpALCkqsIzK3h7oQ+PdX+LQ9Eg==}
625 | engines: {node: '>=10'}
626 | dev: true
627 |
628 | /lines-and-columns/1.2.4:
629 | resolution: {integrity: sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==}
630 | dev: true
631 |
632 | /load-tsconfig/0.2.3:
633 | resolution: {integrity: sha512-iyT2MXws+dc2Wi6o3grCFtGXpeMvHmJqS27sMPGtV2eUu4PeFnG+33I8BlFK1t1NWMjOpcx9bridn5yxLDX2gQ==}
634 | engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0}
635 | dev: true
636 |
637 | /lodash.sortby/4.7.0:
638 | resolution: {integrity: sha512-HDWXG8isMntAyRF5vZ7xKuEvOhT4AhlRt/3czTSjvGUxjYCBVRQY48ViDHyfYz9VIoBkW4TMGQNapx+l3RUwdA==}
639 | dev: true
640 |
641 | /magic-string/0.25.9:
642 | resolution: {integrity: sha512-RmF0AsMzgt25qzqqLc1+MbHmhdx0ojF2Fvs4XnOqz2ZOBXzzkEwc/dJQZCYHAn7v1jbVOjAZfK8msRn4BxO4VQ==}
643 | dependencies:
644 | sourcemap-codec: 1.4.8
645 | dev: true
646 |
647 | /merge-stream/2.0.0:
648 | resolution: {integrity: sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==}
649 | dev: true
650 |
651 | /merge2/1.4.1:
652 | resolution: {integrity: sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==}
653 | engines: {node: '>= 8'}
654 | dev: true
655 |
656 | /micromatch/4.0.5:
657 | resolution: {integrity: sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==}
658 | engines: {node: '>=8.6'}
659 | dependencies:
660 | braces: 3.0.2
661 | picomatch: 2.3.1
662 | dev: true
663 |
664 | /mimic-fn/2.1.0:
665 | resolution: {integrity: sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==}
666 | engines: {node: '>=6'}
667 | dev: true
668 |
669 | /minimatch/3.1.2:
670 | resolution: {integrity: sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==}
671 | dependencies:
672 | brace-expansion: 1.1.11
673 | dev: true
674 |
675 | /ms/2.1.2:
676 | resolution: {integrity: sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==}
677 | dev: true
678 |
679 | /mz/2.7.0:
680 | resolution: {integrity: sha512-z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q==}
681 | dependencies:
682 | any-promise: 1.3.0
683 | object-assign: 4.1.1
684 | thenify-all: 1.6.0
685 | dev: true
686 |
687 | /nanoid/3.3.4:
688 | resolution: {integrity: sha512-MqBkQh/OHTS2egovRtLk45wEyNXwF+cokD+1YPf9u5VfJiRdAiRwB2froX5Co9Rh20xs4siNPm8naNotSD6RBw==}
689 | engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1}
690 | hasBin: true
691 | dev: true
692 |
693 | /normalize-path/3.0.0:
694 | resolution: {integrity: sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==}
695 | engines: {node: '>=0.10.0'}
696 | dev: true
697 |
698 | /npm-run-path/4.0.1:
699 | resolution: {integrity: sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==}
700 | engines: {node: '>=8'}
701 | dependencies:
702 | path-key: 3.1.1
703 | dev: true
704 |
705 | /object-assign/4.1.1:
706 | resolution: {integrity: sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==}
707 | engines: {node: '>=0.10.0'}
708 | dev: true
709 |
710 | /once/1.4.0:
711 | resolution: {integrity: sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==}
712 | dependencies:
713 | wrappy: 1.0.2
714 | dev: true
715 |
716 | /onetime/5.1.2:
717 | resolution: {integrity: sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==}
718 | engines: {node: '>=6'}
719 | dependencies:
720 | mimic-fn: 2.1.0
721 | dev: true
722 |
723 | /path-is-absolute/1.0.1:
724 | resolution: {integrity: sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==}
725 | engines: {node: '>=0.10.0'}
726 | dev: true
727 |
728 | /path-key/3.1.1:
729 | resolution: {integrity: sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==}
730 | engines: {node: '>=8'}
731 | dev: true
732 |
733 | /path-type/4.0.0:
734 | resolution: {integrity: sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==}
735 | engines: {node: '>=8'}
736 | dev: true
737 |
738 | /picocolors/1.0.0:
739 | resolution: {integrity: sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==}
740 | dev: true
741 |
742 | /picomatch/2.3.1:
743 | resolution: {integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==}
744 | engines: {node: '>=8.6'}
745 | dev: true
746 |
747 | /pirates/4.0.5:
748 | resolution: {integrity: sha512-8V9+HQPupnaXMA23c5hvl69zXvTwTzyAYasnkb0Tts4XvO4CliqONMOnvlq26rkhLC3nWDFBJf73LU1e1VZLaQ==}
749 | engines: {node: '>= 6'}
750 | dev: true
751 |
752 | /postcss-load-config/3.1.4:
753 | resolution: {integrity: sha512-6DiM4E7v4coTE4uzA8U//WhtPwyhiim3eyjEMFCnUpzbrkK9wJHgKDT2mR+HbtSrd/NubVaYTOpSpjUl8NQeRg==}
754 | engines: {node: '>= 10'}
755 | peerDependencies:
756 | postcss: '>=8.0.9'
757 | ts-node: '>=9.0.0'
758 | peerDependenciesMeta:
759 | postcss:
760 | optional: true
761 | ts-node:
762 | optional: true
763 | dependencies:
764 | lilconfig: 2.0.5
765 | yaml: 1.10.2
766 | dev: true
767 |
768 | /postcss/8.4.14:
769 | resolution: {integrity: sha512-E398TUmfAYFPBSdzgeieK2Y1+1cpdxJx8yXbK/m57nRhKSmk1GB2tO4lbLBtlkfPQTDKfe4Xqv1ASWPpayPEig==}
770 | engines: {node: ^10 || ^12 || >=14}
771 | dependencies:
772 | nanoid: 3.3.4
773 | picocolors: 1.0.0
774 | source-map-js: 1.0.2
775 | dev: true
776 |
777 | /prettier/2.7.1:
778 | resolution: {integrity: sha512-ujppO+MkdPqoVINuDFDRLClm7D78qbDt0/NR+wp5FqEZOoTNAjPHWj17QRhu7geIHJfcNhRk1XVQmF8Bp3ye+g==}
779 | engines: {node: '>=10.13.0'}
780 | hasBin: true
781 | dev: true
782 |
783 | /punycode/2.1.1:
784 | resolution: {integrity: sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==}
785 | engines: {node: '>=6'}
786 | dev: true
787 |
788 | /queue-microtask/1.2.3:
789 | resolution: {integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==}
790 | dev: true
791 |
792 | /readdirp/3.6.0:
793 | resolution: {integrity: sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==}
794 | engines: {node: '>=8.10.0'}
795 | dependencies:
796 | picomatch: 2.3.1
797 | dev: true
798 |
799 | /resolve-from/5.0.0:
800 | resolution: {integrity: sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==}
801 | engines: {node: '>=8'}
802 | dev: true
803 |
804 | /reusify/1.0.4:
805 | resolution: {integrity: sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==}
806 | engines: {iojs: '>=1.0.0', node: '>=0.10.0'}
807 | dev: true
808 |
809 | /rollup/2.75.6:
810 | resolution: {integrity: sha512-OEf0TgpC9vU6WGROJIk1JA3LR5vk/yvqlzxqdrE2CzzXnqKXNzbAwlWUXis8RS3ZPe7LAq+YUxsRa0l3r27MLA==}
811 | engines: {node: '>=10.0.0'}
812 | hasBin: true
813 | optionalDependencies:
814 | fsevents: 2.3.2
815 | dev: true
816 |
817 | /run-parallel/1.2.0:
818 | resolution: {integrity: sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==}
819 | dependencies:
820 | queue-microtask: 1.2.3
821 | dev: true
822 |
823 | /shebang-command/2.0.0:
824 | resolution: {integrity: sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==}
825 | engines: {node: '>=8'}
826 | dependencies:
827 | shebang-regex: 3.0.0
828 | dev: true
829 |
830 | /shebang-regex/3.0.0:
831 | resolution: {integrity: sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==}
832 | engines: {node: '>=8'}
833 | dev: true
834 |
835 | /signal-exit/3.0.7:
836 | resolution: {integrity: sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==}
837 | dev: true
838 |
839 | /slash/3.0.0:
840 | resolution: {integrity: sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==}
841 | engines: {node: '>=8'}
842 | dev: true
843 |
844 | /source-map-js/1.0.2:
845 | resolution: {integrity: sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==}
846 | engines: {node: '>=0.10.0'}
847 | dev: true
848 |
849 | /source-map/0.6.1:
850 | resolution: {integrity: sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==}
851 | engines: {node: '>=0.10.0'}
852 | dev: true
853 |
854 | /source-map/0.8.0-beta.0:
855 | resolution: {integrity: sha512-2ymg6oRBpebeZi9UUNsgQ89bhx01TcTkmNTGnNO88imTmbSgy4nfujrgVEFKWpMTEGA11EDkTt7mqObTPdigIA==}
856 | engines: {node: '>= 8'}
857 | dependencies:
858 | whatwg-url: 7.1.0
859 | dev: true
860 |
861 | /sourcemap-codec/1.4.8:
862 | resolution: {integrity: sha512-9NykojV5Uih4lgo5So5dtw+f0JgJX30KCNI8gwhz2J9A15wD0Ml6tjHKwf6fTSa6fAdVBdZeNOs9eJ71qCk8vA==}
863 | dev: true
864 |
865 | /strip-final-newline/2.0.0:
866 | resolution: {integrity: sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==}
867 | engines: {node: '>=6'}
868 | dev: true
869 |
870 | /sucrase/3.21.0:
871 | resolution: {integrity: sha512-FjAhMJjDcifARI7bZej0Bi1yekjWQHoEvWIXhLPwDhC6O4iZ5PtGb86WV56riW87hzpgB13wwBKO9vKAiWu5VQ==}
872 | engines: {node: '>=8'}
873 | hasBin: true
874 | dependencies:
875 | commander: 4.1.1
876 | glob: 7.1.6
877 | lines-and-columns: 1.2.4
878 | mz: 2.7.0
879 | pirates: 4.0.5
880 | ts-interface-checker: 0.1.13
881 | dev: true
882 |
883 | /thenify-all/1.6.0:
884 | resolution: {integrity: sha512-RNxQH/qI8/t3thXJDwcstUO4zeqo64+Uy/+sNVRBx4Xn2OX+OZ9oP+iJnNFqplFra2ZUVeKCSa2oVWi3T4uVmA==}
885 | engines: {node: '>=0.8'}
886 | dependencies:
887 | thenify: 3.3.1
888 | dev: true
889 |
890 | /thenify/3.3.1:
891 | resolution: {integrity: sha512-RVZSIV5IG10Hk3enotrhvz0T9em6cyHBLkH/YAZuKqd8hRkKhSfCGIcP2KUY0EPxndzANBmNllzWPwak+bheSw==}
892 | dependencies:
893 | any-promise: 1.3.0
894 | dev: true
895 |
896 | /to-fast-properties/2.0.0:
897 | resolution: {integrity: sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==}
898 | engines: {node: '>=4'}
899 | dev: true
900 |
901 | /to-regex-range/5.0.1:
902 | resolution: {integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==}
903 | engines: {node: '>=8.0'}
904 | dependencies:
905 | is-number: 7.0.0
906 | dev: true
907 |
908 | /tr46/1.0.1:
909 | resolution: {integrity: sha512-dTpowEjclQ7Kgx5SdBkqRzVhERQXov8/l9Ft9dVM9fmg0W0KQSVaXX9T4i6twCPNtYiZM53lpSSUAwJbFPOHxA==}
910 | dependencies:
911 | punycode: 2.1.1
912 | dev: true
913 |
914 | /tree-kill/1.2.2:
915 | resolution: {integrity: sha512-L0Orpi8qGpRG//Nd+H90vFB+3iHnue1zSSGmNOOCh1GLJ7rUKVwV2HvijphGQS2UmhUZewS9VgvxYIdgr+fG1A==}
916 | hasBin: true
917 | dev: true
918 |
919 | /ts-interface-checker/0.1.13:
920 | resolution: {integrity: sha512-Y/arvbn+rrz3JCKl9C4kVNfTfSm2/mEp5FSz5EsZSANGPSlQrpRI5M4PKF+mJnE52jOO90PnPSc3Ur3bTQw0gA==}
921 | dev: true
922 |
923 | /tsup/6.1.2_typescript@4.7.4:
924 | resolution: {integrity: sha512-Hw4hKDHaAQkm2eVavlArEOrAPA93bziRDamdfwaNs0vXQdUUFfItvUWY0L/F6oQQMVh6GvjQq1+HpDXw8UKtPA==}
925 | engines: {node: '>=14'}
926 | hasBin: true
927 | peerDependencies:
928 | '@swc/core': ^1
929 | postcss: ^8.4.12
930 | typescript: ^4.1.0
931 | peerDependenciesMeta:
932 | '@swc/core':
933 | optional: true
934 | postcss:
935 | optional: true
936 | typescript:
937 | optional: true
938 | dependencies:
939 | bundle-require: 3.0.4_esbuild@0.14.46
940 | cac: 6.7.12
941 | chokidar: 3.5.3
942 | debug: 4.3.4
943 | esbuild: 0.14.46
944 | execa: 5.1.1
945 | globby: 11.1.0
946 | joycon: 3.1.1
947 | postcss-load-config: 3.1.4
948 | resolve-from: 5.0.0
949 | rollup: 2.75.6
950 | source-map: 0.8.0-beta.0
951 | sucrase: 3.21.0
952 | tree-kill: 1.2.2
953 | typescript: 4.7.4
954 | transitivePeerDependencies:
955 | - supports-color
956 | - ts-node
957 | dev: true
958 |
959 | /typescript/4.7.4:
960 | resolution: {integrity: sha512-C0WQT0gezHuw6AdY1M2jxUO83Rjf0HP7Sk1DtXj6j1EwkQNZrHAg2XPWlq62oqEhYvONq5pkC2Y9oPljWToLmQ==}
961 | engines: {node: '>=4.2.0'}
962 | hasBin: true
963 | dev: true
964 |
965 | /vue/3.2.37:
966 | resolution: {integrity: sha512-bOKEZxrm8Eh+fveCqS1/NkG/n6aMidsI6hahas7pa0w/l7jkbssJVsRhVDs07IdDq7h9KHswZOgItnwJAgtVtQ==}
967 | dependencies:
968 | '@vue/compiler-dom': 3.2.37
969 | '@vue/compiler-sfc': 3.2.37
970 | '@vue/runtime-dom': 3.2.37
971 | '@vue/server-renderer': 3.2.37_vue@3.2.37
972 | '@vue/shared': 3.2.37
973 | dev: true
974 |
975 | /webidl-conversions/4.0.2:
976 | resolution: {integrity: sha512-YQ+BmxuTgd6UXZW3+ICGfyqRyHXVlD5GtQr5+qjiNW7bF0cqrzX500HVXPBOvgXb5YnzDd+h0zqyv61KUD7+Sg==}
977 | dev: true
978 |
979 | /whatwg-url/7.1.0:
980 | resolution: {integrity: sha512-WUu7Rg1DroM7oQvGWfOiAK21n74Gg+T4elXEQYkOhtyLeWiJFoOGLXPKI/9gzIie9CtwVLm8wtw6YJdKyxSjeg==}
981 | dependencies:
982 | lodash.sortby: 4.7.0
983 | tr46: 1.0.1
984 | webidl-conversions: 4.0.2
985 | dev: true
986 |
987 | /which/2.0.2:
988 | resolution: {integrity: sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==}
989 | engines: {node: '>= 8'}
990 | hasBin: true
991 | dependencies:
992 | isexe: 2.0.0
993 | dev: true
994 |
995 | /wrappy/1.0.2:
996 | resolution: {integrity: sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==}
997 | dev: true
998 |
999 | /yaml/1.10.2:
1000 | resolution: {integrity: sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==}
1001 | engines: {node: '>= 6'}
1002 | dev: true
1003 |
--------------------------------------------------------------------------------
/src/convert.ts:
--------------------------------------------------------------------------------
1 | import * as Vue from "vue";
2 | export * from "vue";
3 | export { Vue };
4 |
--------------------------------------------------------------------------------
/src/index.ts:
--------------------------------------------------------------------------------
1 | import { reactive } from "./convert";
2 | import { StorageOpts } from "./types";
3 |
4 | export default class Storage {
5 | static _nameSpace = "rs-";
6 |
7 | static _getStaticKey = (nameSpace: string, key: string) =>
8 | `${nameSpace ?? this._nameSpace}${key}`;
9 |
10 | static install(app: any, options: StorageOpts) {
11 | const { nameSpace = this._nameSpace, memory } = options;
12 | memory && this.clearAll(nameSpace, memory);
13 | return new Storage(app, options);
14 | }
15 |
16 | static clearAll(nameSpace: string, memory: object) {
17 | Object.keys(memory).forEach(key => {
18 | const alias: string = nameSpace + key;
19 | if (Object.prototype.hasOwnProperty.call(window.localStorage, alias)) {
20 | window.localStorage.removeItem(alias);
21 | }
22 | });
23 | }
24 |
25 | static get(key: string) {
26 | return JSON.parse(window.localStorage.getItem(key) as string);
27 | }
28 |
29 | static set(key: string, val: string) {
30 | val = typeof val === "object" ? JSON.stringify(val) : val;
31 | window.localStorage.setItem(key, val);
32 | }
33 |
34 | static getData(key: string, nameSpace?: string) {
35 | if (
36 | Object.prototype.hasOwnProperty.call(
37 | window.localStorage,
38 | this._getStaticKey(nameSpace!, key)
39 | )
40 | )
41 | return JSON.parse(
42 | window.localStorage.getItem(
43 | this._getStaticKey(nameSpace!, key)
44 | ) as string
45 | );
46 | }
47 |
48 | public constructor(app: any, options: StorageOpts) {
49 | const that = Storage;
50 | const { version = 3, nameSpace = that._nameSpace, memory } = options;
51 | const _getKey = (key: string): string => nameSpace + key;
52 |
53 | /**
54 | * Vue2 uses defineReactive to create responsive storage
55 | * Vue3 uses reactive to create responsive storage
56 | */
57 | let _storage: any = version === 3 ? reactive(memory) : memory;
58 |
59 | if (Object.keys(_storage).length === 0) console.warn("key cannot be empty");
60 |
61 | Object.keys(_storage).forEach(key => {
62 | const val = _storage[key];
63 | that.set(_getKey(key), val);
64 |
65 | Reflect.defineProperty(_storage, key, {
66 | get: () => that.get(_getKey(key)),
67 | set: val => that.set(_getKey(key), val),
68 | configurable: true
69 | });
70 |
71 | if (version === 2) app.util.defineReactive(_storage, key, _storage[key]);
72 | });
73 |
74 | let _target = version === 3 ? app.config.globalProperties : app.prototype;
75 | Reflect.defineProperty(_target, "$storage", {
76 | get: () => _storage
77 | });
78 | }
79 | }
80 |
--------------------------------------------------------------------------------
/src/types.ts:
--------------------------------------------------------------------------------
1 | export type Version = 2 | 3;
2 |
3 | export interface StorageOpts {
4 | /** vue版本 可选2、3 默认3 */
5 | version?: Version;
6 | /** 命名空间 默认 `rs-` */
7 | nameSpace?: string;
8 | /** 需要存储的响应式对象 */
9 | memory: object;
10 | }
11 |
--------------------------------------------------------------------------------
/tsconfig.json:
--------------------------------------------------------------------------------
1 | {
2 | "compilerOptions": {
3 | "strict": true,
4 | "pretty": true,
5 | "sourceMap": false,
6 | "module": "esnext",
7 | "target": "esnext",
8 | "declaration": true,
9 | "skipLibCheck": true,
10 | "noImplicitAny": true,
11 | "importHelpers": true,
12 | "esModuleInterop": true,
13 | "isolatedModules": true,
14 | "resolveJsonModule": true,
15 | "moduleResolution": "node",
16 | "experimentalDecorators": true,
17 | "lib": ["ESNext", "ES6", "DOM"],
18 | "allowSyntheticDefaultImports": true,
19 | "forceConsistentCasingInFileNames": true,
20 | },
21 | "types": ["node"],
22 | "include": ["src/*.ts"],
23 | "exclude": ["node_modules", "dist"]
24 | }
25 |
--------------------------------------------------------------------------------
/tsup.config.ts:
--------------------------------------------------------------------------------
1 | import { defineConfig } from "tsup";
2 |
3 | const config = {
4 | dts: true,
5 | clean: true,
6 | minify: true,
7 | outDir: "dist",
8 | sourcemap: false,
9 | external: ["vue"]
10 | };
11 |
12 | export default defineConfig([
13 | {
14 | entry: ["src/index.ts"],
15 | format: ["esm"],
16 | ...config
17 | }
18 | ]);
19 |
--------------------------------------------------------------------------------