나는 다음과 같은 상수 문자열을 말해봐흐름 상수 문자열 유형, 의존적 유형
import FOO from '../consts/Foo'
나는 그 때 기능이있다 :
const example = (foo : string) : {| type: FOO, foo: string |} => {
return {type: FOO, foo: foo}
}
이와 유형 체킹하지 않습니다
6: const example = (foo : string) : {| type: FOO, foo: string |}=> {
^^^^^^^^^^^^^^ string. Ineligible value used in/as type annotation (did you forget 'typeof'?)
6: const example = (foo : string) : {| type: FOO, foo: string |}=> {
^^^^^^^^^^^^^^ FOO
그래서 제 질문은 :이 동작을 재현 할 수있는 방법
1)가, 흐름 유형의 상수를 사용할 수 있습니까?
2) 종속 형을 플로우로 처리 할 수 있습니까? 예를 들어, 형식을 통해 반환되는 문자열은 example
함수에 전달되는 문자열과 동일해야합니다.
편집 : 2 부에 대한 설명 : 그것은 example
함수에 전달 된 foo
매개 변수가 실제로 반환 객체의 foo
키에서 문자열과 같은 문자열을 나타냅니다 어떤 방법으로 할 수 있습니까? 또는 입출력 길이가 같다고 주장 할 수 있습니다 (예 : 시프트 암호 기능). 또는 동일한 문자의 순열을 포함한다고 말할 수 있습니까? (셔플을 위해서).
https://en.wikipedia.org/wiki/Dependent_type
만약'FOO'가''FOO'' 타입을 가지기를 원한다면, 그것을 선언해야합니다. 그렇지 않으면 그냥 문자열입니다. 객체의 경우 오류가 말하는 것처럼 'type : FOO'를 입력하면됩니다. 나는 당신이 당신의 2) 점에서 요구하고있는 것이 무엇인지 확실히 모르겠다. 그런 다음 동일한 문자열 값을 갖는 두 개의 속성이있는 객체로 끝납니다. – loganfsmyth