【发布时间】:2020-10-30 10:37:47
【问题描述】:
我有一些使用代码生成器创建的复杂打字稿类型,我希望能够使用这些类型的一部分,而不必重新定义整个东西。
例如,我生成的界面可能看起来像这样(大大简化)
type Transportation = {
vehicle: {
truck: {...}
car: {
make: string
model: string
weight: string
...
}
}
boat: {...}
...
}
现在假设我正在编写一个函数,该函数需要一辆汽车并用它做一些事情
/* This type won't work, I'm asking if there is a proper way to do this*/
processCar(car: Transportation.vehicle.car) {
//TODO: process the car
}
const transport: Transportation = {...}
processCar(transport.vehicle.car)
有没有一种方法可以根据现有类型的一部分创建类型,而不必将整个汽车项目定义为自己的类型或接口?它可以用接口或其他东西扩展吗?谢谢!
就上下文而言,我的复杂生成类型来自graphql code generator。可以对其进行一些自定义,但不幸的是,我不知道如何让它在漂亮的分隔界面中生成所有内容。
【问题讨论】:
标签: javascript typescript graphql code-generation