This is the core package that will handle mapping configurations and mapping operations.
npm i @automapper/core
or with yarn
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:
export interface CreateMapperOptions {
strategyInitializer: MappingStrategyInitializer<MetadataIdentifier>;
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) - Retrieve metadata: how the metadata should be retrieved from the discovery phase (eg:
classes
discovers and stores the metadata toReflect
, retrieve metadata simply gets them fromReflect
) - 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
can be used instead.@automapper/mikro
: Work together with TS/ES6 classes along with MikroORM@automapper/sequelize
: Work together with TS/ES6 classes along with Sequelize