annil 1.14.0 → 1.16.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (294) hide show
  1. package/CHANGELOG.md +32 -0
  2. package/README.md +15 -3
  3. package/dist/api/DefineComponent/{NameOrPage → NameOrPath}/NameOrPathOption.d.ts +2 -2
  4. package/dist/api/DefineComponent/NameOrPath/NameOrPathOption.js.map +1 -0
  5. package/dist/api/DefineComponent/SubComponents/SubComponentsOption.d.ts +3 -3
  6. package/dist/api/DefineComponent/index.d.ts +5 -5
  7. package/dist/api/DefineComponent/normalizeOptions/__throttleDebounce__FieldCheck.d.ts +2 -3
  8. package/dist/api/DefineComponent/normalizeOptions/__throttleDebounce__FieldCheck.js.map +1 -1
  9. package/dist/api/DefineComponent/normalizeOptions/handleStore/reactionRegister.js +31 -15
  10. package/dist/api/DefineComponent/normalizeOptions/handleStore/reactionRegister.js.map +1 -1
  11. package/dist/api/DefineComponent/normalizeOptions/handleSubComponents.d.ts +2 -2
  12. package/dist/api/DefineComponent/normalizeOptions/handleSubComponents.js.map +1 -1
  13. package/dist/api/DefineComponent/normalizeOptions/hijackHandle/index.js +0 -4
  14. package/dist/api/DefineComponent/normalizeOptions/hijackHandle/index.js.map +1 -1
  15. package/dist/api/DefineComponent/normalizeOptions/index.js +2 -2
  16. package/dist/api/DefineComponent/normalizeOptions/index.js.map +1 -1
  17. package/dist/api/DefineComponent/normalizeOptions/initComputed/index.js.map +1 -1
  18. package/dist/api/DefineComponent/normalizeOptions/sameFuncFieldsCollect.d.ts +2 -2
  19. package/dist/api/DefineComponent/normalizeOptions/sameFuncFieldsCollect.js.map +1 -1
  20. package/dist/api/DefineComponent/normalizeOptions/watchHandler/index.d.ts +1 -1
  21. package/dist/api/DefineComponent/normalizeOptions/watchHandler/index.js +6 -6
  22. package/dist/api/DefineComponent/normalizeOptions/watchHandler/index.js.map +1 -1
  23. package/dist/api/DefineComponent/returnType/GenerateComponentDoc.d.ts +2 -2
  24. package/dist/api/DefineComponent/returnType/GetCustomEventDocOfSubDoc.d.ts +3 -3
  25. package/dist/api/RootComponent/PageLifetimes/PageLifetimesOption.d.ts +2 -6
  26. package/dist/api/RootComponent/Properties/GetPropertiesDef.d.ts +3 -2
  27. package/dist/api/RootComponent/Properties/PropertiesOption.d.ts +1 -3
  28. package/dist/api/RootComponent/Store/StoreOption.d.ts +1 -2
  29. package/dist/api/SubComponent/SubComputed/GetSubComputedDoc.d.ts +3 -0
  30. package/dist/api/SubComponent/SubComputed/GetSubComputedDoc.js +2 -0
  31. package/dist/api/SubComponent/SubComputed/GetSubComputedDoc.js.map +1 -0
  32. package/dist/api/SubComponent/SubComputed/SubComputedConstraint.d.ts +3 -0
  33. package/dist/api/SubComponent/SubComputed/SubComputedConstraint.js +2 -0
  34. package/dist/api/SubComponent/SubComputed/SubComputedConstraint.js.map +1 -0
  35. package/dist/api/{CustomComponent/CustomComputed/CustomComputedOption.d.ts → SubComponent/SubComputed/SubComputedOption.d.ts} +1 -1
  36. package/dist/api/SubComponent/SubComputed/SubComputedOption.js +2 -0
  37. package/dist/api/SubComponent/SubComputed/SubComputedOption.js.map +1 -0
  38. package/dist/api/SubComponent/SubData/SubDataConstraint.d.ts +3 -0
  39. package/dist/api/SubComponent/SubData/SubDataConstraint.js +2 -0
  40. package/dist/api/SubComponent/SubData/SubDataConstraint.js.map +1 -0
  41. package/dist/api/{CustomComponent/CustomData/CustomDataOption.d.ts → SubComponent/SubData/SubDataOption.d.ts} +1 -1
  42. package/dist/api/SubComponent/SubData/SubDataOption.js +2 -0
  43. package/dist/api/SubComponent/SubData/SubDataOption.js.map +1 -0
  44. package/dist/api/{CustomComponent/CustomEvents/CustomEventsConstraint.d.ts → SubComponent/SubEvents/SubEventsConstraint.d.ts} +1 -1
  45. package/dist/api/SubComponent/SubEvents/SubEventsConstraint.js +2 -0
  46. package/dist/api/SubComponent/SubEvents/SubEventsConstraint.js.map +1 -0
  47. package/dist/api/{CustomComponent/CustomEvents/CustomEventsOption.d.ts → SubComponent/SubEvents/SubEventsOption.d.ts} +1 -1
  48. package/dist/api/SubComponent/SubEvents/SubEventsOption.js +2 -0
  49. package/dist/api/SubComponent/SubEvents/SubEventsOption.js.map +1 -0
  50. package/dist/api/{CustomComponent/CustomInherit/CustomInheritConstraint.d.ts → SubComponent/SubInherit/SubInheritConstraint.d.ts} +1 -1
  51. package/dist/api/SubComponent/SubInherit/SubInheritConstraint.js +2 -0
  52. package/dist/api/SubComponent/SubInherit/SubInheritConstraint.js.map +1 -0
  53. package/dist/api/{CustomComponent/CustomInherit/CustomInheritOption.d.ts → SubComponent/SubInherit/SubInheritOption.d.ts} +1 -1
  54. package/dist/api/SubComponent/SubInherit/SubInheritOption.js +2 -0
  55. package/dist/api/SubComponent/SubInherit/SubInheritOption.js.map +1 -0
  56. package/dist/api/SubComponent/SubInstance/SubInstance.d.ts +2 -0
  57. package/dist/api/SubComponent/SubInstance/SubInstance.js.map +1 -0
  58. package/dist/api/{CustomComponent/CustomLifetimes → SubComponent/SubLifetimes}/SubLifetimesOption.d.ts +1 -1
  59. package/dist/api/SubComponent/SubLifetimes/SubLifetimesOption.js.map +1 -0
  60. package/dist/api/SubComponent/SubMethods/SubMethodsConstraint.d.ts +2 -0
  61. package/dist/api/SubComponent/SubMethods/SubMethodsConstraint.js +2 -0
  62. package/dist/api/SubComponent/SubMethods/SubMethodsConstraint.js.map +1 -0
  63. package/dist/api/SubComponent/SubMethods/SubMethodsOption.d.ts +5 -0
  64. package/dist/api/SubComponent/SubMethods/SubMethodsOption.js +2 -0
  65. package/dist/api/SubComponent/SubMethods/SubMethodsOption.js.map +1 -0
  66. package/dist/api/SubComponent/SubObservers/SubObserversOption.d.ts +2 -0
  67. package/dist/api/SubComponent/SubObservers/SubObserversOption.js +2 -0
  68. package/dist/api/SubComponent/SubObservers/SubObserversOption.js.map +1 -0
  69. package/dist/api/SubComponent/SubPageLifetimes/SubPageLifetimesOption.d.ts +2 -0
  70. package/dist/api/SubComponent/SubPageLifetimes/SubPageLifetimesOption.js +2 -0
  71. package/dist/api/SubComponent/SubPageLifetimes/SubPageLifetimesOption.js.map +1 -0
  72. package/dist/api/{CustomComponent/CustomReturnType/CreateCustomComponentDoc.d.ts → SubComponent/SubReturnType/CreateSubComponentDoc.d.ts} +1 -1
  73. package/dist/api/SubComponent/SubReturnType/CreateSubComponentDoc.js +2 -0
  74. package/dist/api/SubComponent/SubReturnType/CreateSubComponentDoc.js.map +1 -0
  75. package/dist/api/{CustomComponent/CustomStore/CustomStoreConstraint.d.ts → SubComponent/SubStore/SubStoreConstraint.d.ts} +2 -2
  76. package/dist/api/SubComponent/SubStore/SubStoreConstraint.js +2 -0
  77. package/dist/api/SubComponent/SubStore/SubStoreConstraint.js.map +1 -0
  78. package/dist/api/{CustomComponent/CustomStore/CustomStoreOption.d.ts → SubComponent/SubStore/SubStoreOption.d.ts} +1 -1
  79. package/dist/api/SubComponent/SubStore/SubStoreOption.js +2 -0
  80. package/dist/api/SubComponent/SubStore/SubStoreOption.js.map +1 -0
  81. package/dist/api/SubComponent/SubWatch/SubWatchOption.d.ts +2 -0
  82. package/dist/api/SubComponent/SubWatch/SubWatchOption.js +2 -0
  83. package/dist/api/SubComponent/SubWatch/SubWatchOption.js.map +1 -0
  84. package/dist/api/SubComponent/index.d.ts +49 -0
  85. package/dist/api/SubComponent/index.js +4 -0
  86. package/dist/api/SubComponent/index.js.map +1 -0
  87. package/dist/api/{CustomComponent → SubComponent}/returnType.d.ts +3 -3
  88. package/dist/api/SubComponent/returnType.js.map +1 -0
  89. package/dist/index.d.ts +2 -3
  90. package/dist/index.js +2 -3
  91. package/dist/index.js.map +1 -1
  92. package/dist/thirdLib/index.js +2 -1
  93. package/dist/thirdLib/index.js.map +1 -1
  94. package/package.json +5 -4
  95. package/src/api/DefineComponent/{NameOrPage → NameOrPath}/NameOrPathOption.ts +3 -3
  96. package/src/api/DefineComponent/SubComponents/SubComponentsOption.ts +3 -4
  97. package/src/api/DefineComponent/SubComponents/test/normal.test.ts +3 -3
  98. package/src/api/DefineComponent/index.ts +9 -9
  99. package/src/api/DefineComponent/normalizeOptions/__throttleDebounce__FieldCheck.ts +2 -3
  100. package/src/api/DefineComponent/normalizeOptions/handleStore/reactionRegister.ts +56 -17
  101. package/src/api/DefineComponent/normalizeOptions/handleSubComponents.ts +2 -2
  102. package/src/api/DefineComponent/normalizeOptions/hijackHandle/index.ts +5 -5
  103. package/src/api/DefineComponent/normalizeOptions/hijackHandle/loadReceivedDataHandle.ts +22 -22
  104. package/src/api/DefineComponent/normalizeOptions/index.ts +2 -2
  105. package/src/api/DefineComponent/normalizeOptions/initComputed/index.ts +0 -9
  106. package/src/api/DefineComponent/normalizeOptions/sameFuncFieldsCollect.ts +2 -2
  107. package/src/api/DefineComponent/normalizeOptions/watchHandler/index.ts +23 -6
  108. package/src/api/DefineComponent/returnType/GenerateComponentDoc.ts +2 -2
  109. package/src/api/DefineComponent/returnType/GetCustomEventDocOfSubDoc.ts +4 -4
  110. package/src/api/DefineComponent/returnType/test/normalComponentDoc.test.ts +6 -6
  111. package/src/api/RootComponent/Instance/test/properties/mormal.test.ts +1 -1
  112. package/src/api/RootComponent/PageLifetimes/PageLifetimesOption.ts +2 -15
  113. package/src/api/RootComponent/PageLifetimes/test/error.test.ts +0 -3
  114. package/src/api/RootComponent/PageLifetimes/test/normal.test.ts +3 -36
  115. package/src/api/RootComponent/Properties/GetPropertiesDef.ts +4 -7
  116. package/src/api/RootComponent/Properties/PropertiesOption.ts +3 -4
  117. package/src/api/RootComponent/Store/StoreOption.ts +1 -1
  118. package/src/api/RootComponent/Store/test/error.test.ts +1 -8
  119. package/src/api/RootComponent/Store/test/normal.test.ts +20 -9
  120. package/src/api/{CustomComponent/CustomComputed/GetCustomComputedDoc.ts → SubComponent/SubComputed/GetSubComputedDoc.ts} +1 -1
  121. package/src/api/SubComponent/SubComputed/SubComputedConstraint.ts +1 -0
  122. package/src/api/{CustomComponent/CustomComputed/CustomComputedOption.ts → SubComponent/SubComputed/SubComputedOption.ts} +1 -1
  123. package/src/api/{CustomComponent/CustomComputed → SubComponent/SubComputed}/test/error.test.ts +7 -7
  124. package/src/api/{CustomComponent/CustomComputed → SubComponent/SubComputed}/test/normal.test.ts +9 -9
  125. package/src/api/{CustomComponent/CustomData/CustomDataConstraint.ts → SubComponent/SubData/SubDataConstraint.ts} +1 -1
  126. package/src/api/{CustomComponent/CustomData/CustomDataOption.ts → SubComponent/SubData/SubDataOption.ts} +1 -1
  127. package/src/api/{CustomComponent/CustomData → SubComponent/SubData}/test/error.test.ts +5 -5
  128. package/src/api/{CustomComponent/CustomData → SubComponent/SubData}/test/normal.test.ts +6 -6
  129. package/src/api/{CustomComponent/CustomEvents/CustomEventsConstraint.ts → SubComponent/SubEvents/SubEventsConstraint.ts} +1 -1
  130. package/src/api/{CustomComponent/CustomEvents/CustomEventsOption.ts → SubComponent/SubEvents/SubEventsOption.ts} +1 -1
  131. package/src/api/{CustomComponent/CustomEvents → SubComponent/SubEvents}/test/error.test.ts +3 -3
  132. package/src/api/{CustomComponent/CustomEvents → SubComponent/SubEvents}/test/normal.test.ts +10 -10
  133. package/src/api/{CustomComponent/CustomInherit/CustomInheritConstraint.ts → SubComponent/SubInherit/SubInheritConstraint.ts} +1 -1
  134. package/src/api/{CustomComponent/CustomInherit/CustomInheritOption.ts → SubComponent/SubInherit/SubInheritOption.ts} +1 -1
  135. package/src/api/{CustomComponent/CustomInherit → SubComponent/SubInherit}/test/error.test.ts +7 -7
  136. package/src/api/{CustomComponent/CustomInherit → SubComponent/SubInherit}/test/normal.test.ts +5 -5
  137. package/src/api/{CustomComponent/CustomInstance → SubComponent/SubInstance}/SubInstance.ts +1 -1
  138. package/src/api/{CustomComponent/CustomInstance → SubComponent/SubInstance}/test/error.test.ts +2 -2
  139. package/src/api/{CustomComponent/CustomInstance → SubComponent/SubInstance}/test/normal.test.ts +2 -2
  140. package/src/api/{CustomComponent/CustomLifetimes → SubComponent/SubLifetimes}/SubLifetimesOption.ts +1 -1
  141. package/src/api/SubComponent/SubMethods/SubMethodsConstraint.ts +3 -0
  142. package/src/api/{CustomComponent/CustomMethods/CustomMethodsOption.ts → SubComponent/SubMethods/SubMethodsOption.ts} +3 -3
  143. package/src/api/{CustomComponent/CustomMethods → SubComponent/SubMethods}/test/error.test.ts +3 -3
  144. package/src/api/{CustomComponent/CustomMethods → SubComponent/SubMethods}/test/normarl.test.ts +3 -3
  145. package/src/api/SubComponent/SubObservers/SubObserversOption.ts +3 -0
  146. package/src/api/{CustomComponent/CustomPageLifetimes/CustomPageLifetimesOption.ts → SubComponent/SubPageLifetimes/SubPageLifetimesOption.ts} +1 -1
  147. package/src/api/{CustomComponent/CustomReturnType/CreateCustomComponentDoc.ts → SubComponent/SubReturnType/CreateSubComponentDoc.ts} +1 -1
  148. package/src/api/{CustomComponent/CustomReturnType → SubComponent/SubReturnType}/test/error.test.ts +2 -2
  149. package/src/api/{CustomComponent/CustomReturnType → SubComponent/SubReturnType}/test/normal.test.ts +4 -4
  150. package/src/api/{CustomComponent/CustomStore/CustomStoreConstraint.ts → SubComponent/SubStore/SubStoreConstraint.ts} +2 -2
  151. package/src/api/{CustomComponent/CustomStore/CustomStoreOption.ts → SubComponent/SubStore/SubStoreOption.ts} +1 -1
  152. package/src/api/{CustomComponent/CustomStore → SubComponent/SubStore}/test/error.test.ts +6 -6
  153. package/src/api/{CustomComponent/CustomStore → SubComponent/SubStore}/test/normal.test.ts +13 -6
  154. package/src/api/SubComponent/SubWatch/SubWatchOption.ts +3 -0
  155. package/src/api/{CustomComponent/CustomWatch → SubComponent/SubWatch}/test/WatchComputed.test.ts +2 -2
  156. package/src/api/{CustomComponent/CustomWatch → SubComponent/SubWatch}/test/WatchProperties.test.ts +2 -2
  157. package/src/api/{CustomComponent/CustomWatch → SubComponent/SubWatch}/test/WatchRootData.test.ts +2 -2
  158. package/src/api/{CustomComponent/CustomWatch → SubComponent/SubWatch}/test/WatchSubData.test.ts +3 -3
  159. package/src/api/{CustomComponent/CustomWatch → SubComponent/SubWatch}/test/WtachInject.test.ts +2 -2
  160. package/src/api/{CustomComponent/CustomWatch → SubComponent/SubWatch}/test/error.test.ts +5 -5
  161. package/src/api/{CustomComponent → SubComponent}/index.ts +50 -62
  162. package/src/api/{CustomComponent → SubComponent}/returnType.ts +6 -7
  163. package/src/index.ts +2 -4
  164. package/src/thirdLib/wm/swiper.test.ts +2 -2
  165. package/tsconfig.json +3 -3
  166. package/dist/api/ChunkComponent/ChunkComputed/ChunkComputedConstraint.d.ts +0 -1
  167. package/dist/api/ChunkComponent/ChunkComputed/ChunkComputedConstraint.js +0 -2
  168. package/dist/api/ChunkComponent/ChunkComputed/ChunkComputedConstraint.js.map +0 -1
  169. package/dist/api/ChunkComponent/ChunkComputed/ChunkComputedOption.d.ts +0 -10
  170. package/dist/api/ChunkComponent/ChunkComputed/ChunkComputedOption.js +0 -2
  171. package/dist/api/ChunkComponent/ChunkComputed/ChunkComputedOption.js.map +0 -1
  172. package/dist/api/ChunkComponent/ChunkData/chunkDataOption.d.ts +0 -9
  173. package/dist/api/ChunkComponent/ChunkData/chunkDataOption.js +0 -2
  174. package/dist/api/ChunkComponent/ChunkData/chunkDataOption.js.map +0 -1
  175. package/dist/api/ChunkComponent/ChunkData/validatePrefix.d.ts +0 -2
  176. package/dist/api/ChunkComponent/ChunkData/validatePrefix.js +0 -2
  177. package/dist/api/ChunkComponent/ChunkData/validatePrefix.js.map +0 -1
  178. package/dist/api/ChunkComponent/ChunkMethods/ChunkMethodsOption.d.ts +0 -10
  179. package/dist/api/ChunkComponent/ChunkMethods/ChunkMethodsOption.js +0 -2
  180. package/dist/api/ChunkComponent/ChunkMethods/ChunkMethodsOption.js.map +0 -1
  181. package/dist/api/ChunkComponent/ChunkStore/ChunkStoreConstraint.d.ts +0 -2
  182. package/dist/api/ChunkComponent/ChunkStore/ChunkStoreConstraint.js +0 -2
  183. package/dist/api/ChunkComponent/ChunkStore/ChunkStoreConstraint.js.map +0 -1
  184. package/dist/api/ChunkComponent/ChunkStore/ChunkStoreOption.d.ts +0 -12
  185. package/dist/api/ChunkComponent/ChunkStore/ChunkStoreOption.js +0 -2
  186. package/dist/api/ChunkComponent/ChunkStore/ChunkStoreOption.js.map +0 -1
  187. package/dist/api/ChunkComponent/ChunklEvents/ChunkEventsConstraint.d.ts +0 -2
  188. package/dist/api/ChunkComponent/ChunklEvents/ChunkEventsConstraint.js +0 -2
  189. package/dist/api/ChunkComponent/ChunklEvents/ChunkEventsConstraint.js.map +0 -1
  190. package/dist/api/ChunkComponent/ChunklEvents/ChunkEventsOption.d.ts +0 -10
  191. package/dist/api/ChunkComponent/ChunklEvents/ChunkEventsOption.js +0 -2
  192. package/dist/api/ChunkComponent/ChunklEvents/ChunkEventsOption.js.map +0 -1
  193. package/dist/api/ChunkComponent/SlotComponentReturnType.d.ts +0 -20
  194. package/dist/api/ChunkComponent/SlotComponentReturnType.js +0 -2
  195. package/dist/api/ChunkComponent/SlotComponentReturnType.js.map +0 -1
  196. package/dist/api/ChunkComponent/index.d.ts +0 -24
  197. package/dist/api/ChunkComponent/index.js +0 -4
  198. package/dist/api/ChunkComponent/index.js.map +0 -1
  199. package/dist/api/CustomComponent/CustomComputed/CustomComputedConstraint.d.ts +0 -3
  200. package/dist/api/CustomComponent/CustomComputed/CustomComputedConstraint.js +0 -2
  201. package/dist/api/CustomComponent/CustomComputed/CustomComputedConstraint.js.map +0 -1
  202. package/dist/api/CustomComponent/CustomComputed/CustomComputedOption.js +0 -2
  203. package/dist/api/CustomComponent/CustomComputed/CustomComputedOption.js.map +0 -1
  204. package/dist/api/CustomComponent/CustomComputed/GetCustomComputedDoc.d.ts +0 -3
  205. package/dist/api/CustomComponent/CustomComputed/GetCustomComputedDoc.js +0 -2
  206. package/dist/api/CustomComponent/CustomComputed/GetCustomComputedDoc.js.map +0 -1
  207. package/dist/api/CustomComponent/CustomData/CustomDataConstraint.d.ts +0 -3
  208. package/dist/api/CustomComponent/CustomData/CustomDataConstraint.js +0 -2
  209. package/dist/api/CustomComponent/CustomData/CustomDataConstraint.js.map +0 -1
  210. package/dist/api/CustomComponent/CustomData/CustomDataOption.js +0 -2
  211. package/dist/api/CustomComponent/CustomData/CustomDataOption.js.map +0 -1
  212. package/dist/api/CustomComponent/CustomEvents/CustomEventsConstraint.js +0 -2
  213. package/dist/api/CustomComponent/CustomEvents/CustomEventsConstraint.js.map +0 -1
  214. package/dist/api/CustomComponent/CustomEvents/CustomEventsOption.js +0 -2
  215. package/dist/api/CustomComponent/CustomEvents/CustomEventsOption.js.map +0 -1
  216. package/dist/api/CustomComponent/CustomInherit/CustomInheritConstraint.js +0 -2
  217. package/dist/api/CustomComponent/CustomInherit/CustomInheritConstraint.js.map +0 -1
  218. package/dist/api/CustomComponent/CustomInherit/CustomInheritOption.js +0 -2
  219. package/dist/api/CustomComponent/CustomInherit/CustomInheritOption.js.map +0 -1
  220. package/dist/api/CustomComponent/CustomInstance/SubInstance.d.ts +0 -2
  221. package/dist/api/CustomComponent/CustomInstance/SubInstance.js.map +0 -1
  222. package/dist/api/CustomComponent/CustomLifetimes/SubLifetimesOption.js.map +0 -1
  223. package/dist/api/CustomComponent/CustomMethods/CustomMethodsConstraint.d.ts +0 -2
  224. package/dist/api/CustomComponent/CustomMethods/CustomMethodsConstraint.js +0 -2
  225. package/dist/api/CustomComponent/CustomMethods/CustomMethodsConstraint.js.map +0 -1
  226. package/dist/api/CustomComponent/CustomMethods/CustomMethodsOption.d.ts +0 -5
  227. package/dist/api/CustomComponent/CustomMethods/CustomMethodsOption.js +0 -2
  228. package/dist/api/CustomComponent/CustomMethods/CustomMethodsOption.js.map +0 -1
  229. package/dist/api/CustomComponent/CustomObservers/CustomObserversOption.d.ts +0 -2
  230. package/dist/api/CustomComponent/CustomObservers/CustomObserversOption.js +0 -2
  231. package/dist/api/CustomComponent/CustomObservers/CustomObserversOption.js.map +0 -1
  232. package/dist/api/CustomComponent/CustomPageLifetimes/CustomPageLifetimesOption.d.ts +0 -2
  233. package/dist/api/CustomComponent/CustomPageLifetimes/CustomPageLifetimesOption.js +0 -2
  234. package/dist/api/CustomComponent/CustomPageLifetimes/CustomPageLifetimesOption.js.map +0 -1
  235. package/dist/api/CustomComponent/CustomReturnType/CreateCustomComponentDoc.js +0 -2
  236. package/dist/api/CustomComponent/CustomReturnType/CreateCustomComponentDoc.js.map +0 -1
  237. package/dist/api/CustomComponent/CustomStore/CustomStoreConstraint.js +0 -2
  238. package/dist/api/CustomComponent/CustomStore/CustomStoreConstraint.js.map +0 -1
  239. package/dist/api/CustomComponent/CustomStore/CustomStoreOption.js +0 -2
  240. package/dist/api/CustomComponent/CustomStore/CustomStoreOption.js.map +0 -1
  241. package/dist/api/CustomComponent/CustomWatch/CustomWatchOption.d.ts +0 -2
  242. package/dist/api/CustomComponent/CustomWatch/CustomWatchOption.js +0 -2
  243. package/dist/api/CustomComponent/CustomWatch/CustomWatchOption.js.map +0 -1
  244. package/dist/api/CustomComponent/index.d.ts +0 -49
  245. package/dist/api/CustomComponent/index.js +0 -4
  246. package/dist/api/CustomComponent/index.js.map +0 -1
  247. package/dist/api/CustomComponent/returnType.js.map +0 -1
  248. package/dist/api/DefineComponent/NameOrPage/NameOrPathOption.js.map +0 -1
  249. package/dist/api/DefineComponent/normalizeOptions/hijackHandle/loadReceivedDataHandle.d.ts +0 -3
  250. package/dist/api/DefineComponent/normalizeOptions/hijackHandle/loadReceivedDataHandle.js +0 -12
  251. package/dist/api/DefineComponent/normalizeOptions/hijackHandle/loadReceivedDataHandle.js.map +0 -1
  252. package/src/api/ChunkComponent/ChunkComputed/ChunkComputedConstraint.ts +0 -1
  253. package/src/api/ChunkComponent/ChunkComputed/ChunkComputedOption.ts +0 -46
  254. package/src/api/ChunkComponent/ChunkComputed/GetChunkComputedDoc.ts +0 -9
  255. package/src/api/ChunkComponent/ChunkComputed/test/SlotGetComputedDoc.test.ts +0 -25
  256. package/src/api/ChunkComponent/ChunkComputed/test/error.test.ts +0 -33
  257. package/src/api/ChunkComponent/ChunkComputed/test/mock.ts +0 -37
  258. package/src/api/ChunkComponent/ChunkComputed/test/normal.test.ts +0 -86
  259. package/src/api/ChunkComponent/ChunkData/chunkDataConstraint.ts +0 -9
  260. package/src/api/ChunkComponent/ChunkData/chunkDataOption.ts +0 -17
  261. package/src/api/ChunkComponent/ChunkData/test/error.test.ts +0 -28
  262. package/src/api/ChunkComponent/ChunkData/test/mock.ts +0 -44
  263. package/src/api/ChunkComponent/ChunkData/test/normal.test.ts +0 -18
  264. package/src/api/ChunkComponent/ChunkData/validatePrefix.ts +0 -4
  265. package/src/api/ChunkComponent/ChunkLifetimes/ChunkLifetimes.test.ts +0 -24
  266. package/src/api/ChunkComponent/ChunkLifetimes/ChunkPageLifetimes.test.ts +0 -26
  267. package/src/api/ChunkComponent/ChunkMethods/ChunkMethodsOption.ts +0 -27
  268. package/src/api/ChunkComponent/ChunkMethods/test/error.test.ts +0 -31
  269. package/src/api/ChunkComponent/ChunkMethods/test/normal.test.ts +0 -21
  270. package/src/api/ChunkComponent/ChunkStore/ChunkStoreConstraint.ts +0 -3
  271. package/src/api/ChunkComponent/ChunkStore/ChunkStoreOption.ts +0 -33
  272. package/src/api/ChunkComponent/ChunkStore/test/error.test.ts +0 -36
  273. package/src/api/ChunkComponent/ChunkStore/test/mock.ts +0 -32
  274. package/src/api/ChunkComponent/ChunkStore/test/normal.test.ts +0 -52
  275. package/src/api/ChunkComponent/ChunkWatch/test/error.test.ts +0 -28
  276. package/src/api/ChunkComponent/ChunkWatch/test/normal.test.ts +0 -58
  277. package/src/api/ChunkComponent/ChunklEvents/ChunkEventsConstraint.ts +0 -3
  278. package/src/api/ChunkComponent/ChunklEvents/ChunkEventsOption.ts +0 -27
  279. package/src/api/ChunkComponent/ChunklEvents/test/error.test.ts +0 -24
  280. package/src/api/ChunkComponent/ChunklEvents/test/normal.test.ts +0 -26
  281. package/src/api/ChunkComponent/SlotComponentReturnType.ts +0 -32
  282. package/src/api/ChunkComponent/index.ts +0 -165
  283. package/src/api/CustomComponent/CustomComputed/CustomComputedConstraint.ts +0 -1
  284. package/src/api/CustomComponent/CustomMethods/CustomMethodsConstraint.ts +0 -3
  285. package/src/api/CustomComponent/CustomObservers/CustomObserversOption.ts +0 -3
  286. package/src/api/CustomComponent/CustomWatch/CustomWatchOption.ts +0 -3
  287. /package/dist/api/DefineComponent/{NameOrPage → NameOrPath}/NameOrPathOption.js +0 -0
  288. /package/dist/api/{CustomComponent/CustomInstance → SubComponent/SubInstance}/SubInstance.js +0 -0
  289. /package/dist/api/{CustomComponent/CustomLifetimes → SubComponent/SubLifetimes}/SubLifetimesOption.js +0 -0
  290. /package/dist/api/{CustomComponent → SubComponent}/returnType.js +0 -0
  291. /package/src/api/DefineComponent/{NameOrPage → NameOrPath}/test/error.test.ts +0 -0
  292. /package/src/api/DefineComponent/{NameOrPage → NameOrPath}/test/normal.test.ts +0 -0
  293. /package/src/api/{CustomComponent/CustomPageLifetimes → SubComponent/SubPageLifetimes}/test/error.test.ts +0 -0
  294. /package/src/api/{CustomComponent/CustomPageLifetimes → SubComponent/SubPageLifetimes}/test/normal.test.ts +0 -0
