fn parse_operator(lite_arg: &Spanned<String>) -> (SpannedExpression, Option<ParseError>) {
    let operator = match &lite_arg.item[..] {
        "==" => Operator::Equal,
        "!=" => Operator::NotEqual,
        "<" => Operator::LessThan,
        "<=" => Operator::LessThanOrEqual,
        ">" => Operator::GreaterThan,
        ">=" => Operator::GreaterThanOrEqual,
        "=~" => Operator::Contains,
        "!~" => Operator::NotContains,
        "+" => Operator::Plus,
        "-" => Operator::Minus,
        "*" => Operator::Multiply,
        "/" => Operator::Divide,
        "in" => Operator::In,
        "not-in" => Operator::NotIn,
        "mod" => Operator::Modulo,
        "&&" => Operator::And,
        "||" => Operator::Or,
        _ => {
            return (
                garbage(lite_arg.span),
                Some(ParseError::mismatch("operator", lite_arg.clone())),
            );
        }
    };

    (
        SpannedExpression::new(Expression::operator(operator), lite_arg.span),
        None,
    )
}
/// Parse any allowed operator, including word-based operators
Parse any allowed operator, including word-based operators
Parse any allowed operator including word - based operators
fn parse_operator(lite_arg: &Spanned<String>) -> (SpannedExpression, Option<ParseError>) {
    let operator = match &lite_arg.item[..] {
        "==" => Operator::Equal,
        "!=" => Operator::NotEqual,
        "<" => Operator::LessThan,
        "<=" => Operator::LessThanOrEqual,
        ">" => Operator::GreaterThan,
        ">=" => Operator::GreaterThanOrEqual,
        "=~" => Operator::Contains,
        "!~" => Operator::NotContains,
        "+" => Operator::Plus,
        "-" => Operator::Minus,
        "*" => Operator::Multiply,
        "/" => Operator::Divide,
        "in" => Operator::In,
        "not-in" => Operator::NotIn,
        "mod" => Operator::Modulo,
        "&&" => Operator::And,
        "||" => Operator::Or,
        _ => {
            return (
                garbage(lite_arg.span),
                Some(ParseError::mismatch("operator", lite_arg.clone())),
            );
        }
    };
    (
        SpannedExpression::new(Expression::operator(operator), lite_arg.span),
        None,
    )
}
fn parse_operator ( lite_arg : & Spanned < String > ) -> ( SpannedExpression , Option < ParseError > ) { let operator = match & lite_arg . item [ .. ] { " " => Operator :: Equal , " " => Operator :: NotEqual , " " => Operator :: LessThan , " " => Operator :: LessThanOrEqual , " " => Operator :: GreaterThan , " " => Operator :: GreaterThanOrEqual , " " => Operator :: Contains , " " => Operator :: NotContains , " " => Operator :: Plus , " " => Operator :: Minus , " " => Operator :: Multiply , " " => Operator :: Divide , " " => Operator :: In , " " => Operator :: NotIn , " " => Operator :: Modulo , " " => Operator :: And , " " => Operator :: Or , _ => { return ( garbage ( lite_arg . span ) , Some ( ParseError :: mismatch ( " " , lite_arg . clone ( ) ) ) , ) ; } } ; ( SpannedExpression :: new ( Expression :: operator ( operator ) , lite_arg . span ) , None , ) }
Parse any allowed operator, including word-based operators
Parse any allowed operator including word - based operators
lite_arg
&Spanned<String>
lite_arg
&Spanned<String>