dop 0.2.2

Process, transform and query JSON/YAML/TOML, from the shell.
# Query from array

# OPTIONS

-q [1]

# INPUT

[1,2,3]

# EXPECT

2

---

# Query from array nested

# OPTIONS

-q foo.bar[3]

# INPUT

{
  "foo": {
    "bar": [
      1,
      2,
      3,
      4
    ]
  }
}

# EXPECT

4

---

# Query from object

# OPTIONS

-q foo.bar[3]

# INPUT

{
  "foo": {
    "bar": [
      1,
      2,
      3,
      4
    ]
  }
}

# EXPECT

4

---

# Get a list: JSON

# OPTIONS

-q foo.bar

# INPUT

{
  "foo": {
    "bar": [
      1,
      2,
      3,
      4
    ]
  }
}

# EXPECT

[1,2,3,4]

---

# Get a list: YAML

# OPTIONS

-q foo.bar

# INPUT

foo:
  bar:
  - 1
  - 2
  - 3
  - 4

# EXPECT

- 1
- 2
- 3
- 4

---

# Get an object: JSON

# OPTIONS

-q foo.bar

# INPUT

{
  "foo": {
    "bar": {
        "hello": "world"
    }
  }
}

# EXPECT

{"hello":"world"}

---

# Get an object: YAML

# OPTIONS

-q foo.bar

# INPUT

foo:
  bar:
    hello: world


# EXPECT

hello: world

---

# Query and convert

# OPTIONS

-q foo.bar -o json

# INPUT

foo:
  bar:
    hello: world


# EXPECT

{"hello":"world"}

---

# Query fails with invalid query string: unfinished array opening

# OPTIONS

-q a[

# INPUT

{"a":1}

# EXPECT_ERROR

Invalid query/path.

---

# Query fails with invalid query string: ending with dot

# OPTIONS

-q a.

# INPUT

{"a":1}

# EXPECT_ERROR

Invalid query/path.