Skip to content

property is undefined after mapping #595

Open
@maxime-aubry

Description

Is there an existing issue for this?

  • I have searched the existing issues

Describe the issue

After is called the mapper, i get a date as a string, as i wanted.
But 'id' property is undefined.
I must add 'forMember' function for 'id' property too.

Models/DTOs/VMs

import { AutoMap } from '@automapper/classes';

export class TransformationAuditGetAllResponseState {
  @AutoMap()
  id!: string;

  @AutoMap()
  transformationDate!: string;
}

export class TransformationAuditGetAllResponseDto {
  @AutoMap()
  id!: string;

  @AutoMap()
  transformationDate!: Date;
}

Mapping configuration

export const mapper: Mapper = createMapper({
  strategyInitializer: classes(),
});

createMap(
  mapper,
    TransformationAuditGetAllResponseDto,
    TransformationAuditGetAllResponseState,
  forMember(
      (dest: TransformationAuditGetAllResponseState) => dest.transformationDate,
    mapFrom((source: TransformationAuditGetAllResponseDto) => moment(source.transformationDate).format('DD/MM/YYYY hh:mm:ss A'))
  ),
);

Steps to reproduce

No response

Expected behavior

Value of 'id' property of TransformationAuditGetAllResponseDto should be mapped for 'id' property of TransformationAuditGetAllResponseState.

Screenshots

No response

Minimum reproduction code

No response

Package

  • I don't know.
  • @automapper/core
  • @automapper/classes
  • @automapper/nestjs
  • @automapper/pojos
  • @automapper/mikro
  • @automapper/sequelize
  • Other (see below)

Other package and its version

No response

AutoMapper version

8.8.1

Additional context

typescript version : 5.3.3

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions