rx-single
Version:
Reactive Extensions - Represents an asynchronous value or error
110 lines (83 loc) • 3.6 kB
Markdown
# rx-single
Reactive Extensions - represents a deferred computation with an indication for a single value or exception.
[](https://nodei.co/npm/rx-single/)
[](https://www.jsdelivr.com/package/npm/rx-single)
[](http://hits.dwyl.io/lxsmnsyc/rx-single)
| Platform | Build Status |
| --- | --- |
| Linux | [](https://travis-ci.org/LXSMNSYC/rx-single) |
| Windows | [](https://ci.appveyor.com/project/LXSMNSYC/rx-single) |
[](https://codecov.io/gh/LXSMNSYC/rx-single)
[](https://snyk.io/test/github/LXSMNSYC/rx-single?targetFile=package.json)
## Install
NPM
```bash
npm i rx-single
```
CDN
* jsDelivr
```html
<script src="https://cdn.jsdelivr.net/npm/rx-cancellable/dist/index.min.js"></script>
<script src="https://cdn.jsdelivr.net/npm/rx-scheduler/dist/index.min.js"></script>
<script src="https://cdn.jsdelivr.net/npm/rx-single/dist/index.min.js"></script>
```
* unpkg
```html
<script src="https://unpkg.com/rx-cancellable/dist/index.min.js"></script>
<script src="https://unpkg.com/rx-scheduler/dist/index.min.js"></script>
<script src="https://unpkg.com/rx-single/dist/index.min.js"></script>
```
## Usage
### Loading the module
#### CommonJS
```js
const Single = require('rx-single');
```
Loading the CommonJS module provides the Single class.
#### Browser
Loading the JavaScript file for the rx-single provides the Single class
## Documentation
You can read the documentation at the [official doc site](https://lxsmnsyc.github.io/rx-single/)
## Build
Clone the repo first, then run the following to install the dependencies
```bash
npm install
```
To build the coverages, run the test suite, the docs, and the distributable modules:
```bash
npm run build
```
## Changelogs
* 0.12.5
- Cancellable and Scheduler update compliance
* 0.12.0
- Reintroduced `zip`
* 0.11.0
- Massive performance boost
- Renamed `zip` to `zipArray`
- added `ambArray`
* 0.10.0
- Replaced AbortController with [Cancellable](https://lxsmnsyc.github.io/rx-cancellable/).
- Renamed `doOnAbort` with `doOnCancel`
* 0.9.0
- now uses [Schedulers](https://github.com/LXSMNSYC/rx-scheduler)
- `delay`, `delaySubscription`, `timeout` and `timer` now accepts `Schedulers` (defaults to `Scheduler.current`).
- added two new operators: `observeOn` (observes the emissions on a given Scheduler) and `subscribeOn` (subscribes to a given Single on a given Scheduler).
* 0.8.0
- Fixed fromCallable subscription overhead
* 0.7.0
- Replaced operator bindings with operator reference + Function.call
* 0.6.0
- Fixed some operators not guarding observers.
* 0.4.0
- Null values are now guarded. Previously, only undefined values are guarded.
* 0.3.0
- Disposable deprecated. Single now uses AbortController for representing state of disposition.
- Renamed doOnDispose to doOnAbort
* 0.2.0
- onError (both Observer and Emitter) now only accepts Error instances.
- if no onError function is provided for the subscription, the error to be received is thrown instead.
- Single.error now only accepts Error instances.
- fixed error message for Single.amb
* 0.1.0
- Release