gpt4 book ai didi

typescript - 使用 TypeScript 类型检查器查看两种类型是否可赋值

转载 作者:搜寻专家 更新时间:2023-10-30 22:03:41 26 4
gpt4 key购买 nike

我正在构建一个小脚本,它使用 TypeScript Compiler API 扫描具有给定类型成员的所有接口(interface)。 , 出处可见here .我检查这些类的成员以了解它们是如何相互关联的。

我的问题是:我怎么知道一个类型何时可以分配给另一个类型?我在 TypeChecker 中搜索了一种方法,但找不到。有没有人有任何指示?下面是一个应该能够进行分析的示例:

export enum ASTKind {
Number,
Addition,
Multiplication,
}

export interface AST {
kind: ASTKind
}

export interface BinaryExpression extends AST {
left: AST
right: AST
}

export interface Addition extends BinaryExpression {
kind: ASTKind.Addition
}

export interface Multiplication extends BinaryExpression {
kind: ASTKind.Multiplication
}

本质上,我想要一个谓词来说明 ASTKind.Multiplication 是否可分配给 ASTKind(在本例中为真)。

最佳答案

我找到了:目前看来是不可能的:

我创建了自己的 fork它公开了这个功能。我会尽力维护它,所以如果有人感兴趣,他或她可以使用 fork ,直到上游跟进。

关于typescript - 使用 TypeScript 类型检查器查看两种类型是否可赋值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44888163/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com