UNPKG

adba

Version:
42 lines (41 loc) 2.37 kB
"use strict"; var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } return new (P || (P = Promise))(function (resolve, reject) { function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } step((generator = generator.apply(thisArg, _arguments || [])).next()); }); }; Object.defineProperty(exports, "__esModule", { value: true }); exports.generateModels = generateModels; const generate_sqlite_models_1 = require("./generate-sqlite-models"); const generate_postgresql_models_1 = require("./generate-postgresql-models"); const generate_mysql_models_1 = require("./generate-mysql-models"); const generate_mssql_models_1 = require("./generate-mssql-models"); /** * Generates models based on the structure of the database specified in the Knex instance. * @param {Knex} knexInstance - The Knex instance connected to the database. * @param {IGenerateModelsOptions} [opts={}] - Options including parse and format functions. * @returns {Promise<Record<string, typeof Model>>} - A promise that resolves to an object containing all generated models. */ function generateModels(knexInstance_1) { return __awaiter(this, arguments, void 0, function* (knexInstance, opts = {}) { const client = knexInstance.client.config.client; switch (client) { case 'sqlite': case 'sqlite3': return yield (0, generate_sqlite_models_1.generateSQLiteModels)(knexInstance, opts); case 'pg': return yield (0, generate_postgresql_models_1.generatePostgreSQLModels)(knexInstance, opts); case 'mysql': case 'mysql2': return yield (0, generate_mysql_models_1.generateMySQLModels)(knexInstance, opts); case 'mssql': return yield (0, generate_mssql_models_1.generateMSSQLModels)(knexInstance, opts); default: throw new Error(`Unsupported database client: ${client}`); } }); }