Files
test-repo/tests/flow/annot/scope.js
T
Christopher Chedeau 3375cfe605 Move tests around (#454)
* new_tests

* move_all_clobbered_tests

* remove all the tests that no longer exist

* re-run flow tests

* Move all the flow tests to tests/flow and prettier to tests/

* Move prettier tests to their own folders

* Add jsfmt files

* run prettier snapshot tests
2017-01-24 14:35:37 -08:00

25 lines
548 B
JavaScript

type Merge<T> = (a: T, b: T) => T;
// hypothetical immutable map
declare class Map<K,V> {
(): Map<K,V>;
insertWith(fn: Merge<V>, k: K, v: V): Map<K,V>;
}
declare function foldr<A,B>(fn: (a: A, b: B) => B, b: B, as: A[]): B;
function insertMany<K,V>(merge: Merge<V>, vs: [K,V][], m: Map<K,V>): Map<K,V> {
function f([k,v]: [K,V], m: Map<K,V>): Map<K,V> {
return m.insertWith(merge, k, v)
}
return foldr(f, m, vs)
}
class Foo<A> {
bar<B>() {
return function<C>(a: A, b: B, c: C): void {
([a,b,c] : [A,B,C]);
}
}
}