on master help sign in
Fix `join` and fix `show`
9c74b86evancz
libraries/Native/List.js+2−1
@@ -229,7 +229,8 @@ Elm.Native.List = function(elm) {
229 var out = toArray(xss._0);
229 var out = toArray(xss._0);
230 xss = xss._1;
230 xss = xss._1;
231 while (xss.ctor === "Cons") {
231 while (xss.ctor === "Cons") {
232− out += s + toArray(xss._0);
232+ out = out.concat(s, toArray(xss._0));
233+ xss = xss._1;
233 }
234 }
234 return fromArray(out);
235 return fromArray(out);
235 }
236 }
libraries/Native/Show.js+11−6
@@ -56,14 +56,19 @@ Elm.Native.Show = function(elm) {
56 } else if ('ctor' in v) {
56 } else if ('ctor' in v) {
57 if (v.ctor.substring(0,5) === "Tuple") {
57 if (v.ctor.substring(0,5) === "Tuple") {
58 var output = [];
58 var output = [];
59+ for (var k in v) {
60+ if (k === 'ctor') continue;
59− for (var k in v) { if (k === 'ctor') continue; output.push(toString(v[k])); }
61+ output.push(toString(v[k]));
62+ }
60 return "(" + output.join(",") + ")";
63 return "(" + output.join(",") + ")";
61 } else if (v.ctor === "Cons") {
64 } else if (v.ctor === "Cons") {
62− var isStr = typeof v._0 === "string";
65+ var isStr = typeof v._0 === "string",
63− var start = isStr ? '"' : "[";
66+ start = isStr ? '"' : "[",
64− var end = isStr ? '"' : "]";
67+ end = isStr ? '"' : "]",
65− var sep = isStr ? "" : ",";
68+ sep = isStr ? "" : ",",
66− var f = isStr ? function(x){return x} : toString;
69+ f = !isStr ? toString : function(x){
70+ return x === '\n' ? '\\n' : x;
71+ };
67 var output = start + f(v._0);
72 var output = start + f(v._0);
68 v = v._1;
73 v = v._1;
69 while (v.ctor === "Cons") {
74 while (v.ctor === "Cons") {