~singpolyma/dhall-ruby

0.2.0 2 years ago

Update to dhall-lang 0.7.0, add Dhall::Coder, etc

Breaking Changes

* Version of dhall-lang supported: 0.7.0
* Parse environment variable import contents as expressions, not just
paths (was a bug)
* Dhall.load defaults to a 10 second timeout and max import depth of 50
* Dhall.load and imports now treat the value as UTF-8 source text if the
bytes are valid UTF-8 and there are no control characters
* Standard resolver now refuses to import binary expressions by default
* Standard resolver now uses the standard disk cache by default
* Builtin types are now Dhall::Builtins[:Bool] etc
* String#as_dhall now encodes to List Natural if it is a binary string
* Symbol#as_dhall now encodes as < symbol > instead of < Symbol = {=} >
* OpenStruct#as_dhall no longer includes type annotations for all
elements
* Object#as_dhall now uses #encode_with if present

New Features

* Dhall::Builtins[:Name_of_builtin] to get any builtin (type or
function)
* yaml-to-dhall can translate Symbol
* Dhall.load now calls to_s on its argument (should allow passing a
Pathname, for example)
* Resolver readers and caches can return Expression instances directly
instead of bytes to parse
* Dhall::Coder (see README)
* Dhall.load takes an optional timeout parameter
* Resolvers now take optional max_depth and cache parameters