// 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 adalah pustaka transformator yang mendukung fitur di bawah ini:
Catatan
class-validatorclass-transformer Jika Anda menyebut fungsi typia , itu akan dikompilasi seperti di bawah ini.
Ini adalah konsep utama typia , mengubah tipe TypeScript ke fungsi runtime. Fungsi typia.is<T>() ditransformasikan ke pemeriksa tipe khusus dengan menganalisis tipe T target di level kompilasi.
Fitur ini memungkinkan pengembang untuk memastikan jenis keamanan dalam aplikasi mereka, memanfaatkan pengetikan statis TypeScript sambil juga memberikan validasi runtime. Alih -alih mendefinisikan skema tambahan, Anda dapat dengan mudah menggunakan tipe TypeScript murni itu sendiri.
//----
// 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 ;
} ) ( ) ; Terima kasih atas dukungan Anda.
Donasi Anda mendorong pengembangan typia .
Juga, typia mendistribusikan kembali setengah dari sumbangan untuk kontributor inti typia .
nonara/ts-patchryoppippi/unplugin-typiaAnda dapat mengalami cara kerja tipia di situs web taman bermain:
Lihat dokumen di situs web:
assert()is()validate()stringify()parse()application() fungsiparameters()schema()decode()encode()dev.to artikel