taggedjs 2.3.27 → 2.3.30

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 (399) hide show
  1. package/index.js +1 -1
  2. package/js/CustomError.d.ts +7 -0
  3. package/js/CustomError.js +9 -0
  4. package/js/CustomError.js.map +1 -0
  5. package/js/Errors.d.ts +14 -0
  6. package/js/Errors.js +21 -0
  7. package/js/Errors.js.map +1 -0
  8. package/js/Errors2.d.ts +14 -0
  9. package/js/Errors2.js +21 -0
  10. package/js/Errors2.js.map +1 -0
  11. package/js/Subject.d.ts +3 -2
  12. package/js/Subject.js +11 -7
  13. package/js/Subject.js.map +1 -1
  14. package/js/Tag.class.d.ts +6 -8
  15. package/js/Tag.class.js +35 -63
  16. package/js/Tag.class.js.map +1 -1
  17. package/js/Tag.utils.d.ts +9 -5
  18. package/js/Tag.utils.js +4 -16
  19. package/js/Tag.utils.js.map +1 -1
  20. package/js/TagSupport.class.d.ts +23 -0
  21. package/js/TagSupport.class.js +86 -0
  22. package/js/TagSupport.class.js.map +1 -0
  23. package/js/ValueSubject.d.ts +2 -2
  24. package/js/ValueSubject.js +3 -3
  25. package/js/ValueSubject.js.map +1 -1
  26. package/js/bindSubjectCallback.function.d.ts +6 -3
  27. package/js/bindSubjectCallback.function.js +25 -13
  28. package/js/bindSubjectCallback.function.js.map +1 -1
  29. package/js/deepFunctions.js +9 -4
  30. package/js/deepFunctions.js.map +1 -1
  31. package/js/elementDestroyCheck.function.d.ts +3 -3
  32. package/js/elementDestroyCheck.function.js.map +1 -1
  33. package/js/elementInitCheck.d.ts +1 -1
  34. package/js/elementInitCheck.js +4 -4
  35. package/js/elementInitCheck.js.map +1 -1
  36. package/js/gateway/loadTagGateway.function.d.ts +2 -2
  37. package/js/gateway/loadTagGateway.function.js.map +1 -1
  38. package/js/gateway/tagGateway.function.d.ts +3 -2
  39. package/js/gateway/tagGateway.function.js.map +1 -1
  40. package/js/gateway/tagGateway.utils.d.ts +4 -3
  41. package/js/gateway/tagGateway.utils.js +5 -7
  42. package/js/gateway/tagGateway.utils.js.map +1 -1
  43. package/js/getCallback.js +1 -1
  44. package/js/getCallback.js.map +1 -1
  45. package/js/getTagSupport.d.ts +1 -2
  46. package/js/getTagSupport.js +7 -11
  47. package/js/getTagSupport.js.map +1 -1
  48. package/js/hasTagSupportChanged.function.d.ts +7 -0
  49. package/js/hasTagSupportChanged.function.js +76 -0
  50. package/js/hasTagSupportChanged.function.js.map +1 -0
  51. package/js/index.d.ts +17 -7
  52. package/js/index.js +16 -7
  53. package/js/index.js.map +1 -1
  54. package/js/interpolateAttributes.js +24 -16
  55. package/js/interpolateAttributes.js.map +1 -1
  56. package/js/interpolateContentTemplates.d.ts +1 -1
  57. package/js/interpolateContentTemplates.js +8 -10
  58. package/js/interpolateContentTemplates.js.map +1 -1
  59. package/js/interpolateElement.d.ts +2 -0
  60. package/js/interpolateElement.js +1 -8
  61. package/js/interpolateElement.js.map +1 -1
  62. package/js/interpolateTemplate.d.ts +3 -3
  63. package/js/interpolateTemplate.js +18 -13
  64. package/js/interpolateTemplate.js.map +1 -1
  65. package/js/isInstance.d.ts +3 -2
  66. package/js/isInstance.js +3 -0
  67. package/js/isInstance.js.map +1 -1
  68. package/js/onDestroy.js +0 -3
  69. package/js/onDestroy.js.map +1 -1
  70. package/js/onInit.js +0 -4
  71. package/js/onInit.js.map +1 -1
  72. package/js/processNewValue.function.d.ts +2 -0
  73. package/js/processNewValue.function.js +29 -0
  74. package/js/processNewValue.function.js.map +1 -0
  75. package/js/processRegularValue.function.d.ts +7 -0
  76. package/js/processRegularValue.function.js +21 -0
  77. package/js/processRegularValue.function.js.map +1 -0
  78. package/js/processSubjectComponent.function.js +5 -21
  79. package/js/processSubjectComponent.function.js.map +1 -1
  80. package/js/processSubjectValue.function.d.ts +6 -6
  81. package/js/processSubjectValue.function.js +33 -48
  82. package/js/processSubjectValue.function.js.map +1 -1
  83. package/js/processTagArray.d.ts +1 -0
  84. package/js/processTagArray.js +60 -24
  85. package/js/processTagArray.js.map +1 -1
  86. package/js/processTagResult.function.d.ts +1 -2
  87. package/js/processTagResult.function.js +1 -17
  88. package/js/processTagResult.function.js.map +1 -1
  89. package/js/propState.function.d.ts +2 -0
  90. package/js/propState.function.js +3 -0
  91. package/js/propState.function.js.map +1 -0
  92. package/js/provider.utils.d.ts +2 -0
  93. package/js/provider.utils.js +34 -0
  94. package/js/provider.utils.js.map +1 -0
  95. package/js/providers.d.ts +2 -1
  96. package/js/providers.js +2 -2
  97. package/js/providers.js.map +1 -1
  98. package/js/redrawTag.function.d.ts +3 -2
  99. package/js/redrawTag.function.js +2 -4
  100. package/js/redrawTag.function.js.map +1 -1
  101. package/js/set.function.d.ts +23 -0
  102. package/{_js/state.js → js/set.function.js} +60 -64
  103. package/js/set.function.js.map +1 -0
  104. package/js/setLet.function.d.ts +3 -0
  105. package/js/setLet.function.js +31 -0
  106. package/js/setLet.function.js.map +1 -0
  107. package/js/setProp.function.d.ts +3 -0
  108. package/js/setProp.function.js +34 -0
  109. package/js/setProp.function.js.map +1 -0
  110. package/js/setUse.function.d.ts +2 -2
  111. package/js/state.d.ts +8 -6
  112. package/js/state.js +35 -15
  113. package/js/state.js.map +1 -1
  114. package/js/tag.d.ts +11 -6
  115. package/js/tag.js +84 -11
  116. package/js/tag.js.map +1 -1
  117. package/js/tagElement.d.ts +3 -2
  118. package/js/tagElement.js +21 -22
  119. package/js/tagElement.js.map +1 -1
  120. package/js/tagRunner.d.ts +1 -1
  121. package/js/templater.utils.d.ts +4 -5
  122. package/js/templater.utils.js +27 -24
  123. package/js/templater.utils.js.map +1 -1
  124. package/js/updateExistingTag.function.d.ts +4 -0
  125. package/js/updateExistingTag.function.js +15 -0
  126. package/js/updateExistingTag.function.js.map +1 -0
  127. package/js/updateExistingTagComponent.function.d.ts +4 -0
  128. package/js/updateExistingTagComponent.function.js +56 -0
  129. package/js/updateExistingTagComponent.function.js.map +1 -0
  130. package/js/updateExistingValue.function.d.ts +10 -0
  131. package/js/updateExistingValue.function.js +112 -0
  132. package/js/updateExistingValue.function.js.map +1 -0
  133. package/js/updateTag.utils.d.ts +1 -0
  134. package/js/updateTag.utils.js +5 -79
  135. package/js/updateTag.utils.js.map +1 -1
  136. package/js/watch.function.d.ts +3 -0
  137. package/js/watch.function.js +19 -0
  138. package/js/watch.function.js.map +1 -0
  139. package/package.json +1 -1
  140. package/_js/Clones.type.d.ts +0 -1
  141. package/_js/Clones.type.js +0 -2
  142. package/_js/Clones.type.js.map +0 -1
  143. package/_js/ElementTarget.interface.d.ts +0 -7
  144. package/_js/ElementTarget.interface.js +0 -2
  145. package/_js/ElementTarget.interface.js.map +0 -1
  146. package/_js/ElementTargetEvent.interface.d.ts +0 -6
  147. package/_js/ElementTargetEvent.interface.js +0 -2
  148. package/_js/ElementTargetEvent.interface.js.map +0 -1
  149. package/_js/Props.d.ts +0 -1
  150. package/_js/Props.js +0 -2
  151. package/_js/Props.js.map +0 -1
  152. package/_js/Subject.d.ts +0 -17
  153. package/_js/Subject.js +0 -43
  154. package/_js/Subject.js.map +0 -1
  155. package/_js/Tag.class.d.ts +0 -69
  156. package/_js/Tag.class.js +0 -258
  157. package/_js/Tag.class.js.map +0 -1
  158. package/_js/Tag.utils.d.ts +0 -12
  159. package/_js/Tag.utils.js +0 -31
  160. package/_js/Tag.utils.js.map +0 -1
  161. package/_js/ValueSubject.d.ts +0 -6
  162. package/_js/ValueSubject.js +0 -15
  163. package/_js/ValueSubject.js.map +0 -1
  164. package/_js/bindSubjectCallback.function.d.ts +0 -5
  165. package/_js/bindSubjectCallback.function.js +0 -19
  166. package/_js/bindSubjectCallback.function.js.map +0 -1
  167. package/_js/deepFunctions.d.ts +0 -2
  168. package/_js/deepFunctions.js +0 -76
  169. package/_js/deepFunctions.js.map +0 -1
  170. package/_js/elementDestroyCheck.function.d.ts +0 -3
  171. package/_js/elementDestroyCheck.function.js +0 -17
  172. package/_js/elementDestroyCheck.function.js.map +0 -1
  173. package/_js/elementInitCheck.d.ts +0 -2
  174. package/_js/elementInitCheck.js +0 -18
  175. package/_js/elementInitCheck.js.map +0 -1
  176. package/_js/gateway/gateway.web.component.d.ts +0 -11
  177. package/_js/gateway/gateway.web.component.js +0 -20
  178. package/_js/gateway/gateway.web.component.js.map +0 -1
  179. package/_js/gateway/index.d.ts +0 -3
  180. package/_js/gateway/index.js +0 -4
  181. package/_js/gateway/index.js.map +0 -1
  182. package/_js/gateway/loadTagGateway.function.d.ts +0 -2
  183. package/_js/gateway/loadTagGateway.function.js +0 -18
  184. package/_js/gateway/loadTagGateway.function.js.map +0 -1
  185. package/_js/gateway/tagGateway.function.d.ts +0 -4
  186. package/_js/gateway/tagGateway.function.js +0 -49
  187. package/_js/gateway/tagGateway.function.js.map +0 -1
  188. package/_js/gateway/tagGateway.utils.d.ts +0 -21
  189. package/_js/gateway/tagGateway.utils.js +0 -139
  190. package/_js/gateway/tagGateway.utils.js.map +0 -1
  191. package/_js/getCallback.d.ts +0 -3
  192. package/_js/getCallback.js +0 -50
  193. package/_js/getCallback.js.map +0 -1
  194. package/_js/getTagSupport.d.ts +0 -21
  195. package/_js/getTagSupport.js +0 -110
  196. package/_js/getTagSupport.js.map +0 -1
  197. package/_js/html.d.ts +0 -2
  198. package/_js/html.js +0 -5
  199. package/_js/html.js.map +0 -1
  200. package/_js/index.d.ts +0 -20
  201. package/_js/index.js +0 -25
  202. package/_js/index.js.map +0 -1
  203. package/_js/inputAttribute.d.ts +0 -1
  204. package/_js/inputAttribute.js +0 -19
  205. package/_js/inputAttribute.js.map +0 -1
  206. package/_js/interpolateAttributes.d.ts +0 -4
  207. package/_js/interpolateAttributes.js +0 -135
  208. package/_js/interpolateAttributes.js.map +0 -1
  209. package/_js/interpolateContentTemplates.d.ts +0 -6
  210. package/_js/interpolateContentTemplates.js +0 -54
  211. package/_js/interpolateContentTemplates.js.map +0 -1
  212. package/_js/interpolateElement.d.ts +0 -9
  213. package/_js/interpolateElement.js +0 -39
  214. package/_js/interpolateElement.js.map +0 -1
  215. package/_js/interpolateTemplate.d.ts +0 -17
  216. package/_js/interpolateTemplate.js +0 -64
  217. package/_js/interpolateTemplate.js.map +0 -1
  218. package/_js/interpolations.d.ts +0 -7
  219. package/_js/interpolations.js +0 -18
  220. package/_js/interpolations.js.map +0 -1
  221. package/_js/isInstance.d.ts +0 -6
  222. package/_js/isInstance.js +0 -10
  223. package/_js/isInstance.js.map +0 -1
  224. package/_js/js/Clones.type.d.ts +0 -1
  225. package/_js/js/Clones.type.js +0 -2
  226. package/_js/js/Clones.type.js.map +0 -1
  227. package/_js/js/Props.d.ts +0 -1
  228. package/_js/js/Props.js +0 -2
  229. package/_js/js/Props.js.map +0 -1
  230. package/_js/js/Subject.d.ts +0 -17
  231. package/_js/js/Subject.js +0 -43
  232. package/_js/js/Subject.js.map +0 -1
  233. package/_js/js/Tag.class.d.ts +0 -67
  234. package/_js/js/Tag.class.js +0 -241
  235. package/_js/js/Tag.class.js.map +0 -1
  236. package/_js/js/Tag.utils.d.ts +0 -12
  237. package/_js/js/Tag.utils.js +0 -31
  238. package/_js/js/Tag.utils.js.map +0 -1
  239. package/_js/js/ValueSubject.d.ts +0 -6
  240. package/_js/js/ValueSubject.js +0 -15
  241. package/_js/js/ValueSubject.js.map +0 -1
  242. package/_js/js/bindSubjectCallback.function.d.ts +0 -5
  243. package/_js/js/bindSubjectCallback.function.js +0 -19
  244. package/_js/js/bindSubjectCallback.function.js.map +0 -1
  245. package/_js/js/deepFunctions.d.ts +0 -2
  246. package/_js/js/deepFunctions.js +0 -76
  247. package/_js/js/deepFunctions.js.map +0 -1
  248. package/_js/js/elementDestroyCheck.function.d.ts +0 -3
  249. package/_js/js/elementDestroyCheck.function.js +0 -17
  250. package/_js/js/elementDestroyCheck.function.js.map +0 -1
  251. package/_js/js/elementInitCheck.d.ts +0 -2
  252. package/_js/js/elementInitCheck.js +0 -18
  253. package/_js/js/elementInitCheck.js.map +0 -1
  254. package/_js/js/getCallback.d.ts +0 -3
  255. package/_js/js/getCallback.js +0 -50
  256. package/_js/js/getCallback.js.map +0 -1
  257. package/_js/js/getTagSupport.d.ts +0 -22
  258. package/_js/js/getTagSupport.js +0 -116
  259. package/_js/js/getTagSupport.js.map +0 -1
  260. package/_js/js/html.d.ts +0 -2
  261. package/_js/js/html.js +0 -5
  262. package/_js/js/html.js.map +0 -1
  263. package/_js/js/index.d.ts +0 -19
  264. package/_js/js/index.js +0 -24
  265. package/_js/js/index.js.map +0 -1
  266. package/_js/js/inputAttribute.d.ts +0 -1
  267. package/_js/js/inputAttribute.js +0 -19
  268. package/_js/js/inputAttribute.js.map +0 -1
  269. package/_js/js/interpolateAttributes.d.ts +0 -4
  270. package/_js/js/interpolateAttributes.js +0 -127
  271. package/_js/js/interpolateAttributes.js.map +0 -1
  272. package/_js/js/interpolateContentTemplates.d.ts +0 -5
  273. package/_js/js/interpolateContentTemplates.js +0 -57
  274. package/_js/js/interpolateContentTemplates.js.map +0 -1
  275. package/_js/js/interpolateElement.d.ts +0 -9
  276. package/_js/js/interpolateElement.js +0 -32
  277. package/_js/js/interpolateElement.js.map +0 -1
  278. package/_js/js/interpolateTemplate.d.ts +0 -17
  279. package/_js/js/interpolateTemplate.js +0 -64
  280. package/_js/js/interpolateTemplate.js.map +0 -1
  281. package/_js/js/interpolations.d.ts +0 -8
  282. package/_js/js/interpolations.js +0 -17
  283. package/_js/js/interpolations.js.map +0 -1
  284. package/_js/js/isInstance.d.ts +0 -6
  285. package/_js/js/isInstance.js +0 -10
  286. package/_js/js/isInstance.js.map +0 -1
  287. package/_js/js/onDestroy.d.ts +0 -2
  288. package/_js/js/onDestroy.js +0 -20
  289. package/_js/js/onDestroy.js.map +0 -1
  290. package/_js/js/onInit.d.ts +0 -2
  291. package/_js/js/onInit.js +0 -19
  292. package/_js/js/onInit.js.map +0 -1
  293. package/_js/js/processSubjectComponent.function.d.ts +0 -8
  294. package/_js/js/processSubjectComponent.function.js +0 -53
  295. package/_js/js/processSubjectComponent.function.js.map +0 -1
  296. package/_js/js/processSubjectValue.function.d.ts +0 -16
  297. package/_js/js/processSubjectValue.function.js +0 -122
  298. package/_js/js/processSubjectValue.function.js.map +0 -1
  299. package/_js/js/processTagArray.d.ts +0 -9
  300. package/_js/js/processTagArray.js +0 -60
  301. package/_js/js/processTagArray.js.map +0 -1
  302. package/_js/js/processTagResult.function.d.ts +0 -10
  303. package/_js/js/processTagResult.function.js +0 -42
  304. package/_js/js/processTagResult.function.js.map +0 -1
  305. package/_js/js/providers.d.ts +0 -17
  306. package/_js/js/providers.js +0 -86
  307. package/_js/js/providers.js.map +0 -1
  308. package/_js/js/redrawTag.function.d.ts +0 -7
  309. package/_js/js/redrawTag.function.js +0 -9
  310. package/_js/js/redrawTag.function.js.map +0 -1
  311. package/_js/js/render.d.ts +0 -1
  312. package/_js/js/render.js +0 -24
  313. package/_js/js/render.js.map +0 -1
  314. package/_js/js/renderAppToElement.d.ts +0 -14
  315. package/_js/js/renderAppToElement.js +0 -57
  316. package/_js/js/renderAppToElement.js.map +0 -1
  317. package/_js/js/setUse.function.d.ts +0 -23
  318. package/_js/js/setUse.function.js +0 -14
  319. package/_js/js/setUse.function.js.map +0 -1
  320. package/_js/js/state.d.ts +0 -24
  321. package/_js/js/state.js +0 -98
  322. package/_js/js/state.js.map +0 -1
  323. package/_js/js/tag.d.ts +0 -8
  324. package/_js/js/tag.js +0 -46
  325. package/_js/js/tag.js.map +0 -1
  326. package/_js/js/tagElement.d.ts +0 -14
  327. package/_js/js/tagElement.js +0 -57
  328. package/_js/js/tagElement.js.map +0 -1
  329. package/_js/js/tagGateway.function.d.ts +0 -5
  330. package/_js/js/tagGateway.function.js +0 -119
  331. package/_js/js/tagGateway.function.js.map +0 -1
  332. package/_js/js/tagRunner.d.ts +0 -6
  333. package/_js/js/tagRunner.js +0 -19
  334. package/_js/js/tagRunner.js.map +0 -1
  335. package/_js/js/templater.utils.d.ts +0 -28
  336. package/_js/js/templater.utils.js +0 -99
  337. package/_js/js/templater.utils.js.map +0 -1
  338. package/_js/js/updateTag.utils.d.ts +0 -6
  339. package/_js/js/updateTag.utils.js +0 -84
  340. package/_js/js/updateTag.utils.js.map +0 -1
  341. package/_js/js/wait.d.ts +0 -1
  342. package/_js/js/wait.js +0 -8
  343. package/_js/js/wait.js.map +0 -1
  344. package/_js/onDestroy.d.ts +0 -2
  345. package/_js/onDestroy.js +0 -20
  346. package/_js/onDestroy.js.map +0 -1
  347. package/_js/onInit.d.ts +0 -2
  348. package/_js/onInit.js +0 -19
  349. package/_js/onInit.js.map +0 -1
  350. package/_js/processSubjectComponent.function.d.ts +0 -8
  351. package/_js/processSubjectComponent.function.js +0 -53
  352. package/_js/processSubjectComponent.function.js.map +0 -1
  353. package/_js/processSubjectValue.function.d.ts +0 -16
  354. package/_js/processSubjectValue.function.js +0 -122
  355. package/_js/processSubjectValue.function.js.map +0 -1
  356. package/_js/processTagArray.d.ts +0 -9
  357. package/_js/processTagArray.js +0 -60
  358. package/_js/processTagArray.js.map +0 -1
  359. package/_js/processTagResult.function.d.ts +0 -10
  360. package/_js/processTagResult.function.js +0 -40
  361. package/_js/processTagResult.function.js.map +0 -1
  362. package/_js/providers.d.ts +0 -17
  363. package/_js/providers.js +0 -86
  364. package/_js/providers.js.map +0 -1
  365. package/_js/redrawTag.function.d.ts +0 -7
  366. package/_js/redrawTag.function.js +0 -8
  367. package/_js/redrawTag.function.js.map +0 -1
  368. package/_js/render.d.ts +0 -1
  369. package/_js/render.js +0 -17
  370. package/_js/render.js.map +0 -1
  371. package/_js/renderAppToElement.d.ts +0 -14
  372. package/_js/renderAppToElement.js +0 -57
  373. package/_js/renderAppToElement.js.map +0 -1
  374. package/_js/setUse.function.d.ts +0 -23
  375. package/_js/setUse.function.js +0 -14
  376. package/_js/setUse.function.js.map +0 -1
  377. package/_js/state.d.ts +0 -21
  378. package/_js/state.js.map +0 -1
  379. package/_js/tag.d.ts +0 -7
  380. package/_js/tag.js +0 -46
  381. package/_js/tag.js.map +0 -1
  382. package/_js/tagElement.d.ts +0 -14
  383. package/_js/tagElement.js +0 -57
  384. package/_js/tagElement.js.map +0 -1
  385. package/_js/tagGateway.function.d.ts +0 -14
  386. package/_js/tagGateway.function.js +0 -138
  387. package/_js/tagGateway.function.js.map +0 -1
  388. package/_js/tagRunner.d.ts +0 -6
  389. package/_js/tagRunner.js +0 -19
  390. package/_js/tagRunner.js.map +0 -1
  391. package/_js/templater.utils.d.ts +0 -27
  392. package/_js/templater.utils.js +0 -98
  393. package/_js/templater.utils.js.map +0 -1
  394. package/_js/updateTag.utils.d.ts +0 -6
  395. package/_js/updateTag.utils.js +0 -102
  396. package/_js/updateTag.utils.js.map +0 -1
  397. package/_js/wait.d.ts +0 -1
  398. package/_js/wait.js +0 -8
  399. package/_js/wait.js.map +0 -1
