import { isRef, isReactive, isVue2, set } from 'vue-demi'
import { Pinia } from './rootStore'
-import { isPlainObject, StoreDefinition, StoreGeneric, _Method } from './types'
+import {
+ isPlainObject,
+ StateTree,
+ StoreDefinition,
+ StoreGeneric,
+ _GettersTree,
+ _Method,
+ _ActionsTree,
+} from './types'
/**
* Checks if a function is a `StoreDefinition`.
* @param initialUseStore - return of the defineStore to hot update
* @param hot - `import.meta.hot`
*/
-export function acceptHMRUpdate(initialUseStore: StoreDefinition, hot: any) {
+export function acceptHMRUpdate<
+ Id extends string = string,
+ S extends StateTree = StateTree,
+ G extends _GettersTree<S> = _GettersTree<S>,
+ A = _ActionsTree
+>(initialUseStore: StoreDefinition<Id, S, G, A>, hot: any) {
// strip as much as possible from iife.prod
if (!__DEV__) {
return () => {}
version: 3.20.5
rollup-plugin-typescript2:
specifier: ^0.34.1
- version: 0.34.1(rollup@3.20.5)(typescript@4.9.4)
+ version: 0.34.1(rollup@3.20.5)(typescript@5.0.4)
semver:
specifier: ^7.5.0
version: 7.5.0
typedoc:
specifier: ^0.23.28
- version: 0.23.28(typescript@4.9.4)
+ version: 0.23.28(typescript@5.0.4)
typedoc-plugin-markdown:
specifier: ^3.14.0
version: 3.14.0(typedoc@0.23.28)
typescript:
- specifier: ^4.9.4
- version: 4.9.4
+ specifier: ^5.0.4
+ version: 5.0.4
vitest:
specifier: ^0.30.1
version: 0.30.1(happy-dom@9.8.1)
version: 3.0.0(rollup@2.79.1)(vue@3.2.47)
nuxt:
specifier: ^3.0.0
- version: 3.0.0(@types/node@18.15.11)(rollup@2.79.1)(typescript@4.8.4)
+ version: 3.0.0(@types/node@18.15.11)(rollup@2.79.1)(typescript@5.0.4)
typescript:
- specifier: ^4.8.4
- version: 4.8.4
+ specifier: ^5.0.4
+ version: 5.0.4
vue-tsc:
specifier: ^1.2.0
- version: 1.2.0(typescript@4.8.4)
+ version: 1.2.0(typescript@5.0.4)
packages/pinia:
dependencies:
resolution: {integrity: sha512-jfpVHxi1AHfNO3D6iD1RJE6fx/7cAzekvG90poIzVawp/L+I4DNdy8pCgqBScJW4bfWOpHeLYbtQQlL/hPmkjw==}
dev: true
- /@nuxt/vite-builder@3.0.0(@types/node@18.15.11)(typescript@4.8.4)(vue@3.2.45):
+ /@nuxt/vite-builder@3.0.0(@types/node@18.15.11)(typescript@5.0.4)(vue@3.2.45):
resolution: {integrity: sha512-eMnpPpjHU8rGZcsJUksCuSX+6dpId03q8LOSStsm6rXzrNJtZIcwt0nBRTUaigckXIozX8ZNl5u2OPGUfUbMrw==}
engines: {node: ^14.16.0 || ^16.10.0 || ^17.0.0 || ^18.0.0 || ^19.0.0}
peerDependencies:
unplugin: 1.0.0
vite: 3.2.5(@types/node@18.15.11)
vite-node: 0.25.2(@types/node@18.15.11)
- vite-plugin-checker: 0.5.1(typescript@4.8.4)(vite@3.2.5)
+ vite-plugin-checker: 0.5.1(typescript@5.0.4)(vite@3.2.5)
vue: 3.2.45
vue-bundle-renderer: 1.0.0
transitivePeerDependencies:
hasBin: true
dev: true
- /mkdist@1.0.0(typescript@4.9.4):
+ /mkdist@1.0.0(typescript@4.9.5):
resolution: {integrity: sha512-aJke+yvXwwcrOh+3KfAdDgDA+MPe7c+R8hQ7IPfp0gqL1/WPZZUS9rwS6CNjdwDJmHm6DTMA9KwX1FNjZG3I1Q==}
hasBin: true
peerDependencies:
jiti: 1.16.0
mri: 1.2.0
pathe: 1.0.0
- typescript: 4.9.4
+ typescript: 4.9.5
dev: true
/mlly@0.5.16:
fsevents: 2.3.2
dev: true
- /nuxt@3.0.0(@types/node@18.15.11)(rollup@2.79.1)(typescript@4.8.4):
+ /nuxt@3.0.0(@types/node@18.15.11)(rollup@2.79.1)(typescript@5.0.4):
resolution: {integrity: sha512-RNlD78uv04ZiXWmlx9f1tnJfrqsYAWHU+4gbgOTQpIBmQzHWPWiox+fm/1m93iKfEd5sJi9TJUoXX5yBObVZYw==}
engines: {node: ^14.16.0 || ^16.10.0 || ^17.0.0 || ^18.0.0 || ^19.0.0}
hasBin: true
'@nuxt/schema': 3.0.0(rollup@2.79.1)
'@nuxt/telemetry': 2.1.8(rollup@2.79.1)
'@nuxt/ui-templates': 1.0.0
- '@nuxt/vite-builder': 3.0.0(@types/node@18.15.11)(typescript@4.8.4)(vue@3.2.45)
+ '@nuxt/vite-builder': 3.0.0(@types/node@18.15.11)(typescript@5.0.4)(vue@3.2.45)
'@unhead/ssr': 1.0.0
'@vue/reactivity': 3.2.45
'@vue/shared': 3.2.45
glob: 10.2.1
dev: true
- /rollup-plugin-dts@5.0.0(rollup@3.3.0)(typescript@4.9.4):
+ /rollup-plugin-dts@5.0.0(rollup@3.3.0)(typescript@4.9.5):
resolution: {integrity: sha512-OO8ayCvuJCKaQSShyVTARxGurVVk4ulzbuvz+0zFd1f93vlnWFU5pBMT7HFeS6uj7MvvZLx4kUAarGATSU1+Ng==}
engines: {node: '>=v14'}
peerDependencies:
dependencies:
magic-string: 0.26.7
rollup: 3.3.0
- typescript: 4.9.4
+ typescript: 4.9.5
optionalDependencies:
'@babel/code-frame': 7.21.4
dev: true
terser: 5.15.1
dev: true
- /rollup-plugin-typescript2@0.34.1(rollup@3.20.5)(typescript@4.9.4):
+ /rollup-plugin-typescript2@0.34.1(rollup@3.20.5)(typescript@5.0.4):
resolution: {integrity: sha512-P4cHLtGikESmqi1CA+tdMDUv8WbQV48mzPYt77TSTOPJpERyZ9TXdDgjSDix8Fkqce6soYz3+fa4lrC93IEkcw==}
peerDependencies:
rollup: '>=1.26.3'
rollup: 3.20.5
semver: 7.5.0
tslib: 2.5.0
- typescript: 4.9.4
+ typescript: 5.0.4
dev: true
/rollup-plugin-visualizer@5.8.3(rollup@2.79.1):
typedoc: '>=0.23.0'
dependencies:
handlebars: 4.7.7
- typedoc: 0.23.28(typescript@4.9.4)
+ typedoc: 0.23.28(typescript@5.0.4)
dev: true
- /typedoc@0.23.28(typescript@4.9.4):
+ /typedoc@0.23.28(typescript@5.0.4):
resolution: {integrity: sha512-9x1+hZWTHEQcGoP7qFmlo4unUoVJLB0H/8vfO/7wqTnZxg4kPuji9y3uRzEu0ZKez63OJAUmiGhUrtukC6Uj3w==}
engines: {node: '>= 14.14'}
hasBin: true
marked: 4.3.0
minimatch: 7.4.6
shiki: 0.14.1
- typescript: 4.9.4
+ typescript: 5.0.4
dev: true
/typescript@4.8.4:
engines: {node: '>=4.2.0'}
hasBin: true
+ /typescript@4.9.5:
+ resolution: {integrity: sha512-1FXk9E2Hm+QzZQ7z+McJiHL4NW1F2EzMu9Nq9i3zAaGqibafqYwCVU6WyWAuyQRRzOlxou8xZSyXLEN8oKj24g==}
+ engines: {node: '>=4.2.0'}
+ hasBin: true
+ dev: true
+
+ /typescript@5.0.4:
+ resolution: {integrity: sha512-cW9T5W9xY37cc+jfEnaUvX91foxtHkza3Nw3wkoF4sSlKn0MONdkdEndig/qPBWXNkmplh3NzayQzCiHM4/hqw==}
+ engines: {node: '>=12.20'}
+ hasBin: true
+ dev: true
+
/ufo@0.8.6:
resolution: {integrity: sha512-fk6CmUgwKCfX79EzcDQQpSCMxrHstvbLswFChHS0Vump+kFkw7nJBfTZoC1j0bOGoY9I7R3n2DGek5ajbcYnOw==}
dev: true
jiti: 1.16.0
magic-string: 0.26.7
mkdirp: 1.0.4
- mkdist: 1.0.0(typescript@4.9.4)
+ mkdist: 1.0.0(typescript@4.9.5)
mlly: 1.0.0
mri: 1.2.0
pathe: 1.0.0
pretty-bytes: 6.0.0
rimraf: 3.0.2
rollup: 3.3.0
- rollup-plugin-dts: 5.0.0(rollup@3.3.0)(typescript@4.9.4)
+ rollup-plugin-dts: 5.0.0(rollup@3.3.0)(typescript@4.9.5)
scule: 1.0.0
- typescript: 4.9.4
+ typescript: 4.9.5
untyped: 1.0.0
transitivePeerDependencies:
- sass
- terser
dev: true
- /vite-plugin-checker@0.5.1(typescript@4.8.4)(vite@3.2.5):
+ /vite-plugin-checker@0.5.1(typescript@5.0.4)(vite@3.2.5):
resolution: {integrity: sha512-NFiO1PyK9yGuaeSnJ7Whw9fnxLc1AlELnZoyFURnauBYhbIkx9n+PmIXxSFUuC9iFyACtbJQUAEuQi6yHs2Adg==}
engines: {node: '>=14.16'}
peerDependencies:
npm-run-path: 4.0.1
strip-ansi: 6.0.1
tiny-invariant: 1.3.1
- typescript: 4.8.4
+ typescript: 5.0.4
vite: 3.2.5(@types/node@18.15.11)
vscode-languageclient: 7.0.0
vscode-languageserver: 7.0.0
he: 1.2.0
dev: true
- /vue-tsc@1.2.0(typescript@4.8.4):
+ /vue-tsc@1.2.0(typescript@5.0.4):
resolution: {integrity: sha512-rIlzqdrhyPYyLG9zxsVRa+JEseeS9s8F2BbVVVWRRsTZvJO2BbhLEb2HW3MY+DFma0378tnIqs+vfTzbcQtRFw==}
hasBin: true
peerDependencies:
dependencies:
'@volar/vue-language-core': 1.2.0
'@volar/vue-typescript': 1.2.0
- typescript: 4.8.4
+ typescript: 5.0.4
dev: true
/vue@3.2.45: