@sentzunhat/zacatl
Version:
A modular, high-performance TypeScript microservice framework for Node.js, featuring layered architecture, dependency injection, and robust validation for building scalable APIs and distributed systems.
19 lines • 842 B
TypeScript
import type { BaseRepositoryConfig, RepositoryPort, RepositoryModel } from './types';
export * from './types';
export declare abstract class BaseRepository<D extends object, I, O> implements RepositoryPort<RepositoryModel<D>, I, O> {
private readonly adapter;
private readonly ormType;
get model(): RepositoryModel<D>;
constructor(config: BaseRepositoryConfig<D>);
isMongoose(): boolean;
isSequelize(): boolean;
initializeModel(): Promise<void>;
toLean(input: unknown): O | null;
findById(id: string): Promise<O | null>;
findMany(filter?: Record<string, unknown>): Promise<O[]>;
create(entity: I): Promise<O>;
update(id: string, update: Partial<I>): Promise<O | null>;
delete(id: string): Promise<O | null>;
exists(id: string): Promise<boolean>;
}
//# sourceMappingURL=abstract.d.ts.map