@@ -0,0 +1,76 @@
1
+ import { deepEqual } from "./deepFunctions.js";
2
+ export function hasTagSupportChanged(oldTagSupport, newTagSupport) {
3
+ if (oldTagSupport === newTagSupport) {
4
+ throw new Error('someting here');
5
+ }
6
+ const oldProps = oldTagSupport.propsConfig.latest;
7
+ const latestProps = newTagSupport.propsConfig.latest;
8
+ const oldClonedProps = oldTagSupport.propsConfig.latestCloned;
9
+ const propsChanged = hasPropChanges(latestProps, oldClonedProps, oldProps);
10
+ // if no changes detected, no need to continue to rendering further tags
11
+ if (propsChanged) {
12
+ return true;
13
+ }
14
+ const kidsChanged = hasKidsChanged(oldTagSupport, newTagSupport);
15
+ // we already know props didn't change and if kids didn't either, than don't render
16
+ return kidsChanged;
17
+ }
18
+ export function hasPropChanges(props, // natural props
19
+ pastCloneProps, // previously cloned props
20
+ compareToProps) {
21
+ const isCommonEqual = props === undefined && props === compareToProps;
22
+ if (isCommonEqual) {
23
+ return false;
24
+ }
25
+ let castedProps = props;
26
+ let castedPastProps = pastCloneProps;
27
+ // check all prop functions match
28
+ if (typeof (props) === 'object') {
29
+ if (!pastCloneProps) {
30
+ return true;
31
+ }
32
+ castedProps = { ...props };
33
+ castedPastProps = { ...(pastCloneProps || {}) };
34
+ const allFunctionsMatch = Object.entries(castedProps).every(([key, value]) => {
35
+ /*if(!(key in (castedPastProps as any))) {
36
+ return false
37
+ }*/
38
+ let compare = castedPastProps[key];
39
+ if (!(value instanceof Function)) {
40
+ return true; // this will be checked in deepEqual
41
+ }
42
+ if (!(compare instanceof Function)) {
43
+ return false; // its a function now but was not before
44
+ }
45
+ // ensure we are comparing apples to apples as function get wrapped
46
+ if (compare.original) {
47
+ compare = compare.original;
48
+ }
49
+ const original = value.original;
50
+ if (original) {
51
+ value = value.original;
52
+ }
53
+ if (value.toString() !== compare.toString()) {
54
+ return false; // both are function but not the same
55
+ }
56
+ delete castedProps[key]; // its a function and not needed to be compared
57
+ delete castedPastProps[key]; // its a function and not needed to be compared
58
+ return true;
59
+ });
60
+ if (!allFunctionsMatch) {
61
+ return true; // a change has been detected by function comparisons
62
+ }
63
+ }
64
+ const isEqual = deepEqual(pastCloneProps, props);
65
+ return !isEqual; // if equal then no changes
66
+ }
67
+ export function hasKidsChanged(oldTagSupport, newTagSupport) {
68
+ const oldCloneKidValues = oldTagSupport.propsConfig.lastClonedKidValues;
69
+ const newClonedKidValues = newTagSupport.propsConfig.lastClonedKidValues;
70
+ const everySame = oldCloneKidValues.every((set, index) => {
71
+ const x = newClonedKidValues[index];
72
+ return set.every((item, index) => item === x[index]);
73
+ });
74
+ return !everySame;
75
+ }
76
+ //# sourceMappingURL=hasTagSupportChanged.function.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"hasTagSupportChanged.function.js","sourceRoot":"","sources":["../ts/hasTagSupportChanged.function.ts"],"names":[],"mappings":"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"}
package/js/index.d.ts CHANGED
@@ -1,20 +1,30 @@
1
1
  /** Must use .js and NOT .ts extensions here */
