nxkit
Version:
This is a collection of tools, independent of any other libraries
64 lines (63 loc) • 1.43 kB
TypeScript
import { EventNoticer } from './event';
import { PacketData } from './mysql/parser';
import { Field } from './mysql/query';
export interface Result extends PacketData {
rows?: Dict[];
fields?: Dict<Field>;
}
export interface Callback {
(err: Error | null, data?: Result[]): void;
}
export interface Options {
port?: number;
host?: string;
user?: string;
password?: string;
database?: string;
}
export declare const defaultOptions: Options;
/**
* @class Database
*/
export declare abstract class Database {
readonly options: Options;
readonly onError: EventNoticer<Error>;
constructor(options?: Options);
/**
* database statistics
*/
abstract statistics(cb: Callback): void;
/**
* @func query()
*/
abstract query(sql: string, cb: Callback): void;
/**
* close database connection
*/
abstract close(): void;
/**
* srart transaction
*/
abstract transaction(): void;
/**
* commit transaction
*/
abstract commit(): void;
/**
* rollback transaction and clear sql command queue
*/
abstract rollback(): void;
/**
* exec query database
*/
exec(sql: string): Promise<any>;
}
/**
* escape sql param
*/
export declare function escape(param: any): string;
declare const _default: {
Database: typeof Database;
escape: typeof escape;
};
export default _default;