annil 1.5.9 → 1.5.11

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 (74) hide show
  1. package/CHANGELOG.md +14 -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 +50 -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 +48 -0
  20. package/dist/api/DefineComponent/{collectOptionsForComponent.js → assignOptions/index.js} +34 -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 +2 -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 -5
  37. package/src/api/DefineComponent/assignOptions/computedWatchHandle/index.ts +79 -0
  38. package/src/{behaviors/BComputedAndWatch → api/DefineComponent/assignOptions/computedWatchHandle}/initComputed.ts +13 -8
  39. package/src/api/DefineComponent/{collectOptionsForComponent.ts → assignOptions/index.ts} +104 -59
  40. package/src/api/DefineComponent/assignOptions/initStore/index.ts +16 -0
  41. package/src/api/DefineComponent/index.ts +3 -6
  42. package/src/api/RootComponent/Lifetimes/LifetimesConstraint.ts +1 -1
  43. package/src/api/RootComponent/Observers/ObserversOption.ts +2 -2
  44. package/src/behaviors/BStore.ts +5 -22
  45. package/src/behaviors/BbeforeCreated.ts +1 -1
  46. package/src/utils/deepClone.ts +1 -2
  47. package/dist/api/DefineComponent/collectOptionsForComponent.d.ts +0 -31
  48. package/dist/api/DefineComponent/collectOptionsForComponent.js.map +0 -1
  49. package/dist/behaviors/BComputedAndWatch/computedUpdater.d.ts +0 -2
  50. package/dist/behaviors/BComputedAndWatch/computedUpdater.js.map +0 -1
  51. package/dist/behaviors/BComputedAndWatch/data-tracer.js.map +0 -1
  52. package/dist/behaviors/BComputedAndWatch/getPathsValue.js.map +0 -1
  53. package/dist/behaviors/BComputedAndWatch/getPropertiesValue.js.map +0 -1
  54. package/dist/behaviors/BComputedAndWatch/index.d.ts +0 -1
  55. package/dist/behaviors/BComputedAndWatch/index.js +0 -85
  56. package/dist/behaviors/BComputedAndWatch/index.js.map +0 -1
  57. package/dist/behaviors/BComputedAndWatch/initComputed.js.map +0 -1
  58. package/dist/behaviors/BComputedAndWatch/isEqual.js.map +0 -1
  59. package/dist/behaviors/BComputedAndWatch/types.d.ts +0 -24
  60. package/dist/behaviors/BComputedAndWatch/types.js +0 -2
  61. package/dist/behaviors/BComputedAndWatch/types.js.map +0 -1
  62. package/dist/utils/deleteProtoField.d.ts +0 -1
  63. package/dist/utils/deleteProtoField.js +0 -4
  64. package/dist/utils/deleteProtoField.js.map +0 -1
  65. package/src/behaviors/BComputedAndWatch/index.ts +0 -135
  66. package/src/behaviors/BComputedAndWatch/types.ts +0 -30
  67. package/src/utils/deleteProtoField.ts +0 -6
  68. /package/dist/{behaviors/BComputedAndWatch → api/DefineComponent/assignOptions/computedWatchHandle}/data-tracer.js +0 -0
  69. /package/dist/{behaviors/BComputedAndWatch → api/DefineComponent/assignOptions/computedWatchHandle}/getPathsValue.d.ts +0 -0
  70. /package/dist/{behaviors/BComputedAndWatch → api/DefineComponent/assignOptions/computedWatchHandle}/getPathsValue.js +0 -0
  71. /package/dist/{behaviors/BComputedAndWatch → api/DefineComponent/assignOptions/computedWatchHandle}/isEqual.d.ts +0 -0
  72. /package/dist/{behaviors/BComputedAndWatch → api/DefineComponent/assignOptions/computedWatchHandle}/isEqual.js +0 -0
  73. /package/src/{behaviors/BComputedAndWatch → api/DefineComponent/assignOptions/computedWatchHandle}/getPathsValue.ts +0 -0
  74. /package/src/{behaviors/BComputedAndWatch → api/DefineComponent/assignOptions/computedWatchHandle}/isEqual.ts +0 -0
package/CHANGELOG.md CHANGED
@@ -4,6 +4,20 @@
4
4
 
