@dnb/eufemia
Version:
DNB Eufemia Design System UI Library
29 lines (28 loc) • 890 B
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.getValidatorOptions = getValidatorOptions;
exports.withValidatorOptions = withValidatorOptions;
var _isAsync = require("../../../shared/helpers/isAsync.js");
const validatorOptions = new WeakMap();
function withValidatorOptions(validator, options) {
const mergedOptions = {
...validatorOptions.get(validator),
...options
};
const validatorWithOptions = (0, _isAsync.isAsync)(validator) ? async (...args) => {
return validator(...args);
} : (...args) => {
return validator(...args);
};
validatorOptions.set(validatorWithOptions, mergedOptions);
return validatorWithOptions;
}
function getValidatorOptions(validator) {
if (typeof validator !== 'function') {
return undefined;
}
return validatorOptions.get(validator);
}
//# sourceMappingURL=validatorOptions.js.map