taggedjs 2.4.16 → 2.4.31

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 (181) hide show
  1. package/bundle.js +1851 -1732
  2. package/bundle.js.map +1 -1
  3. package/js/Clones.type.d.ts +1 -1
  4. package/js/{errors.d.ts → Errors.d.ts} +3 -0
  5. package/js/{errors.js → Errors.js} +6 -0
  6. package/js/{errors.js.map → Errors.js.map} +1 -1
  7. package/js/Tag.class.d.ts +6 -41
  8. package/js/Tag.class.js +2 -347
  9. package/js/Tag.class.js.map +1 -1
  10. package/js/TagSupport.class.d.ts +40 -6
  11. package/js/TagSupport.class.js +268 -30
  12. package/js/TagSupport.class.js.map +1 -1
  13. package/js/TemplaterResult.class.d.ts +16 -16
  14. package/js/TemplaterResult.class.js +35 -46
  15. package/js/TemplaterResult.class.js.map +1 -1
  16. package/js/afterInterpolateElement.function.d.ts +4 -0
  17. package/js/afterInterpolateElement.function.js +14 -0
  18. package/js/afterInterpolateElement.function.js.map +1 -0
  19. package/js/alterProps.function.d.ts +2 -4
  20. package/js/alterProps.function.js +7 -15
  21. package/js/alterProps.function.js.map +1 -1
  22. package/js/bindSubjectCallback.function.js +0 -3
  23. package/js/bindSubjectCallback.function.js.map +1 -1
  24. package/js/checkDestroyPrevious.function.d.ts +5 -5
  25. package/js/checkDestroyPrevious.function.js +20 -17
  26. package/js/checkDestroyPrevious.function.js.map +1 -1
  27. package/js/cloneValueArray.function.d.ts +2 -0
  28. package/js/cloneValueArray.function.js +19 -0
  29. package/js/cloneValueArray.function.js.map +1 -0
  30. package/js/deepFunctions.js +36 -29
  31. package/js/deepFunctions.js.map +1 -1
  32. package/js/destroy.support.d.ts +6 -0
  33. package/js/destroy.support.js +10 -0
  34. package/js/destroy.support.js.map +1 -0
  35. package/js/destroyTag.function.d.ts +2 -3
  36. package/js/destroyTag.function.js +7 -11
  37. package/js/destroyTag.function.js.map +1 -1
  38. package/js/hasTagSupportChanged.function.js +0 -12
  39. package/js/hasTagSupportChanged.function.js.map +1 -1
  40. package/js/index.d.ts +3 -10
  41. package/js/index.js +3 -13
  42. package/js/index.js.map +1 -1
  43. package/js/interpolateTemplate.js +0 -5
  44. package/js/interpolateTemplate.js.map +1 -1
  45. package/js/interpolations/bindSubjectCallback.function.d.ts +7 -0
  46. package/js/interpolations/bindSubjectCallback.function.js +40 -0
  47. package/js/interpolations/bindSubjectCallback.function.js.map +1 -0
  48. package/js/interpolations/elementInitCheck.d.ts +2 -0
  49. package/js/interpolations/elementInitCheck.js +18 -0
  50. package/js/interpolations/elementInitCheck.js.map +1 -0
  51. package/js/interpolations/inputAttribute.d.ts +1 -0
  52. package/js/interpolations/inputAttribute.js +19 -0
  53. package/js/interpolations/inputAttribute.js.map +1 -0
  54. package/js/interpolations/interpolateAttributes.d.ts +4 -0
  55. package/js/interpolations/interpolateAttributes.js +20 -0
  56. package/js/interpolations/interpolateAttributes.js.map +1 -0
  57. package/js/interpolations/interpolateContentTemplates.d.ts +9 -0
  58. package/js/interpolations/interpolateContentTemplates.js +42 -0
  59. package/js/interpolations/interpolateContentTemplates.js.map +1 -0
  60. package/js/interpolations/interpolateElement.d.ts +14 -0
  61. package/js/interpolations/interpolateElement.js +36 -0
  62. package/js/interpolations/interpolateElement.js.map +1 -0
  63. package/js/interpolations/interpolateTemplate.d.ts +32 -0
  64. package/js/interpolations/interpolateTemplate.js +80 -0
  65. package/js/interpolations/interpolateTemplate.js.map +1 -0
  66. package/js/interpolations/interpolations.d.ts +7 -0
  67. package/js/interpolations/interpolations.js +18 -0
  68. package/js/interpolations/interpolations.js.map +1 -0
  69. package/js/interpolations/processAttribute.function.d.ts +5 -0
  70. package/js/interpolations/processAttribute.function.js +122 -0
  71. package/js/interpolations/processAttribute.function.js.map +1 -0
  72. package/js/interpolations/scanTextAreaValue.function.d.ts +3 -0
  73. package/js/interpolations/scanTextAreaValue.function.js +16 -0
  74. package/js/interpolations/scanTextAreaValue.function.js.map +1 -0
  75. package/js/interpolations.js +1 -2
  76. package/js/interpolations.js.map +1 -1
  77. package/js/isInstance.d.ts +4 -1
  78. package/js/isInstance.js +12 -4
  79. package/js/isInstance.js.map +1 -1
  80. package/js/isLikeTags.function.d.ts +3 -1
  81. package/js/isLikeTags.function.js +15 -6
  82. package/js/isLikeTags.function.js.map +1 -1
  83. package/js/processNewValue.function.d.ts +3 -2
  84. package/js/processNewValue.function.js +27 -11
  85. package/js/processNewValue.function.js.map +1 -1
  86. package/js/processRegularValue.function.d.ts +1 -1
  87. package/js/processSubjectComponent.function.d.ts +5 -5
  88. package/js/processSubjectComponent.function.js +27 -35
  89. package/js/processSubjectComponent.function.js.map +1 -1
  90. package/js/processSubjectValue.function.d.ts +11 -7
  91. package/js/processSubjectValue.function.js +20 -7
  92. package/js/processSubjectValue.function.js.map +1 -1
  93. package/js/processTag.function.d.ts +8 -4
  94. package/js/processTag.function.js +23 -39
  95. package/js/processTag.function.js.map +1 -1
  96. package/js/processTagArray.d.ts +6 -4
  97. package/js/processTagArray.js +41 -39
  98. package/js/processTagArray.js.map +1 -1
  99. package/js/processTagResult.function.d.ts +4 -4
  100. package/js/processTagResult.function.js +14 -30
  101. package/js/processTagResult.function.js.map +1 -1
  102. package/js/renderExistingTag.function.d.ts +6 -6
  103. package/js/renderExistingTag.function.js +27 -23
  104. package/js/renderExistingTag.function.js.map +1 -1
  105. package/js/renderTagSupport.function.d.ts +2 -3
  106. package/js/renderTagSupport.function.js +17 -20
  107. package/js/renderTagSupport.function.js.map +1 -1
  108. package/js/setTagPlaceholder.function.d.ts +2 -0
  109. package/js/setTagPlaceholder.function.js +8 -0
  110. package/js/setTagPlaceholder.function.js.map +1 -0
  111. package/js/state/callbackMaker.function.d.ts +3 -0
  112. package/js/state/callbackMaker.function.js +51 -0
  113. package/js/state/callbackMaker.function.js.map +1 -0
  114. package/js/state/getCallback.d.ts +3 -0
  115. package/js/state/getCallback.js +51 -0
  116. package/js/state/getCallback.js.map +1 -0
  117. package/js/state/index.d.ts +10 -0
  118. package/js/state/index.js +10 -0
  119. package/js/state/index.js.map +1 -0
  120. package/js/state/letState.function.d.ts +3 -0
  121. package/js/state/letState.function.js +42 -0
  122. package/js/state/letState.function.js.map +1 -0
  123. package/js/state/onDestroy.d.ts +2 -0
  124. package/js/state/onDestroy.js +17 -0
  125. package/js/state/onDestroy.js.map +1 -0
  126. package/js/state/onInit.d.ts +2 -0
  127. package/js/state/onInit.js +16 -0
  128. package/js/state/onInit.js.map +1 -0
  129. package/js/state/provider.utils.d.ts +2 -0
  130. package/js/state/provider.utils.js +40 -0
  131. package/js/state/provider.utils.js.map +1 -0
  132. package/js/state/providers.d.ts +23 -0
  133. package/js/state/providers.js +83 -0
  134. package/js/state/providers.js.map +1 -0
  135. package/js/state/setProp.function.d.ts +3 -0
  136. package/js/state/setProp.function.js +37 -0
  137. package/js/state/setProp.function.js.map +1 -0
  138. package/js/state/setUse.function.d.ts +25 -0
  139. package/js/state/setUse.function.js +14 -0
  140. package/js/state/setUse.function.js.map +1 -0
  141. package/js/state/state.function.d.ts +2 -0
  142. package/js/state/state.function.js +34 -0
  143. package/js/state/state.function.js.map +1 -0
  144. package/js/state/state.utils.d.ts +20 -0
  145. package/js/state/state.utils.js +91 -0
  146. package/js/state/state.utils.js.map +1 -0
  147. package/js/state/watch.function.d.ts +8 -0
  148. package/js/state/watch.function.js +25 -0
  149. package/js/state/watch.function.js.map +1 -0
  150. package/js/subject/Subject.class.d.ts +10 -6
  151. package/js/subject/Subject.class.js +29 -13
  152. package/js/subject/Subject.class.js.map +1 -1
  153. package/js/subject/Subject.utils.d.ts +7 -5
  154. package/js/subject/Subject.utils.js.map +1 -1
  155. package/js/subject/ValueSubject.d.ts +2 -2
  156. package/js/subject/ValueSubject.js.map +1 -1
  157. package/js/subject/combineLatest.function.js.map +1 -1
  158. package/js/subject.types.d.ts +18 -0
  159. package/js/subject.types.js +2 -0
  160. package/js/subject.types.js.map +1 -0
  161. package/js/tag.d.ts +1 -1
  162. package/js/tag.js +26 -32
  163. package/js/tag.js.map +1 -1
  164. package/js/tagElement.d.ts +3 -7
  165. package/js/tagElement.js +24 -24
  166. package/js/tagElement.js.map +1 -1
  167. package/js/tagRunner.d.ts +7 -6
  168. package/js/tagRunner.js +17 -9
  169. package/js/tagRunner.js.map +1 -1
  170. package/js/updateBeforeTemplate.function.d.ts +1 -1
  171. package/js/updateBeforeTemplate.function.js.map +1 -1
  172. package/js/updateContextItem.function.d.ts +3 -0
  173. package/js/updateContextItem.function.js +43 -0
  174. package/js/updateContextItem.function.js.map +1 -0
  175. package/js/updateExistingTagComponent.function.d.ts +4 -4
  176. package/js/updateExistingTagComponent.function.js +49 -88
  177. package/js/updateExistingTagComponent.function.js.map +1 -1
  178. package/js/updateExistingValue.function.d.ts +2 -7
  179. package/js/updateExistingValue.function.js +94 -50
  180. package/js/updateExistingValue.function.js.map +1 -1
  181. package/package.json +1 -1
