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
@@ -0,0 +1 @@
1
+ {"version":3,"file":"test.function.js","sourceRoot":"","sources":["../../../ts/interpolations/optimizers/test.function.ts"],"names":[],"mappings":"AAcA,MAAM,UAAU,uBAAuB,CACrC,cAA8C,EAC9C,MAAiB,EACjB,cAA0B;IAE1B,MAAM,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC,OAAO,CAAC,CAAC,YAAY,EAAE,KAAK,EAAE,EAAE,CAC5D,qBAAqB,CAAC,cAAc,EAAE,MAAM,EAAE,YAAY,EAAE,KAAK,CAAC,CACnE,CAAA;AACH,CAAC;AAED,SAAS,qBAAqB,CAC5B,cAA8C,EAC9C,MAAiB,EACjB,aAAuB,EACvB,UAAkB;IAElB,aAAa,CAAC,GAAG,CAAC,cAAc,EAAE,MAAM,CAAC,UAAU,CAAC,CAAC,CAAA;IACrD;;;;;;;;;;;MAWE;AACJ,CAAC"}
@@ -1,6 +1,16 @@
1
- import { Context } from '../tag/Tag.class.js';
2
1
  import { HowToSet } from './interpolateAttributes.js';
3
- import { TagSupport } from '../tag/TagSupport.class.js';
4
- export declare function processAttribute(attrName: string, value: string | null, // current attribute value by using .getAttribute
5
- child: Element, scope: Context, ownerSupport: TagSupport, howToSet: HowToSet): void;
2
+ import { AnySupport } from '../tag/Support.class.js';
3
+ import { ContextItem } from '../tag/Tag.class.js';
4
+ export type AttrCombo = [
5
+ string,
6
+ (ContextItem | string | null)?
7
+ ];
8
+ /** Sets attribute value, subscribes to value updates */
9
+ export declare function processAttribute(attrs: AttrCombo, element: Element, support: AnySupport, howToSet?: HowToSet): void;
10
+ export declare function processNameValue(attrName: string, value: any, element: Element, howToSet: HowToSet): void;
11
+ export declare function processNameOnlyEmit(value: any, support: AnySupport, subject: ContextItem, element: Element, howToSet: HowToSet): void;
12
+ export declare function processAttributeEmit(isSpecial: boolean, newAttrValue: any, attrName: string, result: ContextItem, element: Element, support: AnySupport, howToSet: HowToSet): any;
6
13
  export type NoDisplayValue = false | null | undefined;
14
+ type DisplayValue = ((...args: unknown[]) => unknown) | string | boolean;
15
+ export declare function processAttributeSubjectValue(newAttrValue: DisplayValue | NoDisplayValue, element: Element, attrName: string, isSpecial: boolean, howToSet: HowToSet, support: AnySupport, subject: ContextItem): any;
16
+ export {};
@@ -1,147 +1,188 @@
1
1
  import { specialAttribute } from './specialAttribute.js';
2
2
  import { isSubjectInstance } from '../isInstance.js';
3
+ import { howToSetInputValue } from './interpolateAttributes.js';
3
4
  import { bindSubjectCallback } from './bindSubjectCallback.function.js';
