fewer
Version:
A minimal ORM for Node.js.
25 lines (24 loc) • 799 B
TypeScript
import { Adapter } from '../Adapter';
import { Select, Insert, Update } from '@fewer/sq';
export interface DatabaseConfig<DBAdapter extends Adapter = Adapter> {
adapter: DBAdapter;
}
export declare class Database<DBAdapter extends Adapter = Adapter> {
/**
* The registered underlying adapter.
*/
readonly adapter: DBAdapter;
constructor({ adapter }: DatabaseConfig<DBAdapter>);
/**
* Connects to the database.
*/
connect(): Promise<void>;
disconnect(): Promise<void>;
select(query: Select): Promise<any[]>;
insert(query: Insert): Promise<any>;
update(query: Update): Promise<any>;
}
/**
* TODO: Documentation.
*/
export declare function createDatabase<DBAdapter extends Adapter>(options: DatabaseConfig<DBAdapter>): Database<DBAdapter>;