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.

40 lines 2.15 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.uNested = exports.uReference = exports.uEnum = exports.uDate = exports.uBoolean = exports.uFloat = exports.uInteger = exports.uNumber = exports.uString = exports.throwMissingFieldParameterError = void 0; const builders_1 = require("../helpers/builders"); const attributes_1 = require("./attributes"); const entities_1 = require("./entities"); const queries_1 = require("./queries"); const terminal_kit_1 = require("terminal-kit"); const throwMissingFieldParameterError = (field, fieldType, parameter) => { terminal_kit_1.terminal .red(`[uDraft] Missing Field Parameter: The field `) .bold.red(field) .red(` of type `) .bold.red(fieldType) .red(` is missing the `) .bold.red(parameter) .red(` attribute!\n`); process.exit(-1); }; exports.throwMissingFieldParameterError = throwMissingFieldParameterError; exports.uString = (0, builders_1.fieldBuilder)("string"); exports.uNumber = (0, builders_1.fieldBuilder)("number"); exports.uInteger = (0, builders_1.fieldBuilder)("int"); exports.uFloat = (0, builders_1.fieldBuilder)("float"); exports.uBoolean = (0, builders_1.fieldBuilder)("boolean"); exports.uDate = (0, builders_1.fieldBuilder)("date"); const uEnum = (name, enumName, enumDefinition) => { const enumModel = (0, entities_1.uModel)(enumName); if (enumDefinition) enumModel.attributes([(0, attributes_1._enum)(enumDefinition)]); else if (!(0, queries_1.$attr)(enumModel, (0, attributes_1._enum)())) (0, exports.throwMissingFieldParameterError)(name, "uEnum:" + enumName, "enumDefinition"); return (0, exports.uNested)(name, enumModel); }; exports.uEnum = uEnum; const uReference = (name, nested, attributes = []) => (0, entities_1.uField)(name, "reference").attributes([(0, attributes_1._ref)(nested), ...attributes]); exports.uReference = uReference; const uNested = (name, nested, attributes = []) => (0, entities_1.uField)(name, "nested").attributes([(0, attributes_1._ref)(nested), ...attributes]); exports.uNested = uNested; //# sourceMappingURL=fields.js.map