wevu 7.1.4 → 7.2.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (221) hide show
  1. package/README.md +20 -6
  2. package/dist/dev/index.mjs +3 -2
  3. package/dist/dev/package.mjs +1 -1
  4. package/dist/dev/reactivity/computed.mjs +10 -1
  5. package/dist/dev/reactivity/computed.mjs.map +1 -1
  6. package/dist/dev/reactivity/reactive.mjs +27 -20
  7. package/dist/dev/reactivity/reactive.mjs.map +1 -1
  8. package/dist/dev/router/auto-routes.mjs +11 -0
  9. package/dist/dev/router/auto-routes.mjs.map +1 -0
  10. package/dist/dev/router/createRouter.mjs +3 -4
  11. package/dist/dev/router/createRouter.mjs.map +1 -1
  12. package/dist/dev/router/navigationCore.mjs +7 -7
  13. package/dist/dev/router/navigationCore.mjs.map +1 -1
  14. package/dist/dev/router/resolve.mjs.map +1 -1
  15. package/dist/dev/router/types.mjs.map +1 -1
  16. package/dist/dev/router/useRoute.mjs.map +1 -1
  17. package/dist/dev/router/useRouter.mjs.map +1 -1
  18. package/dist/dev/routerInternal/matching.mjs +1 -1
  19. package/dist/dev/routerInternal/matching.mjs.map +1 -1
  20. package/dist/dev/routerInternal/params.mjs.map +1 -1
  21. package/dist/dev/runtime/hooks/base.mjs +5 -5
  22. package/dist/dev/runtime/hooks/base.mjs.map +1 -1
  23. package/dist/dev/runtime/platform.mjs +31 -24
  24. package/dist/dev/runtime/platform.mjs.map +1 -1
  25. package/dist/dev/runtime/register/component/alipay.mjs +72 -0
  26. package/dist/dev/runtime/register/component/alipay.mjs.map +1 -0
  27. package/dist/dev/runtime/register/component/registerNativeDefinition.mjs +5 -2
  28. package/dist/dev/runtime/register/component/registerNativeDefinition.mjs.map +1 -1
  29. package/dist/dev/store/actions.mjs +27 -29
  30. package/dist/dev/store/actions.mjs.map +1 -1
  31. package/dist/dev/store/base.mjs +152 -36
  32. package/dist/dev/store/base.mjs.map +1 -1
  33. package/dist/dev/store/define/create.mjs +92 -0
  34. package/dist/dev/store/define/create.mjs.map +1 -0
  35. package/dist/dev/store/define.mjs +11 -15
  36. package/dist/dev/store/define.mjs.map +1 -1
  37. package/dist/dev/store/manager.mjs +55 -14
  38. package/dist/dev/store/manager.mjs.map +1 -1
  39. package/dist/dev/store/storeToRefs.mjs +10 -18
  40. package/dist/dev/store/storeToRefs.mjs.map +1 -1
  41. package/dist/dev/store/subscriptions.mjs +17 -0
  42. package/dist/dev/store/subscriptions.mjs.map +1 -0
  43. package/dist/dev/store/types.mjs +11 -0
  44. package/dist/dev/store/types.mjs.map +1 -0
  45. package/dist/dev/store/utils.mjs +1 -37
  46. package/dist/dev/store/utils.mjs.map +1 -1
  47. package/dist/dev/store/view.mjs +56 -0
  48. package/dist/dev/store/view.mjs.map +1 -0
  49. package/dist/dev/store.mjs +3 -2
  50. package/dist/dev/vue-demi.mjs +3 -2
  51. package/dist/dev/vue-demi.mjs.map +1 -1
  52. package/dist/index.d.mts +3 -3
  53. package/dist/index.mjs +1 -1
  54. package/dist/package.mjs +1 -1
  55. package/dist/reactivity/computed.d.mts +4 -0
  56. package/dist/reactivity/computed.mjs +1 -1
  57. package/dist/reactivity/reactive.mjs +1 -1
  58. package/dist/router/auto-routes.d.mts +7 -0
  59. package/dist/router/auto-routes.mjs +1 -0
  60. package/dist/router/createRouter.d.mts +2 -1
  61. package/dist/router/createRouter.mjs +1 -1
  62. package/dist/router/navigationCore.d.mts +3 -2
  63. package/dist/router/navigationCore.mjs +1 -1
  64. package/dist/router/resolve.d.mts +3 -2
  65. package/dist/router/routeSync.d.mts +1 -0
  66. package/dist/router/types.d.mts +173 -78
  67. package/dist/router/useRoute.d.mts +4 -3
  68. package/dist/router/useRouter.d.mts +2 -1
  69. package/dist/router.d.mts +18 -3
  70. package/dist/routerInternal/location.d.mts +2 -0
  71. package/dist/routerInternal/matching.d.mts +2 -0
  72. package/dist/routerInternal/matching.mjs +1 -1
  73. package/dist/routerInternal/params.d.mts +2 -0
  74. package/dist/routerInternal/records.d.mts +2 -0
  75. package/dist/routerInternal/recordsWarnings.d.mts +2 -0
  76. package/dist/routerInternal/shared.d.mts +9 -0
  77. package/dist/routerInternal/snapshots.d.mts +2 -0
  78. package/dist/runtime/hooks/base.mjs +1 -1
  79. package/dist/runtime/platform.mjs +1 -1
  80. package/dist/runtime/register/component/alipay.mjs +1 -0
  81. package/dist/runtime/register/component/registerNativeDefinition.mjs +1 -1
  82. package/dist/store/actions.mjs +1 -1
  83. package/dist/store/base.mjs +1 -1
  84. package/dist/store/define/create.mjs +1 -0
  85. package/dist/store/define.d.mts +5 -16
  86. package/dist/store/define.mjs +1 -1
  87. package/dist/store/manager.d.mts +13 -5
  88. package/dist/store/manager.mjs +1 -1
  89. package/dist/store/storeToRefs.d.mts +5 -7
  90. package/dist/store/storeToRefs.mjs +1 -1
  91. package/dist/store/subscriptions.mjs +1 -0
  92. package/dist/store/types.d.mts +85 -59
  93. package/dist/store/types.mjs +1 -0
  94. package/dist/store/utils.mjs +1 -1
  95. package/dist/store/view.mjs +1 -0
  96. package/dist/store.d.mts +3 -3
  97. package/dist/store.mjs +1 -1
  98. package/dist/vue-demi.d.mts +3 -3
  99. package/dist/vue-demi.mjs +1 -1
  100. package/package.json +29 -9
  101. package/dist/dev/api/vitest/setup.d.mts +0 -1
  102. package/dist/dev/api/vitest.d.mts +0 -1
  103. package/dist/dev/api.d.mts +0 -1
  104. package/dist/dev/compiler.d.mts +0 -1
  105. package/dist/dev/fetch.d.mts +0 -9
  106. package/dist/dev/index.d.mts +0 -72
  107. package/dist/dev/internal-reactivity.d.mts +0 -18
  108. package/dist/dev/internal-runtime.d.mts +0 -44
  109. package/dist/dev/internal-template.d.mts +0 -2
  110. package/dist/dev/jsxTypes.d.mts +0 -9
  111. package/dist/dev/macros/shared.d.mts +0 -83
  112. package/dist/dev/macros.d.mts +0 -71
  113. package/dist/dev/reactivity/asyncDerivation.d.mts +0 -41
  114. package/dist/dev/reactivity/computed.d.mts +0 -21
  115. package/dist/dev/reactivity/core.d.mts +0 -35
  116. package/dist/dev/reactivity/index.d.mts +0 -16
  117. package/dist/dev/reactivity/reactive/mutation.d.mts +0 -21
  118. package/dist/dev/reactivity/reactive/patch.d.mts +0 -18
  119. package/dist/dev/reactivity/reactive/shallow.d.mts +0 -22
  120. package/dist/dev/reactivity/reactive/shared.d.mts +0 -4
  121. package/dist/dev/reactivity/reactive.d.mts +0 -42
  122. package/dist/dev/reactivity/readonly.d.mts +0 -27
  123. package/dist/dev/reactivity/ref.d.mts +0 -27
  124. package/dist/dev/reactivity/shallowRef.d.mts +0 -19
  125. package/dist/dev/reactivity/toRefs.d.mts +0 -43
  126. package/dist/dev/reactivity/traverse.d.mts +0 -8
  127. package/dist/dev/reactivity/watch/types.d.mts +0 -43
  128. package/dist/dev/reactivity/watch.d.mts +0 -22
  129. package/dist/dev/router/createRouter.d.mts +0 -8
  130. package/dist/dev/router/navigationCore.d.mts +0 -6
  131. package/dist/dev/router/resolve.d.mts +0 -6
  132. package/dist/dev/router/routeSync.d.mts +0 -1
  133. package/dist/dev/router/types.d.mts +0 -172
  134. package/dist/dev/router/useRoute.d.mts +0 -19
  135. package/dist/dev/router/useRouter.d.mts +0 -8
  136. package/dist/dev/router.d.mts +0 -10
  137. package/dist/dev/routerInternal/query.d.mts +0 -7
  138. package/dist/dev/routerInternal/types.d.mts +0 -9
  139. package/dist/dev/runtime/app/pending.d.mts +0 -10
  140. package/dist/dev/runtime/app/setData/commitTracker.d.mts +0 -13
  141. package/dist/dev/runtime/app/setData/scheduler.d.mts +0 -51
  142. package/dist/dev/runtime/app.d.mts +0 -8
  143. package/dist/dev/runtime/capabilities.d.mts +0 -75
  144. package/dist/dev/runtime/css.d.mts +0 -14
  145. package/dist/dev/runtime/defaults.d.mts +0 -12
  146. package/dist/dev/runtime/define.d.mts +0 -118
  147. package/dist/dev/runtime/disposables.d.mts +0 -31
  148. package/dist/dev/runtime/elementIntersectionObserver.d.mts +0 -26
  149. package/dist/dev/runtime/features/inlineEvents.d.mts +0 -7
  150. package/dist/dev/runtime/features/layout.d.mts +0 -7
  151. package/dist/dev/runtime/features/patchStrategy.d.mts +0 -7
  152. package/dist/dev/runtime/features/publicLayout.d.mts +0 -24
  153. package/dist/dev/runtime/features/scopedSlots.d.mts +0 -23
  154. package/dist/dev/runtime/features/setDataHighFrequencyWarning.d.mts +0 -7
  155. package/dist/dev/runtime/features/templateRefs.d.mts +0 -7
  156. package/dist/dev/runtime/hooks/base.d.mts +0 -27
  157. package/dist/dev/runtime/hooks/register.d.mts +0 -30
  158. package/dist/dev/runtime/hooks/vue.d.mts +0 -52
  159. package/dist/dev/runtime/hooks.d.mts +0 -4
  160. package/dist/dev/runtime/index.d.mts +0 -46
  161. package/dist/dev/runtime/intersectionObserver.d.mts +0 -14
  162. package/dist/dev/runtime/jsxIsland.d.mts +0 -37
  163. package/dist/dev/runtime/layoutBridge.d.mts +0 -55
  164. package/dist/dev/runtime/noSetData.d.mts +0 -5
  165. package/dist/dev/runtime/pageEnvironment.d.mts +0 -50
  166. package/dist/dev/runtime/pageLayout.d.mts +0 -25
  167. package/dist/dev/runtime/pageScroll.d.mts +0 -29
  168. package/dist/dev/runtime/provide.d.mts +0 -60
  169. package/dist/dev/runtime/provideStore.d.mts +0 -7
  170. package/dist/dev/runtime/publicRuntime.d.mts +0 -22
  171. package/dist/dev/runtime/pullDownRefresh.d.mts +0 -12
  172. package/dist/dev/runtime/register/app.d.mts +0 -14
  173. package/dist/dev/runtime/register/component.d.mts +0 -17
  174. package/dist/dev/runtime/register/inline.d.mts +0 -15
  175. package/dist/dev/runtime/register/runtimeInstance.d.mts +0 -26
  176. package/dist/dev/runtime/register/setup.d.mts +0 -11
  177. package/dist/dev/runtime/register/watch.d.mts +0 -12
  178. package/dist/dev/runtime/register.d.mts +0 -5
  179. package/dist/dev/runtime/selectorQuery.d.mts +0 -54
  180. package/dist/dev/runtime/template.d.mts +0 -6
  181. package/dist/dev/runtime/templateRefTypes.d.mts +0 -12
  182. package/dist/dev/runtime/types/core.d.mts +0 -35
  183. package/dist/dev/runtime/types/miniprogram.d.mts +0 -84
  184. package/dist/dev/runtime/types/miniprogramHost.d.mts +0 -45
  185. package/dist/dev/runtime/types/miniprogramHostSources.d.mts +0 -112
  186. package/dist/dev/runtime/types/options.d.mts +0 -138
  187. package/dist/dev/runtime/types/props/propTypes.d.mts +0 -79
  188. package/dist/dev/runtime/types/props/router.d.mts +0 -51
  189. package/dist/dev/runtime/types/props/setup.d.mts +0 -96
  190. package/dist/dev/runtime/types/props.d.mts +0 -4
  191. package/dist/dev/runtime/types/runtime.d.mts +0 -59
  192. package/dist/dev/runtime/types/setData.d.mts +0 -237
  193. package/dist/dev/runtime/types.d.mts +0 -29
  194. package/dist/dev/runtime/uniAppHost.d.mts +0 -8
  195. package/dist/dev/runtime/updatePerformance.d.mts +0 -13
  196. package/dist/dev/runtime/use.d.mts +0 -13
  197. package/dist/dev/runtime/vueCompat/context.d.mts +0 -8
  198. package/dist/dev/runtime/vueCompat/model.d.mts +0 -30
  199. package/dist/dev/runtime/vueCompat/router.d.mts +0 -29
  200. package/dist/dev/runtime/vueCompat/templateRef.d.mts +0 -9
  201. package/dist/dev/runtime/vueCompat.d.mts +0 -5
  202. package/dist/dev/scheduler.d.mts +0 -4
  203. package/dist/dev/store/define/optionsStyle.mjs +0 -117
  204. package/dist/dev/store/define/optionsStyle.mjs.map +0 -1
  205. package/dist/dev/store/define/setupStyle.mjs +0 -137
  206. package/dist/dev/store/define/setupStyle.mjs.map +0 -1
  207. package/dist/dev/store/define/shared.mjs +0 -81
  208. package/dist/dev/store/define/shared.mjs.map +0 -1
  209. package/dist/dev/store/define.d.mts +0 -19
  210. package/dist/dev/store/manager.d.mts +0 -8
  211. package/dist/dev/store/storeToRefs.d.mts +0 -13
  212. package/dist/dev/store/types.d.mts +0 -80
  213. package/dist/dev/store.d.mts +0 -5
  214. package/dist/dev/version.d.mts +0 -4
  215. package/dist/dev/vue-augment.d.mts +0 -8
  216. package/dist/dev/vue-demi.d.mts +0 -87
  217. package/dist/dev/vue-types.d.mts +0 -19
  218. package/dist/dev/web-apis.d.mts +0 -3
  219. package/dist/store/define/optionsStyle.mjs +0 -1
  220. package/dist/store/define/setupStyle.mjs +0 -1
  221. package/dist/store/define/shared.mjs +0 -1
