以下内容来自Ramda's type definitions:
type Transformer<A,B> = {
'@@transducer/step': <I,R>(r: A, a: *) => R,
'@@transducer/init': () => A,
'@@transducer/result': (result: *) => B
}
declare function into<I,T,A:Array<T>,R>(accum: Transformer<I,R>, xf: (a: A) => R, input: A): R
'@@transducer/*'
在这里意味着什么?我无法在文档中找到有关此语法的任何内容。
答案 0 :(得分:1)
这实际上并不是关于流本身的具体内容。从Flow的角度来看,每个'@@transducer/*'
项只是一个字符串文字,给出了对象中属性的名称。
此Flow声明表明Transformer
是一个具有三个属性的对象,这些特定字符串作为其名称,值是这些函数类型。
它可能对Ramda代码中的see an example of a value of that type有所帮助。你可以看到它只是一个对象,这三个键指向特定的功能。