taggedjs 2.5.22 → 2.5.24
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 +1 -1
- package/bundle.js.gz +0 -0
- package/bundle.js.map +1 -1
- package/bundle.js.map.gz +0 -0
- package/js/alterProp.function.d.ts +7 -7
- package/js/alterProp.function.js +78 -43
- package/js/alterProp.function.js.map +1 -1
- package/js/buildClones.function.d.ts +2 -0
- package/js/buildClones.function.js +12 -0
- package/js/buildClones.function.js.map +1 -0
- package/js/deepFunctions.js +40 -18
- package/js/deepFunctions.js.map +1 -1
- package/js/index.d.ts +4 -5
- package/js/index.js +4 -5
- package/js/index.js.map +1 -1
- package/js/interpolations/afterInterpolateElement.function.d.ts +3 -3
- package/js/interpolations/afterInterpolateElement.function.js +6 -5
- package/js/interpolations/afterInterpolateElement.function.js.map +1 -1
- package/js/interpolations/bindSubjectCallback.function.d.ts +9 -3
- package/js/interpolations/bindSubjectCallback.function.js +76 -35
- package/js/interpolations/bindSubjectCallback.function.js.map +1 -1
- package/js/interpolations/interpolateAttributes.d.ts +3 -2
- package/js/interpolations/interpolateAttributes.js +6 -10
- package/js/interpolations/interpolateAttributes.js.map +1 -1
- package/js/interpolations/interpolateContentTemplates.d.ts +3 -7
- package/js/interpolations/interpolateContentTemplates.js +16 -12
- package/js/interpolations/interpolateContentTemplates.js.map +1 -1
- package/js/interpolations/interpolateElement.d.ts +4 -6
- package/js/interpolations/interpolateElement.js +4 -13
- package/js/interpolations/interpolateElement.js.map +1 -1
- package/js/interpolations/interpolateTemplate.d.ts +8 -11
- package/js/interpolations/interpolateTemplate.js +0 -66
- package/js/interpolations/interpolateTemplate.js.map +1 -1
- package/js/interpolations/interpolations.d.ts +0 -3
- package/js/interpolations/interpolations.js +1 -17
- package/js/interpolations/interpolations.js.map +1 -1
- package/js/interpolations/optimizers/ObjectNode.types.d.ts +31 -0
- package/js/interpolations/optimizers/ObjectNode.types.js +2 -0
- package/js/interpolations/optimizers/ObjectNode.types.js.map +1 -0
- package/js/interpolations/optimizers/htmlInterpolationToDomMeta.function.d.ts +4 -0
- package/js/interpolations/optimizers/htmlInterpolationToDomMeta.function.js +136 -0
- package/js/interpolations/optimizers/htmlInterpolationToDomMeta.function.js.map +1 -0
- package/js/interpolations/optimizers/metaAttachDomElements.function.d.ts +6 -0
- package/js/interpolations/optimizers/metaAttachDomElements.function.js +43 -0
- package/js/interpolations/optimizers/metaAttachDomElements.function.js.map +1 -0
- package/js/interpolations/optimizers/replacePlaceholders.function.d.ts +2 -0
- package/js/interpolations/optimizers/replacePlaceholders.function.js +92 -0
- package/js/interpolations/optimizers/replacePlaceholders.function.js.map +1 -0
- package/js/interpolations/optimizers/restorePlaceholders.function.d.ts +3 -0
- package/js/interpolations/optimizers/restorePlaceholders.function.js +39 -0
- package/js/interpolations/optimizers/restorePlaceholders.function.js.map +1 -0
- package/js/interpolations/processAttribute.function.d.ts +8 -3
- package/js/interpolations/processAttribute.function.js +42 -45
- package/js/interpolations/processAttribute.function.js.map +1 -1
- package/js/interpolations/scanTextAreaValue.function.d.ts +2 -2
- package/js/interpolations/scanTextAreaValue.function.js +11 -6
- package/js/interpolations/scanTextAreaValue.function.js.map +1 -1
- package/js/interpolations/specialAttribute.js +4 -2
- package/js/interpolations/specialAttribute.js.map +1 -1
- package/js/interpolations/subscribeToTemplate.function.d.ts +5 -0
- package/js/interpolations/subscribeToTemplate.function.js +28 -0
- package/js/interpolations/subscribeToTemplate.function.js.map +1 -0
- package/js/isInstance.d.ts +2 -2
- package/js/isInstance.js +9 -3
- package/js/isInstance.js.map +1 -1
- package/js/render.js +17 -4
- package/js/render.js.map +1 -1
- package/js/state/callbackMaker.function.js +13 -14
- package/js/state/callbackMaker.function.js.map +1 -1
- package/js/state/callbackStateUpdate.function.d.ts +2 -2
- package/js/state/callbackStateUpdate.function.js +5 -5
- package/js/state/callbackStateUpdate.function.js.map +1 -1
- package/js/state/children.js +5 -5
- package/js/state/children.js.map +1 -1
- package/js/state/handleProviderChanges.function.d.ts +2 -2
- package/js/state/handleProviderChanges.function.js +13 -10
- package/js/state/handleProviderChanges.function.js.map +1 -1
- package/js/state/onDestroy.js +2 -2
- package/js/state/onDestroy.js.map +1 -1
- package/js/state/providers.d.ts +3 -3
- package/js/state/providers.js +11 -11
- package/js/state/providers.js.map +1 -1
- package/js/state/providersChangeCheck.function.d.ts +2 -2
- package/js/state/providersChangeCheck.function.js +7 -3
- package/js/state/providersChangeCheck.function.js.map +1 -1
- package/js/state/setUse.function.d.ts +10 -10
- package/js/state/state.function.js +3 -3
- package/js/state/state.function.js.map +1 -1
- package/js/state/state.utils.d.ts +2 -2
- package/js/state/state.utils.js +15 -16
- package/js/state/state.utils.js.map +1 -1
- package/js/state/subject.function.js +6 -6
- package/js/state/subject.function.js.map +1 -1
- package/js/state/watch.function.js +3 -3
- package/js/state/watch.function.js.map +1 -1
- package/js/subject/Subject.class.d.ts +2 -2
- package/js/subject/Subject.class.js +5 -11
- package/js/subject/Subject.class.js.map +1 -1
- package/js/subject/ValueSubject.d.ts +1 -1
- package/js/subject/combineLatest.function.js +3 -1
- package/js/subject/combineLatest.function.js.map +1 -1
- package/js/subject/subject.utils.js +15 -13
- package/js/subject/subject.utils.js.map +1 -1
- package/js/subject/will.functions.js.map +1 -1
- package/js/subject.types.d.ts +6 -10
- package/js/tag/Support.class.d.ts +69 -0
- package/js/tag/Support.class.js +290 -0
- package/js/tag/Support.class.js.map +1 -0
- package/js/tag/Tag.class.d.ts +30 -18
- package/js/tag/Tag.class.js +36 -8
- package/js/tag/Tag.class.js.map +1 -1
- package/js/tag/TagSupport.class.d.ts +1 -1
- package/js/tag/TagSupport.class.js +23 -27
- package/js/tag/TagSupport.class.js.map +1 -1
- package/js/tag/TemplaterResult.class.d.ts +17 -9
- package/js/tag/TemplaterResult.class.js +12 -2
- package/js/tag/TemplaterResult.class.js.map +1 -1
- package/js/tag/ValueTypes.enum.d.ts +7 -1
- package/js/tag/ValueTypes.enum.js +6 -0
- package/js/tag/ValueTypes.enum.js.map +1 -1
- package/js/tag/checkDestroyPrevious.function.d.ts +3 -5
- package/js/tag/checkDestroyPrevious.function.js +16 -38
- package/js/tag/checkDestroyPrevious.function.js.map +1 -1
- package/js/tag/cloneValueArray.function.d.ts +1 -0
- package/js/tag/cloneValueArray.function.js +16 -14
- package/js/tag/cloneValueArray.function.js.map +1 -1
- package/js/tag/destroy.support.d.ts +2 -2
- package/js/tag/destroy.support.js +1 -2
- package/js/tag/destroy.support.js.map +1 -1
- package/js/tag/destroyTag.function.d.ts +2 -2
- package/js/tag/destroyTag.function.js +4 -3
- package/js/tag/destroyTag.function.js.map +1 -1
- package/js/tag/domMetaCollector.d.ts +3 -0
- package/js/tag/domMetaCollector.js +26 -0
- package/js/tag/domMetaCollector.js.map +1 -0
- package/js/tag/getStringsId.function.d.ts +1 -0
- package/js/tag/getStringsId.function.js +7 -0
- package/js/tag/getStringsId.function.js.map +1 -0
- package/js/tag/getSupportInCycle.function.d.ts +1 -1
- package/js/tag/getSupportInCycle.function.js +1 -1
- package/js/tag/getSupportInCycle.function.js.map +1 -1
- package/js/tag/getTagWrap.function.js +66 -57
- package/js/tag/getTagWrap.function.js.map +1 -1
- package/js/tag/getValueType.function.js +15 -10
- package/js/tag/getValueType.function.js.map +1 -1
- package/js/tag/hasPropChanges.function.d.ts +1 -1
- package/js/tag/hasPropChanges.function.js +8 -11
- package/js/tag/hasPropChanges.function.js.map +1 -1
- package/js/tag/hasSupportChanged.function.d.ts +4 -0
- package/js/tag/hasSupportChanged.function.js +27 -0
- package/js/tag/hasSupportChanged.function.js.map +1 -0
- package/js/tag/hasTagSupportChanged.function.js +15 -2
- package/js/tag/hasTagSupportChanged.function.js.map +1 -1
- package/js/tag/html.d.ts +5 -1
- package/js/tag/html.js +4 -1
- package/js/tag/html.js.map +1 -1
- package/js/tag/index.d.ts +3 -1
- package/js/tag/index.js +3 -1
- package/js/tag/index.js.map +1 -1
- package/js/tag/isLastRunMatched.function.d.ts +2 -0
- package/js/tag/isLastRunMatched.function.js +14 -0
- package/js/tag/isLastRunMatched.function.js.map +1 -0
- package/js/tag/isLikeTags.function.d.ts +3 -3
- package/js/tag/isLikeTags.function.js +43 -9
- package/js/tag/isLikeTags.function.js.map +1 -1
- package/js/tag/kidsToTagArraySubject.function.d.ts +2 -2
- package/js/tag/kidsToTagArraySubject.function.js +1 -1
- package/js/tag/kidsToTagArraySubject.function.js.map +1 -1
- package/js/tag/render/destroyUnlikeTags.function.d.ts +3 -3
- package/js/tag/render/destroyUnlikeTags.function.js +2 -12
- package/js/tag/render/destroyUnlikeTags.function.js.map +1 -1
- package/js/tag/render/renderExistingTag.function.d.ts +5 -5
- package/js/tag/render/renderExistingTag.function.js +9 -6
- package/js/tag/render/renderExistingTag.function.js.map +1 -1
- package/js/tag/render/renderSubjectComponent.function.d.ts +2 -2
- package/js/tag/render/renderSubjectComponent.function.js +7 -5
- package/js/tag/render/renderSubjectComponent.function.js.map +1 -1
- package/js/tag/render/renderSupport.function.d.ts +4 -0
- package/js/tag/render/renderSupport.function.js +43 -0
- package/js/tag/render/renderSupport.function.js.map +1 -0
- package/js/tag/render/renderTagOnly.function.d.ts +2 -2
- package/js/tag/render/renderTagOnly.function.js +19 -20
- package/js/tag/render/renderTagOnly.function.js.map +1 -1
- package/js/tag/render/renderWithSupport.function.d.ts +3 -3
- package/js/tag/render/renderWithSupport.function.js +38 -5
- package/js/tag/render/renderWithSupport.function.js.map +1 -1
- package/js/tag/render/softDestroySupport.function.d.ts +2 -2
- package/js/tag/render/softDestroySupport.function.js +11 -8
- package/js/tag/render/softDestroySupport.function.js.map +1 -1
- package/js/tag/setTagPlaceholder.function.js +2 -1
- package/js/tag/setTagPlaceholder.function.js.map +1 -1
- package/js/tag/tag.d.ts +2 -2
- package/js/tag/tag.js +1 -0
- package/js/tag/tag.js.map +1 -1
- package/js/tag/tag.types.d.ts +4 -4
- package/js/tag/tag.utils.d.ts +10 -7
- package/js/tag/tag.utils.js.map +1 -1
- package/js/tag/tagElement.d.ts +3 -3
- package/js/tag/tagElement.js +36 -31
- package/js/tag/tagElement.js.map +1 -1
- package/js/tag/tagRunner.d.ts +5 -5
- package/js/tag/tagRunner.js +15 -15
- package/js/tag/tagRunner.js.map +1 -1
- package/js/tag/textNode.d.ts +4 -0
- package/js/tag/textNode.js +9 -0
- package/js/tag/textNode.js.map +1 -0
- package/js/tag/update/TagJsSubject.class.d.ts +8 -0
- package/js/tag/update/TagJsSubject.class.js +23 -0
- package/js/tag/update/TagJsSubject.class.js.map +1 -0
- package/js/tag/update/oneRenderToSupport.function.d.ts +4 -0
- package/js/tag/update/oneRenderToSupport.function.js +19 -0
- package/js/tag/update/oneRenderToSupport.function.js.map +1 -0
- package/js/tag/update/processFirstSubject.utils.d.ts +5 -4
- package/js/tag/update/processFirstSubjectValue.function.d.ts +4 -3
- package/js/tag/update/processFirstSubjectValue.function.js +12 -10
- package/js/tag/update/processFirstSubjectValue.function.js.map +1 -1
- package/js/tag/update/processNewValue.function.d.ts +3 -2
- package/js/tag/update/processNewValue.function.js +11 -8
- package/js/tag/update/processNewValue.function.js.map +1 -1
- package/js/tag/update/processRegularValue.function.js +5 -5
- package/js/tag/update/processRegularValue.function.js.map +1 -1
- package/js/tag/update/processSubjectComponent.function.d.ts +3 -3
- package/js/tag/update/processSubjectComponent.function.js +13 -11
- package/js/tag/update/processSubjectComponent.function.js.map +1 -1
- package/js/tag/update/processTag.function.d.ts +10 -9
- package/js/tag/update/processTag.function.js +30 -23
- package/js/tag/update/processTag.function.js.map +1 -1
- package/js/tag/update/processTagArray.d.ts +15 -9
- package/js/tag/update/processTagArray.js +56 -52
- package/js/tag/update/processTagArray.js.map +1 -1
- package/js/tag/update/processTagResult.function.d.ts +4 -6
- package/js/tag/update/processTagResult.function.js +22 -16
- package/js/tag/update/processTagResult.function.js.map +1 -1
- package/js/tag/update/updateContextItem.function.d.ts +1 -1
- package/js/tag/update/updateContextItem.function.js +4 -3
- package/js/tag/update/updateContextItem.function.js.map +1 -1
- package/js/tag/update/updateExistingTagComponent.function.d.ts +7 -4
- package/js/tag/update/updateExistingTagComponent.function.js +78 -86
- package/js/tag/update/updateExistingTagComponent.function.js.map +1 -1
- package/js/tag/update/updateExistingValue.function.d.ts +3 -2
- package/js/tag/update/updateExistingValue.function.js +35 -45
- package/js/tag/update/updateExistingValue.function.js.map +1 -1
- package/js/updateBeforeTemplate.function.js +2 -1
- package/js/updateBeforeTemplate.function.js.map +1 -1
- package/package.json +1 -1
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { Context, Tag } from './Tag.class.js';
|
|
2
|
-
import {
|
|
1
|
+
import { Context, Tag, Dom } from './Tag.class.js';
|
|
2
|
+
import { BaseSupport, Support } from './Support.class.js';
|
|
3
3
|
import { Props } from '../Props.js';
|
|
4
4
|
import { TagChildren, TagWrapper } from './tag.utils.js';
|
|
5
5
|
import { Provider } from '../state/providers.js';
|
|
@@ -10,16 +10,18 @@ import { Subscription } from '../subject/subject.utils.js';
|
|
|
10
10
|
import { InsertBefore } from '../interpolations/InsertBefore.type.js';
|
|
11
11
|
import { TagValues } from './html.js';
|
|
12
12
|
import { Subject } from '../subject/index.js';
|
|
13
|
+
import { ValueTypes } from './ValueTypes.enum.js';
|
|
14
|
+
import { ObjectChildren } from '../interpolations/optimizers/ObjectNode.types.js';
|
|
13
15
|
export type OriginalFunction = (() => Tag) & {
|
|
14
16
|
compareTo: string;
|
|
15
17
|
};
|
|
16
|
-
export type Wrapper = ((
|
|
18
|
+
export type Wrapper = ((newSupport: BaseSupport | Support, subject: TagSubject, prevSupport?: BaseSupport | Support) => Support) & {
|
|
17
19
|
parentWrap: TagWrapper<any>;
|
|
18
20
|
};
|
|
19
21
|
export type TagGlobal = {
|
|
20
22
|
destroy$: Subject<any>;
|
|
21
|
-
oldest:
|
|
22
|
-
newest?:
|
|
23
|
+
oldest: BaseSupport | Support;
|
|
24
|
+
newest?: BaseSupport | Support;
|
|
23
25
|
context: Context;
|
|
24
26
|
providers: Provider[];
|
|
25
27
|
/** Indicator of re-rending. Saves from double rending something already rendered */
|
|
@@ -32,19 +34,25 @@ export type TagGlobal = {
|
|
|
32
34
|
destroyCallback?: OnDestroyCallback;
|
|
33
35
|
init?: OnInitCallback;
|
|
34
36
|
locked?: true;
|
|
35
|
-
blocked: (
|
|
36
|
-
childTags:
|
|
37
|
+
blocked: (BaseSupport | Support)[];
|
|
38
|
+
childTags: Support[];
|
|
39
|
+
clones: Clone[];
|
|
40
|
+
callbackMaker?: true;
|
|
37
41
|
};
|
|
42
|
+
export type Clone = (Element | Text | ChildNode);
|
|
38
43
|
export declare class TemplaterResult {
|
|
39
44
|
props: Props;
|
|
40
|
-
tagJsType:
|
|
45
|
+
tagJsType: ValueTypes;
|
|
41
46
|
tagged: boolean;
|
|
42
47
|
wrapper?: Wrapper;
|
|
43
48
|
madeChildIntoSubject?: boolean;
|
|
44
|
-
tag?: Tag;
|
|
49
|
+
tag?: Tag | Dom;
|
|
45
50
|
children: TagChildren;
|
|
46
51
|
arrayValue?: unknown;
|
|
47
52
|
constructor(props: Props);
|
|
48
53
|
key(arrayValue: unknown): this;
|
|
54
|
+
/** children */
|
|
49
55
|
html(strings: string[] | TemplateStringsArray, ...values: TagValues): this;
|
|
56
|
+
/** children */
|
|
57
|
+
dom(strings: ObjectChildren, ...values: TagValues): this;
|
|
50
58
|
}
|
|
@@ -1,9 +1,10 @@
|
|
|
1
|
-
import { Tag } from './Tag.class.js';
|
|
1
|
+
import { Tag, Dom } from './Tag.class.js';
|
|
2
2
|
import { ValueSubject } from '../subject/index.js';
|
|
3
3
|
import { kidsToTagArraySubject } from './kidsToTagArraySubject.function.js';
|
|
4
|
+
import { ValueTypes } from './ValueTypes.enum.js';
|
|
4
5
|
export class TemplaterResult {
|
|
5
6
|
props;
|
|
6
|
-
tagJsType =
|
|
7
|
+
tagJsType = ValueTypes.templater;
|
|
7
8
|
tagged;
|
|
8
9
|
wrapper;
|
|
9
10
|
madeChildIntoSubject;
|
|
@@ -12,16 +13,25 @@ export class TemplaterResult {
|
|
|
12
13
|
arrayValue; // used for tag components used in arrays
|
|
13
14
|
constructor(props) {
|
|
14
15
|
this.props = props;
|
|
16
|
+
this.html.dom = this.dom.bind(this);
|
|
15
17
|
}
|
|
16
18
|
key(arrayValue) {
|
|
17
19
|
this.arrayValue = arrayValue;
|
|
18
20
|
return this;
|
|
19
21
|
}
|
|
22
|
+
/** children */
|
|
20
23
|
html(strings, ...values) {
|
|
21
24
|
const children = new Tag(strings, values);
|
|
22
25
|
const childSubject = kidsToTagArraySubject(children, this);
|
|
23
26
|
this.children = childSubject;
|
|
24
27
|
return this;
|
|
25
28
|
}
|
|
29
|
+
/** children */
|
|
30
|
+
dom(strings, ...values) {
|
|
31
|
+
const children = new Dom(strings, values);
|
|
32
|
+
const childSubject = kidsToTagArraySubject(children, this);
|
|
33
|
+
this.children = childSubject;
|
|
34
|
+
return this;
|
|
35
|
+
}
|
|
26
36
|
}
|
|
27
37
|
//# sourceMappingURL=TemplaterResult.class.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TemplaterResult.class.js","sourceRoot":"","sources":["../../ts/tag/TemplaterResult.class.ts"],"names":[],"mappings":"AAAA,OAAO,EAAW,GAAG,EAAE,MAAM,gBAAgB,CAAA;
|
|
1
|
+
{"version":3,"file":"TemplaterResult.class.js","sourceRoot":"","sources":["../../ts/tag/TemplaterResult.class.ts"],"names":[],"mappings":"AAAA,OAAO,EAAW,GAAG,EAAE,GAAG,EAAE,MAAM,gBAAgB,CAAA;AAWlD,OAAO,EAAW,YAAY,EAAE,MAAM,qBAAqB,CAAA;AAC3D,OAAO,EAAE,qBAAqB,EAAE,MAAM,qCAAqC,CAAA;AAC3E,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAA;AA4CjD,MAAM,OAAO,eAAe;IAWP;IAVnB,SAAS,GAAG,UAAU,CAAC,SAAS,CAAA;IAChC,MAAM,CAAU;IAChB,OAAO,CAAU;IAEjB,oBAAoB,CAAU;IAE9B,GAAG,CAAY;IACf,QAAQ,GAAgB,IAAI,YAAY,CAAgB,EAAE,CAAC,CAAA;IAC3D,UAAU,CAAU,CAAC,yCAAyC;IAE9D,YAAmB,KAAY;QAAZ,UAAK,GAAL,KAAK,CAAO;QAC5B,IAAI,CAAC,IAAY,CAAC,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;IAC9C,CAAC;IAED,GAAG,CAAE,UAAmB;QACtB,IAAI,CAAC,UAAU,GAAG,UAAU,CAAA;QAC5B,OAAO,IAAI,CAAA;IACb,CAAC;IAED,eAAe;IACf,IAAI,CACF,OAAwC,EACxC,GAAG,MAAiB;QAEpB,MAAM,QAAQ,GAAG,IAAI,GAAG,CAAC,OAAmB,EAAE,MAAM,CAAC,CAAA;QACrD,MAAM,YAAY,GAAG,qBAAqB,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAA;QAC1D,IAAI,CAAC,QAAQ,GAAG,YAAY,CAAA;QAC5B,OAAO,IAAI,CAAA;IACb,CAAC;IAED,eAAe;IACf,GAAG,CACD,OAAuB,EACvB,GAAG,MAAiB;QAEpB,MAAM,QAAQ,GAAG,IAAI,GAAG,CAAC,OAAO,EAAE,MAAM,CAAC,CAAA;QACzC,MAAM,YAAY,GAAG,qBAAqB,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAA;QAC1D,IAAI,CAAC,QAAQ,GAAG,YAAY,CAAA;QAC5B,OAAO,IAAI,CAAA;IACb,CAAC;CACF"}
|
|
@@ -1,12 +1,18 @@
|
|
|
1
|
+
export declare const empty = "";
|
|
1
2
|
export declare enum ValueTypes {
|
|
2
3
|
unknown = "unknown",
|
|
3
|
-
tag = "tag",//
|
|
4
|
+
tag = "tag",// html''
|
|
5
|
+
dom = "dom",// compiled version of html''
|
|
4
6
|
templater = "templater",
|
|
5
7
|
tagComponent = "tag-component",
|
|
8
|
+
object = "object",
|
|
6
9
|
tagArray = "tag-array",
|
|
7
10
|
subject = "subject",
|
|
11
|
+
tagJsSubject = "tagJsSubject",
|
|
12
|
+
oneRender = "oneRender",
|
|
8
13
|
date = "date",
|
|
9
14
|
string = "string",
|
|
15
|
+
number = "number",
|
|
10
16
|
boolean = "boolean",
|
|
11
17
|
function = "function",
|
|
12
18
|
undefined = "undefined"
|
|
@@ -1,13 +1,19 @@
|
|
|
1
|
+
export const empty = '';
|
|
1
2
|
export var ValueTypes;
|
|
2
3
|
(function (ValueTypes) {
|
|
3
4
|
ValueTypes["unknown"] = "unknown";
|
|
4
5
|
ValueTypes["tag"] = "tag";
|
|
6
|
+
ValueTypes["dom"] = "dom";
|
|
5
7
|
ValueTypes["templater"] = "templater";
|
|
6
8
|
ValueTypes["tagComponent"] = "tag-component";
|
|
9
|
+
ValueTypes["object"] = "object";
|
|
7
10
|
ValueTypes["tagArray"] = "tag-array";
|
|
8
11
|
ValueTypes["subject"] = "subject";
|
|
12
|
+
ValueTypes["tagJsSubject"] = "tagJsSubject";
|
|
13
|
+
ValueTypes["oneRender"] = "oneRender";
|
|
9
14
|
ValueTypes["date"] = "date";
|
|
10
15
|
ValueTypes["string"] = "string";
|
|
16
|
+
ValueTypes["number"] = "number";
|
|
11
17
|
ValueTypes["boolean"] = "boolean";
|
|
12
18
|
ValueTypes["function"] = "function";
|
|
13
19
|
ValueTypes["undefined"] = "undefined";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ValueTypes.enum.js","sourceRoot":"","sources":["../../ts/tag/ValueTypes.enum.ts"],"names":[],"mappings":"AAAA,MAAM,CAAN,IAAY,
|
|
1
|
+
{"version":3,"file":"ValueTypes.enum.js","sourceRoot":"","sources":["../../ts/tag/ValueTypes.enum.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,KAAK,GAAG,EAAE,CAAA;AAEvB,MAAM,CAAN,IAAY,UAqBX;AArBD,WAAY,UAAU;IACpB,iCAAmB,CAAA;IAEnB,yBAAW,CAAA;IACX,yBAAW,CAAA;IAEX,qCAAuB,CAAA;IACvB,4CAA8B,CAAA;IAC9B,+BAAiB,CAAA;IAEjB,oCAAsB,CAAA;IACtB,iCAAmB,CAAA;IACnB,2CAA6B,CAAA;IAC7B,qCAAuB,CAAA;IAEvB,2BAAa,CAAA;IACb,+BAAiB,CAAA;IACjB,+BAAiB,CAAA;IACjB,iCAAmB,CAAA;IACnB,mCAAqB,CAAA;IACrB,qCAAuB,CAAA;AACzB,CAAC,EArBW,UAAU,KAAV,UAAU,QAqBrB"}
|
|
@@ -1,10 +1,8 @@
|
|
|
1
1
|
import { InterpolateSubject } from './update/processFirstSubject.utils.js';
|
|
2
2
|
import { Counts } from '../interpolations/interpolateTemplate.js';
|
|
3
|
-
import {
|
|
4
|
-
import { BaseTagSupport, TagSupport } from './TagSupport.class.js';
|
|
3
|
+
import { Support } from './Support.class.js';
|
|
5
4
|
import { ValueTypes } from './ValueTypes.enum.js';
|
|
6
5
|
export declare function checkDestroyPrevious(subject: InterpolateSubject, // existing.value is the old value
|
|
7
|
-
newValue: unknown,
|
|
6
|
+
newValue: unknown, valueType: ValueTypes): false | "changed-simple-value" | "array" | 2 | "different-tag";
|
|
8
7
|
export declare function isSimpleType(value: any): boolean;
|
|
9
|
-
export declare function destroyArrayTag(
|
|
10
|
-
export declare function restoreTagMarker(lastSupport: BaseTagSupport | TagSupport): void;
|
|
8
|
+
export declare function destroyArrayTag(support: Support, counts: Counts): void;
|
|
@@ -1,10 +1,9 @@
|
|
|
1
1
|
import { isStaticTag } from '../isInstance.js';
|
|
2
2
|
import { isLikeTags } from './isLikeTags.function.js';
|
|
3
3
|
import { destroyTagMemory } from './destroyTag.function.js';
|
|
4
|
-
import { insertAfter } from '../insertAfter.function.js';
|
|
5
4
|
import { ValueTypes } from './ValueTypes.enum.js';
|
|
6
5
|
export function checkDestroyPrevious(subject, // existing.value is the old value
|
|
7
|
-
newValue,
|
|
6
|
+
newValue, valueType) {
|
|
8
7
|
const displaySubject = subject;
|
|
9
8
|
const hasLastValue = 'lastValue' in displaySubject;
|
|
10
9
|
const lastValue = displaySubject.lastValue; // TODO: we maybe able to use displaySubject.value and remove concept of lastValue
|
|
@@ -18,25 +17,22 @@ newValue, insertBefore, valueType) {
|
|
|
18
17
|
if (newValue instanceof Function && lastValue instanceof Function) {
|
|
19
18
|
return false;
|
|
20
19
|
}
|
|
21
|
-
destroySimpleValue(
|
|
20
|
+
destroySimpleValue(displaySubject);
|
|
22
21
|
return 'changed-simple-value';
|
|
23
22
|
}
|
|
24
23
|
const arraySubject = subject;
|
|
25
24
|
const wasArray = arraySubject.lastArray;
|
|
26
25
|
// no longer an array
|
|
27
26
|
if (wasArray && valueType !== ValueTypes.tagArray) {
|
|
28
|
-
const placeholderElm = arraySubject.placeholder;
|
|
29
27
|
delete arraySubject.lastArray;
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
const { tagSupport } = wasArray[index];
|
|
34
|
-
destroyArrayTag(tagSupport, { added: 0, removed: 0 });
|
|
28
|
+
for (let index = wasArray.array.length - 1; index >= 0; --index) {
|
|
29
|
+
const { support } = wasArray.array[index];
|
|
30
|
+
destroyArrayTag(support, { added: 0, removed: 0 });
|
|
35
31
|
}
|
|
36
32
|
return 'array';
|
|
37
33
|
}
|
|
38
34
|
const tagSubject = subject;
|
|
39
|
-
const lastSupport = tagSubject.
|
|
35
|
+
const lastSupport = tagSubject.support;
|
|
40
36
|
// no longer tag or component?
|
|
41
37
|
if (lastSupport) {
|
|
42
38
|
const isValueTag = isStaticTag(newValue);
|
|
@@ -44,11 +40,10 @@ newValue, insertBefore, valueType) {
|
|
|
44
40
|
const newTag = newValue;
|
|
45
41
|
if (isSubjectTag && isValueTag) {
|
|
46
42
|
// its a different tag now
|
|
47
|
-
|
|
43
|
+
const likeTags = isLikeTags(newTag, lastSupport);
|
|
44
|
+
if (!likeTags) {
|
|
48
45
|
// put template back down
|
|
49
|
-
restoreTagMarker(lastSupport);
|
|
50
46
|
destroyTagMemory(lastSupport);
|
|
51
|
-
// delete lastSupport.global.deleted // ???
|
|
52
47
|
return 2;
|
|
53
48
|
}
|
|
54
49
|
return false;
|
|
@@ -59,8 +54,6 @@ newValue, insertBefore, valueType) {
|
|
|
59
54
|
if (newValue && newValue.oneRender) {
|
|
60
55
|
return false;
|
|
61
56
|
}
|
|
62
|
-
// put template back down
|
|
63
|
-
restoreTagMarker(lastSupport);
|
|
64
57
|
// destroy old component, value is not a component
|
|
65
58
|
destroyTagMemory(lastSupport);
|
|
66
59
|
// delete lastSupport.global.deleted // ???
|
|
@@ -69,33 +62,18 @@ newValue, insertBefore, valueType) {
|
|
|
69
62
|
return false;
|
|
70
63
|
}
|
|
71
64
|
export function isSimpleType(value) {
|
|
72
|
-
return [
|
|
65
|
+
return [
|
|
66
|
+
ValueTypes.string,
|
|
67
|
+
ValueTypes.number,
|
|
68
|
+
ValueTypes.boolean,
|
|
69
|
+
].includes(value);
|
|
73
70
|
}
|
|
74
|
-
export function destroyArrayTag(
|
|
75
|
-
|
|
71
|
+
export function destroyArrayTag(support, counts) {
|
|
72
|
+
support.destroy({
|
|
76
73
|
stagger: counts.removed++,
|
|
77
74
|
});
|
|
78
|
-
const insertBefore = tagSupport.global.insertBefore;
|
|
79
|
-
const parentNode = insertBefore.parentNode;
|
|
80
|
-
parentNode.removeChild(insertBefore);
|
|
81
75
|
}
|
|
82
|
-
function destroySimpleValue(
|
|
83
|
-
subject) {
|
|
84
|
-
const clone = subject.clone;
|
|
85
|
-
const parent = clone.parentNode;
|
|
86
|
-
// 1 put the template back down
|
|
87
|
-
parent.insertBefore(insertBefore, clone);
|
|
88
|
-
parent.removeChild(clone);
|
|
89
|
-
delete subject.clone;
|
|
76
|
+
function destroySimpleValue(subject) {
|
|
90
77
|
delete subject.lastValue;
|
|
91
78
|
}
|
|
92
|
-
export function restoreTagMarker(lastSupport) {
|
|
93
|
-
const insertBefore = lastSupport.global.insertBefore;
|
|
94
|
-
const global = lastSupport.global;
|
|
95
|
-
const placeholderElm = global.placeholder;
|
|
96
|
-
if (placeholderElm) {
|
|
97
|
-
insertAfter(insertBefore, placeholderElm);
|
|
98
|
-
delete global.placeholder;
|
|
99
|
-
}
|
|
100
|
-
}
|
|
101
79
|
//# sourceMappingURL=checkDestroyPrevious.function.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"checkDestroyPrevious.function.js","sourceRoot":"","sources":["../../ts/tag/checkDestroyPrevious.function.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,MAAK,kBAAkB,CAAA;AAG7C,OAAO,EAAE,UAAU,EAAE,MAAK,0BAA0B,CAAA;AAEpD,OAAO,EAAE,gBAAgB,EAAE,MAAK,0BAA0B,CAAA;AAE1D,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"checkDestroyPrevious.function.js","sourceRoot":"","sources":["../../ts/tag/checkDestroyPrevious.function.ts"],"names":[],"mappings":"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"}
|
|
@@ -2,19 +2,21 @@ import { deepClone } from '../deepFunctions.js';
|
|
|
2
2
|
import { ValueTypes } from './ValueTypes.enum.js';
|
|
3
3
|
import { getValueType } from './getValueType.function.js';
|
|
4
4
|
export function cloneValueArray(values) {
|
|
5
|
-
return values.map(
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
5
|
+
return values.map(cloneTagJsValue);
|
|
6
|
+
}
|
|
7
|
+
export function cloneTagJsValue(value) {
|
|
8
|
+
const tag = value;
|
|
9
|
+
switch (getValueType(value)) {
|
|
10
|
+
case ValueTypes.tagComponent:
|
|
11
|
+
const tagComponent = value;
|
|
12
|
+
return deepClone(tagComponent.props);
|
|
13
|
+
case ValueTypes.dom:
|
|
14
|
+
case ValueTypes.tag:
|
|
15
|
+
case ValueTypes.templater:
|
|
16
|
+
return cloneValueArray(tag.values);
|
|
17
|
+
case ValueTypes.tagArray:
|
|
18
|
+
return cloneValueArray(tag);
|
|
19
|
+
}
|
|
20
|
+
return deepClone(value);
|
|
19
21
|
}
|
|
20
22
|
//# sourceMappingURL=cloneValueArray.function.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cloneValueArray.function.js","sourceRoot":"","sources":["../../ts/tag/cloneValueArray.function.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAA;AAE/C,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAA;AACjD,OAAO,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAA;AAEzD,MAAM,UAAU,eAAe,CAAI,MAA2B;IAC5D,OAAO,MAAM,CAAC,GAAG,CAAC,CAAC,
|
|
1
|
+
{"version":3,"file":"cloneValueArray.function.js","sourceRoot":"","sources":["../../ts/tag/cloneValueArray.function.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAA;AAE/C,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAA;AACjD,OAAO,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAA;AAEzD,MAAM,UAAU,eAAe,CAAI,MAA2B;IAC5D,OAAO,MAAM,CAAC,GAAG,CAAC,eAAe,CAAC,CAAA;AACpC,CAAC;AAED,MAAM,UAAU,eAAe,CAAI,KAAsB;IACvD,MAAM,GAAG,GAAG,KAAY,CAAA;IAExB,QAAQ,YAAY,CAAC,KAAK,CAAC,EAAG,CAAC;QAC7B,KAAK,UAAU,CAAC,YAAY;YAC1B,MAAM,YAAY,GAAG,KAAwB,CAAA;YAC7C,OAAO,SAAS,CAAC,YAAY,CAAC,KAAK,CAAC,CAAA;QAEtC,KAAK,UAAU,CAAC,GAAG,CAAC;QACpB,KAAK,UAAU,CAAC,GAAG,CAAC;QACpB,KAAK,UAAU,CAAC,SAAS;YACvB,OAAO,eAAe,CAAC,GAAG,CAAC,MAAM,CAAM,CAAA;QAEzC,KAAK,UAAU,CAAC,QAAQ;YACtB,OAAO,eAAe,CAAC,GAAuB,CAAM,CAAA;IACxD,CAAC;IAED,OAAO,SAAS,CAAC,KAAK,CAAC,CAAA;AACzB,CAAC"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { Support } from './Support.class.js';
|
|
2
2
|
export type DestroyOptions = {
|
|
3
3
|
stagger: number;
|
|
4
4
|
byParent?: boolean;
|
|
5
5
|
};
|
|
6
|
-
export declare function getChildTagsToDestroy(childTags:
|
|
6
|
+
export declare function getChildTagsToDestroy(childTags: Support[], allTags?: Support[]): Support[];
|
|
@@ -2,8 +2,7 @@ export function getChildTagsToDestroy(childTags, allTags = []) {
|
|
|
2
2
|
for (let index = childTags.length - 1; index >= 0; --index) {
|
|
3
3
|
const cTag = childTags[index];
|
|
4
4
|
allTags.push(cTag);
|
|
5
|
-
childTags
|
|
6
|
-
getChildTagsToDestroy(cTag.global.childTags, allTags);
|
|
5
|
+
getChildTagsToDestroy(cTag.subject.global.childTags, allTags);
|
|
7
6
|
}
|
|
8
7
|
return allTags;
|
|
9
8
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"destroy.support.js","sourceRoot":"","sources":["../../ts/tag/destroy.support.ts"],"names":[],"mappings":"AAOA,MAAM,UAAU,qBAAqB,CACnC,
|
|
1
|
+
{"version":3,"file":"destroy.support.js","sourceRoot":"","sources":["../../ts/tag/destroy.support.ts"],"names":[],"mappings":"AAOA,MAAM,UAAU,qBAAqB,CACnC,SAAoB,EACpB,UAAqB,EAAE;IAEvB,KAAK,IAAI,KAAK,GAAG,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,KAAK,IAAI,CAAC,EAAE,EAAE,KAAK,EAAE,CAAC;QAC3D,MAAM,IAAI,GAAG,SAAS,CAAC,KAAK,CAAC,CAAA;QAE7B,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;QAClB,qBAAqB,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,SAAS,EAAE,OAAO,CAAC,CAAA;IAC/D,CAAC;IAED,OAAO,OAAO,CAAA;AAChB,CAAC"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import {
|
|
2
|
-
export declare function destroyTagMemory(
|
|
1
|
+
import { BaseSupport, Support } from './Support.class.js';
|
|
2
|
+
export declare function destroyTagMemory(oldSupport: Support | BaseSupport): void;
|
|
@@ -1,7 +1,8 @@
|
|
|
1
|
-
export function destroyTagMemory(
|
|
1
|
+
export function destroyTagMemory(oldSupport) {
|
|
2
|
+
const global = oldSupport.subject.global;
|
|
2
3
|
// must destroy oldest which is tag with elements on stage
|
|
3
|
-
const oldest =
|
|
4
|
+
const oldest = global.oldest;
|
|
4
5
|
oldest.destroy();
|
|
5
|
-
|
|
6
|
+
oldSupport.subject.global.context = [];
|
|
6
7
|
}
|
|
7
8
|
//# sourceMappingURL=destroyTag.function.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"destroyTag.function.js","sourceRoot":"","sources":["../../ts/tag/destroyTag.function.ts"],"names":[],"mappings":"AAEA,MAAM,UAAU,gBAAgB,CAC9B,
|
|
1
|
+
{"version":3,"file":"destroyTag.function.js","sourceRoot":"","sources":["../../ts/tag/destroyTag.function.ts"],"names":[],"mappings":"AAEA,MAAM,UAAU,gBAAgB,CAC9B,UAAiC;IAEjC,MAAM,MAAM,GAAG,UAAU,CAAC,OAAO,CAAC,MAAM,CAAA;IACxC,0DAA0D;IAC1D,MAAM,MAAM,GAAG,MAAM,CAAC,MAAiB,CAAA;IACvC,MAAM,CAAC,OAAO,EAAE,CAAA;IAEhB,UAAU,CAAC,OAAO,CAAC,MAAM,CAAC,OAAO,GAAG,EAAE,CAAA;AACxC,CAAC"}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import { htmlInterpolationToDomMeta } from '../interpolations/optimizers/htmlInterpolationToDomMeta.function.js';
|
|
2
|
+
import { getStringsId } from './getStringsId.function.js';
|
|
3
|
+
import { isLastRunMatched } from './isLastRunMatched.function.js';
|
|
4
|
+
const lastRuns = {};
|
|
5
|
+
/** Converts strings & values into dom meta */
|
|
6
|
+
export function getDomMeta(strings, values) {
|
|
7
|
+
const stringId = getStringsId(strings, values);
|
|
8
|
+
const lastRun = lastRuns[stringId];
|
|
9
|
+
const matches = lastRun && isLastRunMatched(strings, values, lastRun);
|
|
10
|
+
let domMeta;
|
|
11
|
+
if (matches) {
|
|
12
|
+
domMeta = lastRun.domMeta;
|
|
13
|
+
return domMeta;
|
|
14
|
+
}
|
|
15
|
+
domMeta = htmlInterpolationToDomMeta(strings, values);
|
|
16
|
+
const template = {
|
|
17
|
+
interpolation: undefined,
|
|
18
|
+
string: undefined,
|
|
19
|
+
strings,
|
|
20
|
+
values,
|
|
21
|
+
domMeta,
|
|
22
|
+
};
|
|
23
|
+
lastRuns[stringId] = template;
|
|
24
|
+
return domMeta;
|
|
25
|
+
}
|
|
26
|
+
//# sourceMappingURL=domMetaCollector.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"domMetaCollector.js","sourceRoot":"","sources":["../../ts/tag/domMetaCollector.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,0BAA0B,EAAE,MAAM,qEAAqE,CAAA;AAChH,OAAO,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAA;AACzD,OAAO,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAA;AAGjE,MAAM,QAAQ,GAAmC,EAAE,CAAA;AAEnD,8CAA8C;AAC9C,MAAM,UAAU,UAAU,CACxB,OAAiB,EACjB,MAAiB;IAEjB,MAAM,QAAQ,GAAG,YAAY,CAAC,OAAO,EAAE,MAAM,CAAC,CAAA;IAC9C,MAAM,OAAO,GAAG,QAAQ,CAAC,QAAQ,CAAC,CAAA;IAClC,MAAM,OAAO,GAAG,OAAO,IAAI,gBAAgB,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,CAAA;IACrE,IAAI,OAAuB,CAAA;IAE3B,IAAG,OAAO,EAAE,CAAC;QACX,OAAO,GAAG,OAAO,CAAC,OAAyB,CAAA;QAC3C,OAAO,OAAO,CAAA;IAChB,CAAC;IAED,OAAO,GAAG,0BAA0B,CAAC,OAAO,EAAE,MAAM,CAAC,CAAA;IACrD,MAAM,QAAQ,GAAG;QACf,aAAa,EAAE,SAAgB;QAC/B,MAAM,EAAE,SAAgB;QACxB,OAAO;QACP,MAAM;QAEN,OAAO;KACR,CAAA;IAED,QAAQ,CAAC,QAAQ,CAAC,GAAG,QAAQ,CAAA;IAE7B,OAAO,OAAO,CAAA;AAChB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare function getStringsId(strings: string[], values: any[]): number;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"getStringsId.function.js","sourceRoot":"","sources":["../../ts/tag/getStringsId.function.ts"],"names":[],"mappings":"AACA,MAAM,UAAU,YAAY,CAC1B,OAAiB,EACjB,MAAa;IAEb,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAA;IACxC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAA;IAC1B,4BAA4B;IAC5B,OAAO,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAA;AAC/B,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
export declare function getSupportInCycle(): import("./
|
|
1
|
+
export declare function getSupportInCycle(): import("./Support.class.js").BaseSupport | import("./Support.class.js").Support | undefined;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getSupportInCycle.function.js","sourceRoot":"","sources":["../../ts/tag/getSupportInCycle.function.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAK,mBAAmB,CAAA;AAEzC,MAAM,UAAU,iBAAiB;IAC/B,OAAO,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,
|
|
1
|
+
{"version":3,"file":"getSupportInCycle.function.js","sourceRoot":"","sources":["../../ts/tag/getSupportInCycle.function.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAK,mBAAmB,CAAA;AAEzC,MAAM,UAAU,iBAAiB;IAC/B,OAAO,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,OAAO,CAAA;AAC1C,CAAC"}
|
|
@@ -1,73 +1,82 @@
|
|
|
1
1
|
import { runTagCallback } from '../interpolations/bindSubjectCallback.function.js';
|
|
2
|
-
import {
|
|
3
|
-
import { TagSupport } from './TagSupport.class.js';
|
|
2
|
+
import { Support } from './Support.class.js';
|
|
4
3
|
import { castProps } from '../alterProp.function.js';
|
|
5
4
|
import { setUse } from '../state/setUse.function.js';
|
|
6
5
|
import { ValueTypes } from './ValueTypes.enum.js';
|
|
7
6
|
import { html } from './html.js';
|
|
7
|
+
import { syncFunctionProps } from './update/updateExistingTagComponent.function.js';
|
|
8
8
|
/** creates/returns a function that when called then calls the original component function
|
|
9
9
|
* Gets used as templater.wrapper()
|
|
10
10
|
*/
|
|
11
11
|
export function getTagWrap(templater, result) {
|
|
12
12
|
const stateArray = setUse.memory.stateConfig.array;
|
|
13
13
|
// this function gets called by taggedjs
|
|
14
|
-
const wrapper =
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
tag
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
14
|
+
const wrapper = (newSupport, subject, lastSupport) => executeWrap(stateArray, templater, result, newSupport, subject, lastSupport);
|
|
15
|
+
return wrapper;
|
|
16
|
+
}
|
|
17
|
+
function executeWrap(stateArray, templater, result, newSupport, subject, lastSupport) {
|
|
18
|
+
const global = newSupport.subject.global;
|
|
19
|
+
++global.renderCount;
|
|
20
|
+
const childSubject = templater.children;
|
|
21
|
+
const lastArray = global.oldest?.templater.children.lastArray;
|
|
22
|
+
if (lastArray) {
|
|
23
|
+
childSubject.lastArray = lastArray;
|
|
24
|
+
}
|
|
25
|
+
// result.original
|
|
26
|
+
const originalFunction = result.original; // (innerTagWrap as any).original as unknown as TagComponent
|
|
27
|
+
let props = templater.props;
|
|
28
|
+
// When defined, this must be an update where my new props have already been made for me
|
|
29
|
+
let preCastedProps = newSupport.propsConfig.castProps;
|
|
30
|
+
const lastCastProps = lastSupport?.propsConfig.castProps;
|
|
31
|
+
if (lastCastProps) {
|
|
32
|
+
newSupport.propsConfig.castProps = lastCastProps;
|
|
33
|
+
preCastedProps = syncFunctionProps(newSupport, lastSupport, lastSupport.ownerSupport, props);
|
|
34
|
+
}
|
|
35
|
+
const castedProps = preCastedProps || castProps(props, newSupport, stateArray, 0);
|
|
36
|
+
// CALL ORIGINAL COMPONENT FUNCTION
|
|
37
|
+
let tag = originalFunction(...castedProps);
|
|
38
|
+
if (tag instanceof Function) {
|
|
39
|
+
tag = tag();
|
|
40
|
+
}
|
|
41
|
+
const unknown = !tag || (tag.tagJsType && ![ValueTypes.tag, ValueTypes.dom].includes(tag.tagJsType));
|
|
42
|
+
if (unknown) {
|
|
43
|
+
tag = html `${tag}`; // component returned a non-component value
|
|
44
|
+
}
|
|
45
|
+
tag.templater = templater;
|
|
46
|
+
templater.tag = tag;
|
|
47
|
+
tag.arrayValue = templater.arrayValue; // tag component could have been used in array.map
|
|
48
|
+
const support = new Support(templater, newSupport.ownerSupport, subject, castedProps, global.renderCount);
|
|
49
|
+
support.subject.global = global;
|
|
50
|
+
// ??? this should be set by outside?
|
|
51
|
+
global.oldest = global.oldest || support;
|
|
52
|
+
// ??? new - removed
|
|
53
|
+
// global.newest = support
|
|
54
|
+
const nowState = setUse.memory.stateConfig.array;
|
|
55
|
+
support.state.push(...nowState);
|
|
56
|
+
if (templater.madeChildIntoSubject) {
|
|
57
|
+
const value = childSubject.value;
|
|
58
|
+
for (let index = value.length - 1; index >= 0; --index) {
|
|
59
|
+
const kid = value[index];
|
|
60
|
+
const values = kid.values;
|
|
61
|
+
for (let index = values.length - 1; index >= 0; --index) {
|
|
62
|
+
const value = values[index];
|
|
63
|
+
if (!(value instanceof Function)) {
|
|
64
|
+
continue;
|
|
65
|
+
}
|
|
66
|
+
const valuesValue = kid.values[index];
|
|
67
|
+
if (valuesValue.isChildOverride) {
|
|
68
|
+
continue; // already overwritten
|
|
66
69
|
}
|
|
70
|
+
// all functions need to report to me
|
|
71
|
+
kid.values[index] = function (...args) {
|
|
72
|
+
return runTagCallback(value, // callback
|
|
73
|
+
support.ownerSupport, this, // bindTo
|
|
74
|
+
args, support.state);
|
|
75
|
+
};
|
|
76
|
+
valuesValue.isChildOverride = true;
|
|
67
77
|
}
|
|
68
78
|
}
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
return wrapper;
|
|
79
|
+
}
|
|
80
|
+
return support;
|
|
72
81
|
}
|
|
73
82
|
//# sourceMappingURL=getTagWrap.function.js.map
|