@@ -1,7 +1,7 @@
1
- import { Tag } from './Tag.class';
2
- import { BaseTagSupport } from './TagSupport.class';
3
- import { TemplaterResult } from './TemplaterResult.class';
4
- import { TagSubject } from './Tag.utils';
1
+ import { BaseTagSupport, TagSupport } from './TagSupport.class';
2
+ import { TagSubject } from './subject.types';
5
3
  /** Returns true when rendering owner is not needed. Returns false when rendering owner should occur */
6
- export declare function renderExistingTag(oldestTag: Tag, // existing tag already there
7
- newTemplater: TemplaterResult, tagSupport: BaseTagSupport, subject: TagSubject): Tag;
4
+ export declare function renderExistingTag(oldestSupport: TagSupport, // oldest with elements on html
5
+ newSupport: TagSupport, // new to be rendered
6
+ ownerSupport: BaseTagSupport, // ownerSupport
7
+ subject: TagSubject): TagSupport;
@@ -1,31 +1,35 @@
1
- import { providersChangeCheck } from './provider.utils';
1
+ 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,kBAAkB,CAAA;AACvD,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"}
@@ -0,0 +1,3 @@
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
+ export {};
@@ -0,0 +1,51 @@
1
+ import { setUse } from "./setUse.function";
2
+ import { getStateValue } from "./state.utils";
3
+ import { renderTagSupport } from "../renderTagSupport.function";
4
+ import { SyncCallbackError } from "../errors";
5
+ let innerCallback = (callback) => (a, b, c, d, e, f) => {
6
+ throw new SyncCallbackError('Callback function was called immediately in sync and must instead be call async');
7
+ };
8
+ export const callbackMaker = () => innerCallback;
9
+ const originalGetter = innerCallback; // callbackMaker
10
+ setUse({
11
+ beforeRender: (tagSupport) => initMemory(tagSupport),
12
+ beforeRedraw: (tagSupport) => initMemory(tagSupport),
13
+ afterRender: (_tagSupport) => {
14
+ innerCallback = originalGetter; // prevent crossing callbacks with another tag
15
+ },
16
+ });
17
+ function updateState(stateFrom, stateTo) {
18
+ stateFrom.forEach((state, index) => {
19
+ const fromValue = getStateValue(state);
20
+ const callback = stateTo[index].callback;
21
+ if (callback) {
22
+ callback(fromValue); // set the value
23
+ }
24
+ stateTo[index].lastValue = fromValue; // record the value
25
+ });
26
+ }
27
+ function initMemory(tagSupport) {
28
+ const oldState = setUse.memory.stateConfig.array;
29
+ innerCallback = (callback) => {
30
+ const trigger = (...args) => triggerStateUpdate(tagSupport, callback, oldState, ...args);
31
+ return trigger;
32
+ };
33
+ }
34
+ function triggerStateUpdate(tagSupport, callback, oldState, ...args) {
35
+ const state = tagSupport.memory.state;
36
+ // ensure that the oldest has the latest values first
37
+ updateState(state, oldState);
38
+ // run the callback
39
+ const promise = callback(...args);
40
+ // send the oldest state changes into the newest
41
+ updateState(oldState, state);
42
+ renderTagSupport(tagSupport, false);
43
+ if (promise instanceof Promise) {
44
+ promise.finally(() => {
45
+ // send the oldest state changes into the newest
46
+ updateState(oldState, state);
47
+ renderTagSupport(tagSupport, false);
48
+ });
49
+ }
50
+ }
51
+ //# sourceMappingURL=callbackMaker.function.js.map
@@ -0,0 +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;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"}
@@ -0,0 +1,3 @@
1
+ type Callback = <T>(...args: unknown[]) => (T | void);
2
+ export declare const getCallback: () => (callback: Callback) => () => void;
3
+ export {};
@@ -0,0 +1,51 @@
1
+ import { setUse } from "./setUse.function";
2
+ import { getStateValue } from "./state.utils";
3
+ import { renderTagSupport } from "../renderTagSupport.function";
4
+ let innerCallback = (callback) => () => {
5
+ throw new Error('Callback function was called immediately in sync and must instead be call async');
6
+ };
7
+ export const getCallback = () => innerCallback;
8
+ const originalGetter = innerCallback; // getCallback
9
+ setUse({
10
+ beforeRender: (tagSupport) => initMemory(tagSupport),
11
+ beforeRedraw: (tagSupport) => initMemory(tagSupport),
12
+ afterRender: (_tagSupport) => {
13
+ innerCallback = originalGetter; // prevent crossing callbacks with another tag
14
+ },
15
+ });
16
+ function updateState(stateFrom, stateTo) {
17
+ stateFrom.forEach((state, index) => {
18
+ const fromValue = getStateValue(state);
19
+ const callback = stateTo[index].callback;
20
+ if (callback) {
21
+ callback(fromValue); // set the value
22
+ }
23
+ stateTo[index].lastValue = fromValue; // record the value
24
+ });
25
+ }
26
+ function initMemory(tagSupport) {
27
+ const oldState = setUse.memory.stateConfig.array;
28
+ innerCallback = (callback) => {
29
+ const trigger = (...args) => triggerStateUpdate(tagSupport, callback, oldState, ...args);
30
+ return trigger;
31
+ };
32
+ }
33
+ function triggerStateUpdate(tagSupport, callback, oldState, ...args) {
34
+ const state = tagSupport.memory.state;
35
+ const newest = state.newest;
36
+ // ensure that the oldest has the latest values first
37
+ updateState(newest, oldState);
38
+ // run the callback
39
+ const promise = callback(...args);
40
+ // send the oldest state changes into the newest
41
+ updateState(oldState, newest);
42
+ renderTagSupport(tagSupport, false);
43
+ if (promise instanceof Promise) {
44
+ promise.finally(() => {
45
+ // send the oldest state changes into the newest
46
+ updateState(oldState, newest);
47
+ renderTagSupport(tagSupport, false);
48
+ });
49
+ }
50
+ }
51
+ //# sourceMappingURL=getCallback.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getCallback.js","sourceRoot":"","sources":["../../ts/state/getCallback.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;AAI/D,IAAI,aAAa,GAAG,CAAC,QAAkB,EAAE,EAAE,CAAC,GAAS,EAAE;IACrD,MAAM,IAAI,KAAK,CAAC,iFAAiF,CAAC,CAAA;AACpG,CAAC,CAAA;AACD,MAAM,CAAC,MAAM,WAAW,GAAG,GAAG,EAAE,CAAC,aAAa,CAAA;AAE9C,MAAM,cAAc,GAAG,aAAa,CAAA,CAAC,cAAc;AAEnD,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;AAKD,SAAS,UAAU,CAAE,UAA0B;IAC7C,MAAM,QAAQ,GAAqB,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,KAAK,CAAA;IAClE,aAAa,GAAG,CACd,QAAkB,EAClB,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,QAAkB,EAClB,QAA0B,EAC1B,GAAG,IAAW;IAEd,MAAM,KAAK,GAAG,UAAU,CAAC,MAAM,CAAC,KAAc,CAAA;IAC9C,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM,CAAA;IAE3B,qDAAqD;IACrD,WAAW,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAA;IAE7B,mBAAmB;IACnB,MAAM,OAAO,GAAG,QAAQ,CAAC,GAAG,IAAI,CAAC,CAAA;IAEjC,gDAAgD;IAChD,WAAW,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAA;IAE7B,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"}
@@ -0,0 +1,10 @@
1
+ export * from "./watch.function";
2
+ export { setUse } from "./setUse.function";
3
+ export { state } from "./state.function";
4
+ export { letState } from "./letState.function";
5
+ export { setProp } from "./setProp.function";
6
+ export { StateConfigArray, State } from "./state.utils";
7
+ export { providers } from "./providers";
8
+ export * from "./callbackMaker.function";
9
+ export * from "./onInit";
10
+ export * from "./onDestroy";
@@ -0,0 +1,10 @@
1
+ export * from "./watch.function";
2
+ export { setUse } from "./setUse.function";
3
+ export { state } from "./state.function";
4
+ export { letState } from "./letState.function";
5
+ export { setProp } from "./setProp.function";
6
+ export { providers } from "./providers";
7
+ export * from "./callbackMaker.function";
8
+ export * from "./onInit";
9
+ export * from "./onDestroy";
10
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../ts/state/index.ts"],"names":[],"mappings":"AAAA,cAAc,kBAAkB,CAAA;AAChC,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAA;AAC1C,OAAO,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAA;AACxC,OAAO,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAA;AAC9C,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAA;AAE5C,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAA;AACvC,cAAc,0BAA0B,CAAA;AACxC,cAAc,UAAU,CAAA;AACxB,cAAc,aAAa,CAAA"}
@@ -0,0 +1,3 @@
1
+ import { GetSet } from './state.utils';
2
+ /** Used for variables that need to remain the same variable during render passes */
3
+ export declare function letState<T>(defaultValue: T | (() => T)): ((getSet: GetSet<T>) => T);
@@ -0,0 +1,42 @@
1
+ import { getStateValue } from './state.utils';
2
+ import { setUse } from './setUse.function';
3
+ /** Used for variables that need to remain the same variable during render passes */
4
+ export function letState(defaultValue) {
5
+ const config = setUse.memory.stateConfig;
6
+ const rearray = config.rearray;
7
+ let getSetMethod;
8
+ const restate = rearray[config.array.length];
9
+ if (restate) {
10
+ let oldValue = getStateValue(restate);
11
+ getSetMethod = ((x) => [oldValue, oldValue = x]);
12
+ const push = {
13
+ get: () => getStateValue(push),
14
+ callback: getSetMethod,
15
+ lastValue: oldValue,
16
+ defaultValue: restate.defaultValue,
17
+ };
18
+ config.array.push(push);
19
+ return makeStateResult(oldValue, push);
20
+ }
21
+ // State first time run
22
+ const defaultFn = defaultValue instanceof Function ? defaultValue : () => defaultValue;
23
+ let initValue = defaultFn();
24
+ getSetMethod = ((x) => [initValue, initValue = x]);
25
+ const push = {
26
+ get: () => getStateValue(push),
27
+ callback: getSetMethod,
28
+ lastValue: initValue,
29
+ defaultValue: initValue,
30
+ };
31
+ config.array.push(push);
32
+ return makeStateResult(initValue, push);
33
+ }
34
+ function makeStateResult(initValue, push) {
35
+ // return initValue
36
+ const result = (y) => {
37
+ push.callback = y || (x => [initValue, initValue = x]);
38
+ return initValue;
39
+ };
40
+ return result;
41
+ }
42
+ //# sourceMappingURL=letState.function.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"letState.function.js","sourceRoot":"","sources":["../../ts/state/letState.function.ts"],"names":[],"mappings":"AAAA,OAAO,EAAkE,aAAa,EAAE,MAAM,eAAe,CAAA;AAC7G,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAA;AAE1C,oFAAoF;AACpF,MAAM,UAAU,QAAQ,CACtB,YAA2B;IAE3B,MAAM,MAAM,GAAW,MAAM,CAAC,MAAM,CAAC,WAAW,CAAA;IAChD,MAAM,OAAO,GAAG,MAAM,CAAC,OAA2B,CAAA;IAClD,IAAI,YAA4B,CAAA;IAEhC,MAAM,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAA;IAC5C,IAAG,OAAO,EAAE,CAAC;QACX,IAAI,QAAQ,GAAG,aAAa,CAAC,OAAO,CAAM,CAAA;QAE1C,YAAY,GAAG,CAAC,CAAC,CAAI,EAAE,EAAE,CAAC,CAAC,QAAQ,EAAE,QAAQ,GAAG,CAAC,CAAC,CAAC,CAAA;QACnD,MAAM,IAAI,GAAuB;YAC/B,GAAG,EAAE,GAAG,EAAE,CAAC,aAAa,CAAC,IAAI,CAAM;YACnC,QAAQ,EAAE,YAAY;YACtB,SAAS,EAAE,QAAQ;YACnB,YAAY,EAAE,OAAO,CAAC,YAAY;SACnC,CAAA;QAED,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;QAEvB,OAAO,eAAe,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAA;IACxC,CAAC;IAED,uBAAuB;IACvB,MAAM,SAAS,GAAG,YAAY,YAAY,QAAQ,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,YAAY,CAAA;IACtF,IAAI,SAAS,GAAG,SAAS,EAAE,CAAA;IAE3B,YAAY,GAAG,CAAC,CAAC,CAAI,EAAE,EAAE,CAAC,CAAC,SAAS,EAAE,SAAS,GAAG,CAAC,CAAC,CAAC,CAAA;IACrD,MAAM,IAAI,GAAuB;QAC/B,GAAG,EAAE,GAAG,EAAE,CAAC,aAAa,CAAC,IAAI,CAAM;QACnC,QAAQ,EAAE,YAAY;QACtB,SAAS,EAAE,SAAS;QACpB,YAAY,EAAE,SAAS;KACxB,CAAA;IACD,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;IAEvB,OAAO,eAAe,CAAC,SAAS,EAAE,IAAI,CAAC,CAAA;AACzC,CAAC;AAED,SAAS,eAAe,CACtB,SAAY,EACZ,IAAwB;IAExB,mBAAmB;IACnB,MAAM,MAAM,GAAI,CAAC,CAAM,EAAE,EAAE;QACzB,IAAI,CAAC,QAAQ,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,SAAS,EAAE,SAAS,GAAG,CAAC,CAAC,CAAC,CAAA;QAEtD,OAAO,SAAS,CAAA;IAClB,CAAC,CAAA;IAED,OAAO,MAAM,CAAA;AACf,CAAC"}
@@ -0,0 +1,2 @@
1
+ export type OnDestroyCallback = () => unknown;
2
+ export declare function onDestroy(callback: OnDestroyCallback): void;
@@ -0,0 +1,17 @@
1
+ import { setUse } from "./setUse.function";
2
+ /** When undefined, it means a tag is being built for the first time so do run destroy(s) */
3
+ let destroyCurrentTagSupport;
4
+ export function onDestroy(callback) {
5
+ destroyCurrentTagSupport.global.destroyCallback = callback;
6
+ }
7
+ setUse({
8
+ beforeRender: tagSupport => destroyCurrentTagSupport = tagSupport,
9
+ beforeRedraw: tagSupport => destroyCurrentTagSupport = tagSupport,
10
+ beforeDestroy: (tagSupport, tag) => {
11
+ const callback = tagSupport.global.destroyCallback;
12
+ if (callback) {
13
+ callback();
14
+ }
15
+ }
16
+ });
17
+ //# sourceMappingURL=onDestroy.js.map
@@ -0,0 +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,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"}
@@ -0,0 +1,2 @@
1
+ export type OnInitCallback = () => unknown;
2
+ export declare function onInit(callback: OnInitCallback): void;
@@ -0,0 +1,16 @@
1
+ import { setUse } from "./setUse.function";
2
+ function setCurrentTagSupport(support) {
3
+ setUse.memory.initCurrentSupport = support;
4
+ }
5
+ export function onInit(callback) {
6
+ const tagSupport = setUse.memory.initCurrentSupport;
7
+ if (!tagSupport.global.init) {
8
+ tagSupport.global.init = callback;
9
+ callback(); // fire init
10
+ }
11
+ }
12
+ setUse({
13
+ beforeRender: tagSupport => setCurrentTagSupport(tagSupport),
14
+ beforeRedraw: tagSupport => setCurrentTagSupport(tagSupport),
15
+ });
16
+ //# sourceMappingURL=onInit.js.map
@@ -0,0 +1 @@
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"}
@@ -0,0 +1,2 @@
1
+ import { TagSupport } from '../TagSupport.class';
2
+ export declare function providersChangeCheck(tagSupport: TagSupport): void;
@@ -0,0 +1,40 @@
1
+ import { deepClone, deepEqual } from '../deepFunctions';
2
+ import { renderTagSupport } from '../renderTagSupport.function';
3
+ export function providersChangeCheck(tagSupport) {
4
+ const global = tagSupport.global;
5
+ const providersWithChanges = global.providers.filter(provider => !deepEqual(provider.instance, provider.clone));
6
+ // reset clones
7
+ providersWithChanges.forEach(provider => {
8
+ const appElement = tagSupport.getAppElement();
9
+ handleProviderChanges(appElement, provider);
10
+ provider.clone = deepClone(provider.instance);
11
+ });
12
+ }
13
+ function handleProviderChanges(appElement, provider) {
14
+ const tagsWithProvider = getTagsWithProvider(appElement, provider);
15
+ tagsWithProvider.forEach(({ tagSupport, renderCount, provider }) => {
16
+ if (tagSupport.global.deleted) {
17
+ return; // i was deleted after another tag processed
18
+ }
19
+ const notRendered = renderCount === tagSupport.global.renderCount;
20
+ if (notRendered) {
21
+ provider.clone = deepClone(provider.instance);
22
+ renderTagSupport(tagSupport, false);
23
+ }
24
+ });
25
+ }
26
+ function getTagsWithProvider(tagSupport, provider, memory = []) {
27
+ const global = tagSupport.global;
28
+ const compare = global.providers;
29
+ const hasProvider = compare.find(xProvider => xProvider.constructMethod === provider.constructMethod);
30
+ if (hasProvider) {
31
+ memory.push({
32
+ tagSupport,
33
+ renderCount: global.renderCount,
34
+ provider: hasProvider,
35
+ });
36
+ }
37
+ tagSupport.childTags.forEach(child => getTagsWithProvider(child, provider, memory));
38
+ return memory;
39
+ }
40
+ //# sourceMappingURL=provider.utils.js.map
@@ -0,0 +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;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"}
@@ -0,0 +1,23 @@
1
+ import { TagSupport } from '../TagSupport.class';
2
+ export type Provider = {
3
+ constructMethod: any;
4
+ instance: any;
5
+ clone: any;
6
+ };
7
+ type ProviderConstructor<T> = (new (...args: any[]) => T) | (() => 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;
14
+ export declare const providers: {
15
+ create: <T>(constructMethod: classProvider<T> | functionProvider<T>) => T;
16
+ /**
17
+ * @template T
18
+ * @param {(new (...args: any[]) => T) | () => T} constructor
19
+ * @returns {T}
20
+ */
21
+ inject: <T_1>(constructor: ProviderConstructor<T_1>) => T_1;
22
+ };
23
+ export {};
@@ -0,0 +1,83 @@
1
+ import { deepClone } from '../deepFunctions';
2
+ import { setUse } from './setUse.function';
3
+ setUse.memory.providerConfig = {
4
+ providers: [],
5
+ ownerSupport: undefined,
6
+ };
7
+ function get(constructMethod) {
8
+ const config = setUse.memory.providerConfig;
9
+ const providers = config.providers;
10
+ return providers.find(provider => provider.constructMethod === constructMethod);
11
+ }
12
+ export const providers = {
13
+ create: (constructMethod) => {
14
+ const existing = get(constructMethod);
15
+ if (existing) {
16
+ existing.clone = deepClone(existing.instance);
17
+ return existing.instance;
18
+ }
19
+ // Providers with provider requirements just need to use providers.create() and providers.inject()
20
+ const instance = constructMethod.constructor ? new constructMethod() : constructMethod();
21
+ const config = setUse.memory.providerConfig;
22
+ config.providers.push({
23
+ constructMethod,
24
+ instance,
25
+ clone: deepClone(instance)
26
+ });
27
+ return instance;
28
+ },
29
+ /**
30
+ * @template T
31
+ * @param {(new (...args: any[]) => T) | () => T} constructor
32
+ * @returns {T}
33
+ */
34
+ inject: (constructor) => {
35
+ const oldValue = get(constructor);
36
+ if (oldValue) {
37
+ return oldValue.instance;
38
+ }
39
+ const config = setUse.memory.providerConfig;
40
+ let owner = {
41
+ ownerTagSupport: config.ownerSupport
42
+ };
43
+ while (owner.ownerTagSupport) {
44
+ const ownerProviders = owner.ownerTagSupport.global.providers;
45
+ const provider = ownerProviders.find(provider => {
46
+ if (provider.constructMethod === constructor) {
47
+ return true;
48
+ }
49
+ });
50
+ if (provider) {
51
+ provider.clone = deepClone(provider.instance); // keep a copy of the latest before any change occur
52
+ config.providers.push(provider);
53
+ return provider.instance;
54
+ }
55
+ owner = owner.ownerTagSupport; // cause reloop
56
+ }
57
+ const msg = `Could not inject provider: ${constructor.name} ${constructor}`;
58
+ console.warn(`${msg}. Available providers`, config.providers);
59
+ throw new Error(msg);
60
+ }
61
+ };
62
+ setUse({
63
+ beforeRender: (tagSupport, ownerSupport) => {
64
+ run(tagSupport, ownerSupport);
65
+ },
66
+ beforeRedraw: (tagSupport, newTagSupport) => {
67
+ run(tagSupport, newTagSupport.ownerTagSupport);
68
+ },
69
+ afterRender: (tagSupport) => {
70
+ const config = setUse.memory.providerConfig;
71
+ tagSupport.global.providers = [...config.providers];
72
+ config.providers.length = 0;
73
+ }
74
+ });
75
+ function run(tagSupport, ownerSupport) {
76
+ const config = setUse.memory.providerConfig;
77
+ config.ownerSupport = ownerSupport;
78
+ if (tagSupport.global.providers.length) {
79
+ config.providers.length = 0;
80
+ config.providers.push(...tagSupport.global.providers);
81
+ }
82
+ }
83
+ //# sourceMappingURL=providers.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"providers.js","sourceRoot":"","sources":["../../ts/state/providers.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import { GetSet } from './state.utils';
2
+ /** Used for variables that need to remain the same variable during render passes */
3
+ export declare function setProp<T>(getSet: GetSet<any>): T;