taggedjs 2.4.2 → 2.4.12

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 (186) hide show
  1. package/bundle.js +3612 -0
  2. package/bundle.js.map +1 -0
  3. package/index.js +1 -1
  4. package/js/Subject.d.ts +3 -4
  5. package/js/Subject.js +4 -4
  6. package/js/Subject.js.map +1 -1
  7. package/js/Tag.class.d.ts +25 -17
  8. package/js/Tag.class.js +208 -78
  9. package/js/Tag.class.js.map +1 -1
  10. package/js/Tag.utils.d.ts +13 -13
  11. package/js/Tag.utils.js +2 -18
  12. package/js/Tag.utils.js.map +1 -1
  13. package/js/TagSupport.class.d.ts +15 -14
  14. package/js/TagSupport.class.js +24 -46
  15. package/js/TagSupport.class.js.map +1 -1
  16. package/js/TemplaterResult.class.d.ts +36 -0
  17. package/js/TemplaterResult.class.js +73 -0
  18. package/js/TemplaterResult.class.js.map +1 -0
  19. package/js/ValueSubject.d.ts +4 -2
  20. package/js/ValueSubject.js +1 -1
  21. package/js/ValueSubject.js.map +1 -1
  22. package/js/alterProps.function.d.ts +4 -0
  23. package/js/alterProps.function.js +45 -0
  24. package/js/alterProps.function.js.map +1 -0
  25. package/js/bindSubjectCallback.function 9.27.33/342/200/257AM.js" +32 -0
  26. package/js/bindSubjectCallback.function.d 9.27.33/342/200/257AM.ts" +8 -0
  27. package/js/bindSubjectCallback.function.d.ts +3 -4
  28. package/js/bindSubjectCallback.function.js +20 -8
  29. package/js/bindSubjectCallback.function.js.map +1 -1
  30. package/js/checkDestroyPrevious.function.d.ts +6 -0
  31. package/js/checkDestroyPrevious.function.js +62 -0
  32. package/js/checkDestroyPrevious.function.js.map +1 -0
  33. package/js/destroyTag.function.d.ts +5 -0
  34. package/js/destroyTag.function.js +18 -0
  35. package/js/destroyTag.function.js.map +1 -0
  36. package/js/elementInitCheck.d.ts +1 -1
  37. package/js/getCallback.d.ts +1 -1
  38. package/js/getCallback.js +16 -15
  39. package/js/getCallback.js.map +1 -1
  40. package/js/hasTagSupportChanged.function.d.ts +6 -6
  41. package/js/hasTagSupportChanged.function.js +30 -21
  42. package/js/hasTagSupportChanged.function.js.map +1 -1
  43. package/js/html.d.ts +1 -1
  44. package/js/html.js +1 -1
  45. package/js/html.js.map +1 -1
  46. package/js/index.d.ts +22 -27
  47. package/js/index.js +26 -27
  48. package/js/index.js.map +1 -1
  49. package/js/interpolateAttributes.d.ts +2 -3
  50. package/js/interpolateAttributes.js +1 -127
  51. package/js/interpolateAttributes.js.map +1 -1
  52. package/js/interpolateContentTemplates.d.ts +9 -6
  53. package/js/interpolateContentTemplates.js +18 -28
  54. package/js/interpolateContentTemplates.js.map +1 -1
  55. package/js/interpolateElement.d.ts +7 -6
  56. package/js/interpolateElement.js +13 -10
  57. package/js/interpolateElement.js.map +1 -1
  58. package/js/interpolateTemplate.d.ts +22 -7
  59. package/js/interpolateTemplate.js +65 -27
  60. package/js/interpolateTemplate.js.map +1 -1
  61. package/js/isInstance.d.ts +3 -4
  62. package/js/isInstance.js.map +1 -1
  63. package/js/isLikeTags.function.d.ts +2 -0
  64. package/js/isLikeTags.function.js +30 -0
  65. package/js/isLikeTags.function.js.map +1 -0
  66. package/js/onDestroy.js +3 -3
  67. package/js/onDestroy.js.map +1 -1
  68. package/js/onInit.js +6 -4
  69. package/js/onInit.js.map +1 -1
  70. package/js/processAttribute.function.d.ts +3 -0
  71. package/js/processAttribute.function.js +122 -0
  72. package/js/processAttribute.function.js.map +1 -0
  73. package/js/processNewValue.function.d.ts +2 -2
  74. package/js/processNewValue.function.js +13 -15
  75. package/js/processNewValue.function.js.map +1 -1
  76. package/js/processRegularValue.function.d.ts +5 -7
  77. package/js/processRegularValue.function.js +10 -17
  78. package/js/processRegularValue.function.js.map +1 -1
  79. package/js/processSubjectComponent.function.d.ts +6 -6
  80. package/js/processSubjectComponent.function.js +30 -22
  81. package/js/processSubjectComponent.function.js.map +1 -1
  82. package/js/processSubjectValue.function.d.ts +17 -14
  83. package/js/processSubjectValue.function.js +55 -79
  84. package/js/processSubjectValue.function.js.map +1 -1
  85. package/js/processTagArray.d.ts +9 -8
  86. package/js/processTagArray.js +36 -37
  87. package/js/processTagArray.js.map +1 -1
  88. package/js/processTagResult.function.d.ts +7 -8
  89. package/js/processTagResult.function.js +40 -17
  90. package/js/processTagResult.function.js.map +1 -1
  91. package/js/provider.utils.d.ts +1 -1
  92. package/js/provider.utils.js +19 -8
  93. package/js/provider.utils.js.map +1 -1
  94. package/js/providers.js +6 -6
  95. package/js/providers.js.map +1 -1
  96. package/js/redrawTag.function.d.ts +5 -8
  97. package/js/redrawTag.function.js +16 -4
  98. package/js/redrawTag.function.js.map +1 -1
  99. package/js/render.d.ts +1 -1
  100. package/js/render.js.map +1 -1
  101. package/js/renderExistingTag.function.d.ts +7 -0
  102. package/js/renderExistingTag.function.js +30 -0
  103. package/js/renderExistingTag.function.js.map +1 -0
  104. package/js/renderTagSupport.function.d.ts +4 -0
  105. package/js/renderTagSupport.function.js +42 -0
  106. package/js/renderTagSupport.function.js.map +1 -0
  107. package/js/scanTextAreaValue.function.d.ts +2 -0
  108. package/js/scanTextAreaValue.function.js +16 -0
  109. package/js/scanTextAreaValue.function.js.map +1 -0
  110. package/js/set.function.d.ts +4 -3
  111. package/js/set.function.js +25 -34
  112. package/js/set.function.js.map +1 -1
  113. package/js/setLet.function.d.ts +1 -1
  114. package/js/setLet.function.js +14 -3
  115. package/js/setLet.function.js.map +1 -1
  116. package/js/setProp.function.d.ts +1 -1
  117. package/js/setProp.function.js +6 -3
  118. package/js/setProp.function.js.map +1 -1
  119. package/js/setUse.function.d.ts +11 -11
  120. package/js/tag.d.ts +6 -4
  121. package/js/tag.js +78 -71
  122. package/js/tag.js.map +1 -1
  123. package/js/tagElement.d.ts +5 -7
  124. package/js/tagElement.js +20 -31
  125. package/js/tagElement.js.map +1 -1
  126. package/js/tagRunner.d.ts +6 -6
  127. package/js/tagRunner.js +1 -1
  128. package/js/tagRunner.js.map +1 -1
  129. package/js/templater.utils.d.ts +23 -12
  130. package/js/templater.utils.js +55 -40
  131. package/js/templater.utils.js.map +1 -1
  132. package/js/updateExistingTag.function.d.ts +4 -4
  133. package/js/updateExistingTag.function.js +16 -7
  134. package/js/updateExistingTag.function.js.map +1 -1
  135. package/js/updateExistingTagComponent.function.d.ts +4 -4
  136. package/js/updateExistingTagComponent.function.js +105 -39
  137. package/js/updateExistingTagComponent.function.js.map +1 -1
  138. package/js/updateExistingValue.function.d.ts +8 -10
  139. package/js/updateExistingValue.function.js +62 -89
  140. package/js/updateExistingValue.function.js.map +1 -1
  141. package/js/watch.function.js +4 -3
  142. package/js/watch.function.js.map +1 -1
  143. package/package.json +1 -2
  144. package/js/CustomError.d.ts +0 -7
  145. package/js/CustomError.js +0 -9
  146. package/js/CustomError.js.map +0 -1
  147. package/js/ElementTarget.interface.d.ts +0 -7
  148. package/js/ElementTarget.interface.js +0 -2
  149. package/js/ElementTarget.interface.js.map +0 -1
  150. package/js/Errors2.d.ts +0 -14
  151. package/js/Errors2.js +0 -21
  152. package/js/Errors2.js.map +0 -1
  153. package/js/gateway/gateway.web.component.d.ts +0 -11
  154. package/js/gateway/gateway.web.component.js +0 -20
  155. package/js/gateway/gateway.web.component.js.map +0 -1
  156. package/js/gateway/index.d.ts +0 -3
  157. package/js/gateway/index.js +0 -4
  158. package/js/gateway/index.js.map +0 -1
  159. package/js/gateway/loadTagGateway.function.d.ts +0 -2
  160. package/js/gateway/loadTagGateway.function.js +0 -18
  161. package/js/gateway/loadTagGateway.function.js.map +0 -1
  162. package/js/gateway/tagGateway.function.d.ts +0 -5
  163. package/js/gateway/tagGateway.function.js +0 -49
  164. package/js/gateway/tagGateway.function.js.map +0 -1
  165. package/js/gateway/tagGateway.utils.d.ts +0 -22
  166. package/js/gateway/tagGateway.utils.js +0 -137
  167. package/js/gateway/tagGateway.utils.js.map +0 -1
  168. package/js/getTagSupport.d.ts +0 -20
  169. package/js/getTagSupport.js +0 -114
  170. package/js/getTagSupport.js.map +0 -1
  171. package/js/renderAppToElement.d.ts +0 -14
  172. package/js/renderAppToElement.js +0 -57
  173. package/js/renderAppToElement.js.map +0 -1
  174. package/js/state.d.ts +0 -22
  175. package/js/state.js +0 -128
  176. package/js/state.js.map +0 -1
  177. package/js/tagGateway.function.d.ts +0 -14
  178. package/js/tagGateway.function.js +0 -138
  179. package/js/tagGateway.function.js.map +0 -1
  180. package/js/updateTag.utils.d.ts +0 -8
  181. package/js/updateTag.utils.js +0 -83
  182. package/js/updateTag.utils.js.map +0 -1
  183. package/taggedjs.js +0 -1
  184. /package/js/{Errors.d.ts → errors.d.ts} +0 -0
  185. /package/js/{Errors.js → errors.js} +0 -0
  186. /package/js/{Errors.js.map → errors.js.map} +0 -0