5
5
  * 解决DetailedType不接收接口类型的错误 ([ae8acbf](https://github.com/missannil/annil/commit/ae8acbfc2e62f99db565c448ad9253aa549e78bb))
6
6
 
7
+ ## [1.5.11](https://github.com/missannil/annil/compare/v1.5.10...v1.5.11) (2024-01-08)
8
+
9
+
10
+ ### Bug Fixes
11
+
12
+ * 去除__computedStatus__,修复observers中this.setData不触发 ([8296972](https://github.com/missannil/annil/commit/829697261f708089294a122a462dfc85ac9df911))
13
+
14
+ ## [1.5.10](https://github.com/missannil/annil/compare/v1.5.9...v1.5.10) (2024-01-08)
15
+
16
+
17
+ ### Bug Fixes
18
+
19
+ * 同一组件多次复用时 computed和watch的问题 ([e996f10](https://github.com/missannil/annil/commit/e996f10369dc5fc64225f573a9f28c3c542c7226))
20
+
7
21
  ## [1.5.9](https://github.com/missannil/annil/compare/v1.5.8...v1.5.9) (2024-01-06)
8
22
 
9
23
 
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;YACE,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,50 @@
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.methods.__computedUpdater__ = computedUpdater;
22
+ }
23
+ const observersConfig = options.observers;
24
+ const originalFunc = observersConfig["**"];
25
+ observersConfig["**"] = function () {
26
+ var _a;
27
+ (_a = this.__computedUpdater__) === null || _a === void 0 ? void 0 : _a.call(this);
28
+ originalFunc && originalFunc.call(this);
29
+ };
30
+ const watchConfig = options.watch;
31
+ if (watchConfig && !isEmptyObject(watchConfig)) {
32
+ const data = options.data;
33
+ data.__watchOldValue__ = initWatchOldValue(Object.assign(Object.assign({}, data), rawPropertiesValue), watchConfig);
34
+ const observersConfig = options.observers;
35
+ for (const key in watchConfig) {
36
+ const watchHadle = watchConfig[key];
37
+ const originObserversHandle = observersConfig[key];
38
+ observersConfig[key] = function (...newValue) {
39
+ originObserversHandle && originObserversHandle.call(this, ...newValue);
40
+ const watchOldValue = this.data.__watchOldValue__;
41
+ const oldValue = watchOldValue[key];
42
+ if (isEqual(newValue, oldValue))
43
+ return;
44
+ watchOldValue[key] = deepClone(newValue);
45
+ watchHadle.call(this, ...newValue, ...oldValue);
46
+ };
47
+ }
48
+ }
49
+ }
50
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/api/DefineComponent/assignOptions/computedWatchHandle/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEpC,OAAO,EAAE,SAAS,EAAE,MAAM,6BAA6B,CAAC;AACxD,OAAO,EAAE,aAAa,EAAE,MAAM,iCAAiC,CAAC;AAKhE,SAAS,iBAAiB,CAAC,IAAqC,EAAE,WAAmB;IACnF,MAAM,aAAa,GAAG,EAAE,CAAC;IACzB,KAAK,MAAM,GAAG,IAAI,WAAW,EAAE,CAAC;QAM9B,aAAa,CAAC,GAAG,CAAC,GAAG,SAAS,CAAC,aAAa,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC,CAAC;IAC3D,CAAC;IAED,OAAO,aAAa,CAAC;AACvB,CAAC;AACD,MAAM,UAAU,mBAAmB,CAAC,OAAgC;IAElE,MAAM,cAAc,GAAG,OAAO,CAAC,QAAQ,CAAC;IACxC,MAAM,kBAAkB,GAAG,kBAAkB,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;IAClE,IAAI,cAAc,IAAI,CAAC,aAAa,CAAC,cAAc,CAAC,EAAE,CAAC;QAGrD,MAAM,qBAAqB,GAAG,YAAY,CAAC,OAAO,EAAE,cAAc,kCAAO,OAAO,CAAC,IAAI,GAAK,kBAAkB,EAAG,CAAC;QAEhH,OAAO,CAAC,IAAI,CAAC,iBAAiB,GAAG,qBAAqB,CAAC;QAEvD,OAAO,CAAC,OAAO,CAAC,mBAAmB,GAAG,eAAe,CAAC;IAGxD,CAAC;IACD,MAAM,eAAe,GAAG,OAAO,CAAC,SAAS,CAAC;IAE1C,MAAM,YAAY,GAAG,eAAe,CAAC,IAAI,CAAqB,CAAC;IAE/D,eAAe,CAAC,IAAI,CAAC,GAAG;;QACtB,MAAA,IAAI,CAAC,mBAAmB,oDAAI,CAAC;QAE7B,YAAY,IAAI,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC1C,CAAC,CAAC;IAGF,MAAM,WAAW,GAAG,OAAO,CAAC,KAAK,CAAC;IAElC,IAAI,WAAW,IAAI,CAAC,aAAa,CAAC,WAAW,CAAC,EAAE,CAAC;QAC/C,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;QAE1B,IAAI,CAAC,iBAAiB,GAAG,iBAAiB,iCAAM,IAAI,GAAK,kBAAkB,GAAI,WAAW,CAAC,CAAC;QAE5F,MAAM,eAAe,GAAG,OAAO,CAAC,SAAS,CAAC;QAC1C,KAAK,MAAM,GAAG,IAAI,WAAW,EAAE,CAAC;YAC9B,MAAM,UAAU,GAAG,WAAW,CAAC,GAAG,CAAC,CAAC;YACpC,MAAM,qBAAqB,GAAG,eAAe,CAAC,GAAG,CAAqB,CAAC;YAGvE,eAAe,CAAC,GAAG,CAAC,GAAG,UAAyB,GAAG,QAAmB;gBACpE,qBAAqB,IAAI,qBAAqB,CAAC,IAAI,CAAC,IAAI,EAAE,GAAG,QAAQ,CAAC,CAAC;gBAEvE,MAAM,aAAa,GAAG,IAAI,CAAC,IAAI,CAAC,iBAAkB,CAAC;gBACnD,MAAM,QAAQ,GAAG,aAAa,CAAC,GAAG,CAAC,CAAC;gBAEpC,IAAI,OAAO,CAAC,QAAQ,EAAE,QAAQ,CAAC;oBAAE,OAAO;gBACxC,aAAa,CAAC,GAAG,CAAC,GAAG,SAAS,CAAC,QAAQ,CAAC,CAAC;gBAEzC,UAAU,CAAC,IAAI,CAAC,IAAI,EAAE,GAAG,QAAQ,EAAE,GAAG,QAAQ,CAAC,CAAC;YAClD,CAAC,CAAC;QACJ,CAAC;IACH,CAAC;AACH,CAAC"}
@@ -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,48 @@
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
+ __computedCache__?: ComputedCache;
23
+ __storeConfig__?: StoreConstraint;
24
+ __watchOldValue__?: WatchOldValue;
25
+ };
26
+ methods: {
27
+ disposer?: Record<string, Func>;
28
+ __computedUpdater__?: Func;
29
+ };
30
+ };
31
+ export type FinalOptionsOfComponent = {
32
+ data: DataConstraint & OptionsInnerFields["data"];
33
+ observers: Record<string, Func>;
34
+ behaviors: string[];
35
+ methods: MethodsConstraint & OptionsInnerFields["methods"];
36
+ externalClasses: string[];
37
+ pageLifetimes: PageLifetimesOption<false, object>["pageLifetimes"] & {};
38
+ isPage?: boolean;
39
+ options?: WMComponent.Options;
40
+ properties?: PropertiesConstraint;
41
+ store?: StoreConstraint;
42
+ computed?: ComputedConstraint;
43
+ watch?: Record<string, Func>;
44
+ lifetimes?: LifetimesConstraint;
45
+ };
46
+ export declare function isPageCheck(isPage: boolean | undefined): (this: Instance) => void;
47
+ export declare function assignOptions(defineComponentOption: DefineComponentOption): FinalOptionsOfComponent;
48
+ 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,30 @@ 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
+ "__computedCache__",
189
+ "__storeConfig__",
190
+ "__watchOldValue__",
191
+ ]);
183
192
  finalOptionsForComponent.isPage
