taggedjs 2.4.17 → 2.4.32

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 (164) hide show
  1. package/bundle.js +1314 -1241
  2. package/bundle.js.map +1 -1
  3. package/js/Clones.type.d.ts +1 -1
  4. package/js/Tag.class.d.ts +5 -40
  5. package/js/Tag.class.js +2 -347
  6. package/js/Tag.class.js.map +1 -1
  7. package/js/TagSupport.class.d.ts +40 -6
  8. package/js/TagSupport.class.js +268 -30
  9. package/js/TagSupport.class.js.map +1 -1
  10. package/js/TemplaterResult.class.d.ts +13 -13
  11. package/js/TemplaterResult.class.js +34 -45
  12. package/js/TemplaterResult.class.js.map +1 -1
  13. package/js/afterInterpolateElement.function.d.ts +4 -0
  14. package/js/afterInterpolateElement.function.js +14 -0
  15. package/js/afterInterpolateElement.function.js.map +1 -0
  16. package/js/alterProps.function.d.ts +2 -4
  17. package/js/alterProps.function.js +7 -15
  18. package/js/alterProps.function.js.map +1 -1
  19. package/js/bindSubjectCallback.function.js +0 -3
  20. package/js/bindSubjectCallback.function.js.map +1 -1
  21. package/js/checkDestroyPrevious.function.d.ts +5 -5
  22. package/js/checkDestroyPrevious.function.js +20 -17
  23. package/js/checkDestroyPrevious.function.js.map +1 -1
  24. package/js/cloneValueArray.function.d.ts +2 -0
  25. package/js/cloneValueArray.function.js +19 -0
  26. package/js/cloneValueArray.function.js.map +1 -0
  27. package/js/deepFunctions.js +36 -29
  28. package/js/deepFunctions.js.map +1 -1
  29. package/js/destroy.support.d.ts +6 -0
  30. package/js/destroy.support.js +10 -0
  31. package/js/destroy.support.js.map +1 -0
  32. package/js/destroyTag.function.d.ts +2 -3
  33. package/js/destroyTag.function.js +7 -11
  34. package/js/destroyTag.function.js.map +1 -1
  35. package/js/hasTagSupportChanged.function.js +0 -12
  36. package/js/hasTagSupportChanged.function.js.map +1 -1
  37. package/js/index.d.ts +2 -1
  38. package/js/index.js +2 -1
  39. package/js/index.js.map +1 -1
  40. package/js/interpolateTemplate.js +0 -3
  41. package/js/interpolateTemplate.js.map +1 -1
  42. package/js/interpolations/bindSubjectCallback.function.d.ts +7 -0
  43. package/js/interpolations/bindSubjectCallback.function.js +40 -0
  44. package/js/interpolations/bindSubjectCallback.function.js.map +1 -0
  45. package/js/interpolations/elementInitCheck.d.ts +2 -0
  46. package/js/interpolations/elementInitCheck.js +18 -0
  47. package/js/interpolations/elementInitCheck.js.map +1 -0
  48. package/js/interpolations/inputAttribute.d.ts +1 -0
  49. package/js/interpolations/inputAttribute.js +19 -0
  50. package/js/interpolations/inputAttribute.js.map +1 -0
  51. package/js/interpolations/interpolateAttributes.d.ts +4 -0
  52. package/js/interpolations/interpolateAttributes.js +20 -0
  53. package/js/interpolations/interpolateAttributes.js.map +1 -0
  54. package/js/interpolations/interpolateContentTemplates.d.ts +9 -0
  55. package/js/interpolations/interpolateContentTemplates.js +42 -0
  56. package/js/interpolations/interpolateContentTemplates.js.map +1 -0
  57. package/js/interpolations/interpolateElement.d.ts +14 -0
  58. package/js/interpolations/interpolateElement.js +36 -0
  59. package/js/interpolations/interpolateElement.js.map +1 -0
  60. package/js/interpolations/interpolateTemplate.d.ts +32 -0
  61. package/js/interpolations/interpolateTemplate.js +80 -0
  62. package/js/interpolations/interpolateTemplate.js.map +1 -0
  63. package/js/interpolations/interpolations.d.ts +7 -0
  64. package/js/interpolations/interpolations.js +18 -0
  65. package/js/interpolations/interpolations.js.map +1 -0
  66. package/js/interpolations/processAttribute.function.d.ts +5 -0
  67. package/js/interpolations/processAttribute.function.js +122 -0
  68. package/js/interpolations/processAttribute.function.js.map +1 -0
  69. package/js/interpolations/scanTextAreaValue.function.d.ts +3 -0
  70. package/js/interpolations/scanTextAreaValue.function.js +16 -0
  71. package/js/interpolations/scanTextAreaValue.function.js.map +1 -0
  72. package/js/interpolations.js +1 -2
  73. package/js/interpolations.js.map +1 -1
  74. package/js/isInstance.d.ts +4 -1
  75. package/js/isInstance.js +12 -4
  76. package/js/isInstance.js.map +1 -1
  77. package/js/isLikeTags.function.d.ts +3 -1
  78. package/js/isLikeTags.function.js +15 -6
  79. package/js/isLikeTags.function.js.map +1 -1
  80. package/js/processNewValue.function.d.ts +3 -2
  81. package/js/processNewValue.function.js +27 -11
  82. package/js/processNewValue.function.js.map +1 -1
  83. package/js/processRegularValue.function.d.ts +1 -1
  84. package/js/processSubjectComponent.function.d.ts +5 -5
  85. package/js/processSubjectComponent.function.js +26 -34
  86. package/js/processSubjectComponent.function.js.map +1 -1
  87. package/js/processSubjectValue.function.d.ts +11 -7
  88. package/js/processSubjectValue.function.js +20 -7
  89. package/js/processSubjectValue.function.js.map +1 -1
  90. package/js/processTag.function.d.ts +8 -4
  91. package/js/processTag.function.js +23 -39
  92. package/js/processTag.function.js.map +1 -1
  93. package/js/processTagArray.d.ts +6 -4
  94. package/js/processTagArray.js +41 -39
  95. package/js/processTagArray.js.map +1 -1
  96. package/js/processTagResult.function.d.ts +4 -4
  97. package/js/processTagResult.function.js +14 -30
  98. package/js/processTagResult.function.js.map +1 -1
  99. package/js/renderExistingTag.function.d.ts +6 -6
  100. package/js/renderExistingTag.function.js +26 -22
  101. package/js/renderExistingTag.function.js.map +1 -1
  102. package/js/renderTagSupport.function.d.ts +2 -3
  103. package/js/renderTagSupport.function.js +17 -20
  104. package/js/renderTagSupport.function.js.map +1 -1
  105. package/js/setTagPlaceholder.function.d.ts +2 -0
  106. package/js/setTagPlaceholder.function.js +8 -0
  107. package/js/setTagPlaceholder.function.js.map +1 -0
  108. package/js/state/callbackMaker.function.d.ts +2 -2
  109. package/js/state/callbackMaker.function.js +4 -5
  110. package/js/state/callbackMaker.function.js.map +1 -1
  111. package/js/state/onDestroy.js +2 -2
  112. package/js/state/onDestroy.js.map +1 -1
  113. package/js/state/onInit.js +4 -5
  114. package/js/state/onInit.js.map +1 -1
  115. package/js/state/provider.utils.d.ts +2 -2
  116. package/js/state/provider.utils.js +11 -16
  117. package/js/state/provider.utils.js.map +1 -1
  118. package/js/state/providers.d.ts +8 -3
  119. package/js/state/providers.js +15 -18
  120. package/js/state/providers.js.map +1 -1
  121. package/js/state/setUse.function.d.ts +12 -10
  122. package/js/state/setUse.function.js.map +1 -1
  123. package/js/state/state.utils.d.ts +1 -3
  124. package/js/state/state.utils.js +19 -13
  125. package/js/state/state.utils.js.map +1 -1
  126. package/js/state/watch.function.d.ts +6 -1
  127. package/js/state/watch.function.js +8 -3
  128. package/js/state/watch.function.js.map +1 -1
  129. package/js/subject/Subject.class.d.ts +10 -6
  130. package/js/subject/Subject.class.js +26 -10
  131. package/js/subject/Subject.class.js.map +1 -1
  132. package/js/subject/Subject.utils.d.ts +7 -5
  133. package/js/subject/Subject.utils.js.map +1 -1
  134. package/js/subject/ValueSubject.d.ts +2 -2
  135. package/js/subject/ValueSubject.js +1 -1
  136. package/js/subject/ValueSubject.js.map +1 -1
  137. package/js/subject/combineLatest.function.js.map +1 -1
  138. package/js/subject.types.d.ts +18 -0
  139. package/js/subject.types.js +2 -0
  140. package/js/subject.types.js.map +1 -0
  141. package/js/tag.d.ts +1 -1
  142. package/js/tag.js +25 -31
  143. package/js/tag.js.map +1 -1
  144. package/js/tagElement.d.ts +3 -7
  145. package/js/tagElement.js +24 -24
  146. package/js/tagElement.js.map +1 -1
  147. package/js/tagRunner.d.ts +7 -6
  148. package/js/tagRunner.js +16 -8
  149. package/js/tagRunner.js.map +1 -1
  150. package/js/updateBeforeTemplate.function.d.ts +1 -1
  151. package/js/updateBeforeTemplate.function.js.map +1 -1
  152. package/js/updateContextItem.function.d.ts +3 -0
  153. package/js/updateContextItem.function.js +43 -0
  154. package/js/updateContextItem.function.js.map +1 -0
  155. package/js/updateExistingTagComponent.function.d.ts +4 -4
  156. package/js/updateExistingTagComponent.function.js +49 -87
  157. package/js/updateExistingTagComponent.function.js.map +1 -1
  158. package/js/updateExistingValue.function.d.ts +2 -7
  159. package/js/updateExistingValue.function.js +94 -50
  160. package/js/updateExistingValue.function.js.map +1 -1
  161. package/package.json +1 -1
  162. /package/js/{errors.d.ts → Errors.d.ts} +0 -0
  163. /package/js/{errors.js → Errors.js} +0 -0
  164. /package/js/{errors.js.map → Errors.js.map} +0 -0
