kefir 0,0,0,2,0,3 eslint flowtype travis-ci Bower npm

A Reactive Programming library for JavaScript

Kefir

Kefir — is an Reactive Programming library for JavaScript inspired by Bacon.js and RxJS with focus on high performance and low memory usage.

For docs visit rpominov.github.io/kefir. See also Deprecated API docs.

Build Status Dependency Status devDependency Status Gitter

Installation

Kefir available as NPM and Bower packages, as well as simple files download.

NPM

npm install kefir

Bower

bower install kefir

Download

See downloads section in the docs.

Also available on jsDelivr.

Browsers support

We don't support IE8 and below, aside from that Kefir should work in any browser.

Flow

The NPM package ships with Flow definitions. So you can do something like this if you use Flow:

// @flow

import Kefir from 'kefir'

function foo(numberStream: Kefir.Observable<number>) {
  numberStream.onValue(x => {
    // Flow knows x is a number here
  });
}

const s = Kefir.constant(5);
// Flow can automatically infer the type of values in the stream and determine
// that `s` is of type Kefir.Observable<number> here.
foo(s);

Development

npm run prettify    # makes source code pretty (you must run it before a PR could be merged)
npm run build-js    # builds js bundlers
npm run test        # runs all the checks
npm run test-only   # runs only unit tests without other checks
npm run test-debug  # runs tests with a chrome inspector connected to the node process
npm run build-docs  # builds the documentation html file

Related Repositories

react-combinators

react-combinators

Seamless combination of React and reactive programming ...

rpd

rpd

:ok_hand: A Minimal Engine for creating Node-Based User Interfaces ...

observe-component

observe-component

A library for accessing React component events as reactive streams ...

react-native-reactive

react-native-reactive

React Native Reactive Model-View using react-native-router-flux, Calmm-JS and Ke ...

react-reactive-toolkit

react-reactive-toolkit

React reactive programming toolkit without external dependencies ...


Top Contributors

rpominov rvikmanis shamansir lautis mhelvens AgentME mcmathja mAAdhaTTah raimohanska PhiLhoSoft samhagman sartaj paldepind blesh ozalexo avetisk AyaMorisawa aj0strow boneskull gching greglearns haknick superlogical jasonkuhrt kuraga askmatey salehe phadej olivierguerriat aksonov

Dependencies

package version
symbol-observable 1.0.4
dev @reactivex/rxjs 5.3.0
babel-preset-es2015-loose-rollup 7.0.0
coffee-script 1.12.5
flow-bin 0.50.0
inquirer 0.10.1
jasmine-node 1.14.5
prettier 1.0.2
pug 2.0.0-beta11
rollup 0.41.6
rollup-plugin-babel 2.7.1
rollup-plugin-commonjs 8.0.2
rollup-plugin-node-resolve 3.0.0
rollup-plugin-uglify 1.0.1
semver 5.3.0
shelljs 0.5.3
sinon 1.17.1
transducers-js 0.4.174
transducers.js 0.3.2
zen-observable 0.5.1

Releases

-   3.5.1 zip tar
-   3.5.0 zip tar
-   3.4.0 zip tar
-   3.3.0 zip tar
-   3.2.6 zip tar
-   3.2.5 zip tar
-   3.2.4 zip tar
-   3.2.3 zip tar
-   3.2.2 zip tar
-   3.2.1 zip tar
-   3.2.0 zip tar
-   3.1.0 zip tar
-   3.0.0 zip tar
-   3.0.0-rc.0 zip tar
-   2.8.2 zip tar
-   2.8.1 zip tar
-   2.8.0 zip tar
-   2.7.2 zip tar
-   2.7.1 zip tar
-   2.7.0 zip tar
-   2.6.0 zip tar
-   2.5.0 zip tar
-   2.4.1 zip tar
-   2.4.0 zip tar
-   2.3.0 zip tar
-   2.2.1 zip tar
-   2.2.0 zip tar
-   2.1.0 zip tar
-   2.0.2 zip tar
-   2.0.1 zip tar