Merge pull request #757 from AndrewGaspar/master

Added generic typing to jQuery.when
This commit is contained in:
Boris Yankov
2013-07-08 16:47:08 -07:00
3 changed files with 23 additions and 14 deletions

View File

@@ -2294,4 +2294,11 @@ function test_EventIsNewable() {
function test_EventIsCallable() {
var ev = jQuery.Event('click');
}
}
$.when($.ajax("/my/page.json")).then((a,b,c) => a.asdf); // is type JQueryPromise<any>
$.when("asdf", "jkl;").done(x => x.length, x=> x.length);
var f1 = $.when("fetch"); // Is type JQueryPromise<string>
var f2: JQueryPromise<string[]> = f1.then(s => [s, s]);
var f3: JQueryPromise<number> = f2.then(v => 3);

14
jquery/jquery.d.ts vendored
View File

@@ -105,11 +105,11 @@ interface JQueryPromise<T> {
then<U>(onFulfill: (value: T) => U, onReject?: (...reasons) => JQueryGenericPromise<U>, onProgress?: (...progression) => any): JQueryPromise<U>;
then<U>(onFulfill: (value: T) => JQueryGenericPromise<U>, onReject?: (...reasons) => JQueryGenericPromise<U>, onProgress?: (...progression) => any): JQueryPromise<U>;
/* Because JQuery Promises Suck */
then<U>(onFulfill: (...args) => U, onReject?: (...reasons) => U, onProgress?: (...progression) => any): JQueryPromise<U>;
then<U>(onFulfill: (...args) => JQueryGenericPromise<U>, onReject?: (...reasons) => U, onProgress?: (...progression) => any): JQueryPromise<U>;
then<U>(onFulfill: (...args) => U, onReject?: (...reasons) => JQueryGenericPromise<U>, onProgress?: (...progression) => any): JQueryPromise<U>;
then<U>(onFulfill: (...args) => JQueryGenericPromise<U>, onReject?: (...reasons) => JQueryGenericPromise<U>, onProgress?: (...progression) => any): JQueryPromise<U>;
// Because JQuery Promises Suck
then<U>(onFulfill: (...values) => U, onReject?: (...reasons) => U, onProgress?: (...progression) => any): JQueryPromise<U>;
then<U>(onFulfill: (...values) => JQueryGenericPromise<U>, onReject?: (...reasons) => U, onProgress?: (...progression) => any): JQueryPromise<U>;
then<U>(onFulfill: (...values) => U, onReject?: (...reasons) => JQueryGenericPromise<U>, onProgress?: (...progression) => any): JQueryPromise<U>;
then<U>(onFulfill: (...values) => JQueryGenericPromise<U>, onReject?: (...reasons) => JQueryGenericPromise<U>, onProgress?: (...progression) => any): JQueryPromise<U>;
}
/*
@@ -265,7 +265,9 @@ interface JQueryStatic {
noConflict(removeAll?: boolean): Object;
when(...deferreds: any[]): JQueryPromise;
when<T>(...deferreds: JQueryGenericPromise<T>[]): JQueryPromise<T>;
when<T>(...deferreds: T[]): JQueryPromise<T>;
when<T>(...deferreds: any[]): JQueryPromise<T>;
// CSS
css(e: any, propertyName: string, value?: any);

14
mocha/mocha.d.ts vendored
View File

@@ -12,27 +12,27 @@ declare var describe : {
declare var it: {
(expectation: string, assertion?: () => void): void;
(expectation: string, assertion?: (done: () => void) => void): void;
(expectation: string, assertion?: (done: (failReason?) => void) => void): void;
only(expectation: string, assertion?: () => void): void;
only(expectation: string, assertion?: (done: () => void) => void): void;
only(expectation: string, assertion?: (done: (failReason?) => void) => void): void;
skip(expectation: string, assertion?: () => void): void;
skip(expectation: string, assertion?: (done: () => void) => void): void;
skip(expectation: string, assertion?: (done: (failReason?) => void) => void): void;
timeout(ms: number);
};
declare function before(action: () => void): void;
declare function before(action: (done: () => void) => void): void;
declare function before(action: (done: (failReason?) => void) => void): void;
declare function after(action: () => void): void;
declare function after(action: (done: () => void) => void): void;
declare function after(action: (done: (failReason?) => void) => void): void;
declare function beforeEach(action: () => void): void;
declare function beforeEach(action: (done: () => void) => void): void;
declare function beforeEach(action: (done: (failReason?) => void) => void): void;
declare function afterEach(action: () => void): void;
declare function afterEach(action: (done: () => void) => void): void;
declare function afterEach(action: (done: (failReason?) => void) => void): void;