LoginSignup
31
23

More than 3 years have passed since last update.

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

Last updated at Posted at 2020-02-09

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

Tynderとは

tynder-logo.png

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

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

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

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

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

tool-scr.png

追記(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は以前作成したこちらを流用することで、すぐに作成できました。

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

31
23
1

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
31
23