on master help sign in
Use Native.List instead of List and make minor cosmetic changes
3b25bcaEvan Czaplicki
libraries/Native/Json.js+17−5
@@ -7,7 +7,7 @@ Elm.Native.Json.make = function(elm) {
7
7
8 var Maybe = Elm.Maybe.make(elm);
8 var Maybe = Elm.Maybe.make(elm);
9 var Dict = Elm.Dict.make(elm);
9 var Dict = Elm.Dict.make(elm);
10− var List = Elm.List.make(elm);
10+ var List = Elm.Native.List.make(elm);
11 var Utils = Elm.Native.Utils.make(elm);
11 var Utils = Elm.Native.Utils.make(elm);
12
12
13 function toJS(v) {
13 function toJS(v) {
@@ -45,12 +45,24 @@ Elm.Native.Json.make = function(elm) {
45 case 'object' :
45 case 'object' :
46 if (v === null) return { ctor:"Null" };
46 if (v === null) return { ctor:"Null" };
47 if (v instanceof Array) {
47 if (v instanceof Array) {
48− for (var i = v.length; i--; ) { v[i] = fromJS(v[i]); }
48+ for (var i = v.length; i--; ) {
49+ v[i] = fromJS(v[i]);
50+ }
51+ return {
52+ ctor:"Array",
49− return { ctor:"Array", _0: List.fromArray(v) };
53+ _0: List.fromArray(array)
54+ };
50 }
55 }
51 var array = [];
56 var array = [];
57+ for (var key in v) {
58+ var value = fromJS(v[key]);
52− for (var k in v) array.push(Utils.Tuple2(k, fromJS(v[k])));
59+ array.push(Utils.Tuple2(key, value));
60+ }
61+ var list = List.fromArray(array);
62+ return {
63+ ctor:"Object",
53− return { ctor:"Object", _0: Dict.fromList(List.fromArray(array)) };
64+ _0: Dict.fromList(list)
65+ };
54 }
66 }
55 }
67 }
56
68