on master help sign in
Debugger: split Signal.constant from Signal.input (for annotation).
55ada9aLaszlo Pandy
libraries/Native/Signal/Keyboard.js+4−3
@@ -17,9 +17,10 @@ Elm.Native.Keyboard.make = function(elm) {
17 var NList = Elm.Native.List.make(elm);
17 var NList = Elm.Native.List.make(elm);
18 var Utils = Elm.Native.Utils.make(elm);
18 var Utils = Elm.Native.Utils.make(elm);
19
19
20+ var NS = Elm.Native.Signal.make(elm);
20− var downEvents = Signal.constant(0);
21+ var downEvents = NS.input(0);
21− var upEvents = Signal.constant(0);
22+ var upEvents = NS.input(0);
22− var blurEvents = Signal.constant(0);
23+ var blurEvents = NS.input(0);
23
24
24 elm.addListener([downEvents.id], document, 'keydown', function down(e) {
25 elm.addListener([downEvents.id], document, 'keydown', function down(e) {
25 elm.notify(downEvents.id, e.keyCode);
26 elm.notify(downEvents.id, e.keyCode);
libraries/Native/Signal/Signal.js+6−1
@@ -205,7 +205,12 @@ Elm.Native.Signal.make = function(elm) {
205 function merges(ss) { return A2(foldr1, F2(merge), ss); }
205 function merges(ss) { return A2(foldr1, F2(merge), ss); }
206
206
207 return elm.Native.Signal.values = {
207 return elm.Native.Signal.values = {
208+ input: function(v) { return new Input(v); },
208− constant : function(v) { return new Input(v); },
209+ constant : function(v) {
210+ var s = new Input(v);
211+ s.nodeType = "constant";
212+ return s;
213+ },
209 lift : F2(lift ),
214 lift : F2(lift ),
210 lift2 : F3(lift2),
215 lift2 : F3(lift2),
211 lift3 : F4(lift3),
216 lift3 : F4(lift3),
libraries/Native/Signal/Time.js+2−2
@@ -13,7 +13,7 @@ Elm.Native.Time.make = function(elm) {
13 function fpsWhen(desiredFPS, isOn) {
13 function fpsWhen(desiredFPS, isOn) {
14 var msPerFrame = 1000 / desiredFPS;
14 var msPerFrame = 1000 / desiredFPS;
15 var prev = Date.now(), curr = prev, diff = 0, wasOn = true;
15 var prev = Date.now(), curr = prev, diff = 0, wasOn = true;
16− var ticker = Signal.constant(diff);
16+ var ticker = NS.input(diff);
17 function tick(zero) { return function() {
17 function tick(zero) { return function() {
18 curr = Date.now();
18 curr = Date.now();
19 diff = zero ? 0 : curr - prev;
19 diff = zero ? 0 : curr - prev;
@@ -35,7 +35,7 @@ Elm.Native.Time.make = function(elm) {
35 }
35 }
36
36
37 function everyWhen(t, isOn) {
37 function everyWhen(t, isOn) {
38− var clock = Signal.constant(Date.now());
38+ var clock = NS.input(Date.now());
39 var id = elm.runDelayed(function tellTime() {
39 var id = elm.runDelayed(function tellTime() {
40 if (elm.notify(clock.id, Date.now())) {
40 if (elm.notify(clock.id, Date.now())) {
41 elm.runDelayed(tellTime, t);
41 elm.runDelayed(tellTime, t);