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,27 +1,146 @@
1
- import { hasPropChanges } from './hasPropChanges.function.js';
2
- export function hasSupportChanged(lastSupport, newSupport, newTemplater) {
3
- const latestProps = newTemplater.props; // newSupport.propsConfig.latest
4
- const pastCloneProps = lastSupport.propsConfig.latestCloned;
5
- const propsChanged = hasPropChanges(latestProps, pastCloneProps);
6
- // if no changes detected, no need to continue to rendering further tags
7
- if (propsChanged) {
8
- return propsChanged;
9
- }
10
- const propsChanged2 = hasPropChanges(lastSupport.propsConfig.latestCloned, newSupport.propsConfig.latestCloned);
11
- if (propsChanged2) {
12
- return propsChanged2;
13
- }
14
- const kidsChanged = hasKidsChanged(lastSupport, newSupport);
15
- // we already know props didn't change and if kids didn't either, than don't render
16
- return kidsChanged;
17
- }
18
- export function hasKidsChanged(oldSupport, newSupport) {
19
- const oldCloneKidValues = oldSupport.propsConfig.lastClonedKidValues;
20
- const newClonedKidValues = newSupport.propsConfig.lastClonedKidValues;
21
- const everySame = oldCloneKidValues.every((set, index) => {
22
- const x = newClonedKidValues[index];
23
- return set.every((item, index) => item === x[index]);
1
+ import { deepEqual } from '../deepFunctions.js';
2
+ import { isArray } from '../isInstance.js';
3
+ import { hasPropLengthsChanged } from './render/renderSupport.function.js';
4
+ import { PropWatches } from './tag.js';
5
+ import { BasicTypes } from './ValueTypes.enum.js';
6
+ export function hasSupportChanged(lastSupport, newTemplater) {
7
+ const latestProps = newTemplater.props;
8
+ const propsConfig = lastSupport.propsConfig;
9
+ const pastCloneProps = propsConfig.latest;
10
+ const propsChanged = hasPropChanges(latestProps, pastCloneProps, lastSupport.templater.propWatch);
11
+ return propsChanged;
12
+ }
13
+ /**
14
+ *
15
+ * @param props
16
+ * @param pastCloneProps
17
+ * @returns WHEN number then props have changed. WHEN false props have not changed
18
+ */
19
+ function hasPropChanges(props, // natural props
20
+ pastCloneProps, // previously cloned props
21
+ propWatch) {
22
+ const hasLenChanged = hasPropLengthsChanged(props, pastCloneProps);
23
+ if (hasLenChanged) {
24
+ return 11;
25
+ }
26
+ switch (propWatch) {
27
+ case PropWatches.NONE:
28
+ return 1; // always render
29
+ case PropWatches.SHALLOW: // determining equal is same as immutable, its the previous cloning step thats different
30
+ return shallowPropMatch(props, pastCloneProps);
31
+ case PropWatches.IMMUTABLE:
32
+ return immutablePropMatch(props, pastCloneProps);
33
+ }
34
+ return deepPropChangeCompare(props, pastCloneProps);
35
+ }
36
+ function deepPropChangeCompare(props, pastCloneProps) {
37
+ // DEEP watch
38
+ let castedProps = props;
39
+ let castedPastProps = pastCloneProps;
40
+ castedProps = [...props];
41
+ castedPastProps = [...(pastCloneProps || [])];
42
+ const allFunctionsMatch = castedProps.every((value, index) => onePropCompare(value, index, castedProps, castedPastProps));
43
+ if (!allFunctionsMatch) {
44
+ return 7; // a change has been detected by function comparisons
45
+ }
46
+ return false;
47
+ }
48
+ export function immutablePropMatch(props, pastCloneProps) {
49
+ // if every prop the same, then no changes
50
+ const len = props.length;
51
+ for (let index = 0; index < len; ++index) {
52
+ const prop = props[index];
53
+ const pastProp = pastCloneProps[index];
54
+ if (prop !== pastProp) {
55
+ return 2;
56
+ }
57
+ }
58
+ return false; // false means has not changed
59
+ }
60
+ export function shallowPropMatch(props, pastCloneProps) {
61
+ // if every prop the same, then no changes
62
+ const len = props.length;
63
+ for (let index = 0; index < len; ++index) {
64
+ const prop = props[index];
65
+ const pastProp = pastCloneProps[index];
66
+ if (isArray(prop) && isArray(pastProp)) {
67
+ if (prop === pastProp) {
68
+ continue;
69
+ }
70
+ return 3.0; // not equal array
71
+ }
72
+ if (typeof (prop) === BasicTypes.function && typeof (pastProp) === BasicTypes.function) {
73
+ continue; // considered good
74
+ }
75
+ if (typeof (prop) === BasicTypes.object) {
76
+ if (typeof (pastCloneProps) === BasicTypes.object) {
77
+ const obEntries = Object.entries(prop);
78
+ for (const subItem of obEntries) {
79
+ const result = objectItemMatches(subItem, pastProp);
80
+ if (!result) {
81
+ return 3.1;
82
+ }
83
+ }
84
+ }
85
+ continue; // all sub objects matched
86
+ }
87
+ if (prop === pastProp) {
88
+ continue; // matched good
89
+ }
90
+ return 3.3; // not equal
91
+ }
92
+ return false; // false means has not changed
93
+ }
94
+ function onePropCompare(value, index, castedProps, castedPastProps) {
95
+ const compare = castedPastProps[index];
96
+ if (typeof (value) === BasicTypes.object) {
97
+ const subCastedProps = { ...value };
98
+ const subCompareProps = { ...compare || {} };
99
+ const matched = Object.entries(subCastedProps).every(([key, value]) => compareProps(value, subCompareProps[key], () => {
100
+ delete subCastedProps[key]; // its a function and not needed to be compared
101
+ delete subCompareProps[key]; // its a function and not needed to be compared
102
+ }));
103
+ return matched;
104
+ }
105
+ return compareProps(value, compare, () => {
106
+ castedProps.splice(index, 1);
107
+ castedPastProps.splice(index, 1);
24
108
  });
25
- return everySame ? false : 9;
109
+ }
110
+ export const shallowCompareDepth = 3;
111
+ export const deepCompareDepth = 10;
112
+ /** returning a number means true good comparison */
113
+ function compareProps(value, compare, onDelete) {
114
+ if (!(typeof (value) === BasicTypes.function)) {
115
+ return deepEqual(value, compare, deepCompareDepth) ? 4 : false;
116
+ }
117
+ const compareFn = compare;
118
+ if (!(typeof (compareFn) === BasicTypes.function)) {
119
+ return false; // its a function now but was not before
120
+ }
121
+ // ensure we are comparing apples to apples as function get wrapped
122
+ const compareOriginal = compare?.original;
123
+ if (compareOriginal) {
124
+ compare = compareOriginal;
125
+ }
126
+ const original = value.original;
127
+ if (original) {
128
+ value = value.original;
129
+ }
130
+ const valueString = value.toString();
131
+ const compareString = compare.toString();
132
+ if (valueString === compareString) {
133
+ onDelete();
134
+ return 5; // both are function the same
135
+ }
136
+ onDelete();
137
+ return 6;
138
+ }
139
+ function objectItemMatches([name, value], pastProp) {
140
+ const pastValue = pastProp[name];
141
+ if (typeof (value) === BasicTypes.function && typeof (pastValue) === BasicTypes.function) {
142
+ return true;
143
+ }
144
+ return pastValue === value;
26
145
  }
27
146
  //# sourceMappingURL=hasSupportChanged.function.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"hasSupportChanged.function.js","sourceRoot":"","sources":["../../ts/tag/hasSupportChanged.function.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,cAAc,EAAE,MAAK,8BAA8B,CAAA;AAE5D,MAAM,UAAU,iBAAiB,CAC/B,WAAwB,EACxB,UAAuB,EACvB,YAA6B;IAE7B,MAAM,WAAW,GAAG,YAAY,CAAC,KAAK,CAAA,CAAC,gCAAgC;IACvE,MAAM,cAAc,GAAG,WAAW,CAAC,WAAW,CAAC,YAAY,CAAA;IAE3D,MAAM,YAAY,GAAG,cAAc,CAAC,WAAW,EAAE,cAAc,CAAC,CAAA;IAChE,wEAAwE;IACxE,IAAG,YAAY,EAAE,CAAC;QAChB,OAAO,YAAY,CAAA;IACrB,CAAC;IAED,MAAM,aAAa,GAAG,cAAc,CAAC,WAAW,CAAC,WAAW,CAAC,YAAY,EAAE,UAAU,CAAC,WAAW,CAAC,YAAY,CAAC,CAAA;IAC/G,IAAG,aAAa,EAAE,CAAC;QACjB,OAAO,aAAa,CAAA;IACtB,CAAC;IAED,MAAM,WAAW,GAAG,cAAc,CAAC,WAAW,EAAE,UAAU,CAAC,CAAA;IAC3D,mFAAmF;IACnF,OAAO,WAAW,CAAA;AACpB,CAAC;AAED,MAAM,UAAU,cAAc,CAC5B,UAAuB,EACvB,UAAuB;IAEvB,MAAM,iBAAiB,GAAG,UAAU,CAAC,WAAW,CAAC,mBAAmB,CAAA;IACpE,MAAM,kBAAkB,GAAG,UAAU,CAAC,WAAW,CAAC,mBAAmB,CAAA;IAErE,MAAM,SAAS,GAAG,iBAAiB,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,KAAK,EAAE,EAAE;QACvD,MAAM,CAAC,GAAG,kBAAkB,CAAC,KAAK,CAAC,CAAA;QACnC,OAAO,GAAG,CAAC,KAAK,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC,IAAI,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,CAAA;IACtD,CAAC,CAAC,CAAA;IAEF,OAAO,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAA;AAC9B,CAAC"}
1
+ {"version":3,"file":"hasSupportChanged.function.js","sourceRoot":"","sources":["../../ts/tag/hasSupportChanged.function.ts"],"names":[],"mappings":"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"}
package/js/tag/html.d.ts CHANGED
@@ -1,9 +1,8 @@
1
- import { InputElementTargetEvent } from '../interpolations/ElementTargetEvent.interface.js';
2
- import { ObjectChildren } from '../interpolations/optimizers/ObjectNode.types.js';
3
- import { RegularValue } from '../subject.types.js';
4
- import { Tag, Dom } from './Tag.class.js';
1
+ import { InputElementTargetEvent } from '../interpolations/attributes/ElementTargetEvent.interface.js';
2
+ import { LikeObjectChildren } from '../interpolations/optimizers/LikeObjectElement.type.js';
3
+ import { RegularValue } from './update/processRegularValue.function.js';
5
4
  export type TagValues = (((e: InputElementTargetEvent) => any) | RegularValue | null | undefined | Object)[];
6
- export declare function html(strings: string[] | TemplateStringsArray, ...values: TagValues): Tag;
5
+ export declare function html(strings: string[] | TemplateStringsArray, ...values: TagValues): import("./Tag.class.js").StringTag;
7
6
  export declare namespace html {
8
- var dom: (dom: ObjectChildren, ...values: TagValues) => Dom;
7
+ var dom: (dom: LikeObjectChildren, ...values: TagValues) => import("./Tag.class.js").DomTag;
9
8
  }
package/js/tag/html.js CHANGED
@@ -1,8 +1,14 @@
1
- import { Tag, Dom } from './Tag.class.js';
1
+ import { getStringTag, getDomTag } from './Tag.class.js';
2
+ import { PropWatches } from './tag.js';
3
+ import { getTemplaterResult } from './TemplaterResult.class.js';
2
4
  export function html(strings, ...values) {
3
- return new Tag(strings, values);
5
+ const stringTag = getStringTag(strings, values);
6
+ const templater = getTemplaterResult(PropWatches.NONE);
7
+ templater.tag = stringTag;
8
+ stringTag.templater = templater;
9
+ return stringTag;
4
10
  }
5
11
  html.dom = function (dom, ...values) {
6
- return new Dom(dom, values);
12
+ return getDomTag(dom, values);
7
13
  };
8
14
  //# sourceMappingURL=html.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"html.js","sourceRoot":"","sources":["../../ts/tag/html.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,GAAG,EAAE,GAAG,EAAE,MAAM,gBAAgB,CAAA;AAIzC,MAAM,UAAU,IAAI,CAClB,OAAwC,EACxC,GAAG,MAAiB;IAEpB,OAAO,IAAI,GAAG,CAAC,OAAmB,EAAE,MAAM,CAAC,CAAA;AAC7C,CAAC;AAED,IAAI,CAAC,GAAG,GAAG,UACT,GAAmB,EACnB,GAAG,MAAiB;IAEpB,OAAO,IAAI,GAAG,CAAC,GAAG,EAAE,MAAM,CAAC,CAAA;AAC7B,CAAC,CAAA"}
1
+ {"version":3,"file":"html.js","sourceRoot":"","sources":["../../ts/tag/html.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAA;AACxD,OAAO,EAAE,WAAW,EAAE,MAAM,UAAU,CAAA;AACtC,OAAO,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAA;AAK/D,MAAM,UAAU,IAAI,CAClB,OAAwC,EACxC,GAAG,MAAiB;IAEpB,MAAM,SAAS,GAAG,YAAY,CAAC,OAAmB,EAAE,MAAM,CAAC,CAAA;IAC3D,MAAM,SAAS,GAAG,kBAAkB,CAAC,WAAW,CAAC,IAAI,CAAC,CAAA;IACtD,SAAS,CAAC,GAAG,GAAG,SAAS,CAAA;IACzB,SAAS,CAAC,SAAS,GAAG,SAAS,CAAA;IAC/B,OAAO,SAAS,CAAA;AAClB,CAAC;AAED,IAAI,CAAC,GAAG,GAAG,UACT,GAAuB,EACvB,GAAG,MAAiB;IAEpB,OAAO,SAAS,CAAC,GAAG,EAAE,MAAM,CAAC,CAAA;AAC/B,CAAC,CAAA"}
package/js/tag/index.d.ts CHANGED
@@ -1,5 +1,7 @@
1
+ export { getNewGlobal } from './update/getNewGlobal.function.js';
1
2
  export * from './tag.types.js';
2
3
  export { getDomMeta } from './domMetaCollector.js';
4
+ export * from './buildBeforeElement.function.js';
3
5
  export * from './tag.js';
4
6
  export * from './Tag.class.js';
5
7
  export * from './tag.utils.js';
@@ -7,5 +9,13 @@ export * from './html.js';
7
9
  export * from './ValueTypes.enum.js';
8
10
  export * from './render/renderTagOnly.function.js';
9
11
  export * from './update/oneRenderToSupport.function.js';
10
- export * from './getValueType.function.js';
11
12
  export * from './TemplaterResult.class.js';
13
+ export * from './destroySupport.function.js';
14
+ export * from './checkDestroyPrevious.function.js';
15
+ export * from './Context.types.js';
16
+ export * from './tagElement.js';
17
+ export { Tag, StringTag, DomTag, variablePrefix } from './Tag.class.js';
18
+ export { renderSupport } from './render/renderSupport.function.js';
19
+ export { renderWithSupport } from './render/renderWithSupport.function.js';
20
+ export { paint } from './paint.function.js';
21
+ export { processFirstSubjectValue } from './update/processFirstSubjectValue.function.js';
package/js/tag/index.js CHANGED
@@ -1,5 +1,7 @@
1
+ export { getNewGlobal } from './update/getNewGlobal.function.js';
1
2
  export * from './tag.types.js';
2
3
  export { getDomMeta } from './domMetaCollector.js';
4
+ export * from './buildBeforeElement.function.js';
3
5
  export * from './tag.js';
4
6
  export * from './Tag.class.js';
5
7
  export * from './tag.utils.js';
@@ -7,6 +9,14 @@ export * from './html.js';
7
9
  export * from './ValueTypes.enum.js';
8
10
  export * from './render/renderTagOnly.function.js';
9
11
  export * from './update/oneRenderToSupport.function.js';
10
- export * from './getValueType.function.js';
11
12
  export * from './TemplaterResult.class.js';
13
+ export * from './destroySupport.function.js';
14
+ export * from './checkDestroyPrevious.function.js';
15
+ export * from './Context.types.js';
16
+ export * from './tagElement.js';
17
+ export { variablePrefix } from './Tag.class.js';
18
+ export { renderSupport } from './render/renderSupport.function.js';
19
+ export { renderWithSupport } from './render/renderWithSupport.function.js';
20
+ export { paint } from './paint.function.js';
21
+ export { processFirstSubjectValue } from './update/processFirstSubjectValue.function.js';
12
22
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../ts/tag/index.ts"],"names":[],"mappings":"AAAA,cAAc,gBAAgB,CAAA;AAC9B,OAAO,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAA;AAClD,cAAc,UAAU,CAAA;AACxB,cAAc,gBAAgB,CAAA;AAC9B,cAAc,gBAAgB,CAAA;AAC9B,cAAc,WAAW,CAAA;AACzB,cAAc,sBAAsB,CAAA;AACpC,cAAc,oCAAoC,CAAA;AAClD,cAAc,yCAAyC,CAAA;AACvD,cAAc,4BAA4B,CAAA;AAC1C,cAAc,4BAA4B,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../ts/tag/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,mCAAmC,CAAA;AAChE,cAAc,gBAAgB,CAAA;AAC9B,OAAO,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAA;AAClD,cAAc,kCAAkC,CAAA;AAChD,cAAc,UAAU,CAAA;AACxB,cAAc,gBAAgB,CAAA;AAC9B,cAAc,gBAAgB,CAAA;AAC9B,cAAc,WAAW,CAAA;AACzB,cAAc,sBAAsB,CAAA;AACpC,cAAc,oCAAoC,CAAA;AAClD,cAAc,yCAAyC,CAAA;AACvD,cAAc,4BAA4B,CAAA;AAC1C,cAAc,8BAA8B,CAAA;AAC5C,cAAc,oCAAoC,CAAA;AAClD,cAAc,oBAAoB,CAAA;AAElC,cAAc,iBAAiB,CAAA;AAC/B,OAAO,EAA0B,cAAc,EAAE,MAAM,gBAAgB,CAAA;AACvE,OAAO,EAAE,aAAa,EAAE,MAAM,oCAAoC,CAAA;AAClE,OAAO,EAAE,iBAAiB,EAAE,MAAM,wCAAwC,CAAA;AAC1E,OAAO,EAAE,KAAK,EAAE,MAAM,qBAAqB,CAAA;AAC3C,OAAO,EAAE,wBAAwB,EAAE,MAAM,+CAA+C,CAAA"}
@@ -1,5 +1,6 @@
1
- import { Tag } from './Tag.class.js';
1
+ import { StringTag, DomTag } from './Tag.class.js';
2
2
  import { BaseSupport, Support } from './Support.class.js';
3
- export declare function isLikeTags(support0: BaseSupport | Support | Tag, // new
4
- support1: Support | BaseSupport): Boolean;
3
+ export declare function isLikeTags(support0: BaseSupport | Support | StringTag, // new
4
+ support1: Support | BaseSupport): boolean;
5
+ export declare function isLikeDomTags(tag0: DomTag, tag1: DomTag): boolean;
5
6
  export declare function isLikeValueSets(values0: any[], values1: any[]): boolean;
@@ -1,43 +1,30 @@
1
- import { ValueTypes } from './ValueTypes.enum.js';
2
- import { deepEqual } from '../deepFunctions.js';
1
+ import { BasicTypes, ValueTypes } from './ValueTypes.enum.js';
3
2
  export function isLikeTags(support0, // new
4
3
  support1) {
5
4
  const templater0 = support0.templater;
6
5
  const templater1 = support1.templater;
7
- // TODO: turn this on
8
- /*
9
- if(templater0 === templater1) {
10
- return true
11
- }
12
- */
13
6
  const tag0 = templater0?.tag || support0;
14
- const tag1 = templater1.tag;
15
- if (tag0.tagJsType !== tag1.tagJsType) {
16
- return false;
7
+ const tag1 = templater1.tag; // || (support1 as any)
8
+ if (templater0?.tagJsType === ValueTypes.stateRender) {
9
+ return templater0.dom === templater1.dom;
17
10
  }
18
11
  if (tag0.tagJsType === ValueTypes.dom) {
19
- return isLikeDomTags(tag0, tag1, support0, support1);
12
+ return isLikeDomTags(tag0, tag1);
20
13
  }
21
- return isLikeStringTags(tag0, tag1, support0, support1);
14
+ const like = isLikeStringTags(tag0, tag1, support0, support1);
15
+ return like;
22
16
  }
23
- function isLikeDomTags(tag0, tag1, support0, // new
24
- support1) {
25
- const dom0 = tag0.dom;
26
- const dom1 = tag1.dom;
27
- if (dom0 !== dom1) {
28
- const equal = deepEqual(tag0.dom, tag1.dom);
29
- if (!equal) {
30
- return false;
31
- }
32
- }
33
- const values0 = support0.values || tag0.values;
34
- const values1 = support1.values || tag1.values;
35
- return isLikeValueSets(values0, values1);
17
+ // used when compiler was used
18
+ export function isLikeDomTags(tag0, tag1) {
19
+ const domMeta0 = tag0.dom;
20
+ const domMeta1 = tag1.dom;
21
+ return domMeta0 === domMeta1;
36
22
  }
23
+ // used for no compiling
37
24
  function isLikeStringTags(tag0, tag1, support0, // new
38
25
  support1) {
39
26
  const strings0 = tag0.strings;
40
- const strings1 = tag1.strings || support1.strings;
27
+ const strings1 = tag1.strings;
41
28
  if (strings0.length !== strings1.length) {
42
29
  return false;
43
30
  }
@@ -47,8 +34,8 @@ support1) {
47
34
  if (!everyStringMatched) {
48
35
  return false;
49
36
  }
50
- const values0 = support0.values || tag0.values;
51
- const values1 = support1.values || tag1.values;
37
+ const values0 = support0.templater.values || tag0.values;
38
+ const values1 = support1.templater.values || tag1.values;
52
39
  return isLikeValueSets(values0, values1);
53
40
  }
54
41
  export function isLikeValueSets(values0, values1) {
@@ -58,7 +45,7 @@ export function isLikeValueSets(values0, values1) {
58
45
  }
59
46
  const allVarsMatch = values1.every((value, index) => {
60
47
  const compareTo = values0[index];
61
- const isFunctions = value instanceof Function && compareTo instanceof Function;
48
+ const isFunctions = typeof (value) === BasicTypes.function && typeof (compareTo) === BasicTypes.function;
62
49
  if (isFunctions) {
63
50
  const stringMatch = value.toString() === compareTo.toString();
64
51
  if (stringMatch) {
@@ -66,7 +53,7 @@ export function isLikeValueSets(values0, values1) {
66
53
  }
67
54
  return false;
68
55
  }
69
- return true; // deepEqual(value, compareTo)
56
+ return true;
70
57
  });
71
58
  if (allVarsMatch) {
72
59
  return true;
@@ -1 +1 @@
1
- {"version":3,"file":"isLikeTags.function.js","sourceRoot":"","sources":["../../ts/tag/isLikeTags.function.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAA;AAGjD,OAAO,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAA;AAE/C,MAAM,UAAU,UAAU,CACxB,QAAqC,EAAE,MAAM;AAC7C,QAA+B;IAE/B,MAAM,UAAU,GAAG,QAAQ,CAAC,SAAwC,CAAA;IACpE,MAAM,UAAU,GAAG,QAAQ,CAAC,SAA4B,CAAA;IAExD,qBAAqB;IACrB;;;;MAIE;IAEF,MAAM,IAAI,GAAG,UAAU,EAAE,GAAG,IAAK,QAAsB,CAAA;IACvD,MAAM,IAAI,GAAG,UAAU,CAAC,GAAgB,CAAA;IACxC,IAAG,IAAI,CAAC,SAAS,KAAK,IAAI,CAAC,SAAS,EAAE,CAAC;QACrC,OAAO,KAAK,CAAA;IACd,CAAC;IAED,IAAG,IAAI,CAAC,SAAS,KAAK,UAAU,CAAC,GAAG,EAAE,CAAC;QACrC,OAAO,aAAa,CAClB,IAAW,EACX,IAAW,EACX,QAAQ,EACR,QAAQ,CACT,CAAA;IACH,CAAC;IAED,OAAO,gBAAgB,CACrB,IAAW,EACX,IAAW,EACX,QAAQ,EACR,QAAQ,CACT,CAAA;AACH,CAAC;AAED,SAAS,aAAa,CACpB,IAAS,EACT,IAAS,EACT,QAAqC,EAAE,MAAM;AAC7C,QAA+B;IAE/B,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,CAAA;IACrB,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,CAAA;IAErB,IAAG,IAAI,KAAK,IAAI,EAAE,CAAC;QACjB,MAAM,KAAK,GAAG,SAAS,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,GAAG,CAAC,CAAA;QAC3C,IAAG,CAAC,KAAK,EAAE,CAAC;YACV,OAAO,KAAK,CAAA;QACd,CAAC;IACH,CAAC;IAED,MAAM,OAAO,GAAG,QAAQ,CAAC,MAAM,IAAI,IAAI,CAAC,MAAM,CAAA;IAC9C,MAAM,OAAO,GAAG,QAAQ,CAAC,MAAM,IAAI,IAAI,CAAC,MAAM,CAAA;IAC9C,OAAO,eAAe,CAAC,OAAO,EAAE,OAAO,CAAC,CAAA;AAC1C,CAAC;AAED,SAAS,gBAAgB,CACvB,IAAS,EACT,IAAS,EACT,QAAqC,EAAE,MAAM;AAC7C,QAA+B;IAE/B,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAA;IAC7B,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,IAAI,QAAQ,CAAC,OAAO,CAAA;IACjD,IAAG,QAAQ,CAAC,MAAM,KAAK,QAAQ,CAAC,MAAM,EAAE,CAAC;QACvC,OAAO,KAAK,CAAA;IACd,CAAC;IAED,MAAM,kBAAkB,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,MAAM,EAAC,KAAK,EAAE,EAAE,CACzD,QAAQ,CAAC,KAAK,CAAC,CAAC,MAAM,KAAK,MAAM,CAAC,MAAM,CAAC,qEAAqE;IAC9G,uCAAuC;KACxC,CAAA;IACD,IAAG,CAAC,kBAAkB,EAAE,CAAC;QACvB,OAAO,KAAK,CAAA;IACd,CAAC;IAED,MAAM,OAAO,GAAG,QAAQ,CAAC,MAAM,IAAI,IAAI,CAAC,MAAM,CAAA;IAC9C,MAAM,OAAO,GAAG,QAAQ,CAAC,MAAM,IAAI,IAAI,CAAC,MAAM,CAAA;IAC9C,OAAO,eAAe,CAAC,OAAO,EAAE,OAAO,CAAC,CAAA;AAE1C,CAAC;AAED,MAAM,UAAU,eAAe,CAAC,OAAa,EAAE,OAAa;IAC1D,MAAM,kBAAkB,GAAG,OAAO,CAAC,MAAM,KAAK,OAAO,CAAC,MAAM,CAAA;IAC5D,IAAG,CAAC,kBAAkB,EAAE,CAAC;QACvB,OAAO,KAAK,CAAA;IACd,CAAC;IAED,MAAM,YAAY,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,KAAK,EAAC,EAAE;QACjD,MAAM,SAAS,GAAG,OAAO,CAAC,KAAK,CAAC,CAAA;QAChC,MAAM,WAAW,GAAG,KAAK,YAAY,QAAQ,IAAI,SAAS,YAAY,QAAQ,CAAA;QAE9E,IAAG,WAAW,EAAE,CAAC;YACf,MAAM,WAAW,GAAG,KAAK,CAAC,QAAQ,EAAE,KAAK,SAAS,CAAC,QAAQ,EAAE,CAAA;YAC7D,IAAG,WAAW,EAAE,CAAC;gBACf,OAAO,IAAI,CAAA;YACb,CAAC;YAED,OAAO,KAAK,CAAA;QACd,CAAC;QAED,OAAO,IAAI,CAAA,CAAC,8BAA8B;IAC5C,CAAC,CAAC,CAAA;IAEF,IAAG,YAAY,EAAE,CAAC;QAChB,OAAO,IAAI,CAAA;IACb,CAAC;IAED,OAAO,KAAK,CAAA;AACd,CAAC"}
1
+ {"version":3,"file":"isLikeTags.function.js","sourceRoot":"","sources":["../../ts/tag/isLikeTags.function.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,6 @@
1
+ import { DomTag, StringTag } from "./index";
2
+ import { ToTag } from "./tag.types";
3
+ /** Used to give unique value to an array of tag content. Should not be an object */
4
+ export declare function key(arrayValue: string | number | null): {
5
+ html: StringTag | DomTag | ToTag;
6
+ };
package/js/tag/key.js ADDED
@@ -0,0 +1,9 @@
1
+ /** Used to give unique value to an array of tag content. Should not be an object */
2
+ export function key(arrayValue) {
3
+ return {
4
+ set html(newValue) {
5
+ newValue.arrayValue = arrayValue;
6
+ }
7
+ };
8
+ }
9
+ //# sourceMappingURL=key.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"key.js","sourceRoot":"","sources":["../../ts/tag/key.ts"],"names":[],"mappings":"AAGA,oFAAoF;AACpF,MAAM,UAAU,GAAG,CAAC,UAAkC;IACpD,OAAO;QACL,IAAI,IAAI,CAAC,QAAoC;YAC3C,QAAQ,CAAC,UAAU,GAAG,UAAU,CAAA;QAClC,CAAC;KACF,CAAA;AACH,CAAC"}
@@ -1,5 +1,5 @@
1
- import { Tag, Dom } from './Tag.class.js';
1
+ import { StringTag, DomTag } from './Tag.class.js';
2
2
  import { ValueSubject } from '../subject/ValueSubject.js';
3
3
  import { TagChildrenInput } from './tag.utils.js';
4
4
  import { TemplaterResult } from './TemplaterResult.class.js';
5
- export declare function kidsToTagArraySubject(children: TagChildrenInput | undefined, templaterResult: TemplaterResult): ValueSubject<(Tag | Dom)[]>;
5
+ export declare function kidsToTagArraySubject(children: TagChildrenInput | undefined, templaterResult: TemplaterResult): ValueSubject<(StringTag | DomTag)[]>;
@@ -11,7 +11,8 @@ export function kidsToTagArraySubject(children, templaterResult) {
11
11
  }
12
12
  const kid = children;
13
13
  if (kid) {
14
- templaterResult.madeChildIntoSubject = true; // was converted into a subject
14
+ templaterResult.madeChildIntoSubject = true // was converted into a subject
15
+ ;
15
16
  kid.arrayValue = 0;
16
17
  return new ValueSubject([kid]);
17
18
  }
@@ -1 +1 @@
1
- {"version":3,"file":"kidsToTagArraySubject.function.js","sourceRoot":"","sources":["../../ts/tag/kidsToTagArraySubject.function.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,iBAAiB,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAA;AAChE,OAAO,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAA;AAIzD,MAAM,UAAU,qBAAqB,CACnC,QAAsC,EACtC,eAAgC;IAEhC,IAAG,iBAAiB,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC/B,OAAO,QAAuC,CAAA;IAChD,CAAC;IAED,MAAM,QAAQ,GAAG,QAAyB,CAAA;IAC1C,IAAG,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;QACxB,eAAe,CAAC,oBAAoB,GAAG,IAAI,CAAA,CAAC,+BAA+B;QAC3E,OAAO,IAAI,YAAY,CAAC,QAAyB,CAAC,CAAA;IACpD,CAAC;IAED,MAAM,GAAG,GAAG,QAAqB,CAAA;IACjC,IAAG,GAAG,EAAE,CAAC;QACP,eAAe,CAAC,oBAAoB,GAAG,IAAI,CAAA,CAAC,+BAA+B;QAC3E,GAAG,CAAC,UAAU,GAAG,CAAC,CAAA;QAClB,OAAO,IAAI,YAAY,CAAC,CAAC,GAAG,CAAC,CAAC,CAAA;IAChC,CAAC;IAED,eAAe,CAAC,oBAAoB,GAAG,IAAI,CAAA,CAAC,+BAA+B;IAC3E,OAAO,IAAI,YAAY,CAAgB,EAAE,CAAC,CAAA;AAC5C,CAAC"}
1
+ {"version":3,"file":"kidsToTagArraySubject.function.js","sourceRoot":"","sources":["../../ts/tag/kidsToTagArraySubject.function.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,iBAAiB,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAA;AAChE,OAAO,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAA;AAIzD,MAAM,UAAU,qBAAqB,CACnC,QAAsC,EACtC,eAAgC;IAEhC,IAAG,iBAAiB,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC/B,OAAO,QAAgD,CAAA;IACzD,CAAC;IAED,MAAM,QAAQ,GAAG,QAAkC,CAAA;IACnD,IAAG,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;QACxB,eAAe,CAAC,oBAAoB,GAAG,IAAI,CAAA,CAAC,+BAA+B;QAC3E,OAAO,IAAI,YAAY,CAAC,QAAkC,CAAC,CAAA;IAC7D,CAAC;IAED,MAAM,GAAG,GAAG,QAA8B,CAAA;IAC1C,IAAG,GAAG,EAAE,CAAC;QACP,eAAe,CAAC,oBAAoB,GAAG,IAAI,CAAC,+BAA+B;SAC1E;QAAC,GAAW,CAAC,UAAU,GAAG,CAAC,CAAA;QAC5B,OAAO,IAAI,YAAY,CAAC,CAAC,GAAG,CAAC,CAAC,CAAA;IAChC,CAAC;IAED,eAAe,CAAC,oBAAoB,GAAG,IAAI,CAAA,CAAC,+BAA+B;IAC3E,OAAO,IAAI,YAAY,CAAyB,EAAE,CAAC,CAAA;AACrD,CAAC"}
@@ -0,0 +1,15 @@
1
+ type PaintAppend = {
2
+ element: Text | Element;
3
+ relative: Text | Element;
4
+ };
5
+ export declare let paintRemoves: (Text | Element | ChildNode)[];
6
+ export declare let paintContent: (() => any)[];
7
+ export declare let setContent: [string, Text][];
8
+ export declare let paintAppends: PaintAppend[];
9
+ export declare let paintInsertBefores: PaintAppend[];
10
+ export declare let paintAfters: (() => any)[];
11
+ export declare const painting: {
12
+ locks: number;
13
+ };
14
+ export declare function paint(): void;
15
+ export {};
@@ -0,0 +1,42 @@
1
+ export let paintRemoves = [];
2
+ export let paintContent = [];
3
+ export let setContent = [];
4
+ export let paintAppends = [];
5
+ export let paintInsertBefores = [];
6
+ export let paintAfters = [];
7
+ export const painting = {
8
+ locks: 0
9
+ };
10
+ export function paint() {
11
+ if (painting.locks > 0) {
12
+ return;
13
+ }
14
+ ++painting.locks;
15
+ for (const toRemove of paintRemoves) {
16
+ const parentNode = toRemove.parentNode;
17
+ parentNode.removeChild(toRemove);
18
+ }
19
+ for (const content of paintContent) {
20
+ content();
21
+ }
22
+ for (const [text, textNode] of setContent) {
23
+ textNode.textContent = text;
24
+ }
25
+ for (const now of paintAppends) {
26
+ now.relative.appendChild(now.element);
27
+ }
28
+ for (const { element, relative } of paintInsertBefores) {
29
+ relative.parentNode.insertBefore(element, relative);
30
+ }
31
+ for (const now of paintAfters) {
32
+ now();
33
+ }
34
+ paintRemoves = [];
35
+ paintContent = [];
36
+ paintAppends = [];
37
+ paintInsertBefores = [];
38
+ paintAfters = [];
39
+ setContent = [];
40
+ --painting.locks;
41
+ }
42
+ //# sourceMappingURL=paint.function.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"paint.function.js","sourceRoot":"","sources":["../../ts/tag/paint.function.ts"],"names":[],"mappings":"AAKA,MAAM,CAAC,IAAI,YAAY,GAAG,EAAoC,CAAA;AAC9D,MAAM,CAAC,IAAI,YAAY,GAAkB,EAAE,CAAA;AAC3C,MAAM,CAAC,IAAI,UAAU,GAAqB,EAAE,CAAA;AAC5C,MAAM,CAAC,IAAI,YAAY,GAAkB,EAAE,CAAA;AAC3C,MAAM,CAAC,IAAI,kBAAkB,GAAkB,EAAE,CAAA;AACjD,MAAM,CAAC,IAAI,WAAW,GAAkB,EAAE,CAAA;AAE1C,MAAM,CAAC,MAAM,QAAQ,GAAG;IACtB,KAAK,EAAE,CAAC;CACT,CAAA;AAED,MAAM,UAAU,KAAK;IACnB,IAAG,QAAQ,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC;QACtB,OAAM;IACR,CAAC;IAED,EAAE,QAAQ,CAAC,KAAK,CAAA;IAEhB,KAAI,MAAM,QAAQ,IAAI,YAAY,EAAE,CAAC;QACnC,MAAM,UAAU,GAAG,QAAQ,CAAC,UAAwB,CAAA;QACpD,UAAU,CAAC,WAAW,CAAC,QAAmB,CAAC,CAAA;IAC7C,CAAC;IAED,KAAI,MAAM,OAAO,IAAI,YAAY,EAAE,CAAC;QAClC,OAAO,EAAE,CAAA;IACX,CAAC;IAED,KAAI,MAAM,CAAC,IAAI,EAAE,QAAQ,CAAC,IAAI,UAAU,EAAE,CAAC;QACzC,QAAQ,CAAC,WAAW,GAAG,IAAI,CAAA;IAC7B,CAAC;IAED,KAAI,MAAM,GAAG,IAAI,YAAY,EAAE,CAAC;QAC9B,GAAG,CAAC,QAAQ,CAAC,WAAW,CAAC,GAAG,CAAC,OAAO,CAAC,CAAA;IACvC,CAAC;IAED,KAAI,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,IAAI,kBAAkB,EAAE,CAAC;QACrD,QAAQ,CAAC,UAAyB,CAAC,YAAY,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAA;IACrE,CAAC;IAED,KAAI,MAAM,GAAG,IAAI,WAAW,EAAE,CAAC;QAC7B,GAAG,EAAE,CAAA;IACP,CAAC;IAED,YAAY,GAAG,EAAE,CAAA;IACjB,YAAY,GAAG,EAAE,CAAA;IACjB,YAAY,GAAG,EAAE,CAAA;IACjB,kBAAkB,GAAG,EAAE,CAAA;IACvB,WAAW,GAAG,EAAE,CAAA;IAChB,UAAU,GAAG,EAAE,CAAA;IACf,EAAE,QAAQ,CAAC,KAAK,CAAA;AAClB,CAAC"}
@@ -0,0 +1,3 @@
1
+ import { AnySupport } from './Support.class.js';
2
+ import { ContextItem } from './Context.types.js';
3
+ export declare function processUpdateAttrContext(values: unknown[], value: unknown, contextItem: ContextItem, ownerSupport: AnySupport): void;
@@ -0,0 +1,14 @@
1
+ import { processAttributeEmit, updateNameOnlyAttrValue } from '../interpolations/attributes/processAttribute.function.js';
2
+ export function processUpdateAttrContext(values, value, contextItem, ownerSupport) {
3
+ if (contextItem.isNameOnly) {
4
+ updateNameOnlyAttrValue(values, value, contextItem.value, contextItem.element, // global.element as Element,
5
+ ownerSupport, contextItem.howToSet, []);
6
+ contextItem.value = value;
7
+ return;
8
+ }
9
+ const element = contextItem.element;
10
+ processAttributeEmit(value, contextItem.attrName, contextItem, element, ownerSupport, contextItem.howToSet, contextItem.isSpecial);
11
+ contextItem.value = value;
12
+ return;
13
+ }
14
+ //# sourceMappingURL=processUpdateAttrContext.function.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"processUpdateAttrContext.function.js","sourceRoot":"","sources":["../../ts/tag/processUpdateAttrContext.function.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,oBAAoB,EAAE,uBAAuB,EAAE,MAAM,2DAA2D,CAAA;AAGzH,MAAM,UAAU,wBAAwB,CACtC,MAAiB,EACjB,KAAc,EACd,WAAwB,EACxB,YAAwB;IAExB,IAAG,WAAW,CAAC,UAAU,EAAE,CAAC;QAC1B,uBAAuB,CACrB,MAAM,EACN,KAAe,EACf,WAAW,CAAC,KAAK,EACjB,WAAW,CAAC,OAAkB,EAAC,6BAA6B;QAC5D,YAAY,EACZ,WAAW,CAAC,QAAoB,EAChC,EAAE,CACH,CAAA;QAED,WAAW,CAAC,KAAK,GAAG,KAAK,CAAA;QAEzB,OAAM;IACR,CAAC;IAED,MAAM,OAAO,GAAG,WAAW,CAAC,OAAkB,CAAA;IAC9C,oBAAoB,CAClB,KAAK,EACL,WAAW,CAAC,QAAkB,EAC9B,WAAW,EACX,OAAO,EACP,YAAY,EACZ,WAAW,CAAC,QAAoB,EAChC,WAAW,CAAC,SAAoB,CACjC,CAAA;IAED,WAAW,CAAC,KAAK,GAAG,KAAK,CAAA;IAEzB,OAAM;AACR,CAAC"}
@@ -0,0 +1,5 @@
1
+ import { AnySupport } from './Support.class.js';
2
+ import { Context } from './Context.types.js';
3
+ export declare function processUpdateContext(support: AnySupport, context: Context): Context;
4
+ /** returns boolean of did render */
5
+ export declare function processUpdateOneContext(values: unknown[], index: number, context: Context, ownerSupport: AnySupport): void;
@@ -0,0 +1,35 @@
1
+ import { updateExistingValue } from './update/updateExistingValue.function.js';
2
+ import { isSubjectInstance } from '../isInstance.js';
3
+ import { processUpdateAttrContext } from './processUpdateAttrContext.function.js';
4
+ export function processUpdateContext(support, context) {
5
+ const thisTag = support.templater.tag;
6
+ const values = thisTag.values;
7
+ let index = 0;
8
+ const len = values.length;
9
+ while (index < len) {
10
+ processUpdateOneContext(values, index, context, support);
11
+ ++index;
12
+ }
13
+ return context;
14
+ }
15
+ /** returns boolean of did render */
16
+ export function processUpdateOneContext(values, index, context, ownerSupport) {
17
+ const value = values[index];
18
+ // is something already there?
19
+ const contextItem = context[index];
20
+ if (isSubjectInstance(value)) {
21
+ return; // emits on its own
22
+ }
23
+ if (contextItem.isAttr) {
24
+ // Do not continue if the value is just the same
25
+ if (value === contextItem.value) {
26
+ return;
27
+ }
28
+ processUpdateAttrContext(values, value, contextItem, ownerSupport);
29
+ contextItem.value = value;
30
+ }
31
+ // listeners will evaluate updated values to possibly update display(s)
32
+ updateExistingValue(contextItem, value, ownerSupport);
33
+ contextItem.value = value;
34
+ }
35
+ //# sourceMappingURL=processUpdateContext.function.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"processUpdateContext.function.js","sourceRoot":"","sources":["../../ts/tag/processUpdateContext.function.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,mBAAmB,EAAE,MAAM,0CAA0C,CAAA;AAE9E,OAAO,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAA;AACpD,OAAO,EAAE,wBAAwB,EAAE,MAAM,wCAAwC,CAAA;AAEjF,MAAM,UAAU,oBAAoB,CAClC,OAAmB,EACnB,OAAgB;IAEhB,MAAM,OAAO,GAAG,OAAO,CAAC,SAAS,CAAC,GAAyB,CAAA;IAC3D,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,CAAA;IAE7B,IAAI,KAAK,GAAG,CAAC,CAAA;IACb,MAAM,GAAG,GAAG,MAAM,CAAC,MAAM,CAAA;IACzB,OAAO,KAAK,GAAG,GAAG,EAAE,CAAC;QACnB,uBAAuB,CACrB,MAAM,EACN,KAAK,EACL,OAAO,EACP,OAAO,CACR,CAAA;QAED,EAAE,KAAK,CAAA;IACT,CAAC;IAED,OAAO,OAAO,CAAA;AAChB,CAAC;AAED,oCAAoC;AACpC,MAAM,UAAU,uBAAuB,CACrC,MAAiB,EACjB,KAAa,EACb,OAAgB,EAChB,YAAwB;IAExB,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAQ,CAAA;IAElC,8BAA8B;IAC9B,MAAM,WAAW,GAAG,OAAO,CAAC,KAAK,CAAC,CAAA;IAElC,IAAG,iBAAiB,CAAC,KAAK,CAAC,EAAE,CAAC;QAC5B,OAAM,CAAC,mBAAmB;IAC5B,CAAC;IAED,IAAG,WAAW,CAAC,MAAM,EAAE,CAAC;QACtB,gDAAgD;QAChD,IAAG,KAAK,KAAK,WAAW,CAAC,KAAK,EAAE,CAAC;YAC/B,OAAM;QACR,CAAC;QAED,wBAAwB,CACtB,MAAM,EAAE,KAAK,EAAE,WAAW,EAAE,YAAY,CACzC,CAAA;QAED,WAAW,CAAC,KAAK,GAAG,KAAK,CAAA;IAC3B,CAAC;IAED,uEAAuE;IACvE,mBAAmB,CACjB,WAAW,EACX,KAAK,EACL,YAAY,CACb,CAAA;IAED,WAAW,CAAC,KAAK,GAAG,KAAK,CAAA;AAC3B,CAAC"}
@@ -1,5 +1,3 @@
1
- import { BaseSupport, Support } from '../Support.class.js';
2
- import { TagSubject } from '../../subject.types.js';
3
- export declare function destroyUnlikeTags(lastSupport: Support | BaseSupport, // old
4
- reSupport: Support, // new
5
- subject: TagSubject): void;
1
+ import { AnySupport } from '../Support.class.js';
2
+ export declare function destroyUnlikeTags(lastSupport: AnySupport, // old
3
+ reSupport: AnySupport): void;
@@ -1,8 +1,7 @@
1
1
  import { softDestroySupport } from './softDestroySupport.function.js';
2
2
  import { moveProviders } from '../update/updateExistingTagComponent.function.js';
3
3
  export function destroyUnlikeTags(lastSupport, // old
4
- reSupport, // new
5
- subject) {
4
+ reSupport) {
6
5
  // when a tag is destroyed, disconnect the globals
7
6
  const global = reSupport.subject.global; // = {...oldGlobal} // break memory references
8
7
  moveProviders(lastSupport, reSupport);
@@ -10,6 +9,5 @@ subject) {
10
9
  delete global.deleted;
11
10
  global.oldest = reSupport;
12
11
  global.newest = reSupport;
13
- subject.support = reSupport;
14
12
  }
15
13
  //# sourceMappingURL=destroyUnlikeTags.function.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"destroyUnlikeTags.function.js","sourceRoot":"","sources":["../../../ts/tag/render/destroyUnlikeTags.function.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,kBAAkB,EAAE,MAAM,kCAAkC,CAAA;AAErE,OAAO,EAAE,aAAa,EAAE,MAAM,kDAAkD,CAAA;AAGhF,MAAM,UAAU,iBAAiB,CAC/B,WAAkC,EAAE,MAAM;AAC1C,SAAkB,EAAE,MAAM;AAC1B,OAAmB;IAEnB,kDAAkD;IAClD,MAAM,MAAM,GAAG,SAAS,CAAC,OAAO,CAAC,MAAM,CAAA,CAAC,8CAA8C;IAEtF,aAAa,CAAC,WAAsB,EAAE,SAAS,CAAC,CAAA;IAChD,kBAAkB,CAAC,WAAW,CAAC,CAAA;IAC/B,OAAO,MAAM,CAAC,OAAO,CAAA;IAErB,MAAM,CAAC,MAAM,GAAG,SAAS,CAAA;IACzB,MAAM,CAAC,MAAM,GAAG,SAAS,CACxB;IAAC,OAAe,CAAC,OAAO,GAAG,SAAS,CAAA;AACvC,CAAC"}
1
+ {"version":3,"file":"destroyUnlikeTags.function.js","sourceRoot":"","sources":["../../../ts/tag/render/destroyUnlikeTags.function.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,kBAAkB,EAAE,MAAM,kCAAkC,CAAA;AACrE,OAAO,EAAE,aAAa,EAAE,MAAM,kDAAkD,CAAA;AAEhF,MAAM,UAAU,iBAAiB,CAC/B,WAAuB,EAAE,MAAM;AAC/B,SAAqB;IAErB,kDAAkD;IAClD,MAAM,MAAM,GAAG,SAAS,CAAC,OAAO,CAAC,MAAM,CAAA,CAAC,8CAA8C;IAEtF,aAAa,CAAC,WAAsB,EAAE,SAAS,CAAC,CAAA;IAChD,kBAAkB,CAAC,WAAW,CAAC,CAAA;IAC/B,OAAO,MAAM,CAAC,OAAO,CAAA;IAErB,MAAM,CAAC,MAAM,GAAG,SAAS,CAAA;IACzB,MAAM,CAAC,MAAM,GAAG,SAAS,CAAA;AAC3B,CAAC"}