MCPcopy Create free account
hub / github.com/NodeDB-Lab/nodedb / peek_binop

Method peek_binop

nodedb/src/control/promql/parser.rs:348–367  ·  view source on GitHub ↗
(&self)

Source from the content-addressed store, hash-verified

346 }
347
348 fn peek_binop(&self) -> Option<BinOp> {
349 match self.peek() {
350 Token::Add => Some(BinOp::Add),
351 Token::Sub => Some(BinOp::Sub),
352 Token::Mul => Some(BinOp::Mul),
353 Token::Div => Some(BinOp::Div),
354 Token::Mod => Some(BinOp::Mod),
355 Token::Pow => Some(BinOp::Pow),
356 Token::Eq => Some(BinOp::Eq),
357 Token::Neq => Some(BinOp::Neq),
358 Token::Lt => Some(BinOp::Lt),
359 Token::Gt => Some(BinOp::Gt),
360 Token::Lte => Some(BinOp::Lte),
361 Token::Gte => Some(BinOp::Gte),
362 Token::Ident(s) if s.eq_ignore_ascii_case("and") => Some(BinOp::And),
363 Token::Ident(s) if s.eq_ignore_ascii_case("or") => Some(BinOp::Or),
364 Token::Ident(s) if s.eq_ignore_ascii_case("unless") => Some(BinOp::Unless),
365 _ => None,
366 }
367 }
368
369 fn try_parse_vector_matching(&mut self) -> Result<Option<VectorMatching>, PromqlError> {
370 let has_on = self.try_keyword("on");

Callers 1

parse_exprMethod · 0.80

Calls 1

peekMethod · 0.45

Tested by

no test coverage detected