export function maybeBinOpExpressionOperatorKindFrom()

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;
    }
}