relax-orm
Version:
ORM for OracleDB
24 lines • 992 B
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
require("reflect-metadata");
var data_type_1 = require("../enum/data.type");
var attribute_service_1 = require("../service/attribute.service");
function Column(option) {
return function (target, propertyKey) {
var columnOption = (!option || typeof option === 'string')
? columnOptionFactory(target, propertyKey, option) : option;
attribute_service_1.addAttribute(target, propertyKey, columnOption);
};
}
exports.Column = Column;
function columnOptionFactory(target, propertyKey, name) {
var dataType = Reflect.getMetadata('design:type', target, propertyKey).name;
if (dataType !== 'String' && dataType !== 'Number') {
throw new Error('DataType have to be decleared at @Column with IColumnOption');
}
return {
column: name ? name : propertyKey.toUpperCase(),
type: data_type_1.DataType[dataType],
};
}
//# sourceMappingURL=column.js.map