/// /** * super-orm * * @author Zongmin Lei */ import createDebug = require("debug"); import mysql = require("mysql"); import { Callback, KVObject } from "./define"; declare module "mysql" { function escapeId(value: string): string; } export * from "lei-utils"; /** * 根据指定名称生成 debug 函数 * @param name 名称 */ export declare function debug(name: string): createDebug.IDebugger; export declare const modelDebug: createDebug.IDebugger; export declare const schemaDebug: createDebug.IDebugger; export declare const connectionDebug: createDebug.IDebugger; export declare const managerDebug: createDebug.IDebugger; export declare const cacheDebug: createDebug.IDebugger; export declare const queryDebug: createDebug.IDebugger; export declare const otherDebug: createDebug.IDebugger; export declare const sqlEscape: typeof mysql.escape; export declare const sqlEscapeId: typeof mysql.escapeId; export declare const sqlFormat: typeof mysql.format; /** * 如果传入的 callback 参数不存在,尝试创建支持 Promise 的回调函数 * @param callback 回调函数 */ export declare function wrapCallback(callback?: Callback): Callback; /** * 返回格式化后的 SQL 语句 * 格式: SELECT * FROM ::table WHERE `title`=:title * @param sql SQL 模板语句 * @param values 参数对象 * @param disable$ 是否没有 $ 开头的 key */ export declare function sqlFormatObject(sql: string, values: KVObject, disable$?: boolean): string; /** * 判断是否为 Connection 实例 * @param conn 任意对象 */ export declare function isConnectionInstance(conn: any): boolean; /** * 判断是否为 Cache 实例 * @param cache 任意对象 */ export declare function isCacheInstance(cache: any): boolean; /** * 返回根据对象生成的 SQL UPDATE 语句 * @param data 键值对对象 */ export declare function sqlUpdateString(data: KVObject): string; /** * 返回生成 SQL LIMIT 语句 * @param skip 跳过的行数 * @param limit 返回的行数 */ export declare function sqlLimitString(skip: number, limit: number): string; /** * 判断是否为更新操作的 SQL * @param sql SQL 语句 */ export declare function isUpdateSQL(sql: string): boolean; /** * 合并多段文本 * @param strs 文本数组 */ export declare function joinMultiString(...strs: string[]): string; /** * 判断是否每个键都存在 */ export declare function everyFieldExists(data: KVObject, fields: string[]): boolean;