taggedjs 2.3.27 → 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/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 +7 -11
- 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 +5 -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 -15
- 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 +6 -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 -79
- 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"}
|
|
@@ -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
|
@@ -5,8 +5,8 @@ export declare class TagSupport {
|
|
|
5
5
|
templater: TemplaterResult;
|
|
6
6
|
props?: unknown;
|
|
7
7
|
latestProps: Props;
|
|
8
|
-
clonedProps: 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,13 +1,14 @@
|
|
|
1
1
|
import { deepClone, deepEqual } from "./deepFunctions.js";
|
|
2
2
|
import { isTagInstance } from "./isInstance.js";
|
|
3
|
-
import {
|
|
3
|
+
import { alterProps } from "./templater.utils.js";
|
|
4
4
|
export class TagSupport {
|
|
5
5
|
templater;
|
|
6
6
|
props;
|
|
7
7
|
latestProps; // new props NOT cloned props
|
|
8
8
|
// props from **constructor** are converted for comparing over renders
|
|
9
|
-
clonedProps;
|
|
10
9
|
latestClonedProps; // This seems to be a duplicate of clonedProps
|
|
10
|
+
// TODO: see if we can remove
|
|
11
|
+
clonedProps;
|
|
11
12
|
memory = {
|
|
12
13
|
context: {}, // populated after reading interpolated.values array converted to an object {variable0, variable:1}
|
|
13
14
|
state: {
|
|
@@ -20,13 +21,14 @@ export class TagSupport {
|
|
|
20
21
|
constructor(templater, props) {
|
|
21
22
|
this.templater = templater;
|
|
22
23
|
this.props = props;
|
|
23
|
-
this.latestProps = props;
|
|
24
|
-
const latestProps =
|
|
24
|
+
this.latestProps = props;
|
|
25
|
+
const latestProps = alterProps(props, templater);
|
|
25
26
|
this.latestClonedProps = latestProps;
|
|
26
27
|
// if the latest props are not HTML children, then clone the props for later render cycles to compare
|
|
27
28
|
if (!isTagInstance(props)) {
|
|
28
29
|
this.latestClonedProps = deepClone(latestProps);
|
|
29
30
|
}
|
|
31
|
+
// TODO: see if we can remove
|
|
30
32
|
this.clonedProps = this.latestClonedProps;
|
|
31
33
|
}
|
|
32
34
|
// TODO: these below may not be in use
|
|
@@ -35,11 +37,9 @@ export class TagSupport {
|
|
|
35
37
|
hasPropChanges(props, // natural props
|
|
36
38
|
pastCloneProps, // previously cloned props
|
|
37
39
|
compareToProps) {
|
|
38
|
-
// const oldProps = this.props
|
|
39
|
-
const oldProps = compareToProps;
|
|
40
40
|
const isCommonEqual = props === undefined && props === compareToProps;
|
|
41
41
|
const isEqual = isCommonEqual || deepEqual(pastCloneProps, props);
|
|
42
|
-
return !isEqual;
|
|
42
|
+
return !isEqual; // if equal then no changes
|
|
43
43
|
}
|
|
44
44
|
mutatingRender() {
|
|
45
45
|
const message = 'Tag function "render()" was called in sync but can only be called async';
|
|
@@ -69,10 +69,6 @@ export class TagSupport {
|
|
|
69
69
|
this.templater);
|
|
70
70
|
}
|
|
71
71
|
}
|
|
72
|
-
export function getTagSupport(templater, props) {
|
|
73
|
-
const tagSupport = new TagSupport(templater, props);
|
|
74
|
-
return tagSupport;
|
|
75
|
-
}
|
|
76
72
|
function providersChangeCheck(tag) {
|
|
77
73
|
const providersWithChanges = tag.tagSupport.memory.providers.filter(provider => !deepEqual(provider.instance, provider.clone));
|
|
78
74
|
// reset clones
|
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;AACzD,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAA;AAE/C,OAAO,EAAmC,
|
|
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,12 +31,12 @@ 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
|
}
|
|
@@ -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) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"processTagArray.js","sourceRoot":"","sources":["../ts/processTagArray.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"processTagArray.js","sourceRoot":"","sources":["../ts/processTagArray.ts"],"names":[],"mappings":"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"}
|
package/js/redrawTag.function.js
CHANGED
|
@@ -1,7 +1,8 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { TagSupport } from "./TagSupport.class.js";
|
|
2
2
|
export function redrawTag(existingTag, templater, // latest tag function to call for rendering
|
|
3
3
|
ownerTag) {
|
|
4
|
-
|
|
4
|
+
// TODO: The or condition here may not be needed since its an obvious "re"draw
|
|
5
|
+
const tagSupport = existingTag?.tagSupport || new TagSupport(templater, templater.tagSupport.children);
|
|
5
6
|
const result = templater.renderWithSupport(tagSupport, existingTag, ownerTag);
|
|
6
7
|
return result;
|
|
7
8
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"redrawTag.function.js","sourceRoot":"","sources":["../ts/redrawTag.function.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"redrawTag.function.js","sourceRoot":"","sources":["../ts/redrawTag.function.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAA;AAIlD,MAAM,UAAU,SAAS,CACvB,WAA4B,EAC5B,SAA0B,EAAE,4CAA4C;AACxE,QAAc;IAEd,8EAA8E;IAC9E,MAAM,UAAU,GAAG,WAAW,EAAE,UAAU,IAAI,IAAI,UAAU,CAAC,SAAS,EAAE,SAAS,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAA;IAEtG,MAAM,MAAM,GAAG,SAAS,CAAC,iBAAiB,CACxC,UAAU,EACV,WAAW,EACX,QAAQ,CACT,CAAA;IAED,OAAO,MAAM,CAAA;AACf,CAAC"}
|
package/js/setUse.function.d.ts
CHANGED
package/js/state.d.ts
CHANGED
|
@@ -14,6 +14,7 @@ export type State = {
|
|
|
14
14
|
};
|
|
15
15
|
/** Used for variables that need to remain the same variable during render passes */
|
|
16
16
|
export declare function state<T>(defaultValue: T | (() => T)): (x?: (y: T) => [T, T]) => T;
|
|
17
|
+
export declare function onNextStateOnly(callback: () => unknown): void;
|
|
17
18
|
export declare function getStateValue(state: StateConfigItem): any;
|
|
18
19
|
export declare class StateEchoBack {
|
|
19
20
|
}
|
package/js/state.js
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { StateMismatchError } from "./errors.js";
|
|
1
2
|
import { setUse } from "./setUse.function.js";
|
|
2
3
|
// TODO: rename
|
|
3
4
|
setUse.memory.stateConfig = {
|
|
@@ -38,6 +39,15 @@ export function state(defaultValue) {
|
|
|
38
39
|
return initValue;
|
|
39
40
|
};
|
|
40
41
|
}
|
|
42
|
+
const waitingStates = [];
|
|
43
|
+
export function onNextStateOnly(callback) {
|
|
44
|
+
const config = setUse.memory.stateConfig;
|
|
45
|
+
if (!config.rearray.length) {
|
|
46
|
+
callback();
|
|
47
|
+
return;
|
|
48
|
+
}
|
|
49
|
+
waitingStates.push(callback);
|
|
50
|
+
}
|
|
41
51
|
setUse({
|
|
42
52
|
beforeRender: (tagSupport) => initState(tagSupport),
|
|
43
53
|
beforeRedraw: (tagSupport) => initState(tagSupport),
|
|
@@ -47,12 +57,12 @@ setUse({
|
|
|
47
57
|
if (config.rearray.length) {
|
|
48
58
|
if (config.rearray.length !== config.array.length) {
|
|
49
59
|
const message = `States lengths mismatched ${config.rearray.length} !== ${config.array.length}`;
|
|
50
|
-
|
|
60
|
+
const error = new StateMismatchError(message, {
|
|
51
61
|
oldStates: config.array,
|
|
52
62
|
newStates: config.rearray,
|
|
53
63
|
component: tagSupport.templater?.wrapper.original
|
|
54
64
|
});
|
|
55
|
-
throw
|
|
65
|
+
throw error;
|
|
56
66
|
}
|
|
57
67
|
}
|
|
58
68
|
// config.rearray.length = 0 // clean up any previous runs
|
|
@@ -62,6 +72,8 @@ setUse({
|
|
|
62
72
|
state.newest = [...config.array];
|
|
63
73
|
// config.array.length = 0
|
|
64
74
|
config.array = [];
|
|
75
|
+
waitingStates.forEach(callback => callback());
|
|
76
|
+
waitingStates.length = 0;
|
|
65
77
|
}
|
|
66
78
|
});
|
|
67
79
|
export function getStateValue(
|
|
@@ -96,8 +108,14 @@ function initState(tagSupport) {
|
|
|
96
108
|
config,
|
|
97
109
|
component: tagSupport.templater?.wrapper.original,
|
|
98
110
|
state,
|
|
111
|
+
expectedClearArray: config.rearray,
|
|
112
|
+
});
|
|
113
|
+
throw new StateMismatchError(message, {
|
|
114
|
+
config,
|
|
115
|
+
component: tagSupport.templater?.wrapper.original,
|
|
116
|
+
state,
|
|
117
|
+
expectedClearArray: config.rearray,
|
|
99
118
|
});
|
|
100
|
-
throw message;
|
|
101
119
|
}
|
|
102
120
|
// TODO: this maybe redundant and not needed
|
|
103
121
|
config.rearray = []; // .length = 0
|
package/js/state.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"state.js","sourceRoot":"","sources":["../ts/state.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"state.js","sourceRoot":"","sources":["../ts/state.ts"],"names":[],"mappings":"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"}
|