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.
- package/bundle.js +1313 -1240
- package/bundle.js.map +1 -1
- package/js/Clones.type.d.ts +1 -1
- package/js/Tag.class.d.ts +5 -40
- package/js/Tag.class.js +2 -347
- package/js/Tag.class.js.map +1 -1
- package/js/TagSupport.class.d.ts +40 -6
- package/js/TagSupport.class.js +268 -30
- package/js/TagSupport.class.js.map +1 -1
- package/js/TemplaterResult.class.d.ts +13 -13
- package/js/TemplaterResult.class.js +34 -45
- package/js/TemplaterResult.class.js.map +1 -1
- package/js/afterInterpolateElement.function.d.ts +4 -0
- package/js/afterInterpolateElement.function.js +14 -0
- package/js/afterInterpolateElement.function.js.map +1 -0
- package/js/alterProps.function.d.ts +2 -4
- package/js/alterProps.function.js +7 -15
- package/js/alterProps.function.js.map +1 -1
- package/js/bindSubjectCallback.function.js +0 -3
- package/js/bindSubjectCallback.function.js.map +1 -1
- package/js/checkDestroyPrevious.function.d.ts +5 -5
- package/js/checkDestroyPrevious.function.js +20 -17
- package/js/checkDestroyPrevious.function.js.map +1 -1
- package/js/cloneValueArray.function.d.ts +2 -0
- package/js/cloneValueArray.function.js +19 -0
- package/js/cloneValueArray.function.js.map +1 -0
- package/js/deepFunctions.js +36 -29
- package/js/deepFunctions.js.map +1 -1
- package/js/destroy.support.d.ts +6 -0
- package/js/destroy.support.js +10 -0
- package/js/destroy.support.js.map +1 -0
- package/js/destroyTag.function.d.ts +2 -3
- package/js/destroyTag.function.js +7 -11
- package/js/destroyTag.function.js.map +1 -1
- package/js/hasTagSupportChanged.function.js +0 -12
- package/js/hasTagSupportChanged.function.js.map +1 -1
- package/js/index.d.ts +2 -1
- package/js/index.js +2 -1
- package/js/index.js.map +1 -1
- package/js/interpolateTemplate.js +0 -3
- package/js/interpolateTemplate.js.map +1 -1
- package/js/interpolations/bindSubjectCallback.function.d.ts +7 -0
- package/js/interpolations/bindSubjectCallback.function.js +40 -0
- package/js/interpolations/bindSubjectCallback.function.js.map +1 -0
- package/js/interpolations/elementInitCheck.d.ts +2 -0
- package/js/interpolations/elementInitCheck.js +18 -0
- package/js/interpolations/elementInitCheck.js.map +1 -0
- package/js/interpolations/inputAttribute.d.ts +1 -0
- package/js/interpolations/inputAttribute.js +19 -0
- package/js/interpolations/inputAttribute.js.map +1 -0
- package/js/interpolations/interpolateAttributes.d.ts +4 -0
- package/js/interpolations/interpolateAttributes.js +20 -0
- package/js/interpolations/interpolateAttributes.js.map +1 -0
- package/js/interpolations/interpolateContentTemplates.d.ts +9 -0
- package/js/interpolations/interpolateContentTemplates.js +42 -0
- package/js/interpolations/interpolateContentTemplates.js.map +1 -0
- package/js/interpolations/interpolateElement.d.ts +14 -0
- package/js/interpolations/interpolateElement.js +36 -0
- package/js/interpolations/interpolateElement.js.map +1 -0
- package/js/interpolations/interpolateTemplate.d.ts +32 -0
- package/js/interpolations/interpolateTemplate.js +80 -0
- package/js/interpolations/interpolateTemplate.js.map +1 -0
- package/js/interpolations/interpolations.d.ts +7 -0
- package/js/interpolations/interpolations.js +18 -0
- package/js/interpolations/interpolations.js.map +1 -0
- package/js/interpolations/processAttribute.function.d.ts +5 -0
- package/js/interpolations/processAttribute.function.js +122 -0
- package/js/interpolations/processAttribute.function.js.map +1 -0
- package/js/interpolations/scanTextAreaValue.function.d.ts +3 -0
- package/js/interpolations/scanTextAreaValue.function.js +16 -0
- package/js/interpolations/scanTextAreaValue.function.js.map +1 -0
- package/js/interpolations.js +1 -2
- package/js/interpolations.js.map +1 -1
- package/js/isInstance.d.ts +4 -1
- package/js/isInstance.js +12 -4
- package/js/isInstance.js.map +1 -1
- package/js/isLikeTags.function.d.ts +3 -1
- package/js/isLikeTags.function.js +15 -6
- package/js/isLikeTags.function.js.map +1 -1
- package/js/processNewValue.function.d.ts +3 -2
- package/js/processNewValue.function.js +27 -11
- package/js/processNewValue.function.js.map +1 -1
- package/js/processRegularValue.function.d.ts +1 -1
- package/js/processSubjectComponent.function.d.ts +5 -5
- package/js/processSubjectComponent.function.js +26 -34
- package/js/processSubjectComponent.function.js.map +1 -1
- package/js/processSubjectValue.function.d.ts +11 -7
- package/js/processSubjectValue.function.js +20 -7
- package/js/processSubjectValue.function.js.map +1 -1
- package/js/processTag.function.d.ts +8 -4
- package/js/processTag.function.js +23 -39
- package/js/processTag.function.js.map +1 -1
- package/js/processTagArray.d.ts +6 -4
- package/js/processTagArray.js +41 -39
- package/js/processTagArray.js.map +1 -1
- package/js/processTagResult.function.d.ts +4 -4
- package/js/processTagResult.function.js +14 -30
- package/js/processTagResult.function.js.map +1 -1
- package/js/renderExistingTag.function.d.ts +6 -6
- package/js/renderExistingTag.function.js +26 -22
- package/js/renderExistingTag.function.js.map +1 -1
- package/js/renderTagSupport.function.d.ts +2 -3
- package/js/renderTagSupport.function.js +17 -20
- package/js/renderTagSupport.function.js.map +1 -1
- package/js/setTagPlaceholder.function.d.ts +2 -0
- package/js/setTagPlaceholder.function.js +8 -0
- package/js/setTagPlaceholder.function.js.map +1 -0
- package/js/state/callbackMaker.function.d.ts +2 -2
- package/js/state/callbackMaker.function.js +4 -5
- package/js/state/callbackMaker.function.js.map +1 -1
- package/js/state/onDestroy.js +2 -2
- package/js/state/onDestroy.js.map +1 -1
- package/js/state/onInit.js +4 -5
- package/js/state/onInit.js.map +1 -1
- package/js/state/provider.utils.d.ts +2 -2
- package/js/state/provider.utils.js +11 -16
- package/js/state/provider.utils.js.map +1 -1
- package/js/state/providers.d.ts +8 -3
- package/js/state/providers.js +14 -17
- package/js/state/providers.js.map +1 -1
- package/js/state/setUse.function.d.ts +12 -10
- package/js/state/setUse.function.js.map +1 -1
- package/js/state/state.utils.d.ts +1 -3
- package/js/state/state.utils.js +19 -13
- package/js/state/state.utils.js.map +1 -1
- package/js/state/watch.function.d.ts +6 -1
- package/js/state/watch.function.js +8 -3
- package/js/state/watch.function.js.map +1 -1
- package/js/subject/Subject.class.d.ts +10 -6
- package/js/subject/Subject.class.js +26 -10
- package/js/subject/Subject.class.js.map +1 -1
- package/js/subject/Subject.utils.d.ts +7 -5
- package/js/subject/Subject.utils.js.map +1 -1
- package/js/subject/ValueSubject.d.ts +2 -2
- package/js/subject/ValueSubject.js +1 -1
- package/js/subject/ValueSubject.js.map +1 -1
- package/js/subject/combineLatest.function.js.map +1 -1
- package/js/subject.types.d.ts +18 -0
- package/js/subject.types.js +2 -0
- package/js/subject.types.js.map +1 -0
- package/js/tag.d.ts +1 -1
- package/js/tag.js +25 -31
- package/js/tag.js.map +1 -1
- package/js/tagElement.d.ts +3 -7
- package/js/tagElement.js +24 -24
- package/js/tagElement.js.map +1 -1
- package/js/tagRunner.d.ts +7 -6
- package/js/tagRunner.js +16 -8
- package/js/tagRunner.js.map +1 -1
- package/js/updateBeforeTemplate.function.d.ts +1 -1
- package/js/updateBeforeTemplate.function.js.map +1 -1
- package/js/updateContextItem.function.d.ts +3 -0
- package/js/updateContextItem.function.js +43 -0
- package/js/updateContextItem.function.js.map +1 -0
- package/js/updateExistingTagComponent.function.d.ts +4 -4
- package/js/updateExistingTagComponent.function.js +49 -87
- package/js/updateExistingTagComponent.function.js.map +1 -1
- package/js/updateExistingValue.function.d.ts +2 -7
- package/js/updateExistingValue.function.js +94 -50
- package/js/updateExistingValue.function.js.map +1 -1
- package/package.json +1 -1
- /package/js/{errors.d.ts → Errors.d.ts} +0 -0
- /package/js/{errors.js → Errors.js} +0 -0
- /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,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"}
|
package/js/interpolations.js
CHANGED
|
@@ -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}"
|
|
14
|
+
return `<template interpolate end id="${id}"></template>`;
|
|
16
15
|
});
|
|
17
16
|
return { string, keys };
|
|
18
17
|
}
|
package/js/interpolations.js.map
CHANGED
|
@@ -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,
|
|
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"}
|
package/js/isInstance.d.ts
CHANGED
|
@@ -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
|
|
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?.
|
|
2
|
+
return value?.wrapper?.original instanceof Function;
|
|
3
3
|
}
|
|
4
|
-
export function
|
|
5
|
-
return
|
|
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 =>
|
|
19
|
+
return value instanceof Array && value.every(x => isTagClass(x) || isTagTemplater(x));
|
|
12
20
|
}
|
|
13
21
|
//# sourceMappingURL=isInstance.js.map
|
package/js/isInstance.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"isInstance.js","sourceRoot":"","sources":["../ts/isInstance.ts"],"names":[],"mappings":"
|
|
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,17 +1,26 @@
|
|
|
1
|
-
export function isLikeTags(
|
|
2
|
-
|
|
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 =
|
|
12
|
+
const everyStringMatched = strings0.every((string, index) => strings1[index] === string);
|
|
6
13
|
if (!everyStringMatched) {
|
|
7
14
|
return false;
|
|
8
15
|
}
|
|
9
|
-
const
|
|
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 =
|
|
14
|
-
const compareTo =
|
|
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":"
|
|
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 {
|
|
2
|
-
|
|
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,
|
|
3
|
-
|
|
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
|
|
14
|
+
return new ValueSubject(undefined);
|
|
14
15
|
}
|
|
15
|
-
if (
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
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;
|
|
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,
|
|
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 './
|
|
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 {
|
|
4
|
-
import {
|
|
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,
|
|
6
|
+
export declare function processSubjectComponent(templater: TemplaterResult, subject: TagSubject, insertBefore: InsertBefore, ownerSupport: TagSupport, options: {
|
|
7
7
|
counts: Counts;
|
|
8
8
|
forceElement?: boolean;
|
|
9
|
-
}):
|
|
9
|
+
}): TagSupport;
|