- Added a CLI
- Install the package globally and run:
js2cc --help
Or use with npx
npx js2cc --help
CLI Options:
Usage: js2cc <src> [options]
Convert JSON schemas into scala case class
Arguments:
src Path to json schema. It must be a local file. Support for reading URLs will be added in future version.
Options:
-v, --version Library version
-d, --max-depth <number> Maximum depth to parse nested JSON schema (default: 0)
-s, --option-setting <type> Wrap non-required fields in `Option` (choices: "noOptions", "useOptions", "useOptionsForAll", default: "useOptions")
-n, --top-level-case-class-name <string> Name of the top-level case class (Applies only if JSON schema does not have top-level `title` property. (default: "MyCaseClass")
-d, --default-generic-type <string> Default generic type for unparsable data types (default: "Any")
-p, --parse-refs Parse local and remote references (default: true)
-c, --generate-comments Generate scaladoc comments (default: false)
-v, --generate-validations Generate assertions from validations in JSON schema (default: false)
-e, --generate-enumerations Generate enumerations (default: false)
-o, --output <string> File name to write output to. If not provided, output will be written to console. (default: false)
-D, --debug Write more detailed output to console (default: false)
-h, --help display help for command
Example call:
$ js2cc ./local/sample-schema.json -n Person -s useOptions -o sample-output.scala --debug