From fc11f98b3002e0c5d59d80ce69ea7e7bd255c9b3 Mon Sep 17 00:00:00 2001 From: Apeksha_2022 <70309060+Apeksha9389@users.noreply.github.com> Date: Thu, 8 Oct 2026 19:13:42 +0530 Subject: [PATCH 1/2] feat: let switchTask use the javascript evaluator --- src/sdk/builders/tasks/switch.ts | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/src/sdk/builders/tasks/switch.ts b/src/sdk/builders/tasks/switch.ts index 3c904638..21980958 100644 --- a/src/sdk/builders/tasks/switch.ts +++ b/src/sdk/builders/tasks/switch.ts @@ -5,16 +5,16 @@ export const switchTask = ( expression: string, decisionCases: Record = {}, defaultCase: TaskDefTypes[] = [], - optional?: boolean + optional?: boolean, + evaluatorType: SwitchTaskDef["evaluatorType"] = "value-param" ): SwitchTaskDef => ({ name: taskReferenceName, taskReferenceName, decisionCases, - evaluatorType: "value-param", - inputParameters: { - switchCaseValue: expression, - }, - expression: "switchCaseValue", + evaluatorType, + inputParameters: + evaluatorType === "value-param" ? { switchCaseValue: expression } : {}, + expression: evaluatorType === "value-param" ? "switchCaseValue" : expression, defaultCase, type: TaskType.SWITCH, optional, From dc534d3a7b91680bcdfc8b5b81a4769db77cdc8d Mon Sep 17 00:00:00 2001 From: Apeksha_2022 <70309060+Apeksha9389@users.noreply.github.com> Date: Thu, 8 Oct 2026 19:13:58 +0530 Subject: [PATCH 2/2] test: cover switchTask with the javascript evaluator --- src/sdk/builders/tasks/__tests__/factory.test.ts | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/src/sdk/builders/tasks/__tests__/factory.test.ts b/src/sdk/builders/tasks/__tests__/factory.test.ts index fffbb6b4..1e652106 100644 --- a/src/sdk/builders/tasks/__tests__/factory.test.ts +++ b/src/sdk/builders/tasks/__tests__/factory.test.ts @@ -325,6 +325,21 @@ describe("switchTask", () => { type: "SWITCH", }); }); + + it("Should use the expression directly with the javascript evaluator", () => { + const expr = "$.amount > 100 ? 'high' : 'low'"; + const switchTaskObj = switchTask("sw", expr, {}, [], undefined, "javascript"); + expect(switchTaskObj).toEqual({ + name: "sw", + taskReferenceName: "sw", + decisionCases: {}, + evaluatorType: "javascript", + inputParameters: {}, + expression: expr, + defaultCase: [], + type: "SWITCH", + }); + }); }); describe("terminateTask", () => {