taggedjs 2.5.22 → 2.5.24

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 (245) hide show
  1. package/bundle.js +1 -1
  2. package/bundle.js.gz +0 -0
  3. package/bundle.js.map +1 -1
  4. package/bundle.js.map.gz +0 -0
  5. package/js/alterProp.function.d.ts +7 -7
  6. package/js/alterProp.function.js +78 -43
  7. package/js/alterProp.function.js.map +1 -1
  8. package/js/buildClones.function.d.ts +2 -0
  9. package/js/buildClones.function.js +12 -0
  10. package/js/buildClones.function.js.map +1 -0
  11. package/js/deepFunctions.js +40 -18
  12. package/js/deepFunctions.js.map +1 -1
  13. package/js/index.d.ts +4 -5
  14. package/js/index.js +4 -5
  15. package/js/index.js.map +1 -1
  16. package/js/interpolations/afterInterpolateElement.function.d.ts +3 -3
  17. package/js/interpolations/afterInterpolateElement.function.js +6 -5
  18. package/js/interpolations/afterInterpolateElement.function.js.map +1 -1
  19. package/js/interpolations/bindSubjectCallback.function.d.ts +9 -3
  20. package/js/interpolations/bindSubjectCallback.function.js +76 -35
  21. package/js/interpolations/bindSubjectCallback.function.js.map +1 -1
  22. package/js/interpolations/interpolateAttributes.d.ts +3 -2
  23. package/js/interpolations/interpolateAttributes.js +6 -10
  24. package/js/interpolations/interpolateAttributes.js.map +1 -1
  25. package/js/interpolations/interpolateContentTemplates.d.ts +3 -7
  26. package/js/interpolations/interpolateContentTemplates.js +16 -12
  27. package/js/interpolations/interpolateContentTemplates.js.map +1 -1
  28. package/js/interpolations/interpolateElement.d.ts +4 -6
  29. package/js/interpolations/interpolateElement.js +4 -13
  30. package/js/interpolations/interpolateElement.js.map +1 -1
  31. package/js/interpolations/interpolateTemplate.d.ts +8 -11
  32. package/js/interpolations/interpolateTemplate.js +0 -66
  33. package/js/interpolations/interpolateTemplate.js.map +1 -1
  34. package/js/interpolations/interpolations.d.ts +0 -3
  35. package/js/interpolations/interpolations.js +1 -17
  36. package/js/interpolations/interpolations.js.map +1 -1
  37. package/js/interpolations/optimizers/ObjectNode.types.d.ts +31 -0
  38. package/js/interpolations/optimizers/ObjectNode.types.js +2 -0
  39. package/js/interpolations/optimizers/ObjectNode.types.js.map +1 -0
  40. package/js/interpolations/optimizers/htmlInterpolationToDomMeta.function.d.ts +4 -0
  41. package/js/interpolations/optimizers/htmlInterpolationToDomMeta.function.js +136 -0
  42. package/js/interpolations/optimizers/htmlInterpolationToDomMeta.function.js.map +1 -0
  43. package/js/interpolations/optimizers/metaAttachDomElements.function.d.ts +6 -0
  44. package/js/interpolations/optimizers/metaAttachDomElements.function.js +43 -0
  45. package/js/interpolations/optimizers/metaAttachDomElements.function.js.map +1 -0
  46. package/js/interpolations/optimizers/replacePlaceholders.function.d.ts +2 -0
  47. package/js/interpolations/optimizers/replacePlaceholders.function.js +92 -0
  48. package/js/interpolations/optimizers/replacePlaceholders.function.js.map +1 -0
  49. package/js/interpolations/optimizers/restorePlaceholders.function.d.ts +3 -0
  50. package/js/interpolations/optimizers/restorePlaceholders.function.js +39 -0
  51. package/js/interpolations/optimizers/restorePlaceholders.function.js.map +1 -0
  52. package/js/interpolations/processAttribute.function.d.ts +8 -3
  53. package/js/interpolations/processAttribute.function.js +42 -45
  54. package/js/interpolations/processAttribute.function.js.map +1 -1
  55. package/js/interpolations/scanTextAreaValue.function.d.ts +2 -2
  56. package/js/interpolations/scanTextAreaValue.function.js +11 -6
  57. package/js/interpolations/scanTextAreaValue.function.js.map +1 -1
  58. package/js/interpolations/specialAttribute.js +4 -2
  59. package/js/interpolations/specialAttribute.js.map +1 -1
  60. package/js/interpolations/subscribeToTemplate.function.d.ts +5 -0
  61. package/js/interpolations/subscribeToTemplate.function.js +28 -0
  62. package/js/interpolations/subscribeToTemplate.function.js.map +1 -0
  63. package/js/isInstance.d.ts +2 -2
  64. package/js/isInstance.js +9 -3
  65. package/js/isInstance.js.map +1 -1
  66. package/js/render.js +17 -4
  67. package/js/render.js.map +1 -1
  68. package/js/state/callbackMaker.function.js +13 -14
  69. package/js/state/callbackMaker.function.js.map +1 -1
  70. package/js/state/callbackStateUpdate.function.d.ts +2 -2
  71. package/js/state/callbackStateUpdate.function.js +5 -5
  72. package/js/state/callbackStateUpdate.function.js.map +1 -1
  73. package/js/state/children.js +5 -5
  74. package/js/state/children.js.map +1 -1
  75. package/js/state/handleProviderChanges.function.d.ts +2 -2
  76. package/js/state/handleProviderChanges.function.js +13 -10
  77. package/js/state/handleProviderChanges.function.js.map +1 -1
  78. package/js/state/onDestroy.js +2 -2
  79. package/js/state/onDestroy.js.map +1 -1
  80. package/js/state/providers.d.ts +3 -3
  81. package/js/state/providers.js +11 -11
  82. package/js/state/providers.js.map +1 -1
  83. package/js/state/providersChangeCheck.function.d.ts +2 -2
  84. package/js/state/providersChangeCheck.function.js +7 -3
  85. package/js/state/providersChangeCheck.function.js.map +1 -1
  86. package/js/state/setUse.function.d.ts +10 -10
  87. package/js/state/state.function.js +3 -3
  88. package/js/state/state.function.js.map +1 -1
  89. package/js/state/state.utils.d.ts +2 -2
  90. package/js/state/state.utils.js +15 -16
  91. package/js/state/state.utils.js.map +1 -1
  92. package/js/state/subject.function.js +6 -6
  93. package/js/state/subject.function.js.map +1 -1
  94. package/js/state/watch.function.js +3 -3
  95. package/js/state/watch.function.js.map +1 -1
  96. package/js/subject/Subject.class.d.ts +2 -2
  97. package/js/subject/Subject.class.js +5 -11
  98. package/js/subject/Subject.class.js.map +1 -1
  99. package/js/subject/ValueSubject.d.ts +1 -1
  100. package/js/subject/combineLatest.function.js +3 -1
  101. package/js/subject/combineLatest.function.js.map +1 -1
  102. package/js/subject/subject.utils.js +15 -13
  103. package/js/subject/subject.utils.js.map +1 -1
  104. package/js/subject/will.functions.js.map +1 -1
  105. package/js/subject.types.d.ts +6 -10
  106. package/js/tag/Support.class.d.ts +69 -0
  107. package/js/tag/Support.class.js +290 -0
  108. package/js/tag/Support.class.js.map +1 -0
  109. package/js/tag/Tag.class.d.ts +30 -18
  110. package/js/tag/Tag.class.js +36 -8
  111. package/js/tag/Tag.class.js.map +1 -1
  112. package/js/tag/TagSupport.class.d.ts +1 -1
  113. package/js/tag/TagSupport.class.js +23 -27
  114. package/js/tag/TagSupport.class.js.map +1 -1
  115. package/js/tag/TemplaterResult.class.d.ts +17 -9
  116. package/js/tag/TemplaterResult.class.js +12 -2
  117. package/js/tag/TemplaterResult.class.js.map +1 -1
  118. package/js/tag/ValueTypes.enum.d.ts +7 -1
  119. package/js/tag/ValueTypes.enum.js +6 -0
  120. package/js/tag/ValueTypes.enum.js.map +1 -1
  121. package/js/tag/checkDestroyPrevious.function.d.ts +3 -5
  122. package/js/tag/checkDestroyPrevious.function.js +16 -38
  123. package/js/tag/checkDestroyPrevious.function.js.map +1 -1
  124. package/js/tag/cloneValueArray.function.d.ts +1 -0
  125. package/js/tag/cloneValueArray.function.js +16 -14
  126. package/js/tag/cloneValueArray.function.js.map +1 -1
  127. package/js/tag/destroy.support.d.ts +2 -2
  128. package/js/tag/destroy.support.js +1 -2
  129. package/js/tag/destroy.support.js.map +1 -1
  130. package/js/tag/destroyTag.function.d.ts +2 -2
  131. package/js/tag/destroyTag.function.js +4 -3
  132. package/js/tag/destroyTag.function.js.map +1 -1
  133. package/js/tag/domMetaCollector.d.ts +3 -0
  134. package/js/tag/domMetaCollector.js +26 -0
  135. package/js/tag/domMetaCollector.js.map +1 -0
  136. package/js/tag/getStringsId.function.d.ts +1 -0
  137. package/js/tag/getStringsId.function.js +7 -0
  138. package/js/tag/getStringsId.function.js.map +1 -0
  139. package/js/tag/getSupportInCycle.function.d.ts +1 -1
  140. package/js/tag/getSupportInCycle.function.js +1 -1
  141. package/js/tag/getSupportInCycle.function.js.map +1 -1
  142. package/js/tag/getTagWrap.function.js +66 -57
  143. package/js/tag/getTagWrap.function.js.map +1 -1
  144. package/js/tag/getValueType.function.js +15 -10
  145. package/js/tag/getValueType.function.js.map +1 -1
  146. package/js/tag/hasPropChanges.function.d.ts +1 -1
  147. package/js/tag/hasPropChanges.function.js +8 -11
  148. package/js/tag/hasPropChanges.function.js.map +1 -1
  149. package/js/tag/hasSupportChanged.function.d.ts +4 -0
  150. package/js/tag/hasSupportChanged.function.js +27 -0
  151. package/js/tag/hasSupportChanged.function.js.map +1 -0
  152. package/js/tag/hasTagSupportChanged.function.js +15 -2
  153. package/js/tag/hasTagSupportChanged.function.js.map +1 -1
  154. package/js/tag/html.d.ts +5 -1
  155. package/js/tag/html.js +4 -1
  156. package/js/tag/html.js.map +1 -1
  157. package/js/tag/index.d.ts +3 -1
  158. package/js/tag/index.js +3 -1
  159. package/js/tag/index.js.map +1 -1
  160. package/js/tag/isLastRunMatched.function.d.ts +2 -0
  161. package/js/tag/isLastRunMatched.function.js +14 -0
  162. package/js/tag/isLastRunMatched.function.js.map +1 -0
  163. package/js/tag/isLikeTags.function.d.ts +3 -3
  164. package/js/tag/isLikeTags.function.js +43 -9
  165. package/js/tag/isLikeTags.function.js.map +1 -1
  166. package/js/tag/kidsToTagArraySubject.function.d.ts +2 -2
  167. package/js/tag/kidsToTagArraySubject.function.js +1 -1
  168. package/js/tag/kidsToTagArraySubject.function.js.map +1 -1
  169. package/js/tag/render/destroyUnlikeTags.function.d.ts +3 -3
  170. package/js/tag/render/destroyUnlikeTags.function.js +2 -12
  171. package/js/tag/render/destroyUnlikeTags.function.js.map +1 -1
  172. package/js/tag/render/renderExistingTag.function.d.ts +5 -5
  173. package/js/tag/render/renderExistingTag.function.js +9 -6
  174. package/js/tag/render/renderExistingTag.function.js.map +1 -1
  175. package/js/tag/render/renderSubjectComponent.function.d.ts +2 -2
  176. package/js/tag/render/renderSubjectComponent.function.js +7 -5
  177. package/js/tag/render/renderSubjectComponent.function.js.map +1 -1
  178. package/js/tag/render/renderSupport.function.d.ts +4 -0
  179. package/js/tag/render/renderSupport.function.js +43 -0
  180. package/js/tag/render/renderSupport.function.js.map +1 -0
  181. package/js/tag/render/renderTagOnly.function.d.ts +2 -2
  182. package/js/tag/render/renderTagOnly.function.js +19 -20
  183. package/js/tag/render/renderTagOnly.function.js.map +1 -1
  184. package/js/tag/render/renderWithSupport.function.d.ts +3 -3
  185. package/js/tag/render/renderWithSupport.function.js +38 -5
  186. package/js/tag/render/renderWithSupport.function.js.map +1 -1
  187. package/js/tag/render/softDestroySupport.function.d.ts +2 -2
  188. package/js/tag/render/softDestroySupport.function.js +11 -8
  189. package/js/tag/render/softDestroySupport.function.js.map +1 -1
  190. package/js/tag/setTagPlaceholder.function.js +2 -1
  191. package/js/tag/setTagPlaceholder.function.js.map +1 -1
  192. package/js/tag/tag.d.ts +2 -2
  193. package/js/tag/tag.js +1 -0
  194. package/js/tag/tag.js.map +1 -1
  195. package/js/tag/tag.types.d.ts +4 -4
  196. package/js/tag/tag.utils.d.ts +10 -7
  197. package/js/tag/tag.utils.js.map +1 -1
  198. package/js/tag/tagElement.d.ts +3 -3
  199. package/js/tag/tagElement.js +36 -31
  200. package/js/tag/tagElement.js.map +1 -1
  201. package/js/tag/tagRunner.d.ts +5 -5
  202. package/js/tag/tagRunner.js +15 -15
  203. package/js/tag/tagRunner.js.map +1 -1
  204. package/js/tag/textNode.d.ts +4 -0
  205. package/js/tag/textNode.js +9 -0
  206. package/js/tag/textNode.js.map +1 -0
  207. package/js/tag/update/TagJsSubject.class.d.ts +8 -0
  208. package/js/tag/update/TagJsSubject.class.js +23 -0
  209. package/js/tag/update/TagJsSubject.class.js.map +1 -0
  210. package/js/tag/update/oneRenderToSupport.function.d.ts +4 -0
  211. package/js/tag/update/oneRenderToSupport.function.js +19 -0
  212. package/js/tag/update/oneRenderToSupport.function.js.map +1 -0
  213. package/js/tag/update/processFirstSubject.utils.d.ts +5 -4
  214. package/js/tag/update/processFirstSubjectValue.function.d.ts +4 -3
  215. package/js/tag/update/processFirstSubjectValue.function.js +12 -10
  216. package/js/tag/update/processFirstSubjectValue.function.js.map +1 -1
  217. package/js/tag/update/processNewValue.function.d.ts +3 -2
  218. package/js/tag/update/processNewValue.function.js +11 -8
  219. package/js/tag/update/processNewValue.function.js.map +1 -1
  220. package/js/tag/update/processRegularValue.function.js +5 -5
  221. package/js/tag/update/processRegularValue.function.js.map +1 -1
  222. package/js/tag/update/processSubjectComponent.function.d.ts +3 -3
  223. package/js/tag/update/processSubjectComponent.function.js +13 -11
  224. package/js/tag/update/processSubjectComponent.function.js.map +1 -1
  225. package/js/tag/update/processTag.function.d.ts +10 -9
  226. package/js/tag/update/processTag.function.js +30 -23
  227. package/js/tag/update/processTag.function.js.map +1 -1
  228. package/js/tag/update/processTagArray.d.ts +15 -9
  229. package/js/tag/update/processTagArray.js +56 -52
  230. package/js/tag/update/processTagArray.js.map +1 -1
  231. package/js/tag/update/processTagResult.function.d.ts +4 -6
  232. package/js/tag/update/processTagResult.function.js +22 -16
  233. package/js/tag/update/processTagResult.function.js.map +1 -1
  234. package/js/tag/update/updateContextItem.function.d.ts +1 -1
  235. package/js/tag/update/updateContextItem.function.js +4 -3
  236. package/js/tag/update/updateContextItem.function.js.map +1 -1
  237. package/js/tag/update/updateExistingTagComponent.function.d.ts +7 -4
  238. package/js/tag/update/updateExistingTagComponent.function.js +78 -86
  239. package/js/tag/update/updateExistingTagComponent.function.js.map +1 -1
  240. package/js/tag/update/updateExistingValue.function.d.ts +3 -2
  241. package/js/tag/update/updateExistingValue.function.js +35 -45
  242. package/js/tag/update/updateExistingValue.function.js.map +1 -1
  243. package/js/updateBeforeTemplate.function.js +2 -1
  244. package/js/updateBeforeTemplate.function.js.map +1 -1
  245. package/package.json +1 -1
