AutoMapper TypeScript
by Chau Tran (@Nartc1410)
Agenda
- What is Object Mapping?
- What is AutoMapper? Why does it exist?
- Problems in TypeScript
- AutoMapper in TypeScript
- Q/A
Object Mapping
- Sometimes called Transformation
- ORM/ODM
Object Mapping
- DTOs
What is AutoMapper
- Original .NET AutoMapper
- Mapping by Convention
- Opinionated
Why?
- Alleviate the boring tasks of mapping from Domain Models to DTOs/View Models
- Separation of Concerns
- Conventions over Configurations
Demo Time
Problems in TypeScript
- Dynamic Typings
- Weak Reflection
- Inconsistent metadata with different tsconfig
Demo Time
AutoMapper in TypeScript
- @automapper monorepo with different packages
- @automapper utilizes plugin-based approach
- classes plugin to work with TS/ES6 Classes
- pojos plugin to work with plain objects + interfaces
- @automapper/nestjs is official NestJS integration
- Main target: TypeScript Node on the Server side (NestJS and others)
AutoMapper in TypeScript
Mapper
AutoMapper in TypeScript
Mapper
AutoMapper in TypeScript
Mapping
- Contract between a Source and a Destination
- Within a Mapper, a Mapping is unidirectionally unique
- Contains all mapping configurations for all members
AutoMapper in TypeScript
MappingProperty
- Each mapping configuration on Mapping is a MappingProperty
- Each MappingProperty contains the property name and its MappingTransformation
- "Auto" configuration vs Custom Configuration
AutoMapper in TypeScript
MappingTransformation
- Instruction on how Mapper should map a MappingProperty
- Based on different TransformationType
AutoMapper in TypeScript
TransformationType
AutoMapper in TypeScript
- More to explore on Github and official documentations
- Github repo: https://github.com/nartc/mapper
- Documentations: https://automapperts.netlify.app
Demo
Q/A
Thank you
AutoMapper TypeScript
By Chau Tran
AutoMapper TypeScript
This is the deck for AutoMapper TypeScript
- 910