class-validator-multi-lang
Version:
Decorator-based property validation for classes.
74 lines • 3.41 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.getClassValidatorTitle = exports.getClassValidatorTitles = exports.setClassValidatorTitle = exports.getClassValidatorTitlesStorage = exports.getClassValidatorPropertyTitle = exports.getClassValidatorPropertyTitles = exports.setClassValidatorPropertyTitle = exports.getClassValidatorPropertyTitlesStorage = void 0;
const get_global_util_1 = require("../utils/get-global.util");
const CLASS_VALIDATOR_PROPERTY_TITLES = 'CLASS_VALIDATOR_PROPERTY_TITLES';
const CLASS_VALIDATOR_TITLES = 'CLASS_VALIDATOR_TITLES';
const CLASS_VALIDATOR_ROOT_TITLE = 'CLASS_VALIDATOR_ROOT_TITLE';
// PROPERTY
function getClassValidatorPropertyTitlesStorage() {
const global = (0, get_global_util_1.getGlobal)();
if (!global[CLASS_VALIDATOR_PROPERTY_TITLES]) {
global[CLASS_VALIDATOR_PROPERTY_TITLES] = [];
}
return global[CLASS_VALIDATOR_PROPERTY_TITLES];
}
exports.getClassValidatorPropertyTitlesStorage = getClassValidatorPropertyTitlesStorage;
function setClassValidatorPropertyTitle(object, propertyName, title) {
const storagePropertyTitle = getClassValidatorPropertyTitlesStorage();
let obj = storagePropertyTitle.find(o => o.target === object.constructor);
if (!obj) {
obj = { target: object.constructor, titles: new Map() };
storagePropertyTitle.push(obj);
}
obj.titles.set(propertyName, title);
}
exports.setClassValidatorPropertyTitle = setClassValidatorPropertyTitle;
function getClassValidatorPropertyTitles(object) {
const storagePropertyTitle = getClassValidatorPropertyTitlesStorage();
const obj = storagePropertyTitle.find(o => o.target === object.constructor);
if (!obj) {
return new Map();
}
return obj.titles;
}
exports.getClassValidatorPropertyTitles = getClassValidatorPropertyTitles;
function getClassValidatorPropertyTitle(object, propertyName) {
const titles = getClassValidatorPropertyTitles(object);
return titles.get(propertyName);
}
exports.getClassValidatorPropertyTitle = getClassValidatorPropertyTitle;
// CLASS
function getClassValidatorTitlesStorage() {
const global = (0, get_global_util_1.getGlobal)();
if (!global[CLASS_VALIDATOR_TITLES]) {
global[CLASS_VALIDATOR_TITLES] = [];
}
return global[CLASS_VALIDATOR_TITLES];
}
exports.getClassValidatorTitlesStorage = getClassValidatorTitlesStorage;
function setClassValidatorTitle(object, propertyName, title) {
const storageTitle = getClassValidatorTitlesStorage();
let obj = storageTitle.find(o => o.target === object);
if (!obj) {
obj = { target: object, titles: new Map() };
storageTitle.push(obj);
}
obj.titles.set(propertyName || CLASS_VALIDATOR_ROOT_TITLE, title);
}
exports.setClassValidatorTitle = setClassValidatorTitle;
function getClassValidatorTitles(object) {
const storageTitle = getClassValidatorTitlesStorage();
const obj = storageTitle.find(o => o.target === object.constructor);
if (!obj) {
return new Map();
}
return obj.titles;
}
exports.getClassValidatorTitles = getClassValidatorTitles;
function getClassValidatorTitle(object, propertyName) {
const titles = getClassValidatorTitles(object);
return titles.get(propertyName || CLASS_VALIDATOR_ROOT_TITLE);
}
exports.getClassValidatorTitle = getClassValidatorTitle;
//# sourceMappingURL=titles.storage.js.map