Merge Input Documents

Description

This flag tells dasel to merge input documents into an array.

Note that when --merge-input-documents is passed, even a single document will be converted to an array.

Usage

Pass the --merge-input-documents to select or put commands.

Example

With the flag:

$ echo 'foo: bar
---
baz: biz' | dasel -r yaml -w json --merge-input-documents .
[
{
"foo": "bar"
},
{
"baz": "biz"
}
]

Without the flag:

$ echo 'foo: bar
---
baz: biz' | dasel -r yaml -w json .
{
"foo": "bar"
}
{
"baz": "biz"
}

Notes

Take note that merge in this context means taking all of the input documents and adding them to a single array of those documents.

Input: a, b, c Output: [a, b, c]

Where: a: {"number": 1} b: {"number": 2} c: {"number": 3}

Becomes:

[
{"number": 1},
{"number": 2},
{"number": 3}
]

The use of "merge" here could be mistaken in that you may expect the following output:

{
"number": 3
}

If you are looking for the 2nd output above, see the merge feature request.