taggedjs 2.3.28 → 2.3.30
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/index.js +1 -1
- package/js/Subject.d.ts +2 -1
- package/js/Subject.js +11 -7
- package/js/Subject.js.map +1 -1
- package/js/Tag.class.d.ts +1 -4
- package/js/Tag.class.js +29 -56
- package/js/Tag.class.js.map +1 -1
- package/js/Tag.utils.d.ts +7 -3
- package/js/Tag.utils.js +3 -3
- package/js/Tag.utils.js.map +1 -1
- package/js/TagSupport.class.d.ts +7 -11
- package/js/TagSupport.class.js +21 -92
- package/js/TagSupport.class.js.map +1 -1
- package/js/ValueSubject.d.ts +1 -1
- package/js/ValueSubject.js +3 -3
- package/js/ValueSubject.js.map +1 -1
- package/js/bindSubjectCallback.function.d.ts +2 -1
- package/js/bindSubjectCallback.function.js +14 -9
- package/js/bindSubjectCallback.function.js.map +1 -1
- package/js/deepFunctions.js +9 -4
- package/js/deepFunctions.js.map +1 -1
- package/js/elementDestroyCheck.function.d.ts +3 -3
- package/js/elementDestroyCheck.function.js.map +1 -1
- package/js/elementInitCheck.d.ts +1 -1
- package/js/elementInitCheck.js +4 -4
- package/js/elementInitCheck.js.map +1 -1
- package/js/gateway/loadTagGateway.function.d.ts +2 -2
- package/js/gateway/loadTagGateway.function.js.map +1 -1
- package/js/gateway/tagGateway.function.d.ts +3 -2
- package/js/gateway/tagGateway.function.js.map +1 -1
- package/js/gateway/tagGateway.utils.d.ts +4 -3
- package/js/gateway/tagGateway.utils.js +3 -15
- package/js/gateway/tagGateway.utils.js.map +1 -1
- package/js/getCallback.js +1 -1
- package/js/getCallback.js.map +1 -1
- package/js/hasTagSupportChanged.function.d.ts +7 -0
- package/js/hasTagSupportChanged.function.js +76 -0
- package/js/hasTagSupportChanged.function.js.map +1 -0
- package/js/index.d.ts +4 -2
- package/js/index.js +5 -2
- package/js/index.js.map +1 -1
- package/js/interpolateAttributes.js +24 -16
- package/js/interpolateAttributes.js.map +1 -1
- package/js/interpolateContentTemplates.d.ts +1 -1
- package/js/interpolateContentTemplates.js +8 -10
- package/js/interpolateContentTemplates.js.map +1 -1
- package/js/interpolateElement.d.ts +2 -0
- package/js/interpolateElement.js +1 -8
- package/js/interpolateElement.js.map +1 -1
- package/js/interpolateTemplate.d.ts +3 -3
- package/js/interpolateTemplate.js +18 -13
- package/js/interpolateTemplate.js.map +1 -1
- package/js/onDestroy.js +0 -3
- package/js/onDestroy.js.map +1 -1
- package/js/onInit.js +0 -4
- package/js/onInit.js.map +1 -1
- package/js/processNewValue.function.d.ts +2 -0
- package/js/processNewValue.function.js +29 -0
- package/js/processNewValue.function.js.map +1 -0
- package/js/processRegularValue.function.d.ts +7 -0
- package/js/processRegularValue.function.js +21 -0
- package/js/processRegularValue.function.js.map +1 -0
- package/js/processSubjectComponent.function.js +3 -19
- package/js/processSubjectComponent.function.js.map +1 -1
- package/js/processSubjectValue.function.d.ts +6 -5
- package/js/processSubjectValue.function.js +28 -42
- package/js/processSubjectValue.function.js.map +1 -1
- package/js/processTagArray.d.ts +1 -0
- package/js/processTagArray.js +46 -16
- package/js/processTagArray.js.map +1 -1
- package/js/processTagResult.function.d.ts +1 -2
- package/js/processTagResult.function.js +1 -17
- package/js/processTagResult.function.js.map +1 -1
- package/js/propState.function.d.ts +2 -0
- package/js/propState.function.js +3 -0
- package/js/propState.function.js.map +1 -0
- package/js/provider.utils.d.ts +2 -0
- package/js/provider.utils.js +34 -0
- package/js/provider.utils.js.map +1 -0
- package/js/providers.d.ts +2 -1
- package/js/providers.js +2 -2
- package/js/providers.js.map +1 -1
- package/js/redrawTag.function.d.ts +3 -2
- package/js/redrawTag.function.js +2 -5
- package/js/redrawTag.function.js.map +1 -1
- package/js/set.function.d.ts +23 -0
- package/{_js/state.js → js/set.function.js} +60 -64
- package/js/set.function.js.map +1 -0
- package/js/setLet.function.d.ts +3 -0
- package/js/setLet.function.js +31 -0
- package/js/setLet.function.js.map +1 -0
- package/js/setProp.function.d.ts +3 -0
- package/js/setProp.function.js +34 -0
- package/js/setProp.function.js.map +1 -0
- package/js/setUse.function.d.ts +1 -1
- package/js/state.d.ts +7 -6
- package/js/state.js +14 -12
- package/js/state.js.map +1 -1
- package/js/tag.d.ts +7 -3
- package/js/tag.js +42 -8
- package/js/tag.js.map +1 -1
- package/js/tagElement.d.ts +2 -1
- package/js/tagElement.js +16 -8
- package/js/tagElement.js.map +1 -1
- package/js/templater.utils.d.ts +0 -3
- package/js/templater.utils.js +22 -19
- package/js/templater.utils.js.map +1 -1
- package/js/updateExistingTag.function.d.ts +1 -1
- package/js/updateExistingTag.function.js +3 -9
- package/js/updateExistingTag.function.js.map +1 -1
- package/js/updateExistingTagComponent.function.js +12 -13
- package/js/updateExistingTagComponent.function.js.map +1 -1
- package/js/updateExistingValue.function.d.ts +5 -3
- package/js/updateExistingValue.function.js +82 -53
- package/js/updateExistingValue.function.js.map +1 -1
- package/js/watch.function.d.ts +3 -0
- package/js/watch.function.js +19 -0
- package/js/watch.function.js.map +1 -0
- package/package.json +1 -1
- package/_js/Clones.type.d.ts +0 -1
- package/_js/Clones.type.js +0 -2
- package/_js/Clones.type.js.map +0 -1
- package/_js/ElementTarget.interface.d.ts +0 -7
- package/_js/ElementTarget.interface.js +0 -2
- package/_js/ElementTarget.interface.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/Props.d.ts +0 -1
- package/_js/Props.js +0 -2
- package/_js/Props.js.map +0 -1
- package/_js/Subject.d.ts +0 -17
- package/_js/Subject.js +0 -43
- package/_js/Subject.js.map +0 -1
- package/_js/Tag.class.d.ts +0 -69
- package/_js/Tag.class.js +0 -258
- package/_js/Tag.class.js.map +0 -1
- package/_js/Tag.utils.d.ts +0 -12
- package/_js/Tag.utils.js +0 -31
- package/_js/Tag.utils.js.map +0 -1
- package/_js/ValueSubject.d.ts +0 -6
- package/_js/ValueSubject.js +0 -15
- package/_js/ValueSubject.js.map +0 -1
- package/_js/bindSubjectCallback.function.d.ts +0 -5
- package/_js/bindSubjectCallback.function.js +0 -19
- package/_js/bindSubjectCallback.function.js.map +0 -1
- package/_js/deepFunctions.d.ts +0 -2
- package/_js/deepFunctions.js +0 -76
- package/_js/deepFunctions.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/gateway/gateway.web.component.d.ts +0 -11
- package/_js/gateway/gateway.web.component.js +0 -20
- package/_js/gateway/gateway.web.component.js.map +0 -1
- package/_js/gateway/index.d.ts +0 -3
- package/_js/gateway/index.js +0 -4
- package/_js/gateway/index.js.map +0 -1
- package/_js/gateway/loadTagGateway.function.d.ts +0 -2
- package/_js/gateway/loadTagGateway.function.js +0 -18
- package/_js/gateway/loadTagGateway.function.js.map +0 -1
- package/_js/gateway/tagGateway.function.d.ts +0 -4
- package/_js/gateway/tagGateway.function.js +0 -49
- package/_js/gateway/tagGateway.function.js.map +0 -1
- package/_js/gateway/tagGateway.utils.d.ts +0 -21
- package/_js/gateway/tagGateway.utils.js +0 -139
- package/_js/gateway/tagGateway.utils.js.map +0 -1
- package/_js/getCallback.d.ts +0 -3
- package/_js/getCallback.js +0 -50
- package/_js/getCallback.js.map +0 -1
- package/_js/getTagSupport.d.ts +0 -21
- package/_js/getTagSupport.js +0 -110
- package/_js/getTagSupport.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/index.d.ts +0 -20
- package/_js/index.js +0 -25
- package/_js/index.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 -4
- package/_js/interpolateAttributes.js +0 -135
- package/_js/interpolateAttributes.js.map +0 -1
- package/_js/interpolateContentTemplates.d.ts +0 -6
- package/_js/interpolateContentTemplates.js +0 -54
- package/_js/interpolateContentTemplates.js.map +0 -1
- package/_js/interpolateElement.d.ts +0 -9
- package/_js/interpolateElement.js +0 -39
- package/_js/interpolateElement.js.map +0 -1
- package/_js/interpolateTemplate.d.ts +0 -17
- package/_js/interpolateTemplate.js +0 -64
- 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/isInstance.d.ts +0 -6
- package/_js/isInstance.js +0 -10
- package/_js/isInstance.js.map +0 -1
- package/_js/js/Clones.type.d.ts +0 -1
- package/_js/js/Clones.type.js +0 -2
- package/_js/js/Clones.type.js.map +0 -1
- package/_js/js/Props.d.ts +0 -1
- package/_js/js/Props.js +0 -2
- package/_js/js/Props.js.map +0 -1
- package/_js/js/Subject.d.ts +0 -17
- package/_js/js/Subject.js +0 -43
- package/_js/js/Subject.js.map +0 -1
- package/_js/js/Tag.class.d.ts +0 -67
- package/_js/js/Tag.class.js +0 -241
- package/_js/js/Tag.class.js.map +0 -1
- package/_js/js/Tag.utils.d.ts +0 -12
- package/_js/js/Tag.utils.js +0 -31
- package/_js/js/Tag.utils.js.map +0 -1
- package/_js/js/ValueSubject.d.ts +0 -6
- package/_js/js/ValueSubject.js +0 -15
- package/_js/js/ValueSubject.js.map +0 -1
- package/_js/js/bindSubjectCallback.function.d.ts +0 -5
- package/_js/js/bindSubjectCallback.function.js +0 -19
- package/_js/js/bindSubjectCallback.function.js.map +0 -1
- package/_js/js/deepFunctions.d.ts +0 -2
- package/_js/js/deepFunctions.js +0 -76
- package/_js/js/deepFunctions.js.map +0 -1
- package/_js/js/elementDestroyCheck.function.d.ts +0 -3
- package/_js/js/elementDestroyCheck.function.js +0 -17
- package/_js/js/elementDestroyCheck.function.js.map +0 -1
- package/_js/js/elementInitCheck.d.ts +0 -2
- package/_js/js/elementInitCheck.js +0 -18
- package/_js/js/elementInitCheck.js.map +0 -1
- package/_js/js/getCallback.d.ts +0 -3
- package/_js/js/getCallback.js +0 -50
- package/_js/js/getCallback.js.map +0 -1
- package/_js/js/getTagSupport.d.ts +0 -22
- package/_js/js/getTagSupport.js +0 -116
- package/_js/js/getTagSupport.js.map +0 -1
- package/_js/js/html.d.ts +0 -2
- package/_js/js/html.js +0 -5
- package/_js/js/html.js.map +0 -1
- package/_js/js/index.d.ts +0 -19
- package/_js/js/index.js +0 -24
- package/_js/js/index.js.map +0 -1
- package/_js/js/inputAttribute.d.ts +0 -1
- package/_js/js/inputAttribute.js +0 -19
- package/_js/js/inputAttribute.js.map +0 -1
- package/_js/js/interpolateAttributes.d.ts +0 -4
- package/_js/js/interpolateAttributes.js +0 -127
- package/_js/js/interpolateAttributes.js.map +0 -1
- package/_js/js/interpolateContentTemplates.d.ts +0 -5
- package/_js/js/interpolateContentTemplates.js +0 -57
- package/_js/js/interpolateContentTemplates.js.map +0 -1
- package/_js/js/interpolateElement.d.ts +0 -9
- package/_js/js/interpolateElement.js +0 -32
- package/_js/js/interpolateElement.js.map +0 -1
- package/_js/js/interpolateTemplate.d.ts +0 -17
- package/_js/js/interpolateTemplate.js +0 -64
- package/_js/js/interpolateTemplate.js.map +0 -1
- package/_js/js/interpolations.d.ts +0 -8
- package/_js/js/interpolations.js +0 -17
- package/_js/js/interpolations.js.map +0 -1
- package/_js/js/isInstance.d.ts +0 -6
- package/_js/js/isInstance.js +0 -10
- package/_js/js/isInstance.js.map +0 -1
- package/_js/js/onDestroy.d.ts +0 -2
- package/_js/js/onDestroy.js +0 -20
- package/_js/js/onDestroy.js.map +0 -1
- package/_js/js/onInit.d.ts +0 -2
- package/_js/js/onInit.js +0 -19
- package/_js/js/onInit.js.map +0 -1
- package/_js/js/processSubjectComponent.function.d.ts +0 -8
- package/_js/js/processSubjectComponent.function.js +0 -53
- package/_js/js/processSubjectComponent.function.js.map +0 -1
- package/_js/js/processSubjectValue.function.d.ts +0 -16
- package/_js/js/processSubjectValue.function.js +0 -122
- package/_js/js/processSubjectValue.function.js.map +0 -1
- package/_js/js/processTagArray.d.ts +0 -9
- package/_js/js/processTagArray.js +0 -60
- package/_js/js/processTagArray.js.map +0 -1
- package/_js/js/processTagResult.function.d.ts +0 -10
- package/_js/js/processTagResult.function.js +0 -42
- package/_js/js/processTagResult.function.js.map +0 -1
- package/_js/js/providers.d.ts +0 -17
- package/_js/js/providers.js +0 -86
- package/_js/js/providers.js.map +0 -1
- package/_js/js/redrawTag.function.d.ts +0 -7
- package/_js/js/redrawTag.function.js +0 -9
- package/_js/js/redrawTag.function.js.map +0 -1
- package/_js/js/render.d.ts +0 -1
- package/_js/js/render.js +0 -24
- package/_js/js/render.js.map +0 -1
- package/_js/js/renderAppToElement.d.ts +0 -14
- package/_js/js/renderAppToElement.js +0 -57
- package/_js/js/renderAppToElement.js.map +0 -1
- package/_js/js/setUse.function.d.ts +0 -23
- package/_js/js/setUse.function.js +0 -14
- package/_js/js/setUse.function.js.map +0 -1
- package/_js/js/state.d.ts +0 -24
- package/_js/js/state.js +0 -98
- package/_js/js/state.js.map +0 -1
- package/_js/js/tag.d.ts +0 -8
- package/_js/js/tag.js +0 -46
- package/_js/js/tag.js.map +0 -1
- package/_js/js/tagElement.d.ts +0 -14
- package/_js/js/tagElement.js +0 -57
- package/_js/js/tagElement.js.map +0 -1
- package/_js/js/tagGateway.function.d.ts +0 -5
- package/_js/js/tagGateway.function.js +0 -119
- package/_js/js/tagGateway.function.js.map +0 -1
- package/_js/js/tagRunner.d.ts +0 -6
- package/_js/js/tagRunner.js +0 -19
- package/_js/js/tagRunner.js.map +0 -1
- package/_js/js/templater.utils.d.ts +0 -28
- package/_js/js/templater.utils.js +0 -99
- package/_js/js/templater.utils.js.map +0 -1
- package/_js/js/updateTag.utils.d.ts +0 -6
- package/_js/js/updateTag.utils.js +0 -84
- package/_js/js/updateTag.utils.js.map +0 -1
- package/_js/js/wait.d.ts +0 -1
- package/_js/js/wait.js +0 -8
- package/_js/js/wait.js.map +0 -1
- package/_js/onDestroy.d.ts +0 -2
- package/_js/onDestroy.js +0 -20
- package/_js/onDestroy.js.map +0 -1
- package/_js/onInit.d.ts +0 -2
- package/_js/onInit.js +0 -19
- package/_js/onInit.js.map +0 -1
- package/_js/processSubjectComponent.function.d.ts +0 -8
- package/_js/processSubjectComponent.function.js +0 -53
- package/_js/processSubjectComponent.function.js.map +0 -1
- package/_js/processSubjectValue.function.d.ts +0 -16
- package/_js/processSubjectValue.function.js +0 -122
- package/_js/processSubjectValue.function.js.map +0 -1
- package/_js/processTagArray.d.ts +0 -9
- package/_js/processTagArray.js +0 -60
- package/_js/processTagArray.js.map +0 -1
- package/_js/processTagResult.function.d.ts +0 -10
- package/_js/processTagResult.function.js +0 -40
- package/_js/processTagResult.function.js.map +0 -1
- package/_js/providers.d.ts +0 -17
- package/_js/providers.js +0 -86
- package/_js/providers.js.map +0 -1
- package/_js/redrawTag.function.d.ts +0 -7
- package/_js/redrawTag.function.js +0 -8
- package/_js/redrawTag.function.js.map +0 -1
- package/_js/render.d.ts +0 -1
- package/_js/render.js +0 -17
- package/_js/render.js.map +0 -1
- package/_js/renderAppToElement.d.ts +0 -14
- package/_js/renderAppToElement.js +0 -57
- package/_js/renderAppToElement.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.d.ts +0 -21
- package/_js/state.js.map +0 -1
- package/_js/tag.d.ts +0 -7
- package/_js/tag.js +0 -46
- package/_js/tag.js.map +0 -1
- package/_js/tagElement.d.ts +0 -14
- package/_js/tagElement.js +0 -57
- package/_js/tagElement.js.map +0 -1
- package/_js/tagGateway.function.d.ts +0 -14
- package/_js/tagGateway.function.js +0 -138
- package/_js/tagGateway.function.js.map +0 -1
- package/_js/tagRunner.d.ts +0 -6
- package/_js/tagRunner.js +0 -19
- package/_js/tagRunner.js.map +0 -1
- package/_js/templater.utils.d.ts +0 -27
- package/_js/templater.utils.js +0 -98
- package/_js/templater.utils.js.map +0 -1
- package/_js/updateTag.utils.d.ts +0 -6
- package/_js/updateTag.utils.js +0 -102
- package/_js/updateTag.utils.js.map +0 -1
- package/_js/wait.d.ts +0 -1
- package/_js/wait.js +0 -8
- package/_js/wait.js.map +0 -1
|
@@ -5,6 +5,7 @@ import { processTagArray } from "./processTagArray.js";
|
|
|
5
5
|
import { TagSupport } from "./TagSupport.class.js";
|
|
6
6
|
import { updateBetweenTemplates } from "./interpolateTemplate.js";
|
|
7
7
|
import { ValueSubject } from "./ValueSubject.js";
|
|
8
|
+
import { processRegularValue } from "./processRegularValue.function.js";
|
|
8
9
|
var ValueTypes;
|
|
9
10
|
(function (ValueTypes) {
|
|
10
11
|
ValueTypes["tag"] = "tag";
|
|
@@ -26,32 +27,28 @@ function getValueType(value) {
|
|
|
26
27
|
}
|
|
27
28
|
export function processSubjectValue(value, result, // could be tag via result.tag
|
|
28
29
|
template, // <template end interpolate /> (will be removed)
|
|
29
|
-
|
|
30
|
+
ownerTag, // owner
|
|
30
31
|
options) {
|
|
31
32
|
const valueType = getValueType(value);
|
|
32
33
|
// Previously was simple value, now its a tag of some sort
|
|
33
34
|
const resultTag = result;
|
|
34
35
|
const clone = resultTag.clone;
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
template
|
|
38
|
-
parent.insertBefore(template, clone);
|
|
39
|
-
parent.removeChild(clone);
|
|
40
|
-
delete resultTag.clone;
|
|
41
|
-
// result.clone = template
|
|
36
|
+
const noLongerSimpleValue = valueType !== ValueTypes.value && clone;
|
|
37
|
+
if (noLongerSimpleValue) {
|
|
38
|
+
destroySimpleValue(template, resultTag);
|
|
42
39
|
}
|
|
43
40
|
switch (valueType) {
|
|
44
41
|
case ValueTypes.tag:
|
|
45
42
|
return {
|
|
46
|
-
clones: processTag(value, result, template,
|
|
43
|
+
clones: processTag(value, result, template, ownerTag, options)
|
|
47
44
|
};
|
|
48
45
|
case ValueTypes.tagArray:
|
|
49
46
|
return {
|
|
50
|
-
clones: processTagArray(result, value, template,
|
|
47
|
+
clones: processTagArray(result, value, template, ownerTag, options)
|
|
51
48
|
};
|
|
52
49
|
case ValueTypes.tagComponent:
|
|
53
50
|
return {
|
|
54
|
-
clones: processSubjectComponent(value, result, template,
|
|
51
|
+
clones: processSubjectComponent(value, result, template, ownerTag, options)
|
|
55
52
|
};
|
|
56
53
|
}
|
|
57
54
|
// *if processing WAS a tag BUT NOW its some other non-tag value
|
|
@@ -62,43 +59,25 @@ options) {
|
|
|
62
59
|
};
|
|
63
60
|
}
|
|
64
61
|
return {
|
|
65
|
-
clones: processRegularValue(value, result, template,
|
|
62
|
+
clones: processRegularValue(value, result, template, ownerTag)
|
|
66
63
|
};
|
|
67
64
|
}
|
|
68
|
-
function processRegularValue(value, result, // could be tag via result.tag
|
|
69
|
-
template, // <template end interpolate /> (will be removed)
|
|
70
|
-
tag) {
|
|
71
|
-
const before = result.clone || template; // Either the template is on the doc OR its the first element we last put on doc
|
|
72
|
-
// Processing of regular values
|
|
73
|
-
const clone = updateBetweenTemplates(value, before);
|
|
74
|
-
result.clone = clone; // remember single element put down, for future updates
|
|
75
|
-
const clones = [];
|
|
76
|
-
const oldPos = tag.clones.indexOf(before); // is the insertBefore guide being considered one of the tags clones?
|
|
77
|
-
const isOnlyGuideInClones = oldPos >= 0 && !tag.clones.includes(clone);
|
|
78
|
-
const exchangeGuideForClone = isOnlyGuideInClones && !before.parentNode; // guide is in clones AND guide is not on the document
|
|
79
|
-
if (exchangeGuideForClone) {
|
|
80
|
-
tag.clones.splice(oldPos, 1); // remove insertBefore guide from tag
|
|
81
|
-
tag.clones.push(clone); // exchange guide for element actually on document
|
|
82
|
-
clones.push(clone); // record the one element that in the end is on the document
|
|
83
|
-
}
|
|
84
|
-
return clones;
|
|
85
|
-
}
|
|
86
65
|
export function processTag(value, result, // could be tag via result.tag
|
|
87
66
|
template, // <template end interpolate /> (will be removed)
|
|
88
|
-
|
|
67
|
+
ownerTag, // owner
|
|
89
68
|
options) {
|
|
90
69
|
// first time seeing this tag?
|
|
91
70
|
if (!value.tagSupport) {
|
|
92
71
|
value.tagSupport = new TagSupport({}, // the template is provided via html`` call
|
|
93
72
|
new ValueSubject([]));
|
|
94
73
|
// asking me to render will cause my parent to render
|
|
95
|
-
value.tagSupport.mutatingRender =
|
|
74
|
+
value.tagSupport.mutatingRender = () => {
|
|
75
|
+
ownerTag.tagSupport.render();
|
|
76
|
+
};
|
|
96
77
|
value.tagSupport.oldest = value.tagSupport.oldest || value;
|
|
97
|
-
|
|
98
|
-
value.ownerTag =
|
|
99
|
-
result.sideTag = tag;
|
|
78
|
+
ownerTag.children.push(value);
|
|
79
|
+
value.ownerTag = ownerTag;
|
|
100
80
|
}
|
|
101
|
-
// (result as any).template = template
|
|
102
81
|
result.template = template;
|
|
103
82
|
const clones = processTagResult(value, result, // Function will attach result.tag
|
|
104
83
|
template, options);
|
|
@@ -113,16 +92,23 @@ options) {
|
|
|
113
92
|
// const parentNode = lastFirstChild.parentNode || template.parentNode
|
|
114
93
|
// put the template back down
|
|
115
94
|
lastFirstChild.parentNode.insertBefore(template, lastFirstChild);
|
|
95
|
+
const clone = updateBetweenTemplates(value,
|
|
96
|
+
// template // template, // this will be removed from document inside this function
|
|
97
|
+
lastFirstChild);
|
|
98
|
+
result.clone = clone;
|
|
116
99
|
// cleanup old
|
|
117
|
-
if (result.clone) {
|
|
118
|
-
result.clone.parentNode.removeChild(result.clone);
|
|
119
|
-
}
|
|
120
100
|
delete result.tag;
|
|
101
|
+
/* destroy logic */
|
|
121
102
|
const stagger = options.counts.removed;
|
|
122
103
|
const promise = tag.destroy({ stagger }).then(animated => options.counts.removed = stagger + animated);
|
|
123
|
-
|
|
124
|
-
const clone = updateBetweenTemplates(value, template);
|
|
125
|
-
result.clone = clone;
|
|
104
|
+
/* end: destroy logic */
|
|
126
105
|
return promise;
|
|
127
106
|
}
|
|
107
|
+
export function destroySimpleValue(template, resultTag) {
|
|
108
|
+
const clone = resultTag.clone;
|
|
109
|
+
const parent = clone.parentNode;
|
|
110
|
+
parent.insertBefore(template, clone);
|
|
111
|
+
parent.removeChild(clone);
|
|
112
|
+
delete resultTag.clone;
|
|
113
|
+
}
|
|
128
114
|
//# sourceMappingURL=processSubjectValue.function.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"processSubjectValue.function.js","sourceRoot":"","sources":["../ts/processSubjectValue.function.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,uBAAuB,EAAE,MAAM,uCAAuC,CAAA;AAC/E,OAAO,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAA;AACjE,OAAO,
|
|
1
|
+
{"version":3,"file":"processSubjectValue.function.js","sourceRoot":"","sources":["../ts/processSubjectValue.function.ts"],"names":[],"mappings":"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"}
|
package/js/processTagArray.d.ts
CHANGED
|
@@ -9,6 +9,7 @@ export type LastArrayItem = {
|
|
|
9
9
|
export type TagArraySubject = ValueSubject<Tag[]> & {
|
|
10
10
|
lastArray: LastArrayItem[];
|
|
11
11
|
template: Element;
|
|
12
|
+
isChildSubject?: boolean;
|
|
12
13
|
};
|
|
13
14
|
export declare function processTagArray(result: TagArraySubject, value: Tag[], // arry of Tag classes
|
|
14
15
|
template: Element, // <template end interpolate />
|
package/js/processTagArray.js
CHANGED
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
import { ValueSubject } from "./ValueSubject.js";
|
|
2
2
|
import { TagSupport } from "./TagSupport.class.js";
|
|
3
|
-
import { processTagResult } from "./processTagResult.function.js";
|
|
4
3
|
import { ArrayNoKeyError } from "./errors.js";
|
|
5
4
|
export function processTagArray(result, value, // arry of Tag classes
|
|
6
5
|
template, // <template end interpolate />
|
|
@@ -16,7 +15,7 @@ ownerTag, options) {
|
|
|
16
15
|
const lessLength = newLength < at;
|
|
17
16
|
const subTag = value[index - removed];
|
|
18
17
|
const subArrayValue = subTag?.arrayValue;
|
|
19
|
-
const destroyItem = lessLength || subArrayValue
|
|
18
|
+
const destroyItem = lessLength || !areLikeValues(subArrayValue, item.tag.arrayValue);
|
|
20
19
|
if (destroyItem) {
|
|
21
20
|
const last = result.lastArray[index];
|
|
22
21
|
const tag = last.tag;
|
|
@@ -33,13 +32,20 @@ ownerTag, options) {
|
|
|
33
32
|
// const masterBefore = template || (template as any).clone
|
|
34
33
|
const before = template || template.clone;
|
|
35
34
|
value.forEach((subTag, index) => {
|
|
36
|
-
|
|
37
|
-
subTag.tagSupport
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
35
|
+
const previous = result.lastArray[index];
|
|
36
|
+
const previousSupport = subTag.tagSupport || previous?.tag.tagSupport;
|
|
37
|
+
subTag.tagSupport = previousSupport || new TagSupport({}, new ValueSubject([]));
|
|
38
|
+
if (previousSupport) {
|
|
39
|
+
previousSupport.newest = subTag;
|
|
40
|
+
}
|
|
41
|
+
else {
|
|
42
|
+
subTag.tagSupport.mutatingRender = () => {
|
|
43
|
+
ownerTag.tagSupport.render(); // call owner for needed updates
|
|
44
|
+
return subTag;
|
|
45
|
+
};
|
|
46
|
+
ownerTag.children.push(subTag);
|
|
47
|
+
}
|
|
41
48
|
subTag.ownerTag = ownerTag;
|
|
42
|
-
ownerTag.children.push(subTag);
|
|
43
49
|
// check for html``.key()
|
|
44
50
|
const keyNotSet = subTag.arrayValue;
|
|
45
51
|
if (keyNotSet?.isArrayValueNeverSet) {
|
|
@@ -53,20 +59,44 @@ ownerTag, options) {
|
|
|
53
59
|
const err = new ArrayNoKeyError(message, details);
|
|
54
60
|
throw err;
|
|
55
61
|
}
|
|
56
|
-
const
|
|
57
|
-
if (
|
|
58
|
-
const isSame = previous.tag.arrayValue
|
|
62
|
+
const couldBeSame = result.lastArray.length > index;
|
|
63
|
+
if (couldBeSame) {
|
|
64
|
+
const isSame = areLikeValues(previous.tag.arrayValue, subTag.arrayValue);
|
|
59
65
|
if (isSame) {
|
|
60
|
-
previous.tag.
|
|
66
|
+
subTag.tagSupport = subTag.tagSupport || previous.tag.tagSupport;
|
|
67
|
+
previous.tag.updateByTag(subTag);
|
|
68
|
+
return [];
|
|
61
69
|
}
|
|
62
70
|
return [];
|
|
63
71
|
}
|
|
64
|
-
const nextClones =
|
|
65
|
-
index,
|
|
66
|
-
...options,
|
|
67
|
-
});
|
|
72
|
+
const nextClones = processAddTagArrayItem(before, subTag, result, index, options);
|
|
68
73
|
clones.push(...nextClones);
|
|
69
74
|
});
|
|
70
75
|
return clones;
|
|
71
76
|
}
|
|
77
|
+
function processAddTagArrayItem(before, subTag, result, index, options) {
|
|
78
|
+
// Added to previous array
|
|
79
|
+
result.lastArray.push({
|
|
80
|
+
tag: subTag, index
|
|
81
|
+
});
|
|
82
|
+
const counts = {
|
|
83
|
+
added: options.counts.added + index,
|
|
84
|
+
removed: options.counts.removed,
|
|
85
|
+
};
|
|
86
|
+
const lastFirstChild = before; // tag.clones[0] // insertBefore.lastFirstChild
|
|
87
|
+
const nextClones = subTag.buildBeforeElement(lastFirstChild, { counts, forceElement: options.forceElement });
|
|
88
|
+
return nextClones;
|
|
89
|
+
}
|
|
90
|
+
/** compare two values. If both values are arrays then the items will be compared */
|
|
91
|
+
function areLikeValues(valueA, valueB) {
|
|
92
|
+
if (valueA === valueB) {
|
|
93
|
+
return true;
|
|
94
|
+
}
|
|
95
|
+
const bothArrays = valueA instanceof Array && valueB instanceof Array;
|
|
96
|
+
const matchLengths = bothArrays && valueA.length == valueB.length;
|
|
97
|
+
if (matchLengths) {
|
|
98
|
+
return valueA.every((item, index) => item == valueB[index]);
|
|
99
|
+
}
|
|
100
|
+
return false;
|
|
101
|
+
}
|
|
72
102
|
//# sourceMappingURL=processTagArray.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"processTagArray.js","sourceRoot":"","sources":["../ts/processTagArray.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAA;AAChD,OAAO,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAA;
|
|
1
|
+
{"version":3,"file":"processTagArray.js","sourceRoot":"","sources":["../ts/processTagArray.ts"],"names":[],"mappings":"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"}
|
|
@@ -5,8 +5,7 @@ import { TagArraySubject } from "./processTagArray.js";
|
|
|
5
5
|
import { TagSubject } from "./Tag.utils.js";
|
|
6
6
|
export declare function processTagResult(tag: Tag, result: TagArraySubject | TagSubject | Function, // used for recording past and current value
|
|
7
7
|
insertBefore: Element, // <template end interpolate />
|
|
8
|
-
{
|
|
9
|
-
index?: number;
|
|
8
|
+
{ counts, forceElement, }: {
|
|
10
9
|
counts: Counts;
|
|
11
10
|
forceElement?: boolean;
|
|
12
11
|
}): Clones;
|
|
@@ -1,22 +1,6 @@
|
|
|
1
1
|
export function processTagResult(tag, result, // used for recording past and current value
|
|
2
2
|
insertBefore, // <template end interpolate />
|
|
3
|
-
{
|
|
4
|
-
// *for
|
|
5
|
-
if (index !== undefined) {
|
|
6
|
-
const resultArray = result.lastArray;
|
|
7
|
-
const existing = resultArray[index];
|
|
8
|
-
if (existing?.tag.isLikeTag(tag)) {
|
|
9
|
-
existing.tag.updateByTag(tag);
|
|
10
|
-
return [];
|
|
11
|
-
}
|
|
12
|
-
// Added to previous array
|
|
13
|
-
resultArray.push({
|
|
14
|
-
tag, index
|
|
15
|
-
});
|
|
16
|
-
const lastFirstChild = insertBefore; // tag.clones[0] // insertBefore.lastFirstChild
|
|
17
|
-
const clones = tag.buildBeforeElement(lastFirstChild, { counts, forceElement });
|
|
18
|
-
return clones;
|
|
19
|
-
}
|
|
3
|
+
{ counts, forceElement, }) {
|
|
20
4
|
// *if appears we already have seen
|
|
21
5
|
const subjectTag = result;
|
|
22
6
|
const rTag = subjectTag.tag;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"processTagResult.function.js","sourceRoot":"","sources":["../ts/processTagResult.function.ts"],"names":[],"mappings":"AAMA,MAAM,UAAU,gBAAgB,CAC9B,GAAQ,EACR,MAA+C,EAAE,4CAA4C;AAC7F,YAAqB,EAAE,+BAA+B;AACtD,EACE,
|
|
1
|
+
{"version":3,"file":"processTagResult.function.js","sourceRoot":"","sources":["../ts/processTagResult.function.ts"],"names":[],"mappings":"AAMA,MAAM,UAAU,gBAAgB,CAC9B,GAAQ,EACR,MAA+C,EAAE,4CAA4C;AAC7F,YAAqB,EAAE,+BAA+B;AACtD,EACE,MAAM,EAAE,YAAY,GAIrB;IAED,mCAAmC;IACnC,MAAM,UAAU,GAAG,MAAoB,CAAA;IACvC,MAAM,IAAI,GAAG,UAAU,CAAC,GAAG,CAAA;IAC3B,IAAG,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;QACzB,6CAA6C;QAC7C,IAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC;YACvB,aAAa;YACb,IAAG,MAAM,YAAY,QAAQ,EAAE,CAAC;gBAC9B,MAAM,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAA;gBACtC,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,CAAA;gBACxB,OAAO,EAAE,CAAA;YACX,CAAC;YAED,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,CAAA;YAErB,OAAO,EAAE,CAAA,CAAC,gDAAgD;QAC5D,CAAC;IACH,CAAC;IAED,MAAM,MAAM,GAAG,GAAG,CAAC,kBAAkB,CAAC,YAAY,EAAE;QAClD,MAAM;QACN,YAAY;KACb,CAAC,CAAA;IACF,UAAU,CAAC,GAAG,GAAG,GAAG,CAAA,CAAC,wDAAwD;IAE7E,OAAO,MAAM,CAAA;AACf,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"propState.function.js","sourceRoot":"","sources":["../ts/propState.function.ts"],"names":[],"mappings":"AAEA,MAAM,UAAU,SAAS,CACvB,cAAiB,EACjB,MAAiB;AAGnB,CAAC"}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import { deepClone, deepEqual } from "./deepFunctions.js";
|
|
2
|
+
export function providersChangeCheck(tag) {
|
|
3
|
+
const providersWithChanges = tag.tagSupport.memory.providers.filter(provider => !deepEqual(provider.instance, provider.clone));
|
|
4
|
+
// reset clones
|
|
5
|
+
providersWithChanges.forEach(provider => {
|
|
6
|
+
const appElement = tag.getAppElement();
|
|
7
|
+
handleProviderChanges(appElement, provider);
|
|
8
|
+
provider.clone = deepClone(provider.instance);
|
|
9
|
+
});
|
|
10
|
+
}
|
|
11
|
+
function handleProviderChanges(appElement, provider) {
|
|
12
|
+
const tagsWithProvider = getTagsWithProvider(appElement, provider);
|
|
13
|
+
tagsWithProvider.forEach(({ tag, renderCount, provider }) => {
|
|
14
|
+
const notRendered = renderCount === tag.tagSupport.memory.renderCount;
|
|
15
|
+
if (notRendered) {
|
|
16
|
+
provider.clone = deepClone(provider.instance);
|
|
17
|
+
tag.tagSupport.render();
|
|
18
|
+
}
|
|
19
|
+
});
|
|
20
|
+
}
|
|
21
|
+
function getTagsWithProvider(tag, provider, memory = []) {
|
|
22
|
+
const compare = tag.tagSupport.memory.providers;
|
|
23
|
+
const hasProvider = compare.find(xProvider => xProvider.constructMethod === provider.constructMethod);
|
|
24
|
+
if (hasProvider) {
|
|
25
|
+
memory.push({
|
|
26
|
+
tag,
|
|
27
|
+
renderCount: tag.tagSupport.memory.renderCount,
|
|
28
|
+
provider: hasProvider
|
|
29
|
+
});
|
|
30
|
+
}
|
|
31
|
+
tag.children.forEach(child => getTagsWithProvider(child, provider, memory));
|
|
32
|
+
return memory;
|
|
33
|
+
}
|
|
34
|
+
//# sourceMappingURL=provider.utils.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"provider.utils.js","sourceRoot":"","sources":["../ts/provider.utils.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAA;AAGzD,MAAM,UAAU,oBAAoB,CAAC,GAAQ;IAC3C,MAAM,oBAAoB,GAAG,GAAG,CAAC,UAAU,CAAC,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,CAC7E,CAAC,SAAS,CAAC,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAC,KAAK,CAAC,CAC9C,CAAA;IAED,eAAe;IACf,oBAAoB,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE;QACtC,MAAM,UAAU,GAAG,GAAG,CAAC,aAAa,EAAE,CAAA;QAEtC,qBAAqB,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAA;QAE3C,QAAQ,CAAC,KAAK,GAAG,SAAS,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAA;IAC/C,CAAC,CAAC,CAAA;AACJ,CAAC;AAED,SAAS,qBAAqB,CAC5B,UAAe,EACf,QAAkB;IAElB,MAAM,gBAAgB,GAAG,mBAAmB,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAA;IAElE,gBAAgB,CAAC,OAAO,CAAC,CAAC,EAAC,GAAG,EAAE,WAAW,EAAE,QAAQ,EAAC,EAAE,EAAE;QACxD,MAAM,WAAW,GAAG,WAAW,KAAK,GAAG,CAAC,UAAU,CAAC,MAAM,CAAC,WAAW,CAAA;QACrE,IAAG,WAAW,EAAE,CAAC;YACf,QAAQ,CAAC,KAAK,GAAG,SAAS,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAA;YAC7C,GAAG,CAAC,UAAU,CAAC,MAAM,EAAE,CAAA;QACzB,CAAC;IACH,CAAC,CAAC,CAAA;AACJ,CAAC;AAED,SAAS,mBAAmB,CAC1B,GAAQ,EACR,QAAkB,EAClB,SAIM,EAAE;IAER,MAAM,OAAO,GAAG,GAAG,CAAC,UAAU,CAAC,MAAM,CAAC,SAAS,CAAA;IAE/C,MAAM,WAAW,GAAG,OAAO,CAAC,IAAI,CAC9B,SAAS,CAAC,EAAE,CAAC,SAAS,CAAC,eAAe,KAAK,QAAQ,CAAC,eAAe,CACpE,CAAA;IAED,IAAG,WAAW,EAAE,CAAC;QACf,MAAM,CAAC,IAAI,CAAC;YACV,GAAG;YACH,WAAW,EAAE,GAAG,CAAC,UAAU,CAAC,MAAM,CAAC,WAAW;YAC9C,QAAQ,EAAE,WAAW;SACtB,CAAC,CAAA;IACJ,CAAC;IAED,GAAG,CAAC,QAAQ,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC,mBAAmB,CAAC,KAAK,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAC,CAAA;IAE3E,OAAO,MAAM,CAAA;AACf,CAAC"}
|
package/js/providers.d.ts
CHANGED
|
@@ -3,6 +3,7 @@ export type Provider = {
|
|
|
3
3
|
instance: any;
|
|
4
4
|
clone: any;
|
|
5
5
|
};
|
|
6
|
+
type ProviderConstructor<T> = (new (...args: any[]) => T) | (() => T);
|
|
6
7
|
type functionProvider = <T>() => T;
|
|
7
8
|
type classProvider = new <T>(...args: any[]) => T;
|
|
8
9
|
export declare const providers: {
|
|
@@ -12,6 +13,6 @@ export declare const providers: {
|
|
|
12
13
|
* @param {(new (...args: any[]) => T) | () => T} constructor
|
|
13
14
|
* @returns {T}
|
|
14
15
|
*/
|
|
15
|
-
inject: (constructor:
|
|
16
|
+
inject: <T_1>(constructor: ProviderConstructor<T_1>) => T_1;
|
|
16
17
|
};
|
|
17
18
|
export {};
|
package/js/providers.js
CHANGED
|
@@ -3,7 +3,7 @@ import { setUse } from "./setUse.function.js";
|
|
|
3
3
|
// TODO: rename
|
|
4
4
|
setUse.memory.providerConfig = {
|
|
5
5
|
providers: [],
|
|
6
|
-
currentTagSupport: undefined,
|
|
6
|
+
//currentTagSupport: undefined as TagSupport | undefined,
|
|
7
7
|
ownerTag: undefined,
|
|
8
8
|
};
|
|
9
9
|
function get(constructMethod) {
|
|
@@ -76,7 +76,7 @@ setUse({
|
|
|
76
76
|
});
|
|
77
77
|
function run(tagSupport, ownerTag) {
|
|
78
78
|
const config = setUse.memory.providerConfig;
|
|
79
|
-
config.
|
|
79
|
+
// config.currentTagSupport = tagSupport
|
|
80
80
|
config.ownerTag = ownerTag;
|
|
81
81
|
if (tagSupport.memory.providers.length) {
|
|
82
82
|
config.providers.length = 0;
|
package/js/providers.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"providers.js","sourceRoot":"","sources":["../ts/providers.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAA;AAE9C,OAAO,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAA;
|
|
1
|
+
{"version":3,"file":"providers.js","sourceRoot":"","sources":["../ts/providers.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,7 +1,8 @@
|
|
|
1
|
+
import { TagSupport } from "./TagSupport.class.js";
|
|
1
2
|
import { TemplaterResult } from "./templater.utils.js";
|
|
2
3
|
import { Tag } from "./Tag.class.js";
|
|
3
|
-
export declare function redrawTag(
|
|
4
|
-
ownerTag?: Tag): {
|
|
4
|
+
export declare function redrawTag(tagSupport: TagSupport, templater: TemplaterResult, // latest tag function to call for rendering
|
|
5
|
+
existingTag?: Tag, ownerTag?: Tag): {
|
|
5
6
|
remit: boolean;
|
|
6
7
|
retag: Tag;
|
|
7
8
|
};
|
package/js/redrawTag.function.js
CHANGED
|
@@ -1,8 +1,5 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
ownerTag) {
|
|
4
|
-
// TODO: The or condition here may not be needed since its an obvious "re"draw
|
|
5
|
-
const tagSupport = existingTag?.tagSupport || new TagSupport(templater, templater.tagSupport.children);
|
|
1
|
+
export function redrawTag(tagSupport, templater, // latest tag function to call for rendering
|
|
2
|
+
existingTag, ownerTag) {
|
|
6
3
|
const result = templater.renderWithSupport(tagSupport, existingTag, ownerTag);
|
|
7
4
|
return result;
|
|
8
5
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"redrawTag.function.js","sourceRoot":"","sources":["../ts/redrawTag.function.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"redrawTag.function.js","sourceRoot":"","sources":["../ts/redrawTag.function.ts"],"names":[],"mappings":"AAIA,MAAM,UAAU,SAAS,CACvB,UAAsB,EACtB,SAA0B,EAAE,4CAA4C;AACxE,WAAiB,EACjB,QAAc;IAEd,MAAM,MAAM,GAAG,SAAS,CAAC,iBAAiB,CACxC,UAAU,EACV,WAAW,EACX,QAAQ,CACT,CAAA;IAED,OAAO,MAAM,CAAA;AACf,CAAC"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
export type StateConfig<T> = (x: T) => [T, T];
|
|
2
|
+
export type StateConfigItem<T> = {
|
|
3
|
+
callback?: StateConfig<T>;
|
|
4
|
+
lastValue?: T;
|
|
5
|
+
defaultValue?: T;
|
|
6
|
+
watch?: T;
|
|
7
|
+
};
|
|
8
|
+
export type StateConfigArray = StateConfigItem<any>[];
|
|
9
|
+
export type Config = {
|
|
10
|
+
array: StateConfigArray;
|
|
11
|
+
rearray: StateConfigArray;
|
|
12
|
+
};
|
|
13
|
+
export type State = {
|
|
14
|
+
newest: StateConfigArray;
|
|
15
|
+
};
|
|
16
|
+
export type GetSet<T> = (y: T) => [T, T];
|
|
17
|
+
export declare function makeStateResult<T>(initValue: T, push: StateConfigItem<T>): (y: any) => T;
|
|
18
|
+
export declare function onNextStateOnly(callback: () => unknown): void;
|
|
19
|
+
export declare function getStateValue<T>(state: StateConfigItem<T>): T | undefined;
|
|
20
|
+
export declare class StateEchoBack {
|
|
21
|
+
}
|
|
22
|
+
/** Used for variables that need to remain the same variable during render passes */
|
|
23
|
+
export declare function set<T>(defaultValue: T | (() => T)): T;
|