taggedjs 2.3.26 → 2.3.28
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 +1 -1
- package/js/Tag.class.d.ts +5 -4
- package/js/Tag.class.js +8 -9
- package/js/Tag.class.js.map +1 -1
- package/js/Tag.utils.d.ts +2 -2
- package/js/Tag.utils.js +2 -14
- package/js/Tag.utils.js.map +1 -1
- package/js/TagSupport.class.d.ts +27 -0
- package/js/TagSupport.class.js +157 -0
- package/js/TagSupport.class.js.map +1 -0
- package/js/ValueSubject.d.ts +2 -2
- package/js/ValueSubject.js.map +1 -1
- package/js/bindSubjectCallback.function.d.ts +5 -3
- package/js/bindSubjectCallback.function.js +19 -12
- package/js/bindSubjectCallback.function.js.map +1 -1
- package/js/deepFunctions.d.ts +1 -1
- package/js/deepFunctions.js +20 -6
- package/js/deepFunctions.js.map +1 -1
- package/js/gateway/tagGateway.utils.js +14 -4
- package/js/gateway/tagGateway.utils.js.map +1 -1
- package/js/getTagSupport.d.ts +1 -2
- package/js/getTagSupport.js +26 -21
- package/js/getTagSupport.js.map +1 -1
- package/js/index.d.ts +13 -5
- package/js/index.js +12 -6
- package/js/index.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/processSubjectComponent.function.js +6 -5
- package/js/processSubjectComponent.function.js.map +1 -1
- package/js/processSubjectValue.function.d.ts +0 -1
- package/js/processSubjectValue.function.js +5 -6
- package/js/processSubjectValue.function.js.map +1 -1
- package/js/processTagArray.js +15 -9
- package/js/processTagArray.js.map +1 -1
- package/js/redrawTag.function.js +3 -2
- package/js/redrawTag.function.js.map +1 -1
- package/js/setUse.function.d.ts +1 -1
- package/js/state.d.ts +1 -0
- package/js/state.js +21 -3
- package/js/state.js.map +1 -1
- package/js/tag.d.ts +5 -4
- package/js/tag.js +48 -9
- package/js/tag.js.map +1 -1
- package/js/tagElement.d.ts +1 -1
- package/js/tagElement.js +6 -14
- package/js/tagElement.js.map +1 -1
- package/js/tagRunner.d.ts +1 -1
- package/js/templater.utils.d.ts +6 -4
- package/js/templater.utils.js +8 -6
- package/js/templater.utils.js.map +1 -1
- package/js/updateExistingTag.function.d.ts +4 -0
- package/js/updateExistingTag.function.js +21 -0
- package/js/updateExistingTag.function.js.map +1 -0
- package/js/updateExistingTagComponent.function.d.ts +4 -0
- package/js/updateExistingTagComponent.function.js +57 -0
- package/js/updateExistingTagComponent.function.js.map +1 -0
- package/js/updateExistingValue.function.d.ts +8 -0
- package/js/updateExistingValue.function.js +83 -0
- package/js/updateExistingValue.function.js.map +1 -0
- package/js/updateTag.utils.d.ts +1 -0
- package/js/updateTag.utils.js +5 -69
- package/js/updateTag.utils.js.map +1 -1
- package/package.json +1 -1
package/js/ValueSubject.d.ts
CHANGED
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;IAC7C,KAAK,
|
|
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;IAC7C,KAAK,CAAG;IAER,YAAY,YAAe;QACzB,KAAK,EAAE,CAAA;QACP,IAAI,CAAC,KAAK,GAAG,YAAY,CAAA;IAC3B,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,5 +1,7 @@
|
|
|
1
1
|
import { Tag } from "./Tag.class.js";
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
tagFunction: (...args: any[]) => any;
|
|
2
|
+
type Callback = (...args: any[]) => any & {
|
|
3
|
+
isChildOverride?: true;
|
|
5
4
|
};
|
|
5
|
+
export declare function bindSubjectCallback(value: Callback, tag: Tag): Callback;
|
|
6
|
+
export declare function runTagCallback(value: Callback, tag: Tag, bindTo: unknown, args: any[]): Promise<string> | undefined;
|
|
7
|
+
export {};
|
|
@@ -1,20 +1,27 @@
|
|
|
1
1
|
export function bindSubjectCallback(value, tag) {
|
|
2
|
+
// Is this children? No override needed
|
|
3
|
+
if (value.isChildOverride) {
|
|
4
|
+
return value;
|
|
5
|
+
}
|
|
2
6
|
function subjectFunction(element, args) {
|
|
3
|
-
|
|
4
|
-
const method = value.bind(element);
|
|
5
|
-
const callbackResult = method(...args);
|
|
6
|
-
if (renderCount !== tag.tagSupport.memory.renderCount) {
|
|
7
|
-
return; // already rendered
|
|
8
|
-
}
|
|
9
|
-
tag.tagSupport.render();
|
|
10
|
-
if (callbackResult instanceof Promise) {
|
|
11
|
-
return callbackResult.then(() => tag.tagSupport.render() && 'no-data-ever');
|
|
12
|
-
}
|
|
13
|
-
// Caller always expects a Promise
|
|
14
|
-
return Promise.resolve(callbackResult).then(() => 'no-data-ever');
|
|
7
|
+
return runTagCallback(value, tag, element, args);
|
|
15
8
|
}
|
|
16
9
|
// link back to original. Mostly used for <div oninit ondestroy> animations
|
|
17
10
|
subjectFunction.tagFunction = value;
|
|
18
11
|
return subjectFunction;
|
|
19
12
|
}
|
|
13
|
+
export function runTagCallback(value, tag, bindTo, args) {
|
|
14
|
+
const renderCount = tag.tagSupport.memory.renderCount;
|
|
15
|
+
const method = value.bind(bindTo);
|
|
16
|
+
const callbackResult = method(...args);
|
|
17
|
+
if (renderCount !== tag.tagSupport.memory.renderCount) {
|
|
18
|
+
return; // already rendered
|
|
19
|
+
}
|
|
20
|
+
tag.tagSupport.render();
|
|
21
|
+
if (callbackResult instanceof Promise) {
|
|
22
|
+
return callbackResult.then(() => tag.tagSupport.render() && 'no-data-ever');
|
|
23
|
+
}
|
|
24
|
+
// Caller always expects a Promise
|
|
25
|
+
return Promise.resolve(callbackResult).then(() => 'no-data-ever');
|
|
26
|
+
}
|
|
20
27
|
//# 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":"AAMA,MAAM,UAAU,mBAAmB,CACjC,KAAe,EACf,GAAQ;IAER,uCAAuC;IACvC,IAAI,KAAa,CAAC,eAAe,EAAE,CAAC;QAClC,OAAO,KAAK,CAAA;IACd,CAAC;IAED,SAAS,eAAe,CACtB,OAAgB,EAChB,IAAW;QAEX,OAAO,cAAc,CAAC,KAAK,EAAE,GAAG,EAAE,OAAO,EAAE,IAAI,CAAC,CAAA;IAClD,CAAC;IAED,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,WAAW,GAAG,GAAG,CAAC,UAAU,CAAC,MAAM,CAAC,WAAW,CAAA;IACrD,MAAM,MAAM,GAAG,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;IACjC,MAAM,cAAc,GAAG,MAAM,CAAC,GAAG,IAAI,CAAC,CAAA;IAEtC,IAAG,WAAW,KAAK,GAAG,CAAC,UAAU,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC;QACrD,OAAM,CAAC,mBAAmB;IAC5B,CAAC;IAED,GAAG,CAAC,UAAU,CAAC,MAAM,EAAE,CAAA;IAEvB,IAAG,cAAc,YAAY,OAAO,EAAE,CAAC;QACrC,OAAO,cAAc,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,UAAU,CAAC,MAAM,EAAE,IAAI,cAAc,CAAC,CAAA;IAC7E,CAAC;IAED,kCAAkC;IAClC,OAAO,OAAO,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,cAAc,CAAC,CAAA;AACnE,CAAC"}
|
package/js/deepFunctions.d.ts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export declare function deepClone(obj: any
|
|
1
|
+
export declare function deepClone(obj: any): any;
|
|
2
2
|
export declare function deepEqual(obj1: any, obj2: any): boolean;
|
package/js/deepFunctions.js
CHANGED
|
@@ -1,4 +1,7 @@
|
|
|
1
|
-
export function deepClone(obj
|
|
1
|
+
export function deepClone(obj) {
|
|
2
|
+
return makeDeepClone(obj, new WeakMap());
|
|
3
|
+
}
|
|
4
|
+
function makeDeepClone(obj, visited) {
|
|
2
5
|
// If obj is a primitive type or null, return it directly
|
|
3
6
|
if (obj === null || typeof obj !== 'object') {
|
|
4
7
|
return obj;
|
|
@@ -21,19 +24,22 @@ export function deepClone(obj, visited = new WeakMap()) {
|
|
|
21
24
|
// Clone each property or element of the object or array
|
|
22
25
|
if (Array.isArray(obj)) {
|
|
23
26
|
for (let i = 0; i < obj.length; i++) {
|
|
24
|
-
clone[i] =
|
|
27
|
+
clone[i] = makeDeepClone(obj[i], visited);
|
|
25
28
|
}
|
|
26
29
|
}
|
|
27
30
|
else {
|
|
28
31
|
for (const key in obj) {
|
|
29
32
|
if (obj.hasOwnProperty(key)) {
|
|
30
|
-
clone[key] =
|
|
33
|
+
clone[key] = makeDeepClone(obj[key], visited);
|
|
31
34
|
}
|
|
32
35
|
}
|
|
33
36
|
}
|
|
34
37
|
return clone;
|
|
35
38
|
}
|
|
36
39
|
export function deepEqual(obj1, obj2) {
|
|
40
|
+
return isDeepEqual(obj1, obj2, new WeakMap());
|
|
41
|
+
}
|
|
42
|
+
function isDeepEqual(obj1, obj2, visited) {
|
|
37
43
|
if (obj1 === obj2) {
|
|
38
44
|
return true;
|
|
39
45
|
}
|
|
@@ -48,9 +54,17 @@ export function deepEqual(obj1, obj2) {
|
|
|
48
54
|
if (keys1.length !== keys2.length) {
|
|
49
55
|
return false;
|
|
50
56
|
}
|
|
57
|
+
// If obj is already visited, return the cloned reference
|
|
58
|
+
if (visited.has(obj1)) {
|
|
59
|
+
return true;
|
|
60
|
+
}
|
|
61
|
+
// Register the cloned object to avoid cyclic references
|
|
62
|
+
visited.set(obj1, 0);
|
|
51
63
|
for (const key of keys1) {
|
|
52
|
-
|
|
53
|
-
|
|
64
|
+
const keyFound = keys2.includes(key);
|
|
65
|
+
if (!keyFound || !isDeepEqual(obj1[key], obj2[key], visited)) {
|
|
66
|
+
const bothFunction = obj1[key] instanceof Function && obj2[key] instanceof Function;
|
|
67
|
+
if (bothFunction && obj1[key].toString() === obj2[key].toString()) {
|
|
54
68
|
continue;
|
|
55
69
|
}
|
|
56
70
|
return false;
|
|
@@ -62,7 +76,7 @@ export function deepEqual(obj1, obj2) {
|
|
|
62
76
|
return false;
|
|
63
77
|
}
|
|
64
78
|
for (let i = 0; i < obj1.length; i++) {
|
|
65
|
-
if (!
|
|
79
|
+
if (!isDeepEqual(obj1[i], obj2[i], visited)) {
|
|
66
80
|
return false;
|
|
67
81
|
}
|
|
68
82
|
}
|
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,
|
|
1
|
+
{"version":3,"file":"deepFunctions.js","sourceRoot":"","sources":["../ts/deepFunctions.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { tagElement } from "../index.js";
|
|
2
|
+
// import { onNextStateOnly } from "../state.js"
|
|
2
3
|
import { loadTagGateway } from "./loadTagGateway.function.js";
|
|
3
4
|
const gateways = {};
|
|
4
5
|
export const gatewayTagIds = {};
|
|
@@ -61,6 +62,7 @@ function watchElement(id, targetNode, tag, component) {
|
|
|
61
62
|
}
|
|
62
63
|
for (const mutation of mutationsList) {
|
|
63
64
|
if (mutation.type === 'attributes') {
|
|
65
|
+
console.log('attributes changed');
|
|
64
66
|
updateTag();
|
|
65
67
|
}
|
|
66
68
|
}
|
|
@@ -75,9 +77,15 @@ function watchElement(id, targetNode, tag, component) {
|
|
|
75
77
|
return; // no reason to update, same props
|
|
76
78
|
}
|
|
77
79
|
templater.tagSupport.latestProps = newProps;
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
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
|
+
*/
|
|
81
89
|
}
|
|
82
90
|
loadTagGateway(component);
|
|
83
91
|
const gateway = {
|
|
@@ -122,11 +130,13 @@ export function checkByElement(element) {
|
|
|
122
130
|
export function checkElement(id, element, component) {
|
|
123
131
|
const gateway = element.gateway;
|
|
124
132
|
if (gateway) {
|
|
133
|
+
console.log('drawing existing gateway =====');
|
|
125
134
|
gateway.updateTag();
|
|
126
135
|
return gateway;
|
|
127
136
|
}
|
|
128
137
|
const props = parsePropsString(element);
|
|
129
138
|
try {
|
|
139
|
+
console.log('tagging element ***');
|
|
130
140
|
const { tag } = tagElement(component, element, props);
|
|
131
141
|
// watch element AND add to gateways[id].push()
|
|
132
142
|
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,
|
|
1
|
+
{"version":3,"file":"tagGateway.utils.js","sourceRoot":"","sources":["../../ts/gateway/tagGateway.utils.ts"],"names":[],"mappings":"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"}
|
package/js/getTagSupport.d.ts
CHANGED
|
@@ -4,9 +4,9 @@ import { TemplaterResult } from "./templater.utils.js";
|
|
|
4
4
|
export declare class TagSupport {
|
|
5
5
|
templater: TemplaterResult;
|
|
6
6
|
props?: unknown;
|
|
7
|
-
clonedProps: Props;
|
|
8
7
|
latestProps: Props;
|
|
9
8
|
latestClonedProps: Props;
|
|
9
|
+
clonedProps: Props;
|
|
10
10
|
memory: TagMemory;
|
|
11
11
|
constructor(templater: TemplaterResult, props?: unknown);
|
|
12
12
|
oldest?: Tag;
|
|
@@ -18,4 +18,3 @@ export declare class TagSupport {
|
|
|
18
18
|
render(): Tag;
|
|
19
19
|
renderExistingTag(tag: Tag, newTemplater: TemplaterResult): boolean;
|
|
20
20
|
}
|
|
21
|
-
export declare function getTagSupport(templater: TemplaterResult, props?: Props): TagSupport;
|
package/js/getTagSupport.js
CHANGED
|
@@ -1,12 +1,14 @@
|
|
|
1
1
|
import { deepClone, deepEqual } from "./deepFunctions.js";
|
|
2
|
-
import {
|
|
2
|
+
import { isTagInstance } from "./isInstance.js";
|
|
3
|
+
import { alterProps } from "./templater.utils.js";
|
|
3
4
|
export class TagSupport {
|
|
4
5
|
templater;
|
|
5
6
|
props;
|
|
7
|
+
latestProps; // new props NOT cloned props
|
|
6
8
|
// props from **constructor** are converted for comparing over renders
|
|
9
|
+
latestClonedProps; // This seems to be a duplicate of clonedProps
|
|
10
|
+
// TODO: see if we can remove
|
|
7
11
|
clonedProps;
|
|
8
|
-
latestProps; // new props NOT cloned props
|
|
9
|
-
latestClonedProps;
|
|
10
12
|
memory = {
|
|
11
13
|
context: {}, // populated after reading interpolated.values array converted to an object {variable0, variable:1}
|
|
12
14
|
state: {
|
|
@@ -19,9 +21,14 @@ export class TagSupport {
|
|
|
19
21
|
constructor(templater, props) {
|
|
20
22
|
this.templater = templater;
|
|
21
23
|
this.props = props;
|
|
22
|
-
this.latestProps = props;
|
|
23
|
-
const latestProps =
|
|
24
|
-
this.latestClonedProps =
|
|
24
|
+
this.latestProps = props;
|
|
25
|
+
const latestProps = alterProps(props, templater);
|
|
26
|
+
this.latestClonedProps = latestProps;
|
|
27
|
+
// if the latest props are not HTML children, then clone the props for later render cycles to compare
|
|
28
|
+
if (!isTagInstance(props)) {
|
|
29
|
+
this.latestClonedProps = deepClone(latestProps);
|
|
30
|
+
}
|
|
31
|
+
// TODO: see if we can remove
|
|
25
32
|
this.clonedProps = this.latestClonedProps;
|
|
26
33
|
}
|
|
27
34
|
// TODO: these below may not be in use
|
|
@@ -30,10 +37,9 @@ export class TagSupport {
|
|
|
30
37
|
hasPropChanges(props, // natural props
|
|
31
38
|
pastCloneProps, // previously cloned props
|
|
32
39
|
compareToProps) {
|
|
33
|
-
const oldProps = this.props;
|
|
34
40
|
const isCommonEqual = props === undefined && props === compareToProps;
|
|
35
|
-
const isEqual = isCommonEqual || deepEqual(pastCloneProps,
|
|
36
|
-
return !isEqual;
|
|
41
|
+
const isEqual = isCommonEqual || deepEqual(pastCloneProps, props);
|
|
42
|
+
return !isEqual; // if equal then no changes
|
|
37
43
|
}
|
|
38
44
|
mutatingRender() {
|
|
39
45
|
const message = 'Tag function "render()" was called in sync but can only be called async';
|
|
@@ -53,19 +59,18 @@ export class TagSupport {
|
|
|
53
59
|
}
|
|
54
60
|
const oldTemplater = tag.tagSupport.templater;
|
|
55
61
|
const nowProps = newTemplater.tagSupport.props; // natural props
|
|
56
|
-
const
|
|
57
|
-
const
|
|
58
|
-
|
|
62
|
+
// const oldClonedProps = newTemplater.tagSupport.clonedProps // natural props
|
|
63
|
+
const oldClonedProps = oldTemplater.tagSupport.clonedProps; // natural props
|
|
64
|
+
// const oldClonedProps = oldTemplater?.tagSupport.clonedProps // previously cloned props
|
|
65
|
+
// const newProps = newTemplater.tagSupport.clonedProps // new props cloned
|
|
66
|
+
const oldProps = oldTemplater?.tagSupport.props; // new props cloned
|
|
67
|
+
// const newProps = newTemplater.tagSupport.latestClonedProps // new props cloned
|
|
68
|
+
return renderTag(this, nowProps, oldClonedProps, oldProps, // newProps,
|
|
69
|
+
this.templater);
|
|
59
70
|
}
|
|
60
71
|
}
|
|
61
|
-
export function getTagSupport(templater, props) {
|
|
62
|
-
const tagSupport = new TagSupport(templater, props);
|
|
63
|
-
return tagSupport;
|
|
64
|
-
}
|
|
65
72
|
function providersChangeCheck(tag) {
|
|
66
|
-
const providersWithChanges = tag.tagSupport.memory.providers.filter(provider =>
|
|
67
|
-
return !deepEqual(provider.instance, provider.clone);
|
|
68
|
-
});
|
|
73
|
+
const providersWithChanges = tag.tagSupport.memory.providers.filter(provider => !deepEqual(provider.instance, provider.clone));
|
|
69
74
|
// reset clones
|
|
70
75
|
providersWithChanges.forEach(provider => {
|
|
71
76
|
const appElement = tag.getAppElement();
|
|
@@ -96,10 +101,10 @@ function getTagsWithProvider(tag, provider, memory = []) {
|
|
|
96
101
|
return memory;
|
|
97
102
|
}
|
|
98
103
|
function renderTag(tagSupport, nowProps, // natural props
|
|
104
|
+
oldCloneProps, // now props cloned
|
|
99
105
|
oldProps, // previously NOT cloned props
|
|
100
|
-
newProps, // now props cloned
|
|
101
106
|
templater) {
|
|
102
|
-
const hasPropsChanged = tagSupport.hasPropChanges(nowProps,
|
|
107
|
+
const hasPropsChanged = tagSupport.hasPropChanges(nowProps, oldCloneProps, oldProps);
|
|
103
108
|
tagSupport.newest = templater.redraw(); // No change detected, just redraw me only
|
|
104
109
|
if (!hasPropsChanged) {
|
|
105
110
|
return true;
|
package/js/getTagSupport.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getTagSupport.js","sourceRoot":"","sources":["../ts/getTagSupport.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAA;
|
|
1
|
+
{"version":3,"file":"getTagSupport.js","sourceRoot":"","sources":["../ts/getTagSupport.ts"],"names":[],"mappings":"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"}
|
package/js/index.d.ts
CHANGED
|
@@ -1,13 +1,17 @@
|
|
|
1
1
|
/** Must use .js and NOT .ts extensions here */
|
|
2
|
+
import { redrawTag } from "./redrawTag.function.js";
|
|
3
|
+
import { tagElement } from "./tagElement.js";
|
|
2
4
|
export * from "./ElementTargetEvent.interface.js";
|
|
5
|
+
export * from "./tag.js";
|
|
3
6
|
export * from "./html.js";
|
|
7
|
+
export * from "./errors.js";
|
|
4
8
|
export * from "./Subject.js";
|
|
5
|
-
export * from "./
|
|
6
|
-
export * from "./
|
|
7
|
-
export * from "./
|
|
9
|
+
export * from "./isInstance.js";
|
|
10
|
+
export * from "./ValueSubject.js";
|
|
11
|
+
export * from "./TagSupport.class.js";
|
|
8
12
|
export * from "./gateway/index.js";
|
|
9
|
-
export
|
|
10
|
-
export
|
|
13
|
+
export * from "./redrawTag.function.js";
|
|
14
|
+
export * from "./interpolateElement.js";
|
|
11
15
|
export { TagComponent } from "./templater.utils.js";
|
|
12
16
|
export { tagElement } from "./tagElement.js";
|
|
13
17
|
export { Tag } from "./Tag.class.js";
|
|
@@ -18,3 +22,7 @@ export { state } from "./state.js";
|
|
|
18
22
|
export * from "./onInit.js";
|
|
19
23
|
export * from "./onDestroy.js";
|
|
20
24
|
export * from "./getCallback.js";
|
|
25
|
+
export declare const hmr: {
|
|
26
|
+
tagElement: typeof tagElement;
|
|
27
|
+
redrawTag: typeof redrawTag;
|
|
28
|
+
};
|
package/js/index.js
CHANGED
|
@@ -1,14 +1,17 @@
|
|
|
1
1
|
/** Must use .js and NOT .ts extensions here */
|
|
2
|
+
import { redrawTag } from "./redrawTag.function.js";
|
|
3
|
+
import { tagElement } from "./tagElement.js";
|
|
2
4
|
export * from "./ElementTargetEvent.interface.js";
|
|
5
|
+
export * from "./tag.js";
|
|
3
6
|
export * from "./html.js";
|
|
7
|
+
export * from "./errors.js";
|
|
4
8
|
export * from "./Subject.js";
|
|
5
|
-
export * from "./
|
|
6
|
-
export * from "./
|
|
7
|
-
export * from "./
|
|
9
|
+
export * from "./isInstance.js";
|
|
10
|
+
export * from "./ValueSubject.js";
|
|
11
|
+
export * from "./TagSupport.class.js";
|
|
8
12
|
export * from "./gateway/index.js";
|
|
9
|
-
|
|
10
|
-
export
|
|
11
|
-
export { tags, tag } from "./tag.js";
|
|
13
|
+
export * from "./redrawTag.function.js";
|
|
14
|
+
export * from "./interpolateElement.js";
|
|
12
15
|
export { tagElement } from "./tagElement.js";
|
|
13
16
|
export { Tag } from "./Tag.class.js";
|
|
14
17
|
export { runBeforeRender } from "./tagRunner.js";
|
|
@@ -22,4 +25,7 @@ export * from "./onInit.js";
|
|
|
22
25
|
export * from "./onDestroy.js";
|
|
23
26
|
export * from "./getCallback.js";
|
|
24
27
|
/* end: hooks */
|
|
28
|
+
export const hmr = {
|
|
29
|
+
tagElement, redrawTag
|
|
30
|
+
};
|
|
25
31
|
//# sourceMappingURL=index.js.map
|
package/js/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../ts/index.ts"],"names":[],"mappings":"AAAA,+CAA+C;AAE/C,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../ts/index.ts"],"names":[],"mappings":"AAAA,+CAA+C;AAE/C,OAAO,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAA;AACnD,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAA;AAE5C,cAAc,mCAAmC,CAAA;AAEjD,cAAc,UAAU,CAAA;AACxB,cAAc,WAAW,CAAA;AACzB,cAAc,aAAa,CAAA;AAC3B,cAAc,cAAc,CAAA;AAC5B,cAAc,iBAAiB,CAAA;AAC/B,cAAc,mBAAmB,CAAA;AACjC,cAAc,uBAAuB,CAAA;AACrC,cAAc,oBAAoB,CAAA;AAClC,cAAc,yBAAyB,CAAA;AACvC,cAAc,yBAAyB,CAAA;AAIvC,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAA;AAC5C,OAAO,EAAE,GAAG,EAAE,MAAM,gBAAgB,CAAA;AACpC,OAAO,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAA;AAChD,OAAO,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAA;AAE7C,WAAW;AACT,iBAAiB;AACjB,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAA;AAC1C,iBAAiB;AACjB,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAA;AAClC,cAAc,aAAa,CAAA;AAC3B,cAAc,gBAAgB,CAAA;AAC9B,cAAc,kBAAkB,CAAA;AAClC,gBAAgB;AAEhB,MAAM,CAAC,MAAM,GAAG,GAAG;IACjB,UAAU,EAAE,SAAS;CACtB,CAAA"}
|
package/js/isInstance.d.ts
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { SubjectLike } from "./Subject.js";
|
|
2
2
|
import { Tag } from "./Tag.class.js";
|
|
3
3
|
import { TemplaterResult } from "./templater.utils.js";
|
|
4
|
-
export declare function isTagComponent(value?: TemplaterResult): boolean;
|
|
4
|
+
export declare function isTagComponent(value?: TemplaterResult | unknown): boolean;
|
|
5
5
|
export declare function isTagInstance(tag?: Tag | unknown): boolean;
|
|
6
|
-
export declare function isSubjectInstance(subject?: SubjectLike): Boolean;
|
|
6
|
+
export declare function isSubjectInstance(subject?: SubjectLike | any): Boolean;
|
|
7
|
+
export declare function isTagArray(value: any): boolean;
|
package/js/isInstance.js
CHANGED
|
@@ -7,4 +7,7 @@ export function isTagInstance(tag) {
|
|
|
7
7
|
export function isSubjectInstance(subject) {
|
|
8
8
|
return (subject?.isSubject === true || subject?.subscribe) ? true : false; // subject?.isSubject === true ||
|
|
9
9
|
}
|
|
10
|
+
export function isTagArray(value) {
|
|
11
|
+
return value instanceof Array && value.every(x => isTagInstance(x));
|
|
12
|
+
}
|
|
10
13
|
//# sourceMappingURL=isInstance.js.map
|
package/js/isInstance.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"isInstance.js","sourceRoot":"","sources":["../ts/isInstance.ts"],"names":[],"mappings":"AAIA,MAAM,UAAU,cAAc,CAAC,
|
|
1
|
+
{"version":3,"file":"isInstance.js","sourceRoot":"","sources":["../ts/isInstance.ts"],"names":[],"mappings":"AAIA,MAAM,UAAU,cAAc,CAAC,KAAiC;IAC9D,OAAQ,KAAyB,EAAE,WAAW,KAAK,IAAI,CAAA;AACzD,CAAC;AAED,MAAM,UAAU,aAAa,CAAC,GAAmB;IAC/C,OAAQ,GAAW,EAAE,KAAK,KAAK,IAAI,CAAA;AACrC,CAAC;AAED,MAAM,UAAU,iBAAiB,CAC/B,OAA2B;IAE3B,OAAO,CAAC,OAAO,EAAE,SAAS,KAAK,IAAI,IAAI,OAAO,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAA,CAAC,kCAAkC;AAC9G,CAAC;AAED,MAAM,UAAU,UAAU,CAAC,KAAU;IACnC,OAAO,KAAK,YAAY,KAAK,IAAI,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAA;AACrE,CAAC"}
|
|
@@ -31,18 +31,19 @@ export function processSubjectComponent(value, result, template, ownerTag, optio
|
|
|
31
31
|
providers.ownerTag = ownerTag;
|
|
32
32
|
const isFirstTime = !retag || options.forceElement;
|
|
33
33
|
if (isFirstTime) {
|
|
34
|
-
if (!retag) {
|
|
35
|
-
runBeforeRender(tagSupport, ownerTag);
|
|
36
|
-
}
|
|
37
|
-
// only true when options.forceElement
|
|
38
34
|
if (retag) {
|
|
39
|
-
runBeforeRedraw(tagSupport, retag)
|
|
35
|
+
// runBeforeRedraw(tagSupport, retag)
|
|
36
|
+
runBeforeRedraw(retag.tagSupport, retag);
|
|
37
|
+
}
|
|
38
|
+
else {
|
|
39
|
+
runBeforeRender(tagSupport, ownerTag);
|
|
40
40
|
}
|
|
41
41
|
retag = templater.forceRenderTemplate(tagSupport, ownerTag);
|
|
42
42
|
}
|
|
43
43
|
ownerTag.children.push(retag);
|
|
44
44
|
tagSupport.latestProps = retag.tagSupport.props;
|
|
45
45
|
tagSupport.latestClonedProps = retag.tagSupport.clonedProps;
|
|
46
|
+
// tagSupport.latestClonedProps = retag.tagSupport.latestClonedProps
|
|
46
47
|
tagSupport.memory = retag.tagSupport.memory;
|
|
47
48
|
retag.setSupport(tagSupport);
|
|
48
49
|
const clones = processTagResult(retag, result, // The element set here will be removed from document. Also result.tag will be added in here
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"processSubjectComponent.function.js","sourceRoot":"","sources":["../ts/processSubjectComponent.function.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAA;AAEjE,OAAO,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAA;AAG7C,OAAO,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAA;AAGjE,MAAM,UAAU,uBAAuB,CACrC,KAAsB,EACtB,MAAkB,EAClB,QAAiB,EACjB,QAAa,EACb,OAAiD;IAEjD,uDAAuD;IACvD,IAAG,KAAK,CAAC,MAAM,KAAK,IAAI,EAAE,CAAC;QACzB,IAAI,IAAI,GAAuB,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,IAAI,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,WAAW,EAAE,IAAI,CAAA;QAEtG,IAAG,IAAI,KAAK,UAAU,EAAE,CAAC;YACvB,IAAI,GAAG,SAAS,CAAA;QAClB,CAAC;QAED,MAAM,KAAK,GAAG,IAAI,IAAI,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,QAAQ,EAAE,CAAC,SAAS,CAAC,CAAC,EAAC,GAAG,CAAC,CAAA;QACxE,MAAM,KAAK,GAAG,IAAI,KAAK,CAAC,uGAAuG,KAAK,MAAM,CAAC,CAAA;QAC3I,MAAM,KAAK,CAAA;IACb,CAAC;IAED,MAAM,SAAS,GAAG,KAAwB,CAAA;IAC1C,MAAM,UAAU,GAAe,KAAK,CAAC,UAAU,CAAA;IAE/C,UAAU,CAAC,cAAc,GAAG,GAAG,EAAE;QAC/B,8BAA8B;QAC9B,IAAG,MAAM,CAAC,GAAG,EAAE,CAAC;YACd,MAAM,IAAI,GAAG,UAAU,CAAC,iBAAiB,CAAC,MAAM,CAAC,GAAG,EAAE,SAAS,CAAC,CAAA;YAChE,IAAG,IAAI,EAAE,CAAC;gBACR,OAAO,MAAM,CAAC,GAAG,CAAA;YACnB,CAAC;QACH,CAAC;QAED,oBAAoB;QACpB,MAAM,MAAM,GAAG,UAAU,CAAC,MAAM,GAAG,QAAQ,CAAC,UAAU,CAAC,MAAM,EAAE,CAAA;QAC/D,OAAO,MAAM,CAAA;IACf,CAAC,CAAA;IAED,IAAI,KAAK,GAAG,SAAS,CAAC,MAAa,CAAA;IAEnC,MAAM,SAAS,GAAG,MAAM,CAAC,MAAM,CAAC,cAAc,CAAA;IAC9C,SAAS,CAAC,QAAQ,GAAG,QAAQ,CAAA;IAE7B,MAAM,WAAW,GAAG,CAAC,KAAK,IAAI,OAAO,CAAC,YAAY,CAAA;IAElD,IAAG,WAAW,EAAE,CAAC;QACf,IAAG,
|
|
1
|
+
{"version":3,"file":"processSubjectComponent.function.js","sourceRoot":"","sources":["../ts/processSubjectComponent.function.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAA;AAEjE,OAAO,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAA;AAG7C,OAAO,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAA;AAGjE,MAAM,UAAU,uBAAuB,CACrC,KAAsB,EACtB,MAAkB,EAClB,QAAiB,EACjB,QAAa,EACb,OAAiD;IAEjD,uDAAuD;IACvD,IAAG,KAAK,CAAC,MAAM,KAAK,IAAI,EAAE,CAAC;QACzB,IAAI,IAAI,GAAuB,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,IAAI,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,WAAW,EAAE,IAAI,CAAA;QAEtG,IAAG,IAAI,KAAK,UAAU,EAAE,CAAC;YACvB,IAAI,GAAG,SAAS,CAAA;QAClB,CAAC;QAED,MAAM,KAAK,GAAG,IAAI,IAAI,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,QAAQ,EAAE,CAAC,SAAS,CAAC,CAAC,EAAC,GAAG,CAAC,CAAA;QACxE,MAAM,KAAK,GAAG,IAAI,KAAK,CAAC,uGAAuG,KAAK,MAAM,CAAC,CAAA;QAC3I,MAAM,KAAK,CAAA;IACb,CAAC;IAED,MAAM,SAAS,GAAG,KAAwB,CAAA;IAC1C,MAAM,UAAU,GAAe,KAAK,CAAC,UAAU,CAAA;IAE/C,UAAU,CAAC,cAAc,GAAG,GAAG,EAAE;QAC/B,8BAA8B;QAC9B,IAAG,MAAM,CAAC,GAAG,EAAE,CAAC;YACd,MAAM,IAAI,GAAG,UAAU,CAAC,iBAAiB,CAAC,MAAM,CAAC,GAAG,EAAE,SAAS,CAAC,CAAA;YAChE,IAAG,IAAI,EAAE,CAAC;gBACR,OAAO,MAAM,CAAC,GAAG,CAAA;YACnB,CAAC;QACH,CAAC;QAED,oBAAoB;QACpB,MAAM,MAAM,GAAG,UAAU,CAAC,MAAM,GAAG,QAAQ,CAAC,UAAU,CAAC,MAAM,EAAE,CAAA;QAC/D,OAAO,MAAM,CAAA;IACf,CAAC,CAAA;IAED,IAAI,KAAK,GAAG,SAAS,CAAC,MAAa,CAAA;IAEnC,MAAM,SAAS,GAAG,MAAM,CAAC,MAAM,CAAC,cAAc,CAAA;IAC9C,SAAS,CAAC,QAAQ,GAAG,QAAQ,CAAA;IAE7B,MAAM,WAAW,GAAG,CAAC,KAAK,IAAI,OAAO,CAAC,YAAY,CAAA;IAElD,IAAG,WAAW,EAAE,CAAC;QACf,IAAG,KAAK,EAAE,CAAC;YACT,qCAAqC;YACrC,eAAe,CAAC,KAAK,CAAC,UAAU,EAAE,KAAK,CAAC,CAAA;QAC1C,CAAC;aAAM,CAAC;YACN,eAAe,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAA;QACvC,CAAC;QAED,KAAK,GAAG,SAAS,CAAC,mBAAmB,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAA;IAC7D,CAAC;IAED,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;IAE7B,UAAU,CAAC,WAAW,GAAG,KAAK,CAAC,UAAU,CAAC,KAAK,CAAA;IAC/C,UAAU,CAAC,iBAAiB,GAAG,KAAK,CAAC,UAAU,CAAC,WAAW,CAAA;IAC3D,oEAAoE;IACpE,UAAU,CAAC,MAAM,GAAG,KAAK,CAAC,UAAU,CAAC,MAAM,CAAA;IAE3C,KAAK,CAAC,UAAU,CAAC,UAAU,CAAC,CAAA;IAE5B,MAAM,MAAM,GAAG,gBAAgB,CAC7B,KAAK,EACL,MAAM,EAAE,4FAA4F;IACpG,QAAQ,EAAE,iDAAiD;IAC3D,OAAO,CACR,CAAA;IAED,OAAO,MAAM,CAAA;AACf,CAAC"}
|
|
@@ -3,7 +3,6 @@ import { Clones } from "./Clones.type.js";
|
|
|
3
3
|
import { Tag } from "./Tag.class.js";
|
|
4
4
|
import { Counts, Template } from "./interpolateTemplate.js";
|
|
5
5
|
import { TagSubject } from "./Tag.utils.js";
|
|
6
|
-
export declare function isTagArray(value: any): boolean;
|
|
7
6
|
type processOptions = {
|
|
8
7
|
forceElement?: boolean;
|
|
9
8
|
counts: Counts;
|
|
@@ -1,9 +1,10 @@
|
|
|
1
1
|
import { processSubjectComponent } from "./processSubjectComponent.function.js";
|
|
2
2
|
import { processTagResult } from "./processTagResult.function.js";
|
|
3
|
-
import { isTagComponent, isTagInstance } from "./isInstance.js";
|
|
3
|
+
import { isTagArray, isTagComponent, isTagInstance } from "./isInstance.js";
|
|
4
4
|
import { processTagArray } from "./processTagArray.js";
|
|
5
|
-
import {
|
|
5
|
+
import { TagSupport } from "./TagSupport.class.js";
|
|
6
6
|
import { updateBetweenTemplates } from "./interpolateTemplate.js";
|
|
7
|
+
import { ValueSubject } from "./ValueSubject.js";
|
|
7
8
|
var ValueTypes;
|
|
8
9
|
(function (ValueTypes) {
|
|
9
10
|
ValueTypes["tag"] = "tag";
|
|
@@ -23,9 +24,6 @@ function getValueType(value) {
|
|
|
23
24
|
}
|
|
24
25
|
return ValueTypes.value;
|
|
25
26
|
}
|
|
26
|
-
export function isTagArray(value) {
|
|
27
|
-
return value instanceof Array && value.every(x => isTagInstance(x));
|
|
28
|
-
}
|
|
29
27
|
export function processSubjectValue(value, result, // could be tag via result.tag
|
|
30
28
|
template, // <template end interpolate /> (will be removed)
|
|
31
29
|
tag, // owner
|
|
@@ -91,7 +89,8 @@ tag, // owner
|
|
|
91
89
|
options) {
|
|
92
90
|
// first time seeing this tag?
|
|
93
91
|
if (!value.tagSupport) {
|
|
94
|
-
value.tagSupport =
|
|
92
|
+
value.tagSupport = new TagSupport({}, // the template is provided via html`` call
|
|
93
|
+
new ValueSubject([]));
|
|
95
94
|
// asking me to render will cause my parent to render
|
|
96
95
|
value.tagSupport.mutatingRender = tag.tagSupport.mutatingRender;
|
|
97
96
|
value.tagSupport.oldest = value.tagSupport.oldest || value;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"processSubjectValue.function.js","sourceRoot":"","sources":["../ts/processSubjectValue.function.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,uBAAuB,EAAE,MAAM,uCAAuC,CAAA;AAC/E,OAAO,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAA;AACjE,OAAO,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAA;
|
|
1
|
+
{"version":3,"file":"processSubjectValue.function.js","sourceRoot":"","sources":["../ts/processSubjectValue.function.ts"],"names":[],"mappings":"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"}
|
package/js/processTagArray.js
CHANGED
|
@@ -1,5 +1,7 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { ValueSubject } from "./ValueSubject.js";
|
|
2
|
+
import { TagSupport } from "./TagSupport.class.js";
|
|
2
3
|
import { processTagResult } from "./processTagResult.function.js";
|
|
4
|
+
import { ArrayNoKeyError } from "./errors.js";
|
|
3
5
|
export function processTagArray(result, value, // arry of Tag classes
|
|
4
6
|
template, // <template end interpolate />
|
|
5
7
|
ownerTag, options) {
|
|
@@ -31,7 +33,7 @@ ownerTag, options) {
|
|
|
31
33
|
// const masterBefore = template || (template as any).clone
|
|
32
34
|
const before = template || template.clone;
|
|
33
35
|
value.forEach((subTag, index) => {
|
|
34
|
-
subTag.tagSupport =
|
|
36
|
+
subTag.tagSupport = new TagSupport({}, new ValueSubject([]));
|
|
35
37
|
subTag.tagSupport.mutatingRender = () => {
|
|
36
38
|
ownerTag.tagSupport.render();
|
|
37
39
|
return subTag;
|
|
@@ -39,13 +41,17 @@ ownerTag, options) {
|
|
|
39
41
|
subTag.ownerTag = ownerTag;
|
|
40
42
|
ownerTag.children.push(subTag);
|
|
41
43
|
// check for html``.key()
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
}
|
|
44
|
+
const keyNotSet = subTag.arrayValue;
|
|
45
|
+
if (keyNotSet?.isArrayValueNeverSet) {
|
|
46
|
+
const details = {
|
|
47
|
+
template: subTag.getTemplate().string,
|
|
48
|
+
array: value,
|
|
49
|
+
ownerTagContent: ownerTag.lastTemplateString,
|
|
50
|
+
};
|
|
51
|
+
const message = 'Use html`...`.key(item) instead of html`...` to template an Array';
|
|
52
|
+
console.error(message, details);
|
|
53
|
+
const err = new ArrayNoKeyError(message, details);
|
|
54
|
+
throw err;
|
|
49
55
|
}
|
|
50
56
|
const previous = result.lastArray[index];
|
|
51
57
|
if (previous) {
|