wevu 7.1.4 → 7.2.0

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 (133) hide show
  1. package/README.md +20 -6
  2. package/dist/dev/index.d.mts +3 -3
  3. package/dist/dev/index.mjs +3 -2
  4. package/dist/dev/package.mjs +1 -1
  5. package/dist/dev/reactivity/computed.d.mts +4 -0
  6. package/dist/dev/reactivity/computed.mjs +10 -1
  7. package/dist/dev/reactivity/computed.mjs.map +1 -1
  8. package/dist/dev/reactivity/reactive.mjs +27 -20
  9. package/dist/dev/reactivity/reactive.mjs.map +1 -1
  10. package/dist/dev/router/auto-routes.d.mts +8 -0
  11. package/dist/dev/router/auto-routes.mjs +11 -0
  12. package/dist/dev/router/auto-routes.mjs.map +1 -0
  13. package/dist/dev/router/createRouter.d.mts +2 -1
  14. package/dist/dev/router/createRouter.mjs +3 -4
  15. package/dist/dev/router/createRouter.mjs.map +1 -1
  16. package/dist/dev/router/navigationCore.d.mts +3 -2
  17. package/dist/dev/router/navigationCore.mjs +7 -7
  18. package/dist/dev/router/navigationCore.mjs.map +1 -1
  19. package/dist/dev/router/resolve.d.mts +3 -2
  20. package/dist/dev/router/resolve.mjs.map +1 -1
  21. package/dist/dev/router/routeSync.d.mts +1 -0
  22. package/dist/dev/router/types.d.mts +173 -78
  23. package/dist/dev/router/types.mjs.map +1 -1
  24. package/dist/dev/router/useRoute.d.mts +4 -3
  25. package/dist/dev/router/useRoute.mjs.map +1 -1
  26. package/dist/dev/router/useRouter.d.mts +2 -1
  27. package/dist/dev/router/useRouter.mjs.map +1 -1
  28. package/dist/dev/router.d.mts +19 -3
  29. package/dist/dev/routerInternal/location.d.mts +2 -0
  30. package/dist/dev/routerInternal/matching.d.mts +2 -0
  31. package/dist/dev/routerInternal/matching.mjs +1 -1
  32. package/dist/dev/routerInternal/matching.mjs.map +1 -1
  33. package/dist/dev/routerInternal/params.d.mts +2 -0
  34. package/dist/dev/routerInternal/params.mjs.map +1 -1
  35. package/dist/dev/routerInternal/records.d.mts +2 -0
  36. package/dist/dev/routerInternal/recordsWarnings.d.mts +2 -0
  37. package/dist/dev/routerInternal/shared.d.mts +9 -0
  38. package/dist/dev/routerInternal/snapshots.d.mts +2 -0
  39. package/dist/dev/runtime/hooks/base.mjs +5 -5
  40. package/dist/dev/runtime/hooks/base.mjs.map +1 -1
  41. package/dist/dev/runtime/platform.mjs +31 -24
  42. package/dist/dev/runtime/platform.mjs.map +1 -1
  43. package/dist/dev/runtime/register/component/alipay.mjs +72 -0
  44. package/dist/dev/runtime/register/component/alipay.mjs.map +1 -0
  45. package/dist/dev/runtime/register/component/registerNativeDefinition.mjs +5 -2
  46. package/dist/dev/runtime/register/component/registerNativeDefinition.mjs.map +1 -1
  47. package/dist/dev/store/actions.mjs +27 -29
  48. package/dist/dev/store/actions.mjs.map +1 -1
  49. package/dist/dev/store/base.mjs +152 -36
  50. package/dist/dev/store/base.mjs.map +1 -1
  51. package/dist/dev/store/define/create.mjs +92 -0
  52. package/dist/dev/store/define/create.mjs.map +1 -0
  53. package/dist/dev/store/define.d.mts +5 -16
  54. package/dist/dev/store/define.mjs +11 -15
  55. package/dist/dev/store/define.mjs.map +1 -1
  56. package/dist/dev/store/manager.d.mts +13 -5
  57. package/dist/dev/store/manager.mjs +55 -14
  58. package/dist/dev/store/manager.mjs.map +1 -1
  59. package/dist/dev/store/storeToRefs.d.mts +5 -7
  60. package/dist/dev/store/storeToRefs.mjs +10 -18
  61. package/dist/dev/store/storeToRefs.mjs.map +1 -1
  62. package/dist/dev/store/subscriptions.mjs +17 -0
  63. package/dist/dev/store/subscriptions.mjs.map +1 -0
  64. package/dist/dev/store/types.d.mts +85 -59
  65. package/dist/dev/store/types.mjs +11 -0
  66. package/dist/dev/store/types.mjs.map +1 -0
  67. package/dist/dev/store/utils.mjs +1 -37
  68. package/dist/dev/store/utils.mjs.map +1 -1
  69. package/dist/dev/store/view.mjs +56 -0
  70. package/dist/dev/store/view.mjs.map +1 -0
  71. package/dist/dev/store.d.mts +3 -3
  72. package/dist/dev/store.mjs +3 -2
  73. package/dist/dev/vue-demi.d.mts +3 -3
  74. package/dist/dev/vue-demi.mjs +3 -2
  75. package/dist/dev/vue-demi.mjs.map +1 -1
  76. package/dist/index.d.mts +3 -3
  77. package/dist/index.mjs +1 -1
  78. package/dist/package.mjs +1 -1
  79. package/dist/reactivity/computed.d.mts +4 -0
  80. package/dist/reactivity/computed.mjs +1 -1
  81. package/dist/reactivity/reactive.mjs +1 -1
  82. package/dist/router/auto-routes.d.mts +7 -0
  83. package/dist/router/auto-routes.mjs +1 -0
  84. package/dist/router/createRouter.d.mts +2 -1
  85. package/dist/router/createRouter.mjs +1 -1
  86. package/dist/router/navigationCore.d.mts +3 -2
  87. package/dist/router/navigationCore.mjs +1 -1
  88. package/dist/router/resolve.d.mts +3 -2
  89. package/dist/router/routeSync.d.mts +1 -0
  90. package/dist/router/types.d.mts +173 -78
  91. package/dist/router/useRoute.d.mts +4 -3
  92. package/dist/router/useRouter.d.mts +2 -1
  93. package/dist/router.d.mts +18 -3
  94. package/dist/routerInternal/location.d.mts +2 -0
  95. package/dist/routerInternal/matching.d.mts +2 -0
  96. package/dist/routerInternal/matching.mjs +1 -1
  97. package/dist/routerInternal/params.d.mts +2 -0
  98. package/dist/routerInternal/records.d.mts +2 -0
  99. package/dist/routerInternal/recordsWarnings.d.mts +2 -0
  100. package/dist/routerInternal/shared.d.mts +9 -0
  101. package/dist/routerInternal/snapshots.d.mts +2 -0
  102. package/dist/runtime/hooks/base.mjs +1 -1
  103. package/dist/runtime/platform.mjs +1 -1
  104. package/dist/runtime/register/component/alipay.mjs +1 -0
  105. package/dist/runtime/register/component/registerNativeDefinition.mjs +1 -1
  106. package/dist/store/actions.mjs +1 -1
  107. package/dist/store/base.mjs +1 -1
  108. package/dist/store/define/create.mjs +1 -0
  109. package/dist/store/define.d.mts +5 -16
  110. package/dist/store/define.mjs +1 -1
  111. package/dist/store/manager.d.mts +13 -5
  112. package/dist/store/manager.mjs +1 -1
  113. package/dist/store/storeToRefs.d.mts +5 -7
  114. package/dist/store/storeToRefs.mjs +1 -1
  115. package/dist/store/subscriptions.mjs +1 -0
  116. package/dist/store/types.d.mts +85 -59
  117. package/dist/store/types.mjs +1 -0
  118. package/dist/store/utils.mjs +1 -1
  119. package/dist/store/view.mjs +1 -0
  120. package/dist/store.d.mts +3 -3
  121. package/dist/store.mjs +1 -1
  122. package/dist/vue-demi.d.mts +3 -3
  123. package/dist/vue-demi.mjs +1 -1
  124. package/package.json +29 -9
  125. package/dist/dev/store/define/optionsStyle.mjs +0 -117
  126. package/dist/dev/store/define/optionsStyle.mjs.map +0 -1
  127. package/dist/dev/store/define/setupStyle.mjs +0 -137
  128. package/dist/dev/store/define/setupStyle.mjs.map +0 -1
  129. package/dist/dev/store/define/shared.mjs +0 -81
  130. package/dist/dev/store/define/shared.mjs.map +0 -1
  131. package/dist/store/define/optionsStyle.mjs +0 -1
  132. package/dist/store/define/setupStyle.mjs +0 -1
  133. package/dist/store/define/shared.mjs +0 -1
