jsonsmith
resolves a series of inputs to a single json value.
Usage:
cobble(options)
options
has the following properties:
-
inputs (required)
: a list of inputs where each element can be one of the following:- a string representing a file path -- jsonsmith will try to figure out the format if not provided explicitly
- an object with properties
path
andformat
, whereformat
can be one ofjson
,yaml
, andproperties
- an object with property
raw
that maps to a value in json, yaml, or .properties format
-
varsObj
: an optional object that will be used as the context for interpolation will be done and passed in as the last input -
debug: (line: string) => void
: optional
Interpolation
- a value with syntax
%{VARIABLE_NAME}%
will be evaluated in the context ofvarsObj
File paths
$read_text(path: string)
will be interpreted as a file containing text.$read_json(path: string)
will be interpreted as a file containing json.$read_yaml(path<string>)
will be interpreted as a file containing yaml.
Examples
With file paths
;
This will do a deep extends with target being the first argument provided, and subsequent arguments as sources.
With raw inputs
The above would result in the following object
With interpolation
where templates/template.json
looks like
would result in the following object