@@ -1,22 +1,19 @@
1−/*
2−import Signal
3−import Maybe
4−*/
51
6−(function() {
2+Elm.Native.Time = function(elm) {
73 'use strict';
84
9− function timeNow() { return (new window.Date).getTime(); }
5+ var Signal = Elm.Signal(elm);
6+ var Maybe = Elm.Maybe(elm);
107
118 function fpsWhen(desiredFPS, isOn) {
129 var msPerFrame = 1000 / desiredFPS;
13− var prev = timeNow(), curr = prev, diff = 0, wasOn = true;
14− var ticker = Elm.Signal.constant(diff);
10+ var prev = Date.now(), curr = prev, diff = 0, wasOn = true;
11+ var ticker = Signal.constant(diff);
1512 function tick(zero) { return function() {
16− curr = timeNow();
13+ curr = Date.now();
1714 diff = zero ? 0 : curr - prev;
1815 prev = curr;
19− Dispatcher.notify(ticker.id, diff);
16+ elm.notify(ticker.id, diff);
2017 };
2118 }
2219 var timeoutID = 0;
@@ -29,42 +26,42 @@ import Maybe
2926 wasOn = isOn;
3027 return t;
3128 }
32− return Elm.Signal.lift2(F2(f))(isOn)(ticker);
29+ return A3( Signal.lift2, F2(f), isOn, ticker );
3330 }
3431
3532 function everyWhen(t, isOn) {
36− var clock = Elm.Signal.constant(timeNow());
37− function tellTime() { Dispatcher.notify(clock.id, timeNow()); }
33+ var clock = Signal.constant(Date.now());
34+ function tellTime() { elm.notify(clock.id, Date.now()); }
3835 setInterval(tellTime, t);
3936 return clock;
4037 }
4138
4239 function since(t, s) {
4340 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);
41+ var dcount = Signal.count(Signal.delay(t)(s));
42+ return A3( Signal.lift2, F2(cmp), Signal.count(s), dcount );
4643 }
4744 function after(t) {
4845 t *= 1000;
49− var thread = Elm.Signal.constant(false);
50− setTimeout(function() { Dispatcher.notify(thread.id, true); }, t);
46+ var thread = Signal.constant(false);
47+ setTimeout(function() { elm.notify(thread.id, true); }, t);
5148 return thread;
5249 }
5350 function before(t) {
5451 t *= 1000;
55− var thread = Elm.Signal.constant(true);
56− setTimeout(function() { Dispatcher.notify(thread.id, false); }, t);
52+ var thread = Signal.constant(true);
53+ setTimeout(function() { elm.notify(thread.id, false); }, t);
5754 return thread;
5855 }
5956 function read(s) {
60− var t = window.Date.parse(s);
61− return isNaN(t) ? Elm.Maybe.Nothing : Elm.Maybe.Just(t);
57+ var t = Date.parse(s);
58+ return isNaN(t) ? Maybe.Nothing : Maybe.Just(t);
6259 }
63− Elm.Native.Time = {
60+ return elm.Native.Time = {
6461 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,
62+ fps : function(t) { return fpsWhen(t, Signal.constant(true)); },
63+ every : function(t) { return everyWhen(t, Signal.constant(true)) },
64+ delay : Signal.delay,
6865 since : F2(since),
6966 after : after,
7067 before : before,
@@ -72,4 +69,4 @@ import Maybe
7269 read : read
7370 };
7471
75−}());
72+};