Module: Dhall::Parser::SelectorExpression
- Defined in:
- lib/dhall/parser.rb
Instance Method Summary collapse
Instance Method Details
#value ⇒ Object
121 122 123 124 125 126 127 128 129 130 131 132 |
# File 'lib/dhall/parser.rb', line 121 def value record = capture(:primitive_expression).value selectors = captures(:selector).map(&:value) selectors.reduce(record) do |rec, sels| if sels.is_a?(Array) return EmptyRecordProjection.new(record: rec) if sels.empty? RecordProjection.new(record: rec, selectors: sels) else RecordSelection.new(record: rec, selector: sels) end end end |