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
@@ -0,0 +1,11 @@
1
+ import { Gateway } from "./tagGateway.utils.js";
2
+ /** <tag-element id="" props="json-string" />
3
+ * For Angular @NgModule({schemas: [CUSTOM_ELEMENTS_SCHEMA]}) is required
4
+ */
5
+ export declare class TagElement extends HTMLElement {
6
+ gateway: Gateway;
7
+ constructor();
8
+ disconnectedCallback(): void;
9
+ }
10
+ /** Call me one time */
11
+ export declare function initWebComponents(): void;
@@ -0,0 +1,20 @@
1
+ import { checkByElement, destroyGateway } from "./tagGateway.utils.js";
2
+ /** <tag-element id="" props="json-string" />
3
+ * For Angular @NgModule({schemas: [CUSTOM_ELEMENTS_SCHEMA]}) is required
4
+ */
5
+ export class TagElement extends HTMLElement {
6
+ gateway;
7
+ constructor() {
8
+ super();
9
+ // attributes are not available right away
10
+ setTimeout(() => this.gateway = checkByElement(this), 0);
11
+ }
12
+ disconnectedCallback() {
13
+ destroyGateway(this.gateway);
14
+ }
15
+ }
16
+ /** Call me one time */
17
+ export function initWebComponents() {
18
+ customElements.define('tag-element', TagElement);
19
+ }
20
+ //# sourceMappingURL=gateway.web.component.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"gateway.web.component.js","sourceRoot":"","sources":["../../ts/gateway/gateway.web.component.ts"],"names":[],"mappings":"AAAA,OAAO,EAAW,cAAc,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAA;AAE/E;;GAEG;AACH,MAAM,OAAO,UAAW,SAAQ,WAAW;IACzC,OAAO,CAAU;IAEjB;QACE,KAAK,EAAE,CAAA;QACP,0CAA0C;QAC1C,UAAU,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,OAAO,GAAG,cAAc,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAA;IAC1D,CAAC;IAED,oBAAoB;QAClB,cAAc,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;IAC9B,CAAC;CACF;AAED,uBAAuB;AACvB,MAAM,UAAU,iBAAiB;IAC/B,cAAc,CAAC,MAAM,CAAC,aAAa,EAAE,UAAU,CAAC,CAAA;AAClD,CAAC"}
@@ -0,0 +1,3 @@
1
+ export { loadTagGateway } from "./loadTagGateway.function.js";
2
+ export { initWebComponents } from "./gateway.web.component.js";
3
+ export { tagGateway } from "./tagGateway.function.js";
@@ -0,0 +1,4 @@
1
+ export { loadTagGateway } from "./loadTagGateway.function.js";
2
+ export { initWebComponents } from "./gateway.web.component.js";
3
+ export { tagGateway } from "./tagGateway.function.js";
4
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../ts/gateway/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAA;AAC7D,OAAO,EAAE,iBAAiB,EAAE,MAAM,4BAA4B,CAAA;AAC9D,OAAO,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAA"}
@@ -0,0 +1,2 @@
1
+ import { TagComponent } from "../index.js";
2
+ export declare function loadTagGateway(component: TagComponent): string;
@@ -0,0 +1,18 @@
1
+ import { initWebComponents } from "./gateway.web.component.js";
2
+ import { gatewayTagIds, getTagId } from "./tagGateway.utils.js";
3
+ let hasInitWebComponents = false;
4
+ export function loadTagGateway(component) {
5
+ if (!hasInitWebComponents) {
6
+ try {
7
+ initWebComponents();
8
+ }
9
+ catch (err) {
10
+ throw err;
11
+ }
12
+ hasInitWebComponents = true;
13
+ }
14
+ const id = getTagId(component);
15
+ gatewayTagIds[id] = component;
16
+ return id;
17
+ }
18
+ //# sourceMappingURL=loadTagGateway.function.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"loadTagGateway.function.js","sourceRoot":"","sources":["../../ts/gateway/loadTagGateway.function.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,iBAAiB,EAAE,MAAM,4BAA4B,CAAA;AAC9D,OAAO,EAAE,aAAa,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAA;AAE/D,IAAI,oBAAoB,GAAG,KAAK,CAAA;AAEhC,MAAM,UAAU,cAAc,CAAC,SAAuB;IACpD,IAAG,CAAC,oBAAoB,EAAE,CAAC;QACzB,IAAI,CAAC;YACH,iBAAiB,EAAE,CAAA;QACrB,CAAC;QAAC,OAAM,GAAG,EAAE,CAAC;YACZ,MAAM,GAAG,CAAA;QACX,CAAC;QAED,oBAAoB,GAAG,IAAI,CAAA;IAC7B,CAAC;IAED,MAAM,EAAE,GAAG,QAAQ,CAAC,SAAS,CAAC,CAAA;IAC9B,aAAa,CAAC,EAAE,CAAC,GAAG,SAAS,CAAA;IAC7B,OAAO,EAAE,CAAA;AACX,CAAC"}
@@ -0,0 +1,4 @@
1
+ import { TagComponent } from "../index.js";
2
+ export declare const tagGateway: (component: TagComponent) => {
3
+ id: string;
4
+ };
@@ -0,0 +1,49 @@
1
+ import { checkElement, getTagId } from "./tagGateway.utils.js";
2
+ const namedTimeouts = {};
3
+ export const tagGateway = function tagGateway(component) {
4
+ const id = getTagId(component);
5
+ if (namedTimeouts[id]) {
6
+ return namedTimeouts[id];
7
+ }
8
+ let intervalId;
9
+ let hitCount = 0;
10
+ const interval = 5;
11
+ function findElements() {
12
+ const elements = checkTagElementsById(id, component);
13
+ if (!elements.length) {
14
+ return elements.length;
15
+ }
16
+ // Element has been found, load
17
+ if (intervalId) {
18
+ clearInterval(intervalId);
19
+ }
20
+ delete namedTimeouts[id];
21
+ return elements.length;
22
+ }
23
+ function findElement() {
24
+ intervalId = setInterval(() => {
25
+ hitCount = hitCount + interval;
26
+ if (hitCount >= 2000) {
27
+ clearInterval(intervalId);
28
+ throw new Error(`TaggedJs Element ${id} not found`);
29
+ }
30
+ findElements();
31
+ }, interval);
32
+ }
33
+ const elementCounts = findElements();
34
+ if (elementCounts) {
35
+ return { id };
36
+ }
37
+ findElement();
38
+ namedTimeouts[id] = { id };
39
+ return namedTimeouts[id];
40
+ };
41
+ function checkTagElementsById(id, component) {
42
+ const elements = document.querySelectorAll('#' + id);
43
+ return checkTagElements(id, elements, component);
44
+ }
45
+ function checkTagElements(id, elements, component) {
46
+ elements.forEach(element => checkElement(id, element, component));
47
+ return elements;
48
+ }
49
+ //# sourceMappingURL=tagGateway.function.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tagGateway.function.js","sourceRoot":"","sources":["../../ts/gateway/tagGateway.function.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAA;AAE9D,MAAM,aAAa,GAAwB,EAAE,CAAA;AAE7C,MAAM,CAAC,MAAM,UAAU,GAAG,SAAS,UAAU,CAC3C,SAAuB;IAEvB,MAAM,EAAE,GAAG,QAAQ,CAAC,SAAS,CAAC,CAAA;IAE9B,IAAG,aAAa,CAAC,EAAE,CAAC,EAAE,CAAC;QACrB,OAAO,aAAa,CAAC,EAAE,CAAC,CAAA;IAC1B,CAAC;IAED,IAAI,UAA0B,CAAA;IAC9B,IAAI,QAAQ,GAAG,CAAC,CAAA;IAChB,MAAM,QAAQ,GAAG,CAAC,CAAA;IAElB,SAAS,YAAY;QACnB,MAAM,QAAQ,GAAG,oBAAoB,CAAC,EAAE,EAAE,SAAS,CAAC,CAAA;QAEpD,IAAG,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC;YACpB,OAAO,QAAQ,CAAC,MAAM,CAAA;QACxB,CAAC;QAED,+BAA+B;QAC/B,IAAG,UAAU,EAAE,CAAC;YACd,aAAa,CAAC,UAAU,CAAC,CAAA;QAC3B,CAAC;QACD,OAAO,aAAa,CAAC,EAAE,CAAC,CAAA;QAExB,OAAO,QAAQ,CAAC,MAAM,CAAA;IACxB,CAAC;IAED,SAAS,WAAW;QAClB,UAAU,GAAG,WAAW,CAAC,GAAG,EAAE;YAC5B,QAAQ,GAAG,QAAQ,GAAG,QAAQ,CAAA;YAE9B,IAAG,QAAQ,IAAI,IAAI,EAAE,CAAC;gBACpB,aAAa,CAAC,UAAU,CAAC,CAAA;gBACzB,MAAM,IAAI,KAAK,CAAC,oBAAoB,EAAE,YAAY,CAAC,CAAA;YACrD,CAAC;YAED,YAAY,EAAE,CAAA;QAChB,CAAC,EAAE,QAAQ,CAAC,CAAA;IACd,CAAC;IAED,MAAM,aAAa,GAAG,YAAY,EAAE,CAAA;IACpC,IAAG,aAAa,EAAE,CAAC;QACjB,OAAO,EAAE,EAAE,EAAE,CAAA;IACf,CAAC;IAED,WAAW,EAAE,CAAA;IAEb,aAAa,CAAC,EAAE,CAAC,GAAG,EAAE,EAAE,EAAE,CAAA;IAE1B,OAAO,aAAa,CAAC,EAAE,CAAC,CAAA;AAC1B,CAAC,CAAA;AAED,SAAS,oBAAoB,CAC3B,EAAU,EACV,SAAuB;IAEvB,MAAM,QAAQ,GAAG,QAAQ,CAAC,gBAAgB,CAAC,GAAG,GAAG,EAAE,CAAC,CAAA;IACpD,OAAO,gBAAgB,CAAC,EAAE,EAAE,QAAQ,EAAE,SAAS,CAAC,CAAA;AAClD,CAAC;AAED,SAAS,gBAAgB,CACvB,EAAU,EACV,QAA6B,EAC7B,SAAuB;IAEvB,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,YAAY,CAAC,EAAE,EAAE,OAAO,EAAE,SAAS,CAAC,CAAC,CAAA;IAEjE,OAAO,QAAQ,CAAA;AACjB,CAAC"}
@@ -0,0 +1,21 @@
1
+ import { TagComponent, Tag } from "../index.js";
2
+ export declare const gatewayTagIds: {
3
+ [id: string]: TagComponent;
4
+ };
5
+ export declare function checkAllGateways(): void;
6
+ export declare function checkGateways(gateways: Gateway[]): void;
7
+ export declare function destroyGateway(gateway: Gateway): void;
8
+ export declare function getTagId(component: TagComponent): string;
9
+ export type EventData = {
10
+ detail: Record<string, any>;
11
+ };
12
+ export type Gateway = {
13
+ tag: Tag;
14
+ id: string;
15
+ observer: MutationObserver;
16
+ element: HTMLElement;
17
+ component: TagComponent;
18
+ updateTag: () => unknown;
19
+ };
20
+ export declare function checkByElement(element: HTMLElement | Element): Gateway;
21
+ export declare function checkElement(id: string, element: Element, component: TagComponent): Gateway;
@@ -0,0 +1,139 @@
1
+ import { redrawTag, tagElement } from "../index.js";
2
+ import { loadTagGateway } from "./loadTagGateway.function.js";
3
+ const gateways = {};
4
+ export const gatewayTagIds = {};
5
+ export function checkAllGateways() {
6
+ Object.entries(gateways).forEach(([id, gateways]) => checkGateways(gateways));
7
+ }
8
+ export function checkGateways(gateways) {
9
+ gateways.forEach(gateway => checkGateway(gateway));
10
+ }
11
+ function checkGateway(gateway) {
12
+ const { element } = gateway;
13
+ if (document.body.contains(element)) {
14
+ return; // its still good, do not continue to destroy
15
+ }
16
+ destroyGateway(gateway);
17
+ return false;
18
+ }
19
+ export function destroyGateway(gateway) {
20
+ const { id, observer, tag } = gateway;
21
+ observer.disconnect();
22
+ tag.destroy();
23
+ delete gateways[id];
24
+ }
25
+ export function getTagId(component) {
26
+ const componentString = functionToHtmlId(component);
27
+ return '__tagTemplate_' + componentString;
28
+ }
29
+ function parsePropsString(element) {
30
+ const propsString = element.getAttribute('props');
31
+ if (!propsString) {
32
+ return { element };
33
+ }
34
+ try {
35
+ const props = JSON.parse(propsString);
36
+ // attribute eventProps as output bindings
37
+ const eventPropsString = element.getAttribute('events');
38
+ if (eventPropsString) {
39
+ eventPropsString.split(',').map(x => x.trim()).map((name) => {
40
+ props[name] = (value) => dispatchEvent(name, { detail: { [name]: value } });
41
+ });
42
+ }
43
+ const dispatchEvent = function (name, eventData) {
44
+ const event = new CustomEvent(name, eventData);
45
+ element.dispatchEvent(event);
46
+ };
47
+ // props.dispatchEvent = dispatchEvent
48
+ return props;
49
+ }
50
+ catch (err) {
51
+ console.warn('Failed to parse props on element', { element, propsString });
52
+ throw err;
53
+ }
54
+ }
55
+ /** adds to gateways[id].push */
56
+ function watchElement(id, targetNode, tag, component) {
57
+ let lastTag = tag;
58
+ const observer = new MutationObserver(mutationsList => {
59
+ if (!checkGateway(gateway)) {
60
+ return;
61
+ }
62
+ for (const mutation of mutationsList) {
63
+ if (mutation.type === 'attributes') {
64
+ updateTag();
65
+ }
66
+ }
67
+ });
68
+ function updateTag() {
69
+ const templater = tag.tagSupport.templater;
70
+ const oldProps = templater.tagSupport.props;
71
+ const newProps = parsePropsString(targetNode);
72
+ templater.tagSupport.props = newProps;
73
+ const isSameProps = JSON.stringify(oldProps) === JSON.stringify(newProps);
74
+ if (isSameProps) {
75
+ return; // no reason to update, same props
76
+ }
77
+ templater.tagSupport.latestProps = newProps;
78
+ const result = redrawTag(lastTag, templater);
79
+ // update records
80
+ gateway.tag = lastTag = result.retag;
81
+ }
82
+ loadTagGateway(component);
83
+ const gateway = {
84
+ id, tag, observer, component, element: targetNode, updateTag,
85
+ };
86
+ gateways[id] = gateways[id] || [];
87
+ gateways[id].push(gateway);
88
+ targetNode.gateway = gateway;
89
+ // Configure the observer to watch for changes in child nodes and attributes
90
+ const config = { attributes: true };
91
+ // Start observing the target node for specified changes
92
+ observer.observe(targetNode, config);
93
+ return gateway;
94
+ }
95
+ function functionToHtmlId(func) {
96
+ // Convert function to string
97
+ let funcString = func.toString();
98
+ // Remove spaces and replace special characters with underscores
99
+ let cleanedString = funcString.replace(/\s+/g, '_')
100
+ .replace(/[^\w\d]/g, '_');
101
+ // Ensure the ID starts with a letter
102
+ if (!/^[a-zA-Z]/.test(cleanedString)) {
103
+ cleanedString = 'fn_' + cleanedString;
104
+ }
105
+ return cleanedString;
106
+ }
107
+ export function checkByElement(element) {
108
+ const id = element.id || element.getAttribute('id');
109
+ if (!id) {
110
+ const message = 'Cannot check a tag on element with no id attribute';
111
+ console.warn(message, { id, element });
112
+ throw new Error(message);
113
+ }
114
+ const component = gatewayTagIds[id];
115
+ if (!component) {
116
+ const message = `Cannot find a tag registered by id of ${id}`;
117
+ console.warn(message, { id, element });
118
+ throw new Error(message);
119
+ }
120
+ return checkElement(id, element, component);
121
+ }
122
+ export function checkElement(id, element, component) {
123
+ const gateway = element.gateway;
124
+ if (gateway) {
125
+ gateway.updateTag();
126
+ return gateway;
127
+ }
128
+ const props = parsePropsString(element);
129
+ try {
130
+ const { tag } = tagElement(component, element, props);
131
+ // watch element AND add to gateways[id].push()
132
+ return watchElement(id, element, tag, component);
133
+ }
134
+ catch (err) {
135
+ console.warn('Failed to render component to element', { component, element, props });
136
+ throw err;
137
+ }
138
+ }
139
+ //# sourceMappingURL=tagGateway.utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tagGateway.utils.js","sourceRoot":"","sources":["../../ts/gateway/tagGateway.utils.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,3 @@
1
- type Callback = <T>(...args: unknown[]) => T;
1
+ type Callback = <T>(...args: unknown[]) => (T | void);
2
2
  export declare let getCallback: () => (callback: Callback) => () => void;
