blow-data
Version:
Data access layer for Blow.
47 lines (46 loc) • 1.15 kB
JavaScript
;
const util_1 = require('util');
const BaseModel_1 = require('./BaseModel');
const manager_1 = require('./manager');
function isInstnace(model) {
return model instanceof BaseModel_1.BaseModel;
}
exports.isInstnace = isInstnace;
function isConstructor(model) {
return model.prototype instanceof BaseModel_1.BaseModel;
}
exports.isConstructor = isConstructor;
function getMetadata(model) {
if (isInstnace(model)) {
return model.constructor.metadata;
}
else {
return model.metadata;
}
}
exports.getMetadata = getMetadata;
function getCtor(model) {
return model.constructor;
}
exports.getCtor = getCtor;
function getIdName(model) {
return getMetadata(model).idProperty.name;
}
exports.getIdName = getIdName;
function getIdValue(model) {
return model[getIdName(model)];
}
exports.getIdValue = getIdValue;
function setIdValue(model, id) {
model[getIdName(model)] = id;
}
exports.setIdValue = setIdValue;
function getModel(model) {
if (util_1.isString(model)) {
return manager_1.manager.getModel(model);
}
else {
return model;
}
}
exports.getModel = getModel;