Class: Janeway::AST::Selector

Inherits:
Expression show all
Defined in:
lib/janeway/ast/selector.rb

Overview

Represent a selector, which is an expression that filters nodes from a list based on a predicate.

https://www.rfc-editor.org/rfc/rfc9535.html#name-selectors Selectors:

A name selector, e.g. 'name', selects a named child of an object.

An index selector, e.g. 3, selects an indexed child of an array.

A wildcard * in the expression [] selects all children of a node and in the expression ..[] selects all descendants of a node.

An array slice start:end:step selects a series of elements from an array, giving a start position, an end position, and an optional step value that moves the position from the start to the end.

Filter expressions ? select certain children of an object or array, as in: $.store.book[?@.price < 10].title

Instance Attribute Summary

Attributes inherited from Expression

#next, #value

Method Summary

Methods inherited from Expression

#chain_of?, #indented, #initialize, #literal?, #singular_query?, #tree, #type, type_name

Constructor Details

This class inherits a constructor from Janeway::AST::Expression