Javascript 是否可以使用flow type对简单类型(如uri)进行类型检查

Javascript 是否可以使用flow type对简单类型(如uri)进行类型检查,javascript,node.js,flowtype,Javascript,Node.js,Flowtype,比如说,我有一个函数,它接受一个字符串,并确保它是一个有效的uri: function checkUri(input: string): Uri { } 即使我真的希望它是一个字符串,但是否有可能以一种只能由这个checkUri方法发出的方式来定义这个新类型的Uri 我的最终目标是定义一组具有Uri属性的类型,并通过我的类型系统强制执行验证 因此,从外部看,Uri类型的外观和行为就像一个保证已验证的不可变字符串。要展开我的注释(其中拼写错误),请执行以下操作: 我相信你可以用这个理由 //

比如说,我有一个函数,它接受一个字符串,并确保它是一个有效的uri:

function checkUri(input: string): Uri {

}
即使我真的希望它是一个字符串,但是否有可能以一种只能由这个checkUri方法发出的方式来定义这个新类型的Uri

我的最终目标是定义一组具有Uri属性的类型,并通过我的类型系统强制执行验证


因此,从外部看,Uri类型的外观和行为就像一个保证已验证的不可变字符串。

要展开我的注释(其中拼写错误),请执行以下操作:

我相信你可以用这个理由
// declaring in the try makes it act as if it were imported, but I'll just import here
import { checkUri, type Uri } from 'some-file';

function useUri(uri: Uri): void {}

// $ExpectError
useUri('some string')

// this one works
useUri(checkUri('some string'))