UNPKG

tsbase

Version:

Base class libraries for TypeScript

66 lines 2.84 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.RegExp = exports.StringLength = exports.Range = exports.Required = exports.Options = exports.Validations = exports.InputType = exports.Description = exports.Label = void 0; var Model_1 = require("./Model"); var MetadataKeys_1 = require("./MetadataKeys"); var module_1 = require("./Validations/module"); function metadata(metadataKey, value) { return function (target, key) { var metaData = Model_1.Model.Metadata[metadataKey] || (Model_1.Model.Metadata[metadataKey] = {}); metaData["".concat(target.constructor.name, "-").concat(key)] = value; }; } function Label(label) { return metadata(MetadataKeys_1.MetadataKeys.Label, label); } exports.Label = Label; function Description(description) { return metadata(MetadataKeys_1.MetadataKeys.Description, description); } exports.Description = Description; function InputType(inputType) { return metadata(MetadataKeys_1.MetadataKeys.InputType, inputType); } exports.InputType = InputType; function Validations(validations) { return function (target, key) { var metaData = Model_1.Model.Metadata[MetadataKeys_1.MetadataKeys.Validations] || (Model_1.Model.Metadata[MetadataKeys_1.MetadataKeys.Validations] = {}); var validationMetadata = metaData["".concat(target.constructor.name, "-").concat(key)]; metaData["".concat(target.constructor.name, "-").concat(key)] = validationMetadata ? validationMetadata.concat(validations) : validations; }; } exports.Validations = Validations; function Options(options, customErrorMessage) { return function (target, key) { Validations([new module_1.OptionValidation(key, customErrorMessage)])(target, key); metadata(MetadataKeys_1.MetadataKeys.Options, options)(target, key); }; } exports.Options = Options; function Required(customErrorMessage) { return function (target, key) { Validations([new module_1.RequiredValidation(key, customErrorMessage)])(target, key); }; } exports.Required = Required; function Range(minimum, maximum, customErrorMessage) { return function (target, key) { Validations([new module_1.RangeValidation(key, minimum, maximum, customErrorMessage)])(target, key); }; } exports.Range = Range; function StringLength(minimum, maximum, customErrorMessage) { return function (target, key) { Validations([new module_1.StringLengthValidation(key, minimum, maximum, customErrorMessage)])(target, key); }; } exports.StringLength = StringLength; function RegExp(regex, customErrorMessage) { return function (target, key) { Validations([new module_1.RegExpValidation(key, regex, customErrorMessage)])(target, key); }; } exports.RegExp = RegExp; //# sourceMappingURL=Metadata.js.map