9 function timeNow() { return (new window.Date).getTime(); }
11 function fpsWhen(desiredFPS, isOn) {
12 var msPerFrame = 1000 / desiredFPS;
13 var prev = timeNow(), curr = prev, diff = 0, wasOn = true;
14 var ticker = Elm.Signal.constant(diff);
15 function tick(zero) { return function() {
17 diff = zero ? 0 : curr - prev;
19 Dispatcher.notify(ticker.id, diff);
25 timeoutID = setTimeout(tick(!wasOn && isOn), msPerFrame);
27 clearTimeout(timeoutID);
32 return Elm.Signal.lift2(F2(f))(isOn)(ticker);
35 function everyWhen(t, isOn) {
36 var clock = Elm.Signal.constant(timeNow());
37 function tellTime() { Dispatcher.notify(clock.id, timeNow()); }
38 setInterval(tellTime, t);
42 function since(t, s) {
43 function cmp(a,b) { return !Value.eq(a,b) }
44 var dcount = Elm.Signal.count(Elm.Signal.delay(t)(s));
45 return Elm.Signal.lift2(F2(cmp))(Elm.Signal.count(s))(dcount);
49 var thread = Elm.Signal.constant(false);
50 setTimeout(function() { Dispatcher.notify(thread.id, true); }, t);
55 var thread = Elm.Signal.constant(true);
56 setTimeout(function() { Dispatcher.notify(thread.id, false); }, t);
60 var t = window.Date.parse(s);
61 return isNaN(t) ? Elm.Maybe.Nothing : Elm.Maybe.Just(t);
64 fpsWhen : F2(fpsWhen),
65 fps : function(t) { return fpsWhen(t, Elm.Signal.constant(true)); },
66 every : function(t) { return everyWhen(t, Elm.Signal.constant(true)) },
67 delay : Elm.Signal.delay,
71 toDate : function(t) { return new window.Date(t); },
keysesc to close
- j k
- move down, up
- enter
- open
- esc
- back, or up a level
- 1 2 3 4
- readme, files, commits, refs
- /
- filter
- y
- copy the clone command
- c
- compare the chosen commit with another (or shift-click both)
- ?
- show or hide this list