taggedjs 2.4.2 → 2.4.10

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 +3675 -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 +24 -17
  8. package/js/Tag.class.js +205 -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 +34 -0
  17. package/js/TemplaterResult.class.js +79 -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 +46 -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 +19 -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 +15 -13
  39. package/js/getCallback.js.map +1 -1
  40. package/js/hasTagSupportChanged.function.d.ts +6 -6
  41. package/js/hasTagSupportChanged.function.js +31 -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 +1 -1
  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 +16 -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 +40 -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 +50 -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 +80 -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 +114 -38
  137. package/js/updateExistingTagComponent.function.js.map +1 -1
  138. package/js/updateExistingValue.function.d.ts +8 -10
  139. package/js/updateExistingValue.function.js +58 -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 -1
  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.class.js CHANGED
@@ -1,10 +1,11 @@
1
- import { runBeforeDestroy } from "./tagRunner.js";
2
- import { buildClones } from "./render.js";
3
- import { interpolateElement, interpolateString } from "./interpolateElement.js";
4
- import { afterElmBuild } from "./interpolateTemplate.js";
5
- import { elementDestroyCheck } from "./elementDestroyCheck.function.js";
6
- import { updateExistingValue } from "./updateExistingValue.function.js";
7
- import { processNewValue } from "./processNewValue.function.js";
1
+ import { runBeforeDestroy } from './tagRunner';
2
+ import { buildClones } from './render';
3
+ import { interpolateElement, interpolateString } from './interpolateElement';
4
+ import { afterElmBuild, subscribeToTemplate } from './interpolateTemplate';
5
+ import { elementDestroyCheck } from './elementDestroyCheck.function';
6
+ import { processNewValue } from './processNewValue.function';
7
+ import { isSubjectInstance, isTagComponent } from './isInstance';
8
+ import { isLikeTags } from './isLikeTags.function';
8
9
  export const variablePrefix = '__tagvar';
9
10
  export const escapeVariable = '--' + variablePrefix + '--';
10
11
  const prefixSearch = new RegExp(variablePrefix, 'g');
