taggedjs 2.4.12 → 2.4.14

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 (103) hide show
  1. package/bundle.js +862 -424
  2. package/bundle.js.map +1 -1
  3. package/js/Clones.type.d.ts +4 -1
  4. package/js/Clones.type.js +1 -1
  5. package/js/Clones.type.js.map +1 -1
  6. package/js/Tag.class.d.ts +7 -10
  7. package/js/Tag.class.js +120 -63
  8. package/js/Tag.class.js.map +1 -1
  9. package/js/Tag.utils.d.ts +5 -5
  10. package/js/Tag.utils.js +1 -1
  11. package/js/Tag.utils.js.map +1 -1
  12. package/js/TemplaterResult.class.d.ts +5 -1
  13. package/js/TemplaterResult.class.js +19 -12
  14. package/js/TemplaterResult.class.js.map +1 -1
  15. package/js/alterProps.function.d.ts +2 -0
  16. package/js/alterProps.function.js +18 -12
  17. package/js/alterProps.function.js.map +1 -1
  18. package/js/checkDestroyPrevious.function.d.ts +3 -1
  19. package/js/checkDestroyPrevious.function.js +33 -11
  20. package/js/checkDestroyPrevious.function.js.map +1 -1
  21. package/js/destroyTag.function.js +4 -4
  22. package/js/destroyTag.function.js.map +1 -1
  23. package/js/hasTagSupportChanged.function.js +0 -3
  24. package/js/hasTagSupportChanged.function.js.map +1 -1
  25. package/js/index.d.ts +1 -2
  26. package/js/index.js +1 -2
  27. package/js/index.js.map +1 -1
  28. package/js/insertAfter.function.d.ts +2 -0
  29. package/js/insertAfter.function.js +6 -0
  30. package/js/insertAfter.function.js.map +1 -0
  31. package/js/interpolateElement.d.ts +3 -2
  32. package/js/interpolateElement.js +3 -2
  33. package/js/interpolateElement.js.map +1 -1
  34. package/js/interpolateTemplate.d.ts +2 -3
  35. package/js/interpolateTemplate.js +6 -24
  36. package/js/interpolateTemplate.js.map +1 -1
  37. package/js/interpolations.js +2 -1
  38. package/js/interpolations.js.map +1 -1
  39. package/js/isInstance.d.ts +2 -2
  40. package/js/isInstance.js.map +1 -1
  41. package/js/processAttribute.function.d.ts +1 -0
  42. package/js/processAttribute.function.js +3 -3
  43. package/js/processAttribute.function.js.map +1 -1
  44. package/js/processNewValue.function.js +1 -1
  45. package/js/processNewValue.function.js.map +1 -1
  46. package/js/processRegularValue.function.d.ts +2 -2
  47. package/js/processRegularValue.function.js +7 -6
  48. package/js/processRegularValue.function.js.map +1 -1
  49. package/js/processSubjectComponent.function.d.ts +4 -3
  50. package/js/processSubjectComponent.function.js +26 -18
  51. package/js/processSubjectComponent.function.js.map +1 -1
  52. package/js/processSubjectValue.function.d.ts +4 -9
  53. package/js/processSubjectValue.function.js +6 -54
  54. package/js/processSubjectValue.function.js.map +1 -1
  55. package/js/processTag.function.d.ts +7 -0
  56. package/js/processTag.function.js +59 -0
  57. package/js/processTag.function.js.map +1 -0
  58. package/js/processTagArray.d.ts +7 -5
  59. package/js/processTagArray.js +55 -18
  60. package/js/processTagArray.js.map +1 -1
  61. package/js/processTagResult.function.d.ts +1 -1
  62. package/js/processTagResult.function.js +26 -32
  63. package/js/processTagResult.function.js.map +1 -1
  64. package/js/render.d.ts +2 -1
  65. package/js/render.js.map +1 -1
  66. package/js/renderExistingTag.function.js +4 -3
  67. package/js/renderExistingTag.function.js.map +1 -1
  68. package/js/subject/Subject.class.d.ts +24 -0
  69. package/js/subject/Subject.class.js +103 -0
  70. package/js/subject/Subject.class.js.map +1 -0
  71. package/js/subject/Subject.utils.d.ts +27 -0
  72. package/js/subject/Subject.utils.js +4 -0
  73. package/js/subject/Subject.utils.js.map +1 -0
  74. package/js/subject/ValueSubject.d.ts +9 -0
  75. package/js/subject/ValueSubject.js +15 -0
  76. package/js/subject/ValueSubject.js.map +1 -0
  77. package/js/subject/combineLatest.function.d.ts +2 -0
  78. package/js/subject/combineLatest.function.js +24 -0
  79. package/js/subject/combineLatest.function.js.map +1 -0
  80. package/js/subject/index.d.ts +4 -0
  81. package/js/subject/index.js +5 -0
  82. package/js/subject/index.js.map +1 -0
  83. package/js/subject/will.functions.d.ts +8 -0
  84. package/js/subject/will.functions.js +32 -0
  85. package/js/subject/will.functions.js.map +1 -0
  86. package/js/tag.d.ts +1 -1
  87. package/js/tag.js +2 -2
  88. package/js/tag.js.map +1 -1
  89. package/js/tagElement.js +1 -1
  90. package/js/tagElement.js.map +1 -1
  91. package/js/updateBeforeTemplate.function.d.ts +3 -0
  92. package/js/updateBeforeTemplate.function.js +16 -0
  93. package/js/updateBeforeTemplate.function.js.map +1 -0
  94. package/js/updateExistingTagComponent.function.d.ts +2 -1
  95. package/js/updateExistingTagComponent.function.js +55 -24
  96. package/js/updateExistingTagComponent.function.js.map +1 -1
  97. package/js/updateExistingValue.function.d.ts +3 -2
  98. package/js/updateExistingValue.function.js +35 -11
  99. package/js/updateExistingValue.function.js.map +1 -1
  100. package/package.json +1 -1
  101. /package/js/{errors.d.ts → Errors.d.ts} +0 -0
  102. /package/js/{errors.js → Errors.js} +0 -0
  103. /package/js/{errors.js.map → Errors.js.map} +0 -0
