taggedjs 2.4.17 → 2.4.31

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (164) hide show
  1. package/bundle.js +1313 -1240
  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 +14 -17
  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
@@ -0,0 +1,14 @@
1
+ import { InterpolatedContentTemplates } from "./interpolateContentTemplates";
2
+ import { Context, TagTemplate } from "../Tag.class";
3
+ import { Counts } from "./interpolateTemplate";
4
+ import { TagSupport } from "../TagSupport.class";
5
+ export type InterpolateOptions = {
6
+ /** make the element go on document */
7
+ forceElement?: boolean;
8
+ counts: Counts;
9
+ };
10
+ /** Review elements within an element */
11
+ export declare function interpolateElement(container: Element, // element containing innerHTML to review interpolations
12
+ context: Context, // variables used to evaluate
13
+ interpolatedTemplates: TagTemplate, ownerSupport: TagSupport, options: InterpolateOptions): InterpolatedContentTemplates;
14
+ export declare function interpolateString(string: string): import("./interpolations").InterpolatedTemplates;
@@ -0,0 +1,36 @@
1
+ import { interpolateAttributes } from "./interpolateAttributes";
2
+ import { interpolateToTemplates } from "./interpolations";
3
+ import { interpolateContentTemplates } from "./interpolateContentTemplates";
4
+ import { escapeSearch, variablePrefix } from "../Tag.class";
5
+ /** Review elements within an element */
6
+ export function interpolateElement(container, // element containing innerHTML to review interpolations
7
+ context, // variables used to evaluate
8
+ interpolatedTemplates, ownerSupport, options) {
9
+ const clones = [];
10
+ const tagComponents = [];
11
+ const result = interpolatedTemplates.interpolation;
12
+ const template = container.children[0];
13
+ const children = template.content.children;
14
+ if (result.keys.length) {
15
+ const { clones: nextClones, tagComponents: nextTagComponents } = interpolateContentTemplates(container, context, ownerSupport, options, children);
16
+ clones.push(...nextClones);
17
+ tagComponents.push(...nextTagComponents);
18
+ }
19
+ interpolateAttributes(container, context, ownerSupport);
20
+ processChildrenAttributes(children, context, ownerSupport);
21
+ return { clones, tagComponents };
22
+ }
23
+ function processChildrenAttributes(children, context, ownerSupport) {
24
+ new Array(...children).forEach(child => {
25
+ interpolateAttributes(child, context, ownerSupport);
26
+ if (child.children) {
27
+ processChildrenAttributes(child.children, context, ownerSupport);
28
+ }
29
+ });
30
+ }
31
+ export function interpolateString(string) {
32
+ const result = interpolateToTemplates(string);
33
+ result.string = result.string.replace(escapeSearch, variablePrefix);
34
+ return result;
35
+ }
36
+ //# sourceMappingURL=interpolateElement.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"interpolateElement.js","sourceRoot":"","sources":["../../ts/interpolations/interpolateElement.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAA;AAC/D,OAAO,EAAE,sBAAsB,EAAE,MAAM,kBAAkB,CAAA;AACzD,OAAO,EAAgC,2BAA2B,EAAE,MAAM,+BAA+B,CAAA;AACzG,OAAO,EAAwB,YAAY,EAAE,cAAc,EAAE,MAAM,cAAc,CAAA;AAWjF,wCAAwC;AACxC,MAAM,UAAU,kBAAkB,CAChC,SAAkB,EAAE,wDAAwD;AAC5E,OAAgB,EAAE,6BAA6B;AAC/C,qBAAkC,EAClC,YAAwB,EACxB,OAA2B;IAE3B,MAAM,MAAM,GAAW,EAAE,CAAA;IACzB,MAAM,aAAa,GAAiC,EAAE,CAAA;IACtD,MAAM,MAAM,GAAG,qBAAqB,CAAC,aAAa,CAAA;IAClD,MAAM,QAAQ,GAAG,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAwB,CAAA;IAC7D,MAAM,QAAQ,GAAG,QAAQ,CAAC,OAAO,CAAC,QAAQ,CAAA;IAE1C,IAAG,MAAM,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;QACtB,MAAM,EAAC,MAAM,EAAE,UAAU,EAAE,aAAa,EAAE,iBAAiB,EAAC,GAAG,2BAA2B,CACxF,SAAS,EACT,OAAO,EACP,YAAY,EACZ,OAAO,EACP,QAAQ,CACT,CAAA;QACD,MAAM,CAAC,IAAI,CAAE,GAAG,UAAU,CAAE,CAAA;QAC5B,aAAa,CAAC,IAAI,CAAE,GAAG,iBAAiB,CAAE,CAAA;IAC5C,CAAC;IAED,qBAAqB,CAAC,SAAS,EAAE,OAAO,EAAE,YAAY,CAAC,CAAA;IACvD,yBAAyB,CAAC,QAAQ,EAAE,OAAO,EAAE,YAAY,CAAC,CAAA;IAE1D,OAAO,EAAC,MAAM,EAAE,aAAa,EAAC,CAAA;AAChC,CAAC;AAED,SAAS,yBAAyB,CAChC,QAAwB,EACxB,OAAgB,EAChB,YAAwB;IAExB,IAAI,KAAK,CAAC,GAAG,QAAQ,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;QACrC,qBAAqB,CAAC,KAAK,EAAE,OAAO,EAAE,YAAY,CAAC,CAAA;QAEnD,IAAG,KAAK,CAAC,QAAQ,EAAE,CAAC;YAClB,yBAAyB,CAAC,KAAK,CAAC,QAAQ,EAAE,OAAO,EAAE,YAAY,CAAC,CAAA;QAClE,CAAC;IACH,CAAC,CAAC,CAAA;AACJ,CAAC;AAED,MAAM,UAAU,iBAAiB,CAAC,MAAc;IAC9C,MAAM,MAAM,GAAG,sBAAsB,CAAC,MAAM,CAAC,CAAA;IAC7C,MAAM,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,YAAY,EAAE,cAAc,CAAC,CAAA;IACnE,OAAO,MAAM,CAAA;AACf,CAAC"}
@@ -0,0 +1,32 @@
1
+ import { Context, ElementBuildOptions } from "../Tag.class";
2
+ import { InterpolateOptions } from "./interpolateElement";
3
+ import { Clones, InsertBefore } from "../Clones.type";
4
+ import { InterpolateSubject } from "../processSubjectValue.function";
5
+ import { TagSupport } from "../TagSupport.class";
6
+ export type Template = Element & {
7
+ clone?: any;
8
+ };
9
+ export type InterpolateComponentResult = {
10
+ subject: InterpolateSubject;
11
+ insertBefore: Element | Text | Template;
12
+ ownerSupport: TagSupport;
13
+ variableName: string;
14
+ };
15
+ export type InterpolateTemplateResult = {
16
+ clones: Clones;
17
+ tagComponent?: InterpolateComponentResult;
18
+ };
19
+ export declare function interpolateTemplate(insertBefore: Template, // <template end interpolate /> (will be removed)
20
+ context: Context, // variable scope of {`__tagvar${index}`:'x'}
21
+ ownerSupport: TagSupport, // Tag class
22
+ counts: Counts, // used for animation stagger computing
23
+ options: InterpolateOptions): InterpolateTemplateResult;
24
+ export declare function subscribeToTemplate(insertBefore: InsertBefore, subject: InterpolateSubject, ownerSupport: TagSupport, counts: Counts, // used for animation stagger computing
25
+ { isForceElement }: {
26
+ isForceElement?: boolean;
27
+ }): void;
28
+ export type Counts = {
29
+ added: number;
30
+ removed: number;
31
+ };
32
+ export declare function afterElmBuild(elm: Element | ChildNode, options: ElementBuildOptions, context: Context, ownerSupport: TagSupport): void;
@@ -0,0 +1,80 @@
1
+ import { variablePrefix } from "../Tag.class";
2
+ import { elementInitCheck } from "./elementInitCheck";
3
+ import { processSubjectValue } from "../processSubjectValue.function";
4
+ import { isTagArray, isTagComponent } from "../isInstance";
5
+ import { scanTextAreaValue } from "./scanTextAreaValue.function";
6
+ import { updateExistingValue } from "../updateExistingValue.function";
7
+ export function interpolateTemplate(insertBefore, // <template end interpolate /> (will be removed)
8
+ context, // variable scope of {`__tagvar${index}`:'x'}
9
+ ownerSupport, // Tag class
10
+ counts, // used for animation stagger computing
11
+ options) {
12
+ // TODO: THe clones array is useless here
13
+ const clones = [];
14
+ if (!insertBefore.hasAttribute('end')) {
15
+ return { clones }; // only care about <template end>
16
+ }
17
+ const variableName = insertBefore.getAttribute('id');
18
+ if (variableName?.substring(0, variablePrefix.length) !== variablePrefix) {
19
+ return { clones }; // ignore, not a tagVar
20
+ }
21
+ const existingSubject = context[variableName];
22
+ const isDynamic = isTagComponent(existingSubject.value) || isTagArray(existingSubject.value);
23
+ // process dynamics later
24
+ if (isDynamic) {
25
+ return {
26
+ clones,
27
+ tagComponent: {
28
+ variableName,
29
+ ownerSupport,
30
+ subject: existingSubject,
31
+ insertBefore
32
+ }
33
+ };
34
+ }
35
+ let isForceElement = options.forceElement;
36
+ subscribeToTemplate(insertBefore, existingSubject, ownerSupport, counts, { isForceElement });
37
+ return { clones };
38
+ }
39
+ export function subscribeToTemplate(insertBefore, subject, ownerSupport, counts, // used for animation stagger computing
40
+ { isForceElement }) {
41
+ let called = false;
42
+ const callback = (value) => {
43
+ if (called) {
44
+ updateExistingValue(subject, value, ownerSupport, insertBefore);
45
+ return;
46
+ }
47
+ const templater = value;
48
+ processSubjectValue(templater, subject, insertBefore, ownerSupport, {
49
+ counts: { ...counts },
50
+ forceElement: isForceElement,
51
+ });
52
+ if (isForceElement) {
53
+ isForceElement = false; // only can happen once
54
+ }
55
+ called = true;
56
+ };
57
+ const sub = subject.subscribe(callback);
58
+ ownerSupport.global.subscriptions.push(sub);
59
+ }
60
+ export function afterElmBuild(elm, options, context, ownerSupport) {
61
+ if (!elm.getAttribute) {
62
+ return;
63
+ }
64
+ const tagName = elm.nodeName; // elm.tagName
65
+ if (tagName === 'TEXTAREA') {
66
+ scanTextAreaValue(elm, context, ownerSupport);
67
+ }
68
+ let diff = options.counts.added;
69
+ diff = elementInitCheck(elm, options.counts) - diff;
70
+ if (elm.children) {
71
+ new Array(...elm.children).forEach((child, index) => {
72
+ const subOptions = {
73
+ ...options,
74
+ counts: options.counts,
75
+ };
76
+ return afterElmBuild(child, subOptions, context, ownerSupport);
77
+ });
78
+ }
79
+ }
80
+ //# sourceMappingURL=interpolateTemplate.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"interpolateTemplate.js","sourceRoot":"","sources":["../../ts/interpolations/interpolateTemplate.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,7 @@
1
+ export declare const interpolateReplace: RegExp;
2
+ export type InterpolatedTemplates = {
3
+ string: string;
4
+ keys: string[];
5
+ };
6
+ /** replaces ${x} with <template id="x-start"></template><template id="x-end"></template> */
7
+ export declare function interpolateToTemplates(template: string): InterpolatedTemplates;
@@ -0,0 +1,18 @@
1
+ // support arrow functions in attributes
2
+ export const interpolateReplace = /(?:<[^>]*?(?:(?:\s+\w+(?:\s*=\s*(?:"[^"]*"|'[^']*'|[^>\s]+)))*\s*)\/?>)|({__tagvar[^}]+})/g;
3
+ /** replaces ${x} with <template id="x-start"></template><template id="x-end"></template> */
4
+ export function interpolateToTemplates(template) {
5
+ const keys = [];
6
+ const string = template.replace(interpolateReplace, (match, expression) => {
7
+ if (match.startsWith('<')) {
8
+ // If the match is an HTML tag, don't replace
9
+ return match;
10
+ }
11
+ const noBraces = expression.substring(1, expression.length - 1);
12
+ const id = noBraces;
13
+ keys.push(id);
14
+ return `<template interpolate end id="${id}"></template>`;
15
+ });
16
+ return { string, keys };
17
+ }
18
+ //# sourceMappingURL=interpolations.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"interpolations.js","sourceRoot":"","sources":["../../ts/interpolations/interpolations.ts"],"names":[],"mappings":"AAAA,wCAAwC;AACxC,MAAM,CAAC,MAAM,kBAAkB,GAAG,4FAA4F,CAAA;AAU9H,4FAA4F;AAC5F,MAAM,UAAU,sBAAsB,CACpC,QAAgB;IAEhB,MAAM,IAAI,GAAa,EAAE,CAAA;IACzB,MAAM,MAAM,GAAG,QAAQ,CAAC,OAAO,CAAC,kBAAkB,EAAE,CAAC,KAAK,EAAE,UAAU,EAAE,EAAE;QACxE,IAAI,KAAK,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;YAC1B,6CAA6C;YAC7C,OAAO,KAAK,CAAA;QACd,CAAC;QAED,MAAM,QAAQ,GAAG,UAAU,CAAC,SAAS,CAAC,CAAC,EAAE,UAAU,CAAC,MAAM,GAAC,CAAC,CAAC,CAAA;QAC7D,MAAM,EAAE,GAAG,QAAQ,CAAA;QACnB,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;QACb,OAAO,iCAAiC,EAAE,eAAe,CAAA;IAC3D,CAAC,CAAC,CAAA;IAEF,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,CAAA;AACzB,CAAC"}
@@ -0,0 +1,5 @@
1
+ import { Context } from '../Tag.class';
2
+ import { HowToSet } from './interpolateAttributes';
3
+ import { TagSupport } from '../TagSupport.class';
4
+ export declare function processAttribute(attrName: string, value: string | null, child: Element, scope: Context, ownerSupport: TagSupport, howToSet: HowToSet): void;
5
+ export type NoDisplayValue = false | null | undefined;
@@ -0,0 +1,122 @@
1
+ import { inputAttribute } from './inputAttribute';
2
+ import { isSubjectInstance } from '../isInstance';
3
+ import { bindSubjectCallback } from './bindSubjectCallback.function';
4
+ const startRegX = /^\s*{__tagvar/;
5
+ const endRegX = /}\s*$/;
6
+ function isTagVar(value) {
7
+ return value && value.search(startRegX) >= 0 && value.search(endRegX) >= 0;
8
+ }
9
+ export function processAttribute(attrName, value, child, scope, ownerSupport, howToSet) {
10
+ if (isTagVar(value)) {
11
+ return processScopedNameValueAttr(attrName, value, child, scope, ownerSupport, howToSet);
12
+ }
13
+ if (isTagVar(attrName)) {
14
+ const contextValueSubject = getContextValueByVarString(scope, attrName);
15
+ let lastValue;
16
+ // the above callback gets called immediately since its a ValueSubject()
17
+ const sub = contextValueSubject.subscribe((value) => {
18
+ processNameOnlyAttr(value, lastValue, child, ownerSupport, howToSet);
19
+ lastValue = value;
20
+ });
21
+ ownerSupport.global.subscriptions.push(sub); // this is where unsubscribe is picked up
22
+ child.removeAttribute(attrName);
23
+ return;
24
+ }
25
+ // Non dynamic
26
+ const isSpecial = isSpecialAttr(attrName);
27
+ if (isSpecial) {
28
+ return inputAttribute(attrName, value, child);
29
+ }
30
+ }
31
+ function processScopedNameValueAttr(attrName, value, // {__tagVarN}
32
+ child, scope, ownerSupport, howToSet) {
33
+ // get the code inside the brackets like "variable0" or "{variable0}"
34
+ const result = getContextValueByVarString(scope, value);
35
+ return processNameValueAttr(attrName, result, child, ownerSupport, howToSet);
36
+ }
37
+ function getContextValueByVarString(scope, value) {
38
+ const code = value.replace('{', '').split('').reverse().join('').replace('}', '').split('').reverse().join('');
39
+ return scope[code];
40
+ }
41
+ function processNameOnlyAttr(attrValue, lastValue, child, ownerSupport, howToSet) {
42
+ if (lastValue && lastValue != attrValue) {
43
+ if (typeof (lastValue) === 'string') {
44
+ child.removeAttribute(lastValue);
45
+ }
46
+ else if (lastValue instanceof Object) {
47
+ Object.entries(lastValue).forEach(([name]) => child.removeAttribute(name));
48
+ }
49
+ }
50
+ if (typeof (attrValue) === 'string') {
51
+ if (!attrValue.length) {
52
+ return;
53
+ }
54
+ processNameValueAttr(attrValue, '', child, ownerSupport, howToSet);
55
+ return;
56
+ }
57
+ if (attrValue instanceof Object) {
58
+ Object.entries(attrValue).forEach(([name, value]) => processNameValueAttr(name, value, child, ownerSupport, howToSet));
59
+ return;
60
+ }
61
+ }
62
+ function processNameValueAttr(attrName, result, child, ownerSupport, howToSet) {
63
+ const isSpecial = isSpecialAttr(attrName);
64
+ // attach as callback?
65
+ if (result instanceof Function) {
66
+ const action = function (...args) {
67
+ const result2 = result(child, args);
68
+ return result2;
69
+ };
70
+ child[attrName].action = action;
71
+ // child.addEventListener(attrName, action)
72
+ }
73
+ // Most every variable comes in here since everything is made a ValueSubject
74
+ if (isSubjectInstance(result)) {
75
+ child.removeAttribute(attrName);
76
+ const callback = (newAttrValue) => {
77
+ if (newAttrValue instanceof Function) {
78
+ newAttrValue = bindSubjectCallback(newAttrValue, ownerSupport);
79
+ }
80
+ return processAttributeSubjectValue(newAttrValue, child, attrName, isSpecial, howToSet);
81
+ };
82
+ // 🗞️ Subscribe. Above callback called immediately since its a ValueSubject()
83
+ const sub = result.subscribe(callback);
84
+ // Record subscription for later unsubscribe when element destroyed
85
+ ownerSupport.global.subscriptions.push(sub);
86
+ return;
87
+ }
88
+ howToSet(child, attrName, result);
89
+ // child.setAttribute(attrName, result.value)
90
+ return;
91
+ }
92
+ function processAttributeSubjectValue(newAttrValue, child, attrName, isSpecial, howToSet) {
93
+ if (newAttrValue instanceof Function) {
94
+ const fun = function (...args) {
95
+ return newAttrValue(child, args);
96
+ };
97
+ // access to original function
98
+ fun.tagFunction = newAttrValue;
99
+ child[attrName] = fun;
100
+ return;
101
+ }
102
+ if (isSpecial) {
103
+ inputAttribute(attrName, newAttrValue, child);
104
+ return;
105
+ }
106
+ if (newAttrValue) {
107
+ howToSet(child, attrName, newAttrValue);
108
+ return;
109
+ }
110
+ const isDeadValue = [undefined, false, null].includes(newAttrValue);
111
+ if (isDeadValue) {
112
+ child.removeAttribute(attrName);
113
+ return;
114
+ }
115
+ // value is 0
116
+ howToSet(child, attrName, newAttrValue);
117
+ }
118
+ /** Looking for (class | style) followed by a period */
119
+ function isSpecialAttr(attrName) {
120
+ return attrName.search(/^(class|style)(\.)/) >= 0;
121
+ }
122
+ //# sourceMappingURL=processAttribute.function.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"processAttribute.function.js","sourceRoot":"","sources":["../../ts/interpolations/processAttribute.function.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import { Context } from '../Tag.class';
2
+ import { TagSupport } from '../TagSupport.class';
3
+ export declare function scanTextAreaValue(textarea: HTMLTextAreaElement, context: Context, ownerSupport: TagSupport): void;
@@ -0,0 +1,16 @@
1
+ import { processAttribute } from './processAttribute.function';
2
+ const search = new RegExp('\\s*<template interpolate end id="__tagvar(\\d{1,4})"([^>]*)></template>(\\s*)');
3
+ export function scanTextAreaValue(textarea, context, ownerSupport) {
4
+ const value = textarea.value;
5
+ if (value.search(search) >= 0) {
6
+ const match = value.match(/__tagvar(\d{1,4})/);
7
+ const token = match ? match[0] : '';
8
+ const dynamic = '{' + token + '}';
9
+ textarea.value = '';
10
+ textarea.setAttribute('text-var-value', dynamic);
11
+ const howToSet = (_elm, _name, value) => textarea.value = value;
12
+ processAttribute('text-var-value', dynamic, // realValue, // context[token].value,
13
+ textarea, context, ownerSupport, howToSet);
14
+ }
15
+ }
16
+ //# sourceMappingURL=scanTextAreaValue.function.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"scanTextAreaValue.function.js","sourceRoot":"","sources":["../../ts/interpolations/scanTextAreaValue.function.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAA;AAE9D,MAAM,MAAM,GAAG,IAAI,MAAM,CAAC,gFAAgF,CAAC,CAAA;AAE3G,MAAM,UAAU,iBAAiB,CAC/B,QAA6B,EAC7B,OAAgB,EAChB,YAAwB;IAExB,MAAM,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAA;IAC5B,IAAI,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,IAAG,CAAC,EAAG,CAAC;QAC9B,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,mBAAmB,CAAC,CAAC;QAC/C,MAAM,KAAK,GAAG,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAA;QACnC,MAAM,OAAO,GAAG,GAAG,GAAG,KAAK,GAAG,GAAG,CAAA;QACjC,QAAQ,CAAC,KAAK,GAAG,EAAE,CAAA;QACnB,QAAQ,CAAC,YAAY,CAAC,gBAAgB,EAAE,OAAO,CAAC,CAAA;QAEhD,MAAM,QAAQ,GAAa,CAAC,IAAI,EAAE,KAAK,EAAE,KAAa,EAAE,EAAE,CAAC,QAAQ,CAAC,KAAK,GAAG,KAAK,CAAA;QAEjF,gBAAgB,CACd,gBAAgB,EAChB,OAAO,EAAE,sCAAsC;QAC/C,QAAQ,EACR,OAAO,EACP,YAAY,EACZ,QAAQ,CACT,CAAA;IACH,CAAC;AACH,CAAC"}
@@ -10,9 +10,8 @@ export function interpolateToTemplates(template) {
10
10
  }
11
11
  const noBraces = expression.substring(1, expression.length - 1);
12
12
  const id = noBraces;
13
- const name = 'template-' + template.length;
14
13
  keys.push(id);
15
- return `<template interpolate end id="${id}" name="${name}"></template>`;
14
+ return `<template interpolate end id="${id}"></template>`;
16
15
  });
17
16
  return { string, keys };
18
17
  }
@@ -1 +1 @@
1
- {"version":3,"file":"interpolations.js","sourceRoot":"","sources":["../ts/interpolations.ts"],"names":[],"mappings":"AAAA,wCAAwC;AACxC,MAAM,CAAC,MAAM,kBAAkB,GAAG,4FAA4F,CAAA;AAU9H,4FAA4F;AAC5F,MAAM,UAAU,sBAAsB,CACpC,QAAgB;IAEhB,MAAM,IAAI,GAAa,EAAE,CAAA;IACzB,MAAM,MAAM,GAAG,QAAQ,CAAC,OAAO,CAAC,kBAAkB,EAAE,CAAC,KAAK,EAAE,UAAU,EAAE,EAAE;QACxE,IAAI,KAAK,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;YAC1B,6CAA6C;YAC7C,OAAO,KAAK,CAAA;QACd,CAAC;QAED,MAAM,QAAQ,GAAG,UAAU,CAAC,SAAS,CAAC,CAAC,EAAE,UAAU,CAAC,MAAM,GAAC,CAAC,CAAC,CAAA;QAC7D,MAAM,EAAE,GAAG,QAAQ,CAAA;QACnB,MAAM,IAAI,GAAG,WAAW,GAAG,QAAQ,CAAC,MAAM,CAAA;QAC1C,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;QACb,OAAO,iCAAiC,EAAE,WAAW,IAAI,eAAe,CAAA;IAC1E,CAAC,CAAC,CAAA;IAEF,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,CAAA;AACzB,CAAC"}
1
+ {"version":3,"file":"interpolations.js","sourceRoot":"","sources":["../ts/interpolations.ts"],"names":[],"mappings":"AAAA,wCAAwC;AACxC,MAAM,CAAC,MAAM,kBAAkB,GAAG,4FAA4F,CAAA;AAU9H,4FAA4F;AAC5F,MAAM,UAAU,sBAAsB,CACpC,QAAgB;IAEhB,MAAM,IAAI,GAAa,EAAE,CAAA;IACzB,MAAM,MAAM,GAAG,QAAQ,CAAC,OAAO,CAAC,kBAAkB,EAAE,CAAC,KAAK,EAAE,UAAU,EAAE,EAAE;QACxE,IAAI,KAAK,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;YAC1B,6CAA6C;YAC7C,OAAO,KAAK,CAAA;QACd,CAAC;QAED,MAAM,QAAQ,GAAG,UAAU,CAAC,SAAS,CAAC,CAAC,EAAE,UAAU,CAAC,MAAM,GAAC,CAAC,CAAC,CAAA;QAC7D,MAAM,EAAE,GAAG,QAAQ,CAAA;QACnB,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;QACb,OAAO,iCAAiC,EAAE,eAAe,CAAA;IAC3D,CAAC,CAAC,CAAA;IAEF,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,CAAA;AACzB,CAAC"}
@@ -1,6 +1,9 @@
1
1
  import { SubjectLike } from "./subject/Subject.utils";
2
+ import { Tag } from "./Tag.class";
2
3
  import { TemplaterResult } from "./TemplaterResult.class";
3
4
  export declare function isTagComponent(value?: TemplaterResult | unknown): boolean;
4
- export declare function isTagInstance(tag?: TemplaterResult | unknown): boolean;
5
+ export declare function isTag(value?: TemplaterResult | Tag | unknown): boolean;
6
+ export declare function isTagTemplater(value?: TemplaterResult | unknown): boolean;
7
+ export declare function isTagClass(value?: Tag | unknown): boolean;
5
8
  export declare function isSubjectInstance(subject?: SubjectLike<any> | any): Boolean;
6
9
  export declare function isTagArray(value: any): boolean;
package/js/isInstance.js CHANGED
@@ -1,13 +1,21 @@
1
1
  export function isTagComponent(value) {
2
- return value?.isTemplater === true;
2
+ return value?.wrapper?.original instanceof Function;
3
3
  }
4
- export function isTagInstance(tag) {
5
- return tag?.isTag === true;
4
+ export function isTag(value) {
5
+ return isTagTemplater(value) || isTagClass(value);
6
+ }
7
+ export function isTagTemplater(value) {
8
+ const templater = value;
9
+ return templater?.isTemplater === true && templater.wrapper === undefined;
10
+ }
11
+ export function isTagClass(value) {
12
+ const templater = value;
13
+ return templater?.isTagClass === true;
6
14
  }
7
15
  export function isSubjectInstance(subject) {
8
16
  return (subject?.isSubject === true || subject?.subscribe) ? true : false; // subject?.isSubject === true ||
9
17
  }
10
18
  export function isTagArray(value) {
11
- return value instanceof Array && value.every(x => isTagInstance(x));
19
+ return value instanceof Array && value.every(x => isTagClass(x) || isTagTemplater(x));
12
20
  }
13
21
  //# sourceMappingURL=isInstance.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"isInstance.js","sourceRoot":"","sources":["../ts/isInstance.ts"],"names":[],"mappings":"AAGA,MAAM,UAAU,cAAc,CAAC,KAAiC;IAC9D,OAAQ,KAAyB,EAAE,WAAW,KAAK,IAAI,CAAA;AACzD,CAAC;AAED,MAAM,UAAU,aAAa,CAAC,GAA+B;IAC3D,OAAQ,GAAuB,EAAE,KAAK,KAAK,IAAI,CAAA;AACjD,CAAC;AAED,MAAM,UAAU,iBAAiB,CAC/B,OAAgC;IAEhC,OAAO,CAAC,OAAO,EAAE,SAAS,KAAK,IAAI,IAAI,OAAO,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAA,CAAC,kCAAkC;AAC9G,CAAC;AAED,MAAM,UAAU,UAAU,CAAC,KAAU;IACnC,OAAO,KAAK,YAAY,KAAK,IAAI,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAA;AACrE,CAAC"}
1
+ {"version":3,"file":"isInstance.js","sourceRoot":"","sources":["../ts/isInstance.ts"],"names":[],"mappings":"AAIA,MAAM,UAAU,cAAc,CAC5B,KAAiC;IAEjC,OAAQ,KAAyB,EAAE,OAAO,EAAE,QAAQ,YAAY,QAAQ,CAAA;AAC1E,CAAC;AAED,MAAM,UAAU,KAAK,CACnB,KAAuC;IAEvC,OAAO,cAAc,CAAC,KAAK,CAAC,IAAI,UAAU,CAAC,KAAK,CAAC,CAAA;AACnD,CAAC;AAED,MAAM,UAAU,cAAc,CAC5B,KAAiC;IAEjC,MAAM,SAAS,GAAG,KAAwB,CAAA;IAC1C,OAAO,SAAS,EAAE,WAAW,KAAK,IAAI,IAAI,SAAS,CAAC,OAAO,KAAK,SAAS,CAAA;AAC3E,CAAC;AAED,MAAM,UAAU,UAAU,CACxB,KAAqB;IAErB,MAAM,SAAS,GAAG,KAAY,CAAA;IAC9B,OAAO,SAAS,EAAE,UAAU,KAAK,IAAI,CAAA;AACvC,CAAC;AAED,MAAM,UAAU,iBAAiB,CAC/B,OAAgC;IAEhC,OAAO,CAAC,OAAO,EAAE,SAAS,KAAK,IAAI,IAAI,OAAO,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAA,CAAC,kCAAkC;AAC9G,CAAC;AAED,MAAM,UAAU,UAAU,CAAC,KAAU;IACnC,OAAO,KAAK,YAAY,KAAK,IAAI,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,cAAc,CAAC,CAAC,CAAC,CAAC,CAAA;AACvF,CAAC"}
@@ -1,2 +1,4 @@
1
1
  import { Tag } from "./Tag.class";
2
- export declare function isLikeTags(tag0: Tag, tag1: Tag): Boolean;
2
+ import { TagSupport } from "./TagSupport.class";
3
+ export declare function isLikeTags(tagSupport0: TagSupport | Tag, // new
4
+ tagSupport1: TagSupport): Boolean;
@@ -1,17 +1,26 @@
1
- export function isLikeTags(tag0, tag1) {
2
- if (tag0.strings.length !== tag1.strings.length) {
1
+ export function isLikeTags(tagSupport0, // new
2
+ tagSupport1) {
3
+ const templater0 = tagSupport0.templater;
4
+ const templater1 = tagSupport1.templater;
5
+ const tag0 = templater0?.tag || tagSupport0;
6
+ const tag1 = templater1.tag;
7
+ const strings0 = tag0.strings;
8
+ const strings1 = tagSupport1.strings || tag1.strings;
9
+ if (strings0.length !== strings1.length) {
3
10
  return false;
4
11
  }
5
- const everyStringMatched = tag0.strings.every((string, index) => tag1.strings[index] === string);
12
+ const everyStringMatched = strings0.every((string, index) => strings1[index] === string);
6
13
  if (!everyStringMatched) {
7
14
  return false;
8
15
  }
9
- const valuesLengthsMatch = tag0.values.length === tag1.values.length;
16
+ const values0 = tagSupport0.values || tag0.values;
17
+ const values1 = tagSupport1.values || tag1.values;
18
+ const valuesLengthsMatch = values0.length === values1.length;
10
19
  if (!valuesLengthsMatch) {
11
20
  return false;
12
21
  }
13
- const allVarsMatch = tag1.values.every((value, index) => {
14
- const compareTo = tag0.values[index];
22
+ const allVarsMatch = values1.every((value, index) => {
23
+ const compareTo = values0[index];
15
24
  const isFunctions = value instanceof Function && compareTo instanceof Function;
16
25
  if (isFunctions) {
17
26
  const stringMatch = value.toString() === compareTo.toString();
@@ -1 +1 @@
1
- {"version":3,"file":"isLikeTags.function.js","sourceRoot":"","sources":["../ts/isLikeTags.function.ts"],"names":[],"mappings":"AAGA,MAAM,UAAU,UAAU,CAAC,IAAS,EAAE,IAAS;IAC7C,IAAG,IAAI,CAAC,OAAO,CAAC,MAAM,KAAK,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC;QAC/C,OAAO,KAAK,CAAA;IACd,CAAC;IAED,MAAM,kBAAkB,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,MAAM,EAAC,KAAK,EAAE,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,MAAM,CAAC,CAAA;IAC/F,IAAG,CAAC,kBAAkB,EAAE,CAAC;QACvB,OAAO,KAAK,CAAA;IACd,CAAC;IAED,MAAM,kBAAkB,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,KAAK,IAAI,CAAC,MAAM,CAAC,MAAM,CAAA;IACpE,IAAG,CAAC,kBAAkB,EAAE,CAAC;QACvB,OAAO,KAAK,CAAA;IACd,CAAC;IAED,MAAM,YAAY,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,KAAK,EAAC,EAAE;QACrD,MAAM,SAAS,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;QACpC,MAAM,WAAW,GAAG,KAAK,YAAY,QAAQ,IAAI,SAAS,YAAY,QAAQ,CAAA;QAE9E,IAAG,WAAW,EAAE,CAAC;YACf,MAAM,WAAW,GAAG,KAAK,CAAC,QAAQ,EAAE,KAAK,SAAS,CAAC,QAAQ,EAAE,CAAA;YAC7D,IAAG,WAAW,EAAE,CAAC;gBACf,OAAO,IAAI,CAAA;YACb,CAAC;YAED,OAAO,KAAK,CAAA;QACd,CAAC;QAED,OAAO,IAAI,CAAA,CAAC,8BAA8B;IAC5C,CAAC,CAAC,CAAA;IAEF,IAAG,YAAY,EAAE,CAAC;QAChB,OAAO,IAAI,CAAA;IACb,CAAC;IAED,OAAO,KAAK,CAAA;AACd,CAAC"}
1
+ {"version":3,"file":"isLikeTags.function.js","sourceRoot":"","sources":["../ts/isLikeTags.function.ts"],"names":[],"mappings":"AAIA,MAAM,UAAU,UAAU,CACxB,WAA6B,EAAE,MAAM;AACrC,WAAuB;IAEvB,MAAM,UAAU,GAAG,WAAW,CAAC,SAAwC,CAAA;IACvE,MAAM,UAAU,GAAG,WAAW,CAAC,SAA4B,CAAA;IAE3D,MAAM,IAAI,GAAG,UAAU,EAAE,GAAG,IAAK,WAAmB,CAAA;IACpD,MAAM,IAAI,GAAG,UAAU,CAAC,GAAU,CAAA;IAElC,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAA;IAC7B,MAAM,QAAQ,GAAG,WAAW,CAAC,OAAO,IAAI,IAAI,CAAC,OAAO,CAAA;IACpD,IAAG,QAAQ,CAAC,MAAM,KAAK,QAAQ,CAAC,MAAM,EAAE,CAAC;QACvC,OAAO,KAAK,CAAA;IACd,CAAC;IAED,MAAM,kBAAkB,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,MAAM,EAAC,KAAK,EAAE,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,KAAK,MAAM,CAAC,CAAA;IACvF,IAAG,CAAC,kBAAkB,EAAE,CAAC;QACvB,OAAO,KAAK,CAAA;IACd,CAAC;IAED,MAAM,OAAO,GAAG,WAAW,CAAC,MAAM,IAAI,IAAI,CAAC,MAAM,CAAA;IACjD,MAAM,OAAO,GAAG,WAAW,CAAC,MAAM,IAAI,IAAI,CAAC,MAAM,CAAA;IACjD,MAAM,kBAAkB,GAAG,OAAO,CAAC,MAAM,KAAK,OAAO,CAAC,MAAM,CAAA;IAC5D,IAAG,CAAC,kBAAkB,EAAE,CAAC;QACvB,OAAO,KAAK,CAAA;IACd,CAAC;IAED,MAAM,YAAY,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,KAAK,EAAC,EAAE;QACjD,MAAM,SAAS,GAAG,OAAO,CAAC,KAAK,CAAC,CAAA;QAChC,MAAM,WAAW,GAAG,KAAK,YAAY,QAAQ,IAAI,SAAS,YAAY,QAAQ,CAAA;QAE9E,IAAG,WAAW,EAAE,CAAC;YACf,MAAM,WAAW,GAAG,KAAK,CAAC,QAAQ,EAAE,KAAK,SAAS,CAAC,QAAQ,EAAE,CAAA;YAC7D,IAAG,WAAW,EAAE,CAAC;gBACf,OAAO,IAAI,CAAA;YACb,CAAC;YAED,OAAO,KAAK,CAAA;QACd,CAAC;QAED,OAAO,IAAI,CAAA,CAAC,8BAA8B;IAC5C,CAAC,CAAC,CAAA;IAEF,IAAG,YAAY,EAAE,CAAC;QAChB,OAAO,IAAI,CAAA;IACb,CAAC;IAED,OAAO,KAAK,CAAA;AACd,CAAC"}
@@ -1,2 +1,3 @@
1
- import { Tag } from './Tag.class';
2
- export declare function processNewValue(hasValue: boolean, value: any, ownerTag: Tag): any;
1
+ import { TagSupport } from './TagSupport.class';
2
+ import { InterpolateSubject, TemplateValue } from './processSubjectValue.function';
3
+ export declare function processNewValue(hasValue: boolean, value: TemplateValue, ownerSupport: TagSupport): InterpolateSubject;
@@ -1,27 +1,43 @@
1
1
  import { ValueSubject } from './subject/ValueSubject';
2
- import { isSubjectInstance, isTagComponent, isTagInstance } from './isInstance';
3
- export function processNewValue(hasValue, value, ownerTag) {
2
+ import { isSubjectInstance, isTagClass, isTagComponent, isTagTemplater } from './isInstance';
3
+ import { TemplaterResult } from './TemplaterResult.class';
4
+ import { TagSupport } from './TagSupport.class';
5
+ export function processNewValue(hasValue, value, ownerSupport) {
4
6
  if (isTagComponent(value)) {
5
7
  const tagSubject = new ValueSubject(value);
6
8
  return tagSubject;
7
9
  }
8
10
  if (value instanceof Function) {
9
- // return getSubjectFunction(value, ownerTag)
10
11
  return new ValueSubject(value);
11
12
  }
12
13
  if (!hasValue) {
13
- return; // more strings than values, stop here
14
+ return new ValueSubject(undefined);
14
15
  }
15
- if (isTagInstance(value)) {
16
- value.ownerTag = ownerTag;
17
- if (ownerTag.childTags.find(x => x === value)) {
18
- throw new Error('about to reattach tag already present - 2');
19
- }
20
- return new ValueSubject(value);
16
+ if (isTagTemplater(value)) {
17
+ const templater = value;
18
+ const tag = templater.tag;
19
+ return processNewTag(tag, ownerSupport);
20
+ }
21
+ if (isTagClass(value)) {
22
+ return processNewTag(value, ownerSupport);
21
23
  }
24
+ // is already a value subject?
22
25
  if (isSubjectInstance(value)) {
23
- return value; // its already a value subject
26
+ return value;
24
27
  }
25
28
  return new ValueSubject(value);
26
29
  }
30
+ function processNewTag(value, ownerSupport) {
31
+ const tag = value;
32
+ let templater = tag.templater;
33
+ if (!templater) {
34
+ const children = new ValueSubject([]);
35
+ templater = new TemplaterResult(undefined, children);
36
+ templater.tag = tag;
37
+ tag.templater = templater;
38
+ }
39
+ const subject = new ValueSubject(templater);
40
+ const tagSupport = subject.tagSupport = new TagSupport(templater, ownerSupport, subject);
41
+ return subject;
42
+ }
27
43
  //# sourceMappingURL=processNewValue.function.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"processNewValue.function.js","sourceRoot":"","sources":["../ts/processNewValue.function.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAA;AACrD,OAAO,EAAE,iBAAiB,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,cAAc,CAAA;AAE/E,MAAM,UAAU,eAAe,CAC7B,QAAiB,EACjB,KAAU,EACV,QAAa;IAEb,IAAG,cAAc,CAAC,KAAK,CAAC,EAAE,CAAC;QACzB,MAAM,UAAU,GAAG,IAAI,YAAY,CAAC,KAAK,CAAe,CAAA;QACxD,OAAO,UAAU,CAAA;IACnB,CAAC;IAED,IAAG,KAAK,YAAY,QAAQ,EAAE,CAAC;QAC7B,6CAA6C;QAC7C,OAAO,IAAI,YAAY,CAAC,KAAK,CAAC,CAAA;IAChC,CAAC;IAED,IAAG,CAAC,QAAQ,EAAE,CAAC;QACb,OAAM,CAAC,sCAAsC;IAC/C,CAAC;IAED,IAAG,aAAa,CAAC,KAAK,CAAC,EAAE,CAAC;QACxB,KAAK,CAAC,QAAQ,GAAG,QAAQ,CAAA;QAEzB,IAAG,QAAQ,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,KAAK,CAAC,EAAE,CAAC;YAC7C,MAAM,IAAI,KAAK,CAAC,2CAA2C,CAAC,CAAA;QAC9D,CAAC;QAED,OAAO,IAAI,YAAY,CAAC,KAAK,CAAC,CAAA;IAChC,CAAC;IAED,IAAG,iBAAiB,CAAC,KAAK,CAAC,EAAE,CAAC;QAC5B,OAAO,KAAK,CAAA,CAAC,8BAA8B;IAC7C,CAAC;IAED,OAAO,IAAI,YAAY,CAAC,KAAK,CAAC,CAAA;AAChC,CAAC"}
1
+ {"version":3,"file":"processNewValue.function.js","sourceRoot":"","sources":["../ts/processNewValue.function.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAA;AACrD,OAAO,EAAE,iBAAiB,EAAE,UAAU,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,cAAc,CAAA;AAC5F,OAAO,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAA;AACzD,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAA;AAI/C,MAAM,UAAU,eAAe,CAC7B,QAAiB,EACjB,KAAoB,EACpB,YAAwB;IAExB,IAAG,cAAc,CAAC,KAAK,CAAC,EAAE,CAAC;QACzB,MAAM,UAAU,GAAG,IAAI,YAAY,CAAC,KAAK,CAAe,CAAA;QACxD,OAAO,UAAU,CAAA;IACnB,CAAC;IAED,IAAG,KAAK,YAAY,QAAQ,EAAE,CAAC;QAC7B,OAAO,IAAI,YAAY,CAAW,KAAK,CAAC,CAAA;IAC1C,CAAC;IAED,IAAG,CAAC,QAAQ,EAAE,CAAC;QACb,OAAO,IAAI,YAAY,CAAY,SAAS,CAAC,CAAA;IAC/C,CAAC;IAED,IAAG,cAAc,CAAC,KAAK,CAAC,EAAE,CAAC;QACzB,MAAM,SAAS,GAAG,KAAwB,CAAA;QAC1C,MAAM,GAAG,GAAG,SAAS,CAAC,GAAU,CAAA;QAChC,OAAO,aAAa,CAAC,GAAG,EAAE,YAAY,CAAC,CAAA;IACzC,CAAC;IAED,IAAG,UAAU,CAAC,KAAK,CAAC,EAAE,CAAC;QACrB,OAAO,aAAa,CAAC,KAAY,EAAE,YAAY,CAAC,CAAA;IAClD,CAAC;IAED,8BAA8B;IAC9B,IAAG,iBAAiB,CAAC,KAAK,CAAC,EAAE,CAAC;QAC5B,OAAO,KAA0B,CAAA;IACnC,CAAC;IAED,OAAO,IAAI,YAAY,CAAC,KAAK,CAA8B,CAAA;AAC7D,CAAC;AAED,SAAS,aAAa,CACpB,KAAU,EACV,YAAwB;IAExB,MAAM,GAAG,GAAG,KAAY,CAAA;IAExB,IAAI,SAAS,GAAG,GAAG,CAAC,SAAS,CAAA;IAC7B,IAAG,CAAC,SAAS,EAAE,CAAC;QACd,MAAM,QAAQ,GAAG,IAAI,YAAY,CAAC,EAAW,CAAC,CAAA;QAC9C,SAAS,GAAG,IAAI,eAAe,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAA;QACpD,SAAS,CAAC,GAAG,GAAG,GAAG,CAAA;QACnB,GAAG,CAAC,SAAS,GAAG,SAAS,CAAA;IAC3B,CAAC;IAED,MAAM,OAAO,GAAG,IAAI,YAAY,CAAC,SAAS,CAAe,CAAA;IAEzD,MAAM,UAAU,GAAG,OAAO,CAAC,UAAU,GAAG,IAAI,UAAU,CACpD,SAAS,EACT,YAAY,EACZ,OAAO,CACR,CAAA;IAED,OAAO,OAAO,CAAA;AAChB,CAAC"}
@@ -1,5 +1,5 @@
1
1
  import { InsertBefore } from './Clones.type';
2
- import { DisplaySubject } from './Tag.utils';
2
+ import { DisplaySubject } from './subject.types';
3
3
  export type RegularValue = string | number | undefined | boolean;
4
4
  export declare function processRegularValue(value: RegularValue, subject: DisplaySubject, // could be tag via subject.tag
5
5
  insertBefore: InsertBefore): void;
@@ -1,9 +1,9 @@
1
1
  import { TemplaterResult } from './TemplaterResult.class';
2
- import { Counts } from './interpolateTemplate';
3
- import { Tag } from './Tag.class';
4
- import { TagSubject } from './Tag.utils';
2
+ import { Counts } from './interpolations/interpolateTemplate';
3
+ import { TagSubject } from './subject.types';
4
+ import { TagSupport } from './TagSupport.class';
5
5
  import { InsertBefore } from './Clones.type';
6
- export declare function processSubjectComponent(templater: TemplaterResult, subject: TagSubject, insertBefore: InsertBefore, ownerTag: Tag, options: {
6
+ export declare function processSubjectComponent(templater: TemplaterResult, subject: TagSubject, insertBefore: InsertBefore, ownerSupport: TagSupport, options: {
7
7
  counts: Counts;
8
8
  forceElement?: boolean;
9
- }): Tag;
9
+ }): TagSupport;