From afb83b2408a2b25f36382619b88610b0852e0070 Mon Sep 17 00:00:00 2001 From: "Carlos R. L. Rodrigues" <37986729+carlos-r-l-rodrigues@users.noreply.github.com> Date: Sun, 8 Sep 2024 07:58:48 -0300 Subject: [PATCH] fix(orchestration): filter out undefined items (#9046) --- .../orchestration/src/joiner/remote-joiner.ts | 19 +++++++++++++++++-- 1 file changed, 17 insertions(+), 2 deletions(-) diff --git a/packages/core/orchestration/src/joiner/remote-joiner.ts b/packages/core/orchestration/src/joiner/remote-joiner.ts index 2b21b71385..530875b368 100644 --- a/packages/core/orchestration/src/joiner/remote-joiner.ts +++ b/packages/core/orchestration/src/joiner/remote-joiner.ts @@ -92,7 +92,18 @@ export class RemoteJoiner { } private static getNestedItems(items: any[], property: string): any[] { - return items.flatMap((item) => item?.[property]) + const result: unknown[] = [] + for (const item of items) { + const allValues = item?.[property] ?? [] + const values = Array.isArray(allValues) ? allValues : [allValues] + for (const value of values) { + if (isDefined(value)) { + result.push(value) + } + } + } + + return result } private static createRelatedDataMap( @@ -377,7 +388,11 @@ export class RemoteJoiner { const isObj = isDefined(response.path) let resData = isObj ? response.data[response.path!] : response.data - resData = Array.isArray(resData) ? resData : [resData] + resData = isDefined(resData) + ? Array.isArray(resData) + ? resData + : [resData] + : [] this.checkIfKeysExist( uniqueIds,