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,21 @@
1
+ import { updateBetweenTemplates } from "./interpolateTemplate.js";
2
+ export function processRegularValue(value, result, // could be tag via result.tag
3
+ template, // <template end interpolate /> (will be removed)
4
+ ownerTag) {
5
+ const before = result.clone || template; // Either the template is on the doc OR its the first element we last put on doc
6
+ result.template = template;
7
+ // Processing of regular values
8
+ const clone = updateBetweenTemplates(value, before);
9
+ result.clone = clone; // remember single element put down, for future updates
10
+ const clones = [];
11
+ const oldPos = ownerTag.clones.indexOf(before); // is the insertBefore guide being considered one of the tags clones?
12
+ const isOnlyGuideInClones = oldPos >= 0 && !ownerTag.clones.includes(clone);
13
+ const exchangeGuideForClone = isOnlyGuideInClones && !before.parentNode; // guide is in clones AND guide is not on the document
14
+ if (exchangeGuideForClone) {
15
+ ownerTag.clones.splice(oldPos, 1); // remove insertBefore guide from tag
16
+ ownerTag.clones.push(clone); // exchange guide for element actually on document
17
+ clones.push(clone); // record the one element that in the end is on the document
18
+ }
19
+ return clones;
20
+ }
21
+ //# sourceMappingURL=processRegularValue.function.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"processRegularValue.function.js","sourceRoot":"","sources":["../ts/processRegularValue.function.ts"],"names":[],"mappings":"AAGA,OAAO,EAAY,sBAAsB,EAAE,MAAM,0BAA0B,CAAA;AAE3E,MAAM,UAAU,mBAAmB,CACjC,KAAU,EACV,MAAsB,EAAE,8BAA8B;AACtD,QAAkB,EAAE,iDAAiD;AACrE,QAAa;IAEb,MAAM,MAAM,GAAG,MAAM,CAAC,KAAK,IAAI,QAAQ,CAAA,CAAC,gFAAgF;IACxH,MAAM,CAAC,QAAQ,GAAG,QAAQ,CAAA;IAE1B,+BAA+B;IAC/B,MAAM,KAAK,GAAG,sBAAsB,CAClC,KAAK,EACL,MAAM,CACP,CAAA;IAED,MAAM,CAAC,KAAK,GAAG,KAAK,CAAA,CAAC,uDAAuD;IAE5E,MAAM,MAAM,GAAW,EAAE,CAAA;IACzB,MAAM,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAA,CAAC,qEAAqE;IACpH,MAAM,mBAAmB,GAAG,MAAM,IAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAA;IACzE,MAAM,qBAAqB,GAAG,mBAAmB,IAAI,CAAC,MAAM,CAAC,UAAU,CAAA,CAAC,sDAAsD;IAE9H,IAAI,qBAAqB,EAAG,CAAC;QAC3B,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,CAAA,CAAC,qCAAqC;QACvE,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA,CAAC,kDAAkD;QAC9E,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA,CAAC,4DAA4D;IACjF,CAAC;IAED,OAAO,MAAM,CAAA;AACf,CAAC"}
@@ -14,38 +14,22 @@ export function processSubjectComponent(value, result, template, ownerTag, optio
14
14
  }
15
15
  const templater = value;
16
16
  const tagSupport = value.tagSupport;
17
- tagSupport.mutatingRender = () => {
18
- // Is this NOT my first render
19
- if (result.tag) {
20
- const exit = tagSupport.renderExistingTag(result.tag, templater);
21
- if (exit) {
22
- return result.tag;
23
- }
24
- }
25
- // draw to my parent
26
- const newest = tagSupport.newest = ownerTag.tagSupport.render();
27
- return newest;
28
- };
29
17
  let retag = templater.newest;
30
18
  const providers = setUse.memory.providerConfig;
31
19
  providers.ownerTag = ownerTag;
32
20
  const isFirstTime = !retag || options.forceElement;
33
21
  if (isFirstTime) {
34
- if (!retag) {
35
- runBeforeRender(tagSupport, ownerTag);
36
- }
37
- // only true when options.forceElement
38
22
  if (retag) {
39
23
  runBeforeRedraw(tagSupport, retag);
40
24
  }
25
+ else {
26
+ runBeforeRender(tagSupport, ownerTag);
27
+ }
41
28
  retag = templater.forceRenderTemplate(tagSupport, ownerTag);
29
+ templater.newest = retag;
42
30
  }
43
31
  ownerTag.children.push(retag);
44
- tagSupport.latestProps = retag.tagSupport.props;
45
- tagSupport.latestClonedProps = retag.tagSupport.clonedProps;
46
- // tagSupport.latestClonedProps = retag.tagSupport.latestClonedProps
47
- tagSupport.memory = retag.tagSupport.memory;
48
- retag.setSupport(tagSupport);
32
+ tagSupport.templater = retag.tagSupport.templater;
49
33
  const clones = processTagResult(retag, result, // The element set here will be removed from document. Also result.tag will be added in here
50
34
  template, // <template end interpolate /> (will be removed)
51
35
  options);
