Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/amaui-org/amaui-subscription

Subscription methods management
https://github.com/amaui-org/amaui-subscription

amaui back-end backend browser front-end frontend javascript js library node nodejs sub subscription subscriptions typescript utils web

Last synced: about 2 months ago
JSON representation

Subscription methods management

Awesome Lists containing this project

README

        



amaui logo

amaui Subscription


Subscription methods management



MIT license    
Production ready    
UMD 2.7kb gzipped    
100% test cov    
Browser and Nodejs


Very simple code    
Modern code    
Junior friendly    
Typescript    
Made with :yellow_heart:


## Getting started

### Add

```sh
yarn add @amaui/subscription
```

### Use

```javascript
import AmauiSubscription from '@amaui/subscription';

// Make a new subscription instance
// with an optional initial value
const amauiSub = new AmauiSubscription('🙂');

// Value
amauiSub.value;

// '🙂'

const method = (...value) => console.log('Yup, I got it ', ...value);

const method1 = value => console.log('Yup, I got it as well ', value);

// Methods subscribe
amauiSub.subscribe(method);

amauiSub.subscribe(method1);

// Emit a value to all subscribed methods
// a value always emitted as arguments received by emit method
amauiSub.emit('🌱', '🌱', '🌱', '🌱');

// method, log:
// Yup, I got it 🌱 🌱 🌱 🌱

// method1, log:
// Yup, I got it as well 🌱

// Methods unsubscribe
amauiSub.unsubscribe(method);

amauiSub.unsubscribe(method1);

// or with anonymous method
const subscription = amauiSub.subscribe(value => console.log(value));

subscription.unsubscribe();
```

### Dev

Install

```sh
yarn
```

Test

```sh
yarn test
```

### Prod

Build

```sh
yarn build
```