From 097dc2e2ba1f05755500a722c209715e56b40621 Mon Sep 17 00:00:00 2001 From: Michael Nahkies Date: Wed, 10 Jun 2015 17:01:55 +1200 Subject: [PATCH] Add definition with tests for spread --- when/when-tests.ts | 8 +++++--- when/when.d.ts | 7 +++++++ 2 files changed, 12 insertions(+), 3 deletions(-) diff --git a/when/when-tests.ts b/when/when-tests.ts index 61b688a035..602a2867ed 100644 --- a/when/when-tests.ts +++ b/when/when-tests.ts @@ -132,9 +132,11 @@ promise = when(1).then((val: number) => when(val + val), (err: any) => 2); /* promise.spread(onFulfilledArray) */ -// TODO: Work out how to do this... -// promise = when([1, '2', true]).spread((a: number, b: string, c: boolean) => a); -// promise = when([1, '2', true]).spread((a: number, b: string, c: boolean) => when(a)); +promise = when([]).spread(() => 2); +promise = when([1]).spread((a: number) => a); +promise = when([1, '2']).spread((a: number, b: string) => a); +promise = when([1, '2', true]).spread((a: number, b: string, c: boolean) => a); +promise = when([1, '2', true]).spread((a: number, b: string, c: boolean) => when(a)); /* promise.fold(combine, promise2) */ diff --git a/when/when.d.ts b/when/when.d.ts index be5e25f154..cd99d2a9a0 100644 --- a/when/when.d.ts +++ b/when/when.d.ts @@ -180,6 +180,13 @@ declare module When { then(onFulfilled: (value: T) => U | Promise, onRejected?: (reason: any) => U | Promise, onProgress?: (update: any) => void): Promise; + spread(onFulfilled: _.Fn0 | T>): Promise; + spread(onFulfilled: _.Fn1 | T>): Promise; + spread(onFulfilled: _.Fn2 | T>): Promise; + spread(onFulfilled: _.Fn3 | T>): Promise; + spread(onFulfilled: _.Fn4 | T>): Promise; + spread(onFulfilled: _.Fn5 | T>): Promise; + done(onFulfilled: (value: T) => void, onRejected?: (reason: any) => void): void; fold(combine: (value1: T, value2: V) => U | Promise, value2: V | Promise): Promise;