taggedjs 2.5.23 → 2.6.1

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 (386) hide show
  1. package/bundle.js +1 -1
  2. package/bundle.js.gz +0 -0
  3. package/bundle.js.map +1 -1
  4. package/bundle.js.map.gz +0 -0
  5. package/js/RegularValue.type.d.ts +1 -0
  6. package/js/RegularValue.type.js +2 -0
  7. package/js/RegularValue.type.js.map +1 -0
  8. package/js/alterProp.function.d.ts +8 -8
  9. package/js/alterProp.function.js +97 -64
  10. package/js/alterProp.function.js.map +1 -1
  11. package/js/buildClones.function.d.ts +2 -0
  12. package/js/buildClones.function.js +12 -0
  13. package/js/buildClones.function.js.map +1 -0
  14. package/js/deepFunctions.d.ts +2 -2
  15. package/js/deepFunctions.js +40 -26
  16. package/js/deepFunctions.js.map +1 -1
  17. package/js/index.d.ts +9 -13
  18. package/js/index.js +9 -14
  19. package/js/index.js.map +1 -1
  20. package/js/interpolations/afterInterpolateElement.function.d.ts +3 -3
  21. package/js/interpolations/afterInterpolateElement.function.js +6 -5
  22. package/js/interpolations/afterInterpolateElement.function.js.map +1 -1
  23. package/js/interpolations/attributes/ElementTargetEvent.interface.d.ts +6 -0
  24. package/js/interpolations/attributes/ElementTargetEvent.interface.js +2 -0
  25. package/js/interpolations/attributes/ElementTargetEvent.interface.js.map +1 -0
  26. package/js/interpolations/attributes/addSupportEventListener.function.d.ts +3 -0
  27. package/js/interpolations/attributes/addSupportEventListener.function.js +42 -0
  28. package/js/interpolations/attributes/addSupportEventListener.function.js.map +1 -0
  29. package/js/interpolations/attributes/bindSubjectCallback.function.d.ts +13 -0
  30. package/js/interpolations/attributes/bindSubjectCallback.function.js +74 -0
  31. package/js/interpolations/attributes/bindSubjectCallback.function.js.map +1 -0
  32. package/js/interpolations/attributes/elementInitCheck.d.ts +2 -0
  33. package/js/interpolations/attributes/elementInitCheck.js +18 -0
  34. package/js/interpolations/attributes/elementInitCheck.js.map +1 -0
  35. package/js/interpolations/attributes/getUpTags.function.d.ts +2 -0
  36. package/js/interpolations/attributes/getUpTags.function.js +35 -0
  37. package/js/interpolations/attributes/getUpTags.function.js.map +1 -0
  38. package/js/interpolations/attributes/howToSetInputValue.function.d.ts +2 -0
  39. package/js/interpolations/attributes/howToSetInputValue.function.js +11 -0
  40. package/js/interpolations/attributes/howToSetInputValue.function.js.map +1 -0
  41. package/js/interpolations/attributes/isSpecialAttribute.function.d.ts +3 -0
  42. package/js/interpolations/attributes/isSpecialAttribute.function.js +26 -0
  43. package/js/interpolations/attributes/isSpecialAttribute.function.js.map +1 -0
  44. package/js/interpolations/attributes/processAttribute.function.d.ts +19 -0
  45. package/js/interpolations/attributes/processAttribute.function.js +175 -0
  46. package/js/interpolations/attributes/processAttribute.function.js.map +1 -0
  47. package/js/interpolations/attributes/processAttributeCallback.function.d.ts +3 -0
  48. package/js/interpolations/attributes/processAttributeCallback.function.js +12 -0
  49. package/js/interpolations/attributes/processAttributeCallback.function.js.map +1 -0
  50. package/js/interpolations/attributes/processNameValueAttribute.function.d.ts +7 -0
  51. package/js/interpolations/attributes/processNameValueAttribute.function.js +24 -0
  52. package/js/interpolations/attributes/processNameValueAttribute.function.js.map +1 -0
  53. package/js/interpolations/attributes/renderTagArray.function.d.ts +2 -0
  54. package/js/interpolations/attributes/renderTagArray.function.js +17 -0
  55. package/js/interpolations/attributes/renderTagArray.function.js.map +1 -0
  56. package/js/interpolations/attributes/specialAttribute.d.ts +2 -0
  57. package/js/interpolations/attributes/specialAttribute.js +44 -0
  58. package/js/interpolations/attributes/specialAttribute.js.map +1 -0
  59. package/js/interpolations/bindSubjectCallback.function.d.ts +12 -5
  60. package/js/interpolations/bindSubjectCallback.function.js +48 -40
  61. package/js/interpolations/bindSubjectCallback.function.js.map +1 -1
  62. package/js/interpolations/index.d.ts +1 -0
  63. package/js/interpolations/index.js +2 -0
  64. package/js/interpolations/index.js.map +1 -0
  65. package/js/interpolations/interpolateAttributes.d.ts +1 -3
  66. package/js/interpolations/interpolateAttributes.js +3 -19
  67. package/js/interpolations/interpolateAttributes.js.map +1 -1
  68. package/js/interpolations/interpolateContentTemplates.d.ts +3 -7
  69. package/js/interpolations/interpolateContentTemplates.js +16 -12
  70. package/js/interpolations/interpolateContentTemplates.js.map +1 -1
  71. package/js/interpolations/interpolateElement.d.ts +4 -6
  72. package/js/interpolations/interpolateElement.js +4 -13
  73. package/js/interpolations/interpolateElement.js.map +1 -1
  74. package/js/interpolations/interpolateTemplate.d.ts +6 -12
  75. package/js/interpolations/interpolateTemplate.js +1 -95
  76. package/js/interpolations/interpolateTemplate.js.map +1 -1
  77. package/js/interpolations/interpolations.d.ts +0 -3
  78. package/js/interpolations/interpolations.js +1 -17
  79. package/js/interpolations/interpolations.js.map +1 -1
  80. package/js/interpolations/optimizers/LikeObjectElement.type.d.ts +15 -0
  81. package/js/interpolations/optimizers/LikeObjectElement.type.js +2 -0
  82. package/js/interpolations/optimizers/LikeObjectElement.type.js.map +1 -0
  83. package/js/interpolations/optimizers/ObjectNode.types.d.ts +38 -0
  84. package/js/interpolations/optimizers/ObjectNode.types.js +2 -0
  85. package/js/interpolations/optimizers/ObjectNode.types.js.map +1 -0
  86. package/js/interpolations/optimizers/attachDomElements.function.d.ts +13 -0
  87. package/js/interpolations/optimizers/attachDomElements.function.js +107 -0
  88. package/js/interpolations/optimizers/attachDomElements.function.js.map +1 -0
  89. package/js/interpolations/optimizers/exchangeParsedForValues.function.d.ts +15 -0
  90. package/js/interpolations/optimizers/exchangeParsedForValues.function.js +2 -0
  91. package/js/interpolations/optimizers/exchangeParsedForValues.function.js.map +1 -0
  92. package/js/interpolations/optimizers/htmlInterpolationToDomMeta.function.d.ts +12 -0
  93. package/js/interpolations/optimizers/htmlInterpolationToDomMeta.function.js +201 -0
  94. package/js/interpolations/optimizers/htmlInterpolationToDomMeta.function.js.map +1 -0
  95. package/js/interpolations/optimizers/metaAttachDomElements.function.d.ts +12 -0
  96. package/js/interpolations/optimizers/metaAttachDomElements.function.js +89 -0
  97. package/js/interpolations/optimizers/metaAttachDomElements.function.js.map +1 -0
  98. package/js/interpolations/optimizers/replacePlaceholders.function.d.ts +3 -0
  99. package/js/interpolations/optimizers/replacePlaceholders.function.js +71 -0
  100. package/js/interpolations/optimizers/replacePlaceholders.function.js.map +1 -0
  101. package/js/interpolations/optimizers/restorePlaceholders.function.d.ts +3 -0
  102. package/js/interpolations/optimizers/restorePlaceholders.function.js +40 -0
  103. package/js/interpolations/optimizers/restorePlaceholders.function.js.map +1 -0
  104. package/js/interpolations/optimizers/test.function.d.ts +10 -0
  105. package/js/interpolations/optimizers/test.function.js +19 -0
  106. package/js/interpolations/optimizers/test.function.js.map +1 -0
  107. package/js/interpolations/processAttribute.function.d.ts +14 -4
  108. package/js/interpolations/processAttribute.function.js +129 -88
  109. package/js/interpolations/processAttribute.function.js.map +1 -1
  110. package/js/interpolations/processSubscriptionUpdate.function.d.ts +4 -0
  111. package/js/interpolations/processSubscriptionUpdate.function.js +14 -0
  112. package/js/interpolations/processSubscriptionUpdate.function.js.map +1 -0
  113. package/js/interpolations/scanTextAreaValue.function.d.ts +2 -2
  114. package/js/interpolations/scanTextAreaValue.function.js +11 -6
  115. package/js/interpolations/scanTextAreaValue.function.js.map +1 -1
  116. package/js/interpolations/specialAttribute.js +20 -9
  117. package/js/interpolations/specialAttribute.js.map +1 -1
  118. package/js/interpolations/subscribeToTemplate.function.d.ts +13 -0
  119. package/js/interpolations/subscribeToTemplate.function.js +27 -0
  120. package/js/interpolations/subscribeToTemplate.function.js.map +1 -0
  121. package/js/isInstance.d.ts +10 -6
  122. package/js/isInstance.js +32 -18
  123. package/js/isInstance.js.map +1 -1
  124. package/js/render.js +17 -4
  125. package/js/render.js.map +1 -1
  126. package/js/state/callbackMaker.function.d.ts +1 -1
  127. package/js/state/callbackMaker.function.js +25 -35
  128. package/js/state/callbackMaker.function.js.map +1 -1
  129. package/js/state/callbackStateUpdate.function.d.ts +3 -3
  130. package/js/state/callbackStateUpdate.function.js +9 -8
  131. package/js/state/callbackStateUpdate.function.js.map +1 -1
  132. package/js/state/children.js +5 -5
  133. package/js/state/children.js.map +1 -1
  134. package/js/state/getCallbackValue.function.d.ts +4 -0
  135. package/js/state/getCallbackValue.function.js +10 -0
  136. package/js/state/getCallbackValue.function.js.map +1 -0
  137. package/js/state/getStateValue.function.d.ts +2 -0
  138. package/js/state/getStateValue.function.js +24 -0
  139. package/js/state/getStateValue.function.js.map +1 -0
  140. package/js/state/handleProviderChanges.function.d.ts +8 -2
  141. package/js/state/handleProviderChanges.function.js +9 -20
  142. package/js/state/handleProviderChanges.function.js.map +1 -1
  143. package/js/state/index.d.ts +2 -3
  144. package/js/state/index.js +2 -2
  145. package/js/state/index.js.map +1 -1
  146. package/js/state/letState.function.d.ts +2 -0
  147. package/js/state/letState.function.js +28 -28
  148. package/js/state/letState.function.js.map +1 -1
  149. package/js/state/onDestroy.js +4 -3
  150. package/js/state/onDestroy.js.map +1 -1
  151. package/js/state/providers.d.ts +3 -4
  152. package/js/state/providers.js +26 -21
  153. package/js/state/providers.js.map +1 -1
  154. package/js/state/providersChangeCheck.function.d.ts +2 -2
  155. package/js/state/providersChangeCheck.function.js +11 -8
  156. package/js/state/providersChangeCheck.function.js.map +1 -1
  157. package/js/state/setUse.function.d.ts +7 -17
  158. package/js/state/setUse.function.js +12 -13
  159. package/js/state/setUse.function.js.map +1 -1
  160. package/js/state/state.function.js +2 -47
  161. package/js/state/state.function.js.map +1 -1
  162. package/js/state/state.types.d.ts +8 -0
  163. package/js/state/state.types.js +2 -0
  164. package/js/state/state.types.js.map +1 -0
  165. package/js/state/state.utils.d.ts +13 -12
  166. package/js/state/state.utils.js +37 -68
  167. package/js/state/state.utils.js.map +1 -1
  168. package/js/state/stateHandlers.d.ts +2 -0
  169. package/js/state/stateHandlers.js +36 -0
  170. package/js/state/stateHandlers.js.map +1 -0
  171. package/js/state/subject.function.js +16 -12
  172. package/js/state/subject.function.js.map +1 -1
  173. package/js/state/syncStates.function.d.ts +1 -1
  174. package/js/state/syncStates.function.js +8 -5
  175. package/js/state/syncStates.function.js.map +1 -1
  176. package/js/state/watch.function.js +9 -9
  177. package/js/state/watch.function.js.map +1 -1
  178. package/js/subject/Subject.class.d.ts +11 -4
  179. package/js/subject/Subject.class.js +39 -20
  180. package/js/subject/Subject.class.js.map +1 -1
  181. package/js/subject/ValueSubject.d.ts +5 -0
  182. package/js/subject/ValueSubject.js +15 -1
  183. package/js/subject/ValueSubject.js.map +1 -1
  184. package/js/subject/combineLatest.function.js +5 -3
  185. package/js/subject/combineLatest.function.js.map +1 -1
  186. package/js/subject/subject.utils.js +17 -14
  187. package/js/subject/subject.utils.js.map +1 -1
  188. package/js/subject/will.functions.js.map +1 -1
  189. package/js/subject.types.d.ts +4 -16
  190. package/js/tag/Context.types.d.ts +21 -0
  191. package/js/tag/Context.types.js +2 -0
  192. package/js/tag/Context.types.js.map +1 -0
  193. package/js/tag/Support.class.d.ts +34 -0
  194. package/js/tag/Support.class.js +41 -0
  195. package/js/tag/Support.class.js.map +1 -0
  196. package/js/tag/Tag.class.d.ts +36 -23
  197. package/js/tag/Tag.class.js +40 -24
  198. package/js/tag/Tag.class.js.map +1 -1
  199. package/js/tag/TagSupport.class.d.ts +1 -0
  200. package/js/tag/TagSupport.class.js +19 -23
  201. package/js/tag/TagSupport.class.js.map +1 -1
  202. package/js/tag/TemplaterResult.class.d.ts +34 -33
  203. package/js/tag/TemplaterResult.class.js +12 -25
  204. package/js/tag/TemplaterResult.class.js.map +1 -1
  205. package/js/tag/ValueTypes.enum.d.ts +25 -9
  206. package/js/tag/ValueTypes.enum.js +29 -14
  207. package/js/tag/ValueTypes.enum.js.map +1 -1
  208. package/js/tag/buildBeforeElement.function.d.ts +10 -0
  209. package/js/tag/buildBeforeElement.function.js +47 -0
  210. package/js/tag/buildBeforeElement.function.js.map +1 -0
  211. package/js/tag/buildSupportContext.function.d.ts +3 -0
  212. package/js/tag/buildSupportContext.function.js +15 -0
  213. package/js/tag/buildSupportContext.function.js.map +1 -0
  214. package/js/tag/checkDestroyPrevious.function.d.ts +5 -10
  215. package/js/tag/checkDestroyPrevious.function.js +52 -92
  216. package/js/tag/checkDestroyPrevious.function.js.map +1 -1
  217. package/js/tag/clonePropsBy.function.d.ts +6 -0
  218. package/js/tag/clonePropsBy.function.js +27 -0
  219. package/js/tag/clonePropsBy.function.js.map +1 -0
  220. package/js/tag/cloneValueArray.function.d.ts +4 -2
  221. package/js/tag/cloneValueArray.function.js +17 -11
  222. package/js/tag/cloneValueArray.function.js.map +1 -1
  223. package/js/tag/destroy.support.d.ts +7 -5
  224. package/js/tag/destroy.support.js +44 -7
  225. package/js/tag/destroy.support.js.map +1 -1
  226. package/js/tag/destroySupport.function.d.ts +2 -0
  227. package/js/tag/destroySupport.function.js +21 -0
  228. package/js/tag/destroySupport.function.js.map +1 -0
  229. package/js/tag/destroyTag.function.d.ts +2 -2
  230. package/js/tag/destroyTag.function.js +6 -5
  231. package/js/tag/destroyTag.function.js.map +1 -1
  232. package/js/tag/domMetaCollector.d.ts +3 -0
  233. package/js/tag/domMetaCollector.js +30 -0
  234. package/js/tag/domMetaCollector.js.map +1 -0
  235. package/js/tag/elementDestroyCheck.function.js +4 -7
  236. package/js/tag/elementDestroyCheck.function.js.map +1 -1
  237. package/js/tag/executeWrap.function.d.ts +5 -0
  238. package/js/tag/executeWrap.function.js +23 -0
  239. package/js/tag/executeWrap.function.js.map +1 -0
  240. package/js/tag/getChildTagsToDestroy.function.d.ts +8 -0
  241. package/js/tag/getChildTagsToDestroy.function.js +47 -0
  242. package/js/tag/getChildTagsToDestroy.function.js.map +1 -0
  243. package/js/tag/getStringsId.function.d.ts +1 -0
  244. package/js/tag/getStringsId.function.js +6 -0
  245. package/js/tag/getStringsId.function.js.map +1 -0
  246. package/js/tag/getSupportInCycle.function.d.ts +1 -1
  247. package/js/tag/getSupportInCycle.function.js +2 -2
  248. package/js/tag/getSupportInCycle.function.js.map +1 -1
  249. package/js/tag/getTagWrap.function.d.ts +2 -0
  250. package/js/tag/getTagWrap.function.js +28 -63
  251. package/js/tag/getTagWrap.function.js.map +1 -1
  252. package/js/tag/getValueType.function.d.ts +3 -2
  253. package/js/tag/getValueType.function.js +20 -28
  254. package/js/tag/getValueType.function.js.map +1 -1
  255. package/js/tag/hasPropChanges.function.d.ts +1 -1
  256. package/js/tag/hasPropChanges.function.js +9 -18
  257. package/js/tag/hasPropChanges.function.js.map +1 -1
  258. package/js/tag/hasSupportChanged.function.d.ts +8 -0
  259. package/js/tag/hasSupportChanged.function.js +146 -0
  260. package/js/tag/hasSupportChanged.function.js.map +1 -0
  261. package/js/tag/hasTagSupportChanged.function.js +15 -2
  262. package/js/tag/hasTagSupportChanged.function.js.map +1 -1
  263. package/js/tag/html.d.ts +7 -4
  264. package/js/tag/html.js +11 -2
  265. package/js/tag/html.js.map +1 -1
  266. package/js/tag/index.d.ts +14 -2
  267. package/js/tag/index.js +14 -2
  268. package/js/tag/index.js.map +1 -1
  269. package/js/tag/isLastRunMatched.function.d.ts +2 -0
  270. package/js/tag/isLastRunMatched.function.js +14 -0
  271. package/js/tag/isLastRunMatched.function.js.map +1 -0
  272. package/js/tag/isLikeTags.function.d.ts +5 -4
  273. package/js/tag/isLikeTags.function.js +33 -12
  274. package/js/tag/isLikeTags.function.js.map +1 -1
  275. package/js/tag/key.d.ts +6 -0
  276. package/js/tag/key.js +9 -0
  277. package/js/tag/key.js.map +1 -0
  278. package/js/tag/kidsToTagArraySubject.function.d.ts +2 -2
  279. package/js/tag/kidsToTagArraySubject.function.js +3 -2
  280. package/js/tag/kidsToTagArraySubject.function.js.map +1 -1
  281. package/js/tag/paint.function.d.ts +15 -0
  282. package/js/tag/paint.function.js +42 -0
  283. package/js/tag/paint.function.js.map +1 -0
  284. package/js/tag/processUpdateAttrContext.function.d.ts +3 -0
  285. package/js/tag/processUpdateAttrContext.function.js +14 -0
  286. package/js/tag/processUpdateAttrContext.function.js.map +1 -0
  287. package/js/tag/processUpdateContext.function.d.ts +5 -0
  288. package/js/tag/processUpdateContext.function.js +35 -0
  289. package/js/tag/processUpdateContext.function.js.map +1 -0
  290. package/js/tag/render/destroyUnlikeTags.function.d.ts +3 -5
  291. package/js/tag/render/destroyUnlikeTags.function.js +2 -14
  292. package/js/tag/render/destroyUnlikeTags.function.js.map +1 -1
  293. package/js/tag/render/renderExistingTag.function.d.ts +5 -7
  294. package/js/tag/render/renderExistingTag.function.js +12 -25
  295. package/js/tag/render/renderExistingTag.function.js.map +1 -1
  296. package/js/tag/render/renderSubjectComponent.function.d.ts +2 -2
  297. package/js/tag/render/renderSubjectComponent.function.js +16 -5
  298. package/js/tag/render/renderSubjectComponent.function.js.map +1 -1
  299. package/js/tag/render/renderSupport.function.d.ts +9 -0
  300. package/js/tag/render/renderSupport.function.js +79 -0
  301. package/js/tag/render/renderSupport.function.js.map +1 -0
  302. package/js/tag/render/renderTagOnly.function.d.ts +4 -3
  303. package/js/tag/render/renderTagOnly.function.js +36 -28
  304. package/js/tag/render/renderTagOnly.function.js.map +1 -1
  305. package/js/tag/render/renderWithSupport.function.d.ts +9 -5
  306. package/js/tag/render/renderWithSupport.function.js +43 -8
  307. package/js/tag/render/renderWithSupport.function.js.map +1 -1
  308. package/js/tag/render/softDestroySupport.function.d.ts +2 -3
  309. package/js/tag/render/softDestroySupport.function.js +23 -16
  310. package/js/tag/render/softDestroySupport.function.js.map +1 -1
  311. package/js/tag/setTagPlaceholder.function.js +2 -1
  312. package/js/tag/setTagPlaceholder.function.js.map +1 -1
  313. package/js/tag/smartRemoveKids.function.d.ts +3 -0
  314. package/js/tag/smartRemoveKids.function.js +80 -0
  315. package/js/tag/smartRemoveKids.function.js.map +1 -0
  316. package/js/tag/tag.d.ts +16 -3
  317. package/js/tag/tag.js +49 -16
  318. package/js/tag/tag.js.map +1 -1
  319. package/js/tag/tag.types.d.ts +6 -4
  320. package/js/tag/tag.utils.d.ts +18 -12
  321. package/js/tag/tag.utils.js.map +1 -1
  322. package/js/tag/tagElement.d.ts +11 -5
  323. package/js/tag/tagElement.js +119 -41
  324. package/js/tag/tagElement.js.map +1 -1
  325. package/js/tag/tagRunner.d.ts +3 -5
  326. package/js/tag/tagRunner.js +18 -40
  327. package/js/tag/tagRunner.js.map +1 -1
  328. package/js/tag/textNode.d.ts +4 -0
  329. package/js/tag/textNode.js +9 -0
  330. package/js/tag/textNode.js.map +1 -0
  331. package/js/tag/update/TagJsSubject.class.d.ts +2 -0
  332. package/js/tag/update/TagJsSubject.class.js +16 -0
  333. package/js/tag/update/TagJsSubject.class.js.map +1 -0
  334. package/js/tag/update/afterChildrenBuilt.function.d.ts +6 -0
  335. package/js/tag/update/afterChildrenBuilt.function.js +25 -0
  336. package/js/tag/update/afterChildrenBuilt.function.js.map +1 -0
  337. package/js/tag/update/getNewGlobal.function.d.ts +2 -0
  338. package/js/tag/update/getNewGlobal.function.js +7 -0
  339. package/js/tag/update/getNewGlobal.function.js.map +1 -0
  340. package/js/tag/update/oneRenderToSupport.function.d.ts +4 -0
  341. package/js/tag/update/oneRenderToSupport.function.js +19 -0
  342. package/js/tag/update/oneRenderToSupport.function.js.map +1 -0
  343. package/js/tag/update/processFirstSubject.utils.d.ts +6 -12
  344. package/js/tag/update/processFirstSubjectComponent.function.d.ts +6 -0
  345. package/js/tag/update/processFirstSubjectComponent.function.js +36 -0
  346. package/js/tag/update/processFirstSubjectComponent.function.js.map +1 -0
  347. package/js/tag/update/processFirstSubjectValue.function.d.ts +9 -8
  348. package/js/tag/update/processFirstSubjectValue.function.js +75 -37
  349. package/js/tag/update/processFirstSubjectValue.function.js.map +1 -1
  350. package/js/tag/update/processNewValue.function.d.ts +5 -3
  351. package/js/tag/update/processNewValue.function.js +28 -25
  352. package/js/tag/update/processNewValue.function.js.map +1 -1
  353. package/js/tag/update/processRegularValue.function.d.ts +4 -6
  354. package/js/tag/update/processRegularValue.function.js +10 -23
  355. package/js/tag/update/processRegularValue.function.js.map +1 -1
  356. package/js/tag/update/processSubjectComponent.function.d.ts +4 -6
  357. package/js/tag/update/processSubjectComponent.function.js +20 -22
  358. package/js/tag/update/processSubjectComponent.function.js.map +1 -1
  359. package/js/tag/update/processTag.function.d.ts +15 -11
  360. package/js/tag/update/processTag.function.js +56 -35
  361. package/js/tag/update/processTag.function.js.map +1 -1
  362. package/js/tag/update/processTagArray.d.ts +7 -20
  363. package/js/tag/update/processTagArray.js +118 -137
  364. package/js/tag/update/processTagArray.js.map +1 -1
  365. package/js/tag/update/processTagResult.function.d.ts +4 -10
  366. package/js/tag/update/processTagResult.function.js +33 -26
  367. package/js/tag/update/processTagResult.function.js.map +1 -1
  368. package/js/tag/update/updateContextItem.function.d.ts +6 -2
  369. package/js/tag/update/updateContextItem.function.js +11 -8
  370. package/js/tag/update/updateContextItem.function.js.map +1 -1
  371. package/js/tag/update/updateExistingTagComponent.function.d.ts +8 -6
  372. package/js/tag/update/updateExistingTagComponent.function.js +96 -126
  373. package/js/tag/update/updateExistingTagComponent.function.js.map +1 -1
  374. package/js/tag/update/updateExistingValue.function.d.ts +5 -4
  375. package/js/tag/update/updateExistingValue.function.js +82 -112
  376. package/js/tag/update/updateExistingValue.function.js.map +1 -1
  377. package/js/tag/update/validateTemplater.function.d.ts +2 -0
  378. package/js/tag/update/validateTemplater.function.js +17 -0
  379. package/js/tag/update/validateTemplater.function.js.map +1 -0
  380. package/js/tag/updateSupportBy.function.d.ts +3 -0
  381. package/js/tag/updateSupportBy.function.js +18 -0
  382. package/js/tag/updateSupportBy.function.js.map +1 -0
  383. package/js/updateBeforeTemplate.function.d.ts +2 -3
  384. package/js/updateBeforeTemplate.function.js +11 -8
  385. package/js/updateBeforeTemplate.function.js.map +1 -1
  386. package/package.json +1 -1