@@ -1 +1 @@
1
- {"version":3,"file":"processSubjectComponent.function.js","sourceRoot":"","sources":["../ts/processSubjectComponent.function.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAA;AAEjE,OAAO,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAA;AAG7C,OAAO,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAA;AAGjE,MAAM,UAAU,uBAAuB,CACrC,KAAsB,EACtB,MAAkB,EAClB,QAAiB,EACjB,QAAa,EACb,OAAiD;IAEjD,uDAAuD;IACvD,IAAG,KAAK,CAAC,MAAM,KAAK,IAAI,EAAE,CAAC;QACzB,IAAI,IAAI,GAAuB,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,IAAI,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,WAAW,EAAE,IAAI,CAAA;QAEtG,IAAG,IAAI,KAAK,UAAU,EAAE,CAAC;YACvB,IAAI,GAAG,SAAS,CAAA;QAClB,CAAC;QAED,MAAM,KAAK,GAAG,IAAI,IAAI,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,QAAQ,EAAE,CAAC,SAAS,CAAC,CAAC,EAAC,GAAG,CAAC,CAAA;QACxE,MAAM,KAAK,GAAG,IAAI,KAAK,CAAC,uGAAuG,KAAK,MAAM,CAAC,CAAA;QAC3I,MAAM,KAAK,CAAA;IACb,CAAC;IAED,MAAM,SAAS,GAAG,KAAwB,CAAA;IAC1C,MAAM,UAAU,GAAe,KAAK,CAAC,UAAU,CAAA;IAE/C,UAAU,CAAC,cAAc,GAAG,GAAG,EAAE;QAC/B,8BAA8B;QAC9B,IAAG,MAAM,CAAC,GAAG,EAAE,CAAC;YACd,MAAM,IAAI,GAAG,UAAU,CAAC,iBAAiB,CAAC,MAAM,CAAC,GAAG,EAAE,SAAS,CAAC,CAAA;YAChE,IAAG,IAAI,EAAE,CAAC;gBACR,OAAO,MAAM,CAAC,GAAG,CAAA;YACnB,CAAC;QACH,CAAC;QAED,oBAAoB;QACpB,MAAM,MAAM,GAAG,UAAU,CAAC,MAAM,GAAG,QAAQ,CAAC,UAAU,CAAC,MAAM,EAAE,CAAA;QAC/D,OAAO,MAAM,CAAA;IACf,CAAC,CAAA;IAED,IAAI,KAAK,GAAG,SAAS,CAAC,MAAa,CAAA;IAEnC,MAAM,SAAS,GAAG,MAAM,CAAC,MAAM,CAAC,cAAc,CAAA;IAC9C,SAAS,CAAC,QAAQ,GAAG,QAAQ,CAAA;IAE7B,MAAM,WAAW,GAAG,CAAC,KAAK,IAAI,OAAO,CAAC,YAAY,CAAA;IAElD,IAAG,WAAW,EAAE,CAAC;QACf,IAAG,CAAC,KAAK,EAAE,CAAC;YACV,eAAe,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAA;QACvC,CAAC;QAED,sCAAsC;QACtC,IAAG,KAAK,EAAE,CAAC;YACT,eAAe,CAAC,UAAU,EAAE,KAAK,CAAC,CAAA;QACpC,CAAC;QAED,KAAK,GAAG,SAAS,CAAC,mBAAmB,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAA;IAC7D,CAAC;IAED,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;IAE7B,UAAU,CAAC,WAAW,GAAG,KAAK,CAAC,UAAU,CAAC,KAAK,CAAA;IAC/C,UAAU,CAAC,iBAAiB,GAAG,KAAK,CAAC,UAAU,CAAC,WAAW,CAAA;IAC3D,oEAAoE;IACpE,UAAU,CAAC,MAAM,GAAG,KAAK,CAAC,UAAU,CAAC,MAAM,CAAA;IAE3C,KAAK,CAAC,UAAU,CAAC,UAAU,CAAC,CAAA;IAE5B,MAAM,MAAM,GAAG,gBAAgB,CAC7B,KAAK,EACL,MAAM,EAAE,4FAA4F;IACpG,QAAQ,EAAE,iDAAiD;IAC3D,OAAO,CACR,CAAA;IAED,OAAO,MAAM,CAAA;AACf,CAAC"}
1
+ {"version":3,"file":"processSubjectComponent.function.js","sourceRoot":"","sources":["../ts/processSubjectComponent.function.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAA;AAEjE,OAAO,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAA;AAG7C,OAAO,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAA;AAGjE,MAAM,UAAU,uBAAuB,CACrC,KAAsB,EACtB,MAAkB,EAClB,QAAiB,EACjB,QAAa,EACb,OAAiD;IAEjD,uDAAuD;IACvD,IAAG,KAAK,CAAC,MAAM,KAAK,IAAI,EAAE,CAAC;QACzB,IAAI,IAAI,GAAuB,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,IAAI,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,WAAW,EAAE,IAAI,CAAA;QAEtG,IAAG,IAAI,KAAK,UAAU,EAAE,CAAC;YACvB,IAAI,GAAG,SAAS,CAAA;QAClB,CAAC;QAED,MAAM,KAAK,GAAG,IAAI,IAAI,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,QAAQ,EAAE,CAAC,SAAS,CAAC,CAAC,EAAC,GAAG,CAAC,CAAA;QACxE,MAAM,KAAK,GAAG,IAAI,KAAK,CAAC,uGAAuG,KAAK,MAAM,CAAC,CAAA;QAC3I,MAAM,KAAK,CAAA;IACb,CAAC;IAED,MAAM,SAAS,GAAG,KAAwB,CAAA;IAC1C,MAAM,UAAU,GAAe,KAAK,CAAC,UAAU,CAAA;IAE/C,IAAI,KAAK,GAAG,SAAS,CAAC,MAAa,CAAA;IAEnC,MAAM,SAAS,GAAG,MAAM,CAAC,MAAM,CAAC,cAAc,CAAA;IAC9C,SAAS,CAAC,QAAQ,GAAG,QAAQ,CAAA;IAE7B,MAAM,WAAW,GAAG,CAAC,KAAK,IAAI,OAAO,CAAC,YAAY,CAAA;IAElD,IAAG,WAAW,EAAE,CAAC;QACf,IAAG,KAAK,EAAE,CAAC;YACT,eAAe,CAAC,UAAU,EAAE,KAAK,CAAC,CAAA;QACpC,CAAC;aAAM,CAAC;YACN,eAAe,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAA;QACvC,CAAC;QAED,KAAK,GAAG,SAAS,CAAC,mBAAmB,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAA;QAE3D,SAAS,CAAC,MAAM,GAAG,KAAK,CAAA;IAC1B,CAAC;IAED,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;IAE7B,UAAU,CAAC,SAAS,GAAG,KAAK,CAAC,UAAU,CAAC,SAAS,CAAA;IAEjD,MAAM,MAAM,GAAG,gBAAgB,CAC7B,KAAK,EACL,MAAM,EAAE,4FAA4F;IACpG,QAAQ,EAAE,iDAAiD;IAC3D,OAAO,CACR,CAAA;IAED,OAAO,MAAM,CAAA;AACf,CAAC"}
@@ -2,8 +2,7 @@ import { TagArraySubject } from "./processTagArray.js";
2
2
  import { Clones } from "./Clones.type.js";
3
3
  import { Tag } from "./Tag.class.js";
4
4
  import { Counts, Template } from "./interpolateTemplate.js";
5
- import { TagSubject } from "./Tag.utils.js";
6
- export declare function isTagArray(value: any): boolean;
5
+ import { DisplaySubject, TagSubject } from "./Tag.utils.js";
7
6
  type processOptions = {
8
7
  forceElement?: boolean;
9
8
  counts: Counts;
@@ -12,12 +11,13 @@ export type ClonesAndPromise = {
12
11
  clones: Clones;
13
12
  promise?: Promise<any>;
14
13
  };
15
- export declare function processSubjectValue(value: any, result: TagArraySubject | TagSubject, // could be tag via result.tag
14
+ export declare function processSubjectValue(value: any, result: TagArraySubject | TagSubject | DisplaySubject, // could be tag via result.tag
16
15
  template: Template, // <template end interpolate /> (will be removed)
17
- tag: Tag, // owner
16
+ ownerTag: Tag, // owner
18
17
  options: processOptions): ClonesAndPromise;
19
- export declare function processTag(value: any, result: TagSubject | TagArraySubject, // could be tag via result.tag
18
+ export declare function processTag(value: any, result: TagSubject, // could be tag via result.tag
20
19
  template: Template, // <template end interpolate /> (will be removed)
21
- tag: Tag, // owner
20
+ ownerTag: Tag, // owner
22
21
  options: processOptions): Clones;
22
+ export declare function destroySimpleValue(template: Element, resultTag: DisplaySubject): void;
23
23
  export {};
@@ -1,9 +1,11 @@
1
1
  import { processSubjectComponent } from "./processSubjectComponent.function.js";
2
2
  import { processTagResult } from "./processTagResult.function.js";
3
- import { isTagComponent, isTagInstance } from "./isInstance.js";
3
+ import { isTagArray, isTagComponent, isTagInstance } from "./isInstance.js";
4
4
  import { processTagArray } from "./processTagArray.js";
5
- import { getTagSupport } from "./getTagSupport.js";
5
+ import { TagSupport } from "./TagSupport.class.js";
6
6
  import { updateBetweenTemplates } from "./interpolateTemplate.js";
7
+ import { ValueSubject } from "./ValueSubject.js";
8
+ import { processRegularValue } from "./processRegularValue.function.js";
7
9
  var ValueTypes;
8
10
  (function (ValueTypes) {
9
11
  ValueTypes["tag"] = "tag";
@@ -23,37 +25,30 @@ function getValueType(value) {
23
25
  }
24
26
  return ValueTypes.value;
25
27
  }
26
- export function isTagArray(value) {
27
- return value instanceof Array && value.every(x => isTagInstance(x));
28
- }
29
28
  export function processSubjectValue(value, result, // could be tag via result.tag
30
29
  template, // <template end interpolate /> (will be removed)
31
- tag, // owner
30
+ ownerTag, // owner
32
31
  options) {
33
32
  const valueType = getValueType(value);
34
33
  // Previously was simple value, now its a tag of some sort
35
34
  const resultTag = result;
36
35
  const clone = resultTag.clone;
37
- if (valueType !== ValueTypes.value && clone) {
38
- const parent = clone.parentNode;
39
- template.removeAttribute('removedAt');
40
- parent.insertBefore(template, clone);
41
- parent.removeChild(clone);
42
- delete resultTag.clone;
43
- // result.clone = template
36
+ const noLongerSimpleValue = valueType !== ValueTypes.value && clone;
37
+ if (noLongerSimpleValue) {
38
+ destroySimpleValue(template, resultTag);
44
39
  }
45
40
  switch (valueType) {
46
41
  case ValueTypes.tag:
47
42
  return {
48
- clones: processTag(value, result, template, tag, options)
43
+ clones: processTag(value, result, template, ownerTag, options)
49
44
  };
50
45
  case ValueTypes.tagArray:
51
46
  return {
52
- clones: processTagArray(result, value, template, tag, options)
47
+ clones: processTagArray(result, value, template, ownerTag, options)
53
48
  };
54
49
  case ValueTypes.tagComponent:
55
50
  return {
56
- clones: processSubjectComponent(value, result, template, tag, options)
51
+ clones: processSubjectComponent(value, result, template, ownerTag, options)
57
52
  };
58
53
  }
59
54
  // *if processing WAS a tag BUT NOW its some other non-tag value
@@ -64,42 +59,25 @@ options) {
64
59
  };
65
60
  }
66
61
  return {
67
- clones: processRegularValue(value, result, template, tag)
62
+ clones: processRegularValue(value, result, template, ownerTag)
68
63
  };
69
64
  }
70
- function processRegularValue(value, result, // could be tag via result.tag
71
- template, // <template end interpolate /> (will be removed)
72
- tag) {
73
- const before = result.clone || template; // Either the template is on the doc OR its the first element we last put on doc
74
- // Processing of regular values
75
- const clone = updateBetweenTemplates(value, before);
76
- result.clone = clone; // remember single element put down, for future updates
77
- const clones = [];
78
- const oldPos = tag.clones.indexOf(before); // is the insertBefore guide being considered one of the tags clones?
79
- const isOnlyGuideInClones = oldPos >= 0 && !tag.clones.includes(clone);
80
- const exchangeGuideForClone = isOnlyGuideInClones && !before.parentNode; // guide is in clones AND guide is not on the document
81
- if (exchangeGuideForClone) {
82
- tag.clones.splice(oldPos, 1); // remove insertBefore guide from tag
83
- tag.clones.push(clone); // exchange guide for element actually on document
84
- clones.push(clone); // record the one element that in the end is on the document
85
- }
86
- return clones;
87
- }
88
65
  export function processTag(value, result, // could be tag via result.tag
89
66
  template, // <template end interpolate /> (will be removed)
90
- tag, // owner
67
+ ownerTag, // owner
91
68
  options) {
92
69
  // first time seeing this tag?
93
70
  if (!value.tagSupport) {
94
- value.tagSupport = getTagSupport({});
71
+ value.tagSupport = new TagSupport({}, // the template is provided via html`` call
72
+ new ValueSubject([]));
95
73
  // asking me to render will cause my parent to render
96
- value.tagSupport.mutatingRender = tag.tagSupport.mutatingRender;
74
+ value.tagSupport.mutatingRender = () => {
75
+ ownerTag.tagSupport.render();
76
+ };
97
77
  value.tagSupport.oldest = value.tagSupport.oldest || value;
98
- tag.children.push(value);
99
- value.ownerTag = tag;
100
- result.sideTag = tag;
78
+ ownerTag.children.push(value);
79
+ value.ownerTag = ownerTag;
101
80
  }
102
- // (result as any).template = template
103
81
  result.template = template;
104
82
  const clones = processTagResult(value, result, // Function will attach result.tag
105
83
  template, options);
@@ -114,16 +92,23 @@ options) {
114
92
  // const parentNode = lastFirstChild.parentNode || template.parentNode
115
93
  // put the template back down
116
94
  lastFirstChild.parentNode.insertBefore(template, lastFirstChild);
95
+ const clone = updateBetweenTemplates(value,
96
+ // template // template, // this will be removed from document inside this function
97
+ lastFirstChild);
98
+ result.clone = clone;
117
99
  // cleanup old
118
- if (result.clone) {
119
- result.clone.parentNode.removeChild(result.clone);
120
- }
121
100
  delete result.tag;
101
+ /* destroy logic */
122
102
  const stagger = options.counts.removed;
123
103
  const promise = tag.destroy({ stagger }).then(animated => options.counts.removed = stagger + animated);
124
- delete result.tag;
125
- const clone = updateBetweenTemplates(value, template);
126
- result.clone = clone;
104
+ /* end: destroy logic */
127
105
  return promise;
128
106
  }
107
+ export function destroySimpleValue(template, resultTag) {
108
+ const clone = resultTag.clone;
109
+ const parent = clone.parentNode;
110
+ parent.insertBefore(template, clone);
111
+ parent.removeChild(clone);
112
+ delete resultTag.clone;
113
+ }
129
114
  //# sourceMappingURL=processSubjectValue.function.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"processSubjectValue.function.js","sourceRoot":"","sources":["../ts/processSubjectValue.function.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,uBAAuB,EAAE,MAAM,uCAAuC,CAAA;AAC/E,OAAO,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAA;AACjE,OAAO,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAA;AAC/D,OAAO,EAAmB,eAAe,EAAE,MAAM,sBAAsB,CAAA;AAEvE,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAA;AAGlD,OAAO,EAAoB,sBAAsB,EAAE,MAAM,0BAA0B,CAAA;AAInF,IAAK,UAKJ;AALD,WAAK,UAAU;IACb,yBAAW,CAAA;IACX,oCAAsB,CAAA;IACtB,4CAA8B,CAAA;IAC9B,6BAAe,CAAA;AACjB,CAAC,EALI,UAAU,KAAV,UAAU,QAKd;AAED,SAAS,YAAY,CAAC,KAAU;IAC9B,IAAG,cAAc,CAAC,KAAK,CAAC,EAAE,CAAC;QACzB,OAAO,UAAU,CAAC,YAAY,CAAA;IAChC,CAAC;IAED,IAAI,aAAa,CAAC,KAAK,CAAC,EAAE,CAAC;QACzB,OAAO,UAAU,CAAC,GAAG,CAAA;IACvB,CAAC;IAED,IAAI,UAAU,CAAC,KAAK,CAAC,EAAE,CAAC;QACtB,OAAO,UAAU,CAAC,QAAQ,CAAA;IAC5B,CAAC;IAED,OAAO,UAAU,CAAC,KAAK,CAAA;AACzB,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;AAYD,MAAM,UAAU,mBAAmB,CACjC,KAAU,EACV,MAAoC,EAAE,8BAA8B;AACpE,QAAkB,EAAE,iDAAiD;AACrE,GAAQ,EAAE,QAAQ;AAClB,OAAuB;IAEvB,MAAM,SAAS,GAAG,YAAY,CAAC,KAAK,CAAC,CAAA;IAErC,0DAA0D;IAC1D,MAAM,SAAS,GAAG,MAAoB,CAAA;IACtC,MAAM,KAAK,GAAG,SAAS,CAAC,KAAK,CAAA;IAC7B,IAAG,SAAS,KAAK,UAAU,CAAC,KAAK,IAAI,KAAK,EAAE,CAAC;QAC3C,MAAM,MAAM,GAAG,KAAK,CAAC,UAAwB,CAAA;QAC7C,QAAQ,CAAC,eAAe,CAAC,WAAW,CAAC,CAAA;QACrC,MAAM,CAAC,YAAY,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAA;QACpC,MAAM,CAAC,WAAW,CAAC,KAAK,CAAC,CAAA;QACzB,OAAO,SAAS,CAAC,KAAK,CAAA;QACtB,0BAA0B;IAC5B,CAAC;IAED,QAAQ,SAAS,EAAE,CAAC;QAClB,KAAK,UAAU,CAAC,GAAG;YACjB,OAAO;gBACL,MAAM,EAAE,UAAU,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,GAAG,EAAE,OAAO,CAAC;aAC1D,CAAA;QAEH,KAAK,UAAU,CAAC,QAAQ;YACtB,OAAO;gBACL,MAAM,EAAE,eAAe,CAAC,MAAyB,EAAE,KAAK,EAAE,QAAQ,EAAE,GAAG,EAAE,OAAO,CAAC;aAClF,CAAA;QAEH,KAAK,UAAU,CAAC,YAAY;YAC1B,OAAO;gBACL,MAAM,EAAE,uBAAuB,CAAC,KAAK,EAAE,MAAoB,EAAE,QAAQ,EAAE,GAAG,EAAE,OAAO,CAAC;aACrF,CAAA;IACL,CAAC;IAED,gEAAgE;IAChE,IAAM,MAAqB,CAAC,GAAG,EAAG,CAAC;QACjC,OAAO;YACL,MAAM,EAAE,EAAE;YACV,OAAO,EAAE,aAAa,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,CAAC;SACzD,CAAA;IACH,CAAC;IAED,OAAO;QACL,MAAM,EAAE,mBAAmB,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,GAAG,CAAC;KAC1D,CAAA;AACH,CAAC;AAED,SAAS,mBAAmB,CAC1B,KAAU,EACV,MAAW,EAAE,8BAA8B;AAC3C,QAAkB,EAAE,iDAAiD;AACrE,GAAQ;IAER,MAAM,MAAM,GAAG,MAAM,CAAC,KAAK,IAAI,QAAQ,CAAA,CAAC,gFAAgF;IAExH,+BAA+B;IAC/B,MAAM,KAAK,GAAG,sBAAsB,CAClC,KAAK,EACL,MAAM,CACP,CAAA;IAED,MAAM,CAAC,KAAK,GAAG,KAAK,CAAA,CAAC,uDAAuD;IAE5E,MAAM,MAAM,GAAW,EAAE,CAAA;IACzB,MAAM,MAAM,GAAG,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAA,CAAC,qEAAqE;IAC/G,MAAM,mBAAmB,GAAG,MAAM,IAAE,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAA;IACpE,MAAM,qBAAqB,GAAG,mBAAmB,IAAI,CAAC,MAAM,CAAC,UAAU,CAAA,CAAC,sDAAsD;IAE9H,IAAI,qBAAqB,EAAG,CAAC;QAC3B,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,CAAA,CAAC,qCAAqC;QAClE,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA,CAAC,kDAAkD;QACzE,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA,CAAC,4DAA4D;IACjF,CAAC;IAED,OAAO,MAAM,CAAA;AACf,CAAC;AAED,MAAM,UAAU,UAAU,CACxB,KAAU,EACV,MAAoC,EAAE,8BAA8B;AACpE,QAAkB,EAAE,iDAAiD;AACrE,GAAQ,EAAE,QAAQ;AAClB,OAAuB;IAEvB,8BAA8B;IAC9B,IAAG,CAAC,KAAK,CAAC,UAAU,EAAE,CAAC;QACrB,KAAK,CAAC,UAAU,GAAG,aAAa,CAAC,EAAqB,CAAC,CAAA;QACvD,qDAAqD;QACrD,KAAK,CAAC,UAAU,CAAC,cAAc,GAAG,GAAG,CAAC,UAAU,CAAC,cAAc,CAAA;QAC/D,KAAK,CAAC,UAAU,CAAC,MAAM,GAAG,KAAK,CAAC,UAAU,CAAC,MAAM,IAAI,KAAK,CAAA;QAE1D,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAY,CAAC,CAAA;QAC/B,KAAK,CAAC,QAAQ,GAAG,GAAG,CAEnB;QAAC,MAAc,CAAC,OAAO,GAAG,GAAG,CAAA;IAChC,CAAC;IAED,sCAAsC;IACrC,MAAc,CAAC,QAAQ,GAAG,QAAQ,CAAA;IAEnC,MAAM,MAAM,GAAG,gBAAgB,CAC7B,KAAK,EACL,MAAM,EAAE,kCAAkC;IAC1C,QAAQ,EACR,OAAO,CACR,CAAA;IAED,OAAO,MAAM,CAAA;AACf,CAAC;AAED,SAAS,aAAa,CACpB,KAAU,EACV,MAAW,EAAE,+BAA+B;AAC5C,QAAkB,EAAE,iDAAiD;AACrE,OAAuB;IAEvB,MAAM,GAAG,GAAQ,MAAM,CAAC,GAAG,CAAA;IAE3B,wBAAwB;IACxB,MAAM,cAAc,GAAG,MAAM,CAAC,KAAK,IAAI,QAAQ,CAAA,CAAA,kDAAkD;IACjG,sEAAsE;IAEtE,6BAA6B;IAC7B,cAAc,CAAC,UAAU,CAAC,YAAY,CAAC,QAAQ,EAAE,cAAc,CAAC,CAAA;IAEhE,cAAc;IACd,IAAG,MAAM,CAAC,KAAK,EAAE,CAAC;QAChB,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,WAAW,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;IACnD,CAAC;IACD,OAAO,MAAM,CAAC,GAAG,CAAA;IAEjB,MAAM,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC,OAAO,CAAA;IACtC,MAAM,OAAO,GAAG,GAAG,CAAC,OAAO,CAAC,EAAC,OAAO,EAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CACrD,OAAO,CAAC,MAAM,CAAC,OAAO,GAAG,OAAO,GAAG,QAAQ,CAC5C,CAAA;IACD,OAAO,MAAM,CAAC,GAAG,CAAA;IAEjB,MAAM,KAAK,GAAG,sBAAsB,CAClC,KAAK,EACL,QAAQ,CACT,CAAA;IAED,MAAM,CAAC,KAAK,GAAG,KAAK,CAAA;IAEpB,OAAO,OAAO,CAAA;AAChB,CAAC"}
1
+ {"version":3,"file":"processSubjectValue.function.js","sourceRoot":"","sources":["../ts/processSubjectValue.function.ts"],"names":[],"mappings":"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"}
@@ -9,6 +9,7 @@ export type LastArrayItem = {
9
9
  export type TagArraySubject = ValueSubject<Tag[]> & {
10
10
  lastArray: LastArrayItem[];
11
11
  template: Element;
12
+ isChildSubject?: boolean;
12
13
  };
13
14
  export declare function processTagArray(result: TagArraySubject, value: Tag[], // arry of Tag classes
14
15
  template: Element, // <template end interpolate />
@@ -1,5 +1,6 @@
1
- import { getTagSupport } from "./getTagSupport.js";
2
- import { processTagResult } from "./processTagResult.function.js";
1
+ import { ValueSubject } from "./ValueSubject.js";
2
+ import { TagSupport } from "./TagSupport.class.js";
3
+ import { ArrayNoKeyError } from "./errors.js";
3
4
  export function processTagArray(result, value, // arry of Tag classes
4
5
  template, // <template end interpolate />
5
6
  ownerTag, options) {
@@ -14,7 +15,7 @@ ownerTag, options) {
14
15
  const lessLength = newLength < at;
15
16
  const subTag = value[index - removed];
16
17
  const subArrayValue = subTag?.arrayValue;
17
- const destroyItem = lessLength || subArrayValue !== item.tag.arrayValue;
18
+ const destroyItem = lessLength || !areLikeValues(subArrayValue, item.tag.arrayValue);
18
19
  if (destroyItem) {
19
20
  const last = result.lastArray[index];
20
21
  const tag = last.tag;
@@ -31,36 +32,71 @@ ownerTag, options) {
31
32
  // const masterBefore = template || (template as any).clone
32
33
  const before = template || template.clone;
33
34
  value.forEach((subTag, index) => {
34
- subTag.tagSupport = getTagSupport({}); // {...ownerTag.tagSupport} // ownerTag.tagSupport.templater
35
- subTag.tagSupport.mutatingRender = () => {
36
- ownerTag.tagSupport.render();
37
- return subTag;
38
- }; // fake having a render function
35
+ const previous = result.lastArray[index];
36
+ const previousSupport = subTag.tagSupport || previous?.tag.tagSupport;
37
+ subTag.tagSupport = previousSupport || new TagSupport({}, new ValueSubject([]));
38
+ if (previousSupport) {
39
+ previousSupport.newest = subTag;
40
+ }
41
+ else {
42
+ subTag.tagSupport.mutatingRender = () => {
43
+ ownerTag.tagSupport.render(); // call owner for needed updates
44
+ return subTag;
45
+ };
46
+ ownerTag.children.push(subTag);
47
+ }
39
48
  subTag.ownerTag = ownerTag;
40
- ownerTag.children.push(subTag);
41
49
  // check for html``.key()
42
- if (subTag.arrayValue === undefined) {
43
- // appears arrayValue is not there but maybe arrayValue is actually the value of undefined
44
- if (!Object.keys(subTag).includes('arrayValue')) {
45
- const err = new Error('Use html`...`.key(item) instead of html`...` to template an Array');
46
- err.code = 'add-array-key';
47
- throw err;
48
- }
50
+ const keyNotSet = subTag.arrayValue;
51
+ if (keyNotSet?.isArrayValueNeverSet) {
52
+ const details = {
53
+ template: subTag.getTemplate().string,
54
+ array: value,
55
+ ownerTagContent: ownerTag.lastTemplateString,
56
+ };
57
+ const message = 'Use html`...`.key(item) instead of html`...` to template an Array';
58
+ console.error(message, details);
59
+ const err = new ArrayNoKeyError(message, details);
60
+ throw err;
49
61
  }
50
- const previous = result.lastArray[index];
51
- if (previous) {
52
- const isSame = previous.tag.arrayValue === subTag.arrayValue;
62
+ const couldBeSame = result.lastArray.length > index;
63
+ if (couldBeSame) {
64
+ const isSame = areLikeValues(previous.tag.arrayValue, subTag.arrayValue);
53
65
  if (isSame) {
54
- previous.tag.updateValues(subTag.values);
66
+ subTag.tagSupport = subTag.tagSupport || previous.tag.tagSupport;
67
+ previous.tag.updateByTag(subTag);
68
+ return [];
55
69
  }
56
70
  return [];
57
71
  }
58
- const nextClones = processTagResult(subTag, result, before, {
59
- index,
60
- ...options,
61
- });
72
+ const nextClones = processAddTagArrayItem(before, subTag, result, index, options);
62
73
  clones.push(...nextClones);
63
74
  });
64
75
  return clones;
65
76
  }
77
+ function processAddTagArrayItem(before, subTag, result, index, options) {
78
+ // Added to previous array
79
+ result.lastArray.push({
80
+ tag: subTag, index
81
+ });
82
+ const counts = {
83
+ added: options.counts.added + index,
84
+ removed: options.counts.removed,
85
+ };
86
+ const lastFirstChild = before; // tag.clones[0] // insertBefore.lastFirstChild
87
+ const nextClones = subTag.buildBeforeElement(lastFirstChild, { counts, forceElement: options.forceElement });
88
+ return nextClones;
89
+ }
90
+ /** compare two values. If both values are arrays then the items will be compared */
91
+ function areLikeValues(valueA, valueB) {
92
+ if (valueA === valueB) {
93
+ return true;
94
+ }
95
+ const bothArrays = valueA instanceof Array && valueB instanceof Array;
96
+ const matchLengths = bothArrays && valueA.length == valueB.length;
97
+ if (matchLengths) {
98
+ return valueA.every((item, index) => item == valueB[index]);
99
+ }
100
+ return false;
101
+ }
66
102
  //# sourceMappingURL=processTagArray.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"processTagArray.js","sourceRoot":"","sources":["../ts/processTagArray.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"processTagArray.js","sourceRoot":"","sources":["../ts/processTagArray.ts"],"names":[],"mappings":"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"}
@@ -5,8 +5,7 @@ import { TagArraySubject } from "./processTagArray.js";
5
5
  import { TagSubject } from "./Tag.utils.js";
6
6
  export declare function processTagResult(tag: Tag, result: TagArraySubject | TagSubject | Function, // used for recording past and current value
7
7
  insertBefore: Element, // <template end interpolate />
8
- { index, counts, forceElement, }: {
9
- index?: number;
8
+ { counts, forceElement, }: {
10
9
  counts: Counts;
11
10
  forceElement?: boolean;
12
11
  }): Clones;
@@ -1,22 +1,6 @@
1
1
  export function processTagResult(tag, result, // used for recording past and current value
2
2
  insertBefore, // <template end interpolate />
3
- { index, counts, forceElement, }) {
4
- // *for
5
- if (index !== undefined) {
6
- const resultArray = result.lastArray;
7
- const existing = resultArray[index];
8
- if (existing?.tag.isLikeTag(tag)) {
9
- existing.tag.updateByTag(tag);
10
- return [];
11
- }
12
- // Added to previous array
13
- resultArray.push({
14
- tag, index
15
- });
16
- const lastFirstChild = insertBefore; // tag.clones[0] // insertBefore.lastFirstChild
17
- const clones = tag.buildBeforeElement(lastFirstChild, { counts, forceElement });
18
- return clones;
19
- }
3
+ { counts, forceElement, }) {
20
4
  // *if appears we already have seen
21
5
  const subjectTag = result;
22
6
  const rTag = subjectTag.tag;
@@ -1 +1 @@
1
- {"version":3,"file":"processTagResult.function.js","sourceRoot":"","sources":["../ts/processTagResult.function.ts"],"names":[],"mappings":"AAMA,MAAM,UAAU,gBAAgB,CAC9B,GAAQ,EACR,MAA+C,EAAE,4CAA4C;AAC7F,YAAqB,EAAE,+BAA+B;AACtD,EACE,KAAK,EAAE,MAAM,EAAE,YAAY,GAK5B;IAED,OAAO;IACP,IAAG,KAAK,KAAK,SAAS,EAAE,CAAC;QACvB,MAAM,WAAW,GAAI,MAA0B,CAAC,SAAS,CAAA;QACzD,MAAM,QAAQ,GAAG,WAAW,CAAC,KAAK,CAAC,CAAA;QAEnC,IAAG,QAAQ,EAAE,GAAG,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC;YAChC,QAAQ,CAAC,GAAG,CAAC,WAAW,CAAC,GAAG,CAAC,CAAA;YAC7B,OAAO,EAAE,CAAA;QACX,CAAC;QAGD,0BAA0B;QAC1B,WAAW,CAAC,IAAI,CAAC;YACf,GAAG,EAAE,KAAK;SACX,CAAC,CAAA;QAEF,MAAM,cAAc,GAAG,YAAY,CAAA,CAAC,mDAAmD;QACvF,MAAM,MAAM,GAAG,GAAG,CAAC,kBAAkB,CAAC,cAAc,EAAE,EAAC,MAAM,EAAE,YAAY,EAAC,CAAC,CAAA;QAE7E,OAAO,MAAM,CAAA;IACf,CAAC;IAED,mCAAmC;IACnC,MAAM,UAAU,GAAG,MAAoB,CAAA;IACvC,MAAM,IAAI,GAAG,UAAU,CAAC,GAAG,CAAA;IAC3B,IAAG,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;QACzB,6CAA6C;QAC7C,IAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC;YACvB,aAAa;YACb,IAAG,MAAM,YAAY,QAAQ,EAAE,CAAC;gBAC9B,MAAM,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAA;gBACtC,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,CAAA;gBACxB,OAAO,EAAE,CAAA;YACX,CAAC;YAED,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,CAAA;YAErB,OAAO,EAAE,CAAA,CAAC,gDAAgD;QAC5D,CAAC;IACH,CAAC;IAED,MAAM,MAAM,GAAG,GAAG,CAAC,kBAAkB,CAAC,YAAY,EAAE;QAClD,MAAM;QACN,YAAY;KACb,CAAC,CAAA;IACF,UAAU,CAAC,GAAG,GAAG,GAAG,CAAA,CAAC,wDAAwD;IAE7E,OAAO,MAAM,CAAA;AACf,CAAC"}
1
+ {"version":3,"file":"processTagResult.function.js","sourceRoot":"","sources":["../ts/processTagResult.function.ts"],"names":[],"mappings":"AAMA,MAAM,UAAU,gBAAgB,CAC9B,GAAQ,EACR,MAA+C,EAAE,4CAA4C;AAC7F,YAAqB,EAAE,+BAA+B;AACtD,EACE,MAAM,EAAE,YAAY,GAIrB;IAED,mCAAmC;IACnC,MAAM,UAAU,GAAG,MAAoB,CAAA;IACvC,MAAM,IAAI,GAAG,UAAU,CAAC,GAAG,CAAA;IAC3B,IAAG,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;QACzB,6CAA6C;QAC7C,IAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC;YACvB,aAAa;YACb,IAAG,MAAM,YAAY,QAAQ,EAAE,CAAC;gBAC9B,MAAM,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAA;gBACtC,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,CAAA;gBACxB,OAAO,EAAE,CAAA;YACX,CAAC;YAED,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,CAAA;YAErB,OAAO,EAAE,CAAA,CAAC,gDAAgD;QAC5D,CAAC;IACH,CAAC;IAED,MAAM,MAAM,GAAG,GAAG,CAAC,kBAAkB,CAAC,YAAY,EAAE;QAClD,MAAM;QACN,YAAY;KACb,CAAC,CAAA;IACF,UAAU,CAAC,GAAG,GAAG,GAAG,CAAA,CAAC,wDAAwD;IAE7E,OAAO,MAAM,CAAA;AACf,CAAC"}
@@ -0,0 +1,2 @@
1
+ import { GetSet } from "./set.function";
2
+ export declare function propState<T>(watchPropValue: T, getSet: GetSet<T>): void;
@@ -0,0 +1,3 @@
1
+ export function propState(watchPropValue, getSet) {
2
+ }
3
+ //# sourceMappingURL=propState.function.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"propState.function.js","sourceRoot":"","sources":["../ts/propState.function.ts"],"names":[],"mappings":"AAEA,MAAM,UAAU,SAAS,CACvB,cAAiB,EACjB,MAAiB;AAGnB,CAAC"}
@@ -0,0 +1,2 @@
1
+ import { Tag } from "./Tag.class.js";
2
+ export declare function providersChangeCheck(tag: Tag): void;
@@ -0,0 +1,34 @@
1
+ import { deepClone, deepEqual } from "./deepFunctions.js";
2
+ export function providersChangeCheck(tag) {
3
+ const providersWithChanges = tag.tagSupport.memory.providers.filter(provider => !deepEqual(provider.instance, provider.clone));
4
+ // reset clones
5
+ providersWithChanges.forEach(provider => {
6
+ const appElement = tag.getAppElement();
7
+ handleProviderChanges(appElement, provider);
8
+ provider.clone = deepClone(provider.instance);
9
+ });
10
+ }
11
+ function handleProviderChanges(appElement, provider) {
12
+ const tagsWithProvider = getTagsWithProvider(appElement, provider);
13
+ tagsWithProvider.forEach(({ tag, renderCount, provider }) => {
14
+ const notRendered = renderCount === tag.tagSupport.memory.renderCount;
15
+ if (notRendered) {
16
+ provider.clone = deepClone(provider.instance);
17
+ tag.tagSupport.render();
18
+ }
19
+ });
20
+ }
21
+ function getTagsWithProvider(tag, provider, memory = []) {
22
+ const compare = tag.tagSupport.memory.providers;
23
+ const hasProvider = compare.find(xProvider => xProvider.constructMethod === provider.constructMethod);
24
+ if (hasProvider) {
25
+ memory.push({
26
+ tag,
27
+ renderCount: tag.tagSupport.memory.renderCount,
28
+ provider: hasProvider
29
+ });
30
+ }
31
+ tag.children.forEach(child => getTagsWithProvider(child, provider, memory));
32
+ return memory;
33
+ }
34
+ //# sourceMappingURL=provider.utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"provider.utils.js","sourceRoot":"","sources":["../ts/provider.utils.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAA;AAGzD,MAAM,UAAU,oBAAoB,CAAC,GAAQ;IAC3C,MAAM,oBAAoB,GAAG,GAAG,CAAC,UAAU,CAAC,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,CAC7E,CAAC,SAAS,CAAC,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAC,KAAK,CAAC,CAC9C,CAAA;IAED,eAAe;IACf,oBAAoB,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE;QACtC,MAAM,UAAU,GAAG,GAAG,CAAC,aAAa,EAAE,CAAA;QAEtC,qBAAqB,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAA;QAE3C,QAAQ,CAAC,KAAK,GAAG,SAAS,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAA;IAC/C,CAAC,CAAC,CAAA;AACJ,CAAC;AAED,SAAS,qBAAqB,CAC5B,UAAe,EACf,QAAkB;IAElB,MAAM,gBAAgB,GAAG,mBAAmB,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAA;IAElE,gBAAgB,CAAC,OAAO,CAAC,CAAC,EAAC,GAAG,EAAE,WAAW,EAAE,QAAQ,EAAC,EAAE,EAAE;QACxD,MAAM,WAAW,GAAG,WAAW,KAAK,GAAG,CAAC,UAAU,CAAC,MAAM,CAAC,WAAW,CAAA;QACrE,IAAG,WAAW,EAAE,CAAC;YACf,QAAQ,CAAC,KAAK,GAAG,SAAS,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAA;YAC7C,GAAG,CAAC,UAAU,CAAC,MAAM,EAAE,CAAA;QACzB,CAAC;IACH,CAAC,CAAC,CAAA;AACJ,CAAC;AAED,SAAS,mBAAmB,CAC1B,GAAQ,EACR,QAAkB,EAClB,SAIM,EAAE;IAER,MAAM,OAAO,GAAG,GAAG,CAAC,UAAU,CAAC,MAAM,CAAC,SAAS,CAAA;IAE/C,MAAM,WAAW,GAAG,OAAO,CAAC,IAAI,CAC9B,SAAS,CAAC,EAAE,CAAC,SAAS,CAAC,eAAe,KAAK,QAAQ,CAAC,eAAe,CACpE,CAAA;IAED,IAAG,WAAW,EAAE,CAAC;QACf,MAAM,CAAC,IAAI,CAAC;YACV,GAAG;YACH,WAAW,EAAE,GAAG,CAAC,UAAU,CAAC,MAAM,CAAC,WAAW;YAC9C,QAAQ,EAAE,WAAW;SACtB,CAAC,CAAA;IACJ,CAAC;IAED,GAAG,CAAC,QAAQ,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC,mBAAmB,CAAC,KAAK,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAC,CAAA;IAE3E,OAAO,MAAM,CAAA;AACf,CAAC"}
package/js/providers.d.ts CHANGED
@@ -3,6 +3,7 @@ export type Provider = {
3
3
  instance: any;
4
4
  clone: any;
5
5
  };
6
+ type ProviderConstructor<T> = (new (...args: any[]) => T) | (() => T);
6
7
  type functionProvider = <T>() => T;
7
8
  type classProvider = new <T>(...args: any[]) => T;
8
9
  export declare const providers: {
@@ -12,6 +13,6 @@ export declare const providers: {
12
13
  * @param {(new (...args: any[]) => T) | () => T} constructor
13
14
  * @returns {T}
14
15
  */
15
- inject: (constructor: any) => any;
16
+ inject: <T_1>(constructor: ProviderConstructor<T_1>) => T_1;
16
17
  };
17
18
  export {};
package/js/providers.js CHANGED
@@ -3,7 +3,7 @@ import { setUse } from "./setUse.function.js";
3
3
  // TODO: rename
4
4
  setUse.memory.providerConfig = {
5
5
  providers: [],
6
- currentTagSupport: undefined,
6
+ //currentTagSupport: undefined as TagSupport | undefined,
7
7
  ownerTag: undefined,
8
8
  };
9
9
  function get(constructMethod) {
@@ -76,7 +76,7 @@ setUse({
76
76
  });
77
77
  function run(tagSupport, ownerTag) {
78
78
  const config = setUse.memory.providerConfig;
79
- config.currentTagSuport = tagSupport;
79
+ // config.currentTagSupport = tagSupport
80
80
  config.ownerTag = ownerTag;
81
81
  if (tagSupport.memory.providers.length) {
82
82
  config.providers.length = 0;
@@ -1 +1 @@
1
- {"version":3,"file":"providers.js","sourceRoot":"","sources":["../ts/providers.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"providers.js","sourceRoot":"","sources":["../ts/providers.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,8 @@
1
+ import { TagSupport } from "./TagSupport.class.js";
1
2
  import { TemplaterResult } from "./templater.utils.js";
2
3
  import { Tag } from "./Tag.class.js";
3
- export declare function redrawTag(existingTag: Tag | undefined, templater: TemplaterResult, // latest tag function to call for rendering
4
- ownerTag?: Tag): {
4
+ export declare function redrawTag(tagSupport: TagSupport, templater: TemplaterResult, // latest tag function to call for rendering
5
+ existingTag?: Tag, ownerTag?: Tag): {
5
6
  remit: boolean;
6
7
  retag: Tag;
7
8
  };
@@ -1,7 +1,5 @@
1
- import { getTagSupport } from "./getTagSupport.js";
2
- export function redrawTag(existingTag, templater, // latest tag function to call for rendering
3
- ownerTag) {
4
- const tagSupport = existingTag?.tagSupport || getTagSupport(templater);
1
+ export function redrawTag(tagSupport, templater, // latest tag function to call for rendering
2
+ existingTag, ownerTag) {
5
3
  const result = templater.renderWithSupport(tagSupport, existingTag, ownerTag);
6
4
  return result;
7
5
  }
@@ -1 +1 @@
1
- {"version":3,"file":"redrawTag.function.js","sourceRoot":"","sources":["../ts/redrawTag.function.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAA;AAIlD,MAAM,UAAU,SAAS,CACvB,WAA4B,EAC5B,SAA0B,EAAE,4CAA4C;AACxE,QAAc;IAEd,MAAM,UAAU,GAAG,WAAW,EAAE,UAAU,IAAI,aAAa,CAAC,SAAS,CAAC,CAAA;IAEtE,MAAM,MAAM,GAAG,SAAS,CAAC,iBAAiB,CACxC,UAAU,EACV,WAAW,EACX,QAAQ,CACT,CAAA;IAED,OAAO,MAAM,CAAA;AACf,CAAC"}
1
+ {"version":3,"file":"redrawTag.function.js","sourceRoot":"","sources":["../ts/redrawTag.function.ts"],"names":[],"mappings":"AAIA,MAAM,UAAU,SAAS,CACvB,UAAsB,EACtB,SAA0B,EAAE,4CAA4C;AACxE,WAAiB,EACjB,QAAc;IAEd,MAAM,MAAM,GAAG,SAAS,CAAC,iBAAiB,CACxC,UAAU,EACV,WAAW,EACX,QAAQ,CACT,CAAA;IAED,OAAO,MAAM,CAAA;AACf,CAAC"}
@@ -0,0 +1,23 @@
1
+ export type StateConfig<T> = (x: T) => [T, T];
2
+ export type StateConfigItem<T> = {
3
+ callback?: StateConfig<T>;
4
+ lastValue?: T;
5
+ defaultValue?: T;
6
+ watch?: T;
7
+ };
8
+ export type StateConfigArray = StateConfigItem<any>[];
9
+ export type Config = {
10
+ array: StateConfigArray;
11
+ rearray: StateConfigArray;
12
+ };
13
+ export type State = {
14
+ newest: StateConfigArray;
15
+ };
16
+ export type GetSet<T> = (y: T) => [T, T];
17
+ export declare function makeStateResult<T>(initValue: T, push: StateConfigItem<T>): (y: any) => T;
18
+ export declare function onNextStateOnly(callback: () => unknown): void;
19
+ export declare function getStateValue<T>(state: StateConfigItem<T>): T | undefined;
20
+ export declare class StateEchoBack {
21
+ }
22
+ /** Used for variables that need to remain the same variable during render passes */
23
+ export declare function set<T>(defaultValue: T | (() => T)): T;