184
193
  && hijack(finalOptionsForComponent.pageLifetimes, "load", [loadReceivedDataHandle]);
185
194
  hijack(finalOptionsForComponent.methods, "onLoad", [onLoadReceivedDataHandle]);
186
195
  hijack(finalOptionsForComponent.lifetimes, "attached", [isPageCheck(rootComponentOption === null || rootComponentOption === void 0 ? void 0 : rootComponentOption.isPage)]);
187
196
  finalOptionsForComponent.isPage
188
197
  && finalOptionsForComponent.options && Reflect.deleteProperty(finalOptionsForComponent.options, "virtualHost");
198
+ initStore(finalOptionsForComponent);
199
+ computedWatchHandle(finalOptionsForComponent);
189
200
  finalOptionsForComponent.behaviors.push(BBeforeCreate);
190
201
  return finalOptionsForComponent;
191
202
  }
192
- //# sourceMappingURL=collectOptionsForComponent.js.map
203
+ //# 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) {
@@ -28,6 +15,7 @@ export const BStore = Behavior({
28
15
  equals: comparer.structural,
29
16
  });
30
17
  }
18
+ delete this.data.__storeConfig__;
31
19
  },
32
20
  detached() {
33
21
  for (const key in this.disposer) {
@@ -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;YACD,OAAO,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC;QACnC,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.11",
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 {
@@ -23,9 +22,8 @@ function getRequiredSingleValue(
23
22
  case Boolean:
24
23
  return false;
25
24
  default:
26
- /* istanbul ignore next */
27
25
  throw Error(
28
- "properties字段类型只能为 String | Number | Array | Object | Boolean",
26
+ "properties字段类型只能为 String | Number | Array | Object | Boolean ",
29
27
  );
30
28
  }
31
29
  }
@@ -40,7 +38,7 @@ export function getPropertiesValue(propertiesOpt: PropertiesConstraint | undefin
40
38
  const result = {};
41
39
  for (const key in propertiesOpt) {
42
40
  const config = propertiesOpt[key];
43
- /* istanbul ignore next */
41
+
44
42
  if (IsRequiredSingle(config)) {
45
43
  // @ts-ignore 隐式索引
46
44
  result[key] = getRequiredSingleValue(config);