database-builder
Version:
Library to assist in creating and maintaining SQL commands.
16 lines (15 loc) • 1.33 kB
TypeScript
import { DatabaseObject, DatabaseResult } from "../definitions/database-definition";
import { DatabaseCreatorContract } from "../definitions/database-creator-contract";
import { DatabaseConfig } from "../definitions/database-config";
import { WebSqlTransactionInterface } from "../definitions/websql-interface";
export declare abstract class BaseDatabaseAdapter<DatabaseNativeInterface> implements DatabaseCreatorContract {
private _singleTransactionManager;
constructor();
create(config: DatabaseConfig): Promise<DatabaseObject>;
protected abstract createDatabaseNative(config: DatabaseConfig): Promise<DatabaseNativeInterface>;
protected abstract convertToExecuteSql(databaseNative: DatabaseNativeInterface): (sql: string, values: any) => Promise<DatabaseResult>;
protected abstract convertToTransaction(databaseNative: DatabaseNativeInterface): (fn: (transaction: WebSqlTransactionInterface) => void) => Promise<any>;
protected abstract convertToSqlBatch(databaseNative: DatabaseNativeInterface): (sqlStatements: Array<(string | string[] | any)>) => Promise<DatabaseResult[]>;
protected convertDatabaseNativeToDatabaseObject(databaseNative: DatabaseNativeInterface): DatabaseObject;
protected injectManagedTransactionInDatabase(databaseObject: DatabaseObject): DatabaseObject;
}