@@ -16,13 +17,15 @@ export class Tag {
16
17
  strings;
17
18
  values;
18
19
  isTag = true;
19
- clones = []; // elements on document
20
+ hasLiveElements = false;
21
+ clones = []; // elements on document. Needed at destroy process to know what to destroy
20
22
  cloneSubs = []; // subscriptions created by clones
21
- children = []; // tags on me
23
+ childTags = []; // tags on me
22
24
  tagSupport;
25
+ lastTemplateString = undefined; // used to compare templates for updates
23
26
  // only present when a child of a tag
24
27
  ownerTag;
25
- insertBefore;
28
+ // insertBefore?: Element
26
29
  appElement; // only seen on this.getAppElement().appElement
27
30
  // present only when an array. Populated by this.key()
28
31
  arrayValue = new ArrayValueNeverSet();
@@ -35,71 +38,98 @@ export class Tag {
35
38
  this.arrayValue = arrayValue;
36
39
  return this;
37
40
  }
38
- async destroy(options = {
41
+ destroy(options = {
39
42
  stagger: 0,
40
43
  byParent: false, // Only destroy clones of direct children
41
44
  }) {
45
+ if (!this.hasLiveElements) {
46
+ throw new Error('destroying wrong tag');
47
+ }
48
+ const tagSupport = this.tagSupport;
49
+ const global = tagSupport.templater.global;
50
+ // removing is considered rendering. Prevents after event processing of this tag even tho possibly deleted
51
+ // ++this.tagSupport.templater.global.renderCount
42
52
  // the isComponent check maybe able to be removed
43
- const isComponent = this.tagSupport ? true : false;
53
+ const isComponent = tagSupport ? true : false;
44
54
  if (isComponent) {
45
- runBeforeDestroy(this.tagSupport, this);
55
+ runBeforeDestroy(tagSupport, this);
46
56
  }
57
+ const childTags = options.byParent ? [] : getChildTagsToDestroy(this.childTags);
58
+ // signify that no further event rendering should take place by making logic think a render occurred during event
59
+ // childTags.forEach(child => ++child.tagSupport.templater.global.renderCount)
60
+ // signify immediately child has been deleted (looked for during event processing)
61
+ childTags.forEach(child => {
62
+ const subGlobal = child.tagSupport.templater.global;
63
+ delete subGlobal.newest;
64
+ subGlobal.deleted = true;
65
+ });
66
+ delete global.oldest;
67
+ delete global.newest;
68
+ global.deleted = true;
69
+ this.hasLiveElements = false;
70
+ delete tagSupport.subject.tag;
47
71
  this.destroySubscriptions();
48
- const promises = this.children.map((kid) => kid.destroy({ ...options, byParent: true }));
72
+ let mainPromise;
49
73
  if (this.ownerTag) {
50
- this.ownerTag.children = this.ownerTag.children.filter(child => child !== this);
74
+ this.ownerTag.childTags = this.ownerTag.childTags.filter(child => child !== this);
51
75
  }
52
76
  if (!options.byParent) {
53
- options.stagger = await this.destroyClones(options);
77
+ const { stagger, promise } = this.destroyClones(options);
78
+ options.stagger = stagger;
79
+ if (promise) {
80
+ mainPromise = promise;
81
+ }
82
+ }
83
+ else {
84
+ this.destroyClones();
85
+ }
86
+ if (mainPromise) {
87
+ mainPromise = mainPromise.then(async () => {
88
+ const promises = childTags.map(kid => kid.destroy({ stagger: 0, byParent: true }));
89
+ return Promise.all(promises);
90
+ });
91
+ }
92
+ else {
93
+ mainPromise = Promise.all(childTags.map(kid => kid.destroy({ stagger: 0, byParent: true })));
54
94
  }
55
- await Promise.all(promises);
56
- return options.stagger;
95
+ return mainPromise.then(() => options.stagger);
57
96
  }
58
97
  destroySubscriptions() {
59
98
  this.cloneSubs.forEach(cloneSub => cloneSub.unsubscribe());
60
99
  this.cloneSubs.length = 0;
61
100
  }
62
- async destroyClones({ stagger } = {
101
+ destroyClones({ stagger } = {
63
102
  stagger: 0,
64
103
  }) {
65
- let hasPromise = false;
66
- const promises = this.clones.reverse().map((clone, index) => {
67
- let promise;
68
- if (clone.ondestroy) {
69
- promise = elementDestroyCheck(clone, stagger);
70
- }
71
- const next = () => {
72
- clone.parentNode?.removeChild(clone);
73
- const ownerTag = this.ownerTag;
74
- if (ownerTag) {
75
- // Sometimes my clones were first registered to my owner, remove them
76
- ownerTag.clones = ownerTag.clones.filter(compareClone => compareClone !== clone);
77
- }
78
- };
79
- if (promise instanceof Promise) {
80
- hasPromise = true;
81
- promise.then(next);
82
- }
83
- else {
84
- next();
85
- }
86
- return promise;
87
- });
88
- if (hasPromise) {
89
- await Promise.all(promises);
104
+ //const promises = this.clones.reverse().map(
105
+ const promises = this.clones.map(clone => this.checkCloneRemoval(clone, stagger)).filter(x => x); // only return promises
106
+ this.clones.length = 0; // tag maybe used for something else
107
+ if (promises.length) {
108
+ return { promise: Promise.all(promises), stagger };
90
109
  }
91
- return stagger;
110
+ return { stagger };
92
111
  }
93
- updateByTag(tag) {
94
- this.updateConfig(tag.strings, tag.values);
95
- this.tagSupport.templater = tag.tagSupport.templater;
96
- this.tagSupport.propsConfig = { ...tag.tagSupport.propsConfig };
97
- this.tagSupport.newest = tag;
98
- }
99
- lastTemplateString = undefined; // used to compare templates for updates
100
- updateConfig(strings, values) {
101
- this.strings = strings;
102
- this.updateValues(values);
112
+ checkCloneRemoval(clone, stagger) {
113
+ let promise;
114
+ const customElm = clone;
115
+ if (customElm.ondestroy) {
116
+ promise = elementDestroyCheck(customElm, stagger);
117
+ }
118
+ const next = () => {
119
+ clone.parentNode?.removeChild(clone);
120
+ const ownerTag = this.ownerTag;
121
+ if (ownerTag) {
122
+ // Sometimes my clones were first registered to my owner, remove them from owner
123
+ ownerTag.clones = ownerTag.clones.filter(compareClone => compareClone !== clone);
124
+ }
125
+ };
126
+ if (promise instanceof Promise) {
127
+ return promise.then(next);
128
+ }
129
+ else {
130
+ next();
131
+ }
132
+ return promise;
103
133
  }
104
134
  getTemplate() {
105
135
  const string = this.strings.map((string, index) => {
@@ -117,11 +147,13 @@ export class Tag {
117
147
  string: interpolation.string,
118
148
  strings: this.strings,
119
149
  values: this.values,
120
- context: this.tagSupport?.memory.context || {},
150
+ context: this.tagSupport.templater.global.context || {},
121
151
  };
122
152
  }
123
153
  isLikeTag(tag) {
154
+ return isLikeTags(this, tag);
124
155
  const { string } = tag.getTemplate();
156
+ // TODO: most likely remove?
125
157
  if (!this.lastTemplateString) {
126
158
  throw new Error('no template here');
127
159
  }
@@ -146,12 +178,29 @@ export class Tag {
146
178
  }
147
179
  return false;
148
180
  }
181
+ updateByTag(tag) {
182
+ if (!this.tagSupport.templater.global.oldest) {
183
+ throw new Error('no oldest here');
184
+ }
185
+ if (!this.hasLiveElements) {
186
+ throw new Error('trying to update a tag with no elements on stage');
187
+ }
188
+ this.tagSupport.templater.global.newest = tag;
189
+ if (!this.tagSupport.templater.global.context) {
190
+ throw new Error('issue back here');
191
+ }
192
+ this.updateConfig(tag.strings, tag.values);
193
+ }
194
+ updateConfig(strings, values) {
195
+ this.strings = strings;
196
+ this.updateValues(values);
197
+ }
149
198
  update() {
150
- return this.updateContext(this.tagSupport.memory.context);
199
+ return this.updateContext(this.tagSupport.templater.global.context);
151
200
  }
152
201
  updateValues(values) {
153
202
  this.values = values;
154
- return this.updateContext(this.tagSupport.memory.context);
203
+ return this.updateContext(this.tagSupport.templater.global.context);
155
204
  }
156
205
  updateContext(context) {
157
206
  this.strings.map((_string, index) => {
@@ -159,13 +208,15 @@ export class Tag {
159
208
  const hasValue = this.values.length > index;
160
209
  const value = this.values[index];
161
210
  // is something already there?
162
- const existing = variableName in context;
163
- if (existing) {
164
- const existing = context[variableName];
165
- return updateExistingValue(existing, value, this);
211
+ const exists = variableName in context;
212
+ if (exists) {
213
+ return updateContextItem(context, variableName, value);
214
+ }
215
+ if (!hasValue) {
216
+ return;
166
217
  }
167
218
  // 🆕 First time values below
168
- processNewValue(hasValue, value, context, variableName, this);
219
+ context[variableName] = processNewValue(hasValue, value, this);
169
220
  });
170
221
  return context;
171
222
  }
@@ -178,7 +229,8 @@ export class Tag {
178
229
  }
179
230
  /** Used during HMR only where static content itself could have been edited */
180
231
  rebuild() {
181
- const insertBefore = this.insertBefore;
232
+ // const insertBefore = this.insertBefore
233
+ const insertBefore = this.tagSupport.templater.global.insertBefore;
182
234
  if (!insertBefore) {
183
235
  const err = new Error('Cannot rebuild. Previous insertBefore element is not defined on tag');
184
236
  err.tag = this;
@@ -186,34 +238,109 @@ export class Tag {
186
238
  }
187
239
  this.buildBeforeElement(insertBefore, {
188
240
  forceElement: true,
189
- counts: { added: 0, removed: 0 },
241
+ counts: { added: 0, removed: 0 }, test: false,
190
242
  });
191
243
  }
192
244
  buildBeforeElement(insertBefore, options = {
193
245
  forceElement: false,
194
246
  counts: { added: 0, removed: 0 },
247
+ test: false
195
248
  }) {
196
- this.insertBefore = insertBefore;
249
+ if (!insertBefore.parentNode) {
250
+ throw new Error('no parent before removing clones');
251
+ }
252
+ this.tagSupport.templater.global.oldest = this;
253
+ this.tagSupport.templater.global.newest = this;
254
+ this.tagSupport.subject.tag = this;
255
+ this.hasLiveElements = true;
256
+ // remove old clones
257
+ if (this.clones.length) {
258
+ this.clones.forEach(clone => this.checkCloneRemoval(clone, 0));
259
+ }
260
+ // this.insertBefore = insertBefore
261
+ this.tagSupport.templater.global.insertBefore = insertBefore;
262
+ // const context = this.tagSupport.memory.context // this.update()
197
263
  const context = this.update();
198
264
  const template = this.getTemplate();
199
- const temporary = document.createElement('div');
200
- temporary.id = 'tag-temp-holder';
265
+ if (!insertBefore.parentNode) {
266
+ throw new Error('no parent before building tag');
267
+ }
268
+ const elementContainer = document.createElement('div');
269
+ elementContainer.id = 'tag-temp-holder';
201
270
  // render content with a first child that we can know is our first element
202
- temporary.innerHTML = `<template tag-wrap="22">${template.string}</template>`;
203
- // const clonesBefore = this.clones.map(clone => clone)
204
- const intClones = interpolateElement(temporary, context, template, this, // this.ownerTag || this,
271
+ elementContainer.innerHTML = `<template id="temp-template-tag-wrap">${template.string}</template>`;
272
+ // Search/replace innerHTML variables but don't interpolate tag components just yet
273
+ const { tagComponents } = interpolateElement(elementContainer, context, template, this, // ownerTag,
205
274
  {
206
275
  forceElement: options.forceElement,
207
276
  counts: options.counts
277
+ }, options.test);
278
+ if (!insertBefore.parentNode) {
279
+ throw new Error('no parent building tag');
280
+ }
281
+ afterInterpolateElement(elementContainer, insertBefore, this, // ownerTag
282
+ context, options);
283
+ // this.clones.push(...clones)
284
+ // Any tag components that were found should be processed AFTER the owner processes its elements. Avoid double processing of elements attributes like (oninit)=${}
285
+ let isForceElement = options.forceElement;
286
+ tagComponents.forEach(tagComponent => {
287
+ // const preClones = this.clones.map(clone => clone)
288
+ subscribeToTemplate(tagComponent.insertBefore, // temporary,
289
+ tagComponent.subject, tagComponent.ownerTag, options.counts, { isForceElement });
290
+ if (!insertBefore.parentNode) {
291
+ throw new Error('no parent building tag components');
292
+ }
293
+ afterInterpolateElement(elementContainer, insertBefore, this, context, options);
294
+ // remove component clones from ownerTag as they will belong to the components they live on
295
+ /*
296
+ if( preClones.length ) {
297
+ this.clones = this.clones.filter(cloneFilter => !preClones.find(clone => clone === cloneFilter))
298
+ }
299
+ */
208
300
  });
209
- this.clones.length = 0;
210
- const clones = buildClones(temporary, insertBefore);
211
- this.clones.push(...clones);
212
- if (intClones.length) {
213
- this.clones = this.clones.filter(cloneFilter => !intClones.find(clone => clone === cloneFilter));
301
+ }
302
+ }
303
+ function afterInterpolateElement(container, insertBefore, ownerTag,
304
+ // preClones: Clones,
305
+ context, options) {
306
+ const clones = buildClones(container, insertBefore);
307
+ ownerTag.clones.push(...clones);
308
+ clones.forEach(clone => afterElmBuild(clone, options, context, ownerTag));
309
+ return clones;
310
+ }
311
+ function getChildTagsToDestroy(childTags, allTags = []) {
312
+ for (let index = childTags.length - 1; index >= 0; --index) {
313
+ const cTag = childTags[index];
314
+ if (allTags.find(x => x === cTag)) {
315
+ // TODO: Lets find why a child tag is attached twice to owner
316
+ throw new Error('child tag registered twice for delete');
317
+ }
318
+ allTags.push(cTag);
319
+ childTags.splice(index, 1);
320
+ getChildTagsToDestroy(cTag.childTags, allTags);
321
+ }
322
+ return allTags;
323
+ }
324
+ function updateContextItem(context, variableName, value) {
325
+ const subject = context[variableName];
326
+ const tag = subject.tag;
327
+ if (tag) {
328
+ const oldWrap = tag.tagSupport.templater.wrapper; // tag versus component
329
+ if (oldWrap && isTagComponent(value)) {
330
+ const oldValueFn = oldWrap.original;
331
+ const newValueFn = value.wrapper?.original;
332
+ const fnMatched = oldValueFn === newValueFn;
333
+ if (fnMatched) {
334
+ const newTemp = value;
335
+ newTemp.global = tag.tagSupport.templater.global;
336
+ }
214
337
  }
215
- this.clones.forEach(clone => afterElmBuild(clone, options));
216
- return this.clones;
217
338
  }
339
+ // return updateExistingValue(subject, value, this)
340
+ if (isSubjectInstance(value)) {
341
+ return;
342
+ }
343
+ subject.set(value); // listeners will evaluate updated values to possibly update display(s)
344
+ return;
218
345
  }
219
346
  //# sourceMappingURL=Tag.class.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Tag.class.js","sourceRoot":"","sources":["../ts/Tag.class.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Tag.class.js","sourceRoot":"","sources":["../ts/Tag.class.ts"],"names":[],"mappings":"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"}
package/js/Tag.utils.d.ts CHANGED
@@ -1,17 +1,17 @@
1
- import { TagSupport } from "./TagSupport.class.js";
2
- import { ValueSubject } from "./ValueSubject.js";
3
- import { Subject } from "./Subject.js";
4
- import { Tag } from "./Tag.class.js";
5
- import { TemplaterResult } from "./templater.utils.js";
1
+ import { ValueSubject } from "./ValueSubject";
2
+ import { Subject } from "./Subject";
3
+ import { Tag } from "./Tag.class";
4
+ import { TemplaterResult } from "./TemplaterResult.class";
5
+ import { Template } from "./interpolateTemplate";
6
6
  export type TagSubject = Subject<TemplaterResult> & {
7
- tagSupport: TagSupport;
8
7
  tag: Tag;
9
- template: Element;
8
+ template: Element | Text | Template;
10
9
  };
11
- export type DisplaySubject = Subject<TemplaterResult> & {
12
- clone?: Element | Text;
13
- template: Element;
10
+ type RegularValue = string | number | boolean;
11
+ export type DisplaySubject = Subject<RegularValue> & {
12
+ lastValue?: RegularValue;
13
+ clone?: Element | Text | Template;
14
+ template: Element | Text | Template;
14
15
  };
15
- export declare function getSubjectFunction(value: any, tag: Tag): ValueSubject<(...args: any[]) => any>;
16
- export declare function setValueRedraw(templater: TemplaterResult, // latest tag function to call for rendering
17
- existing: TagSubject, ownerTag: Tag): void;
16
+ export declare function getSubjectFunction(value: any, tag: Tag): ValueSubject<import("./bindSubjectCallback.function").Callback>;
17
+ export {};
package/js/Tag.utils.js CHANGED
@@ -1,22 +1,6 @@
1
- import { ValueSubject } from "./ValueSubject.js";
2
- import { redrawTag } from "./redrawTag.function.js";
3
- import { bindSubjectCallback } from "./bindSubjectCallback.function.js";
1
+ import { ValueSubject } from "./ValueSubject";
2
+ import { bindSubjectCallback } from "./bindSubjectCallback.function";
4
3
  export function getSubjectFunction(value, tag) {
5
4
  return new ValueSubject(bindSubjectCallback(value, tag));
6
5
  }
7
- export function setValueRedraw(templater, // latest tag function to call for rendering
8
- existing, ownerTag) {
9
- // redraw does not communicate to parent
10
- templater.redraw = () => {
11
- const existingTag = existing.tag;
12
- const newest = templater.tagSupport.newest;
13
- const tagSupport = existingTag?.tagSupport || templater.tagSupport;
14
- const { remit, retag } = redrawTag(tagSupport, templater, newest, ownerTag);
15
- if (!remit) {
16
- return;
17
- }
18
- existing.set(templater);
19
- return retag;
20
- };
21
- }
22
6
  //# sourceMappingURL=Tag.utils.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Tag.utils.js","sourceRoot":"","sources":["../ts/Tag.utils.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAA;AAGhD,OAAO,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAA;AAEnD,OAAO,EAAE,mBAAmB,EAAE,MAAM,mCAAmC,CAAA;AAavE,MAAM,UAAU,kBAAkB,CAChC,KAAU,EACV,GAAQ;IAER,OAAO,IAAI,YAAY,CAAE,mBAAmB,CAAC,KAAK,EAAE,GAAG,CAAC,CAAE,CAAA;AAC5D,CAAC;AAED,MAAM,UAAU,cAAc,CAC5B,SAA0B,EAAE,4CAA4C;AACxE,QAAoB,EACpB,QAAa;IAEb,wCAAwC;IACxC,SAAS,CAAC,MAAM,GAAG,GAAG,EAAE;QACtB,MAAM,WAAW,GAAG,QAAQ,CAAC,GAAG,CAAA;QAChC,MAAM,MAAM,GAAG,SAAS,CAAC,UAAU,CAAC,MAAM,CAAA;QAC1C,MAAM,UAAU,GAAG,WAAW,EAAE,UAAU,IAAI,SAAS,CAAC,UAAU,CAAA;QAElE,MAAM,EAAC,KAAK,EAAE,KAAK,EAAC,GAAG,SAAS,CAC9B,UAAU,EACV,SAAS,EACT,MAAM,EACN,QAAQ,CACT,CAAA;QAED,IAAG,CAAC,KAAK,EAAE,CAAC;YACV,OAAM;QACR,CAAC;QAED,QAAQ,CAAC,GAAG,CAAC,SAAS,CAAC,CAAA;QAEvB,OAAO,KAAK,CAAA;IACd,CAAC,CAAA;AACH,CAAC"}
1
+ {"version":3,"file":"Tag.utils.js","sourceRoot":"","sources":["../ts/Tag.utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAA;AAI7C,OAAO,EAAE,mBAAmB,EAAE,MAAM,gCAAgC,CAAA;AAepE,MAAM,UAAU,kBAAkB,CAChC,KAAU,EACV,GAAQ;IAER,OAAO,IAAI,YAAY,CAAE,mBAAmB,CAAC,KAAK,EAAE,GAAG,CAAC,CAAE,CAAA;AAC5D,CAAC"}
@@ -1,10 +1,11 @@
1
- import { Props } from "./Props.js";
2
- import { Tag, TagMemory } from "./Tag.class.js";
3
- import { TagChildren } from "./tag.js";
4
- import { TemplaterResult } from "./templater.utils.js";
5
- export declare class TagSupport {
1
+ import { Props } from './Props';
2
+ import { TagMemory } from './Tag.class';
3
+ import { TemplaterResult } from './TemplaterResult.class';
4
+ import { TagSubject } from './Tag.utils';
5
+ export declare class BaseTagSupport {
6
6
  templater: TemplaterResult;
7
- children: TagChildren;
7
+ subject: TagSubject;
8
+ isApp: boolean;
8
9
  propsConfig: {
9
10
  latest: Props;
10
11
  latestCloned: Props;
@@ -12,12 +13,12 @@ export declare class TagSupport {
12
13
  clonedProps: Props;
13
14
  };
14
15
  memory: TagMemory;
15
- constructor(templater: TemplaterResult, children: TagChildren, // children tags passed in as arguments
16
- props?: Props);
17
- oldest?: Tag;
18
- newest?: Tag;
19
- mutatingRender(): Tag;
20
- render(): Tag;
21
- /** Returns true when rendering owner is not needed. Returns false when rendering owner should occur */
22
- renderExistingTag(tag: Tag, newTemplater: TemplaterResult): boolean;
16
+ constructor(templater: TemplaterResult, subject: TagSubject);
17
+ }
18
+ export declare class TagSupport extends BaseTagSupport {
19
+ ownerTagSupport: TagSupport;
20
+ templater: TemplaterResult;
21
+ subject: TagSubject;
22
+ isApp: boolean;
23
+ constructor(ownerTagSupport: TagSupport, templater: TemplaterResult, subject: TagSubject);
23
24
  }
@@ -1,26 +1,22 @@
1
- import { deepClone } from "./deepFunctions.js";
2
- import { hasTagSupportChanged } from "./hasTagSupportChanged.function.js";
3
- import { isTagArray, isTagComponent, isTagInstance } from "./isInstance.js";
4
- import { providersChangeCheck } from "./provider.utils.js";
5
- import { alterProps } from "./templater.utils.js";
6
- export class TagSupport {
1
+ import { deepClone } from './deepFunctions';
2
+ import { isTagArray, isTagComponent, isTagInstance } from './isInstance';
3
+ export class BaseTagSupport {
7
4
  templater;
8
- children;
5
+ subject;
6
+ isApp = true;
9
7
  propsConfig;
10
8
  memory = {
11
- context: {}, // populated after reading interpolated.values array converted to an object {variable0, variable:1}
9
+ // context: {}, // populated after reading interpolated.values array converted to an object {variable0, variable:1}
12
10
  state: {
13
11
  newest: [],
14
12
  },
15
- providers: [],
16
- /** Indicator of re-rending. Saves from double rending something already rendered */
17
- renderCount: 0,
18
13
  };
19
- constructor(templater, children, // children tags passed in as arguments
20
- props) {
14
+ constructor(templater, subject) {
21
15
  this.templater = templater;
22
- this.children = children;
23
- const latestCloned = alterProps(props, templater);
16
+ this.subject = subject;
17
+ const children = this.templater.children; // children tags passed in as arguments
18
+ const props = this.templater.props; // natural props
19
+ const latestCloned = deepClone(props); // alterProps(props, templater)
24
20
  this.propsConfig = {
25
21
  latest: props,
26
22
  latestCloned, // assume its HTML children and then detect
@@ -36,36 +32,6 @@ export class TagSupport {
36
32
  this.propsConfig.clonedProps = this.propsConfig.latestCloned;
37
33
  }
38
34
  }
39
- // TODO: these below may not be in use
40
- oldest;
41
- newest;
42
- mutatingRender() {
43
- const message = 'Tag function "render()" was called in sync but can only be called async';
44
- console.error(message, { tagSupport: this });
45
- throw new Error(message);
46
- } // loaded later and only callable async
47
- render() {
48
- ++this.memory.renderCount;
49
- return this.mutatingRender();
50
- } // ensure this function still works even during deconstructing
51
- /** Returns true when rendering owner is not needed. Returns false when rendering owner should occur */
52
- renderExistingTag(tag, newTemplater) {
53
- const preRenderCount = this.memory.renderCount;
54
- providersChangeCheck(tag);
55
- // When the providers were checked, a render to myself occurred and I do not need to re-render again
56
- if (preRenderCount !== this.memory.renderCount) {
57
- return true;
58
- }
59
- // const oldTemplater = tag.tagSupport.templater
60
- const oldTagSupport = tag.tagSupport;
61
- // const oldTagSupport = this
62
- const hasChanged = hasTagSupportChanged(oldTagSupport, newTemplater.tagSupport);
63
- this.newest = this.templater.redraw(); // No change detected, just redraw me only
64
- if (!hasChanged) {
65
- return true;
66
- }
67
- return false;
68
- }
69
35
  }
70
36
  function cloneValueArray(values) {
71
37
  return values.map((value) => {
@@ -75,7 +41,7 @@ function cloneValueArray(values) {
75
41
  }
76
42
  if (isTagComponent(tag)) {
77
43
  const tagComponent = tag;
78
- return deepClone(tagComponent.tagSupport.propsConfig.latestCloned);
44
+ return deepClone(tagComponent.props);
79
45
  }
80
46
  if (isTagArray(tag)) {
81
47
  return cloneValueArray(tag);
@@ -83,4 +49,16 @@ function cloneValueArray(values) {
83
49
  return deepClone(value);
84
50
  });
85
51
  }
52
+ export class TagSupport extends BaseTagSupport {
53
+ ownerTagSupport;
54
+ templater;
55
+ subject;
56
+ isApp = false;
57
+ constructor(ownerTagSupport, templater, subject) {
58
+ super(templater, subject);
59
+ this.ownerTagSupport = ownerTagSupport;
60
+ this.templater = templater;
61
+ this.subject = subject;
62
+ }
63
+ }
86
64
  //# sourceMappingURL=TagSupport.class.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"TagSupport.class.js","sourceRoot":"","sources":["../ts/TagSupport.class.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"TagSupport.class.js","sourceRoot":"","sources":["../ts/TagSupport.class.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAA;AAC3C,OAAO,EAAE,UAAU,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,cAAc,CAAA;AAMxE,MAAM,OAAO,cAAc;IAmBhB;IACA;IAnBT,KAAK,GAAG,IAAI,CAAA;IAEZ,WAAW,CAMV;IAED,MAAM,GAAc;QAClB,mHAAmH;QACnH,KAAK,EAAE;YACL,MAAM,EAAE,EAAsB;SAC/B;KACF,CAAA;IAED,YACS,SAA0B,EAC1B,OAAmB;QADnB,cAAS,GAAT,SAAS,CAAiB;QAC1B,YAAO,GAAP,OAAO,CAAY;QAE1B,MAAM,QAAQ,GAAgB,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAA,CAAC,uCAAuC;QAC7F,MAAM,KAAK,GAAU,IAAI,CAAC,SAAS,CAAC,KAAK,CAAA,CAAE,gBAAgB;QAE3D,MAAM,YAAY,GAAG,SAAS,CAAC,KAAK,CAAC,CAAA,CAAC,+BAA+B;QACrE,IAAI,CAAC,WAAW,GAAG;YACjB,MAAM,EAAE,KAAK;YACb,YAAY,EAAE,2CAA2C;YACzD,WAAW,EAAE,YAAY,EAAE,kBAAkB;YAC7C,mBAAmB,EAAE,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE;gBAC5C,MAAM,WAAW,GAAG,eAAe,CAAC,GAAG,CAAC,MAAM,CAAC,CAAA;gBAC/C,OAAO,WAAW,CAAA;YACpB,CAAC,CAAC;SACH,CAAA;QAED,qGAAqG;QACrG,IAAG,CAAC,aAAa,CAAC,KAAK,CAAC,EAAE,CAAC;YACzB,IAAI,CAAC,WAAW,CAAC,YAAY,GAAG,SAAS,CAAE,YAAY,CAAE,CAAA;YACzD,IAAI,CAAC,WAAW,CAAC,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC,YAAY,CAAA;QAC9D,CAAC;IACH,CAAC;CACF;AAGD,SAAS,eAAe,CAAI,MAA2B;IACrD,OAAO,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE;QAC1B,MAAM,GAAG,GAAG,KAAY,CAAA;QAExB,IAAG,aAAa,CAAC,GAAG,CAAC,EAAE,CAAC;YACtB,OAAO,eAAe,CAAC,GAAG,CAAC,MAAM,CAAC,CAAA;QACpC,CAAC;QAED,IAAG,cAAc,CAAC,GAAG,CAAC,EAAE,CAAC;YACvB,MAAM,YAAY,GAAG,GAAiC,CAAA;YACtD,OAAO,SAAS,CAAC,YAAY,CAAC,KAAK,CAAC,CAAA;QACtC,CAAC;QAED,IAAG,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;YACnB,OAAO,eAAe,CAAC,GAAuB,CAAC,CAAA;QACjD,CAAC;QAED,OAAO,SAAS,CAAC,KAAK,CAAC,CAAA;IACzB,CAAC,CAAC,CAAA;AACJ,CAAC;AAED,MAAM,OAAO,UAAW,SAAQ,cAAc;IAInC;IACA;IACA;IALT,KAAK,GAAG,KAAK,CAAA;IAEb,YACS,eAA2B,EAC3B,SAA0B,EAC1B,OAAmB;QAE1B,KAAK,CAAC,SAAS,EAAE,OAAO,CAAC,CAAA;QAJlB,oBAAe,GAAf,eAAe,CAAY;QAC3B,cAAS,GAAT,SAAS,CAAiB;QAC1B,YAAO,GAAP,OAAO,CAAY;IAG5B,CAAC;CACF"}