UNPKG

@eggjs/dal-runtime

Version:
29 lines (28 loc) 1.23 kB
import { TableModel } from '@eggjs/tegg/dal'; import type { DataSource as IDataSource, PaginateData, SqlType } from '@eggjs/tegg-types'; import { MysqlDataSource } from './MySqlDataSource'; import { TableSqlMap } from './TableSqlMap'; export interface ExecuteSql { sql: string; template: string; sqlType: SqlType; } export declare class DataSource<T> implements IDataSource<T> { #private; private readonly tableModel; private readonly mysqlDataSource; private readonly sqlMap; constructor(tableModel: TableModel<T>, mysqlDataSource: MysqlDataSource, sqlMap: TableSqlMap); /** * public for aop execute to implement sql hint append * @param sqlName * @param data */ generateSql(sqlName: string, data: object): Promise<ExecuteSql>; count(sqlName: string, data?: any): Promise<number>; execute(sqlName: string, data?: any): Promise<Array<T>>; executeRaw(sqlName: string, data?: any): Promise<Array<any>>; executeScalar(sqlName: string, data?: any): Promise<T | null>; executeRawScalar(sqlName: string, data?: any): Promise<any | null>; paginate(sqlName: string, data: any, currentPage: number, perPageCount: number): Promise<PaginateData<T>>; }