@cfp-studio/type-analyzer
v10.1.8
Published
`@cfp-studio/type-analyzer` 提供 TypeScript 类型静态分析、类型结构抽象与类型生成工具,支持类型收集、推断、序列化、去重、声明生成等能力。
Readme
@cfp-studio/type-analyzer
@cfp-studio/type-analyzer 提供 TypeScript 类型静态分析、类型结构抽象与类型生成工具,支持类型收集、推断、序列化、去重、声明生成等能力。
主要功能
- TypeScript 类型收集、推断与结构化(AST → 类型树)
- 支持泛型、交叉/联合类型、映射类型、内置类型等
- 类型去重、依赖分析、未使用类型剔除
- 类型声明生成与类型值生成
- 适用于低代码、可视化、schema 生成等场景
架构与核心模块
src/analyzer.ts:类型分析主流程,AST 解析与类型收集src/definitions.ts:类型系统核心定义src/dereference.ts:类型引用解包src/generate-type-declarations.ts:类型声明生成src/generate-type.ts:类型值生成src/strip-unused-types.ts:未使用类型剔除src/type-parameters.ts:泛型与类型参数推断src/helpers/:辅助工具src/index.ts:主入口,导出全部 API
主要导出 API
analyzeTypes(reader, entryFiles, options):收集并分析类型dereferenceType(type, types):类型引用解包generateTypeDeclarations(types):类型声明生成generateType(type, types):类型值生成stripUnusedTypes(types, used):剔除未用类型isValid(type):类型合法性校验evaluateType(type, params):泛型推断
典型用法
import { analyzeTypes, dereferenceType, generateTypeDeclarations } from '@cfp-studio/type-analyzer';
const { types } = await analyzeTypes(reader, entryFiles, options);
const [resolved] = dereferenceType(type, types);
const decls = generateTypeDeclarations(types);依赖
typescript:AST 解析@cfp-studio/vfs:虚拟文件系统es-toolkit、globby、prettier等
构建与测试
pnpm build:TypeScript 编译与打包pnpm test:Vitest 单元测试
License
MIT
