taggedjs 2.3.25 → 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 (315) hide show
  1. package/_js/ElementTarget.interface.d.ts +7 -0
  2. package/_js/ElementTarget.interface.js +2 -0
  3. package/_js/ElementTarget.interface.js.map +1 -0
  4. package/_js/ElementTargetEvent.interface.d.ts +6 -0
  5. package/_js/ElementTargetEvent.interface.js +2 -0
  6. package/_js/ElementTargetEvent.interface.js.map +1 -0
  7. package/_js/Tag.class.d.ts +69 -0
  8. package/_js/Tag.class.js +258 -0
  9. package/_js/Tag.class.js.map +1 -0
  10. package/_js/elementInitCheck.js.map +1 -0
  11. package/_js/gateway/gateway.web.component.d.ts +11 -0
  12. package/_js/gateway/gateway.web.component.js +20 -0
  13. package/_js/gateway/gateway.web.component.js.map +1 -0
  14. package/_js/gateway/index.d.ts +3 -0
  15. package/_js/gateway/index.js +4 -0
  16. package/_js/gateway/index.js.map +1 -0
  17. package/_js/gateway/loadTagGateway.function.d.ts +2 -0
  18. package/_js/gateway/loadTagGateway.function.js +18 -0
  19. package/_js/gateway/loadTagGateway.function.js.map +1 -0
  20. package/_js/gateway/tagGateway.function.d.ts +4 -0
  21. package/_js/gateway/tagGateway.function.js +49 -0
  22. package/_js/gateway/tagGateway.function.js.map +1 -0
  23. package/_js/gateway/tagGateway.utils.d.ts +21 -0
  24. package/_js/gateway/tagGateway.utils.js +139 -0
  25. package/_js/gateway/tagGateway.utils.js.map +1 -0
  26. package/_js/getCallback.d.ts +3 -0
  27. package/_js/getTagSupport.d.ts +21 -0
  28. package/_js/getTagSupport.js +110 -0
  29. package/_js/getTagSupport.js.map +1 -0
  30. package/_js/index.d.ts +20 -0
  31. package/_js/index.js +25 -0
  32. package/_js/index.js.map +1 -0
  33. package/_js/inputAttribute.js +19 -0
  34. package/_js/inputAttribute.js.map +1 -0
  35. package/_js/interpolateAttributes.js +135 -0
  36. package/_js/interpolateAttributes.js.map +1 -0
  37. package/_js/interpolateContentTemplates.d.ts +6 -0
  38. package/_js/interpolateContentTemplates.js +54 -0
  39. package/_js/interpolateContentTemplates.js.map +1 -0
  40. package/_js/interpolateElement.d.ts +9 -0
  41. package/_js/interpolateElement.js +39 -0
  42. package/_js/interpolateElement.js.map +1 -0
  43. package/_js/interpolations.d.ts +7 -0
  44. package/_js/interpolations.js +18 -0
  45. package/_js/interpolations.js.map +1 -0
  46. package/_js/js/Clones.type.d.ts +1 -0
  47. package/_js/js/Clones.type.js +2 -0
  48. package/_js/js/Clones.type.js.map +1 -0
  49. package/_js/js/Props.d.ts +1 -0
  50. package/_js/js/Props.js +2 -0
  51. package/_js/js/Props.js.map +1 -0
  52. package/_js/js/Subject.d.ts +17 -0
  53. package/_js/js/Subject.js +43 -0
  54. package/_js/js/Subject.js.map +1 -0
  55. package/_js/js/Tag.utils.d.ts +12 -0
  56. package/_js/js/Tag.utils.js +31 -0
  57. package/_js/js/Tag.utils.js.map +1 -0
  58. package/_js/js/ValueSubject.d.ts +6 -0
  59. package/_js/js/ValueSubject.js +15 -0
  60. package/_js/js/ValueSubject.js.map +1 -0
  61. package/_js/js/bindSubjectCallback.function.d.ts +5 -0
  62. package/_js/js/bindSubjectCallback.function.js +19 -0
  63. package/_js/js/bindSubjectCallback.function.js.map +1 -0
  64. package/_js/js/deepFunctions.d.ts +2 -0
  65. package/_js/js/deepFunctions.js +76 -0
  66. package/_js/js/deepFunctions.js.map +1 -0
  67. package/_js/js/elementDestroyCheck.function.d.ts +3 -0
  68. package/_js/js/elementDestroyCheck.function.js +17 -0
  69. package/_js/js/elementDestroyCheck.function.js.map +1 -0
  70. package/_js/js/elementInitCheck.d.ts +2 -0
  71. package/_js/js/elementInitCheck.js +18 -0
  72. package/_js/js/getCallback.js +50 -0
  73. package/_js/js/getCallback.js.map +1 -0
  74. package/_js/js/html.d.ts +2 -0
  75. package/_js/js/html.js +5 -0
  76. package/_js/js/html.js.map +1 -0
  77. package/_js/js/inputAttribute.d.ts +1 -0
  78. package/_js/js/interpolateAttributes.d.ts +4 -0
  79. package/_js/js/interpolateTemplate.d.ts +17 -0
  80. package/_js/js/interpolateTemplate.js +64 -0
  81. package/_js/js/interpolateTemplate.js.map +1 -0
  82. package/_js/js/isInstance.d.ts +6 -0
  83. package/_js/js/isInstance.js +10 -0
  84. package/_js/js/isInstance.js.map +1 -0
  85. package/_js/onDestroy.d.ts +2 -0
  86. package/_js/onDestroy.js +20 -0
  87. package/_js/onDestroy.js.map +1 -0
  88. package/_js/onInit.d.ts +2 -0
  89. package/_js/onInit.js +19 -0
  90. package/_js/onInit.js.map +1 -0
  91. package/_js/processSubjectComponent.function.d.ts +8 -0
  92. package/_js/processSubjectComponent.function.js +53 -0
  93. package/_js/processSubjectComponent.function.js.map +1 -0
  94. package/_js/processSubjectValue.function.d.ts +16 -0
  95. package/_js/processSubjectValue.function.js +122 -0
  96. package/_js/processSubjectValue.function.js.map +1 -0
  97. package/_js/processTagArray.d.ts +9 -0
  98. package/_js/processTagArray.js +60 -0
  99. package/_js/processTagArray.js.map +1 -0
  100. package/_js/processTagResult.function.d.ts +10 -0
  101. package/_js/processTagResult.function.js +40 -0
  102. package/_js/processTagResult.function.js.map +1 -0
  103. package/_js/providers.d.ts +17 -0
  104. package/_js/providers.js +86 -0
  105. package/_js/providers.js.map +1 -0
  106. package/_js/redrawTag.function.d.ts +7 -0
  107. package/_js/redrawTag.function.js +8 -0
  108. package/_js/redrawTag.function.js.map +1 -0
  109. package/_js/render.d.ts +1 -0
  110. package/_js/render.js +17 -0
  111. package/_js/render.js.map +1 -0
  112. package/_js/renderAppToElement.d.ts +14 -0
  113. package/_js/renderAppToElement.js +57 -0
  114. package/_js/renderAppToElement.js.map +1 -0
  115. package/_js/setUse.function.d.ts +23 -0
  116. package/_js/setUse.function.js +14 -0
  117. package/_js/setUse.function.js.map +1 -0
  118. package/_js/state.d.ts +21 -0
  119. package/_js/state.js +129 -0
  120. package/_js/state.js.map +1 -0
  121. package/_js/tag.d.ts +7 -0
  122. package/_js/tag.js +46 -0
  123. package/_js/tag.js.map +1 -0
  124. package/_js/tagElement.d.ts +14 -0
  125. package/_js/tagElement.js +57 -0
  126. package/_js/tagElement.js.map +1 -0
  127. package/_js/tagGateway.function.d.ts +14 -0
  128. package/_js/tagGateway.function.js +138 -0
  129. package/_js/tagGateway.function.js.map +1 -0
  130. package/_js/tagRunner.d.ts +6 -0
  131. package/_js/tagRunner.js +19 -0
  132. package/_js/tagRunner.js.map +1 -0
  133. package/_js/templater.utils.d.ts +27 -0
  134. package/_js/templater.utils.js +98 -0
  135. package/_js/templater.utils.js.map +1 -0
  136. package/_js/updateTag.utils.d.ts +6 -0
  137. package/_js/updateTag.utils.js +102 -0
  138. package/_js/updateTag.utils.js.map +1 -0
  139. package/index.js +1 -1
  140. package/js/ElementTarget.interface.d.ts +7 -0
  141. package/js/ElementTarget.interface.js +2 -0
  142. package/js/ElementTarget.interface.js.map +1 -0
  143. package/js/ElementTargetEvent.interface.d.ts +6 -0
  144. package/js/ElementTargetEvent.interface.js +2 -0
  145. package/js/ElementTargetEvent.interface.js.map +1 -0
  146. package/js/Tag.class.js +5 -5
  147. package/js/Tag.class.js.map +1 -1
  148. package/js/Tag.utils.d.ts +3 -2
  149. package/js/Tag.utils.js +4 -1
  150. package/js/Tag.utils.js.map +1 -1
  151. package/js/bindSubjectCallback.function.js +1 -0
  152. package/js/bindSubjectCallback.function.js.map +1 -1
  153. package/js/elementInitCheck.js.map +1 -1
  154. package/js/gateway/gateway.web.component.d.ts +1 -1
  155. package/js/gateway/gateway.web.component.js +1 -1
  156. package/js/gateway/gateway.web.component.js.map +1 -1
  157. package/js/gateway/index.d.ts +1 -1
  158. package/js/gateway/index.js +1 -0
  159. package/js/gateway/index.js.map +1 -1
  160. package/js/gateway/loadTagGateway.function.d.ts +1 -1
  161. package/js/gateway/loadTagGateway.function.js +1 -1
  162. package/js/gateway/loadTagGateway.function.js.map +1 -1
  163. package/js/gateway/tagGateway.function.d.ts +1 -28
  164. package/js/gateway/tagGateway.function.js +1 -139
  165. package/js/gateway/tagGateway.function.js.map +1 -1
  166. package/js/gateway/tagGateway.utils.d.ts +21 -0
  167. package/js/gateway/tagGateway.utils.js +139 -0
  168. package/js/gateway/tagGateway.utils.js.map +1 -0
  169. package/js/getCallback.d.ts +1 -1
  170. package/js/index.d.ts +1 -0
  171. package/js/index.js +1 -0
  172. package/js/index.js.map +1 -1
  173. package/js/interpolateAttributes.js +7 -4
  174. package/js/interpolateAttributes.js.map +1 -1
  175. package/js/processSubjectValue.function.d.ts +8 -1
  176. package/js/processSubjectValue.function.js +12 -5
  177. package/js/processSubjectValue.function.js.map +1 -1
  178. package/js/processTagArray.d.ts +10 -1
  179. package/js/processTagArray.js +9 -3
  180. package/js/processTagArray.js.map +1 -1
  181. package/js/processTagResult.function.d.ts +3 -1
  182. package/js/processTagResult.function.js +14 -10
  183. package/js/processTagResult.function.js.map +1 -1
  184. package/js/state.d.ts +3 -7
  185. package/js/state.js +27 -17
  186. package/js/state.js.map +1 -1
  187. package/js/tagElement.js +5 -2
  188. package/js/tagElement.js.map +1 -1
  189. package/js/updateTag.utils.d.ts +2 -1
  190. package/js/updateTag.utils.js +56 -11
  191. package/js/updateTag.utils.js.map +1 -1
  192. package/package.json +1 -1
  193. /package/{js/js → _js}/Clones.type.d.ts +0 -0
  194. /package/{js/js → _js}/Clones.type.js +0 -0
  195. /package/{js/js → _js}/Clones.type.js.map +0 -0
  196. /package/{js/js → _js}/Props.d.ts +0 -0
  197. /package/{js/js → _js}/Props.js +0 -0
  198. /package/{js/js → _js}/Props.js.map +0 -0
  199. /package/{js/js → _js}/Subject.d.ts +0 -0
  200. /package/{js/js → _js}/Subject.js +0 -0
  201. /package/{js/js → _js}/Subject.js.map +0 -0
  202. /package/{js/js → _js}/Tag.utils.d.ts +0 -0
  203. /package/{js/js → _js}/Tag.utils.js +0 -0
  204. /package/{js/js → _js}/Tag.utils.js.map +0 -0
  205. /package/{js/js → _js}/ValueSubject.d.ts +0 -0
  206. /package/{js/js → _js}/ValueSubject.js +0 -0
  207. /package/{js/js → _js}/ValueSubject.js.map +0 -0
  208. /package/{js/js → _js}/bindSubjectCallback.function.d.ts +0 -0
  209. /package/{js/js → _js}/bindSubjectCallback.function.js +0 -0
  210. /package/{js/js → _js}/bindSubjectCallback.function.js.map +0 -0
  211. /package/{js/js → _js}/deepFunctions.d.ts +0 -0
  212. /package/{js/js → _js}/deepFunctions.js +0 -0
  213. /package/{js/js → _js}/deepFunctions.js.map +0 -0
  214. /package/{js/js → _js}/elementDestroyCheck.function.d.ts +0 -0
  215. /package/{js/js → _js}/elementDestroyCheck.function.js +0 -0
  216. /package/{js/js → _js}/elementDestroyCheck.function.js.map +0 -0
  217. /package/{js/js → _js}/elementInitCheck.d.ts +0 -0
  218. /package/{js/js → _js}/elementInitCheck.js +0 -0
  219. /package/{js/js → _js}/getCallback.js +0 -0
  220. /package/{js/js → _js}/getCallback.js.map +0 -0
  221. /package/{js/js → _js}/html.d.ts +0 -0
  222. /package/{js/js → _js}/html.js +0 -0
  223. /package/{js/js → _js}/html.js.map +0 -0
  224. /package/{js/js → _js}/inputAttribute.d.ts +0 -0
  225. /package/{js/js → _js}/interpolateAttributes.d.ts +0 -0
  226. /package/{js/js → _js}/interpolateTemplate.d.ts +0 -0
  227. /package/{js/js → _js}/interpolateTemplate.js +0 -0
  228. /package/{js/js → _js}/interpolateTemplate.js.map +0 -0
  229. /package/{js/js → _js}/isInstance.d.ts +0 -0
  230. /package/{js/js → _js}/isInstance.js +0 -0
  231. /package/{js/js → _js}/isInstance.js.map +0 -0
  232. /package/{js → _js}/js/Tag.class.d.ts +0 -0
  233. /package/{js → _js}/js/Tag.class.js +0 -0
  234. /package/{js → _js}/js/Tag.class.js.map +0 -0
  235. /package/{js → _js}/js/elementInitCheck.js.map +0 -0
  236. /package/{js → _js}/js/getCallback.d.ts +0 -0
  237. /package/{js → _js}/js/getTagSupport.d.ts +0 -0
  238. /package/{js → _js}/js/getTagSupport.js +0 -0
  239. /package/{js → _js}/js/getTagSupport.js.map +0 -0
  240. /package/{js → _js}/js/index.d.ts +0 -0
  241. /package/{js → _js}/js/index.js +0 -0
  242. /package/{js → _js}/js/index.js.map +0 -0
  243. /package/{js → _js}/js/inputAttribute.js +0 -0
  244. /package/{js → _js}/js/inputAttribute.js.map +0 -0
  245. /package/{js → _js}/js/interpolateAttributes.js +0 -0
  246. /package/{js → _js}/js/interpolateAttributes.js.map +0 -0
  247. /package/{js → _js}/js/interpolateContentTemplates.d.ts +0 -0
  248. /package/{js → _js}/js/interpolateContentTemplates.js +0 -0
  249. /package/{js → _js}/js/interpolateContentTemplates.js.map +0 -0
  250. /package/{js → _js}/js/interpolateElement.d.ts +0 -0
  251. /package/{js → _js}/js/interpolateElement.js +0 -0
  252. /package/{js → _js}/js/interpolateElement.js.map +0 -0
  253. /package/{js → _js}/js/interpolations.d.ts +0 -0
  254. /package/{js → _js}/js/interpolations.js +0 -0
  255. /package/{js → _js}/js/interpolations.js.map +0 -0
  256. /package/{js → _js}/js/onDestroy.d.ts +0 -0
  257. /package/{js → _js}/js/onDestroy.js +0 -0
  258. /package/{js → _js}/js/onDestroy.js.map +0 -0
  259. /package/{js → _js}/js/onInit.d.ts +0 -0
  260. /package/{js → _js}/js/onInit.js +0 -0
  261. /package/{js → _js}/js/onInit.js.map +0 -0
  262. /package/{js → _js}/js/processSubjectComponent.function.d.ts +0 -0
  263. /package/{js → _js}/js/processSubjectComponent.function.js +0 -0
  264. /package/{js → _js}/js/processSubjectComponent.function.js.map +0 -0
  265. /package/{js → _js}/js/processSubjectValue.function.d.ts +0 -0
  266. /package/{js → _js}/js/processSubjectValue.function.js +0 -0
  267. /package/{js → _js}/js/processSubjectValue.function.js.map +0 -0
  268. /package/{js → _js}/js/processTagArray.d.ts +0 -0
  269. /package/{js → _js}/js/processTagArray.js +0 -0
  270. /package/{js → _js}/js/processTagArray.js.map +0 -0
  271. /package/{js → _js}/js/processTagResult.function.d.ts +0 -0
  272. /package/{js → _js}/js/processTagResult.function.js +0 -0
  273. /package/{js → _js}/js/processTagResult.function.js.map +0 -0
  274. /package/{js → _js}/js/providers.d.ts +0 -0
  275. /package/{js → _js}/js/providers.js +0 -0
  276. /package/{js → _js}/js/providers.js.map +0 -0
  277. /package/{js → _js}/js/redrawTag.function.d.ts +0 -0
  278. /package/{js → _js}/js/redrawTag.function.js +0 -0
  279. /package/{js → _js}/js/redrawTag.function.js.map +0 -0
  280. /package/{js → _js}/js/render.d.ts +0 -0
  281. /package/{js → _js}/js/render.js +0 -0
  282. /package/{js → _js}/js/render.js.map +0 -0
  283. /package/{js → _js}/js/renderAppToElement.d.ts +0 -0
  284. /package/{js → _js}/js/renderAppToElement.js +0 -0
  285. /package/{js → _js}/js/renderAppToElement.js.map +0 -0
  286. /package/{js → _js}/js/setUse.function.d.ts +0 -0
  287. /package/{js → _js}/js/setUse.function.js +0 -0
  288. /package/{js → _js}/js/setUse.function.js.map +0 -0
  289. /package/{js → _js}/js/state.d.ts +0 -0
  290. /package/{js → _js}/js/state.js +0 -0
  291. /package/{js → _js}/js/state.js.map +0 -0
  292. /package/{js → _js}/js/tag.d.ts +0 -0
  293. /package/{js → _js}/js/tag.js +0 -0
  294. /package/{js → _js}/js/tag.js.map +0 -0
  295. /package/{js → _js}/js/tagElement.d.ts +0 -0
  296. /package/{js → _js}/js/tagElement.js +0 -0
  297. /package/{js → _js}/js/tagElement.js.map +0 -0
  298. /package/{js → _js}/js/tagGateway.function.d.ts +0 -0
  299. /package/{js → _js}/js/tagGateway.function.js +0 -0
  300. /package/{js → _js}/js/tagGateway.function.js.map +0 -0
  301. /package/{js → _js}/js/tagRunner.d.ts +0 -0
  302. /package/{js → _js}/js/tagRunner.js +0 -0
  303. /package/{js → _js}/js/tagRunner.js.map +0 -0
  304. /package/{js → _js}/js/templater.utils.d.ts +0 -0
  305. /package/{js → _js}/js/templater.utils.js +0 -0
  306. /package/{js → _js}/js/templater.utils.js.map +0 -0
  307. /package/{js → _js}/js/updateTag.utils.d.ts +0 -0
  308. /package/{js → _js}/js/updateTag.utils.js +0 -0
  309. /package/{js → _js}/js/updateTag.utils.js.map +0 -0
  310. /package/{js → _js}/js/wait.d.ts +0 -0
  311. /package/{js → _js}/js/wait.js +0 -0
  312. /package/{js → _js}/js/wait.js.map +0 -0
  313. /package/{js → _js}/wait.d.ts +0 -0
  314. /package/{js → _js}/wait.js +0 -0
  315. /package/{js → _js}/wait.js.map +0 -0