@@ -1,29 +0,0 @@
1
- import { SetupContextRouter } from "../types/props/router.mjs";
2
- import "../types.mjs";
3
- //#region src/runtime/vueCompat/router.d.ts
4
- type RuntimeRouter = SetupContextRouter;
5
- /**
6
- * 获取与当前组件路径语义一致的原生 Router 对象。
7
- *
8
- * - 优先使用实例上的 `this.router`(组件路径语义)。
9
- * - 不可用时回退到 `this.pageRouter`。
10
- * - App setup 或低版本基础库再回退到宿主全局路由方法。
11
- * - 无 setup 上下文且宿主全局路由可用时,仍可创建应用级路由器。
12
- *
13
- * 如需更贴近 Vue Router 的高阶能力(导航守卫、失败类型、统一解析),
14
- * 推荐改用 `wevu/router` 子入口的 `useRouter()`。
15
- */
16
- export declare function useNativeRouter(): RuntimeRouter;
17
- /**
18
- * 获取与当前页面路径语义一致的原生 Router 对象。
19
- *
20
- * - 优先使用实例上的 `this.pageRouter`(页面路径语义)。
21
- * - 不可用时回退到 `this.router`。
22
- * - App setup 或低版本基础库再回退到宿主全局路由方法。
23
- *
24
- * 如需更贴近 Vue Router 的高阶能力(导航守卫、失败类型、统一解析),
25
- * 推荐改用 `wevu/router` 子入口的 `useRouter()`。
26
- */
27
- export declare function useNativePageRouter(): RuntimeRouter;
28
- //#endregion
29
- //# sourceMappingURL=router.d.mts.map
@@ -1,9 +0,0 @@
1
- import { ShallowRef } from "../../reactivity/ref.mjs";
2
- import "../../reactivity/index.mjs";
3
- import { TemplateRefs } from "../types.mjs";
4
- //#region src/runtime/vueCompat/templateRef.d.ts
5
- export type TemplateRef<T = unknown> = Readonly<ShallowRef<T | null>>;
6
- export declare function useTemplateRef<K extends keyof TemplateRefs>(name: K): TemplateRef<TemplateRefs[K]>;
7
- export declare function useTemplateRef<T = unknown>(name: string): TemplateRef<T>;
8
- //#endregion
9
- //# sourceMappingURL=templateRef.d.mts.map
@@ -1,5 +0,0 @@
1
- import { useAttrs, useNativeInstance, useSlots } from "./vueCompat/context.mjs";
2
- import { ModelModifiers, ModelRef, UseModelOptions, mergeModels, useBindModel, useChangeModel, useModel } from "./vueCompat/model.mjs";
3
- import { useNativePageRouter, useNativeRouter } from "./vueCompat/router.mjs";
4
- import { TemplateRef, useTemplateRef } from "./vueCompat/templateRef.mjs";
5
- export { type ModelModifiers, type TemplateRef, type UseModelOptions, mergeModels, useAttrs, useBindModel, useChangeModel, useModel, useNativeInstance, useNativePageRouter, useNativeRouter, useSlots, useTemplateRef };
@@ -1,4 +0,0 @@
1
- //#region src/scheduler.d.ts
2
- export declare function nextTick<T>(fn?: () => T): Promise<T>;
3
- //#endregion
4
- //# sourceMappingURL=scheduler.d.mts.map
@@ -1,117 +0,0 @@
1
- import { effect } from "../../reactivity/core.mjs";
2
- import { toRaw } from "../../reactivity/reactive/shared.mjs";
3
- import { touchReactive } from "../../reactivity/reactive/patch.mjs";
4
- import { reactive } from "../../reactivity/reactive.mjs";
5
- import { computed } from "../../reactivity/computed.mjs";
6
- import { wrapAction } from "../actions.mjs";
7
- import { cloneDeep, resetObject } from "../utils.mjs";
8
- import { createBaseApi } from "../base.mjs";
9
- import { createSafeNotifier, createStoreMutationTransaction } from "./shared.mjs";
10
-
11
- //#region src/store/define/optionsStyle.ts
12
- function createOptionsStyleStore(id, options, manager) {
13
- var _options$getters, _options$actions, _manager$_plugins;
14
- const rawState = options.state ? options.state() : {};
15
- const state = reactive(rawState);
16
- const initialSnapshot = cloneDeep(toRaw(rawState));
17
- let notifySubscribers = () => {};
18
- const transaction = createStoreMutationTransaction((type) => notifySubscribers(type));
19
- const base = createBaseApi(id, state, transaction.notify, () => {
20
- resetObject(state, initialSnapshot);
21
- });
22
- const rawPatch = base.api.$patch;
23
- base.api.$patch = (patch) => {
24
- transaction.run(() => {
25
- rawPatch(patch);
26
- });
27
- };
28
- if (typeof base.api.$reset === "function") {
29
- const rawReset = base.api.$reset;
30
- base.api.$reset = () => {
31
- transaction.run(() => {
32
- rawReset();
33
- });
34
- };
35
- }
36
- notifySubscribers = createSafeNotifier(id, base.subs, () => state);
37
- const store = {};
38
- for (const key of Object.getOwnPropertyNames(base.api)) {
39
- const d = Object.getOwnPropertyDescriptor(base.api, key);
40
- if (d) {
41
- if (key === "$state") Object.defineProperty(store, key, {
42
- enumerable: d.enumerable,
43
- configurable: d.configurable,
44
- get() {
45
- return base.api.$state;
46
- },
47
- set(v) {
48
- transaction.run(() => {
49
- base.api.$state = v;
50
- });
51
- }
52
- });
53
- else Object.defineProperty(store, key, d);
54
- }
55
- }
56
- const getterDefs = (_options$getters = options.getters) !== null && _options$getters !== void 0 ? _options$getters : {};
57
- Object.keys(getterDefs).forEach((key) => {
58
- const getter = getterDefs[key];
59
- if (typeof getter === "function") {
60
- const c = computed(() => getter.call(store, state));
61
- Object.defineProperty(store, key, {
62
- enumerable: true,
63
- configurable: true,
64
- get() {
65
- return c.value;
66
- }
67
- });
68
- }
69
- });
70
- const actionDefs = (_options$actions = options.actions) !== null && _options$actions !== void 0 ? _options$actions : {};
71
- Object.keys(actionDefs).forEach((key) => {
72
- const act = actionDefs[key];
73
- if (typeof act === "function") {
74
- const wrapped = wrapAction(store, key, (...args) => {
75
- return act.apply(store, args);
76
- }, base.actionSubs);
77
- store[key] = wrapped;
78
- }
79
- });
80
- Object.keys(state).forEach((k) => {
81
- Object.defineProperty(store, k, {
82
- enumerable: true,
83
- configurable: true,
84
- get() {
85
- return state[k];
86
- },
87
- set(v) {
88
- state[k] = v;
89
- }
90
- });
91
- });
92
- let initialized = false;
93
- let dispatchingDirect = false;
94
- effect(() => {
95
- touchReactive(state);
96
- if (!initialized) {
97
- initialized = true;
98
- return;
99
- }
100
- if (transaction.active || dispatchingDirect) return;
101
- dispatchingDirect = true;
102
- try {
103
- notifySubscribers("direct");
104
- } finally {
105
- dispatchingDirect = false;
106
- }
107
- });
108
- const plugins = (_manager$_plugins = manager === null || manager === void 0 ? void 0 : manager._plugins) !== null && _manager$_plugins !== void 0 ? _manager$_plugins : [];
109
- for (const plugin of plugins) try {
110
- plugin({ store });
111
- } catch (_unused) {}
112
- return store;
113
- }
114
-
115
- //#endregion
116
- export { createOptionsStyleStore };
117
- //# sourceMappingURL=optionsStyle.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"optionsStyle.mjs","names":[],"sources":["../../../../src/store/define/optionsStyle.ts"],"sourcesContent":["import type { MutationType } from '../types'\nimport { computed, effect, reactive, toRaw, touchReactive } from '../../reactivity'\nimport { wrapAction } from '../actions'\nimport { createBaseApi } from '../base'\nimport { cloneDeep, resetObject } from '../utils'\nimport { createSafeNotifier, createStoreMutationTransaction } from './shared'\n\nexport function createOptionsStyleStore(id: string, options: any, manager: any) {\n const rawState = options.state ? options.state() : {}\n const state = reactive(rawState)\n const initialSnapshot = cloneDeep(toRaw(rawState))\n let notifySubscribers: (type: MutationType) => void = () => {}\n const transaction = createStoreMutationTransaction(type => notifySubscribers(type))\n const base = createBaseApi<typeof state>(id, state, transaction.notify, () => {\n resetObject(state as any, initialSnapshot)\n })\n\n const rawPatch = base.api.$patch\n base.api.$patch = (patch: Partial<typeof state> | ((nextState: typeof state) => void)) => {\n transaction.run(() => {\n rawPatch(patch as any)\n })\n }\n if (typeof base.api.$reset === 'function') {\n const rawReset = base.api.$reset\n base.api.$reset = () => {\n transaction.run(() => {\n rawReset()\n })\n }\n }\n\n notifySubscribers = createSafeNotifier(id, base.subs, () => state as any)\n\n const store: Record<string, any> = {}\n for (const key of Object.getOwnPropertyNames(base.api)) {\n const d = Object.getOwnPropertyDescriptor(base.api, key)\n if (d) {\n if (key === '$state') {\n Object.defineProperty(store, key, {\n enumerable: d.enumerable,\n configurable: d.configurable,\n get() {\n return (base.api as any).$state\n },\n set(v: any) {\n transaction.run(() => {\n ;(base.api as any).$state = v\n })\n },\n })\n }\n else {\n Object.defineProperty(store, key, d)\n }\n }\n }\n\n const getterDefs = options.getters ?? {}\n Object.keys(getterDefs).forEach((key) => {\n const getter = (getterDefs as any)[key]\n if (typeof getter === 'function') {\n const c = computed(() => getter.call(store, state))\n Object.defineProperty(store, key, {\n enumerable: true,\n configurable: true,\n get() {\n return c.value\n },\n })\n }\n })\n\n const actionDefs = options.actions ?? {}\n Object.keys(actionDefs).forEach((key) => {\n const act = (actionDefs as any)[key]\n if (typeof act === 'function') {\n const wrapped = wrapAction(store as any, key, (...args: any[]) => {\n return act.apply(store as any, args)\n }, base.actionSubs)\n store[key] = wrapped\n }\n })\n\n Object.keys(state).forEach((k) => {\n Object.defineProperty(store, k, {\n enumerable: true,\n configurable: true,\n get() {\n return (state as any)[k]\n },\n set(v: any) {\n ;(state as any)[k] = v\n },\n })\n })\n\n let initialized = false\n let dispatchingDirect = false\n effect(() => {\n touchReactive(state)\n if (!initialized) {\n initialized = true\n return\n }\n if (transaction.active || dispatchingDirect) {\n return\n }\n dispatchingDirect = true\n try {\n notifySubscribers('direct')\n }\n finally {\n dispatchingDirect = false\n }\n })\n\n const plugins = manager?._plugins ?? []\n for (const plugin of plugins) {\n try {\n plugin({ store })\n }\n catch {}\n }\n\n return store\n}\n"],"mappings":";;;;;;;;;;;AAOA,SAAgB,wBAAwB,IAAY,SAAc,SAAc;;CAC9E,MAAM,WAAW,QAAQ,QAAQ,QAAQ,MAAM,IAAI,CAAC;CACpD,MAAM,QAAQ,SAAS,QAAQ;CAC/B,MAAM,kBAAkB,UAAU,MAAM,QAAQ,CAAC;CACjD,IAAI,0BAAwD,CAAC;CAC7D,MAAM,cAAc,gCAA+B,SAAQ,kBAAkB,IAAI,CAAC;CAClF,MAAM,OAAO,cAA4B,IAAI,OAAO,YAAY,cAAc;EAC5E,YAAY,OAAc,eAAe;CAC3C,CAAC;CAED,MAAM,WAAW,KAAK,IAAI;CAC1B,KAAK,IAAI,UAAU,UAAuE;EACxF,YAAY,UAAU;GACpB,SAAS,KAAY;EACvB,CAAC;CACH;CACA,IAAI,OAAO,KAAK,IAAI,WAAW,YAAY;EACzC,MAAM,WAAW,KAAK,IAAI;EAC1B,KAAK,IAAI,eAAe;GACtB,YAAY,UAAU;IACpB,SAAS;GACX,CAAC;EACH;CACF;CAEA,oBAAoB,mBAAmB,IAAI,KAAK,YAAY,KAAY;CAExE,MAAM,QAA6B,CAAC;CACpC,KAAK,MAAM,OAAO,OAAO,oBAAoB,KAAK,GAAG,GAAG;EACtD,MAAM,IAAI,OAAO,yBAAyB,KAAK,KAAK,GAAG;EACvD,IAAI,GAAG;GACL,IAAI,QAAQ,UACV,OAAO,eAAe,OAAO,KAAK;IAChC,YAAY,EAAE;IACd,cAAc,EAAE;IAChB,MAAM;KACJ,OAAQ,KAAK,IAAY;IAC3B;IACA,IAAI,GAAQ;KACV,YAAY,UAAU;MACnB,AAAC,KAAK,IAAY,SAAS;KAC9B,CAAC;IACH;GACF,CAAC;QAGD,OAAO,eAAe,OAAO,KAAK,CAAC;EAEvC;CACF;CAEA,MAAM,iCAAa,QAAQ,sEAAW,CAAC;CACvC,OAAO,KAAK,UAAU,CAAC,CAAC,SAAS,QAAQ;EACvC,MAAM,SAAU,WAAmB;EACnC,IAAI,OAAO,WAAW,YAAY;GAChC,MAAM,IAAI,eAAe,OAAO,KAAK,OAAO,KAAK,CAAC;GAClD,OAAO,eAAe,OAAO,KAAK;IAChC,YAAY;IACZ,cAAc;IACd,MAAM;KACJ,OAAO,EAAE;IACX;GACF,CAAC;EACH;CACF,CAAC;CAED,MAAM,iCAAa,QAAQ,sEAAW,CAAC;CACvC,OAAO,KAAK,UAAU,CAAC,CAAC,SAAS,QAAQ;EACvC,MAAM,MAAO,WAAmB;EAChC,IAAI,OAAO,QAAQ,YAAY;GAC7B,MAAM,UAAU,WAAW,OAAc,MAAM,GAAG,SAAgB;IAChE,OAAO,IAAI,MAAM,OAAc,IAAI;GACrC,GAAG,KAAK,UAAU;GAClB,MAAM,OAAO;EACf;CACF,CAAC;CAED,OAAO,KAAK,KAAK,CAAC,CAAC,SAAS,MAAM;EAChC,OAAO,eAAe,OAAO,GAAG;GAC9B,YAAY;GACZ,cAAc;GACd,MAAM;IACJ,OAAQ,MAAc;GACxB;GACA,IAAI,GAAQ;IACT,AAAC,MAAc,KAAK;GACvB;EACF,CAAC;CACH,CAAC;CAED,IAAI,cAAc;CAClB,IAAI,oBAAoB;CACxB,aAAa;EACX,cAAc,KAAK;EACnB,IAAI,CAAC,aAAa;GAChB,cAAc;GACd;EACF;EACA,IAAI,YAAY,UAAU,mBACxB;EAEF,oBAAoB;EACpB,IAAI;GACF,kBAAkB,QAAQ;EAC5B,UACQ;GACN,oBAAoB;EACtB;CACF,CAAC;CAED,MAAM,iFAAU,QAAS,yEAAY,CAAC;CACtC,KAAK,MAAM,UAAU,SACnB,IAAI;EACF,OAAO,EAAE,MAAM,CAAC;CAClB,kBACM,CAAC;CAGT,OAAO;AACT"}
@@ -1,137 +0,0 @@
1
- import { effect } from "../../reactivity/core.mjs";
2
- import { touchReactive } from "../../reactivity/reactive/patch.mjs";
3
- import { isReactive } from "../../reactivity/reactive.mjs";
4
- import { isRef } from "../../reactivity/ref.mjs";
5
- import { wrapAction } from "../actions.mjs";
6
- import { cloneDeep, resetObject } from "../utils.mjs";
7
- import { createBaseApi } from "../base.mjs";
8
- import { createSafeNotifier, createStoreMutationTransaction, isTrackableRef, snapshotValue } from "./shared.mjs";
9
-
10
- //#region src/store/define/setupStyle.ts
11
- function createSetupStyleStore(id, setupFactory, manager) {
12
- var _manager$_plugins;
13
- const result = setupFactory();
14
- let notifySubscribers = () => {};
15
- const initialSnapshot = /* @__PURE__ */ new Map();
16
- Object.keys(result).forEach((k) => {
17
- const val = result[k];
18
- if (typeof val === "function" || k.startsWith("$")) return;
19
- if (isRef(val) && !isTrackableRef(val)) return;
20
- initialSnapshot.set(k, snapshotValue(val));
21
- });
22
- let instance = {};
23
- const resetImpl = () => {
24
- initialSnapshot.forEach((snapValue, key) => {
25
- const current = instance[key];
26
- if (isTrackableRef(current)) {
27
- try {
28
- current.value = cloneDeep(snapValue);
29
- } catch (_unused) {}
30
- return;
31
- }
32
- if (isReactive(current)) {
33
- resetObject(current, snapValue);
34
- return;
35
- }
36
- if (isRef(current)) return;
37
- instance[key] = cloneDeep(snapValue);
38
- });
39
- };
40
- const transaction = createStoreMutationTransaction((type) => notifySubscribers(type));
41
- const base = createBaseApi(id, void 0, transaction.notify, resetImpl);
42
- const rawPatch = base.api.$patch;
43
- base.api.$patch = (patch) => {
44
- transaction.run(() => {
45
- rawPatch(patch);
46
- });
47
- };
48
- if (typeof base.api.$reset === "function") {
49
- const rawReset = base.api.$reset;
50
- base.api.$reset = () => {
51
- transaction.run(() => {
52
- rawReset();
53
- });
54
- };
55
- }
56
- instance = { ...result };
57
- notifySubscribers = createSafeNotifier(id, base.subs, () => instance);
58
- for (const key of Object.getOwnPropertyNames(base.api)) {
59
- const d = Object.getOwnPropertyDescriptor(base.api, key);
60
- if (d) {
61
- if (key === "$state") Object.defineProperty(instance, key, {
62
- enumerable: d.enumerable,
63
- configurable: d.configurable,
64
- get() {
65
- return base.api.$state;
66
- },
67
- set(v) {
68
- transaction.run(() => {
69
- base.api.$state = v;
70
- });
71
- }
72
- });
73
- else Object.defineProperty(instance, key, d);
74
- }
75
- }
76
- const directSources = [];
77
- Object.keys(result).forEach((k) => {
78
- const val = result[k];
79
- if (typeof val === "function" && !k.startsWith("$")) {
80
- instance[k] = wrapAction(instance, k, val, base.actionSubs);
81
- return;
82
- }
83
- if (isTrackableRef(val)) {
84
- directSources.push(val);
85
- return;
86
- }
87
- if (isReactive(val)) {
88
- directSources.push(val);
89
- return;
90
- }
91
- if (isRef(val)) return;
92
- if (!k.startsWith("$")) {
93
- let innerValue = val;
94
- Object.defineProperty(instance, k, {
95
- enumerable: true,
96
- configurable: true,
97
- get() {
98
- return innerValue;
99
- },
100
- set(next) {
101
- innerValue = next;
102
- if (!transaction.active) notifySubscribers("direct");
103
- }
104
- });
105
- }
106
- });
107
- let dispatchingDirect = false;
108
- if (directSources.length > 0) {
109
- let initialized = false;
110
- effect(() => {
111
- directSources.forEach((source) => {
112
- if (isTrackableRef(source)) source.value;
113
- else touchReactive(source);
114
- });
115
- if (!initialized) {
116
- initialized = true;
117
- return;
118
- }
119
- if (transaction.active || dispatchingDirect) return;
120
- dispatchingDirect = true;
121
- try {
122
- notifySubscribers("direct");
123
- } finally {
124
- dispatchingDirect = false;
125
- }
126
- });
127
- }
128
- const plugins = (_manager$_plugins = manager === null || manager === void 0 ? void 0 : manager._plugins) !== null && _manager$_plugins !== void 0 ? _manager$_plugins : [];
129
- for (const plugin of plugins) try {
130
- plugin({ store: instance });
131
- } catch (_unused2) {}
132
- return instance;
133
- }
134
-
135
- //#endregion
136
- export { createSetupStyleStore };
137
- //# sourceMappingURL=setupStyle.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"setupStyle.mjs","names":[],"sources":["../../../../src/store/define/setupStyle.ts"],"sourcesContent":["import type { MutationType } from '../types'\nimport { effect, isReactive, isRef, touchReactive } from '../../reactivity'\nimport { wrapAction } from '../actions'\nimport { createBaseApi } from '../base'\nimport { cloneDeep, resetObject } from '../utils'\nimport { createSafeNotifier, createStoreMutationTransaction, isTrackableRef, snapshotValue } from './shared'\n\nexport function createSetupStyleStore(id: string, setupFactory: () => Record<string, any>, manager: any) {\n const result = setupFactory()\n let notifySubscribers: (type: MutationType) => void = () => {}\n const initialSnapshot = new Map<string, any>()\n Object.keys(result).forEach((k) => {\n const val = (result as any)[k]\n if (typeof val === 'function' || k.startsWith('$')) {\n return\n }\n if (isRef(val) && !isTrackableRef(val)) {\n return\n }\n initialSnapshot.set(k, snapshotValue(val))\n })\n\n let instance: Record<string, any> = {}\n const resetImpl = () => {\n initialSnapshot.forEach((snapValue, key) => {\n const current = (instance as any)[key]\n if (isTrackableRef(current)) {\n try {\n current.value = cloneDeep(snapValue)\n }\n catch {\n // computed / readonly ref 不能写入,reset 时跳过这类派生状态。\n }\n return\n }\n if (isReactive(current)) {\n resetObject(current as any, snapValue)\n return\n }\n if (isRef(current)) {\n return\n }\n ;(instance as any)[key] = cloneDeep(snapValue)\n })\n }\n\n const transaction = createStoreMutationTransaction(type => notifySubscribers(type))\n const base = createBaseApi<any>(id, undefined, transaction.notify, resetImpl)\n const rawPatch = base.api.$patch\n base.api.$patch = (patch: Record<string, any> | ((state: any) => void)) => {\n transaction.run(() => {\n rawPatch(patch)\n })\n }\n if (typeof base.api.$reset === 'function') {\n const rawReset = base.api.$reset\n base.api.$reset = () => {\n transaction.run(() => {\n rawReset()\n })\n }\n }\n\n instance = { ...result }\n notifySubscribers = createSafeNotifier(id, base.subs, () => instance)\n\n // 将 setup 返回值与基础 API 合并,同时保留每个 getter/setter 的描述符,避免覆写访问器行为\n for (const key of Object.getOwnPropertyNames(base.api)) {\n const d = Object.getOwnPropertyDescriptor(base.api, key)\n if (d) {\n if (key === '$state') {\n Object.defineProperty(instance, key, {\n enumerable: d.enumerable,\n configurable: d.configurable,\n get() {\n return (base.api as any).$state\n },\n set(v: any) {\n transaction.run(() => {\n ;(base.api as any).$state = v\n })\n },\n })\n }\n else {\n Object.defineProperty(instance, key, d)\n }\n }\n }\n\n const directSources: any[] = []\n Object.keys(result).forEach((k) => {\n const val = (result as any)[k]\n if (typeof val === 'function' && !k.startsWith('$')) {\n ;(instance as any)[k] = wrapAction(instance, k, val, base.actionSubs)\n return\n }\n if (isTrackableRef(val)) {\n directSources.push(val)\n return\n }\n if (isReactive(val)) {\n directSources.push(val)\n return\n }\n if (isRef(val)) {\n return\n }\n if (!k.startsWith('$')) {\n let innerValue = val\n Object.defineProperty(instance, k, {\n enumerable: true,\n configurable: true,\n get() {\n return innerValue\n },\n set(next: any) {\n innerValue = next\n if (!transaction.active) {\n notifySubscribers('direct')\n }\n },\n })\n }\n })\n\n let dispatchingDirect = false\n if (directSources.length > 0) {\n let initialized = false\n effect(() => {\n directSources.forEach((source) => {\n if (isTrackableRef(source)) {\n void source.value\n }\n else {\n touchReactive(source)\n }\n })\n if (!initialized) {\n initialized = true\n return\n }\n if (transaction.active || dispatchingDirect) {\n return\n }\n dispatchingDirect = true\n try {\n notifySubscribers('direct')\n }\n finally {\n dispatchingDirect = false\n }\n })\n }\n\n const plugins = manager?._plugins ?? []\n for (const plugin of plugins) {\n try {\n plugin({ store: instance })\n }\n catch {}\n }\n\n return instance\n}\n"],"mappings":"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"}
@@ -1,81 +0,0 @@
1
- import { queueBatchCallback } from "../../reactivity/core.mjs";
2
- import { toRaw } from "../../reactivity/reactive/shared.mjs";
3
- import { isReactive } from "../../reactivity/reactive.mjs";
4
- import { isRef } from "../../reactivity/ref.mjs";
5
- import { cloneDeep } from "../utils.mjs";
6
-
7
- //#region src/store/define/shared.ts
8
- function isTrackableRef(value) {
9
- return isRef(value);
10
- }
11
- function snapshotValue(value) {
12
- if (isReactive(value)) return cloneDeep(toRaw(value));
13
- if (isTrackableRef(value)) return cloneDeep(value.value);
14
- return cloneDeep(value);
15
- }
16
- function createSafeNotifier(storeId, subs, getState) {
17
- let notifying = false;
18
- return (type) => {
19
- if (notifying) return;
20
- notifying = true;
21
- try {
22
- const state = getState();
23
- subs.forEach((cb) => {
24
- try {
25
- cb({
26
- type,
27
- storeId
28
- }, state);
29
- } catch (_unused) {}
30
- });
31
- } finally {
32
- notifying = false;
33
- }
34
- };
35
- }
36
- function createStoreMutationTransaction(notify) {
37
- let depth = 0;
38
- let pendingType;
39
- let pendingFlush = false;
40
- const publish = () => {
41
- if (depth > 0) return;
42
- const type = pendingType;
43
- pendingType = void 0;
44
- pendingFlush = false;
45
- if (type) notify(type);
46
- };
47
- return {
48
- get active() {
49
- return depth > 0 || pendingFlush;
50
- },
51
- notify(type) {
52
- if (depth === 0 && !pendingFlush) {
53
- notify(type);
54
- return;
55
- }
56
- pendingType = type;
57
- },
58
- run(operation) {
59
- const isOutermost = depth === 0;
60
- const previousType = pendingType;
61
- let succeeded = false;
62
- depth++;
63
- try {
64
- const result = operation();
65
- succeeded = true;
66
- return result;
67
- } finally {
68
- depth--;
69
- if (isOutermost) {
70
- if (!succeeded) pendingType = previousType;
71
- pendingFlush = true;
72
- queueBatchCallback(publish);
73
- }
74
- }
75
- }
76
- };
77
- }
78
-
79
- //#endregion
80
- export { createSafeNotifier, createStoreMutationTransaction, isTrackableRef, snapshotValue };
81
- //# sourceMappingURL=shared.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"shared.mjs","names":[],"sources":["../../../../src/store/define/shared.ts"],"sourcesContent":["import type { MutationType, SubscriptionCallback } from '../types'\nimport { isReactive, isRef, toRaw } from '../../reactivity'\nimport { queueBatchCallback } from '../../reactivity/core'\nimport { cloneDeep } from '../utils'\n\nexport function isTrackableRef(value: unknown) {\n return isRef(value)\n}\n\nexport function snapshotValue(value: unknown) {\n if (isReactive(value)) {\n return cloneDeep(toRaw(value as any))\n }\n if (isTrackableRef(value)) {\n return cloneDeep((value as any).value)\n }\n return cloneDeep(value)\n}\n\nexport function createSafeNotifier<S>(\n storeId: string,\n subs: Set<SubscriptionCallback<S>>,\n getState: () => S,\n) {\n let notifying = false\n return (type: MutationType) => {\n if (notifying) {\n return\n }\n notifying = true\n try {\n const state = getState()\n subs.forEach((cb) => {\n try {\n cb({ type, storeId }, state)\n }\n catch {}\n })\n }\n finally {\n notifying = false\n }\n }\n}\n\nexport function createStoreMutationTransaction(notify: (type: MutationType) => void) {\n let depth = 0\n let pendingType: MutationType | undefined\n let pendingFlush = false\n\n const publish = () => {\n if (depth > 0) {\n return\n }\n const type = pendingType\n pendingType = undefined\n pendingFlush = false\n if (type) {\n notify(type)\n }\n }\n\n return {\n get active() {\n return depth > 0 || pendingFlush\n },\n notify(type: MutationType) {\n if (depth === 0 && !pendingFlush) {\n notify(type)\n return\n }\n // 基础 API 最后记录外层 mutation 类型,避免内层 patch/reset 泄漏类型。\n pendingType = type\n },\n run<T>(operation: () => T): T {\n const isOutermost = depth === 0\n const previousType = pendingType\n let succeeded = false\n depth++\n try {\n const result = operation()\n succeeded = true\n return result\n }\n finally {\n depth--\n if (isOutermost) {\n if (!succeeded) {\n pendingType = previousType\n }\n // 嵌套批次返回时消费者可能尚未执行,直到真正 flush 后才释放 mutation 来源。\n pendingFlush = true\n queueBatchCallback(publish)\n }\n }\n },\n }\n}\n"],"mappings":";;;;;;;AAKA,SAAgB,eAAe,OAAgB;CAC7C,OAAO,MAAM,KAAK;AACpB;AAEA,SAAgB,cAAc,OAAgB;CAC5C,IAAI,WAAW,KAAK,GAClB,OAAO,UAAU,MAAM,KAAY,CAAC;CAEtC,IAAI,eAAe,KAAK,GACtB,OAAO,UAAW,MAAc,KAAK;CAEvC,OAAO,UAAU,KAAK;AACxB;AAEA,SAAgB,mBACd,SACA,MACA,UACA;CACA,IAAI,YAAY;CAChB,QAAQ,SAAuB;EAC7B,IAAI,WACF;EAEF,YAAY;EACZ,IAAI;GACF,MAAM,QAAQ,SAAS;GACvB,KAAK,SAAS,OAAO;IACnB,IAAI;KACF,GAAG;MAAE;MAAM;KAAQ,GAAG,KAAK;IAC7B,kBACM,CAAC;GACT,CAAC;EACH,UACQ;GACN,YAAY;EACd;CACF;AACF;AAEA,SAAgB,+BAA+B,QAAsC;CACnF,IAAI,QAAQ;CACZ,IAAI;CACJ,IAAI,eAAe;CAEnB,MAAM,gBAAgB;EACpB,IAAI,QAAQ,GACV;EAEF,MAAM,OAAO;EACb,cAAc;EACd,eAAe;EACf,IAAI,MACF,OAAO,IAAI;CAEf;CAEA,OAAO;EACL,IAAI,SAAS;GACX,OAAO,QAAQ,KAAK;EACtB;EACA,OAAO,MAAoB;GACzB,IAAI,UAAU,KAAK,CAAC,cAAc;IAChC,OAAO,IAAI;IACX;GACF;GAEA,cAAc;EAChB;EACA,IAAO,WAAuB;GAC5B,MAAM,cAAc,UAAU;GAC9B,MAAM,eAAe;GACrB,IAAI,YAAY;GAChB;GACA,IAAI;IACF,MAAM,SAAS,UAAU;IACzB,YAAY;IACZ,OAAO;GACT,UACQ;IACN;IACA,IAAI,aAAa;KACf,IAAI,CAAC,WACH,cAAc;KAGhB,eAAe;KACf,mBAAmB,OAAO;IAC5B;GACF;EACF;CACF;AACF"}
@@ -1,19 +0,0 @@
1
- import { ActionSubscriber, DefineStoreOptions, OptionsStore, StoreSubscribeOptions, SubscriptionCallback } from "./types.mjs";
2
- //#region src/store/define.d.ts
3
- type SetupDefinition<T> = () => T;
4
- /**
5
- * @description 定义一个 setup 风格的 store
6
- */
7
- export declare function defineStore<T extends Record<string, any>>(id: string, setup: SetupDefinition<T>): () => T & {
8
- $id: string;
9
- $patch: (patch: Record<string, any> | ((state: any) => void)) => void;
10
- $reset: () => void;
11
- $subscribe: (cb: SubscriptionCallback<any>, opts?: StoreSubscribeOptions) => () => void;
12
- $onAction: (cb: ActionSubscriber<any>) => () => void;
13
- };
14
- /**
15
- * @description 定义一个 options 风格的 store
16
- */
17
- export declare function defineStore<S extends Record<string, any>, G extends Record<string, any>, A extends Record<string, any>>(id: string, options: DefineStoreOptions<S, G, A>): () => OptionsStore<S, G, A>;
18
- //#endregion
19
- //# sourceMappingURL=define.d.mts.map
@@ -1,8 +0,0 @@
1
- import { StoreManager } from "./types.mjs";
2
- //#region src/store/manager.d.ts
3
- /**
4
- * @description 创建 store 管理器(插件与共享实例入口)
5
- */
6
- export declare function createStore(): StoreManager;
7
- //#endregion
8
- //# sourceMappingURL=manager.d.mts.map
@@ -1,13 +0,0 @@
1
- import { Ref } from "../reactivity/ref.mjs";
2
- import "../reactivity/index.mjs";
3
- //#region src/store/storeToRefs.d.ts
4
- /**
5
- * @description storeToRefs 返回类型推导
6
- */
7
- export type StoreToRefsResult<T extends Record<string, any>> = { [K in keyof T]: T[K] extends ((...args: any[]) => any) ? T[K] : T[K] extends Ref<infer V> ? Ref<V> : Ref<T[K]>; };
8
- /**
9
- * @description 将 store 状态转换为 Ref
10
- */
11
- export declare function storeToRefs<T extends Record<string, any>>(store: T): StoreToRefsResult<T>;
12
- //#endregion
13
- //# sourceMappingURL=storeToRefs.d.mts.map
@@ -1,80 +0,0 @@
1
- //#region src/store/types.d.ts
2
- /**
3
- * @description Store 变更类型
4
- */
5
- export type MutationType = 'patch object' | 'patch function' | 'direct';
6
- /**
7
- * @description Store 订阅回调签名
8
- */
9
- export interface SubscriptionCallback<S = any> {
10
- (mutation: {
11
- type: MutationType;
12
- storeId: string;
13
- }, state: S): void;
14
- }
15
- /**
16
- * @description Store 订阅选项
17
- */
18
- export interface StoreSubscribeOptions {
19
- /**
20
- * @description 是否在卸载后仍保留订阅(适用于跨页面生命周期的订阅)
21
- */
22
- detached?: boolean;
23
- }
24
- /**
25
- * @description Action 订阅回调上下文
26
- */
27
- export interface ActionContext<TStore = any, TResult = any> {
28
- name: string;
29
- store: TStore;
30
- args: any[];
31
- after: (cb: (result: TResult) => void) => void;
32
- onError: (cb: (error: any) => void) => void;
33
- }
34
- /**
35
- * @description Action 订阅回调类型
36
- */
37
- export interface ActionSubscriber<TStore = any, TResult = any> {
38
- (context: ActionContext<TStore, TResult>): void;
39
- }
40
- /**
41
- * @description Store 管理器(插件与共享实例)
42
- */
43
- export interface StoreManager {
44
- install: (app: any) => void;
45
- _stores: Map<string, any>;
46
- use: (plugin: (context: {
47
- store: any;
48
- }) => void) => StoreManager;
49
- _plugins: Array<(context: {
50
- store: any;
51
- }) => void>;
52
- }
53
- /**
54
- * @description Getter 定义集合
55
- */
56
- export type GetterTree<S extends Record<string, any>> = Record<string, (state: S) => any>;
57
- /**
58
- * @description 从 Getter 定义中推导返回类型
59
- */
60
- export type StoreGetters<G extends GetterTree<any>> = { [K in keyof G]: G[K] extends ((...args: any[]) => infer R) ? R : never; };
61
- type ActionResult<A> = Awaited<ReturnType<Extract<A[keyof A], (...args: any[]) => any>>>;
62
- /** 选项式 Store 的完整实例,供外部调用及 action/getter 的 this 共享。 */
63
- export type OptionsStore<S extends Record<string, any>, G extends Record<string, any>, A extends Record<string, any>> = S & StoreGetters<G> & A & {
64
- $id: string;
65
- $state: S;
66
- $patch: (patch: Partial<S> | ((state: S) => void)) => void;
67
- $reset: () => void;
68
- $subscribe: (cb: SubscriptionCallback<S>, opts?: StoreSubscribeOptions) => () => void;
69
- $onAction: (cb: ActionSubscriber<OptionsStore<S, G, A>, ActionResult<A>>) => () => void;
70
- };
71
- /**
72
- * @description defineStore(options) 的配置类型
73
- */
74
- export interface DefineStoreOptions<S extends Record<string, any>, G extends GetterTree<S>, A extends Record<string, any>> {
75
- state: () => S;
76
- getters?: G & Record<string, (state: S) => any> & ThisType<OptionsStore<S, G, A>>;
77
- actions?: A & ThisType<OptionsStore<S, G, A>>;
78
- }
79
- //#endregion
80
- //# sourceMappingURL=types.d.mts.map
@@ -1,5 +0,0 @@
1
- import { ActionContext, ActionSubscriber, DefineStoreOptions, MutationType, StoreManager, StoreSubscribeOptions, SubscriptionCallback } from "./store/types.mjs";
2
- import { defineStore } from "./store/define.mjs";
3
- import { createStore } from "./store/manager.mjs";
4
- import { StoreToRefsResult, storeToRefs } from "./store/storeToRefs.mjs";
5
- export { type ActionContext, type ActionSubscriber, type DefineStoreOptions, type MutationType, type StoreManager, type StoreSubscribeOptions, type StoreToRefsResult, type SubscriptionCallback, createStore, defineStore, storeToRefs };
@@ -1,4 +0,0 @@
1
- //#region src/version.d.ts
2
- export declare const version: string;
3
- //#endregion
4
- //# sourceMappingURL=version.d.mts.map
@@ -1,8 +0,0 @@
1
- import { WevuGlobalComponents, WevuGlobalDirectives } from "./runtime/types.mjs";
2
- //#region src/vue-augment.d.ts
3
- declare module '@vue/runtime-core' {
4
- interface GlobalComponents extends WevuGlobalComponents {}
5
- interface GlobalDirectives extends WevuGlobalDirectives {}
6
- }
7
- //#endregion
8
- //# sourceMappingURL=vue-augment.d.mts.map