Javascript 基于函数字符串参数fn(';a';)的流类型映射返回:a,fn(';b';):b

Javascript 基于函数字符串参数fn(';a';)的流类型映射返回:a,fn(';b';):b,javascript,types,ecmascript-6,flowtype,complextype,Javascript,Types,Ecmascript 6,Flowtype,Complextype,所以我们有两个功能: const car = ():Car => {return {type: `car`, wheels: 4}}; const house = ():House => {return {type: `house`, rooms: 3}}; 所以我有一张地图: const map={car,house} 现在我有一个基于字符串的函数调用汽车或自行车,如下所示: type myType = (type:string):any; const get:myType =

所以我们有两个功能:

const car = ():Car => {return {type: `car`, wheels: 4}};
const house = ():House => {return {type: `house`, rooms: 3}};
所以我有一张地图:

const map={car,house}

现在我有一个基于字符串的函数调用汽车或自行车,如下所示:

type myType = (type:string):any;
const get:myType  = (type) => {
  return map[type]();
};
现在我调用函数:

constmyvar=get('car')

现在我想让flow了解
myVar
是一种
Car
类型。是否可能?如果可能,如何实现

我希望将此信息保存在地图中,而不是执行以下操作:

type carType = (type:'car'):Car;
type houseType = (type:'house'):House;
const get:carType|houseType = (type) => {
  return map[type]();
};

如果没有价值观的话,可能会有点类似。这似乎也很相关:

在JS中输入对我来说就像一场噩梦。为什么不拥抱动态的自然呢?因为我更喜欢流动。抱歉,但我想知道这是一辆车,所以它可以为我纠正的情况下,我的代码试图访问车轮时,应该是一辆车。也可能会给自动完成。在JS中输入对我来说就像一场噩梦。为什么不拥抱动态的自然呢?因为我更喜欢流动。抱歉,但我想知道这是一辆车,所以它可以为我纠正的情况下,我的代码试图访问车轮时,应该是一辆车。也可能给自动完成。