annil 1.0.0 → 1.0.4

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 (137) hide show
  1. package/CHANGELOG.md +20 -0
  2. package/README.md +38 -2
  3. package/dist/api/DefineComponent/ReturnType/test/normalComponentDoc.test.js.map +1 -1
  4. package/dist/api/DefineComponent/ReturnType/test/normalPageDoc.test.js.map +1 -1
  5. package/dist/api/DefineComponent/collectOptionsForComponent.d.ts +4 -0
  6. package/dist/api/DefineComponent/collectOptionsForComponent.js +152 -0
  7. package/dist/api/DefineComponent/collectOptionsForComponent.js.map +1 -0
  8. package/dist/api/DefineComponent/index.d.ts +4 -28
  9. package/dist/api/DefineComponent/index.js +2 -32
  10. package/dist/api/DefineComponent/index.js.map +1 -1
  11. package/dist/api/RootComponent/CustomEvents/CustomEventConstraint.d.ts +2 -1
  12. package/dist/api/RootComponent/Data/DataConstraint.d.ts +1 -0
  13. package/dist/api/RootComponent/Data/DataConstraint.js +2 -0
  14. package/dist/api/RootComponent/Data/DataConstraint.js.map +1 -0
  15. package/dist/api/RootComponent/Lifetimes/LifetimesConstraint.d.ts +4 -1
  16. package/dist/api/RootComponent/Lifetimes/test/error.test.js +1 -0
  17. package/dist/api/RootComponent/Lifetimes/test/error.test.js.map +1 -1
  18. package/dist/api/RootComponent/Lifetimes/test/normal.test.js +3 -0
  19. package/dist/api/RootComponent/Lifetimes/test/normal.test.js.map +1 -1
  20. package/dist/api/RootComponent/Properties/{expected/normalEmpty.js → test/normalEmpty.test.js} +1 -1
  21. package/dist/api/RootComponent/Properties/test/normalEmpty.test.js.map +1 -0
  22. package/dist/api/RootComponent/Properties/test/normalOptional.test.js +15 -0
  23. package/dist/api/RootComponent/Properties/test/normalOptional.test.js.map +1 -1
  24. package/dist/api/RootComponent/Watch/test/WatchProperties.test.js +1 -1
  25. package/dist/api/RootComponent/Watch/test/WatchProperties.test.js.map +1 -1
  26. package/dist/api/RootComponent/index.d.ts +19 -2
  27. package/dist/api/RootComponent/index.js +1 -1
  28. package/dist/api/RootComponent/index.js.map +1 -1
  29. package/dist/api/SubComponent/SubComputed/test/normal.test.js.map +1 -1
  30. package/dist/api/SubComponent/SubData/test/error.test.js.map +1 -1
  31. package/dist/api/SubComponent/SubData/test/normal.test.js.map +1 -1
  32. package/dist/api/SubComponent/SubInstance/test/normal.test.js.map +1 -1
  33. package/dist/api/SubComponent/SubPageLifetimes/test/normal.test.js.map +1 -1
  34. package/dist/api/SubComponent/SubWatch/test/WatchRootData.test.js.map +1 -1
  35. package/dist/api/SubComponent/index.d.ts +2 -2
  36. package/dist/api/SubComponent/index.js.map +1 -1
  37. package/dist/{utils → behaviors/BComputedAndWatch}/computedUpdater.d.ts +1 -1
  38. package/dist/{utils → behaviors/BComputedAndWatch}/computedUpdater.js +2 -2
  39. package/dist/behaviors/BComputedAndWatch/computedUpdater.js.map +1 -0
  40. package/dist/behaviors/BComputedAndWatch/data-tracer.js +0 -3
  41. package/dist/behaviors/BComputedAndWatch/data-tracer.js.map +1 -1
  42. package/dist/{utils → behaviors/BComputedAndWatch}/getPathsValue.d.ts +1 -1
  43. package/dist/behaviors/BComputedAndWatch/getPathsValue.js.map +1 -0
  44. package/dist/behaviors/BComputedAndWatch/index.js +10 -2
  45. package/dist/behaviors/BComputedAndWatch/index.js.map +1 -1
  46. package/dist/behaviors/BComputedAndWatch/initComputed.js +4 -12
  47. package/dist/behaviors/BComputedAndWatch/initComputed.js.map +1 -1
  48. package/dist/behaviors/BComputedAndWatch/isEqual.js.map +1 -1
  49. package/dist/behaviors/BStore.js.map +1 -1
  50. package/dist/behaviors/BbeforeCreated.js +1 -2
  51. package/dist/behaviors/BbeforeCreated.js.map +1 -1
  52. package/dist/types/GetComponentPrefix.js +1 -4
  53. package/dist/types/GetComponentPrefix.js.map +1 -1
  54. package/dist/types/OfficialTypeAlias.d.ts +2 -2
  55. package/dist/types/ReplacePrefix.js +1 -4
  56. package/dist/types/ReplacePrefix.js.map +1 -1
  57. package/package.json +5 -4
  58. package/src/api/DefineComponent/ReturnType/test/normalComponentDoc.test.ts +2 -1
  59. package/src/api/DefineComponent/ReturnType/test/normalPageDoc.test.ts +2 -1
  60. package/src/api/DefineComponent/collectOptionsForComponent.ts +290 -0
  61. package/src/api/DefineComponent/index.ts +13 -81
  62. package/src/api/RootComponent/Computed/test/normal.test.ts +1 -1
  63. package/src/api/RootComponent/CustomEvents/CustomEventConstraint.ts +3 -1
  64. package/src/api/RootComponent/Data/DataConstraint.ts +1 -0
  65. package/src/api/RootComponent/IsPage/IsPageOption.ts +6 -1
  66. package/src/api/RootComponent/Lifetimes/LifetimesConstraint.ts +8 -7
  67. package/src/api/RootComponent/Lifetimes/test/error.test.ts +1 -1
  68. package/src/api/RootComponent/Lifetimes/test/normal.test.ts +3 -3
  69. package/src/api/RootComponent/PageLifetimes/test/normal.test.ts +1 -1
  70. package/src/api/RootComponent/Properties/test/normalOptional.test.ts +20 -0
  71. package/src/api/RootComponent/Watch/test/WatchComputed.test.ts +1 -1
  72. package/src/api/RootComponent/Watch/test/WatchData.test.ts +1 -1
  73. package/src/api/RootComponent/Watch/test/WatchProperties.test.ts +8 -2
  74. package/src/api/RootComponent/index.ts +19 -3
  75. package/src/api/SubComponent/SubComputed/test/normal.test.ts +2 -1
  76. package/src/api/SubComponent/SubData/test/error.test.ts +2 -1
  77. package/src/api/SubComponent/SubData/test/normal.test.ts +2 -1
  78. package/src/api/SubComponent/SubInstance/test/normal.test.ts +2 -1
  79. package/src/api/SubComponent/SubPageLifetimes/test/normal.test.ts +2 -1
  80. package/src/api/SubComponent/SubWatch/test/WatchRootData.test.ts +2 -1
  81. package/src/api/SubComponent/SubWatch/test/error.test.ts +1 -1
  82. package/src/api/SubComponent/index.ts +11 -4
  83. package/src/{utils → behaviors/BComputedAndWatch}/computedUpdater.ts +5 -4
  84. package/src/behaviors/BComputedAndWatch/data-tracer.ts +0 -3
  85. package/src/{utils → behaviors/BComputedAndWatch}/getPathsValue.ts +1 -1
  86. package/src/behaviors/BComputedAndWatch/index.ts +21 -8
  87. package/src/behaviors/BComputedAndWatch/initComputed.ts +26 -19
  88. package/src/behaviors/BComputedAndWatch/isEqual.ts +1 -0
  89. package/src/behaviors/BStore.ts +5 -3
  90. package/src/behaviors/BbeforeCreated.ts +4 -2
  91. package/src/types/GetComponentPrefix.ts +11 -11
  92. package/src/types/OfficialTypeAlias.ts +2 -2
  93. package/src/types/ReplacePrefix.ts +9 -10
  94. package/src/types/SpecificType.ts +0 -4
  95. package/tsconfig.json +6 -15
  96. package/dist/api/RootComponent/Data/expected/error.js +0 -10
  97. package/dist/api/RootComponent/Data/expected/error.js.map +0 -1
  98. package/dist/api/RootComponent/Data/expected/normal.d.ts +0 -1
  99. package/dist/api/RootComponent/Data/expected/normal.js +0 -33
  100. package/dist/api/RootComponent/Data/expected/normal.js.map +0 -1
  101. package/dist/api/RootComponent/Properties/expected/error.d.ts +0 -1
  102. package/dist/api/RootComponent/Properties/expected/error.js +0 -38
  103. package/dist/api/RootComponent/Properties/expected/error.js.map +0 -1
  104. package/dist/api/RootComponent/Properties/expected/normalEmpty.d.ts +0 -1
  105. package/dist/api/RootComponent/Properties/expected/normalEmpty.js.map +0 -1
  106. package/dist/api/RootComponent/Properties/expected/normalOptional.d.ts +0 -1
  107. package/dist/api/RootComponent/Properties/expected/normalOptional.js +0 -80
  108. package/dist/api/RootComponent/Properties/expected/normalOptional.js.map +0 -1
  109. package/dist/api/RootComponent/Properties/expected/normalRequired.d.ts +0 -69
  110. package/dist/api/RootComponent/Properties/expected/normalRequired.js +0 -44
  111. package/dist/api/RootComponent/Properties/expected/normalRequired.js.map +0 -1
  112. package/dist/api/RootComponent/Properties/test/normalEmpty.test..d.ts +0 -1
  113. package/dist/api/RootComponent/Properties/test/normalEmpty.test..js +0 -20
  114. package/dist/api/RootComponent/Properties/test/normalEmpty.test..js.map +0 -1
  115. package/dist/types/RestorePropTypeOfList.d.ts +0 -2
  116. package/dist/types/RestorePropTypeOfList.js +0 -3
  117. package/dist/types/RestorePropTypeOfList.js.map +0 -1
  118. package/dist/utils/computedUpdater.js.map +0 -1
  119. package/dist/utils/getPathsValue.js.map +0 -1
  120. package/dist/utils/initWatchOldValue.d.ts +0 -2
  121. package/dist/utils/initWatchOldValue.js +0 -10
  122. package/dist/utils/initWatchOldValue.js.map +0 -1
  123. package/dist/utils/preprocessingOptions.d.ts +0 -18
  124. package/dist/utils/preprocessingOptions.js +0 -184
  125. package/dist/utils/preprocessingOptions.js.map +0 -1
  126. package/src/api/RootComponent/Data/expected/error.ts +0 -14
  127. package/src/api/RootComponent/Data/expected/normal.ts +0 -68
  128. package/src/api/RootComponent/Properties/expected/error.ts +0 -49
  129. package/src/api/RootComponent/Properties/expected/normalEmpty.ts +0 -33
  130. package/src/api/RootComponent/Properties/expected/normalOptional.ts +0 -136
  131. package/src/api/RootComponent/Properties/expected/normalRequired.ts +0 -100
  132. package/src/types/RestorePropTypeOfList.ts +0 -20
  133. package/src/utils/initWatchOldValue.ts +0 -12
  134. package/src/utils/preprocessingOptions.ts +0 -334
  135. /package/dist/api/RootComponent/{Data/expected/error.d.ts → Properties/test/normalEmpty.test.d.ts} +0 -0
  136. /package/dist/{utils → behaviors/BComputedAndWatch}/getPathsValue.js +0 -0
  137. /package/src/api/RootComponent/Properties/test/{normalEmpty.test..ts → normalEmpty.test.ts} +0 -0
