mcpField
R
runtime-type-reconstruction

runtime-type-reconstruction

github.com/marius-townhouse開発644 回インストール38 週間前に更新
リポジトリ

runtime-type-reconstruction について

io-ts、zod、runtypes などのスキーマライブラリーで実行時データを検証する TypeScript スキルです。同じスキーマから実行時チェックと静的型を得たい開発者向けです。

主な機能

  1. 01実行時のデータ検証
  2. 02型安全な JSON 解析
  3. 03io-ts、zod、runtypes によるスキーマ定義
  4. 04スキーマから静的型を導出

活用シーン

  1. 01外部データが想定形状か確認
  2. 02JSON の安全な解析
  3. 03バリデーションスキーマの作成
  4. 04実行時検証と TypeScript 型の整合

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/marius-townhouse/effective-typescript-skills --skill runtime-type-reconstruction

インストール後、Claude Code で/runtime-type-reconstructionを入力して読み込まれたか確認します。

詳細

実行時に型を再構築する方法を知る

概要

TypeScript の型は実行時には消去されますが、実行時のデータが型と一致しているか検証する必要がある場合があります。io-ts、zod、runtypes などのライブラリを使って、実行時検証と静的型の両方を提供するスキーマを定義します。これにより、型が実態と一致することを保証できます。

このスキルを使う場面

  • 実行時にデータを検証する
  • 型安全性を保ちながら JSON を解析する
  • 型に実行時チェックが必要である
  • io-ts、zod、runtypes を使用する
  • 検証スキーマを構築する

絶対原則

zod や io-ts などの検証ライブラリを使い、単一の信頼できる情報源から実行時検証と TypeScript の型の両方を取得します。

Zod の例

import { z } from 'zod';

// Define schema once
const UserSchema = z.object({
  id: z.string(),
  name: z.string(),
  email: z.string().email(),
  age: z.number().optional(),
});

// Get TypeScript type from schema
type User = z.infer<typeof UserSchema>;

// Runtime validation
const result = UserSchema.safeParse(unknownData);
if (result.success) {
  // result.data is typed as User
  console.log(result.data.name);
} else {
  console.error(result.error);
}

参考資料

  • Dan Vanderkam 著『Effective TypeScript』第 2 版
  • 項目 74:実行時に型を再構築する方法を知る

コメント