ionic-orm-2
Version:
Data-mapper ORM for Ionic WebSQL and SQLite
62 lines (61 loc) • 2.12 kB
TypeScript
import { DriverOptions } from "./DriverOptions";
import { QueryRunner } from "../query-runner/QueryRunner";
import { ColumnMetadata } from "../metadata/ColumnMetadata";
import { ObjectLiteral } from "../common/ObjectLiteral";
import { ColumnType } from "../metadata/types/ColumnTypes";
/**
* Driver organizes TypeORM communication with specific database management system.
*/
export interface Driver {
/**
* Driver options contains connectivity options used to connection to the database.
*/
readonly options: DriverOptions;
/**
* Performs connection to the database.
* Based on pooling options, it can either create connection immediately,
* either create a pool and create connection when needed.
*/
connect(): Promise<void>;
/**
* Closes connection with database.
*/
disconnect(): Promise<void>;
/**
* Access to the native implementation of the database.
*/
nativeInterface(): any;
/**
* Creates a query runner used for common queries.
*/
createQueryRunner(): Promise<QueryRunner>;
/**
* Replaces parameters in the given sql with special escaping character
* and an array of parameter names to be passed to a query.
*/
escapeQueryWithParameters(sql: string, parameters: ObjectLiteral): [string, any[]];
/**
* Escapes a column name.
*/
escapeColumnName(columnName: string): string;
/**
* Escapes an alias.
*/
escapeAliasName(aliasName: string): string;
/**
* Escapes a table name.
*/
escapeTableName(tableName: string): string;
/**
* Prepares given value to a value to be persisted, based on its column type and metadata.
*/
preparePersistentValue(value: any, column: ColumnMetadata): any;
/**
* Prepares given value to a value to be persisted, based on its column metadata.
*/
prepareHydratedValue(value: any, type: ColumnType): any;
/**
* Prepares given value to a value to be persisted, based on its column type.
*/
prepareHydratedValue(value: any, column: ColumnMetadata): any;
}