@@ -1,32 +1,4 @@
1
- import { redrawTag } from "../redrawTag.function.js";
2
- import { tagElement } from "../tagElement.js";
3
- import { loadTagGateway } from "./loadTagGateway.function.js";
4
- const gateways = {};
5
- export const gatewayTagIds = {};
6
- export function checkAllGateways() {
7
- Object.entries(gateways).forEach(([id, gateways]) => checkGateways(gateways));
8
- }
9
- export function checkGateways(gateways) {
10
- gateways.forEach(gateway => checkGateway(gateway));
11
- }
12
- function checkGateway(gateway) {
13
- const { element } = gateway;
14
- if (document.body.contains(element)) {
15
- return; // its still good, do not continue to destroy
16
- }
17
- destroyGateway(gateway);
18
- return false;
19
- }
20
- export function destroyGateway(gateway) {
21
- const { id, observer, tag } = gateway;
22
- observer.disconnect();
23
- tag.destroy();
24
- delete gateways[id];
25
- }
26
- export function getTagId(component) {
27
- const componentString = functionToHtmlId(component);
28
- return '__tagTemplate_' + componentString;
29
- }
1
+ import { checkElement, getTagId } from "./tagGateway.utils.js";
30
2
  const namedTimeouts = {};
31
3
  export const tagGateway = function tagGateway(component) {
32
4
  const id = getTagId(component);
@@ -66,84 +38,6 @@ export const tagGateway = function tagGateway(component) {
66
38
  namedTimeouts[id] = { id };
67
39
  return namedTimeouts[id];
68
40
  };
69
- function parsePropsString(element) {
70
- const propsString = element.getAttribute('props');
71
- if (!propsString) {
72
- return { element };
73
- }
74
- try {
75
- const props = JSON.parse(propsString);
76
- // attribute eventProps as output bindings
77
- const eventPropsString = element.getAttribute('events');
78
- if (eventPropsString) {
79
- eventPropsString.split(',').map(x => x.trim()).map((name) => {
80
- props[name] = (value) => dispatchEvent(name, { detail: { [name]: value } });
81
- });
82
- }
83
- const dispatchEvent = function (name, eventData) {
84
- const event = new CustomEvent(name, eventData);
85
- element.dispatchEvent(event);
86
- };
87
- props.dispatchEvent = dispatchEvent;
88
- return props;
89
- }
90
- catch (err) {
91
- console.warn('Failed to parse props on element', { element, propsString });
92
- throw err;
93
- }
94
- }
95
- /** adds to gateways[id].push */
96
- function watchElement(id, targetNode, tag, component) {
97
- let lastTag = tag;
98
- const observer = new MutationObserver(mutationsList => {
99
- if (!checkGateway(gateway)) {
100
- return;
101
- }
102
- for (const mutation of mutationsList) {
103
- if (mutation.type === 'attributes') {
104
- updateTag();
105
- }
106
- }
107
- });
108
- function updateTag() {
109
- const templater = tag.tagSupport.templater;
110
- const oldProps = templater.tagSupport.props;
111
- const newProps = parsePropsString(targetNode);
112
- templater.tagSupport.props = newProps;
113
- const isSameProps = JSON.stringify(oldProps) === JSON.stringify(newProps);
114
- if (isSameProps) {
115
- return; // no reason to update, same props
116
- }
117
- templater.tagSupport.latestProps = newProps;
118
- const result = redrawTag(lastTag, templater);
119
- // update records
120
- gateway.tag = lastTag = result.retag;
121
- }
122
- loadTagGateway(component);
123
- const gateway = {
124
- id, tag, observer, component, element: targetNode, updateTag,
125
- };
126
- gateways[id] = gateways[id] || [];
127
- gateways[id].push(gateway);
128
- targetNode.gateway = gateway;
129
- // Configure the observer to watch for changes in child nodes and attributes
130
- const config = { attributes: true };
131
- // Start observing the target node for specified changes
132
- observer.observe(targetNode, config);
133
- return gateway;
134
- }
135
- function functionToHtmlId(func) {
136
- // Convert function to string
137
- let funcString = func.toString();
138
- // Remove spaces and replace special characters with underscores
139
- let cleanedString = funcString.replace(/\s+/g, '_')
140
- .replace(/[^\w\d]/g, '_');
141
- // Ensure the ID starts with a letter
142
- if (!/^[a-zA-Z]/.test(cleanedString)) {
143
- cleanedString = 'fn_' + cleanedString;
144
- }
145
- return cleanedString;
146
- }
147
41
  function checkTagElementsById(id, component) {
148
42
  const elements = document.querySelectorAll('#' + id);
149
43
  return checkTagElements(id, elements, component);
@@ -152,36 +46,4 @@ function checkTagElements(id, elements, component) {
152
46
  elements.forEach(element => checkElement(id, element, component));
153
47
  return elements;
154
48
  }
155
- export function checkByElement(element) {
156
- const id = element.id || element.getAttribute('id');
157
- if (!id) {
158
- const message = 'Cannot check a tag on element with no id attribute';
159
- console.warn(message, { id, element });
160
- throw new Error(message);
161
- }
162
- const component = gatewayTagIds[id];
163
- if (!component) {
164
- const message = `Cannot find a tag registered by id of ${id}`;
165
- console.warn(message, { id, element });
166
- throw new Error(message);
167
- }
168
- return checkElement(id, element, component);
169
- }
170
- export function checkElement(id, element, component) {
171
- const gateway = element.gateway;
172
- if (gateway) {
173
- gateway.updateTag();
174
- return gateway;
175
- }
176
- const props = parsePropsString(element);
177
- try {
178
- const { tag } = tagElement(component, element, props);
179
- // watch element AND add to gateways[id].push()
180
- return watchElement(id, element, tag, component);
181
- }
182
- catch (err) {
183
- console.warn('Failed to render component to element', { component, element, props });
184
- throw err;
185
- }
186
- }
187
49
  //# sourceMappingURL=tagGateway.function.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"tagGateway.function.js","sourceRoot":"","sources":["../../ts/gateway/tagGateway.function.ts"],"names":[],"mappings":"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"}
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/index.d.ts CHANGED
@@ -1,4 +1,5 @@
1
1
  /** Must use .js and NOT .ts extensions here */
2
+ export * from "./ElementTargetEvent.interface.js";
2
3
  export * from "./html.js";
3
4
  export * from "./Subject.js";
4
5
  export * from "./interpolateElement.js";
package/js/index.js CHANGED
@@ -1,4 +1,5 @@
1
1
  /** Must use .js and NOT .ts extensions here */
2
+ export * from "./ElementTargetEvent.interface.js";
2
3
  export * from "./html.js";
3
4
  export * from "./Subject.js";
4
5
  export * from "./interpolateElement.js";
package/js/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../ts/index.ts"],"names":[],"mappings":"AAAA,+CAA+C;AAE/C,cAAc,WAAW,CAAA;AACzB,cAAc,cAAc,CAAA;AAC5B,cAAc,yBAAyB,CAAA;AACvC,cAAc,oBAAoB,CAAA;AAClC,cAAc,yBAAyB,CAAA;AACvC,cAAc,oBAAoB,CAAA;AAElC,iBAAiB;AACjB,OAAO,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAA;AAChD,OAAO,EAAE,IAAI,EAAE,GAAG,EAAE,MAAM,UAAU,CAAA;AAEpC,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAA;AAC5C,OAAO,EAAE,GAAG,EAAE,MAAM,gBAAgB,CAAA;AACpC,OAAO,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAA;AAChD,OAAO,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAA;AAE7C,WAAW;AACT,iBAAiB;AACjB,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAA;AAC1C,iBAAiB;AACjB,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAA;AAClC,cAAc,aAAa,CAAA;AAC3B,cAAc,gBAAgB,CAAA;AAC9B,cAAc,kBAAkB,CAAA;AAClC,gBAAgB"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../ts/index.ts"],"names":[],"mappings":"AAAA,+CAA+C;AAE/C,cAAc,mCAAmC,CAAA;AAEjD,cAAc,WAAW,CAAA;AACzB,cAAc,cAAc,CAAA;AAC5B,cAAc,yBAAyB,CAAA;AACvC,cAAc,oBAAoB,CAAA;AAClC,cAAc,yBAAyB,CAAA;AACvC,cAAc,oBAAoB,CAAA;AAElC,iBAAiB;AACjB,OAAO,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAA;AAChD,OAAO,EAAE,IAAI,EAAE,GAAG,EAAE,MAAM,UAAU,CAAA;AAEpC,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAA;AAC5C,OAAO,EAAE,GAAG,EAAE,MAAM,gBAAgB,CAAA;AACpC,OAAO,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAA;AAChD,OAAO,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAA;AAE7C,WAAW;AACT,iBAAiB;AACjB,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAA;AAC1C,iBAAiB;AACjB,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAA;AAClC,cAAc,aAAa,CAAA;AAC3B,cAAc,gBAAgB,CAAA;AAC9B,cAAc,kBAAkB,CAAA;AAClC,gBAAgB"}
@@ -79,7 +79,7 @@ function getContextValueByVarString(scope, value) {
79
79
  }
