UNPKG

zing-orm

Version:
41 lines 3.15 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.findTableName = exports.getGlobalTablesObj = void 0; const PlatformTools_1 = require("./PlatformTools"); const lodash_1 = require("lodash"); /** * Gets metadata args storage. */ function getGlobalTablesObj() { // we should store metadata storage in a global variable otherwise it brings too much problems // one of the problem is that if any entity (or any other) will be imported before consumer will call // useContainer method with his own container implementation, that entity will be registered in the // old old container (default one post probably) and consumer will his entity. // calling useContainer before he imports any entity (or any other) is not always convenient. // another reason is that when we run migrations typeorm is being called from a global package // and it may load entities which register decorators in typeorm of local package // this leads to impossibility of usage of entities in migrations and cli related operations const globalScope = PlatformTools_1.PlatformTools.getGlobalVariable(); if (!globalScope.tablesObj) globalScope.tablesObj = {}; return globalScope.tablesObj; } exports.getGlobalTablesObj = getGlobalTablesObj; function findTableName(entity) { //todo add check entity, just like check parames if (!entity) { throw Error(`global tools findTableName: entity can not be ${JSON.stringify(entity)} !!!`); } let tableName = undefined; (0, lodash_1.forOwn)(getGlobalTablesObj(), (value, key) => { if (value.entityClass === entity) { tableName = key; } }); if (!tableName) { throw Error(`global tools findTableName: entity ${JSON.stringify(entity)} is not found!`); } return tableName; } exports.findTableName = findTableName; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2xvYmFscy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbImdsb2JhbHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQ0EsbURBQWdEO0FBQ2hELG1DQUFnQztBQUVoQzs7R0FFRztBQUNILFNBQWdCLGtCQUFrQjtJQUM5Qiw4RkFBOEY7SUFDOUYscUdBQXFHO0lBQ3JHLG1HQUFtRztJQUNuRyw4RUFBOEU7SUFDOUUsNkZBQTZGO0lBQzdGLDhGQUE4RjtJQUM5RixpRkFBaUY7SUFDakYsNEZBQTRGO0lBQzVGLE1BQU0sV0FBVyxHQUFHLDZCQUFhLENBQUMsaUJBQWlCLEVBQUUsQ0FBQztJQUN0RCxJQUFJLENBQUMsV0FBVyxDQUFDLFNBQVM7UUFDdEIsV0FBVyxDQUFDLFNBQVMsR0FBRyxFQUFFLENBQUM7SUFFL0IsT0FBTyxXQUFXLENBQUMsU0FBUyxDQUFDO0FBQ2pDLENBQUM7QUFkRCxnREFjQztBQUVELFNBQWdCLGFBQWEsQ0FBQyxNQUFXO0lBQ3JDLGdEQUFnRDtJQUNoRCxJQUFJLENBQUMsTUFBTSxFQUFFO1FBQ1QsTUFBTSxLQUFLLENBQUMsaURBQWlELElBQUksQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDO0tBQzlGO0lBQ0QsSUFBSSxTQUFTLEdBQUcsU0FBUyxDQUFDO0lBQzFCLElBQUEsZUFBTSxFQUFDLGtCQUFrQixFQUFFLEVBQUUsQ0FBQyxLQUFLLEVBQUUsR0FBRyxFQUFFLEVBQUU7UUFDeEMsSUFBSSxLQUFLLENBQUMsV0FBVyxLQUFLLE1BQU0sRUFBRTtZQUM5QixTQUFTLEdBQUcsR0FBRyxDQUFDO1NBQ25CO0lBQ0wsQ0FBQyxDQUFDLENBQUM7SUFFSCxJQUFJLENBQUMsU0FBUyxFQUFFO1FBQ1osTUFBTSxLQUFLLENBQUMsc0NBQXNDLElBQUksQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLGdCQUFnQixDQUFDLENBQUM7S0FDN0Y7SUFDRCxPQUFPLFNBQVMsQ0FBQztBQUNyQixDQUFDO0FBaEJELHNDQWdCQyJ9