jsonata-core 2.2.4

High-performance Rust implementation of JSONata query and transformation language
Documentation
[
  {
    "name": "simple_field_access",
    "args": ["name"],
    "stdin": "{\"name\": \"Alice\"}",
    "expected_exit": 0,
    "expected_stdout": "\"Alice\"\n",
    "expected_stderr_contains": null
  },
  {
    "name": "compact_output",
    "args": ["-c", "{\"x\": a}"],
    "stdin": "{\"a\": 1}",
    "expected_exit": 0,
    "expected_stdout": "{\"x\":1}\n",
    "expected_stderr_contains": null
  },
  {
    "name": "raw_output_string",
    "args": ["-r", "name"],
    "stdin": "{\"name\": \"Alice\"}",
    "expected_exit": 0,
    "expected_stdout": "Alice\n",
    "expected_stderr_contains": null
  },
  {
    "name": "raw_output_non_string_unaffected",
    "args": ["-r", "-c", "age"],
    "stdin": "{\"age\": 30}",
    "expected_exit": 0,
    "expected_stdout": "30\n",
    "expected_stderr_contains": null
  },
  {
    "name": "null_input_no_stdin_needed",
    "args": ["-n", "1 + 1"],
    "stdin": null,
    "expected_exit": 0,
    "expected_stdout": "2\n",
    "expected_stderr_contains": null
  },
  {
    "name": "null_input_binds_dollar_to_true_undefined",
    "args": ["-n", "$"],
    "stdin": null,
    "expected_exit": 0,
    "expected_stdout": "",
    "expected_stderr_contains": null
  },
  {
    "name": "undefined_result_prints_nothing",
    "args": ["nonexistent_field"],
    "stdin": "{\"a\": 1}",
    "expected_exit": 0,
    "expected_stdout": "",
    "expected_stderr_contains": null
  },
  {
    "name": "null_result_prints_literal_null",
    "args": ["nullField"],
    "stdin": "{\"nullField\": null}",
    "expected_exit": 0,
    "expected_stdout": "null\n",
    "expected_stderr_contains": null
  },
  {
    "name": "arg_binds_string",
    "args": ["--arg", "region=us", "$region"],
    "stdin": "{}",
    "expected_exit": 0,
    "expected_stdout": "\"us\"\n",
    "expected_stderr_contains": null
  },
  {
    "name": "argjson_binds_json_value",
    "args": ["--argjson", "limit=5", "$limit * 2"],
    "stdin": "{}",
    "expected_exit": 0,
    "expected_stdout": "10\n",
    "expected_stderr_contains": null
  },
  {
    "name": "invalid_json_input_is_exit_3",
    "args": ["a"],
    "stdin": "not json",
    "expected_exit": 3,
    "expected_stdout": null,
    "expected_stderr_contains": "invalid JSON input"
  },
  {
    "name": "parse_error_is_exit_1",
    "args": ["a["],
    "stdin": "{}",
    "expected_exit": 1,
    "expected_stdout": null,
    "expected_stderr_contains": null
  },
  {
    "name": "evaluation_error_preserves_error_code",
    "args": ["null + 1"],
    "stdin": "{}",
    "expected_exit": 1,
    "expected_stdout": null,
    "expected_stderr_contains": "T2002:"
  },
  {
    "name": "malformed_arg_binding_is_exit_2",
    "args": ["--arg", "noequalssign", "$x"],
    "stdin": "{}",
    "expected_exit": 2,
    "expected_stdout": null,
    "expected_stderr_contains": null
  },
  {
    "name": "missing_expression_is_exit_2",
    "args": [],
    "stdin": "{}",
    "expected_exit": 2,
    "expected_stdout": null,
    "expected_stderr_contains": null
  },
  {
    "name": "null_input_with_data_file_conflict_is_exit_2",
    "args": ["-n", "1 + 1", "study/cli_fixtures_testdata.json"],
    "stdin": null,
    "expected_exit": 2,
    "expected_stdout": null,
    "expected_stderr_contains": "--null-input"
  },
  {
    "name": "nan_input_is_exit_3",
    "args": ["a"],
    "stdin": "NaN",
    "expected_exit": 3,
    "expected_stdout": null,
    "expected_stderr_contains": null
  }
]