RxLua

Reactive Extensions for Lua

Github stars Tracking Chart

RxLua Build Status Coverage Status

Reactive Extensions for Lua.

RxLua gives Lua the power of Observables, which are data structures that represent a stream of values that arrive over time. They're very handy when dealing with events, streams of data, asynchronous requests, and concurrency.

Getting Started

Lua

Copy the rx.lua file into your project and require it:

local rx = require 'rx'

You can also install RxLua using luarocks:

luarocks install bjornbytes/rxlua

Luvit

Install using lit:

lit install bjornbytes/rx

Then require it:

local rx = require 'rx'

Love2D

See RxLove.

Example Usage

Use RxLua to construct a simple cheer:

local Rx = require 'rx'

Rx.Observable.fromRange(1, 8)
  :filter(function(x) return x % 2 == 0 end)
  :concat(Rx.Observable.of('who do we appreciate'))
  :map(function(value) return value .. '!' end)
  :subscribe(print)

-- => 2! 4! 6! 8! who do we appreciate!

See examples for more.

Resources

Tests

Uses lust. Run with:

lua tests/runner.lua

or, to run a specific test:

lua tests/runner.lua skipUntil

License

MIT, see LICENSE for details.

Main metrics

Overview
Name With Owneryesco/esp-lisp
Primary LanguageC
Program languageLua (Language Count: 7)
Platform
License:Mozilla Public License 2.0
所有者活动
Created At2015-09-29 17:34:16
Pushed At2018-10-26 13:44:22
Last Commit At2018-10-26 06:44:02
Release Count4
Last Release Name0.2 (Posted on )
First Release Name0.1.0 (Posted on )
用户参与
Stargazers Count258
Watchers Count29
Fork Count22
Commits Count265
Has Issues Enabled
Issues Count8
Issue Open Count3
Pull Requests Count4
Pull Requests Open Count1
Pull Requests Close Count1
项目设置
Has Wiki Enabled
Is Archived
Is Fork
Is Locked
Is Mirror
Is Private