@mvx/model
Version:
@mvx/model is model for mvc frameworker on server.
37 lines (35 loc) • 1.1 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.Model = exports.createModelDecorator = void 0;
var tslib_1 = require("tslib");
var ioc_1 = require("@tsdi/ioc");
/**
* create filed decorator.
*
* @export
* @template T
* @param {string} [modelType]
* @param {ArgsIteratorAction<T>[]} [actions]
* @param {MetadataExtends<T>} [metaExtends]
* @returns {IFiledDecorator<T>}
*/
function createModelDecorator(modelType, actions, metaExtends) {
return ioc_1.createClassDecorator('Model', tslib_1.__spreadArrays((actions || []), [
function (ctx, next) {
var arg = ctx.currArg;
if (ioc_1.isString(arg)) {
ctx.metadata.table = arg;
ctx.next(next);
}
},
]), function (metadata) {
if (metaExtends) {
metaExtends(metadata);
}
metadata.modelType = modelType;
return metadata;
});
}
exports.createModelDecorator = createModelDecorator;
exports.Model = createModelDecorator();
//# sourceMappingURL=../sourcemaps/decorators/Model.js.map