From 5640c7bd00820e9e3d15ee52dba40df1f3780ba1 Mon Sep 17 00:00:00 2001 From: Ivan Atanasov Date: Thu, 5 Dec 2024 16:46:34 +0100 Subject: [PATCH] Simplify ResourceMapperTypeOptions optional methods Co-authored-by: Charlie Kolb --- packages/workflow/src/Interfaces.ts | 21 ++++++++++++--------- 1 file changed, 12 insertions(+), 9 deletions(-) diff --git a/packages/workflow/src/Interfaces.ts b/packages/workflow/src/Interfaces.ts index f71b3a7a12..7caa20ad68 100644 --- a/packages/workflow/src/Interfaces.ts +++ b/packages/workflow/src/Interfaces.ts @@ -1384,15 +1384,18 @@ export interface ResourceMapperTypeOptionsBase { } // Enforce at least one of resourceMapperMethod or localResourceMapperMethod -export type ResourceMapperTypeOptions = - | (ResourceMapperTypeOptionsBase & { - resourceMapperMethod: string; - localResourceMapperMethod?: never; - }) - | (ResourceMapperTypeOptionsBase & { - localResourceMapperMethod: string; - resourceMapperMethod?: never; - }); +export type ResourceMapperTypeOptionsLocal = { + resourceMapperMethod: string; + localResourceMapperMethod?: never; // Explicitly disallows this property +}; + +export type ResourceMapperTypeOptionsExternal = { + localResourceMapperMethod: string; + resourceMapperMethod?: never; // Explicitly disallows this property +}; + +export type ResourceMapperTypeOptions = ResourceMapperTypeOptionsBase & + (ResourceMapperTypeOptionsLocal | ResourceMapperTypeOptionsExternal); type NonEmptyArray = [T, ...T[]];