JSFiddle - React, Tailwind, and code Playground
by vikikamath
HTML
<script src="//cdnjs.cloudflare.com/ajax/libs/bacon.js/0.7.49/Bacon.min.js"></script>
JavaScript
var currVal, prevVal;
var computeScreenId = function(){
var now = new Date()
prevVal = currVal // update state of screenId
currVal = now.getTime()
return {
"type": "screenLoaded",
"currVal": currVal,
"prevVal": prevVal
}
}
Bacon.fromArray([{
type: 'ready'
}, {
type: 'action'
}, {
type: 'ready'
}, {
type: 'ready'
}, {
type: 'ready'
}, {
type: 'action'
}, {
type: 'ready'
}, {
type: 'ready'
}]) // analyticsStream.plug(hashchangeStream)
.map(function (e) {
if (e.type === 'ready') { // send screenLoaded event
return computeScreenId();
} else { // return action event
e['currVal'] = currVal
e['prevVal'] = prevVal
return e;
}
})
.log()
//.log()