-
Notifications
You must be signed in to change notification settings - Fork 36
Create map condition
Bert Loedeman edited this page Aug 26, 2015
·
1 revision
It is possible to map conditionally. The createMap.forMember.condition function is meant for this behavior.
// arrange
var objA = { prop: 1, prop2: 2 };
var fromKey = '{76D23B33-888A-4DF7-BEBE-E5B99E944272}';
var toKey = '{18192191-85FE-4729-A980-5954FCFE3954}';
automapper
.createMap(fromKey, toKey)
.forMember('prop', (opts: AutoMapperJs.IMemberConfigurationOptions) => { opts.condition((sourceObject: any) => sourceObject.prop === 0) })
.forMember('prop2', (opts: AutoMapperJs.IMemberConfigurationOptions) => { opts.condition((sourceObject: any) => sourceObject.prop2 === 2) });
// act
var objB = automapper.map(fromKey, toKey, objA);
// assert
expect(objB.hasOwnProperty('prop')).not.toBeTruthy();
expect(objB.hasOwnProperty('prop2')).toBeTruthy();AutoMapperTS is Copyright © 2015 Bert Loedeman and other contributors under the MIT license.
Getting started
Mapping performance
Initialization (initialize)
Mapping configuration (createMap)
- forMember
- forSourceMember
- condition
- forAllMembers
- ignoreAllNonExisting
- convertToType
- convertUsing
- withProfile
Validation (assertConfigurationIsValid)
Mapping (map)
Currying
Custom type converters
Profiles
Chaining
Naming conventions
Asynchronous mapping
Flattening and nesting