json-api-nestjs
Version:
JsonApi Plugin for NestJs
53 lines • 1.88 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.createAndPullSchemaBasePgLite = createAndPullSchemaBasePgLite;
exports.createAndPullSchemaBase = createAndPullSchemaBase;
const pg_mem_1 = require("pg-mem");
const fs_1 = require("fs");
const path_1 = require("path");
const uuid_1 = require("uuid");
async function createAndPullSchemaBasePgLite() {
const db = await Promise.all([
Promise.resolve().then(() => require('@electric-sql/pglite')),
Promise.resolve().then(() => require('@electric-sql/pglite/contrib/uuid_ossp')),
]).then(([{ PGlite }, { uuid_ossp }]) => new PGlite({
extensions: { uuid_ossp },
database: 'pgLite',
username: 'postgres',
}));
// await db.exec(
// 'CREATE SCHEMA IF NOT EXISTS public; SET search_path TO public;'
// );
// const dump = readFileSync(join(__dirname, 'db-for-test'), {
// encoding: 'utf8',
// });
// await db.exec(dump);
return db;
}
function createAndPullSchemaBase() {
const dump = (0, fs_1.readFileSync)((0, path_1.join)(__dirname, 'db-for-test'), {
encoding: 'utf8',
});
const db = (0, pg_mem_1.newDb)({
autoCreateForeignKeyIndices: true,
});
db.public.registerFunction({
name: 'current_database',
implementation: () => 'test',
});
db.public.registerFunction({
name: 'version',
implementation: () => 'PostgreSQL 12.5 on x86_64-pc-linux-musl, compiled by gcc (Alpine 10.2.1_pre1) 10.2.1 20201203, 64-bit',
});
db.registerExtension('uuid-ossp', (schema) => {
schema.registerFunction({
name: 'uuid_generate_v4',
returns: pg_mem_1.DataType.uuid,
implementation: uuid_1.v4,
impure: true,
});
});
db.public.none(dump);
return db;
}
//# sourceMappingURL=index.js.map