elm/core-js/Signal/Time.js

25 lines
No EOL
699 B
JavaScript

Elm.Time = function() {
var every = function(t) {
t *= 1000;
var clock = Elm.Signal.constant(0);
var time = 0;
setInterval(function() {
time += t;
Dispatcher.notify(clock.id, time/1000);
}, t);
return clock;
};
var after = function(t) {
t *= 1000;
var thread = Elm.Signal.constant(false);
setTimeout(function() { Dispatcher.notify(thread.id, true); }, t);
return thread;
};
var before = function(t) {
t *= 1000;
var thread = Elm.Signal.constant(true);
setTimeout(function() { Dispatcher.notify(thread.id, false); }, t);
return thread;
};
return {every:every,after:after,before:before};
}();