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

Method parse_label_matchers

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

Source from the content-addressed store, hash-verified

253 }
254
255 fn parse_label_matchers(&mut self) -> Result<Vec<LabelMatcher>, PromqlError> {
256 self.expect(&Token::LBrace)?;
257 let mut matchers = Vec::new();
258 if !matches!(self.peek(), Token::RBrace) {
259 matchers.push(self.parse_one_matcher()?);
260 while matches!(self.peek(), Token::Comma) {
261 self.advance();
262 if matches!(self.peek(), Token::RBrace) {
263 break;
264 }
265 matchers.push(self.parse_one_matcher()?);
266 }
267 }
268 self.expect(&Token::RBrace)?;
269 Ok(matchers)
270 }
271
272 fn parse_one_matcher(&mut self) -> Result<LabelMatcher, PromqlError> {
273 let Token::Ident(name) = self.advance().clone() else {

Callers 2

parse_primaryMethod · 0.80

Calls 4

parse_one_matcherMethod · 0.80
expectMethod · 0.45
pushMethod · 0.45
advanceMethod · 0.45

Tested by

no test coverage detected