@dnb/eufemia
Version:
DNB Eufemia Design System UI Library
22 lines • 706 B
JavaScript
import { isAsync } from "../../../shared/helpers/isAsync.js";
const validatorOptions = new WeakMap();
export function withValidatorOptions(validator, options) {
const mergedOptions = {
...validatorOptions.get(validator),
...options
};
const validatorWithOptions = isAsync(validator) ? async (...args) => {
return validator(...args);
} : (...args) => {
return validator(...args);
};
validatorOptions.set(validatorWithOptions, mergedOptions);
return validatorWithOptions;
}
export function getValidatorOptions(validator) {
if (typeof validator !== 'function') {
return undefined;
}
return validatorOptions.get(validator);
}
//# sourceMappingURL=validatorOptions.js.map