Method: Dhall::Resolvers::ResolutionSet#register

Defined in:
lib/dhall/resolve.rb

#register(source) ⇒ Object



206
207
208
209
210
211
212
213
214
215
216
217
# File 'lib/dhall/resolve.rb', line 206

def register(source)
  p = Promise.new
  if @parents.include?(source.canonical)
    p.reject(ImportLoopException.new(source))
  elsif @parents.length + 1 > @max_depth
    msg = "Max import depth of #{@max_depth} exceeded"
    p.reject(ImportFailedException.new(msg))
  else
    @set[source] << p
  end
  p
end