tsbase
Version:
Base class libraries for TypeScript
66 lines • 2.84 kB
JavaScript
;
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