UNPKG

@sugarcube/plugin-sql

Version:

Import and export Sugarcube data and queries from and to SQL databases.

47 lines (41 loc) 1.2 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.default = void 0; var _fp = require("lodash/fp"); var _core = require("@sugarcube/core"); var _db = require("../db"); const plugin = async (envelope, { cfg, log }) => { const debug = (0, _fp.get)("sql.debug", cfg); const engine = (0, _fp.get)("sql.engine", cfg); const database = (0, _fp.get)("sql.database", cfg); const host = (0, _fp.get)("sql.host", cfg); const port = (0, _fp.get)("sql.port", cfg); const user = (0, _fp.get)("sql.user", cfg); const password = (0, _fp.get)("sql.password", cfg); let db; if (engine === "postgres") db = (0, _db.connectPostgres)({ database, host, port, user, password, debug }); if (engine === "sqlite") db = (0, _db.connectSqlite)({ database: database === "sugarcube" ? `${database}.db` : database, debug }, log); const units = await db.units.listAll(); log.info(`Fetched ${units.length} units from the database.`); db.close(); return _core.envelope.concatData(units, envelope); }; plugin.argv = {}; plugin.desc = "Import data into the pipeline."; var _default = plugin; exports.default = _default;