如何使用枚举来确定从TypeScript的导入中使用哪个项目?
概述
我们有一个从其他文件导出对象的模块。
为简单起见,我们称之为Vehicle. 它出口Car,Boat和Plane。
我们有一个对应于这些车辆的枚举,假设如下:
enum Vehicles {
Car,
Boat,
Plane,
}
我们希望使用枚举来指定我们应该使用哪个导入的对象。
题
我们知道我们可以做一个 switch/case,但是随着我们的枚举的增长,这变得不必要。我们的一些类导出数十种对象变体,然后我们在其他地方使用这些变体(我们无法使用类型/接口来简化)。
switch(vehicle) {
case Vehicles.Car: {
return Car;
}
case Vehicles.Boat: {
return Boat;
}
case Vehicles.Plane: {
return Plane;
}
}
更多信息
我们在 Svelte 中使用 TypeScript。导入是一个包(例如 Google Charts [charts]、fortawesome [icons] 等)。我们希望创建一种包装器来轻松初始化特定组件。
例子:
<script lang="ts">
import { a, b, c } from x
const y = () => {
// logic here
}
</script>
<y/>
这个问题似乎是特定于 TypeScript 的,所以我特意从我的问题中省略了 svelte 标签