UNPKG

egg-orm-ts

Version:

Simple orm with Typeorm, for egg plugin.

44 lines 3.56 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.hasTsLoader = void 0; const typeorm_1 = require("typeorm"); const typedi_1 = require("typedi"); const entity_1 = require("./lib/entity"); exports.hasTsLoader = (typeof require.extensions['.ts'] === 'function'); function handleConfig(config, _env) { if (exports.hasTsLoader) { return config; } const keys = ['entities', 'migrations', 'subscribers']; for (const key of keys) { if (config[key]) { const newValue = config[key].map((item) => item.replace(/\.ts$/, '.js')); config[key] = newValue; } } return config; } exports.default = async (app) => { const config = app.config.typeorm; if (!config) { throw new Error('[egg-orm-ts] Config of Typeorm is needed.'); } app.beforeStart(async () => { try { // Load config and connect to Database. const config = handleConfig(app.config.typeorm, app.config.env); typeorm_1.useContainer(typedi_1.Container); app.context.connection = await typeorm_1.createConnection(config); // Generate .d.ts. entity_1.generateTypings(app); // Load typeorm query instance. const fileExt = exports.hasTsLoader ? '*.ts' : '*.js'; await entity_1.loadInstance(app, fileExt); app.logger.info('[egg-orm-ts] Successfully connected to the database.'); } catch (e) { app.logger.error('[egg-orm-ts] Error connecting to the database:', e); } }); }; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBwLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiYXBwLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUNBLHFDQUdpQjtBQUNqQixtQ0FBbUM7QUFDbkMseUNBQTZEO0FBRWhELFFBQUEsV0FBVyxHQUFHLENBQUMsT0FBTyxPQUFPLENBQUMsVUFBVSxDQUFDLEtBQUssQ0FBQyxLQUFLLFVBQVUsQ0FBQyxDQUFDO0FBRTdFLFNBQVMsWUFBWSxDQUFDLE1BQVcsRUFBRSxJQUFZO0lBQzdDLElBQUksbUJBQVcsRUFBRTtRQUNmLE9BQU8sTUFBTSxDQUFDO0tBQ2Y7SUFDRCxNQUFNLElBQUksR0FBRyxDQUFDLFVBQVUsRUFBRSxZQUFZLEVBQUUsYUFBYSxDQUFDLENBQUM7SUFDdkQsS0FBSyxNQUFNLEdBQUcsSUFBSSxJQUFJLEVBQUU7UUFDdEIsSUFBSSxNQUFNLENBQUMsR0FBRyxDQUFDLEVBQUU7WUFDZixNQUFNLFFBQVEsR0FBRyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBWSxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLE9BQU8sRUFBRSxLQUFLLENBQUMsQ0FBQyxDQUFDO1lBQ2pGLE1BQU0sQ0FBQyxHQUFHLENBQUMsR0FBRyxRQUFRLENBQUM7U0FDeEI7S0FDRjtJQUNELE9BQU8sTUFBTSxDQUFDO0FBQ2hCLENBQUM7QUFFRCxrQkFBZSxLQUFLLEVBQUUsR0FBZ0IsRUFBRSxFQUFFO0lBQ3hDLE1BQU0sTUFBTSxHQUFHLEdBQUcsQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDO0lBQ2xDLElBQUksQ0FBQyxNQUFNLEVBQUU7UUFDWCxNQUFNLElBQUksS0FBSyxDQUFDLDJDQUEyQyxDQUFDLENBQUM7S0FDOUQ7SUFFRCxHQUFHLENBQUMsV0FBVyxDQUFDLEtBQUssSUFBSSxFQUFFO1FBQ3pCLElBQUk7WUFDRix1Q0FBdUM7WUFDdkMsTUFBTSxNQUFNLEdBQUcsWUFBWSxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsT0FBTyxFQUFFLEdBQUcsQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUM7WUFDaEUsc0JBQVksQ0FBQyxrQkFBUyxDQUFDLENBQUM7WUFDeEIsR0FBRyxDQUFDLE9BQU8sQ0FBQyxVQUFVLEdBQUcsTUFBTSwwQkFBZ0IsQ0FBQyxNQUFNLENBQUMsQ0FBQztZQUN4RCxrQkFBa0I7WUFDbEIsd0JBQWUsQ0FBQyxHQUFHLENBQUMsQ0FBQztZQUNyQiwrQkFBK0I7WUFDL0IsTUFBTSxPQUFPLEdBQUcsbUJBQVcsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUM7WUFDOUMsTUFBTSxxQkFBWSxDQUFDLEdBQUcsRUFBRSxPQUFPLENBQUMsQ0FBQztZQUVqQyxHQUFHLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxzREFBc0QsQ0FBQyxDQUFDO1NBQ3pFO1FBQUMsT0FBTyxDQUFDLEVBQUU7WUFDVixHQUFHLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxnREFBZ0QsRUFBRSxDQUFDLENBQUMsQ0FBQztTQUN2RTtJQUNILENBQUMsQ0FBQyxDQUFBO0FBQ0osQ0FBQyxDQUFBIn0=