UNPKG

@hocuspocus/common

Version:

shared code for multiple Hocuspocus packages

28 lines (27 loc) 1.39 kB
import type { DatabaseConfiguration } from '@hocuspocus/extension-database'; import { Database } from '@hocuspocus/extension-database'; import sqlite3 from 'sqlite3'; export declare const schema = "CREATE TABLE IF NOT EXISTS \"documents\" (\n \"name\" varchar(255) NOT NULL,\n \"data\" blob NOT NULL,\n UNIQUE(name)\n)"; export declare const selectQuery = "\n SELECT data FROM \"documents\" WHERE name = $name ORDER BY rowid DESC\n"; export declare const upsertQuery = "\n INSERT INTO \"documents\" (\"name\", \"data\") VALUES ($name, $data)\n ON CONFLICT(name) DO UPDATE SET data = $data\n"; export interface SQLiteConfiguration extends DatabaseConfiguration { /** * Valid values are filenames, ":memory:" for an anonymous in-memory database and an empty * string for an anonymous disk-based database. Anonymous databases are not persisted and * when closing the database handle, their contents are lost. * * https://github.com/mapbox/node-sqlite3/wiki/API#new-sqlite3databasefilename-mode-callback */ database: string; /** * The database schema to create. */ schema: string; } export declare class SQLite extends Database { db?: sqlite3.Database; configuration: SQLiteConfiguration; constructor(configuration?: Partial<SQLiteConfiguration>); onConfigure(): Promise<void>; onListen(): Promise<void>; }