3
3
  export {};
package/js/getCallback.js CHANGED
@@ -1,53 +1,50 @@
1
+ import { setUse } from "./setUse.function.js";
1
2
  import { getStateValue } from "./state.js";
2
- import { setUse } from "./tagRunner.js";
3
3
  export let getCallback = () => (callback) => () => {
4
4
  throw new Error('The real callback function was called and that should never occur');
5
5
  };
6
6
  setUse({
7
- beforeRender: (tagSupport) => {
8
- tagSupport.callbacks = [];
9
- getCallback = () => {
10
- const callbackMaker = (callback) => {
11
- const trigger = () => {
12
- const state = tagSupport.state;
13
- const oldest = callbackMaker.state; // state.oldest as StateConfigArray
14
- const newest = state.newest;
15
- // ensure that the oldest has the latest values first
16
- updateState(newest, oldest);
17
- // run the callback
18
- const promise = callback();
19
- // send the oldest state changes into the newest
20
- updateState(oldest, newest);
21
- tagSupport.render();
22
- if (promise instanceof Promise) {
23
- promise.finally(() => {
24
- // send the oldest state changes into the newest
25
- updateState(oldest, newest);
26
- tagSupport.render();
27
- });
28
- }
29
- };
30
- const state = tagSupport.state;
31
- trigger.state = state;
32
- return trigger;
33
- };
34
- const callbacks = tagSupport.callbacks;
35
- callbacks.push(callbackMaker);
36
- return callbackMaker;
37
- };
38
- },
39
- afterRender: (tagSupport) => {
40
- const callbacks = tagSupport.callbacks;
41
- callbacks.forEach(callback => {
42
- const state = tagSupport.state;
43
- callback.state = [...state.newest];
44
- });
45
- }
7
+ beforeRender: (tagSupport) => initMemory(tagSupport),
8
+ beforeRedraw: (tagSupport) => initMemory(tagSupport),
9
+ // afterRender: (tagSupport: TagSupport) => {},
46
10
  });