package/js/tag.d.ts CHANGED
@@ -1,12 +1,14 @@
1
- import { Tag } from "./Tag.class.js";
2
- import { ValueSubject } from "./ValueSubject.js";
3
- export type TagChildren = ValueSubject<Tag[]>;
1
+ import { Tag } from './Tag.class';
2
+ import { ValueSubject } from './ValueSubject';
3
+ export type TagChildren = ValueSubject<Tag[]> & {
4
+ lastArray?: Tag[];
5
+ };
4
6
  export type TagChildrenInput = Tag[] | Tag | TagChildren;
5
7
  export type TagComponentArg<T extends any[]> = (...args: T) => Tag;
6
8
  type FirstArgOptional<T extends any[]> = T['length'] extends 0 ? true : false;
7
9
  export type TagComponentBase<T extends any[]> = (arg: FirstArgOptional<T> extends true ? (T[0] | void) : T[0], children?: TagChildrenInput) => Tag;
8
10
  export declare const tags: TagComponentBase<any>[];
9
11
  export type TagComponent = TagComponentBase<[any?, TagChildren?]> | TagComponentBase<[]>;
10
- /** Wraps a tag component in a state manager and always push children to last argument as any array */
12
+ /** Wraps a tag component in a state manager and always push children to last argument as an array */
11
13
  export declare function tag<T extends any[]>(tagComponent: TagComponentArg<T>): (TagComponentBase<T>);
12
14
  export {};
package/js/tag.js CHANGED
@@ -1,13 +1,14 @@
1
- import { isSubjectInstance, isTagArray, isTagInstance } from "./isInstance.js";
2
- import { setUse } from "./setUse.function.js";
3
- import { TemplaterResult, alterProps } from "./templater.utils.js";
4
- import { ValueSubject } from "./ValueSubject.js";
5
- import { runTagCallback } from "./bindSubjectCallback.function.js";
6
- import { deepClone } from "./deepFunctions.js";
7
- import { TagSupport } from "./TagSupport.class.js";
1
+ import { isSubjectInstance, isTagArray, isTagInstance } from './isInstance';
2
+ import { setUse } from './setUse.function';
3
+ import { TemplaterResult } from './TemplaterResult.class';
4
+ import { ValueSubject } from './ValueSubject';
5
+ import { runTagCallback } from './bindSubjectCallback.function';
6
+ import { deepClone } from './deepFunctions';
7
+ import { TagSupport } from './TagSupport.class';
8
+ import { alterProps } from './alterProps.function';
8
9
  export const tags = [];
9
10
  let tagCount = 0;
10
- /** Wraps a tag component in a state manager and always push children to last argument as any array */
11
+ /** Wraps a tag component in a state manager and always push children to last argument as an array */
11
12
  // export function tag<T>(a: T): T;
