Skip to content

Instantly share code, notes, and snippets.

@TylorS
Last active March 31, 2017 23:52
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 TylorS/f03dbde1ebe3044e6e1c020239f8c493 to your computer and use it in GitHub Desktop.
Save TylorS/f03dbde1ebe3044e6e1c020239f8c493 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>
const most = require("most")
const subject = require('most-subject');
const a1 = subject.async();
const a2 = subject.async();
const b1 = a1
.map(v => acc => acc + v)
.scan((acc, handler) => handler(acc), 0);
const b2 = a2
.map(v => acc => acc - v)
.scan((acc, handler) => handler(acc), 0);
b1.subscribe({
next: acc => console.log(`b1: ${acc}`)
});
const b = most.combine(
(b1, b2) => ({
b1,
b2
}),
b1, b2
);
b.subscribe({
next: acc => console.log(`b: ${JSON.stringify(acc)}`)
});
a1.next(150);
{
"name": "esnextbin-sketch",
"version": "0.0.0",
"dependencies": {
"most": "1.2.2",
"most-subject": "5.3.0",
"babel-runtime": "6.22.0"
}
}
"use strict";
var _stringify = require("babel-runtime/core-js/json/stringify");
var _stringify2 = _interopRequireDefault(_stringify);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
var most = require("most");
var subject = require('most-subject');
var a1 = subject.async();
var a2 = subject.async();
var b1 = a1.map(function (v) {
return function (acc) {
return acc + v;
};
}).scan(function (acc, handler) {
return handler(acc);
}, 0);
var b2 = a2.map(function (v) {
return function (acc) {
return acc - v;
};
}).scan(function (acc, handler) {
return handler(acc);
}, 0);
b1.subscribe({
next: function next(acc) {
return console.log("b1: " + acc);
}
});
var b = most.combine(function (b1, b2) {
return {
b1: b1,
b2: b2
};
}, b1, b2);
b.subscribe({
next: function next(acc) {
return console.log("b: " + (0, _stringify2.default)(acc));
}
});
a1.next(150);
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment