Typia
// 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 is a transformer library supporting below features:
- Super-fast Runtime Validators
- Enhanced JSON schema and serde functions
- LLM function calling schema and structured output
- Protocol Buffer encoder and decoder
- Random data generator
Note
- Only one line required, with pure TypeScript type
- Runtime validator is 20,000x faster than
class-validator
- JSON serialization is 200x faster than
class-transformer
Sponsors
Thanks for your support.
Your donation encourages typia
development.
Also, typia
is re-distributing half of donations to core contributors of typia
.
Playground
You can experience how typia works by playground website:
Guide Documents
Check out the document in the website:
🏠 Home
📖 Features
- Runtime Validators
- Enhanced JSON
- LLM Function Calling
- Protocol Buffer
- Random Generator
- Miscellaneous
🔗 Appendix
- API Documents
- Utillization Cases
- ⇲ Benchmark Result
- ⇲
dev.to
Articles