nushell/crates/nu-std/std/formats.nu
Antoine Stevan 4b9ec03110
add to ndjson and to jsonl to the standard library (#10519)
follow up to
- #10283

# Description
even though it appears defining `to foo` does not allow to do `save
x.foo` for free (see https://github.com/nushell/nushell/issues/10429),
because #10283 did add `from ndjson` and `from jsonl` to the standard
library, i thought adding their `to ...` counterpart would make sense
😋

# User-Facing Changes
users can now convert structured data back to NDJSON and JSONL 👌

# Tests + Formatting
this PR adds the exact same tests as for the `from ...` commands
- structured data is in `result` and the string is now the expected
- the two invalid `from ...` tests cannot be reproduced for `to ...`
afaik

# After Submitting
2023-10-02 11:50:07 +02:00

30 lines
798 B
Text

# formats.nu
#
# This file contains functions for formatting data in various ways.
#
# Usage:
# use std format *
# use std format <function name>
#
# These functions help `open` the files with unsupported extensions such as ndjson.
#
# Convert from [NDJSON](http://ndjson.org/) to structured data.
export def "from ndjson" []: string -> any {
from json --objects
}
# Convert from [JSONL](https://jsonlines.org/) to structured data.
export def "from jsonl" []: string -> any {
from json --objects
}
# Convert structured data to [NDJSON](http://ndjson.org/).
export def "to ndjson" []: any -> string {
each { to json --raw } | to text
}
# Convert structured data to [JSONL](https://jsonlines.org/).
export def "to jsonl" []: any -> string {
each { to json --raw } | to text
}