package/bundle.js.map.gz CHANGED
Binary file
@@ -1,10 +1,10 @@
1
- import { BaseTagSupport, TagSupport } from './tag/TagSupport.class.js';
1
+ import { BaseSupport, Support } from './tag/Support.class.js';
2
2
  import { State } from './state/index.js';
3
3
  import { Props } from './Props.js';
4
- export declare function castProps(props: Props, newTagSupport: BaseTagSupport | TagSupport, stateArray: State): any[];
5
- export declare function alterProp(prop: unknown, ownerSupport: BaseTagSupport | TagSupport, stateArray: State, newTagSupport: BaseTagSupport | TagSupport): any;
6
- export declare function checkProp(value: any, ownerSupport: BaseTagSupport | TagSupport, stateArray: State, newTagSupport: BaseTagSupport | TagSupport, index?: string | number, newProp?: any, seen?: any[]): any;
7
- export declare function getPropWrap(value: any, ownerSupport: BaseTagSupport | TagSupport, stateArray: State, newTagSupport: BaseTagSupport | TagSupport, name?: string | number, newProp?: any): any;
4
+ export declare function castProps(props: Props, newSupport: BaseSupport | Support, stateArray: State, depth: number): any[];
5
+ export declare function alterProp(prop: unknown, ownerSupport: BaseSupport | Support, stateArray: State, newSupport: BaseSupport | Support, depth: number): any;
6
+ export declare function checkProp(value: any, ownerSupport: BaseSupport | Support, stateArray: State, newSupport: BaseSupport | Support, depth: number, index?: string | number, newProp?: any): any;
7
+ export declare function getPropWrap(value: any, ownerSupport: BaseSupport | Support, stateArray: State): any;
8
8
  /** Function shared by alterProps() and updateExistingTagComponent... TODO: May want to have to functions to reduce cycle checking? */
