@cloud-cli/store
Version:
Data store abstraction
16 lines (15 loc) • 780 B
TypeScript
import { Database } from 'better-sqlite3';
import type { ColumnType, ColumnValue, ConstructorOf } from './resource.js';
import { Query, Resource, ResourceDriver } from './resource.js';
export declare class SQLiteDriver extends ResourceDriver {
readonly db: Database;
constructor(path?: string);
static parse(type: ColumnType, value: ColumnValue): any;
static serialize(type: ColumnType, value: ColumnValue): string | number;
save<T extends Resource>(model: T): Promise<string>;
remove<T extends Resource>(model: T): Promise<void>;
find<T extends Resource>(model: T): Promise<T>;
findAll<M extends Resource>(resource: ConstructorOf<M>, query: Query<M>): Promise<M[]>;
private createModel;
create(resource: typeof Resource): Promise<void>;
}