taggedjs 2.5.24 → 2.6.2

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 (347) hide show
  1. package/bundle.js +1 -1
  2. package/bundle.js.map +1 -1
  3. package/js/RegularValue.type.d.ts +1 -0
  4. package/js/RegularValue.type.js +2 -0
  5. package/js/RegularValue.type.js.map +1 -0
  6. package/js/alterProp.function.d.ts +7 -7
  7. package/js/alterProp.function.js +71 -73
  8. package/js/alterProp.function.js.map +1 -1
  9. package/js/deepFunctions.d.ts +2 -2
  10. package/js/deepFunctions.js +25 -33
  11. package/js/deepFunctions.js.map +1 -1
  12. package/js/index.d.ts +6 -9
  13. package/js/index.js +6 -10
  14. package/js/index.js.map +1 -1
  15. package/js/interpolations/attributes/ElementTargetEvent.interface.d.ts +6 -0
  16. package/js/interpolations/attributes/ElementTargetEvent.interface.js +2 -0
  17. package/js/interpolations/attributes/ElementTargetEvent.interface.js.map +1 -0
  18. package/js/interpolations/attributes/addSupportEventListener.function.d.ts +3 -0
  19. package/js/interpolations/attributes/addSupportEventListener.function.js +42 -0
  20. package/js/interpolations/attributes/addSupportEventListener.function.js.map +1 -0
  21. package/js/interpolations/attributes/bindSubjectCallback.function.d.ts +13 -0
  22. package/js/interpolations/attributes/bindSubjectCallback.function.js +74 -0
  23. package/js/interpolations/attributes/bindSubjectCallback.function.js.map +1 -0
  24. package/js/interpolations/attributes/elementInitCheck.d.ts +2 -0
  25. package/js/interpolations/attributes/elementInitCheck.js +18 -0
  26. package/js/interpolations/attributes/elementInitCheck.js.map +1 -0
  27. package/js/interpolations/attributes/getUpTags.function.d.ts +2 -0
  28. package/js/interpolations/attributes/getUpTags.function.js +35 -0
  29. package/js/interpolations/attributes/getUpTags.function.js.map +1 -0
  30. package/js/interpolations/attributes/howToSetInputValue.function.d.ts +2 -0
  31. package/js/interpolations/attributes/howToSetInputValue.function.js +11 -0
  32. package/js/interpolations/attributes/howToSetInputValue.function.js.map +1 -0
  33. package/js/interpolations/attributes/isSpecialAttribute.function.d.ts +3 -0
  34. package/js/interpolations/attributes/isSpecialAttribute.function.js +26 -0
  35. package/js/interpolations/attributes/isSpecialAttribute.function.js.map +1 -0
  36. package/js/interpolations/attributes/processAttribute.function.d.ts +19 -0
  37. package/js/interpolations/attributes/processAttribute.function.js +175 -0
  38. package/js/interpolations/attributes/processAttribute.function.js.map +1 -0
  39. package/js/interpolations/attributes/processAttributeCallback.function.d.ts +3 -0
  40. package/js/interpolations/attributes/processAttributeCallback.function.js +12 -0
  41. package/js/interpolations/attributes/processAttributeCallback.function.js.map +1 -0
  42. package/js/interpolations/attributes/processNameValueAttribute.function.d.ts +7 -0
  43. package/js/interpolations/attributes/processNameValueAttribute.function.js +24 -0
  44. package/js/interpolations/attributes/processNameValueAttribute.function.js.map +1 -0
  45. package/js/interpolations/attributes/renderTagArray.function.d.ts +2 -0
  46. package/js/interpolations/attributes/renderTagArray.function.js +17 -0
  47. package/js/interpolations/attributes/renderTagArray.function.js.map +1 -0
  48. package/js/interpolations/attributes/specialAttribute.d.ts +2 -0
  49. package/js/interpolations/attributes/specialAttribute.js +44 -0
  50. package/js/interpolations/attributes/specialAttribute.js.map +1 -0
  51. package/js/interpolations/bindSubjectCallback.function.d.ts +8 -7
  52. package/js/interpolations/bindSubjectCallback.function.js +13 -46
  53. package/js/interpolations/bindSubjectCallback.function.js.map +1 -1
  54. package/js/interpolations/index.d.ts +2 -0
  55. package/js/interpolations/index.js +3 -0
  56. package/js/interpolations/index.js.map +1 -0
  57. package/js/interpolations/interpolateAttributes.d.ts +0 -3
  58. package/js/interpolations/interpolateAttributes.js +2 -14
  59. package/js/interpolations/interpolateAttributes.js.map +1 -1
  60. package/js/interpolations/interpolateTemplate.d.ts +1 -4
  61. package/js/interpolations/interpolateTemplate.js +1 -29
  62. package/js/interpolations/interpolateTemplate.js.map +1 -1
  63. package/js/interpolations/optimizers/LikeObjectElement.type.d.ts +15 -0
  64. package/js/interpolations/optimizers/LikeObjectElement.type.js +2 -0
  65. package/js/interpolations/optimizers/LikeObjectElement.type.js.map +1 -0
  66. package/js/interpolations/optimizers/ObjectNode.types.d.ts +21 -14
  67. package/js/interpolations/optimizers/attachDomElements.function.d.ts +13 -0
  68. package/js/interpolations/optimizers/attachDomElements.function.js +107 -0
  69. package/js/interpolations/optimizers/attachDomElements.function.js.map +1 -0
  70. package/js/interpolations/optimizers/exchangeParsedForValues.function.d.ts +15 -0
  71. package/js/interpolations/optimizers/exchangeParsedForValues.function.js +2 -0
  72. package/js/interpolations/optimizers/exchangeParsedForValues.function.js.map +1 -0
  73. package/js/interpolations/optimizers/htmlInterpolationToDomMeta.function.d.ts +4 -3
  74. package/js/interpolations/optimizers/htmlInterpolationToDomMeta.function.js +121 -56
  75. package/js/interpolations/optimizers/htmlInterpolationToDomMeta.function.js.map +1 -1
  76. package/js/interpolations/optimizers/metaAttachDomElements.function.d.ts +9 -3
  77. package/js/interpolations/optimizers/metaAttachDomElements.function.js +82 -36
  78. package/js/interpolations/optimizers/metaAttachDomElements.function.js.map +1 -1
  79. package/js/interpolations/optimizers/replacePlaceholders.function.d.ts +3 -2
  80. package/js/interpolations/optimizers/replacePlaceholders.function.js +38 -59
  81. package/js/interpolations/optimizers/replacePlaceholders.function.js.map +1 -1
  82. package/js/interpolations/optimizers/restorePlaceholders.function.d.ts +1 -1
  83. package/js/interpolations/optimizers/restorePlaceholders.function.js +14 -13
  84. package/js/interpolations/optimizers/restorePlaceholders.function.js.map +1 -1
  85. package/js/interpolations/optimizers/test.function.d.ts +10 -0
  86. package/js/interpolations/optimizers/test.function.js +19 -0
  87. package/js/interpolations/optimizers/test.function.js.map +1 -0
  88. package/js/interpolations/optimizers/types.d.ts +8 -0
  89. package/js/interpolations/optimizers/types.js +2 -0
  90. package/js/interpolations/optimizers/types.js.map +1 -0
  91. package/js/interpolations/processAttribute.function.d.ts +10 -5
  92. package/js/interpolations/processAttribute.function.js +111 -67
  93. package/js/interpolations/processAttribute.function.js.map +1 -1
  94. package/js/interpolations/processSubscriptionUpdate.function.d.ts +4 -0
  95. package/js/interpolations/processSubscriptionUpdate.function.js +14 -0
  96. package/js/interpolations/processSubscriptionUpdate.function.js.map +1 -0
  97. package/js/interpolations/specialAttribute.js +18 -9
  98. package/js/interpolations/specialAttribute.js.map +1 -1
  99. package/js/interpolations/subscribeToTemplate.function.d.ts +10 -2
  100. package/js/interpolations/subscribeToTemplate.function.js +19 -20
  101. package/js/interpolations/subscribeToTemplate.function.js.map +1 -1
  102. package/js/isInstance.d.ts +10 -6
  103. package/js/isInstance.js +33 -25
  104. package/js/isInstance.js.map +1 -1
  105. package/js/state/callbackMaker.function.d.ts +1 -1
  106. package/js/state/callbackMaker.function.js +21 -30
  107. package/js/state/callbackMaker.function.js.map +1 -1
  108. package/js/state/callbackStateUpdate.function.d.ts +1 -1
  109. package/js/state/callbackStateUpdate.function.js +6 -5
  110. package/js/state/callbackStateUpdate.function.js.map +1 -1
  111. package/js/state/getCallbackValue.function.d.ts +4 -0
  112. package/js/state/getCallbackValue.function.js +10 -0
  113. package/js/state/getCallbackValue.function.js.map +1 -0
  114. package/js/state/getStateValue.function.d.ts +2 -0
  115. package/js/state/getStateValue.function.js +24 -0
  116. package/js/state/getStateValue.function.js.map +1 -0
  117. package/js/state/handleProviderChanges.function.d.ts +7 -1
  118. package/js/state/handleProviderChanges.function.js +7 -21
  119. package/js/state/handleProviderChanges.function.js.map +1 -1
  120. package/js/state/index.d.ts +2 -3
  121. package/js/state/index.js +2 -2
  122. package/js/state/index.js.map +1 -1
  123. package/js/state/letState.function.d.ts +2 -0
  124. package/js/state/letState.function.js +28 -28
  125. package/js/state/letState.function.js.map +1 -1
  126. package/js/state/onDestroy.js +3 -2
  127. package/js/state/onDestroy.js.map +1 -1
  128. package/js/state/providers.d.ts +0 -1
  129. package/js/state/providers.js +20 -15
  130. package/js/state/providers.js.map +1 -1
  131. package/js/state/providersChangeCheck.function.d.ts +2 -2
  132. package/js/state/providersChangeCheck.function.js +9 -10
  133. package/js/state/providersChangeCheck.function.js.map +1 -1
  134. package/js/state/setUse.function.d.ts +1 -11
  135. package/js/state/setUse.function.js +12 -13
  136. package/js/state/setUse.function.js.map +1 -1
  137. package/js/state/state.function.js +2 -47
  138. package/js/state/state.function.js.map +1 -1
  139. package/js/state/state.types.d.ts +8 -0
  140. package/js/state/state.types.js +2 -0
  141. package/js/state/state.types.js.map +1 -0
  142. package/js/state/state.utils.d.ts +11 -10
  143. package/js/state/state.utils.js +35 -65
  144. package/js/state/state.utils.js.map +1 -1
  145. package/js/state/stateHandlers.d.ts +2 -0
  146. package/js/state/stateHandlers.js +36 -0
  147. package/js/state/stateHandlers.js.map +1 -0
  148. package/js/state/subject.function.js +10 -6
  149. package/js/state/subject.function.js.map +1 -1
  150. package/js/state/syncStates.function.d.ts +1 -1
  151. package/js/state/syncStates.function.js +8 -5
  152. package/js/state/syncStates.function.js.map +1 -1
  153. package/js/state/watch.function.js +6 -6
  154. package/js/state/watch.function.js.map +1 -1
  155. package/js/subject/Subject.class.d.ts +9 -2
  156. package/js/subject/Subject.class.js +36 -11
  157. package/js/subject/Subject.class.js.map +1 -1
  158. package/js/subject/ValueSubject.d.ts +6 -1
  159. package/js/subject/ValueSubject.js +15 -1
  160. package/js/subject/ValueSubject.js.map +1 -1
  161. package/js/subject/combineLatest.function.js +2 -2
  162. package/js/subject/combineLatest.function.js.map +1 -1
  163. package/js/subject/subject.utils.js +5 -4
  164. package/js/subject/subject.utils.js.map +1 -1
  165. package/js/subject.types.d.ts +2 -10
  166. package/js/tag/Context.types.d.ts +21 -0
  167. package/js/tag/Context.types.js +2 -0
  168. package/js/tag/Context.types.js.map +1 -0
  169. package/js/tag/Support.class.d.ts +31 -66
  170. package/js/tag/Support.class.js +36 -285
  171. package/js/tag/Support.class.js.map +1 -1
  172. package/js/tag/Tag.class.d.ts +29 -28
  173. package/js/tag/Tag.class.js +34 -46
  174. package/js/tag/Tag.class.js.map +1 -1
  175. package/js/tag/TemplaterResult.class.d.ts +32 -38
  176. package/js/tag/TemplaterResult.class.js +11 -34
  177. package/js/tag/TemplaterResult.class.js.map +1 -1
  178. package/js/tag/ValueTypes.enum.d.ts +23 -13
  179. package/js/tag/ValueTypes.enum.js +28 -19
  180. package/js/tag/ValueTypes.enum.js.map +1 -1
  181. package/js/tag/buildBeforeElement.function.d.ts +10 -0
  182. package/js/tag/buildBeforeElement.function.js +47 -0
  183. package/js/tag/buildBeforeElement.function.js.map +1 -0
  184. package/js/tag/buildSupportContext.function.d.ts +3 -0
  185. package/js/tag/buildSupportContext.function.js +15 -0
  186. package/js/tag/buildSupportContext.function.js.map +1 -0
  187. package/js/tag/checkDestroyPrevious.function.d.ts +5 -8
  188. package/js/tag/checkDestroyPrevious.function.js +53 -71
  189. package/js/tag/checkDestroyPrevious.function.js.map +1 -1
  190. package/js/tag/clonePropsBy.function.d.ts +6 -0
  191. package/js/tag/clonePropsBy.function.js +27 -0
  192. package/js/tag/clonePropsBy.function.js.map +1 -0
  193. package/js/tag/cloneValueArray.function.d.ts +4 -3
  194. package/js/tag/cloneValueArray.function.js +17 -13
  195. package/js/tag/cloneValueArray.function.js.map +1 -1
  196. package/js/tag/destroy.support.d.ts +7 -5
  197. package/js/tag/destroy.support.js +44 -6
  198. package/js/tag/destroy.support.js.map +1 -1
  199. package/js/tag/destroySupport.function.d.ts +2 -0
  200. package/js/tag/destroySupport.function.js +21 -0
  201. package/js/tag/destroySupport.function.js.map +1 -0
  202. package/js/tag/destroyTag.function.js +4 -4
  203. package/js/tag/destroyTag.function.js.map +1 -1
  204. package/js/tag/domMetaCollector.d.ts +2 -2
  205. package/js/tag/domMetaCollector.js +12 -8
  206. package/js/tag/domMetaCollector.js.map +1 -1
  207. package/js/tag/elementDestroyCheck.function.js +4 -7
  208. package/js/tag/elementDestroyCheck.function.js.map +1 -1
  209. package/js/tag/executeWrap.function.d.ts +5 -0
  210. package/js/tag/executeWrap.function.js +23 -0
  211. package/js/tag/executeWrap.function.js.map +1 -0
  212. package/js/tag/getChildTagsToDestroy.function.d.ts +8 -0
  213. package/js/tag/getChildTagsToDestroy.function.js +47 -0
  214. package/js/tag/getChildTagsToDestroy.function.js.map +1 -0
  215. package/js/tag/getStringsId.function.d.ts +1 -1
  216. package/js/tag/getStringsId.function.js +1 -2
  217. package/js/tag/getStringsId.function.js.map +1 -1
  218. package/js/tag/getSupportInCycle.function.js +2 -2
  219. package/js/tag/getSupportInCycle.function.js.map +1 -1
  220. package/js/tag/getTagWrap.function.d.ts +2 -0
  221. package/js/tag/getTagWrap.function.js +24 -68
  222. package/js/tag/getTagWrap.function.js.map +1 -1
  223. package/js/tag/getValueType.function.d.ts +3 -2
  224. package/js/tag/getValueType.function.js +17 -30
  225. package/js/tag/getValueType.function.js.map +1 -1
  226. package/js/tag/hasPropChanges.function.js +4 -10
  227. package/js/tag/hasPropChanges.function.js.map +1 -1
  228. package/js/tag/hasSupportChanged.function.d.ts +6 -2
  229. package/js/tag/hasSupportChanged.function.js +143 -24
  230. package/js/tag/hasSupportChanged.function.js.map +1 -1
  231. package/js/tag/html.d.ts +5 -6
  232. package/js/tag/html.js +9 -3
  233. package/js/tag/html.js.map +1 -1
  234. package/js/tag/index.d.ts +11 -1
  235. package/js/tag/index.js +11 -1
  236. package/js/tag/index.js.map +1 -1
  237. package/js/tag/isLikeTags.function.d.ts +4 -3
  238. package/js/tag/isLikeTags.function.js +18 -31
  239. package/js/tag/isLikeTags.function.js.map +1 -1
  240. package/js/tag/key.d.ts +6 -0
  241. package/js/tag/key.js +9 -0
  242. package/js/tag/key.js.map +1 -0
  243. package/js/tag/kidsToTagArraySubject.function.d.ts +2 -2
  244. package/js/tag/kidsToTagArraySubject.function.js +2 -1
  245. package/js/tag/kidsToTagArraySubject.function.js.map +1 -1
  246. package/js/tag/paint.function.d.ts +15 -0
  247. package/js/tag/paint.function.js +42 -0
  248. package/js/tag/paint.function.js.map +1 -0
  249. package/js/tag/processUpdateAttrContext.function.d.ts +3 -0
  250. package/js/tag/processUpdateAttrContext.function.js +14 -0
  251. package/js/tag/processUpdateAttrContext.function.js.map +1 -0
  252. package/js/tag/processUpdateContext.function.d.ts +5 -0
  253. package/js/tag/processUpdateContext.function.js +35 -0
  254. package/js/tag/processUpdateContext.function.js.map +1 -0
  255. package/js/tag/render/destroyUnlikeTags.function.d.ts +3 -5
  256. package/js/tag/render/destroyUnlikeTags.function.js +1 -3
  257. package/js/tag/render/destroyUnlikeTags.function.js.map +1 -1
  258. package/js/tag/render/renderExistingTag.function.d.ts +4 -6
  259. package/js/tag/render/renderExistingTag.function.js +11 -27
  260. package/js/tag/render/renderExistingTag.function.js.map +1 -1
  261. package/js/tag/render/renderSubjectComponent.function.js +14 -5
  262. package/js/tag/render/renderSubjectComponent.function.js.map +1 -1
  263. package/js/tag/render/renderSupport.function.d.ts +8 -3
  264. package/js/tag/render/renderSupport.function.js +68 -32
  265. package/js/tag/render/renderSupport.function.js.map +1 -1
  266. package/js/tag/render/renderTagOnly.function.d.ts +4 -3
  267. package/js/tag/render/renderTagOnly.function.js +33 -24
  268. package/js/tag/render/renderTagOnly.function.js.map +1 -1
  269. package/js/tag/render/renderWithSupport.function.d.ts +8 -4
  270. package/js/tag/render/renderWithSupport.function.js +12 -10
  271. package/js/tag/render/renderWithSupport.function.js.map +1 -1
  272. package/js/tag/render/softDestroySupport.function.d.ts +1 -2
  273. package/js/tag/render/softDestroySupport.function.js +22 -18
  274. package/js/tag/render/softDestroySupport.function.js.map +1 -1
  275. package/js/tag/smartRemoveKids.function.d.ts +3 -0
  276. package/js/tag/smartRemoveKids.function.js +80 -0
  277. package/js/tag/smartRemoveKids.function.js.map +1 -0
  278. package/js/tag/tag.d.ts +16 -3
  279. package/js/tag/tag.js +48 -16
  280. package/js/tag/tag.js.map +1 -1
  281. package/js/tag/tag.types.d.ts +6 -4
  282. package/js/tag/tag.utils.d.ts +15 -12
  283. package/js/tag/tag.utils.js.map +1 -1
  284. package/js/tag/tagElement.d.ts +11 -5
  285. package/js/tag/tagElement.js +114 -41
  286. package/js/tag/tagElement.js.map +1 -1
  287. package/js/tag/tagRunner.d.ts +2 -4
  288. package/js/tag/tagRunner.js +17 -39
  289. package/js/tag/tagRunner.js.map +1 -1
  290. package/js/tag/textNode.js +1 -1
  291. package/js/tag/textNode.js.map +1 -1
  292. package/js/tag/update/TagJsSubject.class.d.ts +0 -6
  293. package/js/tag/update/TagJsSubject.class.js +1 -8
  294. package/js/tag/update/TagJsSubject.class.js.map +1 -1
  295. package/js/tag/update/afterChildrenBuilt.function.d.ts +6 -0
  296. package/js/tag/update/afterChildrenBuilt.function.js +25 -0
  297. package/js/tag/update/afterChildrenBuilt.function.js.map +1 -0
  298. package/js/tag/update/getNewGlobal.function.d.ts +2 -0
  299. package/js/tag/update/getNewGlobal.function.js +7 -0
  300. package/js/tag/update/getNewGlobal.function.js.map +1 -0
  301. package/js/tag/update/oneRenderToSupport.function.d.ts +2 -2
  302. package/js/tag/update/oneRenderToSupport.function.js +7 -7
  303. package/js/tag/update/oneRenderToSupport.function.js.map +1 -1
  304. package/js/tag/update/processFirstSubject.utils.d.ts +4 -11
  305. package/js/tag/update/processFirstSubjectComponent.function.d.ts +6 -0
  306. package/js/tag/update/processFirstSubjectComponent.function.js +36 -0
  307. package/js/tag/update/processFirstSubjectComponent.function.js.map +1 -0
  308. package/js/tag/update/processFirstSubjectValue.function.d.ts +8 -8
  309. package/js/tag/update/processFirstSubjectValue.function.js +75 -39
  310. package/js/tag/update/processFirstSubjectValue.function.js.map +1 -1
  311. package/js/tag/update/processNewValue.function.d.ts +4 -3
  312. package/js/tag/update/processNewValue.function.js +27 -27
  313. package/js/tag/update/processNewValue.function.js.map +1 -1
  314. package/js/tag/update/processRegularValue.function.d.ts +4 -6
  315. package/js/tag/update/processRegularValue.function.js +10 -23
  316. package/js/tag/update/processRegularValue.function.js.map +1 -1
  317. package/js/tag/update/processSubjectComponent.function.d.ts +3 -5
  318. package/js/tag/update/processSubjectComponent.function.js +18 -22
  319. package/js/tag/update/processSubjectComponent.function.js.map +1 -1
  320. package/js/tag/update/processTag.function.d.ts +13 -10
  321. package/js/tag/update/processTag.function.js +51 -37
  322. package/js/tag/update/processTag.function.js.map +1 -1
  323. package/js/tag/update/processTagArray.d.ts +7 -26
  324. package/js/tag/update/processTagArray.js +118 -141
  325. package/js/tag/update/processTagArray.js.map +1 -1
  326. package/js/tag/update/processTagResult.function.d.ts +4 -8
  327. package/js/tag/update/processTagResult.function.js +31 -30
  328. package/js/tag/update/processTagResult.function.js.map +1 -1
  329. package/js/tag/update/updateContextItem.function.d.ts +6 -2
  330. package/js/tag/update/updateContextItem.function.js +11 -9
  331. package/js/tag/update/updateContextItem.function.js.map +1 -1
  332. package/js/tag/update/updateExistingTagComponent.function.d.ts +7 -8
  333. package/js/tag/update/updateExistingTagComponent.function.js +76 -98
  334. package/js/tag/update/updateExistingTagComponent.function.js.map +1 -1
  335. package/js/tag/update/updateExistingValue.function.d.ts +4 -4
  336. package/js/tag/update/updateExistingValue.function.js +81 -101
  337. package/js/tag/update/updateExistingValue.function.js.map +1 -1
  338. package/js/tag/update/validateTemplater.function.d.ts +2 -0
  339. package/js/tag/update/validateTemplater.function.js +17 -0
  340. package/js/tag/update/validateTemplater.function.js.map +1 -0
  341. package/js/tag/updateSupportBy.function.d.ts +3 -0
  342. package/js/tag/updateSupportBy.function.js +18 -0
  343. package/js/tag/updateSupportBy.function.js.map +1 -0
  344. package/js/updateBeforeTemplate.function.d.ts +2 -3
  345. package/js/updateBeforeTemplate.function.js +10 -8
  346. package/js/updateBeforeTemplate.function.js.map +1 -1
  347. package/package.json +1 -1
