annil 1.5.9 → 1.5.10

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 (75) hide show
  1. package/CHANGELOG.md +7 -0
  2. package/README.md +1 -1
  3. package/dist/api/DefineComponent/assignOptions/computedWatchHandle/computedUpdater.d.ts +6 -0
  4. package/dist/{behaviors/BComputedAndWatch → api/DefineComponent/assignOptions/computedWatchHandle}/computedUpdater.js +3 -3
  5. package/dist/api/DefineComponent/assignOptions/computedWatchHandle/computedUpdater.js.map +1 -0
  6. package/dist/{behaviors/BComputedAndWatch → api/DefineComponent/assignOptions/computedWatchHandle}/data-tracer.d.ts +1 -1
  7. package/dist/api/DefineComponent/assignOptions/computedWatchHandle/data-tracer.js.map +1 -0
  8. package/dist/api/DefineComponent/assignOptions/computedWatchHandle/getPathsValue.js.map +1 -0
  9. package/dist/{behaviors/BComputedAndWatch → api/DefineComponent/assignOptions/computedWatchHandle}/getPropertiesValue.d.ts +1 -1
  10. package/dist/{behaviors/BComputedAndWatch → api/DefineComponent/assignOptions/computedWatchHandle}/getPropertiesValue.js +1 -1
  11. package/dist/api/DefineComponent/assignOptions/computedWatchHandle/getPropertiesValue.js.map +1 -0
  12. package/dist/api/DefineComponent/assignOptions/computedWatchHandle/index.d.ts +2 -0
  13. package/dist/api/DefineComponent/assignOptions/computedWatchHandle/index.js +69 -0
  14. package/dist/api/DefineComponent/assignOptions/computedWatchHandle/index.js.map +1 -0
  15. package/dist/{behaviors/BComputedAndWatch → api/DefineComponent/assignOptions/computedWatchHandle}/initComputed.d.ts +8 -5
  16. package/dist/{behaviors/BComputedAndWatch → api/DefineComponent/assignOptions/computedWatchHandle}/initComputed.js +1 -1
  17. package/dist/api/DefineComponent/assignOptions/computedWatchHandle/initComputed.js.map +1 -0
  18. package/dist/api/DefineComponent/assignOptions/computedWatchHandle/isEqual.js.map +1 -0
  19. package/dist/api/DefineComponent/assignOptions/index.d.ts +49 -0
  20. package/dist/api/DefineComponent/{collectOptionsForComponent.js → assignOptions/index.js} +35 -23
  21. package/dist/api/DefineComponent/assignOptions/index.js.map +1 -0
  22. package/dist/api/DefineComponent/assignOptions/initStore/index.d.ts +2 -0
  23. package/dist/api/DefineComponent/assignOptions/initStore/index.js +12 -0
  24. package/dist/api/DefineComponent/assignOptions/initStore/index.js.map +1 -0
  25. package/dist/api/DefineComponent/index.d.ts +1 -1
  26. package/dist/api/DefineComponent/index.js +2 -2
  27. package/dist/api/DefineComponent/index.js.map +1 -1
  28. package/dist/api/RootComponent/Lifetimes/LifetimesConstraint.d.ts +1 -1
  29. package/dist/api/RootComponent/Observers/ObserversOption.d.ts +1 -1
  30. package/dist/behaviors/BStore.js +1 -14
  31. package/dist/behaviors/BStore.js.map +1 -1
  32. package/dist/utils/deepClone.js.map +1 -1
  33. package/package.json +1 -1
  34. package/src/{behaviors/BComputedAndWatch → api/DefineComponent/assignOptions/computedWatchHandle}/computedUpdater.ts +6 -5
  35. package/src/{behaviors/BComputedAndWatch → api/DefineComponent/assignOptions/computedWatchHandle}/data-tracer.ts +1 -1
  36. package/src/{behaviors/BComputedAndWatch → api/DefineComponent/assignOptions/computedWatchHandle}/getPropertiesValue.ts +3 -4
  37. package/src/api/DefineComponent/assignOptions/computedWatchHandle/index.ts +110 -0
  38. package/src/{behaviors/BComputedAndWatch → api/DefineComponent/assignOptions/computedWatchHandle}/initComputed.ts +13 -8
  39. package/src/api/DefineComponent/{collectOptionsForComponent.ts → assignOptions/index.ts} +108 -61
  40. package/src/api/DefineComponent/assignOptions/initStore/index.ts +16 -0
  41. package/src/api/DefineComponent/index.ts +3 -6
  42. package/src/api/DefineComponent/storeDataHandle/index.ts +30 -0
  43. package/src/api/RootComponent/Lifetimes/LifetimesConstraint.ts +1 -1
  44. package/src/api/RootComponent/Observers/ObserversOption.ts +2 -2
  45. package/src/behaviors/BStore.ts +4 -22
  46. package/src/behaviors/BbeforeCreated.ts +1 -1
  47. package/src/utils/deepClone.ts +1 -2
  48. package/dist/api/DefineComponent/collectOptionsForComponent.d.ts +0 -31
  49. package/dist/api/DefineComponent/collectOptionsForComponent.js.map +0 -1
  50. package/dist/behaviors/BComputedAndWatch/computedUpdater.d.ts +0 -2
  51. package/dist/behaviors/BComputedAndWatch/computedUpdater.js.map +0 -1
  52. package/dist/behaviors/BComputedAndWatch/data-tracer.js.map +0 -1
  53. package/dist/behaviors/BComputedAndWatch/getPathsValue.js.map +0 -1
  54. package/dist/behaviors/BComputedAndWatch/getPropertiesValue.js.map +0 -1
  55. package/dist/behaviors/BComputedAndWatch/index.d.ts +0 -1
  56. package/dist/behaviors/BComputedAndWatch/index.js +0 -85
  57. package/dist/behaviors/BComputedAndWatch/index.js.map +0 -1
  58. package/dist/behaviors/BComputedAndWatch/initComputed.js.map +0 -1
  59. package/dist/behaviors/BComputedAndWatch/isEqual.js.map +0 -1
  60. package/dist/behaviors/BComputedAndWatch/types.d.ts +0 -24
  61. package/dist/behaviors/BComputedAndWatch/types.js +0 -2
  62. package/dist/behaviors/BComputedAndWatch/types.js.map +0 -1
  63. package/dist/utils/deleteProtoField.d.ts +0 -1
  64. package/dist/utils/deleteProtoField.js +0 -4
  65. package/dist/utils/deleteProtoField.js.map +0 -1
  66. package/src/behaviors/BComputedAndWatch/index.ts +0 -135
  67. package/src/behaviors/BComputedAndWatch/types.ts +0 -30
  68. package/src/utils/deleteProtoField.ts +0 -6
  69. /package/dist/{behaviors/BComputedAndWatch → api/DefineComponent/assignOptions/computedWatchHandle}/data-tracer.js +0 -0
  70. /package/dist/{behaviors/BComputedAndWatch → api/DefineComponent/assignOptions/computedWatchHandle}/getPathsValue.d.ts +0 -0
  71. /package/dist/{behaviors/BComputedAndWatch → api/DefineComponent/assignOptions/computedWatchHandle}/getPathsValue.js +0 -0
  72. /package/dist/{behaviors/BComputedAndWatch → api/DefineComponent/assignOptions/computedWatchHandle}/isEqual.d.ts +0 -0
  73. /package/dist/{behaviors/BComputedAndWatch → api/DefineComponent/assignOptions/computedWatchHandle}/isEqual.js +0 -0
  74. /package/src/{behaviors/BComputedAndWatch → api/DefineComponent/assignOptions/computedWatchHandle}/getPathsValue.ts +0 -0
  75. /package/src/{behaviors/BComputedAndWatch → api/DefineComponent/assignOptions/computedWatchHandle}/isEqual.ts +0 -0