12
13
  export function tag(tagComponent) {
13
14
  const result = (function tagWrapper(props, children) {
@@ -19,65 +20,7 @@ export function tag(tagComponent) {
19
20
  const { childSubject, madeSubject } = kidsToTagArraySubject(children);
20
21
  childSubject.isChildSubject = true;
21
22
  const templater = new TemplaterResult(props, childSubject);
22
- function innerTagWrap() {
23
- const originalFunction = innerTagWrap.original;
24
- const oldTagSetup = templater.tagSupport;
25
- const oldest = templater.oldest;
26
- let props = oldTagSetup.propsConfig.latest;
27
- let castedProps = alterProps(props, templater);
28
- // CALL ORIGINAL COMPONENT FUNCTION
29
- const tag = originalFunction(castedProps, childSubject);
30
- if (oldTagSetup.mutatingRender === TagSupport.prototype.mutatingRender) {
31
- oldTagSetup.oldest = tag;
32
- // tag.tagSupport = oldTagSetup
33
- oldTagSetup.mutatingRender = () => {
34
- const exit = oldTagSetup.renderExistingTag(tag, templater);
35
- if (exit) {
36
- return tag;
37
- }
38
- if (tag.ownerTag) {
39
- const newest = tag.ownerTag.tagSupport.render();
40
- tag.ownerTag.tagSupport.newest = newest;
41
- return tag;
42
- }
43
- return tag;
44
- };
45
- }
46
- tag.tagSupport = new TagSupport(templater, oldTagSetup.children);
47
- const clonedProps = deepClone(castedProps); // castedProps
48
- tag.tagSupport.propsConfig = {
49
- latest: props, // castedProps
50
- latestCloned: clonedProps,
51
- clonedProps: clonedProps,
52
- lastClonedKidValues: tag.tagSupport.propsConfig.lastClonedKidValues,
53
- };
54
- tag.tagSupport.memory = oldTagSetup.memory;
55
- tag.tagSupport.mutatingRender = oldTagSetup.mutatingRender;
56
- oldTagSetup.newest = tag;
57
- oldTagSetup.propsConfig = { ...tag.tagSupport.propsConfig };
58
- if (oldest) {
59
- oldest.tagSupport.propsConfig = { ...tag.tagSupport.propsConfig };
60
- }
61
- if (madeSubject) {
62
- childSubject.value.forEach(kid => {
63
- kid.values.forEach((value, index) => {
64
- if (!(value instanceof Function)) {
65
- return;
66
- }
67
- if (kid.values[index].isChildOverride) {
68
- return; // already overwritten
69
- }
70
- // all functions need to report to me
71
- kid.values[index] = function (...args) {
72
- runTagCallback(value, tag.ownerTag, this, args);
73
- // runTagCallback(value, tag, this, args)
74
- };
75
- kid.values[index].isChildOverride = true;
76
- });
77
- });
78
- }
79
- return tag;
80
- }
23
+ const innerTagWrap = getTagWrap(templater, madeSubject);
81
24
  innerTagWrap.original = tagComponent;
82
25
  templater.tagged = true;
83
26
  templater.wrapper = innerTagWrap;
@@ -102,7 +45,10 @@ function kidsToTagArraySubject(children) {
102
45
  kid.arrayValue = 0;
103
46
  return { childSubject: new ValueSubject([kid]), madeSubject: true };
104
47
  }
105
- return { childSubject: new ValueSubject([]), madeSubject: true };
48
+ return {
49
+ childSubject: new ValueSubject([]),
50
+ madeSubject: true
51
+ };
106
52
  }
107
53
  function updateResult(result, tagComponent) {
108
54
  result.isTag = true;
@@ -111,9 +57,70 @@ function updateResult(result, tagComponent) {
111
57
  function updateComponent(tagComponent) {
112
58
  tagComponent.tags = tags;
113
59
  tagComponent.setUse = setUse;
114
- tagComponent.tagIndex = ++tagCount; // needed for things like HMR
60
+ tagComponent.tagIndex = tagCount++; // needed for things like HMR
115
61
  }
116
- class NoPropsGiven {
62
+ /** creates/returns a function that when called then calls the original component function */
63
+ function getTagWrap(templater, madeSubject) {
64
+ const innerTagWrap = function (oldTagSetup, subject) {
65
+ const global = oldTagSetup.templater.global;
66
+ global.newestTemplater = templater;
67
+ ++global.renderCount;
68
+ templater.global = global;
69
+ const childSubject = templater.children;
70
+ const lastArray = global.oldest?.tagSupport.templater.children.lastArray;
71
+ if (lastArray) {
72
+ childSubject.lastArray = lastArray;
73
+ }
74
+ 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
+ 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);
89
+ const clonedProps = deepClone(props); // castedProps
90
+ // CALL ORIGINAL COMPONENT FUNCTION
91
+ 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
96
+ latestCloned: clonedProps,
97
+ clonedProps: clonedProps,
98
+ lastClonedKidValues: tag.tagSupport.propsConfig.lastClonedKidValues,
99
+ };
100
+ tag.tagSupport.memory = oldTagSetup.memory; // state handover
101
+ if (madeSubject) {
102
+ childSubject.value.forEach(kid => {
103
+ kid.values.forEach((value, index) => {
104
+ if (!(value instanceof Function)) {
105
+ return;
106
+ }
107
+ const valuesValue = kid.values[index];
108
+ if (valuesValue.isChildOverride) {
109
+ return; // already overwritten
110
+ }
111
+ // all functions need to report to me
112
+ kid.values[index] = function (...args) {
113
+ const ownerTag = tag.ownerTag;
114
+ runTagCallback(value, // callback
115
+ ownerTag, this, // bindTo
116
+ args);
117
+ };
118
+ valuesValue.isChildOverride = true;
119
+ });
120
+ });
121
+ }
122
+ return tag;
123
+ };
124
+ return innerTagWrap;
117
125
  }
118
- const noPropsGiven = new NoPropsGiven();
119
126
  //# sourceMappingURL=tag.js.map
package/js/tag.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"tag.js","sourceRoot":"","sources":["../ts/tag.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,iBAAiB,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAA;AAC9E,OAAO,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAA;AAC7C,OAAO,EAAE,eAAe,EAAW,UAAU,EAAE,MAAM,sBAAsB,CAAA;AAC3E,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAA;AAChD,OAAO,EAAE,cAAc,EAAE,MAAM,mCAAmC,CAAA;AAClE,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAA;AAC9C,OAAO,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAA;AAclD,MAAM,CAAC,MAAM,IAAI,GAA4B,EAAE,CAAA;AAG/C,IAAI,QAAQ,GAAG,CAAC,CAAA;AAGhB,sGAAsG;AACtG,mCAAmC;AACnC,MAAM,UAAU,GAAG,CACjB,YAAgC;IAEhC,MAAM,MAAM,GAAG,CAAC,SAAS,UAAU,CACjC,KAAuB,EACvB,QAA2B;QAE3B,MAAM,SAAS,GAAG,aAAa,CAAC,KAAK,CAAC,IAAI,UAAU,CAAC,KAAK,CAAC,CAAA;QAE3D,IAAG,SAAS,EAAE,CAAC;YACb,QAAQ,GAAG,KAAkC,CAAA;YAC7C,KAAK,GAAG,SAAS,CAAA;QACnB,CAAC;QAED,MAAM,EAAE,YAAY,EAAE,WAAW,EAAE,GAAG,qBAAqB,CAAC,QAAQ,CAAC,CACpE;QAAC,YAAoB,CAAC,cAAc,GAAG,IAAI,CAAA;QAE5C,MAAM,SAAS,GAAoB,IAAI,eAAe,CAAC,KAAK,EAAE,YAAY,CAAC,CAAA;QAE3E,SAAS,YAAY;YACnB,MAAM,gBAAgB,GAAG,YAAY,CAAC,QAAmC,CAAA;YACzE,MAAM,WAAW,GAAG,SAAS,CAAC,UAAU,CAAA;YAExC,MAAM,MAAM,GAAG,SAAS,CAAC,MAAM,CAAA;YAE/B,IAAI,KAAK,GAAG,WAAW,CAAC,WAAW,CAAC,MAAM,CAAA;YAC1C,IAAI,WAAW,GAAG,UAAU,CAAC,KAAK,EAAE,SAAS,CAAC,CAAA;YAE9C,mCAAmC;YACnC,MAAM,GAAG,GAAG,gBAAgB,CAAC,WAAW,EAAE,YAAY,CAAC,CAAA;YAEvD,IAAG,WAAW,CAAC,cAAc,KAAK,UAAU,CAAC,SAAS,CAAC,cAAc,EAAE,CAAC;gBACtE,WAAW,CAAC,MAAM,GAAG,GAAG,CAAA;gBACxB,+BAA+B;gBAE/B,WAAW,CAAC,cAAc,GAAG,GAAG,EAAE;oBAChC,MAAM,IAAI,GAAG,WAAW,CAAC,iBAAiB,CAAC,GAAG,EAAE,SAAS,CAAC,CAAA;oBAE1D,IAAG,IAAI,EAAE,CAAC;wBACR,OAAO,GAAG,CAAA;oBACZ,CAAC;oBAED,IAAG,GAAG,CAAC,QAAQ,EAAE,CAAC;wBAChB,MAAM,MAAM,GAAG,GAAG,CAAC,QAAQ,CAAC,UAAU,CAAC,MAAM,EAAE,CAAA;wBAC/C,GAAG,CAAC,QAAQ,CAAC,UAAU,CAAC,MAAM,GAAG,MAAM,CAAA;wBACvC,OAAO,GAAG,CAAA;oBACZ,CAAC;oBAED,OAAO,GAAG,CAAA;gBACZ,CAAC,CAAA;YACH,CAAC;YAED,GAAG,CAAC,UAAU,GAAG,IAAI,UAAU,CAAC,SAAS,EAAE,WAAW,CAAC,QAAQ,CAAC,CAAA;YAEhE,MAAM,WAAW,GAAG,SAAS,CAAC,WAAW,CAAC,CAAA,CAAC,cAAc;YACzD,GAAG,CAAC,UAAU,CAAC,WAAW,GAAG;gBAC3B,MAAM,EAAE,KAAK,EAAE,cAAc;gBAC7B,YAAY,EAAE,WAAW;gBACzB,WAAW,EAAE,WAAW;gBACxB,mBAAmB,EAAE,GAAG,CAAC,UAAU,CAAC,WAAW,CAAC,mBAAmB;aACpE,CAAA;YAED,GAAG,CAAC,UAAU,CAAC,MAAM,GAAG,WAAW,CAAC,MAAM,CAAA;YAC1C,GAAG,CAAC,UAAU,CAAC,cAAc,GAAG,WAAW,CAAC,cAAc,CAAA;YAC1D,WAAW,CAAC,MAAM,GAAG,GAAG,CAAA;YAExB,WAAW,CAAC,WAAW,GAAG,EAAC,GAAG,GAAG,CAAC,UAAU,CAAC,WAAW,EAAC,CAAA;YACzD,IAAG,MAAM,EAAE,CAAC;gBACV,MAAM,CAAC,UAAU,CAAC,WAAW,GAAG,EAAC,GAAG,GAAG,CAAC,UAAU,CAAC,WAAW,EAAC,CAAA;YACjE,CAAC;YAED,IAAG,WAAW,EAAE,CAAC;gBACf,YAAY,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE;oBAC/B,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE;wBAClC,IAAG,CAAC,CAAC,KAAK,YAAY,QAAQ,CAAC,EAAE,CAAC;4BAChC,OAAM;wBACR,CAAC;wBAED,IAAG,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,eAAe,EAAE,CAAC;4BACrC,OAAM,CAAC,sBAAsB;wBAC/B,CAAC;wBAED,qCAAqC;wBACrC,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,UAAS,GAAG,IAAe;4BAC7C,cAAc,CAAC,KAAK,EAAE,GAAG,CAAC,QAAe,EAAE,IAAI,EAAE,IAAI,CAAC,CAAA;4BACtD,yCAAyC;wBAC3C,CAAC,CAAA;wBAED,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,eAAe,GAAG,IAAI,CAAA;oBAC1C,CAAC,CAAC,CAAA;gBACJ,CAAC,CAAC,CAAA;YACJ,CAAC;YAED,OAAO,GAAG,CAAA;QACZ,CAAC;QAED,YAAY,CAAC,QAAQ,GAAG,YAAY,CAAA;QAEpC,SAAS,CAAC,MAAM,GAAG,IAAI,CAAA;QACvB,SAAS,CAAC,OAAO,GAAG,YAAuB,CAAA;QAE3C,OAAO,SAAS,CAAA;IAClB,CAAC,CAAC,CAAA,CAAC,4EAA4E;IAE/E,YAAY,CAAC,MAAM,EAAE,YAAuC,CAAC,CAAA;IAE7D,0CAA0C;IAC1C,eAAe,CAAC,YAAY,CAAC,CAAA;IAC7B,IAAI,CAAC,IAAI,CAAC,YAAuC,CAAC,CAAA;IAElD,OAAO,MAAa,CAAA;AACtB,CAAC;AAED,SAAS,qBAAqB,CAC5B,QAA2B;IAK3B,IAAG,iBAAiB,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC/B,OAAO,EAAC,YAAY,EAAE,QAA+B,EAAE,WAAW,EAAE,KAAK,EAAC,CAAA;IAC5E,CAAC;IAED,MAAM,QAAQ,GAAG,QAAiB,CAAA;IAClC,IAAG,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;QACxB,OAAO,EAAC,YAAY,EAAE,IAAI,YAAY,CAAC,QAAiB,CAAC,EAAE,WAAW,EAAE,IAAI,EAAC,CAAA;IAC/E,CAAC;IAED,MAAM,GAAG,GAAG,QAAe,CAAA;IAC3B,IAAG,GAAG,EAAE,CAAC;QACP,GAAG,CAAC,UAAU,GAAG,CAAC,CAAA;QAClB,OAAO,EAAC,YAAY,EAAE,IAAI,YAAY,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,WAAW,EAAE,IAAI,EAAC,CAAA;IACnE,CAAC;IAED,OAAO,EAAC,YAAY,EAAE,IAAI,YAAY,CAAC,EAAE,CAAC,EAAE,WAAW,EAAE,IAAI,EAAC,CAAA;AAChE,CAAC;AAED,SAAS,YAAY,CACnB,MAAW,EACX,YAA0B;IAE1B,MAAM,CAAC,KAAK,GAAG,IAAI,CAAA;IACnB,MAAM,CAAC,QAAQ,GAAG,YAAY,CAAA;AAChC,CAAC;AAED,SAAS,eAAe,CACtB,YAAiB;IAEjB,YAAY,CAAC,IAAI,GAAG,IAAI,CAAA;IACxB,YAAY,CAAC,MAAM,GAAG,MAAM,CAAA;IAC5B,YAAY,CAAC,QAAQ,GAAG,EAAE,QAAQ,CAAA,CAAC,6BAA6B;AAClE,CAAC;AACD,MAAM,YAAY;CAAG;AACrB,MAAM,YAAY,GAAG,IAAI,YAAY,EAAE,CAAA"}
1
+ {"version":3,"file":"tag.js","sourceRoot":"","sources":["../ts/tag.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,iBAAiB,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM,cAAc,CAAA;AAC3E,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAA;AAC1C,OAAO,EAAE,eAAe,EAAW,MAAM,yBAAyB,CAAA;AAClE,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAA;AAC7C,OAAO,EAAE,cAAc,EAAE,MAAM,gCAAgC,CAAA;AAC/D,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAA;AAC3C,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAA;AAE/C,OAAO,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAA;AAclD,MAAM,CAAC,MAAM,IAAI,GAA4B,EAAE,CAAA;AAG/C,IAAI,QAAQ,GAAG,CAAC,CAAA;AAEhB,qGAAqG;AACrG,mCAAmC;AACnC,MAAM,UAAU,GAAG,CACjB,YAAgC;IAEhC,MAAM,MAAM,GAAG,CAAC,SAAS,UAAU,CACjC,KAAuB,EACvB,QAA2B;QAE3B,MAAM,SAAS,GAAG,aAAa,CAAC,KAAK,CAAC,IAAI,UAAU,CAAC,KAAK,CAAC,CAAA;QAE3D,IAAG,SAAS,EAAE,CAAC;YACb,QAAQ,GAAG,KAAkC,CAAA;YAC7C,KAAK,GAAG,SAAS,CAAA;QACnB,CAAC;QAED,MAAM,EAAE,YAAY,EAAE,WAAW,EAAE,GAAG,qBAAqB,CAAC,QAAQ,CAAC,CACpE;QAAC,YAAoB,CAAC,cAAc,GAAG,IAAI,CAAA;QAE5C,MAAM,SAAS,GAAoB,IAAI,eAAe,CAAC,KAAK,EAAE,YAAY,CAAC,CAAA;QAC3E,MAAM,YAAY,GAAY,UAAU,CACtC,SAAS,EACT,WAAW,CACZ,CAAA;QAED,YAAY,CAAC,QAAQ,GAAG,YAAY,CAAA;QAEpC,SAAS,CAAC,MAAM,GAAG,IAAI,CAAA;QACvB,SAAS,CAAC,OAAO,GAAG,YAAuB,CAAA;QAE3C,OAAO,SAAS,CAAA;IAClB,CAAC,CAAC,CAAA,CAAC,4EAA4E;IAE/E,YAAY,CAAC,MAAM,EAAE,YAAuC,CAAC,CAAA;IAE7D,0CAA0C;IAC1C,eAAe,CAAC,YAAY,CAAC,CAAA;IAC7B,IAAI,CAAC,IAAI,CAAC,YAAuC,CAAC,CAAA;IAElD,OAAO,MAAa,CAAA;AACtB,CAAC;AAED,SAAS,qBAAqB,CAC5B,QAA2B;IAK3B,IAAG,iBAAiB,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC/B,OAAO,EAAC,YAAY,EAAE,QAA+B,EAAE,WAAW,EAAE,KAAK,EAAC,CAAA;IAC5E,CAAC;IAED,MAAM,QAAQ,GAAG,QAAiB,CAAA;IAClC,IAAG,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;QACxB,OAAO,EAAC,YAAY,EAAE,IAAI,YAAY,CAAC,QAAiB,CAAC,EAAE,WAAW,EAAE,IAAI,EAAC,CAAA;IAC/E,CAAC;IAED,MAAM,GAAG,GAAG,QAAe,CAAA;IAC3B,IAAG,GAAG,EAAE,CAAC;QACP,GAAG,CAAC,UAAU,GAAG,CAAC,CAAA;QAClB,OAAO,EAAC,YAAY,EAAE,IAAI,YAAY,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,WAAW,EAAE,IAAI,EAAC,CAAA;IACnE,CAAC;IAED,OAAO;QACL,YAAY,EAAE,IAAI,YAAY,CAAQ,EAAE,CAAC;QACzC,WAAW,EAAE,IAAI;KAClB,CAAA;AACH,CAAC;AAED,SAAS,YAAY,CACnB,MAAW,EACX,YAA0B;IAE1B,MAAM,CAAC,KAAK,GAAG,IAAI,CAAA;IACnB,MAAM,CAAC,QAAQ,GAAG,YAAY,CAAA;AAChC,CAAC;AAED,SAAS,eAAe,CACtB,YAAiB;IAEjB,YAAY,CAAC,IAAI,GAAG,IAAI,CAAA;IACxB,YAAY,CAAC,MAAM,GAAG,MAAM,CAAA;IAC5B,YAAY,CAAC,QAAQ,GAAG,QAAQ,EAAE,CAAA,CAAC,6BAA6B;AAClE,CAAC;AAED,6FAA6F;AAC7F,SAAS,UAAU,CACjB,SAA0B,EAC1B,WAAoB;IAEpB,MAAM,YAAY,GAAG,UACnB,WAAuB,EACvB,OAAmB;QAEnB,MAAM,MAAM,GAAG,WAAW,CAAC,SAAS,CAAC,MAAM,CAAA;QAC3C,MAAM,CAAC,eAAe,GAAG,SAAS,CAAA;QAClC,EAAE,MAAM,CAAC,WAAW,CAAA;QAEpB,SAAS,CAAC,MAAM,GAAG,MAAM,CAAA;QAEzB,MAAM,YAAY,GAAG,SAAS,CAAC,QAAQ,CAAA;QACvC,MAAM,SAAS,GAAG,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC,SAAS,CAAC,QAAQ,CAAC,SAAS,CAAA;QACxE,IAAG,SAAS,EAAE,CAAC;YACb,YAAY,CAAC,SAAS,GAAG,SAAS,CAAA;QACpC,CAAC;QAED,MAAM,gBAAgB,GAAI,YAAoB,CAAC,QAAmC,CAAA;QAClF,2CAA2C;QAE3C,MAAM,MAAM,GAAG,SAAS,CAAC,MAAM,CAAC,MAAM,CAAA;QAEtC,IAAG,MAAM,IAAI,CAAC,MAAM,CAAC,eAAe,EAAE,CAAC;YACrC,MAAM,IAAI,KAAK,CAAC,kBAAkB,CAAC,CAAA;QACrC,CAAC;QAED,IAAI,KAAK,GAAG,SAAS,CAAC,KAAK,CAAA;QAC3B,MAAM,eAAe,GAAG,WAAW,CAAC,eAAe,CAAA;QACnD,MAAM,YAAY,GAAG,eAAe,EAAE,SAAS,CAAA;QAC/C,MAAM,SAAS,GAAG,YAAY,EAAE,MAAM,CAAC,MAAM,CAAA;QAC7C,MAAM,oBAAoB,GAAG,SAAS,EAAE,UAAU,CAAC,SAAS,CAAA;QAE5D,IAAG,SAAS,IAAI,CAAC,oBAAoB,EAAE,CAAC;YACtC,MAAM,IAAI,KAAK,CAAC,kBAAkB,CAAC,CAAA;QACrC,CAAC;QAED,IAAI,WAAW,GAAG,UAAU,CAC1B,KAAK,EACL,oBAAuC,EACvC,WAAW,CAAC,eAAe,CAC5B,CAAA;QACD,MAAM,WAAW,GAAG,SAAS,CAAC,KAAK,CAAC,CAAA,CAAC,cAAc;QAEnD,mCAAmC;QACnC,MAAM,GAAG,GAAG,gBAAgB,CAAC,WAAW,EAAE,YAAY,CAAC,CAAA;QAEvD,GAAG,CAAC,OAAO,GAAG,MAAM,CAAC,WAAW,CAAA;QAChC,GAAG,CAAC,UAAU,GAAG,IAAI,UAAU,CAC7B,WAAW,CAAC,eAAe,EAC3B,SAAS,EACT,OAAO,CACR,CAAA;QAED,GAAG,CAAC,UAAU,CAAC,WAAW,GAAG;YAC3B,MAAM,EAAE,KAAK,EAAE,cAAc;YAC7B,YAAY,EAAE,WAAW;YACzB,WAAW,EAAE,WAAW;YACxB,mBAAmB,EAAE,GAAG,CAAC,UAAU,CAAC,WAAW,CAAC,mBAAmB;SACpE,CAAA;QAED,GAAG,CAAC,UAAU,CAAC,MAAM,GAAG,WAAW,CAAC,MAAM,CAAA,CAAC,iBAAiB;QAE5D,IAAG,WAAW,EAAE,CAAC;YACf,YAAY,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE;gBAC/B,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE;oBAClC,IAAG,CAAC,CAAC,KAAK,YAAY,QAAQ,CAAC,EAAE,CAAC;wBAChC,OAAM;oBACR,CAAC;oBAED,MAAM,WAAW,GAAG,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;oBAErC,IAAG,WAAW,CAAC,eAAe,EAAE,CAAC;wBAC/B,OAAM,CAAC,sBAAsB;oBAC/B,CAAC;oBAED,qCAAqC;oBACrC,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,UAAS,GAAG,IAAe;wBAC7C,MAAM,QAAQ,GAAG,GAAG,CAAC,QAAe,CAAA;wBACpC,cAAc,CACZ,KAAK,EAAE,WAAW;wBAClB,QAAQ,EACR,IAAI,EAAE,SAAS;wBACf,IAAI,CACL,CAAA;oBACH,CAAC,CAAA;oBAED,WAAW,CAAC,eAAe,GAAG,IAAI,CAAA;gBACpC,CAAC,CAAC,CAAA;YACJ,CAAC,CAAC,CAAA;QACJ,CAAC;QAED,OAAO,GAAG,CAAA;IACZ,CAAC,CAAA;IAED,OAAO,YAAuB,CAAA;AAChC,CAAC"}
@@ -1,7 +1,7 @@
1
- import { TagSupport } from "./TagSupport.class.js";
2
- import { TemplaterResult } from "./templater.utils.js";
3
- import { Tag } from "./Tag.class.js";
4
- import { TagComponent } from "./tag.js";
1
+ import { BaseTagSupport } from './TagSupport.class';
2
+ import { TemplaterResult } from './TemplaterResult.class';
3
+ import { Tag } from './Tag.class';
4
+ import { TagComponent } from './tag';
5
5
  export declare function tagElement(app: TagComponent, // (...args: unknown[]) => TemplaterResult,
6
6
  element: HTMLElement | Element, props: unknown): {
7
7
  tag: Tag;
@@ -9,7 +9,5 @@ element: HTMLElement | Element, props: unknown): {
9
9
  };
10
10
  export declare function applyTagUpdater(wrapper: TemplaterResult): {
11
11
  tag: Tag;
12
- tagSupport: TagSupport;
12
+ tagSupport: BaseTagSupport;
13
13
  };
14
- /** Overwrites arguments.tagSupport.mutatingRender */
15
- export declare function addAppTagRender(tagSupport: TagSupport, tag: Tag): void;
package/js/tagElement.js CHANGED
@@ -1,5 +1,6 @@
1
- import { runAfterRender, runBeforeRedraw, runBeforeRender } from "./tagRunner.js";
2
- import { providersChangeCheck } from "./provider.utils.js";
1
+ import { BaseTagSupport } from './TagSupport.class';
2
+ import { runAfterRender, runBeforeRender } from './tagRunner';
3
+ import { ValueSubject } from './ValueSubject';
3
4
  const appElements = [];
4
5
  export function tagElement(app, // (...args: unknown[]) => TemplaterResult,
5
6
  element, props) {
@@ -14,47 +15,35 @@ element, props) {
14
15
  const wrapper = app(props);
15
16
  // have a function setup and call the tagWrapper with (props, {update, async, on})
16
17
  const result = applyTagUpdater(wrapper);
17
- const { tag, tagSupport } = result;
18
- // wrapper.tagSupport = tagSupport
18
+ const { tag } = result;
19
+ // TODO: is the below needed?
19
20
  tag.appElement = element;
20
- tag.tagSupport.oldest = tag;
21
- addAppTagRender(tag.tagSupport, tag);
21
+ tag.tagSupport.templater.global.isApp = true;
22
22
  const templateElm = document.createElement('template');
23
- templateElm.setAttribute('tag-detail', 'app-template-placeholder');
23
+ templateElm.setAttribute('id', 'app-tag-' + appElements.length);
24
+ templateElm.setAttribute('app-tag-detail', appElements.length.toString());
24
25
  element.appendChild(templateElm);
25
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
33
  element.setUse = app.original.setUse;
27
34
  appElements.push({ element, tag });
28
35
  return { tag, tags: app.original.tags };
29
36
  }
30
37
  export function applyTagUpdater(wrapper) {
31
- const tagSupport = wrapper.tagSupport;
38
+ const subject = new ValueSubject({});
39
+ const tagSupport = new BaseTagSupport(wrapper, subject);
40
+ wrapper.tagSupport = tagSupport;
32
41
  runBeforeRender(tagSupport, undefined);
33
42
  // Call the apps function for our tag templater
34
- const tag = wrapper.wrapper();
43
+ const tag = wrapper.wrapper(tagSupport, subject);
44
+ // wrapper.global.oldest = tag
45
+ // wrapper.global.newest = tag
35
46
  runAfterRender(tagSupport, tag);
36
47
  return { tag, tagSupport };
37
48
  }
38
- /** Overwrites arguments.tagSupport.mutatingRender */
39
- export function addAppTagRender(tagSupport, tag) {
40
- let lastTag = tag;
41
- tagSupport.mutatingRender = () => {
42
- const preRenderCount = tagSupport.memory.renderCount;
43
- providersChangeCheck(tag);
44
- // When the providers were checked, a render to myself occurred and I do not need to re-render again
45
- if (preRenderCount !== tagSupport.memory.renderCount) {
46
- return lastTag;
47
- }
48
- runBeforeRedraw(tag.tagSupport, tag);
49
- const templater = tagSupport.templater; // wrapper
50
- const fromTag = lastTag = templater.wrapper();
51
- fromTag.tagSupport.memory = tagSupport.memory;
52
- tagSupport.propsConfig = { ...fromTag.tagSupport.propsConfig };
53
- tag.tagSupport.newest = fromTag;
54
- runAfterRender(tag.tagSupport, tag);
55
- tagSupport.oldest.updateByTag(fromTag);
56
- tagSupport.newest = fromTag;
57
- return lastTag;
58
- };
59
- }
60
49
  //# sourceMappingURL=tagElement.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"tagElement.js","sourceRoot":"","sources":["../ts/tagElement.ts"],"names":[],"mappings":"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"}
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,gBAAgB,CAAA;AAG7C,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"}
package/js/tagRunner.d.ts CHANGED
@@ -1,6 +1,6 @@
1
- import { Tag } from "./Tag.class.js";
2
- import { TagSupport } from "./TagSupport.class.js";
3
- export declare function runBeforeRender(tagSupport: TagSupport, tagOwner: Tag): void;
4
- export declare function runAfterRender(tagSupport: TagSupport, tag: Tag): void;
5
- export declare function runBeforeRedraw(tagSupport: TagSupport, tag: Tag): void;
6
- export declare function runBeforeDestroy(tagSupport: TagSupport, tag: Tag): void;
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;
package/js/tagRunner.js CHANGED
@@ -1,5 +1,5 @@
1
1
  // TODO: This should be more like `new TaggedJs().use({})`
2
- import { setUse } from "./setUse.function.js";
2
+ import { setUse } from './setUse.function';
3
3
  // Life cycle 1
4
4
  export function runBeforeRender(tagSupport, tagOwner) {
5
5
  setUse.tagUse.forEach(tagUse => tagUse.beforeRender(tagSupport, tagOwner));
@@ -1 +1 @@
1
- {"version":3,"file":"tagRunner.js","sourceRoot":"","sources":["../ts/tagRunner.ts"],"names":[],"mappings":"AAAA,0DAA0D;AAI1D,OAAO,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAA;AAE7C,eAAe;AACf,MAAM,UAAU,eAAe,CAC7B,UAAsB,EACtB,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,UAAsB,EACtB,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,UAAsB,EACtB,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,UAAsB,EACtB,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;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,26 +1,37 @@
1
- import { Tag } from "./Tag.class.js";
2
- import { TagSupport } from "./TagSupport.class.js";
3
- import { Props } from "./Props.js";
4
- import { TagChildren } from "./tag.js";
5
- export type Wrapper = (() => Tag) & {
1
+ import { Context, Tag } from './Tag.class';
2
+ import { BaseTagSupport } from './TagSupport.class';
3
+ import { Props } from './Props';
4
+ import { TagChildren } from './tag';
5
+ import { Provider } from './providers';
6
+ import { OnDestroyCallback } from './onDestroy';
7
+ export type Wrapper = ((tagSupport: BaseTagSupport) => Tag) & {
6
8
  original: () => Tag;
7
9
  };
8
10
  export declare class TemplaterResult {
11
+ props: Props;
12
+ children: TagChildren;
9
13
  tagged: boolean;
10
14
  wrapper: Wrapper;
11
- newest?: Tag;
12
- oldest?: Tag;
13
- tagSupport: TagSupport;
15
+ global: {
16
+ oldest?: Tag;
17
+ newest?: Tag;
18
+ context: Context;
19
+ providers: Provider[];
20
+ /** Indicator of re-rending. Saves from double rending something already rendered */
21
+ renderCount: number;
22
+ destroyCallback?: OnDestroyCallback;
23
+ insertBefore?: Element | Text;
24
+ };
25
+ tagSupport: BaseTagSupport;
14
26
  constructor(props: Props, children: TagChildren);
15
- redraw?: (force?: boolean) => Tag | undefined;
27
+ redraw?: (force?: boolean) => Tag;
16
28
  isTemplater: boolean;
17
- forceRenderTemplate(tagSupport: TagSupport, ownerTag: Tag): Tag;
18
- renderWithSupport(tagSupport: TagSupport, existingTag: Tag | undefined, ownerTag?: Tag): {
29
+ renderWithSupport(tagSupport: BaseTagSupport, existingTag: Tag | undefined, ownerTag?: Tag): {
19
30
  remit: boolean;
20
31
  retag: Tag;
21
32
  };
22
33
  }
23
34
  export interface TemplateRedraw extends TemplaterResult {
24
- redraw: () => Tag | undefined;
35
+ redraw: () => Tag;
25
36
  }
26
37
  export declare function alterProps(props: Props, templater: TemplaterResult): any;
@@ -1,72 +1,91 @@
1
- import { TagSupport } from "./TagSupport.class.js";
2
- import { isTagInstance } from "./isInstance.js";
3
- import { runAfterRender, runBeforeRedraw, runBeforeRender } from "./tagRunner.js";
4
- import { setUse } from "./setUse.function.js";
1
+ import { isTagInstance } from './isInstance';
2
+ import { runAfterRender, runBeforeRedraw, runBeforeRender } from './tagRunner';
3
+ import { setUse } from './setUse.function';
5
4
  export class TemplaterResult {
5
+ props;
6
+ children;
6
7
  tagged;
7
8
  wrapper;
8
- newest;
9
- oldest;
9
+ global = {
10
+ context: {}, // populated after reading interpolated.values array converted to an object {variable0, variable:1}
11
+ providers: [],
12
+ /** Indicator of re-rending. Saves from double rending something already rendered */
13
+ renderCount: 0,
14
+ };
10
15
  tagSupport;
11
16
  constructor(props, children) {
12
- this.tagSupport = new TagSupport(this, children, props);
17
+ this.props = props;
18
+ this.children = children;
13
19
  }
14
20
  redraw;
15
21
  isTemplater = true;
16
- forceRenderTemplate(tagSupport, ownerTag) {
17
- const tag = this.wrapper();
18
- runAfterRender(tagSupport, tag);
19
- this.oldest = tag;
20
- tagSupport.oldest = tag;
21
- this.oldest = tag;
22
- this.newest = tag;
23
- tag.ownerTag = ownerTag;
24
- return tag;
25
- }
26
22
  renderWithSupport(tagSupport, existingTag, ownerTag) {
23
+ const wrapTagSupport = tagSupport; // this.tagSupport
24
+ // this.tagSupport = wrapTagSupport
27
25
  /* BEFORE RENDER */
28
26
  // signify to other operations that a rendering has occurred so they do not need to render again
29
- ++tagSupport.memory.renderCount;
27
+ // ++wrapTagSupport.memory.renderCount
30
28
  const runtimeOwnerTag = existingTag?.ownerTag || ownerTag;
31
29
  if (existingTag) {
32
- tagSupport.propsConfig = { ...existingTag.tagSupport.propsConfig };
33
- runBeforeRedraw(tagSupport, existingTag);
30
+ runBeforeRedraw(wrapTagSupport, existingTag);
34
31
  }
35
32
  else {
33
+ if (!wrapTagSupport) {
34
+ throw new Error('63521');
35
+ }
36
36
  // first time render
37
- runBeforeRender(tagSupport, runtimeOwnerTag);
37
+ runBeforeRender(wrapTagSupport, runtimeOwnerTag);
38
38
  // TODO: Logic below most likely could live within providers.ts inside the runBeforeRender function
39
39
  const providers = setUse.memory.providerConfig;
40
40
  providers.ownerTag = runtimeOwnerTag;
41
41
  }
42
42
  /* END: BEFORE RENDER */
43
- const templater = this;
44
- const retag = templater.wrapper();
43
+ const retag = this.wrapper(wrapTagSupport);
45
44
  /* AFTER */
46
- runAfterRender(tagSupport, retag);
47
- templater.newest = retag;
45
+ runAfterRender(wrapTagSupport, retag);
48
46
  retag.ownerTag = runtimeOwnerTag;
49
- const oldest = tagSupport.oldest = tagSupport.oldest || retag;
50
- tagSupport.newest = retag;
51
- oldest.tagSupport.templater = templater;
52
- oldest.tagSupport.memory = retag.tagSupport.memory;
53
- const isSameTag = existingTag && existingTag.isLikeTag(retag);
54
- // If previously was a tag and seems to be same tag, then just update current tag with new values
55
- if (isSameTag) {
56
- existingTag.updateByTag(retag);
57
- return { remit: false, retag };
47
+ wrapTagSupport.templater.global.newest = retag;
48
+ if (this.global.oldest && !this.global.oldest.hasLiveElements) {
49
+ throw new Error('56513540');
58
50
  }
51
+ if (wrapTagSupport.templater.global.oldest && !wrapTagSupport.templater.global.oldest.hasLiveElements) {
52
+ throw new Error('5555 - 10');
53
+ }
54
+ // new maybe not needed
55
+ // this.oldest = this.oldest || retag
56
+ // wrapTagSupport.oldest = wrapTagSupport.oldest || retag
59
57
  return { remit: true, retag };
60
58
  }
61
59
  }
62
60
  /* Used to rewrite props that are functions. When they are called it should cause parent rendering */
63
61
  export function alterProps(props, templater) {
64
62
  function callback(toCall, callWith) {
63
+ const renderCount = templater.global.renderCount;
65
64
  const callbackResult = toCall(...callWith);
66
- const tagSupport = templater.newest?.ownerTag?.tagSupport;
65
+ const tag = templater.global.newest;
66
+ let tagSupport = tag?.tagSupport.ownerTagSupport;
67
67
  if (tagSupport) {
68
- tagSupport.render();
68
+ tagSupport = templater.global.newest?.tagSupport || templater.global.oldest?.tagSupport || tagSupport;
69
+ }
70
+ if (templater.global.renderCount > renderCount) {
71
+ throw new Error('already rendered');
72
+ }
73
+ const ownerTag = tag?.ownerTag;
74
+ if (ownerTag) {
75
+ const newestOwner = ownerTag.tagSupport.templater.global.newest;
76
+ newestOwner.tagSupport.render();
77
+ return;
78
+ }
79
+ console.log('alter prop reder', {
80
+ original: tagSupport.templater.wrapper.original,
81
+ ownerTag: tag?.ownerTag,
82
+ });
83
+ const newTag = tagSupport.render(); // call owner to render
84
+ if (!templater.global.oldest) {
85
+ throw new Error('lklk');
69
86
  }
87
+ templater.global.newest = newTag;
88
+ // templater.global.oldest = templater.global.oldest || newTag
70
89
  return callbackResult;
71
90
  }
72
91
  const isPropTag = isTagInstance(props);
@@ -85,10 +104,6 @@ function resetFunctionProps(props, callback) {
85
104
  if (value instanceof Function) {
86
105
  const original = newProps[name].original;
87
106
  if (original) {
88
- newProps[name] = (...args) => {
89
- return callback(value, args);
90
- };
91
- newProps[name].original = original;
92
107
  return; // already previously converted
93
108
  }
94
109
  newProps[name] = (...args) => {
@@ -1 +1 @@
1
- {"version":3,"file":"templater.utils.js","sourceRoot":"","sources":["../ts/templater.utils.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"templater.utils.js","sourceRoot":"","sources":["../ts/templater.utils.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import { Tag } from "./Tag.class.js";
2
- import { TagSubject } from "./Tag.utils.js";
3
- import { TemplaterResult } from "./templater.utils.js";
4
- export declare function updateExistingTag(templater: TemplaterResult, ogTag: Tag, existingSubject: TagSubject): never[];
1
+ import { Tag } from './Tag.class';
2
+ import { TagSubject } from './Tag.utils';
3
+ import { TemplaterResult } from './templater.utils';
4
+ export declare function updateExistingTag(templater: TemplaterResult, ogTag: Tag, existingSubject: TagSubject): never[] | undefined;