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
package/js/tag.js CHANGED
@@ -1,7 +1,7 @@
1
- import { isSubjectInstance, isTagArray, isTagInstance } from './isInstance';
2
- import { setUse } from './setUse.function';
1
+ import { isSubjectInstance, isTagArray, isTagClass, isTagTemplater } from './isInstance';
2
+ import { setUse } from './state';
3
3
  import { TemplaterResult } from './TemplaterResult.class';
4
- import { runTagCallback } from './bindSubjectCallback.function';
4
+ import { runTagCallback } from './interpolations/bindSubjectCallback.function';
5
5
  import { deepClone } from './deepFunctions';
6
6
  import { TagSupport } from './TagSupport.class';
7
7
  import { alterProps } from './alterProps.function';
@@ -11,8 +11,10 @@ let tagCount = 0;
11
11
  /** Wraps a tag component in a state manager and always push children to last argument as an array */
12
12
  // export function tag<T>(a: T): T;
13
13
  export function tag(tagComponent) {
14
+ /** function developer triggers */
14
15
  const result = (function tagWrapper(props, children) {
15
- const isPropTag = isTagInstance(props) || isTagArray(props);
16
+ // is the props argument actually children?
17
+ const isPropTag = isTagClass(props) || isTagTemplater(props) || isTagArray(props);
16
18
  if (isPropTag) {
17
19
  children = props;
18
20
  props = undefined;
@@ -20,6 +22,7 @@ export function tag(tagComponent) {
20
22
  const { childSubject, madeSubject } = kidsToTagArraySubject(children);
21
23
  childSubject.isChildSubject = true;
22
24
  const templater = new TemplaterResult(props, childSubject);
25
+ // attach memory back to original function that contains developer display logic
23
26
  const innerTagWrap = getTagWrap(templater, madeSubject);
24
27
  innerTagWrap.original = tagComponent;
25
28
  templater.tagged = true;
@@ -30,6 +33,7 @@ export function tag(tagComponent) {
30
33
  // group tags together and have hmr pickup
31
34
  updateComponent(tagComponent);
32
35
  tags.push(tagComponent);
36
+ // fake the return as being (props?, children?) => TemplaterResult
33
37
  return result;
34
38
  }
35
39
  function kidsToTagArraySubject(children) {
@@ -59,45 +63,35 @@ function updateComponent(tagComponent) {
59
63
  tagComponent.setUse = setUse;
60
64
  tagComponent.tagIndex = tagCount++; // needed for things like HMR
61
65
  }
62
- /** creates/returns a function that when called then calls the original component function */
66
+ /** creates/returns a function that when called then calls the original component function
67
+ * Gets used as templater.wrapper()
68
+ */
63
69
  function getTagWrap(templater, madeSubject) {
70
+ // this function gets called by taggedjs
64
71
  const innerTagWrap = function (oldTagSetup, subject) {
65
- const global = oldTagSetup.templater.global;
66
- global.newestTemplater = templater;
72
+ const global = oldTagSetup.global;
67
73
  ++global.renderCount;
68
- templater.global = global;
69
74
  const childSubject = templater.children;
70
- const lastArray = global.oldest?.tagSupport.templater.children.lastArray;
75
+ const lastArray = global.oldest?.templater.children.lastArray;
71
76
  if (lastArray) {
72
77
  childSubject.lastArray = lastArray;
73
78
  }
74
79
  const originalFunction = innerTagWrap.original;
75
- // const oldTagSetup = templater.tagSupport
76
- const oldest = templater.global.oldest;
77
- if (oldest && !oldest.hasLiveElements) {
78
- throw new Error('issue already 22');
79
- }
80
80
  let props = templater.props;
81
- const ownerTagSupport = oldTagSetup.ownerTagSupport;
82
- const oldTemplater = ownerTagSupport?.templater;
83
- const oldLatest = oldTemplater?.global.newest;
84
- const newestOwnerTemplater = oldLatest?.tagSupport.templater;
85
- if (oldLatest && !newestOwnerTemplater) {
86
- throw new Error('what to do here?');
87
- }
88
- let castedProps = alterProps(props, newestOwnerTemplater, oldTagSetup.ownerTagSupport);
81
+ let castedProps = alterProps(props, oldTagSetup.ownerTagSupport);
89
82
  const clonedProps = deepClone(props); // castedProps
90
83
  // CALL ORIGINAL COMPONENT FUNCTION
91
84
  const tag = originalFunction(castedProps, childSubject);
92
- tag.version = global.renderCount;
93
- tag.tagSupport = new TagSupport(oldTagSetup.ownerTagSupport, templater, subject);
94
- tag.tagSupport.propsConfig = {
95
- latest: props, // castedProps
85
+ tag.templater = templater;
86
+ templater.tag = tag;
87
+ const tagSupport = new TagSupport(templater, oldTagSetup.ownerTagSupport, subject, global.renderCount);
88
+ tagSupport.global = global;
89
+ tagSupport.propsConfig = {
90
+ latest: props,
96
91
  latestCloned: clonedProps,
97
- clonedProps: clonedProps,
98
- lastClonedKidValues: tag.tagSupport.propsConfig.lastClonedKidValues,
92
+ lastClonedKidValues: tagSupport.propsConfig.lastClonedKidValues,
99
93
  };
100
- tag.tagSupport.memory = oldTagSetup.memory; // state handover
94
+ tagSupport.memory = oldTagSetup.memory; // state handover
101
95
  if (madeSubject) {
102
96
  childSubject.value.forEach(kid => {
103
97
  kid.values.forEach((value, index) => {
@@ -110,16 +104,16 @@ function getTagWrap(templater, madeSubject) {
110
104
  }
111
105
  // all functions need to report to me
112
106
  kid.values[index] = function (...args) {
113
- const ownerTag = tag.ownerTag;
107
+ const ownerSupport = tagSupport.ownerTagSupport;
114
108
  runTagCallback(value, // callback
115
- ownerTag, this, // bindTo
109
+ ownerSupport, this, // bindTo
116
110
  args);
117
111
  };
118
112
  valuesValue.isChildOverride = true;
119
113
  });
120
114
  });
121
115
  }
122
- return tag;
116
+ return tagSupport;
123
117
  };
124
118
  return innerTagWrap;
125
119
  }
package/js/tag.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"tag.js","sourceRoot":"","sources":["../ts/tag.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"tag.js","sourceRoot":"","sources":["../ts/tag.ts"],"names":[],"mappings":"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"}
@@ -1,13 +1,9 @@
1
- import { BaseTagSupport } from './TagSupport.class';
1
+ import { TagSupport } from './TagSupport.class';
2
2
  import { TemplaterResult } from './TemplaterResult.class';
3
- import { Tag } from './Tag.class';
4
3
  import { TagComponent } from './tag';
5
4
  export declare function tagElement(app: TagComponent, // (...args: unknown[]) => TemplaterResult,
6
5
  element: HTMLElement | Element, props: unknown): {
7
- tag: Tag;
6
+ tagSupport: TagSupport;
8
7
  tags: TagComponent[];
9
8
  };
10
- export declare function applyTagUpdater(wrapper: TemplaterResult): {
11
- tag: Tag;
12
- tagSupport: BaseTagSupport;
13
- };
9
+ export declare function runWrapper(templater: TemplaterResult): TagSupport;
package/js/tagElement.js CHANGED
@@ -6,7 +6,7 @@ export function tagElement(app, // (...args: unknown[]) => TemplaterResult,
6
6
  element, props) {
7
7
  const appElmIndex = appElements.findIndex(appElm => appElm.element === element);
8
8
  if (appElmIndex >= 0) {
9
- appElements[appElmIndex].tag.destroy();
9
+ appElements[appElmIndex].tagSupport.destroy();
10
10
  appElements.splice(appElmIndex, 1);
11
11
  // an element already had an app on it
12
12
  console.warn('Found and destroyed app element already rendered to element', { element });
@@ -14,36 +14,36 @@ element, props) {
14
14
  // Create the app which returns [props, runOneTimeFunction]
15
15
  const wrapper = app(props);
16
16
  // have a function setup and call the tagWrapper with (props, {update, async, on})
17
- const result = applyTagUpdater(wrapper);
18
- const { tag } = result;
17
+ const tagSupport = runWrapper(wrapper);
19
18
  // TODO: is the below needed?
20
- tag.appElement = element;
21
- tag.tagSupport.templater.global.isApp = true;
19
+ tagSupport.appElement = element;
20
+ tagSupport.isApp = true;
21
+ tagSupport.global.isApp = true;
22
22
  const templateElm = document.createElement('template');
23
23
  templateElm.setAttribute('id', 'app-tag-' + appElements.length);
24
24
  templateElm.setAttribute('app-tag-detail', appElements.length.toString());
25
25
  element.appendChild(templateElm);
26
- tag.buildBeforeElement(templateElm);
27
- wrapper.global.oldest = tag;
28
- wrapper.global.newest = tag;
29
- if (!tag.hasLiveElements) {
30
- throw new Error('x');
31
- }
32
- ;
26
+ tagSupport.buildBeforeElement(templateElm);
27
+ tagSupport.global.oldest = tagSupport;
28
+ tagSupport.global.newest = tagSupport;
33
29
  element.setUse = app.original.setUse;
34
- appElements.push({ element, tag });
35
- return { tag, tags: app.original.tags };
30
+ appElements.push({ element, tagSupport });
31
+ return {
32
+ tagSupport,
33
+ tags: app.original.tags,
34
+ };
36
35
  }
37
- export function applyTagUpdater(wrapper) {
38
- const subject = new ValueSubject({});
39
- const tagSupport = new BaseTagSupport(wrapper, subject);
40
- wrapper.tagSupport = tagSupport;
41
- runBeforeRender(tagSupport, undefined);
36
+ export function runWrapper(templater) {
37
+ let newSupport = {};
38
+ const subject = new ValueSubject(newSupport);
39
+ newSupport = new BaseTagSupport(templater, subject);
40
+ subject.set(templater);
41
+ subject.tagSupport = newSupport;
42
+ runBeforeRender(newSupport, undefined);
42
43
  // Call the apps function for our tag templater
43
- const tag = wrapper.wrapper(tagSupport, subject);
44
- // wrapper.global.oldest = tag
45
- // wrapper.global.newest = tag
46
- runAfterRender(tagSupport, tag);
47
- return { tag, tagSupport };
44
+ const wrapper = templater.wrapper;
45
+ const tagSupport = wrapper(newSupport, subject);
46
+ runAfterRender(newSupport, tagSupport);
47
+ return tagSupport;
48
48
  }
49
49
  //# sourceMappingURL=tagElement.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"tagElement.js","sourceRoot":"","sources":["../ts/tagElement.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAA;AACnD,OAAO,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,aAAa,CAAA;AAI7D,OAAO,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAA;AAGrD,MAAM,WAAW,GAAmC,EAAE,CAAA;AAEtD,MAAM,UAAU,UAAU,CACxB,GAAiB,EAAE,2CAA2C;AAC9D,OAA8B,EAC9B,KAAc;IAEd,MAAM,WAAW,GAAG,WAAW,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,OAAO,KAAK,OAAO,CAAC,CAAA;IAC/E,IAAG,WAAW,IAAI,CAAC,EAAE,CAAC;QACpB,WAAW,CAAC,WAAW,CAAC,CAAC,GAAG,CAAC,OAAO,EAAE,CAAA;QACtC,WAAW,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC,CAAC,CAAA;QAClC,sCAAsC;QACtC,OAAO,CAAC,IAAI,CAAC,6DAA6D,EAAE,EAAC,OAAO,EAAC,CAAC,CAAA;IACxF,CAAC;IAED,2DAA2D;IAC3D,MAAM,OAAO,GAAG,GAAG,CAAC,KAAK,CAA+B,CAAA;IAExD,kFAAkF;IAClF,MAAM,MAAM,GAAG,eAAe,CAAC,OAAO,CAAC,CAAA;IACvC,MAAM,EAAC,GAAG,EAAC,GAAG,MAAM,CAAA;IAEpB,6BAA6B;IAC7B,GAAG,CAAC,UAAU,GAAG,OAAO,CAAA;IACxB,GAAG,CAAC,UAAU,CAAC,SAAS,CAAC,MAAM,CAAC,KAAK,GAAG,IAAI,CAAA;IAE5C,MAAM,WAAW,GAAG,QAAQ,CAAC,aAAa,CAAC,UAAU,CAAC,CAAA;IACtD,WAAW,CAAC,YAAY,CAAC,IAAI,EAAE,UAAU,GAAG,WAAW,CAAC,MAAM,CAAC,CAAA;IAC/D,WAAW,CAAC,YAAY,CAAC,gBAAgB,EAAE,WAAW,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAA;IACzE,OAAO,CAAC,WAAW,CAAC,WAAW,CAAC,CAAA;IAEhC,GAAG,CAAC,kBAAkB,CAAC,WAAW,CAAC,CAAA;IAEnC,OAAO,CAAC,MAAM,CAAC,MAAM,GAAG,GAAG,CAAA;IAC3B,OAAO,CAAC,MAAM,CAAC,MAAM,GAAG,GAAG,CAAA;IAE3B,IAAG,CAAC,GAAG,CAAC,eAAe,EAAE,CAAC;QACxB,MAAM,IAAI,KAAK,CAAC,GAAG,CAAC,CAAA;IACtB,CAAC;IAED,CAAC;IAAC,OAAe,CAAC,MAAM,GAAI,GAAW,CAAC,QAAQ,CAAC,MAAM,CAAA;IAEvD,WAAW,CAAC,IAAI,CAAC,EAAC,OAAO,EAAE,GAAG,EAAC,CAAC,CAAA;IAEhC,OAAO,EAAC,GAAG,EAAE,IAAI,EAAG,GAAW,CAAC,QAAQ,CAAC,IAAI,EAAC,CAAA;AAChD,CAAC;AAED,MAAM,UAAU,eAAe,CAC7B,OAAwB;IAExB,MAAM,OAAO,GAAG,IAAI,YAAY,CAAM,EAAS,CAA0B,CAAA;IACzE,MAAM,UAAU,GAAG,IAAI,cAAc,CAAC,OAAO,EAAE,OAAO,CAAC,CAAA;IACvD,OAAO,CAAC,UAAU,GAAG,UAAU,CAAA;IAC/B,eAAe,CAAC,UAAU,EAAE,SAAuB,CAAC,CAAA;IAEpD,+CAA+C;IAC/C,MAAM,GAAG,GAAG,OAAO,CAAC,OAAO,CACzB,UAAU,EACV,OAAO,CACR,CAAA;IACD,8BAA8B;IAC9B,8BAA8B;IAC9B,cAAc,CAAC,UAAU,EAAE,GAAG,CAAC,CAAA;IAE/B,OAAO,EAAE,GAAG,EAAE,UAAU,EAAE,CAAA;AAC5B,CAAC"}
1
+ {"version":3,"file":"tagElement.js","sourceRoot":"","sources":["../ts/tagElement.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAc,MAAM,oBAAoB,CAAA;AAC/D,OAAO,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,aAAa,CAAA;AAI7D,OAAO,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAA;AAGrD,MAAM,WAAW,GAGX,EAAE,CAAA;AAER,MAAM,UAAU,UAAU,CACxB,GAAiB,EAAE,2CAA2C;AAC9D,OAA8B,EAC9B,KAAc;IAKd,MAAM,WAAW,GAAG,WAAW,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,OAAO,KAAK,OAAO,CAAC,CAAA;IAC/E,IAAG,WAAW,IAAI,CAAC,EAAE,CAAC;QACpB,WAAW,CAAC,WAAW,CAAC,CAAC,UAAU,CAAC,OAAO,EAAE,CAAA;QAC7C,WAAW,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC,CAAC,CAAA;QAClC,sCAAsC;QACtC,OAAO,CAAC,IAAI,CAAC,6DAA6D,EAAE,EAAC,OAAO,EAAC,CAAC,CAAA;IACxF,CAAC;IAED,2DAA2D;IAC3D,MAAM,OAAO,GAAG,GAAG,CAAC,KAAK,CAA+B,CAAA;IAExD,kFAAkF;IAClF,MAAM,UAAU,GAAG,UAAU,CAAC,OAAO,CAAC,CAAA;IAEtC,6BAA6B;IAC7B,UAAU,CAAC,UAAU,GAAG,OAAO,CAAA;IAC/B,UAAU,CAAC,KAAK,GAAG,IAAI,CAAA;IACvB,UAAU,CAAC,MAAM,CAAC,KAAK,GAAG,IAAI,CAAA;IAE9B,MAAM,WAAW,GAAG,QAAQ,CAAC,aAAa,CAAC,UAAU,CAAC,CAAA;IACtD,WAAW,CAAC,YAAY,CAAC,IAAI,EAAE,UAAU,GAAG,WAAW,CAAC,MAAM,CAAC,CAAA;IAC/D,WAAW,CAAC,YAAY,CAAC,gBAAgB,EAAE,WAAW,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAA;IACzE,OAAO,CAAC,WAAW,CAAC,WAAW,CAAC,CAAA;IAEhC,UAAU,CAAC,kBAAkB,CAAC,WAAW,CAAC,CAAA;IAE1C,UAAU,CAAC,MAAM,CAAC,MAAM,GAAG,UAAU,CAAA;IACrC,UAAU,CAAC,MAAM,CAAC,MAAM,GAAG,UAAU,CAEpC;IAAC,OAAe,CAAC,MAAM,GAAI,GAAW,CAAC,QAAQ,CAAC,MAAM,CAAA;IAEvD,WAAW,CAAC,IAAI,CAAC,EAAC,OAAO,EAAE,UAAU,EAAC,CAAC,CAAA;IAEvC,OAAO;QACL,UAAU;QACV,IAAI,EAAG,GAAW,CAAC,QAAQ,CAAC,IAAI;KACjC,CAAA;AACH,CAAC;AAED,MAAM,UAAU,UAAU,CACxB,SAA0B;IAE1B,IAAI,UAAU,GAAG,EAAgB,CAAA;IACjC,MAAM,OAAO,GAAG,IAAI,YAAY,CAAa,UAAU,CAA0B,CAAA;IAEjF,UAAU,GAAG,IAAI,cAAc,CAC7B,SAAS,EACT,OAAO,CACM,CAAA;IAEf,OAAO,CAAC,GAAG,CAAE,SAAS,CAAE,CAAA;IAExB,OAAO,CAAC,UAAU,GAAG,UAAU,CAAA;IAE/B,eAAe,CAAC,UAAU,EAAE,SAAkC,CAAC,CAAA;IAE/D,+CAA+C;IAC/C,MAAM,OAAO,GAAG,SAAS,CAAC,OAAkB,CAAA;IAC5C,MAAM,UAAU,GAAG,OAAO,CACxB,UAAU,EACV,OAAO,CACR,CAAA;IAED,cAAc,CAAC,UAAU,EAAE,UAAU,CAAC,CAAA;IAEtC,OAAO,UAAU,CAAA;AACnB,CAAC"}
package/js/tagRunner.d.ts CHANGED
@@ -1,6 +1,7 @@
1
- import { Tag } from './Tag.class';
2
- import { BaseTagSupport } from './TagSupport.class';
3
- export declare function runBeforeRender(tagSupport: BaseTagSupport, tagOwner: Tag): void;
4
- export declare function runAfterRender(tagSupport: BaseTagSupport, tag: Tag): void;
5
- export declare function runBeforeRedraw(tagSupport: BaseTagSupport, tag: Tag): void;
6
- export declare function runBeforeDestroy(tagSupport: BaseTagSupport, tag: Tag): void;
1
+ import { BaseTagSupport, TagSupport } from './TagSupport.class';
2
+ import { Subject } from './subject';
3
+ export declare const tagClosed$: Subject<TagSupport>;
4
+ export declare function runBeforeRender(tagSupport: BaseTagSupport, ownerSupport?: TagSupport): void;
5
+ export declare function runAfterRender(tagSupport: BaseTagSupport, ownerTagSupport: TagSupport): void;
6
+ export declare function runBeforeRedraw(tagSupport: BaseTagSupport, ownerTagSupport: TagSupport): void;
7
+ export declare function runBeforeDestroy(tagSupport: BaseTagSupport, ownerTagSupport: TagSupport): void;
package/js/tagRunner.js CHANGED
@@ -1,19 +1,27 @@
1
1
  // TODO: This should be more like `new TaggedJs().use({})`
2
- import { setUse } from './setUse.function';
2
+ import { setUse } from './state';
3
+ import { Subject } from './subject';
4
+ // Emits event at the end of a tag being rendered. Use tagClosed$.toPromise() to render a tag after a current tag is done rendering
5
+ export const tagClosed$ = new Subject(undefined, subscription => {
6
+ if (!setUse.memory.stateConfig.rearray) {
7
+ subscription.next(); // we are not currently processing so process now
8
+ }
9
+ });
3
10
  // Life cycle 1
4
- export function runBeforeRender(tagSupport, tagOwner) {
5
- setUse.tagUse.forEach(tagUse => tagUse.beforeRender(tagSupport, tagOwner));
11
+ export function runBeforeRender(tagSupport, ownerSupport) {
12
+ setUse.tagUse.forEach(tagUse => tagUse.beforeRender(tagSupport, ownerSupport));
6
13
  }
7
14
  // Life cycle 2
8
- export function runAfterRender(tagSupport, tag) {
9
- setUse.tagUse.forEach(tagUse => tagUse.afterRender(tagSupport, tag));
15
+ export function runAfterRender(tagSupport, ownerTagSupport) {
16
+ setUse.tagUse.forEach(tagUse => tagUse.afterRender(tagSupport, ownerTagSupport));
17
+ tagClosed$.next(ownerTagSupport);
10
18
  }
11
19
  // Life cycle 3
12
- export function runBeforeRedraw(tagSupport, tag) {
13
- setUse.tagUse.forEach(tagUse => tagUse.beforeRedraw(tagSupport, tag));
20
+ export function runBeforeRedraw(tagSupport, ownerTagSupport) {
21
+ setUse.tagUse.forEach(tagUse => tagUse.beforeRedraw(tagSupport, ownerTagSupport));
14
22
  }
15
23
  // Life cycle 4 - end of life
16
- export function runBeforeDestroy(tagSupport, tag) {
17
- setUse.tagUse.forEach(tagUse => tagUse.beforeDestroy(tagSupport, tag));
24
+ export function runBeforeDestroy(tagSupport, ownerTagSupport) {
25
+ setUse.tagUse.forEach(tagUse => tagUse.beforeDestroy(tagSupport, ownerTagSupport));
18
26
  }
19
27
  //# sourceMappingURL=tagRunner.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"tagRunner.js","sourceRoot":"","sources":["../ts/tagRunner.ts"],"names":[],"mappings":"AAAA,0DAA0D;AAI1D,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAA;AAE1C,eAAe;AACf,MAAM,UAAU,eAAe,CAC7B,UAA0B,EAC1B,QAAa;IAEb,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,YAAY,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC,CAAA;AAC5E,CAAC;AAED,eAAe;AACf,MAAM,UAAU,cAAc,CAC5B,UAA0B,EAC1B,GAAQ;IAER,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,WAAW,CAAC,UAAU,EAAE,GAAG,CAAC,CAAC,CAAA;AACtE,CAAC;AAED,eAAe;AACf,MAAM,UAAU,eAAe,CAC7B,UAA0B,EAC1B,GAAQ;IAER,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,YAAY,CAAC,UAAU,EAAE,GAAG,CAAC,CAAC,CAAA;AACvE,CAAC;AAED,6BAA6B;AAC7B,MAAM,UAAU,gBAAgB,CAC9B,UAA0B,EAC1B,GAAQ;IAER,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,aAAa,CAAC,UAAU,EAAE,GAAG,CAAC,CAAC,CAAA;AACxE,CAAC"}
1
+ {"version":3,"file":"tagRunner.js","sourceRoot":"","sources":["../ts/tagRunner.ts"],"names":[],"mappings":"AAAA,0DAA0D;AAG1D,OAAO,EAAE,MAAM,EAAE,MAAM,SAAS,CAAA;AAChC,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AAEnC,mIAAmI;AACnI,MAAM,CAAC,MAAM,UAAU,GAAG,IAAI,OAAO,CAAa,SAAS,EAAE,YAAY,CAAC,EAAE;IAC1E,IAAG,CAAC,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,OAAO,EAAE,CAAC;QACtC,YAAY,CAAC,IAAI,EAAE,CAAA,CAAC,iDAAiD;IACvE,CAAC;AACH,CAAC,CAAC,CAAA;AAEF,eAAe;AACf,MAAM,UAAU,eAAe,CAC7B,UAA0B,EAC1B,YAAyB;IAEzB,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,YAAY,CAAC,UAAU,EAAE,YAAY,CAAC,CAAC,CAAA;AAChF,CAAC;AAED,eAAe;AACf,MAAM,UAAU,cAAc,CAC5B,UAA0B,EAC1B,eAA2B;IAE3B,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,WAAW,CAAC,UAAU,EAAE,eAAe,CAAC,CAAC,CAAA;IAChF,UAAU,CAAC,IAAI,CAAC,eAAe,CAAC,CAAA;AAClC,CAAC;AAED,eAAe;AACf,MAAM,UAAU,eAAe,CAC7B,UAA0B,EAC1B,eAA2B;IAE3B,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,YAAY,CAAC,UAAU,EAAE,eAAe,CAAC,CAAC,CAAA;AACnF,CAAC;AAED,6BAA6B;AAC7B,MAAM,UAAU,gBAAgB,CAC9B,UAA0B,EAC1B,eAA2B;IAE3B,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,aAAa,CAAC,UAAU,EAAE,eAAe,CAAC,CAAC,CAAA;AACpF,CAAC"}
@@ -1,3 +1,3 @@
1
1
  import { InsertBefore } from "./Clones.type";
2
- import { NoDisplayValue } from "./processAttribute.function";
2
+ import { NoDisplayValue } from "./interpolations/processAttribute.function";
3
3
  export declare function updateBeforeTemplate(value: string | boolean | number | NoDisplayValue, lastFirstChild: InsertBefore): Text;
@@ -1 +1 @@
1
- {"version":3,"file":"updateBeforeTemplate.function.js","sourceRoot":"","sources":["../ts/updateBeforeTemplate.function.ts"],"names":[],"mappings":"AAGA,oCAAoC;AACpC,MAAM,UAAU,oBAAoB,CAClC,KAAiD,EACjD,cAA4B;IAE5B,MAAM,MAAM,GAAG,cAAc,CAAC,UAAwB,CAAA;IACtD,IAAI,WAAW,GAAG,KAAe,CAAA;IAEjC,uEAAuE;IACvE,IAAG,CAAC,SAAS,EAAC,KAAK,EAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,KAAuB,CAAC,EAAE,CAAC,CAAC,oBAAoB;QACjF,WAAW,GAAG,EAAE,CAAA;IAClB,CAAC;IAED,kDAAkD;IAClD,MAAM,QAAQ,GAAG,QAAQ,CAAC,cAAc,CAAC,WAAW,CAAC,CAAA,CAAC,kBAAkB;IACxE,MAAM,CAAC,YAAY,CAAC,QAAQ,EAAE,cAAc,CAAC,CAAA;IAE7C,2BAA2B;IAC3B,MAAM,CAAC,WAAW,CAAC,cAAc,CAAC,CAAA;IAElC,OAAO,QAAQ,CAAA;AACjB,CAAC"}
1
+ {"version":3,"file":"updateBeforeTemplate.function.js","sourceRoot":"","sources":["../ts/updateBeforeTemplate.function.ts"],"names":[],"mappings":"AAIA,oCAAoC;AACpC,MAAM,UAAU,oBAAoB,CAClC,KAAiD,EACjD,cAA4B;IAE5B,MAAM,MAAM,GAAG,cAAc,CAAC,UAAwB,CAAA;IACtD,IAAI,WAAW,GAAG,KAAe,CAAA;IAEjC,uEAAuE;IACvE,IAAG,CAAC,SAAS,EAAC,KAAK,EAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,KAAuB,CAAC,EAAE,CAAC,CAAC,oBAAoB;QACjF,WAAW,GAAG,EAAE,CAAA;IAClB,CAAC;IAED,kDAAkD;IAClD,MAAM,QAAQ,GAAG,QAAQ,CAAC,cAAc,CAAC,WAAW,CAAC,CAAA,CAAC,kBAAkB;IACxE,MAAM,CAAC,YAAY,CAAC,QAAQ,EAAE,cAAc,CAAC,CAAA;IAE7C,2BAA2B;IAC3B,MAAM,CAAC,WAAW,CAAC,cAAc,CAAC,CAAA;IAElC,OAAO,QAAQ,CAAA;AACjB,CAAC"}
@@ -0,0 +1,3 @@
1
+ import { TemplateValue } from './processSubjectValue.function';
2
+ import { Context } from './Tag.class';
3
+ export declare function updateContextItem(context: Context, variableName: string, value: TemplateValue): void;
@@ -0,0 +1,43 @@
1
+ import { isSubjectInstance, isTagComponent } from './isInstance';
2
+ import { TagSupport } from './TagSupport.class';
3
+ export function updateContextItem(context, variableName, value) {
4
+ const subject = context[variableName];
5
+ const tagSubject = subject;
6
+ const tagSupport = tagSubject.tagSupport;
7
+ if (tagSupport) {
8
+ if (value) {
9
+ if (isTagComponent(value)) {
10
+ const templater = value;
11
+ let newSupport = new TagSupport(templater, tagSupport.ownerTagSupport, subject);
12
+ if (isTagComponent(tagSupport)) {
13
+ shareTemplaterGlobal(tagSupport, newSupport);
14
+ }
15
+ }
16
+ }
17
+ }
18
+ if (isSubjectInstance(value)) {
19
+ return;
20
+ }
21
+ // listeners will evaluate updated values to possibly update display(s)
22
+ subject.set(value);
23
+ return;
24
+ }
25
+ function shareTemplaterGlobal(oldTagSupport, tagSupport) {
26
+ const oldTemp = oldTagSupport.templater;
27
+ const oldWrap = oldTemp.wrapper; // tag versus component
28
+ const oldValueFn = oldWrap.original;
29
+ const templater = tagSupport.templater;
30
+ const newWrapper = templater.wrapper;
31
+ const newValueFn = newWrapper?.original;
32
+ const fnMatched = oldValueFn === newValueFn;
33
+ if (fnMatched) {
34
+ tagSupport.global = oldTagSupport.global;
35
+ // ??? new mirroring transfer state
36
+ const newest = oldTagSupport.global.newest;
37
+ if (newest) {
38
+ const prevState = newest.memory.state;
39
+ tagSupport.memory.state = [...prevState];
40
+ }
41
+ }
42
+ }
43
+ //# sourceMappingURL=updateContextItem.function.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"updateContextItem.function.js","sourceRoot":"","sources":["../ts/updateContextItem.function.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,cAAc,EAAE,MAAM,cAAc,CAAA;AAKhE,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAA;AAG/C,MAAM,UAAU,iBAAiB,CAC/B,OAAgB,EAChB,YAAoB,EACpB,KAAoB;IAEpB,MAAM,OAAO,GAAG,OAAO,CAAC,YAAY,CAAC,CAAA;IACrC,MAAM,UAAU,GAAG,OAAqB,CAAA;IACxC,MAAM,UAAU,GAAG,UAAU,CAAC,UAAU,CAAA;IAExC,IAAG,UAAU,EAAE,CAAC;QACd,IAAG,KAAK,EAAE,CAAC;YACT,IAAI,cAAc,CAAC,KAAK,CAAC,EAAG,CAAC;gBAC3B,MAAM,SAAS,GAAG,KAAwB,CAAA;gBAC1C,IAAI,UAAU,GAAG,IAAI,UAAU,CAC7B,SAAS,EACT,UAAU,CAAC,eAAe,EAC1B,OAAqB,CACtB,CAAA;gBAED,IAAG,cAAc,CAAC,UAAU,CAAC,EAAE,CAAC;oBAC9B,oBAAoB,CAAC,UAAU,EAAE,UAAU,CAAC,CAAA;gBAC9C,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC;IAED,IAAG,iBAAiB,CAAC,KAAK,CAAC,EAAE,CAAC;QAC5B,OAAM;IACR,CAAC;IAED,uEAAuE;IACvE,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAA;IAElB,OAAM;AACR,CAAC;AAED,SAAS,oBAAoB,CAC3B,aAAyB,EACzB,UAAsB;IAEtB,MAAM,OAAO,GAAG,aAAa,CAAC,SAAS,CAAA;IACvC,MAAM,OAAO,GAAG,OAAO,CAAC,OAAkB,CAAA,CAAC,uBAAuB;IAClE,MAAM,UAAU,GAAG,OAAO,CAAC,QAAQ,CAAA;IAEnC,MAAM,SAAS,GAAG,UAAU,CAAC,SAAS,CAAA;IACtC,MAAM,UAAU,GAAG,SAAS,CAAC,OAAO,CAAA;IACpC,MAAM,UAAU,GAAG,UAAU,EAAE,QAAQ,CAAA;IACvC,MAAM,SAAS,GAAG,UAAU,KAAK,UAAU,CAAA;IAE3C,IAAG,SAAS,EAAE,CAAC;QACb,UAAU,CAAC,MAAM,GAAG,aAAa,CAAC,MAAM,CAAA;QACxC,mCAAmC;QACnC,MAAM,MAAM,GAAG,aAAa,CAAC,MAAM,CAAC,MAAoB,CAAA;QACxD,IAAG,MAAM,EAAE,CAAC;YACV,MAAM,SAAS,GAAG,MAAM,CAAC,MAAM,CAAC,KAAK,CAAA;YACrC,UAAU,CAAC,MAAM,CAAC,KAAK,GAAG,CAAC,GAAG,SAAS,CAAC,CAAA;QAC1C,CAAC;IACH,CAAC;AACH,CAAC"}
@@ -1,5 +1,5 @@
1
- import { TagSubject } from './Tag.utils';
2
- import { TemplaterResult } from './TemplaterResult.class';
3
- import { Tag } from './Tag.class';
1
+ import { TagSubject } from './subject.types';
2
+ import { TagSupport } from './TagSupport.class';
4
3
  import { InsertBefore } from './Clones.type';
5
- export declare function updateExistingTagComponent(ownerTag: Tag, templater: TemplaterResult, subject: TagSubject, insertBefore: InsertBefore): Tag;
4
+ export declare function updateExistingTagComponent(ownerSupport: TagSupport, tagSupport: TagSupport, // lastest
5
+ subject: TagSubject, insertBefore: InsertBefore): TagSupport;
@@ -3,135 +3,96 @@ import { processSubjectComponent } from './processSubjectComponent.function';
3
3
  import { destroyTagMemory } from './destroyTag.function';
4
4
  import { renderTagSupport } from './renderTagSupport.function';
5
5
  import { callbackPropOwner } from './alterProps.function';
6
- export function updateExistingTagComponent(ownerTag, templater, subject, insertBefore) {
7
- let existingTag = subject.tag;
8
- const oldWrapper = existingTag.tagSupport.templater.wrapper;
9
- const newWrapper = templater.wrapper;
6
+ import { isLikeTags } from './isLikeTags.function';
7
+ export function updateExistingTagComponent(ownerSupport, tagSupport, // lastest
8
+ subject, insertBefore) {
9
+ // ??? changed during mirroring
10
+ // let lastSupport = subject.tagSupport
11
+ let lastSupport = subject.tagSupport?.global.newest; // || subject.tagSupport
12
+ let oldestTag = lastSupport.global.oldest;
13
+ const oldWrapper = lastSupport.templater.wrapper;
14
+ const newWrapper = tagSupport.templater.wrapper;
10
15
  let isSameTag = false;
11
16
  if (oldWrapper && newWrapper) {
12
17
  const oldFunction = oldWrapper.original;
13
18
  const newFunction = newWrapper.original;
14
19
  isSameTag = oldFunction === newFunction;
15
20
  }
16
- const oldTagSupport = existingTag.tagSupport;
17
- const oldGlobal = oldTagSupport.templater.global;
18
- const globalInsert = oldGlobal.insertBefore;
19
- // const placeholderElm = ownerTag.tagSupport.templater.global.placeholderElm
20
- const placeholderElm = oldGlobal.placeholder;
21
- if (placeholderElm) {
22
- if (!placeholderElm.parentNode) {
23
- throw new Error('stop here no subject parent node update existing tag');
24
- }
25
- }
21
+ const templater = tagSupport.templater;
26
22
  if (!isSameTag) {
27
- destroyTagMemory(oldTagSupport.templater.global.oldest, subject);
28
- return processSubjectComponent(templater, subject,
29
- // ??? - newly changed
30
- insertBefore, // oldInsertBefore,
31
- ownerTag, {
23
+ const oldestSupport = lastSupport.global.oldest;
24
+ destroyTagMemory(oldestSupport, subject);
25
+ return processSubjectComponent(templater, subject, insertBefore, ownerSupport, {
32
26
  forceElement: false,
33
27
  counts: { added: 0, removed: 0 },
34
28
  });
35
29
  }
36
30
  else {
37
- const newTagSupport = templater.tagSupport;
38
- const hasChanged = hasTagSupportChanged(oldTagSupport, newTagSupport, templater);
31
+ const hasChanged = hasTagSupportChanged(lastSupport, tagSupport, templater);
39
32
  if (!hasChanged) {
40
33
  // if the new props are an object then implicitly since no change, the old props are an object
41
34
  const newProps = templater.props;
42
35
  if (newProps && typeof (newProps) === 'object') {
43
- // const newestTag = oldTagSupport.templater.global.newest
44
- // const oldProps = existingTag.tagSupport.propsConfig.latestCloned as Record<string,any> // newestTag.props as Record<string, any>
45
- syncFunctionProps(templater, existingTag, ownerTag, newProps);
36
+ syncFunctionProps(lastSupport, ownerSupport, newProps);
46
37
  }
47
- return existingTag; // its the same tag component
38
+ return lastSupport; // its the same tag component
48
39
  }
49
40
  }
50
- const oldestTag = templater.global.oldest; // oldTagSupport.oldest as Tag // existingTag
51
- const previous = templater.global.newest;
52
- if (!previous || !oldestTag) {
53
- throw new Error('how no previous or oldest nor newest?');
54
- }
55
- const newTag = renderTagSupport(templater.tagSupport, false);
56
- existingTag = subject.tag;
57
- const newOldest = newTag.tagSupport.templater.global.oldest;
41
+ const previous = lastSupport.global.newest;
42
+ const newSupport = renderTagSupport(tagSupport, false);
43
+ lastSupport = subject.tagSupport;
44
+ const newOldest = newSupport.global.oldest;
58
45
  const hasOldest = newOldest ? true : false;
59
46
  if (!hasOldest) {
60
- return buildNewTag(newTag,
61
- // ??? newly changed
62
- insertBefore, // oldInsertBefore,
63
- oldTagSupport, subject);
47
+ return buildNewTag(newSupport, insertBefore, lastSupport, subject);
64
48
  }
65
49
  if (newOldest && templater.children.value.length) {
66
- const oldKidsSub = newOldest.tagSupport.templater.children;
50
+ const oldKidsSub = newOldest.templater.children;
67
51
  oldKidsSub.set(templater.children.value);
68
52
  }
69
- // const newTag = tempResult.newest as Tag
70
- if (previous && !oldestTag) {
71
- throw new Error('bad elders');
72
- }
73
53
  // detect if both the function is the same and the return is the same
74
- const isLikeTag = isSameTag && previous.isLikeTag(newTag);
75
- if (previous && !oldestTag) {
76
- throw new Error('bad elders');
77
- }
78
- let oldest = oldTagSupport.templater.global.oldest;
54
+ const isLikeTag = isSameTag && isLikeTags(previous, newSupport);
79
55
  if (isLikeTag) {
80
- if (!newTag.tagSupport.templater.global.oldest) {
81
- throw new Error('maybe 6');
82
- }
83
- subject.tag = newTag;
84
- oldestTag.updateByTag(newTag); // the oldest tag has element references
85
- return newTag;
56
+ subject.tagSupport = newSupport;
57
+ oldestTag.updateBy(newSupport); // the oldest tag has element references
58
+ return newSupport;
86
59
  }
87
60
  else {
88
61
  // Although function looked the same it returned a different html result
89
- if (isSameTag && existingTag) {
90
- destroyTagMemory(existingTag, subject);
91
- newTag.tagSupport.templater.global.context = {}; // do not share previous outputs
62
+ if (isSameTag && lastSupport) {
63
+ destroyTagMemory(lastSupport, subject);
64
+ newSupport.global.context = {}; // do not share previous outputs
92
65
  }
93
- oldest = undefined;
66
+ oldestTag = undefined;
94
67
  }
95
- if (!oldest) {
96
- buildNewTag(newTag, oldTagSupport.templater.global.insertBefore, oldTagSupport, subject);
68
+ if (!oldestTag) {
69
+ lastSupport = newSupport;
70
+ buildNewTag(newSupport, lastSupport.global.insertBefore, lastSupport, subject);
97
71
  }
98
- oldTagSupport.templater.global.newest = newTag;
99
- return newTag;
100
- }
101
- function checkStateChanged(state) {
102
- return !state.newest.every(state => {
103
- const lastValue = state.lastValue;
104
- const nowValue = state.get();
105
- const matched = lastValue === nowValue;
106
- if (matched) {
107
- return true;
108
- }
109
- return false;
110
- });
72
+ lastSupport.global.newest = newSupport;
73
+ return newSupport;
111
74
  }
112
- function buildNewTag(newTag, oldInsertBefore, oldTagSupport, subject) {
113
- newTag.buildBeforeElement(oldInsertBefore, {
75
+ function buildNewTag(newSupport, oldInsertBefore, oldTagSupport, subject) {
76
+ newSupport.buildBeforeElement(oldInsertBefore, {
114
77
  forceElement: true,
115
78
  counts: { added: 0, removed: 0 },
116
79
  });
117
- newTag.tagSupport.templater.global.oldest = newTag;
118
- newTag.tagSupport.templater.global.newest = newTag;
119
- oldTagSupport.templater.global.oldest = newTag;
120
- oldTagSupport.templater.global.newest = newTag;
121
- subject.tag = newTag;
122
- return newTag;
80
+ newSupport.global.oldest = newSupport;
81
+ newSupport.global.newest = newSupport;
82
+ oldTagSupport.global.oldest = newSupport;
83
+ oldTagSupport.global.newest = newSupport;
84
+ subject.tagSupport = newSupport;
85
+ return newSupport;
123
86
  }
124
- function syncFunctionProps(templater, existingTag, ownerTag, newProps) {
125
- existingTag = existingTag.tagSupport.templater.global.newest;
126
- // const templater = existingTag.tagSupport.templater
127
- const priorProps = existingTag.tagSupport.propsConfig.latestCloned;
128
- const oldLatest = ownerTag.tagSupport.templater.global.newest;
129
- const ownerSupport = oldLatest.tagSupport;
87
+ function syncFunctionProps(lastSupport, ownerSupport, newProps) {
88
+ lastSupport = lastSupport.global.newest || lastSupport;
89
+ const priorPropConfig = lastSupport.propsConfig;
90
+ const priorProps = priorPropConfig.latestCloned;
91
+ const prevSupport = ownerSupport.global.newest;
130
92
  Object.entries(priorProps).forEach(([name, value]) => {
131
93
  if (!(value instanceof Function)) {
132
94
  return;
133
95
  }
134
- const newOriginal = value.original;
135
96
  // TODO: The code below maybe irrelevant
136
97
  const newCallback = newProps[name];
137
98
  const original = newCallback.original;
@@ -141,7 +102,7 @@ function syncFunctionProps(templater, existingTag, ownerTag, newProps) {
141
102
  // Currently, call self but over parent state changes, I may need to call a newer parent tag owner
142
103
  priorProps[name].toCall = (...args) => {
143
104
  return callbackPropOwner(newCallback, // value, // newOriginal,
144
- args, templater, ownerSupport);
105
+ args, prevSupport);
145
106
  };
146
107
  return;
147
108
  });
@@ -1 +1 @@
1
- {"version":3,"file":"updateExistingTagComponent.function.js","sourceRoot":"","sources":["../ts/updateExistingTagComponent.function.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"updateExistingTagComponent.function.js","sourceRoot":"","sources":["../ts/updateExistingTagComponent.function.ts"],"names":[],"mappings":"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"}
@@ -1,9 +1,4 @@
1
1
  import { TagSupport } from './TagSupport.class';
2
- import { Subject } from './subject/Subject.class';
3
- import { TemplaterResult } from './TemplaterResult.class';
4
- import { Tag } from './Tag.class';
5
- import { InterpolateSubject } from './processSubjectValue.function';
6
- import { RegularValue } from './processRegularValue.function';
2
+ import { InterpolateSubject, TemplateValue } from './processSubjectValue.function';
7
3
  import { InsertBefore } from './Clones.type';
8
- export type ExistingValue = TemplaterResult | Tag[] | TagSupport | Function | Subject<unknown> | RegularValue | Tag;
9
- export declare function updateExistingValue(subject: InterpolateSubject, value: ExistingValue, ownerTag: Tag, insertBefore: InsertBefore): InterpolateSubject;
4
+ export declare function updateExistingValue(subject: InterpolateSubject, value: TemplateValue, ownerSupport: TagSupport, insertBefore: InsertBefore): InterpolateSubject;