taggedjs 2.1.2 → 2.3.26

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 (442) hide show
  1. package/_js/Clones.type.d.ts +1 -0
  2. package/_js/Clones.type.js +2 -0
  3. package/_js/Clones.type.js.map +1 -0
  4. package/_js/ElementTarget.interface.d.ts +7 -0
  5. package/_js/ElementTarget.interface.js +2 -0
  6. package/_js/ElementTarget.interface.js.map +1 -0
  7. package/_js/ElementTargetEvent.interface.d.ts +6 -0
  8. package/_js/ElementTargetEvent.interface.js +2 -0
  9. package/_js/ElementTargetEvent.interface.js.map +1 -0
  10. package/_js/Props.d.ts +1 -0
  11. package/_js/Props.js +2 -0
  12. package/_js/Props.js.map +1 -0
  13. package/{js/js → _js}/Subject.d.ts +7 -2
  14. package/{js/js → _js}/Subject.js +15 -10
  15. package/_js/Subject.js.map +1 -0
  16. package/_js/Tag.class.d.ts +69 -0
  17. package/_js/Tag.class.js +258 -0
  18. package/_js/Tag.class.js.map +1 -0
  19. package/_js/Tag.utils.d.ts +12 -0
  20. package/_js/Tag.utils.js +31 -0
  21. package/_js/Tag.utils.js.map +1 -0
  22. package/{js/js → _js}/ValueSubject.d.ts +1 -1
  23. package/_js/ValueSubject.js.map +1 -0
  24. package/_js/bindSubjectCallback.function.d.ts +5 -0
  25. package/_js/bindSubjectCallback.function.js +19 -0
  26. package/_js/bindSubjectCallback.function.js.map +1 -0
  27. package/_js/elementDestroyCheck.function.d.ts +3 -0
  28. package/_js/elementDestroyCheck.function.js +17 -0
  29. package/_js/elementDestroyCheck.function.js.map +1 -0
  30. package/_js/elementInitCheck.js.map +1 -0
  31. package/_js/gateway/gateway.web.component.d.ts +11 -0
  32. package/_js/gateway/gateway.web.component.js +20 -0
  33. package/_js/gateway/gateway.web.component.js.map +1 -0
  34. package/_js/gateway/index.d.ts +3 -0
  35. package/_js/gateway/index.js +4 -0
  36. package/_js/gateway/index.js.map +1 -0
  37. package/_js/gateway/loadTagGateway.function.d.ts +2 -0
  38. package/_js/gateway/loadTagGateway.function.js +18 -0
  39. package/_js/gateway/loadTagGateway.function.js.map +1 -0
  40. package/_js/gateway/tagGateway.function.d.ts +4 -0
  41. package/_js/gateway/tagGateway.function.js +49 -0
  42. package/_js/gateway/tagGateway.function.js.map +1 -0
  43. package/_js/gateway/tagGateway.utils.d.ts +21 -0
  44. package/_js/gateway/tagGateway.utils.js +139 -0
  45. package/_js/gateway/tagGateway.utils.js.map +1 -0
  46. package/_js/getCallback.d.ts +3 -0
  47. package/_js/getCallback.js +50 -0
  48. package/_js/getCallback.js.map +1 -0
  49. package/_js/getTagSupport.d.ts +21 -0
  50. package/_js/getTagSupport.js +110 -0
  51. package/_js/getTagSupport.js.map +1 -0
  52. package/_js/html.d.ts +2 -0
  53. package/{js/js → _js}/html.js.map +1 -1
  54. package/_js/index.d.ts +20 -0
  55. package/_js/index.js +25 -0
  56. package/_js/index.js.map +1 -0
  57. package/_js/inputAttribute.js +19 -0
  58. package/_js/inputAttribute.js.map +1 -0
  59. package/{js/js → _js}/interpolateAttributes.d.ts +2 -1
  60. package/_js/interpolateAttributes.js +135 -0
  61. package/_js/interpolateAttributes.js.map +1 -0
  62. package/_js/interpolateContentTemplates.d.ts +6 -0
  63. package/_js/interpolateContentTemplates.js +54 -0
  64. package/_js/interpolateContentTemplates.js.map +1 -0
  65. package/_js/interpolateElement.d.ts +9 -0
  66. package/_js/interpolateElement.js +39 -0
  67. package/_js/interpolateElement.js.map +1 -0
  68. package/_js/interpolateTemplate.d.ts +17 -0
  69. package/_js/interpolateTemplate.js +64 -0
  70. package/_js/interpolateTemplate.js.map +1 -0
  71. package/{js/js → _js}/interpolations.d.ts +3 -2
  72. package/{js/js → _js}/interpolations.js +2 -1
  73. package/_js/interpolations.js.map +1 -0
  74. package/_js/isInstance.d.ts +6 -0
  75. package/_js/isInstance.js +10 -0
  76. package/_js/isInstance.js.map +1 -0
  77. package/_js/js/Clones.type.d.ts +1 -0
  78. package/_js/js/Clones.type.js +2 -0
  79. package/_js/js/Clones.type.js.map +1 -0
  80. package/_js/js/Props.d.ts +1 -0
  81. package/_js/js/Props.js +2 -0
  82. package/_js/js/Props.js.map +1 -0
  83. package/_js/js/Subject.d.ts +17 -0
  84. package/_js/js/Subject.js +43 -0
  85. package/_js/js/Subject.js.map +1 -0
  86. package/{js → _js}/js/Tag.class.d.ts +27 -5
  87. package/_js/js/Tag.class.js +241 -0
  88. package/_js/js/Tag.class.js.map +1 -0
  89. package/_js/js/Tag.utils.d.ts +12 -0
  90. package/_js/js/Tag.utils.js +31 -0
  91. package/_js/js/Tag.utils.js.map +1 -0
  92. package/_js/js/ValueSubject.d.ts +6 -0
  93. package/_js/js/ValueSubject.js +15 -0
  94. package/_js/js/ValueSubject.js.map +1 -0
  95. package/_js/js/bindSubjectCallback.function.d.ts +5 -0
  96. package/_js/js/bindSubjectCallback.function.js +19 -0
  97. package/_js/js/bindSubjectCallback.function.js.map +1 -0
  98. package/_js/js/deepFunctions.d.ts +2 -0
  99. package/_js/js/deepFunctions.js +76 -0
  100. package/_js/js/deepFunctions.js.map +1 -0
  101. package/_js/js/elementDestroyCheck.function.d.ts +3 -0
  102. package/_js/js/elementDestroyCheck.function.js +17 -0
  103. package/_js/js/elementDestroyCheck.function.js.map +1 -0
  104. package/_js/js/elementInitCheck.d.ts +2 -0
  105. package/_js/js/elementInitCheck.js +18 -0
  106. package/_js/js/elementInitCheck.js.map +1 -0
  107. package/_js/js/getCallback.js +50 -0
  108. package/_js/js/getCallback.js.map +1 -0
  109. package/_js/js/getTagSupport.d.ts +22 -0
  110. package/_js/js/getTagSupport.js +116 -0
  111. package/_js/js/getTagSupport.js.map +1 -0
  112. package/_js/js/html.d.ts +2 -0
  113. package/_js/js/html.js +5 -0
  114. package/_js/js/html.js.map +1 -0
  115. package/_js/js/index.d.ts +19 -0
  116. package/_js/js/index.js +24 -0
  117. package/_js/js/index.js.map +1 -0
  118. package/_js/js/inputAttribute.d.ts +1 -0
  119. package/_js/js/interpolateAttributes.d.ts +4 -0
  120. package/_js/js/interpolateAttributes.js +127 -0
  121. package/_js/js/interpolateAttributes.js.map +1 -0
  122. package/{js → _js}/js/interpolateContentTemplates.d.ts +3 -1
  123. package/_js/js/interpolateContentTemplates.js +57 -0
  124. package/_js/js/interpolateContentTemplates.js.map +1 -0
  125. package/_js/js/interpolateElement.d.ts +9 -0
  126. package/_js/js/interpolateElement.js +32 -0
  127. package/_js/js/interpolateElement.js.map +1 -0
  128. package/_js/js/interpolateTemplate.d.ts +17 -0
  129. package/_js/js/interpolateTemplate.js +64 -0
  130. package/_js/js/interpolateTemplate.js.map +1 -0
  131. package/_js/js/interpolations.d.ts +8 -0
  132. package/_js/js/interpolations.js +17 -0
  133. package/_js/js/interpolations.js.map +1 -0
  134. package/_js/js/isInstance.d.ts +6 -0
  135. package/_js/js/isInstance.js +10 -0
  136. package/_js/js/isInstance.js.map +1 -0
  137. package/_js/js/onDestroy.d.ts +2 -0
  138. package/_js/js/onDestroy.js +20 -0
  139. package/_js/js/onDestroy.js.map +1 -0
  140. package/_js/js/onInit.d.ts +2 -0
  141. package/_js/js/onInit.js +19 -0
  142. package/_js/js/onInit.js.map +1 -0
  143. package/_js/js/processSubjectComponent.function.d.ts +8 -0
  144. package/_js/js/processSubjectComponent.function.js +53 -0
  145. package/_js/js/processSubjectComponent.function.js.map +1 -0
  146. package/_js/js/processSubjectValue.function.d.ts +16 -0
  147. package/_js/js/processSubjectValue.function.js +122 -0
  148. package/_js/js/processSubjectValue.function.js.map +1 -0
  149. package/{js → _js}/js/processTagArray.d.ts +5 -1
  150. package/_js/js/processTagArray.js +60 -0
  151. package/_js/js/processTagArray.js.map +1 -0
  152. package/_js/js/processTagResult.function.d.ts +10 -0
  153. package/_js/js/processTagResult.function.js +42 -0
  154. package/_js/js/processTagResult.function.js.map +1 -0
  155. package/_js/js/providers.d.ts +17 -0
  156. package/{js → _js}/js/providers.js +28 -20
  157. package/_js/js/providers.js.map +1 -0
  158. package/_js/js/redrawTag.function.d.ts +7 -0
  159. package/_js/js/redrawTag.function.js +9 -0
  160. package/_js/js/redrawTag.function.js.map +1 -0
  161. package/_js/js/render.d.ts +1 -0
  162. package/_js/js/render.js +24 -0
  163. package/_js/js/render.js.map +1 -0
  164. package/_js/js/renderAppToElement.d.ts +14 -0
  165. package/_js/js/renderAppToElement.js +57 -0
  166. package/_js/js/renderAppToElement.js.map +1 -0
  167. package/_js/js/setUse.function.d.ts +23 -0
  168. package/_js/js/setUse.function.js +14 -0
  169. package/_js/js/setUse.function.js.map +1 -0
  170. package/_js/js/state.d.ts +24 -0
  171. package/_js/js/state.js +98 -0
  172. package/_js/js/state.js.map +1 -0
  173. package/_js/js/tag.d.ts +8 -0
  174. package/_js/js/tag.js +46 -0
  175. package/_js/js/tag.js.map +1 -0
  176. package/_js/js/tagElement.d.ts +14 -0
  177. package/_js/js/tagElement.js +57 -0
  178. package/_js/js/tagElement.js.map +1 -0
  179. package/_js/js/tagGateway.function.d.ts +5 -0
  180. package/_js/js/tagGateway.function.js +119 -0
  181. package/_js/js/tagGateway.function.js.map +1 -0
  182. package/_js/js/tagRunner.d.ts +6 -0
  183. package/_js/js/tagRunner.js +19 -0
  184. package/_js/js/tagRunner.js.map +1 -0
  185. package/_js/js/templater.utils.d.ts +28 -0
  186. package/_js/js/templater.utils.js +99 -0
  187. package/_js/js/templater.utils.js.map +1 -0
  188. package/_js/js/updateTag.utils.d.ts +6 -0
  189. package/_js/js/updateTag.utils.js +84 -0
  190. package/_js/js/updateTag.utils.js.map +1 -0
  191. package/_js/onDestroy.d.ts +2 -0
  192. package/_js/onDestroy.js +20 -0
  193. package/_js/onDestroy.js.map +1 -0
  194. package/_js/onInit.d.ts +2 -0
  195. package/_js/onInit.js +19 -0
  196. package/_js/onInit.js.map +1 -0
  197. package/_js/processSubjectComponent.function.d.ts +8 -0
  198. package/_js/processSubjectComponent.function.js +53 -0
  199. package/_js/processSubjectComponent.function.js.map +1 -0
  200. package/_js/processSubjectValue.function.d.ts +16 -0
  201. package/_js/processSubjectValue.function.js +122 -0
  202. package/_js/processSubjectValue.function.js.map +1 -0
  203. package/_js/processTagArray.d.ts +9 -0
  204. package/{js/js → _js}/processTagArray.js +21 -10
  205. package/_js/processTagArray.js.map +1 -0
  206. package/_js/processTagResult.function.d.ts +10 -0
  207. package/_js/processTagResult.function.js +40 -0
  208. package/_js/processTagResult.function.js.map +1 -0
  209. package/_js/providers.d.ts +17 -0
  210. package/_js/providers.js +86 -0
  211. package/_js/providers.js.map +1 -0
  212. package/_js/redrawTag.function.d.ts +7 -0
  213. package/_js/redrawTag.function.js +8 -0
  214. package/_js/redrawTag.function.js.map +1 -0
  215. package/_js/render.d.ts +1 -0
  216. package/_js/render.js +17 -0
  217. package/_js/render.js.map +1 -0
  218. package/_js/renderAppToElement.d.ts +14 -0
  219. package/_js/renderAppToElement.js +57 -0
  220. package/_js/renderAppToElement.js.map +1 -0
  221. package/_js/setUse.function.d.ts +23 -0
  222. package/_js/setUse.function.js +14 -0
  223. package/_js/setUse.function.js.map +1 -0
  224. package/_js/state.d.ts +21 -0
  225. package/_js/state.js +129 -0
  226. package/_js/state.js.map +1 -0
  227. package/_js/tag.d.ts +7 -0
  228. package/_js/tag.js +46 -0
  229. package/_js/tag.js.map +1 -0
  230. package/_js/tagElement.d.ts +14 -0
  231. package/_js/tagElement.js +57 -0
  232. package/_js/tagElement.js.map +1 -0
  233. package/_js/tagGateway.function.d.ts +14 -0
  234. package/_js/tagGateway.function.js +138 -0
  235. package/_js/tagGateway.function.js.map +1 -0
  236. package/_js/tagRunner.d.ts +6 -0
  237. package/_js/tagRunner.js +19 -0
  238. package/_js/tagRunner.js.map +1 -0
  239. package/_js/templater.utils.d.ts +27 -0
  240. package/_js/templater.utils.js +98 -0
  241. package/_js/templater.utils.js.map +1 -0
  242. package/_js/updateTag.utils.d.ts +6 -0
  243. package/_js/updateTag.utils.js +102 -0
  244. package/_js/updateTag.utils.js.map +1 -0
  245. package/index.js +1 -1
  246. package/js/Clones.type.d.ts +1 -0
  247. package/js/Clones.type.js +2 -0
  248. package/js/Clones.type.js.map +1 -0
  249. package/js/ElementTarget.interface.d.ts +7 -0
  250. package/js/ElementTarget.interface.js +2 -0
  251. package/js/ElementTarget.interface.js.map +1 -0
  252. package/js/ElementTargetEvent.interface.d.ts +6 -0
  253. package/js/ElementTargetEvent.interface.js +2 -0
  254. package/js/ElementTargetEvent.interface.js.map +1 -0
  255. package/js/Props.d.ts +1 -0
  256. package/js/Props.js +2 -0
  257. package/js/Props.js.map +1 -0
  258. package/js/Subject.d.ts +7 -2
  259. package/js/Subject.js +15 -10
  260. package/js/Subject.js.map +1 -1
  261. package/js/Tag.class.d.ts +37 -13
  262. package/js/Tag.class.js +136 -102
  263. package/js/Tag.class.js.map +1 -1
  264. package/js/Tag.utils.d.ts +9 -20
  265. package/js/Tag.utils.js +20 -88
  266. package/js/Tag.utils.js.map +1 -1
  267. package/js/ValueSubject.d.ts +1 -1
  268. package/js/ValueSubject.js.map +1 -1
  269. package/js/bindSubjectCallback.function.d.ts +5 -0
  270. package/js/bindSubjectCallback.function.js +20 -0
  271. package/js/bindSubjectCallback.function.js.map +1 -0
  272. package/js/elementDestroyCheck.function.d.ts +3 -0
  273. package/js/elementDestroyCheck.function.js +17 -0
  274. package/js/elementDestroyCheck.function.js.map +1 -0
  275. package/js/elementInitCheck.js.map +1 -1
  276. package/js/gateway/gateway.web.component.d.ts +11 -0
  277. package/js/gateway/gateway.web.component.js +20 -0
  278. package/js/gateway/gateway.web.component.js.map +1 -0
  279. package/js/gateway/index.d.ts +3 -0
  280. package/js/gateway/index.js +4 -0
  281. package/js/gateway/index.js.map +1 -0
  282. package/js/gateway/loadTagGateway.function.d.ts +2 -0
  283. package/js/gateway/loadTagGateway.function.js +18 -0
  284. package/js/gateway/loadTagGateway.function.js.map +1 -0
  285. package/js/gateway/tagGateway.function.d.ts +4 -0
  286. package/js/gateway/tagGateway.function.js +49 -0
  287. package/js/gateway/tagGateway.function.js.map +1 -0
  288. package/js/gateway/tagGateway.utils.d.ts +21 -0
  289. package/js/gateway/tagGateway.utils.js +139 -0
  290. package/js/gateway/tagGateway.utils.js.map +1 -0
  291. package/js/getCallback.d.ts +1 -1
  292. package/js/getCallback.js +39 -42
  293. package/js/getCallback.js.map +1 -1
  294. package/js/getTagSupport.d.ts +18 -17
  295. package/js/getTagSupport.js +104 -15
  296. package/js/getTagSupport.js.map +1 -1
  297. package/js/html.d.ts +1 -1
  298. package/js/html.js.map +1 -1
  299. package/js/index.d.ts +17 -7
  300. package/js/index.js +21 -8
  301. package/js/index.js.map +1 -1
  302. package/js/inputAttribute.js +3 -3
  303. package/js/inputAttribute.js.map +1 -1
  304. package/js/interpolateAttributes.d.ts +2 -1
  305. package/js/interpolateAttributes.js +129 -60
  306. package/js/interpolateAttributes.js.map +1 -1
  307. package/js/interpolateContentTemplates.d.ts +4 -1
  308. package/js/interpolateContentTemplates.js +32 -25
  309. package/js/interpolateContentTemplates.js.map +1 -1
  310. package/js/interpolateElement.d.ts +8 -13
  311. package/js/interpolateElement.js +26 -22
  312. package/js/interpolateElement.js.map +1 -1
  313. package/js/interpolateTemplate.d.ts +15 -19
  314. package/js/interpolateTemplate.js +33 -231
  315. package/js/interpolateTemplate.js.map +1 -1
  316. package/js/interpolations.d.ts +3 -2
  317. package/js/interpolations.js +2 -1
  318. package/js/interpolations.js.map +1 -1
  319. package/js/isInstance.d.ts +6 -0
  320. package/js/isInstance.js +10 -0
  321. package/js/isInstance.js.map +1 -0
  322. package/js/onDestroy.d.ts +2 -0
  323. package/js/onDestroy.js +20 -0
  324. package/js/onDestroy.js.map +1 -0
  325. package/js/onInit.d.ts +0 -4
  326. package/js/onInit.js +12 -10
  327. package/js/onInit.js.map +1 -1
  328. package/js/processSubjectComponent.function.d.ts +8 -0
  329. package/js/processSubjectComponent.function.js +53 -0
  330. package/js/processSubjectComponent.function.js.map +1 -0
  331. package/js/processSubjectValue.function.d.ts +23 -0
  332. package/js/processSubjectValue.function.js +129 -0
  333. package/js/processSubjectValue.function.js.map +1 -0
  334. package/js/processTagArray.d.ts +15 -2
  335. package/js/processTagArray.js +30 -13
  336. package/js/processTagArray.js.map +1 -1
  337. package/js/processTagResult.function.d.ts +12 -0
  338. package/js/processTagResult.function.js +43 -0
  339. package/js/processTagResult.function.js.map +1 -0
  340. package/js/providers.d.ts +4 -12
  341. package/js/providers.js +28 -20
  342. package/js/providers.js.map +1 -1
  343. package/js/redrawTag.function.d.ts +7 -0
  344. package/js/redrawTag.function.js +8 -0
  345. package/js/redrawTag.function.js.map +1 -0
  346. package/js/render.d.ts +1 -6
  347. package/js/render.js +5 -19
  348. package/js/render.js.map +1 -1
  349. package/js/renderAppToElement.d.ts +8 -2
  350. package/js/renderAppToElement.js +40 -21
  351. package/js/renderAppToElement.js.map +1 -1
  352. package/js/setUse.function.d.ts +23 -0
  353. package/js/setUse.function.js +14 -0
  354. package/js/setUse.function.js.map +1 -0
  355. package/js/state.d.ts +16 -17
  356. package/js/state.js +89 -44
  357. package/js/state.js.map +1 -1
  358. package/js/tag.d.ts +6 -16
  359. package/js/tag.js +32 -43
  360. package/js/tag.js.map +1 -1
  361. package/js/tagElement.d.ts +14 -0
  362. package/js/tagElement.js +60 -0
  363. package/js/tagElement.js.map +1 -0
  364. package/js/tagGateway.function.d.ts +14 -0
  365. package/js/tagGateway.function.js +138 -0
  366. package/js/tagGateway.function.js.map +1 -0
  367. package/js/tagRunner.d.ts +2 -13
  368. package/js/tagRunner.js +12 -12
  369. package/js/tagRunner.js.map +1 -1
  370. package/js/templater.utils.d.ts +27 -0
  371. package/js/templater.utils.js +98 -0
  372. package/js/templater.utils.js.map +1 -0
  373. package/js/updateTag.utils.d.ts +7 -0
  374. package/js/updateTag.utils.js +147 -0
  375. package/js/updateTag.utils.js.map +1 -0
  376. package/package.json +1 -1
  377. package/js/js/Subject.js.map +0 -1
  378. package/js/js/Tag.class.js +0 -213
  379. package/js/js/Tag.class.js.map +0 -1
  380. package/js/js/Tag.utils.d.ts +0 -24
  381. package/js/js/Tag.utils.js +0 -102
  382. package/js/js/Tag.utils.js.map +0 -1
  383. package/js/js/ValueSubject.js.map +0 -1
  384. package/js/js/elementInitCheck.js.map +0 -1
  385. package/js/js/getCallback.js +0 -53
  386. package/js/js/getCallback.js.map +0 -1
  387. package/js/js/getTagSupport.d.ts +0 -20
  388. package/js/js/getTagSupport.js +0 -20
  389. package/js/js/getTagSupport.js.map +0 -1
  390. package/js/js/html.d.ts +0 -2
  391. package/js/js/index.d.ts +0 -10
  392. package/js/js/index.js +0 -12
  393. package/js/js/index.js.map +0 -1
  394. package/js/js/interpolateAttributes.js +0 -69
  395. package/js/js/interpolateAttributes.js.map +0 -1
  396. package/js/js/interpolateContentTemplates.js +0 -47
  397. package/js/js/interpolateContentTemplates.js.map +0 -1
  398. package/js/js/interpolateElement.d.ts +0 -14
  399. package/js/js/interpolateElement.js +0 -35
  400. package/js/js/interpolateElement.js.map +0 -1
  401. package/js/js/interpolateTemplate.d.ts +0 -21
  402. package/js/js/interpolateTemplate.js +0 -262
  403. package/js/js/interpolateTemplate.js.map +0 -1
  404. package/js/js/interpolations.js.map +0 -1
  405. package/js/js/onInit.d.ts +0 -6
  406. package/js/js/onInit.js +0 -17
  407. package/js/js/onInit.js.map +0 -1
  408. package/js/js/processTagArray.js.map +0 -1
  409. package/js/js/providers.d.ts +0 -25
  410. package/js/js/providers.js.map +0 -1
  411. package/js/js/render.d.ts +0 -6
  412. package/js/js/render.js +0 -31
  413. package/js/js/render.js.map +0 -1
  414. package/js/js/renderAppToElement.d.ts +0 -8
  415. package/js/js/renderAppToElement.js +0 -38
  416. package/js/js/renderAppToElement.js.map +0 -1
  417. package/js/js/state.d.ts +0 -21
  418. package/js/js/state.js +0 -63
  419. package/js/js/state.js.map +0 -1
  420. package/js/js/tag.d.ts +0 -17
  421. package/js/js/tag.js +0 -57
  422. package/js/js/tag.js.map +0 -1
  423. package/js/js/tagRunner.d.ts +0 -17
  424. package/js/js/tagRunner.js +0 -19
  425. package/js/js/tagRunner.js.map +0 -1
  426. /package/{js/js → _js}/ValueSubject.js +0 -0
  427. /package/{js/js → _js}/deepFunctions.d.ts +0 -0
  428. /package/{js/js → _js}/deepFunctions.js +0 -0
  429. /package/{js/js → _js}/deepFunctions.js.map +0 -0
  430. /package/{js/js → _js}/elementInitCheck.d.ts +0 -0
  431. /package/{js/js → _js}/elementInitCheck.js +0 -0
  432. /package/{js/js → _js}/html.js +0 -0
  433. /package/{js/js → _js}/inputAttribute.d.ts +0 -0
  434. /package/{js → _js}/js/getCallback.d.ts +0 -0
  435. /package/{js → _js}/js/inputAttribute.js +0 -0
  436. /package/{js → _js}/js/inputAttribute.js.map +0 -0
  437. /package/{js → _js}/js/wait.d.ts +0 -0
  438. /package/{js → _js}/js/wait.js +0 -0
  439. /package/{js → _js}/js/wait.js.map +0 -0
  440. /package/{js → _js}/wait.d.ts +0 -0
  441. /package/{js → _js}/wait.js +0 -0
  442. /package/{js → _js}/wait.js.map +0 -0
