|
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139 |
- # Brcast
-
- > Tiny data broadcaster with 0 dependencies
-
- [](https://travis-ci.org/vesparny/brcast)
- [](https://codecov.io/github/vesparny/brcast)
- [](https://david-dm.org/vesparny/brcast)
- [](https://www.npmjs.com/package/brcast)
- [](https://npm-stat.com/charts.html?package=brcast&from=2017-04-01)
- [](http://standardjs.com/)
- [](https://github.com/vesparny/brcast/blob/master/LICENSE)
-
- The current size of `brcast/dist/brcast.umd.min.js` is:
-
- [](https://unpkg.com/brcast/dist/)
-
- It's like a data store you can subscribe to, with a setter to pump data in.
- For browsers and node.
-
- ## Table of Contents
-
- - [Install](#install)
- - [Usage](#usage)
- - [API](#API)
- - [Testing](#tests)
- - [License](#license)
-
- ## Install
-
- This project uses [node](http://nodejs.org) and [npm](https://npmjs.com). Go check them out if you don't have them locally installed.
-
- ```sh
- $ npm install --save brcast
- ```
-
- Then with a module bundler like [rollup](http://rollupjs.org/) or [webpack](https://webpack.js.org/), use as you would anything else:
-
- ```javascript
- // using ES6 modules
- import brcast from 'brcast'
-
- // using CommonJS modules
- var brcast = require('brcast')
- ```
-
- The [UMD](https://github.com/umdjs/umd) build is also available on [unpkg](https://unpkg.com):
-
- ```html
- <script src="https://unpkg.com/brcast/dist/brcast.umd.js"></script>
- ```
-
- You can find the library on `window.brcast`.
-
- ## Usage
-
- ```js
- import brcast from 'brcast'
-
- let broadcast = brcast()
-
- // subscribe
- const subscriptionId = broadcast.subscribe(state => console.log(state))
-
- // setState sets the state and invoke all subscription callbacks passing in the state
- broadcast.setState(1)
-
- // setState returns the current state
- broadcast.getState()
-
- // unsubscribe to unbind the handler
- broadcast.unsubscribe(subscriptionId)
- ```
-
- ## API
-
- ### `brcast([initialState])`
-
- Creates a `broadcast` object.
-
- #### Arguments
-
- 1 - [`initialState`] *(any)*: The initial state.
-
- #### Returns
-
- (`broadcast`): An object that holds the state.
-
- ### `broadcast.setState(state)`
-
- Store the new state.
-
- #### Arguments
-
- 1 - `state` *(any)*: The new state.
-
- #### Returns
-
- Nothing.
-
- ### `broadcast.getState()`
-
- Get the stored state.
-
- #### Returns
-
- (`Any`): The stored state.
-
- ### `broadcast.subscribe(handler)`
-
- Subscribe to state changes.
-
- #### Arguments
-
- 1 - `handler` *(Function)*: The callback to be invoked any time the state changes.
-
- #### Returns
-
- (`Number`): The subscription id to be used to unsubscribe.
-
- ### `broadcast.unsubscribe(subscriptionId)`
-
- Unsubscribe the change listener.
-
- #### Arguments
-
- 1 - `subscriptionId` *(Number)*: The subscription id returned by subscribing.
-
- #### Returns
-
- Nothing.
-
- ## Tests
-
- ```sh
- $ npm run test
- ```
-
-
- [MIT License](LICENSE.md) © [Alessandro Arnodo](https://alessandro.arnodo.net/)
|