typia
v7.5.1
// RUNTIME VALIDATORS
export function is < T > ( input : unknown ) : input is T ; // returns boolean
export function assert < T > ( input : unknown ) : T ; // throws TypeGuardError
export function assertGuard < T > ( input : unknown ) : asserts input is T ;
export function validate < T > ( input : unknown ) : IValidation < T > ; // detailed
// JSON FUNCTIONS
export namespace json {
export function application < T > ( ) : IJsonApplication ; // JSON schema
export function assertParse < T > ( input : string ) : T ; // type safe parser
export function assertStringify < T > ( input : T ) : string ; // safe and faster
}
// LLM FUNCTION CALLING SCHEMA
export namespace llm {
// application schema from a class or interface type
export function application < App , Model > ( ) : ILlmApplication < Model > ;
// structured output
export function parameters < P , Moodel > ( ) : ILlmSchema . IParameters < Model > ;
export function schema < T , Model > ( ) : ILlmSchema < Model > ; // type schema
}
// PROTOCOL BUFFER
export namespace protobuf {
export function message < T > ( ) : string ; // Protocol Buffer message
export function assertDecode < T > ( buffer : Uint8Array ) : T ; // safe decoder
export function assertEncode < T > ( input : T ) : Uint8Array ; // safe encoder
}
// RANDOM GENERATOR
export function random < T > ( g ?: Partial < IRandomGenerator > ) : T ; typia 、以下の機能をサポートする変圧器ライブラリです。
注記
class-validatorよりも20,000倍高速ですclass-transformerよりも200倍高速ですtypia関数を呼び出すと、以下のようにコンパイルされます。
これがtypiaの重要な概念であり、TypeScriptタイプをランタイム関数に変換します。 typia.is<T>()関数は、コンピレーションレベルのターゲットタイプTを分析することにより、専用のタイプチェッカーに変換されます。
この機能により、開発者はアプリケーションのタイプの安全性を確保し、タイプスクリプトの静的タイピングを活用しながら、ランタイム検証も提供できます。追加のスキーマを定義する代わりに、純粋なタイプスクリプトタイプ自体を単純に使用できます。
//----
// examples/checkString.ts
//----
import typia , { tags } from "typia" ;
export const checkString = typia . createIs < string > ( ) ;
//----
// examples/checkUUID.js
//----
import typia from "typia" ;
export const checkString = ( ( ) => {
return ( input ) => "string" === typeof input ;
} ) ( ) ; ご支援ありがとうございます。
あなたの寄付はtypia開発を促進します。
また、 typia 、 typiaのコア貢献者に寄付の半分を再配布しています。
nonara/ts-patchryoppippi/unplugin-typiaPlayground WebサイトでTypiaの仕組みを体験できます。
ウェブサイトのドキュメントをご覧ください:
assert()関数is()関数validate()関数stringify()関数parse()関数application()関数parameters()関数schema()関数decode()関数encode()関数dev.to記事