package/js/tagRunner.d.ts CHANGED
@@ -1,17 +1,6 @@
1
1
  import { Tag } from "./Tag.class.js";
2
2
  import { TagSupport } from "./getTagSupport";
3
- interface TagUse {
4
- beforeRender: (tagSupport: TagSupport, tag?: Tag) => void;
5
- beforeRedraw: (tagSupport: TagSupport, tag: Tag) => void;
6
- afterRender: (tagSupport: TagSupport, tag: Tag) => void;
7
- }
8
- export declare const tagUse: TagUse[];
9
- export declare function runBeforeRender(tagSupport: TagSupport, tag?: Tag): void;
3
+ export declare function runBeforeRender(tagSupport: TagSupport, tagOwner: Tag): void;
10
4
  export declare function runAfterRender(tagSupport: TagSupport, tag: Tag): void;
11
5
  export declare function runBeforeRedraw(tagSupport: TagSupport, tag: Tag): void;
12
- export declare function setUse(use: {
13
- beforeRender?: (tagSupport: TagSupport, tag?: Tag) => void;
14
- beforeRedraw?: (tagSupport: TagSupport, tag: Tag) => void;
15
- afterRender?: (tagSupport: TagSupport, tag: Tag) => void;
16
- }): void;
17
- export {};
6
+ export declare function runBeforeDestroy(tagSupport: TagSupport, tag: Tag): void;
package/js/tagRunner.js CHANGED
@@ -1,19 +1,19 @@
1
- export const tagUse = [];
2
- export function runBeforeRender(tagSupport, tag) {
3
- tagUse.forEach(tagUse => tagUse.beforeRender(tagSupport, tag));
1
+ // TODO: This should be more like `new TaggedJs().use({})`
2
+ import { setUse } from "./setUse.function.js";
3
+ // Life cycle 1
4
+ export function runBeforeRender(tagSupport, tagOwner) {
5
+ setUse.tagUse.forEach(tagUse => tagUse.beforeRender(tagSupport, tagOwner));
4
6
  }
7
+ // Life cycle 2
5
8
  export function runAfterRender(tagSupport, tag) {
6
- tagUse.forEach(tagUse => tagUse.afterRender(tagSupport, tag));
9
+ setUse.tagUse.forEach(tagUse => tagUse.afterRender(tagSupport, tag));
7
10
  }
11
+ // Life cycle 3
8
12
  export function runBeforeRedraw(tagSupport, tag) {
9
- tagUse.forEach(tagUse => tagUse.beforeRedraw(tagSupport, tag));
13
+ setUse.tagUse.forEach(tagUse => tagUse.beforeRedraw(tagSupport, tag));
10
14
  }
11
- export function setUse(use) {
12
- const useMe = {
13
- beforeRender: use.beforeRender || (() => undefined),
14
- beforeRedraw: use.beforeRedraw || (() => undefined),
15
- afterRender: use.afterRender || (() => undefined),
16
- };
17
- tagUse.push(useMe);
15
+ // Life cycle 4 - end of life
16
+ export function runBeforeDestroy(tagSupport, tag) {
17
+ setUse.tagUse.forEach(tagUse => tagUse.beforeDestroy(tagSupport, tag));
18
18
  }
19
19
  //# sourceMappingURL=tagRunner.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"tagRunner.js","sourceRoot":"","sources":["../ts/tagRunner.ts"],"names":[],"mappings":"AASA,MAAM,CAAC,MAAM,MAAM,GAAa,EAAE,CAAA;AAElC,MAAM,UAAU,eAAe,CAC7B,UAAsB,EACtB,GAAS;IAET,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,YAAY,CAAC,UAAU,EAAE,GAAG,CAAC,CAAC,CAAA;AAChE,CAAC;AAED,MAAM,UAAU,cAAc,CAC5B,UAAsB,EACtB,GAAQ;IAER,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,WAAW,CAAC,UAAU,EAAE,GAAG,CAAC,CAAC,CAAA;AAC/D,CAAC;AAED,MAAM,UAAU,eAAe,CAC7B,UAAsB,EACtB,GAAQ;IAER,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,YAAY,CAAC,UAAU,EAAE,GAAG,CAAC,CAAC,CAAA;AAChE,CAAC;AAED,MAAM,UAAU,MAAM,CAAC,GAItB;IACC,MAAM,KAAK,GAAW;QACpB,YAAY,EAAE,GAAG,CAAC,YAAY,IAAI,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC;QACnD,YAAY,EAAE,GAAG,CAAC,YAAY,IAAI,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC;QACnD,WAAW,EAAE,GAAG,CAAC,WAAW,IAAI,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC;KAClD,CAAA;IAED,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;AACpB,CAAC"}
1
+ {"version":3,"file":"tagRunner.js","sourceRoot":"","sources":["../ts/tagRunner.ts"],"names":[],"mappings":"AAAA,0DAA0D;AAI1D,OAAO,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAA;AAE7C,eAAe;AACf,MAAM,UAAU,eAAe,CAC7B,UAAsB,EACtB,QAAa;IAEb,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,YAAY,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC,CAAA;AAC5E,CAAC;AAED,eAAe;AACf,MAAM,UAAU,cAAc,CAC5B,UAAsB,EACtB,GAAQ;IAER,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,WAAW,CAAC,UAAU,EAAE,GAAG,CAAC,CAAC,CAAA;AACtE,CAAC;AAED,eAAe;AACf,MAAM,UAAU,eAAe,CAC7B,UAAsB,EACtB,GAAQ;IAER,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,YAAY,CAAC,UAAU,EAAE,GAAG,CAAC,CAAC,CAAA;AACvE,CAAC;AAED,6BAA6B;AAC7B,MAAM,UAAU,gBAAgB,CAC9B,UAAsB,EACtB,GAAQ;IAER,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,aAAa,CAAC,UAAU,EAAE,GAAG,CAAC,CAAC,CAAA;AACxE,CAAC"}
@@ -0,0 +1,27 @@
1
+ import { Tag } from "./Tag.class.js";
2
+ import { TagSupport } from "./getTagSupport.js";
3
+ import { Props } from "./Props.js";
4
+ export type Wrapper = (() => Tag) & {
5
+ original: () => Tag;
6
+ };
7
+ export declare class TemplaterResult {
8
+ tagged: boolean;
9
+ wrapper: Wrapper;
10
+ newest?: Tag;
11
+ oldest?: Tag;
12
+ tagSupport: TagSupport;
13
+ constructor(props: Props);
14
+ redraw?: (force?: boolean) => Tag | undefined;
15
+ isTemplater: boolean;
16
+ forceRenderTemplate(tagSupport: TagSupport, ownerTag: Tag): Tag;
17
+ renderWithSupport(tagSupport: TagSupport, existingTag: Tag | undefined, ownerTag?: Tag): {
18
+ remit: boolean;
19
+ retag: Tag;
20
+ };
21
+ }
22
+ export interface TemplateRedraw extends TemplaterResult {
23
+ redraw: () => Tag | undefined;
24
+ }
25
+ export type TagComponent = (props: Props, // props or children
26
+ children?: Tag) => Tag;
27
+ export declare function getNewProps(props: Props, templater: TemplaterResult): any;
@@ -0,0 +1,98 @@
1
+ import { getTagSupport } from "./getTagSupport.js";
2
+ import { isTagInstance } from "./isInstance.js";
3
+ import { runAfterRender, runBeforeRedraw, runBeforeRender } from "./tagRunner.js";
4
+ import { setUse } from "./setUse.function.js";
5
+ export class TemplaterResult {
6
+ tagged;
7
+ wrapper;
8
+ newest;
9
+ oldest;
10
+ tagSupport;
11
+ constructor(props) {
12
+ this.tagSupport = getTagSupport(this, props);
13
+ }
14
+ redraw;
15
+ isTemplater = true;
16
+ forceRenderTemplate(tagSupport, ownerTag) {
17
+ const tag = this.wrapper();
18
+ tag.setSupport(tagSupport);
19
+ tag.afterRender();
20
+ this.oldest = tag;
21
+ tagSupport.oldest = tag;
22
+ this.oldest = tag;
23
+ this.newest = tag;
24
+ tag.ownerTag = ownerTag;
25
+ return tag;
26
+ }
27
+ renderWithSupport(tagSupport, existingTag, ownerTag) {
28
+ /* BEFORE RENDER */
29
+ // signify to other operations that a rendering has occurred so they do not need to render again
30
+ ++tagSupport.memory.renderCount;
31
+ const runtimeOwnerTag = existingTag?.ownerTag || ownerTag;
32
+ if (tagSupport.oldest) {
33
+ // ensure props are the last ones used
34
+ tagSupport.props = tagSupport.latestProps;
35
+ tagSupport.clonedProps = tagSupport.latestClonedProps;
36
+ runBeforeRedraw(tagSupport, tagSupport.oldest);
37
+ }
38
+ else {
39
+ // first time render
40
+ runBeforeRender(tagSupport, runtimeOwnerTag);
41
+ // TODO: Logic below most likely could live within providers.ts inside the runBeforeRender function
42
+ const providers = setUse.memory.providerConfig;
43
+ providers.ownerTag = runtimeOwnerTag;
44
+ }
45
+ /* END: BEFORE RENDER */
46
+ const templater = this;
47
+ const retag = templater.wrapper();
48
+ /* AFTER */
49
+ tagSupport.latestProps = retag.tagSupport.props;
50
+ tagSupport.latestClonedProps = retag.tagSupport.clonedProps;
51
+ retag.setSupport(tagSupport);
52
+ runAfterRender(tagSupport, retag);
53
+ templater.newest = retag;
54
+ retag.ownerTag = runtimeOwnerTag;
55
+ const oldest = tagSupport.oldest = tagSupport.oldest || retag;
56
+ tagSupport.newest = retag;
57
+ const oldestTagSupport = oldest.tagSupport;
58
+ oldest.tagSupport = oldestTagSupport || tagSupport;
59
+ oldest.tagSupport.templater = templater;
60
+ // retag.setSupport(tagSupport)
61
+ const isSameTag = existingTag && existingTag.isLikeTag(retag);
62
+ // If previously was a tag and seems to be same tag, then just update current tag with new values
63
+ if (isSameTag) {
64
+ oldest.updateByTag(retag);
65
+ return { remit: false, retag };
66
+ }
67
+ return { remit: true, retag };
68
+ }
69
+ }
70
+ /* rewriter */
71
+ export function getNewProps(props, templater) {
72
+ function callback(toCall, callWith) {
73
+ const callbackResult = toCall(...callWith);
74
+ templater.newest?.ownerTag?.tagSupport.render();
75
+ return callbackResult;
76
+ }
77
+ const isPropTag = isTagInstance(props);
78
+ const watchProps = isPropTag ? 0 : props;
79
+ const newProps = resetFunctionProps(watchProps, callback);
80
+ return newProps;
81
+ }
82
+ function resetFunctionProps(props, callback) {
83
+ if (typeof (props) !== 'object') {
84
+ return props;
85
+ }
86
+ const newProps = { ...props };
87
+ Object.entries(newProps).forEach(([name, value]) => {
88
+ if (value instanceof Function) {
89
+ newProps[name] = (...args) => {
90
+ return callback(value, args);
91
+ };
92
+ return;
93
+ }
94
+ newProps[name] = value;
95
+ });
96
+ return newProps;
97
+ }
98
+ //# sourceMappingURL=templater.utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"templater.utils.js","sourceRoot":"","sources":["../ts/templater.utils.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,7 @@
1
+ import { TagSubject } from "./Tag.utils.js";
2
+ import { TagSupport } from "./getTagSupport.js";
3
+ import { Subject } from "./Subject.js";
4
+ import { TemplaterResult } from "./templater.utils.js";
5
+ import { Tag } from "./Tag.class.js";
6
+ import { TagArraySubject } from "./processTagArray.js";
7
+ export declare function updateExistingValue(existing: Subject<Tag> | TemplaterResult | TagSubject | TagArraySubject, value: TemplaterResult | TagSupport | Function | Subject<any>, tag: Tag): void;
@@ -0,0 +1,147 @@
1
+ import { setValueRedraw } from "./Tag.utils.js";
2
+ import { deepClone } from "./deepFunctions.js";
3
+ import { isSubjectInstance, isTagComponent } from "./isInstance.js";
4
+ import { bindSubjectCallback } from "./bindSubjectCallback.function.js";
5
+ import { isTagArray, processTag } from "./processSubjectValue.function.js";
6
+ import { processTagArray } from "./processTagArray.js";
7
+ function updateExistingTagComponent(tag, tempResult, existingSubject, subjectValue) {
8
+ const latestProps = tempResult.tagSupport.props;
9
+ let existingTag = existingSubject.tag;
10
+ // previously was something else, now a tag component
11
+ if (!existingTag) {
12
+ setValueRedraw(tempResult, existingSubject, tag);
13
+ tempResult.redraw();
14
+ return;
15
+ }
16
+ // tag existingTag
17
+ const oldWrapper = existingTag.tagSupport.templater.wrapper;
18
+ const newWrapper = tempResult.wrapper;
19
+ let isSameTag = false;
20
+ if (oldWrapper && newWrapper) {
21
+ const oldFunction = oldWrapper.original;
22
+ const newFunction = newWrapper.original;
23
+ isSameTag = oldFunction === newFunction;
24
+ }
25
+ const oldTagSetup = existingTag.tagSupport;
26
+ oldTagSetup.latestProps = latestProps;
27
+ oldTagSetup.latestClonedProps = tempResult.tagSupport.clonedProps;
28
+ if (!isSameTag) {
29
+ // TODO: this may not be in use
30
+ destroyTagMemory(existingTag, existingSubject, subjectValue);
31
+ }
32
+ else {
33
+ const subjectTagSupport = subjectValue?.tagSupport;
34
+ // old props may have changed, reclone first
35
+ const oldCloneProps = deepClone(subjectTagSupport.props); // tagSupport.clonedProps
36
+ const oldProps = subjectTagSupport?.props; // tagSupport.props
37
+ if (existingTag) {
38
+ const equal = oldTagSetup.hasPropChanges(oldProps, oldCloneProps, latestProps);
39
+ if (equal) {
40
+ return;
41
+ }
42
+ }
43
+ }
44
+ setValueRedraw(tempResult, existingSubject, tag);
45
+ oldTagSetup.templater = tempResult;
46
+ const redraw = tempResult.redraw();
47
+ existingSubject.value.tag = oldTagSetup.newest = redraw;
48
+ if (!isSameTag) {
49
+ existingSubject.tag = redraw;
50
+ subjectValue.tagSupport = tempResult.tagSupport;
51
+ }
52
+ return;
53
+ }
54
+ function updateExistingTag(templater, ogTag, existingSubject) {
55
+ const tagSupport = ogTag.tagSupport;
56
+ const oldest = tagSupport.oldest;
57
+ oldest.beforeRedraw();
58
+ const retag = templater.wrapper();
59
+ // move my props onto tagSupport
60
+ tagSupport.latestProps = retag.tagSupport.props;
61
+ tagSupport.latestClonedProps = retag.tagSupport.clonedProps;
62
+ tagSupport.memory = retag.tagSupport.memory;
63
+ retag.setSupport(tagSupport);
64
+ templater.newest = retag;
65
+ tagSupport.newest = retag;
66
+ oldest.afterRender();
67
+ ogTag.updateByTag(retag);
68
+ existingSubject.set(templater);
69
+ return;
70
+ }
71
+ export function updateExistingValue(existing, value, tag) {
72
+ const subjectValue = existing.value;
73
+ const ogTag = subjectValue?.tag;
74
+ const tempResult = value;
75
+ const existingSubArray = existing;
76
+ const existingSubTag = existing;
77
+ // was array
78
+ if (existing.lastArray) {
79
+ // its another tag array
80
+ if (isTagArray(value)) {
81
+ processTagArray(existing, value, existingSubArray.template, tag, { counts: {
82
+ added: 0,
83
+ removed: 0,
84
+ } });
85
+ return;
86
+ }
87
+ // was tag array and now something else
88
+ ;
89
+ existing.lastArray.forEach(({ tag }) => tag.destroy());
90
+ delete existing.lastArray;
91
+ }
92
+ // handle already seen tag components
93
+ if (isTagComponent(tempResult)) {
94
+ return updateExistingTagComponent(tag, tempResult, existingSubTag, subjectValue);
95
+ }
96
+ // was component but no longer
97
+ const existingTag = existingSubTag.tag;
98
+ if (existingTag) {
99
+ // its now an array
100
+ if (isTagArray(value)) {
101
+ destroyTagMemory(existingTag, existingSubTag, subjectValue);
102
+ delete existingSubTag.tag;
103
+ }
104
+ const oldWrapper = existingTag.tagSupport.templater.wrapper;
105
+ const newWrapper = value?.wrapper;
106
+ const wrapMatch = oldWrapper && newWrapper && oldWrapper?.original === newWrapper?.original;
107
+ // TODO: We shouldn't need both of these
108
+ const isSameTag = value && existingTag.lastTemplateString === value.lastTemplateString;
109
+ const isSameTag2 = value && value.getTemplate && existingTag.isLikeTag(value);
110
+ if (isSameTag || isSameTag2) {
111
+ processTag(value, existing, existing.template, existingTag, // tag,
112
+ {
113
+ counts: {
114
+ added: 0,
115
+ removed: 0,
116
+ }
117
+ });
118
+ return;
119
+ }
120
+ if (wrapMatch) {
121
+ return updateExistingTag(value, existingTag, existingSubTag);
122
+ }
123
+ if (ogTag) {
124
+ destroyTagMemory(existingTag, existingSubTag, subjectValue);
125
+ delete existingSubTag.tag;
126
+ }
127
+ }
128
+ // now its a function
129
+ if (value instanceof Function) {
130
+ existingSubTag.set(bindSubjectCallback(value, tag));
131
+ return;
132
+ }
133
+ // we have been given a subject
134
+ if (isSubjectInstance(value)) {
135
+ existingSubTag.set(value.value); // let ValueSubject now of newest value
136
+ return;
137
+ }
138
+ existingSubTag.set(value); // let ValueSubject now of newest value
139
+ return;
140
+ }
141
+ function destroyTagMemory(existingTag, existingSubject, subjectValue) {
142
+ delete existingSubject.tag;
143
+ delete existingSubject.tagSupport;
144
+ delete subjectValue.tagSupport;
145
+ existingTag.destroy();
146
+ }
147
+ //# sourceMappingURL=updateTag.utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"updateTag.utils.js","sourceRoot":"","sources":["../ts/updateTag.utils.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "taggedjs",
3
- "version": "2.1.2",
3
+ "version": "2.3.26",
4
4
  "description": "tagged template reactive html",
5
5
  "main": "js/index.js",
6
6
  "type": "module",
@@ -1 +0,0 @@
1
- {"version":3,"file":"Subject.js","sourceRoot":"","sources":["../ts/Subject.ts"],"names":[],"mappings":"AAMA,MAAM,OAAO,OAAO;IAClB,WAAW,GAAiB,EAAE,CAAA;IAC9B,KAAK,CAAM;IACX,+BAA+B;IAE/B,SAAS,CAAC,QAAoB;QAC5B,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,QAAQ,CAAC,CAC9B;QAAC,OAAe,CAAC,UAAU,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA,CAAC,aAAa;QAEzD,EAAG,OAAe,CAAC,cAAc,CAAA;QAEjC,MAAM,WAAW,GAAiB,GAAG,EAAE;YACrC,kBAAkB,CAAC,IAAI,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAA;YAC9C,kBAAkB,CAAE,OAAe,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAA,CAAC,aAAa;YACvE,EAAG,OAAe,CAAC,cAAc,CAAA;QACnC,CAAC,CAAA;QAED,4DAA4D;QAC5D,WAAW,CAAC,WAAW,GAAG,WAAW,CAAA;QAErC,OAAO,WAAW,CAAA;IACpB,CAAC;IAED,GAAG,CAAC,KAAU;QACZ,IAAI,CAAC,KAAK,GAAG,KAAK,CAAA;QAElB,4CAA4C;QAC5C,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,QAAa,EAAE,EAAE;YACzC,QAAQ,CAAC,KAAK,GAAG,KAAK,CAAA;YACtB,QAAQ,CAAC,KAAK,CAAC,CAAA;QACjB,CAAC,CAAC,CAAA;IACJ,CAAC;IACD,IAAI,GAAG,IAAI,CAAC,GAAG,CAAA;CAChB;AAED,SAAS,kBAAkB,CACzB,WAAyB,EACzB,QAAoB;IAEpB,MAAM,KAAK,GAAG,WAAW,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAA;IAC3C,IAAI,KAAK,KAAK,CAAC,CAAC,EAAE,CAAC;QACjB,WAAW,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAA;IAC9B,CAAC;AACH,CAAC;AAED,CAAC;AAAC,OAAe,CAAC,cAAc,GAAG,CAAC,CAAC,wBAAwB;CAC5D;AAAC,OAAe,CAAC,UAAU,GAAG,EAAE,CAAA,CAAC,aAAa"}
@@ -1,213 +0,0 @@
1
- import { bindSubjectFunction, elementDestroyCheck, getSubjectFunction, setValueRedraw } from "./Tag.utils.js";
2
- import { getTagSupport } from "./getTagSupport.js";
3
- import { isTagComponent } from "./interpolateTemplate.js";
4
- import { ValueSubject } from "./ValueSubject.js";
5
- import { deepEqual } from "./deepFunctions.js";
6
- import { runAfterRender, runBeforeRedraw, runBeforeRender } from "./tagRunner.js";
7
- export const variablePrefix = '__tagVar';
8
- export const escapeVariable = '--' + variablePrefix + '--';
9
- const prefixSearch = new RegExp(variablePrefix, 'g');
10
- export const escapeSearch = new RegExp(escapeVariable, 'g');
11
- export class Tag {
12
- strings;
13
- values;
14
- context = {}; // populated after reading interpolated.values array converted to an object {variable0, variable:1}
15
- clones = []; // elements on document
16
- cloneSubs = []; // subscriptions created by clones
17
- children = []; // tags on me
18
- tagSupport;
19
- // only present when a child of a tag
20
- ownerTag;
21
- // present only when an array. Populated by this.key()
22
- arrayValue;
23
- constructor(strings, values) {
24
- this.strings = strings;
25
- this.values = values;
26
- }
27
- providers = [];
28
- beforeRedraw() {
29
- runBeforeRedraw(this.tagSupport, this);
30
- }
31
- afterRender() {
32
- runAfterRender(this.tagSupport, this);
33
- }
34
- /** Used for array, such as array.map(), calls aka array.map(x => html``.key(x)) */
35
- key(arrayValue) {
36
- this.arrayValue = arrayValue;
37
- return this;
38
- }
39
- destroy(stagger = 0, byParent = false) {
40
- this.children.forEach((kid, index) => kid.destroy(0, true));
41
- this.destroySubscriptions();
42
- if (!byParent) {
43
- stagger = this.destroyClones(stagger);
44
- }
45
- return stagger;
46
- }
47
- destroySubscriptions() {
48
- this.cloneSubs.forEach(cloneSub => cloneSub.unsubscribe());
49
- this.cloneSubs.length = 0;
50
- }
51
- destroyClones(stagger = 0) {
52
- this.clones.reverse().forEach((clone, index) => {
53
- let promise = Promise.resolve();
54
- if (clone.ondestroy) {
55
- promise = elementDestroyCheck(clone, stagger);
56
- }
57
- promise.then(() => clone.parentNode.removeChild(clone));
58
- });
59
- this.clones.length = 0;
60
- return stagger;
61
- }
62
- updateByTag(tag) {
63
- this.updateConfig(tag.strings, tag.values);
64
- this.tagSupport.templater = tag.tagSupport.templater;
65
- }
66
- lastTemplateString = undefined; // used to compare templates for updates
67
- /** A method of passing down the same render method */
68
- setSupport(tagSupport) {
69
- this.tagSupport = this.tagSupport || tagSupport;
70
- this.tagSupport.mutatingRender = this.tagSupport.mutatingRender || tagSupport.mutatingRender;
71
- this.children.forEach(kid => kid.setSupport(tagSupport));
72
- }
73
- updateConfig(strings, values) {
74
- this.strings = strings;
75
- this.updateValues(values);
76
- }
77
- getTemplate() {
78
- // TODO: treat interpolation hack here
79
- const string = this.lastTemplateString = this.strings.map((string, index) => {
80
- const safeString = string.replace(prefixSearch, escapeVariable);
81
- const endString = safeString + (this.values.length > index ? `{${variablePrefix}${index}}` : '');
82
- return endString;
83
- }).join('');
84
- return { string, strings: this.strings, values: this.values, context: this.context };
85
- }
86
- isLikeTag(tag) {
87
- if (tag.lastTemplateString !== this.lastTemplateString) {
88
- return false;
89
- }
90
- if (tag.values.length !== this.values.length) {
91
- return false;
92
- }
93
- const allVarsMatch = tag.values.every((value, index) => {
94
- const compareTo = this.values[index];
95
- const isFunctions = value instanceof Function && compareTo instanceof Function;
96
- if (isFunctions) {
97
- const stringMatch = value.toString() === compareTo.toString();
98
- if (stringMatch) {
99
- return true;
100
- }
101
- return false;
102
- }
103
- if (value instanceof Tag && compareTo instanceof Tag) {
104
- value.ownerTag = this; // let children know I own them
105
- this.children.push(value); // record children I created
106
- value.lastTemplateString || value.getTemplate().string; // ensure last template string is generated
107
- if (value.isLikeTag(compareTo)) {
108
- return true;
109
- }
110
- return false;
111
- }
112
- return true;
113
- });
114
- if (allVarsMatch) {
115
- return true;
116
- }
117
- return false;
118
- }
119
- update() {
120
- return this.updateContext(this.context);
121
- }
122
- updateValues(values) {
123
- this.values = values;
124
- return this.updateContext(this.context);
125
- }
126
- updateContext(context) {
127
- this.strings.map((_string, index) => {
128
- const variableName = variablePrefix + index;
129
- const hasValue = this.values.length > index;
130
- const value = this.values[index];
131
- // is something already there?
132
- const existing = context[variableName];
133
- if (existing) {
134
- /** @type {Tag | undefined} */
135
- const ogTag = existing.value?.tag;
136
- // handle already seen tag components
137
- if (isTagComponent(value)) {
138
- const latestProps = value.cloneProps;
139
- const existingTag = existing.tag;
140
- // previously was something else, now a tag component
141
- if (!existing.tag) {
142
- setValueRedraw(value, existing, this);
143
- value.redraw(latestProps);
144
- return;
145
- }
146
- const oldTagSetup = existingTag.tagSupport;
147
- const tagSupport = value.tagSupport || oldTagSetup || getTagSupport(value);
148
- const oldCloneProps = tagSupport.templater?.cloneProps;
149
- const oldProps = tagSupport.templater?.props;
150
- if (existingTag) {
151
- const isCommonEqual = oldProps === undefined && oldProps === latestProps;
152
- const equal = isCommonEqual || deepEqual(oldCloneProps, latestProps);
153
- if (equal) {
154
- return;
155
- }
156
- }
157
- setValueRedraw(value, existing, this);
158
- oldTagSetup.templater = value;
159
- existing.value.tag = oldTagSetup.newest = value.redraw(latestProps);
160
- return;
161
- }
162
- // handle already seen tags
163
- if (ogTag) {
164
- const tagSupport = ogTag.tagSupport;
165
- const templater = value;
166
- runBeforeRender(tagSupport, ogTag);
167
- tagSupport.oldest.beforeRedraw();
168
- const retag = templater.wrapper();
169
- retag.tagSupport = tagSupport;
170
- templater.newest = retag;
171
- tagSupport.oldest.afterRender();
172
- ogTag.updateByTag(retag);
173
- existing.set(value);
174
- return;
175
- }
176
- // now its a function
177
- if (value instanceof Function) {
178
- existing.set(bindSubjectFunction(value, this));
179
- return;
180
- }
181
- existing.set(value); // let ValueSubject now of newest value
182
- return;
183
- }
184
- // First time values below
185
- if (isTagComponent(value)) {
186
- const existing = context[variableName] = new ValueSubject(value);
187
- setValueRedraw(value, existing, this);
188
- return;
189
- }
190
- if (value instanceof Function) {
191
- context[variableName] = getSubjectFunction(value, this);
192
- return;
193
- }
194
- if (!hasValue) {
195
- return; // more strings than values, stop here
196
- }
197
- if (value instanceof Tag) {
198
- value.ownerTag = this;
199
- this.children.push(value);
200
- }
201
- context[variableName] = new ValueSubject(value);
202
- });
203
- return context;
204
- }
205
- getAppElement() {
206
- let tag = this;
207
- while (tag.ownerTag) {
208
- tag = tag.ownerTag;
209
- }
210
- return tag;
211
- }
212
- }
213
- //# sourceMappingURL=Tag.class.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Tag.class.js","sourceRoot":"","sources":["../ts/Tag.class.ts"],"names":[],"mappings":"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"}
@@ -1,24 +0,0 @@
1
- import { ValueSubject } from "./ValueSubject.js";
2
- import { Tag } from "./Tag.class.js";
3
- import { TemplaterResult } from "./tag.js";
4
- export declare function getSubjectFunction(value: any, tag: Tag): ValueSubject;
5
- /**
6
- * @param {*} value
7
- * @param {Tag} tag
8
- * @returns
9
- */
10
- export declare function bindSubjectFunction(value: (...args: any[]) => any, tag: Tag): {
11
- (element: Element, args: any[]): any;
12
- tagFunction: (...args: any[]) => any;
13
- };
14
- /**
15
- *
16
- * @param {*} templater
17
- * @param {ExistingValue} existing
18
- * @param {Tag} ownerTag
19
- */
20
- export declare function setValueRedraw(templater: TemplaterResult, // latest tag function to call for rendering
21
- existing: any, ownerTag: Tag): void;
22
- export declare function elementDestroyCheck(nextSibling: Element & {
23
- ondestroy?: () => any;
24
- }, stagger: number): any;