API 概览
TypeScript API Pro 提供了丰富的类型工具集,分为四个主要模块:
📦 模块结构
typescript-api-pro/
├── object/ # 对象类型工具
├── array/ # 数组类型工具
├── map/ # Map 类型工具
└── set/ # Set 类型工具
🔧 核心类型
基础类型
PropertyKey
- 对象属性键类型AnyObject<T>
- 通用对象类型
对象操作
ValueOf<T>
- 提取对象值类型KeyOf<T>
- 提取对象键类型Generic<R, K, T>
- 覆盖对象属性类型OmitByObject<T, U>
- 基于对象结构排除属性
依赖关系
RequiredDependency<T, K, D>
- 属性依赖关系MutuallyWithObject<T>
- 互斥对象属性Mutually<T, K, O>
- 双属性互斥
数组操作
ArrayItem<T>
- 提取数组元素类型
Map 操作
MapKeyOf<T>
- 提取 Map 键类型MapValueOf<T>
- 提取 Map 值类型MapToObject<T>
- Map 转对象ObjectToMap<T>
- 对象转 MapOmitMapKey<T, K>
- 排除 Map 键PickMapKey<T, K>
- 选择 Map 键
Set 操作
SetValueOf<T>
- 提取 Set 元素类型OmitSetValue<T, V>
- 排除 Set 值PickSetValue<T, V>
- 选择 Set 值ArrayToSet<T>
- 数组转 SetSetToArray<T>
- Set 转数组
🎯 使用场景
类型安全的配置对象
import type { MutuallyWithObject, RequiredDependency } from 'typescript-api-pro';
interface DatabaseConfig {
host?: string;
port?: number;
ssl?: boolean;
}
// 确保 host 和 port 同时存在或同时不存在
type SafeDatabaseConfig = RequiredDependency<DatabaseConfig, 'host', 'port'>;
互斥选项
import type { MutuallyWithObject } from 'typescript-api-pro';
interface AuthOptions {
token: string;
username: string;
apiKey: string;
}
// 只能选择一种认证方式
type AuthMethod = MutuallyWithObject<AuthOptions>;
集合类型转换
import type { ArrayToSet, MapToObject, SetToArray } from 'typescript-api-pro';
// 数组转 Set(自动去重)
type UniqueColors = ArrayToSet<['red', 'blue', 'red', 'green']>; // Set<'red' | 'blue' | 'green'>
// Map 转对象
type ConfigObject = MapToObject<Map<'host' | 'port', string>>; // { host: string; port: string; }
📖 了解更多
选择特定的类型分类来了解更多详细信息和使用示例: