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!

Readme

Keywords

none

Package Sidebar

Install

npm i transform-json-types-fixed

Weekly Downloads

3

Version

0.5.2

License

MIT

Unpacked Size

36.5 kB

Total Files

5

Last publish

Collaborators

  • asci