@react-form-fields/core
Version:
Material UI Form Fields
23 lines • 1.28 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
var React = require("react");
var context_1 = require("../ConfigProvider/context");
var useMask = function (_a) {
var mask = _a.mask, value = _a.value;
var configContext = React.useContext(context_1.default);
if (!configContext)
throw new Error('You must provide a valid FieldValidationConfigContext');
var _b = React.useMemo(function () {
var maskFunc = (configContext.masks || []).find(function (m) { return m.name === mask; });
if (!maskFunc) {
maskFunc = { name: 'not-found', apply: function (v) { return v; }, clean: function (v) { return v; } };
mask && console.warn("@react-form-fields/core: Mask '" + mask + "' not found");
}
return maskFunc;
}, [mask]), maskApply = _b.apply, maskClean = _b.clean;
var maskedValue = React.useMemo(function () { return maskApply ? maskApply(value) : value; }, [value, maskApply]);
var cleanedValue = React.useMemo(function () { return maskClean ? maskClean(value) : value; }, [value, maskClean]);
return { maskApply: maskApply, maskClean: maskClean, maskedValue: maskedValue, cleanedValue: cleanedValue };
};
exports.default = useMask;
//# sourceMappingURL=useMask.js.map