taggedjs 2.5.24 → 2.6.2
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/RegularValue.type.d.ts +1 -0
- package/js/RegularValue.type.js +2 -0
- package/js/RegularValue.type.js.map +1 -0
- package/js/alterProp.function.d.ts +7 -7
- package/js/alterProp.function.js +71 -73
- package/js/alterProp.function.js.map +1 -1
- package/js/deepFunctions.d.ts +2 -2
- package/js/deepFunctions.js +25 -33
- package/js/deepFunctions.js.map +1 -1
- package/js/index.d.ts +6 -9
- package/js/index.js +6 -10
- package/js/index.js.map +1 -1
- package/js/interpolations/attributes/ElementTargetEvent.interface.d.ts +6 -0
- package/js/interpolations/attributes/ElementTargetEvent.interface.js +2 -0
- package/js/interpolations/attributes/ElementTargetEvent.interface.js.map +1 -0
- package/js/interpolations/attributes/addSupportEventListener.function.d.ts +3 -0
- package/js/interpolations/attributes/addSupportEventListener.function.js +42 -0
- package/js/interpolations/attributes/addSupportEventListener.function.js.map +1 -0
- package/js/interpolations/attributes/bindSubjectCallback.function.d.ts +13 -0
- package/js/interpolations/attributes/bindSubjectCallback.function.js +74 -0
- package/js/interpolations/attributes/bindSubjectCallback.function.js.map +1 -0
- package/js/interpolations/attributes/elementInitCheck.d.ts +2 -0
- package/js/interpolations/attributes/elementInitCheck.js +18 -0
- package/js/interpolations/attributes/elementInitCheck.js.map +1 -0
- package/js/interpolations/attributes/getUpTags.function.d.ts +2 -0
- package/js/interpolations/attributes/getUpTags.function.js +35 -0
- package/js/interpolations/attributes/getUpTags.function.js.map +1 -0
- package/js/interpolations/attributes/howToSetInputValue.function.d.ts +2 -0
- package/js/interpolations/attributes/howToSetInputValue.function.js +11 -0
- package/js/interpolations/attributes/howToSetInputValue.function.js.map +1 -0
- package/js/interpolations/attributes/isSpecialAttribute.function.d.ts +3 -0
- package/js/interpolations/attributes/isSpecialAttribute.function.js +26 -0
- package/js/interpolations/attributes/isSpecialAttribute.function.js.map +1 -0
- package/js/interpolations/attributes/processAttribute.function.d.ts +19 -0
- package/js/interpolations/attributes/processAttribute.function.js +175 -0
- package/js/interpolations/attributes/processAttribute.function.js.map +1 -0
- package/js/interpolations/attributes/processAttributeCallback.function.d.ts +3 -0
- package/js/interpolations/attributes/processAttributeCallback.function.js +12 -0
- package/js/interpolations/attributes/processAttributeCallback.function.js.map +1 -0
- package/js/interpolations/attributes/processNameValueAttribute.function.d.ts +7 -0
- package/js/interpolations/attributes/processNameValueAttribute.function.js +24 -0
- package/js/interpolations/attributes/processNameValueAttribute.function.js.map +1 -0
- package/js/interpolations/attributes/renderTagArray.function.d.ts +2 -0
- package/js/interpolations/attributes/renderTagArray.function.js +17 -0
- package/js/interpolations/attributes/renderTagArray.function.js.map +1 -0
- package/js/interpolations/attributes/specialAttribute.d.ts +2 -0
- package/js/interpolations/attributes/specialAttribute.js +44 -0
- package/js/interpolations/attributes/specialAttribute.js.map +1 -0
- package/js/interpolations/bindSubjectCallback.function.d.ts +8 -7
- package/js/interpolations/bindSubjectCallback.function.js +13 -46
- package/js/interpolations/bindSubjectCallback.function.js.map +1 -1
- package/js/interpolations/index.d.ts +2 -0
- package/js/interpolations/index.js +3 -0
- package/js/interpolations/index.js.map +1 -0
- package/js/interpolations/interpolateAttributes.d.ts +0 -3
- package/js/interpolations/interpolateAttributes.js +2 -14
- package/js/interpolations/interpolateAttributes.js.map +1 -1
- package/js/interpolations/interpolateTemplate.d.ts +1 -4
- package/js/interpolations/interpolateTemplate.js +1 -29
- package/js/interpolations/interpolateTemplate.js.map +1 -1
- package/js/interpolations/optimizers/LikeObjectElement.type.d.ts +15 -0
- package/js/interpolations/optimizers/LikeObjectElement.type.js +2 -0
- package/js/interpolations/optimizers/LikeObjectElement.type.js.map +1 -0
- package/js/interpolations/optimizers/ObjectNode.types.d.ts +21 -14
- package/js/interpolations/optimizers/attachDomElements.function.d.ts +13 -0
- package/js/interpolations/optimizers/attachDomElements.function.js +107 -0
- package/js/interpolations/optimizers/attachDomElements.function.js.map +1 -0
- package/js/interpolations/optimizers/exchangeParsedForValues.function.d.ts +15 -0
- package/js/interpolations/optimizers/exchangeParsedForValues.function.js +2 -0
- package/js/interpolations/optimizers/exchangeParsedForValues.function.js.map +1 -0
- package/js/interpolations/optimizers/htmlInterpolationToDomMeta.function.d.ts +4 -3
- package/js/interpolations/optimizers/htmlInterpolationToDomMeta.function.js +121 -56
- package/js/interpolations/optimizers/htmlInterpolationToDomMeta.function.js.map +1 -1
- package/js/interpolations/optimizers/metaAttachDomElements.function.d.ts +9 -3
- package/js/interpolations/optimizers/metaAttachDomElements.function.js +82 -36
- package/js/interpolations/optimizers/metaAttachDomElements.function.js.map +1 -1
- package/js/interpolations/optimizers/replacePlaceholders.function.d.ts +3 -2
- package/js/interpolations/optimizers/replacePlaceholders.function.js +38 -59
- package/js/interpolations/optimizers/replacePlaceholders.function.js.map +1 -1
- package/js/interpolations/optimizers/restorePlaceholders.function.d.ts +1 -1
- package/js/interpolations/optimizers/restorePlaceholders.function.js +14 -13
- package/js/interpolations/optimizers/restorePlaceholders.function.js.map +1 -1
- package/js/interpolations/optimizers/test.function.d.ts +10 -0
- package/js/interpolations/optimizers/test.function.js +19 -0
- package/js/interpolations/optimizers/test.function.js.map +1 -0
- package/js/interpolations/optimizers/types.d.ts +8 -0
- package/js/interpolations/optimizers/types.js +2 -0
- package/js/interpolations/optimizers/types.js.map +1 -0
- package/js/interpolations/processAttribute.function.d.ts +10 -5
- package/js/interpolations/processAttribute.function.js +111 -67
- package/js/interpolations/processAttribute.function.js.map +1 -1
- package/js/interpolations/processSubscriptionUpdate.function.d.ts +4 -0
- package/js/interpolations/processSubscriptionUpdate.function.js +14 -0
- package/js/interpolations/processSubscriptionUpdate.function.js.map +1 -0
- package/js/interpolations/specialAttribute.js +18 -9
- package/js/interpolations/specialAttribute.js.map +1 -1
- package/js/interpolations/subscribeToTemplate.function.d.ts +10 -2
- package/js/interpolations/subscribeToTemplate.function.js +19 -20
- package/js/interpolations/subscribeToTemplate.function.js.map +1 -1
- package/js/isInstance.d.ts +10 -6
- package/js/isInstance.js +33 -25
- package/js/isInstance.js.map +1 -1
- package/js/state/callbackMaker.function.d.ts +1 -1
- package/js/state/callbackMaker.function.js +21 -30
- package/js/state/callbackMaker.function.js.map +1 -1
- package/js/state/callbackStateUpdate.function.d.ts +1 -1
- package/js/state/callbackStateUpdate.function.js +6 -5
- package/js/state/callbackStateUpdate.function.js.map +1 -1
- package/js/state/getCallbackValue.function.d.ts +4 -0
- package/js/state/getCallbackValue.function.js +10 -0
- package/js/state/getCallbackValue.function.js.map +1 -0
- package/js/state/getStateValue.function.d.ts +2 -0
- package/js/state/getStateValue.function.js +24 -0
- package/js/state/getStateValue.function.js.map +1 -0
- package/js/state/handleProviderChanges.function.d.ts +7 -1
- package/js/state/handleProviderChanges.function.js +7 -21
- package/js/state/handleProviderChanges.function.js.map +1 -1
- package/js/state/index.d.ts +2 -3
- package/js/state/index.js +2 -2
- package/js/state/index.js.map +1 -1
- package/js/state/letState.function.d.ts +2 -0
- package/js/state/letState.function.js +28 -28
- package/js/state/letState.function.js.map +1 -1
- package/js/state/onDestroy.js +3 -2
- package/js/state/onDestroy.js.map +1 -1
- package/js/state/providers.d.ts +0 -1
- package/js/state/providers.js +20 -15
- package/js/state/providers.js.map +1 -1
- package/js/state/providersChangeCheck.function.d.ts +2 -2
- package/js/state/providersChangeCheck.function.js +9 -10
- package/js/state/providersChangeCheck.function.js.map +1 -1
- package/js/state/setUse.function.d.ts +1 -11
- package/js/state/setUse.function.js +12 -13
- package/js/state/setUse.function.js.map +1 -1
- package/js/state/state.function.js +2 -47
- package/js/state/state.function.js.map +1 -1
- package/js/state/state.types.d.ts +8 -0
- package/js/state/state.types.js +2 -0
- package/js/state/state.types.js.map +1 -0
- package/js/state/state.utils.d.ts +11 -10
- package/js/state/state.utils.js +35 -65
- package/js/state/state.utils.js.map +1 -1
- package/js/state/stateHandlers.d.ts +2 -0
- package/js/state/stateHandlers.js +36 -0
- package/js/state/stateHandlers.js.map +1 -0
- package/js/state/subject.function.js +10 -6
- package/js/state/subject.function.js.map +1 -1
- package/js/state/syncStates.function.d.ts +1 -1
- package/js/state/syncStates.function.js +8 -5
- package/js/state/syncStates.function.js.map +1 -1
- package/js/state/watch.function.js +6 -6
- package/js/state/watch.function.js.map +1 -1
- package/js/subject/Subject.class.d.ts +9 -2
- package/js/subject/Subject.class.js +36 -11
- package/js/subject/Subject.class.js.map +1 -1
- package/js/subject/ValueSubject.d.ts +6 -1
- package/js/subject/ValueSubject.js +15 -1
- package/js/subject/ValueSubject.js.map +1 -1
- package/js/subject/combineLatest.function.js +2 -2
- package/js/subject/combineLatest.function.js.map +1 -1
- package/js/subject/subject.utils.js +5 -4
- package/js/subject/subject.utils.js.map +1 -1
- package/js/subject.types.d.ts +2 -10
- package/js/tag/Context.types.d.ts +21 -0
- package/js/tag/Context.types.js +2 -0
- package/js/tag/Context.types.js.map +1 -0
- package/js/tag/Support.class.d.ts +31 -66
- package/js/tag/Support.class.js +36 -285
- package/js/tag/Support.class.js.map +1 -1
- package/js/tag/Tag.class.d.ts +29 -28
- package/js/tag/Tag.class.js +34 -46
- package/js/tag/Tag.class.js.map +1 -1
- package/js/tag/TemplaterResult.class.d.ts +32 -38
- package/js/tag/TemplaterResult.class.js +11 -34
- package/js/tag/TemplaterResult.class.js.map +1 -1
- package/js/tag/ValueTypes.enum.d.ts +23 -13
- package/js/tag/ValueTypes.enum.js +28 -19
- package/js/tag/ValueTypes.enum.js.map +1 -1
- package/js/tag/buildBeforeElement.function.d.ts +10 -0
- package/js/tag/buildBeforeElement.function.js +47 -0
- package/js/tag/buildBeforeElement.function.js.map +1 -0
- package/js/tag/buildSupportContext.function.d.ts +3 -0
- package/js/tag/buildSupportContext.function.js +15 -0
- package/js/tag/buildSupportContext.function.js.map +1 -0
- package/js/tag/checkDestroyPrevious.function.d.ts +5 -8
- package/js/tag/checkDestroyPrevious.function.js +53 -71
- package/js/tag/checkDestroyPrevious.function.js.map +1 -1
- package/js/tag/clonePropsBy.function.d.ts +6 -0
- package/js/tag/clonePropsBy.function.js +27 -0
- package/js/tag/clonePropsBy.function.js.map +1 -0
- package/js/tag/cloneValueArray.function.d.ts +4 -3
- package/js/tag/cloneValueArray.function.js +17 -13
- package/js/tag/cloneValueArray.function.js.map +1 -1
- package/js/tag/destroy.support.d.ts +7 -5
- package/js/tag/destroy.support.js +44 -6
- package/js/tag/destroy.support.js.map +1 -1
- package/js/tag/destroySupport.function.d.ts +2 -0
- package/js/tag/destroySupport.function.js +21 -0
- package/js/tag/destroySupport.function.js.map +1 -0
- package/js/tag/destroyTag.function.js +4 -4
- package/js/tag/destroyTag.function.js.map +1 -1
- package/js/tag/domMetaCollector.d.ts +2 -2
- package/js/tag/domMetaCollector.js +12 -8
- package/js/tag/domMetaCollector.js.map +1 -1
- package/js/tag/elementDestroyCheck.function.js +4 -7
- package/js/tag/elementDestroyCheck.function.js.map +1 -1
- package/js/tag/executeWrap.function.d.ts +5 -0
- package/js/tag/executeWrap.function.js +23 -0
- package/js/tag/executeWrap.function.js.map +1 -0
- package/js/tag/getChildTagsToDestroy.function.d.ts +8 -0
- package/js/tag/getChildTagsToDestroy.function.js +47 -0
- package/js/tag/getChildTagsToDestroy.function.js.map +1 -0
- package/js/tag/getStringsId.function.d.ts +1 -1
- package/js/tag/getStringsId.function.js +1 -2
- package/js/tag/getStringsId.function.js.map +1 -1
- package/js/tag/getSupportInCycle.function.js +2 -2
- package/js/tag/getSupportInCycle.function.js.map +1 -1
- package/js/tag/getTagWrap.function.d.ts +2 -0
- package/js/tag/getTagWrap.function.js +24 -68
- package/js/tag/getTagWrap.function.js.map +1 -1
- package/js/tag/getValueType.function.d.ts +3 -2
- package/js/tag/getValueType.function.js +17 -30
- package/js/tag/getValueType.function.js.map +1 -1
- package/js/tag/hasPropChanges.function.js +4 -10
- package/js/tag/hasPropChanges.function.js.map +1 -1
- package/js/tag/hasSupportChanged.function.d.ts +6 -2
- package/js/tag/hasSupportChanged.function.js +143 -24
- package/js/tag/hasSupportChanged.function.js.map +1 -1
- package/js/tag/html.d.ts +5 -6
- package/js/tag/html.js +9 -3
- package/js/tag/html.js.map +1 -1
- package/js/tag/index.d.ts +11 -1
- package/js/tag/index.js +11 -1
- package/js/tag/index.js.map +1 -1
- package/js/tag/isLikeTags.function.d.ts +4 -3
- package/js/tag/isLikeTags.function.js +18 -31
- package/js/tag/isLikeTags.function.js.map +1 -1
- package/js/tag/key.d.ts +6 -0
- package/js/tag/key.js +9 -0
- package/js/tag/key.js.map +1 -0
- package/js/tag/kidsToTagArraySubject.function.d.ts +2 -2
- package/js/tag/kidsToTagArraySubject.function.js +2 -1
- package/js/tag/kidsToTagArraySubject.function.js.map +1 -1
- package/js/tag/paint.function.d.ts +15 -0
- package/js/tag/paint.function.js +42 -0
- package/js/tag/paint.function.js.map +1 -0
- package/js/tag/processUpdateAttrContext.function.d.ts +3 -0
- package/js/tag/processUpdateAttrContext.function.js +14 -0
- package/js/tag/processUpdateAttrContext.function.js.map +1 -0
- package/js/tag/processUpdateContext.function.d.ts +5 -0
- package/js/tag/processUpdateContext.function.js +35 -0
- package/js/tag/processUpdateContext.function.js.map +1 -0
- package/js/tag/render/destroyUnlikeTags.function.d.ts +3 -5
- package/js/tag/render/destroyUnlikeTags.function.js +1 -3
- package/js/tag/render/destroyUnlikeTags.function.js.map +1 -1
- package/js/tag/render/renderExistingTag.function.d.ts +4 -6
- package/js/tag/render/renderExistingTag.function.js +11 -27
- package/js/tag/render/renderExistingTag.function.js.map +1 -1
- package/js/tag/render/renderSubjectComponent.function.js +14 -5
- package/js/tag/render/renderSubjectComponent.function.js.map +1 -1
- package/js/tag/render/renderSupport.function.d.ts +8 -3
- package/js/tag/render/renderSupport.function.js +68 -32
- package/js/tag/render/renderSupport.function.js.map +1 -1
- package/js/tag/render/renderTagOnly.function.d.ts +4 -3
- package/js/tag/render/renderTagOnly.function.js +33 -24
- package/js/tag/render/renderTagOnly.function.js.map +1 -1
- package/js/tag/render/renderWithSupport.function.d.ts +8 -4
- package/js/tag/render/renderWithSupport.function.js +12 -10
- package/js/tag/render/renderWithSupport.function.js.map +1 -1
- package/js/tag/render/softDestroySupport.function.d.ts +1 -2
- package/js/tag/render/softDestroySupport.function.js +22 -18
- package/js/tag/render/softDestroySupport.function.js.map +1 -1
- package/js/tag/smartRemoveKids.function.d.ts +3 -0
- package/js/tag/smartRemoveKids.function.js +80 -0
- package/js/tag/smartRemoveKids.function.js.map +1 -0
- package/js/tag/tag.d.ts +16 -3
- package/js/tag/tag.js +48 -16
- package/js/tag/tag.js.map +1 -1
- package/js/tag/tag.types.d.ts +6 -4
- package/js/tag/tag.utils.d.ts +15 -12
- package/js/tag/tag.utils.js.map +1 -1
- package/js/tag/tagElement.d.ts +11 -5
- package/js/tag/tagElement.js +114 -41
- package/js/tag/tagElement.js.map +1 -1
- package/js/tag/tagRunner.d.ts +2 -4
- package/js/tag/tagRunner.js +17 -39
- package/js/tag/tagRunner.js.map +1 -1
- package/js/tag/textNode.js +1 -1
- package/js/tag/textNode.js.map +1 -1
- package/js/tag/update/TagJsSubject.class.d.ts +0 -6
- package/js/tag/update/TagJsSubject.class.js +1 -8
- package/js/tag/update/TagJsSubject.class.js.map +1 -1
- package/js/tag/update/afterChildrenBuilt.function.d.ts +6 -0
- package/js/tag/update/afterChildrenBuilt.function.js +25 -0
- package/js/tag/update/afterChildrenBuilt.function.js.map +1 -0
- package/js/tag/update/getNewGlobal.function.d.ts +2 -0
- package/js/tag/update/getNewGlobal.function.js +7 -0
- package/js/tag/update/getNewGlobal.function.js.map +1 -0
- package/js/tag/update/oneRenderToSupport.function.d.ts +2 -2
- package/js/tag/update/oneRenderToSupport.function.js +7 -7
- package/js/tag/update/oneRenderToSupport.function.js.map +1 -1
- package/js/tag/update/processFirstSubject.utils.d.ts +4 -11
- package/js/tag/update/processFirstSubjectComponent.function.d.ts +6 -0
- package/js/tag/update/processFirstSubjectComponent.function.js +36 -0
- package/js/tag/update/processFirstSubjectComponent.function.js.map +1 -0
- package/js/tag/update/processFirstSubjectValue.function.d.ts +8 -8
- package/js/tag/update/processFirstSubjectValue.function.js +75 -39
- package/js/tag/update/processFirstSubjectValue.function.js.map +1 -1
- package/js/tag/update/processNewValue.function.d.ts +4 -3
- package/js/tag/update/processNewValue.function.js +27 -27
- package/js/tag/update/processNewValue.function.js.map +1 -1
- package/js/tag/update/processRegularValue.function.d.ts +4 -6
- package/js/tag/update/processRegularValue.function.js +10 -23
- package/js/tag/update/processRegularValue.function.js.map +1 -1
- package/js/tag/update/processSubjectComponent.function.d.ts +3 -5
- package/js/tag/update/processSubjectComponent.function.js +18 -22
- package/js/tag/update/processSubjectComponent.function.js.map +1 -1
- package/js/tag/update/processTag.function.d.ts +13 -10
- package/js/tag/update/processTag.function.js +51 -37
- package/js/tag/update/processTag.function.js.map +1 -1
- package/js/tag/update/processTagArray.d.ts +7 -26
- package/js/tag/update/processTagArray.js +118 -141
- package/js/tag/update/processTagArray.js.map +1 -1
- package/js/tag/update/processTagResult.function.d.ts +4 -8
- package/js/tag/update/processTagResult.function.js +31 -30
- package/js/tag/update/processTagResult.function.js.map +1 -1
- package/js/tag/update/updateContextItem.function.d.ts +6 -2
- package/js/tag/update/updateContextItem.function.js +11 -9
- package/js/tag/update/updateContextItem.function.js.map +1 -1
- package/js/tag/update/updateExistingTagComponent.function.d.ts +7 -8
- package/js/tag/update/updateExistingTagComponent.function.js +76 -98
- package/js/tag/update/updateExistingTagComponent.function.js.map +1 -1
- package/js/tag/update/updateExistingValue.function.d.ts +4 -4
- package/js/tag/update/updateExistingValue.function.js +81 -101
- package/js/tag/update/updateExistingValue.function.js.map +1 -1
- package/js/tag/update/validateTemplater.function.d.ts +2 -0
- package/js/tag/update/validateTemplater.function.js +17 -0
- package/js/tag/update/validateTemplater.function.js.map +1 -0
- package/js/tag/updateSupportBy.function.d.ts +3 -0
- package/js/tag/updateSupportBy.function.js +18 -0
- package/js/tag/updateSupportBy.function.js.map +1 -0
- package/js/updateBeforeTemplate.function.d.ts +2 -3
- package/js/updateBeforeTemplate.function.js +10 -8
- package/js/updateBeforeTemplate.function.js.map +1 -1
- package/package.json +1 -1
|
@@ -1,26 +1,23 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
3
|
-
|
|
1
|
+
import { variablePrefix, variableSuffix } from "../../tag/Tag.class.js";
|
|
2
|
+
import { isSpecialAttr } from "../attributes/isSpecialAttribute.function.js";
|
|
3
|
+
const ondoubleclick = 'ondoubleclick';
|
|
4
|
+
const fragFindAny = /(:tagvar\d+:)/;
|
|
4
5
|
const fragReplacer = /(^:tagvar\d+:|:tagvar\d+:$)/g;
|
|
5
6
|
const safeVar = '__safeTagVar';
|
|
6
|
-
const regexAttr = /([:_a-zA-Z0-9\-\.]+)(
|
|
7
|
-
const regexTagOrg = /<\/?([a-zA-Z0-9\-]+)([
|
|
7
|
+
const regexAttr = /([:_a-zA-Z0-9\-\.]+)\s*(?:=\s*"([^"]*)"|=\s*(\S+))?/g;
|
|
8
|
+
const regexTagOrg = /<\/?([a-zA-Z0-9\-]+)((?:\s+[a-zA-Z_:][\w:.\-]*(?:\s*=\s*(?:"[^"]*"|'[^']*'|[^\s"'=<>`]+))?)+\s*|\s*)\/?>/g;
|
|
8
9
|
export function htmlInterpolationToDomMeta(strings, values) {
|
|
10
|
+
htmlInterpolationToPlaceholders(strings, values);
|
|
11
|
+
// Parse the modified fragments
|
|
12
|
+
const htmlString = htmlInterpolationToPlaceholders(strings, values).join('');
|
|
13
|
+
const domMeta = parseHTML(htmlString);
|
|
14
|
+
return domMeta;
|
|
15
|
+
}
|
|
16
|
+
export function htmlInterpolationToPlaceholders(strings, values) {
|
|
9
17
|
// Sanitize placeholders in the fragments
|
|
10
18
|
const sanitizedFragments = sanitizePlaceholders(strings);
|
|
11
19
|
// Add placeholders to the fragments
|
|
12
|
-
|
|
13
|
-
// Parse the modified fragments
|
|
14
|
-
const htmlString = fragmentsWithPlaceholders.join('');
|
|
15
|
-
const parsedElements = parseHTML(htmlString);
|
|
16
|
-
return parsedElements;
|
|
17
|
-
}
|
|
18
|
-
export function exchangeParsedForValues(parsedElements, values) {
|
|
19
|
-
// Replace placeholders with actual dynamic values
|
|
20
|
-
replacePlaceholders(parsedElements, values);
|
|
21
|
-
// Restore any sanitized placeholders in text nodes
|
|
22
|
-
restorePlaceholders(parsedElements);
|
|
23
|
-
return parsedElements;
|
|
20
|
+
return addPlaceholders(sanitizedFragments, values);
|
|
24
21
|
}
|
|
25
22
|
function sanitizePlaceholders(fragments) {
|
|
26
23
|
return fragments.map(fragment => fragment.replace(fragReplacer, (match, index) => safeVar + index));
|
|
@@ -35,13 +32,15 @@ function addPlaceholders(strings, values) {
|
|
|
35
32
|
balanceArrayByArrays(results, strings, values);
|
|
36
33
|
return results;
|
|
37
34
|
}
|
|
38
|
-
function parseHTML(html) {
|
|
35
|
+
export function parseHTML(html) {
|
|
36
|
+
const valuePositions = [];
|
|
39
37
|
const elements = [];
|
|
40
38
|
const stack = [];
|
|
41
39
|
let currentElement = null;
|
|
42
|
-
let valueIndex =
|
|
40
|
+
let valueIndex = -1;
|
|
43
41
|
let position = 0;
|
|
44
42
|
const regexTag = new RegExp(regexTagOrg, 'g');
|
|
43
|
+
html = preprocessTagsInComments(html);
|
|
45
44
|
while (position < html.length) {
|
|
46
45
|
const tagMatch = regexTag.exec(html);
|
|
47
46
|
if (!tagMatch) {
|
|
@@ -53,19 +52,13 @@ function parseHTML(html) {
|
|
|
53
52
|
if (position < tagMatch.index) {
|
|
54
53
|
const textContent = html.slice(position, tagMatch.index);
|
|
55
54
|
if (textContent.trim()) {
|
|
56
|
-
const
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
if (currentElement) {
|
|
61
|
-
if (!currentElement.children) {
|
|
62
|
-
currentElement.children = [];
|
|
55
|
+
const textVarMatches = splitByTagVar(textContent);
|
|
56
|
+
textVarMatches.forEach(textContent => {
|
|
57
|
+
if (textContent.startsWith(variablePrefix)) {
|
|
58
|
+
textContent = variablePrefix + (++valueIndex) + variableSuffix;
|
|
63
59
|
}
|
|
64
|
-
currentElement
|
|
65
|
-
}
|
|
66
|
-
else {
|
|
67
|
-
elements.push(textNode);
|
|
68
|
-
}
|
|
60
|
+
pushTextTo(currentElement, elements, textContent);
|
|
61
|
+
});
|
|
69
62
|
}
|
|
70
63
|
}
|
|
71
64
|
position = tagMatch.index + fullMatch.length;
|
|
@@ -73,29 +66,57 @@ function parseHTML(html) {
|
|
|
73
66
|
currentElement = stack.pop() || null;
|
|
74
67
|
continue;
|
|
75
68
|
}
|
|
76
|
-
const
|
|
77
|
-
nodeName: tagName,
|
|
78
|
-
attributes: []
|
|
79
|
-
};
|
|
69
|
+
const attributes = [];
|
|
80
70
|
let attrMatch;
|
|
81
71
|
while ((attrMatch = regexAttr.exec(attrString)) !== null) {
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
72
|
+
const attrName = attrMatch[1] || attrMatch[3] || attrMatch[5];
|
|
73
|
+
const attrChoice = attrMatch[2] || attrMatch[4] || attrMatch[6];
|
|
74
|
+
let attrValue = attrChoice;
|
|
75
|
+
if (attrName === undefined) {
|
|
76
|
+
continue;
|
|
77
|
+
}
|
|
78
|
+
const notEmpty = attrMatch[2] !== '';
|
|
79
|
+
const noValue = attrValue === undefined && notEmpty;
|
|
80
|
+
const lowerName = attrName.toLowerCase();
|
|
81
|
+
const fixedName = lowerName.startsWith('on') ? cleanEventName(lowerName) : lowerName;
|
|
82
|
+
if (noValue) {
|
|
85
83
|
const standAloneVar = attrName.slice(0, variablePrefix.length) === variablePrefix;
|
|
86
84
|
if (standAloneVar) {
|
|
87
|
-
|
|
85
|
+
const valueName = variablePrefix + (++valueIndex) + variableSuffix;
|
|
86
|
+
valuePositions.push(['at', valueName]);
|
|
87
|
+
attributes.push([valueName]); // the name itself is dynamic
|
|
88
|
+
continue;
|
|
89
|
+
}
|
|
90
|
+
const startMatched = attrMatch[0].startsWith(attrName);
|
|
91
|
+
const standAloneAttr = startMatched && attrMatch[0].slice(attrName.length, attrMatch[0].length).search(/\s+$/) >= 0;
|
|
92
|
+
if (standAloneAttr) {
|
|
93
|
+
attributes.push([fixedName]);
|
|
88
94
|
continue;
|
|
89
95
|
}
|
|
90
|
-
|
|
96
|
+
const valueName = variablePrefix + (++valueIndex) + variableSuffix;
|
|
97
|
+
attrValue = valueName;
|
|
98
|
+
}
|
|
99
|
+
if (!notEmpty) {
|
|
100
|
+
attrValue = attrMatch[2];
|
|
91
101
|
}
|
|
92
|
-
|
|
102
|
+
const attrSet = [fixedName, attrValue];
|
|
103
|
+
const isSpecial = isSpecialAttr(fixedName);
|
|
104
|
+
if (isSpecial) {
|
|
105
|
+
attrSet.push(isSpecial);
|
|
106
|
+
}
|
|
107
|
+
attributes.push(attrSet);
|
|
108
|
+
}
|
|
109
|
+
const element = {
|
|
110
|
+
nn: tagName, // nodeName
|
|
111
|
+
};
|
|
112
|
+
if (attributes.length) {
|
|
113
|
+
element.at = attributes;
|
|
93
114
|
}
|
|
94
115
|
if (currentElement) {
|
|
95
|
-
if (!currentElement.
|
|
96
|
-
currentElement.
|
|
116
|
+
if (!currentElement.ch) {
|
|
117
|
+
currentElement.ch = [];
|
|
97
118
|
}
|
|
98
|
-
currentElement.
|
|
119
|
+
currentElement.ch.push(element);
|
|
99
120
|
}
|
|
100
121
|
else {
|
|
101
122
|
elements.push(element);
|
|
@@ -108,19 +129,13 @@ function parseHTML(html) {
|
|
|
108
129
|
if (position < html.length) {
|
|
109
130
|
const textContent = html.slice(position);
|
|
110
131
|
if (textContent.trim()) {
|
|
111
|
-
const
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
if (currentElement) {
|
|
116
|
-
if (!currentElement.children) {
|
|
117
|
-
currentElement.children = [];
|
|
132
|
+
const textVarMatches = splitByTagVar(textContent);
|
|
133
|
+
textVarMatches.forEach(textContent => {
|
|
134
|
+
if (textContent.startsWith(variablePrefix)) {
|
|
135
|
+
++valueIndex;
|
|
118
136
|
}
|
|
119
|
-
currentElement
|
|
120
|
-
}
|
|
121
|
-
else {
|
|
122
|
-
elements.push(textNode);
|
|
123
|
-
}
|
|
137
|
+
return pushTextTo(currentElement, elements, textContent);
|
|
138
|
+
});
|
|
124
139
|
}
|
|
125
140
|
}
|
|
126
141
|
return elements;
|
|
@@ -133,4 +148,54 @@ export function balanceArrayByArrays(results, strings, values) {
|
|
|
133
148
|
}
|
|
134
149
|
}
|
|
135
150
|
}
|
|
151
|
+
function splitByTagVar(inputString) {
|
|
152
|
+
// Split the string using the regular expression, keep delimiters in the output
|
|
153
|
+
const parts = inputString.split(fragFindAny);
|
|
154
|
+
// Filter out any empty strings from the results
|
|
155
|
+
const filteredParts = parts.filter(part => part !== '');
|
|
156
|
+
return filteredParts;
|
|
157
|
+
}
|
|
158
|
+
function pushTo(currentElement, elements, textNode) {
|
|
159
|
+
if (currentElement) {
|
|
160
|
+
if (!currentElement.ch) {
|
|
161
|
+
currentElement.ch = [];
|
|
162
|
+
}
|
|
163
|
+
currentElement.ch.push(textNode);
|
|
164
|
+
}
|
|
165
|
+
else {
|
|
166
|
+
elements.push(textNode);
|
|
167
|
+
}
|
|
168
|
+
}
|
|
169
|
+
function pushTextTo(currentElement, elements, textContent) {
|
|
170
|
+
const textNode = {
|
|
171
|
+
nn: 'text', // nodeName
|
|
172
|
+
tc: postprocessTagsInComments(textContent), // textContent
|
|
173
|
+
};
|
|
174
|
+
pushTo(currentElement, elements, textNode);
|
|
175
|
+
}
|
|
176
|
+
const removeCommentRegX = new RegExp('(<!--[\\s\\S]*?-->)', 'g');
|
|
177
|
+
function preprocessTagsInComments(html) {
|
|
178
|
+
// Use a regex to find all HTML comments
|
|
179
|
+
return html.replace(removeCommentRegX, function (match) {
|
|
180
|
+
// For each comment found, replace < and > inside it
|
|
181
|
+
return match.replace(/\[l t\]/g, '[l t]').replace(/\[g t\]/g, '[g t]').replace(/</g, '[l t]').replace(/>/g, '[g t]');
|
|
182
|
+
});
|
|
183
|
+
}
|
|
184
|
+
function postprocessTagsInComments(html) {
|
|
185
|
+
// Use a regex to find all segments that look like processed comments
|
|
186
|
+
return html.replace(/(\[l t\]!--[\s\S]*?--\[g t\])/g, function (match) {
|
|
187
|
+
// For each processed comment found, replace *lt* and *gt* back to < and >
|
|
188
|
+
return match.replace(/\[l t\]/g, '<').replace(/\[g t\]/g, '>').replace(/\[l t\]/g, '[l t]').replace(/\[g t\]/g, '[g t]');
|
|
189
|
+
});
|
|
190
|
+
}
|
|
191
|
+
function cleanEventName(eventName) {
|
|
192
|
+
if (eventName.startsWith('on')) {
|
|
193
|
+
const couldByDblClick = eventName.length === ondoubleclick.length && eventName === ondoubleclick;
|
|
194
|
+
if (couldByDblClick) {
|
|
195
|
+
return 'dblclick';
|
|
196
|
+
}
|
|
197
|
+
return eventName.slice(2, eventName.length);
|
|
198
|
+
}
|
|
199
|
+
return eventName;
|
|
200
|
+
}
|
|
136
201
|
//# sourceMappingURL=htmlInterpolationToDomMeta.function.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"htmlInterpolationToDomMeta.function.js","sourceRoot":"","sources":["../../../ts/interpolations/optimizers/htmlInterpolationToDomMeta.function.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAA;
|
|
1
|
+
{"version":3,"file":"htmlInterpolationToDomMeta.function.js","sourceRoot":"","sources":["../../../ts/interpolations/optimizers/htmlInterpolationToDomMeta.function.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,12 @@
|
|
|
1
1
|
import { BaseSupport, Support } from "../../tag/Support.class.js";
|
|
2
2
|
import { Context } from "../../tag/Tag.class.js";
|
|
3
3
|
import { Counts } from "../interpolateTemplate.js";
|
|
4
|
-
import {
|
|
5
|
-
|
|
6
|
-
|
|
4
|
+
import { SubToTemplateOptions } from "../subscribeToTemplate.function.js";
|
|
5
|
+
import { DomObjectChildren } from "./ObjectNode.types.js";
|
|
6
|
+
import { ObjectChildren } from "./exchangeParsedForValues.function.js";
|
|
7
|
+
export declare function attachDomElement(nodes: ObjectChildren, values: any[], support: BaseSupport | Support, counts: Counts, // used for animation stagger computing
|
|
8
|
+
owner?: Element, subs?: SubToTemplateOptions[], context?: Context): {
|
|
9
|
+
context: Context;
|
|
10
|
+
subs: SubToTemplateOptions[];
|
|
11
|
+
dom: DomObjectChildren;
|
|
12
|
+
};
|
|
@@ -1,43 +1,89 @@
|
|
|
1
|
-
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
1
|
+
// taggedjs-no-compile
|
|
2
|
+
import { isSubjectInstance } from "../../isInstance.js";
|
|
3
|
+
import { paintAppends, paintInsertBefores } from "../../tag/paint.function.js";
|
|
4
|
+
import { empty } from "../../tag/ValueTypes.enum.js";
|
|
5
|
+
import { processAttribute } from "../attributes/processAttribute.function.js";
|
|
6
|
+
import { processFirstSubjectValue } from "../../tag/update/processFirstSubjectValue.function.js";
|
|
7
|
+
import { howToSetInputValue } from "../attributes/howToSetInputValue.function.js";
|
|
8
|
+
import { getNewGlobal } from "../../tag/index.js";
|
|
9
|
+
// ??? TODO: This could be done within exchangeParsedForValues to reduce loops
|
|
10
|
+
export function attachDomElement(nodes, values, support, counts, // used for animation stagger computing
|
|
11
|
+
owner, subs = [], context = []) {
|
|
12
|
+
const x = document.createElement('div');
|
|
13
|
+
const dom = [];
|
|
14
|
+
for (const node of nodes) {
|
|
15
|
+
const newNode = {}; // DomObjectText
|
|
16
|
+
dom.push(newNode);
|
|
17
|
+
const value = node.v;
|
|
18
|
+
const isNum = !isNaN(value);
|
|
19
|
+
const subVal = values[context.length];
|
|
20
|
+
if (isNum) {
|
|
21
|
+
const marker = document.createTextNode(empty);
|
|
22
|
+
const global = getNewGlobal();
|
|
23
|
+
const contextItem = {
|
|
24
|
+
global
|
|
25
|
+
};
|
|
26
|
+
context.push(contextItem);
|
|
27
|
+
global.placeholder = marker;
|
|
28
|
+
if (owner) {
|
|
29
|
+
paintAppends.push({
|
|
30
|
+
relative: owner,
|
|
31
|
+
element: marker,
|
|
32
|
+
});
|
|
33
|
+
}
|
|
34
|
+
else {
|
|
35
|
+
paintInsertBefores.push({
|
|
36
|
+
element: marker,
|
|
37
|
+
relative: support.subject.global.placeholder,
|
|
38
|
+
});
|
|
39
|
+
}
|
|
40
|
+
// newNode.marker = marker
|
|
41
|
+
// delete newNode.marker // delete so that the marker is not destroyed with tag
|
|
42
|
+
if (isSubjectInstance(subVal)) {
|
|
43
|
+
subs.push({
|
|
44
|
+
// fragment: owner,
|
|
45
|
+
insertBefore: marker,
|
|
46
|
+
appendTo: owner,
|
|
47
|
+
subject: subVal,
|
|
48
|
+
support, // ownerSupport,
|
|
49
|
+
counts,
|
|
50
|
+
contextItem,
|
|
51
|
+
});
|
|
52
|
+
continue;
|
|
53
|
+
}
|
|
54
|
+
processFirstSubjectValue(subVal, contextItem, support, counts, owner);
|
|
55
|
+
continue;
|
|
16
56
|
}
|
|
17
|
-
if (node.
|
|
18
|
-
const
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
const
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
57
|
+
if (node.nn === 'text') {
|
|
58
|
+
const textNode = newNode;
|
|
59
|
+
const string = textNode.tc = node.tc;
|
|
60
|
+
x.innerHTML = string;
|
|
61
|
+
const domElement = textNode.domElement = document.createTextNode(x.innerText);
|
|
62
|
+
if (owner) {
|
|
63
|
+
paintAppends.push({
|
|
64
|
+
element: domElement,
|
|
65
|
+
relative: owner,
|
|
66
|
+
});
|
|
67
|
+
}
|
|
68
|
+
continue;
|
|
27
69
|
}
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
70
|
+
const domElement = newNode.domElement = document.createElement(node.nn);
|
|
71
|
+
// attributes that may effect style, come first
|
|
72
|
+
if (node.at) {
|
|
73
|
+
node.at.map(attr => processAttribute(attr[0], // name
|
|
74
|
+
domElement, support, howToSetInputValue, context, attr[1], // value
|
|
75
|
+
attr[2]));
|
|
76
|
+
}
|
|
77
|
+
if (owner) {
|
|
78
|
+
paintAppends.push({
|
|
79
|
+
element: domElement,
|
|
80
|
+
relative: owner,
|
|
35
81
|
});
|
|
36
82
|
}
|
|
37
|
-
if (node.
|
|
38
|
-
attachDomElement(node.
|
|
83
|
+
if (node.ch) {
|
|
84
|
+
newNode.ch = attachDomElement(node.ch, values, support, counts, domElement, subs, context).dom;
|
|
39
85
|
}
|
|
40
|
-
}
|
|
41
|
-
return
|
|
86
|
+
}
|
|
87
|
+
return { subs, dom, context };
|
|
42
88
|
}
|
|
43
89
|
//# sourceMappingURL=metaAttachDomElements.function.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"metaAttachDomElements.function.js","sourceRoot":"","sources":["../../../ts/interpolations/optimizers/metaAttachDomElements.function.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"metaAttachDomElements.function.js","sourceRoot":"","sources":["../../../ts/interpolations/optimizers/metaAttachDomElements.function.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,2 +1,3 @@
|
|
|
1
|
-
import {
|
|
2
|
-
|
|
1
|
+
import { ValuePos } from "./LikeObjectElement.type.js";
|
|
2
|
+
import { ParsedHtml, UnparsedHtml } from "./types.js";
|
|
3
|
+
export declare function replacePlaceholders(dom: UnparsedHtml, valueCount: number, valuePositions?: ValuePos[], currentTail?: (string | number)[]): ParsedHtml;
|
|
@@ -1,92 +1,71 @@
|
|
|
1
|
+
// taggedjs-no-compile
|
|
1
2
|
import { variableSuffix, variablePrefix } from "../../tag/Tag.class.js";
|
|
2
|
-
import {
|
|
3
|
-
|
|
4
|
-
|
|
3
|
+
import { ImmutableTypes } from "../../tag/ValueTypes.enum.js";
|
|
4
|
+
const placeholderRegex = new RegExp(variablePrefix + '(\\d+)' + variableSuffix, 'g');
|
|
5
|
+
const at = 'at'; // short for attribute
|
|
6
|
+
const ch = 'ch'; // short for children
|
|
7
|
+
export function replacePlaceholders(dom, valueCount, valuePositions = [], currentTail = []) {
|
|
8
|
+
const elements = dom;
|
|
5
9
|
for (let i = 0; i < elements.length; i++) {
|
|
10
|
+
const loopTail = [...currentTail, i];
|
|
6
11
|
const element = elements[i];
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
if ('attributes' in element) {
|
|
11
|
-
element.attributes = processAttributes(element.attributes, values);
|
|
12
|
+
if (element.at) {
|
|
13
|
+
const attrs = element.at;
|
|
14
|
+
element.at = processAttributes(attrs, valueCount);
|
|
12
15
|
}
|
|
13
|
-
if (
|
|
14
|
-
|
|
15
|
-
const
|
|
16
|
-
replacePlaceholders(children,
|
|
17
|
-
element.children = children;
|
|
18
|
-
// Remove empty children array
|
|
19
|
-
if (element.children.length === 0) {
|
|
20
|
-
delete element.children;
|
|
21
|
-
}
|
|
16
|
+
if (element.ch) {
|
|
17
|
+
const children = element.ch;
|
|
18
|
+
const innerLoopTail = [...loopTail, ch];
|
|
19
|
+
element.ch = replacePlaceholders(children, valueCount, valuePositions, innerLoopTail);
|
|
22
20
|
}
|
|
23
|
-
i = examineChild(element,
|
|
21
|
+
i = examineChild(element, valueCount, elements, i);
|
|
24
22
|
}
|
|
23
|
+
return elements;
|
|
25
24
|
}
|
|
26
|
-
function examineChild(child,
|
|
27
|
-
if (child.
|
|
25
|
+
function examineChild(child, valueCount, children, index) {
|
|
26
|
+
if (child.nn !== 'text') {
|
|
28
27
|
return index;
|
|
29
28
|
}
|
|
30
29
|
const textChild = child;
|
|
31
|
-
let textContent = textChild.
|
|
32
|
-
if (typeof textContent !==
|
|
30
|
+
let textContent = textChild.tc;
|
|
31
|
+
if (typeof textContent !== ImmutableTypes.string) {
|
|
33
32
|
return index;
|
|
34
33
|
}
|
|
35
|
-
const placeholderRegex = new RegExp(variablePrefix + '(\\d+)' + variableSuffix, 'g');
|
|
36
34
|
let match;
|
|
37
35
|
while ((match = placeholderRegex.exec(textContent)) !== null) {
|
|
38
|
-
const
|
|
39
|
-
const
|
|
36
|
+
const secondMatch = match[1];
|
|
37
|
+
const wIndex = parseInt(secondMatch, 10);
|
|
38
|
+
const examine = !isNaN(wIndex) && wIndex < valueCount;
|
|
40
39
|
if (examine) {
|
|
41
40
|
const varContent = variablePrefix + wIndex + variableSuffix;
|
|
42
|
-
const before = textContent.slice(0, match.index);
|
|
43
41
|
const after = textContent.slice(match.index + varContent.length);
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
const domClone = [...x.dom];
|
|
49
|
-
const elements = replacePlaceholders(domClone, x.values);
|
|
50
|
-
return domClone;
|
|
51
|
-
}
|
|
52
|
-
return x;
|
|
53
|
-
});
|
|
54
|
-
}
|
|
55
|
-
// TODO: I don't think we need three adds?
|
|
56
|
-
children.splice(index, 1, {
|
|
57
|
-
nodeName: 'text',
|
|
58
|
-
textContent: before
|
|
59
|
-
}, {
|
|
60
|
-
nodeName: 'text',
|
|
61
|
-
textContent: '',
|
|
62
|
-
value,
|
|
63
|
-
}, {
|
|
64
|
-
nodeName: 'text',
|
|
65
|
-
textContent: after
|
|
66
|
-
});
|
|
42
|
+
children.splice(index, 1, ...[{
|
|
43
|
+
nn: 'text',
|
|
44
|
+
v: wIndex
|
|
45
|
+
}]);
|
|
67
46
|
textContent = after;
|
|
68
47
|
placeholderRegex.lastIndex = 0; // Reset regex index due to split
|
|
69
|
-
index += 2; // Skip the newly inserted elements
|
|
70
48
|
}
|
|
71
49
|
}
|
|
72
|
-
textChild.
|
|
50
|
+
textChild.tc = textContent;
|
|
73
51
|
return index;
|
|
74
52
|
}
|
|
75
|
-
function processAttributes(attributes,
|
|
76
|
-
return attributes.map(
|
|
53
|
+
function processAttributes(attributes, valueCount) {
|
|
54
|
+
return attributes.map(attrSet => {
|
|
55
|
+
const [key, value, isSpecial] = attrSet;
|
|
77
56
|
if (key.startsWith(variablePrefix)) {
|
|
78
57
|
const index = parseInt(key.replace(variablePrefix, ''), 10);
|
|
79
|
-
if (!isNaN(index) && index <
|
|
80
|
-
return [
|
|
58
|
+
if (!isNaN(index) && index < valueCount) {
|
|
59
|
+
return [{ tagJsVar: index }];
|
|
81
60
|
}
|
|
82
61
|
}
|
|
83
|
-
if (typeof value ===
|
|
62
|
+
if (typeof value === ImmutableTypes.string && value.startsWith(variablePrefix)) {
|
|
84
63
|
const index = parseInt(value.replace(variablePrefix, ''), 10);
|
|
85
|
-
if (!isNaN(index) && index <
|
|
86
|
-
|
|
64
|
+
if (!isNaN(index) && index < valueCount) {
|
|
65
|
+
return [key, { tagJsVar: index }, isSpecial];
|
|
87
66
|
}
|
|
88
67
|
}
|
|
89
|
-
return
|
|
68
|
+
return attrSet;
|
|
90
69
|
});
|
|
91
70
|
}
|
|
92
71
|
//# sourceMappingURL=replacePlaceholders.function.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"replacePlaceholders.function.js","sourceRoot":"","sources":["../../../ts/interpolations/optimizers/replacePlaceholders.function.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;
|
|
1
|
+
{"version":3,"file":"replacePlaceholders.function.js","sourceRoot":"","sources":["../../../ts/interpolations/optimizers/replacePlaceholders.function.ts"],"names":[],"mappings":"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"}
|