2
+ import { redrawTag } from "./redrawTag.function.js";
3
+ import { tagElement } from "./tagElement.js";
2
4
  export * from "./ElementTargetEvent.interface.js";
5
+ export * from "./tag.js";
3
6
  export * from "./html.js";
7
+ export * from "./errors.js";
4
8
  export * from "./Subject.js";
5
- export * from "./interpolateElement.js";
6
- export * from "./getTagSupport.js";
7
- export * from "./redrawTag.function.js";
9
+ export * from "./isInstance.js";
10
+ export * from "./ValueSubject.js";
11
+ export * from "./watch.function.js";
12
+ export * from "./TagSupport.class.js";
8
13
  export * from "./gateway/index.js";
9
- export { isTagComponent } from "./isInstance.js";
10
- export { tags, tag } from "./tag.js";
11
- export { TagComponent } from "./templater.utils.js";
14
+ export * from "./redrawTag.function.js";
15
+ export * from "./interpolateElement.js";
12
16
  export { tagElement } from "./tagElement.js";
13
17
  export { Tag } from "./Tag.class.js";
14
18
  export { runBeforeRender } from "./tagRunner.js";
15
19
  export { setUse } from "./setUse.function.js";
16
20
  export { providers } from "./providers.js";
17
- export { state } from "./state.js";
21
+ export { set } from "./set.function.js";
22
+ export { setLet } from "./setLet.function.js";
23
+ export { setProp } from "./setProp.function.js";
18
24
  export * from "./onInit.js";
19
25
  export * from "./onDestroy.js";
20
26
  export * from "./getCallback.js";
27
+ export declare const hmr: {
28
+ tagElement: typeof tagElement;
29
+ redrawTag: typeof redrawTag;
30
+ };
package/js/index.js CHANGED
@@ -1,14 +1,19 @@
1
1
  /** Must use .js and NOT .ts extensions here */
2
+ import { redrawTag } from "./redrawTag.function.js";
3
+ import { tagElement } from "./tagElement.js";
2
4
  export * from "./ElementTargetEvent.interface.js";
5
+ export * from "./tag.js";
3
6
  export * from "./html.js";
7
+ export * from "./errors.js";
4
8
  export * from "./Subject.js";
