TypeScriptの型定義からJSON Schemaを生成するオンラインツールを作ってみた


先日、TypeScript + Tynderから始める宣言的検証生活の記事にて
スキーマ検証ライブラリTynderを紹介いたしました。

Tynderとは

Tynderは、TypeScriptのサブセット+独自の拡張文法から成るDSLによって

  1. 型の検査
  2. 単独の項目の必須・値の長さ・範囲や文字列パターンの検証
  3. 複数項目の相関や整合性検証の一部 (Union typeによる)

宣言的に行うことができます。

JSON Schemaを生成するオンラインツール

今回はTynderのスキーマ変換機能を使用して
JSON Schema、GraphQL、Protobuf3 のスキーマを生成するオンラインツールを公開しました。
(GraphQL、Protobuf3については実験的機能です)

追記(2020/2/9)

作成したスキーマはオンラインツールのJSON Schema validator等で動作確認できます。

上記のJSON Schema validatorで確認するには、オブジェクト内の最後の行に、definitions内のエントリーに対する$refを記述します。

{
  "$schema": "http://json-schema.org/draft-06/schema#",
  "definitions": {
    ...
    "Entry": { ... }
  },
  "$ref": "#/definitions/Entry" // <- ここです
}

追記(2020/2/11)

TypeScript (Tynder DSL) Schema Validator
でもスキーマの確認ができるようになりました。
(ただし、TypeScript(Tynder DSL)によるスキーマ記述のみに対応しています)

動機

API Blueprint等でのモックサーバー作成が捗らないかな、と思い作成しました。
UIは以前作成したこちらを流用することで、すぐに作成できました。

ぜひ、使ってみてくださいね