annil 1.7.3 → 1.7.5-beta-3

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 (314) hide show
  1. package/CHANGELOG.md +30 -0
  2. package/README.md +11 -7
  3. package/dist/api/DefineComponent/NameOrPage/NameOrPathOption.d.ts +9 -0
  4. package/dist/api/DefineComponent/ReturnType/ComponentDoc.d.ts +9 -0
  5. package/dist/api/DefineComponent/ReturnType/GetCustomEventDocOfSubDoc.d.ts +8 -0
  6. package/dist/api/DefineComponent/ReturnType/PageDoc.d.ts +9 -0
  7. package/dist/api/DefineComponent/RootComponent/RootComponentOption.d.ts +6 -0
  8. package/dist/api/DefineComponent/SubComponents/SubComponentsOption.d.ts +6 -0
  9. package/dist/api/DefineComponent/index.d.ts +5 -4
  10. package/dist/api/DefineComponent/index.js +8 -2
  11. package/dist/api/DefineComponent/index.js.map +1 -1
  12. package/dist/api/DefineComponent/{assignOptions → normalizeOptions}/computedWatchHandle/computedUpdater.d.ts +1 -1
  13. package/dist/api/DefineComponent/{assignOptions → normalizeOptions}/computedWatchHandle/computedUpdater.js +5 -0
  14. package/dist/api/DefineComponent/normalizeOptions/computedWatchHandle/computedUpdater.js.map +1 -0
  15. package/dist/api/DefineComponent/{assignOptions → normalizeOptions}/computedWatchHandle/data-tracer.d.ts +3 -1
  16. package/dist/api/DefineComponent/{assignOptions → normalizeOptions}/computedWatchHandle/data-tracer.js +4 -1
  17. package/dist/api/DefineComponent/normalizeOptions/computedWatchHandle/data-tracer.js.map +1 -0
  18. package/dist/api/DefineComponent/{assignOptions → normalizeOptions}/computedWatchHandle/dependencesOptimize.js +5 -0
  19. package/dist/api/DefineComponent/normalizeOptions/computedWatchHandle/dependencesOptimize.js.map +1 -0
  20. package/dist/api/DefineComponent/normalizeOptions/computedWatchHandle/getPathsValue.d.ts +7 -0
  21. package/dist/api/DefineComponent/normalizeOptions/computedWatchHandle/getPathsValue.js +30 -0
  22. package/dist/api/DefineComponent/normalizeOptions/computedWatchHandle/getPathsValue.js.map +1 -0
  23. package/dist/api/DefineComponent/{assignOptions → normalizeOptions}/computedWatchHandle/getPropertiesValue.js +3 -0
  24. package/dist/api/DefineComponent/normalizeOptions/computedWatchHandle/getPropertiesValue.js.map +1 -0
  25. package/dist/api/DefineComponent/{assignOptions → normalizeOptions}/computedWatchHandle/index.js +19 -7
  26. package/dist/api/DefineComponent/normalizeOptions/computedWatchHandle/index.js.map +1 -0
  27. package/dist/api/DefineComponent/{assignOptions → normalizeOptions}/computedWatchHandle/initComputedAndGetCache.d.ts +9 -0
  28. package/dist/api/DefineComponent/{assignOptions → normalizeOptions}/computedWatchHandle/initComputedAndGetCache.js +21 -0
  29. package/dist/api/DefineComponent/normalizeOptions/computedWatchHandle/initComputedAndGetCache.js.map +1 -0
  30. package/dist/api/DefineComponent/normalizeOptions/computedWatchHandle/isEqual.d.ts +7 -0
  31. package/dist/api/DefineComponent/normalizeOptions/computedWatchHandle/isEqual.js +69 -0
  32. package/dist/api/DefineComponent/normalizeOptions/computedWatchHandle/isEqual.js.map +1 -0
  33. package/dist/api/DefineComponent/normalizeOptions/customEventsHandle.d.ts +6 -0
  34. package/dist/api/DefineComponent/normalizeOptions/customEventsHandle.js +23 -0
  35. package/dist/api/DefineComponent/normalizeOptions/customEventsHandle.js.map +1 -0
  36. package/dist/api/DefineComponent/normalizeOptions/hijackHandle/index.d.ts +6 -0
  37. package/dist/api/DefineComponent/normalizeOptions/hijackHandle/index.js +16 -0
  38. package/dist/api/DefineComponent/normalizeOptions/hijackHandle/index.js.map +1 -0
  39. package/dist/api/DefineComponent/normalizeOptions/hijackHandle/isPageCheck.d.ts +5 -0
  40. package/dist/api/DefineComponent/normalizeOptions/hijackHandle/isPageCheck.js +17 -0
  41. package/dist/api/DefineComponent/normalizeOptions/hijackHandle/isPageCheck.js.map +1 -0
  42. package/dist/api/DefineComponent/normalizeOptions/hijackHandle/loadReceivedDataHandle.d.ts +7 -0
  43. package/dist/api/DefineComponent/normalizeOptions/hijackHandle/loadReceivedDataHandle.js +20 -0
  44. package/dist/api/DefineComponent/normalizeOptions/hijackHandle/loadReceivedDataHandle.js.map +1 -0
  45. package/dist/api/DefineComponent/normalizeOptions/hijackHandle/onLoadReceivedDataHandle.d.ts +10 -0
  46. package/dist/api/DefineComponent/normalizeOptions/hijackHandle/onLoadReceivedDataHandle.js +26 -0
  47. package/dist/api/DefineComponent/normalizeOptions/hijackHandle/onLoadReceivedDataHandle.js.map +1 -0
  48. package/dist/api/DefineComponent/{assignOptions → normalizeOptions}/index.d.ts +20 -18
  49. package/dist/api/DefineComponent/normalizeOptions/index.js +77 -0
  50. package/dist/api/DefineComponent/normalizeOptions/index.js.map +1 -0
  51. package/dist/api/DefineComponent/{assignOptions → normalizeOptions}/initStore/index.js +2 -0
  52. package/dist/api/DefineComponent/normalizeOptions/initStore/index.js.map +1 -0
  53. package/dist/api/DefineComponent/normalizeOptions/injectInfoHandler.d.ts +3 -0
  54. package/dist/api/DefineComponent/normalizeOptions/injectInfoHandler.js +43 -0
  55. package/dist/api/DefineComponent/normalizeOptions/injectInfoHandler.js.map +1 -0
  56. package/dist/api/DefineComponent/normalizeOptions/internalFieldProtection.d.ts +5 -0
  57. package/dist/api/DefineComponent/normalizeOptions/internalFieldProtection.js +23 -0
  58. package/dist/api/DefineComponent/normalizeOptions/internalFieldProtection.js.map +1 -0
  59. package/dist/api/DefineComponent/normalizeOptions/otherFieldsHandle.d.ts +6 -0
  60. package/dist/api/DefineComponent/normalizeOptions/otherFieldsHandle.js +24 -0
  61. package/dist/api/DefineComponent/normalizeOptions/otherFieldsHandle.js.map +1 -0
  62. package/dist/api/DefineComponent/normalizeOptions/rootComponentOptionHandle.d.ts +9 -0
  63. package/dist/api/DefineComponent/normalizeOptions/rootComponentOptionHandle.js +18 -0
  64. package/dist/api/DefineComponent/normalizeOptions/rootComponentOptionHandle.js.map +1 -0
  65. package/dist/api/DefineComponent/normalizeOptions/sameFuncFieldsCollect.d.ts +7 -0
  66. package/dist/api/DefineComponent/normalizeOptions/sameFuncFieldsCollect.js +16 -0
  67. package/dist/api/DefineComponent/normalizeOptions/sameFuncFieldsCollect.js.map +1 -0
  68. package/dist/api/DefineComponent/normalizeOptions/sameFuncOptionsHandle.d.ts +5 -0
  69. package/dist/api/DefineComponent/normalizeOptions/sameFuncOptionsHandle.js +34 -0
  70. package/dist/api/DefineComponent/normalizeOptions/sameFuncOptionsHandle.js.map +1 -0
  71. package/dist/api/DefineComponent/normalizeOptions/subComponentsOptionHandle.d.ts +3 -0
  72. package/dist/api/DefineComponent/normalizeOptions/subComponentsOptionHandle.js +11 -0
  73. package/dist/api/DefineComponent/normalizeOptions/subComponentsOptionHandle.js.map +1 -0
  74. package/dist/api/InstanceInject/instanceConfig.d.ts +4 -0
  75. package/dist/api/InstanceInject/instanceConfig.js +6 -4
  76. package/dist/api/InstanceInject/instanceConfig.js.map +1 -1
  77. package/dist/api/RootComponent/Computed/ComputedConstraint.d.ts +4 -1
  78. package/dist/api/RootComponent/Computed/ComputedOption.d.ts +23 -0
  79. package/dist/api/RootComponent/Computed/GetComputedDoc.d.ts +5 -0
  80. package/dist/api/RootComponent/CustomEvents/CustomEventConstraint.d.ts +3 -0
  81. package/dist/api/RootComponent/CustomEvents/CustomEventsOption.d.ts +29 -0
  82. package/dist/api/RootComponent/CustomEvents/GetCustomEventDoc.d.ts +13 -0
  83. package/dist/api/RootComponent/Data/DataOption.d.ts +14 -0
  84. package/dist/api/RootComponent/Events/EventsConstraint.d.ts +4 -1
  85. package/dist/api/RootComponent/Events/EventsOption.d.ts +52 -0
  86. package/dist/api/RootComponent/Instance/CustomSetData.d.ts +6 -0
  87. package/dist/api/RootComponent/Instance/RootComponentInstance.d.ts +9 -0
  88. package/dist/api/RootComponent/IsPage/IsPageOption.d.ts +3 -0
  89. package/dist/api/RootComponent/Lifetimes/LifetimesConstraint.d.ts +5 -2
  90. package/dist/api/RootComponent/Lifetimes/LifetimesOption.d.ts +26 -0
  91. package/dist/api/RootComponent/Methods/MethodsOption.d.ts +3 -0
  92. package/dist/api/RootComponent/Observers/ObserversOption.d.ts +4 -0
  93. package/dist/api/RootComponent/PageLifetimes/PageLifetimesOption.d.ts +11 -0
  94. package/dist/api/RootComponent/Properties/GetOptionalDoc.d.ts +3 -0
  95. package/dist/api/RootComponent/Properties/GetPropertiesDoc.d.ts +3 -0
  96. package/dist/api/RootComponent/Properties/GetRequiredDoc.d.ts +4 -0
  97. package/dist/api/RootComponent/Properties/PropertiesConstraint.d.ts +18 -0
  98. package/dist/api/RootComponent/Properties/PropertiesOption.d.ts +10 -0
  99. package/dist/api/RootComponent/Properties/PropertiesValueValidator.d.ts +4 -0
  100. package/dist/api/RootComponent/RootComponentDoc.d.ts +19 -1
  101. package/dist/api/RootComponent/Store/StoreOption.d.ts +12 -0
  102. package/dist/api/RootComponent/Watch/WatchOption.d.ts +4 -0
  103. package/dist/api/RootComponent/index.d.ts +17 -19
  104. package/dist/api/RootComponent/index.js +1 -0
  105. package/dist/api/RootComponent/index.js.map +1 -1
  106. package/dist/api/SubComponent/SubComponentDoc.d.ts +9 -0
  107. package/dist/api/SubComponent/SubComputed/GetSubComputedDoc.d.ts +0 -1
  108. package/dist/api/SubComponent/SubData/SubDataConstraint.d.ts +4 -0
  109. package/dist/api/SubComponent/SubData/SubDataOption.d.ts +4 -0
  110. package/dist/api/SubComponent/SubEvents/SubEventsConstraint.d.ts +3 -0
  111. package/dist/api/SubComponent/SubEvents/SubEventsOptions.d.ts +5 -0
  112. package/dist/api/SubComponent/SubInherit/SubInheritConstraint.d.ts +4 -0
  113. package/dist/api/SubComponent/SubInherit/SubInheritOption.d.ts +6 -1
  114. package/dist/api/SubComponent/SubMethods/SubMethodsConstraint.d.ts +1 -3
  115. package/dist/api/SubComponent/SubMethods/SubMethodsOption.d.ts +3 -0
  116. package/dist/api/SubComponent/SubStore/SubStoreConstraint.d.ts +4 -0
  117. package/dist/api/SubComponent/SubStore/SubStoreOption.d.ts +14 -0
  118. package/dist/api/SubComponent/index.d.ts +10 -8
  119. package/dist/api/SubComponent/index.js +5 -0
  120. package/dist/api/SubComponent/index.js.map +1 -1
  121. package/dist/api/navigateTo.d.ts +5 -1
  122. package/dist/api/navigateTo.js +10 -1
  123. package/dist/api/navigateTo.js.map +1 -1
  124. package/dist/behaviors/BStore.d.ts +4 -0
  125. package/dist/behaviors/BStore.js +9 -0
  126. package/dist/behaviors/BStore.js.map +1 -1
  127. package/dist/behaviors/BbeforeCreated.d.ts +3 -0
  128. package/dist/behaviors/BbeforeCreated.js +8 -1
  129. package/dist/behaviors/BbeforeCreated.js.map +1 -1
  130. package/dist/index.d.ts +2 -2
  131. package/dist/index.js.map +1 -1
  132. package/dist/thirdLib/index.js +1 -2
  133. package/dist/thirdLib/index.js.map +1 -1
  134. package/dist/thirdLib/vant/Button.d.ts +14 -2
  135. package/dist/thirdLib/vant/NoticeBar.d.ts +2 -2
  136. package/dist/thirdLib/vant/Popup.d.ts +42 -2
  137. package/dist/thirdLib/wm/Textarea.d.ts +11 -2
  138. package/dist/thirdLib/wm/baseEvents.d.ts +39 -2
  139. package/dist/thirdLib/wm/scrollView.d.ts +4 -2
  140. package/dist/thirdLib/wm/scrollView.js +6 -0
  141. package/dist/thirdLib/wm/scrollView.js.map +1 -1
  142. package/dist/thirdLib/wm/swiper.d.ts +75 -5
  143. package/dist/thirdLib/wm/view.d.ts +20 -2
  144. package/dist/types/AddNullForObject.d.ts +3 -0
  145. package/dist/types/AddPrefix.d.ts +7 -0
  146. package/dist/types/{GenerateDoc.d.ts → CreateComponentType.d.ts} +3 -3
  147. package/dist/types/CreateComponentType.js +2 -0
  148. package/dist/types/CreateComponentType.js.map +1 -0
  149. package/dist/types/DetailedType.d.ts +15 -5
  150. package/dist/types/DocAssign.d.ts +3 -0
  151. package/dist/types/DocAssign.js +4 -0
  152. package/dist/types/DocAssign.js.map +1 -1
  153. package/dist/types/GetComponentPrefix.d.ts +3 -0
  154. package/dist/types/GetComponentPrefix.js +10 -0
  155. package/dist/types/GetComponentPrefix.js.map +1 -1
  156. package/dist/types/InferDetailedType.d.ts +3 -0
  157. package/dist/types/OfficialTypeAlias.d.ts +15 -13
  158. package/dist/types/OfficialTypeAlias.js +30 -0
  159. package/dist/types/OfficialTypeAlias.js.map +1 -1
  160. package/dist/types/RemoveInnerData.d.ts +3 -0
  161. package/dist/types/Replace.d.ts +11 -0
  162. package/dist/types/ReplacePrefix.d.ts +5 -0
  163. package/dist/types/ReplacePrefix.js +9 -0
  164. package/dist/types/ReplacePrefix.js.map +1 -1
  165. package/dist/types/RequiredKeys.d.ts +4 -0
  166. package/dist/types/Validators.js +7 -0
  167. package/dist/types/Validators.js.map +1 -1
  168. package/dist/utils/InnerMarker.js +1 -1
  169. package/dist/utils/InnerMarker.js.map +1 -1
  170. package/dist/utils/assertNonNullable.d.ts +2 -0
  171. package/dist/utils/assertNonNullable.js +7 -0
  172. package/dist/utils/assertNonNullable.js.map +1 -0
  173. package/dist/utils/deepClone.d.ts +3 -0
  174. package/dist/utils/deepClone.js +3 -0
  175. package/dist/utils/deepClone.js.map +1 -1
  176. package/dist/utils/isEmptyObject.d.ts +3 -0
  177. package/dist/utils/isEmptyObject.js +3 -0
  178. package/dist/utils/isEmptyObject.js.map +1 -1
  179. package/package.json +7 -7
  180. package/src/api/DefineComponent/ReturnType/ComponentDoc.ts +1 -0
  181. package/src/api/DefineComponent/ReturnType/test/normalComponentDoc.test.ts +2 -0
  182. package/src/api/DefineComponent/ReturnType/test/normalPageDoc.test.ts +3 -2
  183. package/src/api/DefineComponent/SubComponents/SubComponentsOption.ts +0 -5
  184. package/src/api/DefineComponent/SubComponents/test/normal.test.ts +2 -2
  185. package/src/api/DefineComponent/index.ts +21 -23
  186. package/src/api/DefineComponent/{assignOptions → normalizeOptions}/computedWatchHandle/computedUpdater.ts +1 -1
  187. package/src/api/DefineComponent/{assignOptions → normalizeOptions}/computedWatchHandle/data-tracer.ts +2 -3
  188. package/src/api/DefineComponent/{assignOptions → normalizeOptions}/computedWatchHandle/getPathsValue.ts +2 -1
  189. package/src/api/DefineComponent/{assignOptions → normalizeOptions}/computedWatchHandle/index.ts +7 -9
  190. package/src/api/DefineComponent/{assignOptions → normalizeOptions}/computedWatchHandle/isEqual.ts +2 -2
  191. package/src/api/DefineComponent/normalizeOptions/customEventsHandle.ts +34 -0
  192. package/src/api/DefineComponent/normalizeOptions/hijackHandle/index.ts +26 -0
  193. package/src/api/DefineComponent/normalizeOptions/hijackHandle/isPageCheck.ts +22 -0
  194. package/src/api/DefineComponent/normalizeOptions/hijackHandle/loadReceivedDataHandle.ts +25 -0
  195. package/src/api/DefineComponent/normalizeOptions/hijackHandle/onLoadReceivedDataHandle.ts +33 -0
  196. package/src/api/DefineComponent/normalizeOptions/index.ts +142 -0
  197. package/src/api/DefineComponent/{assignOptions → normalizeOptions}/initStore/index.ts +1 -0
  198. package/src/api/DefineComponent/normalizeOptions/injectInfoHandler.ts +51 -0
  199. package/src/api/DefineComponent/normalizeOptions/internalFieldProtection.ts +26 -0
  200. package/src/api/DefineComponent/normalizeOptions/otherFieldsHandle.ts +27 -0
  201. package/src/api/DefineComponent/normalizeOptions/rootComponentOptionHandle.ts +25 -0
  202. package/src/api/DefineComponent/normalizeOptions/sameFuncFieldsCollect.ts +22 -0
  203. package/src/api/DefineComponent/normalizeOptions/sameFuncOptionsHandle.ts +37 -0
  204. package/src/api/DefineComponent/normalizeOptions/subComponentsOptionHandle.ts +18 -0
  205. package/src/api/InstanceInject/inject.ts +2 -0
  206. package/src/api/InstanceInject/instanceConfig.ts +2 -4
  207. package/src/api/InstanceInject/test/normal.test.ts +1 -0
  208. package/src/api/RootComponent/Computed/ComputedConstraint.ts +1 -1
  209. package/src/api/RootComponent/Computed/test/GetComputedDoc.test.ts +1 -0
  210. package/src/api/RootComponent/Computed/test/normal.test.ts +2 -0
  211. package/src/api/RootComponent/CustomEvents/test/GetCustomEventDoc.test.ts +2 -2
  212. package/src/api/RootComponent/CustomEvents/test/GetFullEventDoc.test.ts +2 -1
  213. package/src/api/RootComponent/CustomEvents/test/GetShortEventDoc.test.ts +2 -1
  214. package/src/api/RootComponent/CustomEvents/test/error.test.ts +2 -2
  215. package/src/api/RootComponent/CustomEvents/test/normal.test.ts +2 -0
  216. package/src/api/RootComponent/Data/test/GetDataDoc.test.ts +2 -2
  217. package/src/api/RootComponent/Data/test/normal.test.ts +3 -2
  218. package/src/api/RootComponent/Events/EventsConstraint.ts +1 -1
  219. package/src/api/RootComponent/Events/test/normal.test.ts +5 -2
  220. package/src/api/RootComponent/Instance/RootComponentInstance.ts +9 -0
  221. package/src/api/RootComponent/Instance/test/CustomEventsDoc.test.ts +1 -0
  222. package/src/api/RootComponent/Instance/test/customEvents/normal.test.ts +1 -0
  223. package/src/api/RootComponent/Instance/test/methods/mormal.test.ts +2 -2
  224. package/src/api/RootComponent/Instance/test/properties/mormal.test.ts +2 -0
  225. package/src/api/RootComponent/Instance/test/setData/error.test.ts +1 -1
  226. package/src/api/RootComponent/Instance/test/setData/normal.test.ts +1 -1
  227. package/src/api/RootComponent/IsPage/test/normal.test.ts +2 -0
  228. package/src/api/RootComponent/Lifetimes/LifetimesConstraint.ts +2 -2
  229. package/src/api/RootComponent/Lifetimes/test/error.test.ts +22 -8
  230. package/src/api/RootComponent/Lifetimes/test/normal.test.ts +8 -3
  231. package/src/api/RootComponent/Methods/test/error.test.ts +4 -4
  232. package/src/api/RootComponent/Methods/test/mormal.test.ts +2 -2
  233. package/src/api/RootComponent/Observers/test/normal.test.ts +8 -4
  234. package/src/api/RootComponent/PageLifetimes/test/error.test.ts +17 -7
  235. package/src/api/RootComponent/PageLifetimes/test/normal.test.ts +12 -5
  236. package/src/api/RootComponent/Properties/test/normalEmpty.test.ts +6 -6
  237. package/src/api/RootComponent/Properties/test/normalOptional.test.ts +4 -4
  238. package/src/api/RootComponent/Properties/test/normalRequired.test.ts +3 -3
  239. package/src/api/RootComponent/Store/test/normal.test.ts +4 -4
  240. package/src/api/RootComponent/Watch/test/WatchComputed.test.ts +6 -4
  241. package/src/api/RootComponent/Watch/test/WatchData.test.ts +16 -12
  242. package/src/api/RootComponent/Watch/test/WatchProperties.test.ts +58 -40
  243. package/src/api/RootComponent/Watch/test/WtachInject.test.ts +3 -2
  244. package/src/api/RootComponent/Watch/test/error.test.ts +4 -2
  245. package/src/api/RootComponent/index.ts +47 -48
  246. package/src/api/SubComponent/SubComputed/test/error.test.ts +6 -2
  247. package/src/api/SubComponent/SubComputed/test/normal.test.ts +8 -7
  248. package/src/api/SubComponent/SubData/test/normal.test.ts +2 -2
  249. package/src/api/SubComponent/SubEvents/test/error.test.ts +4 -2
  250. package/src/api/SubComponent/SubEvents/test/normal.test.ts +4 -2
  251. package/src/api/SubComponent/SubInherit/SubInheritOption.ts +1 -3
  252. package/src/api/SubComponent/SubInherit/test/error.test.ts +2 -2
  253. package/src/api/SubComponent/SubInstance/test/error.test.ts +1 -1
  254. package/src/api/SubComponent/SubInstance/test/normal.test.ts +10 -6
  255. package/src/api/SubComponent/SubMethods/SubMethodsConstraint.ts +1 -3
  256. package/src/api/SubComponent/SubMethods/test/error.test.ts +8 -2
  257. package/src/api/SubComponent/SubMethods/test/normarl.test.ts +6 -2
  258. package/src/api/SubComponent/SubReturnType/test/error.test.ts +2 -2
  259. package/src/api/SubComponent/SubReturnType/test/normal.test.ts +2 -2
  260. package/src/api/SubComponent/SubWatch/test/WatchComputed.test.ts +21 -14
  261. package/src/api/SubComponent/SubWatch/test/WatchProperties.test.ts +58 -58
  262. package/src/api/SubComponent/SubWatch/test/WatchRootData.test.ts +43 -31
  263. package/src/api/SubComponent/SubWatch/test/WatchSubData.test.ts +9 -6
  264. package/src/api/SubComponent/SubWatch/test/WtachInject.test.ts +3 -2
  265. package/src/api/SubComponent/SubWatch/test/error.test.ts +5 -4
  266. package/src/api/SubComponent/index.ts +92 -95
  267. package/src/api/navigateTo.ts +1 -1
  268. package/src/behaviors/BStore.ts +7 -3
  269. package/src/behaviors/BbeforeCreated.ts +8 -3
  270. package/src/index.ts +2 -2
  271. package/src/thirdLib/vant/Button.ts +2 -2
  272. package/src/thirdLib/vant/NoticeBar.ts +2 -2
  273. package/src/thirdLib/vant/Popup.ts +2 -2
  274. package/src/thirdLib/wm/Textarea.ts +2 -2
  275. package/src/thirdLib/wm/baseEvents.ts +3 -2
  276. package/src/thirdLib/wm/scrollView.ts +4 -2
  277. package/src/thirdLib/wm/swiper.ts +10 -5
  278. package/src/thirdLib/wm/view.ts +4 -2
  279. package/src/types/{GenerateDoc.ts → CreateComponentType.ts} +3 -6
  280. package/src/types/DetailedType.ts +1 -1
  281. package/src/types/InferDetailedType.test.ts +8 -13
  282. package/src/types/OfficialTypeAlias.ts +31 -31
  283. package/src/utils/assertNonNullable.ts +11 -0
  284. package/src/utils/isEmptyObject.ts +1 -1
  285. package/tsconfig.json +12 -17
  286. package/dist/api/DefineComponent/assignOptions/computedWatchHandle/computedUpdater.js.map +0 -1
  287. package/dist/api/DefineComponent/assignOptions/computedWatchHandle/data-tracer.js.map +0 -1
  288. package/dist/api/DefineComponent/assignOptions/computedWatchHandle/dependencesOptimize.js.map +0 -1
  289. package/dist/api/DefineComponent/assignOptions/computedWatchHandle/getPathsValue.d.ts +0 -1
  290. package/dist/api/DefineComponent/assignOptions/computedWatchHandle/getPathsValue.js +0 -19
  291. package/dist/api/DefineComponent/assignOptions/computedWatchHandle/getPathsValue.js.map +0 -1
  292. package/dist/api/DefineComponent/assignOptions/computedWatchHandle/getPropertiesValue.js.map +0 -1
  293. package/dist/api/DefineComponent/assignOptions/computedWatchHandle/index.js.map +0 -1
  294. package/dist/api/DefineComponent/assignOptions/computedWatchHandle/initComputedAndGetCache.js.map +0 -1
  295. package/dist/api/DefineComponent/assignOptions/computedWatchHandle/isEqual.d.ts +0 -1
  296. package/dist/api/DefineComponent/assignOptions/computedWatchHandle/isEqual.js +0 -48
  297. package/dist/api/DefineComponent/assignOptions/computedWatchHandle/isEqual.js.map +0 -1
  298. package/dist/api/DefineComponent/assignOptions/index.js +0 -203
  299. package/dist/api/DefineComponent/assignOptions/index.js.map +0 -1
  300. package/dist/api/DefineComponent/assignOptions/initStore/index.js.map +0 -1
  301. package/dist/types/CreateComponentDoc.d.ts +0 -10
  302. package/dist/types/CreateComponentDoc.js +0 -2
  303. package/dist/types/CreateComponentDoc.js.map +0 -1
  304. package/dist/types/GenerateDoc.js +0 -2
  305. package/dist/types/GenerateDoc.js.map +0 -1
  306. package/src/api/DefineComponent/assignOptions/index.ts +0 -469
  307. package/src/types/CreateComponentDoc.ts +0 -17
  308. /package/dist/api/DefineComponent/{assignOptions → normalizeOptions}/computedWatchHandle/dependencesOptimize.d.ts +0 -0
  309. /package/dist/api/DefineComponent/{assignOptions → normalizeOptions}/computedWatchHandle/getPropertiesValue.d.ts +0 -0
  310. /package/dist/api/DefineComponent/{assignOptions → normalizeOptions}/computedWatchHandle/index.d.ts +0 -0
  311. /package/dist/api/DefineComponent/{assignOptions → normalizeOptions}/initStore/index.d.ts +0 -0
  312. /package/src/api/DefineComponent/{assignOptions → normalizeOptions}/computedWatchHandle/dependencesOptimize.ts +0 -0
  313. /package/src/api/DefineComponent/{assignOptions → normalizeOptions}/computedWatchHandle/getPropertiesValue.ts +0 -0
  314. /package/src/api/DefineComponent/{assignOptions → normalizeOptions}/computedWatchHandle/initComputedAndGetCache.ts +0 -0
