{"id":20875903,"url":"https://github.com/saqqdy/uni-types","last_synced_at":"2026-04-26T06:01:33.432Z","repository":{"id":186460932,"uuid":"675224443","full_name":"saqqdy/uni-types","owner":"saqqdy","description":"Universal TypeScript type utilities - A comprehensive collection of type helpers for TypeScript development","archived":false,"fork":false,"pushed_at":"2026-04-11T12:07:24.000Z","size":1194,"stargazers_count":2,"open_issues_count":3,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2026-04-11T12:25:15.404Z","etag":null,"topics":["deep-partial","deep-required","omit","partial","pick","required","type-helpers","type-utilities","types","typescript","utility-types"],"latest_commit_sha":null,"homepage":"https://www.saqqdy.com/uni-types","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/saqqdy.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":".github/FUNDING.yml","license":"LICENSE","code_of_conduct":null,"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},"funding":{"github":["saqqdy"]}},"created_at":"2023-08-06T07:46:29.000Z","updated_at":"2026-04-11T12:07:28.000Z","dependencies_parsed_at":null,"dependency_job_id":"880fff29-d4db-4c19-963f-cd7a9250f198","html_url":"https://github.com/saqqdy/uni-types","commit_stats":{"total_commits":3,"total_committers":1,"mean_commits":3.0,"dds":0.0,"last_synced_commit":"b04224f19b12e6bc8ee64ad7287e2941b9bc918e"},"previous_names":["saqqdy/uni-types"],"tags_count":2,"template":false,"template_full_name":null,"purl":"pkg:github/saqqdy/uni-types","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/saqqdy%2Funi-types","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/saqqdy%2Funi-types/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/saqqdy%2Funi-types/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/saqqdy%2Funi-types/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/saqqdy","download_url":"https://codeload.github.com/saqqdy/uni-types/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/saqqdy%2Funi-types/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32287398,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-25T18:29:39.964Z","status":"online","status_checked_at":"2026-04-26T02:00:05.962Z","response_time":129,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"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":["deep-partial","deep-required","omit","partial","pick","required","type-helpers","type-utilities","types","typescript","utility-types"],"created_at":"2024-11-18T06:49:02.814Z","updated_at":"2026-04-26T06:01:33.418Z","avatar_url":"https://github.com/saqqdy.png","language":"TypeScript","funding_links":["https://github.com/sponsors/saqqdy"],"categories":[],"sub_categories":[],"readme":"\u003cdiv align=\"center\"\u003e\n\n# uni-types\n\n**Universal TypeScript Type Utilities**\n\nA comprehensive collection of type helpers for TypeScript development\n\n[![NPM version][npm-image]][npm-url]\n[![NPM downloads][download-image]][download-url]\n![TypeScript][typescript-url]\n[![Codecov][codecov-image]][codecov-url]\n[![License][license-image]][license-url]\n\n[**Documentation**](https://saqqdy.github.io/uni-types/) · [**中文文档**](./README_CN.md)\n\n\u003c/div\u003e\n\n## Features\n\n- 🎯 **800+ Type Utilities** - Comprehensive type helpers for every use case\n- 🔒 **Type Safe** - Full TypeScript support with strict type checking\n- 📦 **Zero Dependencies** - Lightweight and tree-shakeable\n- 🚀 **TypeScript 5.x** - Built with the latest TypeScript features\n- 🌍 **Bilingual Docs** - Documentation in English and Chinese\n\n## Installation\n\n```bash\n# pnpm\npnpm add uni-types\n\n# yarn\nyarn add uni-types\n\n# npm\nnpm install uni-types\n```\n\n## Quick Start\n\n```typescript\nimport type {\n  PickRequired,\n  DeepPartial,\n  IsArray,\n  Brand,\n  If,\n  Paths\n} from 'uni-types'\n\n// Core: Make specific properties required\ninterface User {\n  name?: string\n  age?: number\n  email: string\n}\n\ntype RequiredUser = PickRequired\u003cUser, 'name' | 'age'\u003e\n// { name: string; age: number; email: string }\n\n// Deep: Make all nested properties optional\ninterface Config {\n  database: {\n    host: string\n    port: number\n  }\n}\n\ntype PartialConfig = DeepPartial\u003cConfig\u003e\n// { database?: { host?: string; port?: number } }\n\n// Brand: Create nominal types\ntype UserId = Brand\u003cstring, 'UserId'\u003e\ntype OrderId = Brand\u003cstring, 'OrderId'\u003e\n// UserId and OrderId are not interchangeable!\n\n// Conditional: Type-level logic\ntype Result = If\u003ctrue, 'success', 'error'\u003e // 'success'\n```\n\n## API Reference\n\n### Core Operations\n\n| Type | Description |\n|------|-------------|\n| `PickRequired\u003cT, K\u003e` | Make specified properties required |\n| `OmitRequired\u003cT, K\u003e` | Make properties except specified ones required |\n| `PickPartial\u003cT, K\u003e` | Make specified properties optional |\n| `OmitPartial\u003cT, K\u003e` | Make properties except specified ones optional |\n\n### Tuple Operations\n\n| Type | Description |\n|------|-------------|\n| `Head\u003cT\u003e` | Get first element of tuple |\n| `Last\u003cT\u003e` | Get last element of tuple |\n| `Tail\u003cT\u003e` | Get all elements except first |\n| `Init\u003cT\u003e` | Get all elements except last |\n| `Reverse\u003cT\u003e` | Reverse a tuple |\n| `Flatten\u003cT\u003e` | Flatten nested tuples |\n| `TupleLength\u003cT\u003e` | Get tuple length |\n| `IsEmptyTuple\u003cT\u003e` | Check if tuple is empty |\n\n### Deep Operations\n\n| Type | Description |\n|------|-------------|\n| `DeepPartial\u003cT\u003e` | Make all nested properties optional |\n| `DeepRequired\u003cT\u003e` | Make all nested properties required |\n| `DeepReadonly\u003cT\u003e` | Make all nested properties readonly |\n| `DeepMutable\u003cT\u003e` | Make all nested properties mutable |\n| `DeepOmit\u003cT, P\u003e` | Omit properties by path |\n| `DeepPick\u003cT, P\u003e` | Pick properties by path |\n\n### Type Guards\n\n| Type | Description |\n|------|-------------|\n| `IsArray\u003cT\u003e` | Check if type is an array |\n| `IsTuple\u003cT\u003e` | Check if type is a tuple |\n| `IsEqual\u003cX, Y\u003e` | Check if two types are equal |\n| `IsAny\u003cT\u003e` | Check if type is `any` |\n| `IsNever\u003cT\u003e` | Check if type is `never` |\n| `IsUnknown\u003cT\u003e` | Check if type is `unknown` |\n| `IsFunction\u003cT\u003e` | Check if type is a function |\n| `IsAsyncFunction\u003cT\u003e` | Check if type is an async function |\n\n### Conditional Types *(v1.1.0)*\n\n| Type | Description |\n|------|-------------|\n| `If\u003cC, T, F\u003e` | Type-level if-then-else |\n| `Not\u003cB\u003e` | Logical NOT for boolean types |\n| `And\u003cA, B\u003e` | Logical AND for boolean types |\n| `Or\u003cA, B\u003e` | Logical OR for boolean types |\n| `Assert\u003cT, U\u003e` | Type constraint assertion |\n\n### Brand Types *(v1.1.0)*\n\n| Type | Description |\n|------|-------------|\n| `Brand\u003cT, B\u003e` | Create a branded type for nominal typing |\n| `Unbrand\u003cT\u003e` | Extract underlying type from branded type |\n\n### Function Utilities *(v1.1.0)*\n\n| Type | Description |\n|------|-------------|\n| `Parameters\u003cT\u003e` | Get function parameters as tuple |\n| `ReturnType\u003cT\u003e` | Get function return type |\n| `NthParameter\u003cT, N\u003e` | Get Nth parameter type |\n| `AsyncReturnType\u003cT\u003e` | Extract async function return type |\n| `ThisParameterType\u003cT\u003e` | Get `this` parameter type |\n| `OmitThisParameter\u003cT\u003e` | Omit `this` parameter from function |\n\n### Template Literal Utilities *(v1.1.0)*\n\n| Type | Description |\n|------|-------------|\n| `ReplaceAll\u003cS, From, To\u003e` | Replace all occurrences |\n| `Replace\u003cS, From, To\u003e` | Replace first occurrence |\n| `Trim\u003cS\u003e` | Trim whitespace |\n| `StringToArray\u003cS\u003e` | Convert string to array |\n| `CapitalizeAll\u003cS\u003e` | Capitalize all words |\n| `StartsWith\u003cS, P\u003e` | Check if string starts with prefix |\n| `EndsWith\u003cS, P\u003e` | Check if string ends with suffix |\n| `StringLength\u003cS\u003e` | Get string length |\n\n### Numeric Utilities *(v1.1.0)*\n\n| Type | Description |\n|------|-------------|\n| `Inc\u003cN\u003e` | Increment number |\n| `Dec\u003cN\u003e` | Decrement number |\n| `Add\u003cA, B\u003e` | Add two numbers |\n| `Subtract\u003cA, B\u003e` | Subtract two numbers |\n| `GreaterThan\u003cA, B\u003e` | Check if A \u003e B |\n| `LessThan\u003cA, B\u003e` | Check if A \u003c B |\n| `Max\u003cA, B\u003e` | Maximum of two numbers |\n| `Min\u003cA, B\u003e` | Minimum of two numbers |\n\n### Path Types\n\n| Type | Description |\n|------|-------------|\n| `Paths\u003cT\u003e` | Get all nested property paths |\n| `PathValue\u003cT, P\u003e` | Get value type at path |\n| `ValidPath\u003cT, P\u003e` | Check if path is valid |\n| `ArrayPaths\u003cT\u003e` | Get paths including array indices |\n| `LeafPaths\u003cT\u003e` | Get paths to primitive values |\n\n### Key Utilities *(v1.1.0)*\n\n| Type | Description |\n|------|-------------|\n| `Keys\u003cT\u003e` | Get all keys |\n| `RenameKeys\u003cT, M\u003e` | Rename keys based on mapping |\n| `PrefixKeys\u003cT, P\u003e` | Add prefix to all keys |\n| `SuffixKeys\u003cT, S\u003e` | Add suffix to all keys |\n| `KeysByValueType\u003cT, V\u003e` | Get keys by value type |\n\n### Record Utilities *(v1.1.0)*\n\n| Type | Description |\n|------|-------------|\n| `DeepNullable\u003cT\u003e` | Make all properties nullable |\n| `DeepOptional\u003cT\u003e` | Make all properties optional |\n| `Immutable\u003cT\u003e` | Make all properties readonly |\n| `Mutable\u003cT\u003e` | Make all properties mutable |\n| `DeepNonNullable\u003cT\u003e` | Remove null/undefined from all properties |\n| `Exact\u003cT, Shape\u003e` | Ensure exact shape match |\n\n### Schema Validation *(v1.2.0)*\n\n| Type | Description |\n|------|-------------|\n| `RuntimeGuard\u003cT\u003e` | Define type guard function for runtime checking |\n| `GuardedType\u003cG\u003e` | Extract type from type guard function |\n| `HasRuntimeCheck\u003cT\u003e` | Check if type has runtime check available |\n| `ZodOutput\u003cT\u003e` | Extract output type from Zod schema |\n| `ZodInput\u003cT\u003e` | Extract input type from Zod schema |\n| `ZodShape\u003cT\u003e` | Extract shape from ZodObject schema |\n| `ZodRequiredKeys\u003cT\u003e` | Get required keys from Zod schema |\n| `ZodOptionalKeys\u003cT\u003e` | Get optional keys from Zod schema |\n| `YupOutput\u003cT\u003e` | Extract output type from Yup schema |\n| `YupInput\u003cT\u003e` | Extract input type from Yup schema |\n\n### Ecosystem Integration *(v1.2.0)*\n\n| Type | Description |\n|------|-------------|\n| `ComponentProps\u003cT\u003e` | Extract props from React component |\n| `PropsWithChildren\u003cP\u003e` | Add children to props type |\n| `RequiredProps\u003cP\u003e` | Get required prop keys |\n| `OptionalProps\u003cP\u003e` | Get optional prop keys |\n| `VuePropType\u003cT\u003e` | Vue prop type definition |\n| `VueEmitType\u003cT\u003e` | Vue emit function type |\n| `PrismaCreateInput\u003cT\u003e` | Create input type for Prisma models |\n| `PrismaUpdateInput\u003cT\u003e` | Update input type for Prisma models |\n| `PrismaWhereInput\u003cT\u003e` | Where input type for Prisma queries |\n| `TRPCProcedureInput\u003cT\u003e` | Extract input from tRPC procedure |\n| `TRPCProcedureOutput\u003cT\u003e` | Extract output from tRPC procedure |\n\n### Performance Optimization *(v1.2.0)*\n\n| Type | Description |\n|------|-------------|\n| `Simplify\u003cT\u003e` | Flatten intersection types |\n| `DeepSimplify\u003cT\u003e` | Recursively simplify nested types |\n| `Compact\u003cT\u003e` | Remove never and undefined properties |\n| `StripNever\u003cT\u003e` | Remove never properties |\n| `StripUndefined\u003cT\u003e` | Remove undefined properties |\n| `MergeAll\u003cT\u003e` | Merge multiple object types |\n| `Lazy\u003cT\u003e` | Defer type evaluation |\n| `Cached\u003cT\u003e` | Cache type computation |\n| `Memoized\u003cT\u003e` | Memoize type computation |\n\n### Advanced Type Patterns *(v1.3.0)*\n\n| Type | Description |\n|------|-------------|\n| `Match\u003cT, Patterns\u003e` | Type-level pattern matching |\n| `Recurse\u003cT, Limit\u003e` | Type-level recursion with depth limit |\n| `Depth\u003cT\u003e` | Get maximum depth of nested type |\n| `TypeFilter\u003cT, P\u003e` | Filter tuple by predicate |\n| `TypeFind\u003cT, P\u003e` | Find first matching element |\n| `TypeIncludes\u003cT, E\u003e` | Check if tuple includes element |\n| `TypeEvery\u003cT, P\u003e` | Check if all elements match |\n| `TypeSome\u003cT, P\u003e` | Check if any element matches |\n\n### Type-Level Collections *(v1.3.0)*\n\n| Type | Description |\n|------|-------------|\n| `TypeSet\u003cT\u003e` | Type-level Set representation |\n| `SetAdd\u003cS, T\u003e` | Add element to type set |\n| `SetRemove\u003cS, T\u003e` | Remove element from type set |\n| `SetUnion\u003cA, B\u003e` | Union of two type sets |\n| `SetIntersection\u003cA, B\u003e` | Intersection of two type sets |\n| `SetDifference\u003cA, B\u003e` | Difference of two type sets |\n| `TypeMap\u003cK, V\u003e` | Type-level Map representation |\n| `MapGet\u003cM, K\u003e` | Get value from type map |\n| `MapSet\u003cM, K, V\u003e` | Set value in type map |\n| `ListFilter\u003cT, P\u003e` | Filter list elements |\n| `ListReverse\u003cT\u003e` | Reverse a list |\n| `ListConcat\u003cA, B\u003e` | Concatenate two lists |\n| `ListTake\u003cT, N\u003e` | Take first N elements |\n| `ListChunk\u003cT, N\u003e` | Chunk list into sublists |\n\n### Type Assertions \u0026 Constraints *(v1.3.0)*\n\n| Type | Description |\n|------|-------------|\n| `AssertEqual\u003cT, Expected\u003e` | Assert types are equal |\n| `AssertExtends\u003cT, U\u003e` | Assert T extends U |\n| `RequireKeys\u003cT, K\u003e` | Require specific keys |\n| `RequireAtLeastOne\u003cT, K\u003e` | Require at least one key |\n| `RequireExactlyOne\u003cT, K\u003e` | Require exactly one key |\n| `RequireAllOrNone\u003cT, K\u003e` | Require all or none keys |\n| `HasProperty\u003cT, K\u003e` | Ensure object has property |\n| `RequireArray\u003cT\u003e` | Ensure type is array |\n| `RequireFunction\u003cT\u003e` | Ensure type is function |\n\n### String Operations *(v1.3.0)*\n\n| Type | Description |\n|------|-------------|\n| `Split\u003cS, D\u003e` | Split string by delimiter |\n| `Join\u003cT, S\u003e` | Join string array with separator |\n| `KebabCase\u003cS\u003e` | Convert to kebab-case |\n| `PascalCase\u003cS\u003e` | Convert to PascalCase |\n| `ConstantCase\u003cS\u003e` | Convert to CONSTANT_CASE |\n| `IsEmail\u003cS\u003e` | Check if string is email |\n| `IsUUID\u003cS\u003e` | Check if string is UUID |\n| `IsURL\u003cS\u003e` | Check if string is URL |\n| `ReverseString\u003cS\u003e` | Reverse a string |\n\n### Promise \u0026 Async Utilities *(v1.3.0)*\n\n| Type | Description |\n|------|-------------|\n| `PromiseValue\u003cT\u003e` | Extract value from Promise (deep) |\n| `IsPromise\u003cT\u003e` | Check if type is Promise |\n| `UnwrapPromise\u003cT\u003e` | Unwrap or return original |\n| `AsyncReturnType\u003cT\u003e` | Return type of async function |\n| `MakeAsync\u003cT\u003e` | Make function async |\n| `PromiseAll\u003cT\u003e` | Await all promises |\n| `AsyncResult\u003cT, E\u003e` | Rust-style Result type |\n| `Deferred\u003cT\u003e` | Deferred promise type |\n\n### Object Operations *(v1.3.0)*\n\n| Type | Description |\n|------|-------------|\n| `ObjectMap\u003cT, F\u003e` | Map over object values |\n| `ObjectFilter\u003cT, P\u003e` | Filter object properties |\n| `ObjectPickByType\u003cT, U\u003e` | Pick by value type |\n| `ObjectInvert\u003cT\u003e` | Invert object (swap keys/values) |\n| `DeepMerge\u003cA, B\u003e` | Deep merge objects |\n| `ObjectPath\u003cT, P\u003e` | Get value at path |\n| `PathExists\u003cT, P\u003e` | Check if path exists |\n| `KeysOfType\u003cT, U\u003e` | Get keys of specific type |\n\n### JSON Schema *(v1.3.0)*\n\n| Type | Description |\n|------|-------------|\n| `JsonSchemaType\u003cT\u003e` | Map TS types to JSON Schema types |\n| `JsonSchema\u003cT\u003e` | Full JSON Schema type |\n| `OpenAPISchema\u003cT\u003e` | OpenAPI 3.0 Schema |\n| `OpenAPIResponse\u003cT\u003e` | OpenAPI Response |\n| `OpenAPIRequestBody\u003cT\u003e` | OpenAPI Request Body |\n| `OpenAPIParameter\u003cName, T, In\u003e` | OpenAPI Parameter |\n| `OpenAPIDocument\u003cTitle, Version, Paths\u003e` | OpenAPI Document |\n\n### Extended Ecosystem *(v1.3.0)*\n\n| Type | Description |\n|------|-------------|\n| `NextPageProps\u003cT\u003e` | Next.js page props |\n| `ServerComponentProps\u003cT\u003e` | Next.js server component props |\n| `NuxtPageMeta\u003cT\u003e` | Nuxt page meta |\n| `NuxtComposable\u003cT\u003e` | Nuxt composable type |\n| `SolidSignal\u003cT\u003e` | SolidJS signal type |\n| `SolidResource\u003cT\u003e` | SolidJS resource type |\n| `SvelteStore\u003cT\u003e` | Svelte store type |\n| `SvelteAction\u003cElement, Params\u003e` | Svelte action type |\n\n### Type-Level Algorithms *(v1.4.0)*\n\n| Type | Description |\n|------|-------------|\n| `Sort\u003cT, Order\u003e` | Sort tuple of numbers |\n| `QuickSort\u003cT\u003e` | QuickSort implementation |\n| `MergeSort\u003cT\u003e` | MergeSort implementation |\n| `Find\u003cT, P\u003e` | Find first matching element |\n| `FindIndex\u003cT, P\u003e` | Find index of matching element |\n| `Includes\u003cT, U\u003e` | Check if tuple includes element |\n| `IndexOf\u003cT, U\u003e` | Get index of element |\n| `GCD\u003cA, B\u003e` | Greatest Common Divisor |\n| `LCM\u003cA, B\u003e` | Least Common Multiple |\n| `Factorial\u003cN\u003e` | Factorial of number |\n| `Fibonacci\u003cN\u003e` | Fibonacci number |\n| `IsPrime\u003cN\u003e` | Check if number is prime |\n| `LongestCommonPrefix\u003cT\u003e` | Longest common prefix of strings |\n| `LevenshteinDistance\u003cA, B\u003e` | Edit distance between strings |\n| `Reverse\u003cT\u003e` | Reverse a tuple |\n| `Unique\u003cT\u003e` | Remove duplicates from tuple |\n| `Flatten\u003cT\u003e` | Flatten nested tuples |\n\n### Type-Level Parsers *(v1.4.0)*\n\n| Type | Description |\n|------|-------------|\n| `ParseJSON\u003cS\u003e` | Parse JSON string to type |\n| `StringifyJSON\u003cT\u003e` | Stringify type to JSON |\n| `IsValidJSON\u003cS\u003e` | Check if string is valid JSON |\n| `ParseURL\u003cS\u003e` | Parse URL string |\n| `QueryParams\u003cS\u003e` | Parse query string |\n| `PathParams\u003cPattern, Path\u003e` | Extract path params |\n| `ParseCSV\u003cS\u003e` | Parse CSV string |\n| `StringifyCSV\u003cT\u003e` | Stringify records to CSV |\n| `ParseExpression\u003cS\u003e` | Parse arithmetic expression |\n| `EvaluateExpression\u003cT\u003e` | Evaluate parsed expression |\n\n### Type-Level State Machines *(v1.4.0)*\n\n| Type | Description |\n|------|-------------|\n| `StateMachine\u003cT\u003e` | State machine definition |\n| `State\u003cS, Data\u003e` | State definition |\n| `Transition\u003cE, From, To\u003e` | Transition definition |\n| `CurrentState\u003cT\u003e` | Get current state |\n| `NextState\u003cT, E\u003e` | Get next state after event |\n| `ValidTransitions\u003cT\u003e` | Get valid transitions |\n| `StateHistory\u003cT\u003e` | State history type |\n| `CanTransition\u003cT, E\u003e` | Check if transition is valid |\n| `IsTerminal\u003cT\u003e` | Check if state is terminal |\n\n### Type-Level Data Structures *(v1.4.0)*\n\n| Type | Description |\n|------|-------------|\n| `Tree\u003cT\u003e` | Tree type |\n| `TreeNode\u003cT\u003e` | Tree node type |\n| `TreePath\u003cT, V\u003e` | Path to value in tree |\n| `TreeDepth\u003cT\u003e` | Maximum depth of tree |\n| `TreeLeaves\u003cT\u003e` | All leaf values |\n| `TreeFlatten\u003cT\u003e` | Flatten tree to array |\n| `Graph\u003cAdjacency\u003e` | Graph type (adjacency list) |\n| `GraphNode\u003cT, Edges\u003e` | Graph node type |\n| `GraphEdge\u003cFrom, To\u003e` | Graph edge type |\n| `GraphPath\u003cA, From, To\u003e` | Path between nodes |\n| `GraphHasCycle\u003cA\u003e` | Check for cycles |\n| `LinkedList\u003cT\u003e` | Linked list type |\n| `ListNode\u003cT\u003e` | List node type |\n| `ListHead\u003cT\u003e` | Head of list |\n| `ListTail\u003cT\u003e` | Tail of list |\n| `Stack\u003cT\u003e` | Stack type (LIFO) |\n| `Queue\u003cT\u003e` | Queue type (FIFO) |\n| `Push\u003cS, V\u003e` | Push onto stack |\n| `Pop\u003cS\u003e` | Pop from stack |\n\n### Type-Level HTTP \u0026 API *(v1.4.0)*\n\n| Type | Description |\n|------|-------------|\n| `HTTPMethod` | HTTP methods |\n| `HTTPStatus` | HTTP status codes |\n| `HTTPHeaders\u003cT\u003e` | HTTP headers type |\n| `Route\u003cP, M, H\u003e` | Route definition |\n| `RouteParams\u003cP\u003e` | Extract route params |\n| `RouteQuery\u003cQ\u003e` | Route query type |\n| `Router\u003cT\u003e` | Router type |\n| `APIEndpoint\u003cT\u003e` | API endpoint type |\n| `APIRequest\u003cT\u003e` | API request type |\n| `APIResponse\u003cT\u003e` | API response type |\n| `APIError\u003cT\u003e` | API error type |\n| `Middleware\u003cC\u003e` | Middleware type |\n| `Context\u003cC\u003e` | Request context |\n| `ComposeMiddleware\u003cM\u003e` | Compose middleware chain |\n\n### Type-Level Database *(v1.4.0)*\n\n| Type | Description |\n|------|-------------|\n| `SQLType\u003cT\u003e` | TypeScript to SQL type mapping |\n| `CreateTable\u003cT\u003e` | CREATE TABLE type |\n| `SelectQuery\u003cT, F\u003e` | SELECT query type |\n| `WhereClause\u003cT\u003e` | WHERE clause type |\n| `JoinQuery\u003cT, U\u003e` | JOIN query type |\n| `Migration\u003cT\u003e` | Migration type |\n| `MigrationUp\u003cT\u003e` | Up migration |\n| `MigrationDown\u003cT\u003e` | Down migration |\n| `QueryBuilder\u003cT\u003e` | Query builder type |\n| `WhereBuilder\u003cT\u003e` | WHERE builder type |\n| `Index\u003cT\u003e` | Index type |\n| `UniqueIndex\u003cT\u003e` | Unique index type |\n| `CompositeIndex\u003cT, K\u003e` | Composite index type |\n\n### Type-Level Concurrency *(v1.4.0)*\n\n| Type | Description |\n|------|-------------|\n| `Task\u003cT\u003e` | Task type |\n| `TaskResult\u003cT\u003e` | Task result type |\n| `TaskError\u003cT\u003e` | Task error type |\n| `TaskStatus` | Task status type |\n| `Pipeline\u003cI, O, S\u003e` | Pipeline type |\n| `PipelineStage\u003cN, I, O\u003e` | Pipeline stage type |\n| `Scheduler\u003cT\u003e` | Scheduler type |\n| `Worker\u003cI, O\u003e` | Worker type |\n| `WorkerPool\u003cI, O\u003e` | Worker pool type |\n| `RateLimiter\u003cT\u003e` | Rate limiter type |\n| `Throttle\u003cT\u003e` | Throttle type |\n| `Debounce\u003cT\u003e` | Debounce type |\n\n### Type-Level Interop *(v1.4.0)*\n\n| Type | Description |\n|------|-------------|\n| `ToTypeFest\u003cT\u003e` | Convert to type-fest format |\n| `FromTypeFest\u003cT\u003e` | Convert from type-fest format |\n| `ToTsToolbelt\u003cT\u003e` | Convert to ts-toolbelt format |\n| `FromTsToolbelt\u003cT\u003e` | Convert from ts-toolbelt format |\n| `ToUtilityTypes\u003cT\u003e` | Convert to utility-types format |\n| `FromUtilityTypes\u003cT\u003e` | Convert from utility-types format |\n| `ConvertTo\u003cT, Format\u003e` | Convert to format |\n| `ConvertFrom\u003cT, Format\u003e` | Convert from format |\n| `IsCompatible\u003cT, U\u003e` | Check type compatibility |\n| `CompatibleWith\u003cT, Libs\u003e` | Check library compatibility |\n\n### Type-Level Testing *(v1.4.0)*\n\n| Type | Description |\n|------|-------------|\n| `ExpectTrue\u003cT\u003e` | Expect type to be true |\n| `ExpectFalse\u003cT\u003e` | Expect type to be false |\n| `ExpectEqual\u003cT, U\u003e` | Expect types to be equal |\n| `ExpectExtends\u003cT, U\u003e` | Expect T extends U |\n| `TypeTest\u003cName, Test\u003e` | Type test definition |\n| `TypeTestSuite\u003cT\u003e` | Test suite type |\n| `TypeTestResult` | Test result type |\n| `TypeCoverage\u003cT\u003e` | Type coverage analysis |\n| `TypeComplexity\u003cT\u003e` | Type complexity analysis |\n| `TypeInfo\u003cT\u003e` | Type information |\n| `InspectType\u003cT\u003e` | Inspect type details |\n\n### Authorization \u0026 Permissions *(v1.5.0)*\n\n| Type | Description |\n|------|-------------|\n| `Permission\u003cT\u003e` | Permission definition |\n| `PermissionSet\u003cT\u003e` | Set of permissions |\n| `Role\u003cT\u003e` | Role definition |\n| `RoleSet\u003cT\u003e` | Set of roles |\n| `Policy` | Policy for ABAC |\n| `PolicyRule\u003cT\u003e` | Policy rule |\n| `PolicyEffect` | Allow or deny |\n| `RBAC\u003cR, P\u003e` | Role-Based Access Control |\n| `ABAC\u003cT\u003e` | Attribute-Based Access Control |\n| `ACL` | Access Control List |\n| `AccessControl\u003cT\u003e` | Access control interface |\n| `Resource\u003cT\u003e` | Resource for authorization |\n| `Action` | Action type (create, read, update, delete, etc.) |\n| `AuthorizationProvider\u003cT\u003e` | Authorization provider |\n\n### Caching Strategies *(v1.5.0)*\n\n| Type | Description |\n|------|-------------|\n| `Cache\u003cT\u003e` | Cache interface |\n| `CacheEntry\u003cT\u003e` | Cache entry |\n| `CacheOptions` | Cache options (TTL, tags) |\n| `CacheStats` | Cache statistics |\n| `LRUCache\u003cT\u003e` | LRU Cache |\n| `LFUCache\u003cT\u003e` | LFU Cache |\n| `TTLCache\u003cT\u003e` | TTL Cache |\n| `FIFOCache\u003cT\u003e` | FIFO Cache |\n| `ARCCache\u003cT\u003e` | Adaptive Replacement Cache |\n| `DistributedCache\u003cT\u003e` | Distributed cache |\n| `CacheAside\u003cT\u003e` | Cache-aside pattern |\n| `ReadThroughCache\u003cT\u003e` | Read-through pattern |\n| `WriteThroughCache\u003cT\u003e` | Write-through pattern |\n| `WriteBehindCache\u003cT\u003e` | Write-behind pattern |\n\n### Configuration Management *(v1.5.0)*\n\n| Type | Description |\n|------|-------------|\n| `Config\u003cT\u003e` | Configuration type |\n| `ConfigField\u003cT\u003e` | Config field definition |\n| `ConfigLoader\u003cT\u003e` | Config loader interface |\n| `ConfigSchema\u003cT\u003e` | Config schema |\n| `EnvConfig` | Environment config |\n| `EnvMapping` | Env var mapping |\n| `FeatureFlag` | Feature flag |\n| `FeatureFlagConfig` | Feature flag config |\n| `FeatureFlags\u003cT\u003e` | Feature flags collection |\n| `RemoteConfigProvider\u003cT\u003e` | Remote config provider |\n| `Secret` | Secret value |\n| `SecretProvider` | Secret provider |\n\n### Event-Driven Architecture *(v1.5.0)*\n\n| Type | Description |\n|------|-------------|\n| `EventBus\u003cT\u003e` | Event bus interface |\n| `EventStream\u003cT\u003e` | Event stream |\n| `Command\u003cT\u003e` | Command for CQRS |\n| `CommandBus\u003cT\u003e` | Command bus |\n| `CommandHandler\u003cT, R\u003e` | Command handler |\n| `Query\u003cT\u003e` | Query for CQRS |\n| `QueryBus\u003cT\u003e` | Query bus |\n| `QueryHandler\u003cT, R\u003e` | Query handler |\n| `Saga\u003cT\u003e` | Saga orchestrator |\n| `SagaStep\u003cT\u003e` | Saga step |\n| `MessageQueue\u003cT\u003e` | Message queue |\n| `EventStore\u003cT\u003e` | Event store |\n| `DeadLetterQueue\u003cT\u003e` | Dead letter queue |\n\n### GraphQL Integration *(v1.5.0)*\n\n| Type | Description |\n|------|-------------|\n| `GraphQLSchema` | GraphQL schema |\n| `GraphQLType` | GraphQL type wrapper |\n| `GraphQLScalar\u003cT\u003e` | Scalar type |\n| `GraphQLEnum\u003cT\u003e` | Enum type |\n| `GraphQLInput\u003cT\u003e` | Input type |\n| `GraphQLObject\u003cT\u003e` | Object type |\n| `GraphQLField\u003cT, A, R\u003e` | Field type |\n| `GraphQLResolver\u003cT, A, R\u003e` | Resolver type |\n| `GraphQLContext\u003cT\u003e` | Context type |\n| `GraphQLResult\u003cT\u003e` | Result wrapper |\n| `GraphQLError` | Error type |\n\n### Logging \u0026 Observability *(v1.5.0)*\n\n| Type | Description |\n|------|-------------|\n| `Logger\u003cT\u003e` | Logger interface |\n| `LogLevel` | Log levels |\n| `LogEntry\u003cT\u003e` | Log entry |\n| `Metric\u003cT\u003e` | Metric type |\n| `Counter\u003cT\u003e` | Counter metric |\n| `Gauge\u003cT\u003e` | Gauge metric |\n| `Histogram` | Histogram metric |\n| `Tracer` | Tracer interface |\n| `Span` | Tracing span |\n| `Trace\u003cT\u003e` | Trace type |\n| `Monitor` | Monitor type |\n| `Alert\u003cT\u003e` | Alert type |\n| `HealthIndicator\u003cT\u003e` | Health indicator |\n| `HealthCheckResult\u003cT\u003e` | Health check result |\n\n### Microservices Architecture *(v1.5.0)*\n\n| Type | Description |\n|------|-------------|\n| `Microservice\u003cT\u003e` | Microservice type |\n| `ServiceConfig\u003cT\u003e` | Service config |\n| `ServiceRegistry\u003cT\u003e` | Service registry |\n| `ServiceInstance` | Service instance |\n| `ServiceDiscovery\u003cT\u003e` | Service discovery |\n| `CircuitBreaker\u003cT\u003e` | Circuit breaker |\n| `RateLimit` | Rate limiting |\n| `LoadBalancer\u003cT\u003e` | Load balancer |\n| `APIGateway\u003cT\u003e` | API Gateway |\n| `GatewayRoute` | Gateway route |\n| `HealthReport` | Health report |\n\n### Validation Rules *(v1.5.0)*\n\n| Type | Description |\n|------|-------------|\n| `ValidationRule\u003cT\u003e` | Validation rule |\n| `Validator\u003cT\u003e` | Validator function |\n| `ValidatorResult\u003cT\u003e` | Validator result |\n| `ValidationError` | Validation error |\n| `StringFieldValidator\u003cT\u003e` | String validator |\n| `NumberFieldValidator\u003cT\u003e` | Number validator |\n| `ArrayFieldValidator\u003cT\u003e` | Array validator |\n| `ObjectFieldValidator\u003cT\u003e` | Object validator |\n| `MinLength` | Min length constraint |\n| `MaxLength` | Max length constraint |\n| `MinValue` | Min value constraint |\n| `MaxValue` | Max value constraint |\n| `Pattern` | Regex pattern |\n| `Sanitizer\u003cT\u003e` | Sanitizer function |\n\n### WebSocket \u0026 Real-Time *(v1.5.0)*\n\n| Type | Description |\n|------|-------------|\n| `WebSocketConfig` | WebSocket config |\n| `WebSocketMessage\u003cT\u003e` | WebSocket message |\n| `EventEmitter\u003cT\u003e` | Event emitter |\n| `PubSub\u003cT\u003e` | Pub/Sub interface |\n| `Publisher\u003cT\u003e` | Publisher |\n| `Subscriber\u003cT\u003e` | Subscriber |\n| `RealTimeChannel\u003cT\u003e` | Real-time channel |\n| `RealTimeClient\u003cT\u003e` | Real-time client |\n| `Stream\u003cT\u003e` | Stream interface |\n| `StreamReader\u003cT\u003e` | Stream reader |\n| `StreamWriter\u003cT\u003e` | Stream writer |\n\n### Workflow Engine *(v1.5.0)*\n\n| Type | Description |\n|------|-------------|\n| `Workflow\u003cT\u003e` | Workflow definition |\n| `WorkflowInstance\u003cT\u003e` | Workflow instance |\n| `WorkflowStep\u003cT\u003e` | Workflow step |\n| `WorkflowTransition\u003cT\u003e` | Workflow transition |\n| `WorkflowExecution\u003cT\u003e` | Workflow execution |\n| `WorkflowHistory\u003cT\u003e` | Workflow history |\n| `WorkflowEngine\u003cT\u003e` | Workflow engine |\n| `RetryPolicy` | Retry policy |\n| `BPMNProcess\u003cT\u003e` | BPMN process |\n| `BPMNTask\u003cT\u003e` | BPMN task |\n| `BPMNGateway\u003cT\u003e` | BPMN gateway |\n| `BPMNEvent\u003cT\u003e` | BPMN event |\n\n### AI/ML Types *(v1.6.0)*\n\n| Type | Description |\n|------|-------------|\n| `Tensor\u003cShape, DType\u003e` | Tensor with shape and data type |\n| `TensorShape` | Tensor shape type |\n| `TensorDType` | Tensor data types (float32, int32, etc.) |\n| `Model\u003cInput, Output\u003e` | Model type |\n| `ModelConfig\u003cT\u003e` | Model configuration |\n| `Layer\u003cT\u003e` | Neural network layer |\n| `LayerType` | Layer types (dense, conv2d, lstm, etc.) |\n| `Optimizer` | Optimizer types (adam, sgd, rmsprop) |\n| `LossFunction` | Loss functions (mse, crossentropy) |\n| `MLMetric` | ML metrics (accuracy, precision, recall) |\n| `Dataset\u003cT\u003e` | Dataset type |\n| `DataLoader\u003cT\u003e` | Data loader type |\n| `Batch\u003cT\u003e` | Batch type |\n| `InferenceResult\u003cT\u003e` | Inference result |\n| `Prediction\u003cT\u003e` | Prediction result |\n\n### Functional Programming *(v1.6.0)*\n\n| Type | Description |\n|------|-------------|\n| `Functor\u003cT\u003e` | Functor type |\n| `Monad\u003cT\u003e` | Monad type |\n| `Applicative\u003cT\u003e` | Applicative type |\n| `Maybe\u003cT\u003e` | Maybe monad (Some/None) |\n| `Either\u003cL, R\u003e` | Either monad (Left/Right) |\n| `IO\u003cT\u003e` | IO monad |\n| `Reader\u003cR, T\u003e` | Reader monad |\n| `Writer\u003cW, T\u003e` | Writer monad |\n| `State\u003cS, T\u003e` | State monad |\n| `Result\u003cT, E\u003e` | Result type (Ok/Err) |\n| `Lens\u003cS, A\u003e` | Lens for deep access |\n| `Semigroup\u003cT\u003e` | Semigroup type |\n| `Monoid\u003cT\u003e` | Monoid type |\n| `Compose` | Function composition |\n| `Pipe` | Pipeline composition |\n| `Curry` | Curried function |\n\n### Type-Level Compiler *(v1.6.0)*\n\n| Type | Description |\n|------|-------------|\n| `ASTNode\u003cT\u003e` | AST node type |\n| `ASTNodeType` | AST node types |\n| `Token\u003cT\u003e` | Token type |\n| `TokenType` | Token types (keyword, identifier, etc.) |\n| `Parser\u003cT\u003e` | Parser type |\n| `ParserResult\u003cT\u003e` | Parser result |\n| `CodeGenerator\u003cT\u003e` | Code generator |\n| `GeneratedCode` | Generated code type |\n| `Transformer\u003cT\u003e` | AST transformer |\n| `Formatter` | Code formatter |\n\n### Distributed Systems *(v1.6.0)*\n\n| Type | Description |\n|------|-------------|\n| `Consensus\u003cT\u003e` | Consensus protocol |\n| `ConsensusState` | Consensus states (leader, follower, candidate) |\n| `Replica\u003cT\u003e` | Replica type |\n| `ReplicationStrategy` | Replication strategies (sync, async) |\n| `Partition\u003cT\u003e` | Partition type |\n| `PartitionStrategy` | Partition strategies (hash, range) |\n| `ConsistencyLevel` | Consistency levels (strong, eventual) |\n| `DistributedLock\u003cT\u003e` | Distributed lock |\n| `TwoPhaseCommit\u003cT\u003e` | Two-phase commit protocol |\n| `TransactionState` | Transaction states |\n| `FailureDetector\u003cT\u003e` | Failure detector |\n| `Heartbeat\u003cT\u003e` | Heartbeat type |\n\n### Security Types *(v1.6.0)*\n\n| Type | Description |\n|------|-------------|\n| `Authentication\u003cT\u003e` | Authentication configuration |\n| `AuthType` | Auth types (bearer, jwt, oauth2) |\n| `AuthStatus` | Auth status (authenticated, failed) |\n| `Session\u003cT\u003e` | Session type |\n| `Encryption\u003cT\u003e` | Encryption configuration |\n| `EncryptionAlgorithm` | Encryption algorithms |\n| `Hash\u003cT\u003e` | Hash type |\n| `HashAlgorithm` | Hash algorithms (sha256, blake3) |\n| `Signature\u003cT\u003e` | Signature type |\n| `SignatureAlgorithm` | Signature algorithms |\n| `JWT\u003cT\u003e` | JWT token type |\n| `OAuthToken` | OAuth token |\n| `CSRFToken` | CSRF token |\n\n### Internationalization *(v1.6.0)*\n\n| Type | Description |\n|------|-------------|\n| `Locale` | Locale configuration |\n| `LocaleCode` | Locale codes (en-US, zh-CN, etc.) |\n| `LanguageCode` | Language codes |\n| `CountryCode` | Country codes |\n| `Translation\u003cT\u003e` | Translation mapping |\n| `PluralForm` | Plural forms (one, many, etc.) |\n| `Currency` | Currency types (USD, EUR, CNY) |\n| `TimeZone` | Time zone types |\n| `DateFormat` | Date format configuration |\n| `NumberFormat` | Number format configuration |\n| `Direction` | Text direction (ltr, rtl) |\n\n### Testing Framework *(v1.6.0)*\n\n| Type | Description |\n|------|-------------|\n| `TestSuite\u003cT\u003e` | Test suite type |\n| `TestCase\u003cT\u003e` | Test case type |\n| `TestResultType` | Test result (passed, failed, skipped) |\n| `Assertion\u003cT\u003e` | Assertion type |\n| `Mock\u003cT\u003e` | Mock type |\n| `Spy\u003cT\u003e` | Spy type |\n| `Fixture\u003cT\u003e` | Fixture type |\n| `Coverage` | Coverage configuration |\n| `CoverageReport\u003cT\u003e` | Coverage report |\n| `Snapshot\u003cT\u003e` | Snapshot type |\n| `Benchmark\u003cT\u003e` | Benchmark type |\n| `BenchmarkResult\u003cT\u003e` | Benchmark result |\n\n### Plugin System *(v1.6.0)*\n\n| Type | Description |\n|------|-------------|\n| `Plugin\u003cT\u003e` | Plugin type |\n| `PluginLifecycle` | Plugin lifecycle events |\n| `Hook\u003cT\u003e` | Hook type |\n| `HookResult\u003cT\u003e` | Hook result |\n| `Extension\u003cT\u003e` | Extension type |\n| `ExtensionPoint\u003cT\u003e` | Extension point |\n| `Middleware\u003cT\u003e` | Middleware type |\n| `MiddlewarePipeline\u003cT\u003e` | Middleware pipeline |\n| `Module\u003cT\u003e` | Module type |\n| `Registry\u003cT\u003e` | Registry type |\n\n### Type Inference *(v1.6.0)*\n\n| Type | Description |\n|------|-------------|\n| `Infer\u003cT\u003e` | Extract type from wrapper |\n| `InferReturn\u003cT\u003e` | Extract return type |\n| `InferArgs\u003cT\u003e` | Extract function arguments |\n| `ExtractFunction\u003cT\u003e` | Extract function type |\n| `ExtractClass\u003cT\u003e` | Extract class type |\n| `Reconstruct\u003cT\u003e` | Reconstruct type |\n| `Narrow\u003cT\u003e` | Narrow type with predicate |\n| `Widen\u003cT\u003e` | Widen literal to primitive |\n| `IsAny\u003cT\u003e` | Check if type is any |\n| `IsNever\u003cT\u003e` | Check if type is never |\n| `IsUnknown\u003cT\u003e` | Check if type is unknown |\n| `IsFunction\u003cT\u003e` | Check if type is function |\n| `IsArray\u003cT\u003e` | Check if type is array |\n| `IsUnion\u003cT\u003e` | Check if type is union |\n| `Equals\u003cX, Y\u003e` | Check type equality |\n| `TypeName\u003cT\u003e` | Get type name |\n| `TypeCategory` | Type category |\n\n### Performance Monitoring *(v1.6.0)*\n\n| Type | Description |\n|------|-------------|\n| `Performance` | Performance monitoring |\n| `PerformanceMetric\u003cT\u003e` | Performance metric |\n| `Timing` | Timing operations |\n| `TimingResult` | Timing result |\n| `MemoryUsage` | Memory usage type |\n| `MemoryMetric\u003cT\u003e` | Memory metric |\n| `CPUUsage` | CPU usage type |\n| `Profiler` | Profiler type |\n| `ProfileResult\u003cT\u003e` | Profile result |\n| `TraceSpan\u003cT\u003e` | Tracing span |\n| `PerformanceTrace\u003cT\u003e` | Performance trace |\n| `PerformanceAlert` | Performance alert |\n\n### Metaprogramming *(v1.7.0)*\n\n| Type | Description |\n|------|-------------|\n| `MetaType\u003cT\u003e` | Meta type wrapper |\n| `TypeRepr\u003cT\u003e` | Type representation |\n| `GetType\u003cT\u003e` | Extract type from meta |\n| `HasType\u003cT, U\u003e` | Check if type has nested type |\n| `TypePath\u003cT\u003e` | Path to nested type |\n| `TypeDepth\u003cT\u003e` | Maximum nesting depth |\n| `TypeSize\u003cT\u003e` | Type size estimation |\n| `TypeComplexity\u003cT\u003e` | Type complexity score |\n| `AnalyzeType\u003cT\u003e` | Full type analysis |\n| `TypeStats\u003cT\u003e` | Type statistics |\n\n### Decorator Types *(v1.7.0)*\n\n| Type | Description |\n|------|-------------|\n| `ClassDecorator\u003cT\u003e` | Class decorator type |\n| `MethodDecorator\u003cT\u003e` | Method decorator type |\n| `PropertyDecorator\u003cT\u003e` | Property decorator type |\n| `ParameterDecorator\u003cT\u003e` | Parameter decorator type |\n| `DecoratorResult\u003cT\u003e` | Decorator result type |\n| `DecoratorMetadata\u003cT\u003e` | Decorator metadata |\n| `DecoratorChain\u003cT\u003e` | Decorator chain |\n| `ComposableDecorator\u003cT\u003e` | Composable decorator |\n\n### Type Generation *(v1.7.0)*\n\n| Type | Description |\n|------|-------------|\n| `GenerateType\u003cT\u003e` | Generate type from schema |\n| `GeneratedType\u003cT\u003e` | Generated type result |\n| `TypeBuilder\u003cT\u003e` | Type builder interface |\n| `SchemaToType\u003cS\u003e` | Convert schema to type |\n| `TypeFromSchema\u003cT, S\u003e` | Type from schema definition |\n| `GeneratedClass\u003cT\u003e` | Generated class type |\n| `GeneratedInterface\u003cT\u003e` | Generated interface |\n| `GeneratedEnum\u003cT\u003e` | Generated enum type |\n\n### Framework Types *(v1.7.0)*\n\n| Type | Description |\n|------|-------------|\n| `NestModule\u003cT\u003e` | NestJS module type |\n| `NestController\u003cT\u003e` | NestJS controller type |\n| `NestService\u003cT\u003e` | NestJS service type |\n| `ExpressApp\u003cT\u003e` | Express app type |\n| `ExpressRouter\u003cT\u003e` | Express router type |\n| `ExpressMiddleware\u003cT\u003e` | Express middleware |\n| `FastifyApp\u003cT\u003e` | Fastify app type |\n| `FastifyPlugin\u003cT\u003e` | Fastify plugin type |\n| `KoaApp\u003cT\u003e` | Koa app type |\n| `KoaMiddleware\u003cT\u003e` | Koa middleware type |\n\n### TypeSafe Config *(v1.7.0)*\n\n| Type | Description |\n|------|-------------|\n| `SafeConfig\u003cT\u003e` | Type-safe configuration |\n| `ConfigDefinition\u003cT\u003e` | Config definition |\n| `ConfigValue\u003cT, K\u003e` | Typed config value |\n| `ConfigSchema\u003cT\u003e` | Config schema type |\n| `EnvDefinition\u003cT\u003e` | Environment definition |\n| `EnvValue\u003cK\u003e` | Environment variable value |\n| `ConfigPath\u003cT\u003e` | Config path type |\n| `ValidateConfig\u003cT\u003e` | Config validation type |\n| `MergeConfig\u003cA, B\u003e` | Merge configurations |\n| `DeepConfig\u003cT\u003e` | Deep config type |\n\n### Type Visualization *(v1.7.0)*\n\n| Type | Description |\n|------|-------------|\n| `VisualizeType\u003cT\u003e` | Visualize type structure |\n| `TypeDiagram\u003cT\u003e` | Type diagram representation |\n| `TypeTree\u003cT\u003e` | Type tree visualization |\n| `PrintType\u003cT\u003e` | Printable type string |\n| `TypeFormat\u003cT\u003e` | Type formatting options |\n| `TypeName\u003cT\u003e` | Extract type name |\n| `TypeStructure\u003cT\u003e` | Type structure info |\n| `ExpandType\u003cT\u003e` | Expanded type display |\n\n### Crypto Types *(v1.7.0)*\n\n| Type | Description |\n|------|-------------|\n| `HashAlgorithm` | Hash algorithm types |\n| `HashOutput\u003cL\u003e` | Hash output type |\n| `CryptoKey\u003cT\u003e` | Cryptographic key type |\n| `KeyPair\u003cT\u003e` | Key pair type |\n| `Signature\u003cT\u003e` | Signature type |\n| `EncryptedData\u003cT\u003e` | Encrypted data type |\n| `CryptoConfig\u003cT\u003e` | Crypto configuration |\n| `CryptoProvider\u003cT\u003e` | Crypto provider interface |\n| `HashFunction\u003cT\u003e` | Hash function type |\n| `EncryptFunction\u003cT\u003e` | Encryption function |\n| `DecryptFunction\u003cT\u003e` | Decryption function |\n\n### Date/Time Types *(v1.7.0)*\n\n| Type | Description |\n|------|-------------|\n| `DateTime\u003cT\u003e` | DateTime type |\n| `DateFormat\u003cT\u003e` | Date format type |\n| `TimeFormat\u003cT\u003e` | Time format type |\n| `Timestamp\u003cT\u003e` | Timestamp type |\n| `Duration\u003cT\u003e` | Duration type |\n| `DateRange\u003cT\u003e` | Date range type |\n| `TimeZoneType` | Time zone type |\n| `UTCDate\u003cT\u003e` | UTC date type |\n| `LocalDate\u003cT\u003e` | Local date type |\n| `ISODateString` | ISO date string |\n| `ParsedDate\u003cT\u003e` | Parsed date type |\n| `FormatDate\u003cT, F\u003e` | Formatted date type |\n\n### Advanced Math *(v1.7.0)*\n\n| Type | Description |\n|------|-------------|\n| `Add\u003cA, B\u003e` | Type-level addition |\n| `Subtract\u003cA, B\u003e` | Type-level subtraction |\n| `Multiply\u003cA, B\u003e` | Type-level multiplication |\n| `Divide\u003cA, B\u003e` | Type-level division |\n| `Power\u003cA, B\u003e` | Power operation |\n| `Sqrt\u003cN\u003e` | Square root |\n| `Sin\u003cN\u003e`, `Cos\u003cN\u003e` | Trigonometric functions |\n| `PI`, `E` | Math constants |\n| `Factorial\u003cN\u003e` | Factorial |\n| `Fibonacci\u003cN\u003e` | Fibonacci number |\n| `IsPrime\u003cN\u003e` | Prime check |\n| `Mean\u003cT\u003e`, `Median\u003cT\u003e` | Statistical functions |\n| `IsEven\u003cN\u003e`, `IsOdd\u003cN\u003e` | Even/Odd check |\n\n### Type Inference Engine *(v1.8.0)*\n\n| Type | Description |\n|------|-------------|\n| `InferEngine\u003cT\u003e` | Type inference engine |\n| `InferContext\u003cT\u003e` | Inference context with type variables |\n| `InferResult\u003cT\u003e` | Inference result (success/error) |\n| `Deduce\u003cT\u003e` | Type deduction utility |\n| `Constraint\u003cT\u003e` | Type constraint definition |\n| `Substitution\u003cT\u003e` | Type substitution |\n| `TypeVar` | Type variable representation |\n| `Polymorphic\u003cT\u003e` | Polymorphic type |\n| `Kind`, `KindArrow`, `KindCheck\u003cT\u003e` | Kind system |\n| `Effect\u003cT\u003e`, `EffectRow`, `Effectful\u003cT\u003e` | Effect system |\n| `Pure\u003cT\u003e`, `Impure\u003cT\u003e` | Pure/impure computations |\n\n### Type-Level Network *(v1.8.0)*\n\n| Type | Description |\n|------|-------------|\n| `Protocol`, `ProtocolVersion` | Protocol definition |\n| `HTTPMethod`, `HTTPHeaders` | HTTP types |\n| `HTTPRequest\u003cT\u003e`, `HTTPResponse\u003cT\u003e` | HTTP request/response |\n| `WSMessage\u003cT\u003e`, `WSFrame`, `WSOpcode` | WebSocket types |\n| `gRPCService`, `gRPCMethod\u003cT\u003e`, `gRPCRequest\u003cT\u003e` | gRPC types |\n| `TCPPacket\u003cT\u003e`, `UDPPacket\u003cT\u003e`, `SocketAddress` | TCP/UDP types |\n| `ProtoMessage`, `ProtoField\u003cT\u003e` | Protocol Buffers |\n| `MQTTPacket\u003cT\u003e`, `MQTTQoS` | MQTT types |\n\n### Type-Level File System *(v1.8.0)*\n\n| Type | Description |\n|------|-------------|\n| `Path`, `AbsolutePath`, `RelativePath` | Path types |\n| `ParsePath\u003cP\u003e`, `JoinPath\u003cP1, P2\u003e` | Path operations |\n| `File`, `FileContent\u003cT\u003e`, `FileType` | File types |\n| `Directory`, `DirectoryEntry\u003cT\u003e` | Directory types |\n| `FileWatch\u003cT\u003e`, `WatchEvent\u003cT\u003e` | File watching |\n| `VirtualFS\u003cT\u003e`, `VFSNode\u003cT\u003e` | Virtual file system |\n| `Archive`, `ArchiveFormat` | Archive types |\n| `MimeType`, `FileMetadata` | File metadata |\n\n### Type-Level Compiler *(v1.8.0)*\n\n| Type | Description |\n|------|-------------|\n| `CompilerPlugin\u003cT\u003e` | Compiler plugin |\n| `Macro\u003cT\u003e`, `MacroExpansion\u003cT\u003e` | Macro system |\n| `Diagnostic`, `DiagnosticLevel` | Compiler diagnostics |\n| `SymbolTable`, `CompilerSymbol` | Symbol management |\n| `Visitor\u003cT\u003e`, `TransformPass\u003cT\u003e` | AST visitor pattern |\n\n### Type-Level Debugging *(v1.8.0)*\n\n| Type | Description |\n|------|-------------|\n| `DebugSession`, `DebugStatus` | Debug session |\n| `Breakpoint`, `BreakpointLocation` | Breakpoint types |\n| `StackTrace`, `DebugStackFrame` | Stack trace |\n| `Variable`, `VariableValue` | Variable inspection |\n| `MemoryRegion`, `MemoryAddress` | Memory debugging |\n| `DebugProtocol` | Debug protocol (DAP) |\n| `REPL`, `REPLCommand\u003cT\u003e` | REPL interface |\n\n### Type-Level Optimizer *(v1.8.0)*\n\n| Type | Description |\n|------|-------------|\n| `Optimization\u003cT\u003e`, `OptimizationLevel` | Optimization types |\n| `TreeShake\u003cT\u003e`, `ShallowResult\u003cT\u003e` | Tree shaking |\n| `DeadCode`, `DeadCodeAnalysis\u003cT\u003e` | Dead code elimination |\n| `Inline\u003cT\u003e`, `InlineCandidate\u003cT\u003e` | Function inlining |\n| `ConstantFold\u003cT\u003e` | Constant folding |\n| `MinifyType\u003cT\u003e` | Type minification |\n| `PerformanceHint\u003cT\u003e` | Optimization hints |\n\n### Type-Level Docgen *(v1.8.0)*\n\n| Type | Description |\n|------|-------------|\n| `Documentation\u003cT\u003e`, `DocGenEntry\u003cT\u003e` | Documentation structure |\n| `JSDoc\u003cT\u003e`, `JSDocTag\u003cT\u003e` | JSDoc parsing |\n| `APIDoc\u003cT\u003e`, `APIEndpoint\u003cT\u003e` | API documentation |\n| `DocSearch\u003cT\u003e`, `SearchIndex` | Documentation search |\n| `DocNavigation\u003cT\u003e`, `DocSidebar\u003cT\u003e` | Documentation navigation |\n| `DocFormat` | Output format (markdown, html, json) |\n\n### Type-Level Test Framework *(v1.8.0)*\n\n| Type | Description |\n|------|-------------|\n| `TestGroup`, `TestSetup`, `TestTeardown` | Test organization |\n| `Assert`, `AssertExtends\u003cT, U\u003e` | Type assertions |\n| `MockFunction`, `TimerMock` | Mock utilities |\n| `CoverageProvider`, `CoverageReporter` | Coverage types |\n| `SnapshotSerializer` | Snapshot serialization |\n| `Worker`, `WorkerPool` | Parallel test execution |\n\n### Type-Level Package Manager *(v1.8.0)*\n\n| Type | Description |\n|------|-------------|\n| `PkgPackage\u003cT\u003e`, `PackageName` | Package types |\n| `Dependencies`, `Dependency\u003cT\u003e` | Dependency types |\n| `SemVer`, `SemVerRange`, `SemVerDiff` | SemVer types |\n| `LockFile\u003cT\u003e`, `LockFormat` | Lock file types |\n| `Workspace\u003cT\u003e`, `WorkspaceGraph\u003cT\u003e` | Workspace/monorepo |\n| `RegistryAuth`, `RegistryPackage\u003cT\u003e` | Registry types |\n| `Vulnerability` | Security vulnerability |\n\n### Type-Level Search *(v1.7.0)*\n\n| Type | Description |\n|------|-------------|\n| `Sort\u003cT, Order\u003e` | Sort tuple |\n| `QuickSort\u003cT\u003e` | Quick sort algorithm |\n| `MergeSort\u003cT\u003e` | Merge sort algorithm |\n| `BinarySearch\u003cT, V\u003e` | Binary search |\n| `Includes\u003cT, V\u003e` | Check inclusion |\n| `Filter\u003cT, P\u003e` | Filter by predicate |\n| `Take\u003cT, N\u003e` | Take first N elements |\n| `Drop\u003cT, N\u003e` | Drop first N elements |\n| `Chunk\u003cT, N\u003e` | Chunk into sublists |\n| `Union\u003cA, B\u003e` | Set union |\n| `Intersection\u003cA, B\u003e` | Set intersection |\n| `Unique\u003cT\u003e` | Unique elements |\n| `Reverse\u003cT\u003e` | Reverse tuple |\n| `Zip\u003cA, B\u003e` | Zip tuples |\n| `Flatten\u003cT\u003e` | Flatten nested tuples |\n| `MinElement\u003cT\u003e`, `MaxElement\u003cT\u003e` | Min/Max element |\n\n## Examples\n\n```typescript\nimport type {\n  SnakeCase,\n  CamelCaseKeys,\n  UnionToIntersection,\n  AtLeastOne\n} from 'uni-types'\n\n// String case conversion\nSnakeCase\u003c'XMLParser'\u003e  // 'xml_parser'\nCamelCaseKeys\u003c{ user_name: string, user_age: number }\u003e\n// { userName: string, userAge: number }\n\n// Union to intersection\nUnionToIntersection\u003c{ a: string } | { b: number }\u003e\n// { a: string } \u0026 { b: number }\n\n// Require at least one property\ntype Options = AtLeastOne\u003c{ a?: string; b?: number; c?: boolean }\u003e\n// Must have at least one of a, b, or c\n```\n\n## Development\n\n```bash\n# Install dependencies\npnpm install\n\n# Run tests\npnpm test\n\n# Build\npnpm build\n\n# Type check\npnpm typecheck\n\n# Start docs dev server\npnpm docs:dev\n```\n\n## Contributing\n\nContributions are welcome! Please read our [Contributing Guide](./CONTRIBUTING.md) for details.\n\n## License\n\n[MIT](LICENSE) © [saqqdy](https://github.com/saqqdy)\n\n[npm-image]: https://img.shields.io/npm/v/uni-types.svg?style=flat-square\n[npm-url]: https://npmjs.org/package/uni-types\n[typescript-url]: https://img.shields.io/badge/TypeScript-5.x-3178c6?style=flat-square\u0026logo=typescript\u0026logoColor=white\n[codecov-image]: https://img.shields.io/codecov/c/github/saqqdy/uni-types.svg?style=flat-square\n[codecov-url]: https://codecov.io/github/saqqdy/uni-types\n[download-image]: https://img.shields.io/npm/dm/uni-types.svg?style=flat-square\n[download-url]: https://npmjs.org/package/uni-types\n[license-image]: https://img.shields.io/badge/License-MIT-blue.svg?style=flat-square\n[license-url]: LICENSE\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsaqqdy%2Funi-types","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsaqqdy%2Funi-types","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsaqqdy%2Funi-types/lists"}