class Dhall::ExpressionResolver

Public Class Methods

for(expr) click to toggle source
# File lib/dhall/resolve.rb, line 402
def self.for(expr)
        @@registry.find { |k, _| k === expr }.last.new(expr)
end
new(expr) click to toggle source
# File lib/dhall/resolve.rb, line 410
def initialize(expr)
        @expr = expr
end
register_for(kase) click to toggle source
# File lib/dhall/resolve.rb, line 406
def self.register_for(kase)
        @@registry[kase] = self
end

Public Instance Methods

resolve(**kwargs) click to toggle source
# File lib/dhall/resolve.rb, line 414
def resolve(**kwargs)
        Util.promise_all_hash(
                @expr.to_h.each_with_object({}) { |(attr, value), h|
                        h[attr] = ExpressionResolver.for(value).resolve(**kwargs)
                }
        ).then { |h| @expr.with(h) }
end