@@ -2,30 +2,34 @@ import { providersChangeCheck } from './state/provider.utils';
2
2
  import { renderWithSupport } from './TemplaterResult.class';
3
3
  import { isLikeTags } from './isLikeTags.function';
4
4
  /** Returns true when rendering owner is not needed. Returns false when rendering owner should occur */
5
- export function renderExistingTag(oldestTag, // existing tag already there
6
- newTemplater, tagSupport, subject) {
7
- const tag = subject.tag;
8
- newTemplater.global = tag.tagSupport.templater.global;
9
- if (!oldestTag.hasLiveElements) {
10
- throw new Error('1080 - should have live elements');
11
- }
12
- const preRenderCount = tagSupport.templater.global.renderCount;
13
- providersChangeCheck(oldestTag);
5
+ export function renderExistingTag(oldestSupport, // oldest with elements on html
6
+ newSupport, // new to be rendered
7
+ ownerSupport, // ownerSupport
8
+ subject) {
9
+ const lastSupport = subject.tagSupport;
10
+ const global = lastSupport.global;
11
+ // share point between renders
12
+ newSupport.global = global;
13
+ const preRenderCount = global.renderCount;
14
+ providersChangeCheck(oldestSupport);
14
15
  // When the providers were checked, a render to myself occurred and I do not need to re-render again
15
- const latestTag = tagSupport.templater.global.newest;
16
- if (preRenderCount !== tagSupport.templater.global.renderCount) {
17
- oldestTag.updateByTag(latestTag);
18
- return latestTag;
16
+ const prevSupport = global.newest;
17
+ if (preRenderCount !== global.renderCount) {
18
+ oldestSupport.updateBy(prevSupport);
19
+ return prevSupport; // already rendered during triggered events
19
20
  }
20
- const oldTemplater = tagSupport.templater || newTemplater;
21
- const toRedrawTag = subject.tag || oldTemplater.global.newest || oldTemplater.global.oldest; // hmmmmmm, why not newest?
22
- const redraw = renderWithSupport(newTemplater.tagSupport, toRedrawTag, subject, oldestTag.ownerTag);
23
- const oldest = tagSupport.templater.global.oldest || oldestTag;
24
- redraw.tagSupport.templater.global.oldest = oldest;
25
- if (isLikeTags(latestTag, redraw)) {
26
- subject.tag = redraw;
27
- oldest.updateByTag(redraw);
21
+ // ??? changed during mirroring - lastSupport keeps having less info than newest
22
+ // const toRedrawTag = lastSupport || prevSupport || tagSupport.global.oldest
23
+ const toRedrawTag = prevSupport || lastSupport || global.oldest;
24
+ const reSupport = renderWithSupport(newSupport, toRedrawTag, subject,
25
+ // oldestSupport,
26
+ ownerSupport);
27
+ const oldest = global.oldest || oldestSupport;
28
+ reSupport.global.oldest = oldest;
29
+ if (isLikeTags(prevSupport, reSupport)) {
30
+ subject.tagSupport = reSupport;
31
+ oldest.updateBy(reSupport);
28
32
  }
29
- return redraw;
33
+ return reSupport;
30
34
  }
31
35
  //# sourceMappingURL=renderExistingTag.function.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"renderExistingTag.function.js","sourceRoot":"","sources":["../ts/renderExistingTag.function.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAA;AAC7D,OAAO,EAAmB,iBAAiB,EAAE,MAAM,yBAAyB,CAAA;AAE5E,OAAO,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAA;AAElD,uGAAuG;AACvG,MAAM,UAAU,iBAAiB,CAC/B,SAAc,EAAE,6BAA6B;AAC7C,YAA6B,EAC7B,UAA0B,EAC1B,OAAmB;IAEnB,MAAM,GAAG,GAAG,OAAO,CAAC,GAAU,CAAA;IAC9B,YAAY,CAAC,MAAM,GAAG,GAAG,CAAC,UAAU,CAAC,SAAS,CAAC,MAAM,CAAA;IAErD,IAAG,CAAC,SAAS,CAAC,eAAe,EAAE,CAAC;QAC9B,MAAM,IAAI,KAAK,CAAC,kCAAkC,CAAC,CAAA;IACrD,CAAC;IAED,MAAM,cAAc,GAAG,UAAU,CAAC,SAAS,CAAC,MAAM,CAAC,WAAW,CAAA;IAC9D,oBAAoB,CAAC,SAAS,CAAC,CAAA;IAE/B,oGAAoG;IACpG,MAAM,SAAS,GAAG,UAAU,CAAC,SAAS,CAAC,MAAM,CAAC,MAAa,CAAA;IAC3D,IAAG,cAAc,KAAK,UAAU,CAAC,SAAS,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC;QAC9D,SAAS,CAAC,WAAW,CAAC,SAAS,CAAC,CAAA;QAChC,OAAO,SAAS,CAAA;IAClB,CAAC;IAED,MAAM,YAAY,GAAG,UAAU,CAAC,SAAS,IAAI,YAAY,CAAA;IACzD,MAAM,WAAW,GAAG,OAAO,CAAC,GAAG,IAAI,YAAY,CAAC,MAAM,CAAC,MAAM,IAAI,YAAY,CAAC,MAAM,CAAC,MAAM,CAAA,CAAC,2BAA2B;IACvH,MAAM,MAAM,GAAG,iBAAiB,CAC9B,YAAY,CAAC,UAAU,EACvB,WAAW,EACX,OAAO,EACP,SAAS,CAAC,QAAQ,CACnB,CAAA;IAED,MAAM,MAAM,GAAG,UAAU,CAAC,SAAS,CAAC,MAAM,CAAC,MAAM,IAAI,SAAS,CAAA;IAC9D,MAAM,CAAC,UAAU,CAAC,SAAS,CAAC,MAAM,CAAC,MAAM,GAAG,MAAM,CAAA;IAElD,IAAG,UAAU,CAAC,SAAS,EAAE,MAAM,CAAC,EAAE,CAAC;QACjC,OAAO,CAAC,GAAG,GAAG,MAAM,CAAA;QACpB,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,CAAA;IAC5B,CAAC;IAED,OAAO,MAAM,CAAA;AACf,CAAC"}
1
+ {"version":3,"file":"renderExistingTag.function.js","sourceRoot":"","sources":["../ts/renderExistingTag.function.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAA;AAC7D,OAAO,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAA;AAE3D,OAAO,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAA;AAElD,uGAAuG;AACvG,MAAM,UAAU,iBAAiB,CAC/B,aAAyB,EAAE,+BAA+B;AAC1D,UAAsB,EAAE,qBAAqB;AAC7C,YAA4B,EAAE,eAAe;AAC7C,OAAmB;IAEnB,MAAM,WAAW,GAAG,OAAO,CAAC,UAAwB,CAAA;IACpD,MAAM,MAAM,GAAG,WAAW,CAAC,MAAM,CAAA;IAEjC,8BAA8B;IAC9B,UAAU,CAAC,MAAM,GAAG,MAAM,CAAA;IAE1B,MAAM,cAAc,GAAG,MAAM,CAAC,WAAW,CAAA;IACzC,oBAAoB,CAAC,aAAa,CAAC,CAAA;IAEnC,oGAAoG;IACpG,MAAM,WAAW,GAAG,MAAM,CAAC,MAAoB,CAAA;IAC/C,IAAG,cAAc,KAAK,MAAM,CAAC,WAAW,EAAE,CAAC;QACzC,aAAa,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAA;QACnC,OAAO,WAAW,CAAA,CAAC,2CAA2C;IAChE,CAAC;IAED,gFAAgF;IAChF,6EAA6E;IAC7E,MAAM,WAAW,GAAG,WAAW,IAAI,WAAW,IAAI,MAAM,CAAC,MAAM,CAAA;IAE/D,MAAM,SAAS,GAAG,iBAAiB,CACjC,UAAU,EACV,WAAW,EACX,OAAO;IACP,iBAAiB;IACjB,YAA0B,CAC3B,CAAA;IAED,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,IAAI,aAAa,CAAA;IAC7C,SAAS,CAAC,MAAM,CAAC,MAAM,GAAG,MAAM,CAAA;IAEhC,IAAG,UAAU,CAAC,WAAW,EAAE,SAAS,CAAC,EAAE,CAAC;QACtC,OAAO,CAAC,UAAU,GAAG,SAAS,CAAA;QAC9B,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAA;IAC5B,CAAC;IAED,OAAO,SAAS,CAAA;AAClB,CAAC"}
@@ -1,4 +1,3 @@
1
- import { Tag } from './Tag.class';
2
- import { BaseTagSupport } from './TagSupport.class';
1
+ import { TagSupport } from './TagSupport.class';
3
2
  /** Main function used by all other callers to render/update display of a tag component */
4
- export declare function renderTagSupport(tagSupport: BaseTagSupport, renderUp: boolean): Tag;
3
+ export declare function renderTagSupport(tagSupport: TagSupport, renderUp: boolean): TagSupport;
@@ -1,39 +1,36 @@
1
1
  import { deepEqual } from './deepFunctions';
2
- import { isTagInstance } from './isInstance';
3
2
  import { renderExistingTag } from './renderExistingTag.function';
4
3
  /** Main function used by all other callers to render/update display of a tag component */
5
4
  export function renderTagSupport(tagSupport, renderUp) {
6
- const global = tagSupport.templater.global;
7
- if (isTagInstance(tagSupport.templater)) {
5
+ const global = tagSupport.global;
6
+ const templater = tagSupport.templater;
7
+ // is it just a vanilla tag, not component?
8
+ if (!templater.wrapper) { // || isTagTemplater(templater)
8
9
  const newTag = global.newest;
9
- const ownerTag = newTag.ownerTag;
10
+ const ownerTag = newTag.ownerTagSupport;
10
11
  ++global.renderCount;
11
- return renderTagSupport(ownerTag.tagSupport, true);
12
+ return renderTagSupport(ownerTag, true);
12
13
  }
13
- // const oldTagSetup = this
14
14
  const subject = tagSupport.subject;
15
- const templater = tagSupport.templater; // oldTagSetup.templater // templater
16
- const subjectTag = subject.tag;
17
- const newest = subjectTag?.tagSupport.templater.global.newest;
18
- let ownerTag;
15
+ const newest = global.newest;
16
+ let ownerSupport;
19
17
  let selfPropChange = false;
20
18
  const shouldRenderUp = renderUp && newest;
21
19
  if (shouldRenderUp) {
22
- ownerTag = newest.ownerTag;
23
- if (ownerTag) {
20
+ ownerSupport = newest.ownerTagSupport;
21
+ if (ownerSupport) {
24
22
  const nowProps = templater.props;
25
- const latestProps = newest.tagSupport.propsConfig.latestCloned;
23
+ const latestProps = newest.propsConfig.latestCloned;
26
24
  selfPropChange = !deepEqual(nowProps, latestProps);
27
25
  }
28
26
  }
29
- const useTagSupport = global.newest?.tagSupport; // oldTagSetup
30
- if (!templater.global.oldest) {
31
- throw new Error('already causing trouble');
32
- }
33
- const tag = renderExistingTag(templater.global.oldest, templater, useTagSupport, subject);
34
- const renderOwner = ownerTag && selfPropChange;
27
+ // const useTagSupport = global.newest as TagSupport // oldTagSetup
28
+ const oldest = tagSupport.global.oldest;
29
+ const tag = renderExistingTag(oldest, tagSupport, ownerSupport, // useTagSupport,
30
+ subject);
31
+ const renderOwner = ownerSupport && selfPropChange;
35
32
  if (renderOwner) {
36
- const ownerTagSupport = ownerTag.tagSupport;
33
+ const ownerTagSupport = ownerSupport;
37
34
  renderTagSupport(ownerTagSupport, true);
38
35
  return tag;
39
36
  }
@@ -1 +1 @@
1
- {"version":3,"file":"renderTagSupport.function.js","sourceRoot":"","sources":["../ts/renderTagSupport.function.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAA;AAC3C,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAA;AAC5C,OAAO,EAAE,iBAAiB,EAAE,MAAM,8BAA8B,CAAA;AAEhE,0FAA0F;AAC1F,MAAM,UAAU,gBAAgB,CAC9B,UAA0B,EAC1B,QAAiB;IAEjB,MAAM,MAAM,GAAG,UAAU,CAAC,SAAS,CAAC,MAAM,CAAA;IAC1C,IAAG,aAAa,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;QACvC,MAAM,MAAM,GAAG,MAAM,CAAC,MAAa,CAAA;QACnC,MAAM,QAAQ,GAAG,MAAM,CAAC,QAAe,CAAA;QACvC,EAAE,MAAM,CAAC,WAAW,CAAA;QACpB,OAAO,gBAAgB,CAAC,QAAQ,CAAC,UAAU,EAAE,IAAI,CAAC,CAAA;IACpD,CAAC;IAED,2BAA2B;IAC3B,MAAM,OAAO,GAAG,UAAU,CAAC,OAAO,CAAA;IAClC,MAAM,SAAS,GAAG,UAAU,CAAC,SAAS,CAAA,CAAC,qCAAqC;IAC5E,MAAM,UAAU,GAAG,OAAO,CAAC,GAAG,CAAA;IAC9B,MAAM,MAAM,GAAG,UAAU,EAAE,UAAU,CAAC,SAAS,CAAC,MAAM,CAAC,MAAa,CAAA;IACpE,IAAI,QAAyB,CAAA;IAC7B,IAAI,cAAc,GAAG,KAAK,CAAA;IAC1B,MAAM,cAAc,GAAG,QAAQ,IAAI,MAAM,CAAA;IAEzC,IAAG,cAAc,EAAE,CAAC;QAClB,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAA;QAE1B,IAAG,QAAQ,EAAE,CAAC;YACZ,MAAM,QAAQ,GAAG,SAAS,CAAC,KAAY,CAAA;YACvC,MAAM,WAAW,GAAG,MAAM,CAAC,UAAU,CAAC,WAAW,CAAC,YAAY,CAAA;YAE9D,cAAc,GAAG,CAAC,SAAS,CAAC,QAAQ,EAAE,WAAW,CAAC,CAAA;QACpD,CAAC;IACH,CAAC;IAED,MAAM,aAAa,GAAG,MAAM,CAAC,MAAM,EAAE,UAAwB,CAAA,CAAC,cAAc;IAE5E,IAAG,CAAC,SAAS,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC;QAC5B,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAA;IAC5C,CAAC;IAED,MAAM,GAAG,GAAG,iBAAiB,CAC3B,SAAS,CAAC,MAAM,CAAC,MAAa,EAC9B,SAAS,EACT,aAAa,EACb,OAAO,CACR,CAAA;IAED,MAAM,WAAW,GAAG,QAAQ,IAAI,cAAc,CAAA;IAC9C,IAAG,WAAW,EAAE,CAAC;QACf,MAAM,eAAe,GAAI,QAAgB,CAAC,UAAU,CAAA;QACpD,gBAAgB,CACd,eAAe,EACf,IAAI,CACL,CAAA;QAED,OAAO,GAAG,CAAA;IACZ,CAAC;IAED,OAAO,GAAG,CAAA;AACZ,CAAC"}
1
+ {"version":3,"file":"renderTagSupport.function.js","sourceRoot":"","sources":["../ts/renderTagSupport.function.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAA;AAC3C,OAAO,EAAE,iBAAiB,EAAE,MAAM,8BAA8B,CAAA;AAEhE,0FAA0F;AAC1F,MAAM,UAAU,gBAAgB,CAC9B,UAAsB,EACtB,QAAiB;IAEjB,MAAM,MAAM,GAAG,UAAU,CAAC,MAAM,CAAA;IAChC,MAAM,SAAS,GAAG,UAAU,CAAC,SAAS,CAAA;IAEtC,2CAA2C;IAE3C,IAAI,CAAC,SAAS,CAAC,OAAO,EAAG,CAAC,CAAA,gCAAgC;QACxD,MAAM,MAAM,GAAG,MAAM,CAAC,MAAoB,CAAA;QAC1C,MAAM,QAAQ,GAAG,MAAM,CAAC,eAA6B,CAAA;QACrD,EAAE,MAAM,CAAC,WAAW,CAAA;QACpB,OAAO,gBAAgB,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAA;IACzC,CAAC;IAED,MAAM,OAAO,GAAG,UAAU,CAAC,OAAO,CAAA;IAClC,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,CAAA;IAE5B,IAAI,YAAoC,CAAA;IACxC,IAAI,cAAc,GAAG,KAAK,CAAA;IAC1B,MAAM,cAAc,GAAG,QAAQ,IAAI,MAAM,CAAA;IAEzC,IAAG,cAAc,EAAE,CAAC;QAClB,YAAY,GAAG,MAAM,CAAC,eAAe,CAAA;QACrC,IAAG,YAAY,EAAE,CAAC;YAChB,MAAM,QAAQ,GAAG,SAAS,CAAC,KAAY,CAAA;YACvC,MAAM,WAAW,GAAG,MAAM,CAAC,WAAW,CAAC,YAAY,CAAA;YACnD,cAAc,GAAG,CAAC,SAAS,CAAC,QAAQ,EAAE,WAAW,CAAC,CAAA;QACpD,CAAC;IACH,CAAC;IAED,mEAAmE;IACnE,MAAM,MAAM,GAAG,UAAU,CAAC,MAAM,CAAC,MAAoB,CAAA;IAErD,MAAM,GAAG,GAAG,iBAAiB,CAC3B,MAAM,EACN,UAAwB,EACxB,YAA0B,EAAE,iBAAiB;IAC7C,OAAO,CACR,CAAA;IAED,MAAM,WAAW,GAAG,YAAY,IAAI,cAAc,CAAA;IAClD,IAAG,WAAW,EAAE,CAAC;QACf,MAAM,eAAe,GAAG,YAA0B,CAAA;QAElD,gBAAgB,CACd,eAAe,EACf,IAAI,CACL,CAAA;QAED,OAAO,GAAG,CAAA;IACZ,CAAC;IAED,OAAO,GAAG,CAAA;AACZ,CAAC"}
@@ -0,0 +1,2 @@
1
+ import { TagGlobal } from './TemplaterResult.class';
2
+ export declare function setTagPlaceholder(global: TagGlobal): void;
@@ -0,0 +1,8 @@
1
+ export function setTagPlaceholder(global) {
2
+ const insertBefore = global.insertBefore;
3
+ const placeholder = global.placeholder = document.createTextNode('');
4
+ const parentNode = insertBefore.parentNode;
5
+ parentNode.insertBefore(placeholder, insertBefore);
6
+ parentNode.removeChild(insertBefore);
7
+ }
8
+ //# sourceMappingURL=setTagPlaceholder.function.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"setTagPlaceholder.function.js","sourceRoot":"","sources":["../ts/setTagPlaceholder.function.ts"],"names":[],"mappings":"AAGA,MAAM,UAAU,iBAAiB,CAC/B,MAAiB;IAEjB,MAAM,YAAY,GAAG,MAAM,CAAC,YAA4B,CAAA;IACxD,MAAM,WAAW,GAAG,MAAM,CAAC,WAAW,GAAG,QAAQ,CAAC,cAAc,CAAC,EAAE,CAAC,CAAA;IACpE,MAAM,UAAU,GAAG,YAAY,CAAC,UAAwB,CAAA;IACxD,UAAU,CAAC,YAAY,CAAC,WAAW,EAAE,YAAY,CAAC,CAAA;IAClD,UAAU,CAAC,WAAW,CAAC,YAAY,CAAC,CAAA;AACtC,CAAC"}
@@ -1,3 +1,3 @@
1
- type Callback<A> = <T>(...args: A[]) => (T | void);
2
- export declare const callbackMaker: () => <A>(callback: Callback<A>) => (...args: A[]) => void;
1
+ type Callback<A, B, C, D, E, F> = <T>(a: A, b: B, c: C, d: D, e: E, f: F) => (T | void);
2
+ export declare const callbackMaker: () => <A, B, C, D, E, F>(callback: Callback<A, B, C, D, E, F>) => (a?: A | undefined, b?: B | undefined, c?: C | undefined, d?: D | undefined, e?: E | undefined, f?: F | undefined) => void;
3
3
  export {};
@@ -2,7 +2,7 @@ import { setUse } from "./setUse.function";
2
2
  import { getStateValue } from "./state.utils";
3
3
  import { renderTagSupport } from "../renderTagSupport.function";
4
4
  import { SyncCallbackError } from "../errors";
5
- let innerCallback = (callback) => (...args) => {
5
+ let innerCallback = (callback) => (a, b, c, d, e, f) => {
6
6
  throw new SyncCallbackError('Callback function was called immediately in sync and must instead be call async');
7
7
  };
8
8
  export const callbackMaker = () => innerCallback;
@@ -33,18 +33,17 @@ function initMemory(tagSupport) {
33
33
  }
34
34
  function triggerStateUpdate(tagSupport, callback, oldState, ...args) {
35
35
  const state = tagSupport.memory.state;
36
- const newest = state.newest;
37
36
  // ensure that the oldest has the latest values first
38
- updateState(newest, oldState);
37
+ updateState(state, oldState);
39
38
  // run the callback
40
39
  const promise = callback(...args);
41
40
  // send the oldest state changes into the newest
42
- updateState(oldState, newest);
41
+ updateState(oldState, state);
43
42
  renderTagSupport(tagSupport, false);
44
43
  if (promise instanceof Promise) {
45
44
  promise.finally(() => {
46
45
  // send the oldest state changes into the newest
47
- updateState(oldState, newest);
46
+ updateState(oldState, state);
48
47
  renderTagSupport(tagSupport, false);
49
48
  });
50
49
  }
@@ -1 +1 @@
1
- {"version":3,"file":"callbackMaker.function.js","sourceRoot":"","sources":["../../ts/state/callbackMaker.function.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAA;AAC1C,OAAO,EAA2B,aAAa,EAAE,MAAM,eAAe,CAAA;AACtE,OAAO,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAA;AAC/D,OAAO,EAAE,iBAAiB,EAAE,MAAM,WAAW,CAAA;AAuB7C,IAAI,aAAa,GAAG,CAAI,QAAqB,EAAE,EAAE,CAAC,CAAC,GAAG,IAAQ,EAAQ,EAAE;IACtE,MAAM,IAAI,iBAAiB,CAAC,iFAAiF,CAAC,CAAA;AAChH,CAAC,CAAA;AACD,MAAM,CAAC,MAAM,aAAa,GAAG,GAAG,EAAE,CAAC,aAAa,CAAA;AAEhD,MAAM,cAAc,GAAG,aAAa,CAAA,CAAC,gBAAgB;AAErD,MAAM,CAAC;IACL,YAAY,EAAE,CAAC,UAA0B,EAAE,EAAE,CAAC,UAAU,CAAC,UAAU,CAAC;IACpE,YAAY,EAAE,CAAC,UAA0B,EAAE,EAAE,CAAC,UAAU,CAAC,UAAU,CAAC;IACpE,WAAW,EAAE,CAAC,WAA2B,EAAE,EAAE;QAC3C,aAAa,GAAG,cAAc,CAAA,CAAC,8CAA8C;IAC/E,CAAC;CACF,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;AAED,SAAS,UAAU,CAAE,UAA0B;IAC7C,MAAM,QAAQ,GAAqB,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,KAAK,CAAA;IAClE,aAAa,GAAG,CACd,QAAuB,EACvB,EAAE;QACF,MAAM,OAAO,GAAG,CAAC,GAAG,IAAW,EAAE,EAAE,CAAC,kBAAkB,CAAC,UAAU,EAAE,QAAQ,EAAE,QAAQ,EAAE,GAAG,IAAI,CAAC,CAAA;QAC/F,OAAO,OAAO,CAAA;IAChB,CAAC,CAAA;AACH,CAAC;AAED,SAAS,kBAAkB,CACzB,UAA0B,EAC1B,QAAuB,EACvB,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,gBAAgB,CACd,UAAU,EACV,KAAK,CACN,CAAA;IAED,IAAG,OAAO,YAAY,OAAO,EAAE,CAAC;QAC9B,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE;YACnB,gDAAgD;YAChD,WAAW,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAA;YAE7B,gBAAgB,CACd,UAAU,EACV,KAAK,CACN,CAAA;QACH,CAAC,CAAC,CAAA;IACJ,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"callbackMaker.function.js","sourceRoot":"","sources":["../../ts/state/callbackMaker.function.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAA;AAC1C,OAAO,EAA2B,aAAa,EAAE,MAAM,eAAe,CAAA;AACtE,OAAO,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAA;AAC/D,OAAO,EAAE,iBAAiB,EAAE,MAAM,WAAW,CAAA;AAwB7C,IAAI,aAAa,GAAG,CAClB,QAA+B,EAC/B,EAAE,CAAC,CAAC,CAAI,EAAE,CAAI,EAAE,CAAI,EAAE,CAAI,EAAE,CAAI,EAAE,CAAI,EAAQ,EAAE;IAChD,MAAM,IAAI,iBAAiB,CAAC,iFAAiF,CAAC,CAAA;AAChH,CAAC,CAAA;AACD,MAAM,CAAC,MAAM,aAAa,GAAG,GAAG,EAAE,CAAC,aAAa,CAAA;AAEhD,MAAM,cAAc,GAAG,aAAa,CAAA,CAAC,gBAAgB;AAErD,MAAM,CAAC;IACL,YAAY,EAAE,CAAC,UAA0B,EAAE,EAAE,CAAC,UAAU,CAAC,UAAU,CAAC;IACpE,YAAY,EAAE,CAAC,UAA0B,EAAE,EAAE,CAAC,UAAU,CAAC,UAAU,CAAC;IACpE,WAAW,EAAE,CAAC,WAA2B,EAAE,EAAE;QAC3C,aAAa,GAAG,cAAc,CAAA,CAAC,8CAA8C;IAC/E,CAAC;CACF,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;AAED,SAAS,UAAU,CAAE,UAA0B;IAC7C,MAAM,QAAQ,GAAqB,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,KAAK,CAAA;IAClE,aAAa,GAAG,CACd,QAAgD,EAChD,EAAE;QACF,MAAM,OAAO,GAAG,CAAC,GAAG,IAAW,EAAE,EAAE,CAAC,kBAAkB,CAAC,UAAU,EAAE,QAAQ,EAAE,QAAQ,EAAE,GAAG,IAAI,CAAC,CAAA;QAC/F,OAAO,OAAO,CAAA;IAChB,CAAC,CAAA;AACH,CAAC;AAED,SAAS,kBAAkB,CACzB,UAA0B,EAC1B,QAA+C,EAC/C,QAA0B,EAC1B,GAAG,IAAW;IAEd,MAAM,KAAK,GAAG,UAAU,CAAC,MAAM,CAAC,KAAc,CAAA;IAE9C,qDAAqD;IACrD,WAAW,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAA;IAE5B,mBAAmB;IACnB,MAAM,OAAO,GAAG,QAAQ,CAAC,GAAG,IAAiC,CAAC,CAAA;IAE9D,gDAAgD;IAChD,WAAW,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAA;IAE5B,gBAAgB,CACd,UAAwB,EACxB,KAAK,CACN,CAAA;IAED,IAAG,OAAO,YAAY,OAAO,EAAE,CAAC;QAC9B,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE;YACnB,gDAAgD;YAChD,WAAW,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAA;YAE5B,gBAAgB,CACd,UAAwB,EACxB,KAAK,CACN,CAAA;QACH,CAAC,CAAC,CAAA;IACJ,CAAC;AACH,CAAC"}
@@ -2,13 +2,13 @@ import { setUse } from "./setUse.function";
2
2
  /** When undefined, it means a tag is being built for the first time so do run destroy(s) */
3
3
  let destroyCurrentTagSupport;
4
4
  export function onDestroy(callback) {
5
- destroyCurrentTagSupport.templater.global.destroyCallback = callback;
5
+ destroyCurrentTagSupport.global.destroyCallback = callback;
6
6
  }
7
7
  setUse({
8
8
  beforeRender: tagSupport => destroyCurrentTagSupport = tagSupport,
9
9
  beforeRedraw: tagSupport => destroyCurrentTagSupport = tagSupport,
10
10
  beforeDestroy: (tagSupport, tag) => {
11
- const callback = tagSupport.templater.global.destroyCallback;
11
+ const callback = tagSupport.global.destroyCallback;
12
12
  if (callback) {
13
13
  callback();
14
14
  }
@@ -1 +1 @@
1
- {"version":3,"file":"onDestroy.js","sourceRoot":"","sources":["../../ts/state/onDestroy.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAA;AAI1C,4FAA4F;AAC5F,IAAI,wBAAwC,CAAA;AAE5C,MAAM,UAAU,SAAS,CACvB,QAA2B;IAE3B,wBAAwB,CAAC,SAAS,CAAC,MAAM,CAAC,eAAe,GAAG,QAAQ,CAAA;AACtE,CAAC;AAED,MAAM,CAAC;IACL,YAAY,EAAE,UAAU,CAAC,EAAE,CAAC,wBAAwB,GAAG,UAAU;IACjE,YAAY,EAAE,UAAU,CAAC,EAAE,CAAC,wBAAwB,GAAG,UAAU;IACjE,aAAa,EAAE,CAAC,UAAU,EAAE,GAAG,EAAE,EAAE;QACjC,MAAM,QAAQ,GAAG,UAAU,CAAC,SAAS,CAAC,MAAM,CAAC,eAAe,CAAA;QAE5D,IAAG,QAAQ,EAAE,CAAC;YACZ,QAAQ,EAAE,CAAA;QACZ,CAAC;IACH,CAAC;CACF,CAAC,CAAA"}
1
+ {"version":3,"file":"onDestroy.js","sourceRoot":"","sources":["../../ts/state/onDestroy.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAA;AAI1C,4FAA4F;AAC5F,IAAI,wBAAwC,CAAA;AAE5C,MAAM,UAAU,SAAS,CACvB,QAA2B;IAE3B,wBAAwB,CAAC,MAAM,CAAC,eAAe,GAAG,QAAQ,CAAA;AAC5D,CAAC;AAED,MAAM,CAAC;IACL,YAAY,EAAE,UAAU,CAAC,EAAE,CAAC,wBAAwB,GAAG,UAAU;IACjE,YAAY,EAAE,UAAU,CAAC,EAAE,CAAC,wBAAwB,GAAG,UAAU;IACjE,aAAa,EAAE,CAAC,UAAU,EAAE,GAAG,EAAE,EAAE;QACjC,MAAM,QAAQ,GAAG,UAAU,CAAC,MAAM,CAAC,eAAe,CAAA;QAElD,IAAG,QAAQ,EAAE,CAAC;YACZ,QAAQ,EAAE,CAAA;QACZ,CAAC;IACH,CAAC;CACF,CAAC,CAAA"}
@@ -1,12 +1,11 @@
1
1
  import { setUse } from "./setUse.function";
2
2
  function setCurrentTagSupport(support) {
3
- setUse.memory.initCurrentTemplater = support.templater;
3
+ setUse.memory.initCurrentSupport = support;
4
4
  }
5
5
  export function onInit(callback) {
6
- const templater = setUse.memory.initCurrentTemplater;
7
- if (!templater.global.init) {
8
- ;
9
- templater.global.init = callback;
6
+ const tagSupport = setUse.memory.initCurrentSupport;
7
+ if (!tagSupport.global.init) {
8
+ tagSupport.global.init = callback;
10
9
  callback(); // fire init
11
10
  }
12
11
  }
@@ -1 +1 @@
1
- {"version":3,"file":"onInit.js","sourceRoot":"","sources":["../../ts/state/onInit.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAA;AAI1C,SAAS,oBAAoB,CAAC,OAAuB;IACnD,MAAM,CAAC,MAAM,CAAC,oBAAoB,GAAG,OAAO,CAAC,SAAS,CAAA;AACxD,CAAC;AAED,MAAM,UAAU,MAAM,CACpB,QAAwB;IAExB,MAAM,SAAS,GAAG,MAAM,CAAC,MAAM,CAAC,oBAAuC,CAAA;IACvE,IAAG,CAAE,SAAS,CAAC,MAAc,CAAC,IAAI,EAAE,CAAC;QACnC,CAAC;QAAC,SAAS,CAAC,MAAc,CAAC,IAAI,GAAG,QAAQ,CAAA;QAC1C,QAAQ,EAAE,CAAA,CAAC,YAAY;IACzB,CAAC;AACH,CAAC;AAED,MAAM,CAAC;IACL,YAAY,EAAE,UAAU,CAAC,EAAE,CAAC,oBAAoB,CAAC,UAAU,CAAC;IAC5D,YAAY,EAAE,UAAU,CAAC,EAAE,CAAC,oBAAoB,CAAC,UAAU,CAAC;CAC7D,CAAC,CAAA"}
1
+ {"version":3,"file":"onInit.js","sourceRoot":"","sources":["../../ts/state/onInit.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAA;AAI1C,SAAS,oBAAoB,CAAC,OAAoC;IAChE,MAAM,CAAC,MAAM,CAAC,kBAAkB,GAAG,OAAqB,CAAA;AAC1D,CAAC;AAED,MAAM,UAAU,MAAM,CACpB,QAAwB;IAExB,MAAM,UAAU,GAAG,MAAM,CAAC,MAAM,CAAC,kBAAkB,CAAA;IACnD,IAAG,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;QAC3B,UAAU,CAAC,MAAM,CAAC,IAAI,GAAG,QAAQ,CAAA;QACjC,QAAQ,EAAE,CAAA,CAAC,YAAY;IACzB,CAAC;AACH,CAAC;AAED,MAAM,CAAC;IACL,YAAY,EAAE,UAAU,CAAC,EAAE,CAAC,oBAAoB,CAAC,UAAU,CAAC;IAC5D,YAAY,EAAE,UAAU,CAAC,EAAE,CAAC,oBAAoB,CAAC,UAAU,CAAC;CAC7D,CAAC,CAAA"}
@@ -1,2 +1,2 @@
1
- import { Tag } from '../Tag.class';
2
- export declare function providersChangeCheck(tag: Tag): void;
1
+ import { TagSupport } from '../TagSupport.class';
2
+ export declare function providersChangeCheck(tagSupport: TagSupport): void;
@@ -1,45 +1,40 @@
1
1
  import { deepClone, deepEqual } from '../deepFunctions';
2
2
  import { renderTagSupport } from '../renderTagSupport.function';
3
- export function providersChangeCheck(tag) {
4
- const global = tag.tagSupport.templater.global;
3
+ export function providersChangeCheck(tagSupport) {
4
+ const global = tagSupport.global;
5
5
  const providersWithChanges = global.providers.filter(provider => !deepEqual(provider.instance, provider.clone));
6
6
  // reset clones
7
7
  providersWithChanges.forEach(provider => {
8
- const appElement = tag.getAppElement();
8
+ const appElement = tagSupport.getAppElement();
9
9
  handleProviderChanges(appElement, provider);
10
10
  provider.clone = deepClone(provider.instance);
11
11
  });
12
12
  }
13
13
  function handleProviderChanges(appElement, provider) {
14
14
  const tagsWithProvider = getTagsWithProvider(appElement, provider);
15
- tagsWithProvider.forEach(({ tag, renderCount, provider }) => {
16
- if (tag.tagSupport.templater.global.deleted) {
15
+ tagsWithProvider.forEach(({ tagSupport, renderCount, provider }) => {
16
+ if (tagSupport.global.deleted) {
17
17
  return; // i was deleted after another tag processed
18
18
  }
19
- const notRendered = renderCount === tag.tagSupport.templater.global.renderCount;
19
+ const notRendered = renderCount === tagSupport.global.renderCount;
20
20
  if (notRendered) {
21
21
  provider.clone = deepClone(provider.instance);
22
- renderTagSupport(tag.tagSupport, false);
22
+ renderTagSupport(tagSupport, false);
23
23
  }
24
24
  });
25
25
  }
26
- function getTagsWithProvider(tag, provider, memory = []) {
27
- const global = tag.tagSupport.templater.global;
26
+ function getTagsWithProvider(tagSupport, provider, memory = []) {
27
+ const global = tagSupport.global;
28
28
  const compare = global.providers;
29
29
  const hasProvider = compare.find(xProvider => xProvider.constructMethod === provider.constructMethod);
30
30
  if (hasProvider) {
31
31
  memory.push({
32
- tag,
32
+ tagSupport,
33
33
  renderCount: global.renderCount,
34
34
  provider: hasProvider,
35
35
  });
36
36
  }
37
- tag.childTags.forEach(child => getTagsWithProvider(child, provider, memory));
38
- memory.forEach(({ tag }) => {
39
- if (tag.tagSupport.templater.global.deleted) {
40
- throw new Error('do not get here - 0');
41
- }
42
- });
37
+ tagSupport.childTags.forEach(child => getTagsWithProvider(child, provider, memory));
43
38
  return memory;
44
39
  }
45
40
  //# sourceMappingURL=provider.utils.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"provider.utils.js","sourceRoot":"","sources":["../../ts/state/provider.utils.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAA;AAEvD,OAAO,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAA;AAE/D,MAAM,UAAU,oBAAoB,CAAC,GAAQ;IAC3C,MAAM,MAAM,GAAG,GAAG,CAAC,UAAU,CAAC,SAAS,CAAC,MAAM,CAAA;IAC9C,MAAM,oBAAoB,GAAG,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,CAC9D,CAAC,SAAS,CAAC,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAC,KAAK,CAAC,CAC9C,CAAA;IAED,eAAe;IACf,oBAAoB,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE;QACtC,MAAM,UAAU,GAAG,GAAG,CAAC,aAAa,EAAE,CAAA;QAEtC,qBAAqB,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAA;QAE3C,QAAQ,CAAC,KAAK,GAAG,SAAS,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAA;IAC/C,CAAC,CAAC,CAAA;AACJ,CAAC;AAED,SAAS,qBAAqB,CAC5B,UAAe,EACf,QAAkB;IAElB,MAAM,gBAAgB,GAAG,mBAAmB,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAA;IAElE,gBAAgB,CAAC,OAAO,CAAC,CAAC,EAAC,GAAG,EAAE,WAAW,EAAE,QAAQ,EAAC,EAAE,EAAE;QACxD,IAAG,GAAG,CAAC,UAAU,CAAC,SAAS,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;YAC3C,OAAM,CAAC,4CAA4C;QACrD,CAAC;QAED,MAAM,WAAW,GAAG,WAAW,KAAK,GAAG,CAAC,UAAU,CAAC,SAAS,CAAC,MAAM,CAAC,WAAW,CAAA;QAC/E,IAAG,WAAW,EAAE,CAAC;YACf,QAAQ,CAAC,KAAK,GAAG,SAAS,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAA;YAC7C,gBAAgB,CACd,GAAG,CAAC,UAAU,EACd,KAAK,CACN,CAAA;QACH,CAAC;IACH,CAAC,CAAC,CAAA;AACJ,CAAC;AAED,SAAS,mBAAmB,CAC1B,GAAQ,EACR,QAAkB,EAClB,SAA4B,EAAE;IAE9B,MAAM,MAAM,GAAG,GAAG,CAAC,UAAU,CAAC,SAAS,CAAC,MAAM,CAAA;IAC9C,MAAM,OAAO,GAAG,MAAM,CAAC,SAAS,CAAA;IAChC,MAAM,WAAW,GAAG,OAAO,CAAC,IAAI,CAC9B,SAAS,CAAC,EAAE,CAAC,SAAS,CAAC,eAAe,KAAK,QAAQ,CAAC,eAAe,CACpE,CAAA;IAED,IAAG,WAAW,EAAE,CAAC;QACf,MAAM,CAAC,IAAI,CAAC;YACV,GAAG;YACH,WAAW,EAAE,MAAM,CAAC,WAAW;YAC/B,QAAQ,EAAE,WAAW;SACtB,CAAC,CAAA;IACJ,CAAC;IAED,GAAG,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC,mBAAmB,CAChD,KAAK,EACL,QAAQ,EACR,MAAM,CACP,CAAC,CAAA;IAEF,MAAM,CAAC,OAAO,CAAC,CAAC,EAAC,GAAG,EAAC,EAAE,EAAE;QACvB,IAAG,GAAG,CAAC,UAAU,CAAC,SAAS,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;YAC3C,MAAM,IAAI,KAAK,CAAC,qBAAqB,CAAC,CAAA;QACxC,CAAC;IACH,CAAC,CAAC,CAAA;IAEF,OAAO,MAAM,CAAA;AACf,CAAC"}
1
+ {"version":3,"file":"provider.utils.js","sourceRoot":"","sources":["../../ts/state/provider.utils.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAA;AAEvD,OAAO,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAA;AAG/D,MAAM,UAAU,oBAAoB,CAClC,UAAsB;IAEtB,MAAM,MAAM,GAAG,UAAU,CAAC,MAAM,CAAA;IAChC,MAAM,oBAAoB,GAAG,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,CAC9D,CAAC,SAAS,CAAC,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAC,KAAK,CAAC,CAC9C,CAAA;IAED,eAAe;IACf,oBAAoB,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE;QACtC,MAAM,UAAU,GAAG,UAAU,CAAC,aAAa,EAAE,CAAA;QAE7C,qBAAqB,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAA;QAE3C,QAAQ,CAAC,KAAK,GAAG,SAAS,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAA;IAC/C,CAAC,CAAC,CAAA;AACJ,CAAC;AAED,SAAS,qBAAqB,CAC5B,UAAsB,EACtB,QAAkB;IAElB,MAAM,gBAAgB,GAAG,mBAAmB,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAA;IAElE,gBAAgB,CAAC,OAAO,CAAC,CAAC,EAAC,UAAU,EAAE,WAAW,EAAE,QAAQ,EAAC,EAAE,EAAE;QAC/D,IAAG,UAAU,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;YAC7B,OAAM,CAAC,4CAA4C;QACrD,CAAC;QAED,MAAM,WAAW,GAAG,WAAW,KAAK,UAAU,CAAC,MAAM,CAAC,WAAW,CAAA;QACjE,IAAG,WAAW,EAAE,CAAC;YACf,QAAQ,CAAC,KAAK,GAAG,SAAS,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAA;YAC7C,gBAAgB,CACd,UAAU,EACV,KAAK,CACN,CAAA;QACH,CAAC;IACH,CAAC,CAAC,CAAA;AACJ,CAAC;AAED,SAAS,mBAAmB,CAC1B,UAAsB,EACtB,QAAkB,EAClB,SAA4B,EAAE;IAE9B,MAAM,MAAM,GAAG,UAAU,CAAC,MAAM,CAAA;IAChC,MAAM,OAAO,GAAG,MAAM,CAAC,SAAS,CAAA;IAChC,MAAM,WAAW,GAAG,OAAO,CAAC,IAAI,CAC9B,SAAS,CAAC,EAAE,CAAC,SAAS,CAAC,eAAe,KAAK,QAAQ,CAAC,eAAe,CACpE,CAAA;IAED,IAAG,WAAW,EAAE,CAAC;QACf,MAAM,CAAC,IAAI,CAAC;YACV,UAAU;YACV,WAAW,EAAE,MAAM,CAAC,WAAW;YAC/B,QAAQ,EAAE,WAAW;SACtB,CAAC,CAAA;IACJ,CAAC;IAED,UAAU,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC,mBAAmB,CACvD,KAAK,EACL,QAAQ,EACR,MAAM,CACP,CAAC,CAAA;IAEF,OAAO,MAAM,CAAA;AACf,CAAC"}
@@ -1,13 +1,18 @@
1
+ import { TagSupport } from '../TagSupport.class';
1
2
  export type Provider = {
2
3
  constructMethod: any;
3
4
  instance: any;
4
5
  clone: any;
5
6
  };
6
7
  type ProviderConstructor<T> = (new (...args: any[]) => T) | (() => T);
7
- type functionProvider = <T>() => T;
8
- type classProvider = new <T>(...args: any[]) => T;
8
+ export type ProviderConfig = {
9
+ providers: Provider[];
10
+ ownerSupport?: TagSupport;
11
+ };
12
+ type functionProvider<T> = () => T;
13
+ type classProvider<T> = new (...args: any[]) => T;
9
14
  export declare const providers: {
10
- create: <T>(constructMethod: classProvider | functionProvider) => T;
15
+ create: <T>(constructMethod: classProvider<T> | functionProvider<T>) => T;
11
16
  /**
12
17
  * @template T
13
18
  * @param {(new (...args: any[]) => T) | () => T} constructor
@@ -1,10 +1,8 @@
1
1
  import { deepClone } from '../deepFunctions';
2
2
  import { setUse } from './setUse.function';
3
- // TODO: rename
4
3
  setUse.memory.providerConfig = {
5
4
  providers: [],
6
- //currentTagSupport: undefined as TagSupport | undefined,
7
- ownerTag: undefined,
5
+ ownerSupport: undefined,
8
6
  };
9
7
  function get(constructMethod) {
10
8
  const config = setUse.memory.providerConfig;
@@ -19,7 +17,7 @@ export const providers = {
19
17
  return existing.instance;
20
18
  }
21
19
  // Providers with provider requirements just need to use providers.create() and providers.inject()
22
- const instance = constructMethod.constructor ? new constructMethod() : constructMethod();
20
+ const instance = 'prototype' in constructMethod ? new constructMethod() : constructMethod();
23
21
  const config = setUse.memory.providerConfig;
24
22
  config.providers.push({
25
23
  constructMethod,
@@ -40,10 +38,10 @@ export const providers = {
40
38
  }
41
39
  const config = setUse.memory.providerConfig;
42
40
  let owner = {
43
- ownerTag: config.ownerTag
41
+ ownerTagSupport: config.ownerSupport
44
42
  };
45
- while (owner.ownerTag) {
46
- const ownerProviders = owner.ownerTag.tagSupport.templater.global.providers;
43
+ while (owner.ownerTagSupport) {
44
+ const ownerProviders = owner.ownerTagSupport.global.providers;
47
45
  const provider = ownerProviders.find(provider => {
48
46
  if (provider.constructMethod === constructor) {
49
47
  return true;
@@ -54,7 +52,7 @@ export const providers = {
54
52
  config.providers.push(provider);
55
53
  return provider.instance;
56
54
  }
57
- owner = owner.ownerTag; // cause reloop
55
+ owner = owner.ownerTagSupport; // cause reloop
58
56
  }
59
57
  const msg = `Could not inject provider: ${constructor.name} ${constructor}`;
60
58
  console.warn(`${msg}. Available providers`, config.providers);
@@ -62,25 +60,24 @@ export const providers = {
62
60
  }
63
61
  };
64
62
  setUse({
65
- beforeRender: (tagSupport, ownerTag) => {
66
- run(tagSupport, ownerTag);
63
+ beforeRender: (tagSupport, ownerSupport) => {
64
+ run(tagSupport, ownerSupport);
67
65
  },
68
- beforeRedraw: (tagSupport, tag) => {
69
- run(tagSupport, tag.ownerTag);
66
+ beforeRedraw: (tagSupport, newTagSupport) => {
67
+ run(tagSupport, newTagSupport.ownerTagSupport);
70
68
  },
71
69
  afterRender: (tagSupport) => {
72
70
  const config = setUse.memory.providerConfig;
73
- tagSupport.templater.global.providers = [...config.providers];
71
+ tagSupport.global.providers = [...config.providers];
74
72
  config.providers.length = 0;
75
73
  }
76
74
  });
77
- function run(tagSupport, ownerTag) {
75
+ function run(tagSupport, ownerSupport) {
78
76
  const config = setUse.memory.providerConfig;
79
- // config.currentTagSupport = tagSupport
80
- config.ownerTag = ownerTag;
81
- if (tagSupport.templater.global.providers.length) {
77
+ config.ownerSupport = ownerSupport;
78
+ if (tagSupport.global.providers.length) {
82
79
  config.providers.length = 0;
83
- config.providers.push(...tagSupport.templater.global.providers);
80
+ config.providers.push(...tagSupport.global.providers);
84
81
  }
85
82
  }
86
83
  //# sourceMappingURL=providers.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"providers.js","sourceRoot":"","sources":["../../ts/state/providers.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"providers.js","sourceRoot":"","sources":["../../ts/state/providers.ts"],"names":[],"mappings":"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"}
@@ -1,23 +1,25 @@
1
- import { Tag } from '../Tag.class';
2
- import { BaseTagSupport } from '../TagSupport.class';
1
+ import { BaseTagSupport, TagSupport } from '../TagSupport.class';
2
+ import { ProviderConfig } from './providers';
3
3
  import { Config } from './state.utils';
4
4
  interface TagUse {
5
- beforeRender: (tagSupport: BaseTagSupport, ownerTag: Tag) => void;
6
- beforeRedraw: (tagSupport: BaseTagSupport, tag: Tag) => void;
7
- afterRender: (tagSupport: BaseTagSupport, tag: Tag) => void;
8
- beforeDestroy: (tagSupport: BaseTagSupport, tag: Tag) => void;
5
+ beforeRender: (tagSupport: BaseTagSupport, ownerTag?: TagSupport) => void;
6
+ beforeRedraw: (tagSupport: BaseTagSupport, tag: TagSupport) => void;
7
+ afterRender: (tagSupport: BaseTagSupport, tag: TagSupport) => void;
8
+ beforeDestroy: (tagSupport: BaseTagSupport, tag: TagSupport) => void;
9
9
  }
10
10
  export type UseOptions = {
11
- beforeRender?: (tagSupport: BaseTagSupport, ownerTag: Tag) => void;
12
- beforeRedraw?: (tagSupport: BaseTagSupport, tag: Tag) => void;
13
- afterRender?: (tagSupport: BaseTagSupport, tag: Tag) => void;
14
- beforeDestroy?: (tagSupport: BaseTagSupport, tag: Tag) => void;
11
+ beforeRender?: (tagSupport: BaseTagSupport, ownerTag?: TagSupport) => void;
12
+ beforeRedraw?: (tagSupport: BaseTagSupport, tag: TagSupport) => void;
13
+ afterRender?: (tagSupport: BaseTagSupport, tag: TagSupport) => void;
14
+ beforeDestroy?: (tagSupport: BaseTagSupport, tag: TagSupport) => void;
15
15
  };
16
16
  export declare function setUse(use: UseOptions): void;
17
17
  export declare namespace setUse {
18
18
  var tagUse: TagUse[];
19
19
  var memory: Record<string, any> & {
20
20
  stateConfig: Config;
21
+ providerConfig: ProviderConfig;
22
+ initCurrentSupport: TagSupport;
21
23
  };
22
24
  }
23
25
  export {};
@@ -1 +1 @@
1
- {"version":3,"file":"setUse.function.js","sourceRoot":"","sources":["../../ts/state/setUse.function.ts"],"names":[],"mappings":"AAIA,MAAM,MAAM,GAAa,EAAE,CAAA;AAsB3B,MAAM,UAAU,MAAM,CAAC,GAAe;IACpC,wBAAwB;IACxB,MAAM,KAAK,GAAW;QACpB,YAAY,EAAE,GAAG,CAAC,YAAY,IAAI,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC;QACnD,YAAY,EAAE,GAAG,CAAC,YAAY,IAAI,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC;QACnD,WAAW,EAAE,GAAG,CAAC,WAAW,IAAI,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC;QACjD,aAAa,EAAE,GAAG,CAAC,aAAa,IAAI,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC;KACtD,CAAA;IAED,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;AAC3B,CAAC;AAED,MAAM,CAAC,MAAM,GAAG,MAAM,CAAA;AACtB,MAAM,CAAC,MAAM,GAAG,EAAkD,CAAA"}
1
+ {"version":3,"file":"setUse.function.js","sourceRoot":"","sources":["../../ts/state/setUse.function.ts"],"names":[],"mappings":"AAIA,MAAM,MAAM,GAAa,EAAE,CAAA;AAyB3B,MAAM,UAAU,MAAM,CAAC,GAAe;IACpC,wBAAwB;IACxB,MAAM,KAAK,GAAW;QACpB,YAAY,EAAE,GAAG,CAAC,YAAY,IAAI,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC;QACnD,YAAY,EAAE,GAAG,CAAC,YAAY,IAAI,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC;QACnD,WAAW,EAAE,GAAG,CAAC,WAAW,IAAI,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC;QACjD,aAAa,EAAE,GAAG,CAAC,aAAa,IAAI,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC;KACtD,CAAA;IAED,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;AAC3B,CAAC;AAED,MAAM,CAAC,MAAM,GAAG,MAAM,CAAA;AACtB,MAAM,CAAC,MAAM,GAAG,EAId,CAAA"}
@@ -13,9 +13,7 @@ export type Config = {
13
13
  array: StateConfigArray;
14
14
  rearray?: StateConfigArray;
15
15
  };
16
- export type State = {
17
- newest: StateConfigArray;
18
- };
16
+ export type State = StateConfigArray;
19
17
  export type GetSet<T> = (y: T) => [T, T];
20
18
  export declare function getStateValue<T>(state: StateConfigItem<T>): T | undefined;
21
19
  export declare class StateEchoBack {
@@ -5,20 +5,23 @@ setUse.memory.stateConfig = {
5
5
  array: [], // state memory on the first render
6
6
  // rearray: [] as StateConfigArray, // state memory to be used before the next render
7
7
  };
8
+ const beforeRender = (tagSupport) => initState(tagSupport);
8
9
  setUse({
9
- beforeRender: (tagSupport) => initState(tagSupport),
10
- beforeRedraw: (tagSupport) => initState(tagSupport),
10
+ beforeRender,
11
+ beforeRedraw: beforeRender,
11
12
  afterRender: (tagSupport) => {
12
- const state = tagSupport.memory.state;
13
+ const memory = tagSupport.memory;
14
+ const state = memory.state;
13
15
  const config = setUse.memory.stateConfig;
14
16
  const rearray = config.rearray;
15
17
  if (rearray.length) {
16
18
  if (rearray.length !== config.array.length) {
17
19
  const message = `States lengths has changed ${rearray.length} !== ${config.array.length}. Typically occurs when a function is intended to be wrapped with a tag() call`;
20
+ const wrapper = tagSupport.templater?.wrapper;
18
21
  const details = {
19
22
  oldStates: config.array,
20
23
  newStates: config.rearray,
21
- component: tagSupport.templater?.wrapper.original,
24
+ tagFunction: wrapper.original,
22
25
  };
23
26
  const error = new StateMismatchError(message, details);
24
27
  console.warn(message, details);
@@ -26,8 +29,8 @@ setUse({
26
29
  }
27
30
  }
28
31
  delete config.rearray; // clean up any previous runs
29
- state.newest = config.array; // [...config.array]
30
- state.newest.forEach(item => item.lastValue = getStateValue(item)); // set last values
32
+ memory.state = config.array; // [...config.array]
33
+ memory.state.forEach(item => item.lastValue = getStateValue(item)); // set last values
31
34
  config.array = [];
32
35
  }
33
36
  });
@@ -55,30 +58,33 @@ state) {
55
58
  export class StateEchoBack {
56
59
  }
57
60
  function initState(tagSupport) {
58
- const state = tagSupport.memory.state;
61
+ const memory = tagSupport.memory;
62
+ const state = memory.state;
59
63
  const config = setUse.memory.stateConfig;
60
64
  // TODO: This guard may no longer be needed
61
65
  if (config.rearray) {
66
+ const wrapper = tagSupport.templater?.wrapper;
67
+ const wasWrapper = config.tagSupport?.templater.wrapper;
62
68
  const message = 'last state not cleared. Possibly in the middle of rendering one component and another is trying to render';
63
69
  console.error(message, {
64
70
  config,
65
- component: tagSupport.templater?.wrapper.original,
66
- wasInMiddleOf: config.tagSupport?.templater.wrapper.original,
71
+ tagFunction: wrapper.original,
72
+ wasInMiddleOf: wasWrapper.original,
67
73
  state,
68
74
  expectedClearArray: config.rearray,
69
75
  });
70
76
  throw new StateMismatchError(message, {
71
77
  config,
72
- component: tagSupport.templater?.wrapper.original,
78
+ tagFunction: wrapper.original,
73
79
  state,
74
80
  expectedClearArray: config.rearray,
75
81
  });
76
82
  }
77
83
  // TODO: this maybe redundant and not needed
78
84
  config.rearray = []; // .length = 0
79
- if (state?.newest.length) {
80
- state.newest.map(state => getStateValue(state));
81
- config.rearray.push(...state.newest);
85
+ if (state?.length) {
86
+ state.forEach(state => getStateValue(state));
87
+ config.rearray.push(...state);
82
88
  }
83
89
  config.tagSupport = tagSupport;
84
90
  }
@@ -1 +1 @@
1
- {"version":3,"file":"state.utils.js","sourceRoot":"","sources":["../../ts/state/state.utils.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"state.utils.js","sourceRoot":"","sources":["../../ts/state/state.utils.ts"],"names":[],"mappings":"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"}