taggedjs 2.3.27 → 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/CustomError.d.ts +7 -0
- package/js/CustomError.js +9 -0
- package/js/CustomError.js.map +1 -0
- package/js/Errors.d.ts +14 -0
- package/js/Errors.js +21 -0
- package/js/Errors.js.map +1 -0
- package/js/Errors2.d.ts +14 -0
- package/js/Errors2.js +21 -0
- package/js/Errors2.js.map +1 -0
- package/js/Subject.d.ts +3 -2
- package/js/Subject.js +11 -7
- package/js/Subject.js.map +1 -1
- package/js/Tag.class.d.ts +6 -8
- package/js/Tag.class.js +35 -63
- package/js/Tag.class.js.map +1 -1
- package/js/Tag.utils.d.ts +9 -5
- package/js/Tag.utils.js +4 -16
- package/js/Tag.utils.js.map +1 -1
- package/js/TagSupport.class.d.ts +23 -0
- package/js/TagSupport.class.js +86 -0
- package/js/TagSupport.class.js.map +1 -0
- package/js/ValueSubject.d.ts +2 -2
- package/js/ValueSubject.js +3 -3
- package/js/ValueSubject.js.map +1 -1
- package/js/bindSubjectCallback.function.d.ts +6 -3
- package/js/bindSubjectCallback.function.js +25 -13
- 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 +5 -7
- package/js/gateway/tagGateway.utils.js.map +1 -1
- package/js/getCallback.js +1 -1
- package/js/getCallback.js.map +1 -1
- package/js/getTagSupport.d.ts +1 -2
- package/js/getTagSupport.js +7 -11
- package/js/getTagSupport.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 +17 -7
- package/js/index.js +16 -7
- 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/isInstance.d.ts +3 -2
- package/js/isInstance.js +3 -0
- package/js/isInstance.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 +5 -21
- package/js/processSubjectComponent.function.js.map +1 -1
- package/js/processSubjectValue.function.d.ts +6 -6
- package/js/processSubjectValue.function.js +33 -48
- package/js/processSubjectValue.function.js.map +1 -1
- package/js/processTagArray.d.ts +1 -0
- package/js/processTagArray.js +60 -24
- 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 -4
- 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 +2 -2
- package/js/state.d.ts +8 -6
- package/js/state.js +35 -15
- package/js/state.js.map +1 -1
- package/js/tag.d.ts +11 -6
- package/js/tag.js +84 -11
- package/js/tag.js.map +1 -1
- package/js/tagElement.d.ts +3 -2
- package/js/tagElement.js +21 -22
- package/js/tagElement.js.map +1 -1
- package/js/tagRunner.d.ts +1 -1
- package/js/templater.utils.d.ts +4 -5
- package/js/templater.utils.js +27 -24
- package/js/templater.utils.js.map +1 -1
- package/js/updateExistingTag.function.d.ts +4 -0
- package/js/updateExistingTag.function.js +15 -0
- package/js/updateExistingTag.function.js.map +1 -0
- package/js/updateExistingTagComponent.function.d.ts +4 -0
- package/js/updateExistingTagComponent.function.js +56 -0
- package/js/updateExistingTagComponent.function.js.map +1 -0
- package/js/updateExistingValue.function.d.ts +10 -0
- package/js/updateExistingValue.function.js +112 -0
- package/js/updateExistingValue.function.js.map +1 -0
- package/js/updateTag.utils.d.ts +1 -0
- package/js/updateTag.utils.js +5 -79
- package/js/updateTag.utils.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/deepFunctions.js
DELETED
|
@@ -1,76 +0,0 @@
|
|
|
1
|
-
export function deepClone(obj, visited = new WeakMap()) {
|
|
2
|
-
// If obj is a primitive type or null, return it directly
|
|
3
|
-
if (obj === null || typeof obj !== 'object') {
|
|
4
|
-
return obj;
|
|
5
|
-
}
|
|
6
|
-
// If obj is already visited, return the cloned reference
|
|
7
|
-
if (visited.has(obj)) {
|
|
8
|
-
return visited.get(obj);
|
|
9
|
-
}
|
|
10
|
-
// Handle special cases like Date and RegExp
|
|
11
|
-
if (obj instanceof Date) {
|
|
12
|
-
return new Date(obj);
|
|
13
|
-
}
|
|
14
|
-
if (obj instanceof RegExp) {
|
|
15
|
-
return new RegExp(obj);
|
|
16
|
-
}
|
|
17
|
-
// Create an empty object or array with the same prototype
|
|
18
|
-
const clone = Array.isArray(obj) ? [] : Object.create(Object.getPrototypeOf(obj));
|
|
19
|
-
// Register the cloned object to avoid cyclic references
|
|
20
|
-
visited.set(obj, clone);
|
|
21
|
-
// Clone each property or element of the object or array
|
|
22
|
-
if (Array.isArray(obj)) {
|
|
23
|
-
for (let i = 0; i < obj.length; i++) {
|
|
24
|
-
clone[i] = deepClone(obj[i], visited);
|
|
25
|
-
}
|
|
26
|
-
}
|
|
27
|
-
else {
|
|
28
|
-
for (const key in obj) {
|
|
29
|
-
if (obj.hasOwnProperty(key)) {
|
|
30
|
-
clone[key] = deepClone(obj[key], visited);
|
|
31
|
-
}
|
|
32
|
-
}
|
|
33
|
-
}
|
|
34
|
-
return clone;
|
|
35
|
-
}
|
|
36
|
-
export function deepEqual(obj1, obj2) {
|
|
37
|
-
if (obj1 === obj2) {
|
|
38
|
-
return true;
|
|
39
|
-
}
|
|
40
|
-
if (typeof obj1 !== 'object' ||
|
|
41
|
-
typeof obj2 !== 'object' ||
|
|
42
|
-
obj1 === null ||
|
|
43
|
-
obj2 === null) {
|
|
44
|
-
return false;
|
|
45
|
-
}
|
|
46
|
-
const keys1 = Object.keys(obj1);
|
|
47
|
-
const keys2 = Object.keys(obj2);
|
|
48
|
-
if (keys1.length !== keys2.length) {
|
|
49
|
-
return false;
|
|
50
|
-
}
|
|
51
|
-
for (const key of keys1) {
|
|
52
|
-
if (!keys2.includes(key) || !deepEqual(obj1[key], obj2[key])) {
|
|
53
|
-
if (obj1[key] instanceof Function && obj2[key] instanceof Function && obj1[key].toString() === obj2[key].toString()) {
|
|
54
|
-
continue;
|
|
55
|
-
}
|
|
56
|
-
return false;
|
|
57
|
-
}
|
|
58
|
-
}
|
|
59
|
-
// Check if obj1 and obj2 are both arrays
|
|
60
|
-
if (Array.isArray(obj1) && Array.isArray(obj2)) {
|
|
61
|
-
if (obj1.length !== obj2.length) {
|
|
62
|
-
return false;
|
|
63
|
-
}
|
|
64
|
-
for (let i = 0; i < obj1.length; i++) {
|
|
65
|
-
if (!deepEqual(obj1[i], obj2[i])) {
|
|
66
|
-
return false;
|
|
67
|
-
}
|
|
68
|
-
}
|
|
69
|
-
}
|
|
70
|
-
else if (Array.isArray(obj1) || Array.isArray(obj2)) {
|
|
71
|
-
// One is an array, and the other is not
|
|
72
|
-
return false;
|
|
73
|
-
}
|
|
74
|
-
return true;
|
|
75
|
-
}
|
|
76
|
-
//# sourceMappingURL=deepFunctions.js.map
|
package/_js/deepFunctions.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"deepFunctions.js","sourceRoot":"","sources":["../ts/deepFunctions.ts"],"names":[],"mappings":"AAAA,MAAM,UAAU,SAAS,CACvB,GAAQ,EACR,OAAO,GAAG,IAAI,OAAO,EAAE;IAEvB,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,CAAC;IAC1B,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,CAAC;IAExB,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,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC;QACxC,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,SAAS,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,OAAO,CAAC,CAAC;YAC5C,CAAC;QACH,CAAC;IACH,CAAC;IAED,OAAO,KAAK,CAAC;AACf,CAAC;AAED,MAAM,UAAU,SAAS,CAAC,IAAS,EAAE,IAAS;IAC5C,IAAI,IAAI,KAAK,IAAI,EAAE,CAAC;QAClB,OAAO,IAAI,CAAA;IACb,CAAC;IAED,IACE,OAAO,IAAI,KAAK,QAAQ;QACxB,OAAO,IAAI,KAAK,QAAQ;QACxB,IAAI,KAAK,IAAI;QACb,IAAI,KAAK,IAAI,EACb,CAAC;QACD,OAAO,KAAK,CAAA;IACd,CAAC;IAED,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;IAC/B,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;IAE/B,IAAI,KAAK,CAAC,MAAM,KAAK,KAAK,CAAC,MAAM,EAAE,CAAC;QAClC,OAAO,KAAK,CAAA;IACd,CAAC;IAED,KAAK,MAAM,GAAG,IAAI,KAAK,EAAE,CAAC;QACxB,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC;YAC7D,IAAG,IAAI,CAAC,GAAG,CAAC,YAAY,QAAQ,IAAI,IAAI,CAAC,GAAG,CAAC,YAAY,QAAQ,IAAI,IAAI,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,KAAK,IAAI,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC;gBACnH,SAAQ;YACV,CAAC;YACD,OAAO,KAAK,CAAA;QACd,CAAC;IACH,CAAC;IAED,yCAAyC;IACzC,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;QAC/C,IAAI,IAAI,CAAC,MAAM,KAAK,IAAI,CAAC,MAAM,EAAE,CAAC;YAChC,OAAO,KAAK,CAAA;QACd,CAAC;QAED,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YACrC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;gBACjC,OAAO,KAAK,CAAA;YACd,CAAC;QACH,CAAC;IACH,CAAC;SAAM,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;QACtD,wCAAwC;QACxC,OAAO,KAAK,CAAA;IACd,CAAC;IAED,OAAO,IAAI,CAAA;AACb,CAAC"}
|
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
export function elementDestroyCheck(nextSibling, stagger) {
|
|
2
|
-
const onDestroyDoubleWrap = nextSibling.ondestroy;
|
|
3
|
-
if (!onDestroyDoubleWrap) {
|
|
4
|
-
return;
|
|
5
|
-
}
|
|
6
|
-
const onDestroyWrap = onDestroyDoubleWrap.tagFunction;
|
|
7
|
-
if (!onDestroyWrap) {
|
|
8
|
-
return;
|
|
9
|
-
}
|
|
10
|
-
const onDestroy = onDestroyWrap.tagFunction;
|
|
11
|
-
if (!onDestroy) {
|
|
12
|
-
return;
|
|
13
|
-
}
|
|
14
|
-
const event = { target: nextSibling, stagger };
|
|
15
|
-
return onDestroy(event);
|
|
16
|
-
}
|
|
17
|
-
//# sourceMappingURL=elementDestroyCheck.function.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"elementDestroyCheck.function.js","sourceRoot":"","sources":["../ts/elementDestroyCheck.function.ts"],"names":[],"mappings":"AAAA,MAAM,UAAU,mBAAmB,CACjC,WAA0D,EAC1D,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.js
DELETED
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
export function elementInitCheck(nextSibling, counts) {
|
|
2
|
-
const onInitDoubleWrap = nextSibling.oninit;
|
|
3
|
-
if (!onInitDoubleWrap) {
|
|
4
|
-
return;
|
|
5
|
-
}
|
|
6
|
-
const onInitWrap = onInitDoubleWrap.tagFunction;
|
|
7
|
-
if (!onInitWrap) {
|
|
8
|
-
return;
|
|
9
|
-
}
|
|
10
|
-
const onInit = onInitWrap.tagFunction;
|
|
11
|
-
if (!onInit) {
|
|
12
|
-
return;
|
|
13
|
-
}
|
|
14
|
-
const event = { target: nextSibling, stagger: counts.added };
|
|
15
|
-
onInit(event);
|
|
16
|
-
++counts.added;
|
|
17
|
-
}
|
|
18
|
-
//# sourceMappingURL=elementInitCheck.js.map
|
|
@@ -1 +0,0 @@
|
|
|
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;QACpB,OAAM;IACV,CAAC;IAED,MAAM,UAAU,GAAG,gBAAgB,CAAC,WAAW,CAAA;IAC/C,IAAI,CAAC,UAAU,EAAE,CAAC;QACd,OAAM;IACV,CAAC;IAED,MAAM,MAAM,GAAG,UAAU,CAAC,WAAW,CAAA;IACrC,IAAI,CAAC,MAAM,EAAE,CAAC;QACV,OAAM;IACV,CAAC;IAED,MAAM,KAAK,GAAG,EAAE,MAAM,EAAE,WAAW,EAAE,OAAO,EAAE,MAAM,CAAC,KAAK,EAAwC,CAAA;IAClG,MAAM,CAAC,KAAK,CAAC,CAAA;IACb,EAAE,MAAM,CAAC,KAAK,CAAA;AAChB,CAAC"}
|
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
import { Gateway } from "./tagGateway.utils.js";
|
|
2
|
-
/** <tag-element id="" props="json-string" />
|
|
3
|
-
* For Angular @NgModule({schemas: [CUSTOM_ELEMENTS_SCHEMA]}) is required
|
|
4
|
-
*/
|
|
5
|
-
export declare class TagElement extends HTMLElement {
|
|
6
|
-
gateway: Gateway;
|
|
7
|
-
constructor();
|
|
8
|
-
disconnectedCallback(): void;
|
|
9
|
-
}
|
|
10
|
-
/** Call me one time */
|
|
11
|
-
export declare function initWebComponents(): void;
|
|
@@ -1,20 +0,0 @@
|
|
|
1
|
-
import { checkByElement, destroyGateway } from "./tagGateway.utils.js";
|
|
2
|
-
/** <tag-element id="" props="json-string" />
|
|
3
|
-
* For Angular @NgModule({schemas: [CUSTOM_ELEMENTS_SCHEMA]}) is required
|
|
4
|
-
*/
|
|
5
|
-
export class TagElement extends HTMLElement {
|
|
6
|
-
gateway;
|
|
7
|
-
constructor() {
|
|
8
|
-
super();
|
|
9
|
-
// attributes are not available right away
|
|
10
|
-
setTimeout(() => this.gateway = checkByElement(this), 0);
|
|
11
|
-
}
|
|
12
|
-
disconnectedCallback() {
|
|
13
|
-
destroyGateway(this.gateway);
|
|
14
|
-
}
|
|
15
|
-
}
|
|
16
|
-
/** Call me one time */
|
|
17
|
-
export function initWebComponents() {
|
|
18
|
-
customElements.define('tag-element', TagElement);
|
|
19
|
-
}
|
|
20
|
-
//# sourceMappingURL=gateway.web.component.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"gateway.web.component.js","sourceRoot":"","sources":["../../ts/gateway/gateway.web.component.ts"],"names":[],"mappings":"AAAA,OAAO,EAAW,cAAc,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAA;AAE/E;;GAEG;AACH,MAAM,OAAO,UAAW,SAAQ,WAAW;IACzC,OAAO,CAAU;IAEjB;QACE,KAAK,EAAE,CAAA;QACP,0CAA0C;QAC1C,UAAU,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,OAAO,GAAG,cAAc,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAA;IAC1D,CAAC;IAED,oBAAoB;QAClB,cAAc,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;IAC9B,CAAC;CACF;AAED,uBAAuB;AACvB,MAAM,UAAU,iBAAiB;IAC/B,cAAc,CAAC,MAAM,CAAC,aAAa,EAAE,UAAU,CAAC,CAAA;AAClD,CAAC"}
|
package/_js/gateway/index.d.ts
DELETED
package/_js/gateway/index.js
DELETED
package/_js/gateway/index.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../ts/gateway/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAA;AAC7D,OAAO,EAAE,iBAAiB,EAAE,MAAM,4BAA4B,CAAA;AAC9D,OAAO,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAA"}
|
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
import { initWebComponents } from "./gateway.web.component.js";
|
|
2
|
-
import { gatewayTagIds, getTagId } from "./tagGateway.utils.js";
|
|
3
|
-
let hasInitWebComponents = false;
|
|
4
|
-
export function loadTagGateway(component) {
|
|
5
|
-
if (!hasInitWebComponents) {
|
|
6
|
-
try {
|
|
7
|
-
initWebComponents();
|
|
8
|
-
}
|
|
9
|
-
catch (err) {
|
|
10
|
-
throw err;
|
|
11
|
-
}
|
|
12
|
-
hasInitWebComponents = true;
|
|
13
|
-
}
|
|
14
|
-
const id = getTagId(component);
|
|
15
|
-
gatewayTagIds[id] = component;
|
|
16
|
-
return id;
|
|
17
|
-
}
|
|
18
|
-
//# sourceMappingURL=loadTagGateway.function.js.map
|
|
@@ -1 +0,0 @@
|
|
|
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,CAAC,SAAuB;IACpD,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,49 +0,0 @@
|
|
|
1
|
-
import { checkElement, getTagId } from "./tagGateway.utils.js";
|
|
2
|
-
const namedTimeouts = {};
|
|
3
|
-
export const tagGateway = function tagGateway(component) {
|
|
4
|
-
const id = getTagId(component);
|
|
5
|
-
if (namedTimeouts[id]) {
|
|
6
|
-
return namedTimeouts[id];
|
|
7
|
-
}
|
|
8
|
-
let intervalId;
|
|
9
|
-
let hitCount = 0;
|
|
10
|
-
const interval = 5;
|
|
11
|
-
function findElements() {
|
|
12
|
-
const elements = checkTagElementsById(id, component);
|
|
13
|
-
if (!elements.length) {
|
|
14
|
-
return elements.length;
|
|
15
|
-
}
|
|
16
|
-
// Element has been found, load
|
|
17
|
-
if (intervalId) {
|
|
18
|
-
clearInterval(intervalId);
|
|
19
|
-
}
|
|
20
|
-
delete namedTimeouts[id];
|
|
21
|
-
return elements.length;
|
|
22
|
-
}
|
|
23
|
-
function findElement() {
|
|
24
|
-
intervalId = setInterval(() => {
|
|
25
|
-
hitCount = hitCount + interval;
|
|
26
|
-
if (hitCount >= 2000) {
|
|
27
|
-
clearInterval(intervalId);
|
|
28
|
-
throw new Error(`TaggedJs Element ${id} not found`);
|
|
29
|
-
}
|
|
30
|
-
findElements();
|
|
31
|
-
}, interval);
|
|
32
|
-
}
|
|
33
|
-
const elementCounts = findElements();
|
|
34
|
-
if (elementCounts) {
|
|
35
|
-
return { id };
|
|
36
|
-
}
|
|
37
|
-
findElement();
|
|
38
|
-
namedTimeouts[id] = { id };
|
|
39
|
-
return namedTimeouts[id];
|
|
40
|
-
};
|
|
41
|
-
function checkTagElementsById(id, component) {
|
|
42
|
-
const elements = document.querySelectorAll('#' + id);
|
|
43
|
-
return checkTagElements(id, elements, component);
|
|
44
|
-
}
|
|
45
|
-
function checkTagElements(id, elements, component) {
|
|
46
|
-
elements.forEach(element => checkElement(id, element, component));
|
|
47
|
-
return elements;
|
|
48
|
-
}
|
|
49
|
-
//# sourceMappingURL=tagGateway.function.js.map
|
|
@@ -1 +0,0 @@
|
|
|
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;AAE7C,MAAM,CAAC,MAAM,UAAU,GAAG,SAAS,UAAU,CAC3C,SAAuB;IAEvB,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,SAAuB;IAEvB,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,SAAuB;IAEvB,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,21 +0,0 @@
|
|
|
1
|
-
import { TagComponent, Tag } from "../index.js";
|
|
2
|
-
export declare const gatewayTagIds: {
|
|
3
|
-
[id: string]: TagComponent;
|
|
4
|
-
};
|
|
5
|
-
export declare function checkAllGateways(): void;
|
|
6
|
-
export declare function checkGateways(gateways: Gateway[]): void;
|
|
7
|
-
export declare function destroyGateway(gateway: Gateway): void;
|
|
8
|
-
export declare function getTagId(component: TagComponent): string;
|
|
9
|
-
export type EventData = {
|
|
10
|
-
detail: Record<string, any>;
|
|
11
|
-
};
|
|
12
|
-
export type Gateway = {
|
|
13
|
-
tag: Tag;
|
|
14
|
-
id: string;
|
|
15
|
-
observer: MutationObserver;
|
|
16
|
-
element: HTMLElement;
|
|
17
|
-
component: TagComponent;
|
|
18
|
-
updateTag: () => unknown;
|
|
19
|
-
};
|
|
20
|
-
export declare function checkByElement(element: HTMLElement | Element): Gateway;
|
|
21
|
-
export declare function checkElement(id: string, element: Element, component: TagComponent): Gateway;
|
|
@@ -1,139 +0,0 @@
|
|
|
1
|
-
import { redrawTag, tagElement } from "../index.js";
|
|
2
|
-
import { loadTagGateway } from "./loadTagGateway.function.js";
|
|
3
|
-
const gateways = {};
|
|
4
|
-
export const gatewayTagIds = {};
|
|
5
|
-
export function checkAllGateways() {
|
|
6
|
-
Object.entries(gateways).forEach(([id, gateways]) => checkGateways(gateways));
|
|
7
|
-
}
|
|
8
|
-
export function checkGateways(gateways) {
|
|
9
|
-
gateways.forEach(gateway => checkGateway(gateway));
|
|
10
|
-
}
|
|
11
|
-
function checkGateway(gateway) {
|
|
12
|
-
const { element } = gateway;
|
|
13
|
-
if (document.body.contains(element)) {
|
|
14
|
-
return; // its still good, do not continue to destroy
|
|
15
|
-
}
|
|
16
|
-
destroyGateway(gateway);
|
|
17
|
-
return false;
|
|
18
|
-
}
|
|
19
|
-
export function destroyGateway(gateway) {
|
|
20
|
-
const { id, observer, tag } = gateway;
|
|
21
|
-
observer.disconnect();
|
|
22
|
-
tag.destroy();
|
|
23
|
-
delete gateways[id];
|
|
24
|
-
}
|
|
25
|
-
export function getTagId(component) {
|
|
26
|
-
const componentString = functionToHtmlId(component);
|
|
27
|
-
return '__tagTemplate_' + componentString;
|
|
28
|
-
}
|
|
29
|
-
function parsePropsString(element) {
|
|
30
|
-
const propsString = element.getAttribute('props');
|
|
31
|
-
if (!propsString) {
|
|
32
|
-
return { element };
|
|
33
|
-
}
|
|
34
|
-
try {
|
|
35
|
-
const props = JSON.parse(propsString);
|
|
36
|
-
// attribute eventProps as output bindings
|
|
37
|
-
const eventPropsString = element.getAttribute('events');
|
|
38
|
-
if (eventPropsString) {
|
|
39
|
-
eventPropsString.split(',').map(x => x.trim()).map((name) => {
|
|
40
|
-
props[name] = (value) => dispatchEvent(name, { detail: { [name]: value } });
|
|
41
|
-
});
|
|
42
|
-
}
|
|
43
|
-
const dispatchEvent = function (name, eventData) {
|
|
44
|
-
const event = new CustomEvent(name, eventData);
|
|
45
|
-
element.dispatchEvent(event);
|
|
46
|
-
};
|
|
47
|
-
// props.dispatchEvent = dispatchEvent
|
|
48
|
-
return props;
|
|
49
|
-
}
|
|
50
|
-
catch (err) {
|
|
51
|
-
console.warn('Failed to parse props on element', { element, propsString });
|
|
52
|
-
throw err;
|
|
53
|
-
}
|
|
54
|
-
}
|
|
55
|
-
/** adds to gateways[id].push */
|
|
56
|
-
function watchElement(id, targetNode, tag, component) {
|
|
57
|
-
let lastTag = tag;
|
|
58
|
-
const observer = new MutationObserver(mutationsList => {
|
|
59
|
-
if (!checkGateway(gateway)) {
|
|
60
|
-
return;
|
|
61
|
-
}
|
|
62
|
-
for (const mutation of mutationsList) {
|
|
63
|
-
if (mutation.type === 'attributes') {
|
|
64
|
-
updateTag();
|
|
65
|
-
}
|
|
66
|
-
}
|
|
67
|
-
});
|
|
68
|
-
function updateTag() {
|
|
69
|
-
const templater = tag.tagSupport.templater;
|
|
70
|
-
const oldProps = templater.tagSupport.props;
|
|
71
|
-
const newProps = parsePropsString(targetNode);
|
|
72
|
-
templater.tagSupport.props = newProps;
|
|
73
|
-
const isSameProps = JSON.stringify(oldProps) === JSON.stringify(newProps);
|
|
74
|
-
if (isSameProps) {
|
|
75
|
-
return; // no reason to update, same props
|
|
76
|
-
}
|
|
77
|
-
templater.tagSupport.latestProps = newProps;
|
|
78
|
-
const result = redrawTag(lastTag, templater);
|
|
79
|
-
// update records
|
|
80
|
-
gateway.tag = lastTag = result.retag;
|
|
81
|
-
}
|
|
82
|
-
loadTagGateway(component);
|
|
83
|
-
const gateway = {
|
|
84
|
-
id, tag, observer, component, element: targetNode, updateTag,
|
|
85
|
-
};
|
|
86
|
-
gateways[id] = gateways[id] || [];
|
|
87
|
-
gateways[id].push(gateway);
|
|
88
|
-
targetNode.gateway = gateway;
|
|
89
|
-
// Configure the observer to watch for changes in child nodes and attributes
|
|
90
|
-
const config = { attributes: true };
|
|
91
|
-
// Start observing the target node for specified changes
|
|
92
|
-
observer.observe(targetNode, config);
|
|
93
|
-
return gateway;
|
|
94
|
-
}
|
|
95
|
-
function functionToHtmlId(func) {
|
|
96
|
-
// Convert function to string
|
|
97
|
-
let funcString = func.toString();
|
|
98
|
-
// Remove spaces and replace special characters with underscores
|
|
99
|
-
let cleanedString = funcString.replace(/\s+/g, '_')
|
|
100
|
-
.replace(/[^\w\d]/g, '_');
|
|
101
|
-
// Ensure the ID starts with a letter
|
|
102
|
-
if (!/^[a-zA-Z]/.test(cleanedString)) {
|
|
103
|
-
cleanedString = 'fn_' + cleanedString;
|
|
104
|
-
}
|
|
105
|
-
return cleanedString;
|
|
106
|
-
}
|
|
107
|
-
export function checkByElement(element) {
|
|
108
|
-
const id = element.id || element.getAttribute('id');
|
|
109
|
-
if (!id) {
|
|
110
|
-
const message = 'Cannot check a tag on element with no id attribute';
|
|
111
|
-
console.warn(message, { id, element });
|
|
112
|
-
throw new Error(message);
|
|
113
|
-
}
|
|
114
|
-
const component = gatewayTagIds[id];
|
|
115
|
-
if (!component) {
|
|
116
|
-
const message = `Cannot find a tag registered by id of ${id}`;
|
|
117
|
-
console.warn(message, { id, element });
|
|
118
|
-
throw new Error(message);
|
|
119
|
-
}
|
|
120
|
-
return checkElement(id, element, component);
|
|
121
|
-
}
|
|
122
|
-
export function checkElement(id, element, component) {
|
|
123
|
-
const gateway = element.gateway;
|
|
124
|
-
if (gateway) {
|
|
125
|
-
gateway.updateTag();
|
|
126
|
-
return gateway;
|
|
127
|
-
}
|
|
128
|
-
const props = parsePropsString(element);
|
|
129
|
-
try {
|
|
130
|
-
const { tag } = tagElement(component, element, props);
|
|
131
|
-
// watch element AND add to gateways[id].push()
|
|
132
|
-
return watchElement(id, element, tag, component);
|
|
133
|
-
}
|
|
134
|
-
catch (err) {
|
|
135
|
-
console.warn('Failed to render component to element', { component, element, props });
|
|
136
|
-
throw err;
|
|
137
|
-
}
|
|
138
|
-
}
|
|
139
|
-
//# sourceMappingURL=tagGateway.utils.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"tagGateway.utils.js","sourceRoot":"","sources":["../../ts/gateway/tagGateway.utils.ts"],"names":[],"mappings":"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"}
|
package/_js/getCallback.d.ts
DELETED
package/_js/getCallback.js
DELETED
|
@@ -1,50 +0,0 @@
|
|
|
1
|
-
import { setUse } from "./setUse.function.js";
|
|
2
|
-
import { getStateValue } from "./state.js";
|
|
3
|
-
export let getCallback = () => (callback) => () => {
|
|
4
|
-
throw new Error('The real callback function was called and that should never occur');
|
|
5
|
-
};
|
|
6
|
-
setUse({
|
|
7
|
-
beforeRender: (tagSupport) => initMemory(tagSupport),
|
|
8
|
-
beforeRedraw: (tagSupport) => initMemory(tagSupport),
|
|
9
|
-
// afterRender: (tagSupport: TagSupport) => {},
|
|
10
|
-
});
|
|
11
|
-
function updateState(stateFrom, stateTo) {
|
|
12
|
-
stateFrom.forEach((state, index) => {
|
|
13
|
-
const fromValue = getStateValue(state);
|
|
14
|
-
const callback = stateTo[index].callback;
|
|
15
|
-
if (callback) {
|
|
16
|
-
callback(fromValue); // set the value
|
|
17
|
-
}
|
|
18
|
-
stateTo[index].lastValue = fromValue; // record the value
|
|
19
|
-
});
|
|
20
|
-
}
|
|
21
|
-
function initMemory(tagSupport) {
|
|
22
|
-
getCallback = () => {
|
|
23
|
-
const oldState = setUse.memory.stateConfig.array;
|
|
24
|
-
const callbackMaker = (callback) => {
|
|
25
|
-
const trigger = (...args) => triggerStateUpdate(tagSupport, callback, oldState, ...args);
|
|
26
|
-
return trigger;
|
|
27
|
-
};
|
|
28
|
-
return callbackMaker;
|
|
29
|
-
};
|
|
30
|
-
}
|
|
31
|
-
function triggerStateUpdate(tagSupport, callback, oldState, ...args) {
|
|
32
|
-
const state = tagSupport.memory.state;
|
|
33
|
-
const newest = state.newest;
|
|
34
|
-
// ensure that the oldest has the latest values first
|
|
35
|
-
updateState(newest, oldState);
|
|
36
|
-
// run the callback
|
|
37
|
-
const promise = callback(...args);
|
|
38
|
-
// send the oldest state changes into the newest
|
|
39
|
-
updateState(oldState, newest);
|
|
40
|
-
tagSupport.render();
|
|
41
|
-
// TODO: turn back on below
|
|
42
|
-
if (promise instanceof Promise) {
|
|
43
|
-
promise.finally(() => {
|
|
44
|
-
// send the oldest state changes into the newest
|
|
45
|
-
updateState(oldState, newest);
|
|
46
|
-
tagSupport.render();
|
|
47
|
-
});
|
|
48
|
-
}
|
|
49
|
-
}
|
|
50
|
-
//# sourceMappingURL=getCallback.js.map
|
package/_js/getCallback.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
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,YAAY,CAAA;AAInE,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"}
|
package/_js/getTagSupport.d.ts
DELETED
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
import { Props } from "./Props.js";
|
|
2
|
-
import { Tag, TagMemory } from "./Tag.class.js";
|
|
3
|
-
import { TemplaterResult } from "./templater.utils.js";
|
|
4
|
-
export declare class TagSupport {
|
|
5
|
-
templater: TemplaterResult;
|
|
6
|
-
props?: unknown;
|
|
7
|
-
clonedProps: Props;
|
|
8
|
-
latestProps: Props;
|
|
9
|
-
latestClonedProps: Props;
|
|
10
|
-
memory: TagMemory;
|
|
11
|
-
constructor(templater: TemplaterResult, props?: unknown);
|
|
12
|
-
oldest?: Tag;
|
|
13
|
-
newest?: Tag;
|
|
14
|
-
hasPropChanges(props: any, // natural props
|
|
15
|
-
pastCloneProps: any, // previously cloned props
|
|
16
|
-
compareToProps: any): boolean;
|
|
17
|
-
mutatingRender(): Tag;
|
|
18
|
-
render(): Tag;
|
|
19
|
-
renderExistingTag(tag: Tag, newTemplater: TemplaterResult): boolean;
|
|
20
|
-
}
|
|
21
|
-
export declare function getTagSupport(templater: TemplaterResult, props?: Props): TagSupport;
|
package/_js/getTagSupport.js
DELETED
|
@@ -1,110 +0,0 @@
|
|
|
1
|
-
import { deepClone, deepEqual } from "./deepFunctions.js";
|
|
2
|
-
import { getNewProps } from "./templater.utils.js";
|
|
3
|
-
export class TagSupport {
|
|
4
|
-
templater;
|
|
5
|
-
props;
|
|
6
|
-
// props from **constructor** are converted for comparing over renders
|
|
7
|
-
clonedProps;
|
|
8
|
-
latestProps; // new props NOT cloned props
|
|
9
|
-
latestClonedProps;
|
|
10
|
-
memory = {
|
|
11
|
-
context: {}, // populated after reading interpolated.values array converted to an object {variable0, variable:1}
|
|
12
|
-
state: {
|
|
13
|
-
newest: [],
|
|
14
|
-
},
|
|
15
|
-
providers: [],
|
|
16
|
-
/** Indicator of re-rending. Saves from double rending something already rendered */
|
|
17
|
-
renderCount: 0,
|
|
18
|
-
};
|
|
19
|
-
constructor(templater, props) {
|
|
20
|
-
this.templater = templater;
|
|
21
|
-
this.props = props;
|
|
22
|
-
this.latestProps = props; // getNewProps(props, templater)
|
|
23
|
-
const latestProps = getNewProps(props, templater);
|
|
24
|
-
this.latestClonedProps = deepClone(latestProps);
|
|
25
|
-
this.clonedProps = this.latestClonedProps;
|
|
26
|
-
}
|
|
27
|
-
// TODO: these below may not be in use
|
|
28
|
-
oldest;
|
|
29
|
-
newest;
|
|
30
|
-
hasPropChanges(props, // natural props
|
|
31
|
-
pastCloneProps, // previously cloned props
|
|
32
|
-
compareToProps) {
|
|
33
|
-
const oldProps = this.props;
|
|
34
|
-
const isCommonEqual = props === undefined && props === compareToProps;
|
|
35
|
-
const isEqual = isCommonEqual || deepEqual(pastCloneProps, oldProps);
|
|
36
|
-
return !isEqual;
|
|
37
|
-
}
|
|
38
|
-
mutatingRender() {
|
|
39
|
-
const message = 'Tag function "render()" was called in sync but can only be called async';
|
|
40
|
-
console.error(message, { tagSupport: this });
|
|
41
|
-
throw new Error(message);
|
|
42
|
-
} // loaded later and only callable async
|
|
43
|
-
render() {
|
|
44
|
-
++this.memory.renderCount;
|
|
45
|
-
return this.mutatingRender();
|
|
46
|
-
} // ensure this function still works even during deconstructing
|
|
47
|
-
renderExistingTag(tag, newTemplater) {
|
|
48
|
-
const preRenderCount = this.memory.renderCount;
|
|
49
|
-
providersChangeCheck(tag);
|
|
50
|
-
// When the providers were checked, a render to myself occurred and I do not need to re-render again
|
|
51
|
-
if (preRenderCount !== this.memory.renderCount) {
|
|
52
|
-
return true;
|
|
53
|
-
}
|
|
54
|
-
const oldTemplater = tag.tagSupport.templater;
|
|
55
|
-
const nowProps = newTemplater.tagSupport.props; // natural props
|
|
56
|
-
const oldProps = oldTemplater?.tagSupport.props; // previously cloned props
|
|
57
|
-
const newProps = newTemplater.tagSupport.clonedProps; // new props cloned
|
|
58
|
-
console.log('rendering existing tag');
|
|
59
|
-
return renderTag(this, nowProps, oldProps, newProps, this.templater);
|
|
60
|
-
}
|
|
61
|
-
}
|
|
62
|
-
export function getTagSupport(templater, props) {
|
|
63
|
-
const tagSupport = new TagSupport(templater, props);
|
|
64
|
-
return tagSupport;
|
|
65
|
-
}
|
|
66
|
-
function providersChangeCheck(tag) {
|
|
67
|
-
const providersWithChanges = tag.tagSupport.memory.providers.filter(provider => {
|
|
68
|
-
return !deepEqual(provider.instance, provider.clone);
|
|
69
|
-
});
|
|
70
|
-
// reset clones
|
|
71
|
-
providersWithChanges.forEach(provider => {
|
|
72
|
-
const appElement = tag.getAppElement();
|
|
73
|
-
handleProviderChanges(appElement, provider);
|
|
74
|
-
provider.clone = deepClone(provider.instance);
|
|
75
|
-
});
|
|
76
|
-
}
|
|
77
|
-
function handleProviderChanges(appElement, provider) {
|
|
78
|
-
const tagsWithProvider = getTagsWithProvider(appElement, provider);
|
|
79
|
-
tagsWithProvider.forEach(({ tag, renderCount, provider }) => {
|
|
80
|
-
const unRendered = renderCount === tag.tagSupport.memory.renderCount;
|
|
81
|
-
if (unRendered) {
|
|
82
|
-
provider.clone = deepClone(provider.instance);
|
|
83
|
-
tag.tagSupport.render();
|
|
84
|
-
}
|
|
85
|
-
});
|
|
86
|
-
}
|
|
87
|
-
function getTagsWithProvider(tag, provider, memory = []) {
|
|
88
|
-
const hasProvider = tag.tagSupport.memory.providers.find(xProvider => xProvider.constructMethod === provider.constructMethod);
|
|
89
|
-
if (hasProvider) {
|
|
90
|
-
memory.push({
|
|
91
|
-
tag,
|
|
92
|
-
renderCount: tag.tagSupport.memory.renderCount,
|
|
93
|
-
provider: hasProvider
|
|
94
|
-
});
|
|
95
|
-
}
|
|
96
|
-
tag.children.forEach(child => getTagsWithProvider(child, provider, memory));
|
|
97
|
-
return memory;
|
|
98
|
-
}
|
|
99
|
-
function renderTag(tagSupport, nowProps, // natural props
|
|
100
|
-
oldProps, // previously NOT cloned props
|
|
101
|
-
newProps, // now props cloned
|
|
102
|
-
templater) {
|
|
103
|
-
const hasPropsChanged = tagSupport.hasPropChanges(nowProps, newProps, oldProps);
|
|
104
|
-
tagSupport.newest = templater.redraw(); // No change detected, just redraw me only
|
|
105
|
-
if (!hasPropsChanged) {
|
|
106
|
-
return true;
|
|
107
|
-
}
|
|
108
|
-
return false;
|
|
109
|
-
}
|
|
110
|
-
//# sourceMappingURL=getTagSupport.js.map
|