Skip to content

Instantly share code, notes, and snippets.

@arecvlohe
Last active August 18, 2016 12:40
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save arecvlohe/79affebef6c6651c62b9cd6bf3be6bcb to your computer and use it in GitHub Desktop.
Save arecvlohe/79affebef6c6651c62b9cd6bf3be6bcb to your computer and use it in GitHub Desktop.
esnextbin sketch
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>ESNextbin Sketch</title>
<!-- put additional styles and scripts here -->
</head>
<body>
<!-- put markup and other contents here -->
</body>
</html>
// write ES2015 code and import modules from npm
// and then press "Execute" to run your program
import Rx from 'rxjs/Rx';
const buttonAdd = document.createElement('button')
buttonAdd.textContent = 'Add'
document.body.appendChild(buttonAdd)
const buttonSub = document.createElement('button')
buttonSub.textContent = 'Subtract'
document.body.appendChild(buttonSub)
const time = document.createElement('p')
time.textContent = 0
document.body.appendChild(time)
const start_ = Rx.Observable.fromEvent(buttonAdd, 'click').mapTo(1)
const stop_ = Rx.Observable.fromEvent(buttonSub, 'click').mapTo(-1)
const combine_ = Rx.Observable
.merge(start_, stop_)
.scan((acc, curr) => acc + curr, 0)
combine_.subscribe(
x => { time.textContent = `${x}` },
err => { console.error(err) },
() => { console.log('Done!') }
)
{
"name": "simple-rxjs-counter",
"version": "0.0.0",
"dependencies": {
"rxjs": "5.0.0-beta.11"
}
}
'use strict';
var _Rx = require('rxjs/Rx');
var _Rx2 = _interopRequireDefault(_Rx);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
var buttonAdd = document.createElement('button'); // write ES2015 code and import modules from npm
// and then press "Execute" to run your program
buttonAdd.textContent = 'Add';
document.body.appendChild(buttonAdd);
var buttonSub = document.createElement('button');
buttonSub.textContent = 'Subtract';
document.body.appendChild(buttonSub);
var time = document.createElement('p');
time.textContent = 0;
document.body.appendChild(time);
var start_ = _Rx2.default.Observable.fromEvent(buttonAdd, 'click').mapTo(1);
var stop_ = _Rx2.default.Observable.fromEvent(buttonSub, 'click').mapTo(-1);
var combine_ = _Rx2.default.Observable.merge(start_, stop_).scan(function (acc, curr) {
return acc + curr;
}, 0);
combine_.subscribe(function (x) {
time.textContent = '' + x;
}, function (err) {
console.error(err);
}, function () {
console.log('Done!');
});
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment