2017-08-26 10 views
0

とインライン関数の戻り値の型を指定して、私は次の機能があります。が流れ

const safeNull = fn => (txt: string): string => (isNil(txt) ? '' : fn(txt)); 

export const stripSpaces: Function = safeNull(txt => txt.replace(/\s/g, '')); 

export const safeTrim: Function = safeNull(txt => txt.trim()); 

は私がstripSpacessafeTrimリターン文字列ことをどのように言うのです。

答えて

0

safeNull関数は、文字列を返す関数を返すように型指定されています。 FunctionのタイプをstripSpacessafeTrimから削除するだけです。 safeNull戻り値のために、フローは文字列を返すと推測します。

​​

希望する場合は、また、明示的にそうように、自分のタイプを定義することができます。

const safeNull = fn => (txt: string): string => (isNil(txt) ? '' : fn(txt)); 

export const stripSpaces: string => string = safeNull(txt => txt.replace(/\s/g, '')); 

export const safeTrim: string => string = safeNull(txt => txt.trim());