From 716b7f981c13af40931d95cedeb1356c8abcc4a1 Mon Sep 17 00:00:00 2001 From: Brian Zengel Date: Sun, 20 Oct 2013 23:21:29 -0400 Subject: [PATCH] fixed _(...).after defs, added _(...).assign/_(...).extend defs --- lodash/lodash-tests.ts | 14 +- lodash/lodash.d.ts | 374 +++++++++++++++++++++++++++++++---------- 2 files changed, 293 insertions(+), 95 deletions(-) diff --git a/lodash/lodash-tests.ts b/lodash/lodash-tests.ts index c4d46ab58..9b2cecdd6 100644 --- a/lodash/lodash-tests.ts +++ b/lodash/lodash-tests.ts @@ -423,9 +423,9 @@ _.forEach(saves, function(type) { asyncSave({ 'type': type, 'complete': done }); }); -done = _(function() { +done = _(saves.length).after(function() { console.log('Done saving!'); -}).after(saves.length); +}).value(); _.forEach(saves, function(type) { asyncSave({ 'type': type, 'complete': done }); @@ -560,11 +560,21 @@ result = _.assign({ 'name': 'moe' }, { 'age': 40 }, function(a, b) { return typeof a == 'undefined' ? b : a; }); +result = <_.LoDashWrapper>_({ 'name': 'moe' }).assign({ 'age': 40 }); +result = <_.LoDashWrapper>_({ 'name': 'moe' }).assign({ 'age': 40 }, function(a, b) { + return typeof a == 'undefined' ? b : a; +}); + result = _.extend({ 'name': 'moe' }, { 'age': 40 }); result = _.extend({ 'name': 'moe' }, { 'age': 40 }, function(a, b) { return typeof a == 'undefined' ? b : a; }); + result = <_.LoDashWrapper>_({ 'name': 'moe' }).extend({ 'age': 40 }); + result = <_.LoDashWrapper>_({ 'name': 'moe' }).extend({ 'age': 40 }, function(a, b) { + return typeof a == 'undefined' ? b : a; + }); + var result = _.clone(stoogesAges); var result = _.clone(stoogesAges, true); var result = _.clone(stoogesAges, true, function(value) { diff --git a/lodash/lodash.d.ts b/lodash/lodash.d.ts index 11fbfea79..d641739fd 100644 --- a/lodash/lodash.d.ts +++ b/lodash/lodash.d.ts @@ -1884,7 +1884,7 @@ declare module _ { /** * @see _.after **/ - after(n: number): Function; + after(func: Function): LoDashWrapper; } /** @@ -2219,105 +2219,293 @@ declare module _ { callback?: (objectValue: any, sourceValue: any) => any, thisArg?: any): any; - /** - * @see _.extend - **/ - export function extend( - object: any, - s1: any, - callback?: (objectValue: any, sourceValue: any) => any, - thisArg?: any): any; + interface LoDashWrapper { + /** + * @see _.assign + **/ + assign( + s1: any, + callback?: (objectValue: any, sourceValue: any) => any, + thisArg?: any): any; - /** - * @see _.extend - **/ - export function extend( - object: any, - s1: any, - s2: any, - callback?: (objectValue: any, sourceValue: any) => any, - thisArg?: any): any; + /** + * @see _.assign + **/ + assign( + s1: any, + s2: any, + callback?: (objectValue: any, sourceValue: any) => any, + thisArg?: any): any; - /** - * @see _.extend - **/ - export function extend( - object: any, - s1: any, - s2: any, - s3: any, - callback?: (objectValue: any, sourceValue: any) => any, - thisArg?: any): any; + /** + * @see _.assign + **/ + assign( + s1: any, + s2: any, + s3: any, + callback?: (objectValue: any, sourceValue: any) => any, + thisArg?: any): any; - /** - * @see _.extend - **/ - export function extend( - object: any, - s1: any, - s2: any, - s3: any, - s4: any, - callback?: (objectValue: any, sourceValue: any) => any, - thisArg?: any): any; + /** + * @see _.assign + **/ + assign( + s1: any, + s2: any, + s3: any, + s4: any, + callback?: (objectValue: any, sourceValue: any) => any, + thisArg?: any): any; - /** - * @see _.extend - **/ - export function extend( - object: any, - s1: any, - s2: any, - s3: any, - s4: any, - s5: any, - callback?: (objectValue: any, sourceValue: any) => any, - thisArg?: any): any; + /** + * @see _.assign + **/ + assign( + s1: any, + s2: any, + s3: any, + s4: any, + s5: any, + callback?: (objectValue: any, sourceValue: any) => any, + thisArg?: any): any; - /** - * @see _.extend - **/ - export function extend( - object: any, - s1: any, - s2: any, - s3: any, - s4: any, - s5: any, - s6: any, - callback?: (objectValue: any, sourceValue: any) => any, - thisArg?: any): any; + /** + * @see _.assign + **/ + assign( + s1: any, + s2: any, + s3: any, + s4: any, + s5: any, + s6: any, + callback?: (objectValue: any, sourceValue: any) => any, + thisArg?: any): any; - /** - * @see _.extend - **/ - export function extend( - object: any, - s1: any, - s2: any, - s3: any, - s4: any, - s5: any, - s6: any, - s7: any, - callback?: (objectValue: any, sourceValue: any) => any, - thisArg?: any): any; + /** + * @see _.assign + **/ + assign( + s1: any, + s2: any, + s3: any, + s4: any, + s5: any, + s6: any, + s7: any, + callback?: (objectValue: any, sourceValue: any) => any, + thisArg?: any): any; - /** - * @see _.extend - **/ - export function extend( - object: any, - s1: any, - s2: any, - s3: any, - s4: any, - s5: any, - s6: any, - s7: any, - s8: any, - callback?: (objectValue: any, sourceValue: any) => any, - thisArg?: any): any; + /** + * @see _.assign + **/ + assign( + s1: any, + s2: any, + s3: any, + s4: any, + s5: any, + s6: any, + s7: any, + s8: any, + callback?: (objectValue: any, sourceValue: any) => any, + thisArg?: any): any; + } + + /** + * @see _.extend + **/ + export function extend( + object: any, + s1: any, + callback?: (objectValue: any, sourceValue: any) => any, + thisArg?: any): any; + + /** + * @see _.extend + **/ + export function extend( + object: any, + s1: any, + s2: any, + callback?: (objectValue: any, sourceValue: any) => any, + thisArg?: any): any; + + /** + * @see _.extend + **/ + export function extend( + object: any, + s1: any, + s2: any, + s3: any, + callback?: (objectValue: any, sourceValue: any) => any, + thisArg?: any): any; + + /** + * @see _.extend + **/ + export function extend( + object: any, + s1: any, + s2: any, + s3: any, + s4: any, + callback?: (objectValue: any, sourceValue: any) => any, + thisArg?: any): any; + + /** + * @see _.extend + **/ + export function extend( + object: any, + s1: any, + s2: any, + s3: any, + s4: any, + s5: any, + callback?: (objectValue: any, sourceValue: any) => any, + thisArg?: any): any; + + /** + * @see _.extend + **/ + export function extend( + object: any, + s1: any, + s2: any, + s3: any, + s4: any, + s5: any, + s6: any, + callback?: (objectValue: any, sourceValue: any) => any, + thisArg?: any): any; + + /** + * @see _.extend + **/ + export function extend( + object: any, + s1: any, + s2: any, + s3: any, + s4: any, + s5: any, + s6: any, + s7: any, + callback?: (objectValue: any, sourceValue: any) => any, + thisArg?: any): any; + + /** + * @see _.extend + **/ + export function extend( + object: any, + s1: any, + s2: any, + s3: any, + s4: any, + s5: any, + s6: any, + s7: any, + s8: any, + callback?: (objectValue: any, sourceValue: any) => any, + thisArg?: any): any; + + interface LoDashWrapper { + /** + * @see _.assign + **/ + extend( + s1: any, + callback?: (objectValue: any, sourceValue: any) => any, + thisArg?: any): any; + + /** + * @see _.assign + **/ + extend( + s1: any, + s2: any, + callback?: (objectValue: any, sourceValue: any) => any, + thisArg?: any): any; + + /** + * @see _.assign + **/ + extend( + s1: any, + s2: any, + s3: any, + callback?: (objectValue: any, sourceValue: any) => any, + thisArg?: any): any; + + /** + * @see _.assign + **/ + extend( + s1: any, + s2: any, + s3: any, + s4: any, + callback?: (objectValue: any, sourceValue: any) => any, + thisArg?: any): any; + + /** + * @see _.assign + **/ + extend( + s1: any, + s2: any, + s3: any, + s4: any, + s5: any, + callback?: (objectValue: any, sourceValue: any) => any, + thisArg?: any): any; + + /** + * @see _.assign + **/ + extend( + s1: any, + s2: any, + s3: any, + s4: any, + s5: any, + s6: any, + callback?: (objectValue: any, sourceValue: any) => any, + thisArg?: any): any; + + /** + * @see _.assign + **/ + extend( + s1: any, + s2: any, + s3: any, + s4: any, + s5: any, + s6: any, + s7: any, + callback?: (objectValue: any, sourceValue: any) => any, + thisArg?: any): any; + + /** + * @see _.assign + **/ + extend( + s1: any, + s2: any, + s3: any, + s4: any, + s5: any, + s6: any, + s7: any, + s8: any, + callback?: (objectValue: any, sourceValue: any) => any, + thisArg?: any): any; + } /** * Creates a clone of value. If deep is true nested objects will also be cloned, otherwise