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