API 参考
uni-types 所有类型工具的完整 API 参考。
分类
核心操作
| 类型 | 描述 |
|---|---|
PickRequired<T, K> | 将指定属性变为必需 |
PickPartial<T, K> | 将指定属性变为可选 |
OmitRequired<T, K> | 将指定属性之外变为必需 |
OmitPartial<T, K> | 将指定属性之外变为可选 |
元组操作
| 类型 | 描述 |
|---|---|
Head<T> | 获取元组第一个元素 |
Last<T> | 获取元组最后一个元素 |
Tail<T> | 获取除第一个外的所有元素 |
Init<T> | 获取除最后一个外的所有元素 |
Reverse<T> | 反转元组 |
Flatten<T> | 展平嵌套元组 |
TupleLength<T> | 获取元组长度 |
IsEmptyTuple<T> | 判断元组是否为空 |
深度操作
| 类型 | 描述 |
|---|---|
DeepPartial<T> | 递归将所有属性变为可选 |
DeepRequired<T> | 递归将所有属性变为必需 |
DeepReadonly<T> | 递归将所有属性变为只读 |
DeepMutable<T> | 递归移除所有 readonly |
DeepOmit<T, P> | 移除嵌套路径处的属性 |
DeepPick<T, P> | 选择嵌套路径处的属性 |
品牌类型
| 类型 | 描述 |
|---|---|
Brand<T, B> | 创建品牌名义类型 |
Unbrand<T> | 从品牌类型提取底层类型 |
条件类型
| 类型 | 描述 |
|---|---|
If<C, T, F> | 类型级别的 if-then-else |
Not<B> | 布尔类型的逻辑非 |
And<A, B> | 布尔类型的逻辑与 |
Or<A, B> | 布尔类型的逻辑或 |
函数类型
| 类型 | 描述 |
|---|---|
Parameters<T> | 获取函数参数作为元组 |
ReturnType<T> | 获取函数返回类型 |
NthParameter<T, N> | 获取第 N 个参数类型 |
AsyncReturnType<T> | 解包 Promise 返回类型 |
键工具
| 类型 | 描述 |
|---|---|
RenameKeys<T, M> | 重命名对象键 |
PrefixKeys<T, P> | 为所有键添加前缀 |
SuffixKeys<T, S> | 为所有键添加后缀 |
KeysByValueType<T, V> | 按值类型获取键 |
数字类型
| 类型 | 描述 |
|---|---|
Inc<N> | 数字类型自增 |
Dec<N> | 数字类型自减 |
Add<A, B> | 两数相加 |
Subtract<A, B> | 两数相减 |
Range<From, To> | 创建数字范围联合 |
路径工具
| 类型 | 描述 |
|---|---|
ValidPath<T, P> | 检查路径是否存在 |
ArrayPaths<T> | 获取包含数组索引的所有路径 |
LeafPaths<T> | 获取叶子节点路径 |
PathLength<P> | 获取路径段数 |
记录类型
| 类型 | 描述 |
|---|---|
DeepNullable<T> | 使所有属性可空 |
DeepOptional<T> | 使所有属性可选 |
Immutable<T> | 使所有属性只读 |
Mutable<T> | 移除所有属性的只读 |
模板字面量
| 类型 | 描述 |
|---|---|
ReplaceAll<S, From, To> | 替换所有匹配 |
Trim<S> | 修剪空白字符 |
StringLength<S> | 获取字符串长度 |
Repeat<S, N> | 重复字符串 N 次 |
类型判断
| 类型 | 描述 |
|---|---|
IsArray<T> | 判断是否为数组 |
IsTuple<T> | 判断是否为元组 |
IsEqual<X, Y> | 判断两个类型是否相等 |
IsAny<T> | 判断是否为 any |
IsNever<T> | 判断是否为 never |
IsUnknown<T> | 判断是否为 unknown |
类型推导
| 类型 | 描述 |
|---|---|
Awaited<T> | 解包 Promise 类型 |
ArrayElement<T> | 获取数组元素类型 |
ValueOf<T> | 获取对象值类型 |
FunctionKeys<T> | 获取函数属性的键 |
NonFunctionKeys<T> | 获取非函数属性的键 |
FirstParameter<T> | 获取函数第一个参数类型 |
FunctionOnly<T> | 提取函数属性 |
DataOnly<T> | 提取非函数属性 |
实用类型
| 类型 | 描述 |
|---|---|
Merge<T, U> | 合并两个类型 |
NonNullable<T> | 排除 null/undefined |
Exclusive<T, K> | 创建互斥属性 |
NoNullish<T> | 移除所有属性的 null/undefined |
Nullable<T> | 添加 null |
Optional<T> | 添加 undefined |
Maybe<T> | 添加 null/undefined |
LoosePartial<T> | 将所有属性变为可选 |
键类型
| 类型 | 描述 |
|---|---|
RequiredKeys<T> | 获取必需属性的键 |
OptionalKeys<T> | 获取可选属性的键 |
WritableKeys<T> | 获取可写属性的键 |
ReadonlyKeys<T> | 获取只读属性的键 |
路径类型
| 类型 | 描述 |
|---|---|
Paths<T> | 获取所有嵌套属性路径 |
PathValue<T, P> | 获取路径处的值类型 |
SplitPath<S> | 将路径分割为数组 |
字符串命名
| 类型 | 描述 |
|---|---|
CamelCase<S> | 转换为驼峰命名 |
SnakeCase<S> | 转换为蛇形命名 |
CamelCaseKeys<T> | 将对象键转为驼峰 |
SnakeCaseKeys<T> | 将对象键转为蛇形 |
高级类型
| 类型 | 描述 |
|---|---|
AtLeastOne<T> | 要求至少一个属性 |
StrictExtract<T, U> | 严格提取类型 |
StrictExclude<T, U> | 严格排除类型 |
UnionToIntersection<U> | 联合转交叉 |
UnionToTuple<T> | 联合转元组 |
算法
| 类型 | 描述 |
|---|---|
Sort<T, Order> | 数字元组排序 |
QuickSort<T> | 快速排序实现 |
MergeSort<T> | 归并排序实现 |
GCD<A, B> | 最大公约数 |
LCM<A, B> | 最小公倍数 |
Factorial<N> | 阶乘 |
Fibonacci<N> | 斐波那契数 |
IsPrime<N> | 判断是否为质数 |
Find<T, P> | 查找第一个匹配元素 |
FindIndex<T, P> | 查找第一个匹配索引 |
Includes<T, U> | 检查元组是否包含元素 |
IndexOf<T, U> | 获取元素索引 |
LongestCommonPrefix<T> | 查找最长公共前缀 |
Reverse<T> | 反转元组 |
Unique<T> | 移除重复元素 |
Flatten<T> | 展平嵌套元组 |
FlattenDeep<T> | 深度展平嵌套元组 |
LevenshteinDistance<A, B> | 字符串编辑距离 |
解析器
| 类型 | 描述 |
|---|---|
ParseJSON<S> | 解析 JSON 字符串为类型 |
StringifyJSON<T> | 类型转 JSON 字符串 |
IsValidJSON<S> | 检查是否为有效 JSON |
ParseURL<S> | 解析 URL 字符串 |
QueryParams<S> | 解析查询字符串 |
ParseCSV<S> | 解析 CSV 字符串 |
状态机
| 类型 | 描述 |
|---|---|
StateMachine<T> | 状态机定义 |
State<S, Data> | 状态定义 |
Transition<E, From, To> | 转换定义 |
数据结构
| 类型 | 描述 |
|---|---|
Tree<T> | 树类型 |
TreeNode<T> | 树节点类型 |
Graph<A> | 图类型(邻接表) |
LinkedList<T> | 链表类型 |
Stack<T> | 栈类型(LIFO) |
Queue<T> | 队列类型(FIFO) |
HTTP & API
| 类型 | 描述 |
|---|---|
HTTPMethod | HTTP 方法联合 |
HTTPStatus | HTTP 状态码 |
Route<P, M, H> | 路由定义 |
Middleware<C> | 中间件函数 |
数据库
| 类型 | 描述 |
|---|---|
SQLType<T> | TS 到 SQL 类型映射 |
QueryBuilder<T> | 查询构建器 |
Migration<T> | 迁移定义 |
并发
| 类型 | 描述 |
|---|---|
Task<T> | 任务类型 |
Pipeline<I, O> | 管道类型 |
Scheduler<T> | 调度器类型 |
WorkerPool<I, O> | 工作池类型 |
互操作
| 类型 | 描述 |
|---|---|
ToTypeFest<T> | 转换为 type-fest |
ToTsToolbelt<T> | 转换为 ts-toolbelt |
IsCompatible<T, U> | 检查类型兼容性 |
测试
| 类型 | 描述 |
|---|---|
ExpectTrue<T> | 期望类型为 true |
ExpectEqual<T, U> | 期望类型相等 |
TypeCoverage<T> | 类型覆盖分析 |
TypeComplexity<T> | 类型复杂度分析 |
断言
| 类型 | 描述 |
|---|---|
AssertEqual<T, Expected> | 断言类型相等 |
AssertExtends<T, U> | 断言 T 继承 U |
AssertKeyof<T, K> | 断言 K 是 T 的键 |
AssertNotNil<T> | 断言类型不是 never |
RequireKeys<T, K> | 要求特定键 |
MakeOptional<T, K> | 使特定键可选 |
RequireAtLeastOne<T, K> | 要求至少一个键 |
RequireExactlyOne<T, K> | 要求恰好一个键 |
AssertHasProperty<T, K> | 确保对象有属性 |
RequireNotNullish<T> | 确保类型非空 |
RequireArray<T> | 确保类型为数组 |
RequireFunction<T> | 确保类型为函数 |
异步
| 类型 | 描述 |
|---|---|
PromiseValue<T> | 递归提取 Promise 值 |
PromiseResult<T> | 获取 Promise 解析值 |
IsPromise<T> | 检查是否为 Promise |
UnwrapPromise<T> | 解包 Promise |
WrapPromise<T> | 包装为 Promise |
PromiseSettledResult<T> | Promise 结算结果 |
集合
| 类型 | 描述 |
|---|---|
TypeSet<T> | 类型级别集合 |
SetAdd<S, T> | 向集合添加元素 |
SetRemove<S, T> | 从集合移除元素 |
SetHas<S, T> | 检查元素是否在集合中 |
SetUnion<A, B> | 集合并集 |
SetIntersection<A, B> | 集合交集 |
SetDifference<A, B> | 集合差集 |
SetIsEmpty<S> | 检查集合是否为空 |
SetIsSubset<A, B> | 检查 A 是否为 B 子集 |
TypeMap<K, V> | 类型级别映射 |
MapGet<M, K> | 获取映射值 |
MapSet<M, K, V> | 设置映射值 |
MapHas<M, K> | 检查键是否在映射中 |
MapDelete<M, K> | 删除映射键 |
MapKeys<M> | 获取映射键 |
MapValues<M> | 获取映射值 |
ListLength<T> | 获取列表长度 |
ListReverse<T> | 反转列表 |
ListConcat<A, B> | 连接列表 |
ListFilter<T, P> | 过滤列表元素 |
ListFind<T, P> | 在列表中查找元素 |
ListIncludes<T, U> | 检查列表是否包含 |
对象
| 类型 | 描述 |
|---|---|
ObjectMap<T, F> | 映射对象值 |
ObjectFilter<T, P> | 过滤对象属性 |
ObjectPickByType<T, U> | 按值类型选取 |
ObjectOmitByType<T, U> | 按值类型省略 |
ObjectInvert<T> | 反转键值 |
DeepMerge<T, U> | 深度合并对象 |
DeepAssign<T, U> | 深度赋值属性 |
DeepDefaults<T, U> | 深度默认值 |
HasProperty<T, K> | 检查是否有属性 |
HasProperties<T, K> | 检查是否有多个属性 |
HasMethod<T, K> | 检查是否有方法 |
模式匹配
| 类型 | 描述 |
|---|---|
Match<T, Patterns> | 模式匹配 |
Case<P> | 匹配用例 |
Default<R> | 默认用例 |
TypeFilter<T, P> | 按谓词过滤元组 |
TypeFind<T, P> | 按谓词查找元素 |
TypeIncludes<T, P> | 检查类型是否在元组中 |
字符串
| 类型 | 描述 |
|---|---|
Split<S, D> | 按分隔符拆分字符串 |
Join<T, S> | 用分隔符连接字符串 |
KebabCase<S> | 转换为 kebab-case |
PascalCase<S> | 转换为 PascalCase |
IsEmail<T> | 检查是否为邮箱格式 |
IsUUID<T> | 检查是否为 UUID 格式 |
IsURL<T> | 检查是否为 URL 格式 |
Chunk<S, N> | 将字符串分块 |
性能优化
| 类型 | 描述 |
|---|---|
Simplify<T> | 简化复杂类型 |
DeepSimplify<T> | 深度简化类型 |
Cached<T> | 缓存类型计算 |
CachedValue<T> | 提取缓存值 |
Memoized<T> | 记忆化类型 |
Lazy<T> | 延迟类型包装 |
ForceEvaluate<T> | 强制求值延迟类型 |
Deferred<T> | 延迟类型展开 |
FlattenType<T> | 展平交叉类型 |
StripNever<T> | 移除 never 属性 |
StripUndefined<T> | 移除 undefined 属性 |
Compact<T> | 移除 never 和 undefined |
Schema
| 类型 | 描述 |
|---|---|
RuntimeGuard<T> | 运行时类型守卫 |
GuardedType<G> | 提取守卫类型 |
HasRuntimeCheck<T> | 检查是否有运行时检查 |
CompositeGuard<T> | 组合对象守卫 |
ZodOutput<T> | 提取 Zod 输出类型 |
ZodInput<T> | 提取 Zod 输入类型 |
IsZodSchema<T> | 检查是否为 Zod schema |
ZodShape<T> | 提取 Zod shape |
ZodArrayElement<T> | 获取 Zod 数组元素 |
YupOutput<T> | 提取 Yup 输出类型 |
YupInput<T> | 提取 Yup 输入类型 |
IsYupSchema<T> | 检查是否为 Yup schema |
迁移工具 (v1.11.0)
| 类型 | 描述 |
|---|---|
MigrationStatus | 迁移状态 |
MigrationResult<T> | 迁移结果 |
MigrateToV2<T> | 迁移到 V2 |
MigrateFromV1<T> | 从 V1 迁移 |
RenameType<T, From, To> | 重命名属性 |
CompatV1<T> | V1 兼容层 |
CompatV2<T> | V2 兼容层 |
ValidateMigration<T, U> | 验证迁移 |
MigrationDiff<T, U> | 迁移差异 |
Codemod<T> | Codemod 类型 |
废弃管理 (v1.11.0)
| 类型 | 描述 |
|---|---|
Deprecated<T, Message> | 废弃标记 |
DeprecatedSince<T, Version> | 废弃版本标记 |
WillBeRemoved<T, Version> | 移除版本标记 |
Legacy<T> | 遗留类型 |
DeprecationWarning<T> | 废弃警告 |
VersionGate<T, Min, Max> | 版本门控 |
RemovedIn<T, Version> | 移除版本 |
IntroducedIn<T, Version> | 引入版本 |
Sunset<T> | Sunset 标记 |
EndOfLife<T> | 生命周期结束 |
增强错误消息 (v1.11.0)
| 类型 | 描述 |
|---|---|
DetailedError<T> | 详细错误 |
ErrorDetails | 错误详情 |
ErrorCategory | 错误分类 |
TypedError<T> | 类型错误 |
Diagnostic<T> | 诊断类型 |
DiagnosticSeverity | 诊断严重性 |
TypeMismatch<T, Expected> | 类型不匹配 |
RecoverableError<T> | 可恢复错误 |
RecoveryStrategy | 恢复策略 |
HelpMessage<T> | 帮助消息 |
破坏性变更检测 (v1.11.0)
| 类型 | 描述 |
|---|---|
BreakingChangeReport<T> | 破坏性变更报告 |
BreakingChange | 破坏性变更 |
BreakingChangeType | 变更类型 |
APIDiff<T, U> | API 差异 |
CompatibilityCheck<T, U> | 兼容性检查 |
CompatibilityLevel | 兼容性级别 |
MigrationEffort | 迁移工作量 |
ImpactAnalysis | 影响分析 |
RiskLevel | 风险级别 |
BreakingChangeGuard | 变更守卫 |