47
11
  function updateState(stateFrom, stateTo) {
48
12
  stateFrom.forEach((state, index) => {
49
- const oldValue = getStateValue(state);
50
- const [checkValue] = stateTo[index](oldValue);
13
+ const fromValue = getStateValue(state);
14
+ const callback = stateTo[index].callback;
15
+ if (callback) {
16
+ callback(fromValue); // set the value
17
+ }
18
+ stateTo[index].lastValue = fromValue; // record the value
51
19
  });
52
20
  }
21
+ function initMemory(tagSupport) {
22
+ getCallback = () => {
23
+ const oldState = setUse.memory.stateConfig.array;
24
+ const callbackMaker = (callback) => {
25
+ const trigger = (...args) => triggerStateUpdate(tagSupport, callback, oldState, ...args);
26
+ return trigger;
27
+ };
28
+ return callbackMaker;
29
+ };
30
+ }
31
+ function triggerStateUpdate(tagSupport, callback, oldState, ...args) {
32
+ const state = tagSupport.memory.state;
33
+ const newest = state.newest;
34
+ // ensure that the oldest has the latest values first
35
+ updateState(newest, oldState);
36
+ // run the callback
37
+ const promise = callback(...args);
38
+ // send the oldest state changes into the newest
39
+ updateState(oldState, newest);
40
+ tagSupport.render();
41
+ // TODO: turn back on below
42
+ if (promise instanceof Promise) {
43
+ promise.finally(() => {
44
+ // send the oldest state changes into the newest
45
+ updateState(oldState, newest);
46
+ tagSupport.render();
47
+ });
48
+ }
49
+ }
53
50
  //# sourceMappingURL=getCallback.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"getCallback.js","sourceRoot":"","sources":["../ts/getCallback.ts"],"names":[],"mappings":"AAAA,OAAO,EAA4C,aAAa,EAAE,MAAM,YAAY,CAAA;AACpF,OAAO,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAA;AAIvC,MAAM,CAAC,IAAI,WAAW,GAAG,GAAG,EAAE,CAAC,CAAC,QAAkB,EAAE,EAAE,CAAC,GAAS,EAAE;IAChE,MAAM,IAAI,KAAK,CAAC,mEAAmE,CAAC,CAAA;AACtF,CAAC,CAAA;AAOD,MAAM,CAAC;IACL,YAAY,EAAE,CAAC,UAA8B,EAAE,EAAE;QAC/C,UAAU,CAAC,SAAS,GAAG,EAAE,CAAA;QAEzB,WAAW,GAAG,GAAG,EAAE;YAEjB,MAAM,aAAa,GAAG,CACpB,QAAkB,EAClB,EAAE;gBACF,MAAM,OAAO,GAAG,GAAG,EAAE;oBACnB,MAAM,KAAK,GAAG,UAAU,CAAC,KAAc,CAAA;oBACvC,MAAM,MAAM,GAAI,aAAqB,CAAC,KAAK,CAAA,CAAC,mCAAmC;oBAC/E,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM,CAAA;oBAE3B,qDAAqD;oBACrD,WAAW,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;oBAE3B,mBAAmB;oBACnB,MAAM,OAAO,GAAG,QAAQ,EAAE,CAAA;oBAE1B,gDAAgD;oBAChD,WAAW,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;oBAE3B,UAAU,CAAC,MAAM,EAAE,CAAA;oBAEnB,IAAG,OAAO,YAAY,OAAO,EAAE,CAAC;wBAC9B,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE;4BACnB,gDAAgD;4BAChD,WAAW,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;4BAE3B,UAAU,CAAC,MAAM,EAAE,CAAA;wBACrB,CAAC,CAAC,CAAA;oBACJ,CAAC;gBACH,CAAC,CAAA;gBAED,MAAM,KAAK,GAAG,UAAU,CAAC,KAAc,CAAA;gBACvC,OAAO,CAAC,KAAK,GAAG,KAAK,CAAA;gBAErB,OAAO,OAAO,CAAA;YAChB,CAAC,CAAA;YAED,MAAM,SAAS,GAAG,UAAU,CAAC,SAAkB,CAAA;YAC/C,SAAS,CAAC,IAAI,CAAC,aAAa,CAAC,CAAA;YAE7B,OAAO,aAAa,CAAA;QACtB,CAAC,CAAA;IACH,CAAC;IACD,WAAW,EAAE,CAAC,UAA8B,EAAE,EAAE;QAC9C,MAAM,SAAS,GAAG,UAAU,CAAC,SAAkB,CAAA;QAC/C,SAAS,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE;YAC3B,MAAM,KAAK,GAAG,UAAU,CAAC,KAAc,CAAA;YACvC,QAAQ,CAAC,KAAK,GAAG,CAAC,GAAG,KAAK,CAAC,MAAa,CAAC,CAAA;QAC3C,CAAC,CAAC,CAAA;IACJ,CAAC;CACF,CAAC,CAAA;AAEF,SAAS,WAAW,CAClB,SAA2B,EAC3B,OAAyB;IAEzB,SAAS,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE;QACjC,MAAM,QAAQ,GAAG,aAAa,CAAC,KAAK,CAAC,CAAA;QACrC,MAAM,CAAC,UAAU,CAAC,GAAG,OAAO,CAAC,KAAK,CAAC,CAAE,QAAQ,CAAE,CAAA;IACjD,CAAC,CAAC,CAAA;AACJ,CAAC"}