@@ -30,10 +30,10 @@ type Options<RootDoc extends RootComponentDoc, IsPage extends boolean, CurrentCo
30
30
  type SubComponentConstructor<TRootDoc extends RootComponentDoc, TOriginalCompDoc extends ComponentDoc, TSupplementalPrefix extends string = "", IsPage extends boolean = TRootDoc["isPage"] extends true ? true : false, CurrentPrefix extends string = `${ExtractDocPrefix<TOriginalCompDoc>}${Capitalize<TSupplementalPrefix>}`, CurrentCompDoc extends ComponentDoc = IfExtends<TSupplementalPrefix, "", TOriginalCompDoc, ReplacePrefix<TOriginalCompDoc, CurrentPrefix>>, AllRootDataDoc extends object = Required<TRootDoc["properties"]> & TRootDoc["data"] & TRootDoc["computed"]> = {
31
31
  <TInherit extends InheritConstraint<AllRootDataDoc, CurrentCompDoc>, TSubData extends SubDataConstraint<Omit<Required<CurrentCompDoc["properties"]>, keyof InheritDoc>>, TSubStore extends SubStoreConstraint<Omit<Required<CurrentCompDoc["properties"]>, keyof (InheritDoc & SubDataDoc)>>, TEvents extends SubEventsConstraint<CurrentCompDoc>, TSubComputed extends SubComputedConstraint<Omit<Required<CurrentCompDoc["properties"]>, keyof (InheritDoc & SubDataDoc & SubStoreDoc)>>, TSubMethods extends SubMethodsConstraint = {}, InheritDoc extends object = IfExtends<InheritConstraint<AllRootDataDoc, CurrentCompDoc>, TInherit, {}, TInherit>, SubDataDoc extends object = IfExtends<SubDataConstraint<Omit<Required<CurrentCompDoc["properties"]>, keyof InheritDoc>>, TSubData, {}, TSubData>, SubStoreDoc extends object = IfExtends<SubStoreConstraint<Omit<Required<CurrentCompDoc["properties"]>, keyof (InheritDoc & SubDataDoc)>>, TSubStore, {}, {
32
32
  [k in keyof TSubStore]: ReturnType<TSubStore[k] & {}>;
33
- }>, SubComputedDoc extends object = IfExtends<SubComputedConstraint<Omit<Required<CurrentCompDoc["properties"]>, keyof (InheritDoc & SubDataDoc & SubStoreDoc)>>, TSubComputed, {}, GetSubComputedDoc<TSubComputed>>, SubEventsDoc extends object = IfExtends<SubEventsConstraint<CurrentCompDoc>, TEvents, {}, TEvents>, SubMethodsDoc extends object = TSubMethods, MissingRequiredField extends PropertyKey = Exclude<RequiredKeys<CurrentCompDoc["properties"] & {}>, keyof (InheritDoc & SubDataDoc & SubStoreDoc & SubComputedDoc)>>(options: Options<TRootDoc, IsPage, CurrentCompDoc, CurrentPrefix, AllRootDataDoc, TInherit, TSubData, TSubStore, TSubComputed, TEvents, TSubMethods, InheritDoc, SubDataDoc, SubStoreDoc, SubComputedDoc, SubEventsDoc, SubMethodsDoc>): CreateSubComponentDoc<TOriginalCompDoc["customEvents"] & {}, SubEventsDoc, MissingRequiredField>;
33
+ }>, SubComputedDoc extends object = IfExtends<SubComputedConstraint<Omit<Required<CurrentCompDoc["properties"]>, keyof (InheritDoc & SubDataDoc & SubStoreDoc)>>, TSubComputed, {}, GetSubComputedDoc<TSubComputed>>, SubEventsDoc extends object = IfExtends<SubEventsConstraint<CurrentCompDoc>, TEvents, {}, TEvents>, SubMethodsDoc extends object = TSubMethods, MissingRequiredField extends PropertyKey = Exclude<RequiredKeys<CurrentCompDoc["properties"] & {}>, keyof (InheritDoc & SubDataDoc & SubStoreDoc & IfExtends<SubComputedConstraint<Omit<Required<CurrentCompDoc["properties"]>, keyof (InheritDoc & SubDataDoc & SubStoreDoc)>>, TSubComputed, {}, GetSubComputedDoc<TSubComputed>>)>>(options: Options<TRootDoc, IsPage, CurrentCompDoc, CurrentPrefix, AllRootDataDoc, TInherit, TSubData, TSubStore, TSubComputed, TEvents, TSubMethods, InheritDoc, SubDataDoc, SubStoreDoc, SubComputedDoc, SubEventsDoc, SubMethodsDoc>): CreateSubComponentDoc<TOriginalCompDoc["customEvents"] & {}, SubEventsDoc, MissingRequiredField>;
34
34
  };
