UNPKG

@tunnel-cast/tunnel-cast

Version:

<br>

23 lines 1.48 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.Length = exports.lengthMessageBuilder = exports.length = exports.LENGTH = void 0; const decorator_adapter_1 = require("../../../core/factory/decorator-adapter"); const field_constraint_procedure_1 = require("../../../core/field-decorator-procedure/field-constraint.procedure"); exports.LENGTH = "length"; exports.length = ({ fieldValue, args }) => { return typeof (fieldValue === null || fieldValue === void 0 ? void 0 : fieldValue.length) == "number" ? args.len != undefined ? args.len == fieldValue.length : (args.min == undefined || args.min <= fieldValue.length) && (args.max == undefined || args.max >= fieldValue.length) : false; }; exports.lengthMessageBuilder = ({ fieldName }) => `The length of the field ${fieldName} dose not match the length constraint.`; function Length(min, maxOrOptions, options) { const constraintArgs = (maxOrOptions == undefined ? { len: min } : { min, max: maxOrOptions }); const constraintOptions = maxOrOptions != undefined && typeof maxOrOptions == "object" ? maxOrOptions : options; const adaptee = new field_constraint_procedure_1.FieldConstraintProcedure(exports.LENGTH, constraintOptions, constraintArgs, exports.length, exports.lengthMessageBuilder); return decorator_adapter_1.decoratorAdapter(adaptee); } exports.Length = Length; //# sourceMappingURL=length.decorator.js.map