API 概览
TypeScript API Pro 提供了丰富的类型工具集,分为四个主要模块:
📦 模块结构
typescript-api-pro/
├── object/ # 对象类型工具
├── array/ # 数组类型工具
├── map/ # Map 类型工具
├── set/ # Set 类型工具
└── string/ # 字符串类型工具
🔧 核心类型
基础类型
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 转数组
字符串操作
Camel2SnakeCase<T, U>- 驼峰命名转蛇形命名
🎯 使用场景
类型安全的配置对象
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; }
字符串转换
import type { Camel2SnakeCase } from 'typescript-api-pro';
// 驼峰命名转大写蛇形命名
type SnakeCaseKey = Camel2SnakeCase<'userName'>; // 'USER_NAME'
// 转换为小写蛇形命名
type LowerSnakeCase = Camel2SnakeCase<'userId', false>; // 'user_id'
📖 了解更多
选择特定的类型分类来了解更多详细信息和使用示例: