Skip to content

Commit

Permalink
fix: Explicitly mark types in the assemblers files
Browse files Browse the repository at this point in the history
BREAKING CHANGE: The methods convertToDTO, convertToEntity, convertToCreateEntity, and convertToUpdateEntity now require casting the return value.
  • Loading branch information
Copystrike committed Mar 29, 2024
1 parent b5c761b commit 58b94a9
Show file tree
Hide file tree
Showing 6 changed files with 9 additions and 9 deletions.
2 changes: 1 addition & 1 deletion examples/auth/src/todo-item/todo-item.assembler.ts
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ import { TodoItemEntity } from './todo-item.entity'
@Assembler(TodoItemDTO, TodoItemEntity)
export class TodoItemAssembler extends ClassTransformerAssembler<TodoItemDTO, TodoItemEntity> {
convertToDTO(entity: TodoItemEntity): TodoItemDTO {
const dto = super.convertToDTO(entity)
const dto = super.convertToDTO(entity) as TodoItemDTO
dto.age = Date.now() - entity.created.getMilliseconds()
return dto
}
Expand Down
2 changes: 1 addition & 1 deletion examples/mongoose/src/todo-item/todo-item.assembler.ts
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ import { TodoItemEntity } from './todo-item.entity'
@Assembler(TodoItemDTO, TodoItemEntity)
export class TodoItemAssembler extends ClassTransformerAssembler<TodoItemDTO, TodoItemEntity> {
convertToDTO(entity: TodoItemEntity): TodoItemDTO {
const dto = super.convertToDTO(entity)
const dto = super.convertToDTO(entity) as TodoItemDTO
dto.age = Date.now() - entity.createdAt.getMilliseconds()
return dto
}
Expand Down
2 changes: 1 addition & 1 deletion examples/sequelize/src/todo-item/todo-item.assembler.ts
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ import { TodoItemEntity } from './entity/todo-item.entity'
@Assembler(TodoItemDTO, TodoItemEntity)
export class TodoItemAssembler extends ClassTransformerAssembler<TodoItemDTO, TodoItemEntity> {
convertToDTO(entity: TodoItemEntity): TodoItemDTO {
const dto = super.convertToDTO(entity)
const dto = super.convertToDTO(entity) as TodoItemDTO
dto.age = Date.now() - entity.created.getMilliseconds()
return dto
}
Expand Down
2 changes: 1 addition & 1 deletion examples/typegoose/src/todo-item/todo-item.assembler.ts
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ import { TodoItemEntity } from './todo-item.entity'
@Assembler(TodoItemDTO, TodoItemEntity)
export class TodoItemAssembler extends ClassTransformerAssembler<TodoItemDTO, TodoItemEntity> {
convertToDTO(entity: TodoItemEntity): TodoItemDTO {
const dto = super.convertToDTO(entity)
const dto = super.convertToDTO(entity) as TodoItemDTO
dto.age = Date.now() - entity.createdAt.getMilliseconds()
return dto
}
Expand Down
2 changes: 1 addition & 1 deletion examples/typeorm/src/todo-item/todo-item.assembler.ts
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ import { TodoItemEntity } from './todo-item.entity'
@Assembler(TodoItemDTO, TodoItemEntity)
export class TodoItemAssembler extends ClassTransformerAssembler<TodoItemDTO, TodoItemEntity> {
convertToDTO(entity: TodoItemEntity): TodoItemDTO {
const dto = super.convertToDTO(entity)
const dto = super.convertToDTO(entity) as TodoItemDTO
dto.age = Date.now() - entity.created.getMilliseconds()
return dto
}
Expand Down
8 changes: 4 additions & 4 deletions packages/core/src/assemblers/class-transformer.assembler.ts
Original file line number Diff line number Diff line change
Expand Up @@ -17,11 +17,11 @@ export abstract class ClassTransformerAssembler<DTO, Entity extends DeepPartial<
DeepPartial<DTO>,
DeepPartial<Entity>
> {
public convertToDTO(entity: Entity): DTO {
public convertToDTO(entity: Entity): DTO | Promise<DTO> {
return this.convert(this.DTOClass, this.toPlain(entity))
}

public convertToEntity(dto: DTO): Entity {
public convertToEntity(dto: DTO): Entity | Promise<Entity> {
return this.convert(this.EntityClass, this.toPlain(dto))
}

Expand All @@ -37,11 +37,11 @@ export abstract class ClassTransformerAssembler<DTO, Entity extends DeepPartial<
return aggregate as unknown as AggregateResponse<DTO>
}

public convertToCreateEntity(create: DeepPartial<DTO>): DeepPartial<Entity> {
public convertToCreateEntity(create: DeepPartial<DTO>): DeepPartial<Entity> | Promise<DeepPartial<Entity>> {
return this.convert(this.EntityClass, create)
}

public convertToUpdateEntity(create: DeepPartial<DTO>): DeepPartial<Entity> {
public convertToUpdateEntity(create: DeepPartial<DTO>): DeepPartial<Entity> | Promise<DeepPartial<Entity>> {
return this.convert(this.EntityClass, create)
}

Expand Down

0 comments on commit 58b94a9

Please sign in to comment.