on master help sign in
Add the `mergeEither` signal and remove some dead code from Touch.js.
589a16cevancz
core-js/Prelude.js+12
@@ -4,6 +4,16 @@ Value.addListener(document, 'elm_title', function(e) {document.title = e.value;}
4Value.addListener(document, 'elm_redirect', function(e) {
4Value.addListener(document, 'elm_redirect', function(e) {
5 if (e.value.length > 0) { window.location = e.value; }
5 if (e.value.length > 0) { window.location = e.value; }
6 });
6 });
7+Value.addListener(document, 'elm_viewport', function(e) {
8+ var node = document.getElementById('elm_viewport');
9+ if (!node) {
10+ node = document.createElement('meta');
11+ node.id = 'elm_viewport';
12+ node.name = 'viewport';
13+ document.head.appendChild(node);
14+ }
15+ node.content = e.value; //'width=device-width, initial-scale=1';
16+ });
7
17
8Elm.Prelude = function() {
18Elm.Prelude = function() {
9 var mod = function(x) { return function(y) {
19 var mod = function(x) { return function(y) {
@@ -164,6 +174,8 @@ Elm.Prelude = function() {
164 foldp$ : Elm.Signal.foldp$,
174 foldp$ : Elm.Signal.foldp$,
165 constant : Elm.Signal.constant,
175 constant : Elm.Signal.constant,
166 merge : Elm.Signal.merge,
176 merge : Elm.Signal.merge,
177+ merges : Elm.Signal.merges,
178+ mergeEither : Elm.Signal.mergeEither,
167 count : Elm.Signal.count,
179 count : Elm.Signal.count,
168 countIf : Elm.Signal.countIf,
180 countIf : Elm.Signal.countIf,
169 average : Elm.Signal.average,
181 average : Elm.Signal.average,
core-js/Signal/Touch.js−10
@@ -1,16 +1,6 @@
1
1
2Elm.Touch = function() {
2Elm.Touch = function() {
3
3
4− function log(id,msg) {
5− var e = document.getElementById('logger' + id);
6− if (!e) {
7− e = document.createElement('div');
8− e.id = 'logger' + id;
9− document.body.appendChild(e);
10− }
11− e.innerHTML = msg;
12− }
13−
14 function Dict() {
4 function Dict() {
15 this.keys = [];
5 this.keys = [];
16 this.values = [];
6 this.values = [];
core-js/runtime/Signal.js+7
@@ -197,6 +197,12 @@ Elm.Signal = function() {
197 return Elm.List.foldl1(mrg)(ss);
197 return Elm.List.foldl1(mrg)(ss);
198 }
198 }
199
199
200+ function mergeEither(s1) { return function(s2) {
201+ function f(s) { return function(x) { return [s,x]; }; }
202+ return new merge(new lift(f,[s1]), new lift(f,[s2]));
203+ };
204+ }
205+
200 function average(sampleSize) { return function(s) {
206 function average(sampleSize) { return function(s) {
201 var sample = new Array(sampleSize);
207 var sample = new Array(sampleSize);
202 var i = sampleSize;
208 var i = sampleSize;
@@ -256,6 +262,7 @@ Elm.Signal = function() {
256 delay : delay,
262 delay : delay,
257 merge : function(s1) { return function(s2) { return new merge(s1,s2)}; },
263 merge : function(s1) { return function(s2) { return new merge(s1,s2)}; },
258 merges : merges,
264 merges : merges,
265+ mergeEither : mergeEither,
259 average : average,
266 average : average,
260 count : function(sig) {
267 count : function(sig) {
261 var incr = function(_){return function(c){return c+1;};};
268 var incr = function(_){return function(c){return c+1;};};