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
}
// 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 functions
- 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
- Protocol Buffer
- Random Generator
- Miscellaneous
🔗 Appendix
- API Documents
- Utillization Cases
- ⇲ Benchmark Result
- ⇲
dev.to
Articles