https://github.com/alexaegis/svelte-rxjs-observer
A simple typesafe observer component for svelte
https://github.com/alexaegis/svelte-rxjs-observer
javascript library npm observable observer rxjs subscribe svelte sveltejs typescript
Last synced: 2 months ago
JSON representation
A simple typesafe observer component for svelte
- Host: GitHub
- URL: https://github.com/alexaegis/svelte-rxjs-observer
- Owner: AlexAegis
- License: mit
- Created: 2022-10-04T19:11:18.000Z (almost 4 years ago)
- Default Branch: master
- Last Pushed: 2024-05-21T15:12:52.000Z (about 2 years ago)
- Last Synced: 2025-02-28T00:41:53.173Z (over 1 year ago)
- Topics: javascript, library, npm, observable, observer, rxjs, subscribe, svelte, sveltejs, typescript
- Language: Svelte
- Homepage: https://alexaegis.github.io/svelte-rxjs-observer/
- Size: 1.13 MB
- Stars: 0
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: readme.md
- Changelog: CHANGELOG.md
- Funding: .github/funding.yml
- License: license
Awesome Lists containing this project
README
# [svelte-rxjs-observer](https://github.com/AlexAegis/svelte-rxjs-observer#readme)
[](https://www.npmjs.com/package/svelte-rxjs-observer)
[](https://github.com/AlexAegis/svelte-rxjs-observer/actions/workflows/cicd.yml)
[](https://app.codacy.com/gh/AlexAegis/svelte-rxjs-observer/dashboard?utm_source=gh&utm_medium=referral&utm_content=&utm_campaign=Badge_grade)
[](https://codecov.io/github/AlexAegis/svelte-rxjs-observer)
[](https://vercel.com/alexaegis/svelte-rxjs-observer)
A tiny component that observes observables for you
[Example app available @ Vercel](https://svelte-rxjs-observer.vercel.app/)
## Usage
Install:
```sh
npm install svelte-rxjs-observer
```
## Examples
### Simple
```svelte
import { Subject } from 'rxjs';
import { Observer } from 'svelte-rxjs-observer';
let subject = new Subject<number>();
{next}
loading...
```
### Typed error and completion states
```svelte
import { Subject } from 'rxjs';
import { Observer } from 'svelte-rxjs-observer';
let subject = new Subject<number>();
let errorType: TypeError; // Optinal typehint for the error
{stringify({ next })}
{stringify({ slot: 'pending' })}
{stringify({ slot: 'error', error: { message: error.message }, last })}
{stringify({ slot: 'completed', last })}
```