All files / sqlite setup-tables.ts

100% Statements 7/7
100% Branches 1/1
100% Functions 1/1
100% Lines 7/7

Press n or j to go to the next uncovered block, b, p or k for the previous block.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32                              8x         8x   8x 8x   8x   8x   8x    
import { Database } from "sqlite3";
import { promisify } from "util";
 
import { createMigrations } from "./create-migrations";
 
export async function setupTables({
  path = ":memory:",
  prefix,
  data,
}: {
  path?: string;
  prefix: string;
  data: unknown;
  schemaName?: string | undefined;
}) {
  const { initialMigration, dataMigration } = createMigrations({
    prefix,
    data,
  });
 
  const db = new Database(path);
 
  const exec = promisify(db.exec).bind(db);
  const close = promisify(db.close).bind(db);
 
  await exec(initialMigration);
 
  await exec(dataMigration);
 
  await close();
}