rx.disposables
Version:
Library for Disposables which can be used independently from RxJS
101 lines (64 loc) • 2.17 kB
Markdown
# `Disposable` class #
Provides a set of static methods for creating Disposables, which defines a method to release allocated resources.
## Usage ##
The follow example shows the basic usage of an `Disposable`.
```js
const d1 = Disposable.create(() => console.log('disposed'));
disposable.dispose();
// => disposed
```
## `Disposable` Class Methods ##
- [`create`](#disposablecreateaction)
- [`isDisposable`](#disposableisdisposabled)
## `Disposable` Class Properties ##
- [`empty`](#disposableempty)
## `Disposable` Instance Methods ##
- [`dispose`](#disposableprototypedispose)
## _Class Methods_ ##
### <a id="disposablecreateaction"></a>`Disposable.create(action)`
Creates a disposable object that invokes the specified action when disposed.
#### Arguments
1. `action` `Function`: Function to run during the first call to `dispose`. The action is guaranteed to be run at most once.
#### Returns
`Disposable`: The disposable object that runs the given action upon disposal.
#### Example
```js
const d1 = Disposable.create(() => console.log('disposed'));
disposable.dispose();
// => disposed
```
* * *
### <a id="disposableisdisposabled"></a>`Disposable.isDisposable(d)`
Creates a disposable object that invokes the specified action when disposed.
#### Arguments
1. `d`: `Object` - Object to validate whether it has a dispose method.
#### Returns
`Boolean` - `true` if is a disposable object, else `false`.
#### Example
```js
const disposable = Disposable.empty;
console.log(disposable.isDisposable(disposable));
// => true
```
* * *
## _Disposable Class Properties_ ##
### <a id="disposableempty"></a>`Disposable.empty`
Gets the disposable that does nothing when disposed.
#### Returns
`Disposable`: The disposable that does nothing when disposed.
#### Example
```js
const disposable = Disposable.empty;
disposable.dispose(); // Does nothing
```
* * *
## _Disposable Instance Methods_ ##
### <a id="disposableprototypedispose"></a>`Disposable.prototype.dispose()`
Performs the task of cleaning up resources.
#### Example
```js
const d1 = Disposable.create(() => console.log('disposed'));
disposable.dispose();
// => disposed
```
* * *