From e3176633e82912a934f1b05c843c31ce07cef8a0 Mon Sep 17 00:00:00 2001 From: Yaacov Rydzinski Date: Sun, 1 Nov 2020 21:59:10 +0200 Subject: [PATCH] fix(utils): observableToAsyncIterable return type (#2177) revert to old behavior of returning an AsyncIterableIterator --- .changeset/wet-garlics-tickle.md | 5 ++++ .../utils/src/observableToAsyncIterable.ts | 27 +++++++++---------- 2 files changed, 18 insertions(+), 14 deletions(-) create mode 100644 .changeset/wet-garlics-tickle.md diff --git a/.changeset/wet-garlics-tickle.md b/.changeset/wet-garlics-tickle.md new file mode 100644 index 00000000000..ca8c361f670 --- /dev/null +++ b/.changeset/wet-garlics-tickle.md @@ -0,0 +1,5 @@ +--- +'@graphql-tools/utils': patch +--- + +fix(utils): revert to old observableToAsyncIterable return type diff --git a/packages/utils/src/observableToAsyncIterable.ts b/packages/utils/src/observableToAsyncIterable.ts index 5407bc55f31..d9e23303b38 100644 --- a/packages/utils/src/observableToAsyncIterable.ts +++ b/packages/utils/src/observableToAsyncIterable.ts @@ -14,7 +14,7 @@ export interface Observable { export type Callback = (value?: any) => any; -export function observableToAsyncIterable(observable: Observable): AsyncIterable { +export function observableToAsyncIterable(observable: Observable): AsyncIterableIterator { const pullQueue: Array = []; const pushQueue: Array = []; @@ -70,20 +70,19 @@ export function observableToAsyncIterable(observable: Observable): AsyncIt }; return { + next() { + return listening ? pullValue() : this.return(); + }, + return() { + emptyQueue(); + return Promise.resolve({ value: undefined, done: true }); + }, + throw(error) { + emptyQueue(); + return Promise.reject(error); + }, [Symbol.asyncIterator]() { - return { - next() { - return listening ? pullValue() : this.return(); - }, - return() { - emptyQueue(); - return Promise.resolve({ value: undefined, done: true }); - }, - throw(error) { - emptyQueue(); - return Promise.reject(error); - }, - }; + return this; }, }; }