Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
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: 1 day 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 (over 4 years ago)
- Default Branch: main
- Last Pushed: 2024-12-30T01:59:14.000Z (27 days ago)
- Last Synced: 2025-01-04T09:54:59.935Z (22 days 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: 916 KB
- Stars: 13
- Watchers: 3
- Forks: 2
- Open Issues: 6
-
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.