@@ -1,38 +1,108 @@
1
- import type { CreateComponentDoc } from "../../types/CreateComponentDoc";
1
+ import type { CreateComponentType } from "../../types/CreateComponentType";
2
2
  type CssVar<T extends string = string> = `var(--${T}-${string})`;
3
3
  type Color = `rgba(${number}, ${number}, ${number}, ${number})` | `#${number}` | CssVar<"color">;
4
- type ChangeEventDetail = {
4
+ interface ChangeEventDetail {
5
5
  current: number;
6
6
  currentItemId: string;
7
7
  source: "touch" | "" | "autoplay";
8
- };
8
+ }
9
9
  type AnimationfinishEventDetail = ChangeEventDetail;
10
- export type Swiper = CreateComponentDoc<"swiper", {
10
+ export type Swiper = CreateComponentType<"swiper", {
11
11
  properties: {
12
- list: unknown[];
12
+ /**
13
+ * @description class
14
+ */
13
15
  class?: string;
16
+ /**
17
+ * @description style
18
+ */
14
19
  style?: string;
20
+ /**
21
+ * 是否显示面板指示点
22
+ * @defaultValue false
23
+ */
15
24
  indicatorDots?: boolean;
25
+ /**
26
+ * 指示点颜色
27
+ * @defaultValue 'rgba(0, 0, 0, .3)'
28
+ */
16
29
  indicatorColor?: Color;
30
+ /**
31
+ * 当前选中的指示点颜色
32
+ * @defaultValue "#000000"
33
+ */
17
34
  indicatorActiveColor?: Color;
35
+ /**
36
+ * 是否自动切换
37
+ * @defaultValue false
38
+ */
18
39
  autoplay?: boolean;
40
+ /**
41
+ * 当前所在滑块的 index
42
+ * @defaultValue 0
43
+ */
19
44
  current?: number;
45
+ /**
46
+ * 自动切换时间间隔
47
+ * @defaultValue 5000
48
+ */
20
49
  interval?: number;
50
+ /**
51
+ * 滑动动画时长
52
+ * @defaultValue 500
53
+ */
21
54
  duration?: number;
55
+ /**
56
+ * 是否采用衔接滑动
57
+ * @defaultValue false
58
+ */
22
59
  circular?: boolean;
60
+ /**
61
+ * 滑动方向是否为纵向
62
+ * @defaultValue false
63
+ */
23
64
  vertical?: boolean;
65
+ /**
66
+ * 前边距,可用于露出前一项的一小部分,接受 px 和 rpx 值
67
+ * @defaultValue '0px'
68
+ */
24
69
  previousMargin?: string;
70
+ /**
71
+ * 后边距,可用于露出后一项的一小部分,接受 px 和 rpx 值
72
+ * @defaultValue '0px'
73
+ */
25
74
  nextMargin?: string;
75
+ /**
76
+ * 当 swiper-item 的个数大于等于 2,关闭 circular 并且开启 previous-margin 或 next-margin 的时候,可以指定这个边距是否应用到第一个、最后一个元素
77
+ * @defaultValue false
78
+ */
26
79
  snapToEdge?: boolean;
80
+ /**
81
+ * 同时显示的滑块数量
82
+ * @defaultValue 1
83
+ */
27
84
  displayMultipleItems?: number;
85
+ /**
86
+ * 指定 swiper 切换缓动动画类型
87
+ * @defaultValue 'defaultValue'
88
+ */
28
89
  easingFunction?: "defaultValue" | "linear" | "easeInCubic" | "easeOutCubic" | "easeInOutCubic";
29
90
  };
30
91
  customEvents: {
92
+ /**
93
+ * current 改变时会触发 change 事件,event.detail = `{current, source}`
94
+ */
31
95
  change: ChangeEventDetail;
96
+ /**
97
+ * swiper-item 的位置发生改变时会触发 transition 事件,event.detail = `{dx: number, dy: number}`
98
+ */
32
99
  transition: {
33
100
  dx: number;
34
101
  dy: number;
35
102
  };
103
+ /**
104
+ * animationfinish 动画结束时会触发 animationfinish 事件,event.detail change字段
105
+ */
36
106
  animationfinish: AnimationfinishEventDetail;
37
107
  };
38
108
  }>;
@@ -1,9 +1,27 @@
1
- import type { CreateComponentDoc } from "../../types/CreateComponentDoc";
2
- export type View = CreateComponentDoc<"view", {
1
+ import type { CreateComponentType } from "../../types/CreateComponentType";
2
+ import type { BaseEvents } from "./baseEvents";
3
+ export type View = CreateComponentType<"view", {
3
4
  properties: {
5
+ /**
6
+ * 指定按下去的样式类。当 hover-class="none" 时,没有点击态效果
7
+ * @defaultValue 'none'
8
+ */
4
9
  hoverClass?: string;
10
+ /**
11
+ * 指定是否阻止本节点的祖先节点出现点击态
12
+ * @defaultValue false
13
+ */
5
14
  hoverStopPropagation?: boolean;
15
+ /**
16
+ * 按住后多久出现点击态,单位毫秒
17
+ * @defaultValue 50
18
+ */
6
19
  hoverStartTime?: number;
20
+ /**
21
+ * 手指松开后点击态保留时间,单位毫秒
22
+ * @defaultValue 400
23
+ */
7
24
  hoverStayTime?: number;
8
25
  };
26
+ customEvents: BaseEvents;
9
27
  }>;
@@ -1,2 +1,5 @@
1
1
  import type { IsPureObject } from "hry-types/src/Any/IsPureObject";
2
+ /**
3
+ * 为对象类型加入null类型。
4
+ */
2
5
  export type AddNullForObject<O> = O extends unknown ? IsPureObject<O> extends true ? (O | null) : O : never;
@@ -1,3 +1,10 @@
1
+ /**
2
+ * 将对象 T 的所有属性名添加前缀 TPrefix。
3
+ * 如果 TPrefix 为空字符串,则返回原对象 T。
4
+ * @param T - 要添加前缀的对象。
5
+ * @param TPrefix - 要添加的前缀。
6
+ * @returns 添加前缀后的新对象或原对象。
7
+ */
1
8
  export type AddPrefix<T extends object, TPrefix extends string> = "" extends TPrefix ? T : {
2
9
  [k in keyof T as `${TPrefix}_${k & string}`]: T[k];
3
10
  };
@@ -1,8 +1,8 @@
1
- import type { IfExtends } from "hry-types/src/Any/IfExtends";
2
- import type { ComputeIntersection } from "hry-types/src/Object/ComputeIntersection";
1
+ import type { IfExtends } from "hry-types/src/Any/_api";
2
+ import type { ComputeIntersection } from "hry-types/src/Object/_api";
3
3
  import type { ComponentDoc } from "../api/DefineComponent/ReturnType/ComponentDoc";
4
4
  import type { AddPrefix } from "./AddPrefix";
5
- export type GenerateDoc<TName extends string, T extends ComponentDoc> = ComputeIntersection<IfExtends<unknown, T["properties"], {}, {
5
+ export type CreateComponentType<TName extends string, T extends ComponentDoc> = ComputeIntersection<IfExtends<unknown, T["properties"], {}, {
6
6
  properties: AddPrefix<T["properties"] & {}, TName>;
7
7
  }> & IfExtends<unknown, T["customEvents"], {}, {
8
8
  customEvents: AddPrefix<T["customEvents"] & {}, TName>;
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=CreateComponentType.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CreateComponentType.js","sourceRoot":"","sources":["../../src/types/CreateComponentType.ts"],"names":[],"mappings":""}
@@ -1,5 +1,15 @@
1
- export type DetailedType<T = unknown> = {
2
- (): T;
3
- } | {
4
- new (...arg: any[]): T;
5
- };
1
+ /**
2
+ * 通过as DetailedType 指定具体类型。
3
+ * @remarks
4
+ * 在js中使用构造函数(Object,Array等)表示类型时,无法给出明确的类型,DetailedType为此而生
5
+ * @example
6
+ * ``` ts
7
+ * RootComponent()({
8
+ * properties: {
9
+ * gender: String as DetailedType<"male" | "female">,
10
+ * unionArr: Array as DetailedType<string[] | number[]>,
11
+ * },
12
+ * });
13
+ * ```
14
+ */
15
+ export type DetailedType<T = unknown> = (() => T) | (new (...arg: unknown[]) => T);
@@ -3,5 +3,8 @@ import type { ComputeIntersectionDeep } from "hry-types/src/Object/ComputeInters
3
3
  import type { ComponentDoc } from "../api/DefineComponent/ReturnType/ComponentDoc";
4
4
  import type { GetComponentPrefix } from "./GetComponentPrefix";
5
5
  type Validator<TOriginalComponentDoc extends ComponentDoc, TExtensionDoc extends ComponentDoc, TOriginalPrefix extends PropertyKey = GetComponentPrefix<TOriginalComponentDoc>, TExtenstionPrefix extends PropertyKey = GetComponentPrefix<TExtensionDoc>, DuplicateKeys extends PropertyKey = Extract<keyof TExtensionDoc["properties"], keyof TOriginalComponentDoc["properties"]> | Extract<keyof TExtensionDoc["customEvents"], keyof TOriginalComponentDoc["customEvents"]>> = IfExtends<TOriginalPrefix, TExtenstionPrefix, IfExtends<DuplicateKeys, never, ComponentDoc, `${DuplicateKeys & string}字段重复`>, `前缀错误,应为${TOriginalPrefix & string}`>;
6
+ /**
7
+ * 有时组件文档内部包含一些slot或基本组件,可通过CompDocExtends泛型拓展组件文档,使得类型更安全
8
+ */
6
9
  export type DocAssign<TOriginalComponentDoc extends ComponentDoc, TExtensionDoc extends Validator<TOriginalComponentDoc, TExtensionDoc>> = ComputeIntersectionDeep<TOriginalComponentDoc & TExtensionDoc>;
7
10
  export {};
@@ -1,2 +1,6 @@
1
1
  export {};
2
+ // type test0 = DocAssign<{ properties: { aaa_xxx: string } }, { properties: { aaa_xxx: string } }>; // => "aaa_xxx字段重复"
3
+ // type test1 = DocAssign<{ customEvents: { aaa_xxx: string } }, { customEvents: { aaa_xxx: string } }>; // => "aaa_xxx字段重复"
4
+ // type test2 = DocAssign<{ properties: { aaa_xxx: string } }, { properties: { ddd_xxx: string } }>; // => "前缀错误,应为aaa"
5
+ // type test3 = DocAssign<{ customEvents: { aaa_xxx: string } }, { customEvents: { ddd_xxx: string } }>; // => "前缀错误,应为aaa"
2
6
  //# sourceMappingURL=DocAssign.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"DocAssign.js","sourceRoot":"","sources":["../../src/types/DocAssign.ts"],"names":[],"mappings":""}
1
+ {"version":3,"file":"DocAssign.js","sourceRoot":"","sources":["../../src/types/DocAssign.ts"],"names":[],"mappings":";AA6BA,wHAAwH;AAExH,4HAA4H;AAE5H,uHAAuH;AAEvH,2HAA2H"}
@@ -1,4 +1,7 @@
1
1
  import type { IfExtends } from "hry-types/src/Any/IfExtends";
2
2
  import type { EmptyObject } from "hry-types/src/Misc/EmptyObject";
3
3
  import type { ComponentDoc } from "../api/DefineComponent/ReturnType/ComponentDoc";
4
+ /**
5
+ * 提取文档前缀名
6
+ */
4
7
  export type GetComponentPrefix<TComponentDoc extends ComponentDoc> = EmptyObject extends TComponentDoc ? never : keyof IfExtends<unknown, TComponentDoc["properties"], TComponentDoc["customEvents"], TComponentDoc["properties"]> extends `${infer P}_${string}` ? P : never;
@@ -1,2 +1,12 @@
1
1
  export {};
2
+ // type Test1 = GetComponentPrefix<{ properties: { xxx_name: string } }>;
3
+ // type Test1Expect = "xxx";
4
+ // Checking<Test1, Test1Expect, Test.Pass>;
5
+ // type Test2 = GetComponentPrefix<{ customEvents: { xxx_name: string } }>;
6
+ // type Test2Expect = "xxx";
7
+ // Checking<Test2, Test2Expect, Test.Pass>;
8
+ // type demo = never extends `${infer P}_${string}` ? P : ""; // => string why?
9
+ // type Test3 = GetComponentPrefix<{}>;
10
+ // type Test3Expect = never;
11
+ // Checking<Test3, Test3Expect, Test.Pass>;
2
12
  //# sourceMappingURL=GetComponentPrefix.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"GetComponentPrefix.js","sourceRoot":"","sources":["../../src/types/GetComponentPrefix.ts"],"names":[],"mappings":""}
1
+ {"version":3,"file":"GetComponentPrefix.js","sourceRoot":"","sources":["../../src/types/GetComponentPrefix.ts"],"names":[],"mappings":";AAiBA,yEAAyE;AAEzE,4BAA4B;AAE5B,2CAA2C;AAE3C,2EAA2E;AAE3E,4BAA4B;AAE5B,2CAA2C;AAE3C,+EAA+E;AAE/E,uCAAuC;AAEvC,4BAA4B;AAE5B,2CAA2C"}
@@ -1,2 +1,5 @@
1
1
  import type { DetailedType } from "./DetailedType";
2
+ /**
3
+ * 解析DetailedType的类型
4
+ */
2
5
  export type InferDetailedType<T> = T extends StringConstructor ? string : T extends NumberConstructor ? number : T extends BooleanConstructor ? boolean : T extends ArrayConstructor ? unknown[] : T extends ObjectConstructor ? object : T extends DetailedType<infer R> ? R : never;
@@ -1,14 +1,25 @@
1
- /// <reference types="miniprogram-api-typings" />
2
- /// <reference types="miniprogram-api-typings" />
3
- /// <reference types="miniprogram-api-typings" />
4
- /// <reference types="miniprogram-api-typings" />
5
1
  export type WMTriggerEventOption = WechatMiniprogram.Component.TriggerEventOption;
6
2
  export type WMCustomEvent<Detail = undefined, Mark extends object = object, CurrentTargetDataset extends object = object, TargetDataset extends object = CurrentTargetDataset> = WechatMiniprogram.CustomEvent<Detail, Mark, CurrentTargetDataset, TargetDataset>;
7
3
  export type WMBaseEvent<Mark extends object = object, CurrentTargetDataset extends object = object, TargetDataset extends object = CurrentTargetDataset> = WechatMiniprogram.BaseEvent<Mark, CurrentTargetDataset, TargetDataset>;
4
+ /**
5
+ * 事件触发组件的Dataset类型
6
+ */
8
7
  export type Dataset<TCurrentTargetDataset extends object, TargetDataset extends object = TCurrentTargetDataset, Detail = undefined> = WMCustomEvent<Detail, object, TCurrentTargetDataset, TargetDataset>;
8
+ /**
9
+ * 自定义事件Detail类型
10
+ */
9
11
  export type Mark<TMark extends object> = Required<WechatMiniprogram.CustomEvent<object, TMark, object, object>>;
12
+ /**
13
+ * 自定义事件Detail类型
14
+ */
10
15
  export type Detail<T> = WMCustomEvent<T>;
16
+ /**
17
+ * 当前事件组件Dataset
18
+ */
11
19
  export type CurrentTargetDataset<T extends object> = WMCustomEvent<{}, {}, T>;
20
+ /**
21
+ * 触发事件组件Dataset
22
+ */
12
23
  export type TargetDataset<TargetDataset extends object> = WMCustomEvent<{}, {}, {}, TargetDataset>;
13
24
  export type WMComponentOption = WechatMiniprogram.Component.ComponentOptions;
14
25
  export type WMNavigateToSuccessCallbackResult = WechatMiniprogram.NavigateToSuccessCallbackResult;
@@ -20,12 +31,3 @@ export type WMInstanceMethods<T extends object> = WechatMiniprogram.Component.In
20
31
  export type WMCompLifetimes = WechatMiniprogram.Component.Lifetimes;
21
32
  export type WMCompOtherOption = WechatMiniprogram.Component.OtherOption;
22
33
  export type WMPageLifetimes = WechatMiniprogram.Page.ILifetime;
23
- export declare namespace WMComponent {
24
- interface Options {
25
- multipleSlots?: boolean;
26
- addGlobalClass?: boolean;
27
- styleIsolation?: "isolated" | "apply-shared" | "shared" | "page-isolated" | "page-apply-shared" | "page-shared";
28
- pureDataPattern?: RegExp;
29
- virtualHost?: boolean;
30
- }
31
- }
@@ -1,2 +1,32 @@
1
1
  export {};
2
+ // export declare namespace WMComponent {
3
+ // interface Options {
4
+ // /**
5
+ // * [启用多slot支持](https://developers.weixin.qq.com/miniprogram/dev/framework/custom-component/wxml-wxss.html#组件wxml的slot)
6
+ // */
7
+ // multipleSlots?: boolean;
8
+ // /**
9
+ // * 原始文档 [组件样式隔离](https://developers.weixin.qq.com/miniprogram/dev/framework/custom-component/wxml-wxss.html#组件样式隔离)
10
+ // * @deprecated glass-easel框架下被废弃 [兼容文档](https://developers.weixin.qq.com/miniprogram/dev/framework/custom-component/glass-easel/migration.html#JSON-%E9%85%8D%E7%BD%AE)
11
+ // */
12
+ // addGlobalClass?: boolean;
13
+ // /**
14
+ // * [组件样式隔离](https://developers.weixin.qq.com/miniprogram/dev/framework/custom-component/wxml-wxss.html#组件样式隔离)
15
+ // */
16
+ // styleIsolation?:
17
+ // | "isolated"
18
+ // | "apply-shared"
19
+ // | "shared"
20
+ // | "page-isolated"
21
+ // | "page-apply-shared"
22
+ // | "page-shared";
23
+ // /**
24
+ // * [纯数据字段](https://developers.weixin.qq.com/miniprogram/dev/framework/custom-component/pure-data.html) 是一些不用于界面渲染的 data 字段,可以用于提升页面更新性能。从小程序基础库版本 2.8.2 开始支持。
25
+ // */
26
+ // pureDataPattern?: RegExp;
27
+ // /**
28
+ // * [虚拟化组件节点](https://developers.weixin.qq.com/miniprogram/dev/framework/custom-component/wxml-wxss.html#%E8%99%9A%E6%8B%9F%E5%8C%96%E7%BB%84%E4%BB%B6%E8%8A%82%E7%82%B9) 使自定义组件内部的第一层节点由自定义组件本身完全决定。从小程序基础库版本 [`2.11.2`](https://developers.weixin.qq.com/miniprogram/dev/framework/compatibility.html) 开始支持 */
29
+ // virtualHost?: boolean;
30
+ // }
31
+ // }
2
32
  //# sourceMappingURL=OfficialTypeAlias.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"OfficialTypeAlias.js","sourceRoot":"","sources":["../../src/types/OfficialTypeAlias.ts"],"names":[],"mappings":""}
1
+ {"version":3,"file":"OfficialTypeAlias.js","sourceRoot":"","sources":["../../src/types/OfficialTypeAlias.ts"],"names":[],"mappings":";AA6EA,yCAAyC;AACzC,wBAAwB;AACxB,UAAU;AACV,6HAA6H;AAC7H,UAAU;AACV,+BAA+B;AAC/B,UAAU;AACV,0HAA0H;AAC1H,+KAA+K;AAC/K,UAAU;AACV,gCAAgC;AAChC,UAAU;AACV,qHAAqH;AACrH,UAAU;AACV,uBAAuB;AACvB,qBAAqB;AACrB,yBAAyB;AACzB,mBAAmB;AACnB,0BAA0B;AAC1B,8BAA8B;AAC9B,yBAAyB;AACzB,UAAU;AACV,oKAAoK;AACpK,UAAU;AACV,gCAAgC;AAChC,UAAU;AACV,sTAAsT;AACtT,6BAA6B;AAC7B,MAAM;AACN,IAAI"}
@@ -1 +1,4 @@
1
+ /**
2
+ * 去除前缀为`_`的字符串
3
+ */
1
4
  export type RemoveInnerData<S extends string> = S extends unknown ? S extends `_${string}` ? never : S : never;
@@ -4,5 +4,16 @@ type _Replace<Target, Source, DifferentKeys extends keyof Target, SameKey extend
4
4
  } & {
5
5
  [k in SameKey]: Source[k];
6
6
  }>;
7
+ /**
8
+ * Target与Source相同的key类型替换为Source的类型
9
+ * @example
10
+ * ```ts
11
+ * type obj = { a: "a"; b: "b"; c: boolean };
12
+ * type obj2 = { a: number; b: string; d: number };
13
+ * type test = Replace<obj, obj2>;
14
+ * // test = { a: number; b: string; c: boolean}
15
+ * type test1 = Replace<{}, obj2>; // {}
16
+ * ```
17
+ */
7
18
  export type Replace<Target extends object, Source extends object> = _Replace<Target, Source, Exclude<keyof Target, keyof Source>, Extract<keyof Target, keyof Source>>;
8
19
  export {};
@@ -3,6 +3,11 @@ import type { ComponentDoc } from "../api/DefineComponent/ReturnType/ComponentDo
3
3
  type _ReplacePrefix<O, TPrefix extends string> = {
4
4
  [k in keyof O as k extends `${string}_${infer L}` ? `${TPrefix}_${L}` : k]: O[k];
5
5
  };
6
+ /**
7
+ * 更改文档前缀
8
+ * @param TComponentDoc - ComponentDoc
9
+ * @returns ComponentDoc
10
+ */
6
11
  export type ReplacePrefix<TComponentDoc extends ComponentDoc, TPrefix extends string = ""> = IfExtends<unknown, TComponentDoc["properties"], {}, {
7
12
  properties: _ReplacePrefix<TComponentDoc["properties"], TPrefix>;
8
13
  }> & IfExtends<unknown, TComponentDoc["customEvents"], {}, {
@@ -1,2 +1,11 @@
1
1
  export {};
2
+ // type Test1 = ReplacePrefix<{ properties: { xxx_name: string } }, "xxxDaa">;
3
+ // type Test1Expect = { properties: { xxxDaa_name: string } };
4
+ // Checking<Test1, Test1Expect, Test.Pass>;
5
+ // type Test2 = ReplacePrefix<{ customEvents: { xxx_name: string } }, "xxxDaa">;
6
+ // type Test2Expect = { customEvents: { xxxDaa_name: string } };
7
+ // Checking<Test2, Test2Expect, Test.Pass>;
8
+ // type Test3 = ReplacePrefix<{}, "xxxDaa">;
9
+ // type Test3Expect = {};
10
+ // Checking<Test3, Test3Expect, Test.Pass>;
2
11
  //# sourceMappingURL=ReplacePrefix.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ReplacePrefix.js","sourceRoot":"","sources":["../../src/types/ReplacePrefix.ts"],"names":[],"mappings":""}
1
+ {"version":3,"file":"ReplacePrefix.js","sourceRoot":"","sources":["../../src/types/ReplacePrefix.ts"],"names":[],"mappings":";AA6BA,8EAA8E;AAE9E,8DAA8D;AAE9D,2CAA2C;AAE3C,gFAAgF;AAEhF,gEAAgE;AAEhE,2CAA2C;AAE3C,4CAA4C;AAE5C,yBAAyB;AAEzB,2CAA2C"}
@@ -1,3 +1,7 @@
1
+ /**
2
+ * 获取对象(联合对象)的必选属性
3
+ * @remarks 利用 `{} extends { x?:string }` 为true的特性
4
+ */
1
5
  export type RequiredKeys<O extends object> = O extends unknown ? {
2
6
  [K in keyof O]-?: {} extends Pick<O, K> ? never : K;
3
7
  }[keyof O] : never;
@@ -1,2 +1,9 @@
1
+ // import { Checking, type Test } from "hry-types";
1
2
  export {};
3
+ // type list = [1, 2, 3];
4
+ // type list2 = [unknown, 1, 2];
5
+ // type lll = Validators<list>;
6
+ // Checking<lll, 1, Test.Pass>;
7
+ // type lll2 = Validators<list2>;
8
+ // Checking<lll2, 1, Test.Pass>;
2
9
  //# sourceMappingURL=Validators.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Validators.js","sourceRoot":"","sources":["../../src/types/Validators.ts"],"names":[],"mappings":""}
1
+ {"version":3,"file":"Validators.js","sourceRoot":"","sources":["../../src/types/Validators.ts"],"names":[],"mappings":"AAAA,mDAAmD;;AAMnD,yBAAyB;AAEzB,gCAAgC;AAEhC,+BAA+B;AAE/B,+BAA+B;AAE/B,iCAAiC;AAEjC,gCAAgC"}
@@ -1,4 +1,4 @@
1
1
  export const INNERMARKER = {
2
- url: "__annil__",
2
+ url: "__annil__", // url默认传值Data字段
3
3
  };
4
4
  //# sourceMappingURL=InnerMarker.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"InnerMarker.js","sourceRoot":"","sources":["../../src/utils/InnerMarker.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,WAAW,GAAG;IACzB,GAAG,EAAE,WAAW;CACjB,CAAC"}
1
+ {"version":3,"file":"InnerMarker.js","sourceRoot":"","sources":["../../src/utils/InnerMarker.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,WAAW,GAAG;IACzB,GAAG,EAAE,WAAW,EAAE,gBAAgB;CACnC,CAAC"}
@@ -0,0 +1,2 @@
1
+ import type { IfContains } from "hry-types/src/Any/IfContains";
2
+ export declare function assertNonNullable<T>(value: IfContains<T, null | undefined, T, "参数类型必须包含 null 或 undefined">): NonNullable<T>;
@@ -0,0 +1,7 @@
1
+ export function assertNonNullable(value) {
2
+ if (value === null || value === undefined) {
3
+ throw new Error(`${value} should not be null or undefined`);
4
+ }
5
+ return value;
6
+ }
7
+ //# sourceMappingURL=assertNonNullable.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"assertNonNullable.js","sourceRoot":"","sources":["../../src/utils/assertNonNullable.ts"],"names":[],"mappings":"AAEA,MAAM,UAAU,iBAAiB,CAC/B,KAAsE;IAEtE,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;QAC1C,MAAM,IAAI,KAAK,CAAC,GAAG,KAAK,kCAAkC,CAAC,CAAC;IAC9D,CAAC;IAED,OAAO,KAAuB,CAAC;AACjC,CAAC"}
@@ -1 +1,4 @@
1
+ /**
2
+ * 深度克隆 函数相同 原型一致
3
+ */
1
4
  export declare function deepClone<T>(value: T): T;
@@ -1,3 +1,6 @@
1
+ /**
2
+ * 深度克隆 函数相同 原型一致
3
+ */
1
4
  export function deepClone(value) {
2
5
  if (typeof value !== "object" || value === null || value instanceof RegExp) {
3
6
  return value;
@@ -1 +1 @@
1
- {"version":3,"file":"deepClone.js","sourceRoot":"","sources":["../../src/utils/deepClone.ts"],"names":[],"mappings":"AAGA,MAAM,UAAU,SAAS,CAAI,KAAQ;IACnC,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,YAAY,MAAM,EAAE,CAAC;QAC3E,OAAO,KAAK,CAAC;IACf,CAAC;IAED,MAAM,KAAK,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAM,CAAC;IAEpD,MAAM,CAAC,cAAc,CAAC,KAAK,EAAE,MAAM,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC,CAAC;IAE3D,KAAK,MAAM,GAAG,IAAI,KAAK,EAAE,CAAC;QACxB,IAAI,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,KAAK,EAAE,GAAG,CAAC,EAAE,CAAC;YACrD,KAAK,CAAC,GAAG,CAAC,GAAG,SAAS,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC;QACrC,CAAC;IACH,CAAC;IAED,OAAO,KAAK,CAAC;AACf,CAAC"}
1
+ {"version":3,"file":"deepClone.js","sourceRoot":"","sources":["../../src/utils/deepClone.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,UAAU,SAAS,CAAI,KAAQ;IACnC,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,YAAY,MAAM,EAAE,CAAC;QAC3E,OAAO,KAAK,CAAC;IACf,CAAC;IAED,MAAM,KAAK,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAM,CAAC;IAEpD,MAAM,CAAC,cAAc,CAAC,KAAK,EAAE,MAAM,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC,CAAC;IAE3D,KAAK,MAAM,GAAG,IAAI,KAAK,EAAE,CAAC;QACxB,IAAI,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,KAAK,EAAE,GAAG,CAAC,EAAE,CAAC;YACrD,KAAK,CAAC,GAAG,CAAC,GAAG,SAAS,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC;QACrC,CAAC;IACH,CAAC;IAED,OAAO,KAAK,CAAC;AACf,CAAC"}
@@ -1 +1,4 @@
1
+ /**
2
+ * 判断一个值是否为空对象 `{}`
3
+ */
1
4
  export declare function isEmptyObject(obj: object): boolean;
@@ -1,3 +1,6 @@
1
+ /**
2
+ * 判断一个值是否为空对象 `{}`
3
+ */
1
4
  export function isEmptyObject(obj) {
2
5
  if (typeof obj !== "object" || obj === null || Array.isArray(obj) || obj instanceof Set || obj instanceof Map
3
6
  || obj instanceof WeakSet || obj instanceof WeakMap) {
@@ -1 +1 @@
1
- {"version":3,"file":"isEmptyObject.js","sourceRoot":"","sources":["../../src/utils/isEmptyObject.ts"],"names":[],"mappings":"AAGA,MAAM,UAAU,aAAa,CAAC,GAAW;IACvC,IACE,OAAO,GAAG,KAAK,QAAQ,IAAI,GAAG,KAAK,IAAI,IAAI,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,GAAG,YAAY,GAAG,IAAI,GAAG,YAAY,GAAG;WACtG,GAAG,YAAY,OAAO,IAAI,GAAG,YAAY,OAAO,EACnD,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC;IAED,OAAO,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,KAAK,CAAC,CAAC;AAC3C,CAAC"}
1
+ {"version":3,"file":"isEmptyObject.js","sourceRoot":"","sources":["../../src/utils/isEmptyObject.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,UAAU,aAAa,CAAC,GAAW;IACvC,IACE,OAAO,GAAG,KAAK,QAAQ,IAAI,GAAG,KAAK,IAAI,IAAI,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,GAAG,YAAY,GAAG,IAAI,GAAG,YAAY,GAAG;WACtG,GAAG,YAAY,OAAO,IAAI,GAAG,YAAY,OAAO,EACnD,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC;IAED,OAAO,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,KAAK,CAAC,CAAC;AAC3C,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "annil",
3
- "version": "1.7.3",
3
+ "version": "1.7.5-beta-3",
4
4
  "description": "微信小程序(原生开发)插件",
5
5
  "main": "dist/index.js",
6
6
  "types": "src/index.ts",
@@ -20,13 +20,11 @@
20
20
  },
21
21
  "devDependencies": {
22
22
  "@commitlint/config-conventional": "^17.6.5",
23
+ "@eslint/js": "^9.8.0",
24
+ "@types/eslint__js": "^8.42.3",
23
25
  "@types/jest": "^29.5.5",
24
- "@typescript-eslint/eslint-plugin": "^6.12.0",
25
- "@typescript-eslint/parser": "^6.12.0",
26
26
  "commitlint": "^17.6.5",
27
- "eslint": "^8.54.0",
28
- "eslint-plugin-tsdoc": "^0.2.17",
29
- "hry-types": "^0.18.1",
27
+ "eslint": "^9.8.0",
30
28
  "husky": "^8.0.3",
31
29
  "jest": "^29.7.0",
32
30
  "jest-environment-jsdom": "^29.7.0",
@@ -34,7 +32,8 @@
34
32
  "mobx": "^6.9.0",
35
33
  "prettier": "^2.8.8",
36
34
  "ts-jest": "^29.1.1",
37
- "typescript": "^5.3.2"
35
+ "typescript": "^5.5.4",
36
+ "typescript-eslint": "^8.0.0"
38
37
  },
39
38
  "files": [
40
39
  "LICENSE",
@@ -53,6 +52,7 @@
53
52
  "author": "missannil",
54
53
  "license": "MIT",
55
54
  "peerDependencies": {
55
+ "hry-types": "^0.18.1",
56
56
  "miniprogram-api-typings": "^3.12.2"
57
57
  }
58
58
  }
@@ -1,3 +1,4 @@
1
+ /* eslint-disable @typescript-eslint/no-explicit-any */
1
2
  type PrefixKeys = `${string}_${string}`;
2
3
 
3
4
  type _ComponentDoc = {
@@ -1,3 +1,5 @@
1
+ /* eslint-disable @typescript-eslint/no-unused-expressions */
2
+ /* eslint-disable @typescript-eslint/no-unused-vars */
1
3
  import { Checking, type Test } from "hry-types";
2
4
  import { type DetailedType, RootComponent } from "../../../..";
3
5
  import type { CustomEventConstraint } from "../../../RootComponent/CustomEvents/CustomEventConstraint";
@@ -1,3 +1,4 @@
1
+ /* eslint-disable @typescript-eslint/no-unused-vars */
1
2
  import { Checking, type Test } from "hry-types";
2
3
  import { type DetailedType, RootComponent } from "../../../..";
3
4
 
@@ -37,7 +38,7 @@ type CompDocOnlyPropertiesExpected = {
37
38
  };
38
39
  };
39
40
 
40
- Checking<typeof compDocOnlyProperties, CompDocOnlyPropertiesExpected, Test.Pass>;
41
+ void Checking<typeof compDocOnlyProperties, CompDocOnlyPropertiesExpected, Test.Pass>;
41
42
 
42
43
  // 2 页面类型不受subComponents是[never,never]时影响
43
44
  const whenSubIsAllNever = DefineComponent({
@@ -46,4 +47,4 @@ const whenSubIsAllNever = DefineComponent({
46
47
  subComponents: [{} as never, {} as never],
47
48
  });
48
49
 
49
- Checking<typeof whenSubIsAllNever, CompDocOnlyPropertiesExpected, Test.Pass>;
50
+ void Checking<typeof whenSubIsAllNever, CompDocOnlyPropertiesExpected, Test.Pass>;
@@ -1,8 +1,3 @@
1
- // import type { Extends } from "hry-types/src/Any/Extends";
2
- // import type { IfExtends } from "hry-types/src/Any/IfExtends";
3
- // import type { GetPropertiesDuplicatedKeys } from "../../../types/GetPropertiesDuplicatedKeys";
4
- // import type { Shift } from "../../../types/Shift";
5
- // import type { UnionToComma } from "../../../types/UnionToComma.test";
6
1
  import type { SubComponentDoc } from "../../SubComponent/SubComponentDoc";
7
2
 
8
3
  /**
@@ -1035,8 +1035,8 @@ const aaa = DefineComponent({
1035
1035
  A,
1036
1036
  ],
1037
1037
  });
1038
-
1039
- Checking<typeof aaa, {
1038
+ void aaa;
1039
+ void Checking<typeof aaa, {
1040
1040
  customEvents: {
1041
1041
  test_a: string | number | boolean | Composed;
1042
1042
  test_b: string | number | Composed;