2017-09-07 2 views
0

타사 라이브러리에서 함수를 얻은 경우 해당 함수에 흐름 유형을 추가하려고합니다. 예를기존 함수에 흐름 유형 추가

import foo from 'foo'; 

// normal call without flowtype check, because foo doesn't use flowtype when declaration 
foo('hello') 

// I want to add param types to function foo 
type FooParamType = 
    | 'only' 
    | 'those' 
    | 'words' 
    | 'are' 
    | 'valid' 

// I want to re-assign param types to foo 
foo(a: FooParamType) 

// now I can use foo with flowtype 
foo('only') // good 
foo('are') // good 
foo('what') // bad 

foo 이미 다른 곳에서 선언 된 함수에 대한

. 어떻게 함수에 형식을 추가 할 수 있습니까?

+0

에서 flow/lib를 추가 할 필요가? https://flow.org/try/#0PQKgBAAgZgNg9gdzCYAodZjDASTAgQwDsAXMEuMAgE2rAAcCAnAgW3IE96BTAZ3MpQArkQDGJAJZwiYKHDipOPMADF5ABWZsAKl25gAvGEVgwAHzAByaTA6WT5qyQAWcXt3unHlhHCbVeT1MLS2YPBxCANwIYCWp7VCxcfGIyCjAmbgBaAl5eCQBzGUYWdhI9fnS5BWExSWlZeQAKAgAuVQ0tVl0eAEowAG8M7hIhJhkCMABfdCSiRGTRYjAhd0bKBAkXWXgEcp5UaqbQojt+zGwC+TosgD4wbQAJHABlXDeAIQBBABFD5tCmUs5ySVzgdH+cGOCGcBBIwIuYAARjQgA 당신은 할 수 없습니다 –

+0

: 여기 링크입니다. 흐름은 정적 유형 검사기입니다. – ftor

답변

2

수많은 타사 라이브러리에 대한 Flow 유형 정의가있는 flow-typed project을 확인하십시오.

입력하려는 라이브러리가 해당 프로젝트에없는 경우에도 자신이 만든 유형을 만드는 데 사용하는 패턴을 따라갈 수 있습니다. 귀하의 경우에는

, 하나의 가능성은 foo.js/flow/lib에 추가하는 것입니다 :

declare module 'foo' { 
    declare type FooParamType = 
    | 'only' 
    | 'those' 
    | 'words' 
    | 'are' 
    | 'valid' 

    declare function exports(a: FooParamType): any; 
} 

당신은 단지 문제가 정확히 무엇 [libs] section of your .flowconfig.

관련 문제