5
- export * from "./interpolateElement.js";
6
- export * from "./getTagSupport.js";
7
- export * from "./redrawTag.function.js";
9
+ export * from "./isInstance.js";
10
+ export * from "./ValueSubject.js";
11
+ export * from "./watch.function.js";
12
+ export * from "./TagSupport.class.js";
8
13
  export * from "./gateway/index.js";
14
+ export * from "./redrawTag.function.js";
15
+ export * from "./interpolateElement.js";
9
16
  // TODO: export *
10
- export { isTagComponent } from "./isInstance.js";
11
- export { tags, tag } from "./tag.js";
12
17
  export { tagElement } from "./tagElement.js";
13
18
  export { Tag } from "./Tag.class.js";
14
19
  export { runBeforeRender } from "./tagRunner.js";
@@ -16,10 +21,14 @@ export { setUse } from "./setUse.function.js";
16
21
  /* hooks */
17
22
  // TODO: export *
18
23
  export { providers } from "./providers.js";
19
- // TODO: export *
20
- export { state } from "./state.js";
24
+ export { set } from "./set.function.js";
25
+ export { setLet } from "./setLet.function.js";
26
+ export { setProp } from "./setProp.function.js";
21
27
  export * from "./onInit.js";
22
28
  export * from "./onDestroy.js";
23
29
  export * from "./getCallback.js";
24
30
  /* end: hooks */
31
+ export const hmr = {
32
+ tagElement, redrawTag
33
+ };
25
34
  //# sourceMappingURL=index.js.map
package/js/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../ts/index.ts"],"names":[],"mappings":"AAAA,+CAA+C;AAE/C,cAAc,mCAAmC,CAAA;AAEjD,cAAc,WAAW,CAAA;AACzB,cAAc,cAAc,CAAA;AAC5B,cAAc,yBAAyB,CAAA;AACvC,cAAc,oBAAoB,CAAA;AAClC,cAAc,yBAAyB,CAAA;AACvC,cAAc,oBAAoB,CAAA;AAElC,iBAAiB;AACjB,OAAO,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAA;AAChD,OAAO,EAAE,IAAI,EAAE,GAAG,EAAE,MAAM,UAAU,CAAA;AAEpC,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAA;AAC5C,OAAO,EAAE,GAAG,EAAE,MAAM,gBAAgB,CAAA;AACpC,OAAO,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAA;AAChD,OAAO,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAA;AAE7C,WAAW;AACT,iBAAiB;AACjB,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAA;AAC1C,iBAAiB;AACjB,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAA;AAClC,cAAc,aAAa,CAAA;AAC3B,cAAc,gBAAgB,CAAA;AAC9B,cAAc,kBAAkB,CAAA;AAClC,gBAAgB"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../ts/index.ts"],"names":[],"mappings":"AAAA,+CAA+C;AAE/C,OAAO,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAA;AACnD,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAA;AAE5C,cAAc,mCAAmC,CAAA;AAEjD,cAAc,UAAU,CAAA;AACxB,cAAc,WAAW,CAAA;AACzB,cAAc,aAAa,CAAA;AAC3B,cAAc,cAAc,CAAA;AAC5B,cAAc,iBAAiB,CAAA;AAC/B,cAAc,mBAAmB,CAAA;AACjC,cAAc,qBAAqB,CAAA;AACnC,cAAc,uBAAuB,CAAA;AACrC,cAAc,oBAAoB,CAAA;AAClC,cAAc,yBAAyB,CAAA;AACvC,cAAc,yBAAyB,CAAA;AAEvC,iBAAiB;AACjB,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAA;AAC5C,OAAO,EAAE,GAAG,EAAE,MAAM,gBAAgB,CAAA;AACpC,OAAO,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAA;AAChD,OAAO,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAA;AAE7C,WAAW;AACT,iBAAiB;AACjB,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAA;AAC1C,OAAO,EAAE,GAAG,EAAE,MAAM,mBAAmB,CAAA;AACvC,OAAO,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAA;AAC7C,OAAO,EAAE,OAAO,EAAE,MAAM,uBAAuB,CAAA;AAC/C,cAAc,aAAa,CAAA;AAC3B,cAAc,gBAAgB,CAAA;AAC9B,cAAc,kBAAkB,CAAA;AAClC,gBAAgB;AAEhB,MAAM,CAAC,MAAM,GAAG,GAAG;IACjB,UAAU,EAAE,SAAS;CACtB,CAAA"}
@@ -1,5 +1,17 @@
1
1
  import { inputAttribute } from "./inputAttribute.js";
2
2
  import { isSubjectInstance } from "./isInstance.js";
3
+ function howToSetAttribute(element, name, value) {
4
+ /*
5
+ if(name === 'class'){
6
+ value.split(' ').forEach(className => child.classList.add(className))
7
+ return
8
+ }
9
+ */
10
+ element.setAttribute(name, value);
11
+ }
12
+ function howToSetInputValue(element, name, value) {
13
+ element[name] = value;
14
+ }
3
15
  export function interpolateAttributes(child, scope, ownerTag) {
4
16
  const attrNames = child.getAttributeNames();
5
17
  const isTextArea = child.nodeName === 'TEXTAREA';
@@ -7,18 +19,14 @@ export function interpolateAttributes(child, scope, ownerTag) {
7
19
  const value = child.getAttribute('textVarValue'); // (child as any).value
8
20
  processAttribute('textVarValue', value, child, scope, ownerTag, (_name, value) => child.value = value);
9
21
  }
10
- const howToSet = (name, value) => {
11
- /*
12
- if(name === 'class'){
13
- value.split(' ').forEach(className => child.classList.add(className))
14
- return
15
- }
16
- */
17
- child.setAttribute(name, value);
18
- };
22
+ let howToSet = howToSetAttribute;
19
23
  attrNames.forEach(attrName => {
24
+ if (child.nodeName === 'INPUT' && attrName === 'value') {
25
+ howToSet = howToSetInputValue;
26
+ }
20
27
  const value = child.getAttribute(attrName);
21
28
  processAttribute(attrName, value, child, scope, ownerTag, howToSet);
29
+ howToSet = howToSetAttribute; // put back
22
30
  });
23
31
  }
24
32
  /** Looking for (class | style) followed by a period */
@@ -90,18 +98,20 @@ function processNameValueAttr(attrName, result, child, ownerTag, howToSet) {
90
98
  // Most every variable comes in here since everything is made a ValueSubject
91
99
  if (isSubjectInstance(result)) {
92
100
  child.removeAttribute(attrName);
93
- const callback = (newAttrValue) => processSubjectValue(newAttrValue, child, attrName, isSpecial, howToSet);
101
+ const callback = (newAttrValue) => {
102
+ return processAttributeSubjectValue(newAttrValue, child, attrName, isSpecial, howToSet);
103
+ };
94
104
  // 🗞️ Subscribe. Above callback called immediately since its a ValueSubject()
95
105
  const sub = result.subscribe(callback);
96
106
  // Record subscription for later unsubscribe when element destroyed
97
107
  ownerTag.cloneSubs.push(sub);
98
108
  return;
99
109
  }
100
- howToSet(attrName, result);
110
+ howToSet(child, attrName, result);
101
111
  // child.setAttribute(attrName, result.value)
102
112
  return;
103
113
  }
