Merge pull request #7055 from chrootsu/lodash-flow

lodash: signatures of _.flow have been changed
This commit is contained in:
Masahiro Wakame
2015-12-10 21:13:18 +09:00
2 changed files with 37 additions and 5 deletions

View File

@@ -4891,10 +4891,34 @@ module TestDelay {
}
// _.flow
var testFlowSquareFn = (n: number) => n * n;
var testFlowAddFn = (n: number, m: number) => n + m;
result = <number>_.flow<(n: number, m: number) => number>(testFlowAddFn, testFlowSquareFn)(1, 2);
result = <number>_(testFlowAddFn).flow<(n: number, m: number) => number>(testFlowSquareFn).value()(1, 2);
module TestFlow {
let Fn1: (n: number) => number;
let Fn2: (m: number, n: number) => number;
{
let result: (m: number, n: number) => number;
result = _.flow<(m: number, n: number) => number>(Fn1, Fn2);
result = _.flow<(m: number, n: number) => number>(Fn1, Fn1, Fn2);
result = _.flow<(m: number, n: number) => number>(Fn1, Fn1, Fn1, Fn2);
}
{
let result: _.LoDashImplicitObjectWrapper<(m: number, n: number) => number>;
result = _(Fn1).flow<(m: number, n: number) => number>(Fn2);
result = _(Fn1).flow<(m: number, n: number) => number>(Fn1, Fn2);
result = _(Fn1).flow<(m: number, n: number) => number>(Fn1, Fn1, Fn2);
}
{
let result: _.LoDashExplicitObjectWrapper<(m: number, n: number) => number>;
result = _(Fn1).chain().flow<(m: number, n: number) => number>(Fn2);
result = _(Fn1).chain().flow<(m: number, n: number) => number>(Fn1, Fn2);
result = _(Fn1).chain().flow<(m: number, n: number) => number>(Fn1, Fn1, Fn2);
}
}
// _.flowRight
module TestFlowRight {

10
lodash/lodash.d.ts vendored
View File

@@ -8491,6 +8491,7 @@ declare module _ {
/**
* Creates a function that returns the result of invoking the provided functions with the this binding of the
* created function, where each successive invocation is supplied the return value of the previous.
*
* @param funcs Functions to invoke.
* @return Returns the new function.
*/
@@ -8500,10 +8501,17 @@ declare module _ {
interface LoDashImplicitObjectWrapper<T> {
/**
* @see _.flow
**/
*/
flow<TResult extends Function>(...funcs: Function[]): LoDashImplicitObjectWrapper<TResult>;
}
interface LoDashExplicitObjectWrapper<T> {
/**
* @see _.flow
*/
flow<TResult extends Function>(...funcs: Function[]): LoDashExplicitObjectWrapper<TResult>;
}
//_.flowRight
interface LoDashStatic {
/**