taggedjs 2.4.2 → 2.4.12
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/bundle.js +3612 -0
- package/bundle.js.map +1 -0
- package/index.js +1 -1
- package/js/Subject.d.ts +3 -4
- package/js/Subject.js +4 -4
- package/js/Subject.js.map +1 -1
- package/js/Tag.class.d.ts +25 -17
- package/js/Tag.class.js +208 -78
- package/js/Tag.class.js.map +1 -1
- package/js/Tag.utils.d.ts +13 -13
- package/js/Tag.utils.js +2 -18
- package/js/Tag.utils.js.map +1 -1
- package/js/TagSupport.class.d.ts +15 -14
- package/js/TagSupport.class.js +24 -46
- package/js/TagSupport.class.js.map +1 -1
- package/js/TemplaterResult.class.d.ts +36 -0
- package/js/TemplaterResult.class.js +73 -0
- package/js/TemplaterResult.class.js.map +1 -0
- package/js/ValueSubject.d.ts +4 -2
- package/js/ValueSubject.js +1 -1
- package/js/ValueSubject.js.map +1 -1
- package/js/alterProps.function.d.ts +4 -0
- package/js/alterProps.function.js +45 -0
- package/js/alterProps.function.js.map +1 -0
- package/js/bindSubjectCallback.function 9.27.33/342/200/257AM.js" +32 -0
- package/js/bindSubjectCallback.function.d 9.27.33/342/200/257AM.ts" +8 -0
- package/js/bindSubjectCallback.function.d.ts +3 -4
- package/js/bindSubjectCallback.function.js +20 -8
- package/js/bindSubjectCallback.function.js.map +1 -1
- package/js/checkDestroyPrevious.function.d.ts +6 -0
- package/js/checkDestroyPrevious.function.js +62 -0
- package/js/checkDestroyPrevious.function.js.map +1 -0
- package/js/destroyTag.function.d.ts +5 -0
- package/js/destroyTag.function.js +18 -0
- package/js/destroyTag.function.js.map +1 -0
- package/js/elementInitCheck.d.ts +1 -1
- package/js/getCallback.d.ts +1 -1
- package/js/getCallback.js +16 -15
- package/js/getCallback.js.map +1 -1
- package/js/hasTagSupportChanged.function.d.ts +6 -6
- package/js/hasTagSupportChanged.function.js +30 -21
- package/js/hasTagSupportChanged.function.js.map +1 -1
- package/js/html.d.ts +1 -1
- package/js/html.js +1 -1
- package/js/html.js.map +1 -1
- package/js/index.d.ts +22 -27
- package/js/index.js +26 -27
- package/js/index.js.map +1 -1
- package/js/interpolateAttributes.d.ts +2 -3
- package/js/interpolateAttributes.js +1 -127
- package/js/interpolateAttributes.js.map +1 -1
- package/js/interpolateContentTemplates.d.ts +9 -6
- package/js/interpolateContentTemplates.js +18 -28
- package/js/interpolateContentTemplates.js.map +1 -1
- package/js/interpolateElement.d.ts +7 -6
- package/js/interpolateElement.js +13 -10
- package/js/interpolateElement.js.map +1 -1
- package/js/interpolateTemplate.d.ts +22 -7
- package/js/interpolateTemplate.js +65 -27
- package/js/interpolateTemplate.js.map +1 -1
- package/js/isInstance.d.ts +3 -4
- package/js/isInstance.js.map +1 -1
- package/js/isLikeTags.function.d.ts +2 -0
- package/js/isLikeTags.function.js +30 -0
- package/js/isLikeTags.function.js.map +1 -0
- package/js/onDestroy.js +3 -3
- package/js/onDestroy.js.map +1 -1
- package/js/onInit.js +6 -4
- package/js/onInit.js.map +1 -1
- package/js/processAttribute.function.d.ts +3 -0
- package/js/processAttribute.function.js +122 -0
- package/js/processAttribute.function.js.map +1 -0
- package/js/processNewValue.function.d.ts +2 -2
- package/js/processNewValue.function.js +13 -15
- package/js/processNewValue.function.js.map +1 -1
- package/js/processRegularValue.function.d.ts +5 -7
- package/js/processRegularValue.function.js +10 -17
- package/js/processRegularValue.function.js.map +1 -1
- package/js/processSubjectComponent.function.d.ts +6 -6
- package/js/processSubjectComponent.function.js +30 -22
- package/js/processSubjectComponent.function.js.map +1 -1
- package/js/processSubjectValue.function.d.ts +17 -14
- package/js/processSubjectValue.function.js +55 -79
- package/js/processSubjectValue.function.js.map +1 -1
- package/js/processTagArray.d.ts +9 -8
- package/js/processTagArray.js +36 -37
- package/js/processTagArray.js.map +1 -1
- package/js/processTagResult.function.d.ts +7 -8
- package/js/processTagResult.function.js +40 -17
- package/js/processTagResult.function.js.map +1 -1
- package/js/provider.utils.d.ts +1 -1
- package/js/provider.utils.js +19 -8
- package/js/provider.utils.js.map +1 -1
- package/js/providers.js +6 -6
- package/js/providers.js.map +1 -1
- package/js/redrawTag.function.d.ts +5 -8
- package/js/redrawTag.function.js +16 -4
- package/js/redrawTag.function.js.map +1 -1
- package/js/render.d.ts +1 -1
- package/js/render.js.map +1 -1
- package/js/renderExistingTag.function.d.ts +7 -0
- package/js/renderExistingTag.function.js +30 -0
- package/js/renderExistingTag.function.js.map +1 -0
- package/js/renderTagSupport.function.d.ts +4 -0
- package/js/renderTagSupport.function.js +42 -0
- package/js/renderTagSupport.function.js.map +1 -0
- package/js/scanTextAreaValue.function.d.ts +2 -0
- package/js/scanTextAreaValue.function.js +16 -0
- package/js/scanTextAreaValue.function.js.map +1 -0
- package/js/set.function.d.ts +4 -3
- package/js/set.function.js +25 -34
- package/js/set.function.js.map +1 -1
- package/js/setLet.function.d.ts +1 -1
- package/js/setLet.function.js +14 -3
- package/js/setLet.function.js.map +1 -1
- package/js/setProp.function.d.ts +1 -1
- package/js/setProp.function.js +6 -3
- package/js/setProp.function.js.map +1 -1
- package/js/setUse.function.d.ts +11 -11
- package/js/tag.d.ts +6 -4
- package/js/tag.js +78 -71
- package/js/tag.js.map +1 -1
- package/js/tagElement.d.ts +5 -7
- package/js/tagElement.js +20 -31
- package/js/tagElement.js.map +1 -1
- package/js/tagRunner.d.ts +6 -6
- package/js/tagRunner.js +1 -1
- package/js/tagRunner.js.map +1 -1
- package/js/templater.utils.d.ts +23 -12
- package/js/templater.utils.js +55 -40
- package/js/templater.utils.js.map +1 -1
- package/js/updateExistingTag.function.d.ts +4 -4
- package/js/updateExistingTag.function.js +16 -7
- package/js/updateExistingTag.function.js.map +1 -1
- package/js/updateExistingTagComponent.function.d.ts +4 -4
- package/js/updateExistingTagComponent.function.js +105 -39
- package/js/updateExistingTagComponent.function.js.map +1 -1
- package/js/updateExistingValue.function.d.ts +8 -10
- package/js/updateExistingValue.function.js +62 -89
- package/js/updateExistingValue.function.js.map +1 -1
- package/js/watch.function.js +4 -3
- package/js/watch.function.js.map +1 -1
- package/package.json +1 -2
- package/js/CustomError.d.ts +0 -7
- package/js/CustomError.js +0 -9
- package/js/CustomError.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/Errors2.d.ts +0 -14
- package/js/Errors2.js +0 -21
- package/js/Errors2.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 -5
- 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 -22
- package/js/gateway/tagGateway.utils.js +0 -137
- package/js/gateway/tagGateway.utils.js.map +0 -1
- package/js/getTagSupport.d.ts +0 -20
- package/js/getTagSupport.js +0 -114
- package/js/getTagSupport.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/state.d.ts +0 -22
- package/js/state.js +0 -128
- package/js/state.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/updateTag.utils.d.ts +0 -8
- package/js/updateTag.utils.js +0 -83
- package/js/updateTag.utils.js.map +0 -1
- package/taggedjs.js +0 -1
- /package/js/{Errors.d.ts → errors.d.ts} +0 -0
- /package/js/{Errors.js → errors.js} +0 -0
- /package/js/{Errors.js.map → errors.js.map} +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TagSupport.class.js","sourceRoot":"","sources":["../ts/TagSupport.class.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,SAAS,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"TagSupport.class.js","sourceRoot":"","sources":["../ts/TagSupport.class.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAA;AAC3C,OAAO,EAAE,UAAU,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,cAAc,CAAA;AAMxE,MAAM,OAAO,cAAc;IAmBhB;IACA;IAnBT,KAAK,GAAG,IAAI,CAAA;IAEZ,WAAW,CAMV;IAED,MAAM,GAAc;QAClB,mHAAmH;QACnH,KAAK,EAAE;YACL,MAAM,EAAE,EAAsB;SAC/B;KACF,CAAA;IAED,YACS,SAA0B,EAC1B,OAAmB;QADnB,cAAS,GAAT,SAAS,CAAiB;QAC1B,YAAO,GAAP,OAAO,CAAY;QAE1B,MAAM,QAAQ,GAAgB,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAA,CAAC,uCAAuC;QAC7F,MAAM,KAAK,GAAU,IAAI,CAAC,SAAS,CAAC,KAAK,CAAA,CAAE,gBAAgB;QAE3D,MAAM,YAAY,GAAG,SAAS,CAAC,KAAK,CAAC,CAAA,CAAC,+BAA+B;QACrE,IAAI,CAAC,WAAW,GAAG;YACjB,MAAM,EAAE,KAAK;YACb,YAAY,EAAE,2CAA2C;YACzD,WAAW,EAAE,YAAY,EAAE,kBAAkB;YAC7C,mBAAmB,EAAE,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE;gBAC5C,MAAM,WAAW,GAAG,eAAe,CAAC,GAAG,CAAC,MAAM,CAAC,CAAA;gBAC/C,OAAO,WAAW,CAAA;YACpB,CAAC,CAAC;SACH,CAAA;QAED,qGAAqG;QACrG,IAAG,CAAC,aAAa,CAAC,KAAK,CAAC,EAAE,CAAC;YACzB,IAAI,CAAC,WAAW,CAAC,YAAY,GAAG,SAAS,CAAE,YAAY,CAAE,CAAA;YACzD,IAAI,CAAC,WAAW,CAAC,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC,YAAY,CAAA;QAC9D,CAAC;IACH,CAAC;CACF;AAGD,SAAS,eAAe,CAAI,MAA2B;IACrD,OAAO,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE;QAC1B,MAAM,GAAG,GAAG,KAAY,CAAA;QAExB,IAAG,aAAa,CAAC,GAAG,CAAC,EAAE,CAAC;YACtB,OAAO,eAAe,CAAC,GAAG,CAAC,MAAM,CAAC,CAAA;QACpC,CAAC;QAED,IAAG,cAAc,CAAC,GAAG,CAAC,EAAE,CAAC;YACvB,MAAM,YAAY,GAAG,GAAiC,CAAA;YACtD,OAAO,SAAS,CAAC,YAAY,CAAC,KAAK,CAAC,CAAA;QACtC,CAAC;QAED,IAAG,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;YACnB,OAAO,eAAe,CAAC,GAAuB,CAAC,CAAA;QACjD,CAAC;QAED,OAAO,SAAS,CAAC,KAAK,CAAC,CAAA;IACzB,CAAC,CAAC,CAAA;AACJ,CAAC;AAED,MAAM,OAAO,UAAW,SAAQ,cAAc;IAInC;IACA;IACA;IALT,KAAK,GAAG,KAAK,CAAA;IAEb,YACS,eAA2B,EAC3B,SAA0B,EAC1B,OAAmB;QAE1B,KAAK,CAAC,SAAS,EAAE,OAAO,CAAC,CAAA;QAJlB,oBAAe,GAAf,eAAe,CAAY;QAC3B,cAAS,GAAT,SAAS,CAAiB;QAC1B,YAAO,GAAP,OAAO,CAAY;IAG5B,CAAC;CACF"}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import { Context, Tag } from './Tag.class';
|
|
2
|
+
import { BaseTagSupport } from './TagSupport.class';
|
|
3
|
+
import { Props } from './Props';
|
|
4
|
+
import { TagChildren } from './tag';
|
|
5
|
+
import { Provider } from './providers';
|
|
6
|
+
import { OnDestroyCallback } from './onDestroy';
|
|
7
|
+
import { TagSubject } from './Tag.utils';
|
|
8
|
+
import { OnInitCallback } from './onInit';
|
|
9
|
+
export type Wrapper = ((tagSupport: BaseTagSupport, subject: TagSubject) => Tag) & {
|
|
10
|
+
original: () => Tag;
|
|
11
|
+
};
|
|
12
|
+
export declare class TemplaterResult {
|
|
13
|
+
props: Props;
|
|
14
|
+
children: TagChildren;
|
|
15
|
+
isTag: boolean;
|
|
16
|
+
tagged: boolean;
|
|
17
|
+
wrapper: Wrapper;
|
|
18
|
+
global: {
|
|
19
|
+
newestTemplater: TemplaterResult;
|
|
20
|
+
oldest?: Tag;
|
|
21
|
+
newest?: Tag;
|
|
22
|
+
context: Context;
|
|
23
|
+
providers: Provider[];
|
|
24
|
+
/** Indicator of re-rending. Saves from double rending something already rendered */
|
|
25
|
+
renderCount: number;
|
|
26
|
+
insertBefore?: Element | Text;
|
|
27
|
+
deleted: boolean;
|
|
28
|
+
isApp?: boolean;
|
|
29
|
+
destroyCallback?: OnDestroyCallback;
|
|
30
|
+
init?: OnInitCallback;
|
|
31
|
+
};
|
|
32
|
+
tagSupport: BaseTagSupport;
|
|
33
|
+
constructor(props: Props, children: TagChildren);
|
|
34
|
+
isTemplater: boolean;
|
|
35
|
+
}
|
|
36
|
+
export declare function renderWithSupport(tagSupport: BaseTagSupport, existingTag: Tag | undefined, subject: TagSubject, ownerTag?: Tag): Tag;
|
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
import { runAfterRender, runBeforeRedraw, runBeforeRender } from './tagRunner';
|
|
2
|
+
import { setUse } from './setUse.function';
|
|
3
|
+
import { isLikeTags } from './isLikeTags.function';
|
|
4
|
+
import { destroyTagMemory } from './destroyTag.function';
|
|
5
|
+
export class TemplaterResult {
|
|
6
|
+
props;
|
|
7
|
+
children;
|
|
8
|
+
isTag = false; // when true, is basic tag non-component
|
|
9
|
+
tagged;
|
|
10
|
+
wrapper;
|
|
11
|
+
global = {
|
|
12
|
+
newestTemplater: this,
|
|
13
|
+
context: {}, // populated after reading interpolated.values array converted to an object {variable0, variable:1}
|
|
14
|
+
providers: [],
|
|
15
|
+
/** Indicator of re-rending. Saves from double rending something already rendered */
|
|
16
|
+
renderCount: 0,
|
|
17
|
+
deleted: false
|
|
18
|
+
};
|
|
19
|
+
tagSupport;
|
|
20
|
+
constructor(props, children) {
|
|
21
|
+
this.props = props;
|
|
22
|
+
this.children = children;
|
|
23
|
+
}
|
|
24
|
+
/*
|
|
25
|
+
redraw?: (
|
|
26
|
+
force?: boolean, // force children to redraw
|
|
27
|
+
) => Tag
|
|
28
|
+
*/
|
|
29
|
+
isTemplater = true;
|
|
30
|
+
}
|
|
31
|
+
export function renderWithSupport(tagSupport, existingTag, subject, ownerTag) {
|
|
32
|
+
const wrapTagSupport = tagSupport; // this.tagSupport
|
|
33
|
+
/* BEFORE RENDER */
|
|
34
|
+
const runtimeOwnerTag = existingTag?.ownerTag || ownerTag;
|
|
35
|
+
if (existingTag) {
|
|
36
|
+
wrapTagSupport.memory.state.newest = [...existingTag.tagSupport.memory.state.newest];
|
|
37
|
+
wrapTagSupport.templater.global = existingTag.tagSupport.templater.global;
|
|
38
|
+
runBeforeRedraw(wrapTagSupport, existingTag);
|
|
39
|
+
}
|
|
40
|
+
else {
|
|
41
|
+
if (!wrapTagSupport) {
|
|
42
|
+
throw new Error('63521');
|
|
43
|
+
}
|
|
44
|
+
// first time render
|
|
45
|
+
runBeforeRender(wrapTagSupport, runtimeOwnerTag);
|
|
46
|
+
// TODO: Logic below most likely could live within providers.ts inside the runBeforeRender function
|
|
47
|
+
const providers = setUse.memory.providerConfig;
|
|
48
|
+
providers.ownerTag = runtimeOwnerTag;
|
|
49
|
+
}
|
|
50
|
+
/* END: BEFORE RENDER */
|
|
51
|
+
const templater = wrapTagSupport.templater;
|
|
52
|
+
const retag = templater.wrapper(wrapTagSupport, subject);
|
|
53
|
+
/* AFTER */
|
|
54
|
+
runAfterRender(wrapTagSupport, retag);
|
|
55
|
+
const isLikeTag = !existingTag || isLikeTags(existingTag, retag);
|
|
56
|
+
if (!isLikeTag) {
|
|
57
|
+
destroyTagMemory(existingTag, subject);
|
|
58
|
+
delete templater.global.oldest;
|
|
59
|
+
delete templater.global.newest;
|
|
60
|
+
delete subject.tag;
|
|
61
|
+
templater.global.insertBefore = existingTag.tagSupport.templater.global.insertBefore;
|
|
62
|
+
}
|
|
63
|
+
retag.ownerTag = runtimeOwnerTag;
|
|
64
|
+
wrapTagSupport.templater.global.newest = retag;
|
|
65
|
+
if (wrapTagSupport.templater.global.oldest && !wrapTagSupport.templater.global.oldest.hasLiveElements) {
|
|
66
|
+
throw new Error('56513540');
|
|
67
|
+
}
|
|
68
|
+
if (wrapTagSupport.templater.global.oldest && !wrapTagSupport.templater.global.oldest.hasLiveElements) {
|
|
69
|
+
throw new Error('5555 - 10');
|
|
70
|
+
}
|
|
71
|
+
return retag;
|
|
72
|
+
}
|
|
73
|
+
//# sourceMappingURL=TemplaterResult.class.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TemplaterResult.class.js","sourceRoot":"","sources":["../ts/TemplaterResult.class.ts"],"names":[],"mappings":"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"}
|
package/js/ValueSubject.d.ts
CHANGED
|
@@ -1,6 +1,8 @@
|
|
|
1
|
-
import { Subject } from './Subject
|
|
1
|
+
import { Subject } from './Subject';
|
|
2
|
+
type ValueSubjectSubscriber<T> = (value: T) => unknown;
|
|
2
3
|
export declare class ValueSubject<T> extends Subject<T> {
|
|
3
4
|
value: T;
|
|
4
5
|
constructor(value: T);
|
|
5
|
-
subscribe(callback:
|
|
6
|
+
subscribe(callback: ValueSubjectSubscriber<T>): import("./Subject").Subscription;
|
|
6
7
|
}
|
|
8
|
+
export {};
|
package/js/ValueSubject.js
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,
|
|
1
|
+
{"version":3,"file":"ValueSubject.js","sourceRoot":"","sources":["../ts/ValueSubject.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAqB,MAAM,WAAW,CAAA;AAItD,MAAM,OAAO,YAAgB,SAAQ,OAAU;IAC1B;IAAnB,YAAmB,KAAQ;QACzB,KAAK,CAAC,KAAK,CAAC,CAAA;QADK,UAAK,GAAL,KAAK,CAAG;IAE3B,CAAC;IAED,SAAS,CAAC,QAAmC;QAC3C,MAAM,WAAW,GAAG,KAAK,CAAC,SAAS,CAAC,QAAgC,CAAC,CAAA;QAErE,uDAAuD;QACvD,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;QAEpB,OAAO,WAAW,CAAA;IACpB,CAAC;CACF"}
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
import { isTagInstance } from './isInstance';
|
|
2
|
+
import { renderTagSupport } from './renderTagSupport.function';
|
|
3
|
+
/* Used to rewrite props that are functions. When they are called it should cause parent rendering */
|
|
4
|
+
export function alterProps(props, templater, ownerSupport) {
|
|
5
|
+
function callback(toCall, callWith) {
|
|
6
|
+
const renderCount = templater.global.renderCount;
|
|
7
|
+
const callbackResult = toCall(...callWith);
|
|
8
|
+
if (templater.global.renderCount > renderCount) {
|
|
9
|
+
throw new Error('already rendered');
|
|
10
|
+
}
|
|
11
|
+
const lastestOwner = ownerSupport.templater.global.newest;
|
|
12
|
+
const newOwner = renderTagSupport(lastestOwner.tagSupport, true);
|
|
13
|
+
if (newOwner.tagSupport.templater.global.newest != newOwner) {
|
|
14
|
+
throw new Error('newest assignment issue?');
|
|
15
|
+
}
|
|
16
|
+
return callbackResult;
|
|
17
|
+
}
|
|
18
|
+
const isPropTag = isTagInstance(props);
|
|
19
|
+
const watchProps = isPropTag ? 0 : props;
|
|
20
|
+
const newProps = resetFunctionProps(watchProps, callback);
|
|
21
|
+
return newProps;
|
|
22
|
+
}
|
|
23
|
+
function resetFunctionProps(props, callback) {
|
|
24
|
+
if (typeof (props) !== 'object') {
|
|
25
|
+
return props;
|
|
26
|
+
}
|
|
27
|
+
const newProps = props;
|
|
28
|
+
// BELOW: Do not clone because if first argument is object, the memory ref back is lost
|
|
29
|
+
// const newProps = {...props}
|
|
30
|
+
Object.entries(newProps).forEach(([name, value]) => {
|
|
31
|
+
if (value instanceof Function) {
|
|
32
|
+
const original = newProps[name].original;
|
|
33
|
+
if (original) {
|
|
34
|
+
return; // already previously converted
|
|
35
|
+
}
|
|
36
|
+
newProps[name] = (...args) => {
|
|
37
|
+
return callback(value, args);
|
|
38
|
+
};
|
|
39
|
+
newProps[name].original = value;
|
|
40
|
+
return;
|
|
41
|
+
}
|
|
42
|
+
});
|
|
43
|
+
return newProps;
|
|
44
|
+
}
|
|
45
|
+
//# sourceMappingURL=alterProps.function.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"alterProps.function.js","sourceRoot":"","sources":["../ts/alterProps.function.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAA;AAC5C,OAAO,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAA;AAE9D,qGAAqG;AACrG,MAAM,UAAU,UAAU,CACxB,KAAY,EACZ,SAA0B,EAC1B,YAAwB;IAExB,SAAS,QAAQ,CAAC,MAAW,EAAE,QAAa;QAC1C,MAAM,WAAW,GAAG,SAAS,CAAC,MAAM,CAAC,WAAW,CAAA;QAChD,MAAM,cAAc,GAAG,MAAM,CAAC,GAAG,QAAQ,CAAC,CAAA;QAE1C,IAAG,SAAS,CAAC,MAAM,CAAC,WAAW,GAAG,WAAW,EAAE,CAAC;YAC9C,MAAM,IAAI,KAAK,CAAC,kBAAkB,CAAC,CAAA;QACrC,CAAC;QAED,MAAM,YAAY,GAAG,YAAY,CAAC,SAAS,CAAC,MAAM,CAAC,MAAa,CAAA;QAChE,MAAM,QAAQ,GAAG,gBAAgB,CAC/B,YAAY,CAAC,UAAU,EACvB,IAAI,CACL,CAAA;QAED,IAAG,QAAQ,CAAC,UAAU,CAAC,SAAS,CAAC,MAAM,CAAC,MAAM,IAAI,QAAQ,EAAE,CAAC;YAC3D,MAAM,IAAI,KAAK,CAAC,0BAA0B,CAAC,CAAA;QAC7C,CAAC;QAED,OAAO,cAAc,CAAA;IACvB,CAAC;IAED,MAAM,SAAS,GAAG,aAAa,CAAC,KAAK,CAAC,CAAA;IACtC,MAAM,UAAU,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAA;IACxC,MAAM,QAAQ,GAAG,kBAAkB,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAA;IAEzD,OAAO,QAAQ,CAAA;AACjB,CAAC;AAED,SAAS,kBAAkB,CACzB,KAAU,EACV,QAAiD;IAEjD,IAAG,OAAM,CAAC,KAAK,CAAC,KAAG,QAAQ,EAAE,CAAC;QAC5B,OAAO,KAAK,CAAA;IACd,CAAC;IAED,MAAM,QAAQ,GAAG,KAAK,CAAA;IACtB,uFAAuF;IACvF,+BAA+B;IAE/B,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,EAAE,KAAK,CAAC,EAAE,EAAE;QACjD,IAAG,KAAK,YAAY,QAAQ,EAAE,CAAC;YAC7B,MAAM,QAAQ,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAA;YAExC,IAAG,QAAQ,EAAE,CAAC;gBACZ,OAAM,CAAC,+BAA+B;YACxC,CAAC;YAED,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,IAAW,EAAE,EAAE;gBAClC,OAAO,QAAQ,CAAC,KAAK,EAAE,IAAI,CAAC,CAAA;YAC9B,CAAC,CAAA;YAED,QAAQ,CAAC,IAAI,CAAC,CAAC,QAAQ,GAAG,KAAK,CAAA;YAE/B,OAAM;QACR,CAAC;IACH,CAAC,CAAC,CAAA;IAEF,OAAO,QAAQ,CAAA;AACjB,CAAC"}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
/** File largely responsible for reacting to element events, such as onclick */
|
|
2
|
+
export function bindSubjectCallback(value, tag) {
|
|
3
|
+
// Is this children? No override needed
|
|
4
|
+
if (value.isChildOverride) {
|
|
5
|
+
return value;
|
|
6
|
+
}
|
|
7
|
+
const subjectFunction = (element, args) => runTagCallback(value, tag, element, args);
|
|
8
|
+
// link back to original. Mostly used for <div oninit ondestroy> animations
|
|
9
|
+
subjectFunction.tagFunction = value;
|
|
10
|
+
return subjectFunction;
|
|
11
|
+
}
|
|
12
|
+
export function runTagCallback(value, tag, bindTo, args) {
|
|
13
|
+
const tagSupport = tag.tagSupport;
|
|
14
|
+
const renderCount = tagSupport ? tagSupport.memory.renderCount : 0;
|
|
15
|
+
const method = value.bind(bindTo);
|
|
16
|
+
const callbackResult = method(...args);
|
|
17
|
+
const sameRenderCount = renderCount === tagSupport.memory.renderCount;
|
|
18
|
+
// TODO: need to restore this
|
|
19
|
+
if (tagSupport && !sameRenderCount) {
|
|
20
|
+
// return // already rendered
|
|
21
|
+
}
|
|
22
|
+
tagSupport.render();
|
|
23
|
+
if (callbackResult instanceof Promise) {
|
|
24
|
+
return callbackResult.then(() => {
|
|
25
|
+
tagSupport.render();
|
|
26
|
+
return 'promise-no-data-ever';
|
|
27
|
+
});
|
|
28
|
+
}
|
|
29
|
+
// Caller always expects a Promise
|
|
30
|
+
return 'no-data-ever';
|
|
31
|
+
}
|
|
32
|
+
//# sourceMappingURL=bindSubjectCallback.function.js.map
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
/** File largely responsible for reacting to element events, such as onclick */
|
|
2
|
+
import { Tag } from "./Tag.class.js";
|
|
3
|
+
type Callback = (...args: any[]) => any & {
|
|
4
|
+
isChildOverride?: true;
|
|
5
|
+
};
|
|
6
|
+
export declare function bindSubjectCallback(value: Callback, tag: Tag): Callback;
|
|
7
|
+
export declare function runTagCallback(value: Callback, tag: Tag, bindTo: unknown, args: any[]): Promise<string> | "no-data-ever";
|
|
8
|
+
export {};
|
|
@@ -1,8 +1,7 @@
|
|
|
1
1
|
/** File largely responsible for reacting to element events, such as onclick */
|
|
2
|
-
import { Tag } from "./Tag.class
|
|
3
|
-
type Callback = (...args: any[]) => any & {
|
|
2
|
+
import { Tag } from "./Tag.class";
|
|
3
|
+
export type Callback = (...args: any[]) => any & {
|
|
4
4
|
isChildOverride?: true;
|
|
5
5
|
};
|
|
6
6
|
export declare function bindSubjectCallback(value: Callback, tag: Tag): Callback;
|
|
7
|
-
export declare function runTagCallback(value: Callback, tag: Tag, bindTo: unknown, args: any[]): "no-data-ever"
|
|
8
|
-
export {};
|
|
7
|
+
export declare function runTagCallback(value: Callback, tag: Tag, bindTo: unknown, args: any[]): Promise<string> | "no-data-ever";
|
|
@@ -1,9 +1,13 @@
|
|
|
1
1
|
/** File largely responsible for reacting to element events, such as onclick */
|
|
2
|
+
import { renderTagSupport } from "./renderTagSupport.function";
|
|
2
3
|
export function bindSubjectCallback(value, tag) {
|
|
3
4
|
// Is this children? No override needed
|
|
4
5
|
if (value.isChildOverride) {
|
|
5
6
|
return value;
|
|
6
7
|
}
|
|
8
|
+
if (!tag.ownerTag && !tag.tagSupport.templater.global.isApp) {
|
|
9
|
+
throw new Error('no ownerTag issue here');
|
|
10
|
+
}
|
|
7
11
|
const subjectFunction = (element, args) => runTagCallback(value, tag, element, args);
|
|
8
12
|
// link back to original. Mostly used for <div oninit ondestroy> animations
|
|
9
13
|
subjectFunction.tagFunction = value;
|
|
@@ -11,19 +15,27 @@ export function bindSubjectCallback(value, tag) {
|
|
|
11
15
|
}
|
|
12
16
|
export function runTagCallback(value, tag, bindTo, args) {
|
|
13
17
|
const tagSupport = tag.tagSupport;
|
|
14
|
-
const renderCount = tagSupport
|
|
18
|
+
const renderCount = tagSupport.templater.global.renderCount;
|
|
15
19
|
const method = value.bind(bindTo);
|
|
16
20
|
const callbackResult = method(...args);
|
|
17
|
-
const sameRenderCount = renderCount === tagSupport.
|
|
18
|
-
//
|
|
19
|
-
if (
|
|
20
|
-
|
|
21
|
+
const sameRenderCount = renderCount === tagSupport.templater.global.renderCount;
|
|
22
|
+
// already rendered OR tag was deleted before event processing
|
|
23
|
+
if (!sameRenderCount || tagSupport.templater.global.deleted) {
|
|
24
|
+
if (callbackResult instanceof Promise) {
|
|
25
|
+
return callbackResult.then(() => {
|
|
26
|
+
return 'promise-no-data-ever'; // tag was deleted during event processing
|
|
27
|
+
});
|
|
28
|
+
}
|
|
29
|
+
return 'no-data-ever'; // already rendered
|
|
21
30
|
}
|
|
22
|
-
tagSupport
|
|
31
|
+
renderTagSupport(tagSupport, true);
|
|
23
32
|
if (callbackResult instanceof Promise) {
|
|
24
33
|
return callbackResult.then(() => {
|
|
25
|
-
tagSupport.
|
|
26
|
-
|
|
34
|
+
if (tagSupport.templater.global.deleted) {
|
|
35
|
+
return 'promise-no-data-ever'; // tag was deleted during event processing
|
|
36
|
+
}
|
|
37
|
+
renderTagSupport(tagSupport, true);
|
|
38
|
+
return 'promise-no-data-ever';
|
|
27
39
|
});
|
|
28
40
|
}
|
|
29
41
|
// Caller always expects a Promise
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bindSubjectCallback.function.js","sourceRoot":"","sources":["../ts/bindSubjectCallback.function.ts"],"names":[],"mappings":"AAAA,+EAA+E;
|
|
1
|
+
{"version":3,"file":"bindSubjectCallback.function.js","sourceRoot":"","sources":["../ts/bindSubjectCallback.function.ts"],"names":[],"mappings":"AAAA,+EAA+E;AAG/E,OAAO,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAA;AAM9D,MAAM,UAAU,mBAAmB,CACjC,KAAe,EACf,GAAQ;IAER,uCAAuC;IACvC,IAAI,KAAa,CAAC,eAAe,EAAE,CAAC;QAClC,OAAO,KAAK,CAAA;IACd,CAAC;IAED,IAAG,CAAC,GAAG,CAAC,QAAQ,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,SAAS,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;QAC3D,MAAM,IAAI,KAAK,CAAC,wBAAwB,CAAC,CAAA;IAC3C,CAAC;IAED,MAAM,eAAe,GAAG,CACtB,OAAgB,EAAE,IAAW,EAC7B,EAAE,CAAC,cAAc,CAAC,KAAK,EAAE,GAAG,EAAE,OAAO,EAAE,IAAI,CAAC,CAAA;IAE9C,2EAA2E;IAC3E,eAAe,CAAC,WAAW,GAAG,KAAK,CAAA;IAEnC,OAAO,eAAe,CAAA;AACxB,CAAC;AAED,MAAM,UAAU,cAAc,CAC5B,KAAe,EACf,GAAQ,EACR,MAAe,EACf,IAAW;IAEX,MAAM,UAAU,GAAG,GAAG,CAAC,UAAU,CAAA;IACjC,MAAM,WAAW,GAAG,UAAU,CAAC,SAAS,CAAC,MAAM,CAAC,WAAW,CAAA;IAC3D,MAAM,MAAM,GAAG,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;IACjC,MAAM,cAAc,GAAG,MAAM,CAAC,GAAG,IAAI,CAAC,CAAA;IAEtC,MAAM,eAAe,GAAG,WAAW,KAAK,UAAU,CAAC,SAAS,CAAC,MAAM,CAAC,WAAW,CAAA;IAE/E,8DAA8D;IAC9D,IAAG,CAAC,eAAe,IAAI,UAAU,CAAC,SAAS,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;QAC3D,IAAG,cAAc,YAAY,OAAO,EAAE,CAAC;YACrC,OAAO,cAAc,CAAC,IAAI,CAAC,GAAG,EAAE;gBAC9B,OAAO,sBAAsB,CAAA,CAAC,0CAA0C;YAC1E,CAAC,CAAC,CAAA;QACJ,CAAC;QAED,OAAO,cAAc,CAAA,CAAC,mBAAmB;IAC3C,CAAC;IAED,gBAAgB,CACd,UAAU,EACV,IAAI,CACL,CAAA;IAED,IAAG,cAAc,YAAY,OAAO,EAAE,CAAC;QACrC,OAAO,cAAc,CAAC,IAAI,CAAC,GAAG,EAAE;YAC9B,IAAG,UAAU,CAAC,SAAS,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;gBACvC,OAAO,sBAAsB,CAAA,CAAC,0CAA0C;YAC1E,CAAC;YAED,gBAAgB,CACd,UAAU,EACV,IAAI,CACL,CAAA;YACD,OAAO,sBAAsB,CAAA;QAC/B,CAAC,CAAC,CAAA;IACJ,CAAC;IAED,kCAAkC;IAClC,OAAO,cAAc,CAAA;AACvB,CAAC"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { Tag } from './Tag.class';
|
|
2
|
+
import { InterpolateSubject } from './processSubjectValue.function';
|
|
3
|
+
import { Counts } from './interpolateTemplate';
|
|
4
|
+
export declare function checkDestroyPrevious(subject: InterpolateSubject, // existing.value is the old value
|
|
5
|
+
newValue: unknown): false | 1 | 2 | 3 | 4;
|
|
6
|
+
export declare function destroyArrayTag(tag: Tag, counts: Counts): void;
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
import { isTagArray, isTagComponent, isTagInstance } from './isInstance';
|
|
2
|
+
import { isLikeTags } from './isLikeTags.function';
|
|
3
|
+
import { destroyTagMemory, destroyTagSupportPast } from './destroyTag.function';
|
|
4
|
+
export function checkDestroyPrevious(subject, // existing.value is the old value
|
|
5
|
+
newValue) {
|
|
6
|
+
const existingSubArray = subject;
|
|
7
|
+
const wasArray = existingSubArray.lastArray;
|
|
8
|
+
// no longer an array
|
|
9
|
+
if (wasArray && !isTagArray(newValue)) {
|
|
10
|
+
wasArray.forEach(({ tag }) => destroyArrayTag(tag, { added: 0, removed: 0 }));
|
|
11
|
+
delete subject.lastArray;
|
|
12
|
+
return 1;
|
|
13
|
+
}
|
|
14
|
+
const tagSubject = subject;
|
|
15
|
+
const existingTag = tagSubject.tag;
|
|
16
|
+
// no longer tag or component?
|
|
17
|
+
if (existingTag) {
|
|
18
|
+
const isValueTag = isTagInstance(newValue);
|
|
19
|
+
const isSubjectTag = isTagInstance(subject.value);
|
|
20
|
+
if (isSubjectTag && isValueTag) {
|
|
21
|
+
const newTag = newValue;
|
|
22
|
+
if (!isLikeTags(newTag, existingTag)) {
|
|
23
|
+
destroyTagMemory(existingTag, tagSubject);
|
|
24
|
+
return 2;
|
|
25
|
+
}
|
|
26
|
+
return false;
|
|
27
|
+
}
|
|
28
|
+
const isValueTagComponent = isTagComponent(newValue);
|
|
29
|
+
if (isValueTagComponent) {
|
|
30
|
+
return false; // its still a tag component
|
|
31
|
+
}
|
|
32
|
+
// destroy old component, value is not a component
|
|
33
|
+
destroyTagMemory(existingTag, tagSubject);
|
|
34
|
+
return 3;
|
|
35
|
+
}
|
|
36
|
+
const displaySubject = subject;
|
|
37
|
+
const hasLastValue = 'lastValue' in displaySubject;
|
|
38
|
+
const lastValue = displaySubject.lastValue; // TODO: we maybe able to use displaySubject.value and remove concept of lastValue
|
|
39
|
+
// was simple value but now something bigger
|
|
40
|
+
if (hasLastValue && lastValue !== newValue) {
|
|
41
|
+
destroySimpleValue(displaySubject.template, displaySubject);
|
|
42
|
+
return 4;
|
|
43
|
+
}
|
|
44
|
+
return false;
|
|
45
|
+
}
|
|
46
|
+
export function destroyArrayTag(tag, counts) {
|
|
47
|
+
destroyTagSupportPast(tag.tagSupport);
|
|
48
|
+
tag.destroy({
|
|
49
|
+
stagger: counts.removed++,
|
|
50
|
+
});
|
|
51
|
+
}
|
|
52
|
+
function destroySimpleValue(template, subject) {
|
|
53
|
+
const clone = subject.clone;
|
|
54
|
+
const parent = clone.parentNode;
|
|
55
|
+
// put the template back down
|
|
56
|
+
parent.insertBefore(template, clone);
|
|
57
|
+
parent.removeChild(clone);
|
|
58
|
+
delete subject.clone;
|
|
59
|
+
delete subject.lastValue;
|
|
60
|
+
// subject.template = template
|
|
61
|
+
}
|
|
62
|
+
//# sourceMappingURL=checkDestroyPrevious.function.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"checkDestroyPrevious.function.js","sourceRoot":"","sources":["../ts/checkDestroyPrevious.function.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,cAAc,CAAA;AAIxE,OAAO,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAA;AAElD,OAAO,EAAE,gBAAgB,EAAE,qBAAqB,EAAE,MAAM,uBAAuB,CAAA;AAE/E,MAAM,UAAU,oBAAoB,CAClC,OAA2B,EAAE,kCAAkC;AAC/D,QAAiB;IAEjB,MAAM,gBAAgB,GAAG,OAA0B,CAAA;IACnD,MAAM,QAAQ,GAAG,gBAAgB,CAAC,SAAS,CAAA;IAE3C,qBAAqB;IACrB,IAAI,QAAQ,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;QACtC,QAAQ,CAAC,OAAO,CAAC,CAAC,EAAC,GAAG,EAAC,EAAE,EAAE,CAAC,eAAe,CAAC,GAAG,EAAE,EAAC,KAAK,EAAC,CAAC,EAAE,OAAO,EAAC,CAAC,EAAC,CAAC,CAAC,CAAA;QACvE,OAAQ,OAA2B,CAAC,SAAS,CAAA;QAC7C,OAAO,CAAC,CAAA;IACV,CAAC;IAED,MAAM,UAAU,GAAG,OAAqB,CAAA;IACxC,MAAM,WAAW,GAAG,UAAU,CAAC,GAAG,CAAA;IAElC,8BAA8B;IAC9B,IAAG,WAAW,EAAE,CAAC;QACf,MAAM,UAAU,GAAG,aAAa,CAAC,QAAQ,CAAC,CAAA;QAC1C,MAAM,YAAY,GAAG,aAAa,CAAC,OAAO,CAAC,KAAK,CAAC,CAAA;QAEjD,IAAG,YAAY,IAAI,UAAU,EAAE,CAAC;YAC9B,MAAM,MAAM,GAAG,QAAe,CAAA;YAC9B,IAAG,CAAC,UAAU,CAAC,MAAM,EAAE,WAAW,CAAC,EAAE,CAAC;gBACpC,gBAAgB,CAAC,WAAW,EAAE,UAAU,CAAC,CAAA;gBACzC,OAAO,CAAC,CAAA;YACV,CAAC;YAED,OAAO,KAAK,CAAA;QACd,CAAC;QAED,MAAM,mBAAmB,GAAG,cAAc,CAAC,QAAQ,CAAC,CAAA;QACpD,IAAG,mBAAmB,EAAE,CAAC;YACvB,OAAO,KAAK,CAAA,CAAC,4BAA4B;QAC3C,CAAC;QAED,kDAAkD;QAClD,gBAAgB,CAAC,WAAW,EAAE,UAAU,CAAC,CAAA;QACzC,OAAO,CAAC,CAAA;IACV,CAAC;IAED,MAAM,cAAc,GAAG,OAAyB,CAAA;IAChD,MAAM,YAAY,GAAG,WAAW,IAAI,cAAc,CAAA;IAClD,MAAM,SAAS,GAAG,cAAc,CAAC,SAAS,CAAA,CAAC,kFAAkF;IAC7H,4CAA4C;IAC5C,IAAG,YAAY,IAAI,SAAS,KAAK,QAAQ,EAAE,CAAC;QAC1C,kBAAkB,CAAC,cAAc,CAAC,QAAQ,EAAE,cAAc,CAAC,CAAA;QAC3D,OAAO,CAAC,CAAA;IACV,CAAC;IAED,OAAO,KAAK,CAAA;AACd,CAAC;AAED,MAAM,UAAU,eAAe,CAC7B,GAAQ,EACR,MAAc;IAEd,qBAAqB,CAAC,GAAG,CAAC,UAAU,CAAC,CAAA;IAErC,GAAG,CAAC,OAAO,CAAC;QACV,OAAO,EAAE,MAAM,CAAC,OAAO,EAAE;KAC1B,CAAC,CAAA;AACJ,CAAC;AAED,SAAS,kBAAkB,CACzB,QAAmC,EACnC,OAAuB;IAEvB,MAAM,KAAK,GAAG,OAAO,CAAC,KAAgB,CAAA;IACtC,MAAM,MAAM,GAAG,KAAK,CAAC,UAAwB,CAAA;IAE7C,6BAA6B;IAC7B,MAAM,CAAC,YAAY,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAA;IACpC,MAAM,CAAC,WAAW,CAAC,KAAK,CAAC,CAAA;IAEzB,OAAO,OAAO,CAAC,KAAK,CAAA;IACpB,OAAO,OAAO,CAAC,SAAS,CAAA;IACxB,8BAA8B;AAChC,CAAC"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import { TagSubject } from './Tag.utils';
|
|
2
|
+
import { Tag } from './Tag.class';
|
|
3
|
+
import { TagSupport } from './TagSupport.class';
|
|
4
|
+
export declare function destroyTagMemory(tag: Tag, subject: TagSubject): void;
|
|
5
|
+
export declare function destroyTagSupportPast(oldTagSupport: TagSupport): void;
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
export function destroyTagMemory(tag, subject) {
|
|
2
|
+
const oldTagSupport = tag.tagSupport;
|
|
3
|
+
if (subject != tag.tagSupport.subject) {
|
|
4
|
+
throw new Error('fff - subjects do not match');
|
|
5
|
+
}
|
|
6
|
+
delete subject.tag;
|
|
7
|
+
delete tag.tagSupport.subject.tag; // TODO: this line maybe not needed
|
|
8
|
+
// must destroy oldest which is tag with elements on stage
|
|
9
|
+
const oldest = tag.tagSupport.templater.global.oldest;
|
|
10
|
+
oldest.destroy();
|
|
11
|
+
destroyTagSupportPast(oldTagSupport);
|
|
12
|
+
tag.tagSupport.templater.global.context = {};
|
|
13
|
+
}
|
|
14
|
+
export function destroyTagSupportPast(oldTagSupport) {
|
|
15
|
+
delete oldTagSupport.templater.global.oldest;
|
|
16
|
+
delete oldTagSupport.templater.global.newest;
|
|
17
|
+
}
|
|
18
|
+
//# sourceMappingURL=destroyTag.function.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"destroyTag.function.js","sourceRoot":"","sources":["../ts/destroyTag.function.ts"],"names":[],"mappings":"AAIA,MAAM,UAAU,gBAAgB,CAC9B,GAAQ,EACR,OAAmB;IAEnB,MAAM,aAAa,GAAG,GAAG,CAAC,UAAU,CAAA;IAEpC,IAAG,OAAO,IAAI,GAAG,CAAC,UAAU,CAAC,OAAO,EAAE,CAAC;QACrC,MAAM,IAAI,KAAK,CAAC,6BAA6B,CAAC,CAAA;IAChD,CAAC;IAED,OAAQ,OAAe,CAAC,GAAG,CAAA;IAC3B,OAAQ,GAAG,CAAC,UAAU,CAAC,OAAe,CAAC,GAAG,CAAA,CAAC,mCAAmC;IAE9E,0DAA0D;IAC1D,MAAM,MAAM,GAAG,GAAG,CAAC,UAAU,CAAC,SAAS,CAAC,MAAM,CAAC,MAAa,CAAA;IAC5D,MAAM,CAAC,OAAO,EAAE,CAAA;IAEhB,qBAAqB,CAAC,aAAa,CAAC,CAAA;IAEpC,GAAG,CAAC,UAAU,CAAC,SAAS,CAAC,MAAM,CAAC,OAAO,GAAG,EAAE,CAAA;AAC9C,CAAC;AAED,MAAM,UAAU,qBAAqB,CAAC,aAAyB;IAC7D,OAAO,aAAa,CAAC,SAAS,CAAC,MAAM,CAAC,MAAM,CAAA;IAC5C,OAAO,aAAa,CAAC,SAAS,CAAC,MAAM,CAAC,MAAM,CAAA;AAC9C,CAAC"}
|
package/js/elementInitCheck.d.ts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { Counts } from "./interpolateTemplate
|
|
1
|
+
import { Counts } from "./interpolateTemplate";
|
|
2
2
|
export declare function elementInitCheck(nextSibling: Element | ChildNode, counts: Counts): number;
|
package/js/getCallback.d.ts
CHANGED
package/js/getCallback.js
CHANGED
|
@@ -1,12 +1,17 @@
|
|
|
1
|
-
import { setUse } from "./setUse.function
|
|
2
|
-
import { getStateValue } from "./set.function
|
|
3
|
-
|
|
4
|
-
|
|
1
|
+
import { setUse } from "./setUse.function";
|
|
2
|
+
import { getStateValue } from "./set.function";
|
|
3
|
+
import { renderTagSupport } from "./renderTagSupport.function";
|
|
4
|
+
let innerCallback = (callback) => () => {
|
|
5
|
+
throw new Error('Callback function was called immediately in sync and must instead be call async');
|
|
5
6
|
};
|
|
7
|
+
export const getCallback = () => innerCallback;
|
|
8
|
+
const originalGetter = innerCallback; // getCallback
|
|
6
9
|
setUse({
|
|
7
10
|
beforeRender: (tagSupport) => initMemory(tagSupport),
|
|
8
11
|
beforeRedraw: (tagSupport) => initMemory(tagSupport),
|
|
9
|
-
|
|
12
|
+
afterRender: (_tagSupport) => {
|
|
13
|
+
innerCallback = originalGetter; // prevent crossing callbacks with another tag
|
|
14
|
+
},
|
|
10
15
|
});
|
|
11
16
|
function updateState(stateFrom, stateTo) {
|
|
12
17
|
stateFrom.forEach((state, index) => {
|
|
@@ -19,13 +24,10 @@ function updateState(stateFrom, stateTo) {
|
|
|
19
24
|
});
|
|
20
25
|
}
|
|
21
26
|
function initMemory(tagSupport) {
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
const
|
|
25
|
-
|
|
26
|
-
return trigger;
|
|
27
|
-
};
|
|
28
|
-
return callbackMaker;
|
|
27
|
+
const oldState = setUse.memory.stateConfig.array;
|
|
28
|
+
innerCallback = (callback) => {
|
|
29
|
+
const trigger = (...args) => triggerStateUpdate(tagSupport, callback, oldState, ...args);
|
|
30
|
+
return trigger;
|
|
29
31
|
};
|
|
30
32
|
}
|
|
31
33
|
function triggerStateUpdate(tagSupport, callback, oldState, ...args) {
|
|
@@ -37,13 +39,12 @@ function triggerStateUpdate(tagSupport, callback, oldState, ...args) {
|
|
|
37
39
|
const promise = callback(...args);
|
|
38
40
|
// send the oldest state changes into the newest
|
|
39
41
|
updateState(oldState, newest);
|
|
40
|
-
tagSupport
|
|
41
|
-
// TODO: turn back on below
|
|
42
|
+
renderTagSupport(tagSupport, false);
|
|
42
43
|
if (promise instanceof Promise) {
|
|
43
44
|
promise.finally(() => {
|
|
44
45
|
// send the oldest state changes into the newest
|
|
45
46
|
updateState(oldState, newest);
|
|
46
|
-
tagSupport
|
|
47
|
+
renderTagSupport(tagSupport, false);
|
|
47
48
|
});
|
|
48
49
|
}
|
|
49
50
|
}
|
package/js/getCallback.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getCallback.js","sourceRoot":"","sources":["../ts/getCallback.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"getCallback.js","sourceRoot":"","sources":["../ts/getCallback.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAA;AAC1C,OAAO,EAA2B,aAAa,EAAE,MAAM,gBAAgB,CAAA;AACvE,OAAO,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAA;AAI9D,IAAI,aAAa,GAAG,CAAC,QAAkB,EAAE,EAAE,CAAC,GAAS,EAAE;IACrD,MAAM,IAAI,KAAK,CAAC,iFAAiF,CAAC,CAAA;AACpG,CAAC,CAAA;AACD,MAAM,CAAC,MAAM,WAAW,GAAG,GAAG,EAAE,CAAC,aAAa,CAAA;AAE9C,MAAM,cAAc,GAAG,aAAa,CAAA,CAAC,cAAc;AAEnD,MAAM,CAAC;IACL,YAAY,EAAE,CAAC,UAA0B,EAAE,EAAE,CAAC,UAAU,CAAC,UAAU,CAAC;IACpE,YAAY,EAAE,CAAC,UAA0B,EAAE,EAAE,CAAC,UAAU,CAAC,UAAU,CAAC;IACpE,WAAW,EAAE,CAAC,WAA2B,EAAE,EAAE;QAC3C,aAAa,GAAG,cAAc,CAAA,CAAC,8CAA8C;IAC/E,CAAC;CACF,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,UAA0B;IAC7C,MAAM,QAAQ,GAAqB,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,KAAK,CAAA;IAClE,aAAa,GAAG,CACd,QAAkB,EAClB,EAAE;QACF,MAAM,OAAO,GAAG,CAAC,GAAG,IAAW,EAAE,EAAE,CAAC,kBAAkB,CAAC,UAAU,EAAE,QAAQ,EAAE,QAAQ,EAAE,GAAG,IAAI,CAAC,CAAA;QAC/F,OAAO,OAAO,CAAA;IAChB,CAAC,CAAA;AACH,CAAC;AAED,SAAS,kBAAkB,CACzB,UAA0B,EAC1B,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,gBAAgB,CACd,UAAU,EACV,KAAK,CACN,CAAA;IAED,IAAG,OAAO,YAAY,OAAO,EAAE,CAAC;QAC9B,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE;YACnB,gDAAgD;YAChD,WAAW,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAA;YAE7B,gBAAgB,CACd,UAAU,EACV,KAAK,CACN,CAAA;QACH,CAAC,CAAC,CAAA;IACJ,CAAC;AACH,CAAC"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import { Props } from "./Props
|
|
2
|
-
import {
|
|
3
|
-
|
|
1
|
+
import { Props } from "./Props";
|
|
2
|
+
import { BaseTagSupport } from "./TagSupport.class";
|
|
3
|
+
import { TemplaterResult } from "./TemplaterResult.class";
|
|
4
|
+
export declare function hasTagSupportChanged(oldTagSupport: BaseTagSupport, newTagSupport: BaseTagSupport, newTemplater: TemplaterResult): number | false;
|
|
4
5
|
export declare function hasPropChanges(props: Props, // natural props
|
|
5
|
-
pastCloneProps: Props
|
|
6
|
-
|
|
7
|
-
export declare function hasKidsChanged(oldTagSupport: TagSupport, newTagSupport: TagSupport): boolean;
|
|
6
|
+
pastCloneProps: Props): number | false;
|
|
7
|
+
export declare function hasKidsChanged(oldTagSupport: BaseTagSupport, newTagSupport: BaseTagSupport): number | false;
|