jarb-final-form
Version:
Validating forms through JaRB.
151 lines (150 loc) • 4.6 kB
JavaScript
;
var __importStar = (this && this.__importStar) || function (mod) {
if (mod && mod.__esModule) return mod;
var result = {};
if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];
result["default"] = mod;
return result;
};
Object.defineProperty(exports, "__esModule", { value: true });
const patterns = __importStar(require("./regex"));
function makeRequired(label) {
return function validateRequired(value) {
if (value == null || value === '' || typeof value === 'boolean') {
const error = {
type: 'ERROR_REQUIRED',
label,
value,
reasons: {
required: 'required'
}
};
return Promise.resolve(error);
}
return Promise.resolve(undefined);
};
}
exports.makeRequired = makeRequired;
function makeBooleanRequired(label) {
return function validateBooleanRequired(value) {
if (value !== true) {
const error = {
type: 'ERROR_REQUIRED',
label,
value,
reasons: {
required: 'required'
}
};
return Promise.resolve(error);
}
return Promise.resolve(undefined);
};
}
exports.makeBooleanRequired = makeBooleanRequired;
function makeMinimumLength(label, minimumLength) {
return function checkMinimumLength(value) {
if (value != null && value.length < minimumLength) {
const error = {
type: 'ERROR_MINIMUM_LENGTH',
label,
value,
reasons: {
minimumLength
}
};
return Promise.resolve(error);
}
return Promise.resolve(undefined);
};
}
exports.makeMinimumLength = makeMinimumLength;
function makeMaximumLength(label, maximumLength) {
return function validateMaximumLength(value) {
// @ts-ignore
if (value != null && value.length > maximumLength) {
const error = {
type: 'ERROR_MAXIMUM_LENGTH',
label,
value,
reasons: {
maximumLength
}
};
return Promise.resolve(error);
}
return Promise.resolve(undefined);
};
}
exports.makeMaximumLength = makeMaximumLength;
function makeMinValue(label, minValue) {
return function validateMinValue(value) {
if (value != null && value < minValue) {
const error = {
type: 'ERROR_MIN_VALUE',
label,
value,
reasons: {
minValue
}
};
return Promise.resolve(error);
}
return Promise.resolve(undefined);
};
}
exports.makeMinValue = makeMinValue;
function makeMaxValue(label, maxValue) {
return function validateMaxValue(value) {
if (value != null && value > maxValue) {
const error = {
type: 'ERROR_MAX_VALUE',
label,
value,
reasons: {
maxValue
}
};
return Promise.resolve(error);
}
return Promise.resolve(undefined);
};
}
exports.makeMaxValue = makeMaxValue;
function makeNumber(label) {
const regex = patterns.numberRegex;
return function validateNumber(value) {
if (value != null && regex.test(`${value}`) === false) {
const error = {
type: 'ERROR_NUMBER',
label,
value,
reasons: {
regex
}
};
return Promise.resolve(error);
}
return Promise.resolve(undefined);
};
}
exports.makeNumber = makeNumber;
function makeNumberFraction(label, fractionLength) {
const regex = patterns.fractionNumberRegex(fractionLength);
return function validiateNumberFraction(value) {
if (value != null && regex.test(`${value}`) === false) {
const error = {
type: 'ERROR_NUMBER_FRACTION',
label,
value,
reasons: {
regex,
fractionLength
}
};
return Promise.resolve(error);
}
return Promise.resolve(undefined);
};
}
exports.makeNumberFraction = makeNumberFraction;