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/TagSupport.class.js
CHANGED
|
@@ -1,16 +1,12 @@
|
|
|
1
|
-
import { deepClone
|
|
1
|
+
import { deepClone } from "./deepFunctions.js";
|
|
2
|
+
import { hasTagSupportChanged } from "./hasTagSupportChanged.function.js";
|
|
2
3
|
import { isTagArray, isTagComponent, isTagInstance } from "./isInstance.js";
|
|
4
|
+
import { providersChangeCheck } from "./provider.utils.js";
|
|
3
5
|
import { alterProps } from "./templater.utils.js";
|
|
4
6
|
export class TagSupport {
|
|
5
7
|
templater;
|
|
6
8
|
children;
|
|
7
|
-
|
|
8
|
-
latestProps; // new props NOT cloned props
|
|
9
|
-
// props from **constructor** are converted for comparing over renders
|
|
10
|
-
latestClonedProps; // This seems to be a duplicate of clonedProps
|
|
11
|
-
lastClonedKidValues = [];
|
|
12
|
-
// TODO: see if we can remove
|
|
13
|
-
clonedProps;
|
|
9
|
+
propsConfig;
|
|
14
10
|
memory = {
|
|
15
11
|
context: {}, // populated after reading interpolated.values array converted to an object {variable0, variable:1}
|
|
16
12
|
state: {
|
|
@@ -24,22 +20,21 @@ export class TagSupport {
|
|
|
24
20
|
props) {
|
|
25
21
|
this.templater = templater;
|
|
26
22
|
this.children = children;
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
23
|
+
const latestCloned = alterProps(props, templater);
|
|
24
|
+
this.propsConfig = {
|
|
25
|
+
latest: props,
|
|
26
|
+
latestCloned, // assume its HTML children and then detect
|
|
27
|
+
clonedProps: latestCloned, // maybe duplicate
|
|
28
|
+
lastClonedKidValues: children.value.map(kid => {
|
|
29
|
+
const cloneValues = cloneValueArray(kid.values);
|
|
30
|
+
return cloneValues;
|
|
31
|
+
})
|
|
32
|
+
};
|
|
32
33
|
// if the latest props are not HTML children, then clone the props for later render cycles to compare
|
|
33
34
|
if (!isTagInstance(props)) {
|
|
34
|
-
this.
|
|
35
|
+
this.propsConfig.latestCloned = deepClone(latestCloned);
|
|
36
|
+
this.propsConfig.clonedProps = this.propsConfig.latestCloned;
|
|
35
37
|
}
|
|
36
|
-
// TODO: see if we can remove
|
|
37
|
-
this.clonedProps = this.latestClonedProps;
|
|
38
|
-
this.lastClonedKidValues.length = 0;
|
|
39
|
-
children.value.forEach(kid => {
|
|
40
|
-
const cloneValues = cloneValueArray(kid.values);
|
|
41
|
-
this.lastClonedKidValues.push(cloneValues);
|
|
42
|
-
});
|
|
43
38
|
}
|
|
44
39
|
// TODO: these below may not be in use
|
|
45
40
|
oldest;
|
|
@@ -61,13 +56,10 @@ export class TagSupport {
|
|
|
61
56
|
if (preRenderCount !== this.memory.renderCount) {
|
|
62
57
|
return true;
|
|
63
58
|
}
|
|
64
|
-
const oldTemplater = tag.tagSupport.templater
|
|
65
|
-
|
|
66
|
-
const
|
|
67
|
-
const
|
|
68
|
-
const oldProps = oldTemplater?.tagSupport.props // new props cloned
|
|
69
|
-
*/
|
|
70
|
-
const hasChanged = hasTagSupportChanged(oldTemplater.tagSupport, newTemplater.tagSupport);
|
|
59
|
+
// const oldTemplater = tag.tagSupport.templater
|
|
60
|
+
const oldTagSupport = tag.tagSupport;
|
|
61
|
+
// const oldTagSupport = this
|
|
62
|
+
const hasChanged = hasTagSupportChanged(oldTagSupport, newTemplater.tagSupport);
|
|
71
63
|
this.newest = this.templater.redraw(); // No change detected, just redraw me only
|
|
72
64
|
if (!hasChanged) {
|
|
73
65
|
return true;
|
|
@@ -75,66 +67,6 @@ export class TagSupport {
|
|
|
75
67
|
return false;
|
|
76
68
|
}
|
|
77
69
|
}
|
|
78
|
-
function providersChangeCheck(tag) {
|
|
79
|
-
const providersWithChanges = tag.tagSupport.memory.providers.filter(provider => !deepEqual(provider.instance, provider.clone));
|
|
80
|
-
// reset clones
|
|
81
|
-
providersWithChanges.forEach(provider => {
|
|
82
|
-
const appElement = tag.getAppElement();
|
|
83
|
-
handleProviderChanges(appElement, provider);
|
|
84
|
-
provider.clone = deepClone(provider.instance);
|
|
85
|
-
});
|
|
86
|
-
}
|
|
87
|
-
function handleProviderChanges(appElement, provider) {
|
|
88
|
-
const tagsWithProvider = getTagsWithProvider(appElement, provider);
|
|
89
|
-
tagsWithProvider.forEach(({ tag, renderCount, provider }) => {
|
|
90
|
-
const unRendered = renderCount === tag.tagSupport.memory.renderCount;
|
|
91
|
-
if (unRendered) {
|
|
92
|
-
provider.clone = deepClone(provider.instance);
|
|
93
|
-
tag.tagSupport.render();
|
|
94
|
-
}
|
|
95
|
-
});
|
|
96
|
-
}
|
|
97
|
-
function getTagsWithProvider(tag, provider, memory = []) {
|
|
98
|
-
const hasProvider = tag.tagSupport.memory.providers.find(xProvider => xProvider.constructMethod === provider.constructMethod);
|
|
99
|
-
if (hasProvider) {
|
|
100
|
-
memory.push({
|
|
101
|
-
tag,
|
|
102
|
-
renderCount: tag.tagSupport.memory.renderCount,
|
|
103
|
-
provider: hasProvider
|
|
104
|
-
});
|
|
105
|
-
}
|
|
106
|
-
tag.children.forEach(child => getTagsWithProvider(child, provider, memory));
|
|
107
|
-
return memory;
|
|
108
|
-
}
|
|
109
|
-
export function hasTagSupportChanged(oldTagSupport, newTagSupport) {
|
|
110
|
-
const oldProps = oldTagSupport.props;
|
|
111
|
-
const latestProps = newTagSupport.props;
|
|
112
|
-
const oldClonedProps = oldTagSupport.latestClonedProps;
|
|
113
|
-
const propsChanged = hasPropChanges(latestProps, oldClonedProps, oldProps);
|
|
114
|
-
// if no changes detected, no need to continue to rendering further tags
|
|
115
|
-
if (propsChanged) {
|
|
116
|
-
return true;
|
|
117
|
-
}
|
|
118
|
-
const kidsChanged = hasKidsChanged(oldTagSupport, newTagSupport);
|
|
119
|
-
// we already know props didn't change and if kids didn't either, than don't render
|
|
120
|
-
return kidsChanged;
|
|
121
|
-
}
|
|
122
|
-
export function hasPropChanges(props, // natural props
|
|
123
|
-
pastCloneProps, // previously cloned props
|
|
124
|
-
compareToProps) {
|
|
125
|
-
const isCommonEqual = props === undefined && props === compareToProps;
|
|
126
|
-
const isEqual = isCommonEqual || deepEqual(pastCloneProps, props);
|
|
127
|
-
return !isEqual; // if equal then no changes
|
|
128
|
-
}
|
|
129
|
-
export function hasKidsChanged(oldTagSupport, newTagSupport) {
|
|
130
|
-
const oldCloneKidValues = oldTagSupport.lastClonedKidValues;
|
|
131
|
-
const newClonedKidValues = newTagSupport.lastClonedKidValues;
|
|
132
|
-
const everySame = oldCloneKidValues.every((set, index) => {
|
|
133
|
-
const x = newClonedKidValues[index];
|
|
134
|
-
return set.every((item, index) => item === x[index]);
|
|
135
|
-
});
|
|
136
|
-
return !everySame;
|
|
137
|
-
}
|
|
138
70
|
function cloneValueArray(values) {
|
|
139
71
|
return values.map((value) => {
|
|
140
72
|
const tag = value;
|
|
@@ -143,10 +75,7 @@ function cloneValueArray(values) {
|
|
|
143
75
|
}
|
|
144
76
|
if (isTagComponent(tag)) {
|
|
145
77
|
const tagComponent = tag;
|
|
146
|
-
|
|
147
|
-
throw 33;
|
|
148
|
-
}
|
|
149
|
-
return deepClone(tagComponent.tagSupport.latestClonedProps);
|
|
78
|
+
return deepClone(tagComponent.tagSupport.propsConfig.latestCloned);
|
|
150
79
|
}
|
|
151
80
|
if (isTagArray(tag)) {
|
|
152
81
|
return cloneValueArray(tag);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TagSupport.class.js","sourceRoot":"","sources":["../ts/TagSupport.class.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,SAAS,EAAE,
|
|
1
|
+
{"version":3,"file":"TagSupport.class.js","sourceRoot":"","sources":["../ts/TagSupport.class.ts"],"names":[],"mappings":"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"}
|
package/js/ValueSubject.d.ts
CHANGED
package/js/ValueSubject.js
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import { Subject } from './Subject.js';
|
|
2
2
|
export class ValueSubject extends Subject {
|
|
3
3
|
value;
|
|
4
|
-
constructor(
|
|
5
|
-
super();
|
|
6
|
-
this.value =
|
|
4
|
+
constructor(value) {
|
|
5
|
+
super(value);
|
|
6
|
+
this.value = value;
|
|
7
7
|
}
|
|
8
8
|
subscribe(callback) {
|
|
9
9
|
const unsubscribe = super.subscribe(callback);
|
package/js/ValueSubject.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ValueSubject.js","sourceRoot":"","sources":["../ts/ValueSubject.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAA;AAEtC,MAAM,OAAO,YAAgB,SAAQ,OAAU;
|
|
1
|
+
{"version":3,"file":"ValueSubject.js","sourceRoot":"","sources":["../ts/ValueSubject.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAA;AAEtC,MAAM,OAAO,YAAgB,SAAQ,OAAU;IAC1B;IAAnB,YAAmB,KAAQ;QACzB,KAAK,CAAC,KAAK,CAAC,CAAA;QADK,UAAK,GAAL,KAAK,CAAG;IAE3B,CAAC;IAED,SAAS,CAAC,QAAa;QACrB,MAAM,WAAW,GAAG,KAAK,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAA;QAE7C,uDAAuD;QACvD,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;QAEpB,OAAO,WAAW,CAAA;IACpB,CAAC;CACF"}
|
|
@@ -1,7 +1,8 @@
|
|
|
1
|
+
/** File largely responsible for reacting to element events, such as onclick */
|
|
1
2
|
import { Tag } from "./Tag.class.js";
|
|
2
3
|
type Callback = (...args: any[]) => any & {
|
|
3
4
|
isChildOverride?: true;
|
|
4
5
|
};
|
|
5
6
|
export declare function bindSubjectCallback(value: Callback, tag: Tag): Callback;
|
|
6
|
-
export declare function runTagCallback(value: Callback, tag: Tag, bindTo: unknown, args: any[]): Promise<string
|
|
7
|
+
export declare function runTagCallback(value: Callback, tag: Tag, bindTo: unknown, args: any[]): "no-data-ever" | Promise<string>;
|
|
7
8
|
export {};
|
|
@@ -1,27 +1,32 @@
|
|
|
1
|
+
/** File largely responsible for reacting to element events, such as onclick */
|
|
1
2
|
export function bindSubjectCallback(value, tag) {
|
|
2
3
|
// Is this children? No override needed
|
|
3
4
|
if (value.isChildOverride) {
|
|
4
5
|
return value;
|
|
5
6
|
}
|
|
6
|
-
|
|
7
|
-
return runTagCallback(value, tag, element, args);
|
|
8
|
-
}
|
|
7
|
+
const subjectFunction = (element, args) => runTagCallback(value, tag, element, args);
|
|
9
8
|
// link back to original. Mostly used for <div oninit ondestroy> animations
|
|
10
9
|
subjectFunction.tagFunction = value;
|
|
11
10
|
return subjectFunction;
|
|
12
11
|
}
|
|
13
12
|
export function runTagCallback(value, tag, bindTo, args) {
|
|
14
|
-
const
|
|
13
|
+
const tagSupport = tag.tagSupport;
|
|
14
|
+
const renderCount = tagSupport ? tagSupport.memory.renderCount : 0;
|
|
15
15
|
const method = value.bind(bindTo);
|
|
16
16
|
const callbackResult = method(...args);
|
|
17
|
-
|
|
18
|
-
|
|
17
|
+
const sameRenderCount = renderCount === tagSupport.memory.renderCount;
|
|
18
|
+
// TODO: need to restore this
|
|
19
|
+
if (tagSupport && !sameRenderCount) {
|
|
20
|
+
// return // already rendered
|
|
19
21
|
}
|
|
20
|
-
|
|
22
|
+
tagSupport.render();
|
|
21
23
|
if (callbackResult instanceof Promise) {
|
|
22
|
-
return callbackResult.then(() =>
|
|
24
|
+
return callbackResult.then(() => {
|
|
25
|
+
tagSupport.render();
|
|
26
|
+
return 'no-data-ever';
|
|
27
|
+
});
|
|
23
28
|
}
|
|
24
29
|
// Caller always expects a Promise
|
|
25
|
-
return
|
|
30
|
+
return 'no-data-ever';
|
|
26
31
|
}
|
|
27
32
|
//# sourceMappingURL=bindSubjectCallback.function.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bindSubjectCallback.function.js","sourceRoot":"","sources":["../ts/bindSubjectCallback.function.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"bindSubjectCallback.function.js","sourceRoot":"","sources":["../ts/bindSubjectCallback.function.ts"],"names":[],"mappings":"AAAA,+EAA+E;AAS/E,MAAM,UAAU,mBAAmB,CACjC,KAAe,EACf,GAAQ;IAER,uCAAuC;IACvC,IAAI,KAAa,CAAC,eAAe,EAAE,CAAC;QAClC,OAAO,KAAK,CAAA;IACd,CAAC;IAED,MAAM,eAAe,GAAG,CACtB,OAAgB,EAAE,IAAW,EAC7B,EAAE,CAAC,cAAc,CAAC,KAAK,EAAE,GAAG,EAAE,OAAO,EAAE,IAAI,CAAC,CAAA;IAE9C,2EAA2E;IAC3E,eAAe,CAAC,WAAW,GAAG,KAAK,CAAA;IAEnC,OAAO,eAAe,CAAA;AACxB,CAAC;AAED,MAAM,UAAU,cAAc,CAC5B,KAAe,EACf,GAAQ,EACR,MAAe,EACf,IAAW;IAEX,MAAM,UAAU,GAAG,GAAG,CAAC,UAAU,CAAA;IACjC,MAAM,WAAW,GAAG,UAAU,CAAC,CAAC,CAAC,UAAU,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAA;IAElE,MAAM,MAAM,GAAG,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;IACjC,MAAM,cAAc,GAAG,MAAM,CAAC,GAAG,IAAI,CAAC,CAAA;IAEtC,MAAM,eAAe,GAAG,WAAW,KAAK,UAAU,CAAC,MAAM,CAAC,WAAW,CAAA;IAErE,6BAA6B;IAC7B,IAAG,UAAU,IAAI,CAAC,eAAe,EAAE,CAAC;QAClC,6BAA6B;IAC/B,CAAC;IAED,UAAU,CAAC,MAAM,EAAE,CAAA;IAEnB,IAAG,cAAc,YAAY,OAAO,EAAE,CAAC;QACrC,OAAO,cAAc,CAAC,IAAI,CAAC,GAAG,EAAE;YAC9B,UAAU,CAAC,MAAM,EAAE,CAAA;YACnB,OAAO,cAAc,CAAA;QACvB,CAAC,CAAC,CAAA;IACJ,CAAC;IAED,kCAAkC;IAClC,OAAO,cAAc,CAAA;AACvB,CAAC"}
|
package/js/deepFunctions.js
CHANGED
|
@@ -40,7 +40,7 @@ export function deepEqual(obj1, obj2) {
|
|
|
40
40
|
return isDeepEqual(obj1, obj2, new WeakMap());
|
|
41
41
|
}
|
|
42
42
|
function isDeepEqual(obj1, obj2, visited) {
|
|
43
|
-
if (obj1 === obj2) {
|
|
43
|
+
if (obj1 === obj2 || isSameFunctions(obj1, obj2)) {
|
|
44
44
|
return true;
|
|
45
45
|
}
|
|
46
46
|
if (typeof obj1 !== 'object' ||
|
|
@@ -63,10 +63,11 @@ function isDeepEqual(obj1, obj2, visited) {
|
|
|
63
63
|
for (const key of keys1) {
|
|
64
64
|
const keyFound = keys2.includes(key);
|
|
65
65
|
if (!keyFound || !isDeepEqual(obj1[key], obj2[key], visited)) {
|
|
66
|
-
|
|
67
|
-
if
|
|
68
|
-
|
|
66
|
+
/*
|
|
67
|
+
if(isSameFunctions(obj1[key], obj2[key])) {
|
|
68
|
+
continue
|
|
69
69
|
}
|
|
70
|
+
*/
|
|
70
71
|
return false;
|
|
71
72
|
}
|
|
72
73
|
}
|
|
@@ -87,4 +88,8 @@ function isDeepEqual(obj1, obj2, visited) {
|
|
|
87
88
|
}
|
|
88
89
|
return true;
|
|
89
90
|
}
|
|
91
|
+
function isSameFunctions(fn0, fn1) {
|
|
92
|
+
const bothFunction = fn0 instanceof Function && fn1 instanceof Function;
|
|
93
|
+
return bothFunction && fn0.toString() === fn1.toString();
|
|
94
|
+
}
|
|
90
95
|
//# sourceMappingURL=deepFunctions.js.map
|
package/js/deepFunctions.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"deepFunctions.js","sourceRoot":"","sources":["../ts/deepFunctions.ts"],"names":[],"mappings":"AAAA,MAAM,UAAU,SAAS,CACvB,GAAQ;IAER,OAAO,aAAa,CAAC,GAAG,EAAE,IAAI,OAAO,EAAE,CAAC,CAAA;AAC1C,CAAC;AAED,SAAS,aAAa,CACpB,GAAQ,EACR,OAA0B;IAE1B,yDAAyD;IACzD,IAAI,GAAG,KAAK,IAAI,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE,CAAC;QAC5C,OAAO,GAAG,CAAC;IACb,CAAC;IAED,yDAAyD;IACzD,IAAI,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;QACrB,OAAO,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;IACzB,CAAC;IAED,4CAA4C;IAC5C,IAAI,GAAG,YAAY,IAAI,EAAE,CAAC;QACxB,OAAO,IAAI,IAAI,CAAC,GAAG,CAAC,CAAC;IACvB,CAAC;IAED,IAAI,GAAG,YAAY,MAAM,EAAE,CAAC;QAC1B,OAAO,IAAI,MAAM,CAAC,GAAG,CAAC,CAAC;IACzB,CAAC;IAED,0DAA0D;IAC1D,MAAM,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC,CAAC;IAElF,wDAAwD;IACxD,OAAO,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,CAAA;IAEvB,wDAAwD;IACxD,IAAI,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;QACvB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YACpC,KAAK,CAAC,CAAC,CAAC,GAAG,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,CAAA;QAC3C,CAAC;IACH,CAAC;SAAM,CAAC;QACN,KAAK,MAAM,GAAG,IAAI,GAAG,EAAE,CAAC;YACtB,IAAI,GAAG,CAAC,cAAc,CAAC,GAAG,CAAC,EAAE,CAAC;gBAC5B,KAAK,CAAC,GAAG,CAAC,GAAG,aAAa,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,OAAO,CAAC,CAAA;YAC/C,CAAC;QACH,CAAC;IACH,CAAC;IAED,OAAO,KAAK,CAAC;AACf,CAAC;AAED,MAAM,UAAU,SAAS,CACvB,IAAS,EACT,IAAS;IAET,OAAO,WAAW,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,OAAO,EAAE,CAAC,CAAA;AAC/C,CAAC;AAED,SAAS,WAAW,CAClB,IAAS,EACT,IAAS,EACT,OAA0B;IAE1B,IAAI,IAAI,KAAK,IAAI,EAAE,CAAC;
|
|
1
|
+
{"version":3,"file":"deepFunctions.js","sourceRoot":"","sources":["../ts/deepFunctions.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
export declare function elementDestroyCheck(nextSibling: Element & {
|
|
2
|
-
ondestroy?: (event: Event) =>
|
|
3
|
-
}, stagger: number):
|
|
1
|
+
export declare function elementDestroyCheck<T>(nextSibling: Element & {
|
|
2
|
+
ondestroy?: (event: Event) => T;
|
|
3
|
+
}, stagger: number): T | undefined;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"elementDestroyCheck.function.js","sourceRoot":"","sources":["../ts/elementDestroyCheck.function.ts"],"names":[],"mappings":"AAAA,MAAM,UAAU,mBAAmB,CACjC,
|
|
1
|
+
{"version":3,"file":"elementDestroyCheck.function.js","sourceRoot":"","sources":["../ts/elementDestroyCheck.function.ts"],"names":[],"mappings":"AAAA,MAAM,UAAU,mBAAmB,CACjC,WAAwD,EACxD,OAAe;IAEf,MAAM,mBAAmB,GAAG,WAAW,CAAC,SAAS,CAAA;IACjD,IAAG,CAAC,mBAAmB,EAAE,CAAC;QACxB,OAAM;IACR,CAAC;IAED,MAAM,aAAa,GAAI,mBAA2B,CAAC,WAAW,CAAA;IAC9D,IAAG,CAAC,aAAa,EAAE,CAAC;QAClB,OAAM;IACR,CAAC;IAED,MAAM,SAAS,GAAG,aAAa,CAAC,WAAW,CAAA;IAC3C,IAAG,CAAC,SAAS,EAAE,CAAC;QACd,OAAM;IACR,CAAC;IAED,MAAM,KAAK,GAAG,EAAC,MAAM,EAAE,WAAW,EAAE,OAAO,EAAqB,CAAA;IAChE,OAAO,SAAS,CAAC,KAAK,CAAC,CAAA;AACzB,CAAC"}
|
package/js/elementInitCheck.d.ts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
import { Counts } from "./interpolateTemplate.js";
|
|
2
|
-
export declare function elementInitCheck(nextSibling: Element | ChildNode, counts: Counts):
|
|
2
|
+
export declare function elementInitCheck(nextSibling: Element | ChildNode, counts: Counts): number;
|
package/js/elementInitCheck.js
CHANGED
|
@@ -1,18 +1,18 @@
|
|
|
1
1
|
export function elementInitCheck(nextSibling, counts) {
|
|
2
2
|
const onInitDoubleWrap = nextSibling.oninit;
|
|
3
3
|
if (!onInitDoubleWrap) {
|
|
4
|
-
return;
|
|
4
|
+
return counts.added;
|
|
5
5
|
}
|
|
6
6
|
const onInitWrap = onInitDoubleWrap.tagFunction;
|
|
7
7
|
if (!onInitWrap) {
|
|
8
|
-
return;
|
|
8
|
+
return counts.added;
|
|
9
9
|
}
|
|
10
10
|
const onInit = onInitWrap.tagFunction;
|
|
11
11
|
if (!onInit) {
|
|
12
|
-
return;
|
|
12
|
+
return counts.added;
|
|
13
13
|
}
|
|
14
14
|
const event = { target: nextSibling, stagger: counts.added };
|
|
15
15
|
onInit(event);
|
|
16
|
-
++counts.added;
|
|
16
|
+
return ++counts.added;
|
|
17
17
|
}
|
|
18
18
|
//# sourceMappingURL=elementInitCheck.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"elementInitCheck.js","sourceRoot":"","sources":["../ts/elementInitCheck.ts"],"names":[],"mappings":"AAGA,MAAM,UAAU,gBAAgB,CAC9B,WAAgC,EAChC,MAAc;IAEd,MAAM,gBAAgB,GAAI,WAAmB,CAAC,MAAM,CAAA;IACpD,IAAI,CAAC,gBAAgB,EAAE,CAAC;
|
|
1
|
+
{"version":3,"file":"elementInitCheck.js","sourceRoot":"","sources":["../ts/elementInitCheck.ts"],"names":[],"mappings":"AAGA,MAAM,UAAU,gBAAgB,CAC9B,WAAgC,EAChC,MAAc;IAEd,MAAM,gBAAgB,GAAI,WAAmB,CAAC,MAAM,CAAA;IACpD,IAAI,CAAC,gBAAgB,EAAE,CAAC;QACtB,OAAO,MAAM,CAAC,KAAK,CAAA;IACrB,CAAC;IAED,MAAM,UAAU,GAAG,gBAAgB,CAAC,WAAW,CAAA;IAC/C,IAAI,CAAC,UAAU,EAAE,CAAC;QAChB,OAAO,MAAM,CAAC,KAAK,CAAA;IACrB,CAAC;IAED,MAAM,MAAM,GAAG,UAAU,CAAC,WAAW,CAAA;IACrC,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,OAAO,MAAM,CAAC,KAAK,CAAA;IACrB,CAAC;IAED,MAAM,KAAK,GAAG,EAAE,MAAM,EAAE,WAAW,EAAE,OAAO,EAAE,MAAM,CAAC,KAAK,EAAwC,CAAA;IAClG,MAAM,CAAC,KAAK,CAAC,CAAA;IAEb,OAAO,EAAE,MAAM,CAAC,KAAK,CAAA;AACvB,CAAC"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { TagComponent } from "../index.js";
|
|
2
|
-
export declare function loadTagGateway(component: TagComponent): string;
|
|
1
|
+
import { Tag, TagChildrenInput, TagComponent } from "../index.js";
|
|
2
|
+
export declare function loadTagGateway(component: TagComponent | ((props?: any, children?: TagChildrenInput) => Tag)): string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"loadTagGateway.function.js","sourceRoot":"","sources":["../../ts/gateway/loadTagGateway.function.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,iBAAiB,EAAE,MAAM,4BAA4B,CAAA;AAC9D,OAAO,EAAE,aAAa,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAA;AAE/D,IAAI,oBAAoB,GAAG,KAAK,CAAA;AAEhC,MAAM,UAAU,cAAc,
|
|
1
|
+
{"version":3,"file":"loadTagGateway.function.js","sourceRoot":"","sources":["../../ts/gateway/loadTagGateway.function.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,iBAAiB,EAAE,MAAM,4BAA4B,CAAA;AAC9D,OAAO,EAAE,aAAa,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAA;AAE/D,IAAI,oBAAoB,GAAG,KAAK,CAAA;AAEhC,MAAM,UAAU,cAAc,CAC5B,SAA6E;IAE7E,IAAG,CAAC,oBAAoB,EAAE,CAAC;QACzB,IAAI,CAAC;YACH,iBAAiB,EAAE,CAAA;QACrB,CAAC;QAAC,OAAM,GAAG,EAAE,CAAC;YACZ,MAAM,GAAG,CAAA;QACX,CAAC;QAED,oBAAoB,GAAG,IAAI,CAAA;IAC7B,CAAC;IAED,MAAM,EAAE,GAAG,QAAQ,CAAC,SAAS,CAAC,CAAA;IAC9B,aAAa,CAAC,EAAE,CAAC,GAAG,SAAS,CAAA;IAC7B,OAAO,EAAE,CAAA;AACX,CAAC"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
import { TagComponent } from "../index.js";
|
|
2
|
-
export
|
|
1
|
+
import { TagComponent, TagComponentBase } from "../index.js";
|
|
2
|
+
export type TagGatewayComponent = TagComponent | TagComponentBase<[props: unknown]>;
|
|
3
|
+
export declare const tagGateway: (component: TagGatewayComponent) => {
|
|
3
4
|
id: string;
|
|
4
5
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tagGateway.function.js","sourceRoot":"","sources":["../../ts/gateway/tagGateway.function.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAA;AAE9D,MAAM,aAAa,GAAwB,EAAE,CAAA;
|
|
1
|
+
{"version":3,"file":"tagGateway.function.js","sourceRoot":"","sources":["../../ts/gateway/tagGateway.function.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAA;AAE9D,MAAM,aAAa,GAAwB,EAAE,CAAA;AAI7C,MAAM,CAAC,MAAM,UAAU,GAAG,SAAS,UAAU,CAC3C,SAA8B;IAE9B,MAAM,EAAE,GAAG,QAAQ,CAAC,SAAS,CAAC,CAAA;IAE9B,IAAG,aAAa,CAAC,EAAE,CAAC,EAAE,CAAC;QACrB,OAAO,aAAa,CAAC,EAAE,CAAC,CAAA;IAC1B,CAAC;IAED,IAAI,UAA0B,CAAA;IAC9B,IAAI,QAAQ,GAAG,CAAC,CAAA;IAChB,MAAM,QAAQ,GAAG,CAAC,CAAA;IAElB,SAAS,YAAY;QACnB,MAAM,QAAQ,GAAG,oBAAoB,CAAC,EAAE,EAAE,SAAS,CAAC,CAAA;QAEpD,IAAG,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC;YACpB,OAAO,QAAQ,CAAC,MAAM,CAAA;QACxB,CAAC;QAED,+BAA+B;QAC/B,IAAG,UAAU,EAAE,CAAC;YACd,aAAa,CAAC,UAAU,CAAC,CAAA;QAC3B,CAAC;QACD,OAAO,aAAa,CAAC,EAAE,CAAC,CAAA;QAExB,OAAO,QAAQ,CAAC,MAAM,CAAA;IACxB,CAAC;IAED,SAAS,WAAW;QAClB,UAAU,GAAG,WAAW,CAAC,GAAG,EAAE;YAC5B,QAAQ,GAAG,QAAQ,GAAG,QAAQ,CAAA;YAE9B,IAAG,QAAQ,IAAI,IAAI,EAAE,CAAC;gBACpB,aAAa,CAAC,UAAU,CAAC,CAAA;gBACzB,MAAM,IAAI,KAAK,CAAC,oBAAoB,EAAE,YAAY,CAAC,CAAA;YACrD,CAAC;YAED,YAAY,EAAE,CAAA;QAChB,CAAC,EAAE,QAAQ,CAAC,CAAA;IACd,CAAC;IAED,MAAM,aAAa,GAAG,YAAY,EAAE,CAAA;IACpC,IAAG,aAAa,EAAE,CAAC;QACjB,OAAO,EAAE,EAAE,EAAE,CAAA;IACf,CAAC;IAED,WAAW,EAAE,CAAA;IAEb,aAAa,CAAC,EAAE,CAAC,GAAG,EAAE,EAAE,EAAE,CAAA;IAE1B,OAAO,aAAa,CAAC,EAAE,CAAC,CAAA;AAC1B,CAAC,CAAA;AAED,SAAS,oBAAoB,CAC3B,EAAU,EACV,SAA8B;IAE9B,MAAM,QAAQ,GAAG,QAAQ,CAAC,gBAAgB,CAAC,GAAG,GAAG,EAAE,CAAC,CAAA;IACpD,OAAO,gBAAgB,CAAC,EAAE,EAAE,QAAQ,EAAE,SAAS,CAAC,CAAA;AAClD,CAAC;AAED,SAAS,gBAAgB,CACvB,EAAU,EACV,QAA6B,EAC7B,SAA8B;IAE9B,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,YAAY,CAAC,EAAE,EAAE,OAAO,EAAE,SAAS,CAAC,CAAC,CAAA;IAEjE,OAAO,QAAQ,CAAA;AACjB,CAAC"}
|
|
@@ -1,11 +1,12 @@
|
|
|
1
1
|
import { TagComponent, Tag } from "../index.js";
|
|
2
|
+
import { TagGatewayComponent } from "./tagGateway.function.js";
|
|
2
3
|
export declare const gatewayTagIds: {
|
|
3
4
|
[id: string]: TagComponent;
|
|
4
5
|
};
|
|
5
6
|
export declare function checkAllGateways(): void;
|
|
6
7
|
export declare function checkGateways(gateways: Gateway[]): void;
|
|
7
8
|
export declare function destroyGateway(gateway: Gateway): void;
|
|
8
|
-
export declare function getTagId(component:
|
|
9
|
+
export declare function getTagId(component: TagGatewayComponent): string;
|
|
9
10
|
export type EventData = {
|
|
10
11
|
detail: Record<string, any>;
|
|
11
12
|
};
|
|
@@ -14,8 +15,8 @@ export type Gateway = {
|
|
|
14
15
|
id: string;
|
|
15
16
|
observer: MutationObserver;
|
|
16
17
|
element: HTMLElement;
|
|
17
|
-
component:
|
|
18
|
+
component: TagGatewayComponent;
|
|
18
19
|
updateTag: () => unknown;
|
|
19
20
|
};
|
|
20
21
|
export declare function checkByElement(element: HTMLElement | Element): Gateway;
|
|
21
|
-
export declare function checkElement(id: string, element: Element, component:
|
|
22
|
+
export declare function checkElement(id: string, element: Element, component: TagGatewayComponent): Gateway;
|
|
@@ -62,30 +62,20 @@ function watchElement(id, targetNode, tag, component) {
|
|
|
62
62
|
}
|
|
63
63
|
for (const mutation of mutationsList) {
|
|
64
64
|
if (mutation.type === 'attributes') {
|
|
65
|
-
console.log('attributes changed');
|
|
66
65
|
updateTag();
|
|
67
66
|
}
|
|
68
67
|
}
|
|
69
68
|
});
|
|
70
69
|
function updateTag() {
|
|
71
70
|
const templater = tag.tagSupport.templater;
|
|
72
|
-
const oldProps = templater.tagSupport.
|
|
71
|
+
const oldProps = templater.tagSupport.propsConfig.latest;
|
|
73
72
|
const newProps = parsePropsString(targetNode);
|
|
74
|
-
templater.tagSupport.
|
|
73
|
+
templater.tagSupport.propsConfig.latest = newProps;
|
|
75
74
|
const isSameProps = JSON.stringify(oldProps) === JSON.stringify(newProps);
|
|
76
75
|
if (isSameProps) {
|
|
77
76
|
return; // no reason to update, same props
|
|
78
77
|
}
|
|
79
|
-
templater.tagSupport.
|
|
80
|
-
/*
|
|
81
|
-
onNextStateOnly(() => {
|
|
82
|
-
console.log('🔁 redrawing gateway')
|
|
83
|
-
const result = redrawTag(lastTag, templater)
|
|
84
|
-
|
|
85
|
-
// update records
|
|
86
|
-
gateway.tag = lastTag = result.retag
|
|
87
|
-
})
|
|
88
|
-
*/
|
|
78
|
+
templater.tagSupport.propsConfig.latest = newProps;
|
|
89
79
|
}
|
|
90
80
|
loadTagGateway(component);
|
|
91
81
|
const gateway = {
|
|
@@ -130,13 +120,11 @@ export function checkByElement(element) {
|
|
|
130
120
|
export function checkElement(id, element, component) {
|
|
131
121
|
const gateway = element.gateway;
|
|
132
122
|
if (gateway) {
|
|
133
|
-
console.log('drawing existing gateway =====');
|
|
134
123
|
gateway.updateTag();
|
|
135
124
|
return gateway;
|
|
136
125
|
}
|
|
137
126
|
const props = parsePropsString(element);
|
|
138
127
|
try {
|
|
139
|
-
console.log('tagging element ***');
|
|
140
128
|
const { tag } = tagElement(component, element, props);
|
|
141
129
|
// watch element AND add to gateways[id].push()
|
|
142
130
|
return watchElement(id, element, tag, component);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tagGateway.utils.js","sourceRoot":"","sources":["../../ts/gateway/tagGateway.utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAA2B,UAAU,EAAO,MAAM,aAAa,CAAA;AACtE,gDAAgD;AAChD,OAAO,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAA;
|
|
1
|
+
{"version":3,"file":"tagGateway.utils.js","sourceRoot":"","sources":["../../ts/gateway/tagGateway.utils.ts"],"names":[],"mappings":"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"}
|
package/js/getCallback.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { setUse } from "./setUse.function.js";
|
|
2
|
-
import { getStateValue } from "./
|
|
2
|
+
import { getStateValue } from "./set.function.js";
|
|
3
3
|
export let getCallback = () => (callback) => () => {
|
|
4
4
|
throw new Error('The real callback function was called and that should never occur');
|
|
5
5
|
};
|
package/js/getCallback.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getCallback.js","sourceRoot":"","sources":["../ts/getCallback.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAA;AAC7C,OAAO,EAA2B,aAAa,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"getCallback.js","sourceRoot":"","sources":["../ts/getCallback.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAA;AAC7C,OAAO,EAA2B,aAAa,EAAE,MAAM,mBAAmB,CAAA;AAI1E,MAAM,CAAC,IAAI,WAAW,GAAG,GAAG,EAAE,CAAC,CAAC,QAAkB,EAAE,EAAE,CAAC,GAAS,EAAE;IAChE,MAAM,IAAI,KAAK,CAAC,mEAAmE,CAAC,CAAA;AACtF,CAAC,CAAA;AAED,MAAM,CAAC;IACL,YAAY,EAAE,CAAC,UAAsB,EAAE,EAAE,CAAC,UAAU,CAAC,UAAU,CAAC;IAChE,YAAY,EAAE,CAAC,UAAsB,EAAE,EAAE,CAAC,UAAU,CAAC,UAAU,CAAC;IAChE,+CAA+C;CAChD,CAAC,CAAA;AAEF,SAAS,WAAW,CAClB,SAA2B,EAC3B,OAAyB;IAEzB,SAAS,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE;QACjC,MAAM,SAAS,GAAG,aAAa,CAAC,KAAK,CAAC,CAAA;QACtC,MAAM,QAAQ,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAA;QAExC,IAAG,QAAQ,EAAE,CAAC;YACZ,QAAQ,CAAE,SAAS,CAAE,CAAA,CAAC,gBAAgB;QACxC,CAAC;QAED,OAAO,CAAC,KAAK,CAAC,CAAC,SAAS,GAAG,SAAS,CAAA,CAAC,mBAAmB;IAC1D,CAAC,CAAC,CAAA;AACJ,CAAC;AAKD,SAAS,UAAU,CAAE,UAAsB;IACzC,WAAW,GAAG,GAAG,EAAE;QACjB,MAAM,QAAQ,GAAqB,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,KAAK,CAAA;QAElE,MAAM,aAAa,GAAkB,CACnC,QAAkB,EAClB,EAAE;YACF,MAAM,OAAO,GAAG,CAAC,GAAG,IAAW,EAAE,EAAE,CAAC,kBAAkB,CAAC,UAAU,EAAE,QAAQ,EAAE,QAAQ,EAAE,GAAG,IAAI,CAAC,CAAA;YAC/F,OAAO,OAAO,CAAA;QAChB,CAAC,CAAA;QAED,OAAO,aAAa,CAAA;IACtB,CAAC,CAAA;AACH,CAAC;AAED,SAAS,kBAAkB,CACzB,UAAsB,EACtB,QAAkB,EAClB,QAA0B,EAC1B,GAAG,IAAW;IAEd,MAAM,KAAK,GAAG,UAAU,CAAC,MAAM,CAAC,KAAc,CAAA;IAC9C,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM,CAAA;IAE3B,qDAAqD;IACrD,WAAW,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAA;IAE7B,mBAAmB;IACnB,MAAM,OAAO,GAAG,QAAQ,CAAC,GAAG,IAAI,CAAC,CAAA;IAEjC,gDAAgD;IAChD,WAAW,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAA;IAE7B,UAAU,CAAC,MAAM,EAAE,CAAA;IAEnB,2BAA2B;IAC3B,IAAG,OAAO,YAAY,OAAO,EAAE,CAAC;QAC9B,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE;YACnB,gDAAgD;YAChD,WAAW,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAA;YAE7B,UAAU,CAAC,MAAM,EAAE,CAAA;QACrB,CAAC,CAAC,CAAA;IACJ,CAAC;AACH,CAAC"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { Props } from "./Props.js";
|
|
2
|
+
import { TagSupport } from "./TagSupport.class.js";
|
|
3
|
+
export declare function hasTagSupportChanged(oldTagSupport: TagSupport, newTagSupport: TagSupport): boolean;
|
|
4
|
+
export declare function hasPropChanges(props: Props, // natural props
|
|
5
|
+
pastCloneProps: Props, // previously cloned props
|
|
6
|
+
compareToProps: Props): boolean;
|
|
7
|
+
export declare function hasKidsChanged(oldTagSupport: TagSupport, newTagSupport: TagSupport): boolean;
|
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
import { deepEqual } from "./deepFunctions.js";
|
|
2
|
+
export function hasTagSupportChanged(oldTagSupport, newTagSupport) {
|
|
3
|
+
if (oldTagSupport === newTagSupport) {
|
|
4
|
+
throw new Error('someting here');
|
|
5
|
+
}
|
|
6
|
+
const oldProps = oldTagSupport.propsConfig.latest;
|
|
7
|
+
const latestProps = newTagSupport.propsConfig.latest;
|
|
8
|
+
const oldClonedProps = oldTagSupport.propsConfig.latestCloned;
|
|
9
|
+
const propsChanged = hasPropChanges(latestProps, oldClonedProps, oldProps);
|
|
10
|
+
// if no changes detected, no need to continue to rendering further tags
|
|
11
|
+
if (propsChanged) {
|
|
12
|
+
return true;
|
|
13
|
+
}
|
|
14
|
+
const kidsChanged = hasKidsChanged(oldTagSupport, newTagSupport);
|
|
15
|
+
// we already know props didn't change and if kids didn't either, than don't render
|
|
16
|
+
return kidsChanged;
|
|
17
|
+
}
|
|
18
|
+
export function hasPropChanges(props, // natural props
|
|
19
|
+
pastCloneProps, // previously cloned props
|
|
20
|
+
compareToProps) {
|
|
21
|
+
const isCommonEqual = props === undefined && props === compareToProps;
|
|
22
|
+
if (isCommonEqual) {
|
|
23
|
+
return false;
|
|
24
|
+
}
|
|
25
|
+
let castedProps = props;
|
|
26
|
+
let castedPastProps = pastCloneProps;
|
|
27
|
+
// check all prop functions match
|
|
28
|
+
if (typeof (props) === 'object') {
|
|
29
|
+
if (!pastCloneProps) {
|
|
30
|
+
return true;
|
|
31
|
+
}
|
|
32
|
+
castedProps = { ...props };
|
|
33
|
+
castedPastProps = { ...(pastCloneProps || {}) };
|
|
34
|
+
const allFunctionsMatch = Object.entries(castedProps).every(([key, value]) => {
|
|
35
|
+
/*if(!(key in (castedPastProps as any))) {
|
|
36
|
+
return false
|
|
37
|
+
}*/
|
|
38
|
+
let compare = castedPastProps[key];
|
|
39
|
+
if (!(value instanceof Function)) {
|
|
40
|
+
return true; // this will be checked in deepEqual
|
|
41
|
+
}
|
|
42
|
+
if (!(compare instanceof Function)) {
|
|
43
|
+
return false; // its a function now but was not before
|
|
44
|
+
}
|
|
45
|
+
// ensure we are comparing apples to apples as function get wrapped
|
|
46
|
+
if (compare.original) {
|
|
47
|
+
compare = compare.original;
|
|
48
|
+
}
|
|
49
|
+
const original = value.original;
|
|
50
|
+
if (original) {
|
|
51
|
+
value = value.original;
|
|
52
|
+
}
|
|
53
|
+
if (value.toString() !== compare.toString()) {
|
|
54
|
+
return false; // both are function but not the same
|
|
55
|
+
}
|
|
56
|
+
delete castedProps[key]; // its a function and not needed to be compared
|
|
57
|
+
delete castedPastProps[key]; // its a function and not needed to be compared
|
|
58
|
+
return true;
|
|
59
|
+
});
|
|
60
|
+
if (!allFunctionsMatch) {
|
|
61
|
+
return true; // a change has been detected by function comparisons
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
const isEqual = deepEqual(pastCloneProps, props);
|
|
65
|
+
return !isEqual; // if equal then no changes
|
|
66
|
+
}
|
|
67
|
+
export function hasKidsChanged(oldTagSupport, newTagSupport) {
|
|
68
|
+
const oldCloneKidValues = oldTagSupport.propsConfig.lastClonedKidValues;
|
|
69
|
+
const newClonedKidValues = newTagSupport.propsConfig.lastClonedKidValues;
|
|
70
|
+
const everySame = oldCloneKidValues.every((set, index) => {
|
|
71
|
+
const x = newClonedKidValues[index];
|
|
72
|
+
return set.every((item, index) => item === x[index]);
|
|
73
|
+
});
|
|
74
|
+
return !everySame;
|
|
75
|
+
}
|
|
76
|
+
//# sourceMappingURL=hasTagSupportChanged.function.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"hasTagSupportChanged.function.js","sourceRoot":"","sources":["../ts/hasTagSupportChanged.function.ts"],"names":[],"mappings":"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"}
|