@@ -1,11 +1,13 @@
1−/*
2−import Signal
3−import JavaScript
4−*/
51
6−(function() {
2+Elm.Native.Touch = function(elm) {
73 'use strict';
84
5+ elm.Native = elm.Native || {};
6+ if (elm.Native.Touch) return elm.Native.Touch;
7+
8+ var Signal = Elm.Signal(elm);
9+ var JS = Elm.JavaScript(elm);
10+
911 function Dict() {
1012 this.keys = [];
1113 this.values = [];
@@ -28,7 +30,7 @@ import JavaScript
2830 };
2931 }
3032
31− var root = Elm.Signal.constant([]),
33+ var root = Signal.constant([]),
3234 tapTime = 500,
3335 hasTap = false,
3436 tap = {_:{},x:0,y:0},
@@ -76,24 +78,23 @@ import JavaScript
7678 listen("touchleave", end);
7779
7880 function dependency(f) {
79− var sig = Elm.Signal.lift(f)(root);
81+ var sig = A2( Signal.lift, f, root );
8082 root.defaultNumberOfKids += 1;
8183 sig.defaultNumberOfKids = 0;
8284 return sig;
8385 }
8486
85− var touches = dependency(function(ts) {
86− return Elm.JavaScript.castJSArrayToList(ts);
87− });
87+ var touches = dependency(JS.fromList);
8888
8989 var taps = function() {
9090 var sig = dependency(function(_) { return tap; });
9191 sig.defaultNumberOfKids = 1;
9292 function pred(_) { var b = hasTap; hasTap = false; return b; }
93− var sig2 = Elm.Signal.keepIf(pred)({_:{},x:0,y:0})(sig);
93+ var sig2 = A3( Signal.keepIf, pred, {_:{},x:0,y:0}, sig);
9494 sig2.defaultNumberOfKids = 0;
9595 return sig2;
9696 }();
9797
98− Elm.Native.Touch = { touches: touches, taps: taps };
99−}());
98+ return elm.Native.Touch = { touches: touches, taps: taps };
99+
100+};