Skip to content

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>联合转元组

基于 MIT 许可发布