From 323e49bc6ef6f792103bd579813468f5dc148704 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Douglas=20Gad=C3=AAlha?= Date: Thu, 3 Aug 2023 22:34:53 +0000 Subject: [PATCH 1/4] feat: handle AbortSignal on asyncIterator symbol --- src/base/ResourceWatch.ts | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/base/ResourceWatch.ts b/src/base/ResourceWatch.ts index 7d4be28..f8d651e 100644 --- a/src/base/ResourceWatch.ts +++ b/src/base/ResourceWatch.ts @@ -31,7 +31,11 @@ export class ResourceWatch> private lastSeemResourceVersion?: string, ) {} - [Symbol.asyncIterator]() { + [Symbol.asyncIterator](signal?: AbortSignal) { + if (signal) { + signal.onabort = this.close; + } + return this; } From d1e5a0872c001198b3f84ebe508deeb4b9f4b286 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Douglas=20Gad=C3=AAlha?= Date: Thu, 3 Aug 2023 19:42:55 -0300 Subject: [PATCH 2/4] chore: use addEventListener Co-authored-by: Guilherme Bernal --- src/base/ResourceWatch.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/base/ResourceWatch.ts b/src/base/ResourceWatch.ts index f8d651e..cfe60e1 100644 --- a/src/base/ResourceWatch.ts +++ b/src/base/ResourceWatch.ts @@ -33,7 +33,7 @@ export class ResourceWatch> [Symbol.asyncIterator](signal?: AbortSignal) { if (signal) { - signal.onabort = this.close; + signal.addEventListener("abort", () => this.close()); } return this; From 1c30de8558dbfe77d0b951e2c8fa20689e456d78 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Douglas=20Gad=C3=AAlha?= Date: Thu, 3 Aug 2023 19:43:43 -0300 Subject: [PATCH 3/4] style: adjust code style --- src/base/ResourceWatch.ts | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/src/base/ResourceWatch.ts b/src/base/ResourceWatch.ts index cfe60e1..227565d 100644 --- a/src/base/ResourceWatch.ts +++ b/src/base/ResourceWatch.ts @@ -32,10 +32,7 @@ export class ResourceWatch> ) {} [Symbol.asyncIterator](signal?: AbortSignal) { - if (signal) { - signal.addEventListener("abort", () => this.close()); - } - + signal?.addEventListener("abort", () => this.close()); return this; } From 45c84de41752b3b067028108299e0beb346df666 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Douglas=20Gad=C3=AAlha?= Date: Thu, 3 Aug 2023 19:46:15 -0300 Subject: [PATCH 4/4] style: use .bind(this) --- src/base/ResourceWatch.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/base/ResourceWatch.ts b/src/base/ResourceWatch.ts index 227565d..5be2623 100644 --- a/src/base/ResourceWatch.ts +++ b/src/base/ResourceWatch.ts @@ -32,7 +32,7 @@ export class ResourceWatch> ) {} [Symbol.asyncIterator](signal?: AbortSignal) { - signal?.addEventListener("abort", () => this.close()); + signal?.addEventListener("abort", this.close.bind(this)); return this; }