taggedjs 2.8.36 → 2.8.38
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.map +1 -1
- package/js/interpolations/attributes/addSupportEventListener.function.js +1 -1
- package/js/interpolations/attributes/bindSubjectCallback.function.d.ts +1 -6
- package/js/interpolations/attributes/bindSubjectCallback.function.js +22 -43
- package/js/interpolations/attributes/bindSubjectCallback.function.js.map +1 -1
- package/js/interpolations/attributes/checkToResolvePromise.function.d.ts +8 -0
- package/js/interpolations/attributes/checkToResolvePromise.function.js +33 -0
- package/js/interpolations/attributes/checkToResolvePromise.function.js.map +1 -0
- package/js/interpolations/attributes/getSupportWithState.function.js +1 -1
- package/js/interpolations/attributes/getUpTags.function.js +4 -3
- package/js/interpolations/attributes/getUpTags.function.js.map +1 -1
- package/js/interpolations/attributes/howToSetInputValue.function.d.ts +3 -3
- package/js/interpolations/attributes/howToSetInputValue.function.js.map +1 -1
- package/js/interpolations/attributes/isSpecialAttribute.function.d.ts +2 -2
- package/js/interpolations/attributes/isSpecialAttribute.function.js +2 -2
- package/js/interpolations/attributes/isSpecialAttribute.function.js.map +1 -1
- package/js/interpolations/attributes/processNameValueAttribute.function.js +0 -1
- package/js/interpolations/attributes/processNameValueAttribute.function.js.map +1 -1
- package/js/interpolations/attributes/renderTagArray.function.js +1 -1
- package/js/interpolations/attributes/specialAttribute.js +1 -1
- package/js/interpolations/attributes/updateAttribute.function.js.map +1 -1
- package/js/interpolations/optimizers/domProcessContextItem.function.js +4 -6
- package/js/interpolations/optimizers/domProcessContextItem.function.js.map +1 -1
- package/js/interpolations/optimizers/htmlInterpolationToDomMeta.function.js +0 -11
- package/js/interpolations/optimizers/htmlInterpolationToDomMeta.function.js.map +1 -1
- package/js/interpolations/optimizers/parseHTML.function.js +5 -0
- package/js/interpolations/optimizers/parseHTML.function.js.map +1 -1
- package/js/jsTagVar/array.function.d.ts +2 -0
- package/js/jsTagVar/array.function.js +10 -0
- package/js/jsTagVar/array.function.js.map +1 -0
- package/js/jsTagVar/signal.function.d.ts +15 -0
- package/js/jsTagVar/signal.function.js +47 -0
- package/js/jsTagVar/signal.function.js.map +1 -0
- package/js/render/afterRender.function.js +1 -1
- package/js/render/attributes/createDynamicAttribute.function.d.ts +1 -1
- package/js/render/attributes/createDynamicAttribute.function.js +8 -2
- package/js/render/attributes/createDynamicAttribute.function.js.map +1 -1
- package/js/render/attributes/getTagJsVar.function.js.map +1 -1
- package/js/render/attributes/processAttribute.function.d.ts +6 -4
- package/js/render/attributes/processAttribute.function.js +18 -3
- package/js/render/attributes/processAttribute.function.js.map +1 -1
- package/js/render/attributes/processUpdateAttrContext.function.d.ts +3 -1
- package/js/render/attributes/processUpdateAttrContext.function.js +1 -1
- package/js/render/attributes/processUpdateAttrContext.function.js.map +1 -1
- package/js/render/buildBeforeElement.function.js +7 -5
- package/js/render/buildBeforeElement.function.js.map +1 -1
- package/js/render/destroySupport.function.js +2 -2
- package/js/render/destroySupport.function.js.map +1 -1
- package/js/render/dom/attachDomElements.function.js +10 -6
- package/js/render/dom/attachDomElements.function.js.map +1 -1
- package/js/render/executeWrap.function.js +2 -1
- package/js/render/executeWrap.function.js.map +1 -1
- package/js/render/index.d.ts +1 -0
- package/js/render/index.js +1 -0
- package/js/render/index.js.map +1 -1
- package/js/render/paint.function.d.ts +7 -3
- package/js/render/paint.function.js +70 -19
- package/js/render/paint.function.js.map +1 -1
- package/js/render/registerNewTagElement.function.js +1 -1
- package/js/render/registerNewTagElement.function.js.map +1 -1
- package/js/render/renderExistingTag.function.d.ts +1 -2
- package/js/render/renderExistingTag.function.js +6 -10
- package/js/render/renderExistingTag.function.js.map +1 -1
- package/js/render/renderSupport.function.d.ts +3 -2
- package/js/render/renderSupport.function.js +17 -25
- package/js/render/renderSupport.function.js.map +1 -1
- package/js/render/renderTagElement.function.d.ts +1 -0
- package/js/render/renderTagElement.function.js +1 -2
- package/js/render/renderTagElement.function.js.map +1 -1
- package/js/render/renderTagOnly.function.js +3 -4
- package/js/render/renderTagOnly.function.js.map +1 -1
- package/js/render/renderWithSupport.function.d.ts +1 -2
- package/js/render/renderWithSupport.function.js +6 -8
- package/js/render/renderWithSupport.function.js.map +1 -1
- package/js/render/softDestroySupport.function.js +3 -3
- package/js/render/softDestroySupport.function.js.map +1 -1
- package/js/render/update/processRenderOnceInit.function.js +2 -3
- package/js/render/update/processRenderOnceInit.function.js.map +1 -1
- package/js/render/update/processTag.function.d.ts +1 -1
- package/js/render/update/processTag.function.js +4 -4
- package/js/render/update/processTag.function.js.map +1 -1
- package/js/render/update/updateExistingTagComponent.function.d.ts +3 -3
- package/js/render/update/updateExistingTagComponent.function.js +29 -23
- package/js/render/update/updateExistingTagComponent.function.js.map +1 -1
- package/js/render/update/updateSupportBy.function.js +2 -2
- package/js/render/update/updateSupportBy.function.js.map +1 -1
- package/js/state/array.function.d.ts +4 -0
- package/js/state/array.function.js +59 -0
- package/js/state/array.function.js.map +1 -0
- package/js/state/awaits.d.ts +5 -0
- package/js/state/awaits.js +19 -0
- package/js/state/awaits.js.map +1 -0
- package/js/state/callback.function.js +1 -1
- package/js/state/callbackStateUpdate.function.js +1 -1
- package/js/state/handleProviderChanges.function.js +2 -2
- package/js/state/index.d.ts +1 -2
- package/js/state/index.js +1 -2
- package/js/state/index.js.map +1 -1
- package/js/state/letProp.function.js +1 -1
- package/js/state/letProp.function.js.map +1 -1
- package/js/state/onDestroy.js +1 -1
- package/js/state/onInit.js +13 -1
- package/js/state/onInit.js.map +1 -1
- package/js/state/pipe.function.d.ts +3 -0
- package/js/state/pipe.function.js +20 -0
- package/js/state/pipe.function.js.map +1 -0
- package/js/state/providers.js +3 -3
- package/js/state/providersChangeCheck.function.js +1 -1
- package/js/state/signal.function.d.ts +15 -0
- package/js/state/signal.function.js +49 -0
- package/js/state/signal.function.js.map +1 -0
- package/js/state/state.utils.d.ts +2 -3
- package/js/state/state.utils.js +8 -3
- package/js/state/state.utils.js.map +1 -1
- package/js/state/subscribeWith.function.js +2 -4
- package/js/state/subscribeWith.function.js.map +1 -1
- package/js/state/useAwaits.d.ts +5 -0
- package/js/state/useAwaits.js +17 -0
- package/js/state/useAwaits.js.map +1 -0
- package/js/state/watch.function.js +1 -1
- package/js/subject/index.d.ts +1 -1
- package/js/subject/index.js +1 -1
- package/js/subject/index.js.map +1 -1
- package/js/subject/signal.function.d.ts +5 -4
- package/js/subject/signal.function.js.map +1 -1
- package/js/tag/AdvancedContextItem.type.d.ts +0 -2
- package/js/tag/BaseSupport.type.d.ts +1 -1
- package/js/tag/Context.types.d.ts +1 -1
- package/js/tag/ContextItem.type.d.ts +4 -4
- package/js/tag/ProcessUpdate.type.d.ts +5 -0
- package/js/tag/ProcessUpdate.type.js +2 -0
- package/js/tag/ProcessUpdate.type.js.map +1 -0
- package/js/tag/Tag.type.d.ts +2 -2
- package/js/tag/ValueTypes.enum.d.ts +1 -0
- package/js/tag/ValueTypes.enum.js +1 -2
- package/js/tag/ValueTypes.enum.js.map +1 -1
- package/js/tag/checkTagValueChange.function.d.ts +1 -1
- package/js/tag/checkTagValueChange.function.js +3 -4
- package/js/tag/checkTagValueChange.function.js.map +1 -1
- package/js/tag/createHtmlSupport.function.d.ts +3 -3
- package/js/tag/createHtmlSupport.function.js +5 -5
- package/js/tag/destroyContext.function.js +2 -2
- package/js/tag/destroyContext.function.js.map +1 -1
- package/js/tag/getDomTag.function.d.ts +1 -4
- package/js/tag/getDomTag.function.js +3 -64
- package/js/tag/getDomTag.function.js.map +1 -1
- package/js/tag/getSupportInCycle.function.d.ts +3 -1
- package/js/tag/getSupportInCycle.function.js +3 -0
- package/js/tag/getSupportInCycle.function.js.map +1 -1
- package/js/tag/getTemplaterResult.function.d.ts +5 -4
- package/js/tag/getTemplaterResult.function.js +2 -0
- package/js/tag/getTemplaterResult.function.js.map +1 -1
- package/js/tag/hasSupportChanged.function.d.ts +1 -1
- package/js/tag/hasSupportChanged.function.js +3 -3
- package/js/tag/hasSupportChanged.function.js.map +1 -1
- package/js/tag/html.js +2 -1
- package/js/tag/html.js.map +1 -1
- package/js/tag/index.d.ts +1 -0
- package/js/tag/index.js +1 -0
- package/js/tag/index.js.map +1 -1
- package/js/tag/isLikeTags.function.d.ts +3 -3
- package/js/tag/isLikeTags.function.js +32 -21
- package/js/tag/isLikeTags.function.js.map +1 -1
- package/js/tag/output.function.d.ts +3 -1
- package/js/tag/output.function.js +21 -13
- package/js/tag/output.function.js.map +1 -1
- package/js/tag/processOuterDomTagInit.function.d.ts +9 -0
- package/js/tag/processOuterDomTagInit.function.js +72 -0
- package/js/tag/processOuterDomTagInit.function.js.map +1 -0
- package/js/tag/processUpdateContext.function.d.ts +1 -1
- package/js/tag/processUpdateContext.function.js +9 -11
- package/js/tag/processUpdateContext.function.js.map +1 -1
- package/js/tag/props/alterProp.function.d.ts +0 -1
- package/js/tag/props/alterProp.function.js +7 -19
- package/js/tag/props/alterProp.function.js.map +1 -1
- package/js/tag/props/safeRenderSupport.function.d.ts +2 -0
- package/js/tag/props/safeRenderSupport.function.js +11 -0
- package/js/tag/props/safeRenderSupport.function.js.map +1 -0
- package/js/tag/smartRemoveKids.function.js +20 -10
- package/js/tag/smartRemoveKids.function.js.map +1 -1
- package/js/tag/tagElement.js +21 -11
- package/js/tag/tagElement.js.map +1 -1
- package/js/tag/tagRunner.js +2 -2
- package/js/tag/update/SubContext.type.d.ts +6 -4
- package/js/tag/update/checkSubContext.function.d.ts +2 -1
- package/js/tag/update/checkSubContext.function.js +14 -8
- package/js/tag/update/checkSubContext.function.js.map +1 -1
- package/js/tag/update/compareArrayItems.function.js +2 -2
- package/js/tag/update/compareArrayItems.function.js.map +1 -1
- package/js/tag/update/createAndProcessContextItem.function.js +2 -0
- package/js/tag/update/createAndProcessContextItem.function.js.map +1 -1
- package/js/tag/update/deleteSubContext.function.d.ts +1 -1
- package/js/tag/update/deleteSubContext.function.js +8 -7
- package/js/tag/update/deleteSubContext.function.js.map +1 -1
- package/js/tag/update/forceUpdateExistingValue.function.js +1 -1
- package/js/tag/update/forceUpdateExistingValue.function.js.map +1 -1
- package/js/tag/update/getNewGlobal.function.d.ts +1 -1
- package/js/tag/update/getNewGlobal.function.js +3 -4
- package/js/tag/update/getNewGlobal.function.js.map +1 -1
- package/js/tag/update/handleStillTag.function.d.ts +2 -2
- package/js/tag/update/handleStillTag.function.js +12 -3
- package/js/tag/update/handleStillTag.function.js.map +1 -1
- package/js/tag/update/onFirstSubContext.function.d.ts +1 -1
- package/js/tag/update/onFirstSubContext.function.js +1 -1
- package/js/tag/update/onFirstSubContext.function.js.map +1 -1
- package/js/tag/update/processFirstSubjectComponent.function.js +10 -13
- package/js/tag/update/processFirstSubjectComponent.function.js.map +1 -1
- package/js/tag/update/processFirstSubjectValue.function.js +3 -3
- package/js/tag/update/processFirstSubjectValue.function.js.map +1 -1
- package/js/tag/update/processRegularValue.function.js +3 -3
- package/js/tag/update/processRegularValue.function.js.map +1 -1
- package/js/tag/update/processSubscribe.function.d.ts +2 -2
- package/js/tag/update/processSubscribe.function.js +6 -5
- package/js/tag/update/processSubscribe.function.js.map +1 -1
- package/js/tag/update/processTagArray.js +1 -1
- package/js/tag/update/processTagArray.js.map +1 -1
- package/js/tag/update/processTagResult.function.d.ts +0 -2
- package/js/tag/update/processTagResult.function.js +2 -9
- package/js/tag/update/processTagResult.function.js.map +1 -1
- package/js/tag/update/setupSubscribe.function.d.ts +3 -3
- package/js/tag/update/setupSubscribe.function.js +36 -19
- package/js/tag/update/setupSubscribe.function.js.map +1 -1
- package/js/tag/update/tagValueUpdateHandler.function.d.ts +1 -3
- package/js/tag/update/tagValueUpdateHandler.function.js +1 -16
- package/js/tag/update/tagValueUpdateHandler.function.js.map +1 -1
- package/js/tag/update/tryUpdateToTag.function.js +16 -1
- package/js/tag/update/tryUpdateToTag.function.js.map +1 -1
- package/js/tagJsVars/array.function.d.ts +3 -0
- package/js/tagJsVars/array.function.js +28 -0
- package/js/tagJsVars/array.function.js.map +1 -0
- package/js/tagJsVars/checkSimpleValueChange.function.d.ts +2 -0
- package/js/tagJsVars/checkSimpleValueChange.function.js +13 -0
- package/js/tagJsVars/checkSimpleValueChange.function.js.map +1 -0
- package/js/tagJsVars/getArrayTagJsVar.function.d.ts +2 -2
- package/js/tagJsVars/getArrayTagJsVar.function.js +2 -0
- package/js/tagJsVars/getArrayTagJsVar.function.js.map +1 -1
- package/js/tagJsVars/getInnerHTML.function.js +4 -3
- package/js/tagJsVars/getInnerHTML.function.js.map +1 -1
- package/js/tagJsVars/getSimpleTagVar.function.d.ts +3 -11
- package/js/tagJsVars/getSimpleTagVar.function.js +8 -12
- package/js/tagJsVars/getSimpleTagVar.function.js.map +1 -1
- package/js/tagJsVars/host.function.d.ts +18 -0
- package/js/tagJsVars/host.function.js +44 -0
- package/js/tagJsVars/host.function.js.map +1 -0
- package/js/tagJsVars/index.d.ts +5 -0
- package/js/tagJsVars/index.js +5 -0
- package/js/tagJsVars/index.js.map +1 -1
- package/js/tagJsVars/pipe.function.d.ts +3 -0
- package/js/tagJsVars/pipe.function.js +22 -0
- package/js/tagJsVars/pipe.function.js.map +1 -0
- package/js/tagJsVars/subscribe.function.d.ts +4 -4
- package/js/tagJsVars/subscribe.function.js +6 -7
- package/js/tagJsVars/subscribe.function.js.map +1 -1
- package/js/tagJsVars/subscribeWith.function.d.ts +3 -0
- package/js/tagJsVars/subscribeWith.function.js +21 -0
- package/js/tagJsVars/subscribeWith.function.js.map +1 -0
- package/js/tagJsVars/tag.function.js +3 -0
- package/js/tagJsVars/tag.function.js.map +1 -1
- package/js/tagJsVars/tagJsVar.type.d.ts +8 -0
- package/js/tagJsVars/valueToTagJsVar.function.d.ts +1 -1
- package/js/tagJsVars/valueToTagJsVar.function.js.map +1 -1
- package/package.json +1 -1
|
@@ -1,15 +1,15 @@
|
|
|
1
1
|
import { clonePropsBy } from './props/clonePropsBy.function.js';
|
|
2
2
|
import { Subject } from '../subject/Subject.class.js';
|
|
3
3
|
/** used only for apps, otherwise use Support */
|
|
4
|
-
export function getBaseSupport(templater,
|
|
4
|
+
export function getBaseSupport(templater, context, castedProps) {
|
|
5
5
|
const baseSupport = {
|
|
6
6
|
templater,
|
|
7
|
-
|
|
7
|
+
context,
|
|
8
8
|
castedProps,
|
|
9
9
|
appSupport: undefined,
|
|
10
10
|
};
|
|
11
11
|
// baseSupport.appSupport = baseSupport
|
|
12
|
-
const global =
|
|
12
|
+
const global = context.global;
|
|
13
13
|
global.blocked = [];
|
|
14
14
|
global.destroy$ = new Subject();
|
|
15
15
|
return baseSupport;
|
|
@@ -27,10 +27,10 @@ support, appSupport, castedProps) {
|
|
|
27
27
|
return support;
|
|
28
28
|
}
|
|
29
29
|
export function createHtmlSupport(templater, // at runtime rendering of a tag, it needs to be married to a new Support()
|
|
30
|
-
ownerSupport, appSupport,
|
|
30
|
+
ownerSupport, appSupport, context, castedProps) {
|
|
31
31
|
const support = {
|
|
32
32
|
templater,
|
|
33
|
-
|
|
33
|
+
context,
|
|
34
34
|
castedProps,
|
|
35
35
|
appSupport: undefined,
|
|
36
36
|
};
|
|
@@ -27,7 +27,7 @@ export function destroyContext(childTags, ownerSupport) {
|
|
|
27
27
|
if (isTagComponent(support.templater)) {
|
|
28
28
|
runBeforeDestroy(support, global);
|
|
29
29
|
}
|
|
30
|
-
const subTags = global.
|
|
30
|
+
const subTags = global.contexts;
|
|
31
31
|
// recurse
|
|
32
32
|
destroyContext(subTags, support);
|
|
33
33
|
}
|
|
@@ -46,7 +46,7 @@ export function getChildTagsToSoftDestroy(childTags, tags = [], subs = []) {
|
|
|
46
46
|
subs.push(...iSubs);
|
|
47
47
|
}
|
|
48
48
|
}
|
|
49
|
-
const subTags = global.
|
|
49
|
+
const subTags = global.contexts;
|
|
50
50
|
if (subTags) {
|
|
51
51
|
getChildTagsToSoftDestroy(subTags, tags, subs);
|
|
52
52
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"destroyContext.function.js","sourceRoot":"","sources":["../../ts/tag/destroyContext.function.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAA;AACjD,OAAO,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAA;AAEjD,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAA;AAIjD,MAAM,UAAU,cAAc,CAC5B,SAAwB,EACxB,YAAwB;IAExB,KAAK,MAAM,KAAK,IAAI,SAAS,EAAE,CAAC;QAC9B,kBAAkB;QAClB,MAAM,SAAS,GAAG,KAAK,CAAC,SAAS,CAAA;QACjC,IAAG,SAAS,EAAE,CAAC;YACb,UAAU;YACV,cAAc,CAAC,SAAS,EAAE,YAAY,CAAC,CAAA;YACvC,SAAQ;QACV,CAAC;QAED,MAAM,UAAU,GAAG,KAAK,CAAC,KAA6B,CAAA;QACtD,IAAG,UAAU,EAAE,SAAS,KAAK,UAAU,CAAC,SAAS,EAAE,CAAC;YAClD,UAAU,CAAC,MAAM,CAAC,KAAK,EAAE,YAAY,CAAC,CAAA;YACtC,SAAQ;QACV,CAAC;QAED,MAAM,MAAM,GAAG,KAAK,CAAC,MAA0B,CAAA;QAC/C,IAAG,CAAC,MAAM,EAAE,CAAC;YACX,SAAQ,CAAC,4BAA4B;QACvC,CAAC;QAED,MAAM,OAAO,GAAG,MAAM,CAAC,MAAM,CAAA;QAC7B,MAAM,KAAK,GAAG,MAAM,CAAC,aAAa,CAAA;QAClC,IAAG,KAAK,EAAE,CAAC;YACT,KAAK,CAAC,OAAO,CAAC,eAAe,CAAC,CAAA;QAChC,CAAC;QAED,IAAG,cAAc,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE,CAAC;YACrC,gBAAgB,CAAC,OAAO,EAAE,MAAM,CAAC,CAAA;QACnC,CAAC;QAED,MAAM,OAAO,GAAG,MAAM,CAAC,
|
|
1
|
+
{"version":3,"file":"destroyContext.function.js","sourceRoot":"","sources":["../../ts/tag/destroyContext.function.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAA;AACjD,OAAO,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAA;AAEjD,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAA;AAIjD,MAAM,UAAU,cAAc,CAC5B,SAAwB,EACxB,YAAwB;IAExB,KAAK,MAAM,KAAK,IAAI,SAAS,EAAE,CAAC;QAC9B,kBAAkB;QAClB,MAAM,SAAS,GAAG,KAAK,CAAC,SAAS,CAAA;QACjC,IAAG,SAAS,EAAE,CAAC;YACb,UAAU;YACV,cAAc,CAAC,SAAS,EAAE,YAAY,CAAC,CAAA;YACvC,SAAQ;QACV,CAAC;QAED,MAAM,UAAU,GAAG,KAAK,CAAC,KAA6B,CAAA;QACtD,IAAG,UAAU,EAAE,SAAS,KAAK,UAAU,CAAC,SAAS,EAAE,CAAC;YAClD,UAAU,CAAC,MAAM,CAAC,KAAK,EAAE,YAAY,CAAC,CAAA;YACtC,SAAQ;QACV,CAAC;QAED,MAAM,MAAM,GAAG,KAAK,CAAC,MAA0B,CAAA;QAC/C,IAAG,CAAC,MAAM,EAAE,CAAC;YACX,SAAQ,CAAC,4BAA4B;QACvC,CAAC;QAED,MAAM,OAAO,GAAG,MAAM,CAAC,MAAM,CAAA;QAC7B,MAAM,KAAK,GAAG,MAAM,CAAC,aAAa,CAAA;QAClC,IAAG,KAAK,EAAE,CAAC;YACT,KAAK,CAAC,OAAO,CAAC,eAAe,CAAC,CAAA;QAChC,CAAC;QAED,IAAG,cAAc,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE,CAAC;YACrC,gBAAgB,CAAC,OAAO,EAAE,MAAM,CAAC,CAAA;QACnC,CAAC;QAED,MAAM,OAAO,GAAG,MAAM,CAAC,QAAQ,CAAA;QAC/B,UAAU;QACV,cAAc,CAAC,OAAO,EAAE,OAAO,CAAC,CAAA;IAClC,CAAC;AACH,CAAC;AAED,MAAM,UAAU,yBAAyB,CACvC,SAAwB,EACxB,OAAqB,EAAE,EACvB,OAA4B,EAAE;IAE9B,KAAK,MAAM,KAAK,IAAI,SAAS,EAAE,CAAC;QAC9B,MAAM,MAAM,GAAG,KAAK,CAAC,MAA0B,CAAA;QAE/C,IAAG,CAAC,MAAM,EAAE,CAAC;YACX,SAAQ;QACV,CAAC;QAED,MAAM,OAAO,GAAG,MAAM,CAAC,MAAM,CAAA;QAC7B,IAAG,OAAO,EAAE,CAAC;YACX,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;YAClB,MAAM,KAAK,GAAG,MAAM,CAAC,aAAa,CAAA;YAClC,IAAG,KAAK,EAAE,CAAC;gBACT,IAAI,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC,CAAA;YACrB,CAAC;QACH,CAAC;QAED,MAAM,OAAO,GAAG,MAAM,CAAC,QAAQ,CAAA;QAC/B,IAAG,OAAO,EAAE,CAAC;YACX,yBAAyB,CAAC,OAAO,EAAE,IAAI,EAAE,IAAI,CAAC,CAAA;QAChD,CAAC;IACH,CAAC;IAED,OAAO,EAAC,IAAI,EAAE,IAAI,EAAC,CAAA;AACrB,CAAC;AAED,MAAM,UAAU,eAAe,CAAC,IAAS;IACvC,IAAI,CAAC,WAAW,EAAE,CAAA;AACpB,CAAC"}
|
|
@@ -18,7 +18,7 @@ export interface TagTemplate {
|
|
|
18
18
|
values: unknown[];
|
|
19
19
|
domMetaMap?: DomMetaMap;
|
|
20
20
|
}
|
|
21
|
-
type ArrayItemStringTag<T> = StringTag & {
|
|
21
|
+
export type ArrayItemStringTag<T> = StringTag & {
|
|
22
22
|
arrayValue: T;
|
|
23
23
|
};
|
|
24
24
|
export type KeyFunction =
|
|
@@ -29,6 +29,3 @@ export type KeyFunction =
|
|
|
29
29
|
<T>(arrayValue: T) => ArrayItemStringTag<T>;
|
|
30
30
|
/** When compiled to then run in browser */
|
|
31
31
|
export declare function getDomTag(dom: LikeObjectChildren, values: unknown[]): DomTag;
|
|
32
|
-
/** When runtime is in browser */
|
|
33
|
-
export declare function getStringTag(strings: string[], values: unknown[]): StringTag;
|
|
34
|
-
export {};
|
|
@@ -3,7 +3,8 @@ import { ValueTypes } from './ValueTypes.enum.js';
|
|
|
3
3
|
import { getSupportInCycle } from './getSupportInCycle.function.js';
|
|
4
4
|
import { processDomTagInit } from './update/processDomTagInit.function.js';
|
|
5
5
|
import { checkTagValueChange, destroySupportByContextItem } from '../index.js';
|
|
6
|
-
import {
|
|
6
|
+
import { processOuterDomTagInit } from './processOuterDomTagInit.function.js';
|
|
7
|
+
import { tagValueUpdateHandler } from './update/tagValueUpdateHandler.function.js';
|
|
7
8
|
/** When compiled to then run in browser */
|
|
8
9
|
export function getDomTag(dom, values) {
|
|
9
10
|
const tag = {
|
|
@@ -12,6 +13,7 @@ export function getDomTag(dom, values) {
|
|
|
12
13
|
dom,
|
|
13
14
|
tagJsType: ValueTypes.dom,
|
|
14
15
|
processInit: processDomTagInit,
|
|
16
|
+
processUpdate: tagValueUpdateHandler,
|
|
15
17
|
checkValueChange: checkTagValueChange,
|
|
16
18
|
delete: destroySupportByContextItem,
|
|
17
19
|
key: function keyFun(arrayValue) {
|
|
@@ -47,67 +49,4 @@ export function getDomTag(dom, values) {
|
|
|
47
49
|
});
|
|
48
50
|
return tag;
|
|
49
51
|
}
|
|
50
|
-
/** Used to override the html`` processing that will first render outerHTML and then its innerHTML */
|
|
51
|
-
function processOuterDomTagInit(value, contextItem, // could be tag via result.tag
|
|
52
|
-
ownerSupport, // owningSupport
|
|
53
|
-
counts, appendTo, insertBefore) {
|
|
54
|
-
const outerHTML = value.outerHTML;
|
|
55
|
-
processDomTagInit(outerHTML, contextItem, // could be tag via result.tag
|
|
56
|
-
ownerSupport, // owningSupport
|
|
57
|
-
counts, appendTo, insertBefore);
|
|
58
|
-
contextItem.handler = (value, newSupport, contextItem, _values, counts) => {
|
|
59
|
-
forceUpdateExistingValue(contextItem, value?.outerHTML || value, newSupport, counts);
|
|
60
|
-
};
|
|
61
|
-
// TODO: Not best idea to swap out the original values changeChecker
|
|
62
|
-
value.checkValueChange = function outerCheckValueChange(newValue, contextItem, counts) {
|
|
63
|
-
return checkOuterTagValueChange(newValue, contextItem, counts);
|
|
64
|
-
};
|
|
65
|
-
}
|
|
66
|
-
function checkOuterTagValueChange(newValue, contextItem, counts) {
|
|
67
|
-
return checkTagValueChange(newValue, // (newValue as Tag)?.outerHTML || newValue,
|
|
68
|
-
contextItem, // subContext.contextItem as any,
|
|
69
|
-
counts);
|
|
70
|
-
}
|
|
71
|
-
/** When runtime is in browser */
|
|
72
|
-
export function getStringTag(strings, values) {
|
|
73
|
-
const tag = {
|
|
74
|
-
values,
|
|
75
|
-
ownerSupport: getSupportInCycle(),
|
|
76
|
-
tagJsType: ValueTypes.tag,
|
|
77
|
-
processInit: processDomTagInit,
|
|
78
|
-
checkValueChange: checkTagValueChange,
|
|
79
|
-
delete: destroySupportByContextItem,
|
|
80
|
-
strings,
|
|
81
|
-
/** Used within an array.map() that returns html aka array.map(x => html``.key(x)) */
|
|
82
|
-
key(arrayValue) {
|
|
83
|
-
tag.arrayValue = arrayValue;
|
|
84
|
-
return tag;
|
|
85
|
-
},
|
|
86
|
-
/** aka setInnerHTML */
|
|
87
|
-
setHTML: function setHTML(innerHTML) {
|
|
88
|
-
innerHTML.outerHTML = tag;
|
|
89
|
-
tag._innerHTML = innerHTML;
|
|
90
|
-
innerHTML.oldProcessInit = innerHTML.processInit;
|
|
91
|
-
// TODO: Not best idea to override the init
|
|
92
|
-
innerHTML.processInit = processOuterDomTagInit;
|
|
93
|
-
return tag;
|
|
94
|
-
},
|
|
95
|
-
/** Used within the outerHTML tag to signify that it can use innerHTML */
|
|
96
|
-
acceptInnerHTML: function acceptInnerHTML(useTagVar) {
|
|
97
|
-
// TODO: datatype
|
|
98
|
-
useTagVar.owner = tag;
|
|
99
|
-
return tag;
|
|
100
|
-
},
|
|
101
|
-
html: function html(strings, values) {
|
|
102
|
-
tag.children = { strings, values };
|
|
103
|
-
return tag;
|
|
104
|
-
}
|
|
105
|
-
};
|
|
106
|
-
Object.defineProperty(tag, 'innerHTML', {
|
|
107
|
-
set(innerHTML) {
|
|
108
|
-
return tag.setHTML(innerHTML);
|
|
109
|
-
},
|
|
110
|
-
});
|
|
111
|
-
return tag;
|
|
112
|
-
}
|
|
113
52
|
//# sourceMappingURL=getDomTag.function.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getDomTag.function.js","sourceRoot":"","sources":["../../ts/tag/getDomTag.function.ts"],"names":[],"mappings":"AAAA,sBAAsB;AAMtB,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAA;AAEjD,OAAO,EAAE,iBAAiB,EAAE,MAAM,iCAAiC,CAAA;AAGnE,OAAO,EAAE,iBAAiB,EAAE,MAAM,wCAAwC,CAAA;AAE1E,OAAO,
|
|
1
|
+
{"version":3,"file":"getDomTag.function.js","sourceRoot":"","sources":["../../ts/tag/getDomTag.function.ts"],"names":[],"mappings":"AAAA,sBAAsB;AAMtB,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAA;AAEjD,OAAO,EAAE,iBAAiB,EAAE,MAAM,iCAAiC,CAAA;AAGnE,OAAO,EAAE,iBAAiB,EAAE,MAAM,wCAAwC,CAAA;AAE1E,OAAO,EAAE,mBAAmB,EAAE,2BAA2B,EAAqB,MAAM,aAAa,CAAA;AAEjG,OAAO,EAAE,sBAAsB,EAAE,MAAM,sCAAsC,CAAA;AAC7E,OAAO,EAAE,qBAAqB,EAAE,MAAM,4CAA4C,CAAA;AA0BlF,2CAA2C;AAC3C,MAAM,UAAU,SAAS,CACvB,GAAuB,EACvB,MAAiB;IAEjB,MAAM,GAAG,GAAW;QAClB,MAAM;QACN,YAAY,EAAE,iBAAiB,EAAE;QACjC,GAAG;QAEH,SAAS,EAAE,UAAU,CAAC,GAAG;QACzB,WAAW,EAAE,iBAAiB;QAC9B,aAAa,EAAE,qBAAqB;QACpC,gBAAgB,EAAE,mBAAmB;QACrC,MAAM,EAAE,2BAA2B;QAEnC,GAAG,EAAE,SAAS,MAAM,CAAC,UAAmB;YACtC,GAAG,CAAC,UAAU,GAAG,UAAU,CAAA;YAC3B,OAAO,GAAG,CAAA;QACZ,CAAC;QAED,OAAO,EAAE,SAAS,OAAO,CAAC,SAAc;YACtC,SAAS,CAAC,SAAS,GAAG,GAAG,CAAA;YACzB,GAAG,CAAC,UAAU,GAAG,SAAS,CACzB;YAAC,SAAiB,CAAC,cAAc,GAAG,SAAS,CAAC,WAAW,CAAA;YAE1D,2CAA2C;YAC3C,SAAS,CAAC,WAAW,GAAG,sBAAsB,CAAA;YAE9C,OAAO,GAAG,CAAA;QACZ,CAAC;QAED,yEAAyE;QACzE,eAAe,EAAE,SAAS,eAAe,CAAC,SAAmB;YAC3D,iBAAiB;YAChB,SAA+B,CAAC,KAAK,GAAG,GAAG,CAAA;YAC5C,OAAO,GAAG,CAAA;QACZ,CAAC;QAED,IAAI,EAAE;YACJ,GAAG,EAAE,SAAS,GAAG,CACf,GAAuB,EAAE,iBAAiB;YAC1C,MAAiB;gBAEjB,GAAG,CAAC,QAAQ,GAAG,EAAC,GAAG,EAAE,GAAG,EAAE,MAAM,EAAC,CAAA;gBACjC,OAAO,GAAG,CAAA;YACZ,CAAC;SACF;KACF,CAAA;IAED,MAAM,CAAC,cAAc,CAAC,GAAG,EAAE,WAAW,EAAE;QACtC,GAAG,CAAC,SAAc;YAChB,OAAO,GAAG,CAAC,OAAO,CAAC,SAAS,CAAC,CAAA;QAC/B,CAAC;KACF,CAAC,CAAA;IAEF,OAAO,GAAG,CAAA;AACZ,CAAC"}
|
|
@@ -1 +1,3 @@
|
|
|
1
|
-
|
|
1
|
+
import { AnySupport } from './index.js';
|
|
2
|
+
export declare function getSupportInCycle(): AnySupport | undefined;
|
|
3
|
+
export declare function setSupportInCycle(support: AnySupport): AnySupport;
|
|
@@ -2,4 +2,7 @@ import { setUseMemory } from '../state/index.js';
|
|
|
2
2
|
export function getSupportInCycle() {
|
|
3
3
|
return setUseMemory.stateConfig.support;
|
|
4
4
|
}
|
|
5
|
+
export function setSupportInCycle(support) {
|
|
6
|
+
return setUseMemory.stateConfig.support = support;
|
|
7
|
+
}
|
|
5
8
|
//# sourceMappingURL=getSupportInCycle.function.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getSupportInCycle.function.js","sourceRoot":"","sources":["../../ts/tag/getSupportInCycle.function.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAK,mBAAmB,CAAA;
|
|
1
|
+
{"version":3,"file":"getSupportInCycle.function.js","sourceRoot":"","sources":["../../ts/tag/getSupportInCycle.function.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAK,mBAAmB,CAAA;AAG/C,MAAM,UAAU,iBAAiB;IAC/B,OAAO,YAAY,CAAC,WAAW,CAAC,OAAO,CAAA;AACzC,CAAC;AAED,MAAM,UAAU,iBAAiB,CAAC,OAAmB;IACnD,OAAO,YAAY,CAAC,WAAW,CAAC,OAAO,GAAG,OAAO,CAAA;AACnD,CAAC"}
|
|
@@ -13,11 +13,13 @@ import { DomObjectChildren } from '../interpolations/optimizers/ObjectNode.types
|
|
|
13
13
|
import { PropWatches } from '../tagJsVars/tag.function.js';
|
|
14
14
|
import { ProcessInit } from './ProcessInit.type.js';
|
|
15
15
|
import { Tag } from './Tag.type.js';
|
|
16
|
-
import { ProcessDelete,
|
|
16
|
+
import { ProcessDelete, TagJsTag } from '../tagJsVars/tagJsVar.type.js';
|
|
17
17
|
import { CheckSupportValueChange, CheckValueChange } from './Context.types.js';
|
|
18
|
+
import { ProcessUpdate } from './ProcessUpdate.type.js';
|
|
18
19
|
export type Wrapper = ((newSupport: AnySupport, subject: ContextItem, prevSupport?: AnySupport) => AnySupport) & TagWrapper<unknown> & {
|
|
19
20
|
tagJsType: typeof ValueTypes.tagComponent | typeof ValueTypes.renderOnce | typeof ValueTypes.templater;
|
|
20
21
|
processInit: ProcessInit;
|
|
22
|
+
processUpdate: ProcessUpdate;
|
|
21
23
|
checkValueChange: CheckValueChange | CheckSupportValueChange;
|
|
22
24
|
delete: ProcessDelete;
|
|
23
25
|
};
|
|
@@ -28,7 +30,6 @@ export type TagGlobal = {
|
|
|
28
30
|
isApp?: boolean;
|
|
29
31
|
subscriptions?: Subscription<unknown>[];
|
|
30
32
|
destroyCallback?: OnDestroyCallback;
|
|
31
|
-
locked?: true;
|
|
32
33
|
callbackMaker?: true;
|
|
33
34
|
destroys?: (() => any)[];
|
|
34
35
|
};
|
|
@@ -37,7 +38,7 @@ export type SupportTagGlobal = TagGlobal & {
|
|
|
37
38
|
blocked: AnySupport[];
|
|
38
39
|
oldest: AnySupport;
|
|
39
40
|
newest: AnySupport;
|
|
40
|
-
|
|
41
|
+
contexts: SupportContextItem[];
|
|
41
42
|
providers?: Provider[];
|
|
42
43
|
};
|
|
43
44
|
export type BaseTagGlobal = SupportTagGlobal & {
|
|
@@ -47,7 +48,7 @@ export type Events = {
|
|
|
47
48
|
[name: string]: EventCallback;
|
|
48
49
|
};
|
|
49
50
|
export type Clone = (Element | Text | ChildNode);
|
|
50
|
-
export type TemplaterResult =
|
|
51
|
+
export type TemplaterResult = TagJsTag & {
|
|
51
52
|
tagJsType: string;
|
|
52
53
|
processInit: ProcessInit;
|
|
53
54
|
propWatch: PropWatches;
|
|
@@ -1,10 +1,12 @@
|
|
|
1
1
|
import { ValueTypes } from './ValueTypes.enum.js';
|
|
2
2
|
import { processTagInit } from './update/processTagInit.function.js';
|
|
3
3
|
import { checkTagValueChange, destroySupportByContextItem } from './checkTagValueChange.function.js';
|
|
4
|
+
import { tagValueUpdateHandler } from './update/tagValueUpdateHandler.function.js';
|
|
4
5
|
export function getTemplaterResult(propWatch, props) {
|
|
5
6
|
const templater = {
|
|
6
7
|
tagJsType: ValueTypes.templater,
|
|
7
8
|
processInit: processTagInit,
|
|
9
|
+
processUpdate: tagValueUpdateHandler,
|
|
8
10
|
checkValueChange: checkTagValueChange,
|
|
9
11
|
delete: destroySupportByContextItem,
|
|
10
12
|
propWatch,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getTemplaterResult.function.js","sourceRoot":"","sources":["../../ts/tag/getTemplaterResult.function.ts"],"names":[],"mappings":"AAUA,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAA;AAIjD,OAAO,EAAE,cAAc,EAAE,MAAM,qCAAqC,CAAA;AAGpE,OAAO,EAAE,mBAAmB,EAAE,2BAA2B,EAAE,MAAM,mCAAmC,CAAA;
|
|
1
|
+
{"version":3,"file":"getTemplaterResult.function.js","sourceRoot":"","sources":["../../ts/tag/getTemplaterResult.function.ts"],"names":[],"mappings":"AAUA,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAA;AAIjD,OAAO,EAAE,cAAc,EAAE,MAAM,qCAAqC,CAAA;AAGpE,OAAO,EAAE,mBAAmB,EAAE,2BAA2B,EAAE,MAAM,mCAAmC,CAAA;AAEpG,OAAO,EAAE,qBAAqB,EAAE,MAAM,4CAA4C,CAAA;AAwElF,MAAM,UAAU,kBAAkB,CAChC,SAAsB,EACtB,KAAa;IAEb,MAAM,SAAS,GAAoB;QACjC,SAAS,EAAE,UAAU,CAAC,SAAS;QAC/B,WAAW,EAAE,cAAc;QAC3B,aAAa,EAAE,qBAAqB;QACpC,gBAAgB,EAAE,mBAAmB;QACrC,MAAM,EAAE,2BAA2B;QAEnC,SAAS;QACT,KAAK;QACL,GAAG,EAAE,SAAS,WAAW,CAAI,UAAa;YACvC,SAAyC,CAAC,UAAU,GAAG,UAAU,CAAA;YAClE,OAAO,SAAS,CAAA;QAClB,CAAC;KACF,CAAA;IAED,OAAO,SAAS,CAAA;AAClB,CAAC"}
|
|
@@ -2,7 +2,7 @@ import { Props } from '../Props.js';
|
|
|
2
2
|
import { BaseSupport } from './BaseSupport.type.js';
|
|
3
3
|
import { TemplaterResult } from './getTemplaterResult.function.js';
|
|
4
4
|
/** Used when deciding if a support will even change (are the arguments the same?) */
|
|
5
|
-
export declare function hasSupportChanged(
|
|
5
|
+
export declare function hasSupportChanged(oldSupport: BaseSupport, newTemplater: TemplaterResult): number | string | false;
|
|
6
6
|
export declare function immutablePropMatch(props: Props, pastCloneProps: Props): false | 2;
|
|
7
7
|
export declare function shallowPropMatch(props: Props, pastCloneProps: Props): false | 3 | 3.1 | 3.3;
|
|
8
8
|
export declare const shallowCompareDepth = 3;
|
|
@@ -2,11 +2,11 @@ import { isArray } from '../isInstance.js';
|
|
|
2
2
|
import { hasPropChanges } from './hasPropChanges.function.js';
|
|
3
3
|
import { BasicTypes } from './ValueTypes.enum.js';
|
|
4
4
|
/** Used when deciding if a support will even change (are the arguments the same?) */
|
|
5
|
-
export function hasSupportChanged(
|
|
5
|
+
export function hasSupportChanged(oldSupport, newTemplater) {
|
|
6
6
|
const latestProps = newTemplater.props;
|
|
7
|
-
const propsConfig =
|
|
7
|
+
const propsConfig = oldSupport.propsConfig;
|
|
8
8
|
const pastCloneProps = propsConfig.latest;
|
|
9
|
-
const propsChanged = hasPropChanges(latestProps, pastCloneProps,
|
|
9
|
+
const propsChanged = hasPropChanges(latestProps, pastCloneProps, oldSupport.templater.propWatch);
|
|
10
10
|
return propsChanged;
|
|
11
11
|
}
|
|
12
12
|
export function immutablePropMatch(props, pastCloneProps) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"hasSupportChanged.function.js","sourceRoot":"","sources":["../../ts/tag/hasSupportChanged.function.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAA;AAK1C,OAAO,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAA;AAC7D,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAA;AAEjD,qFAAqF;AACrF,MAAM,UAAU,iBAAiB,CAC/B,
|
|
1
|
+
{"version":3,"file":"hasSupportChanged.function.js","sourceRoot":"","sources":["../../ts/tag/hasSupportChanged.function.ts"],"names":[],"mappings":"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"}
|
package/js/tag/html.js
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { getDomTag } from './getDomTag.function.js';
|
|
2
2
|
import { PropWatches } from '../tagJsVars/tag.function.js';
|
|
3
3
|
import { getTemplaterResult } from './getTemplaterResult.function.js';
|
|
4
|
+
import { getStringTag } from './processOuterDomTagInit.function.js';
|
|
4
5
|
/** Used as html`<div></div>` */
|
|
5
6
|
export function html(strings, ...values) {
|
|
6
7
|
const stringTag = getStringTag(strings, values);
|
package/js/tag/html.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"html.js","sourceRoot":"","sources":["../../ts/tag/html.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"html.js","sourceRoot":"","sources":["../../ts/tag/html.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAA;AACnD,OAAO,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAA;AAC1D,OAAO,EAAE,kBAAkB,EAAE,MAAM,kCAAkC,CAAA;AAGrE,OAAO,EAAE,YAAY,EAAE,MAAM,sCAAsC,CAAA;AAOnE,gCAAgC;AAChC,MAAM,UAAU,IAAI,CAClB,OAAwC,EACxC,GAAG,MAAiB;IAEpB,MAAM,SAAS,GAAG,YAAY,CAAC,OAAmB,EAAE,MAAM,CAAC,CAAA;IAC3D,MAAM,SAAS,GAAG,kBAAkB,CAAC,WAAW,CAAC,IAAI,CAAC,CAAA;IACtD,SAAS,CAAC,GAAG,GAAG,SAAS,CAAA;IACzB,SAAS,CAAC,SAAS,GAAG,SAAS,CAAA;IAC/B,OAAO,SAAS,CAAA;AAClB,CAAC;AAED,IAAI,CAAC,GAAG,GAAG,UACT,GAAuB,EACvB,GAAG,MAAiB;IAEpB,OAAO,SAAS,CAAC,GAAG,EAAE,MAAM,CAAC,CAAA;AAC/B,CAAC,CAAA"}
|
package/js/tag/index.d.ts
CHANGED
|
@@ -20,6 +20,7 @@ export { hasPropChanges } from './hasPropChanges.function.js';
|
|
|
20
20
|
export { PropWatches } from '../tagJsVars/tag.function.js';
|
|
21
21
|
export { output } from './output.function.js';
|
|
22
22
|
export { guaranteeInsertBefore } from './guaranteeInsertBefore.function.js';
|
|
23
|
+
export { tagValueUpdateHandler } from './update/tagValueUpdateHandler.function.js';
|
|
23
24
|
export type { Tag } from './Tag.type.js';
|
|
24
25
|
export type { DomTag } from './DomTag.type.js';
|
|
25
26
|
export type { StringTag } from './StringTag.type.js';
|
package/js/tag/index.js
CHANGED
|
@@ -20,4 +20,5 @@ export { hasPropChanges } from './hasPropChanges.function.js';
|
|
|
20
20
|
export { PropWatches } from '../tagJsVars/tag.function.js';
|
|
21
21
|
export { output } from './output.function.js';
|
|
22
22
|
export { guaranteeInsertBefore } from './guaranteeInsertBefore.function.js';
|
|
23
|
+
export { tagValueUpdateHandler } from './update/tagValueUpdateHandler.function.js';
|
|
23
24
|
//# sourceMappingURL=index.js.map
|
package/js/tag/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../ts/tag/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,mCAAmC,CAAA;AAChE,cAAc,gBAAgB,CAAA;AAC9B,OAAO,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAA;AAClD,cAAc,mBAAmB,CAAA;AACjC,cAAc,8BAA8B,CAAA;AAC5C,cAAc,yBAAyB,CAAA;AACvC,cAAc,gBAAgB,CAAA;AAC9B,cAAc,WAAW,CAAA;AACzB,cAAc,sBAAsB,CAAA;AACpC,cAAc,yCAAyC,CAAA;AACvD,cAAc,kCAAkC,CAAA;AAChD,cAAc,oCAAoC,CAAA;AAClD,cAAc,mCAAmC,CAAA;AACjD,cAAc,oBAAoB,CAAA;AAElC,cAAc,iBAAiB,CAAA;AAC/B,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAA;AACjD,OAAO,EAAE,KAAK,EAAE,MAAM,6BAA6B,CAAA;AACnD,OAAO,EAAE,wBAAwB,EAAE,MAAM,+CAA+C,CAAA;AACxF,OAAO,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAA;AAC7D,OAAO,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAA;AAC1D,OAAO,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAA;AAC7C,OAAO,EAAE,qBAAqB,EAAE,MAAM,qCAAqC,CAAA"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../ts/tag/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,mCAAmC,CAAA;AAChE,cAAc,gBAAgB,CAAA;AAC9B,OAAO,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAA;AAClD,cAAc,mBAAmB,CAAA;AACjC,cAAc,8BAA8B,CAAA;AAC5C,cAAc,yBAAyB,CAAA;AACvC,cAAc,gBAAgB,CAAA;AAC9B,cAAc,WAAW,CAAA;AACzB,cAAc,sBAAsB,CAAA;AACpC,cAAc,yCAAyC,CAAA;AACvD,cAAc,kCAAkC,CAAA;AAChD,cAAc,oCAAoC,CAAA;AAClD,cAAc,mCAAmC,CAAA;AACjD,cAAc,oBAAoB,CAAA;AAElC,cAAc,iBAAiB,CAAA;AAC/B,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAA;AACjD,OAAO,EAAE,KAAK,EAAE,MAAM,6BAA6B,CAAA;AACnD,OAAO,EAAE,wBAAwB,EAAE,MAAM,+CAA+C,CAAA;AACxF,OAAO,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAA;AAC7D,OAAO,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAA;AAC1D,OAAO,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAA;AAC7C,OAAO,EAAE,qBAAqB,EAAE,MAAM,qCAAqC,CAAA;AAC3E,OAAO,EAAE,qBAAqB,EAAE,MAAM,4CAA4C,CAAA"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import type { StringTag } from './StringTag.type.js';
|
|
2
2
|
import type { DomTag } from './DomTag.type.js';
|
|
3
3
|
import { AnySupport } from './AnySupport.type.js';
|
|
4
|
-
export declare function isLikeTags(
|
|
5
|
-
|
|
6
|
-
export declare function isLikeDomTags(
|
|
4
|
+
export declare function isLikeTags(newSupport: AnySupport | StringTag, // new
|
|
5
|
+
oldSupport: AnySupport): boolean;
|
|
6
|
+
export declare function isLikeDomTags(newTag: DomTag, oldTag: DomTag): boolean;
|
|
7
7
|
export declare function isLikeValueSets(values0: any[], values1: any[]): boolean;
|
|
@@ -1,38 +1,49 @@
|
|
|
1
1
|
import { BasicTypes, ValueTypes } from './ValueTypes.enum.js';
|
|
2
|
-
export function isLikeTags(
|
|
3
|
-
|
|
4
|
-
const
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
2
|
+
export function isLikeTags(newSupport, // new
|
|
3
|
+
oldSupport) {
|
|
4
|
+
const isLike = isLikeBaseTags(newSupport, oldSupport);
|
|
5
|
+
// is this perhaps an outerHTML compare?
|
|
6
|
+
if (!isLike && oldSupport.templater.tag?._innerHTML) {
|
|
7
|
+
if (isLikeBaseTags(newSupport.outerHTML, oldSupport)) {
|
|
8
|
+
return true;
|
|
9
|
+
}
|
|
10
|
+
}
|
|
11
|
+
return isLike;
|
|
12
|
+
}
|
|
13
|
+
function isLikeBaseTags(newSupport, // new
|
|
14
|
+
oldSupport) {
|
|
15
|
+
const templater0 = newSupport.templater;
|
|
16
|
+
const templater1 = oldSupport.templater;
|
|
17
|
+
const newTag = templater0?.tag || newSupport;
|
|
18
|
+
const oldTag = templater1.tag; // || (oldSupport as any)
|
|
8
19
|
if (templater0?.tagJsType === ValueTypes.stateRender) {
|
|
9
20
|
return templater0.dom === templater1.dom;
|
|
10
21
|
}
|
|
11
|
-
switch (
|
|
22
|
+
switch (newTag.tagJsType) {
|
|
12
23
|
case ValueTypes.dom: {
|
|
13
|
-
if (
|
|
14
|
-
return false; //
|
|
24
|
+
if (oldTag?.tagJsType !== ValueTypes.dom) {
|
|
25
|
+
return false; // newTag is not even same type
|
|
15
26
|
}
|
|
16
|
-
return isLikeDomTags(
|
|
27
|
+
return isLikeDomTags(newTag, oldTag);
|
|
17
28
|
}
|
|
18
29
|
case ValueTypes.tag: {
|
|
19
|
-
const like = isLikeStringTags(
|
|
30
|
+
const like = isLikeStringTags(newTag, oldTag, newSupport, oldSupport);
|
|
20
31
|
return like;
|
|
21
32
|
}
|
|
22
33
|
}
|
|
23
|
-
throw new Error(`unknown tagJsType of ${
|
|
34
|
+
throw new Error(`unknown tagJsType of ${newTag.tagJsType}`);
|
|
24
35
|
}
|
|
25
36
|
// used when compiler was used
|
|
26
|
-
export function isLikeDomTags(
|
|
27
|
-
const domMeta0 =
|
|
28
|
-
const domMeta1 =
|
|
37
|
+
export function isLikeDomTags(newTag, oldTag) {
|
|
38
|
+
const domMeta0 = newTag.dom;
|
|
39
|
+
const domMeta1 = oldTag.dom;
|
|
29
40
|
return domMeta0 === domMeta1;
|
|
30
41
|
}
|
|
31
42
|
// used for no compiling
|
|
32
|
-
function isLikeStringTags(
|
|
33
|
-
|
|
34
|
-
const strings0 =
|
|
35
|
-
const strings1 =
|
|
43
|
+
function isLikeStringTags(newTag, oldTag, newSupport, // new
|
|
44
|
+
oldSupport) {
|
|
45
|
+
const strings0 = newTag.strings;
|
|
46
|
+
const strings1 = oldTag.strings;
|
|
36
47
|
if (strings0.length !== strings1.length) {
|
|
37
48
|
return false;
|
|
38
49
|
}
|
|
@@ -41,8 +52,8 @@ support1) {
|
|
|
41
52
|
if (!everyStringMatched) {
|
|
42
53
|
return false;
|
|
43
54
|
}
|
|
44
|
-
const values0 =
|
|
45
|
-
const values1 =
|
|
55
|
+
const values0 = newSupport.templater.values || newTag.values;
|
|
56
|
+
const values1 = oldSupport.templater.values || oldTag.values;
|
|
46
57
|
return isLikeValueSets(values0, values1);
|
|
47
58
|
}
|
|
48
59
|
export function isLikeValueSets(values0, values1) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"isLikeTags.function.js","sourceRoot":"","sources":["../../ts/tag/isLikeTags.function.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAA;AAE7D,MAAM,UAAU,UAAU,CACxB,
|
|
1
|
+
{"version":3,"file":"isLikeTags.function.js","sourceRoot":"","sources":["../../ts/tag/isLikeTags.function.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,2 +1,4 @@
|
|
|
1
|
-
|
|
1
|
+
import { AnySupport } from "../index.js";
|
|
2
|
+
/** Used to call a function that belongs to a calling tag but is not with root arguments */
|
|
2
3
|
export declare function output<CallbackReturn, ReceivedArguments extends any[]>(callback: ((...args: any[]) => CallbackReturn)): (...args: ReceivedArguments) => CallbackReturn;
|
|
4
|
+
export declare function syncWrapCallback(args: any[], callback: any, ownerSupport: AnySupport): any;
|
|
@@ -1,8 +1,10 @@
|
|
|
1
|
+
import { paint } from "../index.js";
|
|
1
2
|
import { blankHandler } from "../render/dom/attachDomElements.function.js";
|
|
3
|
+
import { paintAfters, painting } from "../render/paint.function.js";
|
|
2
4
|
import { syncStatesArray } from "../state/syncStates.function.js";
|
|
3
5
|
import { getSupportInCycle } from "./getSupportInCycle.function.js";
|
|
4
|
-
import { safeRenderSupport } from "./props/
|
|
5
|
-
/** Used to call a function that belongs to a calling tag */
|
|
6
|
+
import { safeRenderSupport } from "./props/safeRenderSupport.function.js";
|
|
7
|
+
/** Used to call a function that belongs to a calling tag but is not with root arguments */
|
|
6
8
|
export function output(callback) {
|
|
7
9
|
if (!callback) {
|
|
8
10
|
return blankHandler; // output used on an argument that was not passed in
|
|
@@ -13,17 +15,23 @@ export function output(callback) {
|
|
|
13
15
|
}
|
|
14
16
|
return (...args) => {
|
|
15
17
|
const ownerSupport = support.ownerSupport;
|
|
16
|
-
|
|
17
|
-
const newestOwner = ownerGlobal.newest;
|
|
18
|
-
// sync the new states to the old before the old does any processing
|
|
19
|
-
syncStatesArray(newestOwner.states, ownerSupport.states);
|
|
20
|
-
const c = callback(...args); // call the latest callback
|
|
21
|
-
// sync the old states to the new
|
|
22
|
-
syncStatesArray(ownerSupport.states, newestOwner.states);
|
|
23
|
-
// now render the owner
|
|
24
|
-
const newestOwnerOwner = newestOwner.ownerSupport;
|
|
25
|
-
safeRenderSupport(newestOwner, newestOwnerOwner.subject.global.newest);
|
|
26
|
-
return c;
|
|
18
|
+
return syncWrapCallback(args, callback, ownerSupport);
|
|
27
19
|
};
|
|
28
20
|
}
|
|
21
|
+
export function syncWrapCallback(args, callback, ownerSupport) {
|
|
22
|
+
const newestOwner = ownerSupport.context.global.newest;
|
|
23
|
+
// sync the new states to the old before the old does any processing
|
|
24
|
+
syncStatesArray(newestOwner.states, ownerSupport.states);
|
|
25
|
+
const c = callback(...args); // call the latest callback
|
|
26
|
+
// sync the old states to the new
|
|
27
|
+
syncStatesArray(ownerSupport.states, newestOwner.states);
|
|
28
|
+
// now render the owner
|
|
29
|
+
paintAfters.push([() => {
|
|
30
|
+
++painting.locks;
|
|
31
|
+
safeRenderSupport(newestOwner);
|
|
32
|
+
--painting.locks;
|
|
33
|
+
paint();
|
|
34
|
+
}, []]);
|
|
35
|
+
return c;
|
|
36
|
+
}
|
|
29
37
|
//# sourceMappingURL=output.function.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"output.function.js","sourceRoot":"","sources":["../../ts/tag/output.function.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"output.function.js","sourceRoot":"","sources":["../../ts/tag/output.function.ts"],"names":[],"mappings":"AAAA,OAAO,EAAc,KAAK,EAAE,MAAM,aAAa,CAAA;AAC/C,OAAO,EAAE,YAAY,EAAE,MAAM,6CAA6C,CAAA;AAC1E,OAAO,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,6BAA6B,CAAA;AACnE,OAAO,EAAE,eAAe,EAAE,MAAM,iCAAiC,CAAA;AACjE,OAAO,EAAE,iBAAiB,EAAE,MAAM,iCAAiC,CAAA;AACnE,OAAO,EAAE,iBAAiB,EAAE,MAAM,uCAAuC,CAAA;AAGzE,2FAA2F;AAC3F,MAAM,UAAU,MAAM,CACpB,QAA8C;IAE9C,IAAG,CAAC,QAAQ,EAAE,CAAC;QACb,OAAO,YAAmB,CAAA,CAAC,oDAAoD;IACjF,CAAC;IAED,MAAM,OAAO,GAAG,iBAAiB,EAAgB,CAAA;IACjD,IAAG,CAAC,OAAO,EAAE,CAAC;QACZ,MAAM,IAAI,KAAK,CAAC,4CAA4C,CAAC,CAAA;IAC/D,CAAC;IAED,OAAO,CAAC,GAAG,IAAW,EAAE,EAAE;QACxB,MAAM,YAAY,GAAG,OAAO,CAAC,YAA0B,CAAA;QAEvD,OAAO,gBAAgB,CACrB,IAAI,EAAE,QAAQ,EAAE,YAAY,CAC7B,CAAA;IACH,CAAC,CAAA;AACH,CAAC;AAED,MAAM,UAAU,gBAAgB,CAC9B,IAAW,EACX,QAAa,EACb,YAAwB;IAExB,MAAM,WAAW,GAAG,YAAY,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,CAAA;IAEtD,oEAAoE;IACpE,eAAe,CAAC,WAAW,CAAC,MAAM,EAAE,YAAY,CAAC,MAAM,CAAC,CAAA;IAExD,MAAM,CAAC,GAAG,QAAQ,CAAC,GAAG,IAAI,CAAC,CAAA,CAAC,2BAA2B;IAEvD,iCAAiC;IACjC,eAAe,CAAC,YAAY,CAAC,MAAM,EAAE,WAAW,CAAC,MAAM,CAAC,CAAA;IAExD,uBAAuB;IACvB,WAAW,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE;YACrB,EAAE,QAAQ,CAAC,KAAK,CAAA;YAChB,iBAAiB,CAAC,WAAW,CAAC,CAAA;YAC9B,EAAE,QAAQ,CAAC,KAAK,CAAA;YAChB,KAAK,EAAE,CAAA;QACT,CAAC,EAAE,EAAE,CAAC,CAAC,CAAA;IAEP,OAAO,CAAC,CAAA;AACV,CAAC"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { StringTag } from './StringTag.type.js';
|
|
2
|
+
import { Tag } from './Tag.type.js';
|
|
3
|
+
import { TagCounts, AnySupport, ContextItem } from '../index.js';
|
|
4
|
+
/** Used to override the html`` processing that will first render outerHTML and then its innerHTML */
|
|
5
|
+
export declare function processOuterDomTagInit(value: Tag, contextItem: ContextItem, // could be tag via result.tag
|
|
6
|
+
ownerSupport: AnySupport, // owningSupport
|
|
7
|
+
counts: TagCounts, appendTo?: Element, insertBefore?: Text): void;
|
|
8
|
+
/** When runtime is in browser */
|
|
9
|
+
export declare function getStringTag(strings: string[], values: unknown[]): StringTag;
|
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
// taggedjs-no-compile
|
|
2
|
+
import { ValueTypes } from './ValueTypes.enum.js';
|
|
3
|
+
import { getSupportInCycle } from './getSupportInCycle.function.js';
|
|
4
|
+
import { processDomTagInit } from './update/processDomTagInit.function.js';
|
|
5
|
+
import { checkTagValueChange, destroySupportByContextItem } from '../index.js';
|
|
6
|
+
import { forceUpdateExistingValue } from './update/forceUpdateExistingValue.function.js';
|
|
7
|
+
import { tagValueUpdateHandler } from './update/tagValueUpdateHandler.function.js';
|
|
8
|
+
/** Used to override the html`` processing that will first render outerHTML and then its innerHTML */
|
|
9
|
+
export function processOuterDomTagInit(value, contextItem, // could be tag via result.tag
|
|
10
|
+
ownerSupport, // owningSupport
|
|
11
|
+
counts, appendTo, insertBefore) {
|
|
12
|
+
const outerHTML = value.outerHTML;
|
|
13
|
+
processDomTagInit(outerHTML, contextItem, // could be tag via result.tag
|
|
14
|
+
ownerSupport, // owningSupport
|
|
15
|
+
counts, appendTo, insertBefore);
|
|
16
|
+
// contextItem.handler = function outDomTagHanlder(
|
|
17
|
+
const tagJsVar = contextItem.tagJsVar;
|
|
18
|
+
tagJsVar.processUpdate = function outDomTagHanlder(value, newSupport, contextItem2, counts) {
|
|
19
|
+
forceUpdateExistingValue(contextItem2, value?.outerHTML || value, newSupport, counts);
|
|
20
|
+
};
|
|
21
|
+
// TODO: Not best idea to swap out the original values changeChecker
|
|
22
|
+
value.checkValueChange = checkOuterTagValueChange;
|
|
23
|
+
}
|
|
24
|
+
function checkOuterTagValueChange(newValue, contextItem, counts) {
|
|
25
|
+
return checkTagValueChange(newValue, // (newValue as Tag)?.outerHTML || newValue,
|
|
26
|
+
contextItem, // subContext.contextItem as any,
|
|
27
|
+
counts);
|
|
28
|
+
}
|
|
29
|
+
/** When runtime is in browser */
|
|
30
|
+
export function getStringTag(strings, values) {
|
|
31
|
+
const tag = {
|
|
32
|
+
values,
|
|
33
|
+
ownerSupport: getSupportInCycle(),
|
|
34
|
+
tagJsType: ValueTypes.tag,
|
|
35
|
+
processInit: processDomTagInit,
|
|
36
|
+
processUpdate: tagValueUpdateHandler,
|
|
37
|
+
checkValueChange: checkTagValueChange,
|
|
38
|
+
delete: destroySupportByContextItem,
|
|
39
|
+
strings,
|
|
40
|
+
/** Used within an array.map() that returns html aka array.map(x => html``.key(x)) */
|
|
41
|
+
key(arrayValue) {
|
|
42
|
+
tag.arrayValue = arrayValue;
|
|
43
|
+
return tag;
|
|
44
|
+
},
|
|
45
|
+
/** aka setInnerHTML */
|
|
46
|
+
setHTML: function setHTML(innerHTML) {
|
|
47
|
+
innerHTML.outerHTML = tag;
|
|
48
|
+
tag._innerHTML = innerHTML;
|
|
49
|
+
innerHTML.oldProcessInit = innerHTML.processInit;
|
|
50
|
+
// TODO: Not best idea to override the init
|
|
51
|
+
innerHTML.processInit = processOuterDomTagInit;
|
|
52
|
+
return tag;
|
|
53
|
+
},
|
|
54
|
+
/** Used within the outerHTML tag to signify that it can use innerHTML */
|
|
55
|
+
acceptInnerHTML: function acceptInnerHTML(useTagVar) {
|
|
56
|
+
// TODO: datatype
|
|
57
|
+
useTagVar.owner = tag;
|
|
58
|
+
return tag;
|
|
59
|
+
},
|
|
60
|
+
html: function html(strings, values) {
|
|
61
|
+
tag.children = { strings, values };
|
|
62
|
+
return tag;
|
|
63
|
+
}
|
|
64
|
+
};
|
|
65
|
+
Object.defineProperty(tag, 'innerHTML', {
|
|
66
|
+
set(innerHTML) {
|
|
67
|
+
return tag.setHTML(innerHTML);
|
|
68
|
+
},
|
|
69
|
+
});
|
|
70
|
+
return tag;
|
|
71
|
+
}
|
|
72
|
+
//# sourceMappingURL=processOuterDomTagInit.function.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"processOuterDomTagInit.function.js","sourceRoot":"","sources":["../../ts/tag/processOuterDomTagInit.function.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
import { AnySupport } from './AnySupport.type.js';
|
|
2
2
|
import { ContextItem } from '../index.js';
|
|
3
|
-
export declare function processUpdateContext(support: AnySupport,
|
|
3
|
+
export declare function processUpdateContext(support: AnySupport, contexts: ContextItem[]): ContextItem[];
|