@wcstack/state 1.3.11
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 +1078 -0
- package/README.md +1078 -0
- package/dist/address/AbsolutePathInfo.d.ts +4 -0
- package/dist/address/AbsolutePathInfo.d.ts.map +1 -0
- package/dist/address/AbsolutePathInfo.js +33 -0
- package/dist/address/AbsolutePathInfo.js.map +1 -0
- package/dist/address/AbsoluteStateAddress.d.ts +4 -0
- package/dist/address/AbsoluteStateAddress.d.ts.map +1 -0
- package/dist/address/AbsoluteStateAddress.js +56 -0
- package/dist/address/AbsoluteStateAddress.js.map +1 -0
- package/dist/address/PathInfo.d.ts +3 -0
- package/dist/address/PathInfo.d.ts.map +1 -0
- package/dist/address/PathInfo.js +104 -0
- package/dist/address/PathInfo.js.map +1 -0
- package/dist/address/ResolvedAddress.d.ts +31 -0
- package/dist/address/ResolvedAddress.d.ts.map +1 -0
- package/dist/address/ResolvedAddress.js +110 -0
- package/dist/address/ResolvedAddress.js.map +1 -0
- package/dist/address/StateAddress.d.ts +4 -0
- package/dist/address/StateAddress.d.ts.map +1 -0
- package/dist/address/StateAddress.js +56 -0
- package/dist/address/StateAddress.js.map +1 -0
- package/dist/address/calcWildcardLen.d.ts +3 -0
- package/dist/address/calcWildcardLen.d.ts.map +1 -0
- package/dist/address/calcWildcardLen.js +31 -0
- package/dist/address/calcWildcardLen.js.map +1 -0
- package/dist/address/types.d.ts +54 -0
- package/dist/address/types.d.ts.map +1 -0
- package/dist/address/types.js +2 -0
- package/dist/address/types.js.map +1 -0
- package/dist/apply/applyChange.d.ts +4 -0
- package/dist/apply/applyChange.d.ts.map +1 -0
- package/dist/apply/applyChange.js +105 -0
- package/dist/apply/applyChange.js.map +1 -0
- package/dist/apply/applyChangeFromBindings.d.ts +9 -0
- package/dist/apply/applyChangeFromBindings.d.ts.map +1 -0
- package/dist/apply/applyChangeFromBindings.js +74 -0
- package/dist/apply/applyChangeFromBindings.js.map +1 -0
- package/dist/apply/applyChangeToAttribute.d.ts +4 -0
- package/dist/apply/applyChangeToAttribute.d.ts.map +1 -0
- package/dist/apply/applyChangeToAttribute.js +8 -0
- package/dist/apply/applyChangeToAttribute.js.map +1 -0
- package/dist/apply/applyChangeToCheckbox.d.ts +4 -0
- package/dist/apply/applyChangeToCheckbox.d.ts.map +1 -0
- package/dist/apply/applyChangeToCheckbox.js +11 -0
- package/dist/apply/applyChangeToCheckbox.js.map +1 -0
- package/dist/apply/applyChangeToClass.d.ts +4 -0
- package/dist/apply/applyChangeToClass.d.ts.map +1 -0
- package/dist/apply/applyChangeToClass.js +10 -0
- package/dist/apply/applyChangeToClass.js.map +1 -0
- package/dist/apply/applyChangeToFor.d.ts +9 -0
- package/dist/apply/applyChangeToFor.d.ts.map +1 -0
- package/dist/apply/applyChangeToFor.js +186 -0
- package/dist/apply/applyChangeToFor.js.map +1 -0
- package/dist/apply/applyChangeToIf.d.ts +4 -0
- package/dist/apply/applyChangeToIf.d.ts.map +1 -0
- package/dist/apply/applyChangeToIf.js +42 -0
- package/dist/apply/applyChangeToIf.js.map +1 -0
- package/dist/apply/applyChangeToProperty.d.ts +4 -0
- package/dist/apply/applyChangeToProperty.d.ts.map +1 -0
- package/dist/apply/applyChangeToProperty.js +37 -0
- package/dist/apply/applyChangeToProperty.js.map +1 -0
- package/dist/apply/applyChangeToRadio.d.ts +4 -0
- package/dist/apply/applyChangeToRadio.d.ts.map +1 -0
- package/dist/apply/applyChangeToRadio.js +8 -0
- package/dist/apply/applyChangeToRadio.js.map +1 -0
- package/dist/apply/applyChangeToStyle.d.ts +4 -0
- package/dist/apply/applyChangeToStyle.d.ts.map +1 -0
- package/dist/apply/applyChangeToStyle.js +9 -0
- package/dist/apply/applyChangeToStyle.js.map +1 -0
- package/dist/apply/applyChangeToText.d.ts +4 -0
- package/dist/apply/applyChangeToText.d.ts.map +1 -0
- package/dist/apply/applyChangeToText.js +6 -0
- package/dist/apply/applyChangeToText.js.map +1 -0
- package/dist/apply/applyChangeToWebComponent.d.ts +4 -0
- package/dist/apply/applyChangeToWebComponent.d.ts.map +1 -0
- package/dist/apply/applyChangeToWebComponent.js +15 -0
- package/dist/apply/applyChangeToWebComponent.js.map +1 -0
- package/dist/apply/getFilteredValue.d.ts +3 -0
- package/dist/apply/getFilteredValue.d.ts.map +1 -0
- package/dist/apply/getFilteredValue.js +8 -0
- package/dist/apply/getFilteredValue.js.map +1 -0
- package/dist/apply/getValue.d.ts +4 -0
- package/dist/apply/getValue.d.ts.map +1 -0
- package/dist/apply/getValue.js +20 -0
- package/dist/apply/getValue.js.map +1 -0
- package/dist/apply/rootNodeByFragment.d.ts +3 -0
- package/dist/apply/rootNodeByFragment.d.ts.map +1 -0
- package/dist/apply/rootNodeByFragment.js +13 -0
- package/dist/apply/rootNodeByFragment.js.map +1 -0
- package/dist/apply/types.d.ts +15 -0
- package/dist/apply/types.d.ts.map +1 -0
- package/dist/apply/types.js +2 -0
- package/dist/apply/types.js.map +1 -0
- package/dist/applyChangeToNode.d.ts +2 -0
- package/dist/applyChangeToNode.d.ts.map +1 -0
- package/dist/applyChangeToNode.js +38 -0
- package/dist/applyChangeToNode.js.map +1 -0
- package/dist/auto.js +3 -0
- package/dist/auto.min.js +3 -0
- package/dist/bindTextParser/parseBindTextForEmbeddedNode.d.ts +3 -0
- package/dist/bindTextParser/parseBindTextForEmbeddedNode.d.ts.map +1 -0
- package/dist/bindTextParser/parseBindTextForEmbeddedNode.js +13 -0
- package/dist/bindTextParser/parseBindTextForEmbeddedNode.js.map +1 -0
- package/dist/bindTextParser/parseBindTextsForElement.d.ts +3 -0
- package/dist/bindTextParser/parseBindTextsForElement.d.ts.map +1 -0
- package/dist/bindTextParser/parseBindTextsForElement.js +80 -0
- package/dist/bindTextParser/parseBindTextsForElement.js.map +1 -0
- package/dist/bindTextParser/parseFilterArgs.d.ts +2 -0
- package/dist/bindTextParser/parseFilterArgs.d.ts.map +1 -0
- package/dist/bindTextParser/parseFilterArgs.js +31 -0
- package/dist/bindTextParser/parseFilterArgs.js.map +1 -0
- package/dist/bindTextParser/parseFilters.d.ts +4 -0
- package/dist/bindTextParser/parseFilters.d.ts.map +1 -0
- package/dist/bindTextParser/parseFilters.js +52 -0
- package/dist/bindTextParser/parseFilters.js.map +1 -0
- package/dist/bindTextParser/parsePropPart.d.ts +5 -0
- package/dist/bindTextParser/parsePropPart.d.ts.map +1 -0
- package/dist/bindTextParser/parsePropPart.js +44 -0
- package/dist/bindTextParser/parsePropPart.js.map +1 -0
- package/dist/bindTextParser/parseStatePart.d.ts +5 -0
- package/dist/bindTextParser/parseStatePart.d.ts.map +1 -0
- package/dist/bindTextParser/parseStatePart.js +39 -0
- package/dist/bindTextParser/parseStatePart.js.map +1 -0
- package/dist/bindTextParser/types.d.ts +3 -0
- package/dist/bindTextParser/types.d.ts.map +1 -0
- package/dist/bindTextParser/types.js +2 -0
- package/dist/bindTextParser/types.js.map +1 -0
- package/dist/bindTextParser/utils.d.ts +2 -0
- package/dist/bindTextParser/utils.d.ts.map +1 -0
- package/dist/bindTextParser/utils.js +2 -0
- package/dist/bindTextParser/utils.js.map +1 -0
- package/dist/binding/getAbsoluteStateAddressByBinding.d.ts +5 -0
- package/dist/binding/getAbsoluteStateAddressByBinding.d.ts.map +1 -0
- package/dist/binding/getAbsoluteStateAddressByBinding.js +41 -0
- package/dist/binding/getAbsoluteStateAddressByBinding.js.map +1 -0
- package/dist/binding/getBindingSetByAbsoluteStateAddress.d.ts +7 -0
- package/dist/binding/getBindingSetByAbsoluteStateAddress.d.ts.map +1 -0
- package/dist/binding/getBindingSetByAbsoluteStateAddress.js +22 -0
- package/dist/binding/getBindingSetByAbsoluteStateAddress.js.map +1 -0
- package/dist/binding/getStateAddressByBindingInfo.d.ts +5 -0
- package/dist/binding/getStateAddressByBindingInfo.d.ts.map +1 -0
- package/dist/binding/getStateAddressByBindingInfo.js +28 -0
- package/dist/binding/getStateAddressByBindingInfo.js.map +1 -0
- package/dist/binding/types.d.ts +23 -0
- package/dist/binding/types.d.ts.map +1 -0
- package/dist/binding/types.js +2 -0
- package/dist/binding/types.js.map +1 -0
- package/dist/bindings/bindLoopContextToContent.d.ts +5 -0
- package/dist/bindings/bindLoopContextToContent.d.ts.map +1 -0
- package/dist/bindings/bindLoopContextToContent.js +15 -0
- package/dist/bindings/bindLoopContextToContent.js.map +1 -0
- package/dist/bindings/bindingsByContent.d.ts +5 -0
- package/dist/bindings/bindingsByContent.d.ts.map +1 -0
- package/dist/bindings/bindingsByContent.js +8 -0
- package/dist/bindings/bindingsByContent.js.map +1 -0
- package/dist/bindings/collectNodesAndBindingInfos.d.ts +6 -0
- package/dist/bindings/collectNodesAndBindingInfos.d.ts.map +1 -0
- package/dist/bindings/collectNodesAndBindingInfos.js +46 -0
- package/dist/bindings/collectNodesAndBindingInfos.js.map +1 -0
- package/dist/bindings/getBindingInfos.d.ts +4 -0
- package/dist/bindings/getBindingInfos.d.ts.map +1 -0
- package/dist/bindings/getBindingInfos.js +22 -0
- package/dist/bindings/getBindingInfos.js.map +1 -0
- package/dist/bindings/getBindingsByNode.d.ts +5 -0
- package/dist/bindings/getBindingsByNode.d.ts.map +1 -0
- package/dist/bindings/getBindingsByNode.js +17 -0
- package/dist/bindings/getBindingsByNode.js.map +1 -0
- package/dist/bindings/getParseBindTextResults.d.ts +3 -0
- package/dist/bindings/getParseBindTextResults.d.ts.map +1 -0
- package/dist/bindings/getParseBindTextResults.js +36 -0
- package/dist/bindings/getParseBindTextResults.js.map +1 -0
- package/dist/bindings/getSubscriberNodes.d.ts +7 -0
- package/dist/bindings/getSubscriberNodes.d.ts.map +1 -0
- package/dist/bindings/getSubscriberNodes.js +32 -0
- package/dist/bindings/getSubscriberNodes.js.map +1 -0
- package/dist/bindings/indexBindingsByContent.d.ts +5 -0
- package/dist/bindings/indexBindingsByContent.d.ts.map +1 -0
- package/dist/bindings/indexBindingsByContent.js +8 -0
- package/dist/bindings/indexBindingsByContent.js.map +1 -0
- package/dist/bindings/initializeBindingPromiseByNode.d.ts +5 -0
- package/dist/bindings/initializeBindingPromiseByNode.d.ts.map +1 -0
- package/dist/bindings/initializeBindingPromiseByNode.js +28 -0
- package/dist/bindings/initializeBindingPromiseByNode.js.map +1 -0
- package/dist/bindings/initializeBindings.d.ts +6 -0
- package/dist/bindings/initializeBindings.d.ts.map +1 -0
- package/dist/bindings/initializeBindings.js +59 -0
- package/dist/bindings/initializeBindings.js.map +1 -0
- package/dist/bindings/nodesByContent.d.ts +4 -0
- package/dist/bindings/nodesByContent.d.ts.map +1 -0
- package/dist/bindings/nodesByContent.js +8 -0
- package/dist/bindings/nodesByContent.js.map +1 -0
- package/dist/bindings/parseCommentNode.d.ts +3 -0
- package/dist/bindings/parseCommentNode.d.ts.map +1 -0
- package/dist/bindings/parseCommentNode.js +47 -0
- package/dist/bindings/parseCommentNode.js.map +1 -0
- package/dist/bindings/replaceToReplaceNode.d.ts +3 -0
- package/dist/bindings/replaceToReplaceNode.d.ts.map +1 -0
- package/dist/bindings/replaceToReplaceNode.js +13 -0
- package/dist/bindings/replaceToReplaceNode.js.map +1 -0
- package/dist/bindings/types.d.ts +11 -0
- package/dist/bindings/types.d.ts.map +1 -0
- package/dist/bindings/types.js +2 -0
- package/dist/bindings/types.js.map +1 -0
- package/dist/bootstrapState.d.ts +3 -0
- package/dist/bootstrapState.d.ts.map +1 -0
- package/dist/bootstrapState.js +9 -0
- package/dist/bootstrapState.js.map +1 -0
- package/dist/buildBindings.d.ts +2 -0
- package/dist/buildBindings.d.ts.map +1 -0
- package/dist/buildBindings.js +30 -0
- package/dist/buildBindings.js.map +1 -0
- package/dist/cache/cacheEntryByAbsoluteStateAddress.d.ts +6 -0
- package/dist/cache/cacheEntryByAbsoluteStateAddress.d.ts.map +1 -0
- package/dist/cache/cacheEntryByAbsoluteStateAddress.js +19 -0
- package/dist/cache/cacheEntryByAbsoluteStateAddress.js.map +1 -0
- package/dist/cache/types.d.ts +5 -0
- package/dist/cache/types.d.ts.map +1 -0
- package/dist/cache/types.js +2 -0
- package/dist/cache/types.js.map +1 -0
- package/dist/components/State.d.ts +83 -0
- package/dist/components/State.d.ts.map +1 -0
- package/dist/components/State.js +340 -0
- package/dist/components/State.js.map +1 -0
- package/dist/components/types.d.ts +26 -0
- package/dist/components/types.d.ts.map +1 -0
- package/dist/components/types.js +2 -0
- package/dist/components/types.js.map +1 -0
- package/dist/config.d.ts +4 -0
- package/dist/config.d.ts.map +1 -0
- package/dist/config.js +49 -0
- package/dist/config.js.map +1 -0
- package/dist/createEmptyArray.d.ts +2 -0
- package/dist/createEmptyArray.d.ts.map +1 -0
- package/dist/createEmptyArray.js +4 -0
- package/dist/createEmptyArray.js.map +1 -0
- package/dist/createEmptySet.d.ts +2 -0
- package/dist/createEmptySet.d.ts.map +1 -0
- package/dist/createEmptySet.js +4 -0
- package/dist/createEmptySet.js.map +1 -0
- package/dist/define.d.ts +14 -0
- package/dist/define.d.ts.map +1 -0
- package/dist/define.js +25 -0
- package/dist/define.js.map +1 -0
- package/dist/dependency/types.d.ts +2 -0
- package/dist/dependency/types.d.ts.map +1 -0
- package/dist/dependency/types.js +2 -0
- package/dist/dependency/types.js.map +1 -0
- package/dist/dependency/walkDependency.d.ts +6 -0
- package/dist/dependency/walkDependency.d.ts.map +1 -0
- package/dist/dependency/walkDependency.js +194 -0
- package/dist/dependency/walkDependency.js.map +1 -0
- package/dist/event/checkboxHandler.d.ts +14 -0
- package/dist/event/checkboxHandler.d.ts.map +1 -0
- package/dist/event/checkboxHandler.js +120 -0
- package/dist/event/checkboxHandler.js.map +1 -0
- package/dist/event/handler.d.ts +8 -0
- package/dist/event/handler.d.ts.map +1 -0
- package/dist/event/handler.js +81 -0
- package/dist/event/handler.js.map +1 -0
- package/dist/event/isPossibleTwoWay.d.ts +2 -0
- package/dist/event/isPossibleTwoWay.d.ts.map +1 -0
- package/dist/event/isPossibleTwoWay.js +29 -0
- package/dist/event/isPossibleTwoWay.js.map +1 -0
- package/dist/event/radioHandler.d.ts +14 -0
- package/dist/event/radioHandler.d.ts.map +1 -0
- package/dist/event/radioHandler.js +101 -0
- package/dist/event/radioHandler.js.map +1 -0
- package/dist/event/twowayHandler.d.ts +14 -0
- package/dist/event/twowayHandler.d.ts.map +1 -0
- package/dist/event/twowayHandler.js +100 -0
- package/dist/event/twowayHandler.js.map +1 -0
- package/dist/exports.d.ts +3 -0
- package/dist/exports.d.ts.map +1 -0
- package/dist/exports.js +2 -0
- package/dist/exports.js.map +1 -0
- package/dist/filters/builtinFilters.d.ts +16 -0
- package/dist/filters/builtinFilters.d.ts.map +1 -0
- package/dist/filters/builtinFilters.js +716 -0
- package/dist/filters/builtinFilters.js.map +1 -0
- package/dist/filters/errorMessages.d.ts +43 -0
- package/dist/filters/errorMessages.d.ts.map +1 -0
- package/dist/filters/errorMessages.js +72 -0
- package/dist/filters/errorMessages.js.map +1 -0
- package/dist/filters/types.d.ts +23 -0
- package/dist/filters/types.d.ts.map +1 -0
- package/dist/filters/types.js +2 -0
- package/dist/filters/types.js.map +1 -0
- package/dist/getUUID.d.ts +2 -0
- package/dist/getUUID.d.ts.map +1 -0
- package/dist/getUUID.js +5 -0
- package/dist/getUUID.js.map +1 -0
- package/dist/hydrater/hydrate.d.ts +1 -0
- package/dist/hydrater/hydrate.d.ts.map +1 -0
- package/dist/hydrater/hydrate.js +2 -0
- package/dist/hydrater/hydrate.js.map +1 -0
- package/dist/index.d.ts +20 -0
- package/dist/index.esm.js +5677 -0
- package/dist/index.esm.js.map +1 -0
- package/dist/index.esm.min.js +2 -0
- package/dist/index.esm.min.js.map +1 -0
- package/dist/isCustomElement.d.ts +2 -0
- package/dist/isCustomElement.d.ts.map +1 -0
- package/dist/isCustomElement.js +26 -0
- package/dist/isCustomElement.js.map +1 -0
- package/dist/list/createListDiff.d.ts +13 -0
- package/dist/list/createListDiff.d.ts.map +1 -0
- package/dist/list/createListDiff.js +181 -0
- package/dist/list/createListDiff.js.map +1 -0
- package/dist/list/createListIndex.d.ts +10 -0
- package/dist/list/createListIndex.d.ts.map +1 -0
- package/dist/list/createListIndex.js +136 -0
- package/dist/list/createListIndex.js.map +1 -0
- package/dist/list/getIndexValueByLoopContext.d.ts +3 -0
- package/dist/list/getIndexValueByLoopContext.d.ts.map +1 -0
- package/dist/list/getIndexValueByLoopContext.js +18 -0
- package/dist/list/getIndexValueByLoopContext.js.map +1 -0
- package/dist/list/getListIndexByBindingInfo.d.ts +4 -0
- package/dist/list/getListIndexByBindingInfo.d.ts.map +1 -0
- package/dist/list/getListIndexByBindingInfo.js +32 -0
- package/dist/list/getListIndexByBindingInfo.js.map +1 -0
- package/dist/list/lastListValueByAbsoluteStateAddress.d.ts +6 -0
- package/dist/list/lastListValueByAbsoluteStateAddress.d.ts.map +1 -0
- package/dist/list/lastListValueByAbsoluteStateAddress.js +14 -0
- package/dist/list/lastListValueByAbsoluteStateAddress.js.map +1 -0
- package/dist/list/listIndexesByList.d.ts +4 -0
- package/dist/list/listIndexesByList.d.ts.map +1 -0
- package/dist/list/listIndexesByList.js +12 -0
- package/dist/list/listIndexesByList.js.map +1 -0
- package/dist/list/loopContext.d.ts +3 -0
- package/dist/list/loopContext.d.ts.map +1 -0
- package/dist/list/loopContext.js +54 -0
- package/dist/list/loopContext.js.map +1 -0
- package/dist/list/loopContextByNode.d.ts +4 -0
- package/dist/list/loopContextByNode.d.ts.map +1 -0
- package/dist/list/loopContextByNode.js +20 -0
- package/dist/list/loopContextByNode.js.map +1 -0
- package/dist/list/types.d.ts +38 -0
- package/dist/list/types.d.ts.map +1 -0
- package/dist/list/types.js +2 -0
- package/dist/list/types.js.map +1 -0
- package/dist/mustache/convertMustacheToComments.d.ts +2 -0
- package/dist/mustache/convertMustacheToComments.d.ts.map +1 -0
- package/dist/mustache/convertMustacheToComments.js +66 -0
- package/dist/mustache/convertMustacheToComments.js.map +1 -0
- package/dist/polyfills.d.ts +8 -0
- package/dist/polyfills.d.ts.map +1 -0
- package/dist/polyfills.js +22 -0
- package/dist/polyfills.js.map +1 -0
- package/dist/proxy/StateHandler.d.ts +32 -0
- package/dist/proxy/StateHandler.d.ts.map +1 -0
- package/dist/proxy/StateHandler.js +91 -0
- package/dist/proxy/StateHandler.js.map +1 -0
- package/dist/proxy/apis/connectedCallback.d.ts +18 -0
- package/dist/proxy/apis/connectedCallback.d.ts.map +1 -0
- package/dist/proxy/apis/connectedCallback.js +23 -0
- package/dist/proxy/apis/connectedCallback.js.map +1 -0
- package/dist/proxy/apis/disconnectedCallback.d.ts +17 -0
- package/dist/proxy/apis/disconnectedCallback.d.ts.map +1 -0
- package/dist/proxy/apis/disconnectedCallback.js +22 -0
- package/dist/proxy/apis/disconnectedCallback.js.map +1 -0
- package/dist/proxy/apis/getAll.d.ts +11 -0
- package/dist/proxy/apis/getAll.d.ts.map +1 -0
- package/dist/proxy/apis/getAll.js +87 -0
- package/dist/proxy/apis/getAll.js.map +1 -0
- package/dist/proxy/apis/postUpdate.d.ts +5 -0
- package/dist/proxy/apis/postUpdate.d.ts.map +1 -0
- package/dist/proxy/apis/postUpdate.js +30 -0
- package/dist/proxy/apis/postUpdate.js.map +1 -0
- package/dist/proxy/apis/resolve.d.ts +22 -0
- package/dist/proxy/apis/resolve.d.ts.map +1 -0
- package/dist/proxy/apis/resolve.js +65 -0
- package/dist/proxy/apis/resolve.js.map +1 -0
- package/dist/proxy/apis/trackDependency.d.ts +34 -0
- package/dist/proxy/apis/trackDependency.d.ts.map +1 -0
- package/dist/proxy/apis/trackDependency.js +32 -0
- package/dist/proxy/apis/trackDependency.js.map +1 -0
- package/dist/proxy/apis/updatedCallback.d.ts +28 -0
- package/dist/proxy/apis/updatedCallback.d.ts.map +1 -0
- package/dist/proxy/apis/updatedCallback.js +56 -0
- package/dist/proxy/apis/updatedCallback.js.map +1 -0
- package/dist/proxy/methods/checkDependency.d.ts +4 -0
- package/dist/proxy/methods/checkDependency.d.ts.map +1 -0
- package/dist/proxy/methods/checkDependency.js +16 -0
- package/dist/proxy/methods/checkDependency.js.map +1 -0
- package/dist/proxy/methods/getByAddress.d.ts +23 -0
- package/dist/proxy/methods/getByAddress.d.ts.map +1 -0
- package/dist/proxy/methods/getByAddress.js +81 -0
- package/dist/proxy/methods/getByAddress.js.map +1 -0
- package/dist/proxy/methods/getContextListIndex.d.ts +21 -0
- package/dist/proxy/methods/getContextListIndex.d.ts.map +1 -0
- package/dist/proxy/methods/getContextListIndex.js +32 -0
- package/dist/proxy/methods/getContextListIndex.js.map +1 -0
- package/dist/proxy/methods/getListIndex.d.ts +22 -0
- package/dist/proxy/methods/getListIndex.d.ts.map +1 -0
- package/dist/proxy/methods/getListIndex.js +55 -0
- package/dist/proxy/methods/getListIndex.js.map +1 -0
- package/dist/proxy/methods/setByAddress.d.ts +21 -0
- package/dist/proxy/methods/setByAddress.d.ts.map +1 -0
- package/dist/proxy/methods/setByAddress.js +135 -0
- package/dist/proxy/methods/setByAddress.js.map +1 -0
- package/dist/proxy/methods/setLoopContext.d.ts +22 -0
- package/dist/proxy/methods/setLoopContext.d.ts.map +1 -0
- package/dist/proxy/methods/setLoopContext.js +43 -0
- package/dist/proxy/methods/setLoopContext.js.map +1 -0
- package/dist/proxy/methods/swapInfo.d.ts +5 -0
- package/dist/proxy/methods/swapInfo.d.ts.map +1 -0
- package/dist/proxy/methods/swapInfo.js +13 -0
- package/dist/proxy/methods/swapInfo.js.map +1 -0
- package/dist/proxy/methods/types.d.ts +6 -0
- package/dist/proxy/methods/types.d.ts.map +1 -0
- package/dist/proxy/methods/types.js +2 -0
- package/dist/proxy/methods/types.js.map +1 -0
- package/dist/proxy/symbols.d.ts +8 -0
- package/dist/proxy/symbols.d.ts.map +1 -0
- package/dist/proxy/symbols.js +8 -0
- package/dist/proxy/symbols.js.map +1 -0
- package/dist/proxy/traps/get.d.ts +21 -0
- package/dist/proxy/traps/get.d.ts.map +1 -0
- package/dist/proxy/traps/get.js +120 -0
- package/dist/proxy/traps/get.js.map +1 -0
- package/dist/proxy/traps/set.d.ts +18 -0
- package/dist/proxy/traps/set.d.ts.map +1 -0
- package/dist/proxy/traps/set.js +31 -0
- package/dist/proxy/traps/set.js.map +1 -0
- package/dist/proxy/types.d.ts +27 -0
- package/dist/proxy/types.d.ts.map +1 -0
- package/dist/proxy/types.js +2 -0
- package/dist/proxy/types.js.map +1 -0
- package/dist/raiseError.d.ts +2 -0
- package/dist/raiseError.d.ts.map +1 -0
- package/dist/raiseError.js +4 -0
- package/dist/raiseError.js.map +1 -0
- package/dist/registerComponents.d.ts +2 -0
- package/dist/registerComponents.d.ts.map +1 -0
- package/dist/registerComponents.js +9 -0
- package/dist/registerComponents.js.map +1 -0
- package/dist/stateElementByName.d.ts +4 -0
- package/dist/stateElementByName.d.ts.map +1 -0
- package/dist/stateElementByName.js +53 -0
- package/dist/stateElementByName.js.map +1 -0
- package/dist/stateLoader/loadFromInnerScript.d.ts +3 -0
- package/dist/stateLoader/loadFromInnerScript.d.ts.map +1 -0
- package/dist/stateLoader/loadFromInnerScript.js +24 -0
- package/dist/stateLoader/loadFromInnerScript.js.map +1 -0
- package/dist/stateLoader/loadFromJsonFile.d.ts +3 -0
- package/dist/stateLoader/loadFromJsonFile.d.ts.map +1 -0
- package/dist/stateLoader/loadFromJsonFile.js +16 -0
- package/dist/stateLoader/loadFromJsonFile.js.map +1 -0
- package/dist/stateLoader/loadFromScriptFile.d.ts +3 -0
- package/dist/stateLoader/loadFromScriptFile.d.ts.map +1 -0
- package/dist/stateLoader/loadFromScriptFile.js +11 -0
- package/dist/stateLoader/loadFromScriptFile.js.map +1 -0
- package/dist/stateLoader/loadFromScriptJson.d.ts +3 -0
- package/dist/stateLoader/loadFromScriptJson.d.ts.map +1 -0
- package/dist/stateLoader/loadFromScriptJson.js +15 -0
- package/dist/stateLoader/loadFromScriptJson.js.map +1 -0
- package/dist/structural/activateContent.d.ts +6 -0
- package/dist/structural/activateContent.d.ts.map +1 -0
- package/dist/structural/activateContent.js +29 -0
- package/dist/structural/activateContent.js.map +1 -0
- package/dist/structural/collectStructuralFragments.d.ts +2 -0
- package/dist/structural/collectStructuralFragments.d.ts.map +1 -0
- package/dist/structural/collectStructuralFragments.js +160 -0
- package/dist/structural/collectStructuralFragments.js.map +1 -0
- package/dist/structural/contentsByNode.d.ts +5 -0
- package/dist/structural/contentsByNode.d.ts.map +1 -0
- package/dist/structural/contentsByNode.js +29 -0
- package/dist/structural/contentsByNode.js.map +1 -0
- package/dist/structural/createContent.d.ts +4 -0
- package/dist/structural/createContent.d.ts.map +1 -0
- package/dist/structural/createContent.js +92 -0
- package/dist/structural/createContent.js.map +1 -0
- package/dist/structural/createNotFilter.d.ts +3 -0
- package/dist/structural/createNotFilter.d.ts.map +1 -0
- package/dist/structural/createNotFilter.js +17 -0
- package/dist/structural/createNotFilter.js.map +1 -0
- package/dist/structural/define.d.ts +3 -0
- package/dist/structural/define.d.ts.map +1 -0
- package/dist/structural/define.js +7 -0
- package/dist/structural/define.js.map +1 -0
- package/dist/structural/expandShorthandPaths.d.ts +3 -0
- package/dist/structural/expandShorthandPaths.d.ts.map +1 -0
- package/dist/structural/expandShorthandPaths.js +96 -0
- package/dist/structural/expandShorthandPaths.js.map +1 -0
- package/dist/structural/fragmentInfoByUUID.d.ts +4 -0
- package/dist/structural/fragmentInfoByUUID.d.ts.map +1 -0
- package/dist/structural/fragmentInfoByUUID.js +30 -0
- package/dist/structural/fragmentInfoByUUID.js.map +1 -0
- package/dist/structural/getFragmentNodeInfos.d.ts +3 -0
- package/dist/structural/getFragmentNodeInfos.d.ts.map +1 -0
- package/dist/structural/getFragmentNodeInfos.js +16 -0
- package/dist/structural/getFragmentNodeInfos.js.map +1 -0
- package/dist/structural/getNodePath.d.ts +2 -0
- package/dist/structural/getNodePath.d.ts.map +1 -0
- package/dist/structural/getNodePath.js +12 -0
- package/dist/structural/getNodePath.js.map +1 -0
- package/dist/structural/optimizeFragment.d.ts +2 -0
- package/dist/structural/optimizeFragment.d.ts.map +1 -0
- package/dist/structural/optimizeFragment.js +13 -0
- package/dist/structural/optimizeFragment.js.map +1 -0
- package/dist/structural/resolveNodePath.d.ts +2 -0
- package/dist/structural/resolveNodePath.d.ts.map +1 -0
- package/dist/structural/resolveNodePath.js +13 -0
- package/dist/structural/resolveNodePath.js.map +1 -0
- package/dist/structural/types.d.ts +19 -0
- package/dist/structural/types.d.ts.map +1 -0
- package/dist/structural/types.js +2 -0
- package/dist/structural/types.js.map +1 -0
- package/dist/types.d.ts +35 -0
- package/dist/types.d.ts.map +1 -0
- package/dist/types.js +2 -0
- package/dist/types.js.map +1 -0
- package/dist/updater/types.d.ts +7 -0
- package/dist/updater/types.d.ts.map +1 -0
- package/dist/updater/types.js +2 -0
- package/dist/updater/types.js.map +1 -0
- package/dist/updater/updater.d.ts +14 -0
- package/dist/updater/updater.d.ts.map +1 -0
- package/dist/updater/updater.js +49 -0
- package/dist/updater/updater.js.map +1 -0
- package/dist/version/types.d.ts +5 -0
- package/dist/version/types.d.ts.map +1 -0
- package/dist/version/types.js +2 -0
- package/dist/version/types.js.map +1 -0
- package/dist/version/version.d.ts +3 -0
- package/dist/version/version.d.ts.map +1 -0
- package/dist/version/version.js +9 -0
- package/dist/version/version.js.map +1 -0
- package/dist/waitForStateInitialize.d.ts +2 -0
- package/dist/waitForStateInitialize.d.ts.map +1 -0
- package/dist/waitForStateInitialize.js +12 -0
- package/dist/waitForStateInitialize.js.map +1 -0
- package/dist/webComponent/MappingRule.d.ts +10 -0
- package/dist/webComponent/MappingRule.d.ts.map +1 -0
- package/dist/webComponent/MappingRule.js +120 -0
- package/dist/webComponent/MappingRule.js.map +1 -0
- package/dist/webComponent/bindWebComponent.d.ts +3 -0
- package/dist/webComponent/bindWebComponent.d.ts.map +1 -0
- package/dist/webComponent/bindWebComponent.js +49 -0
- package/dist/webComponent/bindWebComponent.js.map +1 -0
- package/dist/webComponent/completeWebComponent.d.ts +4 -0
- package/dist/webComponent/completeWebComponent.d.ts.map +1 -0
- package/dist/webComponent/completeWebComponent.js +17 -0
- package/dist/webComponent/completeWebComponent.js.map +1 -0
- package/dist/webComponent/innerState.d.ts +3 -0
- package/dist/webComponent/innerState.d.ts.map +1 -0
- package/dist/webComponent/innerState.js +120 -0
- package/dist/webComponent/innerState.js.map +1 -0
- package/dist/webComponent/lastValueByAbsoluteStateAddress.d.ts +4 -0
- package/dist/webComponent/lastValueByAbsoluteStateAddress.d.ts.map +1 -0
- package/dist/webComponent/lastValueByAbsoluteStateAddress.js +10 -0
- package/dist/webComponent/lastValueByAbsoluteStateAddress.js.map +1 -0
- package/dist/webComponent/meltFrozenObject.d.ts +2 -0
- package/dist/webComponent/meltFrozenObject.d.ts.map +1 -0
- package/dist/webComponent/meltFrozenObject.js +17 -0
- package/dist/webComponent/meltFrozenObject.js.map +1 -0
- package/dist/webComponent/outerState.d.ts +3 -0
- package/dist/webComponent/outerState.d.ts.map +1 -0
- package/dist/webComponent/outerState.js +41 -0
- package/dist/webComponent/outerState.js.map +1 -0
- package/dist/webComponent/plainOuterState.d.ts +3 -0
- package/dist/webComponent/plainOuterState.d.ts.map +1 -0
- package/dist/webComponent/plainOuterState.js +36 -0
- package/dist/webComponent/plainOuterState.js.map +1 -0
- package/dist/webComponent/stateElementByWebComponent.d.ts +4 -0
- package/dist/webComponent/stateElementByWebComponent.d.ts.map +1 -0
- package/dist/webComponent/stateElementByWebComponent.js +17 -0
- package/dist/webComponent/stateElementByWebComponent.js.map +1 -0
- package/dist/webComponent/types.d.ts +3 -0
- package/dist/webComponent/types.d.ts.map +1 -0
- package/dist/webComponent/types.js +2 -0
- package/dist/webComponent/types.js.map +1 -0
- package/package.json +70 -0
|
@@ -0,0 +1,716 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* builtinFilters.ts
|
|
3
|
+
*
|
|
4
|
+
* Implementation file for built-in filter functions available in Structive.
|
|
5
|
+
*
|
|
6
|
+
* Main responsibilities:
|
|
7
|
+
* - Provides filters for conversion, comparison, formatting, and validation of numbers, strings, dates, booleans, etc.
|
|
8
|
+
* - Defines functions with options for each filter name, enabling flexible use during binding
|
|
9
|
+
* - Designed for common use as both input and output filters
|
|
10
|
+
*
|
|
11
|
+
* Design points:
|
|
12
|
+
* - Comprehensive coverage of diverse filters: eq, ne, lt, gt, inc, fix, locale, uc, lc, cap, trim, slice, pad, int, float, round, date, time, ymd, falsy, truthy, defaults, boolean, number, string, null, etc.
|
|
13
|
+
* - Rich type checking and error handling for option values
|
|
14
|
+
* - Centralized management of filter functions with FilterWithOptions type, easy to extend
|
|
15
|
+
* - Dynamic retrieval of filter functions from filter names and options via builtinFilterFn
|
|
16
|
+
*/
|
|
17
|
+
import { config } from "../config.js";
|
|
18
|
+
import { raiseError } from "../raiseError.js";
|
|
19
|
+
import { optionMustBeNumber, optionsRequired, valueMustBeBoolean, valueMustBeDate, valueMustBeNumber } from "./errorMessages.js";
|
|
20
|
+
function validateNumberString(value) {
|
|
21
|
+
if (!value || isNaN(Number(value))) {
|
|
22
|
+
return false;
|
|
23
|
+
}
|
|
24
|
+
return true;
|
|
25
|
+
}
|
|
26
|
+
/**
|
|
27
|
+
* Equality filter - compares value with option.
|
|
28
|
+
*
|
|
29
|
+
* @param options - Array with comparison value as first element
|
|
30
|
+
* @returns Filter function that returns boolean
|
|
31
|
+
*/
|
|
32
|
+
const eq = (options) => {
|
|
33
|
+
const opt = options?.[0] ?? optionsRequired('eq');
|
|
34
|
+
return (value) => {
|
|
35
|
+
// Align types for comparison
|
|
36
|
+
if (typeof value === 'number') {
|
|
37
|
+
if (!validateNumberString(opt)) {
|
|
38
|
+
optionMustBeNumber('eq');
|
|
39
|
+
}
|
|
40
|
+
return value === Number(opt);
|
|
41
|
+
}
|
|
42
|
+
if (typeof value === 'string') {
|
|
43
|
+
return value === opt;
|
|
44
|
+
}
|
|
45
|
+
// Strict equality for others
|
|
46
|
+
return value === opt;
|
|
47
|
+
};
|
|
48
|
+
};
|
|
49
|
+
/**
|
|
50
|
+
* Inequality filter - compares value with option.
|
|
51
|
+
*
|
|
52
|
+
* @param options - Array with comparison value as first element
|
|
53
|
+
* @returns Filter function that returns boolean
|
|
54
|
+
*/
|
|
55
|
+
const ne = (options) => {
|
|
56
|
+
const opt = options?.[0] ?? optionsRequired('ne');
|
|
57
|
+
return (value) => {
|
|
58
|
+
// Align types for comparison
|
|
59
|
+
if (typeof value === 'number') {
|
|
60
|
+
if (!validateNumberString(opt)) {
|
|
61
|
+
optionMustBeNumber('ne');
|
|
62
|
+
}
|
|
63
|
+
return value !== Number(opt);
|
|
64
|
+
}
|
|
65
|
+
if (typeof value === 'string') {
|
|
66
|
+
return value !== opt;
|
|
67
|
+
}
|
|
68
|
+
// Strict equality for others
|
|
69
|
+
return value !== opt;
|
|
70
|
+
};
|
|
71
|
+
};
|
|
72
|
+
/**
|
|
73
|
+
* Boolean NOT filter - inverts boolean value.
|
|
74
|
+
*
|
|
75
|
+
* @param options - Unused
|
|
76
|
+
* @returns Filter function that returns inverted boolean
|
|
77
|
+
*/
|
|
78
|
+
const not = (_options) => {
|
|
79
|
+
return (value) => {
|
|
80
|
+
if (typeof value !== 'boolean') {
|
|
81
|
+
valueMustBeBoolean('not');
|
|
82
|
+
}
|
|
83
|
+
return !value;
|
|
84
|
+
};
|
|
85
|
+
};
|
|
86
|
+
/**
|
|
87
|
+
* Less than filter - checks if value is less than option.
|
|
88
|
+
*
|
|
89
|
+
* @param options - Array with comparison number as first element
|
|
90
|
+
* @returns Filter function that returns boolean
|
|
91
|
+
*/
|
|
92
|
+
const lt = (options) => {
|
|
93
|
+
const opt = options?.[0] ?? optionsRequired('lt');
|
|
94
|
+
if (!validateNumberString(opt)) {
|
|
95
|
+
optionMustBeNumber('lt');
|
|
96
|
+
}
|
|
97
|
+
return (value) => {
|
|
98
|
+
if (typeof value !== 'number') {
|
|
99
|
+
valueMustBeNumber('lt');
|
|
100
|
+
}
|
|
101
|
+
return value < Number(opt);
|
|
102
|
+
};
|
|
103
|
+
};
|
|
104
|
+
/**
|
|
105
|
+
* Less than or equal filter - checks if value is less than or equal to option.
|
|
106
|
+
*
|
|
107
|
+
* @param options - Array with comparison number as first element
|
|
108
|
+
* @returns Filter function that returns boolean
|
|
109
|
+
*/
|
|
110
|
+
const le = (options) => {
|
|
111
|
+
const opt = options?.[0] ?? optionsRequired('le');
|
|
112
|
+
if (!validateNumberString(opt)) {
|
|
113
|
+
optionMustBeNumber('le');
|
|
114
|
+
}
|
|
115
|
+
return (value) => {
|
|
116
|
+
if (typeof value !== 'number') {
|
|
117
|
+
valueMustBeNumber('le');
|
|
118
|
+
}
|
|
119
|
+
return value <= Number(opt);
|
|
120
|
+
};
|
|
121
|
+
};
|
|
122
|
+
/**
|
|
123
|
+
* Greater than filter - checks if value is greater than option.
|
|
124
|
+
*
|
|
125
|
+
* @param options - Array with comparison number as first element
|
|
126
|
+
* @returns Filter function that returns boolean
|
|
127
|
+
*/
|
|
128
|
+
const gt = (options) => {
|
|
129
|
+
const opt = options?.[0] ?? optionsRequired('gt');
|
|
130
|
+
if (!validateNumberString(opt)) {
|
|
131
|
+
optionMustBeNumber('gt');
|
|
132
|
+
}
|
|
133
|
+
return (value) => {
|
|
134
|
+
if (typeof value !== 'number') {
|
|
135
|
+
valueMustBeNumber('gt');
|
|
136
|
+
}
|
|
137
|
+
return value > Number(opt);
|
|
138
|
+
};
|
|
139
|
+
};
|
|
140
|
+
/**
|
|
141
|
+
* Greater than or equal filter - checks if value is greater than or equal to option.
|
|
142
|
+
*
|
|
143
|
+
* @param options - Array with comparison number as first element
|
|
144
|
+
* @returns Filter function that returns boolean
|
|
145
|
+
*/
|
|
146
|
+
const ge = (options) => {
|
|
147
|
+
const opt = options?.[0] ?? optionsRequired('ge');
|
|
148
|
+
if (!validateNumberString(opt)) {
|
|
149
|
+
optionMustBeNumber('ge');
|
|
150
|
+
}
|
|
151
|
+
return (value) => {
|
|
152
|
+
if (typeof value !== 'number') {
|
|
153
|
+
valueMustBeNumber('ge');
|
|
154
|
+
}
|
|
155
|
+
return value >= Number(opt);
|
|
156
|
+
};
|
|
157
|
+
};
|
|
158
|
+
/**
|
|
159
|
+
* Increment filter - adds option value to input value.
|
|
160
|
+
*
|
|
161
|
+
* @param options - Array with increment number as first element
|
|
162
|
+
* @returns Filter function that returns incremented number
|
|
163
|
+
*/
|
|
164
|
+
const inc = (options) => {
|
|
165
|
+
const opt = options?.[0] ?? optionsRequired('inc');
|
|
166
|
+
if (!validateNumberString(opt)) {
|
|
167
|
+
optionMustBeNumber('inc');
|
|
168
|
+
}
|
|
169
|
+
return (value) => {
|
|
170
|
+
if (typeof value !== 'number') {
|
|
171
|
+
valueMustBeNumber('inc');
|
|
172
|
+
}
|
|
173
|
+
return value + Number(opt);
|
|
174
|
+
};
|
|
175
|
+
};
|
|
176
|
+
/**
|
|
177
|
+
* Decrement filter - subtracts option value from input value.
|
|
178
|
+
*
|
|
179
|
+
* @param options - Array with decrement number as first element
|
|
180
|
+
* @returns Filter function that returns decremented number
|
|
181
|
+
*/
|
|
182
|
+
const dec = (options) => {
|
|
183
|
+
const opt = options?.[0] ?? optionsRequired('dec');
|
|
184
|
+
if (!validateNumberString(opt)) {
|
|
185
|
+
optionMustBeNumber('dec');
|
|
186
|
+
}
|
|
187
|
+
return (value) => {
|
|
188
|
+
if (typeof value !== 'number') {
|
|
189
|
+
valueMustBeNumber('dec');
|
|
190
|
+
}
|
|
191
|
+
return value - Number(opt);
|
|
192
|
+
};
|
|
193
|
+
};
|
|
194
|
+
/**
|
|
195
|
+
* Multiply filter - multiplies value by option.
|
|
196
|
+
*
|
|
197
|
+
* @param options - Array with multiplier number as first element
|
|
198
|
+
* @returns Filter function that returns multiplied number
|
|
199
|
+
*/
|
|
200
|
+
const mul = (options) => {
|
|
201
|
+
const opt = options?.[0] ?? optionsRequired('mul');
|
|
202
|
+
if (!validateNumberString(opt)) {
|
|
203
|
+
optionMustBeNumber('mul');
|
|
204
|
+
}
|
|
205
|
+
return (value) => {
|
|
206
|
+
if (typeof value !== 'number') {
|
|
207
|
+
valueMustBeNumber('mul');
|
|
208
|
+
}
|
|
209
|
+
return value * Number(opt);
|
|
210
|
+
};
|
|
211
|
+
};
|
|
212
|
+
/**
|
|
213
|
+
* Divide filter - divides value by option.
|
|
214
|
+
*
|
|
215
|
+
* @param options - Array with divisor number as first element
|
|
216
|
+
* @returns Filter function that returns divided number
|
|
217
|
+
*/
|
|
218
|
+
const div = (options) => {
|
|
219
|
+
const opt = options?.[0] ?? optionsRequired('div');
|
|
220
|
+
if (!validateNumberString(opt)) {
|
|
221
|
+
optionMustBeNumber('div');
|
|
222
|
+
}
|
|
223
|
+
return (value) => {
|
|
224
|
+
if (typeof value !== 'number') {
|
|
225
|
+
valueMustBeNumber('div');
|
|
226
|
+
}
|
|
227
|
+
return value / Number(opt);
|
|
228
|
+
};
|
|
229
|
+
};
|
|
230
|
+
/**
|
|
231
|
+
* Modulo filter - returns remainder of division.
|
|
232
|
+
*
|
|
233
|
+
* @param options - Array with divisor number as first element
|
|
234
|
+
* @returns Filter function that returns remainder
|
|
235
|
+
*/
|
|
236
|
+
const mod = (options) => {
|
|
237
|
+
const opt = options?.[0] ?? optionsRequired('mod');
|
|
238
|
+
if (!validateNumberString(opt)) {
|
|
239
|
+
optionMustBeNumber('mod');
|
|
240
|
+
}
|
|
241
|
+
return (value) => {
|
|
242
|
+
if (typeof value !== 'number') {
|
|
243
|
+
valueMustBeNumber('mod');
|
|
244
|
+
}
|
|
245
|
+
return value % Number(opt);
|
|
246
|
+
};
|
|
247
|
+
};
|
|
248
|
+
/**
|
|
249
|
+
* Fixed decimal filter - formats number to fixed decimal places.
|
|
250
|
+
*
|
|
251
|
+
* @param options - Array with decimal places as first element (default: 0)
|
|
252
|
+
* @returns Filter function that returns formatted string
|
|
253
|
+
*/
|
|
254
|
+
const fix = (options) => {
|
|
255
|
+
const opt = options?.[0] ?? "0";
|
|
256
|
+
if (!validateNumberString(opt)) {
|
|
257
|
+
optionMustBeNumber('fix');
|
|
258
|
+
}
|
|
259
|
+
return (value) => {
|
|
260
|
+
if (typeof value !== 'number') {
|
|
261
|
+
valueMustBeNumber('fix');
|
|
262
|
+
}
|
|
263
|
+
return value.toFixed(Number(opt));
|
|
264
|
+
};
|
|
265
|
+
};
|
|
266
|
+
/**
|
|
267
|
+
* Locale number filter - formats number according to locale.
|
|
268
|
+
*
|
|
269
|
+
* @param options - Array with locale string as first element (default: config.locale)
|
|
270
|
+
* @returns Filter function that returns localized number string
|
|
271
|
+
*/
|
|
272
|
+
const locale = (options) => {
|
|
273
|
+
const opt = options?.[0] ?? config.locale;
|
|
274
|
+
return (value) => {
|
|
275
|
+
if (typeof value !== 'number') {
|
|
276
|
+
valueMustBeNumber('locale');
|
|
277
|
+
}
|
|
278
|
+
return value.toLocaleString(opt);
|
|
279
|
+
};
|
|
280
|
+
};
|
|
281
|
+
/**
|
|
282
|
+
* Uppercase filter - converts string to uppercase.
|
|
283
|
+
*
|
|
284
|
+
* @param options - Unused
|
|
285
|
+
* @returns Filter function that returns uppercase string
|
|
286
|
+
*/
|
|
287
|
+
const uc = (_options) => {
|
|
288
|
+
return (value) => {
|
|
289
|
+
return String(value).toUpperCase();
|
|
290
|
+
};
|
|
291
|
+
};
|
|
292
|
+
/**
|
|
293
|
+
* Lowercase filter - converts string to lowercase.
|
|
294
|
+
*
|
|
295
|
+
* @param options - Unused
|
|
296
|
+
* @returns Filter function that returns lowercase string
|
|
297
|
+
*/
|
|
298
|
+
const lc = (_options) => {
|
|
299
|
+
return (value) => {
|
|
300
|
+
return String(value).toLowerCase();
|
|
301
|
+
};
|
|
302
|
+
};
|
|
303
|
+
/**
|
|
304
|
+
* Capitalize filter - capitalizes first character of string.
|
|
305
|
+
*
|
|
306
|
+
* @param options - Unused
|
|
307
|
+
* @returns Filter function that returns capitalized string
|
|
308
|
+
*/
|
|
309
|
+
const cap = (_options) => {
|
|
310
|
+
return (value) => {
|
|
311
|
+
const v = String(value);
|
|
312
|
+
if (v.length === 0) {
|
|
313
|
+
return v;
|
|
314
|
+
}
|
|
315
|
+
if (v.length === 1) {
|
|
316
|
+
return v.toUpperCase();
|
|
317
|
+
}
|
|
318
|
+
return v.charAt(0).toUpperCase() + v.slice(1);
|
|
319
|
+
};
|
|
320
|
+
};
|
|
321
|
+
/**
|
|
322
|
+
* Trim filter - removes whitespace from both ends of string.
|
|
323
|
+
*
|
|
324
|
+
* @param options - Unused
|
|
325
|
+
* @returns Filter function that returns trimmed string
|
|
326
|
+
*/
|
|
327
|
+
const trim = (_options) => {
|
|
328
|
+
return (value) => {
|
|
329
|
+
return String(value).trim();
|
|
330
|
+
};
|
|
331
|
+
};
|
|
332
|
+
/**
|
|
333
|
+
* Slice filter - extracts portion of string from specified index.
|
|
334
|
+
*
|
|
335
|
+
* @param options - Array with start index and optional end index
|
|
336
|
+
* @returns Filter function that returns sliced string
|
|
337
|
+
*/
|
|
338
|
+
const slice = (options) => {
|
|
339
|
+
const numberedOpts = [];
|
|
340
|
+
const opt1 = options?.[0] ?? optionsRequired('slice');
|
|
341
|
+
if (!validateNumberString(opt1)) {
|
|
342
|
+
optionMustBeNumber('slice');
|
|
343
|
+
}
|
|
344
|
+
numberedOpts.push(Number(opt1));
|
|
345
|
+
const opt2 = options?.[1];
|
|
346
|
+
if (typeof opt2 !== 'undefined') {
|
|
347
|
+
if (!validateNumberString(opt2)) {
|
|
348
|
+
optionMustBeNumber('slice');
|
|
349
|
+
}
|
|
350
|
+
numberedOpts.push(Number(opt2));
|
|
351
|
+
}
|
|
352
|
+
return (value) => {
|
|
353
|
+
return String(value).slice(...numberedOpts);
|
|
354
|
+
};
|
|
355
|
+
};
|
|
356
|
+
/**
|
|
357
|
+
* Substring filter - extracts substring from specified position and length.
|
|
358
|
+
*
|
|
359
|
+
* @param options - Array with start index and length
|
|
360
|
+
* @returns Filter function that returns substring
|
|
361
|
+
*/
|
|
362
|
+
const substr = (options) => {
|
|
363
|
+
const opt1 = options?.[0] ?? optionsRequired('substr');
|
|
364
|
+
if (!validateNumberString(opt1)) {
|
|
365
|
+
optionMustBeNumber('substr');
|
|
366
|
+
}
|
|
367
|
+
const opt2 = options?.[1] ?? optionsRequired('substr');
|
|
368
|
+
if (!validateNumberString(opt2)) {
|
|
369
|
+
optionMustBeNumber('substr');
|
|
370
|
+
}
|
|
371
|
+
return (value) => {
|
|
372
|
+
return String(value).substr(Number(opt1), Number(opt2));
|
|
373
|
+
};
|
|
374
|
+
};
|
|
375
|
+
/**
|
|
376
|
+
* Pad filter - pads string to specified length from start.
|
|
377
|
+
*
|
|
378
|
+
* @param options - Array with target length and pad string (default: '0')
|
|
379
|
+
* @returns Filter function that returns padded string
|
|
380
|
+
*/
|
|
381
|
+
const pad = (options) => {
|
|
382
|
+
const opt1 = options?.[0] ?? optionsRequired('pad');
|
|
383
|
+
if (!validateNumberString(opt1)) {
|
|
384
|
+
optionMustBeNumber('pad');
|
|
385
|
+
}
|
|
386
|
+
const opt2 = options?.[1] ?? '0';
|
|
387
|
+
return (value) => {
|
|
388
|
+
return String(value).padStart(Number(opt1), opt2);
|
|
389
|
+
};
|
|
390
|
+
};
|
|
391
|
+
/**
|
|
392
|
+
* Repeat filter - repeats string specified number of times.
|
|
393
|
+
*
|
|
394
|
+
* @param options - Array with repeat count as first element
|
|
395
|
+
* @returns Filter function that returns repeated string
|
|
396
|
+
*/
|
|
397
|
+
const rep = (options) => {
|
|
398
|
+
const opt = options?.[0] ?? optionsRequired('rep');
|
|
399
|
+
if (!validateNumberString(opt)) {
|
|
400
|
+
optionMustBeNumber('rep');
|
|
401
|
+
}
|
|
402
|
+
return (value) => {
|
|
403
|
+
return String(value).repeat(Number(opt));
|
|
404
|
+
};
|
|
405
|
+
};
|
|
406
|
+
/**
|
|
407
|
+
* Reverse filter - reverses character order in string.
|
|
408
|
+
*
|
|
409
|
+
* @param options - Unused
|
|
410
|
+
* @returns Filter function that returns reversed string
|
|
411
|
+
*/
|
|
412
|
+
const rev = (_options) => {
|
|
413
|
+
return (value) => {
|
|
414
|
+
return String(value).split('').reverse().join('');
|
|
415
|
+
};
|
|
416
|
+
};
|
|
417
|
+
/**
|
|
418
|
+
* Integer filter - parses value to integer.
|
|
419
|
+
*
|
|
420
|
+
* @param options - Unused
|
|
421
|
+
* @returns Filter function that returns integer
|
|
422
|
+
*/
|
|
423
|
+
const int = (_options) => {
|
|
424
|
+
return (value) => {
|
|
425
|
+
return parseInt(String(value), 10);
|
|
426
|
+
};
|
|
427
|
+
};
|
|
428
|
+
/**
|
|
429
|
+
* Float filter - parses value to floating point number.
|
|
430
|
+
*
|
|
431
|
+
* @param options - Unused
|
|
432
|
+
* @returns Filter function that returns float
|
|
433
|
+
*/
|
|
434
|
+
const float = (_options) => {
|
|
435
|
+
return (value) => {
|
|
436
|
+
return parseFloat(String(value));
|
|
437
|
+
};
|
|
438
|
+
};
|
|
439
|
+
/**
|
|
440
|
+
* Round filter - rounds number to specified decimal places.
|
|
441
|
+
*
|
|
442
|
+
* @param options - Array with decimal places as first element (default: 0)
|
|
443
|
+
* @returns Filter function that returns rounded number
|
|
444
|
+
*/
|
|
445
|
+
const round = (options) => {
|
|
446
|
+
const opt = options?.[0] ?? '0';
|
|
447
|
+
if (!validateNumberString(opt)) {
|
|
448
|
+
optionMustBeNumber('round');
|
|
449
|
+
}
|
|
450
|
+
return (value) => {
|
|
451
|
+
if (typeof value !== 'number') {
|
|
452
|
+
valueMustBeNumber('round');
|
|
453
|
+
}
|
|
454
|
+
const optValue = Math.pow(10, Number(opt));
|
|
455
|
+
return Math.round(value * optValue) / optValue;
|
|
456
|
+
};
|
|
457
|
+
};
|
|
458
|
+
/**
|
|
459
|
+
* Floor filter - rounds number down to specified decimal places.
|
|
460
|
+
*
|
|
461
|
+
* @param options - Array with decimal places as first element (default: 0)
|
|
462
|
+
* @returns Filter function that returns floored number
|
|
463
|
+
*/
|
|
464
|
+
const floor = (options) => {
|
|
465
|
+
const opt = options?.[0] ?? '0';
|
|
466
|
+
if (!validateNumberString(opt)) {
|
|
467
|
+
optionMustBeNumber('floor');
|
|
468
|
+
}
|
|
469
|
+
return (value) => {
|
|
470
|
+
if (typeof value !== 'number') {
|
|
471
|
+
valueMustBeNumber('floor');
|
|
472
|
+
}
|
|
473
|
+
const optValue = Math.pow(10, Number(opt));
|
|
474
|
+
return Math.floor(value * optValue) / optValue;
|
|
475
|
+
};
|
|
476
|
+
};
|
|
477
|
+
/**
|
|
478
|
+
* Ceiling filter - rounds number up to specified decimal places.
|
|
479
|
+
*
|
|
480
|
+
* @param options - Array with decimal places as first element (default: 0)
|
|
481
|
+
* @returns Filter function that returns ceiled number
|
|
482
|
+
*/
|
|
483
|
+
const ceil = (options) => {
|
|
484
|
+
const opt = options?.[0] ?? '0';
|
|
485
|
+
if (!validateNumberString(opt)) {
|
|
486
|
+
optionMustBeNumber('ceil');
|
|
487
|
+
}
|
|
488
|
+
return (value) => {
|
|
489
|
+
if (typeof value !== 'number') {
|
|
490
|
+
valueMustBeNumber('ceil');
|
|
491
|
+
}
|
|
492
|
+
const optValue = Math.pow(10, Number(opt));
|
|
493
|
+
return Math.ceil(value * optValue) / optValue;
|
|
494
|
+
};
|
|
495
|
+
};
|
|
496
|
+
/**
|
|
497
|
+
* Percent filter - formats number as percentage string.
|
|
498
|
+
*
|
|
499
|
+
* @param options - Array with decimal places as first element (default: 0)
|
|
500
|
+
* @returns Filter function that returns percentage string with '%'
|
|
501
|
+
*/
|
|
502
|
+
const percent = (options) => {
|
|
503
|
+
const opt = options?.[0] ?? '0';
|
|
504
|
+
if (!validateNumberString(opt)) {
|
|
505
|
+
optionMustBeNumber('percent');
|
|
506
|
+
}
|
|
507
|
+
return (value) => {
|
|
508
|
+
if (typeof value !== 'number') {
|
|
509
|
+
valueMustBeNumber('percent');
|
|
510
|
+
}
|
|
511
|
+
return `${(value * 100).toFixed(Number(opt))}%`;
|
|
512
|
+
};
|
|
513
|
+
};
|
|
514
|
+
/**
|
|
515
|
+
* Date filter - formats Date object as localized date string.
|
|
516
|
+
*
|
|
517
|
+
* @param options - Array with locale string as first element (default: config.locale)
|
|
518
|
+
* @returns Filter function that returns date string
|
|
519
|
+
*/
|
|
520
|
+
const date = (options) => {
|
|
521
|
+
const opt = options?.[0] ?? config.locale;
|
|
522
|
+
return (value) => {
|
|
523
|
+
if (!(value instanceof Date)) {
|
|
524
|
+
valueMustBeDate('date');
|
|
525
|
+
}
|
|
526
|
+
return value.toLocaleDateString(opt);
|
|
527
|
+
};
|
|
528
|
+
};
|
|
529
|
+
/**
|
|
530
|
+
* Time filter - formats Date object as localized time string.
|
|
531
|
+
*
|
|
532
|
+
* @param options - Array with locale string as first element (default: config.locale)
|
|
533
|
+
* @returns Filter function that returns time string
|
|
534
|
+
*/
|
|
535
|
+
const time = (options) => {
|
|
536
|
+
const opt = options?.[0] ?? config.locale;
|
|
537
|
+
return (value) => {
|
|
538
|
+
if (!(value instanceof Date)) {
|
|
539
|
+
valueMustBeDate('time');
|
|
540
|
+
}
|
|
541
|
+
return value.toLocaleTimeString(opt);
|
|
542
|
+
};
|
|
543
|
+
};
|
|
544
|
+
/**
|
|
545
|
+
* DateTime filter - formats Date object as localized date and time string.
|
|
546
|
+
*
|
|
547
|
+
* @param options - Array with locale string as first element (default: config.locale)
|
|
548
|
+
* @returns Filter function that returns datetime string
|
|
549
|
+
*/
|
|
550
|
+
const datetime = (options) => {
|
|
551
|
+
const opt = options?.[0] ?? config.locale;
|
|
552
|
+
return (value) => {
|
|
553
|
+
if (!(value instanceof Date)) {
|
|
554
|
+
valueMustBeDate('datetime');
|
|
555
|
+
}
|
|
556
|
+
return value.toLocaleString(opt);
|
|
557
|
+
};
|
|
558
|
+
};
|
|
559
|
+
/**
|
|
560
|
+
* Year-Month-Day filter - formats Date object as YYYY-MM-DD string.
|
|
561
|
+
*
|
|
562
|
+
* @param options - Array with separator string as first element (default: '-')
|
|
563
|
+
* @returns Filter function that returns formatted date string
|
|
564
|
+
*/
|
|
565
|
+
const ymd = (options) => {
|
|
566
|
+
const opt = options?.[0] ?? '-';
|
|
567
|
+
return (value) => {
|
|
568
|
+
if (!(value instanceof Date)) {
|
|
569
|
+
valueMustBeDate('ymd');
|
|
570
|
+
}
|
|
571
|
+
const year = value.getFullYear().toString();
|
|
572
|
+
const month = (value.getMonth() + 1).toString().padStart(2, '0');
|
|
573
|
+
const day = value.getDate().toString().padStart(2, '0');
|
|
574
|
+
return `${year}${opt}${month}${opt}${day}`;
|
|
575
|
+
};
|
|
576
|
+
};
|
|
577
|
+
/**
|
|
578
|
+
* Falsy filter - checks if value is falsy.
|
|
579
|
+
*
|
|
580
|
+
* @param options - Unused
|
|
581
|
+
* @returns Filter function that returns true for false/null/undefined/0/''/NaN
|
|
582
|
+
*/
|
|
583
|
+
const falsy = (_options) => {
|
|
584
|
+
return (value) => value === false || value === null || value === undefined || value === 0 || value === '' || Number.isNaN(value);
|
|
585
|
+
};
|
|
586
|
+
/**
|
|
587
|
+
* Truthy filter - checks if value is truthy.
|
|
588
|
+
*
|
|
589
|
+
* @param options - Unused
|
|
590
|
+
* @returns Filter function that returns true for non-falsy values
|
|
591
|
+
*/
|
|
592
|
+
const truthy = (_options) => {
|
|
593
|
+
return (value) => value !== false && value !== null && value !== undefined && value !== 0 && value !== '' && !Number.isNaN(value);
|
|
594
|
+
};
|
|
595
|
+
/**
|
|
596
|
+
* Default filter - returns default value if input is falsy.
|
|
597
|
+
*
|
|
598
|
+
* @param options - Array with default value as first element
|
|
599
|
+
* @returns Filter function that returns value or default
|
|
600
|
+
*/
|
|
601
|
+
const defaults = (options) => {
|
|
602
|
+
const opt = options?.[0] ?? optionsRequired('defaults');
|
|
603
|
+
return (value) => {
|
|
604
|
+
if (value === false || value === null || value === undefined || value === 0 || value === '' || Number.isNaN(value)) {
|
|
605
|
+
return opt;
|
|
606
|
+
}
|
|
607
|
+
return value;
|
|
608
|
+
};
|
|
609
|
+
};
|
|
610
|
+
/**
|
|
611
|
+
* Boolean filter - converts value to boolean.
|
|
612
|
+
*
|
|
613
|
+
* @param options - Unused
|
|
614
|
+
* @returns Filter function that returns boolean
|
|
615
|
+
*/
|
|
616
|
+
const boolean = (_options) => {
|
|
617
|
+
return (value) => {
|
|
618
|
+
return Boolean(value);
|
|
619
|
+
};
|
|
620
|
+
};
|
|
621
|
+
/**
|
|
622
|
+
* Number filter - converts value to number.
|
|
623
|
+
*
|
|
624
|
+
* @param options - Unused
|
|
625
|
+
* @returns Filter function that returns number
|
|
626
|
+
*/
|
|
627
|
+
const number = (_options) => {
|
|
628
|
+
return (value) => {
|
|
629
|
+
return Number(value);
|
|
630
|
+
};
|
|
631
|
+
};
|
|
632
|
+
/**
|
|
633
|
+
* String filter - converts value to string.
|
|
634
|
+
*
|
|
635
|
+
* @param options - Unused
|
|
636
|
+
* @returns Filter function that returns string
|
|
637
|
+
*/
|
|
638
|
+
const string = (_options) => {
|
|
639
|
+
return (value) => {
|
|
640
|
+
return String(value);
|
|
641
|
+
};
|
|
642
|
+
};
|
|
643
|
+
/**
|
|
644
|
+
* Null filter - converts empty string to null.
|
|
645
|
+
*
|
|
646
|
+
* @param options - Unused
|
|
647
|
+
* @returns Filter function that returns null for empty string, otherwise original value
|
|
648
|
+
*/
|
|
649
|
+
const _null = (_options) => {
|
|
650
|
+
return (value) => {
|
|
651
|
+
return (value === "") ? null : value;
|
|
652
|
+
};
|
|
653
|
+
};
|
|
654
|
+
const builtinFilters = {
|
|
655
|
+
"eq": eq,
|
|
656
|
+
"ne": ne,
|
|
657
|
+
"not": not,
|
|
658
|
+
"lt": lt,
|
|
659
|
+
"le": le,
|
|
660
|
+
"gt": gt,
|
|
661
|
+
"ge": ge,
|
|
662
|
+
"inc": inc,
|
|
663
|
+
"dec": dec,
|
|
664
|
+
"mul": mul,
|
|
665
|
+
"div": div,
|
|
666
|
+
"mod": mod,
|
|
667
|
+
"fix": fix,
|
|
668
|
+
"locale": locale,
|
|
669
|
+
"uc": uc,
|
|
670
|
+
"lc": lc,
|
|
671
|
+
"cap": cap,
|
|
672
|
+
"trim": trim,
|
|
673
|
+
"slice": slice,
|
|
674
|
+
"substr": substr,
|
|
675
|
+
"pad": pad,
|
|
676
|
+
"rep": rep,
|
|
677
|
+
"rev": rev,
|
|
678
|
+
"int": int,
|
|
679
|
+
"float": float,
|
|
680
|
+
"round": round,
|
|
681
|
+
"floor": floor,
|
|
682
|
+
"ceil": ceil,
|
|
683
|
+
"percent": percent,
|
|
684
|
+
"date": date,
|
|
685
|
+
"time": time,
|
|
686
|
+
"datetime": datetime,
|
|
687
|
+
"ymd": ymd,
|
|
688
|
+
"falsy": falsy,
|
|
689
|
+
"truthy": truthy,
|
|
690
|
+
"defaults": defaults,
|
|
691
|
+
"boolean": boolean,
|
|
692
|
+
"number": number,
|
|
693
|
+
"string": string,
|
|
694
|
+
"null": _null,
|
|
695
|
+
};
|
|
696
|
+
export const outputBuiltinFilters = builtinFilters;
|
|
697
|
+
export const inputBuiltinFilters = builtinFilters;
|
|
698
|
+
export const builtinFiltersByFilterIOType = {
|
|
699
|
+
"input": inputBuiltinFilters,
|
|
700
|
+
"output": outputBuiltinFilters,
|
|
701
|
+
};
|
|
702
|
+
/**
|
|
703
|
+
* Retrieves built-in filter function by name and options.
|
|
704
|
+
*
|
|
705
|
+
* @param name - Filter name
|
|
706
|
+
* @param options - Array of option strings
|
|
707
|
+
* @returns Function that takes FilterWithOptions and returns filter function
|
|
708
|
+
*/
|
|
709
|
+
export const builtinFilterFn = (name, options) => (filters) => {
|
|
710
|
+
const filter = filters[name];
|
|
711
|
+
if (!filter) {
|
|
712
|
+
raiseError(`filter not found: ${name}`);
|
|
713
|
+
}
|
|
714
|
+
return filter(options);
|
|
715
|
+
};
|
|
716
|
+
//# sourceMappingURL=builtinFilters.js.map
|