UNPKG

@dnb/eufemia

Version:

DNB Eufemia Design System UI Library

50 lines (49 loc) 1.22 kB
"use strict"; "use client"; Object.defineProperty(exports, "__esModule", { value: true }); exports.default = useFieldTransform; var _react = require("react"); function useFieldTransform({ transformIn, transformOut, toInput, fromInput, toEvent, transformValue, provideAdditionalArgs, fromExternal, validateRequired, valueRef }) { const transformers = (0, _react.useRef)({ transformIn, transformOut, toInput, fromInput, toEvent, transformValue, provideAdditionalArgs, fromExternal, validateRequired }); const getEventArgs = (0, _react.useCallback)(({ eventName, additionalArgs, overrideValue = undefined }) => { const value = transformers.current.toEvent(overrideValue !== null && overrideValue !== void 0 ? overrideValue : valueRef.current, eventName); const args = transformers.current.provideAdditionalArgs(value, additionalArgs); const transformedValue = transformers.current.transformOut(value, args); if (typeof args !== 'undefined') { return [transformedValue, args]; } return [transformedValue]; }, []); return { transformers, getEventArgs }; } //# sourceMappingURL=useFieldTransform.js.map