@react-form-fields/core
Version:
Material UI Form Fields
50 lines • 2.02 kB
JavaScript
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
var tslib_1 = require("tslib");
var validator = require('validatorjs');
var ConfigBuilder = /** @class */ (function () {
function ConfigBuilder() {
this.clean();
}
ConfigBuilder.prototype.addMask = function (name, apply, clean) {
this.config.masks = this.config.masks.concat([{ name: name, apply: apply, clean: clean }]);
return this;
};
ConfigBuilder.prototype.addMasks = function (masks) {
this.config.masks = this.config.masks.concat(masks);
return this;
};
ConfigBuilder.prototype.addValidator = function (name, callback, errorMessage) {
validator.register(name, callback, errorMessage);
return this;
};
ConfigBuilder.prototype.addValidatorAsync = function (name, callback, errorMessage) {
validator.registerAsync(name, callback, errorMessage);
return this;
};
ConfigBuilder.prototype.setValidatorAttributeFormatter = function (func) {
validator.setAttributeFormatter(func);
return this;
};
ConfigBuilder.prototype.addCustomMessages = function (lang, customMessages) {
this.config.validation = tslib_1.__assign({}, (this.config.validation || {}), { lang: lang, customMessages: customMessages });
return this;
};
ConfigBuilder.prototype.setValidationDelay = function (validationDelay) {
this.config = tslib_1.__assign({}, this.config, { validationDelay: validationDelay });
};
ConfigBuilder.prototype.fromLang = function (lang) {
this.config = tslib_1.__assign({}, this.config, lang);
return this;
};
ConfigBuilder.prototype.build = function () {
return this.config;
};
ConfigBuilder.prototype.clean = function () {
this.config = { validationDelay: 500, masks: [], validation: null };
return this;
};
return ConfigBuilder;
}());
exports.default = ConfigBuilder;
//# sourceMappingURL=builder.js.map