on master help sign in
Fix indentation
d47614cevancz
libraries/Native/Show.js+98−98
@@ -1,106 +1,106 @@
1
1
2Elm.Native.Show = function(elm) {
2Elm.Native.Show = function(elm) {
3− 'use strict';
3+ 'use strict';
4
4
5− elm.Native = elm.Native || {};
5+ elm.Native = elm.Native || {};
6− if (elm.Native.Show) return elm.Native.Show;
6+ if (elm.Native.Show) return elm.Native.Show;
7
7
8− var NList = Elm.Native.List(elm);
8+ var NList = Elm.Native.List(elm);
9− var List = Elm.List(elm);
9+ var List = Elm.List(elm);
10− var Maybe = Elm.Maybe(elm);
10+ var Maybe = Elm.Maybe(elm);
11− var JS = Elm.JavaScript(elm);
11+ var JS = Elm.JavaScript(elm);
12− var Dict = Elm.Dict(elm);
12+ var Dict = Elm.Dict(elm);
13− var Json = Elm.Json(elm);
13+ var Json = Elm.Json(elm);
14
14
15− elm.node.addEventListener('log', function(e) { console.log(e.value); });
15+ elm.node.addEventListener('log', function(e) { console.log(e.value); });
16− elm.node.addEventListener('title', function(e) {document.title = e.value;});
16+ elm.node.addEventListener('title', function(e) {document.title = e.value;});
17− elm.node.addEventListener('redirect', function(e) {
17+ elm.node.addEventListener('redirect', function(e) {
18− if (e.value.length > 0) { window.location = e.value; }
18+ if (e.value.length > 0) { window.location = e.value; }
19− });
19+ });
20− elm.node.addEventListener('viewport', function(e) {
20+ elm.node.addEventListener('viewport', function(e) {
21− var node = document.getElementById('elm_viewport');
21+ var node = document.getElementById('elm_viewport');
22− if (!node) {
22+ if (!node) {
23− node = document.createElement('meta');
23+ node = document.createElement('meta');
24− node.id = 'elm_viewport';
24+ node.id = 'elm_viewport';
25− node.name = 'viewport';
25+ node.name = 'viewport';
26− document.head.appendChild(node);
26+ document.head.appendChild(node);
27− }
27+ }
28− node.content = e.value;
28+ node.content = e.value;
29− Dispatcher.notify(elm.Window.dimensions.id,
29+ Dispatcher.notify(elm.Window.dimensions.id,
30− Tuple2(elm.node.clientWidth, elm.node.clientHeight));
30+ Tuple2(elm.node.clientWidth, elm.node.clientHeight));
31− });
31+ });
32
32
33− var toString = function(v) {
33+ var toString = function(v) {
34− if (typeof v === "function") {
34+ if (typeof v === "function") {
35− return "<function>";
35+ return "<function>";
36− } else if (typeof v === "boolean") {
36+ } else if (typeof v === "boolean") {
37− return v ? "True" : "False";
37+ return v ? "True" : "False";
38− } else if (typeof v === "number") {
38+ } else if (typeof v === "number") {
39− return v+"";
39+ return v+"";
40− } else if (typeof v === "string" && v.length < 2) {
40+ } else if (typeof v === "string" && v.length < 2) {
41− return "'"+v+"'";
41+ return "'"+v+"'";
42− } else if (typeof v === "object" && ('_' in v)) {
42+ } else if (typeof v === "object" && ('_' in v)) {
43− var output = [];
43+ var output = [];
44− for (var k in v._) {
44+ for (var k in v._) {
45− console.log(k,v._[k]);
45+ console.log(k,v._[k]);
46− for (var i = v._[k].length; i--; ) {
46+ for (var i = v._[k].length; i--; ) {
47− output.push(k + " = " + toString(v._[k][i]));
47+ output.push(k + " = " + toString(v._[k][i]));
48− }
48+ }
49− }
49+ }
50− for (var k in v) {
50+ for (var k in v) {
51− if (k === '_') continue;
51+ if (k === '_') continue;
52− output.push(k + " = " + toString(v[k]));
52+ output.push(k + " = " + toString(v[k]));
53− }
53+ }
54− if (output.length === 0) return "{}";
54+ if (output.length === 0) return "{}";
55− return "{ " + output.join(", ") + " }";
55+ return "{ " + output.join(", ") + " }";
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) {
59+ for (var k in v) {
60− if (k === 'ctor') continue;
60+ if (k === 'ctor') continue;
61− output.push(toString(v[k]));
61+ output.push(toString(v[k]));
62− }
62+ }
63− return "(" + output.join(",") + ")";
63+ return "(" + output.join(",") + ")";
64− } else if (v.ctor === "Cons") {
64+ } else if (v.ctor === "Cons") {
65− var isStr = typeof v._0 === "string",
65+ var isStr = typeof v._0 === "string",
66− start = isStr ? '"' : "[",
66+ start = isStr ? '"' : "[",
67− end = isStr ? '"' : "]",
67+ end = isStr ? '"' : "]",
68− sep = isStr ? "" : ",",
68+ sep = isStr ? "" : ",",
69− f = !isStr ? toString : function(x){
69+ f = !isStr ? toString : function(x){
70− return x === '\n' ? '\\n' : x;
70+ return x === '\n' ? '\\n' : x;
71− };
71+ };
72− var output = start + f(v._0);
72+ var output = start + f(v._0);
73− v = v._1;
73+ v = v._1;
74− while (v.ctor === "Cons") {
74+ while (v.ctor === "Cons") {
75− output += sep + f(v._0);
75+ output += sep + f(v._0);
76− v = v._1;
76+ v = v._1;
77− }
77+ }
78− return output + end;
78+ return output + end;
79− } else if (v.ctor === "Nil") {
79+ } else if (v.ctor === "Nil") {
80− return "[]";
80+ return "[]";
81− } else if (v.ctor === "RBNode" || v.ctor === "RBEmpty") {
81+ } else if (v.ctor === "RBNode" || v.ctor === "RBEmpty") {
82− var cons = F3(function(k,v,acc){return NList.Cons(Tuple2(k,v),acc)});
82+ var cons = F3(function(k,v,acc){return NList.Cons(Tuple2(k,v),acc)});
83− var list = A3(Dict.foldr, cons, NList.Nil, v);
83+ var list = A3(Dict.foldr, cons, NList.Nil, v);
84− var name = "Dict";
84+ var name = "Dict";
85− if (list.ctor === "Cons" && list._0._1.ctor === "Tuple0") {
85+ if (list.ctor === "Cons" && list._0._1.ctor === "Tuple0") {
86− name = "Set";
86+ name = "Set";
87− list = A2(List.map, function(x){return x._0}, list);
87+ list = A2(List.map, function(x){return x._0}, list);
88− }
88+ }
89− return name + ".fromList " + toString(list);
89+ return name + ".fromList " + toString(list);
90− } else {
90+ } else {
91− var output = "";
91+ var output = "";
92− for (var i in v) {
92+ for (var i in v) {
93− if (i === 'ctor') continue;
93+ if (i === 'ctor') continue;
94− var str = toString(v[i]);
94+ var str = toString(v[i]);
95− var parenless = str[0] === '{' || str.indexOf(' ') < 0;
95+ var parenless = str[0] === '{' || str.indexOf(' ') < 0;
96− output += ' ' + (parenless ? str : '(' + str + ')');
96+ output += ' ' + (parenless ? str : '(' + str + ')');
97− }
97+ }
98− return v.ctor + output;
98+ return v.ctor + output;
99− }
99+ }
100− }
100+ }
101− return v+"";
101+ return v+"";
102− };
102+ };
103− function show(v) { return NList.fromArray(toString(v)); }
103+ function show(v) { return NList.fromArray(toString(v)); }
104
104
105− return elm.Native.Show = { show:show };
105+ return elm.Native.Show = { show:show };
106};
106};