blips
Version:
State management for the GraphQL heads
21 lines (19 loc) • 409 B
JavaScript
import Observable from 'zen-observable'
export function toObservable (iterator) {
return new Observable(observer => {
;(async () => {
try {
for await (const tick of iterator) {
observer.next(tick)
}
} catch (e) {
iterator.return()
observer.error(e)
}
})()
return () => {
observer.complete()
iterator.return()
}
})
}