in src/powerquery-parser/language/constant/constantUtils.ts [80:132]
export function maybeBinOpExpressionOperatorKindFrom(
maybeTokenKind: TokenKind | undefined,
): Constant.TBinOpExpressionOperator | undefined {
switch (maybeTokenKind) {
// ArithmeticOperator
case TokenKind.Asterisk:
return Constant.ArithmeticOperator.Multiplication;
case TokenKind.Division:
return Constant.ArithmeticOperator.Division;
case TokenKind.Plus:
return Constant.ArithmeticOperator.Addition;
case TokenKind.Minus:
return Constant.ArithmeticOperator.Subtraction;
case TokenKind.Ampersand:
return Constant.ArithmeticOperator.And;
// EqualityOperator
case TokenKind.Equal:
return Constant.EqualityOperator.EqualTo;
case TokenKind.NotEqual:
return Constant.EqualityOperator.NotEqualTo;
// LogicalOperator
case TokenKind.KeywordAnd:
return Constant.LogicalOperator.And;
case TokenKind.KeywordOr:
return Constant.LogicalOperator.Or;
// RelationalOperator
case TokenKind.LessThan:
return Constant.RelationalOperator.LessThan;
case TokenKind.LessThanEqualTo:
return Constant.RelationalOperator.LessThanEqualTo;
case TokenKind.GreaterThan:
return Constant.RelationalOperator.GreaterThan;
case TokenKind.GreaterThanEqualTo:
return Constant.RelationalOperator.GreaterThanEqualTo;
// Keyword operator
case TokenKind.KeywordAs:
return Constant.KeywordConstant.As;
case TokenKind.KeywordIs:
return Constant.KeywordConstant.Is;
case TokenKind.KeywordMeta:
return Constant.KeywordConstant.Meta;
case TokenKind.NullCoalescingOperator:
return Constant.MiscConstant.NullCoalescingOperator;
default:
return undefined;
}
}