From db52ccd65758cc7200ad2f8d2d42184fdd0cc720 Mon Sep 17 00:00:00 2001 From: oBusk Date: Wed, 12 Dec 2018 12:23:15 +0100 Subject: [PATCH 01/14] Fix tests using `<>` syntax --- types/jquery/v2/jquery-tests.ts | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/types/jquery/v2/jquery-tests.ts b/types/jquery/v2/jquery-tests.ts index 01a06c62a8..0429ec4c68 100644 --- a/types/jquery/v2/jquery-tests.ts +++ b/types/jquery/v2/jquery-tests.ts @@ -972,8 +972,8 @@ function test_trigger() { .trigger("click", ["foo", "bar"]); var event = jQuery.Event("logged"); - (event).user = "foo"; - (event).pass = "bar"; + (event as any).user = "foo"; + (event as any).pass = "bar"; $("body").trigger(event); // Adapted from jQuery documentation which may be wrong on this occasion @@ -1594,7 +1594,7 @@ function test_eventParams() { $('#log').html(e.type + ': ' + e.which); }); $(window).on('mousewheel', (e) => { - var delta = (e.originalEvent).deltaY; + var delta = (e.originalEvent as WheelEvent).deltaY; }); $( "p" ).click(function( event ) { alert( event.currentTarget === this ); // true From f261339bb6164b7b2352c1de9e1cc89e865e982c Mon Sep 17 00:00:00 2001 From: oBusk Date: Wed, 12 Dec 2018 12:26:25 +0100 Subject: [PATCH 02/14] Add type to `char` and `key` --- types/jquery/v2/index.d.ts | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/types/jquery/v2/index.d.ts b/types/jquery/v2/index.d.ts index 1b1d9cf75f..a0112a519a 100644 --- a/types/jquery/v2/index.d.ts +++ b/types/jquery/v2/index.d.ts @@ -622,9 +622,9 @@ interface JQueryMouseEventObject extends JQueryInputEventObject { } interface JQueryKeyEventObject extends JQueryInputEventObject { - char: any; + char: string; charCode: number; - key: any; + key: string; keyCode: number; } From d5cabe21c0a8090dfd1f6ccf071e796ad56f5900 Mon Sep 17 00:00:00 2001 From: oBusk Date: Wed, 12 Dec 2018 12:30:23 +0100 Subject: [PATCH 03/14] Marking `char`, `charCode` and `keyCode` as deprecated. --- types/jquery/v2/index.d.ts | 3 +++ 1 file changed, 3 insertions(+) diff --git a/types/jquery/v2/index.d.ts b/types/jquery/v2/index.d.ts index a0112a519a..10239b07cb 100644 --- a/types/jquery/v2/index.d.ts +++ b/types/jquery/v2/index.d.ts @@ -622,9 +622,12 @@ interface JQueryMouseEventObject extends JQueryInputEventObject { } interface JQueryKeyEventObject extends JQueryInputEventObject { + /** @deprecated */ char: string; + /** @deprecated */ charCode: number; key: string; + /** @deprecated */ keyCode: number; } From 45903423f3d11c85f16a83771a85b1312dbb9350 Mon Sep 17 00:00:00 2001 From: oBusk Date: Wed, 12 Dec 2018 12:46:14 +0100 Subject: [PATCH 04/14] add types to event key and char in jqlite --- types/angular/jqlite.d.ts | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/types/angular/jqlite.d.ts b/types/angular/jqlite.d.ts index a9da89cf65..21f9bc875a 100644 --- a/types/angular/jqlite.d.ts +++ b/types/angular/jqlite.d.ts @@ -804,9 +804,9 @@ interface JQueryMouseEventObject extends JQueryInputEventObject { } interface JQueryKeyEventObject extends JQueryInputEventObject { - char: any; + char: string; charCode: number; - key: any; + key: string; keyCode: number; } From 3f1adde0d0dab23cc06f5b08263aad1dc100b2a6 Mon Sep 17 00:00:00 2001 From: oBusk Date: Wed, 12 Dec 2018 12:46:40 +0100 Subject: [PATCH 05/14] Add deprecated to char, charCode and keyCode in jqlite --- types/angular/jqlite.d.ts | 3 +++ 1 file changed, 3 insertions(+) diff --git a/types/angular/jqlite.d.ts b/types/angular/jqlite.d.ts index 21f9bc875a..1860f104c7 100644 --- a/types/angular/jqlite.d.ts +++ b/types/angular/jqlite.d.ts @@ -804,9 +804,12 @@ interface JQueryMouseEventObject extends JQueryInputEventObject { } interface JQueryKeyEventObject extends JQueryInputEventObject { + /** @deprecated */ char: string; + /** @deprecated */ charCode: number; key: string; + /** @deprecated */ keyCode: number; } From cc4eacc437dcdea5c528cc88762ba3783b998e52 Mon Sep 17 00:00:00 2001 From: oBusk Date: Wed, 12 Dec 2018 13:10:41 +0100 Subject: [PATCH 06/14] Add `@deprecated` to `which` --- types/jquery/v2/index.d.ts | 1 + 1 file changed, 1 insertion(+) diff --git a/types/jquery/v2/index.d.ts b/types/jquery/v2/index.d.ts index 10239b07cb..2643960e6d 100644 --- a/types/jquery/v2/index.d.ts +++ b/types/jquery/v2/index.d.ts @@ -592,6 +592,7 @@ interface BaseJQueryEventObject extends Event { pageY: number; /** * For key or mouse events, this property indicates the specific key or button that was pressed. + * @deprecated Use `key` for KeyEvents or `button` for MouseEvents instead. * @see {@link https://api.jquery.com/event.which/} */ which: number; From a1f4f7ac1989d01b1b00f8d73cd696d481e6eb6a Mon Sep 17 00:00:00 2001 From: oBusk Date: Wed, 12 Dec 2018 13:10:56 +0100 Subject: [PATCH 07/14] Add `deprecated` to `which` in jqlite --- types/angular/jqlite.d.ts | 1 + 1 file changed, 1 insertion(+) diff --git a/types/angular/jqlite.d.ts b/types/angular/jqlite.d.ts index 1860f104c7..ac4f8ec10c 100644 --- a/types/angular/jqlite.d.ts +++ b/types/angular/jqlite.d.ts @@ -774,6 +774,7 @@ interface BaseJQueryEventObject extends Event { pageY: number; /** * For key or mouse events, this property indicates the specific key or button that was pressed. + * @deprecated Use `key` for KeyEvents or `button` for MouseEvents instead. * @see {@link https://api.jquery.com/event.which/} */ which: number; From 4b863f9a00dceaf07f6a8128e11102ed98c1d1f2 Mon Sep 17 00:00:00 2001 From: oBusk Date: Tue, 18 Dec 2018 13:29:51 +0100 Subject: [PATCH 08/14] Bump to cause CI --- types/jquery/v2/index.d.ts | 1 + 1 file changed, 1 insertion(+) diff --git a/types/jquery/v2/index.d.ts b/types/jquery/v2/index.d.ts index 2643960e6d..ad018b3b5c 100644 --- a/types/jquery/v2/index.d.ts +++ b/types/jquery/v2/index.d.ts @@ -3818,4 +3818,5 @@ declare module "jquery" { export = $; } declare var jQuery: JQueryStatic; + declare var $: JQueryStatic; From 6472ffd15da293481b208d95dda5327b04c7617f Mon Sep 17 00:00:00 2001 From: oBusk Date: Tue, 18 Dec 2018 13:30:13 +0100 Subject: [PATCH 09/14] Revert "Bump to cause CI" This reverts commit 4b863f9a00dceaf07f6a8128e11102ed98c1d1f2. --- types/jquery/v2/index.d.ts | 1 - 1 file changed, 1 deletion(-) diff --git a/types/jquery/v2/index.d.ts b/types/jquery/v2/index.d.ts index ad018b3b5c..2643960e6d 100644 --- a/types/jquery/v2/index.d.ts +++ b/types/jquery/v2/index.d.ts @@ -3818,5 +3818,4 @@ declare module "jquery" { export = $; } declare var jQuery: JQueryStatic; - declare var $: JQueryStatic; From 823068c14c1e9266b1f80b48f83effb7ecfb07a2 Mon Sep 17 00:00:00 2001 From: oBusk Date: Tue, 18 Dec 2018 13:45:44 +0100 Subject: [PATCH 10/14] Fix types in `legacy.d.ts` --- types/jquery/legacy.d.ts | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/types/jquery/legacy.d.ts b/types/jquery/legacy.d.ts index a3a98b936c..c11f0982d5 100644 --- a/types/jquery/legacy.d.ts +++ b/types/jquery/legacy.d.ts @@ -167,9 +167,9 @@ interface JQueryMouseEventObject extends JQueryInputEventObject { * @deprecated ​ Deprecated. Use \`{@link JQuery.Event }\`. */ interface JQueryKeyEventObject extends JQueryInputEventObject { - char: any; + char: string; charCode: number; - key: any; + key: string; keyCode: number; } /** From 9994b088c453af6c00db2df03f2de4ffa13a1975 Mon Sep 17 00:00:00 2001 From: Oscar Busk Date: Wed, 19 Dec 2018 22:09:54 +0100 Subject: [PATCH 11/14] Deprecate char, charCode and keyCode in jquery/legacy.d.ts. While the object itself is deprectade, it can be good to deprecate the properties aswell. https://github.com/DefinitelyTyped/DefinitelyTyped/pull/31303#discussion_r243018492 --- types/jquery/legacy.d.ts | 3 +++ 1 file changed, 3 insertions(+) diff --git a/types/jquery/legacy.d.ts b/types/jquery/legacy.d.ts index c11f0982d5..08c8a408f3 100644 --- a/types/jquery/legacy.d.ts +++ b/types/jquery/legacy.d.ts @@ -167,9 +167,12 @@ interface JQueryMouseEventObject extends JQueryInputEventObject { * @deprecated ​ Deprecated. Use \`{@link JQuery.Event }\`. */ interface JQueryKeyEventObject extends JQueryInputEventObject { + /** @deprecated */ char: string; + /** @deprecated */ charCode: number; key: string; + /** @deprecated */ keyCode: number; } /** From c04b95b48591469da9d8137e461ee4417719d31d Mon Sep 17 00:00:00 2001 From: Oscar Busk Date: Wed, 19 Dec 2018 22:11:00 +0100 Subject: [PATCH 12/14] Add type to `char`and `key` in jquery/v1 --- types/jquery/v1/index.d.ts | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/types/jquery/v1/index.d.ts b/types/jquery/v1/index.d.ts index 8cbc9c5789..2d509fd932 100644 --- a/types/jquery/v1/index.d.ts +++ b/types/jquery/v1/index.d.ts @@ -622,9 +622,9 @@ interface JQueryMouseEventObject extends JQueryInputEventObject { } interface JQueryKeyEventObject extends JQueryInputEventObject { - char: any; + char: string; charCode: number; - key: any; + key: string; keyCode: number; } @@ -824,7 +824,7 @@ interface JQueryStatic { * @see {@link https://api.jquery.com/jQuery.ajaxTransport/} */ ajaxTransport(dataType: string, handler: (opts: any, originalOpts: JQueryAjaxSettings, jqXHR: JQueryXHR) => any): void; - + ajaxSettings: JQueryAjaxSettings; /** From b25f5a08f5fadb7069c568bcdfc8c3f068e814d5 Mon Sep 17 00:00:00 2001 From: Oscar Busk Date: Wed, 19 Dec 2018 22:13:13 +0100 Subject: [PATCH 13/14] Deprecate char, charCode, keyCOde in jquery/v1 as well --- types/jquery/v1/index.d.ts | 3 +++ 1 file changed, 3 insertions(+) diff --git a/types/jquery/v1/index.d.ts b/types/jquery/v1/index.d.ts index 2d509fd932..cff77d4c97 100644 --- a/types/jquery/v1/index.d.ts +++ b/types/jquery/v1/index.d.ts @@ -622,9 +622,12 @@ interface JQueryMouseEventObject extends JQueryInputEventObject { } interface JQueryKeyEventObject extends JQueryInputEventObject { + /** @deprecated */ char: string; + /** @deprecated */ charCode: number; key: string; + /** @deprecated */ keyCode: number; } From e8e08f3ed179a04085cecbd9dd6c74219f041b54 Mon Sep 17 00:00:00 2001 From: Oscar Busk Date: Wed, 19 Dec 2018 22:19:30 +0100 Subject: [PATCH 14/14] Deprecate which property in jquery/v1 as well --- types/jquery/v1/index.d.ts | 1 + 1 file changed, 1 insertion(+) diff --git a/types/jquery/v1/index.d.ts b/types/jquery/v1/index.d.ts index cff77d4c97..89fe87bde8 100644 --- a/types/jquery/v1/index.d.ts +++ b/types/jquery/v1/index.d.ts @@ -592,6 +592,7 @@ interface BaseJQueryEventObject extends Event { pageY: number; /** * For key or mouse events, this property indicates the specific key or button that was pressed. + * @deprecated Use `key` for KeyEvents or `button` for MouseEvents instead. * @see {@link https://api.jquery.com/event.which/} */ which: number;