No description, website, or topics provided.
Switch branches/tags
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
dist
src
test
.babelrc
.flowconfig
.gitignore
.nvmrc
.travis.yml
LICENSE
README.md
example.png
package.json
rollup.config.js
yarn.lock

README.md

npm version

CI Deps DevDeps

Flowtypify - Generate Flowtype Definitions from JSON Schemas

flowtypify generates flowtype definitions from a given JSON Schema. This enables you to type-check the contract your app is working against. Whenever you update the schema, regenerate the flowtype definitions and flow will tell you about breaking changes.

Version-wise its an early Proof of Concept, but the testsuite already covers most of the features I've seen in the wild so far.

Usage

Invoking fowtypify will parse the JSON schemas and output the types to STDOUT. With --write enabled, a file with the same basename plus .flow.js will be created for each supplied schema.

npm install --save-dev flowtypify
./node_modules/.bin/flowtypify --write src/schematas/*.json

Example Screenshot

FAQ

Flowtypify generates lots of unsealed types (& Object)

Yepp, that's, apart from the lack of any optimizations in flowtypify, due to your schema not having additionalProperties: false set on object definitions you have.

What works?

Everything in test/scenarios works, the following does not work, yet ;)

  • Resolve external $ref links
  • Resolve definitions through $id fields (no support for $id as of JSON Schema Core 9.2 at all, yet)
  • Transformations
    • Change RootType name
    • Transform Type names (e.g. uppercase)
    • Custom transformations (e.g. Optional<*> types)

Similar or related libraries