@@ -1,25 +1,25 @@
1
- /**
2
- * 针对通过 navigateTo传过来的数据对组件load周期传入数据解析
3
- * @param option - option中的url是拼接了encodeURIComponent转码的data对象的,key为INNERMARKER.url
4
- */
1
+ // /**
2
+ // * 针对通过 navigateTo传过来的数据对组件load周期传入数据解析
3
+ // * @param option - option中的url是拼接了encodeURIComponent转码的data对象的,key为INNERMARKER.url
4
+ // */
5
5
 
6
- import { INNERMARKER } from "../../../../utils/InnerMarker";
7
- import type { PageInstance } from "../../../RootComponent/Instance/RootComponentInstance";
6
+ // import { INNERMARKER } from "../../../../utils/InnerMarker";
7
+ // import type { PageInstance } from "../../../RootComponent/Instance/RootComponentInstance";
8
8
 
9
- /* istanbul ignore next miniprogram-simulate(当前版本 1.6.1) 无法测试load */
10
- export function loadReceivedDataHandle(
11
- this: PageInstance,
12
- option: Record<typeof INNERMARKER.url, string>,
13
- ) {
14
- const innerData: string | undefined = option[INNERMARKER.url];
15
- // 未使用自定义的navigateTo
16
- if (innerData === undefined) return;
17
- // 使用navigateTo API
18
- const decodeOption = JSON.parse(decodeURIComponent(innerData));
9
+ // /* istanbul ignore next miniprogram-simulate(当前版本 1.6.1) 无法测试load */
10
+ // export function loadReceivedDataHandle(
11
+ // this: PageInstance,
12
+ // option: Record<typeof INNERMARKER.url, string>,
13
+ // ) {
14
+ // const innerData: string | undefined = option[INNERMARKER.url];
15
+ // // 未使用自定义的navigateTo
16
+ // if (innerData === undefined) return;
17
+ // // 使用navigateTo API
18
+ // const decodeOption = JSON.parse(decodeURIComponent(innerData));
19
19
 
20
- for (const key in decodeOption) {
21
- option[key] = decodeOption[key];
22
- }
23
- // 给onLoad劫持函数一个标记,判断在新框架下已经被解析过了
24
- option[INNERMARKER.url] = INNERMARKER.url;
25
- }
20
+ // for (const key in decodeOption) {
21
+ // option[key] = decodeOption[key];
22
+ // }
23
+ // // 给onLoad劫持函数一个标记,判断在新框架下已经被解析过了
24
+ // option[INNERMARKER.url] = INNERMARKER.url;
25
+ // }
@@ -18,7 +18,7 @@ import type { ComputedCache } from "./initComputed/initComputedAndGetCache";
18
18
  import { injectInfoHandler } from "./injectInfoHandler";
