transform-json-types
An utility to generate Flow, TypeScript, Rust Serde Struct and Scala Case Class from JSON.
Note : It also detects optional properties for TS/Flow from a Collection.
Installation
npm install transform-json-types
The online REPL is available at
Basic Usage
import transform from "transform-json-types"
const json = `{
"hello": "world"
}`
console.log(json, {
lang: "typescript"
})
// interface RootJson {
// hello: string
// }
console.log(json, {
lang: "rust"
})
// #[derive(Serialize, Deserialize)]
// struct RootInterface {
// hello: String,
// }
API
transform(json, [options])
json : String | JSON
You can pass a parsed JSON or a stringified JSON.
Options
Option | Default | Description |
---|---|---|
lang | 'flow' | One of flow , typescript , scala , io-ts or rust-serde |
rustCase | 'camelCase' | either snakeCase or camelCase |
Inspirations
Majority of the inspiration was from xperiment's json2dts
Development
- Fork and clone the repo.
- Create a new branch.
- Create features or fix bugs.
- Write test to improve stability.
- Open a PR.
License
MIT @ Ritesh Kumar
Contributors
Thanks goes to these wonderful people (emoji key):
Ritesh Kumar 💻 📖 🤔 |
Florian Gilcher 💻 |
Pedro Casaubon 💻 🤔 |
stereobooster 💻 |
---|---|---|---|
This project follows the all-contributors specification. Contributions of any kind welcome!