@udraft/core
Version:
uDraft is a language and stack agnostic code-generation tool that simplifies full-stack development by converting a single YAML file into code for rapid development.
60 lines • 3.49 kB
JavaScript
Object.defineProperty(exports, "__esModule", { value: true });
exports._computedValue = exports._defaultValue = exports._ref = exports._enum = exports._array = exports._rootModule = exports._http = exports._noId = exports._virtual = exports._unique = exports._textIndex = exports._index = exports._primary = exports._schema = exports._capitalize = exports._uppercase = exports._lowercase = exports._trim = exports._regex = exports._in = exports._notIn = exports._notEmpty = exports._size = exports._maxLength = exports._minLength = exports._max = exports._min = exports._required = void 0;
const builders_1 = require("../helpers/builders");
const entities_1 = require("./entities");
// Validation
exports._required = (0, builders_1.attrBuilder)("required", true, true);
exports._min = (0, builders_1.attrBuilder)("min", 0);
exports._max = (0, builders_1.attrBuilder)("max", Number.MAX_SAFE_INTEGER);
exports._minLength = (0, builders_1.attrBuilder)("minLength", 0);
exports._maxLength = (0, builders_1.attrBuilder)("max-length", Number.MAX_SAFE_INTEGER);
exports._size = (0, builders_1.attrBuilder)("length");
exports._notEmpty = (0, builders_1.attrBuilder)("notEmpty", true, false);
exports._notIn = (0, builders_1.attrBuilder)("notIn");
exports._in = (0, builders_1.attrBuilder)("in");
exports._regex = (0, builders_1.attrBuilder)("regex");
// Sanitization
exports._trim = (0, builders_1.attrBuilder)("trim", true, false);
exports._lowercase = (0, builders_1.attrBuilder)("lowercase", true, false);
exports._uppercase = (0, builders_1.attrBuilder)("uppercase", true, false);
exports._capitalize = (0, builders_1.attrBuilder)("capitalize", true, false);
// Database
exports._schema = (0, builders_1.attrBuilder)("schema");
exports._primary = (0, builders_1.attrBuilder)("primary", true, false);
exports._index = (0, builders_1.attrBuilder)("index", 1);
exports._textIndex = (0, builders_1.attrBuilder)("textIndex", true);
exports._unique = (0, builders_1.attrBuilder)("unique", true, false);
exports._virtual = (0, builders_1.attrBuilder)("virtual", true, false);
exports._noId = (0, builders_1.attrBuilder)("noId", true, false);
// Modules and Features
exports._http = (0, builders_1.attrBuilder)("http", {
url: "/",
method: "get",
});
exports._rootModule = (0, builders_1.attrBuilder)("rootModule");
// General
exports._array = (0, builders_1.attrBuilder)("array", true, false);
const _enum = (enumDefinition) => {
if (enumDefinition) {
const firstKey = Object.keys(enumDefinition)[0];
const hasReverseMappint = enumDefinition[enumDefinition[firstKey]] == firstKey;
if (hasReverseMappint) {
const newEnumDefinition = {};
for (const key in enumDefinition) {
if (!isNaN(parseInt(key)))
continue;
newEnumDefinition[key] = enumDefinition[key];
}
enumDefinition = newEnumDefinition;
}
}
return (0, entities_1.uattr)("enum", enumDefinition);
};
exports._enum = _enum;
exports._ref = (0, builders_1.attrBuilder)("ref");
const _defaultValue = (valueFn) => (0, entities_1.uattr)("default-value", valueFn === null || valueFn === void 0 ? void 0 : valueFn.toString());
exports._defaultValue = _defaultValue;
const _computedValue = (valueFn) => (0, entities_1.uattr)("computed-value", valueFn === null || valueFn === void 0 ? void 0 : valueFn.toString());
exports._computedValue = _computedValue;
//# sourceMappingURL=attributes.js.map
;