@wcstack/state 1.3.14 → 1.3.15
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/README.ja.md +20 -2
- package/README.md +20 -2
- package/package.json +5 -4
- package/dist/address/AbsolutePathInfo.d.ts +0 -4
- package/dist/address/AbsolutePathInfo.d.ts.map +0 -1
- package/dist/address/AbsolutePathInfo.js +0 -33
- package/dist/address/AbsolutePathInfo.js.map +0 -1
- package/dist/address/AbsoluteStateAddress.d.ts +0 -4
- package/dist/address/AbsoluteStateAddress.d.ts.map +0 -1
- package/dist/address/AbsoluteStateAddress.js +0 -56
- package/dist/address/AbsoluteStateAddress.js.map +0 -1
- package/dist/address/PathInfo.d.ts +0 -3
- package/dist/address/PathInfo.d.ts.map +0 -1
- package/dist/address/PathInfo.js +0 -104
- package/dist/address/PathInfo.js.map +0 -1
- package/dist/address/ResolvedAddress.d.ts +0 -31
- package/dist/address/ResolvedAddress.d.ts.map +0 -1
- package/dist/address/ResolvedAddress.js +0 -110
- package/dist/address/ResolvedAddress.js.map +0 -1
- package/dist/address/StateAddress.d.ts +0 -4
- package/dist/address/StateAddress.d.ts.map +0 -1
- package/dist/address/StateAddress.js +0 -56
- package/dist/address/StateAddress.js.map +0 -1
- package/dist/address/calcWildcardLen.d.ts +0 -3
- package/dist/address/calcWildcardLen.d.ts.map +0 -1
- package/dist/address/calcWildcardLen.js +0 -31
- package/dist/address/calcWildcardLen.js.map +0 -1
- package/dist/address/types.d.ts +0 -54
- package/dist/address/types.d.ts.map +0 -1
- package/dist/address/types.js +0 -2
- package/dist/address/types.js.map +0 -1
- package/dist/apply/applyChange.d.ts +0 -4
- package/dist/apply/applyChange.d.ts.map +0 -1
- package/dist/apply/applyChange.js +0 -116
- package/dist/apply/applyChange.js.map +0 -1
- package/dist/apply/applyChangeFromBindings.d.ts +0 -13
- package/dist/apply/applyChangeFromBindings.d.ts.map +0 -1
- package/dist/apply/applyChangeFromBindings.js +0 -86
- package/dist/apply/applyChangeFromBindings.js.map +0 -1
- package/dist/apply/applyChangeToAttribute.d.ts +0 -4
- package/dist/apply/applyChangeToAttribute.d.ts.map +0 -1
- package/dist/apply/applyChangeToAttribute.js +0 -8
- package/dist/apply/applyChangeToAttribute.js.map +0 -1
- package/dist/apply/applyChangeToCheckbox.d.ts +0 -4
- package/dist/apply/applyChangeToCheckbox.d.ts.map +0 -1
- package/dist/apply/applyChangeToCheckbox.js +0 -11
- package/dist/apply/applyChangeToCheckbox.js.map +0 -1
- package/dist/apply/applyChangeToClass.d.ts +0 -4
- package/dist/apply/applyChangeToClass.d.ts.map +0 -1
- package/dist/apply/applyChangeToClass.js +0 -10
- package/dist/apply/applyChangeToClass.js.map +0 -1
- package/dist/apply/applyChangeToFor.d.ts +0 -9
- package/dist/apply/applyChangeToFor.d.ts.map +0 -1
- package/dist/apply/applyChangeToFor.js +0 -186
- package/dist/apply/applyChangeToFor.js.map +0 -1
- package/dist/apply/applyChangeToIf.d.ts +0 -4
- package/dist/apply/applyChangeToIf.d.ts.map +0 -1
- package/dist/apply/applyChangeToIf.js +0 -42
- package/dist/apply/applyChangeToIf.js.map +0 -1
- package/dist/apply/applyChangeToProperty.d.ts +0 -4
- package/dist/apply/applyChangeToProperty.d.ts.map +0 -1
- package/dist/apply/applyChangeToProperty.js +0 -37
- package/dist/apply/applyChangeToProperty.js.map +0 -1
- package/dist/apply/applyChangeToRadio.d.ts +0 -4
- package/dist/apply/applyChangeToRadio.d.ts.map +0 -1
- package/dist/apply/applyChangeToRadio.js +0 -8
- package/dist/apply/applyChangeToRadio.js.map +0 -1
- package/dist/apply/applyChangeToStyle.d.ts +0 -4
- package/dist/apply/applyChangeToStyle.d.ts.map +0 -1
- package/dist/apply/applyChangeToStyle.js +0 -9
- package/dist/apply/applyChangeToStyle.js.map +0 -1
- package/dist/apply/applyChangeToText.d.ts +0 -4
- package/dist/apply/applyChangeToText.d.ts.map +0 -1
- package/dist/apply/applyChangeToText.js +0 -6
- package/dist/apply/applyChangeToText.js.map +0 -1
- package/dist/apply/applyChangeToWebComponent.d.ts +0 -4
- package/dist/apply/applyChangeToWebComponent.d.ts.map +0 -1
- package/dist/apply/applyChangeToWebComponent.js +0 -15
- package/dist/apply/applyChangeToWebComponent.js.map +0 -1
- package/dist/apply/getFilteredValue.d.ts +0 -3
- package/dist/apply/getFilteredValue.d.ts.map +0 -1
- package/dist/apply/getFilteredValue.js +0 -8
- package/dist/apply/getFilteredValue.js.map +0 -1
- package/dist/apply/getValue.d.ts +0 -4
- package/dist/apply/getValue.d.ts.map +0 -1
- package/dist/apply/getValue.js +0 -20
- package/dist/apply/getValue.js.map +0 -1
- package/dist/apply/rootNodeByFragment.d.ts +0 -3
- package/dist/apply/rootNodeByFragment.d.ts.map +0 -1
- package/dist/apply/rootNodeByFragment.js +0 -13
- package/dist/apply/rootNodeByFragment.js.map +0 -1
- package/dist/apply/types.d.ts +0 -20
- package/dist/apply/types.d.ts.map +0 -1
- package/dist/apply/types.js +0 -2
- package/dist/apply/types.js.map +0 -1
- package/dist/applyChangeToNode.d.ts +0 -2
- package/dist/applyChangeToNode.d.ts.map +0 -1
- package/dist/applyChangeToNode.js +0 -38
- package/dist/applyChangeToNode.js.map +0 -1
- package/dist/bindTextParser/parseBindTextForEmbeddedNode.d.ts +0 -3
- package/dist/bindTextParser/parseBindTextForEmbeddedNode.d.ts.map +0 -1
- package/dist/bindTextParser/parseBindTextForEmbeddedNode.js +0 -13
- package/dist/bindTextParser/parseBindTextForEmbeddedNode.js.map +0 -1
- package/dist/bindTextParser/parseBindTextsForElement.d.ts +0 -3
- package/dist/bindTextParser/parseBindTextsForElement.d.ts.map +0 -1
- package/dist/bindTextParser/parseBindTextsForElement.js +0 -80
- package/dist/bindTextParser/parseBindTextsForElement.js.map +0 -1
- package/dist/bindTextParser/parseFilterArgs.d.ts +0 -2
- package/dist/bindTextParser/parseFilterArgs.d.ts.map +0 -1
- package/dist/bindTextParser/parseFilterArgs.js +0 -31
- package/dist/bindTextParser/parseFilterArgs.js.map +0 -1
- package/dist/bindTextParser/parseFilters.d.ts +0 -4
- package/dist/bindTextParser/parseFilters.d.ts.map +0 -1
- package/dist/bindTextParser/parseFilters.js +0 -52
- package/dist/bindTextParser/parseFilters.js.map +0 -1
- package/dist/bindTextParser/parsePropPart.d.ts +0 -5
- package/dist/bindTextParser/parsePropPart.d.ts.map +0 -1
- package/dist/bindTextParser/parsePropPart.js +0 -44
- package/dist/bindTextParser/parsePropPart.js.map +0 -1
- package/dist/bindTextParser/parseStatePart.d.ts +0 -5
- package/dist/bindTextParser/parseStatePart.d.ts.map +0 -1
- package/dist/bindTextParser/parseStatePart.js +0 -39
- package/dist/bindTextParser/parseStatePart.js.map +0 -1
- package/dist/bindTextParser/types.d.ts +0 -3
- package/dist/bindTextParser/types.d.ts.map +0 -1
- package/dist/bindTextParser/types.js +0 -2
- package/dist/bindTextParser/types.js.map +0 -1
- package/dist/bindTextParser/utils.d.ts +0 -2
- package/dist/bindTextParser/utils.d.ts.map +0 -1
- package/dist/bindTextParser/utils.js +0 -2
- package/dist/bindTextParser/utils.js.map +0 -1
- package/dist/binding/getAbsoluteStateAddressByBinding.d.ts +0 -5
- package/dist/binding/getAbsoluteStateAddressByBinding.d.ts.map +0 -1
- package/dist/binding/getAbsoluteStateAddressByBinding.js +0 -41
- package/dist/binding/getAbsoluteStateAddressByBinding.js.map +0 -1
- package/dist/binding/getBindingSetByAbsoluteStateAddress.d.ts +0 -7
- package/dist/binding/getBindingSetByAbsoluteStateAddress.d.ts.map +0 -1
- package/dist/binding/getBindingSetByAbsoluteStateAddress.js +0 -22
- package/dist/binding/getBindingSetByAbsoluteStateAddress.js.map +0 -1
- package/dist/binding/getStateAddressByBindingInfo.d.ts +0 -5
- package/dist/binding/getStateAddressByBindingInfo.d.ts.map +0 -1
- package/dist/binding/getStateAddressByBindingInfo.js +0 -28
- package/dist/binding/getStateAddressByBindingInfo.js.map +0 -1
- package/dist/binding/types.d.ts +0 -23
- package/dist/binding/types.d.ts.map +0 -1
- package/dist/binding/types.js +0 -2
- package/dist/binding/types.js.map +0 -1
- package/dist/bindings/bindLoopContextToContent.d.ts +0 -5
- package/dist/bindings/bindLoopContextToContent.d.ts.map +0 -1
- package/dist/bindings/bindLoopContextToContent.js +0 -15
- package/dist/bindings/bindLoopContextToContent.js.map +0 -1
- package/dist/bindings/bindingsByContent.d.ts +0 -5
- package/dist/bindings/bindingsByContent.d.ts.map +0 -1
- package/dist/bindings/bindingsByContent.js +0 -8
- package/dist/bindings/bindingsByContent.js.map +0 -1
- package/dist/bindings/collectNodesAndBindingInfos.d.ts +0 -6
- package/dist/bindings/collectNodesAndBindingInfos.d.ts.map +0 -1
- package/dist/bindings/collectNodesAndBindingInfos.js +0 -46
- package/dist/bindings/collectNodesAndBindingInfos.js.map +0 -1
- package/dist/bindings/getBindingInfos.d.ts +0 -4
- package/dist/bindings/getBindingInfos.d.ts.map +0 -1
- package/dist/bindings/getBindingInfos.js +0 -22
- package/dist/bindings/getBindingInfos.js.map +0 -1
- package/dist/bindings/getBindingsByNode.d.ts +0 -5
- package/dist/bindings/getBindingsByNode.d.ts.map +0 -1
- package/dist/bindings/getBindingsByNode.js +0 -17
- package/dist/bindings/getBindingsByNode.js.map +0 -1
- package/dist/bindings/getParseBindTextResults.d.ts +0 -3
- package/dist/bindings/getParseBindTextResults.d.ts.map +0 -1
- package/dist/bindings/getParseBindTextResults.js +0 -36
- package/dist/bindings/getParseBindTextResults.js.map +0 -1
- package/dist/bindings/getSubscriberNodes.d.ts +0 -7
- package/dist/bindings/getSubscriberNodes.d.ts.map +0 -1
- package/dist/bindings/getSubscriberNodes.js +0 -32
- package/dist/bindings/getSubscriberNodes.js.map +0 -1
- package/dist/bindings/indexBindingsByContent.d.ts +0 -5
- package/dist/bindings/indexBindingsByContent.d.ts.map +0 -1
- package/dist/bindings/indexBindingsByContent.js +0 -8
- package/dist/bindings/indexBindingsByContent.js.map +0 -1
- package/dist/bindings/initializeBindingPromiseByNode.d.ts +0 -5
- package/dist/bindings/initializeBindingPromiseByNode.d.ts.map +0 -1
- package/dist/bindings/initializeBindingPromiseByNode.js +0 -28
- package/dist/bindings/initializeBindingPromiseByNode.js.map +0 -1
- package/dist/bindings/initializeBindings.d.ts +0 -6
- package/dist/bindings/initializeBindings.d.ts.map +0 -1
- package/dist/bindings/initializeBindings.js +0 -59
- package/dist/bindings/initializeBindings.js.map +0 -1
- package/dist/bindings/nodesByContent.d.ts +0 -4
- package/dist/bindings/nodesByContent.d.ts.map +0 -1
- package/dist/bindings/nodesByContent.js +0 -8
- package/dist/bindings/nodesByContent.js.map +0 -1
- package/dist/bindings/parseCommentNode.d.ts +0 -3
- package/dist/bindings/parseCommentNode.d.ts.map +0 -1
- package/dist/bindings/parseCommentNode.js +0 -47
- package/dist/bindings/parseCommentNode.js.map +0 -1
- package/dist/bindings/replaceToReplaceNode.d.ts +0 -3
- package/dist/bindings/replaceToReplaceNode.d.ts.map +0 -1
- package/dist/bindings/replaceToReplaceNode.js +0 -13
- package/dist/bindings/replaceToReplaceNode.js.map +0 -1
- package/dist/bindings/types.d.ts +0 -11
- package/dist/bindings/types.d.ts.map +0 -1
- package/dist/bindings/types.js +0 -2
- package/dist/bindings/types.js.map +0 -1
- package/dist/bootstrapState.d.ts +0 -3
- package/dist/bootstrapState.d.ts.map +0 -1
- package/dist/bootstrapState.js +0 -9
- package/dist/bootstrapState.js.map +0 -1
- package/dist/buildBindings.d.ts +0 -2
- package/dist/buildBindings.d.ts.map +0 -1
- package/dist/buildBindings.js +0 -30
- package/dist/buildBindings.js.map +0 -1
- package/dist/cache/cacheEntryByAbsoluteStateAddress.d.ts +0 -6
- package/dist/cache/cacheEntryByAbsoluteStateAddress.d.ts.map +0 -1
- package/dist/cache/cacheEntryByAbsoluteStateAddress.js +0 -19
- package/dist/cache/cacheEntryByAbsoluteStateAddress.js.map +0 -1
- package/dist/cache/types.d.ts +0 -5
- package/dist/cache/types.d.ts.map +0 -1
- package/dist/cache/types.js +0 -2
- package/dist/cache/types.js.map +0 -1
- package/dist/components/State.d.ts +0 -83
- package/dist/components/State.d.ts.map +0 -1
- package/dist/components/State.js +0 -340
- package/dist/components/State.js.map +0 -1
- package/dist/components/types.d.ts +0 -26
- package/dist/components/types.d.ts.map +0 -1
- package/dist/components/types.js +0 -2
- package/dist/components/types.js.map +0 -1
- package/dist/config.d.ts +0 -4
- package/dist/config.d.ts.map +0 -1
- package/dist/config.js +0 -49
- package/dist/config.js.map +0 -1
- package/dist/createEmptyArray.d.ts +0 -2
- package/dist/createEmptyArray.d.ts.map +0 -1
- package/dist/createEmptyArray.js +0 -4
- package/dist/createEmptyArray.js.map +0 -1
- package/dist/createEmptySet.d.ts +0 -2
- package/dist/createEmptySet.d.ts.map +0 -1
- package/dist/createEmptySet.js +0 -4
- package/dist/createEmptySet.js.map +0 -1
- package/dist/define.d.ts +0 -14
- package/dist/define.d.ts.map +0 -1
- package/dist/define.js +0 -25
- package/dist/define.js.map +0 -1
- package/dist/dependency/types.d.ts +0 -2
- package/dist/dependency/types.d.ts.map +0 -1
- package/dist/dependency/types.js +0 -2
- package/dist/dependency/types.js.map +0 -1
- package/dist/dependency/walkDependency.d.ts +0 -6
- package/dist/dependency/walkDependency.d.ts.map +0 -1
- package/dist/dependency/walkDependency.js +0 -194
- package/dist/dependency/walkDependency.js.map +0 -1
- package/dist/event/checkboxHandler.d.ts +0 -14
- package/dist/event/checkboxHandler.d.ts.map +0 -1
- package/dist/event/checkboxHandler.js +0 -120
- package/dist/event/checkboxHandler.js.map +0 -1
- package/dist/event/handler.d.ts +0 -8
- package/dist/event/handler.d.ts.map +0 -1
- package/dist/event/handler.js +0 -81
- package/dist/event/handler.js.map +0 -1
- package/dist/event/isPossibleTwoWay.d.ts +0 -2
- package/dist/event/isPossibleTwoWay.d.ts.map +0 -1
- package/dist/event/isPossibleTwoWay.js +0 -29
- package/dist/event/isPossibleTwoWay.js.map +0 -1
- package/dist/event/radioHandler.d.ts +0 -14
- package/dist/event/radioHandler.d.ts.map +0 -1
- package/dist/event/radioHandler.js +0 -101
- package/dist/event/radioHandler.js.map +0 -1
- package/dist/event/twowayHandler.d.ts +0 -14
- package/dist/event/twowayHandler.d.ts.map +0 -1
- package/dist/event/twowayHandler.js +0 -100
- package/dist/event/twowayHandler.js.map +0 -1
- package/dist/exports.d.ts +0 -3
- package/dist/exports.d.ts.map +0 -1
- package/dist/exports.js +0 -2
- package/dist/exports.js.map +0 -1
- package/dist/filters/builtinFilters.d.ts +0 -16
- package/dist/filters/builtinFilters.d.ts.map +0 -1
- package/dist/filters/builtinFilters.js +0 -716
- package/dist/filters/builtinFilters.js.map +0 -1
- package/dist/filters/errorMessages.d.ts +0 -43
- package/dist/filters/errorMessages.d.ts.map +0 -1
- package/dist/filters/errorMessages.js +0 -72
- package/dist/filters/errorMessages.js.map +0 -1
- package/dist/filters/types.d.ts +0 -23
- package/dist/filters/types.d.ts.map +0 -1
- package/dist/filters/types.js +0 -2
- package/dist/filters/types.js.map +0 -1
- package/dist/getUUID.d.ts +0 -2
- package/dist/getUUID.d.ts.map +0 -1
- package/dist/getUUID.js +0 -5
- package/dist/getUUID.js.map +0 -1
- package/dist/hydrater/hydrate.d.ts +0 -1
- package/dist/hydrater/hydrate.d.ts.map +0 -1
- package/dist/hydrater/hydrate.js +0 -2
- package/dist/hydrater/hydrate.js.map +0 -1
- package/dist/isCustomElement.d.ts +0 -2
- package/dist/isCustomElement.d.ts.map +0 -1
- package/dist/isCustomElement.js +0 -26
- package/dist/isCustomElement.js.map +0 -1
- package/dist/list/createListDiff.d.ts +0 -13
- package/dist/list/createListDiff.d.ts.map +0 -1
- package/dist/list/createListDiff.js +0 -181
- package/dist/list/createListDiff.js.map +0 -1
- package/dist/list/createListIndex.d.ts +0 -10
- package/dist/list/createListIndex.d.ts.map +0 -1
- package/dist/list/createListIndex.js +0 -136
- package/dist/list/createListIndex.js.map +0 -1
- package/dist/list/getIndexValueByLoopContext.d.ts +0 -3
- package/dist/list/getIndexValueByLoopContext.d.ts.map +0 -1
- package/dist/list/getIndexValueByLoopContext.js +0 -18
- package/dist/list/getIndexValueByLoopContext.js.map +0 -1
- package/dist/list/getListIndexByBindingInfo.d.ts +0 -4
- package/dist/list/getListIndexByBindingInfo.d.ts.map +0 -1
- package/dist/list/getListIndexByBindingInfo.js +0 -32
- package/dist/list/getListIndexByBindingInfo.js.map +0 -1
- package/dist/list/lastListValueByAbsoluteStateAddress.d.ts +0 -6
- package/dist/list/lastListValueByAbsoluteStateAddress.d.ts.map +0 -1
- package/dist/list/lastListValueByAbsoluteStateAddress.js +0 -14
- package/dist/list/lastListValueByAbsoluteStateAddress.js.map +0 -1
- package/dist/list/listIndexesByList.d.ts +0 -4
- package/dist/list/listIndexesByList.d.ts.map +0 -1
- package/dist/list/listIndexesByList.js +0 -12
- package/dist/list/listIndexesByList.js.map +0 -1
- package/dist/list/loopContext.d.ts +0 -3
- package/dist/list/loopContext.d.ts.map +0 -1
- package/dist/list/loopContext.js +0 -54
- package/dist/list/loopContext.js.map +0 -1
- package/dist/list/loopContextByNode.d.ts +0 -4
- package/dist/list/loopContextByNode.d.ts.map +0 -1
- package/dist/list/loopContextByNode.js +0 -20
- package/dist/list/loopContextByNode.js.map +0 -1
- package/dist/list/types.d.ts +0 -38
- package/dist/list/types.d.ts.map +0 -1
- package/dist/list/types.js +0 -2
- package/dist/list/types.js.map +0 -1
- package/dist/mustache/convertMustacheToComments.d.ts +0 -2
- package/dist/mustache/convertMustacheToComments.d.ts.map +0 -1
- package/dist/mustache/convertMustacheToComments.js +0 -66
- package/dist/mustache/convertMustacheToComments.js.map +0 -1
- package/dist/polyfills.d.ts +0 -8
- package/dist/polyfills.d.ts.map +0 -1
- package/dist/polyfills.js +0 -22
- package/dist/polyfills.js.map +0 -1
- package/dist/proxy/StateHandler.d.ts +0 -32
- package/dist/proxy/StateHandler.d.ts.map +0 -1
- package/dist/proxy/StateHandler.js +0 -91
- package/dist/proxy/StateHandler.js.map +0 -1
- package/dist/proxy/apis/connectedCallback.d.ts +0 -18
- package/dist/proxy/apis/connectedCallback.d.ts.map +0 -1
- package/dist/proxy/apis/connectedCallback.js +0 -23
- package/dist/proxy/apis/connectedCallback.js.map +0 -1
- package/dist/proxy/apis/disconnectedCallback.d.ts +0 -17
- package/dist/proxy/apis/disconnectedCallback.d.ts.map +0 -1
- package/dist/proxy/apis/disconnectedCallback.js +0 -22
- package/dist/proxy/apis/disconnectedCallback.js.map +0 -1
- package/dist/proxy/apis/getAll.d.ts +0 -11
- package/dist/proxy/apis/getAll.d.ts.map +0 -1
- package/dist/proxy/apis/getAll.js +0 -87
- package/dist/proxy/apis/getAll.js.map +0 -1
- package/dist/proxy/apis/postUpdate.d.ts +0 -5
- package/dist/proxy/apis/postUpdate.d.ts.map +0 -1
- package/dist/proxy/apis/postUpdate.js +0 -30
- package/dist/proxy/apis/postUpdate.js.map +0 -1
- package/dist/proxy/apis/resolve.d.ts +0 -22
- package/dist/proxy/apis/resolve.d.ts.map +0 -1
- package/dist/proxy/apis/resolve.js +0 -65
- package/dist/proxy/apis/resolve.js.map +0 -1
- package/dist/proxy/apis/trackDependency.d.ts +0 -34
- package/dist/proxy/apis/trackDependency.d.ts.map +0 -1
- package/dist/proxy/apis/trackDependency.js +0 -32
- package/dist/proxy/apis/trackDependency.js.map +0 -1
- package/dist/proxy/apis/updatedCallback.d.ts +0 -28
- package/dist/proxy/apis/updatedCallback.d.ts.map +0 -1
- package/dist/proxy/apis/updatedCallback.js +0 -56
- package/dist/proxy/apis/updatedCallback.js.map +0 -1
- package/dist/proxy/methods/checkDependency.d.ts +0 -4
- package/dist/proxy/methods/checkDependency.d.ts.map +0 -1
- package/dist/proxy/methods/checkDependency.js +0 -16
- package/dist/proxy/methods/checkDependency.js.map +0 -1
- package/dist/proxy/methods/getByAddress.d.ts +0 -23
- package/dist/proxy/methods/getByAddress.d.ts.map +0 -1
- package/dist/proxy/methods/getByAddress.js +0 -81
- package/dist/proxy/methods/getByAddress.js.map +0 -1
- package/dist/proxy/methods/getContextListIndex.d.ts +0 -21
- package/dist/proxy/methods/getContextListIndex.d.ts.map +0 -1
- package/dist/proxy/methods/getContextListIndex.js +0 -32
- package/dist/proxy/methods/getContextListIndex.js.map +0 -1
- package/dist/proxy/methods/getListIndex.d.ts +0 -22
- package/dist/proxy/methods/getListIndex.d.ts.map +0 -1
- package/dist/proxy/methods/getListIndex.js +0 -55
- package/dist/proxy/methods/getListIndex.js.map +0 -1
- package/dist/proxy/methods/setByAddress.d.ts +0 -21
- package/dist/proxy/methods/setByAddress.d.ts.map +0 -1
- package/dist/proxy/methods/setByAddress.js +0 -135
- package/dist/proxy/methods/setByAddress.js.map +0 -1
- package/dist/proxy/methods/setLoopContext.d.ts +0 -22
- package/dist/proxy/methods/setLoopContext.d.ts.map +0 -1
- package/dist/proxy/methods/setLoopContext.js +0 -43
- package/dist/proxy/methods/setLoopContext.js.map +0 -1
- package/dist/proxy/methods/swapInfo.d.ts +0 -5
- package/dist/proxy/methods/swapInfo.d.ts.map +0 -1
- package/dist/proxy/methods/swapInfo.js +0 -13
- package/dist/proxy/methods/swapInfo.js.map +0 -1
- package/dist/proxy/methods/types.d.ts +0 -6
- package/dist/proxy/methods/types.d.ts.map +0 -1
- package/dist/proxy/methods/types.js +0 -2
- package/dist/proxy/methods/types.js.map +0 -1
- package/dist/proxy/symbols.d.ts +0 -8
- package/dist/proxy/symbols.d.ts.map +0 -1
- package/dist/proxy/symbols.js +0 -8
- package/dist/proxy/symbols.js.map +0 -1
- package/dist/proxy/traps/get.d.ts +0 -21
- package/dist/proxy/traps/get.d.ts.map +0 -1
- package/dist/proxy/traps/get.js +0 -120
- package/dist/proxy/traps/get.js.map +0 -1
- package/dist/proxy/traps/set.d.ts +0 -18
- package/dist/proxy/traps/set.d.ts.map +0 -1
- package/dist/proxy/traps/set.js +0 -31
- package/dist/proxy/traps/set.js.map +0 -1
- package/dist/proxy/types.d.ts +0 -27
- package/dist/proxy/types.d.ts.map +0 -1
- package/dist/proxy/types.js +0 -2
- package/dist/proxy/types.js.map +0 -1
- package/dist/raiseError.d.ts +0 -2
- package/dist/raiseError.d.ts.map +0 -1
- package/dist/raiseError.js +0 -4
- package/dist/raiseError.js.map +0 -1
- package/dist/registerComponents.d.ts +0 -2
- package/dist/registerComponents.d.ts.map +0 -1
- package/dist/registerComponents.js +0 -9
- package/dist/registerComponents.js.map +0 -1
- package/dist/stateElementByName.d.ts +0 -4
- package/dist/stateElementByName.d.ts.map +0 -1
- package/dist/stateElementByName.js +0 -53
- package/dist/stateElementByName.js.map +0 -1
- package/dist/stateLoader/loadFromInnerScript.d.ts +0 -3
- package/dist/stateLoader/loadFromInnerScript.d.ts.map +0 -1
- package/dist/stateLoader/loadFromInnerScript.js +0 -24
- package/dist/stateLoader/loadFromInnerScript.js.map +0 -1
- package/dist/stateLoader/loadFromJsonFile.d.ts +0 -3
- package/dist/stateLoader/loadFromJsonFile.d.ts.map +0 -1
- package/dist/stateLoader/loadFromJsonFile.js +0 -16
- package/dist/stateLoader/loadFromJsonFile.js.map +0 -1
- package/dist/stateLoader/loadFromScriptFile.d.ts +0 -3
- package/dist/stateLoader/loadFromScriptFile.d.ts.map +0 -1
- package/dist/stateLoader/loadFromScriptFile.js +0 -11
- package/dist/stateLoader/loadFromScriptFile.js.map +0 -1
- package/dist/stateLoader/loadFromScriptJson.d.ts +0 -3
- package/dist/stateLoader/loadFromScriptJson.d.ts.map +0 -1
- package/dist/stateLoader/loadFromScriptJson.js +0 -15
- package/dist/stateLoader/loadFromScriptJson.js.map +0 -1
- package/dist/structural/activateContent.d.ts +0 -6
- package/dist/structural/activateContent.d.ts.map +0 -1
- package/dist/structural/activateContent.js +0 -29
- package/dist/structural/activateContent.js.map +0 -1
- package/dist/structural/collectStructuralFragments.d.ts +0 -2
- package/dist/structural/collectStructuralFragments.d.ts.map +0 -1
- package/dist/structural/collectStructuralFragments.js +0 -160
- package/dist/structural/collectStructuralFragments.js.map +0 -1
- package/dist/structural/contentsByNode.d.ts +0 -5
- package/dist/structural/contentsByNode.d.ts.map +0 -1
- package/dist/structural/contentsByNode.js +0 -29
- package/dist/structural/contentsByNode.js.map +0 -1
- package/dist/structural/createContent.d.ts +0 -4
- package/dist/structural/createContent.d.ts.map +0 -1
- package/dist/structural/createContent.js +0 -92
- package/dist/structural/createContent.js.map +0 -1
- package/dist/structural/createNotFilter.d.ts +0 -3
- package/dist/structural/createNotFilter.d.ts.map +0 -1
- package/dist/structural/createNotFilter.js +0 -17
- package/dist/structural/createNotFilter.js.map +0 -1
- package/dist/structural/define.d.ts +0 -3
- package/dist/structural/define.d.ts.map +0 -1
- package/dist/structural/define.js +0 -7
- package/dist/structural/define.js.map +0 -1
- package/dist/structural/expandShorthandPaths.d.ts +0 -3
- package/dist/structural/expandShorthandPaths.d.ts.map +0 -1
- package/dist/structural/expandShorthandPaths.js +0 -96
- package/dist/structural/expandShorthandPaths.js.map +0 -1
- package/dist/structural/fragmentInfoByUUID.d.ts +0 -4
- package/dist/structural/fragmentInfoByUUID.d.ts.map +0 -1
- package/dist/structural/fragmentInfoByUUID.js +0 -30
- package/dist/structural/fragmentInfoByUUID.js.map +0 -1
- package/dist/structural/getFragmentNodeInfos.d.ts +0 -3
- package/dist/structural/getFragmentNodeInfos.d.ts.map +0 -1
- package/dist/structural/getFragmentNodeInfos.js +0 -16
- package/dist/structural/getFragmentNodeInfos.js.map +0 -1
- package/dist/structural/getNodePath.d.ts +0 -2
- package/dist/structural/getNodePath.d.ts.map +0 -1
- package/dist/structural/getNodePath.js +0 -12
- package/dist/structural/getNodePath.js.map +0 -1
- package/dist/structural/optimizeFragment.d.ts +0 -2
- package/dist/structural/optimizeFragment.d.ts.map +0 -1
- package/dist/structural/optimizeFragment.js +0 -13
- package/dist/structural/optimizeFragment.js.map +0 -1
- package/dist/structural/resolveNodePath.d.ts +0 -2
- package/dist/structural/resolveNodePath.d.ts.map +0 -1
- package/dist/structural/resolveNodePath.js +0 -13
- package/dist/structural/resolveNodePath.js.map +0 -1
- package/dist/structural/types.d.ts +0 -19
- package/dist/structural/types.d.ts.map +0 -1
- package/dist/structural/types.js +0 -2
- package/dist/structural/types.js.map +0 -1
- package/dist/types.d.ts +0 -35
- package/dist/types.d.ts.map +0 -1
- package/dist/types.js +0 -2
- package/dist/types.js.map +0 -1
- package/dist/updater/types.d.ts +0 -7
- package/dist/updater/types.d.ts.map +0 -1
- package/dist/updater/types.js +0 -2
- package/dist/updater/types.js.map +0 -1
- package/dist/updater/updater.d.ts +0 -14
- package/dist/updater/updater.d.ts.map +0 -1
- package/dist/updater/updater.js +0 -49
- package/dist/updater/updater.js.map +0 -1
- package/dist/version/types.d.ts +0 -5
- package/dist/version/types.d.ts.map +0 -1
- package/dist/version/types.js +0 -2
- package/dist/version/types.js.map +0 -1
- package/dist/version/version.d.ts +0 -3
- package/dist/version/version.d.ts.map +0 -1
- package/dist/version/version.js +0 -9
- package/dist/version/version.js.map +0 -1
- package/dist/waitForStateInitialize.d.ts +0 -2
- package/dist/waitForStateInitialize.d.ts.map +0 -1
- package/dist/waitForStateInitialize.js +0 -12
- package/dist/waitForStateInitialize.js.map +0 -1
- package/dist/webComponent/MappingRule.d.ts +0 -10
- package/dist/webComponent/MappingRule.d.ts.map +0 -1
- package/dist/webComponent/MappingRule.js +0 -120
- package/dist/webComponent/MappingRule.js.map +0 -1
- package/dist/webComponent/bindWebComponent.d.ts +0 -3
- package/dist/webComponent/bindWebComponent.d.ts.map +0 -1
- package/dist/webComponent/bindWebComponent.js +0 -49
- package/dist/webComponent/bindWebComponent.js.map +0 -1
- package/dist/webComponent/completeWebComponent.d.ts +0 -4
- package/dist/webComponent/completeWebComponent.d.ts.map +0 -1
- package/dist/webComponent/completeWebComponent.js +0 -17
- package/dist/webComponent/completeWebComponent.js.map +0 -1
- package/dist/webComponent/innerState.d.ts +0 -3
- package/dist/webComponent/innerState.d.ts.map +0 -1
- package/dist/webComponent/innerState.js +0 -120
- package/dist/webComponent/innerState.js.map +0 -1
- package/dist/webComponent/lastValueByAbsoluteStateAddress.d.ts +0 -4
- package/dist/webComponent/lastValueByAbsoluteStateAddress.d.ts.map +0 -1
- package/dist/webComponent/lastValueByAbsoluteStateAddress.js +0 -10
- package/dist/webComponent/lastValueByAbsoluteStateAddress.js.map +0 -1
- package/dist/webComponent/meltFrozenObject.d.ts +0 -2
- package/dist/webComponent/meltFrozenObject.d.ts.map +0 -1
- package/dist/webComponent/meltFrozenObject.js +0 -17
- package/dist/webComponent/meltFrozenObject.js.map +0 -1
- package/dist/webComponent/outerState.d.ts +0 -3
- package/dist/webComponent/outerState.d.ts.map +0 -1
- package/dist/webComponent/outerState.js +0 -41
- package/dist/webComponent/outerState.js.map +0 -1
- package/dist/webComponent/plainOuterState.d.ts +0 -3
- package/dist/webComponent/plainOuterState.d.ts.map +0 -1
- package/dist/webComponent/plainOuterState.js +0 -36
- package/dist/webComponent/plainOuterState.js.map +0 -1
- package/dist/webComponent/stateElementByWebComponent.d.ts +0 -4
- package/dist/webComponent/stateElementByWebComponent.d.ts.map +0 -1
- package/dist/webComponent/stateElementByWebComponent.js +0 -17
- package/dist/webComponent/stateElementByWebComponent.js.map +0 -1
- package/dist/webComponent/types.d.ts +0 -3
- package/dist/webComponent/types.d.ts.map +0 -1
- package/dist/webComponent/types.js +0 -2
- package/dist/webComponent/types.js.map +0 -1
package/README.ja.md
CHANGED
|
@@ -1,7 +1,12 @@
|
|
|
1
1
|
# @wcstack/state
|
|
2
2
|
|
|
3
|
-
|
|
4
|
-
|
|
3
|
+
**もしHTMLにリアクティブなデータバインディングがあったら?**
|
|
4
|
+
|
|
5
|
+
ブラウザが状態をネイティブに理解する未来を妄想してみる。データをインラインで宣言し、属性でDOMにバインドすれば、すべてが自動で同期する。仮想DOMもコンパイルも不要。ただのHTMLが、勝手にリアクティブになる。
|
|
6
|
+
|
|
7
|
+
それが `<wcs-state>` と `data-wcs` の探求するもの。CDN一発、依存ゼロ、構文はHTML。
|
|
8
|
+
|
|
9
|
+
CDNスクリプトはカスタム要素の定義を登録するだけ — ロード時にはそれ以外何も起きない。`<wcs-state>` 要素がDOMに接続されたとき、状態ソースを読み取り、兄弟要素の `data-wcs` バインディングを走査し、リアクティビティを構築する。すべての初期化は要素のライフサイクルが駆動する。あなたのコードではなく。
|
|
5
10
|
|
|
6
11
|
## 特徴
|
|
7
12
|
|
|
@@ -300,6 +305,8 @@ property[#modifier]: path[@state][|filter[|filter(args)...]]
|
|
|
300
305
|
</template>
|
|
301
306
|
```
|
|
302
307
|
|
|
308
|
+
`for:` ディレクティブは**値ベースの差分アルゴリズム**を使用します。配列の各要素の値そのものが識別キーとして機能するため、React の `key` や Vue の `:key` のような明示的なキー属性は不要です。配列が再代入されると、差分アルゴリズムが新旧の要素を値で照合し、変更のない要素の DOM ノードを再利用しつつ、追加・削除・並び替えを効率的に処理します。
|
|
309
|
+
|
|
303
310
|
#### ドット省略記法
|
|
304
311
|
|
|
305
312
|
`for` ループ内では、`.` で始まるパスがループの配列パスを基準に展開されます:
|
|
@@ -827,6 +834,15 @@ export default {
|
|
|
827
834
|
|
|
828
835
|
`@wcstack/state` は Shadow DOM または Light DOM を使用したカスタム要素との双方向状態バインディングに対応しています。
|
|
829
836
|
|
|
837
|
+
多くのフレームワークは状態をコンポーネントに密結合させるため、ツリーをまたぐデータ共有には props バケツリレー、Context Provider、外部ストア(Redux, Pinia)といったパターンを強いられます。`@wcstack/state` では、親子コンポーネントは**パスの契約**で接続されます。親は `data-wcs` で外部の状態パスを子コンポーネントのプロパティにバインドし、子は自身の状態を通常どおり読み書きするだけです:
|
|
838
|
+
|
|
839
|
+
1. 子コンポーネントは自身の状態プロキシを通じて親の状態を参照・更新します — props もイベントも親の存在を意識する必要もありません。
|
|
840
|
+
2. 親の状態が変更されると、Proxy の `set` トラップが影響するパスを参照している子のバインディングへ自動的に通知します。
|
|
841
|
+
3. 結合点は**パス名のみ**であるため、双方とも疎結合を保ち、独立してテスト可能です。
|
|
842
|
+
4. コストはパス解決(初回アクセス後はキャッシュにより O(1))と依存グラフを通じた変更伝播のみです。
|
|
843
|
+
|
|
844
|
+
これは、他のフレームワークがますます複雑な抽象化で回避してきたコンポーネント間状態管理の問題に対する具体的な解法です。
|
|
845
|
+
|
|
830
846
|
### コンポーネント定義(Shadow DOM)
|
|
831
847
|
|
|
832
848
|
```javascript
|
|
@@ -982,6 +998,8 @@ customElements.define("my-component", MyComponent);
|
|
|
982
998
|
| `$disconnectedCallback` | 要素が DOM から削除された時 | 不可(同期のみ) |
|
|
983
999
|
| `$updatedCallback(paths, indexesListByPath)` | 状態変更が適用された後に呼び出し | 戻り値は未使用(待機されない) |
|
|
984
1000
|
|
|
1001
|
+
リアクティブ Proxy は全てのプロパティ代入を変更として検知するため、標準の `async/await` とプロパティへの直接代入だけで非同期処理は完結します。ローディングフラグ、取得データ、エラーメッセージの更新は全てプロパティ代入です。React の Suspense や専用のローディング状態プリミティブのような抽象化は不要です。
|
|
1002
|
+
|
|
985
1003
|
- フック内の `this` は読み書き可能な状態プロキシです
|
|
986
1004
|
- `$connectedCallback` は要素が接続される**たびに**呼ばれます(削除後の再接続を含む)。再確立が必要なセットアップ処理に適しています
|
|
987
1005
|
- `$disconnectedCallback` は同期的に呼び出されます — タイマーのクリア、イベントリスナーの削除、リソースの解放などのクリーンアップに使用します
|
package/README.md
CHANGED
|
@@ -1,7 +1,12 @@
|
|
|
1
1
|
# @wcstack/state
|
|
2
2
|
|
|
3
|
-
|
|
4
|
-
|
|
3
|
+
**What if HTML had reactive data binding?**
|
|
4
|
+
|
|
5
|
+
Imagine a future where the browser natively understands state — you declare data inline, bind it to the DOM with attributes, and everything stays in sync. No virtual DOM, no compilation, no framework. Just HTML that reacts.
|
|
6
|
+
|
|
7
|
+
That's what `<wcs-state>` and `data-wcs` explore. One CDN import, zero dependencies, pure HTML syntax.
|
|
8
|
+
|
|
9
|
+
The CDN script only registers the custom element definition — nothing else happens at load time. When a `<wcs-state>` element connects to the DOM, it reads its state source, scans sibling elements for `data-wcs` bindings, and wires up reactivity. All initialization is driven by the element's lifecycle, not by your code.
|
|
5
10
|
|
|
6
11
|
## Features
|
|
7
12
|
|
|
@@ -300,6 +305,8 @@ Structural directives use `<template>` elements:
|
|
|
300
305
|
</template>
|
|
301
306
|
```
|
|
302
307
|
|
|
308
|
+
The `for:` directive uses a **value-based diff algorithm** — each array element's value itself serves as the identity key. There is no need for an explicit `key` attribute (like React's `key` or Vue's `:key`). When the array is reassigned, the differ matches old and new elements by value, reusing existing DOM nodes for unchanged items and efficiently adding, removing, or reordering the rest.
|
|
309
|
+
|
|
303
310
|
#### Dot Shorthand
|
|
304
311
|
|
|
305
312
|
Inside a `for` loop, paths starting with `.` are expanded relative to the loop's array path:
|
|
@@ -827,6 +834,15 @@ Filters can be chained with `|`:
|
|
|
827
834
|
|
|
828
835
|
`@wcstack/state` supports bidirectional state binding with custom elements using Shadow DOM or Light DOM.
|
|
829
836
|
|
|
837
|
+
Most frameworks tightly couple state to components, forcing patterns like prop drilling, context providers, or external stores (Redux, Pinia) just to share data across the tree. In `@wcstack/state`, parent and child components are connected through **path contracts** — the parent binds an outer state path to an inner component property via `data-wcs`, and the child simply reads and writes its own state as usual:
|
|
838
|
+
|
|
839
|
+
1. The child references and updates the parent's state through its own state proxy — no props, no events, no awareness of the parent.
|
|
840
|
+
2. When the parent's state changes, the Proxy `set` trap automatically notifies any child bindings that reference the affected path.
|
|
841
|
+
3. Because the only coupling is the **path name**, both sides remain loosely coupled and independently testable.
|
|
842
|
+
4. The cost is path resolution (cached at O(1) after first access) plus change propagation through the dependency graph.
|
|
843
|
+
|
|
844
|
+
This provides a concrete solution to cross-component state management that other frameworks have been working around with increasingly complex abstractions.
|
|
845
|
+
|
|
830
846
|
### Component Definition (Shadow DOM)
|
|
831
847
|
|
|
832
848
|
```javascript
|
|
@@ -982,6 +998,8 @@ State objects can define `$connectedCallback`, `$disconnectedCallback`, and `$up
|
|
|
982
998
|
| `$disconnectedCallback` | When the element is removed from the DOM | No (sync only) |
|
|
983
999
|
| `$updatedCallback(paths, indexesListByPath)` | After state updates are applied | Return value is ignored (not awaited) |
|
|
984
1000
|
|
|
1001
|
+
Since the reactive proxy detects every property assignment as a change, standard `async/await` with direct property updates is sufficient for asynchronous operations — loading flags, fetched data, and error messages are all just property assignments. There is no need for abstractions like React Suspense or dedicated loading-state primitives.
|
|
1002
|
+
|
|
985
1003
|
- `this` inside hooks is the state proxy with full read/write access
|
|
986
1004
|
- `$connectedCallback` is called **every time** the element is connected (including re-insertion after removal), making it suitable for setup that should be re-established
|
|
987
1005
|
- `$disconnectedCallback` is called synchronously — use it for cleanup such as clearing timers, removing event listeners, or releasing resources
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@wcstack/state",
|
|
3
|
-
"version": "1.3.
|
|
3
|
+
"version": "1.3.15",
|
|
4
4
|
"description": "Reactive state management with declarative data binding for Web Components. Zero dependencies, buildless.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "./dist/index.esm.js",
|
|
@@ -10,14 +10,15 @@
|
|
|
10
10
|
".": {
|
|
11
11
|
"types": "./dist/index.d.ts",
|
|
12
12
|
"import": "./dist/index.esm.js"
|
|
13
|
-
}
|
|
13
|
+
},
|
|
14
|
+
"./auto": "./dist/auto.min.js"
|
|
14
15
|
},
|
|
15
16
|
"files": [
|
|
16
17
|
"dist"
|
|
17
18
|
],
|
|
18
19
|
"scripts": {
|
|
19
|
-
"clean": "rimraf dist",
|
|
20
|
-
"build": "rimraf dist && tsc && rollup -c",
|
|
20
|
+
"clean": "rimraf dist .tsc-out",
|
|
21
|
+
"build": "rimraf dist .tsc-out && tsc && rollup -c",
|
|
21
22
|
"test": "vitest run",
|
|
22
23
|
"test:watch": "vitest",
|
|
23
24
|
"test:coverage": "vitest run --coverage",
|
|
@@ -1,4 +0,0 @@
|
|
|
1
|
-
import { IStateElement } from "../components/types";
|
|
2
|
-
import { IAbsolutePathInfo, IPathInfo } from "./types";
|
|
3
|
-
export declare function getAbsolutePathInfo(stateElement: IStateElement, pathInfo: IPathInfo): IAbsolutePathInfo;
|
|
4
|
-
//# sourceMappingURL=AbsolutePathInfo.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"AbsolutePathInfo.d.ts","sourceRoot":"","sources":["../../src/address/AbsolutePathInfo.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,EAAE,iBAAiB,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AAIvD,wBAAgB,mBAAmB,CAAC,YAAY,EAAE,aAAa,EAAE,QAAQ,EAAE,SAAS,GAAG,iBAAiB,CAYvG"}
|
|
@@ -1,33 +0,0 @@
|
|
|
1
|
-
const _cache = new WeakMap();
|
|
2
|
-
export function getAbsolutePathInfo(stateElement, pathInfo) {
|
|
3
|
-
if (_cache.has(stateElement)) {
|
|
4
|
-
const pathMap = _cache.get(stateElement);
|
|
5
|
-
if (pathMap.has(pathInfo)) {
|
|
6
|
-
return pathMap.get(pathInfo);
|
|
7
|
-
}
|
|
8
|
-
}
|
|
9
|
-
else {
|
|
10
|
-
_cache.set(stateElement, new WeakMap());
|
|
11
|
-
}
|
|
12
|
-
const absolutePathInfo = Object.freeze(new AbsolutePathInfo(stateElement, pathInfo));
|
|
13
|
-
_cache.get(stateElement).set(pathInfo, absolutePathInfo);
|
|
14
|
-
return absolutePathInfo;
|
|
15
|
-
}
|
|
16
|
-
class AbsolutePathInfo {
|
|
17
|
-
pathInfo;
|
|
18
|
-
stateName;
|
|
19
|
-
stateElement;
|
|
20
|
-
parentAbsolutePathInfo;
|
|
21
|
-
constructor(stateElement, pathInfo) {
|
|
22
|
-
this.pathInfo = pathInfo;
|
|
23
|
-
this.stateName = stateElement.name;
|
|
24
|
-
this.stateElement = stateElement;
|
|
25
|
-
if (pathInfo.parentPathInfo === null) {
|
|
26
|
-
this.parentAbsolutePathInfo = null;
|
|
27
|
-
}
|
|
28
|
-
else {
|
|
29
|
-
this.parentAbsolutePathInfo = getAbsolutePathInfo(stateElement, pathInfo.parentPathInfo);
|
|
30
|
-
}
|
|
31
|
-
}
|
|
32
|
-
}
|
|
33
|
-
//# sourceMappingURL=AbsolutePathInfo.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"AbsolutePathInfo.js","sourceRoot":"","sources":["../../src/address/AbsolutePathInfo.ts"],"names":[],"mappings":"AAGA,MAAM,MAAM,GAAkE,IAAI,OAAO,EAAE,CAAC;AAE5F,MAAM,UAAU,mBAAmB,CAAC,YAA2B,EAAE,QAAmB;IAClF,IAAI,MAAM,CAAC,GAAG,CAAC,YAAY,CAAC,EAAE,CAAC;QAC7B,MAAM,OAAO,GAAG,MAAM,CAAC,GAAG,CAAC,YAAY,CAAE,CAAC;QAC1C,IAAI,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC1B,OAAO,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAE,CAAC;QAChC,CAAC;IACH,CAAC;SAAM,CAAC;QACN,MAAM,CAAC,GAAG,CAAC,YAAY,EAAE,IAAI,OAAO,EAAE,CAAC,CAAC;IAC1C,CAAC;IACD,MAAM,gBAAgB,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,gBAAgB,CAAC,YAAY,EAAE,QAAQ,CAAC,CAAC,CAAC;IACrF,MAAM,CAAC,GAAG,CAAC,YAAY,CAAE,CAAC,GAAG,CAAC,QAAQ,EAAE,gBAAgB,CAAC,CAAC;IAC1D,OAAO,gBAAgB,CAAC;AAC1B,CAAC;AAED,MAAM,gBAAgB;IACX,QAAQ,CAAY;IACpB,SAAS,CAAS;IAClB,YAAY,CAAgB;IAC5B,sBAAsB,CAA2B;IAC1D,YAAY,YAA2B,EAAE,QAAmB;QAC1D,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;QACzB,IAAI,CAAC,SAAS,GAAG,YAAY,CAAC,IAAI,CAAC;QACnC,IAAI,CAAC,YAAY,GAAG,YAAY,CAAC;QACjC,IAAI,QAAQ,CAAC,cAAc,KAAK,IAAI,EAAE,CAAC;YACrC,IAAI,CAAC,sBAAsB,GAAG,IAAI,CAAC;QACrC,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,sBAAsB,GAAG,mBAAmB,CAAC,YAAY,EAAE,QAAQ,CAAC,cAAc,CAAC,CAAC;QAC3F,CAAC;IACH,CAAC;CACF"}
|
|
@@ -1,4 +0,0 @@
|
|
|
1
|
-
import { IListIndex } from "../list/types";
|
|
2
|
-
import { IAbsolutePathInfo, IAbsoluteStateAddress } from "./types";
|
|
3
|
-
export declare function createAbsoluteStateAddress(absolutePathInfo: IAbsolutePathInfo, listIndex: IListIndex | null): IAbsoluteStateAddress;
|
|
4
|
-
//# sourceMappingURL=AbsoluteStateAddress.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"AbsoluteStateAddress.d.ts","sourceRoot":"","sources":["../../src/address/AbsoluteStateAddress.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAC3C,OAAO,EAAE,iBAAiB,EAAE,qBAAqB,EAAE,MAAM,SAAS,CAAC;AAqCnE,wBAAgB,0BAA0B,CAAC,gBAAgB,EAAE,iBAAiB,EAAE,SAAS,EAAE,UAAU,GAAG,IAAI,GAAG,qBAAqB,CAuBnI"}
|
|
@@ -1,56 +0,0 @@
|
|
|
1
|
-
import { WILDCARD } from "../define";
|
|
2
|
-
const _cache = new WeakMap();
|
|
3
|
-
const _cacheNullListIndex = new WeakMap();
|
|
4
|
-
class AbsoluteStateAddress {
|
|
5
|
-
absolutePathInfo;
|
|
6
|
-
listIndex;
|
|
7
|
-
_parentAbsoluteAddress;
|
|
8
|
-
constructor(absolutePathInfo, listIndex) {
|
|
9
|
-
this.absolutePathInfo = absolutePathInfo;
|
|
10
|
-
this.listIndex = listIndex;
|
|
11
|
-
}
|
|
12
|
-
get parentAbsoluteAddress() {
|
|
13
|
-
if (typeof this._parentAbsoluteAddress !== 'undefined') {
|
|
14
|
-
return this._parentAbsoluteAddress;
|
|
15
|
-
}
|
|
16
|
-
const parentAbsolutePathInfo = this.absolutePathInfo.parentAbsolutePathInfo;
|
|
17
|
-
if (parentAbsolutePathInfo === null) {
|
|
18
|
-
return null;
|
|
19
|
-
}
|
|
20
|
-
const lastSegment = this.absolutePathInfo.pathInfo.segments[this.absolutePathInfo.pathInfo.segments.length - 1];
|
|
21
|
-
let parentListIndex = null;
|
|
22
|
-
if (lastSegment === WILDCARD) {
|
|
23
|
-
parentListIndex = this.listIndex?.parentListIndex ?? null;
|
|
24
|
-
}
|
|
25
|
-
else {
|
|
26
|
-
parentListIndex = this.listIndex;
|
|
27
|
-
}
|
|
28
|
-
return this._parentAbsoluteAddress = createAbsoluteStateAddress(parentAbsolutePathInfo, parentListIndex);
|
|
29
|
-
}
|
|
30
|
-
}
|
|
31
|
-
export function createAbsoluteStateAddress(absolutePathInfo, listIndex) {
|
|
32
|
-
if (listIndex === null) {
|
|
33
|
-
let cached = _cacheNullListIndex.get(absolutePathInfo);
|
|
34
|
-
if (typeof cached !== "undefined") {
|
|
35
|
-
return cached;
|
|
36
|
-
}
|
|
37
|
-
cached = new AbsoluteStateAddress(absolutePathInfo, null);
|
|
38
|
-
_cacheNullListIndex.set(absolutePathInfo, cached);
|
|
39
|
-
return cached;
|
|
40
|
-
}
|
|
41
|
-
else {
|
|
42
|
-
let cacheByAbsolutePathInfo = _cache.get(listIndex);
|
|
43
|
-
if (typeof cacheByAbsolutePathInfo === "undefined") {
|
|
44
|
-
cacheByAbsolutePathInfo = new WeakMap();
|
|
45
|
-
_cache.set(listIndex, cacheByAbsolutePathInfo);
|
|
46
|
-
}
|
|
47
|
-
let cached = cacheByAbsolutePathInfo.get(absolutePathInfo);
|
|
48
|
-
if (typeof cached !== "undefined") {
|
|
49
|
-
return cached;
|
|
50
|
-
}
|
|
51
|
-
cached = new AbsoluteStateAddress(absolutePathInfo, listIndex);
|
|
52
|
-
cacheByAbsolutePathInfo.set(absolutePathInfo, cached);
|
|
53
|
-
return cached;
|
|
54
|
-
}
|
|
55
|
-
}
|
|
56
|
-
//# sourceMappingURL=AbsoluteStateAddress.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"AbsoluteStateAddress.js","sourceRoot":"","sources":["../../src/address/AbsoluteStateAddress.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AAIrC,MAAM,MAAM,GAA2E,IAAI,OAAO,EAAE,CAAC;AACrG,MAAM,mBAAmB,GAAsD,IAAI,OAAO,EAAE,CAAC;AAE7F,MAAM,oBAAoB;IACf,gBAAgB,CAAoB;IACpC,SAAS,CAAoB;IAC9B,sBAAsB,CAA2C;IAEzE,YAAY,gBAAmC,EAAE,SAA4B;QAC3E,IAAI,CAAC,gBAAgB,GAAG,gBAAgB,CAAC;QACzC,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;IAC7B,CAAC;IAED,IAAI,qBAAqB;QACvB,IAAI,OAAO,IAAI,CAAC,sBAAsB,KAAK,WAAW,EAAE,CAAC;YACvD,OAAO,IAAI,CAAC,sBAAsB,CAAC;QACrC,CAAC;QACD,MAAM,sBAAsB,GAAG,IAAI,CAAC,gBAAgB,CAAC,sBAAsB,CAAC;QAC5E,IAAI,sBAAsB,KAAK,IAAI,EAAE,CAAC;YACpC,OAAO,IAAI,CAAC;QACd,CAAC;QACD,MAAM,WAAW,GAAG,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QAChH,IAAI,eAAe,GAAsB,IAAI,CAAC;QAC9C,IAAI,WAAW,KAAK,QAAQ,EAAE,CAAC;YAC7B,eAAe,GAAG,IAAI,CAAC,SAAS,EAAE,eAAe,IAAI,IAAI,CAAC;QAC5D,CAAC;aAAM,CAAC;YACN,eAAe,GAAG,IAAI,CAAC,SAAS,CAAC;QACnC,CAAC;QACD,OAAO,IAAI,CAAC,sBAAsB,GAAG,0BAA0B,CAC7D,sBAAsB,EACtB,eAAe,CAChB,CAAC;IACJ,CAAC;CACF;AAED,MAAM,UAAU,0BAA0B,CAAC,gBAAmC,EAAE,SAA4B;IAC1G,IAAI,SAAS,KAAK,IAAI,EAAE,CAAC;QACvB,IAAI,MAAM,GAAG,mBAAmB,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC;QACvD,IAAI,OAAO,MAAM,KAAK,WAAW,EAAE,CAAC;YAClC,OAAO,MAAM,CAAC;QAChB,CAAC;QACD,MAAM,GAAG,IAAI,oBAAoB,CAAC,gBAAgB,EAAE,IAAI,CAAC,CAAC;QAC1D,mBAAmB,CAAC,GAAG,CAAC,gBAAgB,EAAE,MAAM,CAAC,CAAC;QAClD,OAAO,MAAM,CAAC;IAChB,CAAC;SAAM,CAAC;QACN,IAAI,uBAAuB,GAAG,MAAM,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QACpD,IAAI,OAAO,uBAAuB,KAAK,WAAW,EAAE,CAAC;YACnD,uBAAuB,GAAG,IAAI,OAAO,EAA4C,CAAC;YAClF,MAAM,CAAC,GAAG,CAAC,SAAS,EAAE,uBAAuB,CAAC,CAAC;QACjD,CAAC;QACD,IAAI,MAAM,GAAG,uBAAuB,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC;QAC3D,IAAI,OAAO,MAAM,KAAK,WAAW,EAAE,CAAC;YAClC,OAAO,MAAM,CAAC;QAChB,CAAC;QACD,MAAM,GAAG,IAAI,oBAAoB,CAAC,gBAAgB,EAAE,SAAS,CAAC,CAAC;QAC/D,uBAAuB,CAAC,GAAG,CAAC,gBAAgB,EAAE,MAAM,CAAC,CAAC;QACtD,OAAO,MAAM,CAAC;IAChB,CAAC;AACH,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"PathInfo.d.ts","sourceRoot":"","sources":["../../src/address/PathInfo.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAKvC,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,SAAS,CAQnD"}
|
package/dist/address/PathInfo.js
DELETED
|
@@ -1,104 +0,0 @@
|
|
|
1
|
-
import { WILDCARD } from "../define.js";
|
|
2
|
-
const _cache = new Map();
|
|
3
|
-
let id = 0;
|
|
4
|
-
export function getPathInfo(path) {
|
|
5
|
-
let pathInfo = _cache.get(path);
|
|
6
|
-
if (typeof pathInfo !== "undefined") {
|
|
7
|
-
return pathInfo;
|
|
8
|
-
}
|
|
9
|
-
pathInfo = Object.freeze(new PathInfo(path));
|
|
10
|
-
_cache.set(path, pathInfo);
|
|
11
|
-
return pathInfo;
|
|
12
|
-
}
|
|
13
|
-
class PathInfo {
|
|
14
|
-
id = ++id;
|
|
15
|
-
path;
|
|
16
|
-
segments;
|
|
17
|
-
lastSegment;
|
|
18
|
-
cumulativePaths;
|
|
19
|
-
cumulativePathSet;
|
|
20
|
-
cumulativePathInfos;
|
|
21
|
-
cumulativePathInfoSet;
|
|
22
|
-
parentPath;
|
|
23
|
-
wildcardPaths;
|
|
24
|
-
wildcardPathSet;
|
|
25
|
-
indexByWildcardPath;
|
|
26
|
-
wildcardPathInfos;
|
|
27
|
-
wildcardPathInfoSet;
|
|
28
|
-
wildcardParentPaths;
|
|
29
|
-
wildcardParentPathSet;
|
|
30
|
-
wildcardParentPathInfos;
|
|
31
|
-
wildcardParentPathInfoSet;
|
|
32
|
-
wildcardPositions;
|
|
33
|
-
lastWildcardPath;
|
|
34
|
-
lastWildcardInfo;
|
|
35
|
-
wildcardCount;
|
|
36
|
-
parentPathInfo;
|
|
37
|
-
constructor(path) {
|
|
38
|
-
// Helper to get or create StructuredPathInfo instances, avoiding redundant creation for self-reference
|
|
39
|
-
const getPattern = (_path) => {
|
|
40
|
-
return (path === _path) ? this : getPathInfo(_path);
|
|
41
|
-
};
|
|
42
|
-
// Split the pattern into individual path segments (e.g., "items.*.name" → ["items", "*", "name"])
|
|
43
|
-
const segments = path.split(".");
|
|
44
|
-
// Arrays to track all cumulative paths from root to each segment
|
|
45
|
-
const cumulativePaths = [];
|
|
46
|
-
const cumulativePathInfos = [];
|
|
47
|
-
// Arrays to track wildcard-specific information
|
|
48
|
-
const wildcardPaths = [];
|
|
49
|
-
const indexByWildcardPath = {}; // Maps wildcard path to its index position
|
|
50
|
-
const wildcardPathInfos = [];
|
|
51
|
-
const wildcardParentPaths = []; // Paths of parent segments for each wildcard
|
|
52
|
-
const wildcardParentPathInfos = [];
|
|
53
|
-
const wildcardPositions = [];
|
|
54
|
-
let currentPatternPath = "", prevPatternPath = "";
|
|
55
|
-
let wildcardCount = 0;
|
|
56
|
-
// Iterate through each segment to build cumulative paths and identify wildcards
|
|
57
|
-
for (let i = 0; i < segments.length; i++) {
|
|
58
|
-
currentPatternPath += segments[i];
|
|
59
|
-
// If this segment is a wildcard, track it with all wildcard-specific metadata
|
|
60
|
-
if (segments[i] === WILDCARD) {
|
|
61
|
-
wildcardPaths.push(currentPatternPath);
|
|
62
|
-
indexByWildcardPath[currentPatternPath] = wildcardCount; // Store wildcard's ordinal position
|
|
63
|
-
wildcardPathInfos.push(getPattern(currentPatternPath));
|
|
64
|
-
wildcardParentPaths.push(prevPatternPath); // Parent path is the previous cumulative path
|
|
65
|
-
wildcardParentPathInfos.push(getPattern(prevPatternPath));
|
|
66
|
-
wildcardPositions.push(i);
|
|
67
|
-
wildcardCount++;
|
|
68
|
-
}
|
|
69
|
-
// Track all cumulative paths for hierarchical navigation (e.g., "items", "items.*", "items.*.name")
|
|
70
|
-
cumulativePaths.push(currentPatternPath);
|
|
71
|
-
cumulativePathInfos.push(getPattern(currentPatternPath));
|
|
72
|
-
// Save current path as previous for next iteration, then add separator
|
|
73
|
-
prevPatternPath = currentPatternPath;
|
|
74
|
-
currentPatternPath += ".";
|
|
75
|
-
}
|
|
76
|
-
// Determine the deepest (last) wildcard path and the parent path of the entire pattern
|
|
77
|
-
const lastWildcardPath = wildcardPaths.length > 0 ? wildcardPaths[wildcardPaths.length - 1] : null;
|
|
78
|
-
const parentPath = cumulativePaths.length > 1 ? cumulativePaths[cumulativePaths.length - 2] : null;
|
|
79
|
-
// Assign all analyzed data to readonly properties
|
|
80
|
-
this.path = path;
|
|
81
|
-
this.segments = segments;
|
|
82
|
-
this.lastSegment = segments[segments.length - 1];
|
|
83
|
-
this.cumulativePaths = cumulativePaths;
|
|
84
|
-
this.cumulativePathSet = new Set(cumulativePaths); // Set for fast lookup
|
|
85
|
-
this.cumulativePathInfos = cumulativePathInfos;
|
|
86
|
-
this.cumulativePathInfoSet = new Set(cumulativePathInfos);
|
|
87
|
-
this.wildcardPaths = wildcardPaths;
|
|
88
|
-
this.wildcardPathSet = new Set(wildcardPaths);
|
|
89
|
-
this.indexByWildcardPath = indexByWildcardPath;
|
|
90
|
-
this.wildcardPathInfos = wildcardPathInfos;
|
|
91
|
-
this.wildcardPathInfoSet = new Set(wildcardPathInfos);
|
|
92
|
-
this.wildcardParentPaths = wildcardParentPaths;
|
|
93
|
-
this.wildcardParentPathSet = new Set(wildcardParentPaths);
|
|
94
|
-
this.wildcardParentPathInfos = wildcardParentPathInfos;
|
|
95
|
-
this.wildcardParentPathInfoSet = new Set(wildcardParentPathInfos);
|
|
96
|
-
this.wildcardPositions = wildcardPositions;
|
|
97
|
-
this.lastWildcardPath = lastWildcardPath;
|
|
98
|
-
this.lastWildcardInfo = lastWildcardPath ? getPattern(lastWildcardPath) : null;
|
|
99
|
-
this.parentPath = parentPath;
|
|
100
|
-
this.parentPathInfo = parentPath ? getPattern(parentPath) : null;
|
|
101
|
-
this.wildcardCount = wildcardCount;
|
|
102
|
-
}
|
|
103
|
-
}
|
|
104
|
-
//# sourceMappingURL=PathInfo.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"PathInfo.js","sourceRoot":"","sources":["../../src/address/PathInfo.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,31 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* getResolvedPathInfo.ts
|
|
3
|
-
*
|
|
4
|
-
* Utility for parsing and generating detailed path information (IResolvedPathInfo)
|
|
5
|
-
* from State property names (path strings), including wildcard and index information.
|
|
6
|
-
*
|
|
7
|
-
* Main responsibilities:
|
|
8
|
-
* - Breaks down property names to determine presence and type of wildcards and indexes
|
|
9
|
-
* - Automatically determines wildcard type: context/all/partial/none
|
|
10
|
-
* - Caches by path for reusability and performance
|
|
11
|
-
* - Retrieves structured path information via getStructuredPathInfo
|
|
12
|
-
*
|
|
13
|
-
* Design points:
|
|
14
|
-
* - Caches using Map to handle reserved words like "constructor" and "toString"
|
|
15
|
-
* - Flexibly determines wildcards (*) and numeric indexes, storing them in wildcardIndexes
|
|
16
|
-
* - context type indicates unresolved indexes, all type indicates all resolved indexes, partial type indicates mixed
|
|
17
|
-
* - ResolvedPathInfo class centralizes path parsing and information management
|
|
18
|
-
*/
|
|
19
|
-
import { IResolvedAddress } from './types';
|
|
20
|
-
/**
|
|
21
|
-
* Retrieves or creates resolved path information for a property path.
|
|
22
|
-
*
|
|
23
|
-
* This function caches resolved path information for performance.
|
|
24
|
-
* On first access, it parses the path and creates a ResolvedPathInfo instance.
|
|
25
|
-
* Subsequent accesses return the cached result.
|
|
26
|
-
*
|
|
27
|
-
* @param name - Property path string (e.g., "items.*.name", "data.0.value")
|
|
28
|
-
* @returns Resolved path information containing segments, wildcards, and type classification
|
|
29
|
-
*/
|
|
30
|
-
export declare function getResolvedAddress(name: string): IResolvedAddress;
|
|
31
|
-
//# sourceMappingURL=ResolvedAddress.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ResolvedAddress.d.ts","sourceRoot":"","sources":["../../src/address/ResolvedAddress.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AACH,OAAO,EAAE,gBAAgB,EAAgB,MAAM,SAAS,CAAC;AAkGzD;;;;;;;;;GASG;AACH,wBAAgB,kBAAkB,CAAC,IAAI,EAAC,MAAM,GAAE,gBAAgB,CAI/D"}
|
|
@@ -1,110 +0,0 @@
|
|
|
1
|
-
import { getPathInfo } from './PathInfo';
|
|
2
|
-
/**
|
|
3
|
-
* Cache for resolved path information.
|
|
4
|
-
* Uses Map to safely handle property names including reserved words like "constructor" and "toString".
|
|
5
|
-
*/
|
|
6
|
-
const _cache = new Map();
|
|
7
|
-
/**
|
|
8
|
-
* Class that parses and stores resolved path information.
|
|
9
|
-
*
|
|
10
|
-
* Analyzes property path strings to extract:
|
|
11
|
-
* - Path segments and their hierarchy
|
|
12
|
-
* - Wildcard locations and types
|
|
13
|
-
* - Numeric indexes vs unresolved wildcards
|
|
14
|
-
* - Wildcard type classification (none/context/all/partial)
|
|
15
|
-
*/
|
|
16
|
-
class ResolvedAddress {
|
|
17
|
-
path;
|
|
18
|
-
segments;
|
|
19
|
-
paths;
|
|
20
|
-
wildcardCount;
|
|
21
|
-
wildcardType;
|
|
22
|
-
wildcardIndexes;
|
|
23
|
-
pathInfo;
|
|
24
|
-
/**
|
|
25
|
-
* Constructs resolved path information from a property path string.
|
|
26
|
-
*
|
|
27
|
-
* Parses the path to identify wildcards (*) and numeric indexes,
|
|
28
|
-
* classifies the wildcard type, and generates structured path information.
|
|
29
|
-
*
|
|
30
|
-
* @param name - Property path string (e.g., "items.*.name" or "data.0.value")
|
|
31
|
-
*/
|
|
32
|
-
constructor(path) {
|
|
33
|
-
// Split path into individual segments
|
|
34
|
-
const segments = path.split(".");
|
|
35
|
-
const tmpPatternSegments = segments.slice();
|
|
36
|
-
const paths = [];
|
|
37
|
-
let incompleteCount = 0; // Count of unresolved wildcards (*)
|
|
38
|
-
let completeCount = 0; // Count of resolved wildcards (numeric indexes)
|
|
39
|
-
let lastPath = "";
|
|
40
|
-
let wildcardCount = 0;
|
|
41
|
-
let wildcardType = "none";
|
|
42
|
-
const wildcardIndexes = [];
|
|
43
|
-
// Process each segment to identify wildcards and indexes
|
|
44
|
-
for (let i = 0; i < segments.length; i++) {
|
|
45
|
-
const segment = segments[i];
|
|
46
|
-
if (segment === "*") {
|
|
47
|
-
// Unresolved wildcard
|
|
48
|
-
tmpPatternSegments[i] = "*";
|
|
49
|
-
wildcardIndexes.push(null);
|
|
50
|
-
incompleteCount++;
|
|
51
|
-
wildcardCount++;
|
|
52
|
-
}
|
|
53
|
-
else {
|
|
54
|
-
const number = Number(segment);
|
|
55
|
-
if (!Number.isNaN(number)) {
|
|
56
|
-
// Numeric index - treat as resolved wildcard
|
|
57
|
-
tmpPatternSegments[i] = "*";
|
|
58
|
-
wildcardIndexes.push(number);
|
|
59
|
-
completeCount++;
|
|
60
|
-
wildcardCount++;
|
|
61
|
-
}
|
|
62
|
-
}
|
|
63
|
-
// Build cumulative path array
|
|
64
|
-
lastPath += segment;
|
|
65
|
-
paths.push(lastPath);
|
|
66
|
-
lastPath += (i < segment.length - 1 ? "." : "");
|
|
67
|
-
}
|
|
68
|
-
// Generate pattern string with wildcards normalized
|
|
69
|
-
const structuredPath = tmpPatternSegments.join(".");
|
|
70
|
-
const pathInfo = getPathInfo(structuredPath);
|
|
71
|
-
// Classify wildcard type based on resolved vs unresolved counts
|
|
72
|
-
if (incompleteCount > 0 || completeCount > 0) {
|
|
73
|
-
if (incompleteCount === wildcardCount) {
|
|
74
|
-
// All wildcards are unresolved - need context to resolve
|
|
75
|
-
wildcardType = "context";
|
|
76
|
-
}
|
|
77
|
-
else if (completeCount === wildcardCount) {
|
|
78
|
-
// All wildcards are resolved with numeric indexes
|
|
79
|
-
wildcardType = "all";
|
|
80
|
-
}
|
|
81
|
-
else {
|
|
82
|
-
// Mix of resolved and unresolved wildcards
|
|
83
|
-
wildcardType = "partial";
|
|
84
|
-
}
|
|
85
|
-
}
|
|
86
|
-
this.path = path;
|
|
87
|
-
this.segments = segments;
|
|
88
|
-
this.paths = paths;
|
|
89
|
-
this.wildcardCount = wildcardCount;
|
|
90
|
-
this.wildcardType = wildcardType;
|
|
91
|
-
this.wildcardIndexes = wildcardIndexes;
|
|
92
|
-
this.pathInfo = pathInfo;
|
|
93
|
-
}
|
|
94
|
-
}
|
|
95
|
-
/**
|
|
96
|
-
* Retrieves or creates resolved path information for a property path.
|
|
97
|
-
*
|
|
98
|
-
* This function caches resolved path information for performance.
|
|
99
|
-
* On first access, it parses the path and creates a ResolvedPathInfo instance.
|
|
100
|
-
* Subsequent accesses return the cached result.
|
|
101
|
-
*
|
|
102
|
-
* @param name - Property path string (e.g., "items.*.name", "data.0.value")
|
|
103
|
-
* @returns Resolved path information containing segments, wildcards, and type classification
|
|
104
|
-
*/
|
|
105
|
-
export function getResolvedAddress(name) {
|
|
106
|
-
let nameInfo;
|
|
107
|
-
// Return cached value or create, cache, and return new instance
|
|
108
|
-
return _cache.get(name) ?? (_cache.set(name, nameInfo = new ResolvedAddress(name)), nameInfo);
|
|
109
|
-
}
|
|
110
|
-
//# sourceMappingURL=ResolvedAddress.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ResolvedAddress.js","sourceRoot":"","sources":["../../src/address/ResolvedAddress.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"StateAddress.d.ts","sourceRoot":"","sources":["../../src/address/StateAddress.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAC3C,OAAO,EAAE,SAAS,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAkCnD,wBAAgB,kBAAkB,CAAC,QAAQ,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,GAAG,IAAI,GAAG,aAAa,CAuBnG"}
|
|
@@ -1,56 +0,0 @@
|
|
|
1
|
-
import { WILDCARD } from "../define";
|
|
2
|
-
const _cache = new WeakMap();
|
|
3
|
-
const _cacheNullListIndex = new WeakMap();
|
|
4
|
-
class StateAddress {
|
|
5
|
-
pathInfo;
|
|
6
|
-
listIndex;
|
|
7
|
-
_parentAddress;
|
|
8
|
-
constructor(pathInfo, listIndex) {
|
|
9
|
-
this.pathInfo = pathInfo;
|
|
10
|
-
this.listIndex = listIndex;
|
|
11
|
-
}
|
|
12
|
-
get parentAddress() {
|
|
13
|
-
if (typeof this._parentAddress !== 'undefined') {
|
|
14
|
-
return this._parentAddress;
|
|
15
|
-
}
|
|
16
|
-
const parentPathInfo = this.pathInfo.parentPathInfo;
|
|
17
|
-
if (parentPathInfo === null) {
|
|
18
|
-
return null;
|
|
19
|
-
}
|
|
20
|
-
const lastSegment = this.pathInfo.segments[this.pathInfo.segments.length - 1];
|
|
21
|
-
let parentListIndex = null;
|
|
22
|
-
if (lastSegment === WILDCARD) {
|
|
23
|
-
parentListIndex = this.listIndex?.parentListIndex ?? null;
|
|
24
|
-
}
|
|
25
|
-
else {
|
|
26
|
-
parentListIndex = this.listIndex;
|
|
27
|
-
}
|
|
28
|
-
return this._parentAddress = createStateAddress(parentPathInfo, parentListIndex);
|
|
29
|
-
}
|
|
30
|
-
}
|
|
31
|
-
export function createStateAddress(pathInfo, listIndex) {
|
|
32
|
-
if (listIndex === null) {
|
|
33
|
-
let cached = _cacheNullListIndex.get(pathInfo);
|
|
34
|
-
if (typeof cached !== "undefined") {
|
|
35
|
-
return cached;
|
|
36
|
-
}
|
|
37
|
-
cached = new StateAddress(pathInfo, null);
|
|
38
|
-
_cacheNullListIndex.set(pathInfo, cached);
|
|
39
|
-
return cached;
|
|
40
|
-
}
|
|
41
|
-
else {
|
|
42
|
-
let cacheByPathInfo = _cache.get(listIndex);
|
|
43
|
-
if (typeof cacheByPathInfo === "undefined") {
|
|
44
|
-
cacheByPathInfo = new WeakMap();
|
|
45
|
-
_cache.set(listIndex, cacheByPathInfo);
|
|
46
|
-
}
|
|
47
|
-
let cached = cacheByPathInfo.get(pathInfo);
|
|
48
|
-
if (typeof cached !== "undefined") {
|
|
49
|
-
return cached;
|
|
50
|
-
}
|
|
51
|
-
cached = new StateAddress(pathInfo, listIndex);
|
|
52
|
-
cacheByPathInfo.set(pathInfo, cached);
|
|
53
|
-
return cached;
|
|
54
|
-
}
|
|
55
|
-
}
|
|
56
|
-
//# sourceMappingURL=StateAddress.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"StateAddress.js","sourceRoot":"","sources":["../../src/address/StateAddress.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AAIrC,MAAM,MAAM,GAA2D,IAAI,OAAO,EAAE,CAAC;AACrF,MAAM,mBAAmB,GAAsC,IAAI,OAAO,EAAE,CAAC;AAE7E,MAAM,YAAY;IACP,QAAQ,CAAY;IACpB,SAAS,CAAoB;IAC9B,cAAc,CAAmC;IAEzD,YAAY,QAAmB,EAAE,SAA4B;QAC3D,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;QACzB,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;IAC7B,CAAC;IAED,IAAI,aAAa;QACf,IAAI,OAAO,IAAI,CAAC,cAAc,KAAK,WAAW,EAAE,CAAC;YAC/C,OAAO,IAAI,CAAC,cAAc,CAAC;QAC7B,CAAC;QACD,MAAM,cAAc,GAAG,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC;QACpD,IAAI,cAAc,KAAK,IAAI,EAAE,CAAC;YAC5B,OAAO,IAAI,CAAC;QACd,CAAC;QACD,MAAM,WAAW,GAAG,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QAC9E,IAAI,eAAe,GAAsB,IAAI,CAAC;QAC9C,IAAI,WAAW,KAAK,QAAQ,EAAE,CAAC;YAC7B,eAAe,GAAG,IAAI,CAAC,SAAS,EAAE,eAAe,IAAI,IAAI,CAAC;QAC5D,CAAC;aAAM,CAAC;YACN,eAAe,GAAG,IAAI,CAAC,SAAS,CAAC;QACnC,CAAC;QACD,OAAO,IAAI,CAAC,cAAc,GAAG,kBAAkB,CAAC,cAAc,EAAE,eAAe,CAAC,CAAC;IACnF,CAAC;CACF;AAED,MAAM,UAAU,kBAAkB,CAAC,QAAmB,EAAE,SAA4B;IAClF,IAAI,SAAS,KAAK,IAAI,EAAE,CAAC;QACvB,IAAI,MAAM,GAAG,mBAAmB,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QAC/C,IAAI,OAAO,MAAM,KAAK,WAAW,EAAE,CAAC;YAClC,OAAO,MAAM,CAAC;QAChB,CAAC;QACD,MAAM,GAAG,IAAI,YAAY,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;QAC1C,mBAAmB,CAAC,GAAG,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;QAC1C,OAAO,MAAM,CAAC;IAChB,CAAC;SAAM,CAAC;QACN,IAAI,eAAe,GAAG,MAAM,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QAC5C,IAAI,OAAO,eAAe,KAAK,WAAW,EAAE,CAAC;YAC3C,eAAe,GAAG,IAAI,OAAO,EAA4B,CAAC;YAC1D,MAAM,CAAC,GAAG,CAAC,SAAS,EAAE,eAAe,CAAC,CAAC;QACzC,CAAC;QACD,IAAI,MAAM,GAAG,eAAe,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QAC3C,IAAI,OAAO,MAAM,KAAK,WAAW,EAAE,CAAC;YAClC,OAAO,MAAM,CAAC;QAChB,CAAC;QACD,MAAM,GAAG,IAAI,YAAY,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC;QAC/C,eAAe,CAAC,GAAG,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;QACtC,OAAO,MAAM,CAAC;IAChB,CAAC;AACH,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"calcWildcardLen.d.ts","sourceRoot":"","sources":["../../src/address/calcWildcardLen.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAIvC,wBAAgB,eAAe,CAAC,QAAQ,EAAE,SAAS,EAAE,cAAc,EAAE,SAAS,GAAG,MAAM,CA2BtF"}
|
|
@@ -1,31 +0,0 @@
|
|
|
1
|
-
const cacheCalcWildcardLen = new Map();
|
|
2
|
-
export function calcWildcardLen(pathInfo, targetPathInfo) {
|
|
3
|
-
let path1;
|
|
4
|
-
let path2;
|
|
5
|
-
if (pathInfo.wildcardCount === 0 || targetPathInfo.wildcardCount === 0) {
|
|
6
|
-
return 0;
|
|
7
|
-
}
|
|
8
|
-
if (pathInfo.wildcardCount === 1
|
|
9
|
-
&& targetPathInfo.wildcardCount > 0
|
|
10
|
-
&& targetPathInfo.wildcardPathSet.has(pathInfo.path)) {
|
|
11
|
-
return 1;
|
|
12
|
-
}
|
|
13
|
-
if (pathInfo.id < targetPathInfo.id) {
|
|
14
|
-
path1 = pathInfo;
|
|
15
|
-
path2 = targetPathInfo;
|
|
16
|
-
}
|
|
17
|
-
else {
|
|
18
|
-
path1 = targetPathInfo;
|
|
19
|
-
path2 = pathInfo;
|
|
20
|
-
}
|
|
21
|
-
const key = `${path1.path}\t${path2.path}`;
|
|
22
|
-
let len = cacheCalcWildcardLen.get(key);
|
|
23
|
-
if (typeof len !== "undefined") {
|
|
24
|
-
return len;
|
|
25
|
-
}
|
|
26
|
-
const matchPath = path1.wildcardPathSet.intersection(path2.wildcardPathSet);
|
|
27
|
-
len = matchPath.size;
|
|
28
|
-
cacheCalcWildcardLen.set(key, len);
|
|
29
|
-
return len;
|
|
30
|
-
}
|
|
31
|
-
//# sourceMappingURL=calcWildcardLen.js.map
|