UNPKG

reiso

Version:
99 lines 6.11 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); const ORM = require("typeorm"); let entities = {}; class ORMManager { constructor(config) { this.config = config; } async connect() { if (!this.conn && !this.connPromise) { let resolve = async () => { this.conn = await this.init(this.config); return this.conn; }; this.connPromise = resolve(); } await this.connPromise; return this.conn; } async close() { if (this.conn) { await this.conn.close(); this.conn = null; this.connPromise = null; } } async init(config) { return await ORM.createConnection(config); } async test() { await this.connect(); } async sync(mode = 'standart') { let connection = await this.connect(); if (mode == 'force') { try { await connection.synchronize(); } catch (e) { await connection.synchronize(true); } } else if (mode == 'passive') { try { await connection.synchronize(); } catch (e) { } } else if (mode == 'standart') { await connection.synchronize(); } } async drop() { let connection = await this.connect(); await connection.dropDatabase(); } } exports.ORMManager = ORMManager; function cleanEntities() { entities = {}; } exports.cleanEntities = cleanEntities; function addEntity(name, scope, entity) { if (entities[name]) { entities[name].push({ entity, scope }); } else { entities[name] = [{ entity, scope }]; } } exports.addEntity = addEntity; function getEntity(scope = 'Main', ...args) { let result = []; if (args && args.length > 0) { args.forEach(name => { result = result.concat(entities[name].filter(s => s.scope == scope).map(s => s.entity)); }); } else { for (let name in entities) { result = result.concat(entities[name].filter(s => s.scope == scope).map(s => s.entity)); } } return result; } exports.getEntity = getEntity; function RegisterEntity(name, scope = 'Main') { return (entity) => { addEntity(name, scope, entity); }; } exports.RegisterEntity = RegisterEntity; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiT1JNTWFuYWdlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9TZXJ2ZXIvT1JNTWFuYWdlci50c3giXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFBQSwrQkFBK0I7QUFFL0IsSUFBSSxRQUFRLEdBR0osRUFBRSxDQUFDO0FBRVg7SUFNSSxZQUFZLE1BQTZCO1FBQ3JDLElBQUksQ0FBQyxNQUFNLEdBQUcsTUFBTSxDQUFDO0lBQ3pCLENBQUM7SUFFTSxLQUFLLENBQUMsT0FBTztRQUNoQixJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksSUFBSSxDQUFDLElBQUksQ0FBQyxXQUFXLEVBQUU7WUFDakMsSUFBSSxPQUFPLEdBQUcsS0FBSyxJQUFJLEVBQUU7Z0JBQ3JCLElBQUksQ0FBQyxJQUFJLEdBQUcsTUFBTSxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztnQkFDekMsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDO1lBQ3JCLENBQUMsQ0FBQztZQUNGLElBQUksQ0FBQyxXQUFXLEdBQUcsT0FBTyxFQUFFLENBQUM7U0FDaEM7UUFFRCxNQUFNLElBQUksQ0FBQyxXQUFXLENBQUM7UUFFdkIsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDO0lBQ3JCLENBQUM7SUFFTSxLQUFLLENBQUMsS0FBSztRQUNkLElBQUksSUFBSSxDQUFDLElBQUksRUFBRTtZQUNYLE1BQU0sSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQztZQUN4QixJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQztZQUNqQixJQUFJLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQztTQUMzQjtJQUNMLENBQUM7SUFFTyxLQUFLLENBQUMsSUFBSSxDQUFDLE1BQU07UUFDckIsT0FBTyxNQUFNLEdBQUcsQ0FBQyxnQkFBZ0IsQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUM5QyxDQUFDO0lBRU0sS0FBSyxDQUFDLElBQUk7UUFDYixNQUFN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