package/CHANGELOG.md CHANGED
@@ -4,6 +4,13 @@
4
4
 
5
5
  * 解决DetailedType不接收接口类型的错误 ([ae8acbf](https://github.com/missannil/annil/commit/ae8acbfc2e62f99db565c448ad9253aa549e78bb))
6
6
 
7
+ ## [1.5.10](https://github.com/missannil/annil/compare/v1.5.9...v1.5.10) (2024-01-08)
8
+
9
+
10
+ ### Bug Fixes
11
+
12
+ * 同一组件多次复用时 computed和watch的问题 ([e996f10](https://github.com/missannil/annil/commit/e996f10369dc5fc64225f573a9f28c3c542c7226))
13
+
7
14
  ## [1.5.9](https://github.com/missannil/annil/compare/v1.5.8...v1.5.9) (2024-01-06)
8
15
 
9
16
 
package/README.md CHANGED
@@ -23,7 +23,7 @@
23
23
 
24
24
  ### 简介
25
25
 
26
- annil(安奈儿)是微信小程序原生开发插件,相较于原生API,使用annil会大大提高开发效率和代码质量。
26
+ annil(安奈儿)是微信小程序原生开发插件,她会带给您惊喜。
27
27
 
28
28
  ### 特点
29
29
 
@@ -0,0 +1,6 @@
1
+ import type { Instance } from "..";
2
+ export type ComputedDependence = {
3
+ paths: string[];
4
+ val: unknown;
5
+ };
6
+ export declare function computedUpdater(this: Instance, isUpdated?: boolean): boolean;
@@ -2,8 +2,8 @@ import { deepProxy, unwrap } from "./data-tracer";
2
2
  import { getPathsValue } from "./getPathsValue";
3
3
  import { isEqual } from "./isEqual";
4
4
  export function computedUpdater(isUpdated = false) {
5
- for (const key in this.__computedCache__) {
6
- const itemCache = this.__computedCache__[key];
5
+ for (const key in this.data.__computedCache__) {
6
+ const itemCache = this.data.__computedCache__[key];
7
7
  let changed = false;
8
8
  for (const dep of itemCache.dependences) {
9
9
  const curVal = getPathsValue(this.data, dep.paths.join("."))[0];
@@ -19,7 +19,7 @@ export function computedUpdater(isUpdated = false) {
19
19
  [key]: unwrap(newValue),
20
20
  });
21
21
  isUpdated = true;
22
- this.__computedCache__[key].dependences = newDependences;
22
+ this.data.__computedCache__[key].dependences = newDependences;
23
23
  return computedUpdater.call(this, isUpdated);
24
24
  }
25
25
  }
@@ -0,0 +1 @@
1
+ {"version":3,"file":"computedUpdater.js","sourceRoot":"","sources":["../../../../../src/api/DefineComponent/assignOptions/computedWatchHandle/computedUpdater.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;AAClD,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAEhD,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAGpC,MAAM,UAAU,eAAe,CAAiB,SAAS,GAAG,KAAK;IAC/D,KAAK,MAAM,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,iBAAiB,EAAE,CAAC;QAC9C,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,CAAC;QACnD,IAAI,OAAO,GAAG,KAAK,CAAC;QACpB,KAAK,MAAM,GAAG,IAAI,SAAS,CAAC,WAAW,EAAE,CAAC;YAExC,MAAM,MAAM,GAAG,aAAa,CAAC,IAAI,CAAC,IAAI,EAAE,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YAGhE,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;gBAC9B,OAAO,GAAG,IAAI,CAAC;gBAEf,MAAM;YACR,CAAC;QACH,CAAC;QACD,IAAI,OAAO,EAAE,CAAC;YACZ,MAAM,cAAc,GAAyB,EAAE,CAAC;YAChD,MAAM,QAAQ,GAAG,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,IAAI,EAAE,cAAc,CAAC,EAAE,CAAC,CAAC;YAGvF,IAAI,CAAC,OAAO,CAAC;gBACX,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC,QAAQ,CAAC;aACxB,CAAC,CAAC;YAEH,SAAS,GAAG,IAAI,CAAC;YAGjB,IAAI,CAAC,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,CAAC,WAAW,GAAG,cAAc,CAAC;YAG9D,OAAO,eAAe,CAAC,IAAI,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;QAC/C,CAAC;IACH,CAAC;IAED,OAAO,SAAS,CAAC;AACnB,CAAC"}
@@ -1,3 +1,3 @@
1
- import type { ComputedDependence } from "./initComputed";
1
+ import type { ComputedDependence } from "./computedUpdater";
2
2
  export declare function deepProxy(data: object, dependences: ComputedDependence[], basePath?: string[]): object;
3
3
  export declare function unwrap(wrapped: any): unknown;
@@ -0,0 +1 @@
1
+ {"version":3,"file":"data-tracer.js","sourceRoot":"","sources":["../../../../../src/api/DefineComponent/assignOptions/computedWatchHandle/data-tracer.ts"],"names":[],"mappings":"AAEA,MAAM,UAAU,SAAS,CACvB,IAAY,EACZ,WAAiC,EACjC,WAAqB,EAAE;IAEvB,MAAM,OAAO,GAAG;QACd,GAAG,CAAC,MAAc,EAAE,IAAY;YAI9B,IAAI,IAAI,KAAK,eAAe;gBAAE,OAAO,MAAM,CAAC;YAE5C,MAAM,GAAG,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC;YAKzB,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBAE1B,MAAM,eAAe,GAAG,WAAW,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;gBAE5D,IAAI,eAAe,CAAC,KAAK,CAAC,QAAQ,EAAE,KAAK,QAAQ,CAAC,QAAQ,EAAE,EAAE,CAAC;oBAE7D,WAAW,CAAC,GAAG,EAAE,CAAC;gBACpB,CAAC;YACH,CAAC;YACD,MAAM,OAAO,GAAG,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;YAItC,WAAW,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,GAAG,EAAE,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YAGvD,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,IAAI,OAAO,GAAG,KAAK,UAAU,EAAE,CAAC;gBAErF,OAAO,OAAO,GAAG,KAAK,UAAU,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;YAC5D,CAAC;YAED,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,GAAG,KAAK,IAAI;gBAAE,OAAO,GAAG,CAAC;YAExD,OAAO,SAAS,CAAC,GAAG,EAAE,WAAW,EAAE,OAAO,CAAC,CAAC;QAC9C,CAAC;QAED,GAAG,CAAC,OAAe,EAAE,IAAY;YAC/B,MAAM,KAAK,CAAC,GAAG,IAAI,QAAQ,CAAC,CAAC;QAC/B,CAAC;KACF,CAAC;IAEF,OAAO,IAAI,KAAK,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;AAClC,CAAC;AAED,MAAM,UAAU,MAAM,CAAC,OAAY;IAEjC,IAAI,OAAO,OAAO,KAAK,QAAQ,IAAI,OAAO,KAAK,IAAI,EAAE,CAAC;QACpD,OAAO,OAAO,CAAC;IACjB,CAAC;IAED,MAAM,aAAa,GAAG,OAAO,CAAC,aAAa,CAAC;IAC5C,IAAI,aAAa,EAAE,CAAC;QAClB,OAAO,GAAG,aAAa,CAAC;IAC1B,CAAC;IAED,OAAO,OAAO,CAAC;AACjB,CAAC"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getPathsValue.js","sourceRoot":"","sources":["../../../../../src/api/DefineComponent/assignOptions/computedWatchHandle/getPathsValue.ts"],"names":[],"mappings":"AAMA,MAAM,UAAU,aAAa,CAAC,IAAY,EAAE,KAAa;IACvD,MAAM,SAAS,GAAc,EAAE,CAAC;IAGhC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;QAE9B,IAAI,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;YAEzB,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;QAC3B,CAAC;QACD,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,GAAQ,EAAE,IAAI,EAAE,EAAE;YAEtD,IAAI,CAAC;gBACH,OAAO,GAAG,CAAC,IAAI,CAAC,CAAC;YACnB,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,OAAO,SAAS,CAAC;YACnB,CAAC;QACH,CAAC,EAAE,IAAI,CAAC,CAAC;QAET,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACxB,CAAC,CAAC,CAAC;IAEH,OAAO,SAAS,CAAC;AACnB,CAAC"}
@@ -1,2 +1,2 @@
1
- import type { PropertiesConstraint } from "../../api/RootComponent/Properties/PropertiesConstraint";
1
+ import type { PropertiesConstraint } from "../../../RootComponent/Properties/PropertiesConstraint";
2
2
  export declare function getPropertiesValue(propertiesOpt: PropertiesConstraint | undefined): object | undefined;
@@ -11,7 +11,7 @@ function getRequiredSingleValue(PropType) {
11
11
  case Boolean:
12
12
  return false;
13
13
  default:
14
- throw Error("properties字段类型只能为 String | Number | Array | Object | Boolean");
14
+ throw Error("properties字段类型只能为 String | Number | Array | Object | Boolean ");
15
15
  }
16
16
  }
17
17
  function IsRequiredSingle(config) {
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getPropertiesValue.js","sourceRoot":"","sources":["../../../../../src/api/DefineComponent/assignOptions/computedWatchHandle/getPropertiesValue.ts"],"names":[],"mappings":"AASA,SAAS,sBAAsB,CAC7B,QAAwB;IAExB,QAAQ,QAAQ,EAAE,CAAC;QACjB,KAAK,MAAM;YACT,OAAO,EAAE,CAAC;QACZ,KAAK,MAAM;YACT,OAAO,CAAC,CAAC;QACX,KAAK,KAAK;YACR,OAAO,EAAE,CAAC;QACZ,KAAK,MAAM;YACT,OAAO,IAAI,CAAC;QACd,KAAK,OAAO;YACV,OAAO,KAAK,CAAC;QACf;YAEE,MAAM,KAAK,CACT,+DAA+D,CAChE,CAAC;IACN,CAAC;AACH,CAAC;AACD,SAAS,gBAAgB,CAAC,MAAuB;IAC/C,OAAO,MAAM,YAAY,QAAQ,CAAC;AACpC,CAAC;AACD,SAAS,eAAe,CAAC,MAAuB;IAC9C,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;AACvC,CAAC;AACD,MAAM,UAAU,kBAAkB,CAAC,aAA+C;IAChF,IAAI,aAAa,KAAK,SAAS;QAAE,OAAO;IACxC,MAAM,MAAM,GAAG,EAAE,CAAC;IAClB,KAAK,MAAM,GAAG,IAAI,aAAa,EAAE,CAAC;QAChC,MAAM,MAAM,GAAG,aAAa,CAAC,GAAG,CAAC,CAAC;QAElC,IAAI,gBAAgB,CAAC,MAAM,CAAC,EAAE,CAAC;YAE7B,MAAM,CAAC,GAAG,CAAC,GAAG,sBAAsB,CAAC,MAAM,CAAC,CAAC;QAC/C,CAAC;aAAM,IAAI,eAAe,CAAC,MAAM,CAAC,EAAE,CAAC;YAEnC,MAAM,CAAC,GAAG,CAAC,GAAG,sBAAsB,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QACpD,CAAC;aAAM,CAAC;YAEN,MAAM,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC;QAC7B,CAAC;IACH,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC"}
@@ -0,0 +1,2 @@
1
+ import type { FinalOptionsOfComponent } from "..";
2
+ export declare function computedWatchHandle(options: FinalOptionsOfComponent): void;
@@ -0,0 +1,69 @@
1
+ import { computedUpdater } from "./computedUpdater";
2
+ import { getPathsValue } from "./getPathsValue";
3
+ import { getPropertiesValue } from "./getPropertiesValue";
4
+ import { initComputed } from "./initComputed";
5
+ import { isEqual } from "./isEqual";
6
+ import { deepClone } from "../../../../utils/deepClone";
7
+ import { isEmptyObject } from "../../../../utils/isEmptyObject";
8
+ function initWatchOldValue(data, watchConfig) {
9
+ const watchOldValue = {};
10
+ for (const key in watchConfig) {
11
+ watchOldValue[key] = deepClone(getPathsValue(data, key));
12
+ }
13
+ return watchOldValue;
14
+ }
15
+ export function computedWatchHandle(options) {
16
+ const computedConfig = options.computed;
17
+ const rawPropertiesValue = getPropertiesValue(options.properties);
18
+ if (computedConfig && !isEmptyObject(computedConfig)) {
19
+ const __computedInitCache__ = initComputed(options, computedConfig, Object.assign(Object.assign({}, options.data), rawPropertiesValue));
20
+ options.data.__computedCache__ = __computedInitCache__;
21
+ options.data.__computedStatus__ = "待更新";
22
+ options.methods.__computedUpdater__ = computedUpdater;
23
+ }
24
+ const observersConfig = options.observers;
25
+ const originalFunc = observersConfig["**"];
26
+ observersConfig["**"] = function () {
27
+ const computedStatus = this.data.__computedStatus__;
28
+ switch (computedStatus) {
29
+ case "待更新":
30
+ {
31
+ const isUpdated = this.__computedUpdater__();
32
+ if (isUpdated) {
33
+ this.data.__computedStatus__ = "更新完毕";
34
+ }
35
+ else {
36
+ originalFunc && originalFunc.call(this);
37
+ }
38
+ }
39
+ break;
40
+ case "更新完毕":
41
+ {
42
+ this.data.__computedStatus__ = "待更新";
43
+ originalFunc && originalFunc.call(this);
44
+ }
45
+ break;
46
+ }
47
+ originalFunc && originalFunc.call(this);
48
+ };
49
+ const watchConfig = options.watch;
50
+ if (watchConfig && !isEmptyObject(watchConfig)) {
51
+ const data = options.data;
52
+ data.__watchOldValue__ = initWatchOldValue(Object.assign(Object.assign({}, data), rawPropertiesValue), watchConfig);
53
+ const observersConfig = options.observers;
54
+ for (const key in watchConfig) {
55
+ const watchHadle = watchConfig[key];
56
+ const originObserversHandle = observersConfig[key];
57
+ observersConfig[key] = function (...newValue) {
58
+ originObserversHandle && originObserversHandle.call(this, ...newValue);
59
+ const watchOldValue = this.data.__watchOldValue__;
60
+ const oldValue = watchOldValue[key];
61
+ if (isEqual(newValue, oldValue))
62
+ return;
63
+ watchOldValue[key] = deepClone(newValue);
64
+ watchHadle.call(this, ...newValue, ...oldValue);
65
+ };
66
+ }
67
+ }
68
+ }
69
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/api/DefineComponent/assignOptions/computedWatchHandle/index.ts"],"names":[],"mappings":"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"}
@@ -1,9 +1,12 @@
1
1
  import type { Func } from "hry-types/src/Misc/Func";
2
- import type { FinalOptionsOfComponent } from "../../api/DefineComponent/collectOptionsForComponent";
3
- import type { ComputedCache, ItemCache } from "./types";
4
- export type ComputedDependence = {
5
- paths: string[];
6
- val: unknown;
2
+ import type { FinalOptionsOfComponent } from "..";
3
+ import type { ComputedDependence } from "./computedUpdater";
4
+ type ItemCache = {
5
+ dependences: ComputedDependence[];
6
+ method: Func;
7
+ value: unknown;
7
8
  };
9
+ export type ComputedCache = Record<string, ItemCache>;
8
10
  export declare function getItemCache(initAllData: object, computedKeys: string[], computedFunc: Func): false | ItemCache;
9
11
  export declare function initComputed(options: FinalOptionsOfComponent, computedConfig: Record<string, Func>, initAllData: object, uninitedkeys?: string[], computedCache?: ComputedCache): ComputedCache;
12
+ export {};
@@ -48,7 +48,7 @@ export function initComputed(options, computedConfig, initAllData, uninitedkeys
48
48
  uninitedkeys.push(key);
49
49
  }
50
50
  else {
51
- const dataOpt = options.data || (options.data = {});
51
+ const dataOpt = options.data;
52
52
  dataOpt[key] = itemCache.value;
53
53
  initAllData[key] = itemCache.value;
54
54
  computedCache[key] = itemCache;
@@ -0,0 +1 @@
1
+ {"version":3,"file":"initComputed.js","sourceRoot":"","sources":["../../../../../src/api/DefineComponent/assignOptions/computedWatchHandle/initComputed.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"isEqual.js","sourceRoot":"","sources":["../../../../../src/api/DefineComponent/assignOptions/computedWatchHandle/isEqual.ts"],"names":[],"mappings":"AAEA,SAAS,UAAU,CAAC,CAAS,EAAE,CAAS;IACtC,OAAO,MAAM,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,MAAM,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AACjF,CAAC;AAGD,SAAS,UAAU,CAAC,CAAS,EAAE,CAAS;IACtC,OAAO,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,KAAK,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;AACzD,CAAC;AAGD,SAAS,UAAU,CAAC,CAAW,EAAE,CAAW;IAE1C,OAAO,CAAC,CAAC,QAAQ,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,QAAQ,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;AAC/E,CAAC;AAGD,SAAS,UAAU,CAAC,CAAO,EAAE,CAAO;IAClC,OAAO,CAAC,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC,OAAO,EAAE,CAAC;AACrC,CAAC;AAGD,SAAS,aAAa,CAAC,CAAS,EAAE,CAAS;IACzC,OAAO,CAAC,CAAC,MAAM,KAAK,CAAC,CAAC,MAAM,IAAI,CAAC,CAAC,KAAK,KAAK,CAAC,CAAC,KAAK,CAAC;AACtD,CAAC;AAQD,MAAM,UAAU,OAAO,CAAC,CAAU,EAAE,CAAU;IAE5C,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,KAAK,IAAI,IAAI,OAAO,CAAC,KAAK,QAAQ,IAAI,OAAO,CAAC,KAAK,QAAQ,EAAE,CAAC;QAC/E,IAAI,OAAO,CAAC,KAAK,UAAU,IAAI,OAAO,CAAC,KAAK,UAAU,EAAE,CAAC;YACvD,OAAO,MAAM,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QACzB,CAAC;IACH,CAAC;IAGD,IAAI,CAAC,UAAU,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,WAAW,KAAK,CAAC,CAAC,WAAW,IAAI,CAAC,UAAU,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC;QAC9E,OAAO,KAAK,CAAC;IACf,CAAC;IAGD,IAAI,OAAO,CAAC,KAAK,UAAU,EAAE,CAAC;QAC5B,OAAO,UAAU,CAAC,CAAC,EAAE,CAAa,CAAC,CAAC;IACtC,CAAC;IAGD,IAAI,CAAC,YAAY,IAAI,EAAE,CAAC;QACtB,OAAO,UAAU,CAAC,CAAC,EAAE,CAAS,CAAC,CAAC;IAClC,CAAC;IAGD,IAAI,CAAC,YAAY,MAAM,EAAE,CAAC;QACxB,OAAO,aAAa,CAAC,CAAC,EAAE,CAAW,CAAC,CAAC;IACvC,CAAC;IAGD,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAE7B,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAE7B,KAAK,MAAM,GAAG,IAAI,KAAK,EAAE,CAAC;QACxB,IAAI,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;YAExB,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC;gBAC7B,OAAO,KAAK,CAAC;YACf,CAAC;QACH,CAAC;aAAM,CAAC;YACN,OAAO,KAAK,CAAC;QACf,CAAC;IACH,CAAC;IAGD,OAAO,IAAI,CAAC;AACd,CAAC"}
@@ -0,0 +1,49 @@
1
+ import type { Func } from "hry-types/src/Misc/_api";
2
+ import type { WMComponent } from "../../../types/OfficialTypeAlias";
3
+ import type { ComputedConstraint } from "../../RootComponent/Computed/ComputedConstraint";
4
+ import type { DataConstraint } from "../../RootComponent/Data/DataConstraint";
5
+ import type { ComponentInstance, PageInstance } from "../../RootComponent/Instance/RootComponentInstance";
6
+ import type { LifetimesConstraint } from "../../RootComponent/Lifetimes/LifetimesConstraint";
7
+ import type { MethodsConstraint } from "../../RootComponent/Methods/MethodsConstraint";
8
+ import type { PageLifetimesOption } from "../../RootComponent/PageLifetimes/PageLifetimesOption";
9
+ import type { PropertiesConstraint } from "../../RootComponent/Properties/PropertiesConstraint";
10
+ import type { StoreConstraint } from "../../RootComponent/Store/StoreConstraint";
11
+ import type { DefineComponentOption } from "..";
12
+ import type { ComputedCache } from "./computedWatchHandle/initComputed";
13
+ type InstanceInnerFields = {
14
+ data: OptionsInnerFields["data"];
15
+ disposer: Record<string, Func>;
16
+ } & OptionsInnerFields["methods"];
17
+ export type Instance = (ComponentInstance | PageInstance) & InstanceInnerFields;
18
+ export type FuncOptions = Record<"pageLifetimes" | "lifetimes" | "watch" | "observers", Record<string, Func[]>>;
19
+ export type WatchOldValue = Record<string, unknown[]>;
20
+ export type OptionsInnerFields = {
21
+ data: {
22
+ __computedStatus__?: "待更新" | "更新完毕";
23
+ __computedCache__?: ComputedCache;
24
+ __storeConfig__?: StoreConstraint;
25
+ __watchOldValue__?: WatchOldValue;
26
+ };
27
+ methods: {
28
+ disposer?: Record<string, Func>;
29
+ __computedUpdater__?: Func;
30
+ };
31
+ };
32
+ export type FinalOptionsOfComponent = {
33
+ data: DataConstraint & OptionsInnerFields["data"];
34
+ observers: Record<string, Func>;
35
+ behaviors: string[];
36
+ methods: MethodsConstraint & OptionsInnerFields["methods"];
37
+ externalClasses: string[];
38
+ pageLifetimes: PageLifetimesOption<false, object>["pageLifetimes"] & {};
39
+ isPage?: boolean;
40
+ options?: WMComponent.Options;
41
+ properties?: PropertiesConstraint;
42
+ store?: StoreConstraint;
43
+ computed?: ComputedConstraint;
44
+ watch?: Record<string, Func>;
45
+ lifetimes?: LifetimesConstraint;
46
+ };
47
+ export declare function isPageCheck(isPage: boolean | undefined): (this: Instance) => void;
48
+ export declare function assignOptions(defineComponentOption: DefineComponentOption): FinalOptionsOfComponent;
49
+ export {};
@@ -1,10 +1,11 @@
1
- import { BBeforeCreate } from "../../behaviors/BbeforeCreated";
2
- import { BComputedAndWatch } from "../../behaviors/BComputedAndWatch";
3
- import { BStore } from "../../behaviors/BStore";
4
- import { deepClone } from "../../utils/deepClone";
5
- import { INNERMARKER } from "../../utils/InnerMarker";
6
- import { isEmptyObject } from "../../utils/isEmptyObject";
7
- import { instanceConfig } from "../InstanceInject/instanceConfig";
1
+ import { BBeforeCreate } from "../../../behaviors/BbeforeCreated";
2
+ import { deepClone } from "../../../utils/deepClone";
3
+ import { INNERMARKER } from "../../../utils/InnerMarker";
4
+ import { isEmptyObject } from "../../../utils/isEmptyObject";
5
+ import { instanceConfig } from "../../InstanceInject/instanceConfig";
6
+ import { BStore } from "../../../behaviors/BStore";
7
+ import { computedWatchHandle } from "./computedWatchHandle";
8
+ import { initStore } from "./initStore";
8
9
  export function isPageCheck(isPage) {
9
10
  return function () {
10
11
  const route = this.route;
@@ -62,7 +63,7 @@ function _funcOptionsHandle(config, configList) {
62
63
  };
63
64
  }
64
65
  }
65
- function funcOptionsHandle(finalOptionsForComponent, isPage, funcOptions) {
66
+ function assignFuncOptions(finalOptionsForComponent, isPage, funcOptions) {
66
67
  if (isPage) {
67
68
  !(isEmptyObject(funcOptions.pageLifetimes))
68
69
  && _funcOptionsHandle(finalOptionsForComponent.methods, funcOptions.pageLifetimes);
@@ -76,10 +77,12 @@ function funcOptionsHandle(finalOptionsForComponent, isPage, funcOptions) {
76
77
  }
77
78
  function funcFieldsCollect(options, funcOptions) {
78
79
  var _a;
79
- for (const key in funcOptions) {
80
- if (options[key]) {
81
- for (const _key in options[key]) {
82
- ((_a = funcOptions[key])[_key] || (_a[_key] = [])).push(options[key][_key]);
80
+ let key;
81
+ for (key in funcOptions) {
82
+ const optionsKeyConfig = options[key];
83
+ if (optionsKeyConfig) {
84
+ for (const _key in optionsKeyConfig) {
85
+ ((_a = funcOptions[key])[_key] || (_a[_key] = [])).push(optionsKeyConfig[_key]);
83
86
  }
84
87
  }
85
88
  }
@@ -101,7 +104,7 @@ function otherFieldsHandle(finalOptions, rootComponentOptions) {
101
104
  function eventsHandle(methods, eventsConfig) {
102
105
  Object.assign(methods, eventsConfig);
103
106
  }
104
- function subComponentsHandle(componentOptions, subComponents, funcOptions) {
107
+ function assignSubComponentsOption(componentOptions, subComponents, funcOptions) {
105
108
  subComponents.forEach((subOption) => {
106
109
  subOption.events && eventsHandle(componentOptions.methods, subOption.events);
107
110
  funcFieldsCollect(subOption, funcOptions);
@@ -126,7 +129,7 @@ function customEventsHandle(methods, customEventsConfig) {
126
129
  }
127
130
  }
128
131
  }
129
- function collectRootComponentOption(finalOptions, funcOptions, rootComponentOptions) {
132
+ function assignRootComponentOption(finalOptions, funcOptions, rootComponentOptions) {
130
133
  rootComponentOptions.customEvents && customEventsHandle(finalOptions.methods, rootComponentOptions.customEvents);
131
134
  rootComponentOptions.events && eventsHandle(finalOptions.methods, rootComponentOptions.events);
132
135
  funcFieldsCollect(rootComponentOptions, funcOptions);
@@ -156,14 +159,14 @@ function merge(target, source) {
156
159
  }
157
160
  return target;
158
161
  }
159
- export function collectOptionsForComponent(defineComponentOption) {
162
+ export function assignOptions(defineComponentOption) {
160
163
  const rootComponentOption = defineComponentOption.rootComponent;
161
- const subComponentsList = defineComponentOption.subComponents;
164
+ const subComponentsOption = defineComponentOption.subComponents;
162
165
  const finalOptionsForComponent = merge(Object.assign({}, deepClone(instanceConfig.injectInfo)), {
163
166
  observers: {},
164
167
  data: {},
165
168
  methods: {},
166
- behaviors: [BStore, BComputedAndWatch],
169
+ behaviors: [BStore],
167
170
  externalClasses: [],
168
171
  pageLifetimes: {},
169
172
  });
@@ -171,22 +174,31 @@ export function collectOptionsForComponent(defineComponentOption) {
171
174
  pageLifetimes: {},
172
175
  lifetimes: {},
173
176
  watch: {},
177
+ observers: {},
174
178
  };
175
179
  if (rootComponentOption && !isEmptyObject(rootComponentOption)) {
176
- collectRootComponentOption(finalOptionsForComponent, funcOptions, rootComponentOption);
180
+ assignRootComponentOption(finalOptionsForComponent, funcOptions, rootComponentOption);
177
181
  }
178
- if (subComponentsList && !isEmptyObject(subComponentsList)) {
179
- subComponentsHandle(finalOptionsForComponent, subComponentsList, funcOptions);
182
+ if (subComponentsOption && !isEmptyObject(subComponentsOption)) {
183
+ assignSubComponentsOption(finalOptionsForComponent, subComponentsOption, funcOptions);
180
184
  }
181
- funcOptionsHandle(finalOptionsForComponent, rootComponentOption === null || rootComponentOption === void 0 ? void 0 : rootComponentOption.isPage, funcOptions);
182
- InternalFieldProtection(finalOptionsForComponent.methods, ["disposer"]);
185
+ assignFuncOptions(finalOptionsForComponent, rootComponentOption === null || rootComponentOption === void 0 ? void 0 : rootComponentOption.isPage, funcOptions);
186
+ InternalFieldProtection(finalOptionsForComponent.methods, ["disposer", "__computedUpdater__"]);
187
+ InternalFieldProtection(finalOptionsForComponent.data, [
188
+ "__computedStatus__",
189
+ "__computedCache__",
190
+ "__storeConfig__",
191
+ "__watchOldValue__",
192
+ ]);
183
193
  finalOptionsForComponent.isPage
184
194
  && hijack(finalOptionsForComponent.pageLifetimes, "load", [loadReceivedDataHandle]);
185
195
  hijack(finalOptionsForComponent.methods, "onLoad", [onLoadReceivedDataHandle]);
186
196
  hijack(finalOptionsForComponent.lifetimes, "attached", [isPageCheck(rootComponentOption === null || rootComponentOption === void 0 ? void 0 : rootComponentOption.isPage)]);
187
197
  finalOptionsForComponent.isPage
188
198
  && finalOptionsForComponent.options && Reflect.deleteProperty(finalOptionsForComponent.options, "virtualHost");
199
+ initStore(finalOptionsForComponent);
200
+ computedWatchHandle(finalOptionsForComponent);
189
201
  finalOptionsForComponent.behaviors.push(BBeforeCreate);
190
202
  return finalOptionsForComponent;
191
203
  }
192
- //# sourceMappingURL=collectOptionsForComponent.js.map
204
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/api/DefineComponent/assignOptions/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ import type { FinalOptionsOfComponent } from "..";
2
+ export declare function initStore(finalOptionsForComponent: FinalOptionsOfComponent): void;
@@ -0,0 +1,12 @@
1
+ export function initStore(finalOptionsForComponent) {
2
+ const storeConfig = finalOptionsForComponent.store;
3
+ if (storeConfig) {
4
+ const { toJS } = require("mobx");
5
+ for (const key in storeConfig) {
6
+ finalOptionsForComponent.data[key] = toJS(storeConfig[key]());
7
+ }
8
+ finalOptionsForComponent.data.__storeConfig__ = storeConfig;
9
+ delete finalOptionsForComponent.store;
10
+ }
11
+ }
12
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/api/DefineComponent/assignOptions/initStore/index.ts"],"names":[],"mappings":"AAEA,MAAM,UAAU,SAAS,CAAC,wBAAiD;IACzE,MAAM,WAAW,GAAG,wBAAwB,CAAC,KAAK,CAAC;IACnD,IAAI,WAAW,EAAE,CAAC;QAChB,MAAM,EAAE,IAAI,EAAE,GAAG,OAAO,CAAC,MAAM,CAAgB,CAAC;QAChD,KAAK,MAAM,GAAG,IAAI,WAAW,EAAE,CAAC;YAC9B,wBAAwB,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAGhE,CAAC;QACD,wBAAwB,CAAC,IAAI,CAAC,eAAe,GAAG,WAAW,CAAC;QAE5D,OAAO,wBAAwB,CAAC,KAAK,CAAC;IACxC,CAAC;AACH,CAAC"}
@@ -7,7 +7,7 @@ import type { CreatePageDoc } from "./ReturnType/CreatePageDoc";
7
7
  import type { RootComponentOption } from "./RootComponent/RootComponentOption";
8
8
  import type { SubComponentsOption } from "./SubComponents/SubComponentsOption";
9
9
  import type { RootComponentTrueOptions } from "../RootComponent";
10
- type Path = `/${string}`;
10
+ export type Path = `/${string}`;
11
11
  type RootOptions<TRootComponentDoc extends RootComponentDoc, TSubComponentTuple extends SubComponentDoc[], TName extends string, TPath extends Path> = NameOrPathOption<TName, TPath, TRootComponentDoc["isPage"] & {}> & RootComponentOption<TRootComponentDoc> & SubComponentsOption<TSubComponentTuple>;
12
12
  interface DefineComponentConstructor {
13
13
  <TRootComponentDoc extends RootComponentDoc = {}, TSubComponentTuple extends SubComponentDoc[] = [], TName extends string = "", TPath extends Path = "/">(options: RootOptions<TRootComponentDoc, TSubComponentTuple, TName, TPath>): IfExtends<"", TName, CreatePageDoc<TRootComponentDoc, TPath>, CreateComponentDoc<TRootComponentDoc, TName, TSubComponentTuple>>;
@@ -1,5 +1,5 @@
1
- import { collectOptionsForComponent } from "./collectOptionsForComponent";
1
+ import { assignOptions } from "./assignOptions";
2
2
  export const DefineComponent = function (options) {
3
- Component(collectOptionsForComponent(options));
3
+ Component(assignOptions(options));
4
4
  };
5
5
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/api/DefineComponent/index.ts"],"names":[],"mappings":"AAWA,OAAO,EAAE,0BAA0B,EAAE,MAAM,8BAA8B,CAAC;AA2C1E,MAAM,CAAC,MAAM,eAAe,GAA+B,UAAS,OAAO;IAGzE,SAAS,CACP,0BAA0B,CAAC,OAAgC,CAAQ,CACpE,CAAC;AACJ,CAAC,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/api/DefineComponent/index.ts"],"names":[],"mappings":"AAWA,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AA0ChD,MAAM,CAAC,MAAM,eAAe,GAA+B,UAAS,OAAO;IACzE,SAAS,CACP,aAAa,CAAC,OAAgC,CAAQ,CACvD,CAAC;AACJ,CAAC,CAAC"}
@@ -1,6 +1,6 @@
1
1
  import type { ComputeIntersection } from "hry-types/src/Object/ComputeIntersection";
2
2
  import type { WMCompLifetimes } from "../../../types/OfficialTypeAlias";
3
- import type { FinalOptionsOfComponent } from "../../DefineComponent/collectOptionsForComponent";
3
+ import type { FinalOptionsOfComponent } from "../../DefineComponent/assignOptions";
4
4
  export type LifetimesConstraint = ComputeIntersection<WMCompLifetimes["lifetimes"] & {
5
5
  beforeCreate?: (this: void, options: FinalOptionsOfComponent) => void;
6
6
  }>;
@@ -12,7 +12,7 @@ type AddFieldsOfObject<TWatchData extends object, _WatchKeys extends keyof TWatc
12
12
  };
13
13
  export type ObserversOption<TWatchData extends object, _WatchKeys extends keyof TWatchData = keyof TWatchData> = {
14
14
  observers?: IfExtends<{}, TWatchData, EmptyObject, NoInfer<{
15
- [k in _WatchKeys]?: (newValue: ReadonlyDeep<TWatchData[k]>) => void;
15
+ [k in _WatchKeys | "**"]?: (newValue: k extends keyof TWatchData ? ReadonlyDeep<TWatchData[k]> : unknown) => void;
16
16
  } & {
17
17
  [k in _WatchKeys as never]: unknown;
18
18
  } & AddFieldsOfObject<TWatchData, _WatchKeys>>>;
@@ -1,22 +1,9 @@
1
- import { deleteProtoField } from "../utils/deleteProtoField";
2
1
  export const BStore = Behavior({
3
- definitionFilter(options) {
4
- const storeConfig = options.store;
5
- if (!storeConfig)
6
- return;
7
- const { toJS } = require("mobx");
8
- for (const key in storeConfig) {
9
- options.data[key] = toJS(storeConfig[key]());
10
- options.methods.__storeConfig__ = () => storeConfig;
11
- }
12
- },
13
2
  lifetimes: {
14
3
  created() {
15
- var _a;
16
- const storeConfig = (_a = this.__storeConfig__) === null || _a === void 0 ? void 0 : _a.call(this);
4
+ const storeConfig = this.data.__storeConfig__;
17
5
  if (!storeConfig)
18
6
  return;
19
- deleteProtoField(this, "__storeConfig__");
20
7
  const { comparer, reaction, toJS } = require("mobx");
21
8
  this.disposer = {};
22
9
  for (const key in storeConfig) {
@@ -1 +1 @@
1
- {"version":3,"file":"BStore.js","sourceRoot":"","sources":["../../src/behaviors/BStore.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AAG7D,MAAM,CAAC,MAAM,MAAM,GAAG,QAAQ,CAAC;IAE7B,gBAAgB,CAAC,OAAgC;QAE/C,MAAM,WAAW,GAAG,OAAO,CAAC,KAAK,CAAC;QAClC,IAAI,CAAC,WAAW;YAAE,OAAO;QACzB,MAAM,EAAE,IAAI,EAAE,GAAG,OAAO,CAAC,MAAM,CAAgB,CAAC;QAChD,KAAK,MAAM,GAAG,IAAI,WAAW,EAAE,CAAC;YAC9B,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YAG7C,OAAO,CAAC,OAAO,CAAC,eAAe,GAAG,GAAG,EAAE,CAAC,WAAW,CAAC;QACtD,CAAC;IACH,CAAC;IACD,SAAS,EAAE;QACT,OAAO;;YAEL,MAAM,WAAW,GAAG,MAAA,IAAI,CAAC,eAAe,oDAAI,CAAC;YAC7C,IAAI,CAAC,WAAW;gBAAE,OAAO;YACzB,gBAAgB,CAAC,IAAI,EAAE,iBAAiB,CAAC,CAAC;YAE1C,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE,GAAG,OAAO,CAAC,MAAM,CAAgB,CAAC;YAEpE,IAAI,CAAC,QAAQ,GAAG,EAAE,CAAC;YAEnB,KAAK,MAAM,GAAG,IAAI,WAAW,EAAE,CAAC;gBAE9B,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,QAAQ,CAC3B,WAAW,CAAC,GAAG,CAAC,EAChB,CAAC,KAAc,EAAE,EAAE;oBAEjB,IAAI,CAAC,OAAO,CAAC;wBACX,CAAC,GAAG,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC;qBACnB,CAAC,CAAC;gBACL,CAAC,EACD;oBACE,MAAM,EAAE,QAAQ,CAAC,UAAU;iBAC5B,CACF,CAAC;YACJ,CAAC;QACH,CAAC;QAED,QAAQ;YAEN,KAAK,MAAM,GAAG,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;gBAChC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;YACvB,CAAC;QACH,CAAC;KACF;CACF,CAAC,CAAC"}
1
+ {"version":3,"file":"BStore.js","sourceRoot":"","sources":["../../src/behaviors/BStore.ts"],"names":[],"mappings":"AAGA,MAAM,CAAC,MAAM,MAAM,GAAG,QAAQ,CAAC;IAC7B,SAAS,EAAE;QACT,OAAO;YACL,MAAM,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC;YAC9C,IAAI,CAAC,WAAW;gBAAE,OAAO;YAEzB,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE,GAAG,OAAO,CAAC,MAAM,CAAgB,CAAC;YAEpE,IAAI,CAAC,QAAQ,GAAG,EAAE,CAAC;YAEnB,KAAK,MAAM,GAAG,IAAI,WAAW,EAAE,CAAC;gBAE9B,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,QAAQ,CAC3B,WAAW,CAAC,GAAG,CAAC,EAChB,CAAC,KAAc,EAAE,EAAE;oBAEjB,IAAI,CAAC,OAAO,CAAC;wBACX,CAAC,GAAG,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC;qBACnB,CAAC,CAAC;gBACL,CAAC,EACD;oBACE,MAAM,EAAE,QAAQ,CAAC,UAAU;iBAC5B,CACF,CAAC;YACJ,CAAC;QACH,CAAC;QAED,QAAQ;YAEN,KAAK,MAAM,GAAG,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;gBAChC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;YACvB,CAAC;QACH,CAAC;KACF;CACF,CAAC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"deepClone.js","sourceRoot":"","sources":["../../src/utils/deepClone.ts"],"names":[],"mappings":"AAGA,MAAM,UAAU,SAAS,CAAI,KAAQ;IACnC,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,YAAY,MAAM,EAAE,CAAC;QAC3E,OAAO,KAAK,CAAC;IACf,CAAC;IAED,MAAM,KAAK,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAM,CAAC;IAEpD,MAAM,CAAC,cAAc,CAAC,KAAK,EAAE,MAAM,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC,CAAC;IAG3D,KAAK,MAAM,GAAG,IAAI,KAAK,EAAE,CAAC;QACxB,IAAI,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,KAAK,EAAE,GAAG,CAAC,EAAE,CAAC;YACrD,KAAK,CAAC,GAAG,CAAC,GAAG,SAAS,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC;QACrC,CAAC;IACH,CAAC;IAED,OAAO,KAAK,CAAC;AACf,CAAC"}
1
+ {"version":3,"file":"deepClone.js","sourceRoot":"","sources":["../../src/utils/deepClone.ts"],"names":[],"mappings":"AAGA,MAAM,UAAU,SAAS,CAAI,KAAQ;IACnC,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,YAAY,MAAM,EAAE,CAAC;QAC3E,OAAO,KAAK,CAAC;IACf,CAAC;IAED,MAAM,KAAK,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAM,CAAC;IAEpD,MAAM,CAAC,cAAc,CAAC,KAAK,EAAE,MAAM,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC,CAAC;IAE3D,KAAK,MAAM,GAAG,IAAI,KAAK,EAAE,CAAC;QACxB,IAAI,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,KAAK,EAAE,GAAG,CAAC,EAAE,CAAC;YACrD,KAAK,CAAC,GAAG,CAAC,GAAG,SAAS,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC;QACrC,CAAC;IACH,CAAC;IAED,OAAO,KAAK,CAAC;AACf,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "annil",
3
- "version": "1.5.9",
3
+ "version": "1.5.10",
4
4
  "description": "微信小程序(原生开发)插件",
5
5
  "main": "dist/index.js",
6
6
  "types": "src/index.ts",
@@ -1,13 +1,14 @@
1
+ import type { Instance } from "..";
2
+
1
3
  import { deepProxy, unwrap } from "./data-tracer";
2
4
  import { getPathsValue } from "./getPathsValue";
3
5
 
4
- import type { ComputedDependence } from "./initComputed";
5
6
  import { isEqual } from "./isEqual";
6
- import type { Instance } from "./types";
7
+ export type ComputedDependence = { paths: string[]; val: unknown };
7
8
 
8
9
  export function computedUpdater(this: Instance, isUpdated = false): boolean {
9
- for (const key in this.__computedCache__) {
10
- const itemCache = this.__computedCache__[key];
10
+ for (const key in this.data.__computedCache__) {
11
+ const itemCache = this.data.__computedCache__[key];
11
12
  let changed = false;
12
13
  for (const dep of itemCache.dependences) {
13
14
  // getPathsValue返回的是数组
@@ -32,7 +33,7 @@ export function computedUpdater(this: Instance, isUpdated = false): boolean {
32
33
  isUpdated = true;
33
34
 
34
35
  // 更新依赖
35
- this.__computedCache__[key].dependences = newDependences;
36
+ this.data.__computedCache__[key].dependences = newDependences;
36
37
 
37
38
  // 有一个计算属性更新就重新更新所有计算互相,避免后置依赖导致前置依赖错误
38
39
  return computedUpdater.call(this, isUpdated);
@@ -1,4 +1,4 @@
1
- import type { ComputedDependence } from "./initComputed";
1
+ import type { ComputedDependence } from "./computedUpdater";
2
2
 
3
3
  export function deepProxy(
4
4
  data: object,
@@ -3,11 +3,10 @@ import type {
3
3
  PropertiesTypes,
4
4
  RequiredSingle,
5
5
  RequiredUnion,
6
- } from "../../api/RootComponent/Properties/PropertiesConstraint";
6
+ } from "../../../RootComponent/Properties/PropertiesConstraint";
7
7
 
8
8
  type PropertiesDefaultValue = "" | 0 | [] | null | false;
9
9
 
10
- /* istanbul ignore next */
11
10
  function getRequiredSingleValue(
12
11
  PropType: RequiredSingle,
13
12
  ): PropertiesDefaultValue {
@@ -25,7 +24,7 @@ function getRequiredSingleValue(
25
24
  default:
26
25
  /* istanbul ignore next */
27
26
  throw Error(
28
- "properties字段类型只能为 String | Number | Array | Object | Boolean",
27
+ "properties字段类型只能为 String | Number | Array | Object | Boolean ",
29
28
  );
30
29
  }
31
30
  }
@@ -40,7 +39,7 @@ export function getPropertiesValue(propertiesOpt: PropertiesConstraint | undefin
40
39
  const result = {};
41
40
  for (const key in propertiesOpt) {
42
41
  const config = propertiesOpt[key];
43
- /* istanbul ignore next */
42
+
44
43
  if (IsRequiredSingle(config)) {
45
44
  // @ts-ignore 隐式索引
46
45
  result[key] = getRequiredSingleValue(config);