UNPKG

miniorm

Version:

A lightweight, minimal TypeScript ORM & query‑builder for MySQL, PostgreSQL and SQLite

53 lines (52 loc) 2.03 kB
import { type WhereObject } from '../types/query.types'; export declare abstract class BaseEntityClass<T = any> { static $table: string; } export declare class QueryBuilder<T = any> { private sql; private extra; private dbName; private dbType; private tableName; private entity; private data; private is_typeorm; private where_values; private isDebug; private debugFunc; constructor(dbName: string, table: string | (new () => T) | typeof BaseEntityClass<T>, opt?: any); select<K extends keyof T>(fields?: K[]): this; private fields; order<K extends keyof T>(orderby: K[], type?: 'ASC' | 'DESC'): this; limit(limit: number): this; offset(offset: number): this; first(): Promise<T>; end(): Promise<T>; private selectMethods; count<K extends keyof T>(fields?: K): Promise<number>; max<K extends keyof T>(field: K): Promise<number>; min<K extends keyof T>(field: K): Promise<number>; avg<K extends keyof T>(field: K): Promise<number>; sum<K extends keyof T>(field: K): Promise<number>; update(set_values: Partial<T> | Partial<T>): this; private set; delete(): this; where(...where_values: (string | WhereObject<Partial<T> | Partial<T>>)[]): this; insert(into_values: Partial<T>): Promise<boolean>; private values; isIgnoreValue(value: any): boolean; isIgnoreField(fields: any[]): boolean; debug(type?: 'now' | 'final', func?: (sql: string, data: any) => void): this; exists(): Promise<boolean>; clone<C = T>(opt?: { db?: string; table?: string | (new () => C) | typeof BaseEntityClass<C>; }): QueryBuilder<C>; raw(query: string, values?: (string | number | boolean | null)[]): Promise<any>; toSQL(): [string, any[]]; pluck<K extends keyof T>(field: K): Promise<Array<any>>; between<K extends keyof T>(field: K, start: number, end: number): Promise<any>; disconnect(): Promise<void>; reconnect(): Promise<this>; run<R = any>(): Promise<R>; }