MCPcopy Create free account
hub / github.com/bytebase/bytebase / validateCondition

Function validateCondition

frontend/src/plugins/cel/logic/validate.ts:44–70  ·  view source on GitHub ↗
(condition: ConditionExpr)

Source from the content-addressed store, hash-verified

42
43export const validateSimpleExpr = (expr: SimpleExpr): boolean => {
44 const validateCondition = (condition: ConditionExpr): boolean => {
45 if (condition.args.length !== 2) {
46 // All condition expressions' args need to be [factor, value(s)] format.
47 return false;
48 }
49 if (isEqualityExpr(condition)) {
50 const [factor, value] = condition.args;
51 if (isStringFactor(factor)) return validateString(value);
52 if (isNumberFactor(factor)) return validateNumber(value);
53 if (isBooleanFactor(factor)) return typeof value === "boolean";
54 }
55 if (isCompareExpr(condition)) {
56 const value = condition.args[1];
57 return isNumber(value);
58 }
59 if (isCollectionExpr(condition)) {
60 const [factor, values] = condition.args;
61 if (isStringFactor(factor)) return validateStringArray(values);
62 if (isNumberFactor(factor)) return validateNumberArray(values);
63 }
64 if (isStringExpr(condition)) {
65 const value = condition.args[1];
66 return validateString(value);
67 }
68 // unknown condition expr type
69 return false;
70 };
71 const validateConditionGroup = (group: ConditionGroupExpr): boolean => {
72 const { args } = group;
73 if (args.length === 0) return false;

Callers 1

validateFunction · 0.85

Calls 11

isEqualityExprFunction · 0.90
isStringFactorFunction · 0.90
isNumberFactorFunction · 0.90
isBooleanFactorFunction · 0.90
isCompareExprFunction · 0.90
isCollectionExprFunction · 0.90
isStringExprFunction · 0.90
validateStringFunction · 0.85
validateNumberFunction · 0.85
validateStringArrayFunction · 0.85
validateNumberArrayFunction · 0.85

Tested by

no test coverage detected