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 +1 @@
|
|
|
1
|
-
{"version":3,"file":"specialAttribute.js","sourceRoot":"","sources":["../../ts/interpolations/specialAttribute.ts"],"names":[],"mappings":"AAAA,MAAM,UAAU,gBAAgB,CAC9B,IAAY,EACZ,KAAU,EACV,OAAgB;IAEhB,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;IAE7B,8BAA8B;IAC9B,IAAG,KAAK,CAAC,CAAC,CAAC,KAAK,
|
|
1
|
+
{"version":3,"file":"specialAttribute.js","sourceRoot":"","sources":["../../ts/interpolations/specialAttribute.ts"],"names":[],"mappings":"AAAA,MAAM,KAAK,GAAG,OAAO,CAAA;AACrB,MAAM,MAAM,GAAG,OAAO,CAAA;AAEtB,MAAM,UAAU,gBAAgB,CAC9B,IAAY,EACZ,KAAU,EACV,OAAgB;IAEhB,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;IAE7B,8BAA8B;IAC9B,IAAG,KAAK,CAAC,CAAC,CAAC,KAAK,KAAK,EAAE,CAAC;QACrB,OAAe,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,KAAK,CAAA;IAC1C,CAAC;IAED,qCAAqC;IACrC,IAAG,KAAK,CAAC,CAAC,CAAC,KAAK,MAAM,EAAE,CAAC;QACvB,KAAK,CAAC,KAAK,EAAE,CAAA;QACb,IAAG,KAAK,EAAE,CAAC;YACT,KAAK,IAAI,KAAK,GAAC,CAAC,EAAE,KAAK,GAAG,KAAK,CAAC,MAAM,EAAE,EAAE,KAAK,EAAE,CAAC;gBAChD,OAAO,CAAC,SAAS,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAA;YACrC,CAAC;QACH,CAAC;aAAM,CAAC;YACN,KAAK,IAAI,KAAK,GAAC,CAAC,EAAE,KAAK,GAAG,KAAK,CAAC,MAAM,EAAE,EAAE,KAAK,EAAE,CAAC;gBAChD,OAAO,CAAC,SAAS,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAA;YACxC,CAAC;QACH,CAAC;IACH,CAAC;AACH,CAAC"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import { InsertBefore } from './InsertBefore.type.js';
|
|
2
|
+
import { InterpolateSubject } from '../tag/update/processFirstSubject.utils.js';
|
|
3
|
+
import { AnySupport } from '../tag/Support.class.js';
|
|
4
|
+
import { Counts } from './interpolateTemplate.js';
|
|
5
|
+
export declare function subscribeToTemplate(fragment: DocumentFragment, insertBefore: InsertBefore, subject: InterpolateSubject, support: AnySupport, counts: Counts): void;
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import { processFirstSubjectValue } from '../tag/update/processFirstSubjectValue.function.js';
|
|
2
|
+
import { updateExistingValue } from '../tag/update/updateExistingValue.function.js';
|
|
3
|
+
import { swapInsertBefore } from '../tag/setTagPlaceholder.function.js';
|
|
4
|
+
export function subscribeToTemplate(fragment, insertBefore, subject, support, counts) {
|
|
5
|
+
let called = false;
|
|
6
|
+
const onValue = (value) => {
|
|
7
|
+
if (called) {
|
|
8
|
+
updateExistingValue(subject, value, support, insertBefore);
|
|
9
|
+
return;
|
|
10
|
+
}
|
|
11
|
+
const templater = value;
|
|
12
|
+
processFirstSubjectValue(templater, subject, insertBefore, support, {
|
|
13
|
+
counts: { ...counts },
|
|
14
|
+
}, syncRun ? fragment : undefined);
|
|
15
|
+
called = true;
|
|
16
|
+
};
|
|
17
|
+
// TODO: may noy be needed
|
|
18
|
+
// leave no template tag
|
|
19
|
+
if (!subject.global.placeholder) {
|
|
20
|
+
subject.global.placeholder = swapInsertBefore(insertBefore);
|
|
21
|
+
}
|
|
22
|
+
const callback = (value) => onValue(value);
|
|
23
|
+
let syncRun = true;
|
|
24
|
+
const sub = subject.subscribe(callback);
|
|
25
|
+
syncRun = false;
|
|
26
|
+
support.subject.global.subscriptions.push(sub);
|
|
27
|
+
}
|
|
28
|
+
//# sourceMappingURL=subscribeToTemplate.function.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"subscribeToTemplate.function.js","sourceRoot":"","sources":["../../ts/interpolations/subscribeToTemplate.function.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,wBAAwB,EAAE,MAAM,oDAAoD,CAAA;AAC7F,OAAO,EAAE,mBAAmB,EAAE,MAAM,+CAA+C,CAAA;AAInF,OAAO,EAAE,gBAAgB,EAAE,MAAM,sCAAsC,CAAA;AAEvE,MAAM,UAAU,mBAAmB,CACjC,QAA0B,EAC1B,YAA0B,EAC1B,OAA2B,EAC3B,OAAmB,EACnB,MAAc;IAEd,IAAI,MAAM,GAAG,KAAK,CAAA;IAClB,MAAM,OAAO,GAAG,CAAC,KAAoB,EAAE,EAAE;QACvC,IAAG,MAAM,EAAE,CAAC;YACV,mBAAmB,CACjB,OAAO,EACP,KAAK,EACL,OAAO,EACP,YAAY,CACb,CAAA;YACD,OAAM;QACR,CAAC;QAED,MAAM,SAAS,GAAG,KAAwB,CAAA;QAC1C,wBAAwB,CACtB,SAAS,EACT,OAAO,EACP,YAAY,EACZ,OAAO,EACP;YACE,MAAM,EAAE,EAAC,GAAG,MAAM,EAAC;SACpB,EACD,OAAO,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,CAC/B,CAAA;QAED,MAAM,GAAG,IAAI,CAAA;IACf,CAAC,CAAA;IAED,0BAA0B;IAC1B,wBAAwB;IACxB,IAAG,CAAC,OAAO,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC;QAC/B,OAAO,CAAC,MAAM,CAAC,WAAW,GAAG,gBAAgB,CAAC,YAAY,CAAC,CAAA;IAC7D,CAAC;IAED,MAAM,QAAQ,GAAG,CAAC,KAAoB,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,CAAA;IACzD,IAAI,OAAO,GAAG,IAAI,CAAA;IAClB,MAAM,GAAG,GAAG,OAAO,CAAC,SAAS,CAAC,QAAe,CAAC,CAAA;IAC9C,OAAO,GAAG,KAAK,CAAA;IAEf,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,aAAa,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;AAChD,CAAC"}
|
package/js/isInstance.d.ts
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import { SubjectLike } from './subject/subject.utils.js';
|
|
2
|
-
import { Tag } from './tag/Tag.class.js';
|
|
2
|
+
import { Dom, Tag } from './tag/Tag.class.js';
|
|
3
3
|
import { TemplaterResult } from './tag/TemplaterResult.class.js';
|
|
4
4
|
export declare function isStaticTag(value?: TemplaterResult | Tag | unknown): boolean;
|
|
5
5
|
export declare function isTagTemplater(value?: TemplaterResult | unknown): boolean;
|
|
6
6
|
export declare function isTagComponent(value?: TemplaterResult | unknown): boolean;
|
|
7
|
-
export declare function isTagClass(value?: Tag | unknown): boolean;
|
|
7
|
+
export declare function isTagClass(value?: Tag | Dom | unknown): boolean;
|
|
8
8
|
export declare function isSubjectInstance(subject?: SubjectLike<any> | any): Boolean;
|
|
9
9
|
export declare function isTagArray(value: unknown): boolean;
|
package/js/isInstance.js
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { ValueTypes } from './tag/ValueTypes.enum.js';
|
|
2
2
|
export function isStaticTag(value) {
|
|
3
3
|
return [
|
|
4
|
+
ValueTypes.dom,
|
|
4
5
|
ValueTypes.tag,
|
|
5
6
|
ValueTypes.templater,
|
|
6
7
|
].includes(value?.tagJsType);
|
|
@@ -13,15 +14,20 @@ export function isTagComponent(value) {
|
|
|
13
14
|
return value?.tagJsType === ValueTypes.tagComponent;
|
|
14
15
|
}
|
|
15
16
|
export function isTagClass(value) {
|
|
16
|
-
|
|
17
|
+
const tagJsType = value?.tagJsType;
|
|
18
|
+
return tagJsType && [ValueTypes.tag, ValueTypes.dom].includes(tagJsType);
|
|
17
19
|
}
|
|
18
20
|
// isSubjectLike
|
|
19
21
|
export function isSubjectInstance(subject) {
|
|
20
|
-
|
|
22
|
+
const isSubject = subject?.isSubject === true;
|
|
23
|
+
return (isSubject || subject?.subscribe) ? true : false; // subject?.isSubject === true ||
|
|
21
24
|
}
|
|
22
25
|
export function isTagArray(value) {
|
|
23
26
|
return value instanceof Array && value.every(x => [
|
|
24
|
-
ValueTypes.tag,
|
|
27
|
+
ValueTypes.tag,
|
|
28
|
+
ValueTypes.templater,
|
|
29
|
+
ValueTypes.dom,
|
|
30
|
+
ValueTypes.tagComponent
|
|
25
31
|
].includes(x?.tagJsType));
|
|
26
32
|
}
|
|
27
33
|
//# 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":"AAGA,OAAO,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAA;AAErD,MAAM,UAAU,WAAW,CACzB,KAAuC;IAEvC,OAAO;QACL,UAAU,CAAC,GAAG;QACd,UAAU,CAAC,SAAS;KACrB,CAAC,QAAQ,CAAG,KAAa,EAAE,SAAS,CAAE,CAAA;AACzC,CAAC;AAED,MAAM,UAAU,cAAc,CAC5B,KAAiC;IAEjC,OAAQ,KAAyB,EAAE,SAAS,KAAK,UAAU,CAAC,SAAS,CAAA;AACvE,CAAC;AAED,mEAAmE;AACnE,MAAM,UAAU,cAAc,CAC5B,KAAiC;IAEjC,OAAQ,KAAyB,EAAE,SAAS,KAAK,UAAU,CAAC,YAAY,CAAA;AAC1E,CAAC;AAED,MAAM,UAAU,UAAU,CACxB,
|
|
1
|
+
{"version":3,"file":"isInstance.js","sourceRoot":"","sources":["../ts/isInstance.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAA;AAErD,MAAM,UAAU,WAAW,CACzB,KAAuC;IAEvC,OAAO;QACL,UAAU,CAAC,GAAG;QACd,UAAU,CAAC,GAAG;QACd,UAAU,CAAC,SAAS;KACrB,CAAC,QAAQ,CAAG,KAAa,EAAE,SAAS,CAAE,CAAA;AACzC,CAAC;AAED,MAAM,UAAU,cAAc,CAC5B,KAAiC;IAEjC,OAAQ,KAAyB,EAAE,SAAS,KAAK,UAAU,CAAC,SAAS,CAAA;AACvE,CAAC;AAED,mEAAmE;AACnE,MAAM,UAAU,cAAc,CAC5B,KAAiC;IAEjC,OAAQ,KAAyB,EAAE,SAAS,KAAK,UAAU,CAAC,YAAY,CAAA;AAC1E,CAAC;AAED,MAAM,UAAU,UAAU,CACxB,KAA2B;IAE3B,MAAM,SAAS,GAAI,KAAiB,EAAE,SAAS,CAAA;IAC/C,OAAO,SAAS,IAAI,CAAC,UAAU,CAAC,GAAG,EAAE,UAAU,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAA;AAC1E,CAAC;AAED,gBAAgB;AAChB,MAAM,UAAU,iBAAiB,CAC/B,OAAgC;IAEhC,MAAM,SAAS,GAAG,OAAO,EAAE,SAAS,KAAK,IAAI,CAAA;IAC7C,OAAO,CAAC,SAAS,IAAI,OAAO,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAA,CAAC,kCAAkC;AAC5F,CAAC;AAED,MAAM,UAAU,UAAU,CAAC,KAAc;IACvC,OAAO,KAAK,YAAY,KAAK,IAAI,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;QAChD,UAAU,CAAC,GAAG;QACd,UAAU,CAAC,SAAS;QACpB,UAAU,CAAC,GAAG;QACd,UAAU,CAAC,YAAY;KACxB,CAAC,QAAQ,CAAE,CAAC,EAAE,SAAS,CAAE,CAAC,CAAA;AAC7B,CAAC"}
|
package/js/render.js
CHANGED
|
@@ -5,14 +5,27 @@ export function buildClones(temporary, insertBefore) {
|
|
|
5
5
|
const fragment = document.createDocumentFragment();
|
|
6
6
|
while (nextSibling) {
|
|
7
7
|
const nextNextSibling = nextSibling.nextSibling;
|
|
8
|
-
clones.push(nextSibling);
|
|
9
8
|
fragment.appendChild(nextSibling);
|
|
9
|
+
// ??? new
|
|
10
|
+
/*
|
|
11
|
+
if(nextSibling.nodeName === 'TEMPLATE') {
|
|
12
|
+
const hasAttribute = (nextSibling as any).hasAttribute
|
|
13
|
+
if(hasAttribute && (nextSibling as any).hasAttribute('interpolate')) {
|
|
14
|
+
nextSibling = nextNextSibling
|
|
15
|
+
continue // we don't record position keepers
|
|
16
|
+
}
|
|
17
|
+
}
|
|
18
|
+
*/
|
|
19
|
+
clones.push(nextSibling);
|
|
10
20
|
nextSibling = nextNextSibling;
|
|
11
21
|
}
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
22
|
+
// swap out our template for an empty-string placeholder
|
|
23
|
+
/*
|
|
24
|
+
if(insertBefore.parentNode) {
|
|
25
|
+
const parentNode = insertBefore.parentNode as ParentNode
|
|
26
|
+
parentNode.insertBefore(fragment, insertBefore)
|
|
15
27
|
}
|
|
28
|
+
*/
|
|
16
29
|
return clones;
|
|
17
30
|
}
|
|
18
31
|
//# sourceMappingURL=render.js.map
|
package/js/render.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"render.js","sourceRoot":"","sources":["../ts/render.ts"],"names":[],"mappings":"AAEA,MAAM,UAAU,WAAW,CACzB,SAA2B,EAC3B,YAA0B;IAE1B,MAAM,MAAM,
|
|
1
|
+
{"version":3,"file":"render.js","sourceRoot":"","sources":["../ts/render.ts"],"names":[],"mappings":"AAEA,MAAM,UAAU,WAAW,CACzB,SAA2B,EAC3B,YAA0B;IAE1B,MAAM,MAAM,GAAgB,EAAE,CAAA;IAC9B,MAAM,QAAQ,GAAG,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAwB,CAAA;IAC7D,IAAI,WAAW,GAAG,QAAQ,CAAC,OAAO,CAAC,UAAU,CAAA;IAC7C,MAAM,QAAQ,GAAG,QAAQ,CAAC,sBAAsB,EAAE,CAAA;IAElD,OAAO,WAAW,EAAE,CAAC;QACnB,MAAM,eAAe,GAAG,WAAW,CAAC,WAAwB,CAAA;QAC5D,QAAQ,CAAC,WAAW,CAAC,WAAW,CAAC,CAAA;QAEjC,UAAU;QACV;;;;;;;;UAQE;QAEF,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,CAAA;QACxB,WAAW,GAAG,eAAe,CAAA;IAC/B,CAAC;IAED,wDAAwD;IACxD;;;;;MAKE;IAEF,OAAO,MAAM,CAAA;AACf,CAAC"}
|
|
@@ -8,38 +8,37 @@ let innerCallback = (callback) => (a, b, c, d, e, f) => {
|
|
|
8
8
|
export const callbackMaker = () => innerCallback;
|
|
9
9
|
const originalGetter = innerCallback; // callbackMaker
|
|
10
10
|
setUse({
|
|
11
|
-
beforeRender:
|
|
12
|
-
beforeRedraw:
|
|
13
|
-
afterRender:
|
|
14
|
-
;
|
|
15
|
-
tagSupport.global.callbackMaker = true;
|
|
11
|
+
beforeRender: support => initMemory(support),
|
|
12
|
+
beforeRedraw: support => initMemory(support),
|
|
13
|
+
afterRender: support => {
|
|
14
|
+
support.subject.global.callbackMaker = true;
|
|
16
15
|
innerCallback = originalGetter; // prevent crossing callbacks with another tag
|
|
17
16
|
},
|
|
18
17
|
});
|
|
18
|
+
const syncError = new SyncCallbackError('callback() was called outside of synchronous rendering. Use `callback = callbackMaker()` to create a callback that could be called out of sync with rendering');
|
|
19
19
|
/** Wrap a function that will be called back. After the wrapper and function are called, a rendering cycle will update display */
|
|
20
20
|
export function callback(callback) {
|
|
21
|
-
const
|
|
22
|
-
if (!
|
|
23
|
-
|
|
24
|
-
throw error;
|
|
21
|
+
const support = getSupportInCycle();
|
|
22
|
+
if (!support) {
|
|
23
|
+
throw syncError;
|
|
25
24
|
}
|
|
26
25
|
const oldState = setUse.memory.stateConfig.array;
|
|
27
26
|
const trigger = (...args) => {
|
|
28
|
-
const callbackMaker =
|
|
27
|
+
const callbackMaker = support.subject.global.callbackMaker;
|
|
29
28
|
if (callbackMaker) {
|
|
30
|
-
return callbackStateUpdate(
|
|
29
|
+
return callbackStateUpdate(support, callback, oldState, ...args);
|
|
31
30
|
}
|
|
32
31
|
return callback(...args);
|
|
33
32
|
};
|
|
34
33
|
return trigger;
|
|
35
34
|
}
|
|
36
|
-
function initMemory(
|
|
35
|
+
function initMemory(support) {
|
|
37
36
|
const oldState = setUse.memory.stateConfig.array;
|
|
38
37
|
innerCallback = (callback) => {
|
|
39
38
|
const trigger = (...args) => {
|
|
40
|
-
const callbackMaker =
|
|
39
|
+
const callbackMaker = support.subject.global.callbackMaker;
|
|
41
40
|
if (callbackMaker) {
|
|
42
|
-
return callbackStateUpdate(
|
|
41
|
+
return callbackStateUpdate(support, callback, oldState, ...args);
|
|
43
42
|
}
|
|
44
43
|
return callback(...args);
|
|
45
44
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"callbackMaker.function.js","sourceRoot":"","sources":["../../ts/state/callbackMaker.function.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAA;AAE7C,OAAO,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAA;AAChD,OAAO,EAAE,iBAAiB,EAAE,MAAM,sCAAsC,CAAA;AACxE,OAAO,mBAAmB,MAAM,mCAAmC,CAAA;AAOnE,IAAI,aAAa,GAAG,CAClB,QAAiC,EACjC,EAAE,CAAC,CAAC,CAAI,EAAE,CAAI,EAAE,CAAI,EAAE,CAAI,EAAE,CAAI,EAAE,CAAI,EAAK,EAAE;IAC7C,MAAM,IAAI,iBAAiB,CAAC,iFAAiF,CAAC,CAAA;AAChH,CAAC,CAAA;AACD,MAAM,CAAC,MAAM,aAAa,GAAG,GAAG,EAAE,CAAC,aAAa,CAAA;AAEhD,MAAM,cAAc,GAAG,aAAa,CAAA,CAAC,gBAAgB;AAErD,MAAM,CAAC;IACL,YAAY,EAAE,
|
|
1
|
+
{"version":3,"file":"callbackMaker.function.js","sourceRoot":"","sources":["../../ts/state/callbackMaker.function.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAA;AAE7C,OAAO,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAA;AAChD,OAAO,EAAE,iBAAiB,EAAE,MAAM,sCAAsC,CAAA;AACxE,OAAO,mBAAmB,MAAM,mCAAmC,CAAA;AAOnE,IAAI,aAAa,GAAG,CAClB,QAAiC,EACjC,EAAE,CAAC,CAAC,CAAI,EAAE,CAAI,EAAE,CAAI,EAAE,CAAI,EAAE,CAAI,EAAE,CAAI,EAAK,EAAE;IAC7C,MAAM,IAAI,iBAAiB,CAAC,iFAAiF,CAAC,CAAA;AAChH,CAAC,CAAA;AACD,MAAM,CAAC,MAAM,aAAa,GAAG,GAAG,EAAE,CAAC,aAAa,CAAA;AAEhD,MAAM,cAAc,GAAG,aAAa,CAAA,CAAC,gBAAgB;AAErD,MAAM,CAAC;IACL,YAAY,EAAE,OAAO,CAAC,EAAE,CAAC,UAAU,CAAC,OAAO,CAAC;IAC5C,YAAY,EAAE,OAAO,CAAC,EAAE,CAAC,UAAU,CAAC,OAAO,CAAC;IAC5C,WAAW,EAAE,OAAO,CAAC,EAAE;QACrB,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,aAAa,GAAG,IAAI,CAAA;QAC3C,aAAa,GAAG,cAAc,CAAA,CAAC,8CAA8C;IAC/E,CAAC;CACF,CAAC,CAAA;AAEF,MAAM,SAAS,GAAG,IAAI,iBAAiB,CAAC,+JAA+J,CAAC,CAAA;AAExM,iIAAiI;AACjI,MAAM,UAAU,QAAQ,CACtB,QAAuC;IAEvC,MAAM,OAAO,GAAG,iBAAiB,EAAE,CAAA;IAEnC,IAAG,CAAC,OAAO,EAAE,CAAC;QACZ,MAAM,SAAS,CAAA;IACjB,CAAC;IAED,MAAM,QAAQ,GAAG,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,KAAK,CAAA;IAChD,MAAM,OAAO,GAAG,CAAC,GAAG,IAAW,EAAE,EAAE;QACjC,MAAM,aAAa,GAAG,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,aAAa,CAAA;QAE1D,IAAG,aAAa,EAAE,CAAC;YACjB,OAAO,mBAAmB,CAAC,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,GAAG,IAAI,CAAC,CAAA;QAClE,CAAC;QAED,OAAQ,QAAgB,CAAC,GAAG,IAAI,CAAC,CAAA;IACnC,CAAC,CAAA;IAED,OAAO,OAAO,CAAA;AAChB,CAAC;AAED,SAAS,UAAU,CAAE,OAA8B;IACjD,MAAM,QAAQ,GAAU,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,KAAK,CAAA;IACvD,aAAa,GAAG,CACd,QAAqD,EACrD,EAAE;QACF,MAAM,OAAO,GAAG,CAAC,GAAG,IAAW,EAAE,EAAE;YACjC,MAAM,aAAa,GAAG,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,aAAa,CAAA;YAE1D,IAAG,aAAa,EAAE,CAAC;gBACjB,OAAO,mBAAmB,CAAC,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,GAAG,IAAI,CAAC,CAAA;YAClE,CAAC;YAED,OAAQ,QAAgB,CAAC,GAAG,IAAI,CAAC,CAAA;QACnC,CAAC,CAAA;QAED,OAAO,OAAO,CAAA;IAChB,CAAC,CAAA;AACH,CAAC"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { BaseSupport, Support } from '../tag/Support.class.js';
|
|
2
2
|
import { State } from './state.utils.js';
|
|
3
3
|
import { Callback } from './callbackMaker.function.js';
|
|
4
|
-
export default function callbackStateUpdate<T>(
|
|
4
|
+
export default function callbackStateUpdate<T>(support: Support | BaseSupport, callback: Callback<any, any, any, any, any, any, T>, oldState: State, ...args: any[]): T;
|
|
@@ -1,20 +1,20 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { renderSupport } from '../tag/render/renderSupport.function.js';
|
|
2
2
|
import { syncStates } from './syncStates.function.js';
|
|
3
|
-
export default function callbackStateUpdate(
|
|
4
|
-
const state =
|
|
3
|
+
export default function callbackStateUpdate(support, callback, oldState, ...args) {
|
|
4
|
+
const state = support.state;
|
|
5
5
|
// ensure that the oldest has the latest values first
|
|
6
6
|
syncStates(state, oldState);
|
|
7
7
|
// run the callback
|
|
8
8
|
const maybePromise = callback(...args);
|
|
9
9
|
// send the oldest state changes into the newest
|
|
10
10
|
syncStates(oldState, state);
|
|
11
|
-
|
|
11
|
+
renderSupport(support, // support.global.newest as Support,
|
|
12
12
|
false);
|
|
13
13
|
if (maybePromise instanceof Promise) {
|
|
14
14
|
maybePromise.finally(() => {
|
|
15
15
|
// send the oldest state changes into the newest
|
|
16
16
|
syncStates(oldState, state);
|
|
17
|
-
|
|
17
|
+
renderSupport(support, // support.global.newest as Support,
|
|
18
18
|
false);
|
|
19
19
|
});
|
|
20
20
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"callbackStateUpdate.function.js","sourceRoot":"","sources":["../../ts/state/callbackStateUpdate.function.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"callbackStateUpdate.function.js","sourceRoot":"","sources":["../../ts/state/callbackStateUpdate.function.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,aAAa,EAAE,MAAM,yCAAyC,CAAA;AACvE,OAAO,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAA;AAGrD,MAAM,CAAC,OAAO,UAAU,mBAAmB,CACzC,OAA8B,EAC9B,QAAkD,EAClD,QAAe,EACf,GAAG,IAAW;IAEd,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAA;IAE3B,qDAAqD;IACrD,UAAU,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAA;IAE3B,mBAAmB;IACnB,MAAM,YAAY,GAAG,QAAQ,CAAC,GAAG,IAAiC,CAAC,CAAA;IAEnE,gDAAgD;IAChD,UAAU,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAA;IAC3B,aAAa,CACX,OAAO,EAAE,oCAAoC;IAC7C,KAAK,CACN,CAAA;IAED,IAAG,YAAY,YAAY,OAAO,EAAE,CAAC;QACnC,YAAY,CAAC,OAAO,CAAC,GAAG,EAAE;YACxB,gDAAgD;YAChD,UAAU,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAA;YAE3B,aAAa,CACX,OAAO,EAAE,oCAAoC;YAC7C,KAAK,CACN,CAAA;QACH,CAAC,CAAC,CAAA;IACJ,CAAC;IAED,wBAAwB;IACxB,OAAO,YAAY,CAAA;AACrB,CAAC"}
|
package/js/state/children.js
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
import { setUse } from './setUse.function.js';
|
|
2
|
-
function
|
|
2
|
+
function setCurrentSupport(support) {
|
|
3
3
|
setUse.memory.childrenCurrentSupport = support;
|
|
4
4
|
}
|
|
5
5
|
export function children() {
|
|
6
|
-
const
|
|
7
|
-
const children =
|
|
6
|
+
const support = setUse.memory.childrenCurrentSupport;
|
|
7
|
+
const children = support.templater.children;
|
|
8
8
|
return children;
|
|
9
9
|
}
|
|
10
10
|
setUse({
|
|
11
|
-
beforeRender:
|
|
12
|
-
beforeRedraw:
|
|
11
|
+
beforeRender: support => setCurrentSupport(support),
|
|
12
|
+
beforeRedraw: support => setCurrentSupport(support),
|
|
13
13
|
});
|
|
14
14
|
//# sourceMappingURL=children.js.map
|
package/js/state/children.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"children.js","sourceRoot":"","sources":["../../ts/state/children.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAE,MAAK,sBAAsB,CAAA;AAE5C,SAAS,
|
|
1
|
+
{"version":3,"file":"children.js","sourceRoot":"","sources":["../../ts/state/children.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAE,MAAK,sBAAsB,CAAA;AAE5C,SAAS,iBAAiB,CAAC,OAA8B;IACvD,MAAM,CAAC,MAAM,CAAC,sBAAsB,GAAG,OAAkB,CAAA;AAC3D,CAAC;AAED,MAAM,UAAU,QAAQ;IACtB,MAAM,OAAO,GAAG,MAAM,CAAC,MAAM,CAAC,sBAAiC,CAAA;IAC/D,MAAM,QAAQ,GAAG,OAAO,CAAC,SAAS,CAAC,QAAQ,CAAA;IAC3C,OAAO,QAAQ,CAAA;AACjB,CAAC;AAED,MAAM,CAAC;IACL,YAAY,EAAE,OAAO,CAAC,EAAE,CAAC,iBAAiB,CAAC,OAAO,CAAC;IACnD,YAAY,EAAE,OAAO,CAAC,EAAE,CAAC,iBAAiB,CAAC,OAAO,CAAC;CACpD,CAAC,CAAA"}
|
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
import { Provider } from './providers.js';
|
|
2
|
-
import {
|
|
3
|
-
export declare function handleProviderChanges(appSupport:
|
|
2
|
+
import { Support } from '../tag/Support.class.js';
|
|
3
|
+
export declare function handleProviderChanges(appSupport: Support, provider: Provider): boolean;
|
|
@@ -1,33 +1,36 @@
|
|
|
1
1
|
import { deepClone } from '../deepFunctions.js';
|
|
2
|
-
import {
|
|
2
|
+
import { renderSupport } from '../tag/render/renderSupport.function.js';
|
|
3
3
|
export function handleProviderChanges(appSupport, provider) {
|
|
4
|
+
let hadChanged = false;
|
|
4
5
|
const tagsWithProvider = getTagsWithProvider(appSupport, provider);
|
|
5
6
|
for (let index = tagsWithProvider.length - 1; index >= 0; --index) {
|
|
6
|
-
const {
|
|
7
|
-
if (
|
|
7
|
+
const { support, renderCount, provider } = tagsWithProvider[index];
|
|
8
|
+
if (support.subject.global.deleted) {
|
|
8
9
|
continue; // i was deleted after another tag processed
|
|
9
10
|
}
|
|
10
|
-
const notRendered = renderCount ===
|
|
11
|
+
const notRendered = renderCount === support.subject.global.renderCount;
|
|
11
12
|
if (notRendered) {
|
|
13
|
+
hadChanged = true;
|
|
12
14
|
provider.clone = deepClone(provider.instance);
|
|
13
|
-
|
|
15
|
+
renderSupport(support.subject.global.newest, // support, // support.subject.global.newest as Support,
|
|
14
16
|
false);
|
|
15
17
|
continue;
|
|
16
18
|
}
|
|
17
19
|
}
|
|
20
|
+
return hadChanged;
|
|
18
21
|
}
|
|
19
22
|
/** Updates and returns memory of tag providers */
|
|
20
|
-
function getTagsWithProvider(
|
|
23
|
+
function getTagsWithProvider(support, provider, memory = []) {
|
|
21
24
|
memory.push({
|
|
22
|
-
|
|
23
|
-
renderCount:
|
|
25
|
+
support,
|
|
26
|
+
renderCount: support.subject.global.renderCount,
|
|
24
27
|
provider,
|
|
25
28
|
});
|
|
26
29
|
const childTags = provider.children;
|
|
27
30
|
for (let index = childTags.length - 1; index >= 0; --index) {
|
|
28
31
|
memory.push({
|
|
29
|
-
|
|
30
|
-
renderCount: childTags[index].global.renderCount,
|
|
32
|
+
support: childTags[index],
|
|
33
|
+
renderCount: childTags[index].subject.global.renderCount,
|
|
31
34
|
provider,
|
|
32
35
|
});
|
|
33
36
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"handleProviderChanges.function.js","sourceRoot":"","sources":["../../ts/state/handleProviderChanges.function.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAA;AAE/C,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"handleProviderChanges.function.js","sourceRoot":"","sources":["../../ts/state/handleProviderChanges.function.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAA;AAE/C,OAAO,EAAE,aAAa,EAAE,MAAK,yCAAyC,CAAA;AAGtE,MAAM,UAAU,qBAAqB,CACnC,UAAmB,EACnB,QAAkB;IAElB,IAAI,UAAU,GAAG,KAAK,CAAA;IACtB,MAAM,gBAAgB,GAAG,mBAAmB,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAA;IAClE,KAAK,IAAI,KAAK,GAAG,gBAAgB,CAAC,MAAM,GAAG,CAAC,EAAE,KAAK,IAAI,CAAC,EAAE,EAAE,KAAK,EAAE,CAAC;QAClE,MAAM,EAAC,OAAO,EAAE,WAAW,EAAE,QAAQ,EAAC,GAAG,gBAAgB,CAAC,KAAK,CAAC,CAAA;QAChE,IAAG,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;YAClC,SAAQ,CAAC,4CAA4C;QACvD,CAAC;QAED,MAAM,WAAW,GAAG,WAAW,KAAK,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,WAAW,CAAA;QACtE,IAAG,WAAW,EAAE,CAAC;YACf,UAAU,GAAG,IAAI,CAAA;YACjB,QAAQ,CAAC,KAAK,GAAG,SAAS,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAA;YAC7C,aAAa,CACX,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,MAAiB,EAAE,wDAAwD;YAClG,KAAK,CACN,CAAA;YACD,SAAQ;QACV,CAAC;IACH,CAAC;IACD,OAAO,UAAU,CAAA;AACnB,CAAC;AAED,kDAAkD;AAClD,SAAS,mBAAmB,CAC1B,OAAgB,EAChB,QAAkB,EAClB,SAA4B,EAAE;IAE9B,MAAM,CAAC,IAAI,CAAC;QACV,OAAO;QACP,WAAW,EAAE,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,WAAW;QAC/C,QAAQ;KACT,CAAC,CAAA;IAEF,MAAM,SAAS,GAAG,QAAQ,CAAC,QAAQ,CAAA;IACnC,KAAK,IAAI,KAAK,GAAG,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,KAAK,IAAI,CAAC,EAAE,EAAE,KAAK,EAAE,CAAC;QAC3D,MAAM,CAAC,IAAI,CAAC;YACV,OAAO,EAAE,SAAS,CAAC,KAAK,CAAC;YACzB,WAAW,EAAE,SAAS,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,WAAW;YACxD,QAAQ;SACT,CAAC,CAAA;IACJ,CAAC;IAED,OAAO,MAAM,CAAA;AACf,CAAC"}
|
package/js/state/onDestroy.js
CHANGED
|
@@ -2,8 +2,8 @@ import { getSupportInCycle } from "../tag/getSupportInCycle.function.js";
|
|
|
2
2
|
import { state } from "./state.function.js";
|
|
3
3
|
export function onDestroy(callback) {
|
|
4
4
|
state(() => {
|
|
5
|
-
const
|
|
6
|
-
|
|
5
|
+
const support = getSupportInCycle();
|
|
6
|
+
support?.subject.global.destroy$.toCallback(callback);
|
|
7
7
|
});
|
|
8
8
|
}
|
|
9
9
|
//# sourceMappingURL=onDestroy.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"onDestroy.js","sourceRoot":"","sources":["../../ts/state/onDestroy.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,iBAAiB,EAAE,MAAM,sCAAsC,CAAA;AACxE,OAAO,EAAE,KAAK,EAAE,MAAM,qBAAqB,CAAA;AAI3C,MAAM,UAAU,SAAS,CACvB,QAA2B;IAE3B,KAAK,CAAC,GAAG,EAAE;QACT,MAAM,
|
|
1
|
+
{"version":3,"file":"onDestroy.js","sourceRoot":"","sources":["../../ts/state/onDestroy.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,iBAAiB,EAAE,MAAM,sCAAsC,CAAA;AACxE,OAAO,EAAE,KAAK,EAAE,MAAM,qBAAqB,CAAA;AAI3C,MAAM,UAAU,SAAS,CACvB,QAA2B;IAE3B,KAAK,CAAC,GAAG,EAAE;QACT,MAAM,OAAO,GAAG,iBAAiB,EAAa,CAAA;QAC9C,OAAO,EAAE,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAA;IACvD,CAAC,CAAC,CAAA;AACJ,CAAC"}
|
package/js/state/providers.d.ts
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { Support } from '../tag/Support.class.js';
|
|
2
2
|
export type Provider = {
|
|
3
3
|
constructMethod: any;
|
|
4
4
|
instance: any;
|
|
5
5
|
clone: any;
|
|
6
6
|
stateDiff: number;
|
|
7
|
-
owner:
|
|
8
|
-
children:
|
|
7
|
+
owner: Support;
|
|
8
|
+
children: Support[];
|
|
9
9
|
};
|
|
10
10
|
type ProviderConstructor<T> = (new (...args: any[]) => T) | (() => T);
|
|
11
11
|
type functionProvider<T> = () => T;
|
package/js/state/providers.js
CHANGED
|
@@ -18,18 +18,18 @@ export const providers = {
|
|
|
18
18
|
const oldStateCount = stateConfig.array.length;
|
|
19
19
|
// Providers with provider requirements just need to use providers.create() and providers.inject()
|
|
20
20
|
const instance = 'prototype' in constructMethod ? new constructMethod() : constructMethod();
|
|
21
|
-
const
|
|
21
|
+
const support = stateConfig.support;
|
|
22
22
|
const stateDiff = stateConfig.array.length - oldStateCount;
|
|
23
23
|
const provider = {
|
|
24
24
|
constructMethod,
|
|
25
25
|
instance,
|
|
26
26
|
clone: deepClone(instance),
|
|
27
27
|
stateDiff,
|
|
28
|
-
owner:
|
|
28
|
+
owner: support,
|
|
29
29
|
children: [],
|
|
30
30
|
};
|
|
31
31
|
stateDiffMemory.provider = provider;
|
|
32
|
-
|
|
32
|
+
support.subject.global.providers.push(provider);
|
|
33
33
|
stateDiffMemory.stateDiff = stateDiff;
|
|
34
34
|
return instance;
|
|
35
35
|
});
|
|
@@ -50,13 +50,13 @@ export const providers = {
|
|
|
50
50
|
const memory = setUse.memory;
|
|
51
51
|
const cm = constructor;
|
|
52
52
|
const compareTo = cm.compareTo = cm.compareTo || constructor.toString();
|
|
53
|
-
const
|
|
53
|
+
const support = memory.stateConfig.support;
|
|
54
54
|
const providers = [];
|
|
55
55
|
let owner = {
|
|
56
|
-
|
|
56
|
+
ownerSupport: support.ownerSupport
|
|
57
57
|
};
|
|
58
|
-
while (owner.
|
|
59
|
-
const ownerProviders = owner.
|
|
58
|
+
while (owner.ownerSupport) {
|
|
59
|
+
const ownerProviders = owner.ownerSupport.subject.global.providers;
|
|
60
60
|
const provider = ownerProviders.find(provider => {
|
|
61
61
|
providers.push(provider);
|
|
62
62
|
const constructorMatch = provider.constructMethod.compareTo === compareTo;
|
|
@@ -66,12 +66,12 @@ export const providers = {
|
|
|
66
66
|
});
|
|
67
67
|
if (provider) {
|
|
68
68
|
provider.clone = deepClone(provider.instance); // keep a copy of the latest before any change occur
|
|
69
|
-
const
|
|
70
|
-
|
|
71
|
-
provider.children.push(
|
|
69
|
+
const support = memory.stateConfig.support;
|
|
70
|
+
support.subject.global.providers.push(provider);
|
|
71
|
+
provider.children.push(support);
|
|
72
72
|
return provider.instance;
|
|
73
73
|
}
|
|
74
|
-
owner = owner.
|
|
74
|
+
owner = owner.ownerSupport; // cause reloop checking next parent
|
|
75
75
|
}
|
|
76
76
|
const msg = `Could not inject provider: ${constructor.name} ${constructor}`;
|
|
77
77
|
console.warn(`${msg}. Available providers`, providers);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"providers.js","sourceRoot":"","sources":["../../ts/state/providers.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAA;AAE/C,OAAO,EAAE,MAAM,EAAE,MAAK,sBAAsB,CAAA;AAC5C,OAAO,EAAE,KAAK,EAAE,MAAK,qBAAqB,CAAA;
|
|
1
|
+
{"version":3,"file":"providers.js","sourceRoot":"","sources":["../../ts/state/providers.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import {
|
|
2
|
-
export declare function providersChangeCheck(
|
|
1
|
+
import { BaseSupport, Support } from '../tag/Support.class.js';
|
|
2
|
+
export declare function providersChangeCheck(support: Support | BaseSupport): boolean;
|
|
@@ -1,14 +1,18 @@
|
|
|
1
1
|
import { deepClone, deepEqual } from '../deepFunctions.js';
|
|
2
2
|
import { handleProviderChanges } from './handleProviderChanges.function.js';
|
|
3
|
-
export function providersChangeCheck(
|
|
4
|
-
const global =
|
|
3
|
+
export function providersChangeCheck(support) {
|
|
4
|
+
const global = support.subject.global;
|
|
5
5
|
const providersWithChanges = global.providers.filter(provider => !deepEqual(provider.instance, provider.clone));
|
|
6
|
+
let hadChanged = false;
|
|
6
7
|
// reset clones
|
|
7
8
|
for (let index = providersWithChanges.length - 1; index >= 0; --index) {
|
|
8
9
|
const provider = providersWithChanges[index];
|
|
9
10
|
const owner = provider.owner;
|
|
10
|
-
handleProviderChanges(owner, provider)
|
|
11
|
+
if (handleProviderChanges(owner, provider)) {
|
|
12
|
+
hadChanged = true;
|
|
13
|
+
}
|
|
11
14
|
provider.clone = deepClone(provider.instance);
|
|
12
15
|
}
|
|
16
|
+
return hadChanged;
|
|
13
17
|
}
|
|
14
18
|
//# sourceMappingURL=providersChangeCheck.function.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"providersChangeCheck.function.js","sourceRoot":"","sources":["../../ts/state/providersChangeCheck.function.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAA;AAC1D,OAAO,EAAE,qBAAqB,EAAE,MAAM,qCAAqC,CAAA;AAG3E,MAAM,UAAU,oBAAoB,CAClC,
|
|
1
|
+
{"version":3,"file":"providersChangeCheck.function.js","sourceRoot":"","sources":["../../ts/state/providersChangeCheck.function.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAA;AAC1D,OAAO,EAAE,qBAAqB,EAAE,MAAM,qCAAqC,CAAA;AAG3E,MAAM,UAAU,oBAAoB,CAClC,OAA8B;IAE9B,MAAM,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,MAAM,CAAA;IACrC,MAAM,oBAAoB,GAAG,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,SAAS,CAAC,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAA;IAC/G,IAAI,UAAU,GAAG,KAAK,CAAA;IAEtB,eAAe;IACf,KAAK,IAAI,KAAK,GAAG,oBAAoB,CAAC,MAAM,GAAG,CAAC,EAAE,KAAK,IAAI,CAAC,EAAE,EAAE,KAAK,EAAE,CAAC;QACtE,MAAM,QAAQ,GAAG,oBAAoB,CAAC,KAAK,CAAC,CAAA;QAC5C,MAAM,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAA;QAE5B,IAAG,qBAAqB,CAAC,KAAK,EAAE,QAAQ,CAAC,EAAE,CAAC;YAC1C,UAAU,GAAG,IAAI,CAAA;QACnB,CAAC;QAED,QAAQ,CAAC,KAAK,GAAG,SAAS,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAA;IAC/C,CAAC;IAED,OAAO,UAAU,CAAA;AACnB,CAAC"}
|
|
@@ -1,16 +1,16 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { BaseSupport, Support } from '../tag/Support.class.js';
|
|
2
2
|
import { Config } from './state.utils.js';
|
|
3
3
|
interface TagUse {
|
|
4
|
-
beforeRender: (
|
|
5
|
-
beforeRedraw: (
|
|
6
|
-
afterRender: (
|
|
7
|
-
beforeDestroy: (
|
|
4
|
+
beforeRender: (support: BaseSupport | Support, ownerTag?: Support | BaseSupport) => void;
|
|
5
|
+
beforeRedraw: (support: BaseSupport | Support, tag: Support | BaseSupport) => void;
|
|
6
|
+
afterRender: (support: BaseSupport | Support, ownerSupport?: Support | BaseSupport) => void;
|
|
7
|
+
beforeDestroy: (support: BaseSupport | Support, tag: Support | BaseSupport) => void;
|
|
8
8
|
}
|
|
9
9
|
export type UseOptions = {
|
|
10
|
-
beforeRender?: (
|
|
11
|
-
beforeRedraw?: (
|
|
12
|
-
afterRender?: (
|
|
13
|
-
beforeDestroy?: (
|
|
10
|
+
beforeRender?: (support: Support | BaseSupport, ownerTag?: Support | BaseSupport) => void;
|
|
11
|
+
beforeRedraw?: (support: BaseSupport | Support, tag: Support | BaseSupport) => void;
|
|
12
|
+
afterRender?: (support: BaseSupport | Support, ownerSupport?: Support | BaseSupport) => void;
|
|
13
|
+
beforeDestroy?: (support: BaseSupport | Support, tag: Support | BaseSupport) => void;
|
|
14
14
|
};
|
|
15
15
|
export declare function setUse(use: UseOptions): void;
|
|
16
16
|
export declare namespace setUse {
|
|
@@ -19,6 +19,6 @@ export declare namespace setUse {
|
|
|
19
19
|
}
|
|
20
20
|
type UseMemory = (Record<string, any> & {
|
|
21
21
|
stateConfig: Config;
|
|
22
|
-
currentSupport:
|
|
22
|
+
currentSupport: Support;
|
|
23
23
|
});
|
|
24
24
|
export {};
|
|
@@ -25,12 +25,12 @@ export function state(defaultValue) {
|
|
|
25
25
|
// the state is actually intended to be a function
|
|
26
26
|
if (initValue instanceof Function) {
|
|
27
27
|
const oldState = config.array;
|
|
28
|
-
const
|
|
28
|
+
const support = config.support;
|
|
29
29
|
const original = initValue;
|
|
30
30
|
initValue = ((...args) => {
|
|
31
|
-
const global =
|
|
31
|
+
const global = support.subject.global;
|
|
32
32
|
const newest = global.newest;
|
|
33
|
-
const newState = newest.
|
|
33
|
+
const newState = newest.state;
|
|
34
34
|
syncStates(newState, oldState);
|
|
35
35
|
const result = original(...args);
|
|
36
36
|
syncStates(oldState, newState);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"state.function.js","sourceRoot":"","sources":["../../ts/state/state.function.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAA;AAC7C,OAAO,EAA+C,aAAa,EAAE,MAAM,kBAAkB,CAAA;AAC7F,OAAO,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAA;AAErD,oFAAoF;AACpF,MAAM,UAAU,KAAK,CACnB,YAA2B;IAE3B,MAAM,MAAM,GAAW,MAAM,CAAC,MAAM,CAAC,WAAW,CAAA;IAChD,IAAI,YAA4B,CAAA;IAChC,MAAM,OAAO,GAAG,MAAM,CAAC,OAAgB,CAAA;IAEvC,MAAM,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAA;IAC5C,IAAG,OAAO,EAAE,CAAC;QACX,IAAI,QAAQ,GAAG,aAAa,CAAC,OAAO,CAAM,CAAA;QAC1C,YAAY,GAAG,CAAC,CAAC,CAAI,EAAE,EAAE,CAAC,CAAC,QAAQ,EAAE,QAAQ,GAAG,CAAC,CAAC,CAAC,CAAA;QACnD,MAAM,IAAI,GAAuB;YAC/B,GAAG,EAAE,GAAG,EAAE,CAAC,aAAa,CAAC,IAAI,CAAM;YACnC,QAAQ,EAAE,YAAY;YACtB,SAAS,EAAE,QAAQ;YACnB,YAAY,EAAE,OAAO,CAAC,YAAY;SACnC,CAAA;QAED,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;QAEvB,OAAO,QAAQ,CAAA;IACjB,CAAC;IAED,uBAAuB;IACvB,MAAM,SAAS,GAAG,YAAY,YAAY,QAAQ,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,YAAY,CAAA;IACtF,IAAI,SAAS,GAAG,SAAS,EAAE,CAAA;IAE3B,kDAAkD;IAClD,IAAG,SAAS,YAAY,QAAQ,EAAE,CAAC;QACjC,MAAM,QAAQ,GAAG,MAAM,CAAC,KAAK,CAAA;QAC7B,MAAM,
|
|
1
|
+
{"version":3,"file":"state.function.js","sourceRoot":"","sources":["../../ts/state/state.function.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAA;AAC7C,OAAO,EAA+C,aAAa,EAAE,MAAM,kBAAkB,CAAA;AAC7F,OAAO,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAA;AAErD,oFAAoF;AACpF,MAAM,UAAU,KAAK,CACnB,YAA2B;IAE3B,MAAM,MAAM,GAAW,MAAM,CAAC,MAAM,CAAC,WAAW,CAAA;IAChD,IAAI,YAA4B,CAAA;IAChC,MAAM,OAAO,GAAG,MAAM,CAAC,OAAgB,CAAA;IAEvC,MAAM,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAA;IAC5C,IAAG,OAAO,EAAE,CAAC;QACX,IAAI,QAAQ,GAAG,aAAa,CAAC,OAAO,CAAM,CAAA;QAC1C,YAAY,GAAG,CAAC,CAAC,CAAI,EAAE,EAAE,CAAC,CAAC,QAAQ,EAAE,QAAQ,GAAG,CAAC,CAAC,CAAC,CAAA;QACnD,MAAM,IAAI,GAAuB;YAC/B,GAAG,EAAE,GAAG,EAAE,CAAC,aAAa,CAAC,IAAI,CAAM;YACnC,QAAQ,EAAE,YAAY;YACtB,SAAS,EAAE,QAAQ;YACnB,YAAY,EAAE,OAAO,CAAC,YAAY;SACnC,CAAA;QAED,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;QAEvB,OAAO,QAAQ,CAAA;IACjB,CAAC;IAED,uBAAuB;IACvB,MAAM,SAAS,GAAG,YAAY,YAAY,QAAQ,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,YAAY,CAAA;IACtF,IAAI,SAAS,GAAG,SAAS,EAAE,CAAA;IAE3B,kDAAkD;IAClD,IAAG,SAAS,YAAY,QAAQ,EAAE,CAAC;QACjC,MAAM,QAAQ,GAAG,MAAM,CAAC,KAAK,CAAA;QAC7B,MAAM,OAAO,GAAG,MAAM,CAAC,OAAkB,CAAA;QACzC,MAAM,QAAQ,GAAG,SAAS,CAAA;QAE1B,SAAS,GAAG,CAAC,CAAC,GAAG,IAAW,EAAE,EAAE;YAC9B,MAAM,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,MAAM,CAAA;YACrC,MAAM,MAAM,GAAG,MAAM,CAAC,MAAiB,CAAA;YACvC,MAAM,QAAQ,GAAG,MAAM,CAAC,KAAK,CAAA;YAE7B,UAAU,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAA;YAE9B,MAAM,MAAM,GAAG,QAAQ,CAAC,GAAG,IAAI,CAAC,CAAA;YAEhC,UAAU,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAA;YAE9B,OAAO,MAAM,CAAA;QACf,CAAC,CAAQ,CAER;QAAC,SAAiB,CAAC,QAAQ,GAAG,QAAQ,CAAA;IACzC,CAAC;IAED,YAAY,GAAG,CAAC,CAAC,CAAI,EAAE,EAAE,CAAC,CAAC,SAAS,EAAE,SAAS,GAAG,CAAC,CAAC,CAAC,CAAA;IACrD,MAAM,IAAI,GAAuB;QAC/B,GAAG,EAAE,GAAG,EAAE,CAAC,aAAa,CAAC,IAAI,CAAM;QACnC,QAAQ,EAAE,YAAY;QACtB,SAAS,EAAE,SAAS;QACpB,YAAY,EAAE,SAAS;KACxB,CAAA;IACD,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;IAEvB,OAAO,SAAS,CAAA;AAClB,CAAC"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { BaseSupport, Support } from '../tag/Support.class.js';
|
|
2
2
|
export type StateConfig<T> = (x: T) => [T, T];
|
|
3
3
|
export type StateConfigItem<T> = {
|
|
4
4
|
get: () => T;
|
|
@@ -8,7 +8,7 @@ export type StateConfigItem<T> = {
|
|
|
8
8
|
watch?: T;
|
|
9
9
|
};
|
|
10
10
|
export type Config = {
|
|
11
|
-
|
|
11
|
+
support?: BaseSupport | Support;
|
|
12
12
|
array: State;
|
|
13
13
|
rearray?: State;
|
|
14
14
|
};
|