UNPKG

@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
"use strict"; 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