mirror of
https://github.com/nushell/nushell.git
synced 2025-04-17 17:58:18 +02:00
# Description Before this PR, `to msgpack`/`to msgpackz` and `to json` serialize closures as `nil`/`null` respectively, when the `--serialize` option isn't passed. This PR makes it an error to serialize closures to msgpack or JSON without the `--serialize` flag, which is the behavior of `to nuon`. This PR also adds the `--serialize` flag to `to msgpack`. This PR also changes `to nuon` and `to json` to return an error if they cannot find the block contents of a closure, rather than serializing an empty string or an error string, respectively. This behavior is replicated for `to msgpack`. It also changes `to nuon`'s error message for serializing closures without `--serialize` to be the same as the new errors for `to json` and `to msgpack`. # User-Facing Changes * Add `--serialize` flag to `to msgpack`, similar to the `--serialize` flag for `to nuon` and `to json`. * Serializing closures to JSON or msgpack without `--serialize` Partially fixes #11738 |
||
---|---|---|
.. | ||
src | ||
Cargo.toml | ||
LICENSE | ||
README.md |
Support for the NUON format.
The NUON format is a superset of JSON designed to fit the feel of Nushell. Some of its extra features are
- trailing commas are allowed
- commas are optional in lists
- quotes are not required around keys or any bare string that do not contain spaces or special characters
- comments are allowed, though not preserved when using [
from_nuon
]
Example
below is some data in the JSON format
{
"name": "Some One",
"birth": "1970-01-01",
"stats": [
2544729499973429198,
687051042647753531,
6702443901704799912
]
}
and an equivalent piece of data written in NUON
{
name: "Some One", # the name of the person
birth: "1970-01-01", # their date of birth
stats: [ # some dummy "stats" about them
2544729499973429198,
687051042647753531,
6702443901704799912, # note the trailing comma here...
], # and here
} # wait, are these comments in a JSON-like document?!?!