JSFiddle - React, Tailwind, and code Playground
HTML
<script src="https://rawgithub.com/javascript/augment/master/augment.js"></script>
<ol></ol>
JavaScript
var ol = document.querySelector("ol");
var EventStream = augment(Object, function () {
this.constructor = function () {
this.listeners = [];
};
this.set = function (a) {
var listeners = this.listeners;
setTimeout(function () {
listeners.forEach(function (listener) {
listener(a);
});
}, 0);
return this;
};
this.get = function (f) {
this.listeners.push(f);
return this;
};
});
var fib = new EventStream;
fib.get(function (x) {
ol.innerHTML += "<li>(" + x + ")</li>";
fib.set([x[1], x[0] + x[1]]);
});
fib.set([0,1]);