taggedjs 2.1.2 → 2.3.26
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/_js/Clones.type.d.ts +1 -0
- package/_js/Clones.type.js +2 -0
- package/_js/Clones.type.js.map +1 -0
- package/_js/ElementTarget.interface.d.ts +7 -0
- package/_js/ElementTarget.interface.js +2 -0
- package/_js/ElementTarget.interface.js.map +1 -0
- package/_js/ElementTargetEvent.interface.d.ts +6 -0
- package/_js/ElementTargetEvent.interface.js +2 -0
- package/_js/ElementTargetEvent.interface.js.map +1 -0
- package/_js/Props.d.ts +1 -0
- package/_js/Props.js +2 -0
- package/_js/Props.js.map +1 -0
- package/{js/js → _js}/Subject.d.ts +7 -2
- package/{js/js → _js}/Subject.js +15 -10
- package/_js/Subject.js.map +1 -0
- package/_js/Tag.class.d.ts +69 -0
- package/_js/Tag.class.js +258 -0
- package/_js/Tag.class.js.map +1 -0
- package/_js/Tag.utils.d.ts +12 -0
- package/_js/Tag.utils.js +31 -0
- package/_js/Tag.utils.js.map +1 -0
- package/{js/js → _js}/ValueSubject.d.ts +1 -1
- package/_js/ValueSubject.js.map +1 -0
- package/_js/bindSubjectCallback.function.d.ts +5 -0
- package/_js/bindSubjectCallback.function.js +19 -0
- package/_js/bindSubjectCallback.function.js.map +1 -0
- package/_js/elementDestroyCheck.function.d.ts +3 -0
- package/_js/elementDestroyCheck.function.js +17 -0
- package/_js/elementDestroyCheck.function.js.map +1 -0
- package/_js/elementInitCheck.js.map +1 -0
- package/_js/gateway/gateway.web.component.d.ts +11 -0
- package/_js/gateway/gateway.web.component.js +20 -0
- package/_js/gateway/gateway.web.component.js.map +1 -0
- package/_js/gateway/index.d.ts +3 -0
- package/_js/gateway/index.js +4 -0
- package/_js/gateway/index.js.map +1 -0
- package/_js/gateway/loadTagGateway.function.d.ts +2 -0
- package/_js/gateway/loadTagGateway.function.js +18 -0
- package/_js/gateway/loadTagGateway.function.js.map +1 -0
- package/_js/gateway/tagGateway.function.d.ts +4 -0
- package/_js/gateway/tagGateway.function.js +49 -0
- package/_js/gateway/tagGateway.function.js.map +1 -0
- package/_js/gateway/tagGateway.utils.d.ts +21 -0
- package/_js/gateway/tagGateway.utils.js +139 -0
- package/_js/gateway/tagGateway.utils.js.map +1 -0
- package/_js/getCallback.d.ts +3 -0
- package/_js/getCallback.js +50 -0
- package/_js/getCallback.js.map +1 -0
- package/_js/getTagSupport.d.ts +21 -0
- package/_js/getTagSupport.js +110 -0
- package/_js/getTagSupport.js.map +1 -0
- package/_js/html.d.ts +2 -0
- package/{js/js → _js}/html.js.map +1 -1
- package/_js/index.d.ts +20 -0
- package/_js/index.js +25 -0
- package/_js/index.js.map +1 -0
- package/_js/inputAttribute.js +19 -0
- package/_js/inputAttribute.js.map +1 -0
- package/{js/js → _js}/interpolateAttributes.d.ts +2 -1
- package/_js/interpolateAttributes.js +135 -0
- package/_js/interpolateAttributes.js.map +1 -0
- package/_js/interpolateContentTemplates.d.ts +6 -0
- package/_js/interpolateContentTemplates.js +54 -0
- package/_js/interpolateContentTemplates.js.map +1 -0
- package/_js/interpolateElement.d.ts +9 -0
- package/_js/interpolateElement.js +39 -0
- package/_js/interpolateElement.js.map +1 -0
- package/_js/interpolateTemplate.d.ts +17 -0
- package/_js/interpolateTemplate.js +64 -0
- package/_js/interpolateTemplate.js.map +1 -0
- package/{js/js → _js}/interpolations.d.ts +3 -2
- package/{js/js → _js}/interpolations.js +2 -1
- package/_js/interpolations.js.map +1 -0
- package/_js/isInstance.d.ts +6 -0
- package/_js/isInstance.js +10 -0
- package/_js/isInstance.js.map +1 -0
- package/_js/js/Clones.type.d.ts +1 -0
- package/_js/js/Clones.type.js +2 -0
- package/_js/js/Clones.type.js.map +1 -0
- package/_js/js/Props.d.ts +1 -0
- package/_js/js/Props.js +2 -0
- package/_js/js/Props.js.map +1 -0
- package/_js/js/Subject.d.ts +17 -0
- package/_js/js/Subject.js +43 -0
- package/_js/js/Subject.js.map +1 -0
- package/{js → _js}/js/Tag.class.d.ts +27 -5
- package/_js/js/Tag.class.js +241 -0
- package/_js/js/Tag.class.js.map +1 -0
- package/_js/js/Tag.utils.d.ts +12 -0
- package/_js/js/Tag.utils.js +31 -0
- package/_js/js/Tag.utils.js.map +1 -0
- package/_js/js/ValueSubject.d.ts +6 -0
- package/_js/js/ValueSubject.js +15 -0
- package/_js/js/ValueSubject.js.map +1 -0
- package/_js/js/bindSubjectCallback.function.d.ts +5 -0
- package/_js/js/bindSubjectCallback.function.js +19 -0
- package/_js/js/bindSubjectCallback.function.js.map +1 -0
- package/_js/js/deepFunctions.d.ts +2 -0
- package/_js/js/deepFunctions.js +76 -0
- package/_js/js/deepFunctions.js.map +1 -0
- package/_js/js/elementDestroyCheck.function.d.ts +3 -0
- package/_js/js/elementDestroyCheck.function.js +17 -0
- package/_js/js/elementDestroyCheck.function.js.map +1 -0
- package/_js/js/elementInitCheck.d.ts +2 -0
- package/_js/js/elementInitCheck.js +18 -0
- package/_js/js/elementInitCheck.js.map +1 -0
- package/_js/js/getCallback.js +50 -0
- package/_js/js/getCallback.js.map +1 -0
- package/_js/js/getTagSupport.d.ts +22 -0
- package/_js/js/getTagSupport.js +116 -0
- package/_js/js/getTagSupport.js.map +1 -0
- package/_js/js/html.d.ts +2 -0
- package/_js/js/html.js +5 -0
- package/_js/js/html.js.map +1 -0
- package/_js/js/index.d.ts +19 -0
- package/_js/js/index.js +24 -0
- package/_js/js/index.js.map +1 -0
- package/_js/js/inputAttribute.d.ts +1 -0
- package/_js/js/interpolateAttributes.d.ts +4 -0
- package/_js/js/interpolateAttributes.js +127 -0
- package/_js/js/interpolateAttributes.js.map +1 -0
- package/{js → _js}/js/interpolateContentTemplates.d.ts +3 -1
- package/_js/js/interpolateContentTemplates.js +57 -0
- package/_js/js/interpolateContentTemplates.js.map +1 -0
- package/_js/js/interpolateElement.d.ts +9 -0
- package/_js/js/interpolateElement.js +32 -0
- package/_js/js/interpolateElement.js.map +1 -0
- package/_js/js/interpolateTemplate.d.ts +17 -0
- package/_js/js/interpolateTemplate.js +64 -0
- package/_js/js/interpolateTemplate.js.map +1 -0
- package/_js/js/interpolations.d.ts +8 -0
- package/_js/js/interpolations.js +17 -0
- package/_js/js/interpolations.js.map +1 -0
- package/_js/js/isInstance.d.ts +6 -0
- package/_js/js/isInstance.js +10 -0
- package/_js/js/isInstance.js.map +1 -0
- package/_js/js/onDestroy.d.ts +2 -0
- package/_js/js/onDestroy.js +20 -0
- package/_js/js/onDestroy.js.map +1 -0
- package/_js/js/onInit.d.ts +2 -0
- package/_js/js/onInit.js +19 -0
- package/_js/js/onInit.js.map +1 -0
- package/_js/js/processSubjectComponent.function.d.ts +8 -0
- package/_js/js/processSubjectComponent.function.js +53 -0
- package/_js/js/processSubjectComponent.function.js.map +1 -0
- package/_js/js/processSubjectValue.function.d.ts +16 -0
- package/_js/js/processSubjectValue.function.js +122 -0
- package/_js/js/processSubjectValue.function.js.map +1 -0
- package/{js → _js}/js/processTagArray.d.ts +5 -1
- package/_js/js/processTagArray.js +60 -0
- package/_js/js/processTagArray.js.map +1 -0
- package/_js/js/processTagResult.function.d.ts +10 -0
- package/_js/js/processTagResult.function.js +42 -0
- package/_js/js/processTagResult.function.js.map +1 -0
- package/_js/js/providers.d.ts +17 -0
- package/{js → _js}/js/providers.js +28 -20
- package/_js/js/providers.js.map +1 -0
- package/_js/js/redrawTag.function.d.ts +7 -0
- package/_js/js/redrawTag.function.js +9 -0
- package/_js/js/redrawTag.function.js.map +1 -0
- package/_js/js/render.d.ts +1 -0
- package/_js/js/render.js +24 -0
- package/_js/js/render.js.map +1 -0
- package/_js/js/renderAppToElement.d.ts +14 -0
- package/_js/js/renderAppToElement.js +57 -0
- package/_js/js/renderAppToElement.js.map +1 -0
- package/_js/js/setUse.function.d.ts +23 -0
- package/_js/js/setUse.function.js +14 -0
- package/_js/js/setUse.function.js.map +1 -0
- package/_js/js/state.d.ts +24 -0
- package/_js/js/state.js +98 -0
- package/_js/js/state.js.map +1 -0
- package/_js/js/tag.d.ts +8 -0
- package/_js/js/tag.js +46 -0
- package/_js/js/tag.js.map +1 -0
- package/_js/js/tagElement.d.ts +14 -0
- package/_js/js/tagElement.js +57 -0
- package/_js/js/tagElement.js.map +1 -0
- package/_js/js/tagGateway.function.d.ts +5 -0
- package/_js/js/tagGateway.function.js +119 -0
- package/_js/js/tagGateway.function.js.map +1 -0
- package/_js/js/tagRunner.d.ts +6 -0
- package/_js/js/tagRunner.js +19 -0
- package/_js/js/tagRunner.js.map +1 -0
- package/_js/js/templater.utils.d.ts +28 -0
- package/_js/js/templater.utils.js +99 -0
- package/_js/js/templater.utils.js.map +1 -0
- package/_js/js/updateTag.utils.d.ts +6 -0
- package/_js/js/updateTag.utils.js +84 -0
- package/_js/js/updateTag.utils.js.map +1 -0
- package/_js/onDestroy.d.ts +2 -0
- package/_js/onDestroy.js +20 -0
- package/_js/onDestroy.js.map +1 -0
- package/_js/onInit.d.ts +2 -0
- package/_js/onInit.js +19 -0
- package/_js/onInit.js.map +1 -0
- package/_js/processSubjectComponent.function.d.ts +8 -0
- package/_js/processSubjectComponent.function.js +53 -0
- package/_js/processSubjectComponent.function.js.map +1 -0
- package/_js/processSubjectValue.function.d.ts +16 -0
- package/_js/processSubjectValue.function.js +122 -0
- package/_js/processSubjectValue.function.js.map +1 -0
- package/_js/processTagArray.d.ts +9 -0
- package/{js/js → _js}/processTagArray.js +21 -10
- package/_js/processTagArray.js.map +1 -0
- package/_js/processTagResult.function.d.ts +10 -0
- package/_js/processTagResult.function.js +40 -0
- package/_js/processTagResult.function.js.map +1 -0
- package/_js/providers.d.ts +17 -0
- package/_js/providers.js +86 -0
- package/_js/providers.js.map +1 -0
- package/_js/redrawTag.function.d.ts +7 -0
- package/_js/redrawTag.function.js +8 -0
- package/_js/redrawTag.function.js.map +1 -0
- package/_js/render.d.ts +1 -0
- package/_js/render.js +17 -0
- package/_js/render.js.map +1 -0
- package/_js/renderAppToElement.d.ts +14 -0
- package/_js/renderAppToElement.js +57 -0
- package/_js/renderAppToElement.js.map +1 -0
- package/_js/setUse.function.d.ts +23 -0
- package/_js/setUse.function.js +14 -0
- package/_js/setUse.function.js.map +1 -0
- package/_js/state.d.ts +21 -0
- package/_js/state.js +129 -0
- package/_js/state.js.map +1 -0
- package/_js/tag.d.ts +7 -0
- package/_js/tag.js +46 -0
- package/_js/tag.js.map +1 -0
- package/_js/tagElement.d.ts +14 -0
- package/_js/tagElement.js +57 -0
- package/_js/tagElement.js.map +1 -0
- package/_js/tagGateway.function.d.ts +14 -0
- package/_js/tagGateway.function.js +138 -0
- package/_js/tagGateway.function.js.map +1 -0
- package/_js/tagRunner.d.ts +6 -0
- package/_js/tagRunner.js +19 -0
- package/_js/tagRunner.js.map +1 -0
- package/_js/templater.utils.d.ts +27 -0
- package/_js/templater.utils.js +98 -0
- package/_js/templater.utils.js.map +1 -0
- package/_js/updateTag.utils.d.ts +6 -0
- package/_js/updateTag.utils.js +102 -0
- package/_js/updateTag.utils.js.map +1 -0
- package/index.js +1 -1
- package/js/Clones.type.d.ts +1 -0
- package/js/Clones.type.js +2 -0
- package/js/Clones.type.js.map +1 -0
- package/js/ElementTarget.interface.d.ts +7 -0
- package/js/ElementTarget.interface.js +2 -0
- package/js/ElementTarget.interface.js.map +1 -0
- package/js/ElementTargetEvent.interface.d.ts +6 -0
- package/js/ElementTargetEvent.interface.js +2 -0
- package/js/ElementTargetEvent.interface.js.map +1 -0
- package/js/Props.d.ts +1 -0
- package/js/Props.js +2 -0
- package/js/Props.js.map +1 -0
- package/js/Subject.d.ts +7 -2
- package/js/Subject.js +15 -10
- package/js/Subject.js.map +1 -1
- package/js/Tag.class.d.ts +37 -13
- package/js/Tag.class.js +136 -102
- package/js/Tag.class.js.map +1 -1
- package/js/Tag.utils.d.ts +9 -20
- package/js/Tag.utils.js +20 -88
- package/js/Tag.utils.js.map +1 -1
- package/js/ValueSubject.d.ts +1 -1
- package/js/ValueSubject.js.map +1 -1
- package/js/bindSubjectCallback.function.d.ts +5 -0
- package/js/bindSubjectCallback.function.js +20 -0
- package/js/bindSubjectCallback.function.js.map +1 -0
- package/js/elementDestroyCheck.function.d.ts +3 -0
- package/js/elementDestroyCheck.function.js +17 -0
- package/js/elementDestroyCheck.function.js.map +1 -0
- package/js/elementInitCheck.js.map +1 -1
- package/js/gateway/gateway.web.component.d.ts +11 -0
- package/js/gateway/gateway.web.component.js +20 -0
- package/js/gateway/gateway.web.component.js.map +1 -0
- package/js/gateway/index.d.ts +3 -0
- package/js/gateway/index.js +4 -0
- package/js/gateway/index.js.map +1 -0
- package/js/gateway/loadTagGateway.function.d.ts +2 -0
- package/js/gateway/loadTagGateway.function.js +18 -0
- package/js/gateway/loadTagGateway.function.js.map +1 -0
- package/js/gateway/tagGateway.function.d.ts +4 -0
- package/js/gateway/tagGateway.function.js +49 -0
- package/js/gateway/tagGateway.function.js.map +1 -0
- package/js/gateway/tagGateway.utils.d.ts +21 -0
- package/js/gateway/tagGateway.utils.js +139 -0
- package/js/gateway/tagGateway.utils.js.map +1 -0
- package/js/getCallback.d.ts +1 -1
- package/js/getCallback.js +39 -42
- package/js/getCallback.js.map +1 -1
- package/js/getTagSupport.d.ts +18 -17
- package/js/getTagSupport.js +104 -15
- package/js/getTagSupport.js.map +1 -1
- package/js/html.d.ts +1 -1
- package/js/html.js.map +1 -1
- package/js/index.d.ts +17 -7
- package/js/index.js +21 -8
- package/js/index.js.map +1 -1
- package/js/inputAttribute.js +3 -3
- package/js/inputAttribute.js.map +1 -1
- package/js/interpolateAttributes.d.ts +2 -1
- package/js/interpolateAttributes.js +129 -60
- package/js/interpolateAttributes.js.map +1 -1
- package/js/interpolateContentTemplates.d.ts +4 -1
- package/js/interpolateContentTemplates.js +32 -25
- package/js/interpolateContentTemplates.js.map +1 -1
- package/js/interpolateElement.d.ts +8 -13
- package/js/interpolateElement.js +26 -22
- package/js/interpolateElement.js.map +1 -1
- package/js/interpolateTemplate.d.ts +15 -19
- package/js/interpolateTemplate.js +33 -231
- package/js/interpolateTemplate.js.map +1 -1
- package/js/interpolations.d.ts +3 -2
- package/js/interpolations.js +2 -1
- package/js/interpolations.js.map +1 -1
- package/js/isInstance.d.ts +6 -0
- package/js/isInstance.js +10 -0
- package/js/isInstance.js.map +1 -0
- package/js/onDestroy.d.ts +2 -0
- package/js/onDestroy.js +20 -0
- package/js/onDestroy.js.map +1 -0
- package/js/onInit.d.ts +0 -4
- package/js/onInit.js +12 -10
- package/js/onInit.js.map +1 -1
- package/js/processSubjectComponent.function.d.ts +8 -0
- package/js/processSubjectComponent.function.js +53 -0
- package/js/processSubjectComponent.function.js.map +1 -0
- package/js/processSubjectValue.function.d.ts +23 -0
- package/js/processSubjectValue.function.js +129 -0
- package/js/processSubjectValue.function.js.map +1 -0
- package/js/processTagArray.d.ts +15 -2
- package/js/processTagArray.js +30 -13
- package/js/processTagArray.js.map +1 -1
- package/js/processTagResult.function.d.ts +12 -0
- package/js/processTagResult.function.js +43 -0
- package/js/processTagResult.function.js.map +1 -0
- package/js/providers.d.ts +4 -12
- package/js/providers.js +28 -20
- package/js/providers.js.map +1 -1
- package/js/redrawTag.function.d.ts +7 -0
- package/js/redrawTag.function.js +8 -0
- package/js/redrawTag.function.js.map +1 -0
- package/js/render.d.ts +1 -6
- package/js/render.js +5 -19
- package/js/render.js.map +1 -1
- package/js/renderAppToElement.d.ts +8 -2
- package/js/renderAppToElement.js +40 -21
- package/js/renderAppToElement.js.map +1 -1
- package/js/setUse.function.d.ts +23 -0
- package/js/setUse.function.js +14 -0
- package/js/setUse.function.js.map +1 -0
- package/js/state.d.ts +16 -17
- package/js/state.js +89 -44
- package/js/state.js.map +1 -1
- package/js/tag.d.ts +6 -16
- package/js/tag.js +32 -43
- package/js/tag.js.map +1 -1
- package/js/tagElement.d.ts +14 -0
- package/js/tagElement.js +60 -0
- package/js/tagElement.js.map +1 -0
- package/js/tagGateway.function.d.ts +14 -0
- package/js/tagGateway.function.js +138 -0
- package/js/tagGateway.function.js.map +1 -0
- package/js/tagRunner.d.ts +2 -13
- package/js/tagRunner.js +12 -12
- package/js/tagRunner.js.map +1 -1
- package/js/templater.utils.d.ts +27 -0
- package/js/templater.utils.js +98 -0
- package/js/templater.utils.js.map +1 -0
- package/js/updateTag.utils.d.ts +7 -0
- package/js/updateTag.utils.js +147 -0
- package/js/updateTag.utils.js.map +1 -0
- package/package.json +1 -1
- package/js/js/Subject.js.map +0 -1
- package/js/js/Tag.class.js +0 -213
- package/js/js/Tag.class.js.map +0 -1
- package/js/js/Tag.utils.d.ts +0 -24
- package/js/js/Tag.utils.js +0 -102
- package/js/js/Tag.utils.js.map +0 -1
- package/js/js/ValueSubject.js.map +0 -1
- package/js/js/elementInitCheck.js.map +0 -1
- package/js/js/getCallback.js +0 -53
- package/js/js/getCallback.js.map +0 -1
- package/js/js/getTagSupport.d.ts +0 -20
- package/js/js/getTagSupport.js +0 -20
- package/js/js/getTagSupport.js.map +0 -1
- package/js/js/html.d.ts +0 -2
- package/js/js/index.d.ts +0 -10
- package/js/js/index.js +0 -12
- package/js/js/index.js.map +0 -1
- package/js/js/interpolateAttributes.js +0 -69
- package/js/js/interpolateAttributes.js.map +0 -1
- package/js/js/interpolateContentTemplates.js +0 -47
- package/js/js/interpolateContentTemplates.js.map +0 -1
- package/js/js/interpolateElement.d.ts +0 -14
- package/js/js/interpolateElement.js +0 -35
- package/js/js/interpolateElement.js.map +0 -1
- package/js/js/interpolateTemplate.d.ts +0 -21
- package/js/js/interpolateTemplate.js +0 -262
- package/js/js/interpolateTemplate.js.map +0 -1
- package/js/js/interpolations.js.map +0 -1
- package/js/js/onInit.d.ts +0 -6
- package/js/js/onInit.js +0 -17
- package/js/js/onInit.js.map +0 -1
- package/js/js/processTagArray.js.map +0 -1
- package/js/js/providers.d.ts +0 -25
- package/js/js/providers.js.map +0 -1
- package/js/js/render.d.ts +0 -6
- package/js/js/render.js +0 -31
- package/js/js/render.js.map +0 -1
- package/js/js/renderAppToElement.d.ts +0 -8
- package/js/js/renderAppToElement.js +0 -38
- package/js/js/renderAppToElement.js.map +0 -1
- package/js/js/state.d.ts +0 -21
- package/js/js/state.js +0 -63
- package/js/js/state.js.map +0 -1
- package/js/js/tag.d.ts +0 -17
- package/js/js/tag.js +0 -57
- package/js/js/tag.js.map +0 -1
- package/js/js/tagRunner.d.ts +0 -17
- package/js/js/tagRunner.js +0 -19
- package/js/js/tagRunner.js.map +0 -1
- /package/{js/js → _js}/ValueSubject.js +0 -0
- /package/{js/js → _js}/deepFunctions.d.ts +0 -0
- /package/{js/js → _js}/deepFunctions.js +0 -0
- /package/{js/js → _js}/deepFunctions.js.map +0 -0
- /package/{js/js → _js}/elementInitCheck.d.ts +0 -0
- /package/{js/js → _js}/elementInitCheck.js +0 -0
- /package/{js/js → _js}/html.js +0 -0
- /package/{js/js → _js}/inputAttribute.d.ts +0 -0
- /package/{js → _js}/js/getCallback.d.ts +0 -0
- /package/{js → _js}/js/inputAttribute.js +0 -0
- /package/{js → _js}/js/inputAttribute.js.map +0 -0
- /package/{js → _js}/js/wait.d.ts +0 -0
- /package/{js → _js}/js/wait.js +0 -0
- /package/{js → _js}/js/wait.js.map +0 -0
- /package/{js → _js}/wait.d.ts +0 -0
- /package/{js → _js}/wait.js +0 -0
- /package/{js → _js}/wait.js.map +0 -0
|
@@ -1,98 +1,37 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { Tag, variablePrefix } from "./Tag.class.js";
|
|
3
|
-
import { Subject } from "./Subject.js";
|
|
4
|
-
import { processTagArray } from "./processTagArray.js";
|
|
5
|
-
import { getTagSupport } from "./getTagSupport.js";
|
|
6
|
-
import { deepClone, deepEqual } from "./deepFunctions.js";
|
|
7
|
-
import { config as providers } from "./providers.js";
|
|
1
|
+
import { variablePrefix } from "./Tag.class.js";
|
|
8
2
|
import { elementInitCheck } from "./elementInitCheck.js";
|
|
9
|
-
import {
|
|
10
|
-
import { TemplaterResult } from "./tag.js";
|
|
3
|
+
import { processSubjectValue } from "./processSubjectValue.function.js";
|
|
11
4
|
export function interpolateTemplate(template, // <template end interpolate /> (will be removed)
|
|
12
|
-
context, // variable scope of {`
|
|
13
|
-
|
|
14
|
-
counts
|
|
5
|
+
context, // variable scope of {`__tagvar${index}`:'x'}
|
|
6
|
+
tag, // Tag class
|
|
7
|
+
counts, // {added:0, removed:0}
|
|
8
|
+
options) {
|
|
9
|
+
const clones = [];
|
|
15
10
|
if (!template.hasAttribute('end')) {
|
|
16
|
-
return; // only care about starts
|
|
11
|
+
return clones; // only care about starts
|
|
17
12
|
}
|
|
18
13
|
const variableName = template.getAttribute('id');
|
|
19
14
|
if (variableName?.substring(0, variablePrefix.length) !== variablePrefix) {
|
|
20
|
-
return; // ignore, not a tagVar
|
|
15
|
+
return clones; // ignore, not a tagVar
|
|
21
16
|
}
|
|
22
17
|
const result = context[variableName];
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
}, 0);
|
|
30
|
-
};
|
|
31
|
-
const sub = result.subscribe(callback);
|
|
32
|
-
ownerTag.cloneSubs.push(sub);
|
|
33
|
-
return;
|
|
34
|
-
}
|
|
35
|
-
const clone = updateBetweenTemplates(result, template.clone || template);
|
|
36
|
-
ownerTag.clones.push(clone);
|
|
37
|
-
template.clone = clone;
|
|
38
|
-
return;
|
|
39
|
-
}
|
|
40
|
-
/**
|
|
41
|
-
*
|
|
42
|
-
* @param {*} value
|
|
43
|
-
* @param {*} result
|
|
44
|
-
* @param {*} template
|
|
45
|
-
* @param {Tag} ownerTag
|
|
46
|
-
* @param {{added: number, removed: number}} counts
|
|
47
|
-
* @returns
|
|
48
|
-
*/
|
|
49
|
-
function processSubjectValue(value, result, // could be tag via result.tag
|
|
50
|
-
template, // <template end interpolate /> (will be removed)
|
|
51
|
-
ownerTag, counts) {
|
|
52
|
-
if (value instanceof Tag) {
|
|
53
|
-
// first time seeing this tag?
|
|
54
|
-
if (!value.tagSupport) {
|
|
55
|
-
value.tagSupport = getTagSupport();
|
|
56
|
-
value.tagSupport.mutatingRender = ownerTag.tagSupport.mutatingRender;
|
|
57
|
-
value.tagSupport.oldest = value.tagSupport.oldest || value;
|
|
58
|
-
ownerTag.children.push(value);
|
|
59
|
-
value.ownerTag = ownerTag;
|
|
18
|
+
// const isSubject = isSubjectInstance(result)
|
|
19
|
+
let isForceElement = options.forceElement;
|
|
20
|
+
const callback = (templateNewValue) => {
|
|
21
|
+
const { clones } = processSubjectValue(templateNewValue, result, template, tag, { counts, forceElement: isForceElement });
|
|
22
|
+
if (isForceElement) {
|
|
23
|
+
isForceElement = false; // only can happen once
|
|
60
24
|
}
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
return processSubjectComponent(value, result, template, ownerTag, counts);
|
|
72
|
-
}
|
|
73
|
-
// *if processing WAS a tag BUT NOW its some other non-tag value
|
|
74
|
-
if (result.tag) {
|
|
75
|
-
// put the template back
|
|
76
|
-
const lastFirstChild = template.clone || template; // result.tag.clones[0] // template.lastFirstChild
|
|
77
|
-
lastFirstChild.parentNode.insertBefore(template, lastFirstChild);
|
|
78
|
-
const stagger = counts.removed;
|
|
79
|
-
const animated = result.tag.destroy(stagger);
|
|
80
|
-
counts.removed = stagger + animated;
|
|
81
|
-
delete result.tag;
|
|
82
|
-
const clone = updateBetweenTemplates(value, lastFirstChild // ✅ this will be removed
|
|
83
|
-
); // the template will be remove in here
|
|
84
|
-
template.clone = clone;
|
|
85
|
-
return;
|
|
86
|
-
}
|
|
87
|
-
const before = template.clone || template; // Either the template is on the doc OR its the first element we last put on doc
|
|
88
|
-
// Processing of regular values
|
|
89
|
-
const clone = updateBetweenTemplates(value, before);
|
|
90
|
-
template.clone = clone;
|
|
91
|
-
const oldPos = ownerTag.clones.indexOf(before);
|
|
92
|
-
if (oldPos >= 0 && !ownerTag.clones.includes(clone) && !before.parentNode) {
|
|
93
|
-
ownerTag.clones.splice(oldPos, 1);
|
|
94
|
-
ownerTag.clones.push(clone);
|
|
95
|
-
}
|
|
25
|
+
clones.push(...clones);
|
|
26
|
+
// TODO: See if we can remove
|
|
27
|
+
setTimeout(() => {
|
|
28
|
+
counts.added = 0; // reset
|
|
29
|
+
counts.removed = 0; // reset
|
|
30
|
+
}, 0);
|
|
31
|
+
};
|
|
32
|
+
const sub = result.subscribe(callback);
|
|
33
|
+
tag.cloneSubs.push(sub);
|
|
34
|
+
return clones;
|
|
96
35
|
}
|
|
97
36
|
// Function to update the value of x
|
|
98
37
|
export function updateBetweenTemplates(value, lastFirstChild) {
|
|
@@ -106,157 +45,20 @@ export function updateBetweenTemplates(value, lastFirstChild) {
|
|
|
106
45
|
parent.insertBefore(textNode, lastFirstChild);
|
|
107
46
|
/* remove existing nodes */
|
|
108
47
|
parent.removeChild(lastFirstChild);
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
/** Returns {clones:[], subs:[]} */
|
|
112
|
-
export function processTagResult(tag, result, // used for recording past and current value
|
|
113
|
-
insertBefore, // <template end interpolate />
|
|
114
|
-
{ index, counts, }) {
|
|
115
|
-
const template = tag.getTemplate();
|
|
116
|
-
// *for
|
|
117
|
-
if (index !== undefined) {
|
|
118
|
-
const existing = result.lastArray[index];
|
|
119
|
-
if (existing?.tag.isLikeTag(tag)) {
|
|
120
|
-
existing.tag.updateByTag(tag);
|
|
121
|
-
return;
|
|
122
|
-
}
|
|
123
|
-
const lastFirstChild = insertBefore; // tag.clones[0] // insertBefore.lastFirstChild
|
|
124
|
-
const clones = buildItemTagMap(tag, template, lastFirstChild);
|
|
125
|
-
clones.forEach(clone => afterElmBuild(clone, counts));
|
|
126
|
-
result.lastArray.push({
|
|
127
|
-
tag, index
|
|
128
|
-
});
|
|
129
|
-
return;
|
|
48
|
+
if (lastFirstChild.nodeName === 'TEMPLATE') {
|
|
49
|
+
lastFirstChild.setAttribute('removedAt', Date.now().toString());
|
|
130
50
|
}
|
|
131
|
-
|
|
132
|
-
if (result.tag) {
|
|
133
|
-
// are we just updating an if we already had?
|
|
134
|
-
if (result.tag.isLikeTag(tag)) {
|
|
135
|
-
// components
|
|
136
|
-
if (result instanceof Function) {
|
|
137
|
-
const newTag = result(result.tag.tagSupport);
|
|
138
|
-
result.tag.updateByTag(newTag);
|
|
139
|
-
return;
|
|
140
|
-
}
|
|
141
|
-
result.tag.updateByTag(tag);
|
|
142
|
-
return;
|
|
143
|
-
}
|
|
144
|
-
}
|
|
145
|
-
// *if just now appearing to be a Tag
|
|
146
|
-
const before = insertBefore.clone || insertBefore;
|
|
147
|
-
const clones = buildItemTagMap(tag, template, before);
|
|
148
|
-
clones.forEach(clone => afterElmBuild(clone, counts));
|
|
149
|
-
result.tag = tag; // let reprocessing know we saw this previously as an if
|
|
150
|
-
return;
|
|
151
|
-
}
|
|
152
|
-
export function isTagComponent(value) {
|
|
153
|
-
return value instanceof TemplaterResult;
|
|
154
|
-
}
|
|
155
|
-
function processSubjectComponent(value, result, template, ownerTag, counts) {
|
|
156
|
-
if (value.tagged !== true) {
|
|
157
|
-
let name = value.name || value.constructor?.name;
|
|
158
|
-
if (name === 'Function') {
|
|
159
|
-
name = undefined;
|
|
160
|
-
}
|
|
161
|
-
const error = new Error(`Not a tag component. Wrap your function with tag(). Example tag(props => html\`\`) on component:\n\n${name || value.toString().substring(0, 120)}\n\n`);
|
|
162
|
-
throw error;
|
|
163
|
-
}
|
|
164
|
-
/** @type {TagSupport} */
|
|
165
|
-
const tagSupport = result.tagSupport || getTagSupport(value);
|
|
166
|
-
tagSupport.mutatingRender = () => {
|
|
167
|
-
const preRenderCount = tagSupport.renderCount;
|
|
168
|
-
// Is this NOT my first render
|
|
169
|
-
if (result.tag) {
|
|
170
|
-
providersChangeCheck(result.tag);
|
|
171
|
-
// When the providers were checked, a render to myself occurred and I do not need to re-render again
|
|
172
|
-
if (preRenderCount !== tagSupport.renderCount) {
|
|
173
|
-
return tagSupport.newest;
|
|
174
|
-
}
|
|
175
|
-
const hasPropsChanged = tagSupport.hasPropChanges(value.props, value.newProps, result.tag.tagSupport.templater.props);
|
|
176
|
-
if (!hasPropsChanged) {
|
|
177
|
-
tagSupport.newest = value.redraw(value.newProps); // No change detected, just redraw me only
|
|
178
|
-
return tagSupport.newest;
|
|
179
|
-
}
|
|
180
|
-
}
|
|
181
|
-
// draw to my parent
|
|
182
|
-
const newest = tagSupport.newest = ownerTag.tagSupport.render();
|
|
183
|
-
return newest;
|
|
184
|
-
};
|
|
185
|
-
const templater = value;
|
|
186
|
-
let tag = templater.newest;
|
|
187
|
-
providers.ownerTag = ownerTag;
|
|
188
|
-
const isFirstTime = !tag;
|
|
189
|
-
runBeforeRender(tagSupport, tag);
|
|
190
|
-
if (isFirstTime) {
|
|
191
|
-
tag = templater.wrapper();
|
|
192
|
-
tag.tagSupport = tagSupport;
|
|
193
|
-
tag.afterRender();
|
|
194
|
-
templater.oldest = tag;
|
|
195
|
-
tagSupport.oldest = tag;
|
|
196
|
-
value.oldest = tag;
|
|
197
|
-
}
|
|
198
|
-
templater.newest = tag;
|
|
199
|
-
tag.ownerTag = ownerTag;
|
|
200
|
-
tag.ownerTag = ownerTag;
|
|
201
|
-
ownerTag.children.push(tag);
|
|
202
|
-
tag.setSupport(tagSupport);
|
|
203
|
-
processTagResult(tag, result, // The element set here will be removed from document
|
|
204
|
-
template, // <template end interpolate /> (will be removed)
|
|
205
|
-
{
|
|
206
|
-
counts,
|
|
207
|
-
});
|
|
208
|
-
return;
|
|
51
|
+
return textNode;
|
|
209
52
|
}
|
|
210
|
-
function afterElmBuild(elm,
|
|
53
|
+
export function afterElmBuild(elm, options) {
|
|
211
54
|
if (!elm.getAttribute) {
|
|
212
55
|
return;
|
|
213
56
|
}
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
new Array(...elm.children).forEach(child => afterElmBuild(child, counts));
|
|
57
|
+
if (!options.forceElement) {
|
|
58
|
+
elementInitCheck(elm, options.counts);
|
|
217
59
|
}
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
const providersWithChanges = tag.providers.filter(provider => {
|
|
221
|
-
return !deepEqual(provider.instance, provider.clone);
|
|
222
|
-
});
|
|
223
|
-
// reset clones
|
|
224
|
-
providersWithChanges.forEach(provider => {
|
|
225
|
-
const appElement = tag.getAppElement();
|
|
226
|
-
handleProviderChanges(appElement, provider);
|
|
227
|
-
provider.clone = deepClone(provider.instance);
|
|
228
|
-
});
|
|
229
|
-
}
|
|
230
|
-
/**
|
|
231
|
-
*
|
|
232
|
-
* @param {Tag} appElement
|
|
233
|
-
* @param {Provider} provider
|
|
234
|
-
*/
|
|
235
|
-
function handleProviderChanges(appElement, provider) {
|
|
236
|
-
const tagsWithProvider = getTagsWithProvider(appElement, provider);
|
|
237
|
-
tagsWithProvider.forEach(({ tag, renderCount, provider }) => {
|
|
238
|
-
if (renderCount === tag.tagSupport.renderCount) {
|
|
239
|
-
provider.clone = deepClone(provider.instance);
|
|
240
|
-
tag.tagSupport.render();
|
|
241
|
-
}
|
|
242
|
-
});
|
|
243
|
-
}
|
|
244
|
-
/**
|
|
245
|
-
*
|
|
246
|
-
* @param {Tag} appElement
|
|
247
|
-
* @param {Provider} provider
|
|
248
|
-
* @returns {{tag: Tag, renderCount: numer, provider: Provider}[]}
|
|
249
|
-
*/
|
|
250
|
-
function getTagsWithProvider(tag, provider, memory = []) {
|
|
251
|
-
const hasProvider = tag.providers.find(xProvider => xProvider.constructMethod === provider.constructMethod);
|
|
252
|
-
if (hasProvider) {
|
|
253
|
-
memory.push({
|
|
254
|
-
tag,
|
|
255
|
-
renderCount: tag.tagSupport.renderCount,
|
|
256
|
-
provider: hasProvider
|
|
257
|
-
});
|
|
60
|
+
if (elm.children) {
|
|
61
|
+
new Array(...elm.children).forEach(child => afterElmBuild(child, options));
|
|
258
62
|
}
|
|
259
|
-
tag.children.forEach(child => getTagsWithProvider(child, provider, memory));
|
|
260
|
-
return memory;
|
|
261
63
|
}
|
|
262
64
|
//# sourceMappingURL=interpolateTemplate.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"interpolateTemplate.js","sourceRoot":"","sources":["../ts/interpolateTemplate.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"interpolateTemplate.js","sourceRoot":"","sources":["../ts/interpolateTemplate.ts"],"names":[],"mappings":"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"}
|
package/js/interpolations.d.ts
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
export declare const interpolateReplace: RegExp;
|
|
2
|
-
|
|
3
|
-
export declare function interpolateToTemplates(template: string): {
|
|
2
|
+
export type InterpolatedTemplates = {
|
|
4
3
|
string: string;
|
|
5
4
|
keys: string[];
|
|
6
5
|
};
|
|
6
|
+
/** replaces ${x} with <template id="x-start"></template><template id="x-end"></template> */
|
|
7
|
+
export declare function interpolateToTemplates(template: string): InterpolatedTemplates;
|
package/js/interpolations.js
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
|
|
1
|
+
// support arrow functions in attributes
|
|
2
|
+
export const interpolateReplace = /(?:<[^>]*?(?:(?:\s+\w+(?:\s*=\s*(?:"[^"]*"|'[^']*'|[^>\s]+)))*\s*)\/?>)|({__tagvar[^}]+})/g;
|
|
2
3
|
/** replaces ${x} with <template id="x-start"></template><template id="x-end"></template> */
|
|
3
4
|
export function interpolateToTemplates(template) {
|
|
4
5
|
const keys = [];
|
package/js/interpolations.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"interpolations.js","sourceRoot":"","sources":["../ts/interpolations.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,kBAAkB,GAAG,
|
|
1
|
+
{"version":3,"file":"interpolations.js","sourceRoot":"","sources":["../ts/interpolations.ts"],"names":[],"mappings":"AAAA,wCAAwC;AACxC,MAAM,CAAC,MAAM,kBAAkB,GAAG,4FAA4F,CAAA;AAU9H,4FAA4F;AAC5F,MAAM,UAAU,sBAAsB,CACpC,QAAgB;IAEhB,MAAM,IAAI,GAAa,EAAE,CAAA;IACzB,MAAM,MAAM,GAAG,QAAQ,CAAC,OAAO,CAAC,kBAAkB,EAAE,CAAC,KAAK,EAAE,UAAU,EAAE,EAAE;QACxE,IAAI,KAAK,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;YAC1B,6CAA6C;YAC7C,OAAO,KAAK,CAAA;QACd,CAAC;QAED,MAAM,QAAQ,GAAG,UAAU,CAAC,SAAS,CAAC,CAAC,EAAE,UAAU,CAAC,MAAM,GAAC,CAAC,CAAC,CAAA;QAC7D,MAAM,EAAE,GAAG,QAAQ,CAAA;QACnB,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;QACb,OAAO,iCAAiC,EAAE,eAAe,CAAA;IAC3D,CAAC,CAAC,CAAA;IAEF,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,CAAA;AACzB,CAAC"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { SubjectLike } from "./Subject.js";
|
|
2
|
+
import { Tag } from "./Tag.class.js";
|
|
3
|
+
import { TemplaterResult } from "./templater.utils.js";
|
|
4
|
+
export declare function isTagComponent(value?: TemplaterResult): boolean;
|
|
5
|
+
export declare function isTagInstance(tag?: Tag | unknown): boolean;
|
|
6
|
+
export declare function isSubjectInstance(subject?: SubjectLike): Boolean;
|
package/js/isInstance.js
ADDED
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
export function isTagComponent(value) {
|
|
2
|
+
return value?.isTemplater === true;
|
|
3
|
+
}
|
|
4
|
+
export function isTagInstance(tag) {
|
|
5
|
+
return tag?.isTag === true;
|
|
6
|
+
}
|
|
7
|
+
export function isSubjectInstance(subject) {
|
|
8
|
+
return (subject?.isSubject === true || subject?.subscribe) ? true : false; // subject?.isSubject === true ||
|
|
9
|
+
}
|
|
10
|
+
//# sourceMappingURL=isInstance.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"isInstance.js","sourceRoot":"","sources":["../ts/isInstance.ts"],"names":[],"mappings":"AAIA,MAAM,UAAU,cAAc,CAAC,KAAuB;IACpD,OAAO,KAAK,EAAE,WAAW,KAAK,IAAI,CAAA;AACpC,CAAC;AAED,MAAM,UAAU,aAAa,CAAC,GAAmB;IAC/C,OAAQ,GAAW,EAAE,KAAK,KAAK,IAAI,CAAA;AACrC,CAAC;AAED,MAAM,UAAU,iBAAiB,CAC/B,OAAqB;IAErB,OAAO,CAAC,OAAO,EAAE,SAAS,KAAK,IAAI,IAAI,OAAO,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAA,CAAC,kCAAkC;AAC9G,CAAC"}
|
package/js/onDestroy.js
ADDED
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { setUse } from "./setUse.function.js";
|
|
2
|
+
/** When undefined, it means a tag is being built for the first time so do run destroy(s) */
|
|
3
|
+
let destroyCurrentTagSupport;
|
|
4
|
+
export function onDestroy(callback) {
|
|
5
|
+
if (!destroyCurrentTagSupport.memory) {
|
|
6
|
+
console.error('xxx', destroyCurrentTagSupport);
|
|
7
|
+
}
|
|
8
|
+
destroyCurrentTagSupport.memory.destroyCallback = callback;
|
|
9
|
+
}
|
|
10
|
+
setUse({
|
|
11
|
+
beforeRender: tagSupport => destroyCurrentTagSupport = tagSupport,
|
|
12
|
+
beforeRedraw: tagSupport => destroyCurrentTagSupport = tagSupport,
|
|
13
|
+
beforeDestroy: (tagSupport, tag) => {
|
|
14
|
+
const callback = tagSupport.memory.destroyCallback;
|
|
15
|
+
if (callback) {
|
|
16
|
+
callback();
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
|
+
});
|
|
20
|
+
//# sourceMappingURL=onDestroy.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"onDestroy.js","sourceRoot":"","sources":["../ts/onDestroy.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAA;AAI7C,4FAA4F;AAC5F,IAAI,wBAAoC,CAAA;AAExC,MAAM,UAAU,SAAS,CACvB,QAA2B;IAE3B,IAAG,CAAC,wBAAwB,CAAC,MAAM,EAAE,CAAC;QACpC,OAAO,CAAC,KAAK,CAAC,KAAK,EAAC,wBAAwB,CAAC,CAAA;IAC/C,CAAC;IAED,wBAAwB,CAAC,MAAM,CAAC,eAAe,GAAG,QAAQ,CAAA;AAC5D,CAAC;AAED,MAAM,CAAC;IACL,YAAY,EAAE,UAAU,CAAC,EAAE,CAAC,wBAAwB,GAAG,UAAU;IACjE,YAAY,EAAE,UAAU,CAAC,EAAE,CAAC,wBAAwB,GAAG,UAAU;IACjE,aAAa,EAAE,CAAC,UAAU,EAAE,GAAG,EAAE,EAAE;QACjC,MAAM,QAAQ,GAAG,UAAU,CAAC,MAAM,CAAC,eAAe,CAAA;QAElD,IAAG,QAAQ,EAAE,CAAC;YACZ,QAAQ,EAAE,CAAA;QACZ,CAAC;IACH,CAAC;CACF,CAAC,CAAA"}
|
package/js/onInit.d.ts
CHANGED
|
@@ -1,6 +1,2 @@
|
|
|
1
|
-
import { Tag } from "./Tag.class.js";
|
|
2
1
|
export type OnInitCallback = () => unknown;
|
|
3
|
-
/** When undefined, it means a tag is being built for the first time so do run init(s) */
|
|
4
|
-
export declare let initCurrentTag: Tag | undefined;
|
|
5
|
-
export declare function setCurrentInitTag(tag: Tag | undefined): void;
|
|
6
2
|
export declare function onInit(callback: OnInitCallback): void;
|
package/js/onInit.js
CHANGED
|
@@ -1,17 +1,19 @@
|
|
|
1
|
-
import { setUse } from "./
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
export function setCurrentInitTag(tag) {
|
|
5
|
-
initCurrentTag = tag;
|
|
1
|
+
import { setUse } from "./setUse.function.js";
|
|
2
|
+
function setCurrentTagSupport(support) {
|
|
3
|
+
setUse.memory.initCurrentSupport = support;
|
|
6
4
|
}
|
|
7
5
|
export function onInit(callback) {
|
|
8
|
-
if (!
|
|
9
|
-
|
|
6
|
+
if (!setUse.memory.initCurrentSupport) {
|
|
7
|
+
console.warn('possible init issue?');
|
|
8
|
+
return;
|
|
9
|
+
}
|
|
10
|
+
if (!setUse.memory.initCurrentSupport.memory.init) {
|
|
11
|
+
setUse.memory.initCurrentSupport.memory.init = callback;
|
|
12
|
+
callback(); // fire init
|
|
10
13
|
}
|
|
11
14
|
}
|
|
12
15
|
setUse({
|
|
13
|
-
beforeRender:
|
|
14
|
-
|
|
15
|
-
}
|
|
16
|
+
beforeRender: tagSupport => setCurrentTagSupport(tagSupport),
|
|
17
|
+
beforeRedraw: tagSupport => setCurrentTagSupport(tagSupport),
|
|
16
18
|
});
|
|
17
19
|
//# sourceMappingURL=onInit.js.map
|
package/js/onInit.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"onInit.js","sourceRoot":"","sources":["../ts/onInit.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"onInit.js","sourceRoot":"","sources":["../ts/onInit.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAA;AAI7C,SAAS,oBAAoB,CAAC,OAAmB;IAC/C,MAAM,CAAC,MAAM,CAAC,kBAAkB,GAAG,OAAO,CAAA;AAC5C,CAAC;AAED,MAAM,UAAU,MAAM,CACpB,QAAwB;IAExB,IAAG,CAAC,MAAM,CAAC,MAAM,CAAC,kBAAkB,EAAE,CAAC;QACrC,OAAO,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAA;QACpC,OAAM;IACR,CAAC;IAED,IAAG,CAAC,MAAM,CAAC,MAAM,CAAC,kBAAkB,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;QACjD,MAAM,CAAC,MAAM,CAAC,kBAAkB,CAAC,MAAM,CAAC,IAAI,GAAG,QAAQ,CAAA;QACvD,QAAQ,EAAE,CAAA,CAAC,YAAY;IACzB,CAAC;AACH,CAAC;AAED,MAAM,CAAC;IACL,YAAY,EAAE,UAAU,CAAC,EAAE,CAAC,oBAAoB,CAAC,UAAU,CAAC;IAC5D,YAAY,EAAE,UAAU,CAAC,EAAE,CAAC,oBAAoB,CAAC,UAAU,CAAC;CAC7D,CAAC,CAAA"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { TemplaterResult } from "./templater.utils.js";
|
|
2
|
+
import { Counts } from "./interpolateTemplate.js";
|
|
3
|
+
import { Tag } from "./Tag.class.js";
|
|
4
|
+
import { TagSubject } from "./Tag.utils.js";
|
|
5
|
+
export declare function processSubjectComponent(value: TemplaterResult, result: TagSubject, template: Element, ownerTag: Tag, options: {
|
|
6
|
+
counts: Counts;
|
|
7
|
+
forceElement?: boolean;
|
|
8
|
+
}): import("./Clones.type.js").Clones;
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
import { runBeforeRedraw, runBeforeRender } from "./tagRunner.js";
|
|
2
|
+
import { setUse } from "./setUse.function.js";
|
|
3
|
+
import { processTagResult } from "./processTagResult.function.js";
|
|
4
|
+
export function processSubjectComponent(value, result, template, ownerTag, options) {
|
|
5
|
+
// TODO: This below check not needed in production mode
|
|
6
|
+
if (value.tagged !== true) {
|
|
7
|
+
let name = value.wrapper.original.name || value.wrapper.original.constructor?.name;
|
|
8
|
+
if (name === 'Function') {
|
|
9
|
+
name = undefined;
|
|
10
|
+
}
|
|
11
|
+
const label = name || value.wrapper.original.toString().substring(0, 120);
|
|
12
|
+
const error = new Error(`Not a tag component. Wrap your function with tag(). Example tag(props => html\`\`) on component:\n\n${label}\n\n`);
|
|
13
|
+
throw error;
|
|
14
|
+
}
|
|
15
|
+
const templater = value;
|
|
16
|
+
const tagSupport = value.tagSupport;
|
|
17
|
+
tagSupport.mutatingRender = () => {
|
|
18
|
+
// Is this NOT my first render
|
|
19
|
+
if (result.tag) {
|
|
20
|
+
const exit = tagSupport.renderExistingTag(result.tag, templater);
|
|
21
|
+
if (exit) {
|
|
22
|
+
return result.tag;
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
// draw to my parent
|
|
26
|
+
const newest = tagSupport.newest = ownerTag.tagSupport.render();
|
|
27
|
+
return newest;
|
|
28
|
+
};
|
|
29
|
+
let retag = templater.newest;
|
|
30
|
+
const providers = setUse.memory.providerConfig;
|
|
31
|
+
providers.ownerTag = ownerTag;
|
|
32
|
+
const isFirstTime = !retag || options.forceElement;
|
|
33
|
+
if (isFirstTime) {
|
|
34
|
+
if (!retag) {
|
|
35
|
+
runBeforeRender(tagSupport, ownerTag);
|
|
36
|
+
}
|
|
37
|
+
// only true when options.forceElement
|
|
38
|
+
if (retag) {
|
|
39
|
+
runBeforeRedraw(tagSupport, retag);
|
|
40
|
+
}
|
|
41
|
+
retag = templater.forceRenderTemplate(tagSupport, ownerTag);
|
|
42
|
+
}
|
|
43
|
+
ownerTag.children.push(retag);
|
|
44
|
+
tagSupport.latestProps = retag.tagSupport.props;
|
|
45
|
+
tagSupport.latestClonedProps = retag.tagSupport.clonedProps;
|
|
46
|
+
tagSupport.memory = retag.tagSupport.memory;
|
|
47
|
+
retag.setSupport(tagSupport);
|
|
48
|
+
const clones = processTagResult(retag, result, // The element set here will be removed from document. Also result.tag will be added in here
|
|
49
|
+
template, // <template end interpolate /> (will be removed)
|
|
50
|
+
options);
|
|
51
|
+
return clones;
|
|
52
|
+
}
|
|
53
|
+
//# sourceMappingURL=processSubjectComponent.function.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"processSubjectComponent.function.js","sourceRoot":"","sources":["../ts/processSubjectComponent.function.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAA;AAEjE,OAAO,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAA;AAG7C,OAAO,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAA;AAGjE,MAAM,UAAU,uBAAuB,CACrC,KAAsB,EACtB,MAAkB,EAClB,QAAiB,EACjB,QAAa,EACb,OAAiD;IAEjD,uDAAuD;IACvD,IAAG,KAAK,CAAC,MAAM,KAAK,IAAI,EAAE,CAAC;QACzB,IAAI,IAAI,GAAuB,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,IAAI,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,WAAW,EAAE,IAAI,CAAA;QAEtG,IAAG,IAAI,KAAK,UAAU,EAAE,CAAC;YACvB,IAAI,GAAG,SAAS,CAAA;QAClB,CAAC;QAED,MAAM,KAAK,GAAG,IAAI,IAAI,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,QAAQ,EAAE,CAAC,SAAS,CAAC,CAAC,EAAC,GAAG,CAAC,CAAA;QACxE,MAAM,KAAK,GAAG,IAAI,KAAK,CAAC,uGAAuG,KAAK,MAAM,CAAC,CAAA;QAC3I,MAAM,KAAK,CAAA;IACb,CAAC;IAED,MAAM,SAAS,GAAG,KAAwB,CAAA;IAC1C,MAAM,UAAU,GAAe,KAAK,CAAC,UAAU,CAAA;IAE/C,UAAU,CAAC,cAAc,GAAG,GAAG,EAAE;QAC/B,8BAA8B;QAC9B,IAAG,MAAM,CAAC,GAAG,EAAE,CAAC;YACd,MAAM,IAAI,GAAG,UAAU,CAAC,iBAAiB,CAAC,MAAM,CAAC,GAAG,EAAE,SAAS,CAAC,CAAA;YAChE,IAAG,IAAI,EAAE,CAAC;gBACR,OAAO,MAAM,CAAC,GAAG,CAAA;YACnB,CAAC;QACH,CAAC;QAED,oBAAoB;QACpB,MAAM,MAAM,GAAG,UAAU,CAAC,MAAM,GAAG,QAAQ,CAAC,UAAU,CAAC,MAAM,EAAE,CAAA;QAC/D,OAAO,MAAM,CAAA;IACf,CAAC,CAAA;IAED,IAAI,KAAK,GAAG,SAAS,CAAC,MAAa,CAAA;IAEnC,MAAM,SAAS,GAAG,MAAM,CAAC,MAAM,CAAC,cAAc,CAAA;IAC9C,SAAS,CAAC,QAAQ,GAAG,QAAQ,CAAA;IAE7B,MAAM,WAAW,GAAG,CAAC,KAAK,IAAI,OAAO,CAAC,YAAY,CAAA;IAElD,IAAG,WAAW,EAAE,CAAC;QACf,IAAG,CAAC,KAAK,EAAE,CAAC;YACV,eAAe,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAA;QACvC,CAAC;QAED,sCAAsC;QACtC,IAAG,KAAK,EAAE,CAAC;YACT,eAAe,CAAC,UAAU,EAAE,KAAK,CAAC,CAAA;QACpC,CAAC;QAED,KAAK,GAAG,SAAS,CAAC,mBAAmB,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAA;IAC7D,CAAC;IAED,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;IAE7B,UAAU,CAAC,WAAW,GAAG,KAAK,CAAC,UAAU,CAAC,KAAK,CAAA;IAC/C,UAAU,CAAC,iBAAiB,GAAG,KAAK,CAAC,UAAU,CAAC,WAAW,CAAA;IAC3D,UAAU,CAAC,MAAM,GAAG,KAAK,CAAC,UAAU,CAAC,MAAM,CAAA;IAE3C,KAAK,CAAC,UAAU,CAAC,UAAU,CAAC,CAAA;IAE5B,MAAM,MAAM,GAAG,gBAAgB,CAC7B,KAAK,EACL,MAAM,EAAE,4FAA4F;IACpG,QAAQ,EAAE,iDAAiD;IAC3D,OAAO,CACR,CAAA;IAED,OAAO,MAAM,CAAA;AACf,CAAC"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { TagArraySubject } from "./processTagArray.js";
|
|
2
|
+
import { Clones } from "./Clones.type.js";
|
|
3
|
+
import { Tag } from "./Tag.class.js";
|
|
4
|
+
import { Counts, Template } from "./interpolateTemplate.js";
|
|
5
|
+
import { TagSubject } from "./Tag.utils.js";
|
|
6
|
+
export declare function isTagArray(value: any): boolean;
|
|
7
|
+
type processOptions = {
|
|
8
|
+
forceElement?: boolean;
|
|
9
|
+
counts: Counts;
|
|
10
|
+
};
|
|
11
|
+
export type ClonesAndPromise = {
|
|
12
|
+
clones: Clones;
|
|
13
|
+
promise?: Promise<any>;
|
|
14
|
+
};
|
|
15
|
+
export declare function processSubjectValue(value: any, result: TagArraySubject | TagSubject, // could be tag via result.tag
|
|
16
|
+
template: Template, // <template end interpolate /> (will be removed)
|
|
17
|
+
tag: Tag, // owner
|
|
18
|
+
options: processOptions): ClonesAndPromise;
|
|
19
|
+
export declare function processTag(value: any, result: TagSubject | TagArraySubject, // could be tag via result.tag
|
|
20
|
+
template: Template, // <template end interpolate /> (will be removed)
|
|
21
|
+
tag: Tag, // owner
|
|
22
|
+
options: processOptions): Clones;
|
|
23
|
+
export {};
|