Skip to content
Simple script to send and receive events
JavaScript Makefile HTML
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Type Name Latest commit message Commit time
Failed to load latest commit information.
dist removed: useless apply call Jun 16, 2019
doc removed: namespaced events Jul 24, 2016
test updated: restore coverage Jun 15, 2019
.codeclimate.yml fixed: codeclimate setup Jun 15, 2019
.eslintrc updated: refresh the API using modern es6 syntax Jun 15, 2019
.gitignore wip Jul 11, 2015
.travis.yml updated: node version for travis Jun 15, 2019
LICENSE Initial commit Jun 7, 2015
Makefile updated: refresh the API using modern es6 syntax Jun 15, 2019 updated: codeclimate badge Jun 15, 2019
babel.config.js updated: restore coverage Jun 15, 2019
package-lock.json 4.0.4 Jun 16, 2019
package.json 4.0.4 Jun 16, 2019

Build Status Code Quality NPM version NPM downloads MIT License Coverage Status


Observable is a generic tool to send and receive events. It's a common pattern to isolate modules without forming a dependency or "coupling". By using events a large program can be broken into smaller and simpler units. Modules can be added, removed, or modified without affecting the other parts of the application.

A common practice is to split the application into a single core and multiple extensions. The core sends events any time something remarkable happens: a new item is being added, an existing item is being removed, or something is loaded from the server.

By using the observable the extensions can listen to these events and react to them. They extend the core so that the core is not aware of these modules. This is called "loose coupling".

These extensions can be custom tags (UI components) or non-UI modules.

Once the core and events are carefully designed the team members are enabled to develop the system on their own without disturbing others.




$ npm install @riotjs/observable --save


$ bower install @riotjs/observable --save

You can’t perform that action at this time.