transform-json-types-fixed

0.5.2 • Public • Published

transform-json-types All Contributors

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

  1. Fork and clone the repo.
  2. Create a new branch.
  3. Create features or fix bugs.
  4. Write test to improve stability.
  5. 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!

/transform-json-types-fixed/

    Package Sidebar

    Install

    npm i transform-json-types-fixed

    Weekly Downloads

    0

    Version

    0.5.2

    License

    MIT

    Unpacked Size

    36.5 kB

    Total Files

    5

    Last publish

    Collaborators

    • asci