@@ -1 +1,4 @@
1
- export type Clones = (Element | Text | ChildNode)[];
1
+ import { Template } from "./interpolateTemplate";
2
+ export type InsertBefore = Element | Text | Template | ChildNode;
3
+ export type Clones = InsertBefore[];
4
+ export declare const isRemoveTemplates = true;
package/js/Clones.type.js CHANGED
@@ -1,2 +1,2 @@
1
- export {};
1
+ export const isRemoveTemplates = true;
2
2
  //# sourceMappingURL=Clones.type.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Clones.type.js","sourceRoot":"","sources":["../ts/Clones.type.ts"],"names":[],"mappings":""}
1
+ {"version":3,"file":"Clones.type.js","sourceRoot":"","sources":["../ts/Clones.type.ts"],"names":[],"mappings":"AAMA,MAAM,CAAC,MAAM,iBAAiB,GAAG,IAAI,CAAA"}
package/js/Tag.class.d.ts CHANGED
@@ -1,9 +1,9 @@
1
1
  import { TagSupport } from './TagSupport.class';
2
- import { Subscription } from './Subject';
3
2
  import { Counts } from './interpolateTemplate';
4
3
  import { State } from './set.function';
5
4
  import { InterpolatedTemplates } from './interpolations';
6
5
  import { InterpolateSubject } from './processSubjectValue.function';
6
+ import { InsertBefore } from './Clones.type';
7
7
  export declare const variablePrefix = "__tagvar";
8
8
  export declare const escapeVariable: string;
9
9
  export declare const escapeSearch: RegExp;
@@ -20,9 +20,6 @@ export interface TagTemplate {
20
20
  values: unknown[];
21
21
  context: Context;
22
22
  }
