UNPKG

@grandlinex/bundle-sqlight

Version:

> SQLight support GrandlineX using better-sqlite3

32 lines (31 loc) 2.33 kB
import { ConfigType, CoreDBCon, CoreEntity, EntityConfig, EProperties, EUpDateProperties, ICoreCache, ICoreClient, ICoreKernel, ICoreKernelModule, ICorePresenter, IDataBase, IEntity, QueryInterface, RawQuery } from '@grandlinex/core'; import Database, { RunResult } from 'better-sqlite3'; export type DbType = Database.Database; export default class SQLCon<K extends ICoreKernel<any> = ICoreKernel<any>, T extends IDataBase<any, any> | null = any, P extends ICoreClient | null = any, C extends ICoreCache | null = any, X extends ICorePresenter<any> | null = any> extends CoreDBCon<DbType, RunResult, K, T, P, C, X> implements IDataBase<DbType, RunResult, K, T, P, C, X> { db: DbType | null; printLog: boolean; private readonly path; constructor(module: ICoreKernelModule<any, any, any, any, any>, dbversion: string, printLog?: boolean); createEntity<E extends CoreEntity>(config: EntityConfig<E>, entity: EProperties<E>): Promise<E>; updateEntity<E extends CoreEntity>(config: EntityConfig<E>, e_id: string, entity: EUpDateProperties<E>): Promise<boolean>; updateBulkEntity<E extends IEntity>(config: EntityConfig<E>, e_id: string[], entity: EUpDateProperties<E>): Promise<boolean>; getEntityById<E extends CoreEntity>(config: EntityConfig<E>, id: string): Promise<E | null>; getEntityBulkById<E extends CoreEntity>(config: EntityConfig<E>, e_id: string[]): Promise<E[]>; findEntity<E extends CoreEntity>(config: EntityConfig<E>, search: { [D in keyof E]?: E[D] | undefined; }): Promise<E | null>; deleteEntityById(className: string, id: string): Promise<boolean>; deleteEntityBulkById(className: string, e_id: string[]): Promise<boolean>; getEntityList<E extends CoreEntity>(q: QueryInterface<E>): Promise<E[]>; initEntity<E extends CoreEntity>(className: string, entity: E): Promise<boolean>; transformEntityKeys<E extends CoreEntity>(entity: E): string; removeConfig(key: string): Promise<void>; initNewDB(): Promise<void>; connect(): Promise<boolean>; getRawDBObject(): DbType | null; configExist(key: string): Promise<boolean>; setConfig(key: string, value: string): Promise<boolean>; getConfig(key: string): Promise<ConfigType>; execScripts(list: RawQuery[]): Promise<RunResult[]>; disconnect(): Promise<boolean>; }