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