UNPKG

nukak

Version:

flexible and efficient ORM, with declarative JSON syntax and smart type-safety

21 lines (20 loc) 1.17 kB
import type { IdValue, Querier, QueryOptions, Repository, Type, QuerySearch, QueryOne, Query, QueryConflictPaths } from '../type/index.js'; export declare class GenericRepository<E> implements Repository<E> { readonly entity: Type<E>; readonly querier: Querier; constructor(entity: Type<E>, querier: Querier); findOneById(id: IdValue<E>, q?: QueryOne<E>): Promise<E>; findOne(q: QueryOne<E>): Promise<E>; findMany(q: Query<E>): Promise<E[]>; findManyAndCount(q: Query<E>): Promise<[E[], number]>; count(q?: QuerySearch<E>): Promise<number>; insertOne(payload: E): Promise<IdValue<E>>; upsertOne(conflictPaths: QueryConflictPaths<E>, payload: E): Promise<import("../type/query.js").QueryUpdateResult>; insertMany(payload: E[]): Promise<IdValue<E>[]>; updateOneById(id: IdValue<E>, payload: E): Promise<number>; updateMany(qm: QuerySearch<E>, payload: E): Promise<number>; saveOne(payload: E): Promise<IdValue<E>>; saveMany(payload: E[]): Promise<IdValue<E>[]>; deleteOneById(id: IdValue<E>, opts?: QueryOptions): Promise<number>; deleteMany(qm: QuerySearch<E>, opts?: QueryOptions): Promise<number>; }