80
80
  function processNameValueAttr(attrName, result, child, ownerTag, howToSet) {
81
81
  const isSpecial = isSpecialAttr(attrName);
82
- // attach as callback
82
+ // attach as callback?
83
83
  if (result instanceof Function) {
84
84
  const action = function (...args) {
85
85
  return result(child, args);
@@ -87,12 +87,14 @@ function processNameValueAttr(attrName, result, child, ownerTag, howToSet) {
87
87
  child[attrName].action = action;
88
88
  // child.addEventListener(attrName, action)
89
89
  }
90
+ // Most every variable comes in here since everything is made a ValueSubject
90
91
  if (isSubjectInstance(result)) {
91
92
  child.removeAttribute(attrName);
92
93
  const callback = (newAttrValue) => processSubjectValue(newAttrValue, child, attrName, isSpecial, howToSet);
93
- // the above callback gets called immediately since its a ValueSubject()
94
+ // 🗞️ Subscribe. Above callback called immediately since its a ValueSubject()
94
95
  const sub = result.subscribe(callback);
95
- ownerTag.cloneSubs.push(sub); // this is where unsubscribe is picked up
96
+ // Record subscription for later unsubscribe when element destroyed
97
+ ownerTag.cloneSubs.push(sub);
96
98
  return;
97
99
  }
98
100
  howToSet(attrName, result);
@@ -103,7 +105,8 @@ function processSubjectValue(newAttrValue, child, attrName, isSpecial, howToSet)
103
105
  if (newAttrValue instanceof Function) {
104
106
  ;
105
107
  child[attrName] = function (...args) {
106
- return newAttrValue(child, args);
108
+ const result = newAttrValue(child, args);
109
+ return result;
107
110
  };
108
111
  child[attrName].tagFunction = newAttrValue;
109
112
  return;
@@ -1 +1 @@
1
- {"version":3,"file":"interpolateAttributes.js","sourceRoot":"","sources":["../ts/interpolateAttributes.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"interpolateAttributes.js","sourceRoot":"","sources":["../ts/interpolateAttributes.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,9 @@
1
+ import { TagArraySubject } from "./processTagArray.js";
1
2
  import { Clones } from "./Clones.type.js";
2
3
  import { Tag } from "./Tag.class.js";
3
4
  import { Counts, Template } from "./interpolateTemplate.js";
5
+ import { TagSubject } from "./Tag.utils.js";
6
+ export declare function isTagArray(value: any): boolean;
4
7
  type processOptions = {
5
8
  forceElement?: boolean;
6
9
  counts: Counts;
@@ -9,8 +12,12 @@ export type ClonesAndPromise = {
9
12
  clones: Clones;
10
13
  promise?: Promise<any>;
11
14
  };
12
- export declare function processSubjectValue(value: any, result: any, // could be tag via result.tag
15
+ export declare function processSubjectValue(value: any, result: TagArraySubject | TagSubject, // could be tag via result.tag
13
16
  template: Template, // <template end interpolate /> (will be removed)
14
17
  tag: Tag, // owner
15
18
  options: processOptions): ClonesAndPromise;
19
+ export declare function processTag(value: any, result: TagSubject | TagArraySubject, // could be tag via result.tag
20
+ template: Template, // <template end interpolate /> (will be removed)
21
+ tag: Tag, // owner
22
+ options: processOptions): Clones;
16
23
  export {};
@@ -18,24 +18,28 @@ function getValueType(value) {
18
18
  if (isTagInstance(value)) {
19
19
  return ValueTypes.tag;
20
20
  }
21
- if (value instanceof Array && value.every(x => isTagInstance(x))) {
21
+ if (isTagArray(value)) {
22
22
  return ValueTypes.tagArray;
23
23
  }
24
24
  return ValueTypes.value;
25
25
  }
26
+ export function isTagArray(value) {
27
+ return value instanceof Array && value.every(x => isTagInstance(x));
28
+ }
26
29
  export function processSubjectValue(value, result, // could be tag via result.tag
27
30
  template, // <template end interpolate /> (will be removed)
28
31
  tag, // owner
29
32
  options) {
30
33
  const valueType = getValueType(value);
31
34
  // Previously was simple value, now its a tag of some sort
32
- if (valueType !== ValueTypes.value && result.clone) {
33
- const clone = result.clone;
35
+ const resultTag = result;
36
+ const clone = resultTag.clone;
37
+ if (valueType !== ValueTypes.value && clone) {
34
38
  const parent = clone.parentNode;
35
39
  template.removeAttribute('removedAt');
36
40
  parent.insertBefore(template, clone);
37
41
  parent.removeChild(clone);
38
- delete result.clone;
42
+ delete resultTag.clone;
39
43
  // result.clone = template
40
44
  }
41
45
  switch (valueType) {
@@ -81,7 +85,7 @@ tag) {
81
85
  }
82
86
  return clones;
83
87
  }
84
- function processTag(value, result, // could be tag via result.tag
88
+ export function processTag(value, result, // could be tag via result.tag
85
89
  template, // <template end interpolate /> (will be removed)
86
90
  tag, // owner
87
91
  options) {
@@ -93,7 +97,10 @@ options) {
93
97
  value.tagSupport.oldest = value.tagSupport.oldest || value;
94
98
  tag.children.push(value);
95
99
  value.ownerTag = tag;
100
+ result.sideTag = tag;
96
101
  }
102
+ // (result as any).template = template
103
+ result.template = template;
97
104
  const clones = processTagResult(value, result, // Function will attach result.tag
98
105
  template, options);
99
106
  return clones;
@@ -1 +1 @@
1
- {"version":3,"file":"processSubjectValue.function.js","sourceRoot":"","sources":["../ts/processSubjectValue.function.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"processSubjectValue.function.js","sourceRoot":"","sources":["../ts/processSubjectValue.function.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,16 @@
1
1
  import { Clones } from "./Clones.type.js";
2
2
  import { Tag } from "./Tag.class.js";
3
+ import { ValueSubject } from "./ValueSubject.js";
3
4
  import { Counts } from "./interpolateTemplate.js";
4
- export declare function processTagArray(result: any, value: Tag[], // arry of Tag classes
5
+ export type LastArrayItem = {
6
+ tag: Tag;
7
+ index: number;
8
+ };
9
+ export type TagArraySubject = ValueSubject<Tag[]> & {
10
+ lastArray: LastArrayItem[];
11
+ template: Element;
12
+ };
13
+ export declare function processTagArray(result: TagArraySubject, value: Tag[], // arry of Tag classes
5
14
  template: Element, // <template end interpolate />
6
15
  ownerTag: Tag, options: {
7
16
  counts: Counts;
@@ -5,13 +5,17 @@ template, // <template end interpolate />
5
5
  ownerTag, options) {
6
6
  const clones = [];
7
7
  result.lastArray = result.lastArray || []; // {tag, index}[] populated in processTagResult
8
+ result.template = template;
8
9
  let removed = 0;
9
10
  /** 🗑️ remove previous items first */
10
11
  result.lastArray = result.lastArray.filter((item, index) => {
11
- const lessLength = value.length - 1 < index - removed;
12
+ const newLength = value.length - 1;
13
+ const at = index - removed;
14
+ const lessLength = newLength < at;
12
15
  const subTag = value[index - removed];
13
16
  const subArrayValue = subTag?.arrayValue;
14
- if (lessLength || subArrayValue !== item.tag.arrayValue) {
17
+ const destroyItem = lessLength || subArrayValue !== item.tag.arrayValue;
18
+ if (destroyItem) {
15
19
  const last = result.lastArray[index];
16
20
  const tag = last.tag;
17
21
  tag.destroy({
@@ -34,6 +38,7 @@ ownerTag, options) {
34
38
  }; // fake having a render function
35
39
  subTag.ownerTag = ownerTag;
36
40
  ownerTag.children.push(subTag);
41
+ // check for html``.key()
37
42
  if (subTag.arrayValue === undefined) {
38
43
  // appears arrayValue is not there but maybe arrayValue is actually the value of undefined
39
44
  if (!Object.keys(subTag).includes('arrayValue')) {
@@ -44,7 +49,8 @@ ownerTag, options) {
44
49
  }
45
50
  const previous = result.lastArray[index];
46
51
  if (previous) {
47
- if (previous.tag.arrayValue === subTag.arrayValue) {
52
+ const isSame = previous.tag.arrayValue === subTag.arrayValue;
53
+ if (isSame) {
48
54
  previous.tag.updateValues(subTag.values);
49
55
  }
50
56
  return [];
@@ -1 +1 @@
1
- {"version":3,"file":"processTagArray.js","sourceRoot":"","sources":["../ts/processTagArray.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"processTagArray.js","sourceRoot":"","sources":["../ts/processTagArray.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,9 @@
1
1
  import { Tag } from "./Tag.class.js";
2
2
  import { Clones } from "./Clones.type.js";
3
3
  import { Counts } from "./interpolateTemplate.js";
4
- export declare function processTagResult(tag: Tag, result: any, // used for recording past and current value
4
+ import { TagArraySubject } from "./processTagArray.js";
5
+ import { TagSubject } from "./Tag.utils.js";
6
+ export declare function processTagResult(tag: Tag, result: TagArraySubject | TagSubject | Function, // used for recording past and current value
5
7
  insertBefore: Element, // <template end interpolate />
6
8
  { index, counts, forceElement, }: {
7
9
  index?: number;