module Dhall::Parser::SelectorExpression

Public Instance Methods

value() click to toggle source
# File lib/dhall/parser.rb, line 157
def value
        record = capture(:primitive_expression).value
        captures(:selector).map(&:value).reduce(record) do |rec, sels|
                if sels.is_a?(Array)
                        RecordProjection.for(rec, sels)
                elsif sels.is_a?(Dhall::Expression)
                        RecordProjectionByExpression.new(record: rec, selector: sels)
                else
                        RecordSelection.new(record: rec, selector: sels)
                end
        end
end