@@ -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":";;;;;;;;;;AAOA,SAAgB,sBAAsB,IAAY,cAAyC,SAAc;;CACvG,MAAM,SAAS,aAAa;CAC5B,IAAI,0BAAwD,CAAC;CAC7D,MAAM,kCAAkB,IAAI,IAAiB;CAC7C,OAAO,KAAK,MAAM,CAAC,CAAC,SAAS,MAAM;EACjC,MAAM,MAAO,OAAe;EAC5B,IAAI,OAAO,QAAQ,cAAc,EAAE,WAAW,GAAG,GAC/C;EAEF,IAAI,MAAM,GAAG,KAAK,CAAC,eAAe,GAAG,GACnC;EAEF,gBAAgB,IAAI,GAAG,cAAc,GAAG,CAAC;CAC3C,CAAC;CAED,IAAI,WAAgC,CAAC;CACrC,MAAM,kBAAkB;EACtB,gBAAgB,SAAS,WAAW,QAAQ;GAC1C,MAAM,UAAW,SAAiB;GAClC,IAAI,eAAe,OAAO,GAAG;IAC3B,IAAI;KACF,QAAQ,QAAQ,UAAU,SAAS;IACrC,kBACM,CAEN;IACA;GACF;GACA,IAAI,WAAW,OAAO,GAAG;IACvB,YAAY,SAAgB,SAAS;IACrC;GACF;GACA,IAAI,MAAM,OAAO,GACf;GAED,AAAC,SAAiB,OAAO,UAAU,SAAS;EAC/C,CAAC;CACH;CAEA,MAAM,cAAc,gCAA+B,SAAQ,kBAAkB,IAAI,CAAC;CAClF,MAAM,OAAO,cAAmB,IAAI,QAAW,YAAY,QAAQ,SAAS;CAC5E,MAAM,WAAW,KAAK,IAAI;CAC1B,KAAK,IAAI,UAAU,UAAwD;EACzE,YAAY,UAAU;GACpB,SAAS,KAAK;EAChB,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,WAAW,EAAE,GAAG,OAAO;CACvB,oBAAoB,mBAAmB,IAAI,KAAK,YAAY,QAAQ;CAGpE,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,UAAU,KAAK;IACnC,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,UAAU,KAAK,CAAC;EAE1C;CACF;CAEA,MAAM,gBAAuB,CAAC;CAC9B,OAAO,KAAK,MAAM,CAAC,CAAC,SAAS,MAAM;EACjC,MAAM,MAAO,OAAe;EAC5B,IAAI,OAAO,QAAQ,cAAc,CAAC,EAAE,WAAW,GAAG,GAAG;GAClD,AAAC,SAAiB,KAAK,WAAW,UAAU,GAAG,KAAK,KAAK,UAAU;GACpE;EACF;EACA,IAAI,eAAe,GAAG,GAAG;GACvB,cAAc,KAAK,GAAG;GACtB;EACF;EACA,IAAI,WAAW,GAAG,GAAG;GACnB,cAAc,KAAK,GAAG;GACtB;EACF;EACA,IAAI,MAAM,GAAG,GACX;EAEF,IAAI,CAAC,EAAE,WAAW,GAAG,GAAG;GACtB,IAAI,aAAa;GACjB,OAAO,eAAe,UAAU,GAAG;IACjC,YAAY;IACZ,cAAc;IACd,MAAM;KACJ,OAAO;IACT;IACA,IAAI,MAAW;KACb,aAAa;KACb,IAAI,CAAC,YAAY,QACf,kBAAkB,QAAQ;IAE9B;GACF,CAAC;EACH;CACF,CAAC;CAED,IAAI,oBAAoB;CACxB,IAAI,cAAc,SAAS,GAAG;EAC5B,IAAI,cAAc;EAClB,aAAa;GACX,cAAc,SAAS,WAAW;IAChC,IAAI,eAAe,MAAM,GACvB,AAAK,OAAO;SAGZ,cAAc,MAAM;GAExB,CAAC;GACD,IAAI,CAAC,aAAa;IAChB,cAAc;IACd;GACF;GACA,IAAI,YAAY,UAAU,mBACxB;GAEF,oBAAoB;GACpB,IAAI;IACF,kBAAkB,QAAQ;GAC5B,UACQ;IACN,oBAAoB;GACtB;EACF,CAAC;CACH;CAEA,MAAM,iFAAU,QAAS,yEAAY,CAAC;CACtC,KAAK,MAAM,UAAU,SACnB,IAAI;EACF,OAAO,EAAE,OAAO,SAAS,CAAC;CAC5B,mBACM,CAAC;CAGT,OAAO;AACT"}
@@ -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 +0,0 @@
1
- import{effect as e}from"../../reactivity/core.mjs";import{toRaw as t}from"../../reactivity/reactive/shared.mjs";import{touchReactive as n}from"../../reactivity/reactive/patch.mjs";import{reactive as r}from"../../reactivity/reactive.mjs";import{computed as i}from"../../reactivity/computed.mjs";import{wrapAction as a}from"../actions.mjs";import{cloneDeep as o,resetObject as s}from"../utils.mjs";import{createBaseApi as c}from"../base.mjs";import{createSafeNotifier as l,createStoreMutationTransaction as u}from"./shared.mjs";function d(d,f,p){var m,h,g;let _=f.state?f.state():{},v=r(_),y=o(t(_)),b=()=>{},x=u(e=>b(e)),S=c(d,v,x.notify,()=>{s(v,y)}),C=S.api.$patch;if(S.api.$patch=e=>{x.run(()=>{C(e)})},typeof S.api.$reset==`function`){let e=S.api.$reset;S.api.$reset=()=>{x.run(()=>{e()})}}b=l(d,S.subs,()=>v);let w={};for(let e of Object.getOwnPropertyNames(S.api)){let t=Object.getOwnPropertyDescriptor(S.api,e);t&&(e===`$state`?Object.defineProperty(w,e,{enumerable:t.enumerable,configurable:t.configurable,get(){return S.api.$state},set(e){x.run(()=>{S.api.$state=e})}}):Object.defineProperty(w,e,t))}let T=(m=f.getters)==null?{}:m;Object.keys(T).forEach(e=>{let t=T[e];if(typeof t==`function`){let n=i(()=>t.call(w,v));Object.defineProperty(w,e,{enumerable:!0,configurable:!0,get(){return n.value}})}});let E=(h=f.actions)==null?{}:h;Object.keys(E).forEach(e=>{let t=E[e];if(typeof t==`function`){let n=a(w,e,(...e)=>t.apply(w,e),S.actionSubs);w[e]=n}}),Object.keys(v).forEach(e=>{Object.defineProperty(w,e,{enumerable:!0,configurable:!0,get(){return v[e]},set(t){v[e]=t}})});let D=!1,O=!1;e(()=>{if(n(v),!D){D=!0;return}if(!(x.active||O)){O=!0;try{b(`direct`)}finally{O=!1}}});let k=(g=p==null?void 0:p._plugins)==null?[]:g;for(let e of k)try{e({store:w})}catch(e){}return w}export{d as createOptionsStyleStore};
@@ -1 +0,0 @@
1
- import{effect as e}from"../../reactivity/core.mjs";import{touchReactive as t}from"../../reactivity/reactive/patch.mjs";import{isReactive as n}from"../../reactivity/reactive.mjs";import{isRef as r}from"../../reactivity/ref.mjs";import{wrapAction as i}from"../actions.mjs";import{cloneDeep as a,resetObject as o}from"../utils.mjs";import{createBaseApi as s}from"../base.mjs";import{createSafeNotifier as c,createStoreMutationTransaction as l,isTrackableRef as u,snapshotValue as d}from"./shared.mjs";function f(f,p,m){var h;let g=p(),_=()=>{},v=/* @__PURE__ */ new Map;Object.keys(g).forEach(e=>{let t=g[e];typeof t==`function`||e.startsWith(`$`)||(!r(t)||u(t))&&v.set(e,d(t))});let y={},b=()=>{v.forEach((e,t)=>{let i=y[t];if(u(i)){try{i.value=a(e)}catch(e){}return}if(n(i)){o(i,e);return}r(i)||(y[t]=a(e))})},x=l(e=>_(e)),S=s(f,void 0,x.notify,b),C=S.api.$patch;if(S.api.$patch=e=>{x.run(()=>{C(e)})},typeof S.api.$reset==`function`){let e=S.api.$reset;S.api.$reset=()=>{x.run(()=>{e()})}}y={...g},_=c(f,S.subs,()=>y);for(let e of Object.getOwnPropertyNames(S.api)){let t=Object.getOwnPropertyDescriptor(S.api,e);t&&(e===`$state`?Object.defineProperty(y,e,{enumerable:t.enumerable,configurable:t.configurable,get(){return S.api.$state},set(e){x.run(()=>{S.api.$state=e})}}):Object.defineProperty(y,e,t))}let w=[];Object.keys(g).forEach(e=>{let t=g[e];if(typeof t==`function`&&!e.startsWith(`$`)){y[e]=i(y,e,t,S.actionSubs);return}if(u(t)){w.push(t);return}if(n(t)){w.push(t);return}if(!r(t)&&!e.startsWith(`$`)){let n=t;Object.defineProperty(y,e,{enumerable:!0,configurable:!0,get(){return n},set(e){n=e,x.active||_(`direct`)}})}});let T=!1;if(w.length>0){let n=!1;e(()=>{if(w.forEach(e=>{u(e)?e.value:t(e)}),!n){n=!0;return}if(!(x.active||T)){T=!0;try{_(`direct`)}finally{T=!1}}})}let E=(h=m==null?void 0:m._plugins)==null?[]:h;for(let e of E)try{e({store:y})}catch(e){}return y}export{f as createSetupStyleStore};
@@ -1 +0,0 @@
1
- import{queueBatchCallback as e}from"../../reactivity/core.mjs";import{toRaw as t}from"../../reactivity/reactive/shared.mjs";import{isReactive as n}from"../../reactivity/reactive.mjs";import{isRef as r}from"../../reactivity/ref.mjs";import{cloneDeep as i}from"../utils.mjs";function a(e){return r(e)}function o(e){return n(e)?i(t(e)):a(e)?i(e.value):i(e)}function s(e,t,n){let r=!1;return i=>{if(!r){r=!0;try{let r=n();t.forEach(t=>{try{t({type:i,storeId:e},r)}catch(e){}})}finally{r=!1}}}}function c(t){let n=0,r,i=!1,a=()=>{if(n>0)return;let e=r;r=void 0,i=!1,e&&t(e)};return{get active(){return n>0||i},notify(e){if(n===0&&!i){t(e);return}r=e},run(t){let o=n===0,s=r,c=!1;n++;try{let e=t();return c=!0,e}finally{n--,o&&(c||(r=s),i=!0,e(a))}}}}export{s as createSafeNotifier,c as createStoreMutationTransaction,a as isTrackableRef,o as snapshotValue};