Просмотр исходного кода

refactor(runtime): rename condition operation to operator (#812)

Louis Young 4 месяцев назад
Родитель
Сommit
75594be291

+ 1 - 1
packages/runtime/interface/src/node/condition/constant.ts

@@ -3,7 +3,7 @@
  * SPDX-License-Identifier: MIT
  */
 
-export enum ConditionOperation {
+export enum ConditionOperator {
   EQ = 'eq',
   NEQ = 'neq',
   GT = 'gt',

+ 3 - 3
packages/runtime/interface/src/node/condition/index.ts

@@ -6,15 +6,15 @@
 import { IFlowConstantRefValue, IFlowRefValue } from '@schema/value';
 import { WorkflowNodeSchema } from '@schema/node';
 import { FlowGramNode } from '@node/constant';
-import { ConditionOperation } from './constant';
+import { ConditionOperator } from './constant';
 
-export { ConditionOperation };
+export { ConditionOperator };
 
 export interface ConditionItem {
   key: string;
   value: {
     left: IFlowRefValue;
-    operator: ConditionOperation;
+    operator: ConditionOperator;
     right: IFlowConstantRefValue;
   };
 }

+ 1 - 1
packages/runtime/interface/src/node/index.ts

@@ -8,7 +8,7 @@ export { EndNodeSchema } from './end';
 export { LLMNodeSchema } from './llm';
 export { StartNodeSchema } from './start';
 export { LoopNodeSchema } from './loop';
-export { ConditionNodeSchema, ConditionOperation, ConditionItem } from './condition';
+export { ConditionNodeSchema, ConditionOperator, ConditionItem } from './condition';
 export { HTTPNodeSchema, HTTPMethod, HTTPBodyType } from './http';
 export { CodeNodeSchema } from './code';
 export { BreakNodeSchema } from './break';

+ 3 - 3
packages/runtime/js-core/src/nodes/condition/handlers/array.ts

@@ -4,7 +4,7 @@
  */
 
 import { isNil } from 'lodash-es';
-import { ConditionOperation } from '@flowgram.ai/runtime-interface';
+import { ConditionOperator } from '@flowgram.ai/runtime-interface';
 
 import { ConditionHandler } from '../type';
 
@@ -12,10 +12,10 @@ export const conditionArrayHandler: ConditionHandler = (condition) => {
   const { operator } = condition;
   const leftValue = condition.leftValue as object;
   // Switch case share scope, so we need to use if else here
-  if (operator === ConditionOperation.IS_EMPTY) {
+  if (operator === ConditionOperator.IS_EMPTY) {
     return isNil(leftValue);
   }
-  if (operator === ConditionOperation.IS_NOT_EMPTY) {
+  if (operator === ConditionOperator.IS_NOT_EMPTY) {
     return !isNil(leftValue);
   }
   return false;

+ 9 - 9
packages/runtime/js-core/src/nodes/condition/handlers/boolean.ts

@@ -4,7 +4,7 @@
  */
 
 import { isNil } from 'lodash-es';
-import { ConditionOperation } from '@flowgram.ai/runtime-interface';
+import { ConditionOperator } from '@flowgram.ai/runtime-interface';
 
 import { ConditionHandler } from '../type';
 
@@ -12,32 +12,32 @@ export const conditionBooleanHandler: ConditionHandler = (condition) => {
   const { operator } = condition;
   const leftValue = condition.leftValue as boolean;
   // Switch case share scope, so we need to use if else here
-  if (operator === ConditionOperation.EQ) {
+  if (operator === ConditionOperator.EQ) {
     const rightValue = condition.rightValue as boolean;
     return leftValue === rightValue;
   }
-  if (operator === ConditionOperation.NEQ) {
+  if (operator === ConditionOperator.NEQ) {
     const rightValue = condition.rightValue as boolean;
     return leftValue !== rightValue;
   }
-  if (operator === ConditionOperation.IS_TRUE) {
+  if (operator === ConditionOperator.IS_TRUE) {
     return leftValue === true;
   }
-  if (operator === ConditionOperation.IS_FALSE) {
+  if (operator === ConditionOperator.IS_FALSE) {
     return leftValue === false;
   }
-  if (operator === ConditionOperation.IN) {
+  if (operator === ConditionOperator.IN) {
     const rightValue = condition.rightValue as boolean[];
     return rightValue.includes(leftValue);
   }
-  if (operator === ConditionOperation.NIN) {
+  if (operator === ConditionOperator.NIN) {
     const rightValue = condition.rightValue as boolean[];
     return !rightValue.includes(leftValue);
   }
-  if (operator === ConditionOperation.IS_EMPTY) {
+  if (operator === ConditionOperator.IS_EMPTY) {
     return isNil(leftValue);
   }
-  if (operator === ConditionOperation.IS_NOT_EMPTY) {
+  if (operator === ConditionOperator.IS_NOT_EMPTY) {
     return !isNil(leftValue);
   }
   return false;

+ 4 - 4
packages/runtime/js-core/src/nodes/condition/handlers/null.ts

@@ -4,7 +4,7 @@
  */
 
 import { isNil } from 'lodash-es';
-import { ConditionOperation } from '@flowgram.ai/runtime-interface';
+import { ConditionOperator } from '@flowgram.ai/runtime-interface';
 
 import { ConditionHandler } from '../type';
 
@@ -12,13 +12,13 @@ export const conditionNullHandler: ConditionHandler = (condition) => {
   const { operator } = condition;
   const leftValue = condition.leftValue as unknown | null;
   // Switch case share scope, so we need to use if else here
-  if (operator === ConditionOperation.EQ) {
+  if (operator === ConditionOperator.EQ) {
     return isNil(leftValue) && isNil(condition.rightValue);
   }
-  if (operator === ConditionOperation.IS_EMPTY) {
+  if (operator === ConditionOperator.IS_EMPTY) {
     return isNil(leftValue);
   }
-  if (operator === ConditionOperation.IS_NOT_EMPTY) {
+  if (operator === ConditionOperator.IS_NOT_EMPTY) {
     return !isNil(leftValue);
   }
   return false;

+ 11 - 11
packages/runtime/js-core/src/nodes/condition/handlers/number.ts

@@ -4,7 +4,7 @@
  */
 
 import { isNil } from 'lodash-es';
-import { ConditionOperation } from '@flowgram.ai/runtime-interface';
+import { ConditionOperator } from '@flowgram.ai/runtime-interface';
 
 import { ConditionHandler } from '../type';
 
@@ -12,42 +12,42 @@ export const conditionNumberHandler: ConditionHandler = (condition) => {
   const { operator } = condition;
   const leftValue = condition.leftValue as number;
   // Switch case share scope, so we need to use if else here
-  if (operator === ConditionOperation.EQ) {
+  if (operator === ConditionOperator.EQ) {
     const rightValue = condition.rightValue as number;
     return leftValue === rightValue;
   }
-  if (operator === ConditionOperation.NEQ) {
+  if (operator === ConditionOperator.NEQ) {
     const rightValue = condition.rightValue as number;
     return leftValue !== rightValue;
   }
-  if (operator === ConditionOperation.GT) {
+  if (operator === ConditionOperator.GT) {
     const rightValue = condition.rightValue as number;
     return leftValue > rightValue;
   }
-  if (operator === ConditionOperation.GTE) {
+  if (operator === ConditionOperator.GTE) {
     const rightValue = condition.rightValue as number;
     return leftValue >= rightValue;
   }
-  if (operator === ConditionOperation.LT) {
+  if (operator === ConditionOperator.LT) {
     const rightValue = condition.rightValue as number;
     return leftValue < rightValue;
   }
-  if (operator === ConditionOperation.LTE) {
+  if (operator === ConditionOperator.LTE) {
     const rightValue = condition.rightValue as number;
     return leftValue <= rightValue;
   }
-  if (operator === ConditionOperation.IN) {
+  if (operator === ConditionOperator.IN) {
     const rightValue = condition.rightValue as number[];
     return rightValue.includes(leftValue);
   }
-  if (operator === ConditionOperation.NIN) {
+  if (operator === ConditionOperator.NIN) {
     const rightValue = condition.rightValue as number[];
     return !rightValue.includes(leftValue);
   }
-  if (operator === ConditionOperation.IS_EMPTY) {
+  if (operator === ConditionOperator.IS_EMPTY) {
     return isNil(leftValue);
   }
-  if (operator === ConditionOperation.IS_NOT_EMPTY) {
+  if (operator === ConditionOperator.IS_NOT_EMPTY) {
     return !isNil(leftValue);
   }
   return false;

+ 3 - 3
packages/runtime/js-core/src/nodes/condition/handlers/object.ts

@@ -4,7 +4,7 @@
  */
 
 import { isNil } from 'lodash-es';
-import { ConditionOperation } from '@flowgram.ai/runtime-interface';
+import { ConditionOperator } from '@flowgram.ai/runtime-interface';
 
 import { ConditionHandler } from '../type';
 
@@ -12,10 +12,10 @@ export const conditionObjectHandler: ConditionHandler = (condition) => {
   const { operator } = condition;
   const leftValue = condition.leftValue as object;
   // Switch case share scope, so we need to use if else here
-  if (operator === ConditionOperation.IS_EMPTY) {
+  if (operator === ConditionOperator.IS_EMPTY) {
     return isNil(leftValue);
   }
-  if (operator === ConditionOperation.IS_NOT_EMPTY) {
+  if (operator === ConditionOperator.IS_NOT_EMPTY) {
     return !isNil(leftValue);
   }
   return false;

+ 9 - 9
packages/runtime/js-core/src/nodes/condition/handlers/string.ts

@@ -4,7 +4,7 @@
  */
 
 import { isNil } from 'lodash-es';
-import { ConditionOperation } from '@flowgram.ai/runtime-interface';
+import { ConditionOperator } from '@flowgram.ai/runtime-interface';
 
 import { ConditionHandler } from '../type';
 
@@ -12,34 +12,34 @@ export const conditionStringHandler: ConditionHandler = (condition) => {
   const { operator } = condition;
   const leftValue = condition.leftValue as string;
   // Switch case share scope, so we need to use if else here
-  if (operator === ConditionOperation.EQ) {
+  if (operator === ConditionOperator.EQ) {
     const rightValue = condition.rightValue as string;
     return leftValue === rightValue;
   }
-  if (operator === ConditionOperation.NEQ) {
+  if (operator === ConditionOperator.NEQ) {
     const rightValue = condition.rightValue as string;
     return leftValue !== rightValue;
   }
-  if (operator === ConditionOperation.CONTAINS) {
+  if (operator === ConditionOperator.CONTAINS) {
     const rightValue = condition.rightValue as string;
     return leftValue.includes(rightValue);
   }
-  if (operator === ConditionOperation.NOT_CONTAINS) {
+  if (operator === ConditionOperator.NOT_CONTAINS) {
     const rightValue = condition.rightValue as string;
     return !leftValue.includes(rightValue);
   }
-  if (operator === ConditionOperation.IN) {
+  if (operator === ConditionOperator.IN) {
     const rightValue = condition.rightValue as string[];
     return rightValue.includes(leftValue);
   }
-  if (operator === ConditionOperation.NIN) {
+  if (operator === ConditionOperator.NIN) {
     const rightValue = condition.rightValue as string[];
     return !rightValue.includes(leftValue);
   }
-  if (operator === ConditionOperation.IS_EMPTY) {
+  if (operator === ConditionOperator.IS_EMPTY) {
     return isNil(leftValue);
   }
-  if (operator === ConditionOperation.IS_NOT_EMPTY) {
+  if (operator === ConditionOperator.IS_NOT_EMPTY) {
     return !isNil(leftValue);
   }
   return false;

+ 44 - 44
packages/runtime/js-core/src/nodes/condition/rules.ts

@@ -3,66 +3,66 @@
  * SPDX-License-Identifier: MIT
  */
 
-import { ConditionOperation, WorkflowVariableType } from '@flowgram.ai/runtime-interface';
+import { ConditionOperator, WorkflowVariableType } from '@flowgram.ai/runtime-interface';
 
 import { ConditionRules } from './type';
 
 export const conditionRules: ConditionRules = {
   [WorkflowVariableType.String]: {
-    [ConditionOperation.EQ]: WorkflowVariableType.String,
-    [ConditionOperation.NEQ]: WorkflowVariableType.String,
-    [ConditionOperation.CONTAINS]: WorkflowVariableType.String,
-    [ConditionOperation.NOT_CONTAINS]: WorkflowVariableType.String,
-    [ConditionOperation.IN]: WorkflowVariableType.Array,
-    [ConditionOperation.NIN]: WorkflowVariableType.Array,
-    [ConditionOperation.IS_EMPTY]: WorkflowVariableType.String,
-    [ConditionOperation.IS_NOT_EMPTY]: WorkflowVariableType.String,
+    [ConditionOperator.EQ]: WorkflowVariableType.String,
+    [ConditionOperator.NEQ]: WorkflowVariableType.String,
+    [ConditionOperator.CONTAINS]: WorkflowVariableType.String,
+    [ConditionOperator.NOT_CONTAINS]: WorkflowVariableType.String,
+    [ConditionOperator.IN]: WorkflowVariableType.Array,
+    [ConditionOperator.NIN]: WorkflowVariableType.Array,
+    [ConditionOperator.IS_EMPTY]: WorkflowVariableType.String,
+    [ConditionOperator.IS_NOT_EMPTY]: WorkflowVariableType.String,
   },
   [WorkflowVariableType.Number]: {
-    [ConditionOperation.EQ]: WorkflowVariableType.Number,
-    [ConditionOperation.NEQ]: WorkflowVariableType.Number,
-    [ConditionOperation.GT]: WorkflowVariableType.Number,
-    [ConditionOperation.GTE]: WorkflowVariableType.Number,
-    [ConditionOperation.LT]: WorkflowVariableType.Number,
-    [ConditionOperation.LTE]: WorkflowVariableType.Number,
-    [ConditionOperation.IN]: WorkflowVariableType.Array,
-    [ConditionOperation.NIN]: WorkflowVariableType.Array,
-    [ConditionOperation.IS_EMPTY]: WorkflowVariableType.Null,
-    [ConditionOperation.IS_NOT_EMPTY]: WorkflowVariableType.Null,
+    [ConditionOperator.EQ]: WorkflowVariableType.Number,
+    [ConditionOperator.NEQ]: WorkflowVariableType.Number,
+    [ConditionOperator.GT]: WorkflowVariableType.Number,
+    [ConditionOperator.GTE]: WorkflowVariableType.Number,
+    [ConditionOperator.LT]: WorkflowVariableType.Number,
+    [ConditionOperator.LTE]: WorkflowVariableType.Number,
+    [ConditionOperator.IN]: WorkflowVariableType.Array,
+    [ConditionOperator.NIN]: WorkflowVariableType.Array,
+    [ConditionOperator.IS_EMPTY]: WorkflowVariableType.Null,
+    [ConditionOperator.IS_NOT_EMPTY]: WorkflowVariableType.Null,
   },
   [WorkflowVariableType.Integer]: {
-    [ConditionOperation.EQ]: WorkflowVariableType.Integer,
-    [ConditionOperation.NEQ]: WorkflowVariableType.Integer,
-    [ConditionOperation.GT]: WorkflowVariableType.Integer,
-    [ConditionOperation.GTE]: WorkflowVariableType.Integer,
-    [ConditionOperation.LT]: WorkflowVariableType.Integer,
-    [ConditionOperation.LTE]: WorkflowVariableType.Integer,
-    [ConditionOperation.IN]: WorkflowVariableType.Array,
-    [ConditionOperation.NIN]: WorkflowVariableType.Array,
-    [ConditionOperation.IS_EMPTY]: WorkflowVariableType.Null,
-    [ConditionOperation.IS_NOT_EMPTY]: WorkflowVariableType.Null,
+    [ConditionOperator.EQ]: WorkflowVariableType.Integer,
+    [ConditionOperator.NEQ]: WorkflowVariableType.Integer,
+    [ConditionOperator.GT]: WorkflowVariableType.Integer,
+    [ConditionOperator.GTE]: WorkflowVariableType.Integer,
+    [ConditionOperator.LT]: WorkflowVariableType.Integer,
+    [ConditionOperator.LTE]: WorkflowVariableType.Integer,
+    [ConditionOperator.IN]: WorkflowVariableType.Array,
+    [ConditionOperator.NIN]: WorkflowVariableType.Array,
+    [ConditionOperator.IS_EMPTY]: WorkflowVariableType.Null,
+    [ConditionOperator.IS_NOT_EMPTY]: WorkflowVariableType.Null,
   },
   [WorkflowVariableType.Boolean]: {
-    [ConditionOperation.EQ]: WorkflowVariableType.Boolean,
-    [ConditionOperation.NEQ]: WorkflowVariableType.Boolean,
-    [ConditionOperation.IS_TRUE]: WorkflowVariableType.Null,
-    [ConditionOperation.IS_FALSE]: WorkflowVariableType.Null,
-    [ConditionOperation.IN]: WorkflowVariableType.Array,
-    [ConditionOperation.NIN]: WorkflowVariableType.Array,
-    [ConditionOperation.IS_EMPTY]: WorkflowVariableType.Null,
-    [ConditionOperation.IS_NOT_EMPTY]: WorkflowVariableType.Null,
+    [ConditionOperator.EQ]: WorkflowVariableType.Boolean,
+    [ConditionOperator.NEQ]: WorkflowVariableType.Boolean,
+    [ConditionOperator.IS_TRUE]: WorkflowVariableType.Null,
+    [ConditionOperator.IS_FALSE]: WorkflowVariableType.Null,
+    [ConditionOperator.IN]: WorkflowVariableType.Array,
+    [ConditionOperator.NIN]: WorkflowVariableType.Array,
+    [ConditionOperator.IS_EMPTY]: WorkflowVariableType.Null,
+    [ConditionOperator.IS_NOT_EMPTY]: WorkflowVariableType.Null,
   },
   [WorkflowVariableType.Object]: {
-    [ConditionOperation.IS_EMPTY]: WorkflowVariableType.Null,
-    [ConditionOperation.IS_NOT_EMPTY]: WorkflowVariableType.Null,
+    [ConditionOperator.IS_EMPTY]: WorkflowVariableType.Null,
+    [ConditionOperator.IS_NOT_EMPTY]: WorkflowVariableType.Null,
   },
   [WorkflowVariableType.Array]: {
-    [ConditionOperation.IS_EMPTY]: WorkflowVariableType.Null,
-    [ConditionOperation.IS_NOT_EMPTY]: WorkflowVariableType.Null,
+    [ConditionOperator.IS_EMPTY]: WorkflowVariableType.Null,
+    [ConditionOperator.IS_NOT_EMPTY]: WorkflowVariableType.Null,
   },
   [WorkflowVariableType.Null]: {
-    [ConditionOperation.EQ]: WorkflowVariableType.Null,
-    [ConditionOperation.IS_EMPTY]: WorkflowVariableType.Null,
-    [ConditionOperation.IS_NOT_EMPTY]: WorkflowVariableType.Null,
+    [ConditionOperator.EQ]: WorkflowVariableType.Null,
+    [ConditionOperator.IS_EMPTY]: WorkflowVariableType.Null,
+    [ConditionOperator.IS_NOT_EMPTY]: WorkflowVariableType.Null,
   },
 };

+ 3 - 3
packages/runtime/js-core/src/nodes/condition/type.ts

@@ -5,13 +5,13 @@
 
 import {
   WorkflowVariableType,
-  ConditionOperation,
+  ConditionOperator,
   ConditionItem,
 } from '@flowgram.ai/runtime-interface';
 
 export type Conditions = ConditionItem[];
 
-export type ConditionRule = Partial<Record<ConditionOperation, WorkflowVariableType | null>>;
+export type ConditionRule = Partial<Record<ConditionOperator, WorkflowVariableType | null>>;
 
 export type ConditionRules = Record<WorkflowVariableType, ConditionRule>;
 
@@ -21,7 +21,7 @@ export interface ConditionValue {
   rightValue: unknown | null;
   leftType: WorkflowVariableType;
   rightType: WorkflowVariableType;
-  operator: ConditionOperation;
+  operator: ConditionOperator;
 }
 
 export type ConditionHandler = (condition: ConditionValue) => boolean;