package/js/render.js CHANGED
@@ -5,14 +5,27 @@ export function buildClones(temporary, insertBefore) {
5
5
  const fragment = document.createDocumentFragment();
6
6
  while (nextSibling) {
7
7
  const nextNextSibling = nextSibling.nextSibling;
8
- clones.push(nextSibling);
9
8
  fragment.appendChild(nextSibling);
9
+ // ??? new
10
+ /*
11
+ if(nextSibling.nodeName === 'TEMPLATE') {
12
+ const hasAttribute = (nextSibling as any).hasAttribute
13
+ if(hasAttribute && (nextSibling as any).hasAttribute('interpolate')) {
14
+ nextSibling = nextNextSibling
15
+ continue // we don't record position keepers
16
+ }
17
+ }
18
+ */
19
+ clones.push(nextSibling);
10
20
  nextSibling = nextNextSibling;
11
21
  }
12
- if (insertBefore.parentNode) {
13
- const parentNode = insertBefore.parentNode;
14
- parentNode.insertBefore(fragment, insertBefore);
22
+ // swap out our template for an empty-string placeholder
23
+ /*
24
+ if(insertBefore.parentNode) {
25
+ const parentNode = insertBefore.parentNode as ParentNode
26
+ parentNode.insertBefore(fragment, insertBefore)
15
27
  }
28
+ */
16
29
  return clones;
17
30
  }
18
31
  //# sourceMappingURL=render.js.map
package/js/render.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"render.js","sourceRoot":"","sources":["../ts/render.ts"],"names":[],"mappings":"AAEA,MAAM,UAAU,WAAW,CACzB,SAA2B,EAC3B,YAA0B;IAE1B,MAAM,MAAM,GAAG,EAAE,CAAA;IACjB,MAAM,QAAQ,GAAG,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAwB,CAAA;IAC7D,IAAI,WAAW,GAAG,QAAQ,CAAC,OAAO,CAAC,UAAU,CAAA;IAC7C,MAAM,QAAQ,GAAG,QAAQ,CAAC,sBAAsB,EAAE,CAAA;IAElD,OAAO,WAAW,EAAE,CAAC;QACnB,MAAM,eAAe,GAAG,WAAW,CAAC,WAAwB,CAAA;QAC5D,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,CAAA;QACxB,QAAQ,CAAC,WAAW,CAAC,WAAW,CAAC,CAAA;QACjC,WAAW,GAAG,eAAe,CAAA;IAC/B,CAAC;IAED,IAAG,YAAY,CAAC,UAAU,EAAE,CAAC;QAC3B,MAAM,UAAU,GAAG,YAAY,CAAC,UAAwB,CAAA;QACxD,UAAU,CAAC,YAAY,CAAC,QAAQ,EAAE,YAAY,CAAC,CAAA;IACjD,CAAC;IAED,OAAO,MAAM,CAAA;AACf,CAAC"}
1
+ {"version":3,"file":"render.js","sourceRoot":"","sources":["../ts/render.ts"],"names":[],"mappings":"AAEA,MAAM,UAAU,WAAW,CACzB,SAA2B,EAC3B,YAA0B;IAE1B,MAAM,MAAM,GAAgB,EAAE,CAAA;IAC9B,MAAM,QAAQ,GAAG,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAwB,CAAA;IAC7D,IAAI,WAAW,GAAG,QAAQ,CAAC,OAAO,CAAC,UAAU,CAAA;IAC7C,MAAM,QAAQ,GAAG,QAAQ,CAAC,sBAAsB,EAAE,CAAA;IAElD,OAAO,WAAW,EAAE,CAAC;QACnB,MAAM,eAAe,GAAG,WAAW,CAAC,WAAwB,CAAA;QAC5D,QAAQ,CAAC,WAAW,CAAC,WAAW,CAAC,CAAA;QAEjC,UAAU;QACV;;;;;;;;UAQE;QAEF,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,CAAA;QACxB,WAAW,GAAG,eAAe,CAAA;IAC/B,CAAC;IAED,wDAAwD;IACxD;;;;;MAKE;IAEF,OAAO,MAAM,CAAA;AACf,CAAC"}
@@ -1,4 +1,4 @@
1
1
  export type Callback<A, B, C, D, E, F, T> = (a: A, b: B, c: C, d: D, e: E, f: F) => T;
