taggedjs 2.4.17 → 2.4.32

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 (164) hide show
  1. package/bundle.js +1314 -1241
  2. package/bundle.js.map +1 -1
  3. package/js/Clones.type.d.ts +1 -1
  4. package/js/Tag.class.d.ts +5 -40
  5. package/js/Tag.class.js +2 -347
  6. package/js/Tag.class.js.map +1 -1
  7. package/js/TagSupport.class.d.ts +40 -6
  8. package/js/TagSupport.class.js +268 -30
  9. package/js/TagSupport.class.js.map +1 -1
  10. package/js/TemplaterResult.class.d.ts +13 -13
  11. package/js/TemplaterResult.class.js +34 -45
  12. package/js/TemplaterResult.class.js.map +1 -1
  13. package/js/afterInterpolateElement.function.d.ts +4 -0
  14. package/js/afterInterpolateElement.function.js +14 -0
  15. package/js/afterInterpolateElement.function.js.map +1 -0
  16. package/js/alterProps.function.d.ts +2 -4
  17. package/js/alterProps.function.js +7 -15
  18. package/js/alterProps.function.js.map +1 -1
  19. package/js/bindSubjectCallback.function.js +0 -3
  20. package/js/bindSubjectCallback.function.js.map +1 -1
  21. package/js/checkDestroyPrevious.function.d.ts +5 -5
  22. package/js/checkDestroyPrevious.function.js +20 -17
  23. package/js/checkDestroyPrevious.function.js.map +1 -1
  24. package/js/cloneValueArray.function.d.ts +2 -0
  25. package/js/cloneValueArray.function.js +19 -0
  26. package/js/cloneValueArray.function.js.map +1 -0
  27. package/js/deepFunctions.js +36 -29
  28. package/js/deepFunctions.js.map +1 -1
  29. package/js/destroy.support.d.ts +6 -0
  30. package/js/destroy.support.js +10 -0
  31. package/js/destroy.support.js.map +1 -0
  32. package/js/destroyTag.function.d.ts +2 -3
  33. package/js/destroyTag.function.js +7 -11
  34. package/js/destroyTag.function.js.map +1 -1
  35. package/js/hasTagSupportChanged.function.js +0 -12
  36. package/js/hasTagSupportChanged.function.js.map +1 -1
  37. package/js/index.d.ts +2 -1
  38. package/js/index.js +2 -1
  39. package/js/index.js.map +1 -1
  40. package/js/interpolateTemplate.js +0 -3
  41. package/js/interpolateTemplate.js.map +1 -1
  42. package/js/interpolations/bindSubjectCallback.function.d.ts +7 -0
  43. package/js/interpolations/bindSubjectCallback.function.js +40 -0
  44. package/js/interpolations/bindSubjectCallback.function.js.map +1 -0
  45. package/js/interpolations/elementInitCheck.d.ts +2 -0
  46. package/js/interpolations/elementInitCheck.js +18 -0
  47. package/js/interpolations/elementInitCheck.js.map +1 -0
  48. package/js/interpolations/inputAttribute.d.ts +1 -0
  49. package/js/interpolations/inputAttribute.js +19 -0
  50. package/js/interpolations/inputAttribute.js.map +1 -0
  51. package/js/interpolations/interpolateAttributes.d.ts +4 -0
  52. package/js/interpolations/interpolateAttributes.js +20 -0
  53. package/js/interpolations/interpolateAttributes.js.map +1 -0
  54. package/js/interpolations/interpolateContentTemplates.d.ts +9 -0
  55. package/js/interpolations/interpolateContentTemplates.js +42 -0
  56. package/js/interpolations/interpolateContentTemplates.js.map +1 -0
  57. package/js/interpolations/interpolateElement.d.ts +14 -0
  58. package/js/interpolations/interpolateElement.js +36 -0
  59. package/js/interpolations/interpolateElement.js.map +1 -0
  60. package/js/interpolations/interpolateTemplate.d.ts +32 -0
  61. package/js/interpolations/interpolateTemplate.js +80 -0
  62. package/js/interpolations/interpolateTemplate.js.map +1 -0
  63. package/js/interpolations/interpolations.d.ts +7 -0
  64. package/js/interpolations/interpolations.js +18 -0
  65. package/js/interpolations/interpolations.js.map +1 -0
  66. package/js/interpolations/processAttribute.function.d.ts +5 -0
  67. package/js/interpolations/processAttribute.function.js +122 -0
  68. package/js/interpolations/processAttribute.function.js.map +1 -0
  69. package/js/interpolations/scanTextAreaValue.function.d.ts +3 -0
  70. package/js/interpolations/scanTextAreaValue.function.js +16 -0
  71. package/js/interpolations/scanTextAreaValue.function.js.map +1 -0
  72. package/js/interpolations.js +1 -2
  73. package/js/interpolations.js.map +1 -1
  74. package/js/isInstance.d.ts +4 -1
  75. package/js/isInstance.js +12 -4
  76. package/js/isInstance.js.map +1 -1
  77. package/js/isLikeTags.function.d.ts +3 -1
  78. package/js/isLikeTags.function.js +15 -6
  79. package/js/isLikeTags.function.js.map +1 -1
  80. package/js/processNewValue.function.d.ts +3 -2
  81. package/js/processNewValue.function.js +27 -11
  82. package/js/processNewValue.function.js.map +1 -1
  83. package/js/processRegularValue.function.d.ts +1 -1
  84. package/js/processSubjectComponent.function.d.ts +5 -5
  85. package/js/processSubjectComponent.function.js +26 -34
  86. package/js/processSubjectComponent.function.js.map +1 -1
  87. package/js/processSubjectValue.function.d.ts +11 -7
  88. package/js/processSubjectValue.function.js +20 -7
  89. package/js/processSubjectValue.function.js.map +1 -1
  90. package/js/processTag.function.d.ts +8 -4
  91. package/js/processTag.function.js +23 -39
  92. package/js/processTag.function.js.map +1 -1
  93. package/js/processTagArray.d.ts +6 -4
  94. package/js/processTagArray.js +41 -39
  95. package/js/processTagArray.js.map +1 -1
  96. package/js/processTagResult.function.d.ts +4 -4
  97. package/js/processTagResult.function.js +14 -30
  98. package/js/processTagResult.function.js.map +1 -1
  99. package/js/renderExistingTag.function.d.ts +6 -6
  100. package/js/renderExistingTag.function.js +26 -22
  101. package/js/renderExistingTag.function.js.map +1 -1
  102. package/js/renderTagSupport.function.d.ts +2 -3
  103. package/js/renderTagSupport.function.js +17 -20
  104. package/js/renderTagSupport.function.js.map +1 -1
  105. package/js/setTagPlaceholder.function.d.ts +2 -0
  106. package/js/setTagPlaceholder.function.js +8 -0
  107. package/js/setTagPlaceholder.function.js.map +1 -0
  108. package/js/state/callbackMaker.function.d.ts +2 -2
  109. package/js/state/callbackMaker.function.js +4 -5
  110. package/js/state/callbackMaker.function.js.map +1 -1
  111. package/js/state/onDestroy.js +2 -2
  112. package/js/state/onDestroy.js.map +1 -1
  113. package/js/state/onInit.js +4 -5
  114. package/js/state/onInit.js.map +1 -1
  115. package/js/state/provider.utils.d.ts +2 -2
  116. package/js/state/provider.utils.js +11 -16
  117. package/js/state/provider.utils.js.map +1 -1
  118. package/js/state/providers.d.ts +8 -3
  119. package/js/state/providers.js +15 -18
  120. package/js/state/providers.js.map +1 -1
  121. package/js/state/setUse.function.d.ts +12 -10
  122. package/js/state/setUse.function.js.map +1 -1
  123. package/js/state/state.utils.d.ts +1 -3
  124. package/js/state/state.utils.js +19 -13
  125. package/js/state/state.utils.js.map +1 -1
  126. package/js/state/watch.function.d.ts +6 -1
  127. package/js/state/watch.function.js +8 -3
  128. package/js/state/watch.function.js.map +1 -1
  129. package/js/subject/Subject.class.d.ts +10 -6
  130. package/js/subject/Subject.class.js +26 -10
  131. package/js/subject/Subject.class.js.map +1 -1
  132. package/js/subject/Subject.utils.d.ts +7 -5
  133. package/js/subject/Subject.utils.js.map +1 -1
  134. package/js/subject/ValueSubject.d.ts +2 -2
  135. package/js/subject/ValueSubject.js +1 -1
  136. package/js/subject/ValueSubject.js.map +1 -1
  137. package/js/subject/combineLatest.function.js.map +1 -1
  138. package/js/subject.types.d.ts +18 -0
  139. package/js/subject.types.js +2 -0
  140. package/js/subject.types.js.map +1 -0
  141. package/js/tag.d.ts +1 -1
  142. package/js/tag.js +25 -31
  143. package/js/tag.js.map +1 -1
  144. package/js/tagElement.d.ts +3 -7
  145. package/js/tagElement.js +24 -24
  146. package/js/tagElement.js.map +1 -1
  147. package/js/tagRunner.d.ts +7 -6
  148. package/js/tagRunner.js +16 -8
  149. package/js/tagRunner.js.map +1 -1
  150. package/js/updateBeforeTemplate.function.d.ts +1 -1
  151. package/js/updateBeforeTemplate.function.js.map +1 -1
  152. package/js/updateContextItem.function.d.ts +3 -0
  153. package/js/updateContextItem.function.js +43 -0
  154. package/js/updateContextItem.function.js.map +1 -0
  155. package/js/updateExistingTagComponent.function.d.ts +4 -4
  156. package/js/updateExistingTagComponent.function.js +49 -87
  157. package/js/updateExistingTagComponent.function.js.map +1 -1
  158. package/js/updateExistingValue.function.d.ts +2 -7
  159. package/js/updateExistingValue.function.js +94 -50
  160. package/js/updateExistingValue.function.js.map +1 -1
  161. package/package.json +1 -1
  162. /package/js/{errors.d.ts → Errors.d.ts} +0 -0
  163. /package/js/{errors.js → Errors.js} +0 -0
  164. /package/js/{errors.js.map → Errors.js.map} +0 -0
