graph TB
subgraph "typert/ 能力"
A["typert-protocol/ (协议定义)"]
B["typert-registry/ (运行时注册表)"]
C["typert-generator/ (类型图生成器)"]
end
subgraph "消费者"
D["api/gateway"]
E["sdk/server"]
F["extensions/tool-cordis"]
end
A --> B
B --> C
D --> B
E --> B
F --> B
12.2 类型图生成
12.2.1 生成流程
预览
源码
sequenceDiagram
participant Source as TypeScript 源码
participant Analyzer as WorkspaceAnalyzer
participant Generator as WorkspaceTypertGenerator
participant Emitter as FaceModelEmitter
participant Output as 类型图文件
Source->>Analyzer: analyze()
Analyzer->>Analyzer: 解析类型引用
Analyzer->>Analyzer: 构建类型图
Analyzer-->>Generator: 类型图数据
Generator->>Generator: 验证导出
Generator-->>Emitter: 验证后的类型图
Emitter->>Emitter: 渲染 .d.ts 文件
Emitter-->>Output: 类型声明文件
// 来自 packages/typert/generator/src/workspace.tsclassWorkspaceTypertGenerator{/** 验证导出 */validateExport(exportName:string, exportType: TypeNode): ValidationResult {// 检查类型是否符合规范const errors:string[]=[]// 检查必须的字段if(!exportType.name){
errors.push('Type must have a name')}// 检查文件路径if(!exportType.filePath){
errors.push('Type must have a file path')}return{
valid: errors.length ===0,
errors
}}}