2
2
  export declare const callbackMaker: () => <A, B, C, D, E, F, T>(callback: Callback<A, B, C, D, E, F, T>) => (a?: A | undefined, b?: B | undefined, c?: C | undefined, d?: D | undefined, e?: E | undefined, f?: F | undefined) => T;
3
3
  /** Wrap a function that will be called back. After the wrapper and function are called, a rendering cycle will update display */
4
- export declare function callback<A, B, C, D, E, F, T>(callback: Callback<A, B, C, D, E, F, T>): () => T;
4
+ export declare function callback<A, B, C, D, E, F, T>(callback: Callback<A, B, C, D, E, F, T>): (A?: A, B?: B, C?: C, D?: D, E?: E, F?: F) => T;
@@ -1,49 +1,39 @@
1
- import { setUse } from './setUse.function.js';
1
+ import { setUseMemory } from './setUse.function.js';
2
2
  import { SyncCallbackError } from '../errors.js';
3
3
  import { getSupportInCycle } from '../tag/getSupportInCycle.function.js';
4
4
  import callbackStateUpdate from './callbackStateUpdate.function.js';
5
5
  let innerCallback = (callback) => (a, b, c, d, e, f) => {
6
6
  throw new SyncCallbackError('Callback function was called immediately in sync and must instead be call async');
7
7
  };