9
- export declare function callbackPropOwner(toCall: Function, callWith: any, ownerSupport: BaseTagSupport | TagSupport, // <-- WHEN called from alterProp its owner OTHERWISE its previous
10
- oldState: State): any;
9
+ export declare function callbackPropOwner(toCall: Function, callWith: any, ownerSupport: BaseSupport | Support): any;
10
+ export declare function isSkipPropValue(value: unknown): boolean;
@@ -1,49 +1,60 @@
1
- import { deepClone, deepEqual } from './deepFunctions.js';
1
+ import { deepEqual } from './deepFunctions.js';
2
2
  import { isStaticTag } from './isInstance.js';
3
- import { renderTagSupport } from './tag/render/renderTagSupport.function.js';
3
+ import { renderSupport } from './tag/render/renderSupport.function.js';
4
4
  import { setUse } from './state/index.js';
5
5
  import { getSupportInCycle } from './tag/getSupportInCycle.function.js';
6
- export function castProps(props, newTagSupport, stateArray) {
7
- return props.map(prop => alterProp(prop, newTagSupport.ownerTagSupport, stateArray, newTagSupport));
6
+ import { runBlocked } from './interpolations/bindSubjectCallback.function.js';
7
+ import { cloneTagJsValue } from './tag/cloneValueArray.function.js';
8
+ export function castProps(props, newSupport, stateArray, depth) {
9
+ return props.map(prop => alterProp(prop, newSupport.ownerSupport, stateArray, newSupport, depth));
8
10
  }
9
11
  /* Used to rewrite props that are functions. When they are called it should cause parent rendering */
10
- export function alterProp(prop, ownerSupport, stateArray, newTagSupport) {
12
+ export function alterProp(prop, ownerSupport, stateArray, newSupport, depth) {
11
13
  if (isStaticTag(prop) || !prop) {
12
14
  return prop;
13
15
  }
14
16
  if (!ownerSupport) {
15
17
  return prop; // no one above me
16
18
  }
17
- return checkProp(prop, ownerSupport, stateArray, newTagSupport);
19
+ return checkProp(prop, ownerSupport, stateArray, newSupport, depth);
18
20
  }
19
- export function checkProp(value, ownerSupport, stateArray, newTagSupport, index, newProp, seen = []) {
21
+ export function checkProp(value, ownerSupport, stateArray, newSupport, depth, index, newProp) {
20
22
  if (value instanceof Function) {
21
- return getPropWrap(value, ownerSupport, stateArray, newTagSupport, index, newProp);
23
+ return getPropWrap(value, ownerSupport, stateArray);
22
24
  }
23
- if (seen.includes(value)) {
25
+ // if(seen.includes(value)) {
26
+ if (depth === 15) {
24
27
  return value;
25
28
  }
26
- seen.push(value);
27
- if (typeof (value) !== 'object' || !value) {
29
+ // seen.push(value)
30
+ const skip = isSkipPropValue(value);
31
+ if (skip) {
28
32
  return value; // no children to crawl through
29
33
  }
30
34
  if (value instanceof Array) {
31
35
  for (let index = value.length - 1; index >= 0; --index) {
32
36
  const subValue = value[index];
33
- value[index] = checkProp(subValue, ownerSupport, stateArray, newTagSupport, index, value, seen);
37
+ value[index] = checkProp(subValue, ownerSupport, stateArray, newSupport, depth + 1, index, value);
34
38
  if (subValue instanceof Function) {
35
39
  if (subValue.toCall) {
36
40
  continue;
37
41
  }
38
- afterCheckProp(index, subValue, value, newTagSupport);
42
+ afterCheckProp(depth + 1, index, subValue, value, newSupport);
39
43
  }
40
44
  }
41
45
  return value;
42
46
  }
43
- for (const name in value) {
47
+ // for(const name in value){
48
+ // ??? new we want below
49
+ const keys = Object.keys(value);
50
+ for (const name of keys) {
44
51
  const subValue = value[name];
45
- const result = checkProp(subValue, ownerSupport, stateArray, newTagSupport, name, value, seen);
46
- const hasSetter = Object.getOwnPropertyDescriptor(value, name)?.set;
52
+ const result = checkProp(subValue, ownerSupport, stateArray, newSupport, depth + 1, name, value);
53
+ if (value[name] === result) {
54
+ continue; // ??? new
55
+ }
56
+ const getset = Object.getOwnPropertyDescriptor(value, name);
57
+ const hasSetter = getset?.get || getset?.set;
47
58
  if (hasSetter) {
48
59
  continue;
49
60
  }
@@ -52,19 +63,25 @@ export function checkProp(value, ownerSupport, stateArray, newTagSupport, index,
52
63
  if (subValue.toCall) {
53
64
  continue;
54
65
  }
55
- afterCheckProp(name, subValue, value, newTagSupport);
66
+ afterCheckProp(depth + 1, name, subValue, value, newSupport);
56
67
  }
57
68
  }
58
69
  return value;
59
70
  }
60
- function afterCheckProp(index, pastValue, newProp, newTagSupport) {
61
- if (pastValue?.toCall) {
71
+ function afterCheckProp(depth, index, originalValue, newProp, newSupport) {
72
+ if (originalValue?.toCall) {
73
+ throw new Error('meg');
62
74
  return; // already been done
63
75
  }
64
76
  // restore object to have original function on destroy
65
- newTagSupport.global.destroy$.toCallback(() => newProp[index] = pastValue);
77
+ if (depth > 0) {
78
+ const global = newSupport.subject.global;
79
+ newProp[index].subscription = global.destroy$.toCallback(() => {
80
+ newProp[index] = originalValue;
81
+ });
82
+ }
66
83
  }
67
- export function getPropWrap(value, ownerSupport, stateArray, newTagSupport, name, newProp) {
84
+ export function getPropWrap(value, ownerSupport, stateArray) {
68
85
  const toCall = value.toCall;
69
86
  // already previously converted by a parent?
70
87
  if (toCall) {
@@ -73,50 +90,68 @@ export function getPropWrap(value, ownerSupport, stateArray, newTagSupport, name
73
90
  const wrap = (...args) => wrap.toCall(...args); // what gets called can switch over parent state changes
74
91
  // Currently, call self but over parent state changes, I may need to call a newer parent tag owner
75
92
  wrap.toCall = (...args) => {
76
- return callbackPropOwner(wrap.prop, args, ownerSupport, wrap.stateArray);
93
+ return callbackPropOwner(wrap.mem.prop, args, ownerSupport);
77
94
  };
78
95
  wrap.original = value;
79
- wrap.prop = value;
80
- wrap.stateArray = stateArray;
96
+ wrap.mem = {
97
+ prop: value,
98
+ // stateArray: stateArray
99
+ };
81
100
  // copy data properties that maybe on source function
82
101
  Object.assign(wrap, value);
83
102
  return wrap;
84
103
  }
85
104
  /** Function shared by alterProps() and updateExistingTagComponent... TODO: May want to have to functions to reduce cycle checking? */
86
- export function callbackPropOwner(toCall, callWith, ownerSupport, // <-- WHEN called from alterProp its owner OTHERWISE its previous
87
- oldState) {
88
- const newest = ownerSupport.global.newest;
89
- //const newState = newest.memory.state
90
- const noCycle = getSupportInCycle() === undefined;
91
- //const sync = noCycle && oldState.length === newState.length
92
- //if(sync) {
93
- // syncStates(newState, oldState)
94
- //}
95
- const result = toCall(...callWith);
96
- // if(sync) {
97
- // syncStates(oldState, newState)
98
- // }
105
+ export function callbackPropOwner(toCall, callWith, ownerSupport) {
106
+ const global = ownerSupport.subject.global;
107
+ const newest = global.newest;
108
+ const supportInCycle = getSupportInCycle();
109
+ const noCycle = supportInCycle === undefined;
110
+ if (supportInCycle) {
111
+ supportInCycle.subject.global.locked = true;
112
+ }
113
+ const callbackResult = toCall(...callWith);
114
+ if (supportInCycle) {
115
+ const blocked = supportInCycle?.subject.global.blocked;
116
+ if (supportInCycle && blocked?.length) {
117
+ setUse.memory.tagClosed$.toCallback(() => {
118
+ let lastResult = supportInCycle;
119
+ // throw new Error('cycles ready')
120
+ // syncStates(supportInCycle.state, (supportInCycle.subject.global.newest as Support).state)
121
+ delete supportInCycle.subject.global.locked;
122
+ lastResult = runBlocked(supportInCycle, supportInCycle.state, supportInCycle);
123
+ // syncStates((supportInCycle.subject.global.newest as Support).state, supportInCycle.state)
124
+ // delete supportInCycle.subject.global.locked
125
+ renderSupport(lastResult, false);
126
+ });
127
+ return callbackResult;
128
+ }
129
+ delete supportInCycle.subject.global.locked;
130
+ }
99
131
  const run = () => {
100
132
  // are we in a rendering cycle? then its being called by alterProps
101
133
  if (noCycle === false) {
102
134
  // appears a prop function was called sync/immediately so lets see if owner changed state
103
- const allMatched = newest.memory.state.every(state => {
135
+ const allMatched = newest.state.every(state => {
104
136
  const lastValue = state.lastValue;
105
137
  const get = state.get();
106
- const equal = deepEqual(deepClone(lastValue), get);
138
+ const equal = deepEqual(cloneTagJsValue(lastValue), get);
107
139
  return equal;
108
140
  });
109
141
  if (allMatched) {
110
- return result; // owner did not change
142
+ return callbackResult; // owner did not change
111
143
  }
112
144
  }
113
- renderTagSupport(newest, true);
114
- return result;
145
+ renderSupport(newest, true);
146
+ return callbackResult;
115
147
  };
116
148
  if (noCycle) {
117
149
  return run();
118
150
  }
119
151
  setUse.memory.tagClosed$.toCallback(run);
120
- return result;
152
+ return callbackResult;
153
+ }
154
+ export function isSkipPropValue(value) {
155
+ return typeof (value) !== 'object' || !value; // || isSubjectInstance(value)
121
156
  }
122
157
  //# sourceMappingURL=alterProp.function.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"alterProp.function.js","sourceRoot":"","sources":["../ts/alterProp.function.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"alterProp.function.js","sourceRoot":"","sources":["../ts/alterProp.function.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ import { Template } from "./interpolations/interpolateTemplate";
2
+ export declare function buildClones(fragment: DocumentFragment, template: Template): ChildNode[];
@@ -0,0 +1,12 @@
1
+ export function buildClones(fragment, template) {
2
+ const clones = [];
3
+ let nextSibling = template.content.firstChild;
4
+ while (nextSibling) {
5
+ const nextNextSibling = nextSibling.nextSibling;
6
+ fragment.appendChild(nextSibling);
7
+ clones.push(nextSibling);
8
+ nextSibling = nextNextSibling;
9
+ }
10
+ return clones;
11
+ }
12
+ //# sourceMappingURL=buildClones.function.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"buildClones.function.js","sourceRoot":"","sources":["../ts/buildClones.function.ts"],"names":[],"mappings":"AAEA,MAAM,UAAU,WAAW,CACzB,QAA0B,EAC1B,QAAkB;IAElB,MAAM,MAAM,GAAgB,EAAE,CAAA;IAC9B,IAAI,WAAW,GAAG,QAAQ,CAAC,OAAO,CAAC,UAAU,CAAA;IAE7C,OAAO,WAAW,EAAE,CAAC;QACnB,MAAM,eAAe,GAAG,WAAW,CAAC,WAAwB,CAAA;QAC5D,QAAQ,CAAC,WAAW,CAAC,WAAW,CAAC,CAAA;QACjC,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,CAAA;QACxB,WAAW,GAAG,eAAe,CAAA;IAC/B,CAAC;IAED,OAAO,MAAM,CAAA;AACf,CAAC"}
@@ -1,14 +1,23 @@
1
+ import { ValueTypes } from './tag/ValueTypes.enum.js';
1
2
  export function deepClone(obj) {
2
- return makeDeepClone(obj, new WeakMap());
3
+ // return makeDeepClone(obj, new WeakMap())
4
+ return makeDeepClone(obj, 0);
3
5
  }
4
- function makeDeepClone(obj, visited) {
6
+ function makeDeepClone(obj,
7
+ // visited: WeakMap<any, any>
8
+ depth) {
5
9
  // If obj is a primitive type or null, return it directly
6
- if (obj === null || typeof obj !== 'object') {
10
+ if (obj === null || typeof obj !== ValueTypes.object) {
7
11
  return obj;
8
12
  }
9
13
  // If obj is already visited, return the cloned reference
14
+ /*
10
15
  if (visited.has(obj)) {
11
- return visited.get(obj);
16
+ return visited.get(obj)
17
+ }
18
+ */
19
+ if (depth === 15) {
20
+ return obj;
12
21
  }
13
22
  // Handle special cases like Date and RegExp
14
23
  if (obj instanceof Date) {
@@ -20,54 +29,64 @@ function makeDeepClone(obj, visited) {
20
29
  // Create an empty object or array with the same prototype
21
30
  const clone = Array.isArray(obj) ? [] : Object.create(Object.getPrototypeOf(obj));
22
31
  // Register the cloned object to avoid cyclic references
23
- visited.set(obj, clone);
32
+ // visited.set(obj, clone)
24
33
  // Clone each property or element of the object or array
25
34
  if (Array.isArray(obj)) {
26
35
  for (let i = 0; i < obj.length; i++) {
27
- clone[i] = makeDeepClone(obj[i], visited);
36
+ // clone[i] = makeDeepClone(obj[i], visited)
37
+ clone[i] = makeDeepClone(obj[i], depth + 1);
28
38
  }
29
39
  }
30
40
  else {
31
41
  for (const key in obj) {
32
42
  if (obj.hasOwnProperty(key)) {
33
- clone[key] = makeDeepClone(obj[key], visited);
43
+ // clone[key] = makeDeepClone(obj[key], visited)
44
+ clone[key] = makeDeepClone(obj[key], depth + 1);
34
45
  }
35
46
  }
36
47
  }
37
48
  return clone;
38
49
  }
39
50
  export function deepEqual(obj1, obj2) {
40
- return isDeepEqual(obj1, obj2, new WeakMap());
51
+ // return isDeepEqual(obj1, obj2, new WeakMap())
52
+ return isDeepEqual(obj1, obj2, 0);
41
53
  }
42
- function isDeepEqual(obj1, obj2, visited) {
54
+ function isDeepEqual(obj1, obj2,
55
+ // visited: WeakMap<any, any>,
56
+ depth) {
43
57
  const directEqual = obj1 === obj2;
44
58
  if (directEqual || isSameFunctions(obj1, obj2)) {
45
59
  return true;
46
60
  }
47
61
  // If obj is already visited, return the cloned reference
48
- if (visited.has(obj1)) {
62
+ // if (visited.has(obj1)) {
63
+ if (depth === 15) {
49
64
  return true;
50
65
  }
51
- if (typeof obj1 === 'object' && typeof obj2 === 'object') {
66
+ if (typeof obj1 === ValueTypes.object && typeof obj2 === ValueTypes.object) {
52
67
  // both are dates and were already determined not the same
53
68
  if (obj1 instanceof Date && obj2 instanceof Date) {
54
69
  return obj1.getTime() === obj2.getTime();
55
70
  }
56
71
  // Register the cloned object to avoid cyclic references
57
- visited.set(obj1, 0);
72
+ // visited.set(obj1, 0)
58
73
  // Check if obj1 and obj2 are both arrays
59
74
  if (Array.isArray(obj1) && Array.isArray(obj2)) {
60
- return isArrayDeepEqual(obj1, obj2, visited);
75
+ // return isArrayDeepEqual(obj1, obj2, visited)
76
+ return isArrayDeepEqual(obj1, obj2, depth + 1);
61
77
  }
62
78
  else if (Array.isArray(obj1) || Array.isArray(obj2)) {
63
79
  // One is an array, and the other is not
64
80
  return false;
65
81
  }
66
- return isObjectDeepEqual(obj1, obj2, visited);
82
+ // return isObjectDeepEqual(obj1, obj2, visited)
83
+ return isObjectDeepEqual(obj1, obj2, depth + 1);
67
84
  }
68
85
  return false;
69
86
  }
70
- function isObjectDeepEqual(obj1, obj2, visited) {
87
+ function isObjectDeepEqual(obj1, obj2,
88
+ // visited: WeakMap<any, any>,
89
+ depth) {
71
90
  const keys1 = Object.keys(obj1);
72
91
  const keys2 = Object.keys(obj2);
73
92
  if (keys1.length === 0 && keys2.length === 0) {
@@ -78,18 +97,21 @@ function isObjectDeepEqual(obj1, obj2, visited) {
78
97
  }
79
98
  for (const key of keys1) {
80
99
  const keyFound = keys2.includes(key);
81
- if (!keyFound || !isDeepEqual(obj1[key], obj2[key], visited)) {
100
+ if (!keyFound || !isDeepEqual(obj1[key], obj2[key], depth + 1)) {
82
101
  return false;
83
102
  }
84
103
  }
85
104
  return true;
86
105
  }
87
- function isArrayDeepEqual(obj1, obj2, visited) {
106
+ function isArrayDeepEqual(obj1, obj2,
107
+ // visited: WeakMap<any, any>,
108
+ depth) {
88
109
  if (obj1.length !== obj2.length) {
89
110
  return false;
90
111
  }
91
112
  for (let i = 0; i < obj1.length; i++) {
92
- if (!isDeepEqual(obj1[i], obj2[i], visited)) {
113
+ // if (!isDeepEqual(obj1[i], obj2[i], visited)) {
114
+ if (!isDeepEqual(obj1[i], obj2[i], depth + 1)) {
93
115
  return false;
94
116
  }
95
117
  }
@@ -1 +1 @@
1
- {"version":3,"file":"deepFunctions.js","sourceRoot":"","sources":["../ts/deepFunctions.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"deepFunctions.js","sourceRoot":"","sources":["../ts/deepFunctions.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AAEtD,MAAM,UAAU,SAAS,CACvB,GAAQ;IAER,2CAA2C;IAC3C,OAAO,aAAa,CAAC,GAAG,EAAE,CAAC,CAAC,CAAA;AAC9B,CAAC;AAED,SAAS,aAAa,CACpB,GAAQ;AACR,6BAA6B;AAC7B,KAAa;IAEb,yDAAyD;IACzD,IAAI,GAAG,KAAK,IAAI,IAAI,OAAO,GAAG,KAAK,UAAU,CAAC,MAAM,EAAE,CAAC;QACrD,OAAO,GAAG,CAAC;IACb,CAAC;IAED,yDAAyD;IACzD;;;;MAIE;IACH,IAAI,KAAK,KAAK,EAAE,EAAE,CAAC;QACjB,OAAO,GAAG,CAAA;IACZ,CAAC;IAEA,4CAA4C;IAC5C,IAAI,GAAG,YAAY,IAAI,EAAE,CAAC;QACxB,OAAO,IAAI,IAAI,CAAC,GAAG,CAAC,CAAA;IACtB,CAAC;IAED,IAAI,GAAG,YAAY,MAAM,EAAE,CAAC;QAC1B,OAAO,IAAI,MAAM,CAAC,GAAG,CAAC,CAAA;IACxB,CAAC;IAED,0DAA0D;IAC1D,MAAM,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC,CAAC;IAElF,wDAAwD;IACxD,0BAA0B;IAE1B,wDAAwD;IACxD,IAAI,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;QACvB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YACpC,4CAA4C;YAC5C,KAAK,CAAC,CAAC,CAAC,GAAG,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,KAAK,GAAG,CAAC,CAAC,CAAA;QAC7C,CAAC;IACH,CAAC;SAAM,CAAC;QACN,KAAK,MAAM,GAAG,IAAI,GAAG,EAAE,CAAC;YACtB,IAAI,GAAG,CAAC,cAAc,CAAC,GAAG,CAAC,EAAE,CAAC;gBAC5B,gDAAgD;gBAChD,KAAK,CAAC,GAAG,CAAC,GAAG,aAAa,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,KAAK,GAAG,CAAC,CAAC,CAAA;YACjD,CAAC;QACH,CAAC;IACH,CAAC;IAED,OAAO,KAAK,CAAC;AACf,CAAC;AAED,MAAM,UAAU,SAAS,CACvB,IAAS,EACT,IAAS;IAET,gDAAgD;IAChD,OAAO,WAAW,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,CAAA;AACnC,CAAC;AAED,SAAS,WAAW,CAClB,IAAS,EACT,IAAS;AACT,8BAA8B;AAC9B,KAAa;IAEb,MAAM,WAAW,GAAG,IAAI,KAAK,IAAI,CAAA;IACjC,IAAI,WAAW,IAAI,eAAe,CAAC,IAAI,EAAC,IAAI,CAAC,EAAE,CAAC;QAC9C,OAAO,IAAI,CAAA;IACb,CAAC;IAED,yDAAyD;IACzD,2BAA2B;IAC3B,IAAI,KAAK,KAAK,EAAE,EAAE,CAAC;QACjB,OAAO,IAAI,CAAA;IACb,CAAC;IAED,IAAG,OAAO,IAAI,KAAK,UAAU,CAAC,MAAM,IAAI,OAAO,IAAI,KAAK,UAAU,CAAC,MAAM,EAAE,CAAC;QAC1E,0DAA0D;QAC1D,IAAG,IAAI,YAAY,IAAI,IAAI,IAAI,YAAY,IAAI,EAAE,CAAC;YAChD,OAAO,IAAI,CAAC,OAAO,EAAE,KAAK,IAAI,CAAC,OAAO,EAAE,CAAA;QAC1C,CAAC;QAED,wDAAwD;QACxD,uBAAuB;QAEvB,yCAAyC;QACzC,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;YAC/C,+CAA+C;YAC/C,OAAO,gBAAgB,CAAC,IAAI,EAAE,IAAI,EAAE,KAAK,GAAG,CAAC,CAAC,CAAA;QAChD,CAAC;aAAM,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;YACtD,wCAAwC;YACxC,OAAO,KAAK,CAAA;QACd,CAAC;QAED,gDAAgD;QAChD,OAAO,iBAAiB,CAAC,IAAI,EAAE,IAAI,EAAE,KAAK,GAAG,CAAC,CAAC,CAAA;IACjD,CAAC;IAED,OAAO,KAAK,CAAA;AACd,CAAC;AAGD,SAAS,iBAAiB,CACxB,IAAS,EACT,IAAS;AACT,8BAA8B;AAC9B,KAAa;IAEb,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;IAC/B,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;IAE/B,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC7C,OAAO,IAAI,CAAA;IACb,CAAC;IAED,IAAI,KAAK,CAAC,MAAM,KAAK,KAAK,CAAC,MAAM,EAAE,CAAC;QAClC,OAAO,KAAK,CAAA;IACd,CAAC;IAED,KAAK,MAAM,GAAG,IAAI,KAAK,EAAE,CAAC;QACxB,MAAM,QAAQ,GAAG,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAA;QACpC,IAAI,CAAC,QAAQ,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,EAAE,KAAK,GAAG,CAAC,CAAC,EAAE,CAAC;YAC/D,OAAO,KAAK,CAAA;QACd,CAAC;IACH,CAAC;IAED,OAAO,IAAI,CAAA;AACb,CAAC;AAGD,SAAS,gBAAgB,CACvB,IAAW,EACX,IAAW;AACX,8BAA8B;AAC9B,KAAa;IAEb,IAAI,IAAI,CAAC,MAAM,KAAK,IAAI,CAAC,MAAM,EAAE,CAAC;QAChC,OAAO,KAAK,CAAA;IACd,CAAC;IAED,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACrC,iDAAiD;QACjD,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,KAAK,GAAG,CAAC,CAAC,EAAE,CAAC;YAC9C,OAAO,KAAK,CAAA;QACd,CAAC;IACH,CAAC;IAED,OAAO,IAAI,CAAA;AACb,CAAC;AAED,SAAS,eAAe,CACtB,GAAa,EACb,GAAa;IAEb,MAAM,YAAY,GAAG,GAAG,YAAY,QAAQ,IAAI,GAAG,YAAY,QAAQ,CAAA;IACvE,OAAO,YAAY,IAAI,GAAG,CAAC,QAAQ,EAAE,KAAK,GAAG,CAAC,QAAQ,EAAE,CAAA;AAC1D,CAAC"}
package/js/index.d.ts CHANGED
@@ -4,24 +4,23 @@ export * from './subject.types.js';
4
4
  export * from './isInstance.js';
5
5
  export * from './state/index.js';
6
6
  export * from './subject/index.js';
7
- export * from './tag/TagSupport.class.js';
7
+ export * from './tag/Support.class.js';
8
8
  export * from './interpolations/ElementTargetEvent.interface.js';
9
- export * from './interpolations/interpolateElement.js';
10
9
  export * from './interpolations/InsertBefore.type.js';
11
10
  export { tagElement } from './tag/tagElement.js';
12
11
  export { Tag, variablePrefix } from './tag/Tag.class.js';
13
12
  export { runBeforeRender } from './tag/tagRunner.js';
14
- export { renderTagSupport } from './tag/render/renderTagSupport.function.js';
13
+ export { renderSupport } from './tag/render/renderSupport.function.js';
15
14
  export { renderWithSupport } from './tag/render/renderWithSupport.function.js';
16
15
  export { isLikeValueSets } from './tag/isLikeTags.function.js';
17
16
  import { renderTagOnly } from './tag/render/renderTagOnly.function.js';
18
- import { renderTagSupport } from './tag/render/renderTagSupport.function.js';
17
+ import { renderSupport } from './tag/render/renderSupport.function.js';
19
18
  import { renderWithSupport } from './tag/render/renderWithSupport.function.js';
20
19
  import { tagElement } from './tag/tagElement.js';
21
20
  export declare const hmr: {
22
21
  tagElement: typeof tagElement;
23
22
  renderWithSupport: typeof renderWithSupport;
24
- renderTagSupport: typeof renderTagSupport;
23
+ renderSupport: typeof renderSupport;
25
24
  renderTagOnly: typeof renderTagOnly;
26
25
  };
27
26
  export { type Wrapper } from './tag/TemplaterResult.class.js';
package/js/index.js CHANGED
@@ -4,22 +4,21 @@ export * from './subject.types.js';
4
4
  export * from './isInstance.js';
5
5
  export * from './state/index.js';
6
6
  export * from './subject/index.js';
7
- export * from './tag/TagSupport.class.js';
7
+ export * from './tag/Support.class.js';
8
8
  export * from './interpolations/ElementTargetEvent.interface.js';
9
- export * from './interpolations/interpolateElement.js';
10
9
  export * from './interpolations/InsertBefore.type.js';
11
10
  export { tagElement } from './tag/tagElement.js';
12
11
  export { Tag, variablePrefix } from './tag/Tag.class.js';
13
12
  export { runBeforeRender } from './tag/tagRunner.js';
14
- export { renderTagSupport } from './tag/render/renderTagSupport.function.js';
13
+ export { renderSupport } from './tag/render/renderSupport.function.js';
15
14
  export { renderWithSupport } from './tag/render/renderWithSupport.function.js';
16
15
  export { isLikeValueSets } from './tag/isLikeTags.function.js';
17
16
  import { renderTagOnly } from './tag/render/renderTagOnly.function.js';
18
- import { renderTagSupport } from './tag/render/renderTagSupport.function.js';
17
+ import { renderSupport } from './tag/render/renderSupport.function.js';
19
18
  import { renderWithSupport } from './tag/render/renderWithSupport.function.js';
20
19
  import { tagElement } from './tag/tagElement.js';
21
20
  export const hmr = {
22
- tagElement, renderWithSupport, renderTagSupport,
21
+ tagElement, renderWithSupport, renderSupport,
23
22
  renderTagOnly,
24
23
  };
25
24
  //# sourceMappingURL=index.js.map
package/js/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../ts/index.ts"],"names":[],"mappings":"AAAA,cAAc,gBAAgB,CAAA;AAC9B,cAAc,aAAa,CAAA;AAC3B,cAAc,oBAAoB,CAAA;AAClC,cAAc,iBAAiB,CAAA;AAC/B,cAAc,kBAAkB,CAAA;AAChC,cAAc,oBAAoB,CAAA;AAClC,cAAc,2BAA2B,CAAA;AACzC,cAAc,kDAAkD,CAAA;AAChE,cAAc,wCAAwC,CAAA;AACtD,cAAa,uCAAuC,CAAA;AAEpD,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAA;AAChD,OAAO,EAAE,GAAG,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAA;AACxD,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAA;AACpD,OAAO,EAAE,gBAAgB,EAAE,MAAM,2CAA2C,CAAA;AAC5E,OAAO,EAAE,iBAAiB,EAAE,MAAM,4CAA4C,CAAA;AAC9E,OAAO,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAA;AAE9D,OAAO,EAAE,aAAa,EAAE,MAAM,wCAAwC,CAAA;AACtE,OAAO,EAAE,gBAAgB,EAAE,MAAM,2CAA2C,CAAA;AAC5E,OAAO,EAAE,iBAAiB,EAAE,MAAM,4CAA4C,CAAA;AAC9E,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAA;AAChD,MAAM,CAAC,MAAM,GAAG,GAAG;IACjB,UAAU,EAAE,iBAAiB,EAAE,gBAAgB;IAC/C,aAAa;CACd,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../ts/index.ts"],"names":[],"mappings":"AAAA,cAAc,gBAAgB,CAAA;AAC9B,cAAc,aAAa,CAAA;AAC3B,cAAc,oBAAoB,CAAA;AAClC,cAAc,iBAAiB,CAAA;AAC/B,cAAc,kBAAkB,CAAA;AAChC,cAAc,oBAAoB,CAAA;AAClC,cAAc,wBAAwB,CAAA;AACtC,cAAc,kDAAkD,CAAA;AAChE,cAAa,uCAAuC,CAAA;AAEpD,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAA;AAChD,OAAO,EAAE,GAAG,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAA;AACxD,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAA;AACpD,OAAO,EAAE,aAAa,EAAE,MAAM,wCAAwC,CAAA;AACtE,OAAO,EAAE,iBAAiB,EAAE,MAAM,4CAA4C,CAAA;AAC9E,OAAO,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAA;AAE9D,OAAO,EAAE,aAAa,EAAE,MAAM,wCAAwC,CAAA;AACtE,OAAO,EAAE,aAAa,EAAE,MAAM,wCAAwC,CAAA;AACtE,OAAO,EAAE,iBAAiB,EAAE,MAAM,4CAA4C,CAAA;AAC9E,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAA;AAChD,MAAM,CAAC,MAAM,GAAG,GAAG;IACjB,UAAU,EAAE,iBAAiB,EAAE,aAAa;IAC5C,aAAa;CACd,CAAA"}
@@ -1,4 +1,4 @@
1
- import { InsertBefore } from './InsertBefore.type.js';
1
+ import { Template } from './interpolateTemplate.js';
2
2
  import { Context, ElementBuildOptions } from '../tag/Tag.class.js';
3
- import { TagSupport } from '../tag/TagSupport.class.js';
4
- export declare function afterInterpolateElement(container: DocumentFragment, insertBefore: InsertBefore, tagSupport: TagSupport, context: Context, options: ElementBuildOptions): ChildNode[];
3
+ import { Support } from '../tag/Support.class.js';
4
+ export declare function afterInterpolateElement(container: DocumentFragment, template: Template, support: Support, context: Context, options: ElementBuildOptions): ChildNode[];
@@ -1,15 +1,16 @@
1
- import { buildClones } from '../render.js';
1
+ import { buildClones } from '../buildClones.function.js';
2
2
  import { afterElmBuild } from './interpolateTemplate.js';
3
- export function afterInterpolateElement(container, insertBefore, tagSupport, context, options) {
4
- const clones = buildClones(container, insertBefore);
3
+ export function afterInterpolateElement(container, template, support, context, options) {
4
+ const clones = buildClones(container, template);
5
5
  if (!clones.length) {
6
6
  return clones;
7
7
  }
8
+ const global = support.subject.global;
8
9
  for (let index = clones.length - 1; index >= 0; --index) {
9
10
  const clone = clones[index];
10
- afterElmBuild(clone, options, context, tagSupport);
11
- tagSupport.clones.push(clone);
11
+ afterElmBuild(clone, options, context, support);
12
12
  }
13
+ global.clones.push(...clones);
13
14
  return clones;
14
15
  }
15
16
  //# sourceMappingURL=afterInterpolateElement.function.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"afterInterpolateElement.function.js","sourceRoot":"","sources":["../../ts/interpolations/afterInterpolateElement.function.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAA;AAC1C,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAA;AAKxD,MAAM,UAAU,uBAAuB,CACrC,SAA2B,EAC3B,YAA0B,EAC1B,UAAsB,EACtB,OAAgB,EAChB,OAA4B;IAE5B,MAAM,MAAM,GAAG,WAAW,CAAC,SAAS,EAAE,YAAY,CAAC,CAAA;IACnD,IAAG,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC;QAClB,OAAO,MAAM,CAAA;IACf,CAAC;IAED,KAAK,IAAI,KAAK,GAAG,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,KAAK,IAAI,CAAC,EAAE,EAAE,KAAK,EAAE,CAAC;QACxD,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,CAAA;QAC3B,aAAa,CAAC,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,UAAU,CAAC,CAAA;QAClD,UAAU,CAAC,MAAM,CAAC,IAAI,CAAE,KAAK,CAAE,CAAA;IACjC,CAAC;IAED,OAAO,MAAM,CAAA;AACf,CAAC"}
1
+ {"version":3,"file":"afterInterpolateElement.function.js","sourceRoot":"","sources":["../../ts/interpolations/afterInterpolateElement.function.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAA;AACxD,OAAO,EAAY,aAAa,EAAE,MAAM,0BAA0B,CAAA;AAIlE,MAAM,UAAU,uBAAuB,CACrC,SAA2B,EAC3B,QAAkB,EAClB,OAAgB,EAChB,OAAgB,EAChB,OAA4B;IAE5B,MAAM,MAAM,GAAG,WAAW,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAA;IAC/C,IAAG,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC;QAClB,OAAO,MAAM,CAAA;IACf,CAAC;IAED,MAAM,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,MAAM,CAAA;IACrC,KAAK,IAAI,KAAK,GAAG,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,KAAK,IAAI,CAAC,EAAE,EAAE,KAAK,EAAE,CAAC;QACxD,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,CAAA;QAC3B,aAAa,CAAC,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,CAAA;IACjD,CAAC;IACD,MAAM,CAAC,MAAM,CAAC,IAAI,CAAE,GAAG,MAAM,CAAE,CAAA;IAE/B,OAAO,MAAM,CAAA;AACf,CAAC"}
@@ -1,7 +1,13 @@
1
1
  /** File largely responsible for reacting to element events, such as onclick */
2
- import { TagSupport } from '../tag/TagSupport.class.js';
2
+ import { State } from '../state/state.utils.js';
3
+ import { BaseSupport, Support } from '../tag/Support.class.js';
4
+ import { TagGlobal } from '../tag/TemplaterResult.class.js';
3
5
  export type Callback = (...args: any[]) => any & {
4
6
  isChildOverride?: true;
5
7
  };
6
- export declare function bindSubjectCallback(value: Callback, tagSupport: TagSupport): Callback;
7
- export declare function runTagCallback(value: Callback, tagSupport: TagSupport, bindTo: unknown, args: any[]): Promise<string> | "no-data-ever";
8
+ export declare function bindSubjectCallback(value: Callback, support: BaseSupport | Support): Callback;
9
+ export declare function runTagCallback(value: Callback, support: BaseSupport | Support, bindTo: unknown, args: any[], state: State): "no-data-ever" | Promise<string>;
10
+ export declare function afterTagCallback(tag: BaseSupport | Support, callbackResult: any, state: State): "no-data-ever" | Promise<string>;
11
+ export declare function findTagToCallback(support: BaseSupport | Support): BaseSupport | Support;
12
+ export declare function checkAfterCallbackPromise(callbackResult: any, last: BaseSupport | Support, global: TagGlobal): "no-data-ever" | Promise<string>;
13
+ export declare function runBlocked(tag: BaseSupport | Support, state: State, lastResult?: BaseSupport | Support): BaseSupport | Support | undefined;