Skip to content

Create map condition

Bert Loedeman edited this page Aug 26, 2015 · 1 revision

createMap.condition

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();

Clone this wiki locally