8
- export const callbackMaker = () => innerCallback;
9
- const originalGetter = innerCallback; // callbackMaker
10
- setUse({
11
- beforeRender: tagSupport => initMemory(tagSupport),
12
- beforeRedraw: tagSupport => initMemory(tagSupport),
13
- afterRender: tagSupport => {
14
- ;
15
- tagSupport.global.callbackMaker = true;
16
- innerCallback = originalGetter; // prevent crossing callbacks with another tag
17
- },
18
- });
8
+ export const callbackMaker = () => {
9
+ const support = getSupportInCycle();
10
+ // callback as typeof innerCallback
11
+ if (!support) {
12
+ throw syncError;
13
+ }
14
+ const oldState = setUseMemory.stateConfig.array;
15
+ return function triggerMaker(callback) {
16
+ return createTrigger(support, oldState, callback);
17
+ };
18
+ };
19
+ const syncError = new SyncCallbackError('callback() was called outside of synchronous rendering. Use `callback = callbackMaker()` to create a callback that could be called out of sync with rendering');
19
20
  /** Wrap a function that will be called back. After the wrapper and function are called, a rendering cycle will update display */
20
21
  export function callback(callback) {
21
- const tagSupport = getSupportInCycle();
22
- if (!tagSupport) {
23
- const error = new SyncCallbackError('callback() was called outside of synchronous rendering. Use `callback = callbackMaker()` to create a callback that could be called out of sync with rendering');
24
- throw error;
22
+ const support = getSupportInCycle();
23
+ if (!support) {
24
+ throw syncError;
25
25
  }
26
- const oldState = setUse.memory.stateConfig.array;
27
- const trigger = (...args) => {
28
- const callbackMaker = tagSupport.global.callbackMaker;
26
+ return createTrigger(support, setUseMemory.stateConfig.array, callback);
27
+ }
28
+ function createTrigger(support, oldState, toCallback) {
29
+ return function trigger(...args) {
30
+ const global = support.subject.global;
31
+ const callbackMaker = global.renderCount > 0;
29
32
  if (callbackMaker) {
30
- return callbackStateUpdate(tagSupport, callback, oldState, ...args);
33
+ return callbackStateUpdate(support, toCallback, oldState, ...args);
31
34
  }
32
- return callback(...args);
33
- };
34
- return trigger;
35
- }
36
- function initMemory(tagSupport) {
37
- const oldState = setUse.memory.stateConfig.array;
38
- innerCallback = (callback) => {
39
- const trigger = (...args) => {
40
- const callbackMaker = tagSupport.global.callbackMaker;
41
- if (callbackMaker) {
42
- return callbackStateUpdate(tagSupport, callback, oldState, ...args);
43
- }
44
- return callback(...args);
45
- };
46
- return trigger;
35
+ // we are in sync with rendering, just run callback naturally
36
+ return toCallback(...args);
47
37
  };
48
38
  }
49
39
  //# sourceMappingURL=callbackMaker.function.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"callbackMaker.function.js","sourceRoot":"","sources":["../../ts/state/callbackMaker.function.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAA;AAE7C,OAAO,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAA;AAChD,OAAO,EAAE,iBAAiB,EAAE,MAAM,sCAAsC,CAAA;AACxE,OAAO,mBAAmB,MAAM,mCAAmC,CAAA;AAOnE,IAAI,aAAa,GAAG,CAClB,QAAiC,EACjC,EAAE,CAAC,CAAC,CAAI,EAAE,CAAI,EAAE,CAAI,EAAE,CAAI,EAAE,CAAI,EAAE,CAAI,EAAK,EAAE;IAC7C,MAAM,IAAI,iBAAiB,CAAC,iFAAiF,CAAC,CAAA;AAChH,CAAC,CAAA;AACD,MAAM,CAAC,MAAM,aAAa,GAAG,GAAG,EAAE,CAAC,aAAa,CAAA;AAEhD,MAAM,cAAc,GAAG,aAAa,CAAA,CAAC,gBAAgB;AAErD,MAAM,CAAC;IACL,YAAY,EAAE,UAAU,CAAC,EAAE,CAAC,UAAU,CAAC,UAAU,CAAC;IAClD,YAAY,EAAE,UAAU,CAAC,EAAE,CAAC,UAAU,CAAC,UAAU,CAAC;IAClD,WAAW,EAAE,UAAU,CAAC,EAAE;QACxB,CAAC;QAAC,UAAU,CAAC,MAAc,CAAC,aAAa,GAAG,IAAI,CAAA;QAChD,aAAa,GAAG,cAAc,CAAA,CAAC,8CAA8C;IAC/E,CAAC;CACF,CAAC,CAAA;AAEF,iIAAiI;AACjI,MAAM,UAAU,QAAQ,CACtB,QAAuC;IAEvC,MAAM,UAAU,GAAG,iBAAiB,EAAE,CAAA;IAEtC,IAAG,CAAC,UAAU,EAAE,CAAC;QACf,MAAM,KAAK,GAAG,IAAI,iBAAiB,CAAC,+JAA+J,CAAC,CAAA;QACpM,MAAM,KAAK,CAAA;IACb,CAAC;IAED,MAAM,QAAQ,GAAG,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,KAAK,CAAA;IAChD,MAAM,OAAO,GAAG,CAAC,GAAG,IAAW,EAAE,EAAE;QACjC,MAAM,aAAa,GAAI,UAAU,CAAC,MAAc,CAAC,aAAa,CAAA;QAE9D,IAAG,aAAa,EAAE,CAAC;YACjB,OAAO,mBAAmB,CAAC,UAAU,EAAE,QAAQ,EAAE,QAAQ,EAAE,GAAG,IAAI,CAAC,CAAA;QACrE,CAAC;QAED,OAAQ,QAAgB,CAAC,GAAG,IAAI,CAAC,CAAA;IACnC,CAAC,CAAA;IAED,OAAO,OAAO,CAAA;AAChB,CAAC;AAED,SAAS,UAAU,CAAE,UAAuC;IAC1D,MAAM,QAAQ,GAAU,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,KAAK,CAAA;IACvD,aAAa,GAAG,CACd,QAAqD,EACrD,EAAE;QACF,MAAM,OAAO,GAAG,CAAC,GAAG,IAAW,EAAE,EAAE;YACjC,MAAM,aAAa,GAAI,UAAU,CAAC,MAAc,CAAC,aAAa,CAAA;YAE9D,IAAG,aAAa,EAAE,CAAC;gBACjB,OAAO,mBAAmB,CAAC,UAAU,EAAE,QAAQ,EAAE,QAAQ,EAAE,GAAG,IAAI,CAAC,CAAA;YACrE,CAAC;YAED,OAAQ,QAAgB,CAAC,GAAG,IAAI,CAAC,CAAA;QACnC,CAAC,CAAA;QAED,OAAO,OAAO,CAAA;IAChB,CAAC,CAAA;AACH,CAAC"}
1
+ {"version":3,"file":"callbackMaker.function.js","sourceRoot":"","sources":["../../ts/state/callbackMaker.function.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAA;AACnD,OAAO,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAA;AAChD,OAAO,EAAE,iBAAiB,EAAE,MAAM,sCAAsC,CAAA;AACxE,OAAO,mBAAmB,MAAM,mCAAmC,CAAA;AAUnE,IAAI,aAAa,GAAG,CAClB,QAAiC,EACjC,EAAE,CAAC,CAAC,CAAI,EAAE,CAAI,EAAE,CAAI,EAAE,CAAI,EAAE,CAAI,EAAE,CAAI,EAAK,EAAE;IAC7C,MAAM,IAAI,iBAAiB,CAAC,iFAAiF,CAAC,CAAA;AAChH,CAAC,CAAA;AACD,MAAM,CAAC,MAAM,aAAa,GAAG,GAAG,EAAE;IAChC,MAAM,OAAO,GAAG,iBAAiB,EAAE,CAAA;IACnC,mCAAmC;IAEnC,IAAG,CAAC,OAAO,EAAE,CAAC;QACZ,MAAM,SAAS,CAAA;IACjB,CAAC;IAED,MAAM,QAAQ,GAAG,YAAY,CAAC,WAAW,CAAC,KAAK,CAAA;IAC/C,OAAO,SAAS,YAAY,CAC1B,QAAuC;QAEvC,OAAO,aAAa,CAAC,OAAO,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAA;IACnD,CAAyB,CAAA;AAC3B,CAAC,CAAA;AAED,MAAM,SAAS,GAAG,IAAI,iBAAiB,CAAC,+JAA+J,CAAC,CAAA;AAExM,iIAAiI;AACjI,MAAM,UAAU,QAAQ,CACtB,QAAuC;IAEvC,MAAM,OAAO,GAAG,iBAAiB,EAAE,CAAA;IAEnC,IAAG,CAAC,OAAO,EAAE,CAAC;QACZ,MAAM,SAAS,CAAA;IACjB,CAAC;IAED,OAAO,aAAa,CAAC,OAAO,EAAE,YAAY,CAAC,WAAW,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAA;AACzE,CAAC;AAED,SAAS,aAAa,CACpB,OAAmB,EACnB,QAAe,EACf,UAAyC;IAEzC,OAAO,SAAS,OAAO,CAAC,GAAG,IAAW;QACpC,MAAM,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,MAAmB,CAAA;QAClD,MAAM,aAAa,GAAG,MAAM,CAAC,WAAW,GAAG,CAAC,CAAA;QAE5C,IAAG,aAAa,EAAE,CAAC;YACjB,OAAO,mBAAmB,CAAC,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,GAAG,IAAI,CAAC,CAAA;QACpE,CAAC;QAED,6DAA6D;QAC7D,OAAQ,UAAkB,CAAC,GAAG,IAAI,CAAC,CAAA;IACrC,CAAC,CAAA;AACH,CAAC"}
@@ -1,4 +1,4 @@
1
- import { BaseTagSupport, TagSupport } from '../tag/TagSupport.class.js';
2
- import { State } from './state.utils.js';
1
+ import { BaseSupport, Support } from '../tag/Support.class.js';
2
+ import { State } from './state.types.js';
3
3
  import { Callback } from './callbackMaker.function.js';
4
- export default function callbackStateUpdate<T>(tagSupport: TagSupport | BaseTagSupport, callback: Callback<any, any, any, any, any, any, T>, oldState: State, ...args: any[]): T;
4
+ export default function callbackStateUpdate<T>(support: Support | BaseSupport, callback: Callback<any, any, any, any, any, any, T>, oldState: State, ...args: any[]): T;
@@ -1,21 +1,22 @@
1
- import { renderTagSupport } from '../tag/render/renderTagSupport.function.js';
1
+ import { renderSupport } from '../tag/render/renderSupport.function.js';
2
2
  import { syncStates } from './syncStates.function.js';
3
- export default function callbackStateUpdate(tagSupport, callback, oldState, ...args) {
4
- const state = tagSupport.memory.state;
3
+ import { isPromise } from '../isInstance.js';
4
+ export default function callbackStateUpdate(support, callback, oldState, ...args) {
5
+ const global = support.subject.global;
6
+ support = global.newest; // || support
7
+ const state = support.state;
5
8
  // ensure that the oldest has the latest values first
6
9
  syncStates(state, oldState);
7
10
  // run the callback
8
11
  const maybePromise = callback(...args);
9
12
  // send the oldest state changes into the newest
10
13
  syncStates(oldState, state);
11
- renderTagSupport(tagSupport, // tagSupport.global.newest as TagSupport,
12
- false);
13
- if (maybePromise instanceof Promise) {
14
+ renderSupport(support);
15
+ if (isPromise(maybePromise)) {
14
16
  maybePromise.finally(() => {
15
17
  // send the oldest state changes into the newest
16
18
  syncStates(oldState, state);
17
- renderTagSupport(tagSupport, // tagSupport.global.newest as TagSupport,
18
- false);
19
+ renderSupport(support);
19
20
  });
20
21
  }
21
22
  // return undefined as T
@@ -1 +1 @@
1
- {"version":3,"file":"callbackStateUpdate.function.js","sourceRoot":"","sources":["../../ts/state/callbackStateUpdate.function.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,gBAAgB,EAAE,MAAM,4CAA4C,CAAA;AAC7E,OAAO,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAA;AAGrD,MAAM,CAAC,OAAO,UAAU,mBAAmB,CACzC,UAAuC,EACvC,QAAkD,EAClD,QAAe,EACf,GAAG,IAAW;IAEd,MAAM,KAAK,GAAG,UAAU,CAAC,MAAM,CAAC,KAAK,CAAA;IAErC,qDAAqD;IACrD,UAAU,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAA;IAE3B,mBAAmB;IACnB,MAAM,YAAY,GAAG,QAAQ,CAAC,GAAG,IAAiC,CAAC,CAAA;IAEnE,gDAAgD;IAChD,UAAU,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAA;IAC3B,gBAAgB,CACd,UAAU,EAAE,0CAA0C;IACtD,KAAK,CACN,CAAA;IAED,IAAG,YAAY,YAAY,OAAO,EAAE,CAAC;QACnC,YAAY,CAAC,OAAO,CAAC,GAAG,EAAE;YACxB,gDAAgD;YAChD,UAAU,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAA;YAE3B,gBAAgB,CACd,UAAU,EAAE,0CAA0C;YACtD,KAAK,CACN,CAAA;QACH,CAAC,CAAC,CAAA;IACJ,CAAC;IAED,wBAAwB;IACxB,OAAO,YAAY,CAAA;AACrB,CAAC"}
1
+ {"version":3,"file":"callbackStateUpdate.function.js","sourceRoot":"","sources":["../../ts/state/callbackStateUpdate.function.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,aAAa,EAAE,MAAM,yCAAyC,CAAA;AACvE,OAAO,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAA;AAGrD,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAA;AAE5C,MAAM,CAAC,OAAO,UAAU,mBAAmB,CACzC,OAA8B,EAC9B,QAAkD,EAClD,QAAe,EACf,GAAG,IAAW;IAEd,MAAM,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,MAA0B,CAAA;IACzD,OAAO,GAAG,MAAM,CAAC,MAAM,CAAA,CAAC,aAAa;IACrC,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAA;IAC3B,qDAAqD;IACrD,UAAU,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAA;IAE3B,mBAAmB;IACnB,MAAM,YAAY,GAAG,QAAQ,CAAC,GAAG,IAAiC,CAAC,CAAA;IAEnE,gDAAgD;IAChD,UAAU,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAA;IAC3B,aAAa,CAAC,OAAO,CAAC,CAAA;IAEtB,IAAG,SAAS,CAAC,YAAY,CAAC,EAAE,CAAC;QAC1B,YAA6B,CAAC,OAAO,CAAC,GAAG,EAAE;YAC1C,gDAAgD;YAChD,UAAU,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAA;YAE3B,aAAa,CAAC,OAAO,CAAC,CAAA;QACxB,CAAC,CAAC,CAAA;IACJ,CAAC;IAED,wBAAwB;IACxB,OAAO,YAAY,CAAA;AACrB,CAAC"}
@@ -1,14 +1,14 @@
1
1
  import { setUse } from './setUse.function.js';
2
- function setCurrentTagSupport(support) {
2
+ function setCurrentSupport(support) {
3
3
  setUse.memory.childrenCurrentSupport = support;
4
4
  }
5
5
  export function children() {
6
- const tagSupport = setUse.memory.childrenCurrentSupport;
7
- const children = tagSupport.templater.children;
6
+ const support = setUse.memory.childrenCurrentSupport;
7
+ const children = support.templater.children;
8
8
  return children;
9
9
  }
10
10
  setUse({
11
- beforeRender: tagSupport => setCurrentTagSupport(tagSupport),
12
- beforeRedraw: tagSupport => setCurrentTagSupport(tagSupport),
11
+ beforeRender: support => setCurrentSupport(support),
12
+ beforeRedraw: support => setCurrentSupport(support),
13
13
  });
14
14
  //# sourceMappingURL=children.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"children.js","sourceRoot":"","sources":["../../ts/state/children.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAE,MAAK,sBAAsB,CAAA;AAE5C,SAAS,oBAAoB,CAAC,OAAoC;IAChE,MAAM,CAAC,MAAM,CAAC,sBAAsB,GAAG,OAAqB,CAAA;AAC9D,CAAC;AAED,MAAM,UAAU,QAAQ;IACtB,MAAM,UAAU,GAAG,MAAM,CAAC,MAAM,CAAC,sBAAoC,CAAA;IACrE,MAAM,QAAQ,GAAG,UAAU,CAAC,SAAS,CAAC,QAAQ,CAAA;IAC9C,OAAO,QAAQ,CAAA;AACjB,CAAC;AAED,MAAM,CAAC;IACL,YAAY,EAAE,UAAU,CAAC,EAAE,CAAC,oBAAoB,CAAC,UAAU,CAAC;IAC5D,YAAY,EAAE,UAAU,CAAC,EAAE,CAAC,oBAAoB,CAAC,UAAU,CAAC;CAC7D,CAAC,CAAA"}
1
+ {"version":3,"file":"children.js","sourceRoot":"","sources":["../../ts/state/children.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAE,MAAK,sBAAsB,CAAA;AAE5C,SAAS,iBAAiB,CAAC,OAA8B;IACvD,MAAM,CAAC,MAAM,CAAC,sBAAsB,GAAG,OAAkB,CAAA;AAC3D,CAAC;AAED,MAAM,UAAU,QAAQ;IACtB,MAAM,OAAO,GAAG,MAAM,CAAC,MAAM,CAAC,sBAAiC,CAAA;IAC/D,MAAM,QAAQ,GAAG,OAAO,CAAC,SAAS,CAAC,QAAQ,CAAA;IAC3C,OAAO,QAAQ,CAAA;AACjB,CAAC;AAED,MAAM,CAAC;IACL,YAAY,EAAE,OAAO,CAAC,EAAE,CAAC,iBAAiB,CAAC,OAAO,CAAC;IACnD,YAAY,EAAE,OAAO,CAAC,EAAE,CAAC,iBAAiB,CAAC,OAAO,CAAC;CACpD,CAAC,CAAA"}
@@ -0,0 +1,4 @@
1
+ import { StateConfig } from "./state.utils.js";
2
+ export declare class StateEchoBack {
3
+ }
4
+ export declare function getCallbackValue<T>(callback: StateConfig<T>): [T, T];
@@ -0,0 +1,10 @@
1
+ export class StateEchoBack {
2
+ }
3
+ // sends a fake value and then sets back to received value
4
+ export function getCallbackValue(callback) {
5
+ const oldState = callback(StateEchoBack); // get value and set to undefined
6
+ const [value] = oldState;
7
+ const [checkValue] = callback(value); // set back to original value
8
+ return [value, checkValue];
9
+ }
10
+ //# sourceMappingURL=getCallbackValue.function.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getCallbackValue.function.js","sourceRoot":"","sources":["../../ts/state/getCallbackValue.function.ts"],"names":[],"mappings":"AAEA,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
+ import { StateConfigItem } from './state.types.js';
2
+ export declare function getStateValue<T>(state: StateConfigItem<T>): T | undefined;
@@ -0,0 +1,24 @@
1
+ import { getCallbackValue } from './state.utils.js';
2
+ const badLetState = 'letState function incorrectly used. Second item in array is not setting expected value.\n\n' +
3
+ 'For "let" state use `let name = state(default)(x => [name, name = x])`\n\n' +
4
+ 'For "const" state use `const name = state(default)()`\n\n' +
5
+ 'Problem state:\n';
6
+ export function getStateValue(state) {
7
+ const callback = state.callback;
8
+ // state()
9
+ if (!callback) {
10
+ return state.defaultValue;
11
+ }
12
+ // letState()
13
+ const [value, checkValue] = getCallbackValue(callback);
14
+ // TODO: not needed in production, needed in development
15
+ /*
16
+ if(checkValue !== StateEchoBack) {
17
+ const message = badLetState + (callback ? callback.toString() : JSON.stringify(state)) +'\n'
18
+ console.error(message, {state, callback, value, checkValue})
19
+ throw new Error(message)
20
+ }
21
+ */
22
+ return value;
23
+ }
24
+ //# sourceMappingURL=getStateValue.function.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getStateValue.function.js","sourceRoot":"","sources":["../../ts/state/getStateValue.function.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAA;AAGnD,MAAM,WAAW,GAAG,6FAA6F;IACjH,4EAA4E;IAC5E,2DAA2D;IAC3D,kBAAkB,CAAA;AAElB,MAAM,UAAU,aAAa,CAC3B,KAAyB;IAEzB,MAAM,QAAQ,GAAG,KAAK,CAAC,QAAQ,CAAA;IAE/B,UAAU;IACV,IAAG,CAAC,QAAQ,EAAE,CAAC;QACb,OAAO,KAAK,CAAC,YAAY,CAAA;IAC3B,CAAC;IAED,aAAa;IACb,MAAM,CAAC,KAAK,EAAC,UAAU,CAAC,GAAG,gBAAgB,CAAC,QAAQ,CAAC,CAAA;IAErD,wDAAwD;IACxD;;;;;;MAME;IAEF,OAAO,KAAK,CAAA;AACd,CAAC"}
@@ -1,3 +1,9 @@
1
1
  import { Provider } from './providers.js';
2
- import { TagSupport } from '../tag/TagSupport.class.js';
3
- export declare function handleProviderChanges(appSupport: TagSupport, provider: Provider): void;
2
+ import { Support } from '../tag/Support.class.js';
3
+ export declare function handleProviderChanges(appSupport: Support, provider: Provider): TagWithProvider[];
4
+ type TagWithProvider = {
5
+ support: Support;
6
+ renderCount: number;
7
+ provider: Provider;
8
+ };
9
+ export {};
@@ -1,33 +1,22 @@
1
- import { deepClone } from '../deepFunctions.js';
2
- import { renderTagSupport } from '../tag/render/renderTagSupport.function.js';
3
1
  export function handleProviderChanges(appSupport, provider) {
4
2
  const tagsWithProvider = getTagsWithProvider(appSupport, provider);
5
- for (let index = tagsWithProvider.length - 1; index >= 0; --index) {
6
- const { tagSupport, renderCount, provider } = tagsWithProvider[index];
7
- if (tagSupport.global.deleted) {
8
- continue; // i was deleted after another tag processed
9
- }
10
- const notRendered = renderCount === tagSupport.global.renderCount;
11
- if (notRendered) {
12
- provider.clone = deepClone(provider.instance);
13
- renderTagSupport(tagSupport.global.newest, // tagSupport, // tagSupport.global.newest as TagSupport,
14
- false);
15
- continue;
16
- }
17
- }
3
+ return tagsWithProvider;
18
4
  }
19
5
  /** Updates and returns memory of tag providers */
20
- function getTagsWithProvider(tagSupport, provider, memory = []) {
6
+ function getTagsWithProvider(support, provider, memory = []) {
7
+ const global = support.subject.global;
21
8
  memory.push({
22
- tagSupport,
23
- renderCount: tagSupport.global.renderCount,
9
+ support,
10
+ renderCount: global.renderCount,
24
11
  provider,
25
12
  });
26
13
  const childTags = provider.children;
27
14
  for (let index = childTags.length - 1; index >= 0; --index) {
15
+ const child = childTags[index];
16
+ const cGlobal = child.subject.global;
28
17
  memory.push({
29
- tagSupport: childTags[index],
30
- renderCount: childTags[index].global.renderCount,
18
+ support: child,
19
+ renderCount: cGlobal.renderCount,
31
20
  provider,
32
21
  });
33
22
  }
@@ -1 +1 @@
1
- {"version":3,"file":"handleProviderChanges.function.js","sourceRoot":"","sources":["../../ts/state/handleProviderChanges.function.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAA;AAE/C,OAAO,EAAE,gBAAgB,EAAE,MAAK,4CAA4C,CAAA;AAG5E,MAAM,UAAU,qBAAqB,CACnC,UAAsB,EACtB,QAAkB;IAElB,MAAM,gBAAgB,GAAG,mBAAmB,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAA;IAClE,KAAK,IAAI,KAAK,GAAG,gBAAgB,CAAC,MAAM,GAAG,CAAC,EAAE,KAAK,IAAI,CAAC,EAAE,EAAE,KAAK,EAAE,CAAC;QAClE,MAAM,EAAC,UAAU,EAAE,WAAW,EAAE,QAAQ,EAAC,GAAG,gBAAgB,CAAC,KAAK,CAAC,CAAA;QACnE,IAAG,UAAU,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;YAC7B,SAAQ,CAAC,4CAA4C;QACvD,CAAC;QAED,MAAM,WAAW,GAAG,WAAW,KAAK,UAAU,CAAC,MAAM,CAAC,WAAW,CAAA;QACjE,IAAG,WAAW,EAAE,CAAC;YACf,QAAQ,CAAC,KAAK,GAAG,SAAS,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAA;YAC7C,gBAAgB,CACd,UAAU,CAAC,MAAM,CAAC,MAAoB,EAAE,yDAAyD;YACjG,KAAK,CACN,CAAA;YACD,SAAQ;QACV,CAAC;IACH,CAAC;AACH,CAAC;AAED,kDAAkD;AAClD,SAAS,mBAAmB,CAC1B,UAAsB,EACtB,QAAkB,EAClB,SAA4B,EAAE;IAE9B,MAAM,CAAC,IAAI,CAAC;QACV,UAAU;QACV,WAAW,EAAE,UAAU,CAAC,MAAM,CAAC,WAAW;QAC1C,QAAQ;KACT,CAAC,CAAA;IAEF,MAAM,SAAS,GAAG,QAAQ,CAAC,QAAQ,CAAA;IACnC,KAAK,IAAI,KAAK,GAAG,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,KAAK,IAAI,CAAC,EAAE,EAAE,KAAK,EAAE,CAAC;QAC3D,MAAM,CAAC,IAAI,CAAC;YACV,UAAU,EAAE,SAAS,CAAC,KAAK,CAAC;YAC5B,WAAW,EAAE,SAAS,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,WAAW;YAChD,QAAQ;SACT,CAAC,CAAA;IACJ,CAAC;IAED,OAAO,MAAM,CAAA;AACf,CAAC"}
1
+ {"version":3,"file":"handleProviderChanges.function.js","sourceRoot":"","sources":["../../ts/state/handleProviderChanges.function.ts"],"names":[],"mappings":"AAIA,MAAM,UAAU,qBAAqB,CACnC,UAAmB,EACnB,QAAkB;IAElB,MAAM,gBAAgB,GAAG,mBAAmB,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAA;IAElE,OAAO,gBAAgB,CAAA;AACzB,CAAC;AAED,kDAAkD;AAClD,SAAS,mBAAmB,CAC1B,OAAgB,EAChB,QAAkB,EAClB,SAA4B,EAAE;IAE9B,MAAM,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,MAAmB,CAAA;IAClD,MAAM,CAAC,IAAI,CAAC;QACV,OAAO;QACP,WAAW,EAAE,MAAM,CAAC,WAAW;QAC/B,QAAQ;KACT,CAAC,CAAA;IAEF,MAAM,SAAS,GAAG,QAAQ,CAAC,QAAQ,CAAA;IACnC,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,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC,MAAmB,CAAA;QACjD,MAAM,CAAC,IAAI,CAAC;YACV,OAAO,EAAE,KAAK;YACd,WAAW,EAAE,OAAO,CAAC,WAAW;YAChC,QAAQ;SACT,CAAC,CAAA;IACJ,CAAC;IAED,OAAO,MAAM,CAAA;AACf,CAAC"}
@@ -1,12 +1,11 @@
1
1
  export * from './watch.function.js';
2
- export { setUse } from './setUse.function.js';
2
+ export { setUseMemory } from './setUse.function.js';
3
3
  export { state } from './state.function.js';
4
4
  export * from './subject.function.js';
5
5
  export * from './letProp.function.js';
6
6
  export { letState } from './letState.function.js';
7
- export type { State } from './state.utils.js';
7
+ export * from './state.types.js';
8
8
  export { providers } from './providers.js';
9
9
  export * from './callbackMaker.function.js';
10
10
  export * from './onInit.js';
11
11
  export * from './onDestroy.js';
12
- export * from './children.js';
package/js/state/index.js CHANGED
@@ -1,12 +1,12 @@
1
1
  export * from './watch.function.js';
2
- export { setUse } from './setUse.function.js';
2
+ export { setUseMemory } from './setUse.function.js';
3
3
  export { state } from './state.function.js';
4
4
  export * from './subject.function.js';
5
5
  export * from './letProp.function.js';
6
6
  export { letState } from './letState.function.js';
7
+ export * from './state.types.js';
7
8
  export { providers } from './providers.js';
8
9
  export * from './callbackMaker.function.js';
9
10
  export * from './onInit.js';
10
11
  export * from './onDestroy.js';
11
- export * from './children.js';
12
12
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../ts/state/index.ts"],"names":[],"mappings":"AAAA,cAAc,qBAAqB,CAAA;AACnC,OAAO,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAA;AAC7C,OAAO,EAAE,KAAK,EAAE,MAAM,qBAAqB,CAAA;AAC3C,cAAc,uBAAuB,CAAA;AACrC,cAAc,uBAAuB,CAAA;AACrC,OAAO,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAA;AAEjD,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAA;AAC1C,cAAc,6BAA6B,CAAA;AAC3C,cAAc,aAAa,CAAA;AAC3B,cAAc,gBAAgB,CAAA;AAC9B,cAAc,eAAe,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../ts/state/index.ts"],"names":[],"mappings":"AAAA,cAAc,qBAAqB,CAAA;AACnC,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAA;AACnD,OAAO,EAAE,KAAK,EAAE,MAAM,qBAAqB,CAAA;AAC3C,cAAc,uBAAuB,CAAA;AACrC,cAAc,uBAAuB,CAAA;AACrC,OAAO,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAA;AACjD,cAAc,kBAAkB,CAAA;AAChC,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAA;AAC1C,cAAc,6BAA6B,CAAA;AAC3C,cAAc,aAAa,CAAA;AAC3B,cAAc,gBAAgB,CAAA"}
@@ -1,3 +1,5 @@
1
1
  import { GetSet } from './state.utils.js';
2
2
  /** Used for variables that need to remain the same variable during render passes. If defaultValue is a function it is called only once, its return value is first state, and let value can changed */
3
3
  export declare function letState<T>(defaultValue: T | (() => T)): ((getSet: GetSet<T>) => T);
4
+ export declare function firstLetState<T>(defaultValue: T | (() => T)): (y: any) => any;
5
+ export declare function reLetState<T>(): (y: any) => T;
@@ -1,42 +1,42 @@
1
- import { getStateValue } from './state.utils.js';
2
- import { setUse } from './setUse.function.js';
1
+ import { getStateValue } from './getStateValue.function.js';
2
+ import { BasicTypes } from '../tag/ValueTypes.enum.js';
3
+ import { setUseMemory } from './setUse.function.js';
3
4
  /** Used for variables that need to remain the same variable during render passes. If defaultValue is a function it is called only once, its return value is first state, and let value can changed */
4
5
  export function letState(defaultValue) {
5
- const config = setUse.memory.stateConfig;
6
- const rearray = config.rearray;
7
- let getSetMethod;
8
- const restate = rearray[config.array.length];
9
- if (restate) {
10
- let oldValue = getStateValue(restate);
11
- getSetMethod = ((x) => [oldValue, oldValue = x]);
12
- const push = {
13
- get: () => getStateValue(push),
14
- callback: getSetMethod,
15
- lastValue: oldValue,
16
- defaultValue: restate.defaultValue,
17
- };
18
- config.array.push(push);
19
- return makeStateResult(oldValue, push);
20
- }
6
+ const config = setUseMemory.stateConfig;
7
+ return config.handlers.letHandler(defaultValue);
8
+ }
9
+ export function firstLetState(defaultValue) {
10
+ const config = setUseMemory.stateConfig;
21
11
  // State first time run
22
- const defaultFn = defaultValue instanceof Function ? defaultValue : () => defaultValue;
23
- let initValue = defaultFn();
24
- getSetMethod = ((x) => [initValue, initValue = x]);
12
+ const initValue = typeof (defaultValue) === BasicTypes.function ? defaultValue() : defaultValue;
25
13
  const push = {
26
- get: () => getStateValue(push),
27
- callback: getSetMethod,
28
- lastValue: initValue,
14
+ get: function getPushState() {
15
+ return getStateValue(push);
16
+ },
29
17
  defaultValue: initValue,
30
18
  };
31
19
  config.array.push(push);
32
20
  return makeStateResult(initValue, push);
33
21
  }
22
+ export function reLetState() {
23
+ const config = setUseMemory.stateConfig;
24
+ const rearray = config.rearray;
25
+ const restate = rearray[config.array.length];
26
+ let oldValue = getStateValue(restate);
27
+ const push = {
28
+ get: function getLetState() {
29
+ return getStateValue(push);
30
+ },
31
+ defaultValue: restate.defaultValue,
32
+ };
33
+ config.array.push(push);
34
+ return makeStateResult(oldValue, push);
35
+ }
34
36
  function makeStateResult(initValue, push) {
35
- // return initValue
36
- const result = (y) => {
37
- push.callback = y || (x => [initValue, initValue = x]);
37
+ return function msr(y) {
38
+ push.callback = y;
38
39
  return initValue;
39
40
  };
40
- return result;
41
41
  }
42
42
  //# sourceMappingURL=letState.function.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"letState.function.js","sourceRoot":"","sources":["../../ts/state/letState.function.ts"],"names":[],"mappings":"AAAA,OAAO,EAAuD,aAAa,EAAE,MAAM,kBAAkB,CAAA;AACrG,OAAO,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAA;AAE7C,sMAAsM;AACtM,MAAM,UAAU,QAAQ,CACtB,YAA2B;IAE3B,MAAM,MAAM,GAAW,MAAM,CAAC,MAAM,CAAC,WAAW,CAAA;IAChD,MAAM,OAAO,GAAG,MAAM,CAAC,OAAgB,CAAA;IACvC,IAAI,YAA4B,CAAA;IAEhC,MAAM,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAA;IAE5C,IAAG,OAAO,EAAE,CAAC;QACX,IAAI,QAAQ,GAAG,aAAa,CAAC,OAAO,CAAM,CAAA;QAE1C,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,eAAe,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAA;IACxC,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,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,eAAe,CAAC,SAAS,EAAE,IAAI,CAAC,CAAA;AACzC,CAAC;AAED,SAAS,eAAe,CACtB,SAAY,EACZ,IAAwB;IAExB,mBAAmB;IACnB,MAAM,MAAM,GAAI,CAAC,CAAM,EAAE,EAAE;QACzB,IAAI,CAAC,QAAQ,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,SAAS,EAAE,SAAS,GAAG,CAAC,CAAC,CAAC,CAAA;QAEtD,OAAO,SAAS,CAAA;IAClB,CAAC,CAAA;IAED,OAAO,MAAM,CAAA;AACf,CAAC"}
1
+ {"version":3,"file":"letState.function.js","sourceRoot":"","sources":["../../ts/state/letState.function.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAA;AAE3D,OAAO,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAA;AACtD,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAA;AAGnD,sMAAsM;AACtM,MAAM,UAAU,QAAQ,CACtB,YAA2B;IAE3B,MAAM,MAAM,GAAW,YAAY,CAAC,WAAW,CAAA;IAC/C,OAAO,MAAM,CAAC,QAAQ,CAAC,UAAU,CAAC,YAAY,CAAC,CAAA;AACjD,CAAC;AAED,MAAM,UAAU,aAAa,CAC3B,YAA2B;IAE3B,MAAM,MAAM,GAAW,YAAY,CAAC,WAAW,CAAA;IAC/C,uBAAuB;IACvB,MAAM,SAAS,GAAG,OAAM,CAAC,YAAY,CAAC,KAAK,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAE,YAAyB,EAAE,CAAC,CAAC,CAAC,YAAY,CAAA;IAC5G,MAAM,IAAI,GAAuB;QAC/B,GAAG,EAAE,SAAS,YAAY;YACxB,OAAO,aAAa,CAAC,IAAI,CAAM,CAAA;QACjC,CAAC;QACD,YAAY,EAAE,SAAS;KACxB,CAAA;IACD,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;IAEvB,OAAO,eAAe,CAAC,SAAS,EAAE,IAAI,CAAC,CAAA;AACzC,CAAC;AAED,MAAM,UAAU,UAAU;IACxB,MAAM,MAAM,GAAW,YAAY,CAAC,WAAW,CAAA;IAC/C,MAAM,OAAO,GAAG,MAAM,CAAC,OAAgB,CAAA;IACvC,MAAM,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAA;IAG5C,IAAI,QAAQ,GAAG,aAAa,CAAC,OAAO,CAAM,CAAA;IAE1C,MAAM,IAAI,GAAuB;QAC/B,GAAG,EAAE,SAAS,WAAW;YACvB,OAAO,aAAa,CAAC,IAAI,CAAM,CAAA;QACjC,CAAC;QACD,YAAY,EAAE,OAAO,CAAC,YAAY;KACnC,CAAA;IAED,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;IAEvB,OAAO,eAAe,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAA;AACxC,CAAC;AAED,SAAS,eAAe,CACtB,SAAY,EACZ,IAAwB;IAExB,OAAO,SAAS,GAAG,CAAC,CAAM;QACxB,IAAI,CAAC,QAAQ,GAAG,CAAC,CAAA;QACjB,OAAO,SAAS,CAAA;IAClB,CAAC,CAAA;AACH,CAAC"}
@@ -1,9 +1,10 @@
1
1
  import { getSupportInCycle } from "../tag/getSupportInCycle.function.js";
2
2
  import { state } from "./state.function.js";
3
3
  export function onDestroy(callback) {
4
- state(() => {
5
- const tagSupport = getSupportInCycle();
6
- tagSupport?.global.destroy$.toCallback(callback);
4
+ state(function stateDestroy() {
5
+ const support = getSupportInCycle();
6
+ const global = support.subject.global;
7
+ global.destroy$.toCallback(callback);
7
8
  });
8
9
  }
9
10
  //# sourceMappingURL=onDestroy.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"onDestroy.js","sourceRoot":"","sources":["../../ts/state/onDestroy.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,iBAAiB,EAAE,MAAM,sCAAsC,CAAA;AACxE,OAAO,EAAE,KAAK,EAAE,MAAM,qBAAqB,CAAA;AAI3C,MAAM,UAAU,SAAS,CACvB,QAA2B;IAE3B,KAAK,CAAC,GAAG,EAAE;QACT,MAAM,UAAU,GAAG,iBAAiB,EAAgB,CAAA;QACpD,UAAU,EAAE,MAAM,CAAC,QAAQ,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAA;IAClD,CAAC,CAAC,CAAA;AACJ,CAAC"}
1
+ {"version":3,"file":"onDestroy.js","sourceRoot":"","sources":["../../ts/state/onDestroy.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,iBAAiB,EAAE,MAAM,sCAAsC,CAAA;AACxE,OAAO,EAAE,KAAK,EAAE,MAAM,qBAAqB,CAAA;AAI3C,MAAM,UAAU,SAAS,CACvB,QAA2B;IAE3B,KAAK,CAAC,SAAS,YAAY;QACzB,MAAM,OAAO,GAAG,iBAAiB,EAAa,CAAA;QAC9C,MAAM,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,MAA0B,CAAA;QACzD,MAAM,CAAC,QAAQ,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAA;IACtC,CAAC,CAAC,CAAA;AACJ,CAAC"}
@@ -1,11 +1,10 @@
1
- import { TagSupport } from '../tag/TagSupport.class.js';
1
+ import { Support } from '../tag/Support.class.js';
2
2
  export type Provider = {
3
3
  constructMethod: any;
4
4
  instance: any;
5
- clone: any;
6
5
  stateDiff: number;
7
- owner: TagSupport;
8
- children: TagSupport[];
6
+ owner: Support;
7
+ children: Support[];
9
8
  };
10
9
  type ProviderConstructor<T> = (new (...args: any[]) => T) | (() => T);
11
10
  type functionProvider<T> = () => T;
@@ -1,40 +1,40 @@
1
- import { deepClone } from '../deepFunctions.js';
2
- import { setUse } from './setUse.function.js';
1
+ import { getSupportInCycle } from '../tag/getSupportInCycle.function.js';
2
+ import { setUseMemory } from './setUse.function.js';
3
3
  import { state } from './state.function.js';
4
4
  export const providers = {
5
5
  create: (constructMethod) => {
6
6
  const stateDiffMemory = state(() => ({ stateDiff: 0, provider: undefined }));
7
7
  // mimic how many states were called the first time
8
8
  if (stateDiffMemory.stateDiff) {
9
- for (let x = stateDiffMemory.stateDiff; x > 0; --x) {
9
+ let x = stateDiffMemory.stateDiff;
10
+ while (x--) {
10
11
  state(undefined);
11
12
  }
12
13
  const result = state(undefined);
13
14
  return result;
14
15
  }
15
16
  const result = state(() => {
16
- const memory = setUse.memory;
17
- const stateConfig = memory.stateConfig;
17
+ const stateConfig = setUseMemory.stateConfig;
18
18
  const oldStateCount = stateConfig.array.length;
19
19
  // Providers with provider requirements just need to use providers.create() and providers.inject()
20
- const instance = 'prototype' in constructMethod ? new constructMethod() : constructMethod();
21
- const tagSupport = stateConfig.tagSupport;
20
+ const instance = constructMethod.prototype ? new constructMethod() : constructMethod();
21
+ const support = stateConfig.support;
22
22
  const stateDiff = stateConfig.array.length - oldStateCount;
23
23
  const provider = {
24
24
  constructMethod,
25
25
  instance,
26
- clone: deepClone(instance),
27
26
  stateDiff,
28
- owner: tagSupport,
27
+ owner: support,
29
28
  children: [],
30
29
  };
31
30
  stateDiffMemory.provider = provider;
32
- tagSupport.global.providers.push(provider);
31
+ const global = support.subject.global;
32
+ const providers = global.providers = global.providers || [];
33
+ providers.push(provider);
33
34
  stateDiffMemory.stateDiff = stateDiff;
34
35
  return instance;
35
36
  });
36
37
  const cm = constructMethod;
37
- // const compareTo = cm.compareTo = cm.compareTo || cm.toString()
38
38
  const compareTo = cm.compareTo = cm.toString();
39
39
  stateDiffMemory.provider.constructMethod.compareTo = compareTo;
40
40
  return result;
@@ -47,16 +47,21 @@ export const providers = {
47
47
  inject: (constructor) => {
48
48
  // find once, return same every time after
49
49
  return state(() => {
50
- const memory = setUse.memory;
50
+ // const memory = setUse.memory
51
51
  const cm = constructor;
52
52
  const compareTo = cm.compareTo = cm.compareTo || constructor.toString();
53
- const tagSupport = memory.stateConfig.tagSupport;
53
+ const support = getSupportInCycle(); // memory.stateConfig.support as Support
54
54
  const providers = [];
55
55
  let owner = {
56
- ownerTagSupport: tagSupport.ownerTagSupport
56
+ ownerSupport: support.ownerSupport
57
57
  };
58
- while (owner.ownerTagSupport) {
59
- const ownerProviders = owner.ownerTagSupport.global.providers;
58
+ while (owner.ownerSupport) {
59
+ const ownGlobal = owner.ownerSupport.subject.global;
60
+ const ownerProviders = ownGlobal.providers;
61
+ if (!ownerProviders) {
62
+ owner = owner.ownerSupport; // cause reloop checking next parent
63
+ continue;
64
+ }
60
65
  const provider = ownerProviders.find(provider => {
61
66
  providers.push(provider);
62
67
  const constructorMatch = provider.constructMethod.compareTo === compareTo;
@@ -65,13 +70,13 @@ export const providers = {
65
70
  }
66
71
  });
67
72
  if (provider) {
68
- provider.clone = deepClone(provider.instance); // keep a copy of the latest before any change occur
69
- const tagSupport = memory.stateConfig.tagSupport;
70
- tagSupport.global.providers.push(provider);
71
- provider.children.push(tagSupport);
73
+ const global = support.subject.global;
74
+ const providers = global.providers = global.providers || [];
75
+ providers.push(provider);
76
+ provider.children.push(support);
72
77
  return provider.instance;
73
78
  }
74
- owner = owner.ownerTagSupport; // cause reloop checking next parent
79
+ owner = owner.ownerSupport; // cause reloop checking next parent
75
80
  }
76
81
  const msg = `Could not inject provider: ${constructor.name} ${constructor}`;
77
82
  console.warn(`${msg}. Available providers`, providers);