@@ -1,18 +1,17 @@
1
- import { deepClone, deepEqual } from '../deepFunctions.js';
2
1
  import { handleProviderChanges } from './handleProviderChanges.function.js';
3
2
  export function providersChangeCheck(support) {
4
3
  const global = support.subject.global;
5
- const providersWithChanges = global.providers.filter(provider => !deepEqual(provider.instance, provider.clone));
6
- let hadChanged = false;
4
+ const providers = global.providers;
5
+ if (!providers) {
6
+ return [];
7
+ }
8
+ const prosWithChanges = [];
7
9
  // reset clones
8
- for (let index = providersWithChanges.length - 1; index >= 0; --index) {
9
- const provider = providersWithChanges[index];
10
+ for (const provider of providers) {
10
11
  const owner = provider.owner;
11
- if (handleProviderChanges(owner, provider)) {
12
- hadChanged = true;
13
- }
14
- provider.clone = deepClone(provider.instance);
12
+ const hasChange = handleProviderChanges(owner, provider);
13
+ prosWithChanges.push(...hasChange.map(x => x.support));
15
14
  }
16
- return hadChanged;
15
+ return prosWithChanges;
17
16
  }
18
17
  //# sourceMappingURL=providersChangeCheck.function.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"providersChangeCheck.function.js","sourceRoot":"","sources":["../../ts/state/providersChangeCheck.function.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAA;AAC1D,OAAO,EAAE,qBAAqB,EAAE,MAAM,qCAAqC,CAAA;AAG3E,MAAM,UAAU,oBAAoB,CAClC,OAA8B;IAE9B,MAAM,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,MAAM,CAAA;IACrC,MAAM,oBAAoB,GAAG,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,SAAS,CAAC,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAA;IAC/G,IAAI,UAAU,GAAG,KAAK,CAAA;IAEtB,eAAe;IACf,KAAK,IAAI,KAAK,GAAG,oBAAoB,CAAC,MAAM,GAAG,CAAC,EAAE,KAAK,IAAI,CAAC,EAAE,EAAE,KAAK,EAAE,CAAC;QACtE,MAAM,QAAQ,GAAG,oBAAoB,CAAC,KAAK,CAAC,CAAA;QAC5C,MAAM,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAA;QAE5B,IAAG,qBAAqB,CAAC,KAAK,EAAE,QAAQ,CAAC,EAAE,CAAC;YAC1C,UAAU,GAAG,IAAI,CAAA;QACnB,CAAC;QAED,QAAQ,CAAC,KAAK,GAAG,SAAS,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAA;IAC/C,CAAC;IAED,OAAO,UAAU,CAAA;AACnB,CAAC"}
1
+ {"version":3,"file":"providersChangeCheck.function.js","sourceRoot":"","sources":["../../ts/state/providersChangeCheck.function.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,MAAM,qCAAqC,CAAA;AAI3E,MAAM,UAAU,oBAAoB,CAClC,OAAmB;IAEnB,MAAM,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,MAA0B,CAAA;IACzD,MAAM,SAAS,GAAG,MAAM,CAAC,SAAS,CAAA;IAElC,IAAG,CAAC,SAAS,EAAE,CAAC;QACd,OAAO,EAAE,CAAA;IACX,CAAC;IAED,MAAM,eAAe,GAAG,EAAE,CAAA;IAE1B,eAAe;IACf,KAAK,MAAM,QAAQ,IAAI,SAAS,EAAE,CAAC;QACjC,MAAM,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAA;QAC5B,MAAM,SAAS,GAAG,qBAAqB,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAA;QACxD,eAAe,CAAC,IAAI,CAAC,GAAG,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAA;IACxD,CAAC;IAED,OAAO,eAAe,CAAA;AACxB,CAAC"}
@@ -1,22 +1,12 @@
1
1
  import { BaseSupport, Support } from '../tag/Support.class.js';
2
2
  import { Config } from './state.utils.js';
3
- interface TagUse {
4
- beforeRender: (support: BaseSupport | Support, ownerTag?: Support | BaseSupport) => void;
5
- beforeRedraw: (support: BaseSupport | Support, tag: Support | BaseSupport) => void;
6
- afterRender: (support: BaseSupport | Support, ownerSupport?: Support | BaseSupport) => void;
7
- beforeDestroy: (support: BaseSupport | Support, tag: Support | BaseSupport) => void;
8
- }
9
3
  export type UseOptions = {
10
4
  beforeRender?: (support: Support | BaseSupport, ownerTag?: Support | BaseSupport) => void;
11
5
  beforeRedraw?: (support: BaseSupport | Support, tag: Support | BaseSupport) => void;
12
6
  afterRender?: (support: BaseSupport | Support, ownerSupport?: Support | BaseSupport) => void;
13
7
  beforeDestroy?: (support: BaseSupport | Support, tag: Support | BaseSupport) => void;
14
8
  };
15
- export declare function setUse(use: UseOptions): void;
16
- export declare namespace setUse {
17
- var tagUse: TagUse[];
18
- var memory: UseMemory;
19
- }
9
+ export declare const setUseMemory: UseMemory;
20
10
  type UseMemory = (Record<string, any> & {
21
11
  stateConfig: Config;
22
12
  currentSupport: Support;
@@ -1,14 +1,13 @@
1
- const tagUse = [];
2
- export function setUse(use) {
3
- // must provide defaults
4
- const useMe = {
5
- beforeRender: use.beforeRender || (() => undefined),
6
- beforeRedraw: use.beforeRedraw || (() => undefined),
7
- afterRender: use.afterRender || (() => undefined),
8
- beforeDestroy: use.beforeDestroy || (() => undefined),
9
- };
10
- setUse.tagUse.push(useMe);
11
- }
12
- setUse.tagUse = tagUse;
13
- setUse.memory = {};
1
+ import { firstLetState } from './letState.function.js';
2
+ import { runFirstState } from './stateHandlers.js';
3
+ export const setUseMemory = {
4
+ stateConfig: {
5
+ array: [], // state memory on the first render
6
+ version: Date.now(),
7
+ handlers: {
8
+ handler: runFirstState,
9
+ letHandler: firstLetState,
10
+ }
11
+ },
12
+ };
14
13
  //# sourceMappingURL=setUse.function.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"setUse.function.js","sourceRoot":"","sources":["../../ts/state/setUse.function.ts"],"names":[],"mappings":"AAGA,MAAM,MAAM,GAAa,EAAE,CAAA;AAyB3B,MAAM,UAAU,MAAM,CAAC,GAAe;IACpC,wBAAwB;IACxB,MAAM,KAAK,GAAW;QACpB,YAAY,EAAE,GAAG,CAAC,YAAY,IAAI,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC;QACnD,YAAY,EAAE,GAAG,CAAC,YAAY,IAAI,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC;QACnD,WAAW,EAAE,GAAG,CAAC,WAAW,IAAI,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC;QACjD,aAAa,EAAE,GAAG,CAAC,aAAa,IAAI,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC;KACtD,CAAA;IAED,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;AAC3B,CAAC;AAED,MAAM,CAAC,MAAM,GAAG,MAAM,CAAA;AACtB,MAAM,CAAC,MAAM,GAAG,EAAe,CAAA"}
1
+ {"version":3,"file":"setUse.function.js","sourceRoot":"","sources":["../../ts/state/setUse.function.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAA;AAGtD,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAA;AAYlD,MAAM,CAAC,MAAM,YAAY,GAAG;IAC1B,WAAW,EAAE;QACX,KAAK,EAAE,EAAW,EAAE,mCAAmC;QACvD,OAAO,EAAE,IAAI,CAAC,GAAG,EAAE;QACnB,QAAQ,EAAE;YACR,OAAO,EAAE,aAAa;YACtB,UAAU,EAAE,aAAa;SAC1B;KACF;CACW,CAAA"}
@@ -1,51 +1,6 @@
1
- import { setUse } from './setUse.function.js';
2
- import { getStateValue } from './state.utils.js';
3
- import { syncStates } from './syncStates.function.js';
1
+ import { setUseMemory } from './setUse.function.js';
4
2
  /** Used for variables that need to remain the same variable during render passes */
5
3
  export function state(defaultValue) {
6
- const config = setUse.memory.stateConfig;
7
- let getSetMethod;
8
- const rearray = config.rearray;
9
- const restate = rearray[config.array.length];
10
- if (restate) {
11
- let oldValue = getStateValue(restate);
12
- getSetMethod = ((x) => [oldValue, oldValue = x]);
13
- const push = {
14
- get: () => getStateValue(push),
15
- callback: getSetMethod,
16
- lastValue: oldValue,
17
- defaultValue: restate.defaultValue,
18
- };
19
- config.array.push(push);
20
- return oldValue;
21
- }
22
- // State first time run
23
- const defaultFn = defaultValue instanceof Function ? defaultValue : () => defaultValue;
24
- let initValue = defaultFn();
25
- // the state is actually intended to be a function
26
- if (initValue instanceof Function) {
27
- const oldState = config.array;
28
- const support = config.support;
29
- const original = initValue;
30
- initValue = ((...args) => {
31
- const global = support.subject.global;
32
- const newest = global.newest;
33
- const newState = newest.state;
34
- syncStates(newState, oldState);
35
- const result = original(...args);
36
- syncStates(oldState, newState);
37
- return result;
38
- });
39
- initValue.original = original;
40
- }
41
- getSetMethod = ((x) => [initValue, initValue = x]);
42
- const push = {
43
- get: () => getStateValue(push),
44
- callback: getSetMethod,
45
- lastValue: initValue,
46
- defaultValue: initValue,
47
- };
48
- config.array.push(push);
49
- return initValue;
4
+ return setUseMemory.stateConfig.handlers.handler(defaultValue);
50
5
  }
51
6
  //# sourceMappingURL=state.function.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"state.function.js","sourceRoot":"","sources":["../../ts/state/state.function.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAA;AAC7C,OAAO,EAA+C,aAAa,EAAE,MAAM,kBAAkB,CAAA;AAC7F,OAAO,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAA;AAErD,oFAAoF;AACpF,MAAM,UAAU,KAAK,CACnB,YAA2B;IAE3B,MAAM,MAAM,GAAW,MAAM,CAAC,MAAM,CAAC,WAAW,CAAA;IAChD,IAAI,YAA4B,CAAA;IAChC,MAAM,OAAO,GAAG,MAAM,CAAC,OAAgB,CAAA;IAEvC,MAAM,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAA;IAC5C,IAAG,OAAO,EAAE,CAAC;QACX,IAAI,QAAQ,GAAG,aAAa,CAAC,OAAO,CAAM,CAAA;QAC1C,YAAY,GAAG,CAAC,CAAC,CAAI,EAAE,EAAE,CAAC,CAAC,QAAQ,EAAE,QAAQ,GAAG,CAAC,CAAC,CAAC,CAAA;QACnD,MAAM,IAAI,GAAuB;YAC/B,GAAG,EAAE,GAAG,EAAE,CAAC,aAAa,CAAC,IAAI,CAAM;YACnC,QAAQ,EAAE,YAAY;YACtB,SAAS,EAAE,QAAQ;YACnB,YAAY,EAAE,OAAO,CAAC,YAAY;SACnC,CAAA;QAED,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;QAEvB,OAAO,QAAQ,CAAA;IACjB,CAAC;IAED,uBAAuB;IACvB,MAAM,SAAS,GAAG,YAAY,YAAY,QAAQ,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,YAAY,CAAA;IACtF,IAAI,SAAS,GAAG,SAAS,EAAE,CAAA;IAE3B,kDAAkD;IAClD,IAAG,SAAS,YAAY,QAAQ,EAAE,CAAC;QACjC,MAAM,QAAQ,GAAG,MAAM,CAAC,KAAK,CAAA;QAC7B,MAAM,OAAO,GAAG,MAAM,CAAC,OAAkB,CAAA;QACzC,MAAM,QAAQ,GAAG,SAAS,CAAA;QAE1B,SAAS,GAAG,CAAC,CAAC,GAAG,IAAW,EAAE,EAAE;YAC9B,MAAM,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,MAAM,CAAA;YACrC,MAAM,MAAM,GAAG,MAAM,CAAC,MAAiB,CAAA;YACvC,MAAM,QAAQ,GAAG,MAAM,CAAC,KAAK,CAAA;YAE7B,UAAU,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAA;YAE9B,MAAM,MAAM,GAAG,QAAQ,CAAC,GAAG,IAAI,CAAC,CAAA;YAEhC,UAAU,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAA;YAE9B,OAAO,MAAM,CAAA;QACf,CAAC,CAAQ,CAER;QAAC,SAAiB,CAAC,QAAQ,GAAG,QAAQ,CAAA;IACzC,CAAC;IAED,YAAY,GAAG,CAAC,CAAC,CAAI,EAAE,EAAE,CAAC,CAAC,SAAS,EAAE,SAAS,GAAG,CAAC,CAAC,CAAC,CAAA;IACrD,MAAM,IAAI,GAAuB;QAC/B,GAAG,EAAE,GAAG,EAAE,CAAC,aAAa,CAAC,IAAI,CAAM;QACnC,QAAQ,EAAE,YAAY;QACtB,SAAS,EAAE,SAAS;QACpB,YAAY,EAAE,SAAS;KACxB,CAAA;IACD,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;IAEvB,OAAO,SAAS,CAAA;AAClB,CAAC"}
1
+ {"version":3,"file":"state.function.js","sourceRoot":"","sources":["../../ts/state/state.function.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAA;AAEnD,oFAAoF;AACpF,MAAM,UAAU,KAAK,CACnB,YAA2B;IAE3B,OAAO,YAAY,CAAC,WAAW,CAAC,QAAQ,CAAC,OAAO,CAAC,YAAY,CAAC,CAAA;AAChE,CAAC"}
@@ -0,0 +1,8 @@
1
+ export type StateConfig<T> = (x: T) => [T, T];
2
+ export type StateConfigItem<T> = {
3
+ get: () => T;
4
+ callback?: StateConfig<T>;
5
+ defaultValue?: T;
6
+ watch?: T;
7
+ };
8
+ export type State = StateConfigItem<any>[];
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=state.types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"state.types.js","sourceRoot":"","sources":["../../ts/state/state.types.ts"],"names":[],"mappings":""}
@@ -1,20 +1,21 @@
1
+ import { firstLetState } from './letState.function.js';
1
2
  import { BaseSupport, Support } from '../tag/Support.class.js';
2
- export type StateConfig<T> = (x: T) => [T, T];
3
- export type StateConfigItem<T> = {
4
- get: () => T;
5
- callback?: StateConfig<T>;
6
- lastValue?: T;
7
- defaultValue?: T;
8
- watch?: T;
9
- };
3
+ import { runFirstState } from './stateHandlers.js';
4
+ import { State, StateConfig } from './state.types.js';
10
5
  export type Config = {
6
+ version: number;
11
7
  support?: BaseSupport | Support;
12
8
  array: State;
13
9
  rearray?: State;
10
+ handlers: {
11
+ handler: typeof runFirstState;
12
+ letHandler: typeof firstLetState;
13
+ };
14
14
  };
15
- export type State = StateConfigItem<any>[];
16
15
  export type GetSet<T> = (y: T) => [T, T];
17
- export declare function getStateValue<T>(state: StateConfigItem<T>): T | undefined;
16
+ export declare function afterRender(support: Support | BaseSupport): void;
17
+ export declare function initState(support: Support | BaseSupport, config: Config): void;
18
+ export declare function reState(support: Support | BaseSupport, config: Config): void;
18
19
  export declare class StateEchoBack {
19
20
  }
20
21
  export declare function getCallbackValue<T>(callback: StateConfig<T>): [T, T];
@@ -1,74 +1,44 @@
1
- import { StateMismatchError } from '../errors.js';
2
- import { setUse } from './setUse.function.js';
3
- const badLetState = 'letState function incorrectly used. Second item in array is not setting expected value.\n\n' +
4
- 'For "let" state use `let name = state(default)(x => [name, name = x])`\n\n' +
5
- 'For "const" state use `const name = state(default)()`\n\n' +
6
- 'Problem state:\n';
7
- setUse.memory.stateConfig = {
8
- array: [], // state memory on the first render
9
- // rearray: [] as State,
10
- };
11
- const beforeRender = (support) => initState(support);
12
- setUse({
13
- beforeRender,
14
- beforeRedraw: beforeRender,
15
- afterRender: (support) => {
16
- const state = support.state;
17
- const config = setUse.memory.stateConfig;
18
- const rearray = config.rearray;
19
- if (rearray.length) {
20
- if (rearray.length !== config.array.length) {
21
- const message = `States lengths have changed ${rearray.length} !== ${config.array.length}. State tracking requires the same amount of function calls every render. Typically this errors is thrown when a state like function call occurs only for certain conditions or when a function is intended to be wrapped with a tag() call`;
22
- const wrapper = support.templater?.wrapper;
23
- const details = {
24
- oldStates: config.array,
25
- newStates: config.rearray,
26
- tagFunction: wrapper.parentWrap.original,
27
- };
28
- const error = new StateMismatchError(message, details);
29
- console.warn(message, details);
30
- throw error;
31
- }
32
- }
33
- delete config.rearray; // clean up any previous runs
34
- delete config.support;
35
- state.length = 0;
36
- state.push(...config.array);
37
- for (let index = state.length - 1; index >= 0; --index) {
38
- const item = state[index];
39
- item.lastValue = getStateValue(item); // set last values
40
- }
41
- config.array = [];
1
+ import { firstLetState, reLetState } from './letState.function.js';
2
+ import { runFirstState, runRestate } from './stateHandlers.js';
3
+ import { setUseMemory } from './setUse.function.js';
4
+ export function afterRender(support) {
5
+ const config = setUseMemory.stateConfig;
6
+ // TODO: only needed in development
7
+ /*
8
+ const rearray = config.rearray as unknown as State[]
9
+ if(rearray.length && rearray.length !== config.array.length) {
10
+ const message = `States lengths have changed ${rearray.length} !== ${config.array.length}. State tracking requires the same amount of function calls every render. Typically this errors is thrown when a state like function call occurs only for certain conditions or when a function is intended to be wrapped with a tag() call`
11
+ const wrapper = support.templater?.wrapper as Wrapper
12
+ const details = {
13
+ oldStates: config.array,
14
+ newStates: config.rearray,
15
+ tagFunction: wrapper.parentWrap.original,
16
+ }
17
+ const error = new StateMismatchError(message,details)
18
+ console.warn(message,details)
19
+ throw error
42
20
  }
43
- });
44
- export function getStateValue(state) {
45
- const callback = state.callback;
46
- if (!callback) {
47
- return state.defaultValue;
48
- }
49
- const [value, checkValue] = getCallbackValue(callback);
50
- if (checkValue !== StateEchoBack) {
51
- const message = badLetState + (callback ? callback.toString() : JSON.stringify(state)) + '\n';
52
- console.error(message, { state, callback, value, checkValue });
53
- throw new Error(message);
54
- }
55
- return value;
21
+ */
22
+ delete config.support;
23
+ support.state = config.array;
24
+ config.array = [];
56
25
  }
57
- export class StateEchoBack {
26
+ export function initState(support, config) {
27
+ config.handlers.handler = runFirstState;
28
+ config.handlers.letHandler = firstLetState;
29
+ config.rearray = [];
30
+ config.support = support;
58
31
  }
59
- function initState(support) {
32
+ export function reState(support, config) {
60
33
  const state = support.state;
61
- const config = setUse.memory.stateConfig;
62
- config.rearray = [];
63
- const stateLength = state?.length;
64
- if (stateLength) {
65
- for (let index = 0; index < stateLength; ++index) {
66
- getStateValue(state[index]);
67
- }
68
- config.rearray.push(...state);
69
- }
34
+ config.rearray = state;
35
+ config.handlers.handler = runRestate;
36
+ config.handlers.letHandler = reLetState;
70
37
  config.support = support;
71
38
  }
39
+ export class StateEchoBack {
40
+ }
41
+ // sends a fake value and then sets back to received value
72
42
  export function getCallbackValue(callback) {
73
43
  const oldState = callback(StateEchoBack); // get value and set to undefined
74
44
  const [value] = oldState;
@@ -1 +1 @@
1
- {"version":3,"file":"state.utils.js","sourceRoot":"","sources":["../../ts/state/state.utils.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"state.utils.js","sourceRoot":"","sources":["../../ts/state/state.utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAA;AAElE,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAA;AAE9D,OAAO,EAAE,YAAY,EAAE,MAAK,sBAAsB,CAAA;AAelD,MAAM,UAAU,WAAW,CACzB,OAA8B;IAE9B,MAAM,MAAM,GAAW,YAAY,CAAC,WAAW,CAAA;IAE/C,mCAAmC;IACnC;;;;;;;;;;;;;;MAcE;IAEF,OAAO,MAAM,CAAC,OAAO,CAAA;IAErB,OAAO,CAAC,KAAK,GAAG,MAAM,CAAC,KAAK,CAAA;IAC5B,MAAM,CAAC,KAAK,GAAG,EAAE,CAAA;AACnB,CAAC;AAED,MAAM,UAAU,SAAS,CACvB,OAA8B,EAC9B,MAAc;IAEd,MAAM,CAAC,QAAQ,CAAC,OAAO,GAAG,aAAa,CAAA;IACvC,MAAM,CAAC,QAAQ,CAAC,UAAU,GAAG,aAAoB,CAAA;IAEjD,MAAM,CAAC,OAAO,GAAG,EAAE,CAAA;IACnB,MAAM,CAAC,OAAO,GAAG,OAAO,CAAA;AAC1B,CAAC;AAED,MAAM,UAAU,OAAO,CACrB,OAA8B,EAC9B,MAAc;IAEd,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAA;IAC3B,MAAM,CAAC,OAAO,GAAG,KAAK,CAAA;IAEtB,MAAM,CAAC,QAAQ,CAAC,OAAO,GAAG,UAAiB,CAAA;IAC3C,MAAM,CAAC,QAAQ,CAAC,UAAU,GAAG,UAAiB,CAAA;IAC9C,MAAM,CAAC,OAAO,GAAG,OAAO,CAAA;AAC1B,CAAC;AAED,MAAM,OAAO,aAAa;CAAG;AAE7B,0DAA0D;AAC1D,MAAM,UAAU,gBAAgB,CAC9B,QAAwB;IAExB,MAAM,QAAQ,GAAG,QAAQ,CAAC,aAAoB,CAAC,CAAA,CAAC,iCAAiC;IACjF,MAAM,CAAC,KAAK,CAAC,GAAG,QAAQ,CAAA;IAExB,MAAM,CAAC,UAAU,CAAC,GAAG,QAAQ,CAAE,KAAK,CAAE,CAAA,CAAC,6BAA6B;IACpE,OAAO,CAAC,KAAK,EAAE,UAAU,CAAC,CAAA;AAC5B,CAAC"}
@@ -0,0 +1,2 @@
1
+ export declare function runRestate<T>(): any;
2
+ export declare function runFirstState<T>(defaultValue: T | (() => T)): T;
@@ -0,0 +1,36 @@
1
+ import { setUseMemory } from './setUse.function.js';
2
+ import { getStateValue } from './getStateValue.function.js';
3
+ import { BasicTypes } from '../tag/ValueTypes.enum.js';
4
+ export function runRestate() {
5
+ const config = setUseMemory.stateConfig;
6
+ const rearray = config.rearray;
7
+ const restate = rearray[config.array.length];
8
+ config.array.push(restate);
9
+ return restate.defaultValue;
10
+ }
11
+ export function runFirstState(defaultValue) {
12
+ const config = setUseMemory.stateConfig;
13
+ // State first time run
14
+ let initValue = defaultValue;
15
+ if (typeof (defaultValue) === BasicTypes.function) {
16
+ initValue = defaultValue();
17
+ }
18
+ // the state is actually intended to be a function
19
+ if (typeof (initValue) === BasicTypes.function) {
20
+ const original = initValue;
21
+ initValue = function initValueFun(...args) {
22
+ const result = original(...args);
23
+ return result;
24
+ };
25
+ initValue.original = original;
26
+ }
27
+ const push = {
28
+ get: function pushState() {
29
+ return getStateValue(push);
30
+ },
31
+ defaultValue: initValue,
32
+ };
33
+ config.array.push(push);
34
+ return initValue;
35
+ }
36
+ //# sourceMappingURL=stateHandlers.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"stateHandlers.js","sourceRoot":"","sources":["../../ts/state/stateHandlers.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAA;AAGnD,OAAO,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAA;AAC3D,OAAO,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAA;AAEtD,MAAM,UAAU,UAAU;IACxB,MAAM,MAAM,GAAW,YAAY,CAAC,WAAW,CAAA;IAC/C,MAAM,OAAO,GAAG,MAAM,CAAC,OAAgB,CAAA;IAEvC,MAAM,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAA;IAC5C,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;IAC1B,OAAO,OAAO,CAAC,YAAY,CAAA;AAC7B,CAAC;AAED,MAAM,UAAU,aAAa,CAC3B,YAA2B;IAE3B,MAAM,MAAM,GAAW,YAAY,CAAC,WAAW,CAAA;IAE/C,uBAAuB;IACvB,IAAI,SAAS,GAAG,YAAY,CAAA;IAE5B,IAAG,OAAM,CAAC,YAAY,CAAC,KAAK,UAAU,CAAC,QAAQ,EAAE,CAAC;QAChD,SAAS,GAAI,YAAyB,EAAE,CAAA;IAC1C,CAAC;IAED,kDAAkD;IAClD,IAAG,OAAM,CAAC,SAAS,CAAC,KAAK,UAAU,CAAC,QAAQ,EAAE,CAAC;QAC7C,MAAM,QAAQ,GAAG,SAAqB,CAAA;QAEtC,SAAS,GAAG,SAAS,YAAY,CAAC,GAAG,IAAW;YAC9C,MAAM,MAAM,GAAG,QAAQ,CAAC,GAAG,IAAI,CAAC,CAAA;YAChC,OAAO,MAAM,CAAA;QACf,CAAQ,CAEP;QAAC,SAAiB,CAAC,QAAQ,GAAG,QAAQ,CAAA;IACzC,CAAC;IAED,MAAM,IAAI,GAAuB;QAC/B,GAAG,EAAE,SAAS,SAAS;YACrB,OAAO,aAAa,CAAC,IAAI,CAAM,CAAA;QACjC,CAAC;QACD,YAAY,EAAE,SAAc;KAC7B,CAAA;IACD,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;IAEvB,OAAO,SAAc,CAAA;AACvB,CAAC"}
@@ -1,13 +1,15 @@
1
1
  import { Subject, ValueSubject } from '../subject/index.js';
2
2
  import { getSupportInCycle } from '../tag/getSupportInCycle.function.js';
3
- import { setUse } from './setUse.function.js';
3
+ import { setUseMemory } from './setUse.function.js';
4
4
  import { state } from './state.function.js';
5
5
  import { syncStates } from './syncStates.function.js';
6
6
  /** Create a Subject that on updates will sync state values to keep chained functions using latest variables */
7
7
  export function subject(value, onSubscription) {
8
- const oldestState = state(() => setUse.memory.stateConfig.array);
8
+ const oldestState = state(function subjectState() {
9
+ return setUseMemory.stateConfig.array;
10
+ });
9
11
  const nowSupport = getSupportInCycle();
10
- return state(() => {
12
+ return state(function subjectState() {
11
13
  const subject = new Subject(value, onSubscription).pipe(x => {
12
14
  syncStates(nowSupport.state, oldestState);
13
15
  return x;
@@ -16,9 +18,11 @@ export function subject(value, onSubscription) {
16
18
  });
17
19
  }
18
20
  subject._value = (value) => {
19
- const oldestState = state(() => setUse.memory.stateConfig.array);
21
+ const oldestState = state(function subjectValue() {
22
+ return setUseMemory.stateConfig.array;
23
+ });
20
24
  const nowSupport = getSupportInCycle();
21
- return state(() => {
25
+ return state(function subjectValue() {
22
26
  const subject = new ValueSubject(value).pipe(x => {
23
27
  syncStates(nowSupport.state, oldestState);
24
28
  return x;
@@ -27,7 +31,7 @@ subject._value = (value) => {
27
31
  });
28
32
  };
29
33
  function all(args) {
30
- const oldestState = state(() => setUse.memory.stateConfig.array);
34
+ const oldestState = state(() => setUseMemory.stateConfig.array);
31
35
  const nowSupport = getSupportInCycle();
32
36
  return Subject.all(args).pipe(x => {
33
37
  syncStates(nowSupport.state, oldestState);
@@ -1 +1 @@
1
- {"version":3,"file":"subject.function.js","sourceRoot":"","sources":["../../ts/state/subject.function.ts"],"names":[],"mappings":"AACA,OAAO,EAAkB,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAA;AAC3E,OAAO,EAAE,iBAAiB,EAAE,MAAM,sCAAsC,CAAA;AACxE,OAAO,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAA;AAC7C,OAAO,EAAE,KAAK,EAAE,MAAM,qBAAqB,CAAA;AAC3C,OAAO,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAA;AAErD,+GAA+G;AAC/G,MAAM,UAAU,OAAO,CACrB,KAAS,EACT,cAAkC;IAElC,MAAM,WAAW,GAAG,KAAK,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,KAAK,CAAC,CAAA;IAChE,MAAM,UAAU,GAAG,iBAAiB,EAAa,CAAA;IACjD,OAAO,KAAK,CAAC,GAAG,EAAE;QAChB,MAAM,OAAO,GAAG,IAAI,OAAO,CAAC,KAAK,EAAE,cAAc,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE;YAC1D,UAAU,CAAC,UAAU,CAAC,KAAK,EAAE,WAAW,CAAC,CAAA;YACzC,OAAO,CAAC,CAAA;QACV,CAAC,CAAC,CAAA;QACF,OAAO,OAAO,CAAA;IAChB,CAAC,CAAC,CAAA;AACJ,CAAC;AAED,OAAO,CAAC,MAAM,GAAG,CAAI,KAAQ,EAAE,EAAE;IAC/B,MAAM,WAAW,GAAG,KAAK,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,KAAK,CAAC,CAAA;IAChE,MAAM,UAAU,GAAG,iBAAiB,EAAa,CAAA;IACjD,OAAO,KAAK,CAAC,GAAG,EAAE;QAChB,MAAM,OAAO,GAAG,IAAI,YAAY,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE;YAC/C,UAAU,CAAC,UAAU,CAAC,KAAK,EAAE,WAAW,CAAC,CAAA;YACzC,OAAO,CAAC,CAAA;QACV,CAAC,CAAC,CAAA;QACF,OAAO,OAAO,CAAA;IAChB,CAAC,CAAC,CAAA;AACJ,CAAC,CAAA;AAQD,SAAS,GAAG,CAAC,IAAW;IACtB,MAAM,WAAW,GAAG,KAAK,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,KAAK,CAAC,CAAA;IAChE,MAAM,UAAU,GAAG,iBAAiB,EAAa,CAAA;IACjD,OAAO,OAAO,CAAC,GAAG,CAAC,IAAW,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE;QACvC,UAAU,CAAC,UAAU,CAAC,KAAK,EAAE,WAAW,CAAC,CAAA;QACzC,OAAO,CAAC,CAAA;IACV,CAAC,CAAC,CAAA;AACJ,CAAC;AAED,OAAO,CAAC,GAAG,GAAG,GAAG,CAAA"}
1
+ {"version":3,"file":"subject.function.js","sourceRoot":"","sources":["../../ts/state/subject.function.ts"],"names":[],"mappings":"AACA,OAAO,EAAkB,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAA;AAC3E,OAAO,EAAE,iBAAiB,EAAE,MAAM,sCAAsC,CAAA;AACxE,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAA;AACnD,OAAO,EAAE,KAAK,EAAE,MAAM,qBAAqB,CAAA;AAC3C,OAAO,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAA;AAErD,+GAA+G;AAC/G,MAAM,UAAU,OAAO,CACrB,KAAS,EACT,cAAkC;IAElC,MAAM,WAAW,GAAG,KAAK,CAAC,SAAS,YAAY;QAC7C,OAAO,YAAY,CAAC,WAAW,CAAC,KAAK,CAAA;IACvC,CAAC,CAAC,CAAA;IAEF,MAAM,UAAU,GAAG,iBAAiB,EAAa,CAAA;IACjD,OAAO,KAAK,CAAC,SAAS,YAAY;QAChC,MAAM,OAAO,GAAG,IAAI,OAAO,CAAC,KAAK,EAAE,cAAc,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE;YAC1D,UAAU,CAAC,UAAU,CAAC,KAAK,EAAE,WAAW,CAAC,CAAA;YACzC,OAAO,CAAC,CAAA;QACV,CAAC,CAAC,CAAA;QACF,OAAO,OAAO,CAAA;IAChB,CAAC,CAAC,CAAA;AACJ,CAAC;AAED,OAAO,CAAC,MAAM,GAAG,CAAI,KAAQ,EAAE,EAAE;IAC/B,MAAM,WAAW,GAAG,KAAK,CAAC,SAAS,YAAY;QAC7C,OAAO,YAAY,CAAC,WAAW,CAAC,KAAK,CAAA;IACvC,CAAC,CAAC,CAAA;IAEF,MAAM,UAAU,GAAG,iBAAiB,EAAa,CAAA;IACjD,OAAO,KAAK,CAAC,SAAS,YAAY;QAChC,MAAM,OAAO,GAAG,IAAI,YAAY,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE;YAC/C,UAAU,CAAC,UAAU,CAAC,KAAK,EAAE,WAAW,CAAC,CAAA;YACzC,OAAO,CAAC,CAAA;QACV,CAAC,CAAC,CAAA;QACF,OAAO,OAAO,CAAA;IAChB,CAAC,CAAC,CAAA;AACJ,CAAC,CAAA;AAQD,SAAS,GAAG,CAAC,IAAW;IACtB,MAAM,WAAW,GAAG,KAAK,CAAC,GAAG,EAAE,CAAC,YAAY,CAAC,WAAW,CAAC,KAAK,CAAC,CAAA;IAC/D,MAAM,UAAU,GAAG,iBAAiB,EAAa,CAAA;IACjD,OAAO,OAAO,CAAC,GAAG,CAAC,IAAW,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE;QACvC,UAAU,CAAC,UAAU,CAAC,KAAK,EAAE,WAAW,CAAC,CAAA;QACzC,OAAO,CAAC,CAAA;IACV,CAAC,CAAC,CAAA;AACJ,CAAC;AAED,OAAO,CAAC,GAAG,GAAG,GAAG,CAAA"}
@@ -1,2 +1,2 @@
1
- import { State } from './state.utils';
1
+ import { State } from './state.types.js';
2
2
  export declare function syncStates(stateFrom: State, stateTo: State): void;
@@ -2,11 +2,14 @@ export function syncStates(stateFrom, stateTo) {
2
2
  for (let index = stateFrom.length - 1; index >= 0; --index) {
3
3
  const state = stateFrom[index];
4
4
  const fromValue = state.get();
5
- const callback = stateTo[index].callback;
6
- if (callback) {
7
- callback(fromValue); // set the value
8
- }
9
- stateTo[index].lastValue = fromValue; // record the value
5
+ const s = stateTo[index];
6
+ setState(s, fromValue);
7
+ }
8
+ }
9
+ function setState(s, fromValue) {
10
+ const callback = s.callback;
11
+ if (callback) {
12
+ callback(fromValue); // set the value
10
13
  }
11
14
  }
12
15
  //# sourceMappingURL=syncStates.function.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"syncStates.function.js","sourceRoot":"","sources":["../../ts/state/syncStates.function.ts"],"names":[],"mappings":"AAEA,MAAM,UAAU,UAAU,CACxB,SAAgB,EAChB,OAAc;IAEd,KAAK,IAAI,KAAK,GAAG,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,KAAK,IAAI,CAAC,EAAE,EAAE,KAAK,EAAE,CAAC;QAC3D,MAAM,KAAK,GAAG,SAAS,CAAC,KAAK,CAAC,CAAA;QAC9B,MAAM,SAAS,GAAG,KAAK,CAAC,GAAG,EAAE,CAAA;QAC7B,MAAM,QAAQ,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAA;QAExC,IAAG,QAAQ,EAAE,CAAC;YACZ,QAAQ,CAAE,SAAS,CAAE,CAAA,CAAC,gBAAgB;QACxC,CAAC;QAED,OAAO,CAAC,KAAK,CAAC,CAAC,SAAS,GAAG,SAAS,CAAA,CAAC,mBAAmB;IAC1D,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"syncStates.function.js","sourceRoot":"","sources":["../../ts/state/syncStates.function.ts"],"names":[],"mappings":"AAEA,MAAM,UAAU,UAAU,CACxB,SAAgB,EAChB,OAAc;IAEd,KAAK,IAAI,KAAK,GAAG,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,KAAK,IAAI,CAAC,EAAE,EAAE,KAAK,EAAE,CAAC;QAC3D,MAAM,KAAK,GAAG,SAAS,CAAC,KAAK,CAAC,CAAA;QAC9B,MAAM,SAAS,GAAG,KAAK,CAAC,GAAG,EAAE,CAAA;QAC7B,MAAM,CAAC,GAAG,OAAO,CAAC,KAAK,CAAC,CAAA;QACxB,QAAQ,CAAC,CAAC,EAAE,SAAS,CAAC,CAAA;IACxB,CAAC;AACH,CAAC;AAED,SAAS,QAAQ,CACf,CAAuB,EACvB,SAAc;IAEd,MAAM,QAAQ,GAAG,CAAC,CAAC,QAAQ,CAAA;IAE3B,IAAG,QAAQ,EAAE,CAAC;QACZ,QAAQ,CAAE,SAAS,CAAE,CAAA,CAAC,gBAAgB;IACxC,CAAC;AACH,CAAC"}
@@ -1,6 +1,6 @@
1
1
  import { ValueSubject } from '../subject/index.js';
2
2
  import { getSupportInCycle } from '../tag/getSupportInCycle.function.js';
3
- import { setUse } from './setUse.function.js';
3
+ import { setUseMemory } from './setUse.function.js';
4
4
  import { state } from './state.function.js';
5
5
  import { syncStates } from './syncStates.function.js';
6
6
  /**
@@ -28,15 +28,15 @@ function newWatch(setup) {
28
28
  * @param param2
29
29
  * @returns
30
30
  */
31
- const setupWatch = (currentValues, callback, { init, before = () => true, final = defaultFinally, } = {}) => {
32
- let previous = state({
31
+ const setupWatch = (currentValues, callback, { init, before, final = defaultFinally, } = {}) => {
32
+ const previous = state({
33
33
  pastResult: undefined,
34
34
  values: undefined,
35
35
  });
36
36
  const previousValues = previous.values;
37
37
  // First time running watch?
38
38
  if (previousValues === undefined) {
39
- if (!before(currentValues)) {
39
+ if (before && !before(currentValues)) {
40
40
  previous.values = currentValues;
41
41
  return previous.pastResult; // do not continue
42
42
  }
@@ -50,7 +50,7 @@ const setupWatch = (currentValues, callback, { init, before = () => true, final
50
50
  if (allExact) {
51
51
  return previous.pastResult;
52
52
  }
53
- if (!before(currentValues)) {
53
+ if (before && !before(currentValues)) {
54
54
  previous.values = currentValues;
55
55
  return previous.pastResult; // do not continue
56
56
  }
@@ -78,7 +78,7 @@ function defineOnMethod(getWatch, attachTo) {
78
78
  const nowSupport = getSupportInCycle();
79
79
  const setTo = callback(currentValues, previousValues);
80
80
  if (nowSupport !== firstSupport) {
81
- const newestState = setUse.memory.stateConfig.array;
81
+ const newestState = setUseMemory.stateConfig.array;
82
82
  syncStates(newestState, firstSupport.state);
83
83
  }
84
84
  subject.next(setTo);
@@ -1 +1 @@
1
- {"version":3,"file":"watch.function.js","sourceRoot":"","sources":["../../ts/state/watch.function.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"watch.function.js","sourceRoot":"","sources":["../../ts/state/watch.function.ts"],"names":[],"mappings":"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"}
@@ -7,7 +7,6 @@ export declare class Subject<T> implements SubjectLike<T> {
7
7
  isSubject: boolean;
8
8
  subscribers: Subscription<T>[];
9
9
  subscribeWith?: (x: SubjectSubscriber<T>) => Subscription<T>;
10
- _value?: T;
11
10
  constructor(value?: T | undefined, onSubscription?: OnSubscription<T> | undefined);
12
11
  subscribe(callback: SubjectSubscriber<T>): Subscription<T> | Subscription<any>;
13
12
  next(value?: any): void;
@@ -36,4 +35,12 @@ export declare class Subject<T> implements SubjectLike<T> {
36
35
  static all<A>(args: [Subject<A> | A]): Subject<[A]>;
37
36
  static globalSubCount$: Subject<number>;
38
37
  }
39
- export declare function defineValueOn(subject: Subject<any>): void;
38
+ export declare class Subjective<T> extends Subject<T> {
39
+ value?: T | undefined;
40
+ onSubscription?: OnSubscription<T> | undefined;
41
+ _value?: T;
42
+ constructor(value?: T | undefined, onSubscription?: OnSubscription<T> | undefined);
43
+ next(value?: any): void;
44
+ emit(): void;
45
+ }
46
+ export declare function defineValueOn(subject: Subjective<any>): void;