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
JavaScript
;
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