@@ -1,3 +1,8 @@
1
1
  export type WatchCallback = (currentValues: any[], previousValues: any[] | undefined) => unknown | ((currentValues: any[]) => unknown) | (() => unknown);
2
- /** When an item in watch array changes, callback function will be triggered */
2
+ /**
3
+ * When an item in watch array changes, callback function will be triggered. Does not trigger on initial watch setup.
4
+ * @param currentValues T[]
5
+ * @param callback WatchCallback
6
+ * @returns T[]
7
+ */
3
8
  export declare function watch<T>(currentValues: T[], callback: WatchCallback): T[];
@@ -1,10 +1,15 @@
1
1
  import { letState } from './letState.function';
2
- /** When an item in watch array changes, callback function will be triggered */
2
+ /**
3
+ * When an item in watch array changes, callback function will be triggered. Does not trigger on initial watch setup.
4
+ * @param currentValues T[]
5
+ * @param callback WatchCallback
6
+ * @returns T[]
7
+ */
3
8
  export function watch(currentValues, callback) {
4
9
  let previousValues = letState(undefined)(x => [previousValues, previousValues = x]);
10
+ // First time running watch?
5
11
  if (previousValues === undefined) {
6
- callback(currentValues, previousValues);
7
- // const result = {currentValues, previousValues}
12
+ // callback(currentValues, previousValues) // do not call during init
8
13
  previousValues = currentValues;
9
14
  return currentValues;
10
15
  }
@@ -1 +1 @@
1
- {"version":3,"file":"watch.function.js","sourceRoot":"","sources":["../../ts/state/watch.function.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAA;AAO9C,+EAA+E;AAC/E,MAAM,UAAU,KAAK,CACnB,aAAkB,EAClB,QAAuB;IAEvB,IAAI,cAAc,GAAG,QAAQ,CAAC,SAAkC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,cAAc,EAAE,cAAc,GAAG,CAAC,CAAC,CAAC,CAAA;IAE5G,IAAG,cAAc,KAAK,SAAS,EAAE,CAAC;QAChC,QAAQ,CAAC,aAAa,EAAE,cAAc,CAAC,CAAA;QACvC,iDAAiD;QACjD,cAAc,GAAG,aAAa,CAAA;QAC9B,OAAO,aAAa,CAAA;IACtB,CAAC;IAED,MAAM,QAAQ,GAAG,aAAa,CAAC,KAAK,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC,IAAI,KAAM,cAAwB,CAAC,KAAK,CAAC,CAAC,CAAA;IAChG,IAAG,QAAQ,EAAE,CAAC;QACZ,OAAO,aAAa,CAAA;IACtB,CAAC;IAED,QAAQ,CAAC,aAAa,EAAE,cAAc,CAAC,CAAA;IACvC,cAAc,CAAC,MAAM,GAAG,CAAC,CAAA;IACzB,cAAc,CAAC,IAAI,CAAC,GAAG,aAAa,CAAC,CAAA;IAErC,OAAO,aAAa,CAAA;AACtB,CAAC"}
1
+ {"version":3,"file":"watch.function.js","sourceRoot":"","sources":["../../ts/state/watch.function.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAA;AAO9C;;;;;GAKG;AACH,MAAM,UAAU,KAAK,CACnB,aAAkB,EAClB,QAAuB;IAEvB,IAAI,cAAc,GAAG,QAAQ,CAAC,SAAkC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,cAAc,EAAE,cAAc,GAAG,CAAC,CAAC,CAAC,CAAA;IAE5G,4BAA4B;IAC5B,IAAG,cAAc,KAAK,SAAS,EAAE,CAAC;QAChC,qEAAqE;QACrE,cAAc,GAAG,aAAa,CAAA;QAC9B,OAAO,aAAa,CAAA;IACtB,CAAC;IAED,MAAM,QAAQ,GAAG,aAAa,CAAC,KAAK,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC,IAAI,KAAM,cAAwB,CAAC,KAAK,CAAC,CAAC,CAAA;IAChG,IAAG,QAAQ,EAAE,CAAC;QACZ,OAAO,aAAa,CAAA;IACtB,CAAC;IAED,QAAQ,CAAC,aAAa,EAAE,cAAc,CAAC,CAAA;IACvC,cAAc,CAAC,MAAM,GAAG,CAAC,CAAA;IACzB,cAAc,CAAC,IAAI,CAAC,GAAG,aAAa,CAAC,CAAA;IAErC,OAAO,aAAa,CAAA;AACtB,CAAC"}
@@ -1,15 +1,18 @@
1
1
  import { OperatorFunction, SubjectLike, SubjectSubscriber, Subscription } from "./Subject.utils";
2
+ type OnSubscription<T> = (subscription: Subscription<T>) => unknown;
2
3
  export declare class Subject<T> implements SubjectLike<T> {
3
4
  value?: T | undefined;
5
+ onSubscription?: OnSubscription<T> | undefined;
4
6
  methods: OperatorFunction<any, any, any>[];
5
7
  isSubject: boolean;
6
- subscribers: SubjectSubscriber<T>[];
7
- subscribeWith?: (x: SubjectSubscriber<T>) => Subscription;
8
- constructor(value?: T | undefined);
9
- subscribe(callback: SubjectSubscriber<T>): Subscription;
10
- set(value: any): void;
11
- next: (value: any) => void;
8
+ subscribers: Subscription<T>[];
9
+ subscribeWith?: (x: SubjectSubscriber<T>) => Subscription<T>;
10
+ constructor(value?: T | undefined, onSubscription?: OnSubscription<T> | undefined);
11
+ subscribe(callback: SubjectSubscriber<T>): Subscription<T> | Subscription<any>;
12
+ set(value?: any): void;
13
+ next: (value?: any) => void;
12
14
  toPromise(): Promise<T>;
15
+ toCallback(callback: (x: T) => any): void;
13
16
  pipe(): Subject<T>;
14
17
  pipe<A, RESOLVE>(op1: OperatorFunction<T, A, RESOLVE>): Subject<A>;
15
18
  pipe<A, B, RESOLVE>(op1: OperatorFunction<T, A, RESOLVE>, op2: OperatorFunction<A, B, RESOLVE>): Subject<B>;
@@ -22,3 +25,4 @@ export declare class Subject<T> implements SubjectLike<T> {
22
25
  pipe<A, B, C, D, E, F, G, H, I, RESOLVE>(op1: OperatorFunction<T, A, RESOLVE>, op2: OperatorFunction<A, B, RESOLVE>, op3: OperatorFunction<B, C, RESOLVE>, op4: OperatorFunction<C, D, RESOLVE>, op5: OperatorFunction<D, E, RESOLVE>, op6: OperatorFunction<E, F, RESOLVE>, op7: OperatorFunction<F, G, RESOLVE>, op8: OperatorFunction<G, H, RESOLVE>, op9: OperatorFunction<H, I, RESOLVE>): Subject<I>;
23
26
  pipe<A, B, C, D, E, F, G, H, I, RESOLVE>(op1: OperatorFunction<T, A, RESOLVE>, op2: OperatorFunction<A, B, RESOLVE>, op3: OperatorFunction<B, C, RESOLVE>, op4: OperatorFunction<C, D, RESOLVE>, op5: OperatorFunction<D, E, RESOLVE>, op6: OperatorFunction<E, F, RESOLVE>, op7: OperatorFunction<F, G, RESOLVE>, op8: OperatorFunction<G, H, RESOLVE>, op9: OperatorFunction<H, I, RESOLVE>, ...operations: OperatorFunction<any, any, any>[]): Subject<unknown>;
24
27
  }
28
+ export {};
@@ -1,14 +1,17 @@
1
1
  export class Subject {
2
2
  value;
3
+ onSubscription;
3
4
  methods = [];
4
5
  isSubject = true;
5
6
  subscribers = [];
6
7
  subscribeWith;
7
8
  // unsubcount = 0 // 🔬 testing
8
- constructor(value) {
9
+ constructor(value, onSubscription) {
9
10
  this.value = value;
11
+ this.onSubscription = onSubscription;
10
12
  }
11
13
  subscribe(callback) {
14
+ const subscription = getSubscription(this, callback);
12
15
  // are we within a pipe?
13
16
  const subscribeWith = this.subscribeWith;
14
17
  if (subscribeWith) {
@@ -16,33 +19,42 @@ export class Subject {
16
19
  if (this.methods.length) {
17
20
  const orgCallback = callback;
18
21
  callback = (value) => {
19
- runPipedMethods(value, this.methods, lastValue => orgCallback(lastValue));
22
+ runPipedMethods(value, this.methods, lastValue => orgCallback(lastValue, subscription));
20
23
  };
21
24
  }
22
25
  return subscribeWith(callback);
23
26
  }
24
- this.subscribers.push(callback);
25
- SubjectClass.globalSubs.push(callback); // 🔬 testing
26
- const subscription = getSubscription(this, callback);
27
+ this.subscribers.push(subscription);
28
+ SubjectClass.globalSubs.push(subscription); // 🔬 testing
29
+ if (this.onSubscription) {
30
+ this.onSubscription(subscription);
31
+ }
27
32
  return subscription;
28
33
  }
29
34
  set(value) {
30
35
  this.value = value;
31
36
  // Notify all subscribers with the new value
32
- this.subscribers.forEach((callback) => {
33
- callback.value = value;
34
- callback(value);
37
+ this.subscribers.forEach(sub => {
38
+ // (sub.callback as any).value = value
39
+ sub.callback(value, sub);
35
40
  });
36
41
  }
37
42
  next = this.set;
38
43
  toPromise() {
39
44
  return new Promise((res, rej) => {
40
- const subscription = this.subscribe(x => {
45
+ this.subscribe((x, subscription) => {
41
46
  subscription.unsubscribe();
42
47
  res(x);
43
48
  });
44
49
  });
45
50
  }
51
+ // like toPromise but faster
52
+ toCallback(callback) {
53
+ this.subscribe((x, subscription) => {
54
+ subscription.unsubscribe();
55
+ callback(x);
56
+ });
57
+ }
46
58
  pipe(...operations) {
47
59
  const subject = new Subject();
48
60
  subject.methods = operations;
@@ -51,7 +63,7 @@ export class Subject {
51
63
  }
52
64
  }
53
65
  function removeSubFromArray(subscribers, callback) {
54
- const index = subscribers.indexOf(callback);
66
+ const index = subscribers.findIndex(sub => sub.callback === callback);
55
67
  if (index !== -1) {
56
68
  subscribers.splice(index, 1);
57
69
  }
@@ -66,6 +78,7 @@ function getSubscription(subject, callback) {
66
78
  const subscription = () => {
67
79
  subscription.unsubscribe();
68
80
  };
81
+ subscription.callback = callback;
69
82
  subscription.subscriptions = [];
70
83
  // Return a function to unsubscribe from the BehaviorSubject
71
84
  subscription.unsubscribe = () => {
@@ -82,6 +95,9 @@ function getSubscription(subject, callback) {
82
95
  subscription.subscriptions.push(sub);
83
96
  return subscription;
84
97
  };
98
+ subscription.next = (value) => {
99
+ callback(value, subscription);
100
+ };
85
101
  return subscription;
86
102
  }
87
103
  function runPipedMethods(value, methods, onComplete) {
@@ -1 +1 @@
1
- {"version":3,"file":"Subject.class.js","sourceRoot":"","sources":["../../ts/subject/Subject.class.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Subject.class.js","sourceRoot":"","sources":["../../ts/subject/Subject.class.ts"],"names":[],"mappings":"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"}
@@ -1,10 +1,12 @@
1
1
  export type Resolve<T> = (x: T) => any;
2
- export type Subscription = (() => void) & {
3
- unsubscribe: () => Subscription;
4
- add: (sub: Subscription) => Subscription;
5
- subscriptions: Subscription[];
2
+ export type Subscription<T> = (() => void) & {
3
+ callback: SubjectSubscriber<T>;
4
+ unsubscribe: () => Subscription<T>;
5
+ add: (sub: Subscription<T>) => Subscription<T>;
6
+ next: (value?: T) => any;
7
+ subscriptions: Subscription<T>[];
6
8
  };
7
- export type SubjectSubscriber<T> = (...value: T[]) => unknown;
9
+ export type SubjectSubscriber<T> = (value: T, subscription: Subscription<T>) => unknown;
8
10
  export interface SubjectLike<T> {
9
11
  subscribe?: (callback: SubjectSubscriber<T>) => any;
10
12
  isSubject?: boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"Subject.utils.js","sourceRoot":"","sources":["../../ts/subject/Subject.utils.ts"],"names":[],"mappings":"AAwCA,MAAM,MAAM;CAAG"}
1
+ {"version":3,"file":"Subject.utils.js","sourceRoot":"","sources":["../../ts/subject/Subject.utils.ts"],"names":[],"mappings":"AA0CA,MAAM,MAAM;CAAG"}
@@ -1,9 +1,9 @@
1
1
  import { Subject } from './Subject.class';
2
2
  import { Subscription } from './Subject.utils';
3
- type ValueSubjectSubscriber<T> = (...value: T[]) => unknown;
3
+ type ValueSubjectSubscriber<T> = (value: T, subscription: Subscription<T>) => unknown;
4
4
  export declare class ValueSubject<T> extends Subject<T> {
5
5
  value: T;
6
6
  constructor(value: T);
7
- subscribe(callback: ValueSubjectSubscriber<T>): Subscription;
7
+ subscribe(callback: ValueSubjectSubscriber<T>): Subscription<any> | Subscription<T>;
8
8
  }
9
9
  export {};
@@ -8,7 +8,7 @@ export class ValueSubject extends Subject {
8
8
  subscribe(callback) {
9
9
  const subscription = super.subscribe(callback);
10
10
  // Call the callback immediately with the current value
11
- callback(this.value);
11
+ callback(this.value, subscription);
12
12
  return subscription;
13
13
  }
14
14
  }
@@ -1 +1 @@
1
- {"version":3,"file":"ValueSubject.js","sourceRoot":"","sources":["../../ts/subject/ValueSubject.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAA;AAQzC,MAAM,OAAO,YAAgB,SAAQ,OAAU;IAC1B;IAAnB,YAAmB,KAAQ;QACzB,KAAK,CAAC,KAAK,CAAC,CAAA;QADK,UAAK,GAAL,KAAK,CAAG;IAE3B,CAAC;IAED,SAAS,CAAC,QAAmC;QAC3C,MAAM,YAAY,GAAG,KAAK,CAAC,SAAS,CAAC,QAAgC,CAAC,CAAA;QAEtE,uDAAuD;QACvD,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;QAEpB,OAAO,YAAY,CAAA;IACrB,CAAC;CACF"}
1
+ {"version":3,"file":"ValueSubject.js","sourceRoot":"","sources":["../../ts/subject/ValueSubject.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAA;AAUzC,MAAM,OAAO,YAAgB,SAAQ,OAAU;IAC1B;IAAnB,YAAmB,KAAQ;QACzB,KAAK,CAAC,KAAK,CAAC,CAAA;QADK,UAAK,GAAL,KAAK,CAAG;IAE3B,CAAC;IAED,SAAS,CAAC,QAAmC;QAC3C,MAAM,YAAY,GAAG,KAAK,CAAC,SAAS,CAAC,QAAgC,CAAC,CAAA;QAEtE,uDAAuD;QACvD,QAAQ,CAAC,IAAI,CAAC,KAAK,EAAE,YAAY,CAAC,CAAA;QAElC,OAAO,YAAY,CAAA;IACrB,CAAC;CACF"}
@@ -1 +1 @@
1
- {"version":3,"file":"combineLatest.function.js","sourceRoot":"","sources":["../../ts/subject/combineLatest.function.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAA;AAGzC,MAAM,UAAU,aAAa,CAC3B,QAAwB;IAExB,MAAM,MAAM,GAAG,IAAI,OAAO,EAAE,CAAA;IAE5B,MAAM,SAAS,GAAG,CAChB,QAAgC,EAChC,EAAE;QACF,MAAM,UAAU,GAAW,EAAE,CAAA;QAC7B,MAAM,MAAM,GAAU,EAAE,CAAA;QACxB,MAAM,QAAQ,GAAG,CAAC,CAAM,EAAE,KAAa,EAAE,EAAE;YACzC,UAAU,CAAC,KAAK,CAAC,GAAG,IAAI,CAAA;YACxB,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;YAEjB,IAAG,UAAU,CAAC,MAAM,KAAK,QAAQ,CAAC,MAAM,IAAI,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBACrE,QAAQ,CAAC,MAAM,EAAE,YAAY,CAAC,CAAA;YAChC,CAAC;QACH,CAAC,CAAA;QAED,MAAM,MAAM,GAAG,CAAC,GAAG,QAAQ,CAAC,CAAA;QAC5B,MAAM,QAAQ,GAAG,MAAM,CAAC,KAAK,EAAkB,CAAA;QAC/C,MAAM,YAAY,GAAiB,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAA;QAE1E,MAAM,aAAa,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,KAAK,EAAE,EAAE,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC,EAAE,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,CAAA;QAEpG,YAAY,CAAC,aAAa,GAAG,aAAa,CAAA;QAE1C,OAAO,YAAY,CAAA;IACrB,CAAC,CAAA;IAED,MAAM,CAAC,aAAa,GAAG,SAAS,CAAA;IAEhC,OAAO,MAAM,CAAA;AACf,CAAC"}
1
+ {"version":3,"file":"combineLatest.function.js","sourceRoot":"","sources":["../../ts/subject/combineLatest.function.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAA;AAGzC,MAAM,UAAU,aAAa,CAC3B,QAAwB;IAExB,MAAM,MAAM,GAAG,IAAI,OAAO,EAAE,CAAA;IAE5B,MAAM,SAAS,GAAG,CAChB,QAAgC,EAChC,EAAE;QACF,MAAM,UAAU,GAAW,EAAE,CAAA;QAC7B,MAAM,MAAM,GAAU,EAAE,CAAA;QACxB,MAAM,QAAQ,GAAG,CAAC,CAAM,EAAE,KAAa,EAAE,EAAE;YACzC,UAAU,CAAC,KAAK,CAAC,GAAG,IAAI,CAAA;YACxB,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;YAEjB,IAAG,UAAU,CAAC,MAAM,KAAK,QAAQ,CAAC,MAAM,IAAI,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBACrE,QAAQ,CAAC,MAAM,EAAE,YAAY,CAAC,CAAA;YAChC,CAAC;QACH,CAAC,CAAA;QAED,MAAM,MAAM,GAAG,CAAC,GAAG,QAAQ,CAAC,CAAA;QAC5B,MAAM,QAAQ,GAAG,MAAM,CAAC,KAAK,EAAkB,CAAA;QAC/C,MAAM,YAAY,GAAsB,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAA;QAE/E,MAAM,aAAa,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,KAAK,EAAE,EAAE,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC,EAAE,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,CAAA;QAEpG,YAAY,CAAC,aAAa,GAAG,aAAa,CAAA;QAE1C,OAAO,YAAY,CAAA;IACrB,CAAC,CAAA;IAED,MAAM,CAAC,aAAa,GAAG,SAAS,CAAA;IAEhC,OAAO,MAAM,CAAA;AACf,CAAC"}
@@ -0,0 +1,18 @@
1
+ import { InsertBefore } from "./Clones.type";
2
+ import { TagSupport } from "./TagSupport.class";
3
+ import { TemplaterResult } from "./TemplaterResult.class";
4
+ import { Template } from "./interpolations/interpolateTemplate";
5
+ import { Subject } from "./subject/Subject.class";
6
+ export type WasTagSubject = Subject<TemplaterResult> & {
7
+ tagSupport?: TagSupport;
8
+ };
9
+ export type TagSubject = Subject<TemplaterResult> & {
10
+ tagSupport: TagSupport;
11
+ };
12
+ type RegularValue = string | number | boolean;
13
+ export type DisplaySubject = Subject<RegularValue> & {
14
+ lastValue?: RegularValue;
15
+ clone?: Element | Text | Template;
16
+ insertBefore: InsertBefore;
17
+ };
18
+ export {};
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=subject.types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"subject.types.js","sourceRoot":"","sources":["../ts/subject.types.ts"],"names":[],"mappings":""}
package/js/tag.d.ts CHANGED
@@ -10,5 +10,5 @@ export type TagComponentBase<T extends any[]> = (arg: FirstArgOptional<T> extend
10
10
  export declare const tags: TagComponentBase<any>[];
11
11
  export type TagComponent = TagComponentBase<[any?, TagChildren?]> | TagComponentBase<[]>;
12
12
  /** Wraps a tag component in a state manager and always push children to last argument as an array */
13
- export declare function tag<T extends any[]>(tagComponent: TagComponentArg<T>): (TagComponentBase<T>);
13
+ export declare function tag<T extends any[]>(tagComponent: TagComponentArg<T>): TagComponentBase<T>;
14
14
  export {};
package/js/tag.js CHANGED
@@ -1,7 +1,7 @@
1
- import { isSubjectInstance, isTagArray, isTagInstance } from './isInstance';
1
+ import { isSubjectInstance, isTagArray, isTagClass, isTagTemplater } from './isInstance';
2
2
  import { setUse } from './state';
3
3
  import { TemplaterResult } from './TemplaterResult.class';
4
- import { runTagCallback } from './bindSubjectCallback.function';
4
+ import { runTagCallback } from './interpolations/bindSubjectCallback.function';
5
5
  import { deepClone } from './deepFunctions';
6
6
  import { TagSupport } from './TagSupport.class';
7
7
  import { alterProps } from './alterProps.function';
@@ -11,8 +11,10 @@ let tagCount = 0;
11
11
  /** Wraps a tag component in a state manager and always push children to last argument as an array */
12
12
  // export function tag<T>(a: T): T;
13
13
  export function tag(tagComponent) {
14
+ /** function developer triggers */
14
15
  const result = (function tagWrapper(props, children) {
15
- const isPropTag = isTagInstance(props) || isTagArray(props);
16
+ // is the props argument actually children?
17
+ const isPropTag = isTagClass(props) || isTagTemplater(props) || isTagArray(props);
16
18
  if (isPropTag) {
17
19
  children = props;
18
20
  props = undefined;
@@ -20,6 +22,7 @@ export function tag(tagComponent) {
20
22
  const { childSubject, madeSubject } = kidsToTagArraySubject(children);
21
23
  childSubject.isChildSubject = true;
22
24
  const templater = new TemplaterResult(props, childSubject);
25
+ // attach memory back to original function that contains developer display logic
23
26
  const innerTagWrap = getTagWrap(templater, madeSubject);
24
27
  innerTagWrap.original = tagComponent;
25
28
  templater.tagged = true;
@@ -30,6 +33,7 @@ export function tag(tagComponent) {
30
33
  // group tags together and have hmr pickup
31
34
  updateComponent(tagComponent);
32
35
  tags.push(tagComponent);
36
+ // fake the return as being (props?, children?) => TemplaterResult
33
37
  return result;
34
38
  }
35
39
  function kidsToTagArraySubject(children) {
@@ -59,45 +63,35 @@ function updateComponent(tagComponent) {
59
63
  tagComponent.setUse = setUse;
60
64
  tagComponent.tagIndex = tagCount++; // needed for things like HMR
61
65
  }
62
- /** creates/returns a function that when called then calls the original component function */
66
+ /** creates/returns a function that when called then calls the original component function
67
+ * Gets used as templater.wrapper()
68
+ */
63
69
  function getTagWrap(templater, madeSubject) {
70
+ // this function gets called by taggedjs
64
71
  const innerTagWrap = function (oldTagSetup, subject) {
65
- const global = oldTagSetup.templater.global;
66
- global.newestTemplater = templater;
72
+ const global = oldTagSetup.global;
67
73
  ++global.renderCount;
68
- templater.global = global;
69
74
  const childSubject = templater.children;
70
- const lastArray = global.oldest?.tagSupport.templater.children.lastArray;
75
+ const lastArray = global.oldest?.templater.children.lastArray;
71
76
  if (lastArray) {
72
77
  childSubject.lastArray = lastArray;
73
78
  }
74
79
  const originalFunction = innerTagWrap.original;
75
- // const oldTagSetup = templater.tagSupport
76
- const oldest = templater.global.oldest;
77
- if (oldest && !oldest.hasLiveElements) {
78
- throw new Error('issue already 22');
79
- }
80
80
  let props = templater.props;
81
- const ownerTagSupport = oldTagSetup.ownerTagSupport;
82
- const oldTemplater = ownerTagSupport?.templater;
83
- const oldLatest = oldTemplater?.global.newest;
84
- const newestOwnerTemplater = oldLatest?.tagSupport.templater;
85
- if (oldLatest && !newestOwnerTemplater) {
86
- throw new Error('what to do here?');
87
- }
88
- let castedProps = alterProps(props, newestOwnerTemplater, oldTagSetup.ownerTagSupport);
81
+ let castedProps = alterProps(props, oldTagSetup.ownerTagSupport);
89
82
  const clonedProps = deepClone(props); // castedProps
90
83
  // CALL ORIGINAL COMPONENT FUNCTION
91
84
  const tag = originalFunction(castedProps, childSubject);
92
- tag.version = global.renderCount;
93
- tag.tagSupport = new TagSupport(oldTagSetup.ownerTagSupport, templater, subject);
94
- tag.tagSupport.propsConfig = {
95
- latest: props, // castedProps
85
+ tag.templater = templater;
86
+ templater.tag = tag;
87
+ const tagSupport = new TagSupport(templater, oldTagSetup.ownerTagSupport, subject, global.renderCount);
88
+ tagSupport.global = global;
89
+ tagSupport.propsConfig = {
90
+ latest: props,
96
91
  latestCloned: clonedProps,
97
- clonedProps: clonedProps,
98
- lastClonedKidValues: tag.tagSupport.propsConfig.lastClonedKidValues,
92
+ lastClonedKidValues: tagSupport.propsConfig.lastClonedKidValues,
99
93
  };
100
- tag.tagSupport.memory = oldTagSetup.memory; // state handover
94
+ tagSupport.memory = oldTagSetup.memory; // state handover
101
95
  if (madeSubject) {
102
96
  childSubject.value.forEach(kid => {
103
97
  kid.values.forEach((value, index) => {
@@ -110,16 +104,16 @@ function getTagWrap(templater, madeSubject) {
110
104
  }
111
105
  // all functions need to report to me
112
106
  kid.values[index] = function (...args) {
113
- const ownerTag = tag.ownerTag;
107
+ const ownerSupport = tagSupport.ownerTagSupport;
114
108
  runTagCallback(value, // callback
115
- ownerTag, this, // bindTo
109
+ ownerSupport, this, // bindTo
116
110
  args);
117
111
  };
118
112
  valuesValue.isChildOverride = true;
119
113
  });
120
114
  });
121
115
  }
122
- return tag;
116
+ return tagSupport;
123
117
  };
124
118
  return innerTagWrap;
125
119
  }
package/js/tag.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"tag.js","sourceRoot":"","sources":["../ts/tag.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"tag.js","sourceRoot":"","sources":["../ts/tag.ts"],"names":[],"mappings":"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"}
@@ -1,13 +1,9 @@
1
- import { BaseTagSupport } from './TagSupport.class';
1
+ import { TagSupport } from './TagSupport.class';
2
2
  import { TemplaterResult } from './TemplaterResult.class';
3
- import { Tag } from './Tag.class';
4
3
  import { TagComponent } from './tag';
5
4
  export declare function tagElement(app: TagComponent, // (...args: unknown[]) => TemplaterResult,
6
5
  element: HTMLElement | Element, props: unknown): {
7
- tag: Tag;
6
+ tagSupport: TagSupport;
8
7
  tags: TagComponent[];
9
8
  };
10
- export declare function applyTagUpdater(wrapper: TemplaterResult): {
11
- tag: Tag;
12
- tagSupport: BaseTagSupport;
13
- };
9
+ export declare function runWrapper(templater: TemplaterResult): TagSupport;
package/js/tagElement.js CHANGED
@@ -6,7 +6,7 @@ export function tagElement(app, // (...args: unknown[]) => TemplaterResult,
6
6
  element, props) {
7
7
  const appElmIndex = appElements.findIndex(appElm => appElm.element === element);
8
8
  if (appElmIndex >= 0) {
9
- appElements[appElmIndex].tag.destroy();
9
+ appElements[appElmIndex].tagSupport.destroy();
10
10
  appElements.splice(appElmIndex, 1);
11
11
  // an element already had an app on it
12
12
  console.warn('Found and destroyed app element already rendered to element', { element });
@@ -14,36 +14,36 @@ element, props) {
14
14
  // Create the app which returns [props, runOneTimeFunction]
15
15
  const wrapper = app(props);
16
16
  // have a function setup and call the tagWrapper with (props, {update, async, on})
17
- const result = applyTagUpdater(wrapper);
18
- const { tag } = result;
17
+ const tagSupport = runWrapper(wrapper);
19
18
  // TODO: is the below needed?
20
- tag.appElement = element;
21
- tag.tagSupport.templater.global.isApp = true;
19
+ tagSupport.appElement = element;
20
+ tagSupport.isApp = true;
21
+ tagSupport.global.isApp = true;
22
22
  const templateElm = document.createElement('template');
23
23
  templateElm.setAttribute('id', 'app-tag-' + appElements.length);
24
24
  templateElm.setAttribute('app-tag-detail', appElements.length.toString());
25
25
  element.appendChild(templateElm);
26
- tag.buildBeforeElement(templateElm);
27
- wrapper.global.oldest = tag;
28
- wrapper.global.newest = tag;
29
- if (!tag.hasLiveElements) {
30
- throw new Error('x');
31
- }
32
- ;
26
+ tagSupport.buildBeforeElement(templateElm);
27
+ tagSupport.global.oldest = tagSupport;
28
+ tagSupport.global.newest = tagSupport;
33
29
  element.setUse = app.original.setUse;
34
- appElements.push({ element, tag });
35
- return { tag, tags: app.original.tags };
30
+ appElements.push({ element, tagSupport });
31
+ return {
32
+ tagSupport,
33
+ tags: app.original.tags,
34
+ };
36
35
  }
37
- export function applyTagUpdater(wrapper) {
38
- const subject = new ValueSubject({});
39
- const tagSupport = new BaseTagSupport(wrapper, subject);
40
- wrapper.tagSupport = tagSupport;
41
- runBeforeRender(tagSupport, undefined);
36
+ export function runWrapper(templater) {
37
+ let newSupport = {};
38
+ const subject = new ValueSubject(newSupport);
39
+ newSupport = new BaseTagSupport(templater, subject);
40
+ subject.set(templater);
41
+ subject.tagSupport = newSupport;
42
+ runBeforeRender(newSupport, undefined);
42
43
  // Call the apps function for our tag templater
43
- const tag = wrapper.wrapper(tagSupport, subject);
44
- // wrapper.global.oldest = tag
45
- // wrapper.global.newest = tag
46
- runAfterRender(tagSupport, tag);
47
- return { tag, tagSupport };
44
+ const wrapper = templater.wrapper;
45
+ const tagSupport = wrapper(newSupport, subject);
46
+ runAfterRender(newSupport, tagSupport);
47
+ return tagSupport;
48
48
  }
49
49
  //# sourceMappingURL=tagElement.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"tagElement.js","sourceRoot":"","sources":["../ts/tagElement.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAA;AACnD,OAAO,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,aAAa,CAAA;AAI7D,OAAO,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAA;AAGrD,MAAM,WAAW,GAAmC,EAAE,CAAA;AAEtD,MAAM,UAAU,UAAU,CACxB,GAAiB,EAAE,2CAA2C;AAC9D,OAA8B,EAC9B,KAAc;IAEd,MAAM,WAAW,GAAG,WAAW,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,OAAO,KAAK,OAAO,CAAC,CAAA;IAC/E,IAAG,WAAW,IAAI,CAAC,EAAE,CAAC;QACpB,WAAW,CAAC,WAAW,CAAC,CAAC,GAAG,CAAC,OAAO,EAAE,CAAA;QACtC,WAAW,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC,CAAC,CAAA;QAClC,sCAAsC;QACtC,OAAO,CAAC,IAAI,CAAC,6DAA6D,EAAE,EAAC,OAAO,EAAC,CAAC,CAAA;IACxF,CAAC;IAED,2DAA2D;IAC3D,MAAM,OAAO,GAAG,GAAG,CAAC,KAAK,CAA+B,CAAA;IAExD,kFAAkF;IAClF,MAAM,MAAM,GAAG,eAAe,CAAC,OAAO,CAAC,CAAA;IACvC,MAAM,EAAC,GAAG,EAAC,GAAG,MAAM,CAAA;IAEpB,6BAA6B;IAC7B,GAAG,CAAC,UAAU,GAAG,OAAO,CAAA;IACxB,GAAG,CAAC,UAAU,CAAC,SAAS,CAAC,MAAM,CAAC,KAAK,GAAG,IAAI,CAAA;IAE5C,MAAM,WAAW,GAAG,QAAQ,CAAC,aAAa,CAAC,UAAU,CAAC,CAAA;IACtD,WAAW,CAAC,YAAY,CAAC,IAAI,EAAE,UAAU,GAAG,WAAW,CAAC,MAAM,CAAC,CAAA;IAC/D,WAAW,CAAC,YAAY,CAAC,gBAAgB,EAAE,WAAW,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAA;IACzE,OAAO,CAAC,WAAW,CAAC,WAAW,CAAC,CAAA;IAEhC,GAAG,CAAC,kBAAkB,CAAC,WAAW,CAAC,CAAA;IAEnC,OAAO,CAAC,MAAM,CAAC,MAAM,GAAG,GAAG,CAAA;IAC3B,OAAO,CAAC,MAAM,CAAC,MAAM,GAAG,GAAG,CAAA;IAE3B,IAAG,CAAC,GAAG,CAAC,eAAe,EAAE,CAAC;QACxB,MAAM,IAAI,KAAK,CAAC,GAAG,CAAC,CAAA;IACtB,CAAC;IAED,CAAC;IAAC,OAAe,CAAC,MAAM,GAAI,GAAW,CAAC,QAAQ,CAAC,MAAM,CAAA;IAEvD,WAAW,CAAC,IAAI,CAAC,EAAC,OAAO,EAAE,GAAG,EAAC,CAAC,CAAA;IAEhC,OAAO,EAAC,GAAG,EAAE,IAAI,EAAG,GAAW,CAAC,QAAQ,CAAC,IAAI,EAAC,CAAA;AAChD,CAAC;AAED,MAAM,UAAU,eAAe,CAC7B,OAAwB;IAExB,MAAM,OAAO,GAAG,IAAI,YAAY,CAAM,EAAS,CAA0B,CAAA;IACzE,MAAM,UAAU,GAAG,IAAI,cAAc,CAAC,OAAO,EAAE,OAAO,CAAC,CAAA;IACvD,OAAO,CAAC,UAAU,GAAG,UAAU,CAAA;IAC/B,eAAe,CAAC,UAAU,EAAE,SAAuB,CAAC,CAAA;IAEpD,+CAA+C;IAC/C,MAAM,GAAG,GAAG,OAAO,CAAC,OAAO,CACzB,UAAU,EACV,OAAO,CACR,CAAA;IACD,8BAA8B;IAC9B,8BAA8B;IAC9B,cAAc,CAAC,UAAU,EAAE,GAAG,CAAC,CAAA;IAE/B,OAAO,EAAE,GAAG,EAAE,UAAU,EAAE,CAAA;AAC5B,CAAC"}
1
+ {"version":3,"file":"tagElement.js","sourceRoot":"","sources":["../ts/tagElement.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAc,MAAM,oBAAoB,CAAA;AAC/D,OAAO,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,aAAa,CAAA;AAI7D,OAAO,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAA;AAGrD,MAAM,WAAW,GAGX,EAAE,CAAA;AAER,MAAM,UAAU,UAAU,CACxB,GAAiB,EAAE,2CAA2C;AAC9D,OAA8B,EAC9B,KAAc;IAKd,MAAM,WAAW,GAAG,WAAW,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,OAAO,KAAK,OAAO,CAAC,CAAA;IAC/E,IAAG,WAAW,IAAI,CAAC,EAAE,CAAC;QACpB,WAAW,CAAC,WAAW,CAAC,CAAC,UAAU,CAAC,OAAO,EAAE,CAAA;QAC7C,WAAW,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC,CAAC,CAAA;QAClC,sCAAsC;QACtC,OAAO,CAAC,IAAI,CAAC,6DAA6D,EAAE,EAAC,OAAO,EAAC,CAAC,CAAA;IACxF,CAAC;IAED,2DAA2D;IAC3D,MAAM,OAAO,GAAG,GAAG,CAAC,KAAK,CAA+B,CAAA;IAExD,kFAAkF;IAClF,MAAM,UAAU,GAAG,UAAU,CAAC,OAAO,CAAC,CAAA;IAEtC,6BAA6B;IAC7B,UAAU,CAAC,UAAU,GAAG,OAAO,CAAA;IAC/B,UAAU,CAAC,KAAK,GAAG,IAAI,CAAA;IACvB,UAAU,CAAC,MAAM,CAAC,KAAK,GAAG,IAAI,CAAA;IAE9B,MAAM,WAAW,GAAG,QAAQ,CAAC,aAAa,CAAC,UAAU,CAAC,CAAA;IACtD,WAAW,CAAC,YAAY,CAAC,IAAI,EAAE,UAAU,GAAG,WAAW,CAAC,MAAM,CAAC,CAAA;IAC/D,WAAW,CAAC,YAAY,CAAC,gBAAgB,EAAE,WAAW,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAA;IACzE,OAAO,CAAC,WAAW,CAAC,WAAW,CAAC,CAAA;IAEhC,UAAU,CAAC,kBAAkB,CAAC,WAAW,CAAC,CAAA;IAE1C,UAAU,CAAC,MAAM,CAAC,MAAM,GAAG,UAAU,CAAA;IACrC,UAAU,CAAC,MAAM,CAAC,MAAM,GAAG,UAAU,CAEpC;IAAC,OAAe,CAAC,MAAM,GAAI,GAAW,CAAC,QAAQ,CAAC,MAAM,CAAA;IAEvD,WAAW,CAAC,IAAI,CAAC,EAAC,OAAO,EAAE,UAAU,EAAC,CAAC,CAAA;IAEvC,OAAO;QACL,UAAU;QACV,IAAI,EAAG,GAAW,CAAC,QAAQ,CAAC,IAAI;KACjC,CAAA;AACH,CAAC;AAED,MAAM,UAAU,UAAU,CACxB,SAA0B;IAE1B,IAAI,UAAU,GAAG,EAAgB,CAAA;IACjC,MAAM,OAAO,GAAG,IAAI,YAAY,CAAa,UAAU,CAA0B,CAAA;IAEjF,UAAU,GAAG,IAAI,cAAc,CAC7B,SAAS,EACT,OAAO,CACM,CAAA;IAEf,OAAO,CAAC,GAAG,CAAE,SAAS,CAAE,CAAA;IAExB,OAAO,CAAC,UAAU,GAAG,UAAU,CAAA;IAE/B,eAAe,CAAC,UAAU,EAAE,SAAkC,CAAC,CAAA;IAE/D,+CAA+C;IAC/C,MAAM,OAAO,GAAG,SAAS,CAAC,OAAkB,CAAA;IAC5C,MAAM,UAAU,GAAG,OAAO,CACxB,UAAU,EACV,OAAO,CACR,CAAA;IAED,cAAc,CAAC,UAAU,EAAE,UAAU,CAAC,CAAA;IAEtC,OAAO,UAAU,CAAA;AACnB,CAAC"}
package/js/tagRunner.d.ts CHANGED
@@ -1,6 +1,7 @@
1
- import { Tag } from './Tag.class';
2
- import { BaseTagSupport } from './TagSupport.class';
3
- export declare function runBeforeRender(tagSupport: BaseTagSupport, tagOwner: Tag): void;
4
- export declare function runAfterRender(tagSupport: BaseTagSupport, tag: Tag): void;
5
- export declare function runBeforeRedraw(tagSupport: BaseTagSupport, tag: Tag): void;
6
- export declare function runBeforeDestroy(tagSupport: BaseTagSupport, tag: Tag): void;
1
+ import { BaseTagSupport, TagSupport } from './TagSupport.class';
2
+ import { Subject } from './subject';
3
+ export declare const tagClosed$: Subject<TagSupport>;
4
+ export declare function runBeforeRender(tagSupport: BaseTagSupport, ownerSupport?: TagSupport): void;
5
+ export declare function runAfterRender(tagSupport: BaseTagSupport, ownerTagSupport: TagSupport): void;
6
+ export declare function runBeforeRedraw(tagSupport: BaseTagSupport, ownerTagSupport: TagSupport): void;
7
+ export declare function runBeforeDestroy(tagSupport: BaseTagSupport, ownerTagSupport: TagSupport): void;
package/js/tagRunner.js CHANGED
@@ -1,19 +1,27 @@
1
1
  // TODO: This should be more like `new TaggedJs().use({})`
2
2
  import { setUse } from './state';
3
+ import { Subject } from './subject';
4
+ // Emits event at the end of a tag being rendered. Use tagClosed$.toPromise() to render a tag after a current tag is done rendering
5
+ export const tagClosed$ = new Subject(undefined, subscription => {
6
+ if (!setUse.memory.stateConfig.rearray) {
7
+ subscription.next(); // we are not currently processing so process now
8
+ }
9
+ });
3
10
  // Life cycle 1
4
- export function runBeforeRender(tagSupport, tagOwner) {
5
- setUse.tagUse.forEach(tagUse => tagUse.beforeRender(tagSupport, tagOwner));
11
+ export function runBeforeRender(tagSupport, ownerSupport) {
12
+ setUse.tagUse.forEach(tagUse => tagUse.beforeRender(tagSupport, ownerSupport));
6
13
  }
7
14
  // Life cycle 2
8
- export function runAfterRender(tagSupport, tag) {
9
- setUse.tagUse.forEach(tagUse => tagUse.afterRender(tagSupport, tag));
15
+ export function runAfterRender(tagSupport, ownerTagSupport) {
16
+ setUse.tagUse.forEach(tagUse => tagUse.afterRender(tagSupport, ownerTagSupport));
17
+ tagClosed$.next(ownerTagSupport);
10
18
  }
11
19
  // Life cycle 3
12
- export function runBeforeRedraw(tagSupport, tag) {
13
- setUse.tagUse.forEach(tagUse => tagUse.beforeRedraw(tagSupport, tag));
20
+ export function runBeforeRedraw(tagSupport, ownerTagSupport) {
21
+ setUse.tagUse.forEach(tagUse => tagUse.beforeRedraw(tagSupport, ownerTagSupport));
14
22
  }
15
23
  // Life cycle 4 - end of life
16
- export function runBeforeDestroy(tagSupport, tag) {
17
- setUse.tagUse.forEach(tagUse => tagUse.beforeDestroy(tagSupport, tag));
24
+ export function runBeforeDestroy(tagSupport, ownerTagSupport) {
25
+ setUse.tagUse.forEach(tagUse => tagUse.beforeDestroy(tagSupport, ownerTagSupport));
18
26
  }
19
27
  //# sourceMappingURL=tagRunner.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"tagRunner.js","sourceRoot":"","sources":["../ts/tagRunner.ts"],"names":[],"mappings":"AAAA,0DAA0D;AAI1D,OAAO,EAAE,MAAM,EAAE,MAAM,SAAS,CAAA;AAEhC,eAAe;AACf,MAAM,UAAU,eAAe,CAC7B,UAA0B,EAC1B,QAAa;IAEb,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,YAAY,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC,CAAA;AAC5E,CAAC;AAED,eAAe;AACf,MAAM,UAAU,cAAc,CAC5B,UAA0B,EAC1B,GAAQ;IAER,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,WAAW,CAAC,UAAU,EAAE,GAAG,CAAC,CAAC,CAAA;AACtE,CAAC;AAED,eAAe;AACf,MAAM,UAAU,eAAe,CAC7B,UAA0B,EAC1B,GAAQ;IAER,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,YAAY,CAAC,UAAU,EAAE,GAAG,CAAC,CAAC,CAAA;AACvE,CAAC;AAED,6BAA6B;AAC7B,MAAM,UAAU,gBAAgB,CAC9B,UAA0B,EAC1B,GAAQ;IAER,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,aAAa,CAAC,UAAU,EAAE,GAAG,CAAC,CAAC,CAAA;AACxE,CAAC"}
1
+ {"version":3,"file":"tagRunner.js","sourceRoot":"","sources":["../ts/tagRunner.ts"],"names":[],"mappings":"AAAA,0DAA0D;AAG1D,OAAO,EAAE,MAAM,EAAE,MAAM,SAAS,CAAA;AAChC,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AAEnC,mIAAmI;AACnI,MAAM,CAAC,MAAM,UAAU,GAAG,IAAI,OAAO,CAAa,SAAS,EAAE,YAAY,CAAC,EAAE;IAC1E,IAAG,CAAC,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,OAAO,EAAE,CAAC;QACtC,YAAY,CAAC,IAAI,EAAE,CAAA,CAAC,iDAAiD;IACvE,CAAC;AACH,CAAC,CAAC,CAAA;AAEF,eAAe;AACf,MAAM,UAAU,eAAe,CAC7B,UAA0B,EAC1B,YAAyB;IAEzB,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,YAAY,CAAC,UAAU,EAAE,YAAY,CAAC,CAAC,CAAA;AAChF,CAAC;AAED,eAAe;AACf,MAAM,UAAU,cAAc,CAC5B,UAA0B,EAC1B,eAA2B;IAE3B,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,WAAW,CAAC,UAAU,EAAE,eAAe,CAAC,CAAC,CAAA;IAChF,UAAU,CAAC,IAAI,CAAC,eAAe,CAAC,CAAA;AAClC,CAAC;AAED,eAAe;AACf,MAAM,UAAU,eAAe,CAC7B,UAA0B,EAC1B,eAA2B;IAE3B,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,YAAY,CAAC,UAAU,EAAE,eAAe,CAAC,CAAC,CAAA;AACnF,CAAC;AAED,6BAA6B;AAC7B,MAAM,UAAU,gBAAgB,CAC9B,UAA0B,EAC1B,eAA2B;IAE3B,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,aAAa,CAAC,UAAU,EAAE,eAAe,CAAC,CAAC,CAAA;AACpF,CAAC"}
@@ -1,3 +1,3 @@
1
1
  import { InsertBefore } from "./Clones.type";
2
- import { NoDisplayValue } from "./processAttribute.function";
2
+ import { NoDisplayValue } from "./interpolations/processAttribute.function";
3
3
  export declare function updateBeforeTemplate(value: string | boolean | number | NoDisplayValue, lastFirstChild: InsertBefore): Text;
@@ -1 +1 @@
1
- {"version":3,"file":"updateBeforeTemplate.function.js","sourceRoot":"","sources":["../ts/updateBeforeTemplate.function.ts"],"names":[],"mappings":"AAGA,oCAAoC;AACpC,MAAM,UAAU,oBAAoB,CAClC,KAAiD,EACjD,cAA4B;IAE5B,MAAM,MAAM,GAAG,cAAc,CAAC,UAAwB,CAAA;IACtD,IAAI,WAAW,GAAG,KAAe,CAAA;IAEjC,uEAAuE;IACvE,IAAG,CAAC,SAAS,EAAC,KAAK,EAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,KAAuB,CAAC,EAAE,CAAC,CAAC,oBAAoB;QACjF,WAAW,GAAG,EAAE,CAAA;IAClB,CAAC;IAED,kDAAkD;IAClD,MAAM,QAAQ,GAAG,QAAQ,CAAC,cAAc,CAAC,WAAW,CAAC,CAAA,CAAC,kBAAkB;IACxE,MAAM,CAAC,YAAY,CAAC,QAAQ,EAAE,cAAc,CAAC,CAAA;IAE7C,2BAA2B;IAC3B,MAAM,CAAC,WAAW,CAAC,cAAc,CAAC,CAAA;IAElC,OAAO,QAAQ,CAAA;AACjB,CAAC"}
1
+ {"version":3,"file":"updateBeforeTemplate.function.js","sourceRoot":"","sources":["../ts/updateBeforeTemplate.function.ts"],"names":[],"mappings":"AAIA,oCAAoC;AACpC,MAAM,UAAU,oBAAoB,CAClC,KAAiD,EACjD,cAA4B;IAE5B,MAAM,MAAM,GAAG,cAAc,CAAC,UAAwB,CAAA;IACtD,IAAI,WAAW,GAAG,KAAe,CAAA;IAEjC,uEAAuE;IACvE,IAAG,CAAC,SAAS,EAAC,KAAK,EAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,KAAuB,CAAC,EAAE,CAAC,CAAC,oBAAoB;QACjF,WAAW,GAAG,EAAE,CAAA;IAClB,CAAC;IAED,kDAAkD;IAClD,MAAM,QAAQ,GAAG,QAAQ,CAAC,cAAc,CAAC,WAAW,CAAC,CAAA,CAAC,kBAAkB;IACxE,MAAM,CAAC,YAAY,CAAC,QAAQ,EAAE,cAAc,CAAC,CAAA;IAE7C,2BAA2B;IAC3B,MAAM,CAAC,WAAW,CAAC,cAAc,CAAC,CAAA;IAElC,OAAO,QAAQ,CAAA;AACjB,CAAC"}
@@ -0,0 +1,3 @@
1
+ import { TemplateValue } from './processSubjectValue.function';
2
+ import { Context } from './Tag.class';
3
+ export declare function updateContextItem(context: Context, variableName: string, value: TemplateValue): void;