taggedjs 2.5.4 → 2.5.6
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 +3378 -2966
- package/bundle.js.map +1 -1
- package/js/Props.d.ts +1 -1
- package/js/Tag.class.d.ts +1 -1
- package/js/TemplaterResult.class.d.ts +14 -8
- package/js/TemplaterResult.class.js +13 -3
- package/js/TemplaterResult.class.js.map +1 -1
- package/js/afterInterpolateElement.function.d.ts +2 -2
- package/js/alterProps.function.d.ts +2 -3
- package/js/alterProps.function.js +6 -7
- package/js/alterProps.function.js.map +1 -1
- package/js/checkDestroyPrevious.function.d.ts +3 -3
- package/js/checkDestroyPrevious.function.js +2 -2
- package/js/checkDestroyPrevious.function.js.map +1 -1
- package/js/cloneValueArray.function.d.ts +1 -1
- package/js/destroy.support.d.ts +1 -1
- package/js/destroyTag.function.d.ts +1 -1
- package/js/hasTagSupportChanged.function.d.ts +1 -1
- package/js/index.d.ts +15 -12
- package/js/index.js +15 -12
- package/js/index.js.map +1 -1
- package/js/insertAfter.function.d.ts +1 -1
- package/js/interpolations/Clones.type.d.ts +3 -0
- package/js/interpolations/Clones.type.js +2 -0
- package/js/interpolations/Clones.type.js.map +1 -0
- package/js/interpolations/ElementTargetEvent.interface.d.ts +6 -0
- package/js/interpolations/ElementTargetEvent.interface.js +2 -0
- package/js/interpolations/ElementTargetEvent.interface.js.map +1 -0
- package/js/interpolations/afterInterpolateElement.function.d.ts +4 -0
- package/js/interpolations/afterInterpolateElement.function.js +12 -0
- package/js/interpolations/afterInterpolateElement.function.js.map +1 -0
- package/js/interpolations/bindSubjectCallback.function.d.ts +1 -1
- package/js/interpolations/bindSubjectCallback.function.js +11 -9
- package/js/interpolations/bindSubjectCallback.function.js.map +1 -1
- package/js/interpolations/interpolateAttributes.d.ts +2 -2
- package/js/interpolations/interpolateContentTemplates.d.ts +2 -2
- package/js/interpolations/interpolateElement.d.ts +2 -2
- package/js/interpolations/interpolateElement.js +1 -1
- package/js/interpolations/interpolateElement.js.map +1 -1
- package/js/interpolations/interpolateTemplate.d.ts +4 -4
- package/js/interpolations/interpolateTemplate.js +19 -4
- package/js/interpolations/interpolateTemplate.js.map +1 -1
- package/js/interpolations/processAttribute.function.d.ts +2 -2
- package/js/interpolations/scanTextAreaValue.function.d.ts +2 -2
- package/js/isInstance.d.ts +2 -2
- package/js/isInstance.js +2 -1
- package/js/isInstance.js.map +1 -1
- package/js/isLikeTags.function.d.ts +2 -1
- package/js/isLikeTags.function.js +3 -0
- package/js/isLikeTags.function.js.map +1 -1
- package/js/processNewValue.function.d.ts +1 -1
- package/js/processNewValue.function.js +1 -1
- package/js/processNewValue.function.js.map +1 -1
- package/js/processSubjectComponent.function.d.ts +1 -1
- package/js/processSubjectComponent.function.js +1 -1
- package/js/processSubjectComponent.function.js.map +1 -1
- package/js/processSubjectValue.function.d.ts +2 -2
- package/js/processSubjectValue.function.js +2 -2
- package/js/processSubjectValue.function.js.map +1 -1
- package/js/processTag.function.d.ts +1 -1
- package/js/processTag.function.js +1 -1
- package/js/processTag.function.js.map +1 -1
- package/js/processTagArray.d.ts +1 -1
- package/js/processTagArray.js +2 -2
- package/js/processTagArray.js.map +1 -1
- package/js/processTagResult.function.d.ts +2 -2
- package/js/render.d.ts +1 -1
- package/js/render.js +6 -5
- package/js/render.js.map +1 -1
- package/js/renderExistingTag.function.d.ts +1 -1
- package/js/renderExistingTag.function.js +3 -4
- package/js/renderExistingTag.function.js.map +1 -1
- package/js/renderSubjectComponent.function.d.ts +1 -1
- package/js/renderSubjectComponent.function.js +1 -1
- package/js/renderSubjectComponent.function.js.map +1 -1
- package/js/renderTagOnly.function.d.ts +4 -0
- package/js/renderTagOnly.function.js +39 -0
- package/js/renderTagOnly.function.js.map +1 -0
- package/js/renderTagSupport.function.d.ts +1 -1
- package/js/renderTagSupport.function.js +1 -1
- package/js/renderTagSupport.function.js.map +1 -1
- package/js/renderWithSupport.function.d.ts +2 -3
- package/js/renderWithSupport.function.js +4 -36
- package/js/renderWithSupport.function.js.map +1 -1
- package/js/state/callbackMaker.function.d.ts +3 -2
- package/js/state/callbackMaker.function.js +40 -18
- package/js/state/callbackMaker.function.js.map +1 -1
- package/js/state/children.d.ts +1 -0
- package/js/state/children.js +14 -0
- package/js/state/children.js.map +1 -0
- package/js/state/index.d.ts +2 -1
- package/js/state/index.js +2 -1
- package/js/state/index.js.map +1 -1
- package/js/state/provider.utils.d.ts +1 -1
- package/js/state/provider.utils.js +7 -7
- package/js/state/provider.utils.js.map +1 -1
- package/js/state/providers.d.ts +4 -2
- package/js/state/providers.js +56 -47
- package/js/state/providers.js.map +1 -1
- package/js/state/setUse.function.d.ts +9 -8
- package/js/state/setUse.function.js.map +1 -1
- package/js/state/state.function.js +17 -0
- package/js/state/state.function.js.map +1 -1
- package/js/state/state.utils.d.ts +1 -1
- package/js/state/state.utils.js +38 -24
- package/js/state/state.utils.js.map +1 -1
- package/js/state/subject.function.d.ts +12 -0
- package/js/state/subject.function.js +23 -0
- package/js/state/subject.function.js.map +1 -0
- package/js/state/syncStates.function.d.ts +2 -0
- package/js/state/syncStates.function.js +11 -0
- package/js/state/syncStates.function.js.map +1 -0
- package/js/state/watch.function.d.ts +20 -3
- package/js/state/watch.function.js +106 -10
- package/js/state/watch.function.js.map +1 -1
- package/js/subject/Subject.class.d.ts +9 -3
- package/js/subject/Subject.class.js +20 -54
- package/js/subject/Subject.class.js.map +1 -1
- package/js/subject/Subject.utils.d.ts +6 -3
- package/js/subject/Subject.utils.js +51 -3
- package/js/subject/Subject.utils.js.map +1 -1
- package/js/subject/ValueSubject.d.ts +2 -2
- package/js/subject/combineLatest.function.js +10 -2
- package/js/subject/combineLatest.function.js.map +1 -1
- package/js/subject/subject.cancel.d.ts +2 -0
- package/js/subject/subject.cancel.js +3 -0
- package/js/subject/subject.cancel.js.map +1 -0
- package/js/subject/will.functions.d.ts +1 -1
- package/js/subject.types.d.ts +2 -2
- package/js/tag/Tag.class.d.ts +43 -0
- package/js/tag/Tag.class.js +27 -0
- package/js/tag/Tag.class.js.map +1 -0
- package/js/tag/TagSupport.class.d.ts +58 -0
- package/js/tag/TagSupport.class.js +306 -0
- package/js/tag/TagSupport.class.js.map +1 -0
- package/js/tag/checkDestroyPrevious.function.d.ts +8 -0
- package/js/tag/checkDestroyPrevious.function.js +83 -0
- package/js/tag/checkDestroyPrevious.function.js.map +1 -0
- package/js/tag/cloneValueArray.function.d.ts +2 -0
- package/js/tag/cloneValueArray.function.js +19 -0
- package/js/tag/cloneValueArray.function.js.map +1 -0
- package/js/tag/destroy.support.d.ts +6 -0
- package/js/tag/destroy.support.js +10 -0
- package/js/tag/destroy.support.js.map +1 -0
- package/js/tag/destroyTag.function.d.ts +3 -0
- package/js/tag/destroyTag.function.js +12 -0
- package/js/tag/destroyTag.function.js.map +1 -0
- package/js/tag/elementDestroyCheck.function.d.ts +3 -0
- package/js/tag/elementDestroyCheck.function.js +17 -0
- package/js/tag/elementDestroyCheck.function.js.map +1 -0
- package/js/tag/getSupportInCycle.function.d.ts +1 -0
- package/js/tag/getSupportInCycle.function.js +5 -0
- package/js/tag/getSupportInCycle.function.js.map +1 -0
- package/js/tag/hasPropChanges.function.d.ts +9 -0
- package/js/tag/hasPropChanges.function.js +80 -0
- package/js/tag/hasPropChanges.function.js.map +1 -0
- package/js/tag/hasTagSupportChanged.function.d.ts +4 -0
- package/js/tag/hasTagSupportChanged.function.js +23 -0
- package/js/tag/hasTagSupportChanged.function.js.map +1 -0
- package/js/tag/html.d.ts +4 -0
- package/js/tag/html.js +5 -0
- package/js/tag/html.js.map +1 -0
- package/js/tag/isLikeTags.function.d.ts +5 -0
- package/js/tag/isLikeTags.function.js +42 -0
- package/js/tag/isLikeTags.function.js.map +1 -0
- package/js/tag/render/renderExistingTag.function.d.ts +7 -0
- package/js/tag/render/renderExistingTag.function.js +32 -0
- package/js/tag/render/renderExistingTag.function.js.map +1 -0
- package/js/tag/render/renderSubjectComponent.function.d.ts +3 -0
- package/js/tag/render/renderSubjectComponent.function.js +14 -0
- package/js/tag/render/renderSubjectComponent.function.js.map +1 -0
- package/js/tag/render/renderTagOnly.function.d.ts +3 -0
- package/js/tag/render/renderTagOnly.function.js +41 -0
- package/js/tag/render/renderTagOnly.function.js.map +1 -0
- package/js/tag/render/renderTagSupport.function.d.ts +4 -0
- package/js/tag/render/renderTagSupport.function.js +37 -0
- package/js/tag/render/renderTagSupport.function.js.map +1 -0
- package/js/tag/render/renderWithSupport.function.d.ts +5 -0
- package/js/tag/render/renderWithSupport.function.js +31 -0
- package/js/tag/render/renderWithSupport.function.js.map +1 -0
- package/js/tag/setTagPlaceholder.function.d.ts +4 -0
- package/js/tag/setTagPlaceholder.function.js +12 -0
- package/js/tag/setTagPlaceholder.function.js.map +1 -0
- package/js/tag/tag.d.ts +26 -0
- package/js/tag/tag.js +121 -0
- package/js/tag/tag.js.map +1 -0
- package/js/tag/tagElement.d.ts +9 -0
- package/js/tag/tagElement.js +60 -0
- package/js/tag/tagElement.js.map +1 -0
- package/js/tag/tagRunner.d.ts +5 -0
- package/js/tag/tagRunner.js +28 -0
- package/js/tag/tagRunner.js.map +1 -0
- package/js/tag/update/processNewValue.function.d.ts +3 -0
- package/js/tag/update/processNewValue.function.js +42 -0
- package/js/tag/update/processNewValue.function.js.map +1 -0
- package/js/tag/update/processRegularValue.function.d.ts +5 -0
- package/js/tag/update/processRegularValue.function.js +15 -0
- package/js/tag/update/processRegularValue.function.js.map +1 -0
- package/js/tag/update/processSubjectComponent.function.d.ts +9 -0
- package/js/tag/update/processSubjectComponent.function.js +35 -0
- package/js/tag/update/processSubjectComponent.function.js.map +1 -0
- package/js/tag/update/processSubjectValue.function.d.ts +27 -0
- package/js/tag/update/processSubjectValue.function.js +55 -0
- package/js/tag/update/processSubjectValue.function.js.map +1 -0
- package/js/tag/update/processTag.function.d.ts +11 -0
- package/js/tag/update/processTag.function.js +46 -0
- package/js/tag/update/processTag.function.js.map +1 -0
- package/js/tag/update/processTagArray.d.ts +22 -0
- package/js/tag/update/processTagArray.js +122 -0
- package/js/tag/update/processTagArray.js.map +1 -0
- package/js/tag/update/processTagResult.function.d.ts +11 -0
- package/js/tag/update/processTagResult.function.js +30 -0
- package/js/tag/update/processTagResult.function.js.map +1 -0
- package/js/tag/update/updateContextItem.function.d.ts +3 -0
- package/js/tag/update/updateContextItem.function.js +44 -0
- package/js/tag/update/updateContextItem.function.js.map +1 -0
- package/js/tag/update/updateExistingTagComponent.function.d.ts +5 -0
- package/js/tag/update/updateExistingTagComponent.function.js +116 -0
- package/js/tag/update/updateExistingTagComponent.function.js.map +1 -0
- package/js/tag/update/updateExistingValue.function.d.ts +4 -0
- package/js/tag/update/updateExistingValue.function.js +137 -0
- package/js/tag/update/updateExistingValue.function.js.map +1 -0
- package/js/tag/updates/processNewValue.function.d.ts +3 -0
- package/js/tag/updates/processNewValue.function.js +43 -0
- package/js/tag/updates/processNewValue.function.js.map +1 -0
- package/js/tag.js +1 -1
- package/js/tag.js.map +1 -1
- package/js/tagElement.d.ts +1 -1
- package/js/tagElement.js +1 -1
- package/js/tagElement.js.map +1 -1
- package/js/tagRunner.d.ts +1 -1
- package/js/updateBeforeTemplate.function.d.ts +1 -1
- package/js/updateBeforeTemplate.function.js.map +1 -1
- package/js/updateContextItem.function.d.ts +1 -1
- package/js/updateContextItem.function.js +1 -1
- package/js/updateContextItem.function.js.map +1 -1
- package/js/updateExistingTagComponent.function.d.ts +2 -2
- package/js/updateExistingTagComponent.function.js +3 -3
- package/js/updateExistingTagComponent.function.js.map +1 -1
- package/js/updateExistingValue.function.d.ts +3 -3
- package/js/updateExistingValue.function.js +6 -6
- package/js/updateExistingValue.function.js.map +1 -1
- package/package.json +1 -1
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
import { ValueSubject } from '../../subject/ValueSubject';
|
|
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) {
|
|
6
|
+
if (isTagComponent(value)) {
|
|
7
|
+
const tagSubject = new ValueSubject(value);
|
|
8
|
+
return tagSubject;
|
|
9
|
+
}
|
|
10
|
+
if (value instanceof Function) {
|
|
11
|
+
return new ValueSubject(value);
|
|
12
|
+
}
|
|
13
|
+
if (!hasValue) {
|
|
14
|
+
return new ValueSubject(undefined);
|
|
15
|
+
}
|
|
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);
|
|
23
|
+
}
|
|
24
|
+
// is already a value subject?
|
|
25
|
+
if (isSubjectInstance(value)) {
|
|
26
|
+
return value;
|
|
27
|
+
}
|
|
28
|
+
return new ValueSubject(value);
|
|
29
|
+
}
|
|
30
|
+
function processNewTag(value, ownerSupport) {
|
|
31
|
+
const tag = value;
|
|
32
|
+
let templater = tag.templater;
|
|
33
|
+
if (!templater) {
|
|
34
|
+
templater = new TemplaterResult([]);
|
|
35
|
+
templater.tag = tag;
|
|
36
|
+
tag.templater = templater;
|
|
37
|
+
}
|
|
38
|
+
const subject = new ValueSubject(templater);
|
|
39
|
+
const tagSupport = subject.tagSupport = new TagSupport(templater, ownerSupport, subject);
|
|
40
|
+
return subject;
|
|
41
|
+
}
|
|
42
|
+
//# sourceMappingURL=processNewValue.function.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"processNewValue.function.js","sourceRoot":"","sources":["../../../ts/tag/update/processNewValue.function.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAA;AACzD,OAAO,EAAE,iBAAiB,EAAE,UAAU,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAA;AAChG,OAAO,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAA;AAC7D,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAA;AAIhD,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,SAAS,GAAG,IAAI,eAAe,CAAC,EAAE,CAAC,CAAA;QACnC,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"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import { InsertBefore } from '../../interpolations/Clones.type';
|
|
2
|
+
import { DisplaySubject } from '../../subject.types';
|
|
3
|
+
export type RegularValue = string | number | undefined | boolean;
|
|
4
|
+
export declare function processRegularValue(value: RegularValue, subject: DisplaySubject, // could be tag via subject.tag
|
|
5
|
+
insertBefore: InsertBefore): void;
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { updateBeforeTemplate } from '../../updateBeforeTemplate.function';
|
|
2
|
+
export function processRegularValue(value, subject, // could be tag via subject.tag
|
|
3
|
+
insertBefore) {
|
|
4
|
+
subject.insertBefore = insertBefore;
|
|
5
|
+
const before = subject.clone || insertBefore; // Either the template is on the doc OR its the first element we last put on doc
|
|
6
|
+
// matches but also was defined at some point
|
|
7
|
+
if (subject.lastValue === value && 'lastValue' in subject) {
|
|
8
|
+
return; // no need to update display, its the same
|
|
9
|
+
}
|
|
10
|
+
subject.lastValue = value;
|
|
11
|
+
// Processing of regular values
|
|
12
|
+
const clone = updateBeforeTemplate(value, before);
|
|
13
|
+
subject.clone = clone; // remember single element put down, for future updates
|
|
14
|
+
}
|
|
15
|
+
//# sourceMappingURL=processRegularValue.function.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"processRegularValue.function.js","sourceRoot":"","sources":["../../../ts/tag/update/processRegularValue.function.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,oBAAoB,EAAE,MAAM,qCAAqC,CAAA;AAI1E,MAAM,UAAU,mBAAmB,CACjC,KAAmB,EACnB,OAAuB,EAAE,+BAA+B;AACxD,YAA0B;IAE1B,OAAO,CAAC,YAAY,GAAG,YAAY,CAAA;IACnC,MAAM,MAAM,GAAG,OAAO,CAAC,KAAK,IAAI,YAAY,CAAA,CAAC,gFAAgF;IAE7H,6CAA6C;IAC7C,IAAG,OAAO,CAAC,SAAS,KAAK,KAAK,IAAI,WAAW,IAAI,OAAO,EAAE,CAAC;QACzD,OAAM,CAAC,0CAA0C;IACnD,CAAC;IAED,OAAO,CAAC,SAAS,GAAG,KAAK,CAAA;IAEzB,+BAA+B;IAC/B,MAAM,KAAK,GAAG,oBAAoB,CAChC,KAAK,EACL,MAAM,CACP,CAAA;IAED,OAAO,CAAC,KAAK,GAAG,KAAK,CAAA,CAAC,uDAAuD;AAC/E,CAAC"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { TemplaterResult } from '../../TemplaterResult.class';
|
|
2
|
+
import { Counts } from '../../interpolations/interpolateTemplate';
|
|
3
|
+
import { TagSubject } from '../../subject.types';
|
|
4
|
+
import { TagSupport } from '../TagSupport.class';
|
|
5
|
+
import { InsertBefore } from '../../interpolations/Clones.type';
|
|
6
|
+
export declare function processSubjectComponent(templater: TemplaterResult, subject: TagSubject, insertBefore: InsertBefore, ownerSupport: TagSupport, options: {
|
|
7
|
+
counts: Counts;
|
|
8
|
+
forceElement?: boolean;
|
|
9
|
+
}): TagSupport;
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import { setUse } from '../../state';
|
|
2
|
+
import { processTagResult } from './processTagResult.function';
|
|
3
|
+
import { TagSupport } from '../TagSupport.class';
|
|
4
|
+
import { renderSubjectComponent } from '../render/renderSubjectComponent.function';
|
|
5
|
+
export function processSubjectComponent(templater, subject, insertBefore, ownerSupport, options) {
|
|
6
|
+
// Check if function component is wrapped in a tag() call
|
|
7
|
+
// TODO: This below check not needed in production mode
|
|
8
|
+
if (templater.tagged !== true) {
|
|
9
|
+
const wrapper = templater.wrapper;
|
|
10
|
+
const original = wrapper.parentWrap.original;
|
|
11
|
+
let name = original.name || original.constructor?.name;
|
|
12
|
+
if (name === 'Function') {
|
|
13
|
+
name = undefined;
|
|
14
|
+
}
|
|
15
|
+
const label = name || original.toString().substring(0, 120);
|
|
16
|
+
const error = new Error(`Not a tag component. Wrap your function with tag(). Example tag(props => html\`\`) on component:\n\n${label}\n\n`);
|
|
17
|
+
throw error;
|
|
18
|
+
}
|
|
19
|
+
const tagSupport = new TagSupport(templater, ownerSupport, subject);
|
|
20
|
+
let reSupport = subject.tagSupport;
|
|
21
|
+
const global = tagSupport.global = reSupport?.global || tagSupport.global;
|
|
22
|
+
global.insertBefore = insertBefore;
|
|
23
|
+
const providers = setUse.memory.providerConfig;
|
|
24
|
+
providers.ownerSupport = ownerSupport;
|
|
25
|
+
const isRender = !reSupport || options.forceElement;
|
|
26
|
+
if (isRender) {
|
|
27
|
+
const support = reSupport || tagSupport;
|
|
28
|
+
reSupport = renderSubjectComponent(subject, support, ownerSupport);
|
|
29
|
+
}
|
|
30
|
+
processTagResult(reSupport, subject, // The element set here will be removed from document. Also result.tag will be added in here
|
|
31
|
+
insertBefore, // <template end interpolate /> (will be removed)
|
|
32
|
+
options);
|
|
33
|
+
return reSupport;
|
|
34
|
+
}
|
|
35
|
+
//# sourceMappingURL=processSubjectComponent.function.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"processSubjectComponent.function.js","sourceRoot":"","sources":["../../../ts/tag/update/processSubjectComponent.function.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAA;AAEpC,OAAO,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAA;AAE9D,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAA;AAEhD,OAAO,EAAE,sBAAsB,EAAE,MAAM,2CAA2C,CAAA;AAElF,MAAM,UAAU,uBAAuB,CACrC,SAA0B,EAC1B,OAAmB,EACnB,YAA0B,EAC1B,YAAwB,EACxB,OAAiD;IAEjD,yDAAyD;IACzD,uDAAuD;IACvD,IAAG,SAAS,CAAC,MAAM,KAAK,IAAI,EAAE,CAAC;QAC7B,MAAM,OAAO,GAAG,SAAS,CAAC,OAAkB,CAAA;QAC5C,MAAM,QAAQ,GAAG,OAAO,CAAC,UAAU,CAAC,QAAQ,CAAA;QAC5C,IAAI,IAAI,GAAuB,QAAQ,CAAC,IAAI,IAAI,QAAQ,CAAC,WAAW,EAAE,IAAI,CAAA;QAE1E,IAAG,IAAI,KAAK,UAAU,EAAE,CAAC;YACvB,IAAI,GAAG,SAAS,CAAA;QAClB,CAAC;QAED,MAAM,KAAK,GAAG,IAAI,IAAI,QAAQ,CAAC,QAAQ,EAAE,CAAC,SAAS,CAAC,CAAC,EAAC,GAAG,CAAC,CAAA;QAC1D,MAAM,KAAK,GAAG,IAAI,KAAK,CAAC,uGAAuG,KAAK,MAAM,CAAC,CAAA;QAC3I,MAAM,KAAK,CAAA;IACb,CAAC;IAED,MAAM,UAAU,GAAG,IAAI,UAAU,CAC/B,SAAS,EACT,YAAY,EACZ,OAAO,CACR,CAAA;IAED,IAAI,SAAS,GAAG,OAAO,CAAC,UAAU,CAAA;IAClC,MAAM,MAAM,GAAG,UAAU,CAAC,MAAM,GAAG,SAAS,EAAE,MAAM,IAAI,UAAU,CAAC,MAAM,CAAA;IACzE,MAAM,CAAC,YAAY,GAAG,YAAY,CAAA;IAElC,MAAM,SAAS,GAAG,MAAM,CAAC,MAAM,CAAC,cAAc,CAAA;IAC9C,SAAS,CAAC,YAAY,GAAG,YAAY,CAAA;IAErC,MAAM,QAAQ,GAAG,CAAC,SAAS,IAAI,OAAO,CAAC,YAAY,CAAA;IACnD,IAAG,QAAQ,EAAE,CAAC;QACZ,MAAM,OAAO,GAAG,SAAS,IAAI,UAAU,CAAA;QACvC,SAAS,GAAG,sBAAsB,CAChC,OAAO,EACP,OAAO,EACP,YAAY,CACb,CAAA;IACH,CAAC;IAED,gBAAgB,CACd,SAAS,EACT,OAAO,EAAE,4FAA4F;IACrG,YAAY,EAAE,iDAAiD;IAC/D,OAAO,CACR,CAAA;IAED,OAAO,SAAS,CAAA;AAClB,CAAC"}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import { TagArraySubject } from './processTagArray';
|
|
2
|
+
import { TemplaterResult } from '../../TemplaterResult.class';
|
|
3
|
+
import { Clones, InsertBefore } from '../../interpolations/Clones.type';
|
|
4
|
+
import { Counts, Template } from '../../interpolations/interpolateTemplate';
|
|
5
|
+
import { DisplaySubject, TagSubject } from '../../subject.types';
|
|
6
|
+
import { ValueSubject } from '../../subject/ValueSubject';
|
|
7
|
+
import { RegularValue } from './processRegularValue.function';
|
|
8
|
+
import { Callback } from '../../interpolations/bindSubjectCallback.function';
|
|
9
|
+
import { TagSupport } from '../TagSupport.class';
|
|
10
|
+
import { Tag } from '../Tag.class';
|
|
11
|
+
import { Subject } from '../../subject';
|
|
12
|
+
type processOptions = {
|
|
13
|
+
forceElement?: boolean;
|
|
14
|
+
counts: Counts;
|
|
15
|
+
};
|
|
16
|
+
export type ClonesAndPromise = {
|
|
17
|
+
clones: Clones;
|
|
18
|
+
};
|
|
19
|
+
export type InterpolateSubject = (ValueSubject<undefined> | TagArraySubject | TagSubject | DisplaySubject | ValueSubject<Callback>) & {
|
|
20
|
+
clone?: Element | Text | Template;
|
|
21
|
+
};
|
|
22
|
+
export type TemplateValue = Tag | TemplaterResult | (Tag | TemplaterResult)[] | RegularValue | Subject<any> | Callback;
|
|
23
|
+
export declare function processSubjectValue(value: TemplateValue, subject: InterpolateSubject, // could be tag via result.tag
|
|
24
|
+
insertBefore: InsertBefore, // <template end interpolate /> (will be removed)
|
|
25
|
+
ownerSupport: TagSupport, // owner
|
|
26
|
+
options: processOptions): Clones | undefined;
|
|
27
|
+
export {};
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
import { processSubjectComponent } from './processSubjectComponent.function';
|
|
2
|
+
import { isTagArray, isTagClass, isTagComponent, isTagTemplater } from '../../isInstance';
|
|
3
|
+
import { processTagArray } from './processTagArray';
|
|
4
|
+
import { processRegularValue } from './processRegularValue.function';
|
|
5
|
+
import { processTag, tagFakeTemplater } from './processTag.function';
|
|
6
|
+
var ValueTypes;
|
|
7
|
+
(function (ValueTypes) {
|
|
8
|
+
ValueTypes["tag"] = "tag";
|
|
9
|
+
ValueTypes["templater"] = "templater";
|
|
10
|
+
ValueTypes["tagArray"] = "tag-array";
|
|
11
|
+
ValueTypes["tagComponent"] = "tag-component";
|
|
12
|
+
ValueTypes["value"] = "value";
|
|
13
|
+
})(ValueTypes || (ValueTypes = {}));
|
|
14
|
+
function getValueType(value) {
|
|
15
|
+
if (isTagComponent(value)) {
|
|
16
|
+
return ValueTypes.tagComponent;
|
|
17
|
+
}
|
|
18
|
+
if (isTagTemplater(value)) {
|
|
19
|
+
return ValueTypes.templater;
|
|
20
|
+
}
|
|
21
|
+
if (isTagClass(value)) {
|
|
22
|
+
return ValueTypes.tag;
|
|
23
|
+
}
|
|
24
|
+
if (isTagArray(value)) {
|
|
25
|
+
return ValueTypes.tagArray;
|
|
26
|
+
}
|
|
27
|
+
return ValueTypes.value;
|
|
28
|
+
}
|
|
29
|
+
// export type ExistingValue = TemplaterResult | Tag[] | TagSupport | Function | Subject<unknown> | RegularValue | Tag
|
|
30
|
+
export function processSubjectValue(value, subject, // could be tag via result.tag
|
|
31
|
+
insertBefore, // <template end interpolate /> (will be removed)
|
|
32
|
+
ownerSupport, // owner
|
|
33
|
+
options) {
|
|
34
|
+
const valueType = getValueType(value);
|
|
35
|
+
switch (valueType) {
|
|
36
|
+
case ValueTypes.templater:
|
|
37
|
+
processTag(value, insertBefore, ownerSupport, subject);
|
|
38
|
+
return;
|
|
39
|
+
case ValueTypes.tag:
|
|
40
|
+
const tag = value;
|
|
41
|
+
let templater = tag.templater;
|
|
42
|
+
if (!templater) {
|
|
43
|
+
templater = tagFakeTemplater(tag);
|
|
44
|
+
}
|
|
45
|
+
processTag(templater, insertBefore, ownerSupport, subject);
|
|
46
|
+
return;
|
|
47
|
+
case ValueTypes.tagArray:
|
|
48
|
+
return processTagArray(subject, value, insertBefore, ownerSupport, options);
|
|
49
|
+
case ValueTypes.tagComponent:
|
|
50
|
+
processSubjectComponent(value, subject, insertBefore, ownerSupport, options);
|
|
51
|
+
return;
|
|
52
|
+
}
|
|
53
|
+
processRegularValue(value, subject, insertBefore);
|
|
54
|
+
}
|
|
55
|
+
//# sourceMappingURL=processSubjectValue.function.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"processSubjectValue.function.js","sourceRoot":"","sources":["../../../ts/tag/update/processSubjectValue.function.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,uBAAuB,EAAE,MAAM,oCAAoC,CAAA;AAC5E,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAA;AACzF,OAAO,EAAmB,eAAe,EAAE,MAAM,mBAAmB,CAAA;AAMpE,OAAO,EAAgB,mBAAmB,EAAE,MAAM,gCAAgC,CAAA;AAElF,OAAO,EAAoB,UAAU,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAA;AAKtF,IAAK,UAMJ;AAND,WAAK,UAAU;IACb,yBAAW,CAAA;IACX,qCAAuB,CAAA;IACvB,oCAAsB,CAAA;IACtB,4CAA8B,CAAA;IAC9B,6BAAe,CAAA;AACjB,CAAC,EANI,UAAU,KAAV,UAAU,QAMd;AAED,SAAS,YAAY,CAAC,KAAU;IAC9B,IAAG,cAAc,CAAC,KAAK,CAAC,EAAE,CAAC;QACzB,OAAO,UAAU,CAAC,YAAY,CAAA;IAChC,CAAC;IAED,IAAI,cAAc,CAAC,KAAK,CAAC,EAAE,CAAC;QAC1B,OAAO,UAAU,CAAC,SAAS,CAAA;IAC7B,CAAC;IAED,IAAI,UAAU,CAAC,KAAK,CAAC,EAAE,CAAC;QACtB,OAAO,UAAU,CAAC,GAAG,CAAA;IACvB,CAAC;IAED,IAAI,UAAU,CAAC,KAAK,CAAC,EAAE,CAAC;QACtB,OAAO,UAAU,CAAC,QAAQ,CAAA;IAC5B,CAAC;IAED,OAAO,UAAU,CAAC,KAAK,CAAA;AACzB,CAAC;AAkBD,sHAAsH;AAEtH,MAAM,UAAU,mBAAmB,CACjC,KAAoB,EACpB,OAA2B,EAAE,8BAA8B;AAC3D,YAA0B,EAAE,iDAAiD;AAC7E,YAAwB,EAAE,QAAQ;AAClC,OAAuB;IAEvB,MAAM,SAAS,GAAG,YAAY,CAAC,KAAK,CAAC,CAAA;IAErC,QAAQ,SAAS,EAAE,CAAC;QAClB,KAAK,UAAU,CAAC,SAAS;YACvB,UAAU,CACR,KAAwB,EACxB,YAAY,EACZ,YAAY,EACZ,OAAqB,CACtB,CAAA;YACD,OAAM;QAER,KAAK,UAAU,CAAC,GAAG;YACjB,MAAM,GAAG,GAAG,KAAY,CAAA;YACxB,IAAI,SAAS,GAAG,GAAG,CAAC,SAAS,CAAA;YAE7B,IAAG,CAAC,SAAS,EAAE,CAAC;gBACd,SAAS,GAAG,gBAAgB,CAAC,GAAG,CAAC,CAAA;YACnC,CAAC;YAED,UAAU,CACR,SAAS,EACT,YAAY,EACZ,YAAY,EACZ,OAAqB,CACtB,CAAA;YACD,OAAM;QAER,KAAK,UAAU,CAAC,QAAQ;YACtB,OAAO,eAAe,CACpB,OAA0B,EAC1B,KAAkC,EAClC,YAAY,EACZ,YAAY,EACZ,OAAO,CACR,CAAA;QAEH,KAAK,UAAU,CAAC,YAAY;YAC1B,uBAAuB,CACrB,KAAwB,EACxB,OAAqB,EACrB,YAAY,EACZ,YAAY,EACZ,OAAO,CACR,CAAA;YACD,OAAM;IACV,CAAC;IAED,mBAAmB,CACjB,KAAqB,EACrB,OAAyB,EACzB,YAAY,CACb,CAAA;AACH,CAAC"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { InsertBefore } from '../../interpolations/Clones.type';
|
|
2
|
+
import { Tag } from '../Tag.class';
|
|
3
|
+
import { TagSubject } from '../../subject.types';
|
|
4
|
+
import { TagSupport } from '../TagSupport.class';
|
|
5
|
+
import { TemplaterResult } from '../../TemplaterResult.class';
|
|
6
|
+
/** Could be a regular tag or a component. Both are Tag.class */
|
|
7
|
+
export declare function processTag(templater: TemplaterResult, insertBefore: InsertBefore, ownerSupport: TagSupport, // owner
|
|
8
|
+
subject: TagSubject): void;
|
|
9
|
+
export declare function setupNewTemplater(tagSupport: TagSupport, ownerSupport: TagSupport, subject: TagSubject): void;
|
|
10
|
+
export declare function tagFakeTemplater(tag: Tag): TemplaterResult;
|
|
11
|
+
export declare function getFakeTemplater(): TemplaterResult;
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
import { TagSupport } from '../TagSupport.class';
|
|
2
|
+
import { ValueSubject } from '../../subject';
|
|
3
|
+
/** Could be a regular tag or a component. Both are Tag.class */
|
|
4
|
+
export function processTag(templater, insertBefore, ownerSupport, // owner
|
|
5
|
+
subject) {
|
|
6
|
+
let tagSupport = subject.tagSupport;
|
|
7
|
+
// first time seeing this tag?
|
|
8
|
+
if (!tagSupport) {
|
|
9
|
+
tagSupport = new TagSupport(templater, ownerSupport, subject);
|
|
10
|
+
setupNewTemplater(tagSupport, ownerSupport, subject);
|
|
11
|
+
ownerSupport.childTags.push(tagSupport);
|
|
12
|
+
}
|
|
13
|
+
subject.tagSupport = tagSupport;
|
|
14
|
+
tagSupport.ownerTagSupport = ownerSupport;
|
|
15
|
+
tagSupport.buildBeforeElement(insertBefore, {
|
|
16
|
+
counts: { added: 0, removed: 0 },
|
|
17
|
+
forceElement: true,
|
|
18
|
+
});
|
|
19
|
+
}
|
|
20
|
+
export function setupNewTemplater(tagSupport, ownerSupport, subject) {
|
|
21
|
+
tagSupport.global.oldest = tagSupport;
|
|
22
|
+
tagSupport.global.newest = tagSupport;
|
|
23
|
+
// asking me to render will cause my parent to render
|
|
24
|
+
tagSupport.ownerTagSupport = ownerSupport;
|
|
25
|
+
subject.tagSupport = tagSupport;
|
|
26
|
+
}
|
|
27
|
+
export function tagFakeTemplater(tag) {
|
|
28
|
+
const templater = getFakeTemplater();
|
|
29
|
+
templater.tag = tag;
|
|
30
|
+
tag.templater = templater;
|
|
31
|
+
return templater;
|
|
32
|
+
}
|
|
33
|
+
export function getFakeTemplater() {
|
|
34
|
+
const fake = {
|
|
35
|
+
children: new ValueSubject([]), // no children
|
|
36
|
+
// props: {} as Props,
|
|
37
|
+
props: [],
|
|
38
|
+
isTag: true,
|
|
39
|
+
isTemplater: false,
|
|
40
|
+
tagged: false,
|
|
41
|
+
madeChildIntoSubject: false,
|
|
42
|
+
html: () => fake
|
|
43
|
+
};
|
|
44
|
+
return fake;
|
|
45
|
+
}
|
|
46
|
+
//# sourceMappingURL=processTag.function.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"processTag.function.js","sourceRoot":"","sources":["../../../ts/tag/update/processTag.function.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAA;AAEhD,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAA;AAG5C,gEAAgE;AAChE,MAAM,UAAU,UAAU,CACxB,SAA0B,EAC1B,YAA0B,EAC1B,YAAwB,EAAE,QAAQ;AAClC,OAAmB;IAEnB,IAAI,UAAU,GAAe,OAAO,CAAC,UAAU,CAAA;IAE/C,8BAA8B;IAC9B,IAAG,CAAC,UAAU,EAAE,CAAC;QACf,UAAU,GAAG,IAAI,UAAU,CACzB,SAAS,EACT,YAAY,EACZ,OAAO,CACR,CAAA;QAED,iBAAiB,CAAC,UAAU,EAAE,YAAY,EAAE,OAAO,CAAC,CAAA;QAEpD,YAAY,CAAC,SAAS,CAAC,IAAI,CAAC,UAAU,CAAC,CAAA;IACzC,CAAC;IAED,OAAO,CAAC,UAAU,GAAG,UAAU,CAAA;IAC/B,UAAU,CAAC,eAAe,GAAG,YAAY,CAAA;IACzC,UAAU,CAAC,kBAAkB,CAC3B,YAAY,EAAE;QACZ,MAAM,EAAE,EAAC,KAAK,EAAC,CAAC,EAAE,OAAO,EAAC,CAAC,EAAC;QAC5B,YAAY,EAAE,IAAI;KACnB,CACF,CAAA;AACH,CAAC;AAED,MAAM,UAAU,iBAAiB,CAC/B,UAAsB,EACtB,YAAwB,EACxB,OAAmB;IAEnB,UAAU,CAAC,MAAM,CAAC,MAAM,GAAG,UAAU,CAAA;IACrC,UAAU,CAAC,MAAM,CAAC,MAAM,GAAG,UAAU,CAAA;IAErC,qDAAqD;IACrD,UAAU,CAAC,eAAe,GAAG,YAAY,CAAA;IACzC,OAAO,CAAC,UAAU,GAAG,UAAU,CAAA;AACjC,CAAC;AAED,MAAM,UAAU,gBAAgB,CAC9B,GAAQ;IAER,MAAM,SAAS,GAAG,gBAAgB,EAAE,CAAA;IACpC,SAAS,CAAC,GAAG,GAAG,GAAG,CAAA;IACnB,GAAG,CAAC,SAAS,GAAG,SAAS,CAAA;IAEzB,OAAO,SAAS,CAAA;AAClB,CAAC;AAED,MAAM,UAAU,gBAAgB;IAC9B,MAAM,IAAI,GAAG;QACX,QAAQ,EAAE,IAAI,YAAY,CAAQ,EAAE,CAAC,EAAE,cAAc;QAErD,sBAAsB;QACtB,KAAK,EAAE,EAAW;QAElB,KAAK,EAAE,IAAI;QACX,WAAW,EAAE,KAAK;QAClB,MAAM,EAAE,KAAK;QAEb,oBAAoB,EAAE,KAAK;QAC3B,IAAI,EAAE,GAAG,EAAE,CAAC,IAAI;KACE,CAAA;IAEpB,OAAO,IAAI,CAAA;AACb,CAAC"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { Clones, InsertBefore } from '../../interpolations/Clones.type';
|
|
2
|
+
import { Tag } from '../Tag.class';
|
|
3
|
+
import { ValueSubject } from '../../subject/ValueSubject';
|
|
4
|
+
import { Counts } from '../../interpolations/interpolateTemplate';
|
|
5
|
+
import { TagSupport } from '../TagSupport.class';
|
|
6
|
+
import { TemplaterResult } from '../../TemplaterResult.class';
|
|
7
|
+
export type LastArrayItem = {
|
|
8
|
+
tagSupport: TagSupport;
|
|
9
|
+
index: number;
|
|
10
|
+
deleted?: boolean;
|
|
11
|
+
};
|
|
12
|
+
export type TagArraySubject = ValueSubject<Tag[]> & {
|
|
13
|
+
insertBefore: InsertBefore;
|
|
14
|
+
placeholder?: Text;
|
|
15
|
+
lastArray?: LastArrayItem[];
|
|
16
|
+
};
|
|
17
|
+
export declare function processTagArray(subject: TagArraySubject, value: (TemplaterResult | Tag)[], // arry of Tag classes
|
|
18
|
+
insertBefore: InsertBefore, // <template end interpolate />
|
|
19
|
+
ownerSupport: TagSupport, options: {
|
|
20
|
+
counts: Counts;
|
|
21
|
+
forceElement?: boolean;
|
|
22
|
+
}): Clones;
|
|
@@ -0,0 +1,122 @@
|
|
|
1
|
+
import { ValueSubject } from '../../subject/ValueSubject';
|
|
2
|
+
import { ArrayNoKeyError } from '../../errors';
|
|
3
|
+
import { destroyArrayTag } from '../checkDestroyPrevious.function';
|
|
4
|
+
import { setupNewTemplater, tagFakeTemplater } from './processTag.function';
|
|
5
|
+
import { TagSupport } from '../TagSupport.class';
|
|
6
|
+
import { isTagClass } from '../../isInstance';
|
|
7
|
+
export function processTagArray(subject, value, // arry of Tag classes
|
|
8
|
+
insertBefore, // <template end interpolate />
|
|
9
|
+
ownerSupport, options) {
|
|
10
|
+
const clones = ownerSupport.clones; // []
|
|
11
|
+
let lastArray = subject.lastArray = subject.lastArray || [];
|
|
12
|
+
if (!subject.placeholder) {
|
|
13
|
+
setPlaceholderElm(insertBefore, subject);
|
|
14
|
+
}
|
|
15
|
+
const runtimeInsertBefore = subject.placeholder; // || insertBefore
|
|
16
|
+
let removed = 0;
|
|
17
|
+
/** 🗑️ remove previous items first */
|
|
18
|
+
lastArray = subject.lastArray = subject.lastArray.filter((item, index) => {
|
|
19
|
+
const newLength = value.length - 1;
|
|
20
|
+
const at = index - removed;
|
|
21
|
+
const lessLength = newLength < at;
|
|
22
|
+
const subValue = value[index - removed];
|
|
23
|
+
const subTag = subValue;
|
|
24
|
+
// const tag = subTag?.templater.tag as Tag
|
|
25
|
+
const lastTag = item.tagSupport.templater.tag;
|
|
26
|
+
const newArrayValue = subTag?.memory.arrayValue;
|
|
27
|
+
const lastArrayValue = lastTag.memory.arrayValue;
|
|
28
|
+
const destroyItem = lessLength || !areLikeValues(newArrayValue, lastArrayValue);
|
|
29
|
+
if (destroyItem) {
|
|
30
|
+
const last = lastArray[index];
|
|
31
|
+
const tagSupport = last.tagSupport;
|
|
32
|
+
destroyArrayTag(tagSupport, options.counts);
|
|
33
|
+
last.deleted = true;
|
|
34
|
+
++removed;
|
|
35
|
+
++options.counts.removed;
|
|
36
|
+
return false;
|
|
37
|
+
}
|
|
38
|
+
return true;
|
|
39
|
+
});
|
|
40
|
+
value.forEach((item, index) => {
|
|
41
|
+
const previous = lastArray[index];
|
|
42
|
+
const previousSupport = previous?.tagSupport;
|
|
43
|
+
const subTag = item;
|
|
44
|
+
if (isTagClass(subTag) && !subTag.templater) {
|
|
45
|
+
tagFakeTemplater(subTag);
|
|
46
|
+
}
|
|
47
|
+
const tagSupport = new TagSupport(subTag.templater, ownerSupport, new ValueSubject(undefined));
|
|
48
|
+
// tagSupport.templater = subTag.templater
|
|
49
|
+
if (previousSupport) {
|
|
50
|
+
setupNewTemplater(tagSupport, ownerSupport, previousSupport.subject);
|
|
51
|
+
const global = previousSupport.global;
|
|
52
|
+
tagSupport.global = global;
|
|
53
|
+
global.newest = tagSupport;
|
|
54
|
+
}
|
|
55
|
+
// check for html``.key()
|
|
56
|
+
const keySet = 'arrayValue' in subTag.memory;
|
|
57
|
+
if (!keySet) {
|
|
58
|
+
const details = {
|
|
59
|
+
template: tagSupport.getTemplate().string,
|
|
60
|
+
array: value,
|
|
61
|
+
ownerTagContent: ownerSupport.lastTemplateString,
|
|
62
|
+
};
|
|
63
|
+
const message = 'Use html`...`.key(item) instead of html`...` to template an Array';
|
|
64
|
+
console.error(message, details);
|
|
65
|
+
const err = new ArrayNoKeyError(message, details);
|
|
66
|
+
throw err;
|
|
67
|
+
}
|
|
68
|
+
const couldBeSame = lastArray.length > index;
|
|
69
|
+
if (couldBeSame) {
|
|
70
|
+
const prevSupport = previous.tagSupport;
|
|
71
|
+
const prevGlobal = prevSupport.global;
|
|
72
|
+
// subTag.tagSupport = subTag.tagSupport || prevSupport
|
|
73
|
+
const oldest = prevGlobal.oldest;
|
|
74
|
+
oldest.updateBy(tagSupport);
|
|
75
|
+
return [];
|
|
76
|
+
}
|
|
77
|
+
processAddTagArrayItem(runtimeInsertBefore, tagSupport, index, options, lastArray);
|
|
78
|
+
ownerSupport.childTags.push(tagSupport);
|
|
79
|
+
});
|
|
80
|
+
return clones;
|
|
81
|
+
}
|
|
82
|
+
function setPlaceholderElm(insertBefore, subject) {
|
|
83
|
+
if (insertBefore.nodeName !== 'TEMPLATE') {
|
|
84
|
+
subject.placeholder = insertBefore;
|
|
85
|
+
return;
|
|
86
|
+
}
|
|
87
|
+
const placeholder = subject.placeholder = document.createTextNode('');
|
|
88
|
+
const parentNode = insertBefore.parentNode;
|
|
89
|
+
parentNode.insertBefore(placeholder, insertBefore);
|
|
90
|
+
parentNode.removeChild(insertBefore);
|
|
91
|
+
}
|
|
92
|
+
function processAddTagArrayItem(before, tagSupport, index, options, lastArray) {
|
|
93
|
+
const lastValue = {
|
|
94
|
+
tagSupport, index
|
|
95
|
+
};
|
|
96
|
+
// Added to previous array
|
|
97
|
+
lastArray.push(lastValue);
|
|
98
|
+
const counts = {
|
|
99
|
+
added: options.counts.added + index,
|
|
100
|
+
removed: options.counts.removed,
|
|
101
|
+
};
|
|
102
|
+
const fragment = document.createDocumentFragment();
|
|
103
|
+
const newTempElm = document.createElement('template');
|
|
104
|
+
fragment.appendChild(newTempElm);
|
|
105
|
+
tagSupport.buildBeforeElement(newTempElm, // before,
|
|
106
|
+
{ counts, forceElement: options.forceElement });
|
|
107
|
+
const parent = before.parentNode;
|
|
108
|
+
parent.insertBefore(fragment, before);
|
|
109
|
+
}
|
|
110
|
+
/** compare two values. If both values are arrays then the items will be compared */
|
|
111
|
+
function areLikeValues(valueA, valueB) {
|
|
112
|
+
if (valueA === valueB) {
|
|
113
|
+
return true;
|
|
114
|
+
}
|
|
115
|
+
const bothArrays = valueA instanceof Array && valueB instanceof Array;
|
|
116
|
+
const matchLengths = bothArrays && valueA.length == valueB.length;
|
|
117
|
+
if (matchLengths) {
|
|
118
|
+
return valueA.every((item, index) => item == valueB[index]);
|
|
119
|
+
}
|
|
120
|
+
return false;
|
|
121
|
+
}
|
|
122
|
+
//# sourceMappingURL=processTagArray.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"processTagArray.js","sourceRoot":"","sources":["../../../ts/tag/update/processTagArray.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { Counts } from '../../interpolations/interpolateTemplate';
|
|
2
|
+
import { TagArraySubject } from './processTagArray';
|
|
3
|
+
import { TagSubject } from '../../subject.types';
|
|
4
|
+
import { InsertBefore } from '../../interpolations/Clones.type';
|
|
5
|
+
import { TagSupport } from '../TagSupport.class';
|
|
6
|
+
export declare function processTagResult(tagSupport: TagSupport, subject: TagArraySubject | TagSubject | Function, // used for recording past and current value
|
|
7
|
+
insertBefore: InsertBefore, // <template end interpolate />
|
|
8
|
+
{ counts, forceElement, }: {
|
|
9
|
+
counts: Counts;
|
|
10
|
+
forceElement?: boolean;
|
|
11
|
+
}): void;
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
export function processTagResult(tagSupport, subject, // used for recording past and current value
|
|
2
|
+
insertBefore, // <template end interpolate />
|
|
3
|
+
{ counts, forceElement, }) {
|
|
4
|
+
// *if appears we already have seen
|
|
5
|
+
const subjectTag = subject;
|
|
6
|
+
const lastSupport = subjectTag.tagSupport;
|
|
7
|
+
const prevSupport = lastSupport?.global.oldest || undefined; // || tag.tagSupport.oldest // subjectTag.tag
|
|
8
|
+
const justUpdate = prevSupport; // && !forceElement
|
|
9
|
+
if (prevSupport && justUpdate) {
|
|
10
|
+
return processTagResultUpdate(tagSupport, subjectTag, prevSupport);
|
|
11
|
+
}
|
|
12
|
+
tagSupport.buildBeforeElement(insertBefore, {
|
|
13
|
+
counts,
|
|
14
|
+
forceElement,
|
|
15
|
+
});
|
|
16
|
+
}
|
|
17
|
+
function processTagResultUpdate(tagSupport, subject, // used for recording past and current value
|
|
18
|
+
prevSupport) {
|
|
19
|
+
// components
|
|
20
|
+
if (subject instanceof Function) {
|
|
21
|
+
const newSupport = subject(prevSupport);
|
|
22
|
+
prevSupport.updateBy(newSupport);
|
|
23
|
+
subject.tagSupport = newSupport;
|
|
24
|
+
return;
|
|
25
|
+
}
|
|
26
|
+
prevSupport.updateBy(tagSupport);
|
|
27
|
+
subject.tagSupport = tagSupport;
|
|
28
|
+
return;
|
|
29
|
+
}
|
|
30
|
+
//# sourceMappingURL=processTagResult.function.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"processTagResult.function.js","sourceRoot":"","sources":["../../../ts/tag/update/processTagResult.function.ts"],"names":[],"mappings":"AAMA,MAAM,UAAU,gBAAgB,CAC9B,UAAsB,EACtB,OAAgD,EAAE,4CAA4C;AAC9F,YAA0B,EAAE,+BAA+B;AAC3D,EACE,MAAM,EAAE,YAAY,GAIrB;IAED,mCAAmC;IACnC,MAAM,UAAU,GAAG,OAAqB,CAAA;IACxC,MAAM,WAAW,GAAG,UAAU,CAAC,UAAU,CAAA;IACzC,MAAM,WAAW,GAAG,WAAW,EAAE,MAAM,CAAC,MAAM,IAAI,SAAS,CAAA,CAAC,6CAA6C;IACzG,MAAM,UAAU,GAAG,WAAW,CAAA,CAAC,mBAAmB;IAElD,IAAG,WAAW,IAAI,UAAU,EAAE,CAAC;QAC7B,OAAO,sBAAsB,CAAC,UAAU,EAAE,UAAU,EAAE,WAAW,CAAC,CAAA;IACpE,CAAC;IAED,UAAU,CAAC,kBAAkB,CAAC,YAAY,EAAE;QAC1C,MAAM;QACN,YAAY;KACb,CAAC,CAAA;AACJ,CAAC;AAGD,SAAS,sBAAsB,CAC7B,UAAsB,EACtB,OAAqD,EAAE,4CAA4C;AACnG,WAAuB;IAEvB,aAAa;IACb,IAAG,OAAO,YAAY,QAAQ,EAAE,CAAC;QAC/B,MAAM,UAAU,GAAG,OAAO,CAAC,WAAW,CAAC,CAAA;QACvC,WAAW,CAAC,QAAQ,CAAC,UAAU,CAAC,CAE/B;QAAC,OAAiC,CAAC,UAAU,GAAG,UAAU,CAAA;QAC3D,OAAM;IACR,CAAC;IAED,WAAW,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAA;IAChC,OAAO,CAAC,UAAU,GAAG,UAAU,CAAA;IAE/B,OAAM;AACR,CAAC"}
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
import { isSubjectInstance, isTagComponent } from '../../isInstance';
|
|
2
|
+
import { TagSupport } from '../TagSupport.class';
|
|
3
|
+
export function updateContextItem(context, variableName, value) {
|
|
4
|
+
const subject = context[variableName];
|
|
5
|
+
const tagSubject = subject;
|
|
6
|
+
const tagSupport = tagSubject.tagSupport;
|
|
7
|
+
if (tagSupport) {
|
|
8
|
+
if (value) {
|
|
9
|
+
if (isTagComponent(value)) {
|
|
10
|
+
const templater = value;
|
|
11
|
+
let newSupport = new TagSupport(templater, tagSupport.ownerTagSupport, subject);
|
|
12
|
+
if (isTagComponent(tagSupport)) {
|
|
13
|
+
shareTemplaterGlobal(tagSupport, newSupport);
|
|
14
|
+
}
|
|
15
|
+
}
|
|
16
|
+
}
|
|
17
|
+
}
|
|
18
|
+
if (isSubjectInstance(value)) {
|
|
19
|
+
return; // emits on its own
|
|
20
|
+
}
|
|
21
|
+
// listeners will evaluate updated values to possibly update display(s)
|
|
22
|
+
subject.set(value);
|
|
23
|
+
return;
|
|
24
|
+
}
|
|
25
|
+
function shareTemplaterGlobal(oldTagSupport, tagSupport) {
|
|
26
|
+
const oldTemp = oldTagSupport.templater;
|
|
27
|
+
const oldWrap = oldTemp.wrapper; // tag versus component
|
|
28
|
+
const oldValueFn = oldWrap.parentWrap.original;
|
|
29
|
+
const templater = tagSupport.templater;
|
|
30
|
+
const newWrapper = templater.wrapper;
|
|
31
|
+
const newValueFn = newWrapper?.parentWrap.original;
|
|
32
|
+
const fnMatched = oldValueFn === newValueFn;
|
|
33
|
+
if (fnMatched) {
|
|
34
|
+
tagSupport.global = oldTagSupport.global;
|
|
35
|
+
const newest = oldTagSupport.global.newest;
|
|
36
|
+
if (newest) {
|
|
37
|
+
const prevState = newest.memory.state;
|
|
38
|
+
tagSupport.memory.state.length = 0;
|
|
39
|
+
tagSupport.memory.state.push(...prevState);
|
|
40
|
+
// tagSupport.memory.state = [...prevState]
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
//# sourceMappingURL=updateContextItem.function.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"updateContextItem.function.js","sourceRoot":"","sources":["../../../ts/tag/update/updateContextItem.function.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAA;AAIpE,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAA;AAGhD,MAAM,UAAU,iBAAiB,CAC/B,OAAgB,EAChB,YAAoB,EACpB,KAAoB;IAEpB,MAAM,OAAO,GAAG,OAAO,CAAC,YAAY,CAAC,CAAA;IACrC,MAAM,UAAU,GAAG,OAAqB,CAAA;IACxC,MAAM,UAAU,GAAG,UAAU,CAAC,UAAU,CAAA;IAExC,IAAG,UAAU,EAAE,CAAC;QACd,IAAG,KAAK,EAAE,CAAC;YACT,IAAI,cAAc,CAAC,KAAK,CAAC,EAAG,CAAC;gBAC3B,MAAM,SAAS,GAAG,KAAwB,CAAA;gBAC1C,IAAI,UAAU,GAAG,IAAI,UAAU,CAC7B,SAAS,EACT,UAAU,CAAC,eAAe,EAC1B,OAAqB,CACtB,CAAA;gBAED,IAAG,cAAc,CAAC,UAAU,CAAC,EAAE,CAAC;oBAC9B,oBAAoB,CAAC,UAAU,EAAE,UAAU,CAAC,CAAA;gBAC9C,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC;IAED,IAAG,iBAAiB,CAAC,KAAK,CAAC,EAAE,CAAC;QAC5B,OAAM,CAAC,mBAAmB;IAC5B,CAAC;IAED,uEAAuE;IACvE,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAA;IAElB,OAAM;AACR,CAAC;AAED,SAAS,oBAAoB,CAC3B,aAAyB,EACzB,UAAsB;IAEtB,MAAM,OAAO,GAAG,aAAa,CAAC,SAAS,CAAA;IACvC,MAAM,OAAO,GAAG,OAAO,CAAC,OAAkB,CAAA,CAAC,uBAAuB;IAClE,MAAM,UAAU,GAAG,OAAO,CAAC,UAAU,CAAC,QAAQ,CAAA;IAE9C,MAAM,SAAS,GAAG,UAAU,CAAC,SAAS,CAAA;IACtC,MAAM,UAAU,GAAG,SAAS,CAAC,OAAO,CAAA;IACpC,MAAM,UAAU,GAAG,UAAU,EAAE,UAAU,CAAC,QAAQ,CAAA;IAClD,MAAM,SAAS,GAAG,UAAU,KAAK,UAAU,CAAA;IAE3C,IAAG,SAAS,EAAE,CAAC;QACb,UAAU,CAAC,MAAM,GAAG,aAAa,CAAC,MAAM,CAAA;QACxC,MAAM,MAAM,GAAG,aAAa,CAAC,MAAM,CAAC,MAAoB,CAAA;QACxD,IAAG,MAAM,EAAE,CAAC;YACV,MAAM,SAAS,GAAG,MAAM,CAAC,MAAM,CAAC,KAAK,CAAA;YACrC,UAAU,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAA;YAClC,UAAU,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,SAAS,CAAC,CAAA;YAC1C,2CAA2C;QAC7C,CAAC;IACH,CAAC;AACH,CAAC"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import { TagSubject } from '../../subject.types';
|
|
2
|
+
import { TagSupport } from '../TagSupport.class';
|
|
3
|
+
import { InsertBefore } from '../../interpolations/Clones.type';
|
|
4
|
+
export declare function updateExistingTagComponent(ownerSupport: TagSupport, tagSupport: TagSupport, // lastest
|
|
5
|
+
subject: TagSubject, insertBefore: InsertBefore): TagSupport;
|