TypeScriptの型定義からJSON Schemaを生成するオンラインツールを作ってみた
先日、TypeScript + Tynderから始める宣言的検証生活の記事にて
スキーマ検証ライブラリTynderを紹介いたしました。
Tynderとは
Tynderは、TypeScriptのサブセット+独自の拡張文法から成るDSLによって
- 型の検査
- 単独の項目の必須・値の長さ・範囲や文字列パターンの検証
- 複数項目の相関や整合性検証の一部 (Union typeによる)
を宣言的に行うことができます。
JSON Schemaを生成するオンラインツール
今回はTynderのスキーマ変換機能を使用して
JSON Schema、GraphQL、Protobuf3 のスキーマを生成するオンラインツールを公開しました。
(GraphQL、Protobuf3については実験的機能です)
-
TypeScript (Tynder DSL) → JSON Schema | GraphQL | Protobuf Converter
- Convert schema from Tynder DSL to JSON Schema, GraphQL and Protobuf.
追記(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は以前作成したこちらを流用することで、すぐに作成できました。
ぜひ、使ってみてくださいね
Author And Source
この問題について(TypeScriptの型定義からJSON Schemaを生成するオンラインツールを作ってみた), 我々は、より多くの情報をここで見つけました https://qiita.com/shellyln/items/dd7c9643e993ef7e9f87著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .