AutoMapper TypeScript Core
npm install @automapper/coreThis is the core package that will handle mapping configurations and mapping operations.
``sh`
npm i @automapper/core
or with yarn
`sh`
yarn add @automapper/core
@automapper/core exposes createMapper() method to create a Mapper object with a accompany MappingStrategy (read more
about Strategies)
createMapper accepts a CreateMapperOptions object with the following shape:
`ts`
export interface CreateMapperOptions {
strategyInitializer: MappingStrategyInitializer
errorHandler?: ErrorHandler;
namingConventions?: NamingConventionInput;
}
Read more about usage on documentation site
A given Mapper is accompanied by a Strategy by providing strategyInitializer when using createMapper().
A Strategy will be responsible for:
- Discover metadata (eg: classes uses @AutoMap() decorator to discover the metadata of the properties on the Classes)classes
- Retrieve metadata: how the metadata should be retrieved from the discovery phase (eg: discovers and stores the metadata to Reflect, retrieve metadata simply gets them from Reflect)
- Apply metadata: how the metadata is applied to the Model
@automapper provides the following official strategies:
- @automapper/classes: Work with TS/ES6 classes.@automapper/pojos
- : Work with Interfaces/Types along with POJOs. In projects that do not make use of Class, pojos@automapper/mikro
can be used instead.
- : Work together with TS/ES6 classes along with MikroORM@automapper/sequelize`: Work together with TS/ES6 classes along with Sequelize
-