{"id":13433001,"url":"https://github.com/samchon/typia","last_synced_at":"2026-01-27T04:04:04.330Z","repository":{"id":37017434,"uuid":"482949726","full_name":"samchon/typia","owner":"samchon","description":"Super-fast/easy runtime validators and serializers via transformation","archived":false,"fork":false,"pushed_at":"2025-05-08T07:44:15.000Z","size":300320,"stargazers_count":5132,"open_issues_count":57,"forks_count":179,"subscribers_count":15,"default_branch":"master","last_synced_at":"2025-05-09T01:23:26.883Z","etag":null,"topics":["agentic-ai","ajv","checker","fast","generator","hacktoberfest","json","json-schema","llm-function-calling","openapi","protobuf","random","runtime","stringify","transform","type","typescript","validator"],"latest_commit_sha":null,"homepage":"https://typia.io/","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/samchon.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":".github/FUNDING.yml","license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null},"funding":{"open_collective":"typia","github":["samchon"]}},"created_at":"2022-04-18T18:13:59.000Z","updated_at":"2025-05-08T20:12:49.000Z","dependencies_parsed_at":"2024-04-15T13:25:32.639Z","dependency_job_id":"149d2479-36ba-4936-9e66-f3be97b79bdb","html_url":"https://github.com/samchon/typia","commit_stats":{"total_commits":1365,"total_committers":90,"mean_commits":"15.166666666666666","dds":"0.26007326007326004","last_synced_commit":"fcc46de067f084cedf09db738405ccbbdda604eb"},"previous_names":["samchon/typescript-json"],"tags_count":243,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/samchon%2Ftypia","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/samchon%2Ftypia/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/samchon%2Ftypia/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/samchon%2Ftypia/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/samchon","download_url":"https://codeload.github.com/samchon/typia/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":253600964,"owners_count":21934243,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["agentic-ai","ajv","checker","fast","generator","hacktoberfest","json","json-schema","llm-function-calling","openapi","protobuf","random","runtime","stringify","transform","type","typescript","validator"],"created_at":"2024-07-31T02:01:19.623Z","updated_at":"2026-01-22T08:01:25.444Z","avatar_url":"https://github.com/samchon.png","language":"TypeScript","readme":"# Typia\n![Typia Logo](https://typia.io/logo.png)\n\n[![GitHub license](https://img.shields.io/badge/license-MIT-blue.svg)](https://github.com/samchon/typia/blob/master/LICENSE)\n[![NPM Version](https://img.shields.io/npm/v/typia.svg)](https://www.npmjs.com/package/typia)\n[![NPM Downloads](https://img.shields.io/npm/dm/typia.svg)](https://www.npmjs.com/package/typia)\n[![Build Status](https://github.com/samchon/typia/workflows/build/badge.svg)](https://github.com/samchon/typia/actions?query=workflow%3Abuild)\n[![Guide Documents](https://img.shields.io/badge/Guide-Documents-forestgreen)](https://typia.io/docs/)\n[![Gurubase](https://img.shields.io/badge/Gurubase-Document%20Chatbot-006BFF)](https://gurubase.io/g/typia)\n[![Discord Badge](https://img.shields.io/badge/discord-samchon-d91965?style=flat\u0026labelColor=5866f2\u0026logo=discord\u0026logoColor=white\u0026link=https://discord.gg/E94XhzrUCZ)](https://discord.gg/E94XhzrUCZ)\n\n```typescript\n// RUNTIME VALIDATORS\nexport function is\u003cT\u003e(input: unknown): input is T; // returns boolean\nexport function assert\u003cT\u003e(input: unknown): T; // throws TypeGuardError\nexport function assertGuard\u003cT\u003e(input: unknown): asserts input is T;\nexport function validate\u003cT\u003e(input: unknown): IValidation\u003cT\u003e; // detailed\n\n// JSON FUNCTIONS\nexport namespace json {\n  export function application\u003cT\u003e(): IJsonApplication; // JSON schema\n  export function assertParse\u003cT\u003e(input: string): T; // type safe parser\n  export function assertStringify\u003cT\u003e(input: T): string; // safe and faster\n}\n\n// LLM FUNCTION CALLING SCHEMA\nexport namespace llm {\n  // application schema from a class or interface type\n  export function application\u003cApp, Model\u003e(): ILlmApplication\u003cModel\u003e;\n  // structured output\n  export function parameters\u003cP, Model\u003e(): ILlmSchema.IParameters\u003cModel\u003e; \n  export function schema\u003cT, Model\u003e(): ILlmSchema\u003cModel\u003e; // type schema\n}\n\n// PROTOCOL BUFFER\nexport namespace protobuf {\n  export function message\u003cT\u003e(): string; // Protocol Buffer message\n  export function assertDecode\u003cT\u003e(buffer: Uint8Array): T; // safe decoder\n  export function assertEncode\u003cT\u003e(input: T): Uint8Array; // safe encoder\n}\n\n// RANDOM GENERATOR\nexport function random\u003cT\u003e(g?: Partial\u003cIRandomGenerator\u003e): T;\n```\n\n`typia` is a transformer library supporting below features:\n\n  - Super-fast Runtime Validators\n  - Enhanced JSON schema and serde functions\n  - LLM function calling schema and structured output\n  - Protocol Buffer encoder and decoder\n  - Random data generator\n\n\u003e [!NOTE]\n\u003e\n\u003e - **Only one line** required, with pure TypeScript type\n\u003e - Runtime validator is **20,000x faster** than `class-validator`\n\u003e - JSON serialization is **200x faster** than `class-transformer`\n\n\n\n\n## Transformation\nIf you call `typia` function, it would be compiled like below.\n\nThis is the key concept of `typia`, transforming TypeScript type to a runtime function. The `typia.is\u003cT\u003e()` function is transformed to a dedicated type checker by analyzing the target type `T` in the compilation level.\n\nThis feature enables developers to ensure type safety in their applications, leveraging TypeScript's static typing while also providing runtime validation. Instead of defining additional schemas, you can simply utilize the pure TypeScript type itself.\n\n```typescript\n//----\n// examples/checkString.ts\n//----\nimport typia, { tags } from \"typia\";\nexport const checkString = typia.createIs\u003cstring\u003e();\n\n//----\n// examples/checkUUID.js\n//----\nimport typia from \"typia\";\nexport const checkString = (() =\u003e {\n  return (input) =\u003e \"string\" === typeof input;\n})();\n```\n\n\n\n## Sponsors\nThanks for your support.\n\nYour donation encourages `typia` development.\n\nAlso, `typia` is re-distributing half of donations to core contributors of `typia`.\n\n  - [`nonara/ts-patch`](https://github.com/nonara/ts-patch)\n  - [`ryoppippi/unplugin-typia`](https://github.com/ryoppippi/unplugin-typia)\n\n[![Sponsors](https://opencollective.com/typia/badge.svg?avatarHeight=75\u0026width=600)](https://opencollective.com/typia)\n\n\n\n\n## Playground\nYou can experience how typia works by [playground website](https://typia.io/playground):\n\n  - 💻 https://typia.io/playground\n\n\n\n\n## Guide Documents\nCheck out the document in the [website](https://typia.io/docs/):\n\n### 🏠 Home\n  - [Introduction](https://typia.io/docs/)\n  - [Setup](https://typia.io/docs/setup/)\n  - [Pure TypeScript](https://typia.io/docs/pure/)\n  \n### 📖 Features\n  - Runtime Validators\n    - [`assert()` function](https://typia.io/docs/validators/assert/)\n    - [`is()` function](https://typia.io/docs/validators/is/)\n    - [`validate()` function](https://typia.io/docs/validators/validate/)\n    - [Functional Module](https://typia.io/docs/validators/functional)\n    - [Special Tags](https://typia.io/docs/validators/tags/)\n  - Enhanced JSON\n    - [JSON Schema](https://typia.io/docs/json/schema/)\n    - [`stringify()` functions](https://typia.io/docs/json/stringify/)\n    - [`parse()` functions](https://typia.io/docs/json/parse/)\n  - LLM Function Calling\n    - [`application()` function](https://typia.io/docs/llm/application/)\n    - [`parameters()` function](https://typia.io/docs/llm/parameters/)\n    - [`schema()` function](https://typia.io/docs/llm/schema/)\n    - [AI Chatbot Development](https://typia.io/docs/llm/chat/)\n    - [Documentation Strategy](https://typia.io/docs/llm/strategy/)\n  - Protocol Buffer\n    - [Message Schema](https://typia.io/docs/protobuf/message)\n    - [`decode()` functions](https://typia.io/docs/protobuf/decode/)\n    - [`encode()` functions](https://typia.io/docs/protobuf/encode/)\n  - [Random Generator](https://typia.io/docs/random/)\n  - [Miscellaneous](https://typia.io/docs/misc/)\n\n### 🔗 Appendix\n  - [API Documents](https://typia.io/api)\n  - Utillization Cases\n    - [NestJS](https://typia.io/docs/utilization/nestjs/)\n    - [Prisma](https://typia.io/docs/utilization/prisma/)\n    - [tRPC](https://typia.io/docs/utilization/trpc/)\n  - [⇲ Benchmark Result](https://github.com/samchon/typia/tree/master/benchmark/results/11th%20Gen%20Intel(R)%20Core(TM)%20i5-1135G7%20%40%202.40GHz)\n  - [⇲ `dev.to` Articles](https://dev.to/samchon/series/22474)\n","funding_links":["https://opencollective.com/typia","https://github.com/sponsors/samchon"],"categories":["TypeScript","typescript","**1. Libraries**","Validation"],"sub_categories":["Others","Runtime"],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsamchon%2Ftypia","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsamchon%2Ftypia","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsamchon%2Ftypia/lists"}