【发布时间】:2017-03-17 17:22:46
【问题描述】:
我有一个返回 base64 编码值的函数,类似于:
token = (unencoded:string):string => {
return Buffer.from(unencoded).toString('base64')
}
我想返回一个表明内容是 base64 编码的类型。我可以通过将字符串分配给新类型来伪造它:
type Base64 = string
token = (unencoded:string):Base64 => {
return Buffer.from(unencoded).toString('base64')
}
这样做的缺点是在类型比较中 Base64 等于字符串,所以它只能作为糖。我想知道是否有一种方法可以更深入地断言关于字符串本身的事情?
【问题讨论】:
-
我打赌在任何静态分析工具中都不可能。
-
您可以制作某种包装器,例如将其包装在具有
valueOf和toString设置为返回值的类中,但我不知道还有其他简单的方法.
标签: ecmascript-6 flowtype