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
@@ -7,11 +7,10 @@ export declare class Subject<T> implements SubjectLike<T> {
7
7
  isSubject: boolean;
8
8
  subscribers: Subscription<T>[];
9
9
  subscribeWith?: (x: SubjectSubscriber<T>) => Subscription<T>;
10
- _value?: T;
11
- set: T;
12
10
  constructor(value?: T | undefined, onSubscription?: OnSubscription<T> | undefined);
13
- subscribe(callback: SubjectSubscriber<T>): Subscription<any> | Subscription<T>;
11
+ subscribe(callback: SubjectSubscriber<T>): Subscription<T> | Subscription<any>;
14
12
  next(value?: any): void;
13
+ set: (value?: any) => void;
15
14
  emit(): void;
16
15
  toPromise(): Promise<T>;
17
16
  /** like toPromise but faster */
@@ -36,4 +35,12 @@ export declare class Subject<T> implements SubjectLike<T> {
36
35
  static all<A>(args: [Subject<A> | A]): Subject<[A]>;
37
36
  static globalSubCount$: Subject<number>;
38
37
  }
39
- export declare function defineValueOn(subject: Subject<any>): void;
38
+ export declare class Subjective<T> extends Subject<T> {
39
+ value?: T | undefined;
40
+ onSubscription?: OnSubscription<T> | undefined;
41
+ _value?: T;
42
+ constructor(value?: T | undefined, onSubscription?: OnSubscription<T> | undefined);
43
+ next(value?: any): void;
44
+ emit(): void;
45
+ }
46
+ export declare function defineValueOn(subject: Subjective<any>): void;
@@ -10,16 +10,12 @@ export class Subject {
10
10
  // private?
11
11
  subscribers = [];
12
12
  subscribeWith;
13
- _value;
14
- // this is overwritten by constructor at runtime. However having it helps editors know of its existence
15
- set; // `subject.set = x` equal to `subject.next(x)`
16
13
  constructor(value,
17
- // private?
14
+ // private? - only used by extending classes
18
15
  onSubscription) {
19
16
  this.value = value;
20
17
  this.onSubscription = onSubscription;
21
- this._value = value;
22
- defineValueOn(this);
18
+ // defineValueOn(this)
23
19
  }
24
20
  subscribe(callback) {
25
21
  const subscription = getSubscription(this, callback, this.subscribers);
@@ -42,16 +38,17 @@ export class Subject {
42
38
  return subscription;
43
39
  }
44
40
  next(value) {
45
- this._value = value;
41
+ this.value = value;
46
42
  this.emit();
47
43
  }
44
+ set = this.next.bind(this);
48
45
  emit() {
49
- const value = this._value;
46
+ const value = this.value;
50
47
  // Notify all subscribers with the new value
51
- const subs = [...this.subscribers]; // subs may change as we call callbacks
52
- const length = subs.length;
53
- for (let index = 0; index < length; ++index) {
54
- const sub = subs[index];
48
+ // const subs = [...this.subscribers] // subs may change as we call callbacks
49
+ const subs = this.subscribers; // subs may change as we call callbacks
50
+ // const length = subs.length
51
+ for (const sub of subs) {
55
52
  sub.callback(value, sub);
56
53
  }
57
54
  }
@@ -72,7 +69,7 @@ export class Subject {
72
69
  return this;
73
70
  }
74
71
  pipe(...operations) {
75
- const subject = new Subject(this._value);
72
+ const subject = new Subject(this.value);
76
73
  subject.setMethods(operations);
77
74
  subject.subscribeWith = (x) => this.subscribe(x);
78
75
  subject.next = x => this.next(x);
@@ -94,7 +91,35 @@ export class Subject {
94
91
  });
95
92
  return combineLatest(switched);
96
93
  }
97
- static globalSubCount$ = new Subject(0); // for ease of debugging
94
+ static globalSubCount$ = new Subject(0); // for ease of debugging}
95
+ }
96
+ export class Subjective extends Subject {
97
+ value;
98
+ onSubscription;
99
+ _value;
100
+ constructor(value,
101
+ // private?
102
+ onSubscription) {
103
+ super(value, onSubscription);
104
+ this.value = value;
105
+ this.onSubscription = onSubscription;
106
+ this._value = value;
107
+ defineValueOn(this);
108
+ }
109
+ next(value) {
110
+ this._value = value;
111
+ this.emit();
112
+ }
113
+ emit() {
114
+ const value = this._value;
115
+ // Notify all subscribers with the new value
116
+ // const subs = [...this.subscribers] // subs may change as we call callbacks
117
+ const subs = this.subscribers; // subs may change as we call callbacks
118
+ // const length = subs.length
119
+ for (const sub of subs) {
120
+ sub.callback(value, sub);
121
+ }
122
+ }
98
123
  }
99
124
  export function defineValueOn(subject) {
100
125
  Object.defineProperty(subject, 'value', {
@@ -108,11 +133,5 @@ export function defineValueOn(subject) {
108
133
  return subject._value;
109
134
  }
110
135
  });
111
- Object.defineProperty(subject, 'set', {
112
- // supports subject.set = x
113
- set: (value) => subject.next(value),
114
- // supports subject.set(x)
115
- get: () => (x) => subject.next(x),
116
- });
117
136
  }
118
137
  //# sourceMappingURL=Subject.class.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Subject.class.js","sourceRoot":"","sources":["../../ts/subject/Subject.class.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Subject.class.js","sourceRoot":"","sources":["../../ts/subject/Subject.class.ts"],"names":[],"mappings":"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"}
@@ -2,6 +2,11 @@ import { Subject } from './Subject.class.js';
2
2
  import { Subscription } from './subject.utils.js';
3
3
  type ValueSubjectSubscriber<T> = (value: T, subscription: Subscription<T>) => unknown;
4
4
  export declare class ValueSubject<T> extends Subject<T> {
5
+ value: T;
6
+ constructor(value: T);
7
+ subscribe(callback: ValueSubjectSubscriber<T>): Subscription<T> | Subscription<any>;
8
+ }
9
+ export declare class ValueSubjective<T> extends Subject<T> {
5
10
  value: T;
6
11
  _value: T;
7
12
  constructor(value: T);
@@ -4,7 +4,21 @@ export class ValueSubject extends Subject {
4
4
  constructor(value) {
5
5
  super(value);
6
6
  this.value = value;
7
- defineValueOn(this);
7
+ }
8
+ subscribe(callback) {
9
+ const subscription = super.subscribe(callback);
10
+ // Call the callback immediately with the current value
11
+ callback(this.value, subscription);
12
+ return subscription;
13
+ }
14
+ }
15
+ export class ValueSubjective extends Subject {
16
+ value;
17
+ constructor(value) {
18
+ super(value);
19
+ this.value = value;
20
+ this._value = value;
21
+ defineValueOn(this); // if you extend this AND have a constructor, you must call this in your extension
8
22
  }
9
23
  subscribe(callback) {
10
24
  const subscription = super.subscribe(callback);
@@ -1 +1 @@
1
- {"version":3,"file":"ValueSubject.js","sourceRoot":"","sources":["../../ts/subject/ValueSubject.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAA;AAQ3D,MAAM,OAAO,YAAgB,SAAQ,OAAU;IAG1B;IAAnB,YAAmB,KAAQ;QACzB,KAAK,CAAC,KAAK,CAAC,CAAA;QADK,UAAK,GAAL,KAAK,CAAG;QAGzB,aAAa,CAAC,IAAI,CAAC,CAAA;IACrB,CAAC;IAED,SAAS,CAAC,QAAmC;QAC3C,MAAM,YAAY,GAAG,KAAK,CAAC,SAAS,CAAC,QAAgC,CAAC,CAAA;QAEtE,uDAAuD;QACvD,QAAQ,CAAC,IAAI,CAAC,MAAM,EAAE,YAAY,CAAC,CAAA;QAEnC,OAAO,YAAY,CAAA;IACrB,CAAC;CACF"}
1
+ {"version":3,"file":"ValueSubject.js","sourceRoot":"","sources":["../../ts/subject/ValueSubject.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAA;AAQ3D,MAAM,OAAO,YAAgB,SAAQ,OAAU;IAC1B;IAAnB,YAAmB,KAAQ;QACzB,KAAK,CAAC,KAAK,CAAC,CAAA;QADK,UAAK,GAAL,KAAK,CAAG;IAE3B,CAAC;IAED,SAAS,CAAC,QAAmC;QAC3C,MAAM,YAAY,GAAG,KAAK,CAAC,SAAS,CAAC,QAAgC,CAAC,CAAA;QAEtE,uDAAuD;QACvD,QAAQ,CAAC,IAAI,CAAC,KAAU,EAAE,YAAY,CAAC,CAAA;QAEvC,OAAO,YAAY,CAAA;IACrB,CAAC;CACF;AAED,MAAM,OAAO,eAAmB,SAAQ,OAAU;IAG7B;IAAnB,YAAmB,KAAQ;QACzB,KAAK,CAAC,KAAK,CAAC,CAAA;QADK,UAAK,GAAL,KAAK,CAAG;QAEzB,IAAI,CAAC,MAAM,GAAG,KAAK,CAAA;QACnB,aAAa,CAAC,IAAI,CAAC,CAAA,CAAC,kFAAkF;IACxG,CAAC;IAED,SAAS,CAAC,QAAmC;QAC3C,MAAM,YAAY,GAAG,KAAK,CAAC,SAAS,CAAC,QAAgC,CAAC,CAAA;QAEtE,uDAAuD;QACvD,QAAQ,CAAC,IAAI,CAAC,MAAM,EAAE,YAAY,CAAC,CAAA;QAEnC,OAAO,YAAY,CAAA;IACrB,CAAC;CACF"}
@@ -11,8 +11,8 @@ export function combineLatest(subjects) {
11
11
  if (!countMatched) {
12
12
  return;
13
13
  }
14
- for (let index = valuesSeen.length - 1; index >= 0; --index) {
15
- if (!valuesSeen[index]) {
14
+ for (const item of valuesSeen) {
15
+ if (!item) {
16
16
  return;
17
17
  }
18
18
  }
@@ -22,7 +22,9 @@ export function combineLatest(subjects) {
22
22
  const clones = [...subjects];
23
23
  const firstSub = clones.shift();
24
24
  const subscription = firstSub.subscribe(x => setValue(x, 0));
25
- const subscriptions = clones.map((subject, index) => subject.subscribe(x => setValue(x, index + 1)));
25
+ const subscriptions = clones.map((subject, index) => {
26
+ return subject.subscribe(x => setValue(x, index + 1));
27
+ });
26
28
  subscription.subscriptions = subscriptions;
27
29
  return subscription;
28
30
  };
@@ -1 +1 @@
1
- {"version":3,"file":"combineLatest.function.js","sourceRoot":"","sources":["../../ts/subject/combineLatest.function.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAA;AAG5C,MAAM,UAAU,aAAa,CAC3B,QAAwB;IAExB,MAAM,MAAM,GAAG,IAAI,OAAO,EAAE,CAAA;IAE5B,MAAM,SAAS,GAAG,CAChB,QAAgC,EAChC,EAAE;QACF,MAAM,UAAU,GAAW,EAAE,CAAA;QAC7B,MAAM,MAAM,GAAU,EAAE,CAAA;QACxB,MAAM,QAAQ,GAAG,CAAC,CAAM,EAAE,KAAa,EAAE,EAAE;YACzC,UAAU,CAAC,KAAK,CAAC,GAAG,IAAI,CAAA;YACxB,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;YACjB,MAAM,YAAY,GAAG,UAAU,CAAC,MAAM,KAAK,QAAQ,CAAC,MAAM,CAAA;YAE1D,IAAG,CAAC,YAAY,EAAE,CAAC;gBACjB,OAAM;YACR,CAAC;YAED,KAAK,IAAI,KAAK,GAAG,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,KAAK,IAAI,CAAC,EAAE,EAAE,KAAK,EAAE,CAAC;gBAC5D,IAAG,CAAC,UAAU,CAAC,KAAK,CAAC,EAAE,CAAC;oBACtB,OAAM;gBACR,CAAC;YACH,CAAC;YAED,+BAA+B;YAC/B,QAAQ,CAAC,MAAM,EAAE,YAAY,CAAC,CAAA;QAChC,CAAC,CAAA;QAED,MAAM,MAAM,GAAG,CAAC,GAAG,QAAQ,CAAC,CAAA;QAC5B,MAAM,QAAQ,GAAG,MAAM,CAAC,KAAK,EAAkB,CAAA;QAC/C,MAAM,YAAY,GAAsB,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAA;QAE/E,MAAM,aAAa,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,KAAK,EAAE,EAAE,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC,EAAE,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,CAAA;QAEpG,YAAY,CAAC,aAAa,GAAG,aAAa,CAAA;QAE1C,OAAO,YAAY,CAAA;IACrB,CAAC,CAAA;IAED,MAAM,CAAC,aAAa,GAAG,SAAS,CAAA;IAEhC,OAAO,MAAM,CAAA;AACf,CAAC"}
1
+ {"version":3,"file":"combineLatest.function.js","sourceRoot":"","sources":["../../ts/subject/combineLatest.function.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAA;AAG5C,MAAM,UAAU,aAAa,CAC3B,QAAwB;IAExB,MAAM,MAAM,GAAG,IAAI,OAAO,EAAE,CAAA;IAE5B,MAAM,SAAS,GAAG,CAChB,QAAgC,EAChC,EAAE;QACF,MAAM,UAAU,GAAW,EAAE,CAAA;QAC7B,MAAM,MAAM,GAAU,EAAE,CAAA;QACxB,MAAM,QAAQ,GAAG,CAAC,CAAM,EAAE,KAAa,EAAE,EAAE;YACzC,UAAU,CAAC,KAAK,CAAC,GAAG,IAAI,CAAA;YACxB,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;YACjB,MAAM,YAAY,GAAG,UAAU,CAAC,MAAM,KAAK,QAAQ,CAAC,MAAM,CAAA;YAE1D,IAAG,CAAC,YAAY,EAAE,CAAC;gBACjB,OAAM;YACR,CAAC;YAED,KAAK,MAAM,IAAI,IAAI,UAAU,EAAE,CAAC;gBAC9B,IAAG,CAAC,IAAI,EAAE,CAAC;oBACT,OAAM;gBACR,CAAC;YACH,CAAC;YAED,+BAA+B;YAC/B,QAAQ,CAAC,MAAM,EAAE,YAAY,CAAC,CAAA;QAChC,CAAC,CAAA;QAED,MAAM,MAAM,GAAG,CAAC,GAAG,QAAQ,CAAC,CAAA;QAC5B,MAAM,QAAQ,GAAG,MAAM,CAAC,KAAK,EAAkB,CAAA;QAC/C,MAAM,YAAY,GAAsB,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAA;QAE/E,MAAM,aAAa,GAAG,MAAM,CAAC,GAAG,CAC9B,CAAC,OAAO,EAAE,KAAK,EAAE,EAAE;YACjB,OAAO,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC,EAAE,KAAK,GAAG,CAAC,CAAC,CAAC,CAAA;QACvD,CAAC,CACF,CAAA;QAED,YAAY,CAAC,aAAa,GAAG,aAAa,CAAA;QAE1C,OAAO,YAAY,CAAA;IACrB,CAAC,CAAA;IAED,MAAM,CAAC,aAAa,GAAG,SAAS,CAAA;IAEhC,OAAO,MAAM,CAAA;AACf,CAAC"}
@@ -7,25 +7,15 @@ function removeSubFromArray(subscribers, callback) {
7
7
  }
8
8
  export function getSubscription(subject, callback, subscribers) {
9
9
  const countSubject = Subject.globalSubCount$;
10
- Subject.globalSubCount$.next(countSubject._value + 1);
11
- const subscription = () => {
10
+ Subject.globalSubCount$.next(countSubject.value + 1);
11
+ const subscription = function () {
12
12
  subscription.unsubscribe();
13
13
  };
14
14
  subscription.callback = callback;
15
15
  subscription.subscriptions = [];
16
16
  // Return a function to unsubscribe from the BehaviorSubject
17
- subscription.unsubscribe = () => {
18
- removeSubFromArray(subscribers, callback); // each will be called when update comes in
19
- // removeSubFromArray(Subject.globalSubs, callback) // 🔬 testing
20
- Subject.globalSubCount$.next(countSubject._value - 1);
21
- // any double unsubscribes will be ignored
22
- subscription.unsubscribe = () => subscription;
23
- // unsubscribe from any combined subjects
24
- const subscriptions = subscription.subscriptions;
25
- for (let index = subscriptions.length - 1; index >= 0; --index) {
26
- subscriptions[index].unsubscribe();
27
- }
28
- return subscription;
17
+ subscription.unsubscribe = function () {
18
+ return unsubscribe(subscription, subscribers, callback);
29
19
  };
30
20
  subscription.add = (sub) => {
31
21
  subscription.subscriptions.push(sub);
@@ -51,4 +41,17 @@ export function runPipedMethods(value, methods, onComplete) {
51
41
  const methodResponse = firstMethod(value, pipeUtils);
52
42
  handler(methodResponse);
53
43
  }
44
+ function unsubscribe(subscription, subscribers, callback) {
45
+ removeSubFromArray(subscribers, callback); // each will be called when update comes in
46
+ const valSub = Subject.globalSubCount$;
47
+ Subject.globalSubCount$.next(valSub.value - 1);
48
+ // any double unsubscribes will be ignored
49
+ subscription.unsubscribe = () => subscription;
50
+ // unsubscribe from any combined subjects
51
+ const subscriptions = subscription.subscriptions;
52
+ for (const sub of subscriptions) {
53
+ sub.unsubscribe();
54
+ }
55
+ return subscription;
56
+ }
54
57
  //# sourceMappingURL=subject.utils.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"subject.utils.js","sourceRoot":"","sources":["../../ts/subject/subject.utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAA;AA6C5C,SAAS,kBAAkB,CACzB,WAAgC,EAChC,QAAgC;IAEhC,MAAM,KAAK,GAAG,WAAW,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,QAAQ,KAAK,QAAQ,CAAC,CAAA;IACrE,IAAI,KAAK,KAAK,CAAC,CAAC,EAAE,CAAC;QACjB,WAAW,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAA;IAC9B,CAAC;AACH,CAAC;AAED,MAAM,UAAU,eAAe,CAC7B,OAAmB,EACnB,QAAgC,EAChC,WAA8B;IAE9B,MAAM,YAAY,GAAG,OAAO,CAAC,eAAuC,CAAA;IACpE,OAAO,CAAC,eAAe,CAAC,IAAI,CAAE,YAAY,CAAC,MAAM,GAAG,CAAC,CAAE,CAAA;IAEvD,MAAM,YAAY,GAAsB,GAAG,EAAE;QAC3C,YAAY,CAAC,WAAW,EAAE,CAAA;IAC5B,CAAC,CAAA;IAED,YAAY,CAAC,QAAQ,GAAG,QAAQ,CAAA;IAChC,YAAY,CAAC,aAAa,GAAG,EAAE,CAAA;IAE/B,4DAA4D;IAC5D,YAAY,CAAC,WAAW,GAAG,GAAG,EAAE;QAC9B,kBAAkB,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAA,CAAC,2CAA2C;QACrF,iEAAiE;QACjE,OAAO,CAAC,eAAe,CAAC,IAAI,CAAE,YAAY,CAAC,MAAM,GAAG,CAAC,CAAE,CAAA;QAEvD,0CAA0C;QAC1C,YAAY,CAAC,WAAW,GAAG,GAAG,EAAE,CAAC,YAAY,CAAA;QAE7C,yCAAyC;QACzC,MAAM,aAAa,GAAG,YAAY,CAAC,aAAa,CAAA;QAChD,KAAK,IAAI,KAAK,GAAG,aAAa,CAAC,MAAM,GAAG,CAAC,EAAE,KAAK,IAAI,CAAC,EAAE,EAAE,KAAK,EAAE,CAAC;YAC/D,aAAa,CAAC,KAAK,CAAC,CAAC,WAAW,EAAE,CAAA;QACpC,CAAC;QAED,OAAO,YAAY,CAAA;IACrB,CAAC,CAAA;IAED,YAAY,CAAC,GAAG,GAAG,CAAC,GAAoB,EAAE,EAAE;QAC1C,YAAY,CAAC,aAAa,CAAC,IAAI,CAAE,GAAG,CAAE,CAAA;QACtC,OAAO,YAAY,CAAA;IACrB,CAAC,CAAA;IAED,YAAY,CAAC,IAAI,GAAG,CAAC,KAAU,EAAE,EAAE;QACjC,QAAQ,CAAC,KAAK,EAAE,YAAY,CAAC,CAAA;IAC/B,CAAC,CAAA;IAED,OAAO,YAAY,CAAA;AACrB,CAAC;AAED,MAAM,UAAU,eAAe,CAC7B,KAAU,EACV,OAA0C,EAC1C,UAAmC;IAEnC,MAAM,YAAY,GAAG,CAAC,GAAG,OAAO,CAAC,CAAA;IAEjC,MAAM,WAAW,GAAG,YAAY,CAAC,KAAK,EAAqC,CAAA;IAE3E,MAAM,IAAI,GAAG,CAAC,QAAa,EAAE,EAAE;QAC7B,IAAG,YAAY,CAAC,MAAM,EAAE,CAAC;YACvB,OAAO,eAAe,CAAC,QAAQ,EAAE,YAAY,EAAE,UAAU,CAAC,CAAA;QAC5D,CAAC;QAED,UAAU,CAAC,QAAQ,CAAC,CAAA;IACtB,CAAC,CAAA;IAED,IAAI,OAAO,GAAiB,IAAI,CAAA;IAEhC,MAAM,UAAU,GAAoB,CAAC,CAAe,EAAE,EAAE,CAAC,OAAO,GAAG,CAAC,CAAA;IACpE,MAAM,SAAS,GAAG,EAAC,UAAU,EAAE,IAAI,EAAC,CAAA;IACpC,MAAM,cAAc,GAAG,WAAW,CAAC,KAAK,EAAE,SAAS,CAAC,CAAA;IACpD,OAAO,CAAC,cAAc,CAAC,CAAA;AACzB,CAAC"}
1
+ {"version":3,"file":"subject.utils.js","sourceRoot":"","sources":["../../ts/subject/subject.utils.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"will.functions.js","sourceRoot":"","sources":["../../ts/subject/will.functions.ts"],"names":[],"mappings":"AAMA,MAAM,UAAU,YAAY,CAC1B,QAA4B;IAE5B,OAAO,CAAC,CAAC,SAAc,EAAE,KAAU,EAAE,EAAE;QACrC,KAAK,CAAC,UAAU,CAAC,GAAG,EAAE;YACpB,OAAO,SAAgB,CAAC;QAC1B,CAAC,CAAC,CAAC;QAEH,QAAQ,CAAC,SAAS,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;IAClC,CAAC,CAAQ,CAAA;AACX,CAAC;AAED,mDAAmD;AACnD,MAAM,UAAU,WAAW,CACzB,QAEe;IAEf,OAAO,CAAC,CAAC,SAAY,EAAE,KAAU,EAAE,EAAE;QACnC,KAAK,CAAC,UAAU,CAAC,GAAG,EAAE;YACpB,OAAO,SAAgB,CAAA;QACzB,CAAC,CAAC,CAAA,CAAC,+BAA+B;QAElC,MAAM,MAAM,GAAG,QAAQ,CAAC,SAAS,CAAiB,CAAA;QAElD,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAA;IACjC,CAAC,CAAQ,CAAA;AACX,CAAC;AAED,0DAA0D;AAC1D,MAAM,CAAC,MAAM,aAAa,GAAG,CAC3B,QAEmB,EACU,EAAE;IAC/B,OAAO,CAAC,CAAC,SAAY,EAAE,KAAmB,EAAE,EAAE;QAC5C,KAAK,CAAC,UAAU,CAAC,GAAG,EAAE;YACpB,OAAO,SAAgB,CAAA;QACzB,CAAC,CAAC,CAAA,CAAC,+BAA+B;QAElC,MAAM,MAAM,GAAG,QAAQ,CAAC,SAAS,CAAe,CAAA;QAEhD,MAAM,YAAY,GAAG,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE;YACxC,YAAY,CAAC,WAAW,EAAE,CAAA;YAC1B,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;QACf,CAAC,CAAC,CAAA;IACJ,CAAC,CAAQ,CAAA;AACX,CAAC,CAAA"}
1
+ {"version":3,"file":"will.functions.js","sourceRoot":"","sources":["../../ts/subject/will.functions.ts"],"names":[],"mappings":"AAMA,MAAM,UAAU,YAAY,CAC1B,QAA4B;IAE5B,OAAO,CAAC,CAAC,SAAc,EAAE,KAAU,EAAE,EAAE;QACrC,KAAK,CAAC,UAAU,CAAC,GAAG,EAAE;YACpB,OAAO,SAAgB,CAAC;QAC1B,CAAC,CAAC,CAAC;QAEH,QAAQ,CAAC,SAAS,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;IAClC,CAAC,CAAQ,CAAA;AACX,CAAC;AAED,mDAAmD;AACnD,MAAM,UAAU,WAAW,CACzB,QAEe;IAEf,OAAO,CAAC,CAAC,SAAY,EAAE,KAAU,EAAE,EAAE;QACnC,KAAK,CAAC,UAAU,CAAC,GAAG,EAAE;YACpB,OAAO,SAAgB,CAAA;QACzB,CAAC,CAAC,CAAA,CAAC,+BAA+B;QAElC,MAAM,MAAM,GAAG,QAAQ,CAAC,SAAS,CAAiB,CAAA;QAElD,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAA;IACjC,CAAC,CAAQ,CAAA;AACX,CAAC;AAED,0DAA0D;AAC1D,MAAM,CAAC,MAAM,aAAa,GAAG,CAC3B,QAEmB,EACU,EAAE;IAC/B,OAAO,CAAC,CAAC,SAAY,EAAE,KAAmB,EAAE,EAAE;QAC5C,KAAK,CAAC,UAAU,CAAC,GAAG,EAAE;YACpB,OAAO,SAAgB,CAAA;QACzB,CAAC,CAAC,CAAA,CAAC,+BAA+B;QAElC,MAAM,MAAM,GAAG,QAAQ,CAAC,SAAS,CAAe,CAAA;QAChD,MAAM,YAAY,GAAG,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE;YACxC,YAAY,CAAC,WAAW,EAAE,CAAA;YAC1B,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;QACf,CAAC,CAAC,CAAA;IACJ,CAAC,CAAQ,CAAA;AACX,CAAC,CAAA"}
@@ -1,18 +1,6 @@
1
- import { InsertBefore } from './interpolations/InsertBefore.type.js';
2
- import { BaseTagSupport, TagSupport } from './tag/TagSupport.class.js';
3
- import { TemplaterResult } from './tag/TemplaterResult.class.js';
4
- import { Template } from './interpolations/interpolateTemplate.js';
5
- import { Subject } from './subject/Subject.class.js';
6
- import { ValueSubject } from './subject/ValueSubject.js';
7
- export type WasTagSubject = Subject<TemplaterResult> & {
8
- tagSupport?: BaseTagSupport | TagSupport;
9
- };
10
- export type TagSubject = ValueSubject<TemplaterResult> & {
11
- tagSupport: TagSupport;
1
+ import { BaseSupport, Support } from './tag/Support.class.js';
2
+ import { ContextItem } from './tag/Tag.class.js';
3
+ export type WasTagSubject = ContextItem & {
4
+ support?: BaseSupport | Support;
12
5
  };
13
6
  export type RegularValue = string | number | boolean;
14
- export type DisplaySubject = Subject<RegularValue> & {
15
- lastValue?: RegularValue;
16
- clone?: Element | Text | Template;
17
- insertBefore: InsertBefore;
18
- };
@@ -0,0 +1,21 @@
1
+ import { Clone, TagGlobal } from './TemplaterResult.class.js';
2
+ import { HowToSet } from '../interpolations/attributes/howToSetInputValue.function.js';
3
+ import { SpecialDefinition } from '../interpolations/attributes/processAttribute.function.js';
4
+ import { InterpolateSubject } from './update/processFirstSubject.utils.js';
5
+ export type ContextItem = {
6
+ isAttr?: true;
7
+ element?: Element;
8
+ howToSet?: HowToSet;
9
+ isNameOnly?: boolean;
10
+ attrName?: string;
11
+ isSpecial?: SpecialDefinition;
12
+ placeholder?: Text;
13
+ simpleValueElm?: Clone;
14
+ lastArray?: Context;
15
+ subject?: InterpolateSubject;
16
+ global?: TagGlobal;
17
+ value?: any;
18
+ withinOwnerElement: boolean;
19
+ checkValueChange: (value: unknown, subject: ContextItem) => number | boolean;
20
+ };
21
+ export type Context = ContextItem[];
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=Context.types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Context.types.js","sourceRoot":"","sources":["../../ts/tag/Context.types.ts"],"names":[],"mappings":""}
@@ -0,0 +1,34 @@
1
+ import { SupportTagGlobal, TemplaterResult } from './TemplaterResult.class.js';
2
+ import { ContextItem } from './Context.types.js';
3
+ import { State } from '../state/index.js';
4
+ import { Props } from '../Props.js';
5
+ export type AnySupport = (BaseSupport & {});
6
+ export type PropsConfig = {
7
+ latest: Props;
8
+ castProps?: Props;
9
+ };
10
+ export type HtmlSupport = {
11
+ appSupport: BaseSupport;
12
+ ownerSupport?: AnySupport;
13
+ appElement?: Element;
14
+ propsConfig?: PropsConfig;
15
+ templater: TemplaterResult;
16
+ subject: ContextItem;
17
+ };
18
+ export type BaseSupport = HtmlSupport & {
19
+ state: State;
20
+ subject: SupportContextItem;
21
+ };
22
+ export type SupportContextItem = ContextItem & {
23
+ global: SupportTagGlobal;
24
+ };
25
+ /** used only for apps, otherwise use Support */
26
+ export declare function getBaseSupport(templater: TemplaterResult, subject: SupportContextItem, castedProps?: Props): BaseSupport;
27
+ export type Support = BaseSupport & {
28
+ ownerSupport: AnySupport;
29
+ appSupport: BaseSupport;
30
+ };
31
+ export declare function getSupport(templater: TemplaterResult, // at runtime rendering of a tag, it needs to be married to a new Support()
32
+ ownerSupport: AnySupport, appSupport: BaseSupport, subject: ContextItem, castedProps?: Props): Support;
33
+ export declare function getHtmlSupport(templater: TemplaterResult, // at runtime rendering of a tag, it needs to be married to a new Support()
34
+ ownerSupport: AnySupport, appSupport: BaseSupport, subject: ContextItem, castedProps?: Props): Support;
@@ -0,0 +1,41 @@
1
+ import { clonePropsBy } from './clonePropsBy.function.js';
2
+ import { Subject } from '../subject/Subject.class.js';
3
+ /** used only for apps, otherwise use Support */
4
+ export function getBaseSupport(templater, subject, castedProps) {
5
+ const baseSupport = {
6
+ templater,
7
+ subject,
8
+ castedProps,
9
+ state: [], // TODO: this is not needed for every type of tag
10
+ appSupport: undefined,
11
+ };
12
+ baseSupport.appSupport = baseSupport;
13
+ const global = subject.global;
14
+ global.blocked = [];
15
+ global.destroy$ = new Subject();
16
+ const props = templater.props; // natural props
17
+ if (props) {
18
+ baseSupport.propsConfig = clonePropsBy(baseSupport, props, castedProps);
19
+ }
20
+ return baseSupport;
21
+ }
22
+ export function getSupport(templater, // at runtime rendering of a tag, it needs to be married to a new Support()
23
+ ownerSupport, appSupport, subject, castedProps) {
24
+ const support = getBaseSupport(templater, subject, castedProps);
25
+ support.ownerSupport = ownerSupport;
26
+ support.appSupport = appSupport;
27
+ return support;
28
+ }
29
+ export function getHtmlSupport(templater, // at runtime rendering of a tag, it needs to be married to a new Support()
30
+ ownerSupport, appSupport, subject, castedProps) {
31
+ const support = {
32
+ templater,
33
+ subject,
34
+ castedProps,
35
+ appSupport: undefined,
36
+ };
37
+ support.ownerSupport = ownerSupport;
38
+ support.appSupport = appSupport;
39
+ return support;
40
+ }
41
+ //# sourceMappingURL=Support.class.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Support.class.js","sourceRoot":"","sources":["../../ts/tag/Support.class.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAA;AACzD,OAAO,EAAE,OAAO,EAAE,MAAM,6BAA6B,CAAA;AAkCrD,gDAAgD;AAChD,MAAM,UAAU,cAAc,CAC5B,SAA0B,EAC1B,OAA2B,EAC3B,WAAmB;IAEnB,MAAM,WAAW,GAAG;QAClB,SAAS;QACT,OAAO;QACP,WAAW;QACX,KAAK,EAAE,EAAE,EAAE,kDAAkD;QAE7D,UAAU,EAAE,SAA+B;KAC7B,CAAA;IAEhB,WAAW,CAAC,UAAU,GAAG,WAAW,CAAA;IAEpC,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,CAAA;IAC7B,MAAM,CAAC,OAAO,GAAG,EAAE,CAAA;IACnB,MAAM,CAAC,QAAQ,GAAG,IAAI,OAAO,EAAQ,CAAA;IAErC,MAAM,KAAK,GAAG,SAAS,CAAC,KAAK,CAAA,CAAE,gBAAgB;IAC/C,IAAG,KAAK,EAAE,CAAC;QACT,WAAW,CAAC,WAAW,GAAG,YAAY,CAAC,WAAW,EAAE,KAAK,EAAE,WAAW,CAAC,CAAA;IACzE,CAAC;IAED,OAAO,WAAW,CAAA;AACpB,CAAC;AAOD,MAAM,UAAU,UAAU,CACxB,SAA0B,EAAE,2EAA2E;AACvG,YAAwB,EACxB,UAAuB,EACvB,OAAoB,EACpB,WAAmB;IAEnB,MAAM,OAAO,GAAG,cAAc,CAC5B,SAAS,EACT,OAA6B,EAC7B,WAAW,CACZ,CAAA;IAED,OAAO,CAAC,YAAY,GAAG,YAAY,CAAA;IACnC,OAAO,CAAC,UAAU,GAAG,UAAU,CAAA;IAE/B,OAAO,OAAkB,CAAA;AAC3B,CAAC;AAED,MAAM,UAAU,cAAc,CAC5B,SAA0B,EAAE,2EAA2E;AACvG,YAAwB,EACxB,UAAuB,EACvB,OAAoB,EACpB,WAAmB;IAEnB,MAAM,OAAO,GAAG;QACd,SAAS;QACT,OAAO;QACP,WAAW;QAEX,UAAU,EAAE,SAA+B;KAC7B,CAAA;IAEhB,OAAO,CAAC,YAAY,GAAG,YAAY,CAAA;IACnC,OAAO,CAAC,UAAU,GAAG,UAAU,CAAA;IAC/B,OAAO,OAAkB,CAAA;AAC3B,CAAC"}
@@ -1,15 +1,16 @@
1
- import { Counts } from '../interpolations/interpolateTemplate.js';
2
1
  import { State } from '../state/index.js';
3
2
  import { InterpolatedTemplates } from '../interpolations/interpolations.js';
4
- import { InterpolateSubject } from './update/processFirstSubject.utils.js';
5
3
  import { TemplaterResult } from './TemplaterResult.class.js';
6
4
  import { TagValues } from './html.js';
7
5
  import { ValueTypes } from './ValueTypes.enum.js';
8
- export declare const variablePrefix = "__tagvar";
9
- export declare const escapeVariable: string;
10
- export declare const escapeSearch: RegExp;
11
- export type Context = {
12
- [index: string]: InterpolateSubject;
6
+ import { DomMetaMap, LikeObjectChildren } from '../interpolations/optimizers/LikeObjectElement.type.js';
7
+ import { AnySupport } from './Support.class.js';
8
+ export declare const variablePrefix = ":tagvar";
9
+ export declare const variableSuffix = ":";
10
+ export type EventCallback = (event: Event) => any;
11
+ export type EventMem = {
12
+ elm: Element;
13
+ callback: EventCallback;
13
14
  };
14
15
  export type TagMemory = {
15
16
  state: State;
@@ -19,25 +20,37 @@ export interface TagTemplate {
19
20
  string: string;
20
21
  strings: string[];
21
22
  values: unknown[];
22
- context: Context;
23
+ domMetaMap?: DomMetaMap;
23
24
  }
24
- export declare class Tag {
25
- strings: string[];
26
- values: any[];
27
- tagJsType: ValueTypes;
28
- memory: {
29
- arrayValue?: unknown;
30
- };
31
- templater: TemplaterResult;
32
- constructor(strings: string[], values: any[]);
33
- /** Used for array, such as array.map(), calls aka array.map(x => html``.key(x)) */
34
- key(arrayValue: unknown): this;
25
+ export type Tag = {
26
+ values: unknown[];
27
+ tagJsType?: typeof ValueTypes.tag | typeof ValueTypes.dom;
28
+ templater?: TemplaterResult;
29
+ ownerSupport?: AnySupport;
30
+ arrayValue?: any;
31
+ };
32
+ export type StringTag = Tag & {
35
33
  children?: {
36
34
  strings: string[] | TemplateStringsArray;
37
35
  values: TagValues;
38
36
  };
39
- html(strings: string[] | TemplateStringsArray, ...values: TagValues): this;
40
- }
41
- export type ElementBuildOptions = {
42
- counts: Counts;
37
+ strings: string[];
38
+ values: unknown[];
39
+ key: (arrayValue: unknown) => StringTag;
40
+ html: (strings: string[] | TemplateStringsArray, values: TagValues) => StringTag;
41
+ };
42
+ export declare function getStringTag(strings: string[], values: unknown[]): StringTag;
43
+ export type DomTag = Tag & {
44
+ children?: {
45
+ dom: LikeObjectChildren;
46
+ values: TagValues;
47
+ };
48
+ dom: LikeObjectChildren;
49
+ values: unknown[];
50
+ key: (arrayValue: unknown) => DomTag;
51
+ html: {
52
+ dom: (dom: LikeObjectChildren, // ObjectChildren
53
+ values: TagValues) => DomTag;
54
+ };
43
55
  };
56
+ export declare function getDomTag(dom: LikeObjectChildren, values: unknown[]): DomTag;
@@ -1,27 +1,43 @@
1
+ // taggedjs-no-compile
1
2
  import { ValueTypes } from './ValueTypes.enum.js';
2
- export const variablePrefix = '__tagvar';
3
- export const escapeVariable = '--' + variablePrefix + '--';
4
- export const escapeSearch = new RegExp(escapeVariable, 'g');
5
- export class Tag {
6
- strings;
7
- values;
8
- tagJsType = ValueTypes.tag;
9
- // present only when an array. Populated by Tag.key()
10
- memory = {};
11
- templater;
12
- constructor(strings, values) {
13
- this.strings = strings;
14
- this.values = values;
15
- }
16
- /** Used for array, such as array.map(), calls aka array.map(x => html``.key(x)) */
17
- key(arrayValue) {
18
- this.memory.arrayValue = arrayValue;
19
- return this;
20
- }
21
- children;
22
- html(strings, ...values) {
23
- this.children = { strings, values };
24
- return this;
25
- }
3
+ import { getSupportInCycle } from './getSupportInCycle.function.js';
4
+ export const variablePrefix = ':tagvar';
5
+ export const variableSuffix = ':';
6
+ export function getStringTag(strings, values) {
7
+ const tag = {
8
+ values,
9
+ ownerSupport: getSupportInCycle(),
10
+ tagJsType: ValueTypes.tag,
11
+ strings: strings,
12
+ key(arrayValue) {
13
+ tag.arrayValue = arrayValue;
14
+ return tag;
15
+ },
16
+ html: function html(strings, values) {
17
+ tag.children = { strings, values };
18
+ return tag;
19
+ }
20
+ };
21
+ return tag;
22
+ }
23
+ export function getDomTag(dom, values) {
24
+ const tag = {
25
+ values,
26
+ ownerSupport: getSupportInCycle(),
27
+ dom,
28
+ tagJsType: ValueTypes.dom,
29
+ key: function keyFun(arrayValue) {
30
+ tag.arrayValue = arrayValue;
31
+ return tag;
32
+ },
33
+ html: {
34
+ dom: function dom(dom, // ObjectChildren
35
+ values) {
36
+ tag.children = { dom: dom, values };
37
+ return tag;
38
+ }
39
+ }
40
+ };
41
+ return tag;
26
42
  }
27
43
  //# sourceMappingURL=Tag.class.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Tag.class.js","sourceRoot":"","sources":["../../ts/tag/Tag.class.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAA;AAEjD,MAAM,CAAC,MAAM,cAAc,GAAG,UAAU,CAAA;AACxC,MAAM,CAAC,MAAM,cAAc,GAAG,IAAI,GAAG,cAAc,GAAG,IAAI,CAAA;AAE1D,MAAM,CAAC,MAAM,YAAY,GAAG,IAAI,MAAM,CAAC,cAAc,EAAE,GAAG,CAAC,CAAA;AAkB3D,MAAM,OAAO,GAAG;IAYL;IACA;IAZT,SAAS,GAAG,UAAU,CAAC,GAAG,CAAA;IAE1B,qDAAqD;IACrD,MAAM,GAAG,EAGR,CAAA;IAED,SAAS,CAAkB;IAE3B,YACS,OAAiB,EACjB,MAAa;QADb,YAAO,GAAP,OAAO,CAAU;QACjB,WAAM,GAAN,MAAM,CAAO;IACnB,CAAC;IAEJ,mFAAmF;IACnF,GAAG,CAAC,UAAmB;QACrB,IAAI,CAAC,MAAM,CAAC,UAAU,GAAG,UAAU,CAAA;QACnC,OAAO,IAAI,CAAA;IACb,CAAC;IAED,QAAQ,CAAgE;IAExE,IAAI,CACF,OAAwC,EACxC,GAAG,MAAiB;QAEpB,IAAI,CAAC,QAAQ,GAAG,EAAC,OAAO,EAAE,MAAM,EAAC,CAAA;QACjC,OAAO,IAAI,CAAA;IACb,CAAC;CACF"}
1
+ {"version":3,"file":"Tag.class.js","sourceRoot":"","sources":["../../ts/tag/Tag.class.ts"],"names":[],"mappings":"AAAA,sBAAsB;AAOtB,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAA;AAGjD,OAAO,EAAE,iBAAiB,EAAE,MAAM,iCAAiC,CAAA;AAEnE,MAAM,CAAC,MAAM,cAAc,GAAG,SAAS,CAAA;AACvC,MAAM,CAAC,MAAM,cAAc,GAAG,GAAG,CAAA;AA0CjC,MAAM,UAAU,YAAY,CAC1B,OAAiB,EACjB,MAAiB;IAEjB,MAAM,GAAG,GAAc;QACrB,MAAM;QACN,YAAY,EAAE,iBAAiB,EAAE;QAEjC,SAAS,EAAE,UAAU,CAAC,GAAG;QACzB,OAAO,EAAE,OAAO;QAChB,GAAG,CAAC,UAAmB;YACrB,GAAG,CAAC,UAAU,GAAG,UAAU,CAAA;YAC3B,OAAO,GAAG,CAAA;QACZ,CAAC;QACD,IAAI,EAAE,SAAS,IAAI,CACjB,OAAwC,EACxC,MAAiB;YAEjB,GAAG,CAAC,QAAQ,GAAG,EAAC,OAAO,EAAE,MAAM,EAAC,CAAA;YAChC,OAAO,GAAG,CAAA;QACZ,CAAC;KACF,CAAA;IAED,OAAO,GAAG,CAAA;AACZ,CAAC;AAmBD,MAAM,UAAU,SAAS,CACvB,GAAuB,EACvB,MAAiB;IAEjB,MAAM,GAAG,GAAW;QAClB,MAAM;QACN,YAAY,EAAE,iBAAiB,EAAE;QACjC,GAAG;QACH,SAAS,EAAE,UAAU,CAAC,GAAG;QACzB,GAAG,EAAE,SAAS,MAAM,CAAC,UAAmB;YACtC,GAAG,CAAC,UAAU,GAAG,UAAU,CAAA;YAC3B,OAAO,GAAG,CAAA;QACZ,CAAC;QACD,IAAI,EAAE;YACJ,GAAG,EAAE,SAAS,GAAG,CACf,GAAuB,EAAE,iBAAiB;YAC1C,MAAiB;gBAEjB,GAAG,CAAC,QAAQ,GAAG,EAAC,GAAG,EAAE,GAAG,EAAE,MAAM,EAAC,CAAA;gBACjC,OAAO,GAAG,CAAA;YACZ,CAAC;SACF;KACF,CAAA;IACD,OAAO,GAAG,CAAA;AACZ,CAAC"}
@@ -37,6 +37,7 @@ export declare class BaseTagSupport {
37
37
  updateConfig(strings: string[], values: any[]): void;
38
38
  updateValues(values: any[]): Context;
39
39
  destroy(options?: DestroyOptions): Promise<number>;
40
+ childDestroy(options?: DestroyOptions): Promise<number>;
40
41
  destroyClones({ stagger }?: DestroyOptions): {
41
42
  promise: Promise<(void | undefined)[]>;
42
43
  stagger: number;