export abstract class BaseMapper { abstract toShortDto(entity: TEntity): TShortDto; abstract toDetailDto(entity: TEntity): TDetailDto; toShortDtoList(entities: TEntity[]): TShortDto[] { return entities.map(entity => this.toShortDto(entity)); } toDetailDtoList(entities: TEntity[]): TDetailDto[] { return entities.map(entity => this.toDetailDto(entity)); } static toShortDtoListStatic( entities: T[], mapperFn: (entity: T) => TDto ): TDto[] { return entities.map(mapperFn); } }