Class: Dhall::RecordProjectionByExpression

Inherits:
Expression
  • Object
show all
Defined in:
lib/dhall/ast.rb,
lib/dhall/normalize.rb

Instance Method Summary collapse

Methods inherited from Expression

#&, #*, #+, #as_dhall, #cache_key, #call, #concat, decode, #deep_merge, #deep_merge_type, #dhall_eq, #digest, #fetch, #fusion, #merge, #resolve, #shift, #slice, #substitute, #to_binary, #to_cbor, #to_proc, #to_s, #|

Instance Method Details

#as_jsonObject



884
885
886
# File 'lib/dhall/ast.rb', line 884

def as_json
	[10, record.as_json, [selector.as_json]]
end

#normalizeObject



338
339
340
341
342
343
344
345
346
# File 'lib/dhall/normalize.rb', line 338

def normalize
	sel = selector.normalize

	if sel.is_a?(RecordType)
		RecordProjection.for(record, sel.keys).normalize
	else
		with(record: record.normalize, selector: sel)
	end
end