From 90360d69d98f95825f5390b96c44db0a6d72ad1c Mon Sep 17 00:00:00 2001 From: peferron Date: Tue, 28 Apr 2015 12:19:53 -0700 Subject: [PATCH] lodash: make `sum()` only callable on wrapped arrays of numbers This change triggers a compilation error when typing e.g. _(["abc"]).sum() --- lodash/lodash.d.ts | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/lodash/lodash.d.ts b/lodash/lodash.d.ts index 145849230..331ec46ae 100644 --- a/lodash/lodash.d.ts +++ b/lodash/lodash.d.ts @@ -41,6 +41,7 @@ declare module _ { (value: number): LoDashWrapper; (value: string): LoDashWrapper; (value: boolean): LoDashWrapper; + (value: Array): LoDashNumberArrayWrapper; (value: Array): LoDashArrayWrapper; (value: T): LoDashObjectWrapper; (value: any): LoDashWrapper; @@ -205,6 +206,8 @@ declare module _ { unshift(...items: any[]): LoDashWrapper; } + interface LoDashNumberArrayWrapper extends LoDashArrayWrapper { } + //_.chain interface LoDashStatic { /** @@ -3917,12 +3920,21 @@ declare module _ { property: string): number; } - interface LoDashArrayWrapper { + interface LoDashNumberArrayWrapper { /** * @see _.sum **/ sum(): number + /** + * @see _.sum + **/ + sum( + iteratee: ListIterator, + thisArg?: any): number; + } + + interface LoDashArrayWrapper { /** * @see _.sum **/