limber-firebird-client
Version:
Cliente JavaScript/Typescrypt para Node.js de acesso a banco de dados Firebird charset ISO8859_1 e UTF8
111 lines (75 loc) • 2.98 kB
TypeScript
type SequentialCallback = (row: any, index: number) => void;
export const ISOLATION_READ_UNCOMMITTED: number[];
export const ISOLATION_READ_COMMITED_NO_WAIT: number[];
export const ISOLATION_READ_COMMITED: number[];
export const ISOLATION_REPEATABLE_READ: number[];
export const ISOLATION_SERIALIZABLE: number[];
export const ISOLATION_READ_COMMITED_READ_ONLY: number[];
export type Isolation = number[];
export interface Database {
query(query: string, params?: any[], queryLimit?: number): Promise<any[]>;
queryOne(query: string, params?: any[]): Promise<any>;
execute(query: string, params?: any[], queryLimit?: number): Promise<any>;
executeOne(query: string, params?: any[]): Promise<any[]>;
sequentially(query: string, params?: any[], rowCallback?: SequentialCallback, asArray?: boolean): Promise<any>
}
export interface DirectDatabase extends Database {
detach(): Promise<any>;
transaction(): Promise<DirectTransaction>;
transaction(isolation: Isolation): Promise<DirectTransaction>;
}
export interface Transaction extends Database {
}
export interface DirectTransaction extends Transaction {
commit(): Promise<any>;
rollback(): Promise<any>;
}
export interface Options {
host?: string;
port?: number;
database?: string;
user?: string;
password?: string;
lowercase_keys?: boolean;
role?: string;
pageSize?: number;
encoding?: string;
cacheQuery?: boolean;
}
export interface Connection {
getDataBaseFromPool(usuario: number, descricao: string): Promise<DirectDatabase>;
openDataBaseRead(usuario?: number, descricao?: string): Promise<Database>;
openDataBaseWrite(usuario?: number, descricao?: string): Promise<Transaction>;
openDataBaseImageRead(usuario?: number, descricao?: string): Promise<Database>;
openDataBaseImageWrite(usuario?: number, descricao?: string): Promise<Transaction>;
}
export interface User {
usuario: number
}
// noinspection JSUnusedGlobalSymbols
export interface Request {
firebird: Connection,
user?: User;
originalUrl?: string
}
export function databaseParser(): Function;
export function attachPool(usuario: number, descricao: string): Promise<DirectDatabase>;
export function attachPoolImage(usuario: number, descricao: string): Promise<DirectDatabase>;
export function attachDataBase(options: Options): Promise<DirectDatabase>;
export function createDataBase(options: Options): Promise<DirectDatabase>;
export function dropDataBase(options: Options): Promise<void>;
export function poolStatus(): Promise<{
dbinuse: number,
internaldb: { count: number };
pooldb: { count: number }
}>;
export interface GDSError {
name: string;
message: string;
stack?: string;
gdserrors?: {
gdscode: number,
params: string[],
text: string
}[];
}