1
+ {"version":3,"file":"getCallback.js","sourceRoot":"","sources":["../ts/getCallback.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAA;AAC7C,OAAO,EAA2B,aAAa,EAAE,MAAM,YAAY,CAAA;AAInE,MAAM,CAAC,IAAI,WAAW,GAAG,GAAG,EAAE,CAAC,CAAC,QAAkB,EAAE,EAAE,CAAC,GAAS,EAAE;IAChE,MAAM,IAAI,KAAK,CAAC,mEAAmE,CAAC,CAAA;AACtF,CAAC,CAAA;AAED,MAAM,CAAC;IACL,YAAY,EAAE,CAAC,UAAsB,EAAE,EAAE,CAAC,UAAU,CAAC,UAAU,CAAC;IAChE,YAAY,EAAE,CAAC,UAAsB,EAAE,EAAE,CAAC,UAAU,CAAC,UAAU,CAAC;IAChE,+CAA+C;CAChD,CAAC,CAAA;AAEF,SAAS,WAAW,CAClB,SAA2B,EAC3B,OAAyB;IAEzB,SAAS,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE;QACjC,MAAM,SAAS,GAAG,aAAa,CAAC,KAAK,CAAC,CAAA;QACtC,MAAM,QAAQ,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAA;QAExC,IAAG,QAAQ,EAAE,CAAC;YACZ,QAAQ,CAAE,SAAS,CAAE,CAAA,CAAC,gBAAgB;QACxC,CAAC;QAED,OAAO,CAAC,KAAK,CAAC,CAAC,SAAS,GAAG,SAAS,CAAA,CAAC,mBAAmB;IAC1D,CAAC,CAAC,CAAA;AACJ,CAAC;AAKD,SAAS,UAAU,CAAE,UAAsB;IACzC,WAAW,GAAG,GAAG,EAAE;QACjB,MAAM,QAAQ,GAAqB,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,KAAK,CAAA;QAElE,MAAM,aAAa,GAAkB,CACnC,QAAkB,EAClB,EAAE;YACF,MAAM,OAAO,GAAG,CAAC,GAAG,IAAW,EAAE,EAAE,CAAC,kBAAkB,CAAC,UAAU,EAAE,QAAQ,EAAE,QAAQ,EAAE,GAAG,IAAI,CAAC,CAAA;YAC/F,OAAO,OAAO,CAAA;QAChB,CAAC,CAAA;QAED,OAAO,aAAa,CAAA;IACtB,CAAC,CAAA;AACH,CAAC;AAED,SAAS,kBAAkB,CACzB,UAAsB,EACtB,QAAkB,EAClB,QAA0B,EAC1B,GAAG,IAAW;IAEd,MAAM,KAAK,GAAG,UAAU,CAAC,MAAM,CAAC,KAAc,CAAA;IAC9C,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM,CAAA;IAE3B,qDAAqD;IACrD,WAAW,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAA;IAE7B,mBAAmB;IACnB,MAAM,OAAO,GAAG,QAAQ,CAAC,GAAG,IAAI,CAAC,CAAA;IAEjC,gDAAgD;IAChD,WAAW,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAA;IAE7B,UAAU,CAAC,MAAM,EAAE,CAAA;IAEnB,2BAA2B;IAC3B,IAAG,OAAO,YAAY,OAAO,EAAE,CAAC;QAC9B,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE;YACnB,gDAAgD;YAChD,WAAW,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAA;YAE7B,UAAU,CAAC,MAAM,EAAE,CAAA;QACrB,CAAC,CAAC,CAAA;IACJ,CAAC;AACH,CAAC"}
@@ -1,20 +1,21 @@
1
- import { Tag } from "./Tag.class.js";
2
- import { TemplaterResult } from "./tag.js";
3
- export interface TagSupport {
4
- templater?: TemplaterResult;
5
- /** Indicator of re-rending. Saves from double rending something already rendered */
6
- renderCount: 0;
7
- mutatingRender: () => any;
8
- render: () => any;
9
- /**
10
- *
11
- * @param {*} props value.props
12
- * @param {*} newProps value.newProps
13
- * @param {*} compareToProps compareSupport.templater.props
14
- * @returns {boolean}
15
- */
16
- hasPropChanges: (props: any, newProps: any, compareToProps: any) => boolean;
1
+ import { Props } from "./Props.js";
2
+ import { Tag, TagMemory } from "./Tag.class.js";
3
+ import { TemplaterResult } from "./templater.utils.js";
4
+ export declare class TagSupport {
5
+ templater: TemplaterResult;
6
+ props?: unknown;
7
+ clonedProps: Props;
8
+ latestProps: Props;
9
+ latestClonedProps: Props;
10
+ memory: TagMemory;
11
+ constructor(templater: TemplaterResult, props?: unknown);
17
12
  oldest?: Tag;
18
13
  newest?: Tag;
14
+ hasPropChanges(props: any, // natural props
15
+ pastCloneProps: any, // previously cloned props
16
+ compareToProps: any): boolean;
17
+ mutatingRender(): Tag;
18
+ render(): Tag;
19
+ renderExistingTag(tag: Tag, newTemplater: TemplaterResult): boolean;
19
20
  }
20
- export declare function getTagSupport(templater?: TemplaterResult): TagSupport;
21
+ export declare function getTagSupport(templater: TemplaterResult, props?: Props): TagSupport;
@@ -1,20 +1,109 @@
1
- import { deepEqual } from "./deepFunctions.js";
2
- export function getTagSupport(templater) {
3
- const tagSupport = {
4
- templater,
5
- renderCount: 0,
6
- mutatingRender: () => { throw new Error('Tag function "render()" was called in sync but can only be called async'); }, // loaded later and only callable async
7
- render: () => {
8
- ++tagSupport.renderCount;
9
- return tagSupport.mutatingRender();
10
- }, // ensure this function still works even during deconstructing
11
- hasPropChanges: (props, newProps, compareToProps) => {
12
- const oldProps = tagSupport.templater.cloneProps;
13
- const isCommonEqual = props === undefined && props === compareToProps;
14
- const isEqual = isCommonEqual || deepEqual(newProps, oldProps);
15
- return !isEqual;
1
+ import { deepClone, deepEqual } from "./deepFunctions.js";
2
+ import { getNewProps } from "./templater.utils.js";
3
+ export class TagSupport {
4
+ templater;
5
+ props;
6
+ // props from **constructor** are converted for comparing over renders
7
+ clonedProps;
8
+ latestProps; // new props NOT cloned props
9
+ latestClonedProps;
10
+ memory = {
11
+ context: {}, // populated after reading interpolated.values array converted to an object {variable0, variable:1}
12
+ state: {
13
+ newest: [],
16
14
  },
15
+ providers: [],
16
+ /** Indicator of re-rending. Saves from double rending something already rendered */
17
+ renderCount: 0,
17
18
  };
19
+ constructor(templater, props) {
20
+ this.templater = templater;
21
+ this.props = props;
22
+ this.latestProps = props; // getNewProps(props, templater)
23
+ const latestProps = getNewProps(props, templater);
24
+ this.latestClonedProps = deepClone(latestProps);
25
+ this.clonedProps = this.latestClonedProps;
26
+ }
27
+ // TODO: these below may not be in use
28
+ oldest;
29
+ newest;
30
+ hasPropChanges(props, // natural props
31
+ pastCloneProps, // previously cloned props
32
+ compareToProps) {
33
+ const oldProps = this.props;
34
+ const isCommonEqual = props === undefined && props === compareToProps;
35
+ const isEqual = isCommonEqual || deepEqual(pastCloneProps, oldProps);
36
+ return !isEqual;
37
+ }
38
+ mutatingRender() {
39
+ const message = 'Tag function "render()" was called in sync but can only be called async';
40
+ console.error(message, { tagSupport: this });
41
+ throw new Error(message);
42
+ } // loaded later and only callable async
43
+ render() {
44
+ ++this.memory.renderCount;
45
+ return this.mutatingRender();
46
+ } // ensure this function still works even during deconstructing
47
+ renderExistingTag(tag, newTemplater) {
48
+ const preRenderCount = this.memory.renderCount;
49
+ providersChangeCheck(tag);
50
+ // When the providers were checked, a render to myself occurred and I do not need to re-render again
51
+ if (preRenderCount !== this.memory.renderCount) {
52
+ return true;
53
+ }
54
+ const oldTemplater = tag.tagSupport.templater;
55
+ const nowProps = newTemplater.tagSupport.props; // natural props
56
+ const oldProps = oldTemplater?.tagSupport.props; // previously cloned props
57
+ const newProps = newTemplater.tagSupport.clonedProps; // new props cloned
58
+ return renderTag(this, nowProps, oldProps, newProps, this.templater);
59
+ }
60
+ }
61
+ export function getTagSupport(templater, props) {
62
+ const tagSupport = new TagSupport(templater, props);
18
63
  return tagSupport;
19
64
  }
65
+ function providersChangeCheck(tag) {
66
+ const providersWithChanges = tag.tagSupport.memory.providers.filter(provider => {
67
+ return !deepEqual(provider.instance, provider.clone);
68
+ });
69
+ // reset clones
70
+ providersWithChanges.forEach(provider => {
71
+ const appElement = tag.getAppElement();
72
+ handleProviderChanges(appElement, provider);
73
+ provider.clone = deepClone(provider.instance);
74
+ });
75
+ }
76
+ function handleProviderChanges(appElement, provider) {
77
+ const tagsWithProvider = getTagsWithProvider(appElement, provider);
78
+ tagsWithProvider.forEach(({ tag, renderCount, provider }) => {
79
+ const unRendered = renderCount === tag.tagSupport.memory.renderCount;
80
+ if (unRendered) {
81
+ provider.clone = deepClone(provider.instance);
82
+ tag.tagSupport.render();
83
+ }
84
+ });
85
+ }
86
+ function getTagsWithProvider(tag, provider, memory = []) {
87
+ const hasProvider = tag.tagSupport.memory.providers.find(xProvider => xProvider.constructMethod === provider.constructMethod);
88
+ if (hasProvider) {
89
+ memory.push({
90
+ tag,
91
+ renderCount: tag.tagSupport.memory.renderCount,
92
+ provider: hasProvider
93
+ });
94
+ }
95
+ tag.children.forEach(child => getTagsWithProvider(child, provider, memory));
96
+ return memory;
97
+ }
98
+ function renderTag(tagSupport, nowProps, // natural props
99
+ oldProps, // previously NOT cloned props
100
+ newProps, // now props cloned
101
+ templater) {
102
+ const hasPropsChanged = tagSupport.hasPropChanges(nowProps, newProps, oldProps);
103
+ tagSupport.newest = templater.redraw(); // No change detected, just redraw me only
104
+ if (!hasPropsChanged) {
105
+ return true;
106
+ }
107
+ return false;
108
+ }
20
109
  //# sourceMappingURL=getTagSupport.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"getTagSupport.js","sourceRoot":"","sources":["../ts/getTagSupport.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAA;AA8B9C,MAAM,UAAU,aAAa,CAC3B,SAA2B;IAE3B,MAAM,UAAU,GAAe;QAC7B,SAAS;QACT,WAAW,EAAE,CAAC;QACd,cAAc,EAAE,GAAG,EAAE,GAAE,MAAM,IAAI,KAAK,CAAC,yEAAyE,CAAC,CAAA,CAAA,CAAC,EAAE,uCAAuC;QAC3J,MAAM,EAAE,GAAG,EAAE;YACX,EAAE,UAAU,CAAC,WAAW,CAAA;YACxB,OAAO,UAAU,CAAC,cAAc,EAAE,CAAA;QACpC,CAAC,EAAE,8DAA8D;QAEjE,cAAc,EAAE,CACd,KAAU,EACV,QAAa,EACb,cAAmB,EACnB,EAAE;YACF,MAAM,QAAQ,GAAI,UAAU,CAAC,SAAiB,CAAC,UAAU,CAAA;YACzD,MAAM,aAAa,GAAG,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,cAAc,CAAA;YACrE,MAAM,OAAO,GAAG,aAAa,IAAI,SAAS,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAA;YAC9D,OAAO,CAAC,OAAO,CAAA;QACjB,CAAC;KACF,CAAA;IAED,OAAO,UAAU,CAAA;AACnB,CAAC"}
1
+ {"version":3,"file":"getTagSupport.js","sourceRoot":"","sources":["../ts/getTagSupport.ts"],"names":[],"mappings":"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"}
package/js/html.d.ts CHANGED
@@ -1,2 +1,2 @@
1
1
  import { Tag } from "./Tag.class.js";
2
- export declare function html(strings: string[], ...values: unknown[]): Tag;
2
+ export declare function html(strings: string[] | TemplateStringsArray, ...values: unknown[]): Tag;
package/js/html.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"html.js","sourceRoot":"","sources":["../ts/html.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,gBAAgB,CAAA;AAEpC,MAAM,UAAU,IAAI,CAClB,OAAiB,EACjB,GAAG,MAAiB;IAEpB,OAAO,IAAI,GAAG,CAAC,OAAO,EAAE,MAAM,CAAC,CAAA;AACjC,CAAC"}
1
+ {"version":3,"file":"html.js","sourceRoot":"","sources":["../ts/html.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,gBAAgB,CAAA;AAEpC,MAAM,UAAU,IAAI,CAClB,OAAwC,EACxC,GAAG,MAAiB;IAEpB,OAAO,IAAI,GAAG,CAAC,OAAmB,EAAE,MAAM,CAAC,CAAA;AAC7C,CAAC"}