2017-07-11 48 views
1

鉴于这些类型:可能流注释一个免费的功能?

type Bar = number; 
type Foo = { 
    bar: Bar, 
}; 

而这种自由点转换功能fooToBar

import { prop } from 'ramda'; 
const fooToBar = prop('bar'); 

是否可以诠释fooToBar的的Foo -> Bar签名?

回答

2

function type annotation docs非常详细。它看起来像下面应该为你

/* @flow */ 

type Bar = number; 
type Foo = { 
    bar: Bar, 
}; 

const prop = y => x => x[y]; 

const fooToBar : Foo => Bar = prop('bar'); 

Flow says

No errors! 
+1

谢谢合作。它完美的工作! –