19
19
  import { InternalFieldProtection } from "./internalFieldProtection";
20
20
  import { sameFuncOptionsHandle } from "./sameFuncOptionsHandle";
21
- import { watchHandler } from "./watchHandler";
21
+ import { handleWatchConfig } from "./watchHandler";
22
22
  // 因为watch字段可能有多个变量,所以在这里定义的value是一个数组
23
23
  export type WatchOldValue = Record<string, unknown[]>;
24
24
  export type ThrottleDebounce = Partial<Record<"throttle" | "debounce", Record<string, number>>>;
@@ -116,7 +116,7 @@ export function normalizeOptions(
116
116
  applyDebounceAndThrottle(finalOptionsForComponent.methods);
117
117
 
118
118
  // 处理watch配置,注意的是 oldValue中的计算属性初始赋值在计算属性初始化完毕后,即计算属性初始化后,再变化时才会被watch到。
119
- watchHandler(finalOptionsForComponent);
119
+ handleWatchConfig(finalOptionsForComponent);
120
120
 
121
121
  // BBeforeCreate在最后面,让BeforeCreate生命周期运行在最终建立组件时。用于测试。
122
122
  finalOptionsForComponent.behaviors.push(BBeforeCreate);
@@ -7,15 +7,6 @@ import type { Instance } from "../../../RootComponent/Instance/RootComponentInst
7
7
  import { getPathsValue } from "../watchHandler/getPathsValue";
8
8
  import { hasComputedPath } from "../watchHandler/hasComputedPath";
9
9
  import { initComputedAndGetCache } from "./initComputedAndGetCache";
10
- // function initWatchOldValue(this: Instance, watchConfig: object): WatchOldValue {
11
- // const watchOldValue: Record<string, unknown[]> = {};
12
- // for (const key in watchConfig) {
13
- // watchOldValue[key] = deepClone(getPathsValue(this.data, key));
14
- // }
15
-
16
- // return watchOldValue;
17
- // }
18
-
19
10
  /**
20
11
  * 初始化会在2个时间渲染,一个是observers.**的回调函数,一个是attached周期。
21
12
  * @param computedConfig
@@ -1,14 +1,14 @@
1
1
  import type { Func } from "hry-types/src/Misc/Func";
2
2
 
3
- import type { CustomComponentDefinitionRuntime } from "../../CustomComponent/returnType";
4
3
  import type { RootComponentDefinitionRuntime } from "../../RootComponent/returnType";
4
+ import type { SubComponentDefinitionRuntime } from "../../SubComponent/returnType";
5
5
  import type { SameFuncOptions } from ".";
6
6
 
7
7
  /**
8
8
  * 把配置为函数的字段方法收集到funcOptions中
9
9
  */
10
10
  export function sameFuncFieldsCollect(
11
- options: CustomComponentDefinitionRuntime | RootComponentDefinitionRuntime,
11
+ options: SubComponentDefinitionRuntime | RootComponentDefinitionRuntime,
12
12
  funcOptions: SameFuncOptions,
13
13
  ) {
14
14
  let key: keyof SameFuncOptions;
@@ -6,7 +6,8 @@ import { getPathsValue } from "./getPathsValue";
6
6
  import { getPropertiesValue } from "./getPropertiesValue";
7
7
  import { hasComputedPath } from "./hasComputedPath";
8
8
 
9
- function initWatchOldValue(
9
+ // 初始化watch监控字段的旧值对象,排除有计算属性的字段。
10
+ function initWatchOldValuesWithoutComputed(
10
11
  data: FinalOptionsOfComponent["data"],
11
12
  watchConfig: object,
12
13
  computedKeys: string[],
@@ -27,6 +28,7 @@ function observerHandler(
27
28
  watchHadle: Func,
28
29
  ...newValue: unknown[]
29
30
  ) {
31
+ // 先调用原生observers的回调函数,再调用watch的回调函数。因为watch的回调函数可能会用到原生observers回调函数中更新的数据。
30
32
  originObserversHandle?.call(this, ...newValue);
31
33
  const watchOldValue = nonNullable(this.data.__watchOldValue__);
32
34
  const oldValue = watchOldValue[key];
@@ -34,7 +36,15 @@ function observerHandler(
34
36
  watchOldValue[key] = deepClone(newValue);
35
37
  watchHadle.call(this, ...newValue, ...oldValue);
36
38
  }
37
- export function watchHandler(
39
+
40
+ /**
41
+ * 把watch配置转换成observers配置的形式,并在回调函数中调用watch的回调函数。
42
+ * 小程序的observers是通过监控setData字段,来触发的,不会比较值的变化,小程序底层代码可以监控到properties变化时的setData动作.
43
+ * watch字段的目的是数据变化时才触发回调函数,但由于实例中无法通过setData的调用来监听到properties字段变化,所以watch字段的实现方式是通过在observers回调函数中比较新旧值来实现的。
44
+ * 还要在组件实例上维护一个__watchOldValue__对象来存储watch监控字段的旧值,以便在回调函数中进行比较。
45
+ * @param finalOptionsForComponent
46
+ */
47
+ export function handleWatchConfig(
38
48
  finalOptionsForComponent: FinalOptionsOfComponent,
39
49
  ) {
40
50
  const { observers: observersConfig, watch: watchConfig, data, properties, computed: computedConfig } =
@@ -42,17 +52,24 @@ export function watchHandler(
42
52
  if (!isEmptyObject(watchConfig)) {
43
53
  const rawPropertiesValue = getPropertiesValue(properties);
44
54
  const computedKeys = Object.keys(computedConfig);
45
- data.__watchOldValue__ = initWatchOldValue({ ...data, ...rawPropertiesValue }, watchConfig, computedKeys);
55
+
56
+ data.__watchOldValue__ = initWatchOldValuesWithoutComputed(
57
+ { ...data, ...rawPropertiesValue },
58
+ watchConfig,
59
+ computedKeys,
60
+ );
46
61
  for (const key in watchConfig) {
47
62
  const watchHadle = watchConfig[key];
48
63
  const originObserversHandle = observersConfig[key] as Func | undefined;
49
64
  // 在监控多个数据时,参数是多个值
50
- observersConfig[key] = function(this: Instance, ...newValue: unknown[]) {
65
+ observersConfig[key] = function(this: Instance, ...values: unknown[]) {
66
+ // 计算属性初始化完成时直接调用。
51
67
  if (this.data.__computedInited__) {
52
- observerHandler.call(this, key, originObserversHandle, watchHadle, ...newValue);
68
+ observerHandler.call(this, key, originObserversHandle, watchHadle, ...values);
53
69
  } else {
70
+ // 计算属性未初始化完成时,先把watch的回调函数注册到实例上,等计算属性初始化完成时再调用。因为计算属性初始化完成时会把data中的值setData一次,会触发observers回调函数,所以在这里注册watch的回调函数,就能保证计算属性初始化完成后能正确调用watch的回调函数。
54
71
  (this.data.__oberverHandler__ ||= []).push(
55
- observerHandler.bind(this, key, originObserversHandle, watchHadle, ...newValue),
72
+ observerHandler.bind(this, key, originObserversHandle, watchHadle, ...values),
56
73
  );
57
74
  }
58
75
  };
@@ -1,7 +1,7 @@
1
1
  import type { IfExtends } from "hry-types/src/Any/IfExtends";
2
2
  import type { ComputeIntersection } from "hry-types/src/Object/ComputeIntersection";
3
- import type { CustomComponentDefinition } from "../../CustomComponent/returnType";
4
3
  import type { RootComponentDefinition } from "../../RootComponent/returnType";
4
+ import type { SubComponentDefinition } from "../../SubComponent/returnType";
5
5
  import type { GetCustomEventDocOfSubDoc } from "./GetCustomEventDocOfSubDoc";
6
6
 
7
7
  // 获取RootComponetDoc中events字段类型阻止事件(后最为catch)的key `${ 组件前缀 }_${infer Key}_${ bubbles | capture }_catch`
@@ -13,7 +13,7 @@ type GetStopKeys<O> = { [k in keyof O]: k extends `${string}_${infer Key}_${stri
13
13
  export type GenerateComponentDoc<
14
14
  TRootDoc extends RootComponentDefinition,
15
15
  TName extends string,
16
- TSubComponentTuple extends CustomComponentDefinition[],
16
+ TSubComponentTuple extends SubComponentDefinition[],
17
17
  // 获取RootDoc和SubComponent[]中所有的properties字段类型
18
18
  AllPropertiesDoc extends unknown | object = TRootDoc["properties"],
19
19
  AllEventsDoc extends unknown | object =
@@ -2,16 +2,16 @@ import type { IsNever, IsUnion } from "hry-types/src/Any/_api";
2
2
  import type { UnionTwoObject } from "hry-types/src/Object/UnionTwoObject";
3
3
  import type { Last } from "hry-types/src/Union/Last";
4
4
  import type { Assert } from "../../../types/Assert";
5
- import type { CustomComponentDefinition } from "../../CustomComponent/returnType";
5
+ import type { SubComponentDefinition } from "../../SubComponent/returnType";
6
6
 
7
7
  /**
8
8
  * 因为子组件文档customEvents字段有可能相同(无前缀),所以使用UnionTwoObject
9
9
  * 由于SubComponentDoc为空时返回never而不`{}`,所以`Exclude<U, TLast>`不影响结果。
10
10
  */
11
11
  type _GetCustomEventDocOfSubDoc<
12
- U extends CustomComponentDefinition,
12
+ U extends SubComponentDefinition,
13
13
  Result = {},
14
- TLast extends CustomComponentDefinition = Assert<Last<U>, CustomComponentDefinition>,
14
+ TLast extends SubComponentDefinition = Assert<Last<U>, SubComponentDefinition>,
15
15
  > = IsNever<U> extends true ? Result
16
16
  : _GetCustomEventDocOfSubDoc<Exclude<U, TLast>, UnionTwoObject<Result, TLast["composedEvents"]>>;
17
17
 
@@ -19,6 +19,6 @@ type _GetCustomEventDocOfSubDoc<
19
19
  * 获取子组件自定义事件文档
20
20
  * @remarks U 中 相同字段类型联合,所以使用元组推导不如Last性能好。
21
21
  */
22
- export type GetCustomEventDocOfSubDoc<UnionSubDoc extends CustomComponentDefinition> = IsUnion<UnionSubDoc> extends true
22
+ export type GetCustomEventDocOfSubDoc<UnionSubDoc extends SubComponentDefinition> = IsUnion<UnionSubDoc> extends true
23
23
  ? _GetCustomEventDocOfSubDoc<UnionSubDoc>
24
24
  : UnionSubDoc["composedEvents"];
@@ -1,7 +1,7 @@
1
1
  /* eslint-disable @typescript-eslint/no-unused-expressions */
2
2
  /* eslint-disable @typescript-eslint/no-unused-vars */
3
3
  import { Checking, type Test } from "hry-types";
4
- import { CustomComponent, type DetailedType, RootComponent } from "../../../..";
4
+ import { type DetailedType, RootComponent, SubComponent } from "../../../..";
5
5
  // import type { CustomEventConstraint } from "../../../rootComponent/CustomEvents/CustomEventConstraint";
6
6
  import type {
7
7
  Bubbles,
@@ -14,11 +14,11 @@ import type {
14
14
  } from "../../../RootComponent/CustomEvents/CustomEventsTag";
15
15
 
16
16
  import type { ComputeIntersection } from "hry-types/src/Object/ComputeIntersection";
17
- import type { CustomComponentDefinition } from "../../../CustomComponent/returnType";
18
17
  import type { CustomEventConstraint } from "../../../RootComponent/CustomEvents/CustomEventConstraint";
19
18
  import type { PropertiesConstraint } from "../../../RootComponent/Properties/PropertiesConstraint";
20
19
  import type { Mock_User } from "../../../RootComponent/Properties/test/normalRequired.test";
21
20
  import type { RootComponentDefinition } from "../../../RootComponent/returnType";
21
+ import type { SubComponentDefinition } from "../../../SubComponent/returnType";
22
22
  import { DefineComponent } from "../..";
23
23
 
24
24
  const properties = {
@@ -134,7 +134,7 @@ const compDoc = DefineComponent({
134
134
 
135
135
  Checking<typeof compDoc, ComputeIntersection<CompOnlyCustomEventsExpected & OnlyPropertiesExpected>, Test.Pass>;
136
136
 
137
- type SubA = CustomComponentDefinition<{
137
+ type SubA = SubComponentDefinition<{
138
138
  composedEvents: {
139
139
  str: string | Bubbles | Composed;
140
140
  num: number | Capture | Composed;
@@ -158,7 +158,7 @@ type customEventsRootDocExpect = {
158
158
 
159
159
  Checking<typeof customEventsRootDoc, customEventsRootDocExpect, Test.Pass>;
160
160
 
161
- type SubB = CustomComponentDefinition<{
161
+ type SubB = SubComponentDefinition<{
162
162
  composedEvents: {
163
163
  str: number | Bubbles | Composed;
164
164
  num: string | Capture | Composed;
@@ -225,9 +225,9 @@ const rootComponent8 = RootComponent()({
225
225
 
226
226
  Checking<(typeof rootComponent8)["customEvents"]["decrease"], Mock_User, Test.Pass>;
227
227
 
228
- const subA = CustomComponent<RootComponentDefinition, { properties: { subA_num: number } }>()({});
228
+ const subA = SubComponent<RootComponentDefinition, { properties: { subA_num: number } }>()({});
229
229
  // SubComponent中计算属性字段函数若不写返回值,会造成结果中没有计算属性字段类型,若没有其他字段,结果就为'{}'
230
- const subB = CustomComponent<RootComponentDefinition, { properties: { subB_str: string } }>()({
230
+ const subB = SubComponent<RootComponentDefinition, { properties: { subB_str: string } }>()({
231
231
  computed: {
232
232
  subB_str() {
233
233
  return this.data.injectStr;
@@ -44,7 +44,7 @@ RootComponent()({
44
44
  pageLifetimes: {
45
45
  onLoad(data) {
46
46
  Checking<typeof data, {
47
- optionalObj?: {
47
+ optionalObj: {
48
48
  name: string;
49
49
  };
50
50
  obj: object;
@@ -1,24 +1,12 @@
1
1
  import type { IfExtends } from "hry-types/src/Any/IfExtends";
2
2
  import type { ComputeIntersection } from "hry-types/src/Object/ComputeIntersection";
3
- import type { ComputeObject } from "../../../types/ComputeObject";
4
3
  import type { WMCompPageLifetimes, WMPageLifetimes } from "../../../types/OfficialTypeAlias";
5
- import type { RemoveNullOfRequired } from "../../../types/RemoveNullOfRequired";
6
4
 
7
5
  export type PageLifetimesOption<TIsPage extends boolean, PropertiesDoc extends object> = IfExtends<
8
6
  TIsPage,
9
7
  false,
10
8
  {
11
- pageLifetimes?: ComputeIntersection<
12
- // 官方组件页面生命周期
13
- & Partial<WMCompPageLifetimes>
14
- & {
15
- /**
16
- * 周期发生在组件attached之后,页面onLoad之前,要求组件为同步组件
17
- * 最低基础库: `3.0.2`
18
- */
19
- load?: (props?: object) => void;
20
- }
21
- >;
9
+ pageLifetimes?: Partial<WMCompPageLifetimes>;
22
10
  },
23
11
  {
24
12
  /**
@@ -33,8 +21,7 @@ export type PageLifetimesOption<TIsPage extends boolean, PropertiesDoc extends o
33
21
  * 页面加载时触发。一个页面只会调用一次,可以在 onLoad 的参数中获取Properties定义的数据。
34
22
  */
35
23
  onLoad?: (
36
- // 默认PropertiesDoc
37
- props: ComputeObject<RemoveNullOfRequired<PropertiesDoc>>,
24
+ props: Required<PropertiesDoc>,
38
25
  ) => void | Promise<void>;
39
26
  }
40
27
  >;
@@ -13,9 +13,6 @@ RootComponent()({
13
13
  resize() {
14
14
  void 0;
15
15
  },
16
- load(props) {
17
- void props;
18
- },
19
16
  // @ts-expect-error 1 错误的声明周期
20
17
  xxx() {
21
18
  void 0;
@@ -2,10 +2,7 @@ import { Checking, type Test } from "hry-types";
2
2
  import { type DetailedType, RootComponent } from "../../../..";
3
3
 
4
4
  import type { Mock_User } from "../../Properties/test/normalRequired.test";
5
- type User = {
6
- name: string;
7
- age?: number;
8
- };
5
+
9
6
  /**
10
7
  * 组件时
11
8
  */
@@ -21,11 +18,6 @@ RootComponent()({
21
18
  show() {
22
19
  void 0;
23
20
  },
24
- // 1 glass-easel(最低版本库3.0.2)支持的周期函数
25
- load(obj) {
26
- void obj;
27
- void Checking<typeof obj, object | undefined, Test.Pass>;
28
- },
29
21
  },
30
22
  });
31
23
 
@@ -54,8 +46,8 @@ RootComponent()({
54
46
  void Checking<
55
47
  typeof props,
56
48
  {
57
- union?: Mock_User;
58
- optionalObject?: Mock_User | null;
49
+ union: Mock_User;
50
+ optionalObject: Mock_User | null;
59
51
  str: string;
60
52
  obj: object;
61
53
  },
@@ -77,28 +69,3 @@ RootComponent()({
77
69
  // ...
78
70
  },
79
71
  });
80
- // prop中必传对象没有null,但在实例中却需要有null
81
- RootComponent()({
82
- isPage: true,
83
- properties: {
84
- optionalObj: {
85
- type: Object,
86
- value: {},
87
- },
88
- requiredObj: Object as DetailedType<User>,
89
- },
90
-
91
- pageLifetimes: {
92
- onLoad(prop) {
93
- void prop;
94
- // 页面外部传值时没必要传null,组件时有需要的。
95
- void Checking<typeof prop.requiredObj, User, true>;
96
- // 虽然传值不应该是null,但由于实例建立时默认为null,所以实例类型加上null
97
- void Checking<typeof this.data.requiredObj, User, true>;
98
- // 页面传入的可选对象不需要null,有undefined
99
- void Checking<typeof prop.optionalObj, object | undefined, true>;
100
- // 实例中的可选对象不需要null,有默认值。
101
- void Checking<typeof this.data.optionalObj, object, true>;
102
- },
103
- },
104
- });
@@ -3,17 +3,14 @@ import type { Select } from "hry-types/src/Object/Select";
3
3
  import type { ComputeIntersection } from "hry-types/src/Object/_api";
4
4
  import type { GetOptionalDef } from "./GetOptionalDef";
5
5
 
6
+ import type { As } from "hry-types/src/Any/As";
6
7
  import type { GetRequiredDef } from "./GetRequiredDef";
7
- import type { OptionalType, PropertiesConstraint } from "./PropertiesConstraint";
8
+ import type { OptionalType, PropertiesConstraint, RequiredType } from "./PropertiesConstraint";
8
9
 
9
10
  type _GetPropertiesDef<
10
11
  TProperties extends PropertiesConstraint,
11
- OptionalDef extends object =
12
- // @ts-expect-error ddd
13
- GetOptionalDef<Select<TProperties, OptionalType>>,
14
- RequiredDef extends object =
15
- // @ts-expect-error dddf
16
- GetRequiredDef<Omit<TProperties, keyof OptionalDef>>,
12
+ OptionalDef extends object = GetOptionalDef<As<Select<TProperties, OptionalType>, Record<string, OptionalType>>>,
13
+ RequiredDef extends object = GetRequiredDef<As<Omit<TProperties, keyof OptionalDef>, Record<string, RequiredType>>>,
17
14
  > = ComputeIntersection<OptionalDef & RequiredDef>;
18
15
 
19
16
  /**
@@ -1,4 +1,3 @@
1
- import type { G } from "hry-types";
2
1
  import type { Validators } from "../../../types/Validators";
3
2
  import type { PropertiesConstraint } from "./PropertiesConstraint";
4
3
  import type { PropertiesValueValidator } from "./PropertiesValueValidator";
@@ -12,7 +11,7 @@ export type PropertiesOption<
12
11
  *
13
12
  * 禁用observable字段(watch代替)
14
13
  *
15
- * 简写或对象写法(无value字段)时为必传属性(组件时必传对象实际类型加入null,页面不加),对象写法有value字段为可选属性.
14
+ * 简写 → 必传,单一类型。对象写法 + optionalTypes → 必传,联合类型。对象写法 + value → 可选传(有默认值),可同时配合 optionalTypes。
16
15
  *
17
16
  * 有value类型检测和非法字段检测(例如value写出values)
18
17
  */
@@ -20,7 +19,7 @@ export type PropertiesOption<
20
19
  & TProperties
21
20
  & Validators<[
22
21
  PropertiesValueValidator<TProperties>,
23
- // 放在最后一个,正常返回不是unknown 而是Record<string,unknown>
24
- G.IllegalFieldValidator<TProperties, "value" | "type" | "optionalTypes", 1>,
22
+ // // 放在最后一个,正常返回不是unknown 而是Record<string,unknown>
23
+ // G.IllegalFieldValidator<TProperties, "value" | "type" | "optionalTypes", 1>,
25
24
  ]>;
26
25
  };
@@ -33,7 +33,7 @@ export type StoreOption<
33
33
  & TStore
34
34
  & Validators<[
35
35
  G.DuplicateFieldValidator<TStore, TDuplicateKeys, "字段重复">,
36
- TypeValidator<TStore>,
36
+ // TypeValidator<TStore>,
37
37
  ]>;
38
38
  };
39
39
  /**
@@ -8,7 +8,7 @@ const user = observable({
8
8
  // 1 约束错误
9
9
  RootComponent()({
10
10
  store: {
11
- // @ts-expect-error 1.1 不能将类型“string”分配给类型“() => unknown
11
+ // @ts-expect-error 1.1 不能将类型“string”分配给类型“Getter<{}, unknown>”
12
12
  userName: user.name,
13
13
  },
14
14
  });
@@ -28,10 +28,3 @@ RootComponent()({
28
28
  userAge: () => user.age,
29
29
  },
30
30
  });
31
- // 3. 返回类型错误
32
- RootComponent()({
33
- store: {
34
- // @ts-expect-error 3.1 返回类型中不可以包含undefined
35
- xxx: () => "xxx" as string | undefined,
36
- },
37
- });
@@ -1,5 +1,5 @@
1
- import { Checking, type Test } from "hry-types";
2
1
  import { observable } from "mobx";
2
+ import { typeEqual } from "../../../../utils/_utils";
3
3
  import { RootComponent } from "../..";
4
4
  const user = observable({
5
5
  name: "zhao",
@@ -7,18 +7,29 @@ const user = observable({
7
7
  });
8
8
 
9
9
  const storeDoc = RootComponent()({
10
+ properties: {
11
+ condition: Number,
12
+ },
10
13
  store: {
14
+ // normal
11
15
  userName: () => user.name,
12
- userAge: () => user.age,
16
+ // 条件反应式,当condition>10时,响应式,否则不可响应式(返回undefined),但不报错(有警告).
17
+ userAge: (props) => {
18
+ if (props.condition > 10) {
19
+ return user.age;
20
+ }
21
+ return undefined;
22
+ },
13
23
  },
14
24
  });
15
- void storeDoc;
16
- interface StoreDocExpected {
25
+
26
+ type StoreDocExpected = {
27
+ properties: {
28
+ condition: number;
29
+ };
17
30
  store: {
18
31
  userName: string;
19
- userAge: number;
32
+ userAge: number | undefined;
20
33
  };
21
- }
22
-
23
- // 返回类型为函数返回类型
24
- void Checking<typeof storeDoc, StoreDocExpected, Test.Pass>;
34
+ };
35
+ typeEqual<StoreDocExpected>()(storeDoc);
@@ -1,4 +1,4 @@
1
1
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
2
- export type GetCustomComputedDoc<TComputed extends Record<string, any>> = {
2
+ export type GetSubComputedDoc<TComputed extends Record<string, any>> = {
3
3
  [k in keyof TComputed]: ReturnType<TComputed[k]>;
4
4
  };
@@ -0,0 +1 @@
1
+ export type SubComputedConstraint<obj extends object> = { [k in keyof obj]?: () => obj[k] };
@@ -1,5 +1,5 @@
1
1
  import type { G } from "hry-types";
2
- export type CustomComputedOption<
2
+ export type SubComputedOption<
3
3
  TComputed extends object,
4
4
  legal extends PropertyKey,
5
5
  > // Instance extends object,
@@ -1,12 +1,12 @@
1
1
  import type { ComponentDoc } from "../../../DefineComponent/returnType/ComponentDoc";
2
- import { CustomComponent } from "../..";
2
+ import { SubComponent } from "../..";
3
3
 
4
4
  type OnlyCustomCompDoc = ComponentDoc<{
5
5
  events: { aaa_str: string };
6
6
  }>;
7
7
 
8
8
  // 1 CompDoc的properties为空时,写任何字段都报错
9
- CustomComponent<{}, OnlyCustomCompDoc>()({
9
+ SubComponent<{}, OnlyCustomCompDoc>()({
10
10
  computed: {
11
11
  // @ts-expect-error ⚠️"重复或无效的字段"⚠️
12
12
  aaa_xxx() {
@@ -23,7 +23,7 @@ type OnlyPropsCompDoc = ComponentDoc<{
23
23
  }>;
24
24
 
25
25
  // 2 去除inhrit和data字段后无组件字段约束时,只可写内部字段
26
- CustomComponent<{}, OnlyPropsCompDoc>()({
26
+ SubComponent<{}, OnlyPropsCompDoc>()({
27
27
  inherit: {
28
28
  aaa_str: "wxml",
29
29
  },
@@ -42,7 +42,7 @@ CustomComponent<{}, OnlyPropsCompDoc>()({
42
42
  });
43
43
 
44
44
  // 3 类型错误
45
- CustomComponent<{}, OnlyPropsCompDoc>()({
45
+ SubComponent<{}, OnlyPropsCompDoc>()({
46
46
  inherit: {
47
47
  aaa_str: "wxml",
48
48
  },
@@ -54,7 +54,7 @@ CustomComponent<{}, OnlyPropsCompDoc>()({
54
54
  },
55
55
  });
56
56
  // 4 与data的内部字段重复
57
- CustomComponent<{}, OnlyPropsCompDoc>()({
57
+ SubComponent<{}, OnlyPropsCompDoc>()({
58
58
  data: {
59
59
  _aaa_fff: 123,
60
60
  },
@@ -66,7 +66,7 @@ CustomComponent<{}, OnlyPropsCompDoc>()({
66
66
  },
67
67
  });
68
68
  // 5 与store的内部字段重复
69
- CustomComponent<{}, OnlyPropsCompDoc>()({
69
+ SubComponent<{}, OnlyPropsCompDoc>()({
70
70
  store: {
71
71
  _aaa_ccc: () => 123,
72
72
  },
@@ -78,7 +78,7 @@ CustomComponent<{}, OnlyPropsCompDoc>()({
78
78
  },
79
79
  });
80
80
  // 6 与root字段重复
81
- CustomComponent<{ data: { _aaa_ccc: 123 } }, OnlyPropsCompDoc>()({
81
+ SubComponent<{ data: { _aaa_ccc: 123 } }, OnlyPropsCompDoc>()({
82
82
  computed: {
83
83
  // @ts-expect-error 与store的内部字段重复
84
84
  _aaa_ccc(): number {