Enable --pretty by default for dhall-to-json (#1373)

* Enable --pretty by default for dhall-to-json

* add Deprecation notice into dhall-to-json help

* update dhall-to-json output examples in src/Dhall/JSON.hs
This commit is contained in:
Dima 2019-10-02 22:08:39 -04:00 committed by mergify[bot]
parent e04f5af952
commit cc71c65c17
3 changed files with 38 additions and 6 deletions

View File

@ -1,3 +1,7 @@
Next version
* [BREAKING CHANGE: Enable `--pretty` by default for `dhall-to-json`](https://github.com/dhall-lang/dhall-haskell/issues/716)
1.4.1
* [Enable `--records-strict` by default for `{json-yaml}-to-dhall`](https://github.com/dhall-lang/dhall-haskell/pull/1181)

View File

@ -62,7 +62,7 @@ parseOptions =
Options.flag'
True
( Options.long "pretty"
<> Options.help "Pretty print generated JSON"
<> Options.help "Deprecated, will be removed soon. Pretty print generated JSON"
)
compactFlag =
@ -73,7 +73,7 @@ parseOptions =
)
defaultBehavior =
pure False
pure True
parseVersion =
Options.flag'

View File

@ -56,7 +56,11 @@
Dhall @List@s translate to JSON lists:
> $ dhall-to-json <<< '[1, 2, 3] : List Natural'
> [1,2,3]
> [
> 1,
> 2,
> 3
> ]
Dhall @Optional@ values translate to @null@ if absent and the unwrapped
value otherwise:
@ -69,7 +73,10 @@
Dhall records translate to JSON records:
> $ dhall-to-json <<< '{ foo = 1, bar = True }'
> {"foo":1,"bar":true}
> {
> "bar": true,
> "foo": 1
> }
Dhall unions translate to the wrapped value:
@ -85,7 +92,22 @@
> , MyType.Person { age = 35, name = "Alice" }
> ]
> $ dhall-to-json <<< "./config"
> [{"age":47,"name":"John"},{"location":"North Pole"},{"location":"Sahara Desert"},{"age":35,"name":"Alice"}]
> [
> {
> "age": 47,
> "name": "John"
> },
> {
> "location": "North Pole"
> },
> {
> "location": "Sahara Desert"
> },
> {
> "age": 35,
> "name": "Alice"
> }
> ]
You can preserve the name of the alternative if you wrap the value in a
record with three fields:
@ -154,7 +176,13 @@
> ]
> $ dhall-to-json <<< './example.dhall'
> {"foo":null,"bar":[1,true]}
> {
> "bar": [
> 1,
> true
> ],
> "foo": null
> }
Also, all Dhall expressions are normalized before translation to JSON: