because I got bored of customising my CV for every job
1/**
2 * Base interface for mapping between Prisma entities and domain entities
3 */
4export interface BaseMapper<TPrismaEntity, TDomainEntity> {
5 /**
6 * Maps a single Prisma entity to a domain entity
7 */
8 toDomain(prismaEntity: TPrismaEntity): TDomainEntity;
9
10 /**
11 * Maps a single Prisma entity to a domain entity, handling null input
12 */
13 toDomain(prismaEntity: TPrismaEntity | null): TDomainEntity | null;
14
15 /**
16 * Maps an array of Prisma entities to domain entities
17 */
18 mapToDomain(prismaEntities: TPrismaEntity[]): TDomainEntity[];
19}