4
- const startRegX = /^\s*{__tagvar/;
5
- const endRegX = /}\s*$/;
6
- function isTagVar(value) {
7
- return value && value.search(startRegX) >= 0 && value.search(endRegX) >= 0;
8
- }
9
- export function processAttribute(attrName, value, // current attribute value by using .getAttribute
10
- child, scope, ownerSupport, howToSet) {
11
- if (isTagVar(value)) {
12
- return processScopedNameValueAttr(attrName, value, child, scope, ownerSupport, howToSet);
13
- }
14
- if (isTagVar(attrName)) {
15
- const contextValueSubject = getContextValueByVarString(scope, attrName);
16
- let lastValue;
17
- // the above callback gets called immediately since its a ValueSubject()
18
- const sub = contextValueSubject.subscribe((value) => {
19
- if (value === lastValue) {
20
- return; // value did not change
21
- }
22
- processNameOnlyAttr(value, lastValue, child, ownerSupport, howToSet);
23
- lastValue = value;
24
- });
25
- ownerSupport.global.subscriptions.push(sub); // this is where unsubscribe is picked up
26
- child.removeAttribute(attrName);
27
- return;
5
+ import { ImmutableTypes, ValueTypes, empty } from '../tag/ValueTypes.enum.js';
6
+ import { paint, paintAwaits } from '../tag/paint.function.js';
7
+ const INPUT = 'INPUT';
8
+ const valueS = 'value';
9
+ const ondoubleclick = 'ondoubleclick';
10
+ /** Sets attribute value, subscribes to value updates */
11
+ export function processAttribute(attrs, element, support, howToSet = howToSetInputValue) {
12
+ const attrName = attrs[0];
13
+ const value = attrs[1];
14
+ const isNameVar = attrs.length === 1; // isTagVar(attrName)
15
+ if (isNameVar) {
16
+ return processNameOnlyAttr(support, attrName, element, howToSet);
17
+ }
18
+ const isSubject = value && isSubjectInstance(value);
19
+ // const isSubject = isTagVar(value)
20
+ if (isSubject) {
21
+ return processNameValueAttrSubject(attrName, value, element, support, howToSet);
28
22
  }
23
+ processNameValue(attrName, value, element, howToSet);
24
+ }
25
+ export function processNameValue(attrName, value, element, howToSet) {
29
26
  // Non dynamic
30
27
  const isSpecial = isSpecialAttr(attrName);
28
+ // TODO: enhance this condition
29
+ const global = value?.global;
30
+ if (global) {
31
+ global.attrName = attrName;
32
+ global.element = element;
33
+ global.howToSet = howToSet;
34
+ global.isSpecial = isSpecial;
35
+ }
31
36
  if (isSpecial) {
32
- return specialAttribute(attrName, value, child);
37
+ return specialAttribute(attrName, value, element);
33
38
  }
39
+ howToSet(element, attrName, value);
34
40
  }
35
- function processScopedNameValueAttr(attrName, value, // {__tagVarN}
36
- child, scope, ownerSupport, howToSet) {
37
- // get the code inside the brackets like "variable0" or "{variable0}"
38
- const result = getContextValueByVarString(scope, value);
39
- return processNameValueAttr(attrName, result, child, ownerSupport, howToSet);
41
+ function processNameOnlyAttr(support, attrName, element, howToSet) {
42
+ const contextValue = attrName;
43
+ contextValue.global.element = element;
44
+ contextValue.global.howToSet = howToSet;
45
+ contextValue.global.isNameOnly = true;
46
+ paintAwaits.push(() => element.removeAttribute(attrName));
47
+ // the above callback gets called immediately since its a ValueSubject()
48
+ const contextValueSubject = contextValue.value;
49
+ if (isSubjectInstance(contextValueSubject)) {
50
+ const sub = contextValueSubject.subscribe((value) => {
51
+ processNameOnlyEmit(value, support, contextValue, element, howToSet);
52
+ if (!contextValueSubject.global.madeByTagJs) {
53
+ paint();
54
+ }
55
+ });
56
+ support.subject.global.subscriptions.push(sub); // this is where unsubscribe is picked up
57
+ return;
58
+ }
59
+ processNameOnlyEmit(contextValue.value, support, contextValue, element, howToSet);
60
+ return;
40
61
  }
41
- function getContextValueByVarString(scope, value) {
42
- const code = value.replace('{', '').split('').reverse().join('').replace('}', '').split('').reverse().join('');
43
- return scope[code];
62
+ export function processNameOnlyEmit(value, support, subject, element, howToSet) {
63
+ if (value === support.subject.global.lastValue) {
64
+ return; // value did not change
65
+ }
66
+ processNameOnlyAttrValue(value, subject.global.lastValue, element, support, howToSet);
67
+ subject.global.lastValue = value;
44
68
  }
45
- function processNameOnlyAttr(attrValue, lastValue, child, ownerSupport, howToSet) {
46
- if (lastValue && lastValue != attrValue) {
47
- if (typeof (lastValue) === 'string') {
48
- child.removeAttribute(lastValue);
49
- }
50
- else if (lastValue instanceof Object) {
51
- for (const name in lastValue) {
52
- child.removeAttribute(name);
69
+ function processNameOnlyAttrValue(attrValue, lastValue, element, ownerSupport, howToSet) {
70
+ // check to remove previous attribute(s)
71
+ if (lastValue) {
72
+ if (lastValue instanceof Object) {
73
+ const isObStill = attrValue instanceof Object;
74
+ if (isObStill) {
75
+ for (const name in lastValue) {
76
+ if (name in attrValue) {
77
+ continue;
78
+ }
79
+ paintAwaits.push(() => element.removeAttribute(name));
80
+ // delete element[name]
81
+ }
82
+ }
83
+ else {
84
+ for (const name in lastValue) {
85
+ paintAwaits.push(() => element.removeAttribute(name));
86
+ // delete element[name]
87
+ }
53
88
  }
54
89
  }
55
90
  }
56
- if (typeof (attrValue) === 'string') {
91
+ // regular attributes
92
+ if (typeof (attrValue) === ImmutableTypes.string) {
57
93
  if (!attrValue.length) {
58
- return;
94
+ return; // ignore, do not set at this time
59
95
  }
60
- processNameValueAttr(attrValue, '', child, ownerSupport, howToSet);
96
+ howToSet(element, attrValue, empty);
61
97
  return;
62
98
  }
99
+ // process an object of attributes ${{class:'something, checked:true}}
63
100
  if (attrValue instanceof Object) {
64
101
  for (const name in attrValue) {
65
- processNameValueAttr(name, attrValue[name], child, ownerSupport, howToSet);
102
+ processAttribute([name, attrValue[name]], element, ownerSupport, howToSet);
66
103
  }
67
104
  }
68
105
  }
69
- function processNameValueAttr(attrName, result, child, ownerSupport, howToSet) {
106
+ /** Processor for flat attributes and object attributes */
107
+ function processNameValueAttrSubject(attrName, result, element, support, howToSet) {
70
108
  const isSpecial = isSpecialAttr(attrName);
71
- if (result instanceof Function) {
72
- const action = function (...args) {
73
- const result2 = result(child, args);
74
- return result2;
75
- };
76
- child[attrName].action = action;
109
+ if (isSpecial) {
110
+ paintAwaits.push(() => element.removeAttribute(attrName));
77
111
  }
78
- // Most every variable comes in here since everything is made a ValueSubject
79
- if (isSubjectInstance(result)) {
80
- child.removeAttribute(attrName);
81
- let lastValue;
112
+ const contextValueSubject = result.value;
113
+ if (isSubjectInstance(contextValueSubject)) {
82
114
  const callback = (newAttrValue) => {
83
- // should the function be wrapped so every time its called we re-render?
84
- if (newAttrValue instanceof Function) {
85
- return callbackFun(ownerSupport, newAttrValue, child, attrName, isSpecial, howToSet);
86
- }
87
- // TODO: we maybe able to block higher before instance of check
88
- if (lastValue === newAttrValue) {
89
- return lastValue;
90
- }
91
- lastValue = newAttrValue;
92
- return processAttributeSubjectValue(newAttrValue, child, attrName, isSpecial, howToSet);
115
+ processAttributeEmit(isSpecial, newAttrValue, attrName, result, element, support, howToSet);
93
116
  };
94
117
  // 🗞️ Subscribe. Above callback called immediately since its a ValueSubject()
95
- const sub = result.subscribe(callback);
118
+ const sub = contextValueSubject.subscribe(callback);
96
119
  // Record subscription for later unsubscribe when element destroyed
97
- ownerSupport.global.subscriptions.push(sub);
98
- return;
120
+ result.global.subscriptions.push(sub);
99
121
  }
100
- howToSet(child, attrName, result);
101
- // child.setAttribute(attrName, result.value)
122
+ processAttributeEmit(isSpecial, result.value, attrName, result, element, support, howToSet);
102
123
  return;
103
124
  }
104
- function processAttributeSubjectValue(newAttrValue, child, attrName, isSpecial, howToSet) {
125
+ export function processAttributeEmit(isSpecial, newAttrValue, attrName, result, element, support, howToSet) {
126
+ // should the function be wrapped so every time its called we re-render?
127
+ if (newAttrValue instanceof Function) {
128
+ return callbackFun(support, newAttrValue, element, attrName, isSpecial, howToSet, result);
129
+ }
130
+ return processAttributeSubjectValue(newAttrValue, element, attrName, isSpecial, howToSet, support, result);
131
+ }
132
+ export function processAttributeSubjectValue(newAttrValue, element, attrName, isSpecial, howToSet, support, subject) {
105
133
  if (newAttrValue instanceof Function) {
106
134
  const fun = function (...args) {
107
- return newAttrValue(child, args);
135
+ return fun.tagFunction(element, args);
108
136
  };
109
137
  // access to original function
110
138
  fun.tagFunction = newAttrValue;
111
- if (attrName === 'ondoubleclick') {
139
+ fun.support = support;
140
+ // shorthand corrections
141
+ if (attrName === ondoubleclick) {
112
142
  attrName = 'ondblclick';
113
143
  }
114
- ;
115
- child[attrName] = fun;
144
+ console.log('funfunfun', attrName, fun);
145
+ element[attrName] = fun;
116
146
  return;
117
147
  }
118
- if (isSpecial) {
119
- specialAttribute(attrName, newAttrValue, child);
120
- return;
148
+ // its already the same value
149
+ if (subject.global.lastValue === newAttrValue) {
150
+ return subject.global.lastValue;
121
151
  }
122
- if (newAttrValue) {
123
- howToSet(child, attrName, newAttrValue);
152
+ subject.global.lastValue = newAttrValue;
153
+ if (isSpecial) {
154
+ specialAttribute(attrName, newAttrValue, element);
124
155
  return;
125
156
  }
126
157
  const isDeadValue = [undefined, false, null].includes(newAttrValue);
127
158
  if (isDeadValue) {
128
- child.removeAttribute(attrName);
159
+ paintAwaits.push(() => element.removeAttribute(attrName));
129
160
  return;
130
161
  }
131
162
  // value is 0
132
- howToSet(child, attrName, newAttrValue);
163
+ howToSet(element, attrName, newAttrValue);
133
164
  }
134
165
  /** Looking for (class | style) followed by a period */
135
166
  function isSpecialAttr(attrName) {
136
167
  return attrName.search(/^(class|style)(\.)/) >= 0;
137
168
  }
138
- function callbackFun(ownerSupport, newAttrValue, child, attrName, isSpecial, howToSet) {
139
- const wrapper = ownerSupport.templater.wrapper;
169
+ function callbackFun(support, newAttrValue, element, attrName, isSpecial, howToSet, subject) {
170
+ const wrapper = support.templater.wrapper;
140
171
  const parentWrap = wrapper?.parentWrap;
141
- const oneRender = parentWrap?.oneRender;
172
+ const tagJsType = wrapper?.tagJsType || parentWrap?.tagJsType;
173
+ const oneRender = tagJsType === ValueTypes.oneRender;
142
174
  if (!oneRender) {
143
- newAttrValue = bindSubjectCallback(newAttrValue, ownerSupport);
175
+ const prevFun = subject.global.lastValue;
176
+ if (prevFun && prevFun.tagFunction && prevFun.support) {
177
+ newAttrValue = prevFun;
178
+ prevFun.tagFunction = newAttrValue;
179
+ prevFun.support = support;
180
+ return prevFun;
181
+ }
182
+ // tag has state and will need all functions wrapped to cause re-renders
183
+ newAttrValue = bindSubjectCallback(newAttrValue, support);
184
+ console.log('bind', attrName, { newAttrValue });
144
185
  }
145
- return processAttributeSubjectValue(newAttrValue, child, attrName, isSpecial, howToSet);
186
+ return processAttributeSubjectValue(newAttrValue, element, attrName, isSpecial, howToSet, support, subject);
146
187
  }
147
188
  //# sourceMappingURL=processAttribute.function.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"processAttribute.function.js","sourceRoot":"","sources":["../../ts/interpolations/processAttribute.function.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"processAttribute.function.js","sourceRoot":"","sources":["../../ts/interpolations/processAttribute.function.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,4 @@
1
+ import { TemplateValue } from '../tag/update/processFirstSubject.utils.js';
2
+ import { ContextItem } from '../tag/Context.types.js';
3
+ import { AnySupport } from '../tag/Support.class.js';
4
+ export declare function processSubUpdate(value: TemplateValue, contextItem: ContextItem, support: AnySupport): void;
@@ -0,0 +1,14 @@
1
+ import { updateExistingValue } from '../tag/update/updateExistingValue.function.js';
2
+ import { setUseMemory } from '../state/setUse.function.js';
3
+ import { paint } from '../tag/paint.function.js';
4
+ export function processSubUpdate(value, contextItem, support) {
5
+ if (value === contextItem.value) {
6
+ return; // same value emitted
7
+ }
8
+ updateExistingValue(contextItem, value, support);
9
+ if (!setUseMemory.stateConfig.support) {
10
+ paint();
11
+ }
12
+ return;
13
+ }
14
+ //# sourceMappingURL=processSubscriptionUpdate.function.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"processSubscriptionUpdate.function.js","sourceRoot":"","sources":["../../ts/interpolations/processSubscriptionUpdate.function.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,mBAAmB,EAAE,MAAM,+CAA+C,CAAA;AACnF,OAAO,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAA;AAG1D,OAAO,EAAE,KAAK,EAAE,MAAM,0BAA0B,CAAA;AAEhD,MAAM,UAAU,gBAAgB,CAC9B,KAAoB,EACpB,WAAwB,EACxB,OAAmB;IAEnB,IAAG,KAAK,KAAK,WAAW,CAAC,KAAK,EAAE,CAAC;QAC/B,OAAM,CAAC,qBAAqB;IAC9B,CAAC;IAED,mBAAmB,CACjB,WAAW,EACX,KAAK,EACL,OAAO,CACR,CAAA;IAED,IAAG,CAAC,YAAY,CAAC,WAAW,CAAC,OAAO,EAAE,CAAC;QACrC,KAAK,EAAE,CAAA;IACT,CAAC;IAED,OAAM;AACR,CAAC"}
@@ -1,3 +1,3 @@
1
1
  import { Context } from '../tag/Tag.class.js';
2
- import { TagSupport } from '../tag/TagSupport.class.js';
3
- export declare function scanTextAreaValue(textarea: HTMLTextAreaElement, context: Context, ownerSupport: TagSupport): void;
2
+ import { Support } from '../tag/Support.class.js';
3
+ export declare function scanTextAreaValue(textarea: HTMLTextAreaElement, context: Context, ownerSupport: Support): void;
@@ -1,16 +1,21 @@
1
1
  import { processAttribute } from './processAttribute.function.js';
2
- const search = new RegExp('\\s*<template interpolate end id="__tagvar(\\d{1,4})"([^>]*)></template>(\\s*)');
2
+ import { empty } from '../tag/ValueTypes.enum.js';
3
+ const search = new RegExp('\\s*<template interpolate end id="tagvar(\\d{1,4})"([^>]*)></template>(\\s*)');
4
+ const underTagVarMatch = /:tagvar(\d{1,4}):/;
3
5
  export function scanTextAreaValue(textarea, context, ownerSupport) {
4
6
  const value = textarea.value;
5
7
  if (value.search(search) >= 0) {
6
- const match = value.match(/__tagvar(\d{1,4})/);
7
- const token = match ? match[0] : '';
8
+ const match = value.match(underTagVarMatch);
9
+ const token = match ? match[0] : empty;
8
10
  const dynamic = '{' + token + '}';
9
- textarea.value = '';
11
+ textarea.value = empty;
10
12
  textarea.setAttribute('text-var-value', dynamic);
11
13
  const howToSet = (_elm, _name, value) => textarea.value = value;
12
- processAttribute('text-var-value', dynamic, // realValue, // context[token].value,
13
- textarea, context, ownerSupport, howToSet);
14
+ const attrs = [
15
+ 'text-var-value',
16
+ dynamic, // realValue, // context[token].value,
17
+ ];
18
+ processAttribute(attrs, textarea, context, ownerSupport, howToSet);
14
19
  }
15
20
  }
16
21
  //# sourceMappingURL=scanTextAreaValue.function.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"scanTextAreaValue.function.js","sourceRoot":"","sources":["../../ts/interpolations/scanTextAreaValue.function.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAA;AAEjE,MAAM,MAAM,GAAG,IAAI,MAAM,CAAC,gFAAgF,CAAC,CAAA;AAE3G,MAAM,UAAU,iBAAiB,CAC/B,QAA6B,EAC7B,OAAgB,EAChB,YAAwB;IAExB,MAAM,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAA;IAC5B,IAAI,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,IAAG,CAAC,EAAG,CAAC;QAC9B,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,mBAAmB,CAAC,CAAC;QAC/C,MAAM,KAAK,GAAG,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAA;QACnC,MAAM,OAAO,GAAG,GAAG,GAAG,KAAK,GAAG,GAAG,CAAA;QACjC,QAAQ,CAAC,KAAK,GAAG,EAAE,CAAA;QACnB,QAAQ,CAAC,YAAY,CAAC,gBAAgB,EAAE,OAAO,CAAC,CAAA;QAEhD,MAAM,QAAQ,GAAa,CAAC,IAAI,EAAE,KAAK,EAAE,KAAa,EAAE,EAAE,CAAC,QAAQ,CAAC,KAAK,GAAG,KAAK,CAAA;QAEjF,gBAAgB,CACd,gBAAgB,EAChB,OAAO,EAAE,sCAAsC;QAC/C,QAAQ,EACR,OAAO,EACP,YAAY,EACZ,QAAQ,CACT,CAAA;IACH,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"scanTextAreaValue.function.js","sourceRoot":"","sources":["../../ts/interpolations/scanTextAreaValue.function.ts"],"names":[],"mappings":"AAGA,OAAO,EAAa,gBAAgB,EAAE,MAAM,gCAAgC,CAAA;AAC5E,OAAO,EAAE,KAAK,EAAE,MAAM,2BAA2B,CAAA;AAEjD,MAAM,MAAM,GAAG,IAAI,MAAM,CAAC,8EAA8E,CAAC,CAAA;AACzG,MAAM,gBAAgB,GAAG,mBAAmB,CAAA;AAE5C,MAAM,UAAU,iBAAiB,CAC/B,QAA6B,EAC7B,OAAgB,EAChB,YAAqB;IAErB,MAAM,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAA;IAC5B,IAAI,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,IAAG,CAAC,EAAG,CAAC;QAC9B,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC;QAC5C,MAAM,KAAK,GAAG,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAA;QACtC,MAAM,OAAO,GAAG,GAAG,GAAG,KAAK,GAAG,GAAG,CAAA;QACjC,QAAQ,CAAC,KAAK,GAAG,KAAK,CAAA;QACtB,QAAQ,CAAC,YAAY,CAAC,gBAAgB,EAAE,OAAO,CAAC,CAAA;QAEhD,MAAM,QAAQ,GAAa,CAAC,IAAI,EAAE,KAAK,EAAE,KAAa,EAAE,EAAE,CAAC,QAAQ,CAAC,KAAK,GAAG,KAAK,CAAA;QACjF,MAAM,KAAK,GAAG;YACZ,gBAAgB;YAChB,OAAO,EAAE,sCAAsC;SACnC,CAAA;QAEd,gBAAgB,CACd,KAAK,EACL,QAAQ,EACR,OAAO,EACP,YAAY,EACZ,QAAQ,CACT,CAAA;IACH,CAAC;AACH,CAAC"}
@@ -1,21 +1,32 @@
1
+ import { paintAwaits } from "../tag/paint.function.js";
2
+ const style = 'style';
3
+ const classS = 'class';
1
4
  export function specialAttribute(name, value, element) {
2
5
  const names = name.split('.');
6
+ const firstName = names[0];
3
7
  // style.position = "absolute"
4
- if (names[0] === 'style') {
5
- element.style[names[1]] = value;
8
+ if (firstName === style) {
9
+ paintAwaits.push(() => element.style[names[1]] = value); // attribute changes should come first
10
+ return;
6
11
  }
7
12
  // Example: class.width-full = "true"
8
- if (names[0] === 'class') {
13
+ if (firstName === classS) {
9
14
  names.shift();
15
+ // truthy
10
16
  if (value) {
11
- for (let index = 0; index < names.length; ++index) {
12
- element.classList.add(names[index]);
17
+ for (const name of names) {
18
+ /*
19
+ if(element.classList.contains(name)) {
20
+ continue
21
+ }
22
+ */
23
+ paintAwaits.push(() => element.classList.add(name));
13
24
  }
25
+ return;
14
26
  }
15
- else {
16
- for (let index = 0; index < names.length; ++index) {
17
- element.classList.remove(names[index]);
18
- }
27
+ // falsy
28
+ for (const name of names) {
29
+ paintAwaits.push(() => element.classList.remove(name));
19
30
  }
20
31
  }
21
32
  }
@@ -1 +1 @@
1
- {"version":3,"file":"specialAttribute.js","sourceRoot":"","sources":["../../ts/interpolations/specialAttribute.ts"],"names":[],"mappings":"AAAA,MAAM,UAAU,gBAAgB,CAC9B,IAAY,EACZ,KAAU,EACV,OAAgB;IAEhB,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;IAE7B,8BAA8B;IAC9B,IAAG,KAAK,CAAC,CAAC,CAAC,KAAK,OAAO,EAAE,CAAC;QACvB,OAAe,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,KAAK,CAAA;IAC1C,CAAC;IAED,qCAAqC;IACrC,IAAG,KAAK,CAAC,CAAC,CAAC,KAAK,OAAO,EAAE,CAAC;QACxB,KAAK,CAAC,KAAK,EAAE,CAAA;QACb,IAAG,KAAK,EAAE,CAAC;YACT,KAAK,IAAI,KAAK,GAAC,CAAC,EAAE,KAAK,GAAG,KAAK,CAAC,MAAM,EAAE,EAAE,KAAK,EAAE,CAAC;gBAChD,OAAO,CAAC,SAAS,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAA;YACrC,CAAC;QACH,CAAC;aAAM,CAAC;YACN,KAAK,IAAI,KAAK,GAAC,CAAC,EAAE,KAAK,GAAG,KAAK,CAAC,MAAM,EAAE,EAAE,KAAK,EAAE,CAAC;gBAChD,OAAO,CAAC,SAAS,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAA;YACxC,CAAC;QACH,CAAC;IACH,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"specialAttribute.js","sourceRoot":"","sources":["../../ts/interpolations/specialAttribute.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAA;AAEtD,MAAM,KAAK,GAAG,OAAO,CAAA;AACrB,MAAM,MAAM,GAAG,OAAO,CAAA;AAEtB,MAAM,UAAU,gBAAgB,CAC9B,IAAY,EACZ,KAAU,EACV,OAAgB;IAEhB,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;IAC7B,MAAM,SAAS,GAAG,KAAK,CAAC,CAAC,CAAC,CAAA;IAE1B,8BAA8B;IAC9B,IAAG,SAAS,KAAK,KAAK,EAAE,CAAC;QACvB,WAAW,CAAC,IAAI,CAAC,GAAG,EAAE,CAAE,OAAe,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,CAAA,CAAC,sCAAsC;QACvG,OAAM;IACR,CAAC;IAED,qCAAqC;IACrC,IAAG,SAAS,KAAK,MAAM,EAAE,CAAC;QACxB,KAAK,CAAC,KAAK,EAAE,CAAA;QAEb,SAAS;QACT,IAAG,KAAK,EAAE,CAAC;YACT,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;gBACzB;;;;kBAIE;gBACF,WAAW,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAA;YACrD,CAAC;YACD,OAAM;QACR,CAAC;QAED,QAAQ;QACR,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YACzB,WAAW,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAA;QACxD,CAAC;IACH,CAAC;AACH,CAAC"}
@@ -0,0 +1,13 @@
1
+ import { InterpolateSubject } from '../tag/update/processFirstSubject.utils.js';
2
+ import { ContextItem } from '../tag/Context.types.js';
3
+ import { AnySupport } from '../tag/Support.class.js';
4
+ import { Counts } from './interpolateTemplate.js';
5
+ export type SubToTemplateOptions = {
6
+ insertBefore: Text;
7
+ subject: InterpolateSubject;
8
+ support: AnySupport;
9
+ counts: Counts;
10
+ contextItem: ContextItem;
11
+ appendTo?: Element;
12
+ };
13
+ export declare function subscribeToTemplate({ subject, support, counts, contextItem, appendTo, }: SubToTemplateOptions): void;
@@ -0,0 +1,27 @@
1
+ import { processFirstSubjectValue } from '../tag/update/processFirstSubjectValue.function.js';
2
+ import { setUseMemory } from '../state/setUse.function.js';
3
+ import { paint } from '../tag/paint.function.js';
4
+ import { processSubUpdate } from './processSubscriptionUpdate.function.js';
5
+ export function subscribeToTemplate({ subject, support, counts, contextItem, appendTo, }) {
6
+ let onValue = function onSubValue(value) {
7
+ processFirstSubjectValue(value, contextItem, support, { ...counts }, `rvp_-1_${support.templater.tag?.values.length}`, syncRun ? appendTo : undefined);
8
+ if (!syncRun && !setUseMemory.stateConfig.support) {
9
+ paint();
10
+ }
11
+ // from now on just run update
12
+ onValue = function subscriptionUpdate(value) {
13
+ processSubUpdate(value, contextItem, support);
14
+ };
15
+ };
16
+ const callback = function subValueProcessor(value) {
17
+ onValue(value);
18
+ };
19
+ let syncRun = true;
20
+ const sub = subject.subscribe(callback);
21
+ contextItem.subject = subject;
22
+ syncRun = false;
23
+ const global = support.subject.global;
24
+ const subs = global.subscriptions = global.subscriptions || [];
25
+ subs.push(sub);
26
+ }
27
+ //# sourceMappingURL=subscribeToTemplate.function.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"subscribeToTemplate.function.js","sourceRoot":"","sources":["../../ts/interpolations/subscribeToTemplate.function.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,wBAAwB,EAAE,MAAM,oDAAoD,CAAA;AAE7F,OAAO,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAA;AAI1D,OAAO,EAAE,KAAK,EAAE,MAAM,0BAA0B,CAAA;AAChD,OAAO,EAAE,gBAAgB,EAAE,MAAM,yCAAyC,CAAA;AAY1E,MAAM,UAAU,mBAAmB,CAAC,EAClC,OAAO,EACP,OAAO,EACP,MAAM,EACN,WAAW,EACX,QAAQ,GACa;IACrB,IAAI,OAAO,GAAG,SAAS,UAAU,CAAC,KAAoB;QACpD,wBAAwB,CACtB,KAAK,EACL,WAAW,EACX,OAAO,EACP,EAAC,GAAG,MAAM,EAAC,EACX,UAAU,OAAO,CAAC,SAAS,CAAC,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,EAChD,OAAO,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,CAC/B,CAAA;QAED,IAAG,CAAC,OAAO,IAAI,CAAC,YAAY,CAAC,WAAW,CAAC,OAAO,EAAE,CAAC;YACjD,KAAK,EAAE,CAAA;QACT,CAAC;QAED,8BAA8B;QAC9B,OAAO,GAAG,SAAS,kBAAkB,CAAC,KAAoB;YACxD,gBAAgB,CAAC,KAAK,EAAE,WAAW,EAAE,OAAO,CAAC,CAAA;QAC/C,CAAC,CAAA;IACH,CAAC,CAAA;IAED,MAAM,QAAQ,GAAG,SAAS,iBAAiB,CAAC,KAAoB;QAC9D,OAAO,CAAC,KAAK,CAAC,CAAA;IAChB,CAAC,CAAA;IAED,IAAI,OAAO,GAAG,IAAI,CAAA;IAClB,MAAM,GAAG,GAAG,OAAO,CAAC,SAAS,CAAC,QAAe,CAAC,CAAA;IAC9C,WAAW,CAAC,OAAO,GAAG,OAAO,CAAA;IAC7B,OAAO,GAAG,KAAK,CAAA;IAEf,MAAM,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,MAAmB,CAAA;IAClD,MAAM,IAAI,GAAG,MAAM,CAAC,aAAa,GAAG,MAAM,CAAC,aAAa,IAAI,EAAE,CAAA;IAC9D,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;AAChB,CAAC"}
@@ -1,9 +1,13 @@
1
1
  import { SubjectLike } from './subject/subject.utils.js';
2
- import { Tag } from './tag/Tag.class.js';
2
+ import { Support } from './tag/Support.class.js';
3
+ import { StringTag } from './tag/Tag.class.js';
3
4
  import { TemplaterResult } from './tag/TemplaterResult.class.js';
4
- export declare function isStaticTag(value?: TemplaterResult | Tag | unknown): boolean;
5
- export declare function isTagTemplater(value?: TemplaterResult | unknown): boolean;
6
- export declare function isTagComponent(value?: TemplaterResult | unknown): boolean;
7
- export declare function isTagClass(value?: Tag | unknown): boolean;
5
+ export declare function isSimpleType(value: any): boolean;
6
+ export declare function isStaticTag(value?: TemplaterResult | StringTag | unknown): boolean;
7
+ /** passed in is expected to be a TemplaterResult */
8
+ export declare function isTagComponent(value?: TemplaterResult | Exclude<unknown, Support>): boolean;
8
9
  export declare function isSubjectInstance(subject?: SubjectLike<any> | any): Boolean;
9
- export declare function isTagArray(value: unknown): boolean;
10
+ export declare function isPromise(value: any): any;
11
+ export declare function isFunction(value: any): boolean;
12
+ export declare function isObject(value: any): boolean;
13
+ export declare function isArray(value: any): boolean;
package/js/isInstance.js CHANGED
@@ -1,27 +1,41 @@
1
- import { ValueTypes } from './tag/ValueTypes.enum.js';
2
- export function isStaticTag(value) {
3
- return [
4
- ValueTypes.tag,
5
- ValueTypes.templater,
6
- ].includes(value?.tagJsType);
1
+ import { BasicTypes, ImmutableTypes, ValueTypes } from './tag/ValueTypes.enum.js';
2
+ export function isSimpleType(value) {
3
+ switch (value) {
4
+ case ImmutableTypes.string:
5
+ case ImmutableTypes.number:
6
+ case ImmutableTypes.boolean:
7
+ return true;
8
+ }
9
+ return false;
7
10
  }
8
- export function isTagTemplater(value) {
9
- return value?.tagJsType === ValueTypes.templater;
11
+ export function isStaticTag(value) {
12
+ switch (value?.tagJsType) {
13
+ case ValueTypes.dom:
14
+ case ValueTypes.tag:
15
+ case ValueTypes.templater:
16
+ return true;
17
+ }
18
+ return false;
10
19
  }
11
- // TODO: whats the difference between isTagClass and isTagComponent
20
+ /** passed in is expected to be a TemplaterResult */
12
21
  export function isTagComponent(value) {
13
- return value?.tagJsType === ValueTypes.tagComponent;
14
- }
15
- export function isTagClass(value) {
16
- return value?.tagJsType === ValueTypes.tag;
22
+ const tagType = value?.tagJsType;
23
+ return tagType === ValueTypes.tagComponent || tagType === ValueTypes.stateRender;
17
24
  }
18
25
  // isSubjectLike
19
26
  export function isSubjectInstance(subject) {
20
- return (subject?.isSubject === true || subject?.subscribe) ? true : false; // subject?.isSubject === true ||
27
+ return isObject(subject) && typeof subject.subscribe === BasicTypes.function;
28
+ }
29
+ export function isPromise(value) {
30
+ return value && isFunction(value.then);
31
+ }
32
+ export function isFunction(value) {
33
+ return typeof value === BasicTypes.function;
34
+ }
35
+ export function isObject(value) {
36
+ return typeof (value) === BasicTypes.object && value !== null;
21
37
  }
22
- export function isTagArray(value) {
23
- return value instanceof Array && value.every(x => [
24
- ValueTypes.tag, ValueTypes.templater, ValueTypes.tag, ValueTypes.tagComponent
25
- ].includes(x?.tagJsType));
38
+ export function isArray(value) {
39
+ return Array.isArray(value);
26
40
  }
27
41
  //# sourceMappingURL=isInstance.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"isInstance.js","sourceRoot":"","sources":["../ts/isInstance.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAA;AAErD,MAAM,UAAU,WAAW,CACzB,KAAuC;IAEvC,OAAO;QACL,UAAU,CAAC,GAAG;QACd,UAAU,CAAC,SAAS;KACrB,CAAC,QAAQ,CAAG,KAAa,EAAE,SAAS,CAAE,CAAA;AACzC,CAAC;AAED,MAAM,UAAU,cAAc,CAC5B,KAAiC;IAEjC,OAAQ,KAAyB,EAAE,SAAS,KAAK,UAAU,CAAC,SAAS,CAAA;AACvE,CAAC;AAED,mEAAmE;AACnE,MAAM,UAAU,cAAc,CAC5B,KAAiC;IAEjC,OAAQ,KAAyB,EAAE,SAAS,KAAK,UAAU,CAAC,YAAY,CAAA;AAC1E,CAAC;AAED,MAAM,UAAU,UAAU,CACxB,KAAqB;IAErB,OAAQ,KAAa,EAAE,SAAS,KAAK,UAAU,CAAC,GAAG,CAAA;AACrD,CAAC;AAED,gBAAgB;AAChB,MAAM,UAAU,iBAAiB,CAC/B,OAAgC;IAEhC,OAAO,CAAC,OAAO,EAAE,SAAS,KAAK,IAAI,IAAI,OAAO,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAA,CAAC,kCAAkC;AAC9G,CAAC;AAED,MAAM,UAAU,UAAU,CAAC,KAAc;IACvC,OAAO,KAAK,YAAY,KAAK,IAAI,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;QAChD,UAAU,CAAC,GAAG,EAAE,UAAU,CAAC,SAAS,EAAE,UAAU,CAAC,GAAG,EAAE,UAAU,CAAC,YAAY;KAC9E,CAAC,QAAQ,CAAE,CAAC,EAAE,SAAS,CAAE,CAAC,CAAA;AAC7B,CAAC"}
1
+ {"version":3,"file":"isInstance.js","sourceRoot":"","sources":["../ts/isInstance.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,UAAU,EAAE,cAAc,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAA;AAEjF,MAAM,UAAU,YAAY,CAAC,KAAU;IACrC,QAAQ,KAAK,EAAE,CAAC;QACd,KAAK,cAAc,CAAC,MAAM,CAAC;QAC3B,KAAK,cAAc,CAAC,MAAM,CAAC;QAC3B,KAAK,cAAc,CAAC,OAAO;YACzB,OAAO,IAAI,CAAA;IACf,CAAC;IAED,OAAO,KAAK,CAAA;AACd,CAAC;AAED,MAAM,UAAU,WAAW,CACzB,KAA6C;IAE7C,QAAS,KAAa,EAAE,SAAS,EAAE,CAAC;QAClC,KAAK,UAAU,CAAC,GAAG,CAAC;QACpB,KAAK,UAAU,CAAC,GAAG,CAAC;QACpB,KAAK,UAAU,CAAC,SAAS;YACvB,OAAO,IAAI,CAAA;IACf,CAAC;IAED,OAAO,KAAK,CAAA;AACd,CAAC;AAED,oDAAoD;AACpD,MAAM,UAAU,cAAc,CAC5B,KAAmD;IAEnD,MAAM,OAAO,GAAI,KAAyB,EAAE,SAAS,CAAA;IACrD,OAAO,OAAO,KAAK,UAAU,CAAC,YAAY,IAAI,OAAO,KAAK,UAAU,CAAC,WAAW,CAAA;AAClF,CAAC;AAED,gBAAgB;AAChB,MAAM,UAAU,iBAAiB,CAC/B,OAAgC;IAEhC,OAAO,QAAQ,CAAC,OAAO,CAAC,IAAI,OAAO,OAAO,CAAC,SAAS,KAAK,UAAU,CAAC,QAAQ,CAAA;AAC9E,CAAC;AAED,MAAM,UAAU,SAAS,CAAC,KAAU;IAClC,OAAO,KAAK,IAAI,UAAU,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;AACxC,CAAC;AAED,MAAM,UAAU,UAAU,CAAC,KAAU;IACnC,OAAO,OAAO,KAAK,KAAK,UAAU,CAAC,QAAQ,CAAA;AAC7C,CAAC;AAED,MAAM,UAAU,QAAQ,CAAC,KAAU;IACjC,OAAO,OAAM,CAAC,KAAK,CAAC,KAAK,UAAU,CAAC,MAAM,IAAI,KAAK,KAAK,IAAI,CAAA;AAC9D,CAAC;AAED,MAAM,UAAU,OAAO,CAAC,KAAU;IAChC,OAAO,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAA;AAC7B,CAAC"}