UNPKG

macoolka-type-model

Version:

`macoolka-type-model` is a library for define model in TypeScript. It easily build a type contain field and method to your Application. It provide a generation model for type and validition

109 lines 4.2 kB
"use strict"; var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { if (k2 === undefined) k2 = k; var desc = Object.getOwnPropertyDescriptor(m, k); if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { desc = { enumerable: true, get: function() { return m[k]; } }; } Object.defineProperty(o, k2, desc); }) : (function(o, m, k, k2) { if (k2 === undefined) k2 = k; o[k2] = m[k]; })); var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { Object.defineProperty(o, "default", { enumerable: true, value: v }); }) : function(o, v) { o["default"] = v; }); var __importStar = (this && this.__importStar) || function (mod) { if (mod && mod.__esModule) return mod; var result = {}; if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); __setModuleDefault(result, mod); return result; }; var __exportStar = (this && this.__exportStar) || function(m, exports) { for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p); }; Object.defineProperty(exports, "__esModule", { value: true }); exports.mapI18N = exports.NoValidNameModule = exports.Module = void 0; /** * Runtime type system for IO decoding/encoding * @desczh * 运行时解码/编码系统 * @file */ var io_1 = require("./models/io"); var macoolka_io_1 = require("macoolka-io"); var validation_1 = require("./generate/validation"); var A = __importStar(require("fp-ts/Array")); var pipeable_1 = require("fp-ts/pipeable"); var helper_1 = require("./helper"); __exportStar(require("macoolka-io"), exports); __exportStar(require("./models/io"), exports); var Module_1 = __importStar(require("./Module")); var E = __importStar(require("fp-ts/Either")); var t = (0, macoolka_io_1.init)(Module_1.default); /** * Module IO * @since 0.2.0 * */ var Module = function (ignoreNames) { return new t.Type('Module', function (a) { return io_1.MModule.is(a); }, function (b, c) { return (0, pipeable_1.pipe)(io_1.MModule.validate(b, c), E.chain(function (u) { var result = []; (0, helper_1.foreach)(u, { model: function (model) { if (u.idUnique === true) { result.push((0, validation_1.validateId)(model)); } result.push((0, validation_1.validateFieldName)(model)); }, schema: function (schema) { result.push((0, validation_1.validateModelName)(ignoreNames)(schema)); } }); return (0, pipeable_1.pipe)(A.lefts(result), function (as) { return as.length === 0 ? t.success(u) : t.failure(as.join('\n'), c); }); })); }, function (a) { return a; }); }; exports.Module = Module; /** * Module IO * @since 0.2.0 * */ exports.NoValidNameModule = new t.Type('Module', function (a) { return io_1.MModule.is(a); }, function (b, c) { return (0, pipeable_1.pipe)(io_1.MModule.validate(b, c), E.chain(function (u) { var result = []; (0, helper_1.foreach)(u, { model: function (model) { if (u.idUnique === true) { result.push((0, validation_1.validateId)(model)); } result.push((0, validation_1.validateFieldName)(model)); } }); return (0, pipeable_1.pipe)(result, A.lefts, function (as) { return as.length === 0 ? t.success(u) : t.failure(as.join('\n'), c); }); })); }, function (a) { return a; }); /* const show = (errors: t.Errors) => (o?: I18NOption) => { return t.show(errors)({ i18n: merge(i18nOption, o) }) } */ /** * Convart Validation to MonadNodeSync * @since 0.2.0 */ var mapI18N = function (value, locale) { if (locale === void 0) { locale = 'en'; } return (0, pipeable_1.pipe)(value, E.mapLeft(function (a) { if (locale === 'en') return t.show(a); else { return (0, macoolka_io_1.init)((0, Module_1.buildApp)(locale)).show(a); // buildApp(locale).sh } })); }; exports.mapI18N = mapI18N; //# sourceMappingURL=io.js.map