@automapper/pojos (英语)
这是官方策略 @automapper ,用于与界面/类型以及平面对象一起工作
安装
npm i @automapper/pojos
或带有 yarn数字 :
yarn add @automapper/pojos
peerDependencies
@automapper/pojos 取决于 @automapper/core
npm i @automapper/core
或带有 yarn数字 :
yarn add @automapper/core
使用量
@automapper/pojos 提供 pojos 作为 MappingStrategyInitializer。通过 pojos() 改为 createMapper 创建 Mapper
用于 pojos 战略.
import { pojos, PojosMetadataMap } from '@automapper/pojos';
import { createMapper, createMap, forMember, mapFrom } from '@automapper/core';
const mapper = createMapper({
...,
strategyInitializer: pojos()
});
interface User {
firstName: string;
lastName: string;
}
interface UserDto {
firstName: string;
lastName: string;
fullName: string;
}
PojosMetadataMap.create<User>('SomeTokenForUser', {
firstName: String,
lastName: String
});
PojosMetadataMap.create<UserDto>('SomeTokenForUserDto', {
firstName: String,
lastName: String,
fullName: String
});
createMap<User, UserDto>(
mapper,
'SomeTokenForUser',
'SomeTokenForUserDto',
forMember(
d => d.fullName,
mapFrom(s => s.firstName + ' ' + s.lastName)
)
);
mapper.map<User, UserDto>(
{firstName: 'Auto', lastName: 'Mapper'},
'SomeTokenForUser',
'SomeTokenForUserDto'
);
// { firstName: 'Auto', lastName: 'Mapper', fullName: 'Auto Mapper' }
更多信息,请访问 pojos 文档