From fb227929bc47445f0db669a8aa5c36e2b51b5f82 Mon Sep 17 00:00:00 2001 From: Chau Tran Date: Fri, 5 Mar 2021 22:38:56 -0600 Subject: [PATCH] feat(core): use postMap if available --- packages/core/src/lib/create-mapper/create-mapper.ts | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/packages/core/src/lib/create-mapper/create-mapper.ts b/packages/core/src/lib/create-mapper/create-mapper.ts index ac3ba598c..26d7b5d82 100644 --- a/packages/core/src/lib/create-mapper/create-mapper.ts +++ b/packages/core/src/lib/create-mapper/create-mapper.ts @@ -57,7 +57,7 @@ export function createMapper({ return sourceObj; } - const { preMap } = plugin; + const { preMap, postMap } = plugin; // run preMap if available const [sourceInstance] = preMap @@ -79,13 +79,15 @@ export function createMapper({ 'extraArguments' in destinationObjOrOptions)) || destinationObjOrOptions == null ) { - return mapReturn( + const result = mapReturn( sourceInstance ?? sourceObj, mapping!, destinationObjOrOptions as MapOptions, this, errorHandler ); + + return postMap ? postMap.bind(plugin)(destination, result) : result; } mapMutate( @@ -96,6 +98,9 @@ export function createMapper({ errorHandler, destinationObjOrOptions ); + if (postMap) { + destinationObjOrOptions = postMap(destination, destinationObjOrOptions); + } }, mapAsync( sourceObj: Record,