jjzjj

Flowtype

全部标签

javascript - 函数表达式的流通用类型(箭头函数)

我通常会尝试将流函数类型与其实现分开。当我写的时候,它的可读性稍微好一点:typeFn=string=>string;constaFn:Fn=name=>`hello,${name}`;而不是:constaFn=(name:string):string=>`hello,${name}`;当使用泛型类型时,我们可以这样写:constj=(i:T):T=>i;constjString:string=j('apple');//√constjNumber:number=j(7);//√但是我怎样才能将这种类型与函数表达式分开呢?typeH=(input:T)=>T;consth:H=i=>i;

javascript - FlowType:类型的继承(类型A是类型B的子集……)

SincethereleaseofFlow42,youcoulduseobjecttypespread.typeTypeB={...TypeA};?我想这是关于FlowType的真正初学者类型的问题,但我真的找不到让我满意的答案。假设我有这种类型typeA={x:number}typeB={y:string}现在我想要基于类型A和B的另一种类型,如下所示:typeC={...A,...B,z:boolean}恕我直言,应该这样解释:typeC={x:number,y:string,z:boolean}但这显然行不通。你能给我一些建议或最佳实践吗?非常感谢。

javascript - 流: Typechecking a complex Immutable shape using fromJS()?

如何使用Flow对从fromJS生成的Immutable.JS数据结构的形状进行类型检查?可以使用对象字面量符号非常准确地键入普通的旧JSblob:typeObjectShape={a:number,b:string,c:{d:number,},e:Array};constobj:ObjectShape={//hyper-accuratea:1,b:'2',c:{d:3,},e:[4]}但是,在Immutable.js方面,似乎有两个主要的并发症:似乎Immutable.js的fromJS方法返回any(https://github.com/facebook/immutable-js/

javascript - 是否可以将流类型包装在不可变容器中?

例如,给定以下记录:typeUserRecord={id:string;name:?string;age:number;}是否有某种方法可以执行以下操作:/*@flow*/import{List,Map}from'immutable'constusers:List>=List();letuser:Map;user=Map({id:'666',age:30});users.push(user);否则我最终会简单地使用类似Map的东西我认为这会避免将Immutable.js与Flow类型系统一起使用。 最佳答案 通常这是不可能的,因为记

javascript - 使用flowtype静态检查mocha测试代码

我有一些复杂的Mocha代码,我想用FlowType进行静态检查,为什么不呢?下面是一个最小的重现:/*@flow*/describe('it',function(){it('fails',function(){consts:number='flowspotsthiserror';});});当我对此运行Flow时,Flow确实发现了将string分配给number的问题,这表明该方法在某种程度上是有效的。但是,我也得到:test/test.js:44:describe('it',function(){^^^^^^^^identifier`describe`.Couldnotresol

javascript - 流: Dynamically generate string union types?

假设我有一个流类型Suit,我想将它组合成另一种名为Card的类型。//types.jstypeSuit=|"Diamonds"|"Clubs"|"Hearts"|"Spades";typeCard={...suit:Suit,...}与其直接在suit.js中对Suit字符串进行硬编码,不如根据JavaScript原语(数组)动态生成Suit类型?说...//constants.jsconstSUITS=['Diamonds','Clubs','Hearts','Spades'];通过这种方式,西装只需定义一次,并且可以在JavaScript结构中定义,该结构将在应用程序的其他部分中

javascript - 如何使用 Flow 键入默认导出?

如何使用Flow键入默认导出?Flow有办法做到这一点吗?期望的结果://index.jstypecomplexThing={a:string}typeThing={x:number,y:boolean,z:complexThing}exportdefault{x:0,y:true,z:{a:'hello'}}:Thing//thissaysmydefaultexportisaThing可接受的替代方案:或者,我不介意内联输入每个对象属性,但我认为这在句法上是不可能的:exportdefault{//Idon'tknowhowtoaddtypesignaturesherex:0,//n

javascript - React.PropTypes.node 的 Flow 等价物是什么?

React.PropTypes.node的Flow等价物是什么(即React可以渲染的任何东西,如果有的话?我必须自己创建它作为联合类型吗?换句话说,这里用什么替换????typeProps={children:???,}constUselessComponent:(props:Props)=>React$Element=({children})=>({children})UselessComponent.propTypes={children:React.PropTypes.node.isRequired,} 最佳答案 看来还是个

javascript - 对象中可选字段的流类型

在以下代码中(TryFlow):typeResponse={err:?string;data:Object;}functionlength(x):Response{return{data:{}};}length(10)我将err设为可选,但仍然出现错误:Propertyerrnotfoundinobjectliteral 最佳答案 这是可选属性的正确语法:typeResponse={err?:string;data:Object;}Demo您尝试使用的语法(err:?string)是Maybetype,这意味着err键应该在对象中并

javascript - node_modules/* 中的流类型检查器错误

我已经用flowinit初始化了流程项目https://github.com/davezuko/react-redux-starter-kit项目。当Flow检查时,它在node_modules中发现了几个错误。/*流*/带注释的库文件中发生错误。看起来像这样:node_modules/editions/source/index.js:3333:const{name,editions}=require(packagePath)^^^^^^^^^^^^^^^^^^^^Theparameterpassedtorequire()mustbealiteralstring.node_module