Skip to content

Commit

Permalink
Adds forEachObjIndexed to ramda definition (flow-typed#1516)
Browse files Browse the repository at this point in the history
  • Loading branch information
gantoine committed Nov 12, 2017
1 parent fd17f2b commit 55bef7f
Show file tree
Hide file tree
Showing 10 changed files with 39 additions and 0 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -246,6 +246,9 @@ declare module ramda {
declare function forEach<T,V>(fn:(x:T) => ?V, xs: Array<T>): Array<T>
declare function forEach<T,V>(fn:(x:T) => ?V, ...rest: Array<void>): (xs: Array<T>) => Array<T>

declare function forEachObjIndexed<O: Object, A, B>(n: (val: A, key: string, o: O) => B, o: { [key: string]: A }): O;
declare function forEachObjIndexed<O: Object, A, B>(fn: (val: A, key: string, o: O) => B,...args: Array<void>): (o: { [key: string]: A }) => O;

declare function lastIndexOf<E>(x: E, xs: Array<E>): number
declare function lastIndexOf<E>(x: E, ...rest: Array<void>): (xs: Array<E>) => number

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -49,6 +49,8 @@ const str: string = 'hello world'
const findxs6:number = _.findLastIndex(_.propEq('a', 2), os)
const findxs7:number = _.findLastIndex(_.propEq('a', 4))(os)

const forEachObj = _.forEachObjIndexed((value, key) => {}, {x: 1, y: 2})

const s: Array<number> = filter(x => x > 1, [ 1, 2 ])
const s1: Array<string> = _.filter(x => x === '2', [ '2', '3' ])
const s3: {[key: string]: string} = _.filter(x => x === '2', { a:'2', b:'3' })
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -246,6 +246,9 @@ declare module ramda {
declare function forEach<T,V>(fn:(x:T) => ?V, xs: Array<T>): Array<T>
declare function forEach<T,V>(fn:(x:T) => ?V, ...rest: Array<void>): (xs: Array<T>) => Array<T>

declare function forEachObjIndexed<O: Object, A, B>(n: (val: A, key: string, o: O) => B, o: { [key: string]: A }): O;
declare function forEachObjIndexed<O: Object, A, B>(fn: (val: A, key: string, o: O) => B,...args: Array<void>): (o: { [key: string]: A }) => O;

declare function lastIndexOf<E>(x: E, xs: Array<E>): number
declare function lastIndexOf<E>(x: E, ...rest: Array<void>): (xs: Array<E>) => number

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -56,6 +56,8 @@ const str: string = 'hello world'
const s7: number = _.findIndex(x => x === '2', { a:'1', b:'2' })
const forEachxs = _.forEach(x => console.log(x), ns)

const forEachObj = _.forEachObjIndexed((value, key) => {}, {x: 1, y: 2})

const groupedBy: {[k: string]: Array<number>} = _.groupBy(x => x > 1 ? 'more' : 'less' , ns)

const groupedWith: Array<Array<number>> = _.groupWith(x => x > 1, ns)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -248,6 +248,9 @@ declare module ramda {
declare function forEach<T,V>(fn:(x:T) => ?V, xs: Array<T>): Array<T>
declare function forEach<T,V>(fn:(x:T) => ?V, ...rest: Array<void>): (xs: Array<T>) => Array<T>

declare function forEachObjIndexed<O: Object, A, B>(n: (val: A, key: string, o: O) => B, o: { [key: string]: A }): O;
declare function forEachObjIndexed<O: Object, A, B>(fn: (val: A, key: string, o: O) => B,...args: Array<void>): (o: { [key: string]: A }) => O;

declare function lastIndexOf<E>(x: E, xs: Array<E>): number
declare function lastIndexOf<E>(x: E, ...rest: Array<void>): (xs: Array<E>) => number

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -59,6 +59,8 @@ const str: string = 'hello world'
const s7: number = _.findIndex(x => x === '2', { a:'1', b:'2' })
const forEachxs = _.forEach(x => console.log(x), ns)

const forEachObj = _.forEachObjIndexed((value, key) => {}, {x: 1, y: 2})

const groupedBy: {[k: string]: Array<number>} = _.groupBy(x => x > 1 ? 'more' : 'less' , ns)
//$ExpectError
const groupedBy1: {[k: string]: Array<string>} = _.groupBy(x => x > 1 ? 'more' : 'less')(ns)
Expand Down
10 changes: 10 additions & 0 deletions definitions/npm/ramda_v0.x.x/flow_v0.39.x-v0.48.x/ramda_v0.x.x.js
Original file line number Diff line number Diff line change
Expand Up @@ -619,6 +619,16 @@ declare module ramda {
...rest: Array<void>
): (xs: Array<T>) => Array<T>;

declare function forEachObjIndexed<O: Object, A, B>(
fn: (val: A, key: string, o: O) => B,
o: { [key: string]: A }
): O;

declare function forEachObjIndexed<O: Object, A, B>(
fn: (val: A, key: string, o: O) => B,
...args: Array<void>
): (o: { [key: string]: A }) => O;

declare function lastIndexOf<E>(x: E, xs: Array<E>): number;
declare function lastIndexOf<E>(
x: E,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -75,6 +75,8 @@ const str: string = "hello world";
const s7: number = _.findIndex(x => x === "2", { a: "1", b: "2" });
const forEachxs = _.forEach(x => console.log(x), ns);

const forEachObj = _.forEachObjIndexed((value, key) => {}, {x: 1, y: 2});

const groupedBy: { [k: string]: Array<number> } = _.groupBy(
x => (x > 1 ? "more" : "less"),
ns
Expand Down
10 changes: 10 additions & 0 deletions definitions/npm/ramda_v0.x.x/flow_v0.49.x-/ramda_v0.x.x.js
Original file line number Diff line number Diff line change
Expand Up @@ -661,6 +661,16 @@ declare module ramda {
...rest: Array<void>
): (xs: Array<T>) => Array<T>;

declare function forEachObjIndexed<O: Object, A, B>(
fn: (val: A, key: string, o: O) => B,
o: { [key: string]: A }
): O;

declare function forEachObjIndexed<O: Object, A, B>(
fn: (val: A, key: string, o: O) => B,
...args: Array<void>
): (o: { [key: string]: A }) => O;

declare function lastIndexOf<E>(x: E, xs: Array<E>): number;
declare function lastIndexOf<E>(
x: E,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -75,6 +75,8 @@ const str: string = "hello world";
const s7: number = _.findIndex(x => x === "2", { a: "1", b: "2" });
const forEachxs = _.forEach(x => console.log(x), ns);

const forEachObj = _.forEachObjIndexed((value, key) => {}, {x: 1, y: 2});

const groupedBy: { [k: string]: Array<number> } = _.groupBy(
x => (x > 1 ? "more" : "less"),
ns
Expand Down

0 comments on commit 55bef7f

Please sign in to comment.