23
- export declare class ArrayValueNeverSet {
24
- isArrayValueNeverSet: boolean;
25
- }
26
23
  export declare class Tag {
27
24
  strings: string[];
28
25
  values: any[];
@@ -30,13 +27,14 @@ export declare class Tag {
30
27
  isTag: boolean;
31
28
  hasLiveElements: boolean;
32
29
  clones: (Element | Text | ChildNode)[];
33
- cloneSubs: Subscription[];
34
30
  childTags: Tag[];
35
31
  tagSupport: TagSupport;
36
32
  lastTemplateString: string | undefined;
37
33
  ownerTag?: Tag;
38
34
  appElement?: Element;
39
- arrayValue: unknown | ArrayValueNeverSet;
35
+ memory: {
36
+ arrayValue?: unknown;
37
+ };
40
38
  constructor(strings: string[], values: any[]);
41
39
  /** Used for array, such as array.map(), calls aka array.map(x => html``.key(x)) */
42
40
  key(arrayValue: unknown): this;
@@ -49,9 +47,10 @@ export declare class Tag {
49
47
  stagger: number;
50
48
  promise?: undefined;
51
49
  };
50
+ /** Reviews elements for the presences of ondestroy */
52
51
  checkCloneRemoval(clone: Element | Text | ChildNode, stagger: number): Promise<void> | undefined;
53
52
  getTemplate(): TagTemplate;
54
- isLikeTag(tag: Tag): boolean | Boolean;
53
+ isLikeTag(tag: Tag): Boolean;
55
54
  updateByTag(tag: Tag): void;
56
55
  updateConfig(strings: string[], values: any[]): void;
57
56
  update(): Context;
@@ -60,9 +59,7 @@ export declare class Tag {
60
59
  getAppElement(): Tag;
61
60
  /** Used during HMR only where static content itself could have been edited */
62
61
  rebuild(): void;
63
- buildBeforeElement(insertBefore: Element | Text, options?: ElementBuildOptions & {
64
- test: boolean;
65
- }): void;
62
+ buildBeforeElement(insertBefore: InsertBefore, options?: ElementBuildOptions): void;
66
63
  }
67
64
  type DestroyOptions = {
68
65
  stagger: number;
package/js/Tag.class.js CHANGED
@@ -6,13 +6,13 @@ import { elementDestroyCheck } from './elementDestroyCheck.function';
6
6
  import { processNewValue } from './processNewValue.function';
7
7
  import { isSubjectInstance, isTagComponent } from './isInstance';
8
8
  import { isLikeTags } from './isLikeTags.function';
9
+ import { isRemoveTemplates } from './Clones.type';
10
+ import { restoreTagMarker } from './checkDestroyPrevious.function';
11
+ import { insertAfter } from './insertAfter.function';
9
12
  export const variablePrefix = '__tagvar';
10
13
  export const escapeVariable = '--' + variablePrefix + '--';
11
14
  const prefixSearch = new RegExp(variablePrefix, 'g');
12
15
  export const escapeSearch = new RegExp(escapeVariable, 'g');
13
- export class ArrayValueNeverSet {
14
- isArrayValueNeverSet = true;
15
- }
16
16
  export class Tag {
17
17
  strings;
18
18
  values;
@@ -20,7 +20,6 @@ export class Tag {
20
20
  isTag = true;
21
21
  hasLiveElements = false;
22
22
  clones = []; // elements on document. Needed at destroy process to know what to destroy
23
- cloneSubs = []; // subscriptions created by clones
24
23
  childTags = []; // tags on me
25
24
  tagSupport;
26
25
  lastTemplateString = undefined; // used to compare templates for updates
@@ -28,15 +27,15 @@ export class Tag {
28
27
  ownerTag;
29
28
  // insertBefore?: Element
30
29
  appElement; // only seen on this.getAppElement().appElement
31
- // present only when an array. Populated by this.key()
32
- arrayValue = new ArrayValueNeverSet();
30
+ // present only when an array. Populated by Tag.key()
31
+ memory = {};
33
32
  constructor(strings, values) {
34
33
  this.strings = strings;
35
34
  this.values = values;
36
35
  }
37
36
  /** Used for array, such as array.map(), calls aka array.map(x => html``.key(x)) */
38
37
  key(arrayValue) {
39
- this.arrayValue = arrayValue;
38
+ this.memory.arrayValue = arrayValue;
40
39
  return this;
41
40
  }
42
41
  destroy(options = {
@@ -50,6 +49,18 @@ export class Tag {
50
49
  const global = tagSupport.templater.global;
51
50
  // removing is considered rendering. Prevents after event processing of this tag even tho possibly deleted
52
51
  // ++this.tagSupport.templater.global.renderCount
52
+ const subject = tagSupport.subject;
53
+ // put back down the template tag
54
+ const insertBefore = global.insertBefore;
55
+ if (isRemoveTemplates) {
56
+ const placeholder = global.placeholderElm;
57
+ if (placeholder && !('arrayValue' in this.memory)) {
58
+ if (!options.byParent) {
59
+ restoreTagMarker(this, insertBefore);
60
+ }
61
+ }
62
+ }
63
+ delete global.placeholderElm;
53
64
  // the isComponent check maybe able to be removed
54
65
  const isComponent = tagSupport ? true : false;
55
66
  if (isComponent) {
@@ -57,7 +68,6 @@ export class Tag {
57
68
  }
58
69
  const childTags = options.byParent ? [] : getChildTagsToDestroy(this.childTags);
59
70
  // signify that no further event rendering should take place by making logic think a render occurred during event
60
- // childTags.forEach(child => ++child.tagSupport.templater.global.renderCount)
61
71
  // signify immediately child has been deleted (looked for during event processing)
62
72
  childTags.forEach(child => {
63
73
  const subGlobal = child.tagSupport.templater.global;
@@ -68,7 +78,7 @@ export class Tag {
68
78
  delete global.newest;
69
79
  global.deleted = true;
70
80
  this.hasLiveElements = false;
71
- delete tagSupport.subject.tag;
81
+ delete subject.tag;
72
82
  this.destroySubscriptions();
73
83
  let mainPromise;
74
84
  if (this.ownerTag) {
@@ -96,8 +106,9 @@ export class Tag {
96
106
  return mainPromise.then(() => options.stagger);
97
107
  }
98
108
  destroySubscriptions() {
99
- this.cloneSubs.forEach(cloneSub => cloneSub.unsubscribe());
100
- this.cloneSubs.length = 0;
109
+ const global = this.tagSupport.templater.global;
110
+ global.subscriptions.forEach(cloneSub => cloneSub.unsubscribe());
111
+ global.subscriptions.length = 0;
101
112
  }
102
113
  destroyClones({ stagger } = {
103
114
  stagger: 0,
@@ -110,6 +121,7 @@ export class Tag {
110
121
  }
111
122
  return { stagger };
112
123
  }
124
+ /** Reviews elements for the presences of ondestroy */
113
125
  checkCloneRemoval(clone, stagger) {
114
126
  let promise;
115
127
  const customElm = clone;
@@ -153,31 +165,6 @@ export class Tag {
153
165
  }
154
166
  isLikeTag(tag) {
155
167
  return isLikeTags(this, tag);
156
- const { string } = tag.getTemplate();
157
- // TODO: most likely remove?
158
- if (!this.lastTemplateString) {
159
- throw new Error('no template here');
160
- }
161
- const stringMatched = string === this.lastTemplateString;
162
- if (!stringMatched || tag.values.length !== this.values.length) {
163
- return false;
164
- }
165
- const allVarsMatch = tag.values.every((value, index) => {
166
- const compareTo = this.values[index];
167
- const isFunctions = value instanceof Function && compareTo instanceof Function;
168
- if (isFunctions) {
169
- const stringMatch = value.toString() === compareTo.toString();
170
- if (stringMatch) {
171
- return true;
172
- }
173
- return false;
174
- }
175
- return true;
176
- });
177
- if (allVarsMatch) {
178
- return true;
179
- }
180
- return false;
181
168
  }
182
169
  updateByTag(tag) {
183
170
  if (!this.tagSupport.templater.global.oldest) {
@@ -239,31 +226,40 @@ export class Tag {
239
226
  }
240
227
  this.buildBeforeElement(insertBefore, {
241
228
  forceElement: true,
242
- counts: { added: 0, removed: 0 }, test: false,
229
+ counts: { added: 0, removed: 0 },
243
230
  });
244
231
  }
245
232
  buildBeforeElement(insertBefore, options = {
246
233
  forceElement: false,
247
234
  counts: { added: 0, removed: 0 },
248
- test: false
249
235
  }) {
250
- if (!insertBefore.parentNode) {
251
- throw new Error('no parent before removing clones');
236
+ const subject = this.tagSupport.subject;
237
+ const thisTemplater = this.tagSupport.templater;
238
+ const global = thisTemplater.global;
239
+ if (isRemoveTemplates) {
240
+ const placeholderElm = global.placeholderElm;
241
+ if (placeholderElm) {
242
+ const parentNode = placeholderElm.parentNode;
243
+ parentNode.insertBefore(insertBefore, placeholderElm);
244
+ // ??? - removed as we don't steal clones anymore
245
+ // this.clones.push( placeholderElm ) // put back on chopping block
246
+ delete global.placeholderElm;
247
+ }
252
248
  }
253
- this.tagSupport.templater.global.oldest = this;
254
- this.tagSupport.templater.global.newest = this;
255
- this.tagSupport.subject.tag = this;
249
+ const trueInsertBefore = insertBefore;
250
+ global.oldest = this;
251
+ global.newest = this;
252
+ subject.tag = this;
256
253
  this.hasLiveElements = true;
257
254
  // remove old clones
258
255
  if (this.clones.length) {
259
256
  this.clones.forEach(clone => this.checkCloneRemoval(clone, 0));
260
257
  }
261
- // this.insertBefore = insertBefore
262
- this.tagSupport.templater.global.insertBefore = insertBefore;
258
+ global.insertBefore = insertBefore;
263
259
  // const context = this.tagSupport.memory.context // this.update()
264
260
  const context = this.update();
265
261
  const template = this.getTemplate();
266
- if (!insertBefore.parentNode) {
262
+ if (!trueInsertBefore.parentNode) {
267
263
  throw new Error('no parent before building tag');
268
264
  }
269
265
  const elementContainer = document.createElement('div');
@@ -275,38 +271,99 @@ export class Tag {
275
271
  {
276
272
  forceElement: options.forceElement,
277
273
  counts: options.counts
278
- }, options.test);
279
- if (!insertBefore.parentNode) {
274
+ });
275
+ if (!trueInsertBefore.parentNode) {
280
276
  throw new Error('no parent building tag');
281
277
  }
282
- afterInterpolateElement(elementContainer, insertBefore, this, // ownerTag
278
+ afterInterpolateElement(elementContainer, trueInsertBefore, // insertBefore (will be removed)
279
+ this, // ownerTag
283
280
  context, options);
284
- // this.clones.push(...clones)
285
281
  // Any tag components that were found should be processed AFTER the owner processes its elements. Avoid double processing of elements attributes like (oninit)=${}
286
282
  let isForceElement = options.forceElement;
287
283
  tagComponents.forEach(tagComponent => {
288
- // const preClones = this.clones.map(clone => clone)
289
- subscribeToTemplate(tagComponent.insertBefore, // temporary,
290
- tagComponent.subject, tagComponent.ownerTag, options.counts, { isForceElement });
291
- if (!insertBefore.parentNode) {
284
+ const tagSupport = tagComponent.ownerTag.tagSupport;
285
+ const tagGlobal = tagSupport.templater.global;
286
+ const placeholderElm = tagGlobal.placeholderElm; // global.placeholderElm
287
+ if (!placeholderElm && !insertBefore.parentNode) {
292
288
  throw new Error('no parent building tag components');
293
289
  }
294
- afterInterpolateElement(elementContainer, insertBefore, this, context, options);
295
- // remove component clones from ownerTag as they will belong to the components they live on
296
- /*
297
- if( preClones.length ) {
298
- this.clones = this.clones.filter(cloneFilter => !preClones.find(clone => clone === cloneFilter))
290
+ const before = tagComponent.insertBefore; // insertBefore (will be removed)
291
+ subscribeToTemplate(before, // tagComponent.insertBefore,
292
+ tagComponent.subject, tagComponent.ownerTag, options.counts, { isForceElement });
293
+ const clones = afterInterpolateElement(elementContainer, before, // (will be removed)
294
+ tagComponent.ownerTag, // this, // ownerTag
295
+ context, options);
296
+ if (placeholderElm && !placeholderElm?.parentNode) {
297
+ const clone = clones[this.clones.length - 1];
298
+ if (clone) {
299
+ restoreTagMarker(tagComponent.ownerTag, clone);
300
+ }
301
+ }
302
+ if (placeholderElm) {
303
+ if (placeholderElm.parentNode) {
304
+ if (!global.placeholderElm) {
305
+ global.placeholderElm = placeholderElm;
306
+ }
307
+ }
308
+ if (this.clones.length) {
309
+ if (insertBefore.parentNode) {
310
+ global.placeholderElm = insertBefore.previousSibling;
311
+ const parentNode = insertBefore.parentNode;
312
+ parentNode.removeChild(insertBefore);
313
+ }
314
+ }
299
315
  }
300
- */
301
316
  });
317
+ if (!global.placeholderElm) {
318
+ // const clone = getLastCloneFromTags(this)
319
+ // const clone = (insertBefore as Element).previousElementSibling as Element
320
+ const clone = insertBefore.previousSibling;
321
+ if (clone) {
322
+ const parentNode = insertBefore.parentNode;
323
+ global.placeholderElm = clone;
324
+ parentNode.removeChild(insertBefore);
325
+ }
326
+ }
302
327
  }
303
328
  }
304
- function afterInterpolateElement(container, insertBefore, ownerTag,
329
+ function afterInterpolateElement(container, insertBefore, tag,
305
330
  // preClones: Clones,
306
331
  context, options) {
307
332
  const clones = buildClones(container, insertBefore);
308
- ownerTag.clones.push(...clones);
309
- clones.forEach(clone => afterElmBuild(clone, options, context, ownerTag));
333
+ if (!clones.length) {
334
+ return clones;
335
+ }
336
+ const ownerSupport = tag.tagSupport;
337
+ const ownerGlobal = ownerSupport.templater.global;
338
+ const hadBefore = isRemoveTemplates && ownerGlobal.placeholderElm;
339
+ const parentNode = hadBefore ? ownerGlobal.placeholderElm?.parentNode : insertBefore.parentNode;
340
+ // we could now be processing same tag but more after components being rendered
341
+ if (hadBefore) {
342
+ // 0 put the template back down
343
+ insertAfter(insertBefore, hadBefore);
344
+ // ??? - removed as need for arrays
345
+ delete ownerGlobal.placeholderElm;
346
+ }
347
+ clones.forEach(clone => afterElmBuild(clone, options, context, tag));
348
+ let hasPopClone;
349
+ if (isRemoveTemplates) {
350
+ const clone = insertBefore.previousSibling; // clones[clones.length - 1]
351
+ if (clone) {
352
+ const isTemplate = clone.tagName === 'TEMPLATE' && clone.hasAttribute('interpolate');
353
+ if (!isTemplate) {
354
+ hasPopClone = ownerGlobal.placeholderElm = clone; // insertBefore
355
+ }
356
+ }
357
+ }
358
+ if (clones.find(x => x === insertBefore)) {
359
+ throw new Error('adding marker to owner in tag class');
360
+ }
361
+ tag.clones.push(...clones);
362
+ if (isRemoveTemplates) {
363
+ if (hasPopClone) { // || hadBefore
364
+ parentNode.removeChild(insertBefore); // belongs to another tag
365
+ }
366
+ }
310
367
  return clones;
311
368
  }
312
369
  function getChildTagsToDestroy(childTags, allTags = []) {
@@ -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 { ValueSubject } from "./ValueSubject";
2
- import { Subject } from "./Subject";
1
+ import { InsertBefore } from "./Clones.type";
3
2
  import { Tag } from "./Tag.class";
4
3
  import { TemplaterResult } from "./TemplaterResult.class";
5
4
  import { Template } from "./interpolateTemplate";
5
+ import { Subject } from "./subject/Subject.class";
6
+ import { ValueSubject } from "./subject/ValueSubject";
6
7
  export type TagSubject = Subject<TemplaterResult> & {
7
- tag: Tag;
8
- template: Element | Text | Template;
8
+ tag?: Tag;
9
9
  };
10
10
  type RegularValue = string | number | boolean;
11
11
  export type DisplaySubject = Subject<RegularValue> & {
12
12
  lastValue?: RegularValue;
13
13
  clone?: Element | Text | Template;
14
- template: Element | Text | Template;
14
+ insertBefore: InsertBefore;
15
15
  };
16
16
  export declare function getSubjectFunction(value: any, tag: Tag): ValueSubject<import("./bindSubjectCallback.function").Callback>;
17
17
  export {};
package/js/Tag.utils.js CHANGED
@@ -1,5 +1,5 @@
1
- import { ValueSubject } from "./ValueSubject";
2
1
  import { bindSubjectCallback } from "./bindSubjectCallback.function";
2
+ import { ValueSubject } from "./subject/ValueSubject";
3
3
  export function getSubjectFunction(value, tag) {
4
4
  return new ValueSubject(bindSubjectCallback(value, tag));
5
5
  }
@@ -1 +1 @@
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
+ {"version":3,"file":"Tag.utils.js","sourceRoot":"","sources":["../ts/Tag.utils.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,mBAAmB,EAAE,MAAM,gCAAgC,CAAA;AAGpE,OAAO,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAA;AAcrD,MAAM,UAAU,kBAAkB,CAChC,KAAU,EACV,GAAQ;IAER,OAAO,IAAI,YAAY,CAAE,mBAAmB,CAAC,KAAK,EAAE,GAAG,CAAC,CAAE,CAAA;AAC5D,CAAC"}
@@ -6,6 +6,8 @@ import { Provider } from './providers';
6
6
  import { OnDestroyCallback } from './onDestroy';
7
7
  import { TagSubject } from './Tag.utils';
8
8
  import { OnInitCallback } from './onInit';
9
+ import { Subscription } from './subject/Subject.utils';
10
+ import { InsertBefore } from './Clones.type';
9
11
  export type Wrapper = ((tagSupport: BaseTagSupport, subject: TagSubject) => Tag) & {
10
12
  original: () => Tag;
11
13
  };
@@ -23,9 +25,11 @@ export declare class TemplaterResult {
23
25
  providers: Provider[];
24
26
  /** Indicator of re-rending. Saves from double rending something already rendered */
25
27
  renderCount: number;
26
- insertBefore?: Element | Text;
27
28
  deleted: boolean;
28
29
  isApp?: boolean;
30
+ insertBefore?: InsertBefore;
31
+ placeholderElm?: InsertBefore;
32
+ subscriptions: Subscription[];
29
33
  destroyCallback?: OnDestroyCallback;
30
34
  init?: OnInitCallback;
31
35
  };
@@ -14,7 +14,8 @@ export class TemplaterResult {
14
14
  providers: [],
15
15
  /** Indicator of re-rending. Saves from double rending something already rendered */
16
16
  renderCount: 0,
17
- deleted: false
17
+ deleted: false,
18
+ subscriptions: []
18
19
  };
19
20
  tagSupport;
20
21
  constructor(props, children) {
@@ -49,25 +50,31 @@ export function renderWithSupport(tagSupport, existingTag, subject, ownerTag) {
49
50
  }
50
51
  /* END: BEFORE RENDER */
51
52
  const templater = wrapTagSupport.templater;
53
+ // NEW TAG CREATED HERE
52
54
  const retag = templater.wrapper(wrapTagSupport, subject);
53
55
  /* AFTER */
54
56
  runAfterRender(wrapTagSupport, retag);
55
57
  const isLikeTag = !existingTag || isLikeTags(existingTag, retag);
56
58
  if (!isLikeTag) {
57
- destroyTagMemory(existingTag, subject);
58
- delete templater.global.oldest;
59
- delete templater.global.newest;
60
- delete subject.tag;
61
- templater.global.insertBefore = existingTag.tagSupport.templater.global.insertBefore;
59
+ destroyUnlikeTags(existingTag, templater, subject);
62
60
  }
63
61
  retag.ownerTag = runtimeOwnerTag;
64
62
  wrapTagSupport.templater.global.newest = retag;
65
- if (wrapTagSupport.templater.global.oldest && !wrapTagSupport.templater.global.oldest.hasLiveElements) {
66
- throw new Error('56513540');
67
- }
68
- if (wrapTagSupport.templater.global.oldest && !wrapTagSupport.templater.global.oldest.hasLiveElements) {
69
- throw new Error('5555 - 10');
70
- }
71
63
  return retag;
72
64
  }
65
+ function destroyUnlikeTags(existingTag, // old
66
+ templater, // new
67
+ subject) {
68
+ const oldGlobal = existingTag.tagSupport.templater.global;
69
+ const insertBefore = oldGlobal.insertBefore;
70
+ destroyTagMemory(existingTag, subject);
71
+ // ??? - new so that when a tag is destroy the unlike does not carry the destroy signifier
72
+ templater.global = { ...templater.global }; // break memory references
73
+ const global = templater.global;
74
+ global.insertBefore = insertBefore;
75
+ global.deleted = false;
76
+ delete global.oldest;
77
+ delete global.newest;
78
+ delete subject.tag;
79
+ }
73
80
  //# sourceMappingURL=TemplaterResult.class.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"TemplaterResult.class.js","sourceRoot":"","sources":["../ts/TemplaterResult.class.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"TemplaterResult.class.js","sourceRoot":"","sources":["../ts/TemplaterResult.class.ts"],"names":[],"mappings":"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"}
@@ -2,3 +2,5 @@ import { Props } from './Props';
2
2
  import { TagSupport } from './TagSupport.class';
3
3
  import { TemplaterResult } from './TemplaterResult.class';
4
4
  export declare function alterProps(props: Props, templater: TemplaterResult, ownerSupport: TagSupport): any;
5
+ export declare function callbackPropOwner(toCall: (...args: any[]) => any, callWith: any, templater: TemplaterResult, // only used to prevent rendering double
6
+ ownerSupport: TagSupport): any;
@@ -3,17 +3,7 @@ import { renderTagSupport } from './renderTagSupport.function';
3
3
  /* Used to rewrite props that are functions. When they are called it should cause parent rendering */
4
4
  export function alterProps(props, templater, ownerSupport) {
5
5
  function callback(toCall, callWith) {
6
- const renderCount = templater.global.renderCount;
7
- const callbackResult = toCall(...callWith);
8
- if (templater.global.renderCount > renderCount) {
9
- throw new Error('already rendered');
10
- }
11
- const lastestOwner = ownerSupport.templater.global.newest;
12
- const newOwner = renderTagSupport(lastestOwner.tagSupport, true);
13
- if (newOwner.tagSupport.templater.global.newest != newOwner) {
14
- throw new Error('newest assignment issue?');
15
- }
16
- return callbackResult;
6
+ return callbackPropOwner(toCall, callWith, templater, ownerSupport);
17
7
  }
18
8
  const isPropTag = isTagInstance(props);
19
9
  const watchProps = isPropTag ? 0 : props;
@@ -34,12 +24,28 @@ function resetFunctionProps(props, callback) {
34
24
  return; // already previously converted
35
25
  }
36
26
  newProps[name] = (...args) => {
37
- return callback(value, args);
27
+ return newProps[name].toCall(...args); // what gets called can switch over parent state changes
38
28
  };
29
+ // Currently, call self but over parent state changes, I may need to call a newer parent tag owner
30
+ newProps[name].toCall = (...args) => callback(value, args);
39
31
  newProps[name].original = value;
40
32
  return;
41
33
  }
42
34
  });
43
35
  return newProps;
44
36
  }
37
+ export function callbackPropOwner(toCall, callWith, templater, // only used to prevent rendering double
38
+ ownerSupport) {
39
+ const renderCount = templater.global.renderCount;
40
+ const callbackResult = toCall(...callWith);
41
+ if (templater.global.renderCount > renderCount) {
42
+ throw new Error('already rendered');
43
+ }
44
+ const lastestOwner = ownerSupport.templater.global.newest;
45
+ const newOwner = renderTagSupport(lastestOwner.tagSupport, true);
46
+ if (newOwner.tagSupport.templater.global.newest != newOwner) {
47
+ throw new Error('newest assignment issue?');
48
+ }
49
+ return callbackResult;
50
+ }
45
51
  //# sourceMappingURL=alterProps.function.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"alterProps.function.js","sourceRoot":"","sources":["../ts/alterProps.function.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAA;AAC5C,OAAO,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAA;AAE9D,qGAAqG;AACrG,MAAM,UAAU,UAAU,CACxB,KAAY,EACZ,SAA0B,EAC1B,YAAwB;IAExB,SAAS,QAAQ,CAAC,MAAW,EAAE,QAAa;QAC1C,MAAM,WAAW,GAAG,SAAS,CAAC,MAAM,CAAC,WAAW,CAAA;QAChD,MAAM,cAAc,GAAG,MAAM,CAAC,GAAG,QAAQ,CAAC,CAAA;QAE1C,IAAG,SAAS,CAAC,MAAM,CAAC,WAAW,GAAG,WAAW,EAAE,CAAC;YAC9C,MAAM,IAAI,KAAK,CAAC,kBAAkB,CAAC,CAAA;QACrC,CAAC;QAED,MAAM,YAAY,GAAG,YAAY,CAAC,SAAS,CAAC,MAAM,CAAC,MAAa,CAAA;QAChE,MAAM,QAAQ,GAAG,gBAAgB,CAC/B,YAAY,CAAC,UAAU,EACvB,IAAI,CACL,CAAA;QAED,IAAG,QAAQ,CAAC,UAAU,CAAC,SAAS,CAAC,MAAM,CAAC,MAAM,IAAI,QAAQ,EAAE,CAAC;YAC3D,MAAM,IAAI,KAAK,CAAC,0BAA0B,CAAC,CAAA;QAC7C,CAAC;QAED,OAAO,cAAc,CAAA;IACvB,CAAC;IAED,MAAM,SAAS,GAAG,aAAa,CAAC,KAAK,CAAC,CAAA;IACtC,MAAM,UAAU,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAA;IACxC,MAAM,QAAQ,GAAG,kBAAkB,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAA;IAEzD,OAAO,QAAQ,CAAA;AACjB,CAAC;AAED,SAAS,kBAAkB,CACzB,KAAU,EACV,QAAiD;IAEjD,IAAG,OAAM,CAAC,KAAK,CAAC,KAAG,QAAQ,EAAE,CAAC;QAC5B,OAAO,KAAK,CAAA;IACd,CAAC;IAED,MAAM,QAAQ,GAAG,KAAK,CAAA;IACtB,uFAAuF;IACvF,+BAA+B;IAE/B,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,EAAE,KAAK,CAAC,EAAE,EAAE;QACjD,IAAG,KAAK,YAAY,QAAQ,EAAE,CAAC;YAC7B,MAAM,QAAQ,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAA;YAExC,IAAG,QAAQ,EAAE,CAAC;gBACZ,OAAM,CAAC,+BAA+B;YACxC,CAAC;YAED,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,IAAW,EAAE,EAAE;gBAClC,OAAO,QAAQ,CAAC,KAAK,EAAE,IAAI,CAAC,CAAA;YAC9B,CAAC,CAAA;YAED,QAAQ,CAAC,IAAI,CAAC,CAAC,QAAQ,GAAG,KAAK,CAAA;YAE/B,OAAM;QACR,CAAC;IACH,CAAC,CAAC,CAAA;IAEF,OAAO,QAAQ,CAAA;AACjB,CAAC"}
1
+ {"version":3,"file":"alterProps.function.js","sourceRoot":"","sources":["../ts/alterProps.function.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAA;AAC5C,OAAO,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAA;AAE9D,qGAAqG;AACrG,MAAM,UAAU,UAAU,CACxB,KAAY,EACZ,SAA0B,EAC1B,YAAwB;IAExB,SAAS,QAAQ,CAAC,MAAW,EAAE,QAAa;QAC1C,OAAO,iBAAiB,CAAC,MAAM,EAAE,QAAQ,EAAE,SAAS,EAAE,YAAY,CAAC,CAAA;IACrE,CAAC;IAED,MAAM,SAAS,GAAG,aAAa,CAAC,KAAK,CAAC,CAAA;IACtC,MAAM,UAAU,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAA;IACxC,MAAM,QAAQ,GAAG,kBAAkB,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAA;IAEzD,OAAO,QAAQ,CAAA;AACjB,CAAC;AAED,SAAS,kBAAkB,CACzB,KAAU,EACV,QAAiD;IAEjD,IAAG,OAAM,CAAC,KAAK,CAAC,KAAG,QAAQ,EAAE,CAAC;QAC5B,OAAO,KAAK,CAAA;IACd,CAAC;IAED,MAAM,QAAQ,GAAG,KAAK,CAAA;IACtB,uFAAuF;IACvF,+BAA+B;IAE/B,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,EAAE,KAAK,CAAC,EAAE,EAAE;QACjD,IAAG,KAAK,YAAY,QAAQ,EAAE,CAAC;YAC7B,MAAM,QAAQ,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAA;YAExC,IAAG,QAAQ,EAAE,CAAC;gBACZ,OAAM,CAAC,+BAA+B;YACxC,CAAC;YAED,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,IAAW,EAAE,EAAE;gBAClC,OAAO,QAAQ,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC,CAAA,CAAC,wDAAwD;YAChG,CAAC,CAAA;YAED,kGAAkG;YAClG,QAAQ,CAAC,IAAI,CAAC,CAAC,MAAM,GAAG,CAAC,GAAG,IAAW,EAAE,EAAE,CAAC,QAAQ,CAAC,KAAK,EAAE,IAAI,CAAC,CAAA;YACjE,QAAQ,CAAC,IAAI,CAAC,CAAC,QAAQ,GAAG,KAAK,CAAA;YAE/B,OAAM;QACR,CAAC;IACH,CAAC,CAAC,CAAA;IAEF,OAAO,QAAQ,CAAA;AACjB,CAAC;AAED,MAAM,UAAU,iBAAiB,CAC/B,MAA+B,EAC/B,QAAa,EACb,SAA0B,EAAE,wCAAwC;AACpE,YAAwB;IAExB,MAAM,WAAW,GAAG,SAAS,CAAC,MAAM,CAAC,WAAW,CAAA;IAChD,MAAM,cAAc,GAAG,MAAM,CAAC,GAAG,QAAQ,CAAC,CAAA;IAE1C,IAAG,SAAS,CAAC,MAAM,CAAC,WAAW,GAAG,WAAW,EAAE,CAAC;QAC9C,MAAM,IAAI,KAAK,CAAC,kBAAkB,CAAC,CAAA;IACrC,CAAC;IAED,MAAM,YAAY,GAAG,YAAY,CAAC,SAAS,CAAC,MAAM,CAAC,MAAa,CAAA;IAChE,MAAM,QAAQ,GAAG,gBAAgB,CAC/B,YAAY,CAAC,UAAU,EACvB,IAAI,CACL,CAAA;IAED,IAAG,QAAQ,CAAC,UAAU,CAAC,SAAS,CAAC,MAAM,CAAC,MAAM,IAAI,QAAQ,EAAE,CAAC;QAC3D,MAAM,IAAI,KAAK,CAAC,0BAA0B,CAAC,CAAA;IAC7C,CAAC;IAED,OAAO,cAAc,CAAA;AACvB,CAAC"}
@@ -1,6 +1,8 @@
1
1
  import { Tag } from './Tag.class';
2
2
  import { InterpolateSubject } from './processSubjectValue.function';
3
3
  import { Counts } from './interpolateTemplate';
4
+ import { InsertBefore } from './Clones.type';
4
5
  export declare function checkDestroyPrevious(subject: InterpolateSubject, // existing.value is the old value
5
- newValue: unknown): false | 1 | 2 | 3 | 4;
6
+ newValue: unknown, insertBefore: InsertBefore): false | "array" | 2 | "different-tag" | 4;
6
7
  export declare function destroyArrayTag(tag: Tag, counts: Counts): void;
8
+ export declare function restoreTagMarker(existingTag: Tag, insertBefore: InsertBefore): void;