1
0
Fork 0
mirror of https://github.com/terribleplan/next.js.git synced 2024-01-19 02:48:18 +00:00
next.js/examples/with-cerebral/modules/clock/provider.js
2017-09-23 16:30:22 +02:00

27 lines
440 B
JavaScript

// milliseconds per second
const SECOND = 1000
let timer = null
export default (context) => {
context.clock = {
start (signalPath) {
const signal = context.controller.getSignal(signalPath)
function tick () {
const now = Date.now()
signal({now})
timer = setTimeout(tick, SECOND - (now % SECOND))
}
tick()
},
stop () {
clearTimeout(timer)
}
}
return context
}