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
package/js/templater.utils.js
CHANGED
|
@@ -15,8 +15,7 @@ export class TemplaterResult {
|
|
|
15
15
|
isTemplater = true;
|
|
16
16
|
forceRenderTemplate(tagSupport, ownerTag) {
|
|
17
17
|
const tag = this.wrapper();
|
|
18
|
-
|
|
19
|
-
runAfterRender(tag.tagSupport, tag);
|
|
18
|
+
runAfterRender(tagSupport, tag);
|
|
20
19
|
this.oldest = tag;
|
|
21
20
|
tagSupport.oldest = tag;
|
|
22
21
|
this.oldest = tag;
|
|
@@ -29,12 +28,9 @@ export class TemplaterResult {
|
|
|
29
28
|
// signify to other operations that a rendering has occurred so they do not need to render again
|
|
30
29
|
++tagSupport.memory.renderCount;
|
|
31
30
|
const runtimeOwnerTag = existingTag?.ownerTag || ownerTag;
|
|
32
|
-
if (
|
|
33
|
-
|
|
34
|
-
tagSupport
|
|
35
|
-
tagSupport.clonedProps = tagSupport.latestClonedProps;
|
|
36
|
-
// tagSupport.latestClonedProps = tagSupport.latestClonedProps
|
|
37
|
-
runBeforeRedraw(tagSupport, tagSupport.oldest);
|
|
31
|
+
if (existingTag) {
|
|
32
|
+
tagSupport.propsConfig = { ...existingTag.tagSupport.propsConfig };
|
|
33
|
+
runBeforeRedraw(tagSupport, existingTag);
|
|
38
34
|
}
|
|
39
35
|
else {
|
|
40
36
|
// first time render
|
|
@@ -47,23 +43,17 @@ export class TemplaterResult {
|
|
|
47
43
|
const templater = this;
|
|
48
44
|
const retag = templater.wrapper();
|
|
49
45
|
/* AFTER */
|
|
50
|
-
tagSupport.latestProps = retag.tagSupport.props;
|
|
51
|
-
tagSupport.latestClonedProps = retag.tagSupport.clonedProps;
|
|
52
|
-
// tagSupport.latestClonedProps = retag.tagSupport.latestClonedProps
|
|
53
|
-
retag.setSupport(tagSupport);
|
|
54
46
|
runAfterRender(tagSupport, retag);
|
|
55
47
|
templater.newest = retag;
|
|
56
48
|
retag.ownerTag = runtimeOwnerTag;
|
|
57
49
|
const oldest = tagSupport.oldest = tagSupport.oldest || retag;
|
|
58
50
|
tagSupport.newest = retag;
|
|
59
|
-
const oldestTagSupport = oldest.tagSupport;
|
|
60
|
-
oldest.tagSupport = oldestTagSupport || tagSupport;
|
|
61
51
|
oldest.tagSupport.templater = templater;
|
|
62
|
-
|
|
52
|
+
oldest.tagSupport.memory = retag.tagSupport.memory;
|
|
63
53
|
const isSameTag = existingTag && existingTag.isLikeTag(retag);
|
|
64
54
|
// If previously was a tag and seems to be same tag, then just update current tag with new values
|
|
65
55
|
if (isSameTag) {
|
|
66
|
-
|
|
56
|
+
existingTag.updateByTag(retag);
|
|
67
57
|
return { remit: false, retag };
|
|
68
58
|
}
|
|
69
59
|
return { remit: true, retag };
|
|
@@ -73,7 +63,10 @@ export class TemplaterResult {
|
|
|
73
63
|
export function alterProps(props, templater) {
|
|
74
64
|
function callback(toCall, callWith) {
|
|
75
65
|
const callbackResult = toCall(...callWith);
|
|
76
|
-
templater.newest?.ownerTag?.tagSupport
|
|
66
|
+
const tagSupport = templater.newest?.ownerTag?.tagSupport;
|
|
67
|
+
if (tagSupport) {
|
|
68
|
+
tagSupport.render();
|
|
69
|
+
}
|
|
77
70
|
return callbackResult;
|
|
78
71
|
}
|
|
79
72
|
const isPropTag = isTagInstance(props);
|
|
@@ -85,15 +78,25 @@ function resetFunctionProps(props, callback) {
|
|
|
85
78
|
if (typeof (props) !== 'object') {
|
|
86
79
|
return props;
|
|
87
80
|
}
|
|
88
|
-
const newProps =
|
|
81
|
+
const newProps = props;
|
|
82
|
+
// BELOW: Do not clone because if first argument is object, the memory ref back is lost
|
|
83
|
+
// const newProps = {...props}
|
|
89
84
|
Object.entries(newProps).forEach(([name, value]) => {
|
|
90
85
|
if (value instanceof Function) {
|
|
86
|
+
const original = newProps[name].original;
|
|
87
|
+
if (original) {
|
|
88
|
+
newProps[name] = (...args) => {
|
|
89
|
+
return callback(value, args);
|
|
90
|
+
};
|
|
91
|
+
newProps[name].original = original;
|
|
92
|
+
return; // already previously converted
|
|
93
|
+
}
|
|
91
94
|
newProps[name] = (...args) => {
|
|
92
95
|
return callback(value, args);
|
|
93
96
|
};
|
|
97
|
+
newProps[name].original = value;
|
|
94
98
|
return;
|
|
95
99
|
}
|
|
96
|
-
newProps[name] = value;
|
|
97
100
|
});
|
|
98
101
|
return newProps;
|
|
99
102
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"templater.utils.js","sourceRoot":"","sources":["../ts/templater.utils.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAA;AAClD,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAA;AAC/C,OAAO,EAAE,cAAc,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAA;AACjF,OAAO,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAA;
|
|
1
|
+
{"version":3,"file":"templater.utils.js","sourceRoot":"","sources":["../ts/templater.utils.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAA;AAClD,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAA;AAC/C,OAAO,EAAE,cAAc,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAA;AACjF,OAAO,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAA;AAW7C,MAAM,OAAO,eAAe;IAC1B,MAAM,CAAU;IAChB,OAAO,CAAU;IAEjB,MAAM,CAAM;IACZ,MAAM,CAAM;IAEZ,UAAU,CAAY;IAEtB,YACE,KAAY,EACZ,QAAqB;QAErB,IAAI,CAAC,UAAU,GAAG,IAAI,UAAU,CAAC,IAAI,EAAE,QAAQ,EAAE,KAAK,CAAC,CAAA;IACzD,CAAC;IAED,MAAM,CAEc;IACpB,WAAW,GAAG,IAAI,CAAA;IAElB,mBAAmB,CACjB,UAAsB,EACtB,QAAa;QAEb,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,EAAE,CAAA;QAC1B,cAAc,CAAC,UAAU,EAAE,GAAG,CAAC,CAAA;QAE/B,IAAI,CAAC,MAAM,GAAG,GAAG,CAAA;QACjB,UAAU,CAAC,MAAM,GAAG,GAAG,CAAA;QACvB,IAAI,CAAC,MAAM,GAAG,GAAG,CAAA;QACjB,IAAI,CAAC,MAAM,GAAG,GAAG,CAAA;QACjB,GAAG,CAAC,QAAQ,GAAG,QAAQ,CAAA;QAEvB,OAAO,GAAG,CAAA;IACZ,CAAC;IAED,iBAAiB,CACf,UAAsB,EACtB,WAA4B,EAC5B,QAAc;QAEd,mBAAmB;QACjB,gGAAgG;QAChG,EAAE,UAAU,CAAC,MAAM,CAAC,WAAW,CAAA;QAE/B,MAAM,eAAe,GAAG,WAAW,EAAE,QAAQ,IAAI,QAAQ,CAAA;QAEzD,IAAG,WAAW,EAAE,CAAC;YACf,UAAU,CAAC,WAAW,GAAG,EAAC,GAAG,WAAW,CAAC,UAAU,CAAC,WAAW,EAAC,CAAA;YAEhE,eAAe,CAAC,UAAU,EAAE,WAAW,CAAC,CAAA;QAC1C,CAAC;aAAM,CAAC;YACN,oBAAoB;YACpB,eAAe,CAAC,UAAU,EAAE,eAAsB,CAAC,CAAA;YAEnD,mGAAmG;YACnG,MAAM,SAAS,GAAG,MAAM,CAAC,MAAM,CAAC,cAAc,CAAA;YAC9C,SAAS,CAAC,QAAQ,GAAG,eAAe,CAAA;QACtC,CAAC;QACH,wBAAwB;QAExB,MAAM,SAAS,GAAG,IAAI,CAAA;QACtB,MAAM,KAAK,GAAG,SAAS,CAAC,OAAO,EAAE,CAAA;QAEjC,WAAW;QAEX,cAAc,CAAC,UAAU,EAAE,KAAK,CAAC,CAAA;QAEjC,SAAS,CAAC,MAAM,GAAG,KAAK,CAAA;QACxB,KAAK,CAAC,QAAQ,GAAG,eAAe,CAAA;QAEhC,MAAM,MAAM,GAAG,UAAU,CAAC,MAAM,GAAG,UAAU,CAAC,MAAM,IAAI,KAAK,CAAA;QAC7D,UAAU,CAAC,MAAM,GAAG,KAAK,CAAA;QAEzB,MAAM,CAAC,UAAU,CAAC,SAAS,GAAG,SAAS,CAAA;QACvC,MAAM,CAAC,UAAU,CAAC,MAAM,GAAG,KAAK,CAAC,UAAU,CAAC,MAAM,CAAA;QAElD,MAAM,SAAS,GAAG,WAAW,IAAI,WAAW,CAAC,SAAS,CAAC,KAAK,CAAC,CAAA;QAE7D,iGAAiG;QACjG,IAAG,SAAS,EAAE,CAAC;YACb,WAAW,CAAC,WAAW,CAAC,KAAK,CAAC,CAAA;YAE9B,OAAO,EAAC,KAAK,EAAE,KAAK,EAAE,KAAK,EAAC,CAAA;QAC9B,CAAC;QAED,OAAO,EAAC,KAAK,EAAE,IAAI,EAAE,KAAK,EAAC,CAAA;IAC7B,CAAC;CACF;AAMD,qGAAqG;AACrG,MAAM,UAAU,UAAU,CACxB,KAAY,EACZ,SAA0B;IAE1B,SAAS,QAAQ,CAAC,MAAW,EAAE,QAAa;QAC1C,MAAM,cAAc,GAAG,MAAM,CAAC,GAAG,QAAQ,CAAC,CAAA;QAE1C,MAAM,UAAU,GAAG,SAAS,CAAC,MAAM,EAAE,QAAQ,EAAE,UAAU,CAAA;QAEzD,IAAG,UAAU,EAAE,CAAC;YACd,UAAU,CAAC,MAAM,EAAE,CAAA;QACrB,CAAC;QAED,OAAO,cAAc,CAAA;IACvB,CAAC;IAED,MAAM,SAAS,GAAG,aAAa,CAAC,KAAK,CAAC,CAAA;IACtC,MAAM,UAAU,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAA;IACxC,MAAM,QAAQ,GAAG,kBAAkB,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAA;IAEzD,OAAO,QAAQ,CAAA;AACjB,CAAC;AAED,SAAS,kBAAkB,CACzB,KAAU,EACV,QAAiD;IAEjD,IAAG,OAAM,CAAC,KAAK,CAAC,KAAG,QAAQ,EAAE,CAAC;QAC5B,OAAO,KAAK,CAAA;IACd,CAAC;IAED,MAAM,QAAQ,GAAG,KAAK,CAAA;IACtB,uFAAuF;IACvF,+BAA+B;IAE/B,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,EAAE,KAAK,CAAC,EAAE,EAAE;QACjD,IAAG,KAAK,YAAY,QAAQ,EAAE,CAAC;YAC7B,MAAM,QAAQ,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAA;YAExC,IAAG,QAAQ,EAAE,CAAC;gBACZ,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,IAAW,EAAE,EAAE;oBAClC,OAAO,QAAQ,CAAC,KAAK,EAAE,IAAI,CAAC,CAAA;gBAC9B,CAAC,CAAA;gBAED,QAAQ,CAAC,IAAI,CAAC,CAAC,QAAQ,GAAG,QAAQ,CAAA;gBAClC,OAAM,CAAC,+BAA+B;YACxC,CAAC;YAED,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,IAAW,EAAE,EAAE;gBAClC,OAAO,QAAQ,CAAC,KAAK,EAAE,IAAI,CAAC,CAAA;YAC9B,CAAC,CAAA;YAED,QAAQ,CAAC,IAAI,CAAC,CAAC,QAAQ,GAAG,KAAK,CAAA;YAE/B,OAAM;QACR,CAAC;IACH,CAAC,CAAC,CAAA;IAEF,OAAO,QAAQ,CAAA;AACjB,CAAC"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
import { Tag } from "./Tag.class.js";
|
|
2
2
|
import { TagSubject } from "./Tag.utils.js";
|
|
3
3
|
import { TemplaterResult } from "./templater.utils.js";
|
|
4
|
-
export declare function updateExistingTag(templater: TemplaterResult, ogTag: Tag, existingSubject: TagSubject):
|
|
4
|
+
export declare function updateExistingTag(templater: TemplaterResult, ogTag: Tag, existingSubject: TagSubject): never[];
|
|
@@ -2,20 +2,14 @@ import { runAfterRender, runBeforeRedraw } from "./tagRunner.js";
|
|
|
2
2
|
export function updateExistingTag(templater, ogTag, existingSubject) {
|
|
3
3
|
const tagSupport = ogTag.tagSupport;
|
|
4
4
|
const oldest = tagSupport.oldest;
|
|
5
|
-
|
|
5
|
+
const newest = tagSupport.newest;
|
|
6
|
+
runBeforeRedraw(oldest.tagSupport, newest || oldest);
|
|
6
7
|
const retag = templater.wrapper();
|
|
7
|
-
// move my props onto tagSupport
|
|
8
|
-
tagSupport.latestProps = retag.tagSupport.props;
|
|
9
|
-
tagSupport.latestClonedProps = retag.tagSupport.clonedProps;
|
|
10
|
-
// tagSupport.latestClonedProps = retag.tagSupport.latestClonedProps
|
|
11
|
-
tagSupport.memory = retag.tagSupport.memory;
|
|
12
|
-
// retag.tagSupport = tagSupport
|
|
13
|
-
retag.setSupport(tagSupport);
|
|
14
8
|
templater.newest = retag;
|
|
15
9
|
tagSupport.newest = retag;
|
|
16
10
|
runAfterRender(oldest.tagSupport, oldest);
|
|
17
11
|
ogTag.updateByTag(retag);
|
|
18
12
|
existingSubject.set(templater);
|
|
19
|
-
return;
|
|
13
|
+
return [];
|
|
20
14
|
}
|
|
21
15
|
//# sourceMappingURL=updateExistingTag.function.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"updateExistingTag.function.js","sourceRoot":"","sources":["../ts/updateExistingTag.function.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAA;AAGhE,MAAM,UAAU,iBAAiB,CAC/B,SAA0B,EAC1B,KAAU,EACV,eAA2B;IAE3B,MAAM,UAAU,GAAG,KAAK,CAAC,UAAU,CAAA;IACnC,MAAM,MAAM,GAAG,UAAU,CAAC,MAAa,CAAA;IACvC,
|
|
1
|
+
{"version":3,"file":"updateExistingTag.function.js","sourceRoot":"","sources":["../ts/updateExistingTag.function.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAA;AAGhE,MAAM,UAAU,iBAAiB,CAC/B,SAA0B,EAC1B,KAAU,EACV,eAA2B;IAE3B,MAAM,UAAU,GAAG,KAAK,CAAC,UAAU,CAAA;IACnC,MAAM,MAAM,GAAG,UAAU,CAAC,MAAa,CAAA;IACvC,MAAM,MAAM,GAAG,UAAU,CAAC,MAAa,CAAA;IAEvC,eAAe,CAAC,MAAM,CAAC,UAAU,EAAE,MAAM,IAAI,MAAM,CAAC,CAAA;IAEpD,MAAM,KAAK,GAAG,SAAS,CAAC,OAAO,EAAE,CAAA;IAEjC,SAAS,CAAC,MAAM,GAAG,KAAK,CAAA;IACxB,UAAU,CAAC,MAAM,GAAG,KAAK,CAAA;IACzB,cAAc,CAAC,MAAM,CAAC,UAAU,EAAE,MAAM,CAAC,CAAA;IACzC,KAAK,CAAC,WAAW,CAAC,KAAK,CAAC,CAAA;IAExB,eAAe,CAAC,GAAG,CAAC,SAAS,CAAC,CAAA;IAE9B,OAAO,EAAE,CAAA;AACX,CAAC"}
|
|
@@ -2,7 +2,7 @@ import { setValueRedraw } from "./Tag.utils.js";
|
|
|
2
2
|
import { deepClone } from "./deepFunctions.js";
|
|
3
3
|
import { isTagInstance } from "./isInstance.js";
|
|
4
4
|
import { destroyTagMemory } from "./updateExistingValue.function.js";
|
|
5
|
-
import { hasTagSupportChanged } from "./
|
|
5
|
+
import { hasTagSupportChanged } from "./hasTagSupportChanged.function.js";
|
|
6
6
|
export function updateExistingTagComponent(tag, tempResult, existingSubject, subjectValue) {
|
|
7
7
|
let existingTag = existingSubject.tag;
|
|
8
8
|
// previously was something else, now a tag component
|
|
@@ -20,12 +20,11 @@ export function updateExistingTagComponent(tag, tempResult, existingSubject, sub
|
|
|
20
20
|
const newFunction = newWrapper.original;
|
|
21
21
|
isSameTag = oldFunction === newFunction;
|
|
22
22
|
}
|
|
23
|
-
const latestProps = tempResult.tagSupport.
|
|
23
|
+
const latestProps = tempResult.tagSupport.propsConfig.latest;
|
|
24
24
|
const oldTagSetup = existingTag.tagSupport;
|
|
25
|
-
oldTagSetup.
|
|
25
|
+
oldTagSetup.propsConfig.latest = latestProps;
|
|
26
26
|
if (!isSameTag) {
|
|
27
|
-
|
|
28
|
-
destroyTagMemory(existingTag, existingSubject, subjectValue);
|
|
27
|
+
destroyTagMemory(existingTag, existingSubject);
|
|
29
28
|
}
|
|
30
29
|
else {
|
|
31
30
|
const subjectTagSupport = subjectValue?.tagSupport;
|
|
@@ -36,7 +35,8 @@ export function updateExistingTagComponent(tag, tempResult, existingSubject, sub
|
|
|
36
35
|
oldCloneProps = deepClone(subjectTagSupport.props);
|
|
37
36
|
}
|
|
38
37
|
if (existingTag) {
|
|
39
|
-
const
|
|
38
|
+
const newTagSupport = tempResult.tagSupport;
|
|
39
|
+
const hasChanged = hasTagSupportChanged(oldTagSetup, newTagSupport);
|
|
40
40
|
if (!hasChanged) {
|
|
41
41
|
return;
|
|
42
42
|
}
|
|
@@ -45,13 +45,12 @@ export function updateExistingTagComponent(tag, tempResult, existingSubject, sub
|
|
|
45
45
|
setValueRedraw(tempResult, existingSubject, tag);
|
|
46
46
|
oldTagSetup.templater = tempResult;
|
|
47
47
|
const redraw = tempResult.redraw();
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
}
|
|
48
|
+
/*
|
|
49
|
+
// ???
|
|
50
|
+
const redraw = tempResult.redraw() as Tag
|
|
51
|
+
existingSubject.value.tag = oldTagSetup.newest = redraw
|
|
52
|
+
*/
|
|
53
|
+
oldTagSetup.propsConfig = { ...tempResult.tagSupport.propsConfig };
|
|
55
54
|
return;
|
|
56
55
|
}
|
|
57
56
|
//# sourceMappingURL=updateExistingTagComponent.function.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"updateExistingTagComponent.function.js","sourceRoot":"","sources":["../ts/updateExistingTagComponent.function.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"updateExistingTagComponent.function.js","sourceRoot":"","sources":["../ts/updateExistingTagComponent.function.ts"],"names":[],"mappings":"AAAA,OAAO,EAA8B,cAAc,EAAE,MAAM,gBAAgB,CAAA;AAC3E,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAA;AAE9C,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAA;AAE/C,OAAO,EAAE,gBAAgB,EAAE,MAAM,mCAAmC,CAAA;AACpE,OAAO,EAAE,oBAAoB,EAAE,MAAM,oCAAoC,CAAA;AAEzE,MAAM,UAAU,0BAA0B,CACxC,GAAQ,EACR,UAA0B,EAC1B,eAA2B,EAC3B,YAAiB;IAEjB,IAAI,WAAW,GAAoB,eAAe,CAAC,GAAG,CAAA;IAEtD,qDAAqD;IACrD,IAAI,CAAC,WAAW,EAAG,CAAC;QAClB,cAAc,CAAC,UAAU,EAAE,eAAe,EAAE,GAAG,CAAC,CAAA;QAChD,UAAU,CAAC,MAAM,EAAE,CAAA;QACnB,OAAM;IACR,CAAC;IAED,kBAAkB;IAClB,MAAM,UAAU,GAAG,WAAW,CAAC,UAAU,CAAC,SAAS,CAAC,OAAO,CAAA;IAC3D,MAAM,UAAU,GAAG,UAAU,CAAC,OAAO,CAAA;IACrC,IAAI,SAAS,GAAG,KAAK,CAAA;IAErB,IAAG,UAAU,IAAI,UAAU,EAAE,CAAC;QAC5B,MAAM,WAAW,GAAG,UAAU,CAAC,QAAQ,CAAA;QACvC,MAAM,WAAW,GAAG,UAAU,CAAC,QAAQ,CAAA;QACvC,SAAS,GAAG,WAAW,KAAK,WAAW,CAAA;IACzC,CAAC;IAED,MAAM,WAAW,GAAG,UAAU,CAAC,UAAU,CAAC,WAAW,CAAC,MAAM,CAAA;IAC5D,MAAM,WAAW,GAAG,WAAW,CAAC,UAAU,CAAA;IAC1C,WAAW,CAAC,WAAW,CAAC,MAAM,GAAG,WAAW,CAAA;IAE5C,IAAG,CAAC,SAAS,EAAE,CAAC;QACd,gBAAgB,CAAC,WAAW,EAAE,eAAe,CAAC,CAAA;IAChD,CAAC;SAAM,CAAC;QACN,MAAM,iBAAiB,GAAG,YAAY,EAAE,UAAU,CAAA;QAClD,4CAA4C;QAE5C,IAAI,aAAa,GAAG,iBAAiB,CAAC,KAAK,CAAA;QAE3C,gGAAgG;QAChG,IAAG,CAAC,aAAa,CAAC,iBAAiB,CAAC,KAAK,CAAC,EAAE,CAAC;YAC3C,aAAa,GAAG,SAAS,CAAE,iBAAiB,CAAC,KAAK,CAAE,CAAA;QACtD,CAAC;QAED,IAAG,WAAW,EAAE,CAAC;YACf,MAAM,aAAa,GAAG,UAAU,CAAC,UAAU,CAAA;YAC3C,MAAM,UAAU,GAAG,oBAAoB,CAAC,WAAW,EAAE,aAAa,CAAC,CAAA;YACnE,IAAG,CAAC,UAAU,EAAE,CAAC;gBACf,OAAM;YACR,CAAC;QACH,CAAC;IACH,CAAC;IAED,cAAc,CAAC,UAAU,EAAE,eAAe,EAAE,GAAG,CAAC,CAAA;IAEhD,WAAW,CAAC,SAAS,GAAG,UAAU,CAAA;IAElC,MAAM,MAAM,GAAG,UAAU,CAAC,MAAM,EAAS,CAAA;IACzC;;;;MAIE;IACF,WAAW,CAAC,WAAW,GAAG,EAAC,GAAG,UAAU,CAAC,UAAU,CAAC,WAAW,EAAC,CAAA;IAEhE,OAAM;AACR,CAAC"}
|
|
@@ -1,8 +1,10 @@
|
|
|
1
|
-
import { TagSubject } from "./Tag.utils.js";
|
|
1
|
+
import { DisplaySubject, TagSubject } from "./Tag.utils.js";
|
|
2
2
|
import { TagSupport } from "./TagSupport.class.js";
|
|
3
3
|
import { Subject } from "./Subject.js";
|
|
4
4
|
import { TemplaterResult } from "./templater.utils.js";
|
|
5
5
|
import { Tag } from "./Tag.class.js";
|
|
6
6
|
import { TagArraySubject } from "./processTagArray.js";
|
|
7
|
-
|
|
8
|
-
export declare function
|
|
7
|
+
type ExistingSubject = Subject<Tag> | TemplaterResult | TagSubject | TagArraySubject | DisplaySubject;
|
|
8
|
+
export declare function updateExistingValue(existing: ExistingSubject, value: TemplaterResult | Tag[] | TagSupport | Function | Subject<any>, ownerTag: Tag): void;
|
|
9
|
+
export declare function destroyTagMemory(existingTag: Tag, existingSubject: TagSubject): void;
|
|
10
|
+
export {};
|
|
@@ -1,69 +1,76 @@
|
|
|
1
|
-
import { isSubjectInstance, isTagArray, isTagComponent } from "./isInstance.js";
|
|
1
|
+
import { isSubjectInstance, isTagArray, isTagComponent, isTagInstance } from "./isInstance.js";
|
|
2
2
|
import { bindSubjectCallback } from "./bindSubjectCallback.function.js";
|
|
3
|
-
import { processTag } from "./processSubjectValue.function.js";
|
|
3
|
+
import { destroySimpleValue, processTag } from "./processSubjectValue.function.js";
|
|
4
4
|
import { processTagArray } from "./processTagArray.js";
|
|
5
5
|
import { updateExistingTagComponent } from "./updateExistingTagComponent.function.js";
|
|
6
6
|
import { updateExistingTag } from "./updateExistingTag.function.js";
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
const ogTag = subjectValue?.tag;
|
|
10
|
-
const tempResult = value;
|
|
7
|
+
import { processRegularValue } from "./processRegularValue.function.js";
|
|
8
|
+
function checkDestroyPrevious(existing, value) {
|
|
11
9
|
const existingSubArray = existing;
|
|
12
|
-
const
|
|
13
|
-
//
|
|
14
|
-
if (
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
10
|
+
const wasArray = existingSubArray.lastArray;
|
|
11
|
+
// no longer an array
|
|
12
|
+
if (wasArray && !isTagArray(value)) {
|
|
13
|
+
wasArray.forEach(({ tag }) => tag.destroy());
|
|
14
|
+
delete existing.lastArray;
|
|
15
|
+
return;
|
|
16
|
+
}
|
|
17
|
+
const existingTagSubject = existing;
|
|
18
|
+
const existingTag = existingTagSubject.tag;
|
|
19
|
+
const isValueTagComponent = isTagComponent(value);
|
|
20
|
+
const isSimpleValue = !(isValueTagComponent || isTagArray(value) || isTagInstance(value));
|
|
21
|
+
// no longer tag or component?
|
|
22
|
+
if (existingTag) {
|
|
23
|
+
// no longer a component
|
|
24
|
+
if (isTagComponent(existingTag) && !isValueTagComponent) {
|
|
25
|
+
destroyTagMemory(existingTag, existingTagSubject);
|
|
21
26
|
return;
|
|
22
27
|
}
|
|
23
|
-
//
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
28
|
+
// no longer a tag
|
|
29
|
+
if (!isTagInstance(value)) {
|
|
30
|
+
destroyTagMemory(existingTag, existingTagSubject);
|
|
31
|
+
return;
|
|
32
|
+
}
|
|
33
|
+
return; // was tag and still is tag
|
|
27
34
|
}
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
35
|
+
const displaySubject = existing;
|
|
36
|
+
const clone = displaySubject.clone;
|
|
37
|
+
// was simple value but now something bigger
|
|
38
|
+
if (clone && !isSimpleValue) {
|
|
39
|
+
destroySimpleValue(displaySubject.template, displaySubject);
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
export function updateExistingValue(existing, value, ownerTag) {
|
|
43
|
+
const subjectValue = existing.value;
|
|
44
|
+
const tempResult = value;
|
|
45
|
+
const existingSubArray = existing;
|
|
46
|
+
const existingSubTag = existing;
|
|
47
|
+
checkDestroyPrevious(existing, value);
|
|
48
|
+
// If we are working with tag component 2nd argument children, the value has to be digged
|
|
49
|
+
if (existingSubArray.isChildSubject) {
|
|
50
|
+
value = value.value; // A subject contains the value
|
|
31
51
|
}
|
|
32
52
|
// was component but no longer
|
|
33
53
|
const existingTag = existingSubTag.tag;
|
|
34
54
|
if (existingTag) {
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
const
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
added: 0,
|
|
51
|
-
removed: 0,
|
|
52
|
-
}
|
|
53
|
-
});
|
|
54
|
-
return;
|
|
55
|
-
}
|
|
56
|
-
if (wrapMatch) {
|
|
57
|
-
return updateExistingTag(value, existingTag, existingSubTag);
|
|
58
|
-
}
|
|
59
|
-
if (ogTag) {
|
|
60
|
-
destroyTagMemory(existingTag, existingSubTag, subjectValue);
|
|
61
|
-
delete existingSubTag.tag;
|
|
62
|
-
}
|
|
55
|
+
handleStillTag(existingTag, existing, value, ownerTag);
|
|
56
|
+
return;
|
|
57
|
+
}
|
|
58
|
+
// its another tag array
|
|
59
|
+
if (isTagArray(value)) {
|
|
60
|
+
const insertBefore = existingSubArray.template || existingSubTag.tag?.insertBefore;
|
|
61
|
+
processTagArray(existing, value, insertBefore, ownerTag, { counts: {
|
|
62
|
+
added: 0,
|
|
63
|
+
removed: 0,
|
|
64
|
+
} });
|
|
65
|
+
return;
|
|
66
|
+
}
|
|
67
|
+
// handle already seen tag components
|
|
68
|
+
if (isTagComponent(tempResult)) {
|
|
69
|
+
return updateExistingTagComponent(ownerTag, tempResult, existingSubTag, subjectValue);
|
|
63
70
|
}
|
|
64
71
|
// now its a function
|
|
65
72
|
if (value instanceof Function) {
|
|
66
|
-
existingSubTag.set(bindSubjectCallback(value,
|
|
73
|
+
existingSubTag.set(bindSubjectCallback(value, ownerTag));
|
|
67
74
|
return;
|
|
68
75
|
}
|
|
69
76
|
// we have been given a subject
|
|
@@ -74,10 +81,32 @@ export function updateExistingValue(existing, value, tag) {
|
|
|
74
81
|
existingSubTag.set(value); // let ValueSubject now of newest value
|
|
75
82
|
return;
|
|
76
83
|
}
|
|
77
|
-
|
|
84
|
+
function handleStillTag(existingTag, existing, value, ownerTag) {
|
|
85
|
+
const oldWrapper = existingTag.tagSupport.templater.wrapper;
|
|
86
|
+
const newWrapper = value?.wrapper;
|
|
87
|
+
const wrapMatch = oldWrapper && newWrapper && oldWrapper?.original === newWrapper?.original;
|
|
88
|
+
// TODO: We shouldn't need both of these
|
|
89
|
+
const isSameTag = value && existingTag.lastTemplateString === value.lastTemplateString;
|
|
90
|
+
const isSameTag2 = value && value.getTemplate && existingTag.isLikeTag(value);
|
|
91
|
+
if (isSameTag || isSameTag2) {
|
|
92
|
+
return processTag(value, existing, existing.template, ownerTag, // existingTag, // tag,
|
|
93
|
+
{
|
|
94
|
+
counts: {
|
|
95
|
+
added: 0,
|
|
96
|
+
removed: 0,
|
|
97
|
+
}
|
|
98
|
+
});
|
|
99
|
+
}
|
|
100
|
+
if (wrapMatch) {
|
|
101
|
+
return updateExistingTag(value, existingTag, existing);
|
|
102
|
+
}
|
|
103
|
+
const subject = existing;
|
|
104
|
+
return processRegularValue(value, subject, subject.template, ownerTag);
|
|
105
|
+
}
|
|
106
|
+
export function destroyTagMemory(existingTag, existingSubject) {
|
|
78
107
|
delete existingSubject.tag;
|
|
79
108
|
delete existingSubject.tagSupport;
|
|
80
|
-
delete subjectValue.tagSupport
|
|
109
|
+
// delete subjectValue.tagSupport
|
|
81
110
|
existingTag.destroy();
|
|
82
111
|
}
|
|
83
112
|
//# sourceMappingURL=updateExistingValue.function.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"updateExistingValue.function.js","sourceRoot":"","sources":["../ts/updateExistingValue.function.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,iBAAiB,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAA;
|
|
1
|
+
{"version":3,"file":"updateExistingValue.function.js","sourceRoot":"","sources":["../ts/updateExistingValue.function.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,3 @@
|
|
|
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[];
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { setLet } from "./setLet.function.js";
|
|
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 = currentValues;
|
|
17
|
+
return currentValues;
|
|
18
|
+
}
|
|
19
|
+
//# sourceMappingURL=watch.function.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"watch.function.js","sourceRoot":"","sources":["../ts/watch.function.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAA;AAO7C,+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,MAAM,MAAM,GAAG,EAAC,aAAa,EAAE,cAAc,EAAC,CAAA;QAC9C,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;IAEhG,IAAG,QAAQ,EAAE,CAAC;QACZ,OAAO,aAAa,CAAA;IACtB,CAAC;IAED,QAAQ,CAAC,aAAa,EAAE,cAAc,CAAC,CAAA;IACvC,cAAc,GAAG,aAAa,CAAA;IAE9B,OAAO,aAAa,CAAA;AACtB,CAAC"}
|
package/package.json
CHANGED
package/_js/Clones.type.d.ts
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export type Clones = (Element | Text | ChildNode)[];
|
package/_js/Clones.type.js
DELETED
package/_js/Clones.type.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"Clones.type.js","sourceRoot":"","sources":["../ts/Clones.type.ts"],"names":[],"mappings":""}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ElementTarget.interface.js","sourceRoot":"","sources":["../ts/ElementTarget.interface.ts"],"names":[],"mappings":""}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ElementTargetEvent.interface.js","sourceRoot":"","sources":["../ts/ElementTargetEvent.interface.ts"],"names":[],"mappings":""}
|
package/_js/Props.d.ts
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export type Props = unknown;
|
package/_js/Props.js
DELETED
package/_js/Props.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"Props.js","sourceRoot":"","sources":["../ts/Props.ts"],"names":[],"mappings":""}
|
package/_js/Subject.d.ts
DELETED
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
export type Subscription = (() => void) & {
|
|
2
|
-
unsubscribe: () => any;
|
|
3
|
-
};
|
|
4
|
-
type Subscriber = (value?: any) => any;
|
|
5
|
-
export interface SubjectLike {
|
|
6
|
-
subscribe: (callback: (value?: any) => any) => any;
|
|
7
|
-
isSubject?: boolean;
|
|
8
|
-
}
|
|
9
|
-
export declare class Subject<T> implements SubjectLike {
|
|
10
|
-
isSubject: boolean;
|
|
11
|
-
subscribers: Subscriber[];
|
|
12
|
-
value?: any;
|
|
13
|
-
subscribe(callback: Subscriber): Subscription;
|
|
14
|
-
set(value: any): void;
|
|
15
|
-
next: (value: any) => void;
|
|
16
|
-
}
|
|
17
|
-
export {};
|
package/_js/Subject.js
DELETED
|
@@ -1,43 +0,0 @@
|
|
|
1
|
-
export class Subject {
|
|
2
|
-
isSubject = true;
|
|
3
|
-
subscribers = [];
|
|
4
|
-
value;
|
|
5
|
-
// unsubcount = 0 // 🔬 testing
|
|
6
|
-
subscribe(callback) {
|
|
7
|
-
this.subscribers.push(callback);
|
|
8
|
-
SubjectClass.globalSubs.push(callback); // 🔬 testing
|
|
9
|
-
SubjectClass.globalSubCount$.set(SubjectClass.globalSubCount$.value + 1);
|
|
10
|
-
const unsubscribe = () => {
|
|
11
|
-
unsubscribe.unsubscribe();
|
|
12
|
-
};
|
|
13
|
-
// Return a function to unsubscribe from the BehaviorSubject
|
|
14
|
-
unsubscribe.unsubscribe = () => {
|
|
15
|
-
removeSubFromArray(this.subscribers, callback);
|
|
16
|
-
removeSubFromArray(SubjectClass.globalSubs, callback); // 🔬 testing
|
|
17
|
-
SubjectClass.globalSubCount$.set(SubjectClass.globalSubCount$.value - 1);
|
|
18
|
-
// any double unsubscribes will be ignored
|
|
19
|
-
unsubscribe.unsubscribe = () => undefined;
|
|
20
|
-
};
|
|
21
|
-
return unsubscribe;
|
|
22
|
-
}
|
|
23
|
-
set(value) {
|
|
24
|
-
this.value = value;
|
|
25
|
-
// Notify all subscribers with the new value
|
|
26
|
-
this.subscribers.forEach((callback) => {
|
|
27
|
-
callback.value = value;
|
|
28
|
-
callback(value);
|
|
29
|
-
});
|
|
30
|
-
}
|
|
31
|
-
next = this.set;
|
|
32
|
-
}
|
|
33
|
-
function removeSubFromArray(subscribers, callback) {
|
|
34
|
-
const index = subscribers.indexOf(callback);
|
|
35
|
-
if (index !== -1) {
|
|
36
|
-
subscribers.splice(index, 1);
|
|
37
|
-
}
|
|
38
|
-
}
|
|
39
|
-
const SubjectClass = Subject;
|
|
40
|
-
SubjectClass.globalSubs = []; // 🔬 for testing
|
|
41
|
-
SubjectClass.globalSubCount$ = new Subject(); // for ease of debugging
|
|
42
|
-
SubjectClass.globalSubCount$.set(0);
|
|
43
|
-
//# sourceMappingURL=Subject.js.map
|
package/_js/Subject.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"Subject.js","sourceRoot":"","sources":["../ts/Subject.ts"],"names":[],"mappings":"AAWA,MAAM,OAAO,OAAO;IAClB,SAAS,GAAG,IAAI,CAAA;IAChB,WAAW,GAAiB,EAAE,CAAA;IAC9B,KAAK,CAAM;IACX,+BAA+B;IAE/B,SAAS,CAAC,QAAoB;QAC5B,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;QAC/B,YAAY,CAAC,UAAU,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA,CAAC,aAAa;QACpD,YAAY,CAAC,eAAe,CAAC,GAAG,CAAE,YAAY,CAAC,eAAe,CAAC,KAAK,GAAG,CAAC,CAAE,CAAA;QAE1E,MAAM,WAAW,GAAiB,GAAG,EAAE;YACrC,WAAW,CAAC,WAAW,EAAE,CAAA;QAC3B,CAAC,CAAA;QAED,4DAA4D;QAC5D,WAAW,CAAC,WAAW,GAAG,GAAG,EAAE;YAC7B,kBAAkB,CAAC,IAAI,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAA;YAC9C,kBAAkB,CAAC,YAAY,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAA,CAAC,aAAa;YACnE,YAAY,CAAC,eAAe,CAAC,GAAG,CAAE,YAAY,CAAC,eAAe,CAAC,KAAK,GAAG,CAAC,CAAE,CAAA;YAE1E,0CAA0C;YAC1C,WAAW,CAAC,WAAW,GAAG,GAAG,EAAE,CAAC,SAAS,CAAA;QAC3C,CAAC,CAAA;QAED,OAAO,WAAW,CAAA;IACpB,CAAC;IAED,GAAG,CAAC,KAAU;QACZ,IAAI,CAAC,KAAK,GAAG,KAAK,CAAA;QAElB,4CAA4C;QAC5C,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,QAAa,EAAE,EAAE;YACzC,QAAQ,CAAC,KAAK,GAAG,KAAK,CAAA;YACtB,QAAQ,CAAC,KAAK,CAAC,CAAA;QACjB,CAAC,CAAC,CAAA;IACJ,CAAC;IACD,IAAI,GAAG,IAAI,CAAC,GAAG,CAAA;CAChB;AAED,SAAS,kBAAkB,CACzB,WAAyB,EACzB,QAAoB;IAEpB,MAAM,KAAK,GAAG,WAAW,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAA;IAC3C,IAAI,KAAK,KAAK,CAAC,CAAC,EAAE,CAAC;QACjB,WAAW,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAA;IAC9B,CAAC;AACH,CAAC;AAED,MAAM,YAAY,GAAG,OAGpB,CAAA;AACD,YAAY,CAAC,UAAU,GAAG,EAAE,CAAA,CAAC,iBAAiB;AAC9C,YAAY,CAAC,eAAe,GAAG,IAAI,OAAO,EAAE,CAAA,CAAC,wBAAwB;AACrE,YAAY,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC,CAAC,CAAA"}
|