104
- function processSubjectValue(newAttrValue, child, attrName, isSpecial, howToSet) {
114
+ function processAttributeSubjectValue(newAttrValue, child, attrName, isSpecial, howToSet) {
105
115
  if (newAttrValue instanceof Function) {
106
116
  ;
107
117
  child[attrName] = function (...args) {
@@ -116,8 +126,7 @@ function processSubjectValue(newAttrValue, child, attrName, isSpecial, howToSet)
116
126
  return;
117
127
  }
118
128
  if (newAttrValue) {
119
- howToSet(attrName, newAttrValue);
120
- // child.setAttribute(attrName, newAttrValue)
129
+ howToSet(child, attrName, newAttrValue);
121
130
  return;
122
131
  }
123
132
  const isDeadValue = newAttrValue === undefined || newAttrValue === false || newAttrValue === null;
@@ -126,8 +135,7 @@ function processSubjectValue(newAttrValue, child, attrName, isSpecial, howToSet)
126
135
  return;
127
136
  }
128
137
  // value is 0
129
- howToSet(attrName, newAttrValue);
130
- // child.setAttribute(attrName, newAttrValue)
138
+ howToSet(child, attrName, newAttrValue);
131
139
  }
132
140
  function processScopedNameValueAttr(attrName, value, // {__tagVarN}
133
141
  child, scope, ownerTag, howToSet) {
@@ -1 +1 @@
1
- {"version":3,"file":"interpolateAttributes.js","sourceRoot":"","sources":["../ts/interpolateAttributes.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"interpolateAttributes.js","sourceRoot":"","sources":["../ts/interpolateAttributes.ts"],"names":[],"mappings":"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"}
@@ -3,4 +3,4 @@ import { Tag } from "./Tag.class.js";
3
3
  import { InterpolateOptions } from "./interpolateElement.js";
4
4
  /** Returns subscriptions[] that will need to be unsubscribed from when element is destroyed */
5
5
  export declare function interpolateContentTemplates(element: Element, // <div><div></div><template tag-wrap="22">...</template></div>
6
- variable: any, tag: Tag, options: InterpolateOptions, children: HTMLCollection): Clones;
6
+ context: any, tag: Tag, options: InterpolateOptions, children: HTMLCollection): Clones;
@@ -2,32 +2,30 @@ import { interpolateTemplate } from "./interpolateTemplate.js";
2
2
  const templateSearch = new RegExp('\\s*<template interpolate end id="__tagvar(\\d{1,4})"([^>]*)></template>(\\s*)');
3
3
  /** Returns subscriptions[] that will need to be unsubscribed from when element is destroyed */
4
4
  export function interpolateContentTemplates(element, // <div><div></div><template tag-wrap="22">...</template></div>
5
- variable, tag, options, children) {
5
+ context, tag, options, children) {
6
6
  if (!children || element.tagName === 'TEMPLATE') {
7
7
  return []; // done
8
8
  }
9
- const counts = {
10
- added: 0,
11
- removed: 0,
12
- };
9
+ // counting for animation stagger computing
10
+ const counts = options.counts;
13
11
  const clones = [];
14
12
  const childArray = new Array(...children);
15
13
  if (element.tagName === 'TEXTAREA') {
16
14
  scanTextAreaValue(element);
17
15
  }
18
- childArray.forEach(child => {
19
- const nextClones = interpolateTemplate(child, variable, tag, counts, options);
16
+ childArray.forEach((child, childIndex) => {
17
+ const nextClones = interpolateTemplate(child, context, tag, counts, options);
20
18
  if (child.tagName === 'TEXTAREA') {
21
19
  scanTextAreaValue(child);
22
20
  }
23
21
  clones.push(...nextClones);
24
22
  if (child.children) {
25
23
  const nextKids = new Array(...child.children);
26
- nextKids.forEach(subChild => {
24
+ nextKids.forEach((subChild, index) => {
27
25
  if (isRenderEndTemplate(subChild)) {
28
- interpolateTemplate(subChild, variable, tag, counts, options);
26
+ interpolateTemplate(subChild, context, tag, counts, options);
29
27
  }
30
- const nextClones = interpolateContentTemplates(subChild, variable, tag, options, subChild.children);
28
+ const nextClones = interpolateContentTemplates(subChild, context, tag, options, subChild.children);
31
29
  clones.push(...nextClones);
32
30
  });
33
31
  }
@@ -1 +1 @@
1
- {"version":3,"file":"interpolateContentTemplates.js","sourceRoot":"","sources":["../ts/interpolateContentTemplates.ts"],"names":[],"mappings":"AAGA,OAAO,EAAoB,mBAAmB,EAAE,MAAM,0BAA0B,CAAA;AAEhF,MAAM,cAAc,GAAG,IAAI,MAAM,CAAC,gFAAgF,CAAC,CAAA;AAEnH,+FAA+F;AAC/F,MAAM,UAAU,2BAA2B,CACzC,OAAgB,EAAE,+DAA+D;AACjF,QAAa,EACb,GAAQ,EACR,OAA2B,EAC3B,QAAwB;IAGxB,IAAK,CAAC,QAAQ,IAAI,OAAO,CAAC,OAAO,KAAK,UAAU,EAAG,CAAC;QAClD,OAAO,EAAE,CAAA,CAAC,OAAO;IACnB,CAAC;IAED,MAAM,MAAM,GAAW;QACrB,KAAK,EAAE,CAAC;QACR,OAAO,EAAE,CAAC;KACX,CAAA;IACD,MAAM,MAAM,GAAW,EAAE,CAAA;IAEzB,MAAM,UAAU,GAAG,IAAI,KAAK,CAAC,GAAG,QAAQ,CAAC,CAAA;IAEzC,IAAG,OAAO,CAAC,OAAO,KAAG,UAAU,EAAE,CAAC;QAChC,iBAAiB,CAAC,OAA8B,CAAC,CAAA;IACnD,CAAC;IAED,UAAU,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;QACzB,MAAM,UAAU,GAAG,mBAAmB,CACpC,KAAiB,EACjB,QAAQ,EACR,GAAG,EACH,MAAM,EACN,OAAO,CACR,CAAA;QAED,IAAG,KAAK,CAAC,OAAO,KAAG,UAAU,EAAE,CAAC;YAC9B,iBAAiB,CAAC,KAA4B,CAAC,CAAA;QACjD,CAAC;QAED,MAAM,CAAC,IAAI,CAAC,GAAG,UAAU,CAAC,CAAA;QAE1B,IAAK,KAAK,CAAC,QAAQ,EAAG,CAAC;YACrB,MAAM,QAAQ,GAAG,IAAI,KAAK,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAC,CAAA;YAC7C,QAAQ,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE;gBAC1B,IAAK,mBAAmB,CAAC,QAAQ,CAAC,EAAG,CAAC;oBACpC,mBAAmB,CAAC,QAAoB,EAAE,QAAQ,EAAE,GAAG,EAAE,MAAM,EAAE,OAAO,CAAC,CAAA;gBAC3E,CAAC;gBAED,MAAM,UAAU,GAAG,2BAA2B,CAAC,QAAQ,EAAE,QAAQ,EAAE,GAAG,EAAE,OAAO,EAAE,QAAQ,CAAC,QAAQ,CAAC,CAAA;gBACnG,MAAM,CAAC,IAAI,CAAE,GAAG,UAAU,CAAE,CAAA;YAC9B,CAAC,CAAC,CAAA;QACJ,CAAC;IACH,CAAC,CAAC,CAAA;IAEF,OAAO,MAAM,CAAA;AACf,CAAC;AAED,SAAS,mBAAmB,CAAC,KAAc;IACzC,MAAM,UAAU,GAAG,KAAK,CAAC,OAAO,KAAG,UAAU,CAAA;IAC7C,OAAO,UAAU;QACjB,KAAK,CAAC,YAAY,CAAC,aAAa,CAAC,KAAK,SAAS;QAC/C,KAAK,CAAC,YAAY,CAAC,KAAK,CAAC,KAAK,SAAS,CAAA;AACzC,CAAC;AAED,SAAS,iBAAiB,CAAC,QAA6B;IACtD,MAAM,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAA;IAC5B,IAAI,KAAK,CAAC,MAAM,CAAC,cAAc,CAAC,IAAG,CAAC,EAAG,CAAC;QACtC,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,mBAAmB,CAAC,CAAC;QAC/C,MAAM,MAAM,GAAG,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAA;QACpC,MAAM,KAAK,GAAG,GAAG,GAAG,MAAM,GAAG,GAAG,CAAA;QAChC,yBAAyB;QACzB,QAAQ,CAAC,KAAK,GAAG,EAAE,CAAA;QACnB,QAAQ,CAAC,YAAY,CAAC,cAAc,EAAE,KAAK,CAAC,CAAA;IAC9C,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"interpolateContentTemplates.js","sourceRoot":"","sources":["../ts/interpolateContentTemplates.ts"],"names":[],"mappings":"AAGA,OAAO,EAAoB,mBAAmB,EAAE,MAAM,0BAA0B,CAAA;AAEhF,MAAM,cAAc,GAAG,IAAI,MAAM,CAAC,gFAAgF,CAAC,CAAA;AAEnH,+FAA+F;AAC/F,MAAM,UAAU,2BAA2B,CACzC,OAAgB,EAAE,+DAA+D;AACjF,OAAY,EACZ,GAAQ,EACR,OAA2B,EAC3B,QAAwB;IAGxB,IAAK,CAAC,QAAQ,IAAI,OAAO,CAAC,OAAO,KAAK,UAAU,EAAG,CAAC;QAClD,OAAO,EAAE,CAAA,CAAC,OAAO;IACnB,CAAC;IAED,2CAA2C;IAC3C,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,CAAA;IAC7B,MAAM,MAAM,GAAW,EAAE,CAAA;IACzB,MAAM,UAAU,GAAG,IAAI,KAAK,CAAC,GAAG,QAAQ,CAAC,CAAA;IAEzC,IAAG,OAAO,CAAC,OAAO,KAAG,UAAU,EAAE,CAAC;QAChC,iBAAiB,CAAC,OAA8B,CAAC,CAAA;IACnD,CAAC;IAED,UAAU,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,UAAU,EAAE,EAAE;QACvC,MAAM,UAAU,GAAG,mBAAmB,CACpC,KAAiB,EACjB,OAAO,EACP,GAAG,EACH,MAAM,EACN,OAAO,CACR,CAAA;QAED,IAAG,KAAK,CAAC,OAAO,KAAG,UAAU,EAAE,CAAC;YAC9B,iBAAiB,CAAC,KAA4B,CAAC,CAAA;QACjD,CAAC;QAED,MAAM,CAAC,IAAI,CAAC,GAAG,UAAU,CAAC,CAAA;QAE1B,IAAK,KAAK,CAAC,QAAQ,EAAG,CAAC;YACrB,MAAM,QAAQ,GAAG,IAAI,KAAK,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAC,CAAA;YAC7C,QAAQ,CAAC,OAAO,CAAC,CAAC,QAAQ,EAAE,KAAK,EAAE,EAAE;gBAEnC,IAAK,mBAAmB,CAAC,QAAQ,CAAC,EAAG,CAAC;oBACpC,mBAAmB,CACjB,QAAoB,EACpB,OAAO,EACP,GAAG,EACH,MAAM,EACN,OAAO,CACR,CAAA;gBACH,CAAC;gBAED,MAAM,UAAU,GAAG,2BAA2B,CAC5C,QAAQ,EACR,OAAO,EACP,GAAG,EACH,OAAO,EACP,QAAQ,CAAC,QAAQ,CAClB,CAAA;gBACD,MAAM,CAAC,IAAI,CAAE,GAAG,UAAU,CAAE,CAAA;YAC9B,CAAC,CAAC,CAAA;QACJ,CAAC;IACH,CAAC,CAAC,CAAA;IAEF,OAAO,MAAM,CAAA;AACf,CAAC;AAED,SAAS,mBAAmB,CAAC,KAAc;IACzC,MAAM,UAAU,GAAG,KAAK,CAAC,OAAO,KAAG,UAAU,CAAA;IAC7C,OAAO,UAAU;QACjB,KAAK,CAAC,YAAY,CAAC,aAAa,CAAC,KAAK,SAAS;QAC/C,KAAK,CAAC,YAAY,CAAC,KAAK,CAAC,KAAK,SAAS,CAAA;AACzC,CAAC;AAED,SAAS,iBAAiB,CAAC,QAA6B;IACtD,MAAM,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAA;IAC5B,IAAI,KAAK,CAAC,MAAM,CAAC,cAAc,CAAC,IAAG,CAAC,EAAG,CAAC;QACtC,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,mBAAmB,CAAC,CAAC;QAC/C,MAAM,MAAM,GAAG,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAA;QACpC,MAAM,KAAK,GAAG,GAAG,GAAG,MAAM,GAAG,GAAG,CAAA;QAChC,yBAAyB;QACzB,QAAQ,CAAC,KAAK,GAAG,EAAE,CAAA;QACnB,QAAQ,CAAC,YAAY,CAAC,cAAc,EAAE,KAAK,CAAC,CAAA;IAC9C,CAAC;AACH,CAAC"}
@@ -1,8 +1,10 @@
1
1
  import { Context, Tag, TagTemplate } from "./Tag.class.js";
2
2
  import { Clones } from "./Clones.type.js";
3
+ import { Counts } from "./interpolateTemplate.js";
3
4
  export type InterpolateOptions = {
4
5
  /** make the element go on document */
5
6
  forceElement?: boolean;
7
+ counts: Counts;
6
8
  };
7
9
  export declare function interpolateElement(element: Element, context: Context, // variables used to evaluate
8
10
  interpolatedTemplates: TagTemplate, tagOwner: Tag, options: InterpolateOptions): Clones;
@@ -5,8 +5,7 @@ import { escapeSearch, variablePrefix } from "./Tag.class.js";
5
5
  export function interpolateElement(element, context, // variables used to evaluate
6
6
  interpolatedTemplates, tagOwner, options) {
7
7
  const clones = [];
8
- const result = interpolatedTemplates.interpolation; // interpolateElementChild(element)
9
- // const result = interpolateElementChild(element)
8
+ const result = interpolatedTemplates.interpolation;
10
9
  const template = element.children[0];
11
10
  const children = template.content.children;
12
11
  if (result.keys.length) {
@@ -25,12 +24,6 @@ function processChildrenAttributes(children, context, ownerTag) {
25
24
  }
26
25
  });
27
26
  }
28
- /** Convert interpolations into template tags */
29
- function interpolateElementChild(child) {
30
- const result = interpolateString(child.innerHTML);
31
- child.innerHTML = result.string;
32
- return result;
33
- }
34
27
  export function interpolateString(string) {
35
28
  const result = interpolateToTemplates(string);
36
29
  result.string = result.string.replace(escapeSearch, variablePrefix);
@@ -1 +1 @@
1
- {"version":3,"file":"interpolateElement.js","sourceRoot":"","sources":["../ts/interpolateElement.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAA;AAClE,OAAO,EAAE,sBAAsB,EAAE,MAAM,qBAAqB,CAAA;AAC5D,OAAO,EAAE,2BAA2B,EAAE,MAAM,kCAAkC,CAAA;AAC9E,OAAO,EAA6B,YAAY,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAA;AAQxF,MAAM,UAAU,kBAAkB,CAChC,OAAgB,EAChB,OAAgB,EAAE,6BAA6B;AAC/C,qBAAkC,EAClC,QAAa,EACb,OAA2B;IAE3B,MAAM,MAAM,GAAG,EAAE,CAAA;IACjB,MAAM,MAAM,GAAG,qBAAqB,CAAC,aAAa,CAAA,CAAC,mCAAmC;IACtF,kDAAkD;IAClD,MAAM,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAwB,CAAA;IAC3D,MAAM,QAAQ,GAAG,QAAQ,CAAC,OAAO,CAAC,QAAQ,CAAA;IAE1C,IAAG,MAAM,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;QACtB,MAAM,UAAU,GAAG,2BAA2B,CAAC,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAA;QAC7F,MAAM,CAAC,IAAI,CAAE,GAAG,UAAU,CAAE,CAAA;IAC9B,CAAC;IAED,qBAAqB,CAAC,OAAO,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAA;IACjD,yBAAyB,CAAC,QAAQ,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAA;IAEtD,OAAO,MAAM,CAAA;AACf,CAAC;AAED,SAAS,yBAAyB,CAChC,QAAwB,EACxB,OAAgB,EAChB,QAAa;IAEb,IAAI,KAAK,CAAC,GAAG,QAAe,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;QAC5C,qBAAqB,CAAC,KAAK,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAA;QAE/C,IAAG,KAAK,CAAC,QAAQ,EAAE,CAAC;YAClB,yBAAyB,CAAC,KAAK,CAAC,QAAQ,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAA;QAC9D,CAAC;IACH,CAAC,CAAC,CAAA;AACJ,CAAC;AAED,gDAAgD;AAChD,SAAS,uBAAuB,CAC9B,KAAc;IAEd,MAAM,MAAM,GAAG,iBAAiB,CAAC,KAAK,CAAC,SAAS,CAAC,CAAA;IACjD,KAAK,CAAC,SAAS,GAAG,MAAM,CAAC,MAAM,CAAA;IAC/B,OAAO,MAAM,CAAA;AACf,CAAC;AAED,MAAM,UAAU,iBAAiB,CAAC,MAAc;IAC9C,MAAM,MAAM,GAAG,sBAAsB,CAAC,MAAM,CAAC,CAAA;IAC7C,MAAM,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,YAAY,EAAE,cAAc,CAAC,CAAA;IACnE,OAAO,MAAM,CAAA;AACf,CAAC"}
1
+ {"version":3,"file":"interpolateElement.js","sourceRoot":"","sources":["../ts/interpolateElement.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAA;AAClE,OAAO,EAAE,sBAAsB,EAAE,MAAM,qBAAqB,CAAA;AAC5D,OAAO,EAAE,2BAA2B,EAAE,MAAM,kCAAkC,CAAA;AAC9E,OAAO,EAA6B,YAAY,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAA;AAUxF,MAAM,UAAU,kBAAkB,CAChC,OAAgB,EAChB,OAAgB,EAAE,6BAA6B;AAC/C,qBAAkC,EAClC,QAAa,EACb,OAA2B;IAE3B,MAAM,MAAM,GAAG,EAAE,CAAA;IACjB,MAAM,MAAM,GAAG,qBAAqB,CAAC,aAAa,CAAA;IAClD,MAAM,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAwB,CAAA;IAC3D,MAAM,QAAQ,GAAG,QAAQ,CAAC,OAAO,CAAC,QAAQ,CAAA;IAE1C,IAAG,MAAM,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;QACtB,MAAM,UAAU,GAAG,2BAA2B,CAAC,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAA;QAC7F,MAAM,CAAC,IAAI,CAAE,GAAG,UAAU,CAAE,CAAA;IAC9B,CAAC;IAED,qBAAqB,CAAC,OAAO,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAA;IACjD,yBAAyB,CAAC,QAAQ,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAA;IAEtD,OAAO,MAAM,CAAA;AACf,CAAC;AAED,SAAS,yBAAyB,CAChC,QAAwB,EACxB,OAAgB,EAChB,QAAa;IAEb,IAAI,KAAK,CAAC,GAAG,QAAe,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;QAC5C,qBAAqB,CAAC,KAAK,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAA;QAE/C,IAAG,KAAK,CAAC,QAAQ,EAAE,CAAC;YAClB,yBAAyB,CAAC,KAAK,CAAC,QAAQ,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAA;QAC9D,CAAC;IACH,CAAC,CAAC,CAAA;AACJ,CAAC;AAED,MAAM,UAAU,iBAAiB,CAAC,MAAc;IAC9C,MAAM,MAAM,GAAG,sBAAsB,CAAC,MAAM,CAAC,CAAA;IAC7C,MAAM,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,YAAY,EAAE,cAAc,CAAC,CAAA;IACnE,OAAO,MAAM,CAAA;AACf,CAAC"}
@@ -2,14 +2,14 @@ import { Context, ElementBuildOptions, Tag } from "./Tag.class.js";
2
2
  import { InterpolateOptions } from "./interpolateElement.js";
3
3
  import { Clones } from "./Clones.type.js";
4
4
  export type Template = Element & {
5
- clone: any;
5
+ clone?: any;
6
6
  };
7
7
  export declare function interpolateTemplate(template: Template, // <template end interpolate /> (will be removed)
8
8
  context: Context, // variable scope of {`__tagvar${index}`:'x'}
9
9
  tag: Tag, // Tag class
10
- counts: Counts, // {added:0, removed:0}
10
+ counts: Counts, // used for animation stagger computing
11
11
  options: InterpolateOptions): Clones;
12
- export declare function updateBetweenTemplates(value: string | undefined | boolean | number, lastFirstChild: Element): Text;
12
+ export declare function updateBetweenTemplates(value: string | undefined | boolean | number, lastFirstChild: Element | Text): Text;
13
13
  export type Counts = {
14
14
  added: number;
15
15
  removed: number;
@@ -4,7 +4,7 @@ import { processSubjectValue } from "./processSubjectValue.function.js";
4
4
  export function interpolateTemplate(template, // <template end interpolate /> (will be removed)
5
5
  context, // variable scope of {`__tagvar${index}`:'x'}
6
6
  tag, // Tag class
7
- counts, // {added:0, removed:0}
7
+ counts, // used for animation stagger computing
8
8
  options) {
9
9
  const clones = [];
10
10
  if (!template.hasAttribute('end')) {
@@ -15,19 +15,17 @@ options) {
15
15
  return clones; // ignore, not a tagVar
16
16
  }
17
17
  const result = context[variableName];
18
- // const isSubject = isSubjectInstance(result)
19
18
  let isForceElement = options.forceElement;
20
19
  const callback = (templateNewValue) => {
21
- const { clones } = processSubjectValue(templateNewValue, result, template, tag, { counts, forceElement: isForceElement });
20
+ const { clones } = processSubjectValue(templateNewValue, result, template, tag, {
21
+ // counts,
22
+ counts: { added: counts.added, removed: counts.removed },
23
+ forceElement: isForceElement,
24
+ });
22
25
  if (isForceElement) {
23
26
  isForceElement = false; // only can happen once
24
27
  }
25
28
  clones.push(...clones);
26
- // TODO: See if we can remove
27
- setTimeout(() => {
28
- counts.added = 0; // reset
29
- counts.removed = 0; // reset
30
- }, 0);
31
29
  };
32
30
  const sub = result.subscribe(callback);
33
31
  tag.cloneSubs.push(sub);
@@ -45,20 +43,27 @@ export function updateBetweenTemplates(value, lastFirstChild) {
45
43
  parent.insertBefore(textNode, lastFirstChild);
46
44
  /* remove existing nodes */
47
45
  parent.removeChild(lastFirstChild);
48
- if (lastFirstChild.nodeName === 'TEMPLATE') {
49
- lastFirstChild.setAttribute('removedAt', Date.now().toString());
50
- }
51
46
  return textNode;
52
47
  }
53
48
  export function afterElmBuild(elm, options) {
54
49
  if (!elm.getAttribute) {
55
50
  return;
56
51
  }
52
+ let diff = options.counts.added;
57
53
  if (!options.forceElement) {
58
- elementInitCheck(elm, options.counts);
54
+ diff = elementInitCheck(elm, options.counts) - diff;
59
55
  }
60
56
  if (elm.children) {
61
- new Array(...elm.children).forEach(child => afterElmBuild(child, options));
57
+ const subCounts = {
58
+ added: options.counts.added, // - diff,
59
+ removed: options.counts.removed,
60
+ };
61
+ new Array(...elm.children).forEach((child, index) => {
62
+ return afterElmBuild(child, {
63
+ ...options,
64
+ counts: options.counts,
65
+ });
66
+ });
62
67
  }
63
68
  }
64
69
  //# sourceMappingURL=interpolateTemplate.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"interpolateTemplate.js","sourceRoot":"","sources":["../ts/interpolateTemplate.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"interpolateTemplate.js","sourceRoot":"","sources":["../ts/interpolateTemplate.ts"],"names":[],"mappings":"AAAA,OAAO,EAAqC,cAAc,EAAE,MAAM,gBAAgB,CAAA;AAElF,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAA;AAExD,OAAO,EAAE,mBAAmB,EAAE,MAAM,mCAAmC,CAAA;AAIvE,MAAM,UAAU,mBAAmB,CACjC,QAAkB,EAAE,iDAAiD;AACrE,OAAgB,EAAE,6CAA6C;AAC/D,GAAQ,EAAE,YAAY;AACtB,MAAc,EAAE,uCAAuC;AACvD,OAA2B;IAE3B,MAAM,MAAM,GAAW,EAAE,CAAA;IAEzB,IAAK,CAAC,QAAQ,CAAC,YAAY,CAAC,KAAK,CAAC,EAAG,CAAC;QACpC,OAAO,MAAM,CAAA,CAAC,yBAAyB;IACzC,CAAC;IAED,MAAM,YAAY,GAAG,QAAQ,CAAC,YAAY,CAAC,IAAI,CAAC,CAAA;IAChD,IAAG,YAAY,EAAE,SAAS,CAAC,CAAC,EAAE,cAAc,CAAC,MAAM,CAAC,KAAK,cAAc,EAAE,CAAC;QACxE,OAAO,MAAM,CAAA,CAAC,uBAAuB;IACvC,CAAC;IAED,MAAM,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC,CAAA;IACpC,IAAI,cAAc,GAAG,OAAO,CAAC,YAAY,CAAA;IAEzC,MAAM,QAAQ,GAAG,CAAC,gBAAqB,EAAE,EAAE;QACzC,MAAM,EAAC,MAAM,EAAC,GAAG,mBAAmB,CAClC,gBAAgB,EAChB,MAAM,EACN,QAAQ,EACR,GAAG,EACH;YACE,UAAU;YACV,MAAM,EAAE,EAAC,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,OAAO,EAAE,MAAM,CAAC,OAAO,EAAC;YACtD,YAAY,EAAE,cAAc;SAC7B,CACF,CAAA;QAED,IAAG,cAAc,EAAE,CAAC;YAClB,cAAc,GAAG,KAAK,CAAA,CAAC,uBAAuB;QAChD,CAAC;QAED,MAAM,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,CAAA;IACxB,CAAC,CAAA;IAED,MAAM,GAAG,GAAG,MAAM,CAAC,SAAS,CAAC,QAAe,CAAC,CAAA;IAC7C,GAAG,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;IAEvB,OAAO,MAAM,CAAA;AACf,CAAC;AAED,oCAAoC;AACpC,MAAM,UAAU,sBAAsB,CACpC,KAA4C,EAC5C,cAA8B;IAE9B,MAAM,MAAM,GAAG,cAAc,CAAC,UAAwB,CAAA;IAEtD,uEAAuE;IACvE,IAAG,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,KAAK,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC,CAAC,oBAAoB;QACjF,KAAK,GAAG,EAAE,CAAA;IACZ,CAAC;IAED,kDAAkD;IAClD,MAAM,QAAQ,GAAG,QAAQ,CAAC,cAAc,CAAC,KAAe,CAAC,CAAA,CAAC,kBAAkB;IAC5E,MAAM,CAAC,YAAY,CAAC,QAAQ,EAAE,cAAc,CAAC,CAAA;IAE7C,2BAA2B;IAC3B,MAAM,CAAC,WAAW,CAAC,cAAc,CAAC,CAAA;IAElC,OAAO,QAAQ,CAAA;AACjB,CAAC;AAOD,MAAM,UAAU,aAAa,CAC3B,GAAwB,EACxB,OAA4B;IAE5B,IAAG,CAAE,GAAe,CAAC,YAAY,EAAE,CAAC;QAClC,OAAM;IACR,CAAC;IAED,IAAI,IAAI,GAAG,OAAO,CAAC,MAAM,CAAC,KAAK,CAAA;IAC/B,IAAG,CAAC,OAAO,CAAC,YAAY,EAAE,CAAC;QACzB,IAAI,GAAG,gBAAgB,CAAC,GAAG,EAAE,OAAO,CAAC,MAAM,CAAC,GAAG,IAAI,CAAA;IACrD,CAAC;IAED,IAAI,GAAe,CAAC,QAAQ,EAAE,CAAC;QAC7B,MAAM,SAAS,GAAG;YAChB,KAAK,EAAE,OAAO,CAAC,MAAM,CAAC,KAAK,EAAE,UAAU;YACvC,OAAO,EAAE,OAAO,CAAC,MAAM,CAAC,OAAO;SAChC,CAAA;QAED,IAAI,KAAK,CAAC,GAAI,GAAe,CAAC,QAAe,CAAC,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE;YACtE,OAAO,aAAa,CAAC,KAAK,EAAE;gBAC1B,GAAG,OAAO;gBACX,MAAM,EAAE,OAAO,CAAC,MAAM;aACtB,CAAC,CAAA;QACJ,CAAC,CAAC,CAAA;IACJ,CAAC;AACH,CAAC"}
@@ -1,6 +1,7 @@
1
1
  import { SubjectLike } from "./Subject.js";
2
2
  import { Tag } from "./Tag.class.js";
3
3
  import { TemplaterResult } from "./templater.utils.js";
4
- export declare function isTagComponent(value?: TemplaterResult): boolean;
4
+ export declare function isTagComponent(value?: TemplaterResult | unknown): boolean;
5
5
  export declare function isTagInstance(tag?: Tag | unknown): boolean;
6
- export declare function isSubjectInstance(subject?: SubjectLike): Boolean;
6
+ export declare function isSubjectInstance(subject?: SubjectLike | any): Boolean;
7
+ export declare function isTagArray(value: any): boolean;
package/js/isInstance.js CHANGED
@@ -7,4 +7,7 @@ export function isTagInstance(tag) {
7
7
  export function isSubjectInstance(subject) {
8
8
  return (subject?.isSubject === true || subject?.subscribe) ? true : false; // subject?.isSubject === true ||
9
9
  }
10
+ export function isTagArray(value) {
11
+ return value instanceof Array && value.every(x => isTagInstance(x));
12
+ }
10
13
  //# sourceMappingURL=isInstance.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"isInstance.js","sourceRoot":"","sources":["../ts/isInstance.ts"],"names":[],"mappings":"AAIA,MAAM,UAAU,cAAc,CAAC,KAAuB;IACpD,OAAO,KAAK,EAAE,WAAW,KAAK,IAAI,CAAA;AACpC,CAAC;AAED,MAAM,UAAU,aAAa,CAAC,GAAmB;IAC/C,OAAQ,GAAW,EAAE,KAAK,KAAK,IAAI,CAAA;AACrC,CAAC;AAED,MAAM,UAAU,iBAAiB,CAC/B,OAAqB;IAErB,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"}
1
+ {"version":3,"file":"isInstance.js","sourceRoot":"","sources":["../ts/isInstance.ts"],"names":[],"mappings":"AAIA,MAAM,UAAU,cAAc,CAAC,KAAiC;IAC9D,OAAQ,KAAyB,EAAE,WAAW,KAAK,IAAI,CAAA;AACzD,CAAC;AAED,MAAM,UAAU,aAAa,CAAC,GAAmB;IAC/C,OAAQ,GAAW,EAAE,KAAK,KAAK,IAAI,CAAA;AACrC,CAAC;AAED,MAAM,UAAU,iBAAiB,CAC/B,OAA2B;IAE3B,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,KAAU;IACnC,OAAO,KAAK,YAAY,KAAK,IAAI,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAA;AACrE,CAAC"}
package/js/onDestroy.js CHANGED
@@ -2,9 +2,6 @@ import { setUse } from "./setUse.function.js";
2
2
  /** When undefined, it means a tag is being built for the first time so do run destroy(s) */
3
3
  let destroyCurrentTagSupport;
4
4
  export function onDestroy(callback) {
5
- if (!destroyCurrentTagSupport.memory) {
6
- console.error('xxx', destroyCurrentTagSupport);
7
- }
8
5
  destroyCurrentTagSupport.memory.destroyCallback = callback;
9
6
  }
10
7
  setUse({
@@ -1 +1 @@
1
- {"version":3,"file":"onDestroy.js","sourceRoot":"","sources":["../ts/onDestroy.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAA;AAI7C,4FAA4F;AAC5F,IAAI,wBAAoC,CAAA;AAExC,MAAM,UAAU,SAAS,CACvB,QAA2B;IAE3B,IAAG,CAAC,wBAAwB,CAAC,MAAM,EAAE,CAAC;QACpC,OAAO,CAAC,KAAK,CAAC,KAAK,EAAC,wBAAwB,CAAC,CAAA;IAC/C,CAAC;IAED,wBAAwB,CAAC,MAAM,CAAC,eAAe,GAAG,QAAQ,CAAA;AAC5D,CAAC;AAED,MAAM,CAAC;IACL,YAAY,EAAE,UAAU,CAAC,EAAE,CAAC,wBAAwB,GAAG,UAAU;IACjE,YAAY,EAAE,UAAU,CAAC,EAAE,CAAC,wBAAwB,GAAG,UAAU;IACjE,aAAa,EAAE,CAAC,UAAU,EAAE,GAAG,EAAE,EAAE;QACjC,MAAM,QAAQ,GAAG,UAAU,CAAC,MAAM,CAAC,eAAe,CAAA;QAElD,IAAG,QAAQ,EAAE,CAAC;YACZ,QAAQ,EAAE,CAAA;QACZ,CAAC;IACH,CAAC;CACF,CAAC,CAAA"}
1
+ {"version":3,"file":"onDestroy.js","sourceRoot":"","sources":["../ts/onDestroy.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAA;AAI7C,4FAA4F;AAC5F,IAAI,wBAAoC,CAAA;AAExC,MAAM,UAAU,SAAS,CACvB,QAA2B;IAE3B,wBAAwB,CAAC,MAAM,CAAC,eAAe,GAAG,QAAQ,CAAA;AAC5D,CAAC;AAED,MAAM,CAAC;IACL,YAAY,EAAE,UAAU,CAAC,EAAE,CAAC,wBAAwB,GAAG,UAAU;IACjE,YAAY,EAAE,UAAU,CAAC,EAAE,CAAC,wBAAwB,GAAG,UAAU;IACjE,aAAa,EAAE,CAAC,UAAU,EAAE,GAAG,EAAE,EAAE;QACjC,MAAM,QAAQ,GAAG,UAAU,CAAC,MAAM,CAAC,eAAe,CAAA;QAElD,IAAG,QAAQ,EAAE,CAAC;YACZ,QAAQ,EAAE,CAAA;QACZ,CAAC;IACH,CAAC;CACF,CAAC,CAAA"}
package/js/onInit.js CHANGED
@@ -3,10 +3,6 @@ function setCurrentTagSupport(support) {
3
3
  setUse.memory.initCurrentSupport = support;
4
4
  }
5
5
  export function onInit(callback) {
6
- if (!setUse.memory.initCurrentSupport) {
7
- console.warn('possible init issue?');
8
- return;
9
- }
10
6
  if (!setUse.memory.initCurrentSupport.memory.init) {
11
7
  setUse.memory.initCurrentSupport.memory.init = callback;
12
8
  callback(); // fire init
package/js/onInit.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"onInit.js","sourceRoot":"","sources":["../ts/onInit.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAA;AAI7C,SAAS,oBAAoB,CAAC,OAAmB;IAC/C,MAAM,CAAC,MAAM,CAAC,kBAAkB,GAAG,OAAO,CAAA;AAC5C,CAAC;AAED,MAAM,UAAU,MAAM,CACpB,QAAwB;IAExB,IAAG,CAAC,MAAM,CAAC,MAAM,CAAC,kBAAkB,EAAE,CAAC;QACrC,OAAO,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAA;QACpC,OAAM;IACR,CAAC;IAED,IAAG,CAAC,MAAM,CAAC,MAAM,CAAC,kBAAkB,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;QACjD,MAAM,CAAC,MAAM,CAAC,kBAAkB,CAAC,MAAM,CAAC,IAAI,GAAG,QAAQ,CAAA;QACvD,QAAQ,EAAE,CAAA,CAAC,YAAY;IACzB,CAAC;AACH,CAAC;AAED,MAAM,CAAC;IACL,YAAY,EAAE,UAAU,CAAC,EAAE,CAAC,oBAAoB,CAAC,UAAU,CAAC;IAC5D,YAAY,EAAE,UAAU,CAAC,EAAE,CAAC,oBAAoB,CAAC,UAAU,CAAC;CAC7D,CAAC,CAAA"}
1
+ {"version":3,"file":"onInit.js","sourceRoot":"","sources":["../ts/onInit.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAA;AAI7C,SAAS,oBAAoB,CAAC,OAAmB;IAC/C,MAAM,CAAC,MAAM,CAAC,kBAAkB,GAAG,OAAO,CAAA;AAC5C,CAAC;AAED,MAAM,UAAU,MAAM,CACpB,QAAwB;IAExB,IAAG,CAAC,MAAM,CAAC,MAAM,CAAC,kBAAkB,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;QACjD,MAAM,CAAC,MAAM,CAAC,kBAAkB,CAAC,MAAM,CAAC,IAAI,GAAG,QAAQ,CAAA;QACvD,QAAQ,EAAE,CAAA,CAAC,YAAY;IACzB,CAAC;AACH,CAAC;AAED,MAAM,CAAC;IACL,YAAY,EAAE,UAAU,CAAC,EAAE,CAAC,oBAAoB,CAAC,UAAU,CAAC;IAC5D,YAAY,EAAE,UAAU,CAAC,EAAE,CAAC,oBAAoB,CAAC,UAAU,CAAC;CAC7D,CAAC,CAAA"}
@@ -0,0 +1,2 @@
1
+ import { Context, Tag } from "./Tag.class.js";
2
+ export declare function processNewValue(hasValue: boolean, value: any, context: Context, variableName: string, ownerTag: Tag): void;
@@ -0,0 +1,29 @@
1
+ import { getSubjectFunction, setValueRedraw } from "./Tag.utils.js";
2
+ import { ValueSubject } from "./ValueSubject.js";
3
+ import { isSubjectInstance, isTagComponent, isTagInstance } from "./isInstance.js";
4
+ export function processNewValue(hasValue, value, context, variableName, ownerTag) {
5
+ if (isTagComponent(value)) {
6
+ const existing = context[variableName] = new ValueSubject(value);
7
+ setValueRedraw(value, existing, ownerTag);
8
+ return;
9
+ }
10
+ if (value instanceof Function) {
11
+ context[variableName] = getSubjectFunction(value, ownerTag);
12
+ return;
13
+ }
14
+ if (!hasValue) {
15
+ return; // more strings than values, stop here
16
+ }
17
+ if (isTagInstance(value)) {
18
+ value.ownerTag = ownerTag;
19
+ ownerTag.children.push(value);
20
+ context[variableName] = new ValueSubject(value);
21
+ return;
22
+ }
23
+ if (isSubjectInstance(value)) {
24
+ context[variableName] = value;
25
+ return;
26
+ }
27
+ context[variableName] = new ValueSubject(value);
28
+ }
29
+ //# sourceMappingURL=processNewValue.function.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"processNewValue.function.js","sourceRoot":"","sources":["../ts/processNewValue.function.ts"],"names":[],"mappings":"AACA,OAAO,EAAc,kBAAkB,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAA;AAC/E,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAA;AAChD,OAAO,EAAE,iBAAiB,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAA;AAElF,MAAM,UAAU,eAAe,CAC7B,QAAiB,EACjB,KAAU,EACV,OAAgB,EAChB,YAAoB,EACpB,QAAa;IAEb,IAAG,cAAc,CAAC,KAAK,CAAC,EAAE,CAAC;QACzB,MAAM,QAAQ,GAAG,OAAO,CAAC,YAAY,CAAC,GAAG,IAAI,YAAY,CAAC,KAAK,CAAe,CAAA;QAC9E,cAAc,CAAC,KAAK,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAA;QACzC,OAAM;IACR,CAAC;IAED,IAAG,KAAK,YAAY,QAAQ,EAAE,CAAC;QAC7B,OAAO,CAAC,YAAY,CAAC,GAAG,kBAAkB,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAA;QAC3D,OAAM;IACR,CAAC;IAED,IAAG,CAAC,QAAQ,EAAE,CAAC;QACb,OAAM,CAAC,sCAAsC;IAC/C,CAAC;IAED,IAAG,aAAa,CAAC,KAAK,CAAC,EAAE,CAAC;QACxB,KAAK,CAAC,QAAQ,GAAG,QAAQ,CAAA;QACzB,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;QAC7B,OAAO,CAAC,YAAY,CAAC,GAAG,IAAI,YAAY,CAAC,KAAK,CAAC,CAAA;QAC/C,OAAM;IACR,CAAC;IAED,IAAG,iBAAiB,CAAC,KAAK,CAAC,EAAE,CAAC;QAC5B,OAAO,CAAC,YAAY,CAAC,GAAG,KAAK,CAAA;QAC7B,OAAM;IACR,CAAC;IAED,OAAO,CAAC,YAAY,CAAC,GAAG,IAAI,YAAY,CAAC,KAAK,CAAC,CAAA;AACjD,CAAC"}
@@ -0,0 +1,7 @@
1
+ import { Clones } from "./Clones.type";
2
+ import { Tag } from "./Tag.class";
3
+ import { DisplaySubject } from "./Tag.utils";
4
+ import { Template } from "./interpolateTemplate.js";
5
+ export declare function processRegularValue(value: any, result: DisplaySubject, // could be tag via result.tag
6
+ template: Template, // <template end interpolate /> (will be removed)
7
+ ownerTag: Tag): Clones;