/type-o-rama

👾 JS type systems interportability

type-o-rama

Conversion table

Convert from X→ to →Y (X→Y).

→TypeScript →Flow →Graphql →JSON Schema →Elm →JSDoc →Closure JSDoc →Reason
TypeScript→ - + + + + +
Flow→ + - 😢 +
GraphQL→ + + - + + +
JSON Schema→ + + - +
Elm→ + -
JSDoc→ + + -
JSON→ + + + + +
gRPC→ + + +

TypeScript

TypeScript to Flow

TypeScript to JSON Schema

TypeScript to JSDoc

TypeScript to Closure JSDoc

TypeScript to Reason

TypeScript to Dart

TypeScript to Kotlin

Flow

Flow to TypeScript

Flow to Reason

Flow to Closure JSDoc

  • 😢 no options here

Who needs it:

GraphQL

GraphQL to TypeScript

GraphQL to Flow

GraphQL to JSON Schema

GraphQL to Elm

GraphQL to Reason

JSON Schema

JSON Schema to TypeScript

JSON Schema to Flow

JSON Schema to Elm

JSDoc

JSDoc to Flow

JSDoc to TypeScript

TypeScript JSDoc to TypeScript

Who needs it:

Closure JSDoc to TypeScript

JSDoc flavours

See also:

JSON

JSON to TypeScript

JSON to Flow

JSON to Graphql

JSON to PropTypes

JSON to Elm

JSON to Scala

I suppose this can be used for Scala.js.

JSON to JSON Schema

gRPC

gRPC to TypeScript

gRPC to GraphQL

gRPC to Elm

gRPC to Scala

Elm

Elm to TypeScript

React JavaScript

React JavaScript to TypeScript

I suppose "React JavaScript" includes JS and PropTypes.

PropTypes to Flow

Other

Languages that compile to JS

See also:

Hindley–Milner style

runtime

  • io-ts
  • flow-runtime
  • ts-runtime
  • hm-def – Runtime type checking for JS with Hindley Milner signatures.
  • ftor - A pluggable runtime type checker and functional debugging tool that supports parametric and row polymorphism, implicit rank-2 types and algebraic data types via Scott Encoding.

Property based testing

Schemas