35
35
  export declare function SubComponent<RootDoc extends RootComponentDoc, CompDoc extends ComponentDoc, Prefix extends string = "">(): IfExtends<EmptyObject, CompDoc, (opt: EmptyObject) => never, SubComponentConstructor<RootDoc, CompDoc, Prefix>>;
36
- export type SubComponentOptions = {
36
+ export type SubComponentTrueOptions = {
37
37
  inhrit?: string;
38
38
  data?: Record<string, unknown>;
39
39
  computed?: Record<string, Func>;
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/api/SubComponent/index.ts"],"names":[],"mappings":"AAyLA,MAAM,UAAU,YAAY;IAK1B,OAAO,CAAC,CAAC,OAAY,EAAE,EAAE,CAAC,OAAO,CAAQ,CAAC;AAC5C,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/api/SubComponent/index.ts"],"names":[],"mappings":"AAiMA,MAAM,UAAU,YAAY;IAK1B,OAAO,CAAC,CAAC,OAAY,EAAE,EAAE,CAAC,OAAkC,CAAQ,CAAC;AACvE,CAAC"}
@@ -1,2 +1,2 @@
1
- import type { Instance } from "../behaviors/BComputedAndWatch/types";
1
+ import type { Instance } from "./types";
2
2
  export declare function computedUpdater(this: Instance, isUpdated?: boolean): boolean;
@@ -1,6 +1,6 @@
1
- import { deepProxy, unwrap } from "../behaviors/BComputedAndWatch/data-tracer";
2
- import { isEqual } from "../behaviors/BComputedAndWatch/isEqual";
1
+ import { deepProxy, unwrap } from "./data-tracer";
3
2
  import { getPathsValue } from "./getPathsValue";
3
+ import { isEqual } from "./isEqual";
4
4
  export function computedUpdater(isUpdated = false) {
5
5
  for (const key in this.__computedCache__) {
6
6
  const itemCache = this.__computedCache__[key];
@@ -0,0 +1 @@
1
+ {"version":3,"file":"computedUpdater.js","sourceRoot":"","sources":["../../../src/behaviors/BComputedAndWatch/computedUpdater.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;AAClD,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAGhD,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAGpC,MAAM,UAAU,eAAe,CAAiB,SAAS,GAAG,KAAK;IAK/D,KAAK,MAAM,GAAG,IAAI,IAAI,CAAC,iBAAiB,EAAE,CAAC;QAGzC,MAAM,SAAS,GAAG,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,CAAC;QAC9C,IAAI,OAAO,GAAG,KAAK,CAAC;QACpB,KAAK,MAAM,GAAG,IAAI,SAAS,CAAC,WAAW,EAAE,CAAC;YACxC,MAAM,MAAM,GAAG,aAAa,CAAC,IAAI,CAAC,IAAI,EAAE,GAAG,CAAC,KAAK,CAAC,CAAC;YAGnD,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;gBAC9B,OAAO,GAAG,IAAI,CAAC;gBAEf,MAAM;YACR,CAAC;QACH,CAAC;QAED,IAAI,OAAO,EAAE,CAAC;YACZ,MAAM,cAAc,GAAyB,EAAE,CAAC;YAEhD,MAAM,QAAQ,GAAG,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC;gBACrC,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,IAAI,EAAE,cAAc,CAAC;aAC3C,CAAC,CAAC;YAGH,IAAI,CAAC,OAAO,CAAC;gBACX,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC,QAAQ,CAAC;aACxB,CAAC,CAAC;YAEH,SAAS,GAAG,IAAI,CAAC;YAGjB,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,CAAC,WAAW,GAAG,cAAc,CAAC;YAGzD,OAAO,eAAe,CAAC,IAAI,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;QAC/C,CAAC;IACH,CAAC;IAED,OAAO,SAAS,CAAC;AACnB,CAAC"}
@@ -1,8 +1,5 @@
1
1
  export function deepProxy(data, dependences, basePath = []) {
2
2
  const handler = {
3
- set() {
4
- throw Error("计算属性中不可以改变data对象的值");
5
- },
6
3
  get(target, prop) {
7
4
  if (prop === "__rawObject__")
8
5
  return target;
@@ -1 +1 @@
1
- {"version":3,"file":"data-tracer.js","sourceRoot":"","sources":["../../../src/behaviors/BComputedAndWatch/data-tracer.ts"],"names":[],"mappings":"AAEA,MAAM,UAAU,SAAS,CACvB,IAAY,EACZ,WAAiC,EACjC,WAAqB,EAAE;IAEvB,MAAM,OAAO,GAAG;QACd,GAAG;YACD,MAAM,KAAK,CAAC,oBAAoB,CAAC,CAAC;QACpC,CAAC;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;YAEtC,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;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"}
1
+ {"version":3,"file":"data-tracer.js","sourceRoot":"","sources":["../../../src/behaviors/BComputedAndWatch/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;YAEtC,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;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"}
@@ -1,2 +1,2 @@
1
- import type { Instance } from "../behaviors/BComputedAndWatch/types";
1
+ import type { Instance } from "./types";
2
2
  export declare function getPathsValue(this: Instance, paths: string[]): any;
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getPathsValue.js","sourceRoot":"","sources":["../../../src/behaviors/BComputedAndWatch/getPathsValue.ts"],"names":[],"mappings":"AAEA,MAAM,UAAU,aAAa,CAAiB,KAAe;IAC3D,OAAO,KAAK,CAAC,MAAM,CAAC,CAAC,GAAQ,EAAE,IAAI,EAAE,EAAE;QAErC,IAAI,CAAC;YACH,OAAO,GAAG,CAAC,IAAI,CAAC,CAAC;QACnB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,SAAS,CAAC;QACnB,CAAC;IACH,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;AAChB,CAAC"}
@@ -1,15 +1,23 @@
1
1
  import { deepClone } from "../../utils/deepClone";
2
2
  import { deleteProtoField } from "../../utils/deleteProtoField";
3
- import { initWatchOldValue } from "../../utils/initWatchOldValue";
4
3
  import { isEmptyObject } from "../../utils/isEmptyObject";
4
+ import { getPathsValue } from "./getPathsValue";
5
5
  import { initComputed } from "./initComputed";
6
6
  import { isEqual } from "./isEqual";
7
7
  import { isPage } from "./IsPage";
8
+ function initWatchOldValue(watchConfig) {
9
+ const watchOldValue = {};
10
+ for (const key in watchConfig) {
11
+ watchOldValue[key] = deepClone(getPathsValue.call(this, key.split(".")));
12
+ }
13
+ return watchOldValue;
14
+ }
8
15
  export const BComputedAndWatch = Behavior({
9
16
  definitionFilter(options) {
10
17
  const computedConfig = options.computed;
11
18
  if (computedConfig && !isEmptyObject(computedConfig)) {
12
- const methodsConfig = options.methods || (options.methods = {});
19
+ options.methods || (options.methods = {});
20
+ const methodsConfig = options.methods;
13
21
  methodsConfig.__computedConfig__ = () => computedConfig;
14
22
  const observersConfig = options.observers || (options.observers = {});
15
23
  const originalFunc = observersConfig["**"];
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/behaviors/BComputedAndWatch/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/behaviors/BComputedAndWatch/index.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAClD,OAAO,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAC;AAEhE,OAAO,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAC1D,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAElC,SAAS,iBAAiB,CAAiB,WAAmB;IAC5D,MAAM,aAAa,GAAG,EAAE,CAAC;IACzB,KAAK,MAAM,GAAG,IAAI,WAAW,EAAE,CAAC;QAC9B,aAAa,CAAC,GAAG,CAAC,GAAG,SAAS,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,EAAE,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;IAC3E,CAAC;IAED,OAAO,aAAa,CAAC;AACvB,CAAC;AAeD,MAAM,CAAC,MAAM,iBAAiB,GAAG,QAAQ,CAAC;IACxC,gBAAgB,CAAC,OAAiC;QAChD,MAAM,cAAc,GAAG,OAAO,CAAC,QAAQ,CAAC;QAGxC,IAAI,cAAc,IAAI,CAAC,aAAa,CAAC,cAAc,CAAC,EAAE,CAAC;YAErD,OAAO,CAAC,OAAO,KAAf,OAAO,CAAC,OAAO,GAAK,EAAE,EAAC;YAEvB,MAAM,aAAa,GAAG,OAAO,CAAC,OAAO,CAAC;YAGtC,aAAa,CAAC,kBAAkB,GAAG,GAAG,EAAE,CAAC,cAAc,CAAC;YAExD,MAAM,eAAe,GAAG,OAAO,CAAC,SAAS,KAAjB,OAAO,CAAC,SAAS,GAAK,EAAE,CAAA,CAAC;YAEjD,MAAM,YAAY,GAAG,eAAe,CAAC,IAAI,CAAqB,CAAC;YAE/D,eAAe,CAAC,IAAI,CAAC,GAAG;gBACtB,MAAM,cAAc,GAAG,IAAI,CAAC,kBAAkB,CAAC;gBAC/C,QAAQ,cAAc,EAAE,CAAC;oBACvB,KAAK,SAAS;wBAEZ,YAAY,IAA+B,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;wBAEnE,MAAM;oBACR,KAAK,MAAM;wBAGT,MAAM;oBACR,KAAK,KAAK;wBAER,CAAC;4BACC,MAAM,SAAS,GAAG,IAAI,CAAC,mBAAmB,EAAE,CAAC;4BAC7C,IAAI,SAAS,EAAE,CAAC;gCAEd,IAAI,CAAC,kBAAkB,GAAG,MAAM,CAAC;4BACnC,CAAC;iCAAM,CAAC;gCAEN,YAAY,IAA+B,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;4BACrE,CAAC;wBACH,CAAC;wBACD,MAAM;oBACR,KAAK,MAAM;wBACT,CAAC;4BAGC,IAAI,CAAC,kBAAkB,GAAG,KAAK,CAAC;4BAEhC,YAAY,IAA+B,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;wBACrE,CAAC;wBACD,MAAM;gBACV,CAAC;YACH,CAAC,CAAC;QACJ,CAAC;QAGD,MAAM,WAAW,GAAG,OAAO,CAAC,KAAK,CAAC;QAClC,IAAI,WAAW,IAAI,CAAC,aAAa,CAAC,WAAW,CAAC,EAAE,CAAC;YAE/C,MAAM,aAAa,GAAG,OAAO,CAAC,OAAO,KAAf,OAAO,CAAC,OAAO,GAAK,EAAE,CAAA,CAAC;YAG7C,aAAa,CAAC,eAAe,GAAG,GAAG,EAAE,CAAC,WAAW,CAAC;YAElD,MAAM,eAAe,GAAG,OAAO,CAAC,SAAS,KAAjB,OAAO,CAAC,SAAS,GAAK,EAAE,CAAA,CAAC;YACjD,KAAK,MAAM,GAAG,IAAI,WAAW,EAAE,CAAC;gBAC9B,MAAM,UAAU,GAAG,WAAW,CAAC,GAAG,CAAC,CAAC;gBAEpC,eAAe,CAAC,GAAG,CAAC,GAAG,UAAyB,QAAiB;oBAC/D,MAAM,aAAa,GAAG,IAAI,CAAC,iBAAkB,CAAC;oBAC9C,MAAM,QAAQ,GAAG,aAAa,CAAC,GAAG,CAAC,CAAC;oBAEpC,IAAI,CAAC,QAAQ,KAAK,SAAS,CAAC,IAAI,OAAO,CAAC,QAAQ,EAAE,QAAQ,CAAC;wBAAE,OAAO;oBACpE,aAAa,CAAC,GAAG,CAAC,GAAG,SAAS,CAAC,QAAQ,CAAC,CAAC;oBAEzC,UAAU,CAAC,IAAI,CAAC,IAAI,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC;gBAC5C,CAAC,CAAC;YACJ,CAAC;QACH,CAAC;IACH,CAAC;IACD,SAAS,EAAE;QACT,OAAO;;YAEL,MAAM,WAAW,GAAG,MAAA,IAAI,CAAC,eAAe,oDAAI,CAAC;YAE7C,gBAAgB,CAAC,IAAI,EAAE,iBAAiB,CAAC,CAAC;YAE1C,IAAI,WAAW,EAAE,CAAC;gBAEhB,IAAI,CAAC,iBAAiB,GAAG,iBAAiB,CAAC,IAAI,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC;YACrE,CAAC;QACH,CAAC;QACD,QAAQ;YACN,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC;gBAElB,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAC1B,CAAC;QAEH,CAAC;KACF;CACF,CAAC,CAAC"}
@@ -1,5 +1,5 @@
1
- import { computedUpdater } from "../../utils/computedUpdater";
2
1
  import { deleteProtoField } from "../../utils/deleteProtoField";
2
+ import { computedUpdater } from "./computedUpdater";
3
3
  import { deepProxy, unwrap } from "./data-tracer";
4
4
  function isValidDependences(dependences, computedKeys) {
5
5
  for (const { paths: path, val } of dependences) {
@@ -12,17 +12,9 @@ function isValidDependences(dependences, computedKeys) {
12
12
  export function getComputedInfo(computedKeys, computedFunc, key) {
13
13
  const dependences = [];
14
14
  let initValue;
15
- try {
16
- initValue = computedFunc.call({
17
- data: deepProxy(this.data, dependences),
18
- });
19
- }
20
- catch (error) {
21
- if (!isValidDependences(dependences, computedKeys)) {
22
- return false;
23
- }
24
- throw error;
25
- }
15
+ initValue = computedFunc.call({
16
+ data: deepProxy(this.data, dependences),
17
+ });
26
18
  if (isValidDependences(dependences, computedKeys)) {
27
19
  initValue = unwrap(initValue);
28
20
  this.setData({
@@ -1 +1 @@
1
- {"version":3,"file":"initComputed.js","sourceRoot":"","sources":["../../../src/behaviors/BComputedAndWatch/initComputed.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"initComputed.js","sourceRoot":"","sources":["../../../src/behaviors/BComputedAndWatch/initComputed.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"isEqual.js","sourceRoot":"","sources":["../../../src/behaviors/BComputedAndWatch/isEqual.ts"],"names":[],"mappings":"AAGA,MAAM,UAAU,OAAO,CAAC,KAAc,EAAE,KAAc;IACpD,IAAI,KAAK,KAAK,KAAK,EAAE,CAAC;QACpB,OAAO,IAAI,CAAC;IACd,CAAC;IAED,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;QAC/F,OAAO,KAAK,CAAC;IACf,CAAC;IACD,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACjC,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAEjC,IAAI,KAAK,CAAC,MAAM,KAAK,KAAK,CAAC,MAAM,EAAE,CAAC;QAClC,OAAO,KAAK,CAAC;IACf,CAAC;IAED,KAAK,MAAM,GAAG,IAAI,KAAK,EAAE,CAAC;QACxB,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC;YAC7D,OAAO,KAAK,CAAC;QACf,CAAC;IACH,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC"}
1
+ {"version":3,"file":"isEqual.js","sourceRoot":"","sources":["../../../src/behaviors/BComputedAndWatch/isEqual.ts"],"names":[],"mappings":"AAGA,MAAM,UAAU,OAAO,CAAC,KAAc,EAAE,KAAc;IACpD,IAAI,KAAK,KAAK,KAAK,EAAE,CAAC;QACpB,OAAO,IAAI,CAAC;IACd,CAAC;IAED,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;QAC/F,OAAO,KAAK,CAAC;IACf,CAAC;IACD,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACjC,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAGjC,IAAI,KAAK,CAAC,MAAM,KAAK,KAAK,CAAC,MAAM,EAAE,CAAC;QAClC,OAAO,KAAK,CAAC;IACf,CAAC;IAED,KAAK,MAAM,GAAG,IAAI,KAAK,EAAE,CAAC;QACxB,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC;YAC7D,OAAO,KAAK,CAAC;QACf,CAAC;IACH,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"BStore.js","sourceRoot":"","sources":["../../src/behaviors/BStore.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AAG7D,MAAM,CAAC,MAAM,MAAM,GAAG,QAAQ,CAAC;IAC7B,gBAAgB,CAAC,OAAyB;QAExC,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,KAAZ,OAAO,CAAC,IAAI,GAAK,EAAE,EAAC;YAEpB,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YAG7C,OAAO,CAAC,OAAO,KAAf,OAAO,CAAC,OAAO,GAAK,EAAE,EAAC;YAEvB,OAAO,CAAC,OAAO,CAAC,eAAe,GAAG,GAAG,EAAE,CAAC,WAAW,CAAC;YAEpD,OAAO,OAAO,CAAC,KAAK,CAAC;QACvB,CAAC;IACH,CAAC;IAED,SAAS,EAAE;QACT,OAAO;;YAEL,MAAM,WAAW,GAAG,MAAA,IAAI,CAAC,eAAe,oDAAI,CAAC;YAC7C,IAAI,CAAC,WAAW;gBAAE,OAAO;YACzB,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,gBAAgB,CAAC,IAAI,EAAE,iBAAiB,CAAC,CAAC;QAC5C,CAAC;QACD,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":"AAEA,OAAO,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AAG7D,MAAM,CAAC,MAAM,MAAM,GAAG,QAAQ,CAAC;IAC7B,gBAAgB,CAAC,OAAiC;QAEhD,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,KAAZ,OAAO,CAAC,IAAI,GAAK,EAAE,EAAC;YAEpB,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YAI7C,OAAO,CAAC,OAAO,KAAf,OAAO,CAAC,OAAO,GAAK,EAAE,EAAC;YAEvB,OAAO,CAAC,OAAO,CAAC,eAAe,GAAG,GAAG,EAAE,CAAC,WAAW,CAAC;YAEpD,OAAO,OAAO,CAAC,KAAK,CAAC;QACvB,CAAC;IACH,CAAC;IAED,SAAS,EAAE;QACT,OAAO;;YAEL,MAAM,WAAW,GAAG,MAAA,IAAI,CAAC,eAAe,oDAAI,CAAC;YAC7C,IAAI,CAAC,WAAW;gBAAE,OAAO;YACzB,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,gBAAgB,CAAC,IAAI,EAAE,iBAAiB,CAAC,CAAC;QAC5C,CAAC;QACD,QAAQ;YAGN,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,7 +1,6 @@
1
1
  export const BBeforeCreate = Behavior({
2
2
  definitionFilter(options) {
3
- var _a;
4
- const beforeCreateFunc = (_a = options.lifetimes) === null || _a === void 0 ? void 0 : _a.beforeCreate;
3
+ const beforeCreateFunc = options.lifetimes.beforeCreate;
5
4
  beforeCreateFunc && beforeCreateFunc(options);
6
5
  },
7
6
  });
@@ -1 +1 @@
1
- {"version":3,"file":"BbeforeCreated.js","sourceRoot":"","sources":["../../src/behaviors/BbeforeCreated.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,aAAa,GAAG,QAAQ,CAAC;IACpC,gBAAgB,CAAC,OAAY;;QAE3B,MAAM,gBAAgB,GAAG,MAAA,OAAO,CAAC,SAAS,0CAAE,YAAY,CAAC;QAEzD,gBAAgB,IAAI,gBAAgB,CAAC,OAAO,CAAC,CAAC;IAChD,CAAC;CACF,CAAC,CAAC"}
1
+ {"version":3,"file":"BbeforeCreated.js","sourceRoot":"","sources":["../../src/behaviors/BbeforeCreated.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,aAAa,GAAG,QAAQ,CAAC;IACpC,gBAAgB,CAAC,OAAiC;QAEhD,MAAM,gBAAgB,GAAG,OAAO,CAAC,SAAU,CAAC,YAAY,CAAC;QAEzD,gBAAgB,IAAI,gBAAgB,CAAC,OAAO,CAAC,CAAC;IAChD,CAAC;CACF,CAAC,CAAC"}
@@ -1,5 +1,2 @@
1
- import { Checking } from "hry-types";
2
- Checking;
3
- Checking;
4
- Checking;
1
+ export {};
5
2
  //# sourceMappingURL=GetComponentPrefix.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"GetComponentPrefix.js","sourceRoot":"","sources":["../../src/types/GetComponentPrefix.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAa,MAAM,WAAW,CAAC;AAoBhD,QAAuC,CAAC;AAMxC,QAAuC,CAAC;AAOxC,QAAuC,CAAC"}
1
+ {"version":3,"file":"GetComponentPrefix.js","sourceRoot":"","sources":["../../src/types/GetComponentPrefix.ts"],"names":[],"mappings":""}
@@ -3,9 +3,9 @@
3
3
  /// <reference types="./node_modules/miniprogram-api-typings/" />
4
4
  /// <reference types="./node_modules/miniprogram-api-typings/" />
5
5
  export type WMTriggerEventOption = WechatMiniprogram.Component.TriggerEventOption;
6
- export type WMCustomEvent<Detail = object, Mark extends object = object, CurrentTargetDataset extends object = object, TargetDataset extends object = CurrentTargetDataset> = WechatMiniprogram.CustomEvent<Detail, Mark, CurrentTargetDataset, TargetDataset>;
6
+ export type WMCustomEvent<Detail = undefined, Mark extends object = object, CurrentTargetDataset extends object = object, TargetDataset extends object = CurrentTargetDataset> = WechatMiniprogram.CustomEvent<Detail, Mark, CurrentTargetDataset, TargetDataset>;
7
7
  export type WMBaseEvent<Mark extends object = object, CurrentTargetDataset extends object = object, TargetDataset extends object = CurrentTargetDataset> = WechatMiniprogram.BaseEvent<Mark, CurrentTargetDataset, TargetDataset>;
8
- export type Dataset<TCurrentTargetDataset extends object, TargetDataset extends object = TCurrentTargetDataset, Detail = {}> = WMCustomEvent<Detail, object, TCurrentTargetDataset, TargetDataset>;
8
+ export type Dataset<TCurrentTargetDataset extends object, TargetDataset extends object = TCurrentTargetDataset, Detail = undefined> = WMCustomEvent<Detail, object, TCurrentTargetDataset, TargetDataset>;
9
9
  export type Mark<TMark extends object> = WechatMiniprogram.CustomEvent<{}, TMark, {}, {}>;
10
10
  export type Detail<T> = WMCustomEvent<T>;
11
11
  export type CurrentTargetDataset<T extends object> = WMCustomEvent<{}, {}, T>;
@@ -1,5 +1,2 @@
1
- import { Checking } from "hry-types";
2
- Checking;
3
- Checking;
4
- Checking;
1
+ export {};
5
2
  //# sourceMappingURL=ReplacePrefix.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ReplacePrefix.js","sourceRoot":"","sources":["../../src/types/ReplacePrefix.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAa,MAAM,WAAW,CAAC;AAkChD,QAAuC,CAAC;AAMxC,QAAuC,CAAC;AAMxC,QAAuC,CAAC"}
1
+ {"version":3,"file":"ReplacePrefix.js","sourceRoot":"","sources":["../../src/types/ReplacePrefix.ts"],"names":[],"mappings":""}
package/package.json CHANGED
@@ -1,14 +1,15 @@
1
1
  {
2
2
  "name": "annil",
3
- "version": "1.0.0",
3
+ "version": "1.0.4",
4
4
  "description": "微信小程序(原生开发)插件",
5
5
  "main": "dist/index.js",
6
6
  "scripts": {
7
- "jest": "jest --watch",
7
+ "test": "jest --watch",
8
+ "coverage": "jest --coverage",
8
9
  "prepare": "husky install",
9
10
  "lint": "eslint . --fix && npm run fmt",
10
11
  "fmt": "dprint fmt",
11
- "test": "tsc --watch",
12
+ "type": "tsc --watch",
12
13
  "build": "tsc -p tsconfig.build.json"
13
14
  },
14
15
  "devDependencies": {
@@ -43,7 +44,7 @@
43
44
  "program",
44
45
  "wmp"
45
46
  ],
46
- "author": "",
47
+ "author": "missannil",
47
48
  "license": "MIT",
48
49
  "dependencies": {
49
50
  "hry-types": "^0.16.12",
@@ -11,8 +11,9 @@ import type {
11
11
  CaptureComposed,
12
12
  Composed,
13
13
  } from "../../../RootComponent/CustomEvents/CustomEventsTag";
14
- import type { Mock_User } from "../../../RootComponent/Properties/expected/normalRequired";
14
+
15
15
  import type { PropertiesConstraint } from "../../../RootComponent/Properties/PropertiesConstraint";
16
+ import type { Mock_User } from "../../../RootComponent/Properties/test/normalRequired.test";
16
17
  import type { RootComponentDoc } from "../../../RootComponent/RootComponentDoc";
17
18
  import type { SubComponentDoc } from "../../../SubComponent/SubComponentDoc";
18
19
  import { DefineComponent } from "../..";
@@ -1,6 +1,7 @@
1
1
  import { Checking, type Test } from "hry-types";
2
2
  import { RootComponent, type SpecificType } from "../../../..";
3
- import type { Mock_User } from "../../../RootComponent/Properties/expected/normalRequired";
3
+
4
+ import type { Mock_User } from "../../../RootComponent/Properties/test/normalRequired.test";
4
5
  import { DefineComponent } from "../..";
5
6
 
6
7
  const OnlyPropsRootDoc = RootComponent()({
@@ -0,0 +1,290 @@
1
+ import type { Func } from "hry-types/src/Misc/_api";
2
+ import { BBeforeCreate } from "../../behaviors/BbeforeCreated";
3
+ import { BComputedAndWatch } from "../../behaviors/BComputedAndWatch";
4
+ import { initComputed } from "../../behaviors/BComputedAndWatch/initComputed";
5
+ import type { Instance } from "../../behaviors/BComputedAndWatch/types";
6
+ import { BStore } from "../../behaviors/BStore";
7
+ import { deepClone } from "../../utils/deepClone";
8
+ import { INNERMARKER } from "../../utils/InnerMarker";
9
+ import { isEmptyObject } from "../../utils/isEmptyObject";
10
+ import type { RootComponentTrueOptions } from "../RootComponent";
11
+ import type {
12
+ CustomEventConstraint,
13
+ CustomEvents,
14
+ FullCustomEvents,
15
+ } from "../RootComponent/CustomEvents/CustomEventConstraint";
16
+ import type { EventsConstraint } from "../RootComponent/Events/EventsConstraint";
17
+ import type { PageInstance } from "../RootComponent/Instance/RootComponentInstance";
18
+ import type { SubComponentTrueOptions } from "../SubComponent";
19
+ import type { FinalOptionsForComponent, FuncOptions } from ".";
20
+ /**
21
+ * 针对通过 navigateTo传过来的数据解析
22
+ * @param option - option中的url是拼接了encodeURIComponent转码的data对象的,key为INNERMARKER.url
23
+ */
24
+ /* istanbul ignore next */
25
+ function onLoadReceivedDataHandle(
26
+ this: PageInstance,
27
+ option: Record<typeof INNERMARKER.url, string>,
28
+ ) {
29
+ const innerData: string | undefined = option[INNERMARKER.url];
30
+ // 未使用自定义的navigateTo
31
+ if (innerData === undefined) return;
32
+ const optionData = JSON.parse(decodeURIComponent(innerData));
33
+
34
+ // 使用navigateTo
35
+ for (const key in optionData) {
36
+ option[key] = optionData[key];
37
+ }
38
+
39
+ // setData会触发计算属性 继承属性等 。
40
+ this.setData(option as any);
41
+
42
+ delete option[INNERMARKER.url];
43
+
44
+ Reflect.deleteProperty(this.data, INNERMARKER.url);
45
+ }
46
+
47
+ /**
48
+ * onLoad生命周期劫持函数
49
+ */
50
+ /* istanbul ignore next */
51
+ function onLoadHijack(
52
+ options: FinalOptionsForComponent,
53
+ before: Func[],
54
+ after: Func[] = [],
55
+ ) {
56
+ options.methods ||= {};
57
+
58
+ const cloneOpt = deepClone(options);
59
+ const originalOnLoad: Func | undefined = options.methods.onLoad;
60
+
61
+ options.methods.onLoad = function(props: unknown) {
62
+ before.forEach((func) => {
63
+ func.call(this, props, cloneOpt);
64
+ });
65
+
66
+ originalOnLoad?.call(this, props);
67
+
68
+ after.forEach((func) => {
69
+ func.call(this, props, cloneOpt);
70
+ });
71
+ };
72
+ }
73
+ /**
74
+ * 内部保护字段 即不允许配置的字段名(所有方法下)
75
+ */
76
+ const INNERFIELDS = ["disposer"];
77
+
78
+ /**
79
+ * 报错的形式避免输入字段和内部字段冲突
80
+ */
81
+ /* istanbul ignore next */
82
+ function InternalFieldProtection(methodsConfig: object) {
83
+ const methodsConfigKeys = Object.keys(methodsConfig);
84
+ for (const key of INNERFIELDS) {
85
+ if (methodsConfigKeys.includes(key)) {
86
+ throw Error(`${key}已被内部字段占用`);
87
+ }
88
+ }
89
+ }
90
+ /**
91
+ * 把函数配置放入一个配置中依次运行
92
+ */
93
+ function _funcConfigHandle(methodsConfig: object, configList: Record<string, Func[]>) {
94
+ for (const key in configList) {
95
+ methodsConfig[key] = function(...args: unknown[]) {
96
+ configList[key].forEach(ele => ele.call(this, ...args));
97
+ };
98
+ }
99
+ }
100
+
101
+ function funcConfigHandle(
102
+ finalOptionsForComponent: FinalOptionsForComponent,
103
+ isPage: boolean | undefined,
104
+ funcOptions: FuncOptions,
105
+ ) {
106
+ // 测试框架无法测试page情形
107
+ /* istanbul ignore next */
108
+ if (isPage) {
109
+ // 页面时 生命周期方法(即 on 开头的方法),(https://developers.weixin.qq.com/miniprogram/dev/framework/custom-component/component.html)
110
+ funcOptions.pageLifetimes && _funcConfigHandle(finalOptionsForComponent.methods ||= {}, funcOptions.pageLifetimes);
111
+ } else {
112
+ // 组件时
113
+ funcOptions.pageLifetimes
114
+ && _funcConfigHandle(finalOptionsForComponent.pageLifetimes ||= {}, funcOptions.pageLifetimes);
115
+ }
116
+ funcOptions.lifetimes && _funcConfigHandle(finalOptionsForComponent.lifetimes ||= {}, funcOptions.lifetimes);
117
+
118
+ funcOptions.watch && _funcConfigHandle(finalOptionsForComponent.watch ||= {}, funcOptions.watch);
119
+ }
120
+ /**
121
+ * 把配置为函数的字段方法收集到funcConfig中
122
+ */
123
+ function funcFieldsCollect(
124
+ options: SubComponentTrueOptions | RootComponentTrueOptions,
125
+ funcOptions: FuncOptions,
126
+ ) {
127
+ for (const key in funcOptions) {
128
+ // key = "pageLifetimes" | "lifetimes" | "watch"
129
+ if (options[key]) {
130
+ for (const _key in options[key]) {
131
+ (funcOptions[key][_key] ||= []).push(options[key][_key]);
132
+ }
133
+ }
134
+
135
+ Reflect.deleteProperty(options, key);
136
+ }
137
+ }
138
+
139
+ // 其他字段加入到componentOptions对应字段配置中
140
+ function otherFieldsHandle(
141
+ finalOptions: FinalOptionsForComponent,
142
+ rootComponentOptions: RootComponentTrueOptions,
143
+ ) {
144
+ for (const key in rootComponentOptions) {
145
+ const config = rootComponentOptions[key];
146
+ if (Array.isArray(config)) {
147
+ // 好像只有behaviors是数组吧.
148
+ /* istanbul ignore next */
149
+ (finalOptions[key] ||= []).push(...config);
150
+ } else {
151
+ Object.assign(finalOptions[key] ||= {}, config);
152
+ }
153
+ }
154
+ }
155
+ /**
156
+ * 把events字段配置变成函数放入到componentOptions.methods中
157
+ */
158
+ function eventsHandle(componentOptions: FinalOptionsForComponent, eventsConfig: EventsConstraint) {
159
+ /* istanbul ignore next */
160
+ componentOptions.methods ||= {};
161
+
162
+ Object.assign(componentOptions.methods, eventsConfig);
163
+ }
164
+ function subComponentsHandle(
165
+ componentOptions: FinalOptionsForComponent,
166
+ subComponents: SubComponentTrueOptions[],
167
+ funcOptions: FuncOptions,
168
+ ) {
169
+ subComponents.forEach((subOption) => {
170
+ subOption.events && eventsHandle(componentOptions, subOption.events);
171
+
172
+ funcFieldsCollect(subOption, funcOptions);
173
+
174
+ otherFieldsHandle(componentOptions, subOption);
175
+ });
176
+ }
177
+
178
+ // 类型守卫
179
+ function IsFullCustomEvents(
180
+ customEventOptions: CustomEvents,
181
+ ): customEventOptions is FullCustomEvents {
182
+ return Object.prototype.toString.call(customEventOptions) === "[object Object]";
183
+ }
184
+
185
+ /**
186
+ * 把customEvents字段配置变成函数放入到componentOptions.methods中
187
+ */
188
+ function customEventsHandle(
189
+ componentOptions: FinalOptionsForComponent,
190
+ customEventsConfig: CustomEventConstraint,
191
+ ) {
192
+ /* istanbul ignore next */
193
+ componentOptions.methods ||= {};
194
+
195
+ for (const key in customEventsConfig) {
196
+ const customEventOptions = customEventsConfig[key];
197
+
198
+ if (IsFullCustomEvents(customEventOptions)) {
199
+ componentOptions.methods[key] = function(this: Instance, detail: unknown) {
200
+ this.triggerEvent(key, detail, customEventOptions.options);
201
+ };
202
+ } else {
203
+ componentOptions.methods[key] = function(this: Instance, detail: unknown) {
204
+ this.triggerEvent(key, detail);
205
+ };
206
+ }
207
+ }
208
+ }
209
+
210
+ /**
211
+ * 收集 rootComponentOptions 配置到 finalOptions 和 funcOptions 中
212
+ * @param finalOptions - 收集配置对象
213
+ * @param funcOptions - 收集特殊配置对象字段
214
+ * @param rootComponentOptions - 被收集的源配置对象
215
+ */
216
+ function collectRootComponentOption(
217
+ finalOptions: FinalOptionsForComponent,
218
+ funcOptions: FuncOptions,
219
+ rootComponentOptions: RootComponentTrueOptions,
220
+ ) {
221
+ rootComponentOptions.customEvents && customEventsHandle(finalOptions, rootComponentOptions.customEvents);
222
+
223
+ delete rootComponentOptions.customEvents;
224
+
225
+ rootComponentOptions.events && eventsHandle(finalOptions, rootComponentOptions.events);
226
+
227
+ delete rootComponentOptions.events;
228
+
229
+ funcFieldsCollect(rootComponentOptions, funcOptions);
230
+
231
+ otherFieldsHandle(finalOptions, rootComponentOptions);
232
+ }
233
+ /**
234
+ * 返回一个由rootComponentOption和subComponentsList配置整合的对象
235
+ * @param rootComponentOption -
236
+ * @param subComponentsList -
237
+ * @returns FinalOptionsForComponent
238
+ */
239
+ export function collectOptionsForComponent(
240
+ rootComponentOption: RootComponentTrueOptions | undefined,
241
+ subComponentsList: SubComponentTrueOptions[] | undefined,
242
+ ): FinalOptionsForComponent {
243
+ const finalOptionsForComponent: FinalOptionsForComponent = {
244
+ // default options
245
+ options: {
246
+ // addGlobalClass: true,
247
+ multipleSlots: true,
248
+ pureDataPattern: /^_/,
249
+ virtualHost: true,
250
+ },
251
+ // default behaviors
252
+ behaviors: [BStore, BComputedAndWatch],
253
+ };
254
+ /**
255
+ * 有些字段配置同时存在根组件和子组件当中(如pageLifetimes,lifetimes,watch字段), 且key相同值类型为函数。funcConfig对象用于收集这些配置为数组形式,最终再一起整合进finalOptionsForComponent配置中。即funcConfig是一个临时中介对象。
256
+ */
257
+ const funcOptions: FuncOptions = {
258
+ pageLifetimes: {},
259
+ lifetimes: {},
260
+ watch: {},
261
+ };
262
+
263
+ if (rootComponentOption && !isEmptyObject(rootComponentOption)) {
264
+ collectRootComponentOption(finalOptionsForComponent, funcOptions, rootComponentOption);
265
+ }
266
+
267
+ if (subComponentsList && !isEmptyObject(subComponentsList)) {
268
+ subComponentsHandle(finalOptionsForComponent, subComponentsList, funcOptions);
269
+ }
270
+ // 框架无法测试页面
271
+ /* istanbul ignore next */
272
+ if (!isEmptyObject(funcOptions)) {
273
+ funcConfigHandle(finalOptionsForComponent, rootComponentOption?.isPage, funcOptions);
274
+ }
275
+
276
+ finalOptionsForComponent.methods && InternalFieldProtection(finalOptionsForComponent.methods);
277
+
278
+ // BBeforeCreate在最后面
279
+ finalOptionsForComponent.behaviors!.push(BBeforeCreate);
280
+
281
+ onLoadHijack(finalOptionsForComponent, [onLoadReceivedDataHandle, initComputed], []);
282
+
283
+ // 框架无法测试页面
284
+ /* istanbul ignore next */
285
+ if (finalOptionsForComponent.isPage) {
286
+ Reflect.deleteProperty(finalOptionsForComponent.options!, "virtualHost");
287
+ }
288
+
289
+ return finalOptionsForComponent;
290
+ }