https://github.com/parzh/observable-to-async-generator
Convert an observable to ES6 async generator
https://github.com/parzh/observable-to-async-generator
async async-generator await convert create function generator iterable iterator javascript observable otag rxjs typescript yield
Last synced: 2 months ago
JSON representation
Convert an observable to ES6 async generator
- Host: GitHub
- URL: https://github.com/parzh/observable-to-async-generator
- Owner: parzh
- Created: 2020-07-11T21:32:27.000Z (almost 5 years ago)
- Default Branch: main
- Last Pushed: 2025-02-03T02:07:47.000Z (5 months ago)
- Last Synced: 2025-05-01T19:40:46.952Z (2 months ago)
- Topics: async, async-generator, await, convert, create, function, generator, iterable, iterator, javascript, observable, otag, rxjs, typescript, yield
- Language: TypeScript
- Homepage: https://npmjs.com/package/observable-to-async-generator
- Size: 929 KB
- Stars: 14
- Watchers: 2
- Forks: 1
- Open Issues: 7
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# `observable-to-async-generator`
Convert an observable to ES6 async generator.
### Why `observable-to-async-generator`?
- it has no dependencies;
- it is always 100% covered with unit tests;
- it is written in TypeScript;
- it can be [extended with a PR](https://github.com/parzh/observable-to-async-generator/fork);# Import
```ts
import otag from "observable-to-async-generator";
```… or:
```js
const otag = require("observable-to-async-generator").default;
```# Usage
```ts
try {
for await (const item of otag(observable)) {
doSomethingWith(item);
}
} catch (error) {
handle(error);
}
```# Notes
- `rxjs` is a peer dependency for this package; it is primarily used to add types on the development stage. These type imports are then removed from the JavaScript output, but are still present in `*.d.ts` files. In case if the type information is needed to you (for example, if your package/application is also written in TypeScript), you should install `rxjs` manually; inspect the `peerDependencies` object inside of [`observable-to-async-generator`'s `package.json` file](https://github.com/parzh/observable-to-async-generator/blob/v1.0.1-rc/package.json) to find the appropriate version of `rxjs` to install.