taggedjs 2.5.8 → 2.5.11
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 +281 -238
- package/bundle.js.map +1 -1
- package/js/TemplaterResult.class.js.map +1 -1
- package/js/index.d.ts +1 -0
- package/js/interpolations/interpolateContentTemplates.d.ts +1 -1
- package/js/interpolations/interpolateContentTemplates.js +10 -12
- package/js/interpolations/interpolateContentTemplates.js.map +1 -1
- package/js/interpolations/interpolateElement.d.ts +1 -3
- package/js/interpolations/interpolateElement.js +5 -4
- package/js/interpolations/interpolateElement.js.map +1 -1
- package/js/interpolations/interpolateTemplate.d.ts +2 -5
- package/js/interpolations/interpolateTemplate.js +8 -12
- package/js/interpolations/interpolateTemplate.js.map +1 -1
- package/js/isInstance.d.ts +1 -1
- package/js/isInstance.js +4 -3
- package/js/isInstance.js.map +1 -1
- package/js/tag/Tag.class.d.ts +1 -2
- package/js/tag/Tag.class.js.map +1 -1
- package/js/tag/TagSupport.class.d.ts +0 -1
- package/js/tag/TagSupport.class.js +12 -17
- package/js/tag/TagSupport.class.js.map +1 -1
- package/js/tag/checkDestroyPrevious.function.d.ts +3 -2
- package/js/tag/checkDestroyPrevious.function.js +18 -8
- package/js/tag/checkDestroyPrevious.function.js.map +1 -1
- package/js/tag/tag.js.map +1 -1
- package/js/tag/tagElement.d.ts +7 -0
- package/js/tag/tagElement.js +8 -4
- package/js/tag/tagElement.js.map +1 -1
- package/js/tag/update/processFirstSubject.utils.d.ts +34 -0
- package/js/tag/update/processFirstSubject.utils.js +48 -0
- package/js/tag/update/processFirstSubject.utils.js.map +1 -0
- package/js/tag/update/processFirstSubjectValue.function.d.ts +7 -0
- package/js/tag/update/processFirstSubjectValue.function.js +31 -0
- package/js/tag/update/processFirstSubjectValue.function.js.map +1 -0
- package/js/tag/update/processNewValue.function.d.ts +2 -2
- package/js/tag/update/processNewValue.function.js +16 -24
- package/js/tag/update/processNewValue.function.js.map +1 -1
- package/js/tag/update/processRegularValue.function.d.ts +2 -0
- package/js/tag/update/processRegularValue.function.js +17 -2
- package/js/tag/update/processRegularValue.function.js.map +1 -1
- package/js/tag/update/processSubjectComponent.function.d.ts +0 -1
- package/js/tag/update/processSubjectComponent.function.js +1 -1
- package/js/tag/update/processSubjectComponent.function.js.map +1 -1
- package/js/tag/update/processSubjectValue.function.d.ts +3 -23
- package/js/tag/update/processSubjectValue.function.js +1 -25
- package/js/tag/update/processSubjectValue.function.js.map +1 -1
- package/js/tag/update/processTag.function.js +0 -1
- package/js/tag/update/processTag.function.js.map +1 -1
- package/js/tag/update/processTagArray.d.ts +0 -1
- package/js/tag/update/processTagArray.js +1 -2
- package/js/tag/update/processTagArray.js.map +1 -1
- package/js/tag/update/processTagResult.function.d.ts +1 -2
- package/js/tag/update/processTagResult.function.js +3 -4
- package/js/tag/update/processTagResult.function.js.map +1 -1
- package/js/tag/update/updateContextItem.function.d.ts +1 -1
- package/js/tag/update/updateExistingTagComponent.function.js +0 -2
- package/js/tag/update/updateExistingTagComponent.function.js.map +1 -1
- package/js/tag/update/updateExistingValue.function.d.ts +1 -1
- package/js/tag/update/updateExistingValue.function.js +36 -47
- package/js/tag/update/updateExistingValue.function.js.map +1 -1
- package/js/updateBeforeTemplate.function.d.ts +5 -1
- package/js/updateBeforeTemplate.function.js +10 -7
- package/js/updateBeforeTemplate.function.js.map +1 -1
- package/package.json +1 -1
- package/js/Clones.type.d.ts +0 -3
- package/js/Clones.type.js +0 -2
- package/js/Clones.type.js.map +0 -1
- package/js/ElementTargetEvent.interface.d.ts +0 -6
- package/js/ElementTargetEvent.interface.js +0 -2
- package/js/ElementTargetEvent.interface.js.map +0 -1
- package/js/Tag.class.d.ts +0 -37
- package/js/Tag.class.js +0 -21
- package/js/Tag.class.js.map +0 -1
- package/js/Tag.utils.d.ts +0 -17
- package/js/Tag.utils.js +0 -6
- package/js/Tag.utils.js.map +0 -1
- package/js/TagSupport.class.d.ts +0 -58
- package/js/TagSupport.class.js +0 -309
- package/js/TagSupport.class.js.map +0 -1
- package/js/afterInterpolateElement.function.d.ts +0 -4
- package/js/afterInterpolateElement.function.js +0 -14
- package/js/afterInterpolateElement.function.js.map +0 -1
- package/js/bindSubjectCallback.function.d.ts +0 -7
- package/js/bindSubjectCallback.function.js +0 -41
- package/js/bindSubjectCallback.function.js.map +0 -1
- package/js/checkDestroyPrevious.function.d.ts +0 -8
- package/js/checkDestroyPrevious.function.js +0 -83
- package/js/checkDestroyPrevious.function.js.map +0 -1
- package/js/cloneValueArray.function.d.ts +0 -2
- package/js/cloneValueArray.function.js +0 -19
- package/js/cloneValueArray.function.js.map +0 -1
- package/js/destroy.support.d.ts +0 -6
- package/js/destroy.support.js +0 -10
- package/js/destroy.support.js.map +0 -1
- package/js/destroyTag.function.d.ts +0 -4
- package/js/destroyTag.function.js +0 -12
- package/js/destroyTag.function.js.map +0 -1
- package/js/elementDestroyCheck.function.d.ts +0 -3
- package/js/elementDestroyCheck.function.js +0 -17
- package/js/elementDestroyCheck.function.js.map +0 -1
- package/js/elementInitCheck.d.ts +0 -2
- package/js/elementInitCheck.js +0 -18
- package/js/elementInitCheck.js.map +0 -1
- package/js/getCallback.d.ts +0 -3
- package/js/getCallback.js +0 -51
- package/js/getCallback.js.map +0 -1
- package/js/hasTagSupportChanged.function.d.ts +0 -7
- package/js/hasTagSupportChanged.function.js +0 -70
- package/js/hasTagSupportChanged.function.js.map +0 -1
- package/js/html.d.ts +0 -2
- package/js/html.js +0 -5
- package/js/html.js.map +0 -1
- package/js/inputAttribute.d.ts +0 -1
- package/js/inputAttribute.js +0 -19
- package/js/inputAttribute.js.map +0 -1
- package/js/interpolateAttributes.d.ts +0 -3
- package/js/interpolateAttributes.js +0 -20
- package/js/interpolateAttributes.js.map +0 -1
- package/js/interpolateContentTemplates.d.ts +0 -9
- package/js/interpolateContentTemplates.js +0 -42
- package/js/interpolateContentTemplates.js.map +0 -1
- package/js/interpolateElement.d.ts +0 -13
- package/js/interpolateElement.js +0 -36
- package/js/interpolateElement.js.map +0 -1
- package/js/interpolateTemplate.d.ts +0 -31
- package/js/interpolateTemplate.js +0 -89
- package/js/interpolateTemplate.js.map +0 -1
- package/js/interpolations.d.ts +0 -7
- package/js/interpolations.js +0 -18
- package/js/interpolations.js.map +0 -1
- package/js/isLikeTags.function.d.ts +0 -5
- package/js/isLikeTags.function.js +0 -42
- package/js/isLikeTags.function.js.map +0 -1
- package/js/onDestroy.d.ts +0 -2
- package/js/onDestroy.js +0 -17
- package/js/onDestroy.js.map +0 -1
- package/js/onInit.d.ts +0 -2
- package/js/onInit.js +0 -17
- package/js/onInit.js.map +0 -1
- package/js/processAttribute.function.d.ts +0 -4
- package/js/processAttribute.function.js +0 -122
- package/js/processAttribute.function.js.map +0 -1
- package/js/processNewValue.function.d.ts +0 -3
- package/js/processNewValue.function.js +0 -43
- package/js/processNewValue.function.js.map +0 -1
- package/js/processRegularValue.function.d.ts +0 -5
- package/js/processRegularValue.function.js +0 -15
- package/js/processRegularValue.function.js.map +0 -1
- package/js/processSubjectComponent.function.d.ts +0 -9
- package/js/processSubjectComponent.function.js +0 -35
- package/js/processSubjectComponent.function.js.map +0 -1
- package/js/processSubjectValue.function.d.ts +0 -25
- package/js/processSubjectValue.function.js +0 -55
- package/js/processSubjectValue.function.js.map +0 -1
- package/js/processTag.function.d.ts +0 -11
- package/js/processTag.function.js +0 -43
- package/js/processTag.function.js.map +0 -1
- package/js/processTagArray.d.ts +0 -23
- package/js/processTagArray.js +0 -120
- package/js/processTagArray.js.map +0 -1
- package/js/processTagResult.function.d.ts +0 -11
- package/js/processTagResult.function.js +0 -30
- package/js/processTagResult.function.js.map +0 -1
- package/js/propState.function.d.ts +0 -2
- package/js/propState.function.js +0 -3
- package/js/propState.function.js.map +0 -1
- package/js/provider.utils.d.ts +0 -2
- package/js/provider.utils.js +0 -45
- package/js/provider.utils.js.map +0 -1
- package/js/providers.d.ts +0 -18
- package/js/providers.js +0 -86
- package/js/providers.js.map +0 -1
- package/js/renderExistingTag.function.d.ts +0 -7
- package/js/renderExistingTag.function.js +0 -32
- package/js/renderExistingTag.function.js.map +0 -1
- package/js/renderSubjectComponent.function.d.ts +0 -3
- package/js/renderSubjectComponent.function.js +0 -14
- package/js/renderSubjectComponent.function.js.map +0 -1
- package/js/renderTagOnly.function.d.ts +0 -4
- package/js/renderTagOnly.function.js +0 -39
- package/js/renderTagOnly.function.js.map +0 -1
- package/js/renderTagSupport.function.d.ts +0 -4
- package/js/renderTagSupport.function.js +0 -37
- package/js/renderTagSupport.function.js.map +0 -1
- package/js/renderWithSupport.function.d.ts +0 -5
- package/js/renderWithSupport.function.js +0 -31
- package/js/renderWithSupport.function.js.map +0 -1
- package/js/scanTextAreaValue.function.d.ts +0 -2
- package/js/scanTextAreaValue.function.js +0 -16
- package/js/scanTextAreaValue.function.js.map +0 -1
- package/js/set.function.d.ts +0 -24
- package/js/set.function.js +0 -116
- package/js/set.function.js.map +0 -1
- package/js/setLet.function.d.ts +0 -3
- package/js/setLet.function.js +0 -42
- package/js/setLet.function.js.map +0 -1
- package/js/setProp.function.d.ts +0 -3
- package/js/setProp.function.js +0 -37
- package/js/setProp.function.js.map +0 -1
- package/js/setTagPlaceholder.function.d.ts +0 -2
- package/js/setTagPlaceholder.function.js +0 -8
- package/js/setTagPlaceholder.function.js.map +0 -1
- package/js/setUse.function.d.ts +0 -23
- package/js/setUse.function.js +0 -14
- package/js/setUse.function.js.map +0 -1
- package/js/state/getCallback.d.ts +0 -3
- package/js/state/getCallback.js +0 -51
- package/js/state/getCallback.js.map +0 -1
- package/js/state/setProp.function.d.ts +0 -3
- package/js/state/setProp.function.js +0 -37
- package/js/state/setProp.function.js.map +0 -1
- package/js/tag/updates/processNewValue.function.d.ts +0 -3
- package/js/tag/updates/processNewValue.function.js +0 -43
- package/js/tag/updates/processNewValue.function.js.map +0 -1
- package/js/tag.d.ts +0 -21
- package/js/tag.js +0 -121
- package/js/tag.js.map +0 -1
- package/js/tagElement.d.ts +0 -9
- package/js/tagElement.js +0 -55
- package/js/tagElement.js.map +0 -1
- package/js/tagRunner.d.ts +0 -6
- package/js/tagRunner.js +0 -30
- package/js/tagRunner.js.map +0 -1
- package/js/updateContextItem.function.d.ts +0 -3
- package/js/updateContextItem.function.js +0 -42
- package/js/updateContextItem.function.js.map +0 -1
- package/js/updateExistingTagComponent.function.d.ts +0 -5
- package/js/updateExistingTagComponent.function.js +0 -108
- package/js/updateExistingTagComponent.function.js.map +0 -1
- package/js/updateExistingValue.function.d.ts +0 -4
- package/js/updateExistingValue.function.js +0 -135
- package/js/updateExistingValue.function.js.map +0 -1
- package/js/watch.function.d.ts +0 -3
- package/js/watch.function.js +0 -20
- package/js/watch.function.js.map +0 -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
- /package/js/subject/{Subject.utils.d.ts → subject.utils.d.ts} +0 -0
- /package/js/subject/{Subject.utils.js → subject.utils.js} +0 -0
- /package/js/subject/{Subject.utils.js.map → subject.utils.js.map} +0 -0
|
@@ -1,108 +0,0 @@
|
|
|
1
|
-
import { hasTagSupportChanged } from './tag/hasTagSupportChanged.function';
|
|
2
|
-
import { processSubjectComponent } from './tag/update/processSubjectComponent.function';
|
|
3
|
-
import { destroyTagMemory } from './destroyTag.function';
|
|
4
|
-
import { renderTagSupport } from './renderTagSupport.function';
|
|
5
|
-
import { callbackPropOwner } from './alterProps.function';
|
|
6
|
-
import { isLikeTags } from './tag/isLikeTags.function';
|
|
7
|
-
export function updateExistingTagComponent(ownerSupport, tagSupport, // lastest
|
|
8
|
-
subject, insertBefore) {
|
|
9
|
-
let lastSupport = subject.tagSupport?.global.newest; // || subject.tagSupport
|
|
10
|
-
let oldestTag = lastSupport.global.oldest;
|
|
11
|
-
const oldWrapper = lastSupport.templater.wrapper;
|
|
12
|
-
const newWrapper = tagSupport.templater.wrapper;
|
|
13
|
-
let isSameTag = false;
|
|
14
|
-
if (oldWrapper && newWrapper) {
|
|
15
|
-
const oldFunction = oldWrapper.original;
|
|
16
|
-
const newFunction = newWrapper.original;
|
|
17
|
-
isSameTag = oldFunction === newFunction;
|
|
18
|
-
}
|
|
19
|
-
const templater = tagSupport.templater;
|
|
20
|
-
if (!isSameTag) {
|
|
21
|
-
const oldestSupport = lastSupport.global.oldest;
|
|
22
|
-
destroyTagMemory(oldestSupport, subject);
|
|
23
|
-
return processSubjectComponent(templater, subject, insertBefore, ownerSupport, {
|
|
24
|
-
forceElement: false,
|
|
25
|
-
counts: { added: 0, removed: 0 },
|
|
26
|
-
});
|
|
27
|
-
}
|
|
28
|
-
else {
|
|
29
|
-
const hasChanged = hasTagSupportChanged(lastSupport, tagSupport, templater);
|
|
30
|
-
if (!hasChanged) {
|
|
31
|
-
// if the new props are an object then implicitly since no change, the old props are an object
|
|
32
|
-
const newProps = templater.props;
|
|
33
|
-
if (newProps && typeof (newProps) === 'object') {
|
|
34
|
-
syncFunctionProps(lastSupport, ownerSupport, newProps);
|
|
35
|
-
}
|
|
36
|
-
return lastSupport; // its the same tag component
|
|
37
|
-
}
|
|
38
|
-
}
|
|
39
|
-
const previous = lastSupport.global.newest;
|
|
40
|
-
const newSupport = renderTagSupport(tagSupport, false);
|
|
41
|
-
lastSupport = subject.tagSupport;
|
|
42
|
-
const newOldest = newSupport.global.oldest;
|
|
43
|
-
const hasOldest = newOldest ? true : false;
|
|
44
|
-
if (!hasOldest) {
|
|
45
|
-
return buildNewTag(newSupport, insertBefore, lastSupport, subject);
|
|
46
|
-
}
|
|
47
|
-
if (newOldest && templater.children.value.length) {
|
|
48
|
-
const oldKidsSub = newOldest.templater.children;
|
|
49
|
-
oldKidsSub.set(templater.children.value);
|
|
50
|
-
}
|
|
51
|
-
// detect if both the function is the same and the return is the same
|
|
52
|
-
const isLikeTag = isSameTag && isLikeTags(previous, newSupport);
|
|
53
|
-
if (isLikeTag) {
|
|
54
|
-
subject.tagSupport = newSupport;
|
|
55
|
-
oldestTag.updateBy(newSupport); // the oldest tag has element references
|
|
56
|
-
return newSupport;
|
|
57
|
-
}
|
|
58
|
-
else {
|
|
59
|
-
// Although function looked the same it returned a different html result
|
|
60
|
-
if (isSameTag && lastSupport) {
|
|
61
|
-
destroyTagMemory(lastSupport, subject);
|
|
62
|
-
newSupport.global.context = {}; // do not share previous outputs
|
|
63
|
-
}
|
|
64
|
-
oldestTag = undefined;
|
|
65
|
-
}
|
|
66
|
-
if (!oldestTag) {
|
|
67
|
-
lastSupport = newSupport;
|
|
68
|
-
buildNewTag(newSupport, lastSupport.global.insertBefore, lastSupport, subject);
|
|
69
|
-
}
|
|
70
|
-
lastSupport.global.newest = newSupport;
|
|
71
|
-
return newSupport;
|
|
72
|
-
}
|
|
73
|
-
function buildNewTag(newSupport, oldInsertBefore, oldTagSupport, subject) {
|
|
74
|
-
newSupport.buildBeforeElement(oldInsertBefore, {
|
|
75
|
-
forceElement: true,
|
|
76
|
-
counts: { added: 0, removed: 0 },
|
|
77
|
-
});
|
|
78
|
-
newSupport.global.oldest = newSupport;
|
|
79
|
-
newSupport.global.newest = newSupport;
|
|
80
|
-
oldTagSupport.global.oldest = newSupport;
|
|
81
|
-
oldTagSupport.global.newest = newSupport;
|
|
82
|
-
subject.tagSupport = newSupport;
|
|
83
|
-
return newSupport;
|
|
84
|
-
}
|
|
85
|
-
function syncFunctionProps(lastSupport, ownerSupport, newProps) {
|
|
86
|
-
lastSupport = lastSupport.global.newest || lastSupport;
|
|
87
|
-
const priorPropConfig = lastSupport.propsConfig;
|
|
88
|
-
const priorProps = priorPropConfig.latestCloned;
|
|
89
|
-
const prevSupport = ownerSupport.global.newest;
|
|
90
|
-
Object.entries(priorProps).forEach(([name, value]) => {
|
|
91
|
-
if (!(value instanceof Function)) {
|
|
92
|
-
return;
|
|
93
|
-
}
|
|
94
|
-
// TODO: The code below maybe irrelevant
|
|
95
|
-
const newCallback = newProps[name];
|
|
96
|
-
const original = newCallback.original;
|
|
97
|
-
if (original) {
|
|
98
|
-
return; // already previously converted
|
|
99
|
-
}
|
|
100
|
-
// Currently, call self but over parent state changes, I may need to call a newer parent tag owner
|
|
101
|
-
priorProps[name].toCall = (...args) => {
|
|
102
|
-
return callbackPropOwner(newCallback, // value, // newOriginal,
|
|
103
|
-
args, prevSupport);
|
|
104
|
-
};
|
|
105
|
-
return;
|
|
106
|
-
});
|
|
107
|
-
}
|
|
108
|
-
//# sourceMappingURL=updateExistingTagComponent.function.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"updateExistingTagComponent.function.js","sourceRoot":"","sources":["../ts/updateExistingTagComponent.function.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +0,0 @@
|
|
|
1
|
-
import { TagSupport } from './tag/TagSupport.class';
|
|
2
|
-
import { InterpolateSubject, TemplateValue } from './tag/update/processSubjectValue.function';
|
|
3
|
-
import { InsertBefore } from './interpolations/Clones.type';
|
|
4
|
-
export declare function updateExistingValue(subject: InterpolateSubject, value: TemplateValue, ownerSupport: TagSupport, insertBefore: InsertBefore): InterpolateSubject;
|
|
@@ -1,135 +0,0 @@
|
|
|
1
|
-
import { TagSupport } from './tag/TagSupport.class';
|
|
2
|
-
import { TemplaterResult } from './TemplaterResult.class';
|
|
3
|
-
import { isSubjectInstance, isTagArray, isTagClass, isTagComponent, isTagTemplater } from './isInstance';
|
|
4
|
-
import { processTagArray } from './tag/update/processTagArray';
|
|
5
|
-
import { updateExistingTagComponent } from './updateExistingTagComponent.function';
|
|
6
|
-
import { processRegularValue } from './tag/update/processRegularValue.function';
|
|
7
|
-
import { checkDestroyPrevious } from './checkDestroyPrevious.function';
|
|
8
|
-
import { ValueSubject } from './subject/ValueSubject';
|
|
9
|
-
import { processSubjectComponent } from './tag/update/processSubjectComponent.function';
|
|
10
|
-
import { isLikeTags } from './tag/isLikeTags.function';
|
|
11
|
-
import { bindSubjectCallback } from './interpolations/bindSubjectCallback.function';
|
|
12
|
-
import { setupNewTemplater, getFakeTemplater, processTag } from './tag/update/processTag.function';
|
|
13
|
-
import { insertAfter } from './insertAfter.function';
|
|
14
|
-
export function updateExistingValue(subject, value, ownerSupport, insertBefore) {
|
|
15
|
-
const subjectTag = subject;
|
|
16
|
-
const isComponent = isTagComponent(value);
|
|
17
|
-
checkDestroyPrevious(subject, value, insertBefore);
|
|
18
|
-
// handle already seen tag components
|
|
19
|
-
if (isComponent) {
|
|
20
|
-
return prepareUpdateToComponent(value, subjectTag, insertBefore, ownerSupport);
|
|
21
|
-
}
|
|
22
|
-
// was component but no longer
|
|
23
|
-
const tagSupport = subjectTag.tagSupport;
|
|
24
|
-
if (tagSupport) {
|
|
25
|
-
handleStillTag(subject, value, ownerSupport);
|
|
26
|
-
return subjectTag;
|
|
27
|
-
}
|
|
28
|
-
// its another tag array
|
|
29
|
-
if (isTagArray(value)) {
|
|
30
|
-
processTagArray(subject, value, insertBefore, // oldInsertBefore as InsertBefore,
|
|
31
|
-
ownerSupport, { counts: {
|
|
32
|
-
added: 0,
|
|
33
|
-
removed: 0,
|
|
34
|
-
} });
|
|
35
|
-
return subject;
|
|
36
|
-
}
|
|
37
|
-
if (isTagTemplater(value)) {
|
|
38
|
-
processTag(value, insertBefore, ownerSupport, subjectTag);
|
|
39
|
-
return subjectTag;
|
|
40
|
-
}
|
|
41
|
-
if (isTagClass(value)) {
|
|
42
|
-
const tag = value;
|
|
43
|
-
let templater = tag.templater;
|
|
44
|
-
if (!templater) {
|
|
45
|
-
templater = getFakeTemplater();
|
|
46
|
-
tag.templater = templater;
|
|
47
|
-
templater.tag = tag;
|
|
48
|
-
}
|
|
49
|
-
processTag(templater, insertBefore, ownerSupport, subjectTag);
|
|
50
|
-
return subjectTag;
|
|
51
|
-
}
|
|
52
|
-
// we have been given a subject
|
|
53
|
-
if (isSubjectInstance(value)) {
|
|
54
|
-
return value;
|
|
55
|
-
}
|
|
56
|
-
// now its a function
|
|
57
|
-
if (value instanceof Function) {
|
|
58
|
-
const bound = bindSubjectCallback(value, ownerSupport);
|
|
59
|
-
subject.set(bound);
|
|
60
|
-
return subject;
|
|
61
|
-
}
|
|
62
|
-
// This will cause all other values to render
|
|
63
|
-
processRegularValue(value, subject, insertBefore);
|
|
64
|
-
return subjectTag;
|
|
65
|
-
}
|
|
66
|
-
function handleStillTag(subject, value, ownerSupport) {
|
|
67
|
-
const lastSupport = subject.tagSupport;
|
|
68
|
-
let templater = value;
|
|
69
|
-
const isClass = isTagClass(value);
|
|
70
|
-
if (isClass) {
|
|
71
|
-
const tag = value;
|
|
72
|
-
templater = tag.templater;
|
|
73
|
-
if (!templater) {
|
|
74
|
-
const children = new ValueSubject([]);
|
|
75
|
-
templater = new TemplaterResult(undefined, children);
|
|
76
|
-
templater.tag = tag;
|
|
77
|
-
tag.templater = templater;
|
|
78
|
-
}
|
|
79
|
-
}
|
|
80
|
-
const valueSupport = new TagSupport(templater, ownerSupport, subject);
|
|
81
|
-
if (isClass) {
|
|
82
|
-
valueSupport.global = lastSupport.global;
|
|
83
|
-
}
|
|
84
|
-
const isSameTag = value && isLikeTags(lastSupport, valueSupport);
|
|
85
|
-
if (isTagTemplater(value)) {
|
|
86
|
-
setupNewTemplater(valueSupport, ownerSupport, subject);
|
|
87
|
-
}
|
|
88
|
-
if (isSameTag) {
|
|
89
|
-
lastSupport.updateBy(valueSupport);
|
|
90
|
-
return;
|
|
91
|
-
}
|
|
92
|
-
if (isSameTag) {
|
|
93
|
-
// const subjectTag = subject as TagSubject
|
|
94
|
-
const global = lastSupport.global;
|
|
95
|
-
const insertBefore = global.insertBefore;
|
|
96
|
-
return processTag(templater, insertBefore, ownerSupport, subject);
|
|
97
|
-
}
|
|
98
|
-
return processRegularValue(value, subject, subject.insertBefore);
|
|
99
|
-
}
|
|
100
|
-
function prepareUpdateToComponent(templater, subjectTag, insertBefore, ownerSupport) {
|
|
101
|
-
// When last value was not a component
|
|
102
|
-
if (!subjectTag.tagSupport) {
|
|
103
|
-
processSubjectComponent(templater, subjectTag, insertBefore, // oldInsertBefore as InsertBefore,
|
|
104
|
-
ownerSupport, {
|
|
105
|
-
forceElement: true,
|
|
106
|
-
counts: { added: 0, removed: 0 },
|
|
107
|
-
});
|
|
108
|
-
return subjectTag;
|
|
109
|
-
}
|
|
110
|
-
const tagSupport = new TagSupport(templater, ownerSupport, subjectTag);
|
|
111
|
-
const subjectSup = subjectTag.tagSupport;
|
|
112
|
-
const prevSupport = subjectSup.global.newest;
|
|
113
|
-
if (prevSupport) {
|
|
114
|
-
const newestState = prevSupport.memory.state;
|
|
115
|
-
tagSupport.memory.state = [...newestState];
|
|
116
|
-
}
|
|
117
|
-
else {
|
|
118
|
-
const placeholder = subjectSup.global.placeholder;
|
|
119
|
-
if (placeholder && !insertBefore.parentNode) {
|
|
120
|
-
insertAfter(insertBefore, placeholder);
|
|
121
|
-
delete subjectSup.global.placeholder;
|
|
122
|
-
}
|
|
123
|
-
processSubjectComponent(templater, subjectTag, insertBefore, ownerSupport, {
|
|
124
|
-
forceElement: true,
|
|
125
|
-
counts: { added: 0, removed: 0 },
|
|
126
|
-
});
|
|
127
|
-
return subjectTag;
|
|
128
|
-
}
|
|
129
|
-
tagSupport.global = subjectSup.global;
|
|
130
|
-
subjectTag.tagSupport = tagSupport;
|
|
131
|
-
updateExistingTagComponent(ownerSupport, tagSupport, // latest value
|
|
132
|
-
subjectTag, insertBefore);
|
|
133
|
-
return subjectTag;
|
|
134
|
-
}
|
|
135
|
-
//# sourceMappingURL=updateExistingValue.function.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"updateExistingValue.function.js","sourceRoot":"","sources":["../ts/updateExistingValue.function.ts"],"names":[],"mappings":"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"}
|
package/js/watch.function.d.ts
DELETED
|
@@ -1,3 +0,0 @@
|
|
|
1
|
-
export type WatchCallback = (currentValues: any[], previousValues: any[] | undefined) => unknown | ((currentValues: any[]) => unknown) | (() => unknown);
|
|
2
|
-
/** When an item in watch array changes, callback function will be triggered */
|
|
3
|
-
export declare function watch<T>(currentValues: T[], callback: WatchCallback): T[];
|
package/js/watch.function.js
DELETED
|
@@ -1,20 +0,0 @@
|
|
|
1
|
-
import { setLet } from './setLet.function';
|
|
2
|
-
/** When an item in watch array changes, callback function will be triggered */
|
|
3
|
-
export function watch(currentValues, callback) {
|
|
4
|
-
let previousValues = setLet(undefined)(x => [previousValues, previousValues = x]);
|
|
5
|
-
if (previousValues === undefined) {
|
|
6
|
-
callback(currentValues, previousValues);
|
|
7
|
-
// const result = {currentValues, previousValues}
|
|
8
|
-
previousValues = currentValues;
|
|
9
|
-
return currentValues;
|
|
10
|
-
}
|
|
11
|
-
const allExact = currentValues.every((item, index) => item === previousValues[index]);
|
|
12
|
-
if (allExact) {
|
|
13
|
-
return currentValues;
|
|
14
|
-
}
|
|
15
|
-
callback(currentValues, previousValues);
|
|
16
|
-
previousValues.length = 0;
|
|
17
|
-
previousValues.push(...currentValues);
|
|
18
|
-
return currentValues;
|
|
19
|
-
}
|
|
20
|
-
//# sourceMappingURL=watch.function.js.map
|
package/js/watch.function.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"watch.function.js","sourceRoot":"","sources":["../ts/watch.function.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAA;AAO1C,+EAA+E;AAC/E,MAAM,UAAU,KAAK,CACnB,aAAkB,EAClB,QAAuB;IAEvB,IAAI,cAAc,GAAG,MAAM,CAAC,SAAkC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,cAAc,EAAE,cAAc,GAAG,CAAC,CAAC,CAAC,CAAA;IAE1G,IAAG,cAAc,KAAK,SAAS,EAAE,CAAC;QAChC,QAAQ,CAAC,aAAa,EAAE,cAAc,CAAC,CAAA;QACvC,iDAAiD;QACjD,cAAc,GAAG,aAAa,CAAA;QAC9B,OAAO,aAAa,CAAA;IACtB,CAAC;IAED,MAAM,QAAQ,GAAG,aAAa,CAAC,KAAK,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC,IAAI,KAAM,cAAwB,CAAC,KAAK,CAAC,CAAC,CAAA;IAChG,IAAG,QAAQ,EAAE,CAAC;QACZ,OAAO,aAAa,CAAA;IACtB,CAAC;IAED,QAAQ,CAAC,aAAa,EAAE,cAAc,CAAC,CAAA;IACvC,cAAc,CAAC,MAAM,GAAG,CAAC,CAAA;IACzB,cAAc,CAAC,IAAI,CAAC,GAAG,aAAa,CAAC,CAAA;IAErC,OAAO,aAAa,CAAA;AACtB,CAAC"}
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|