2Elm.Native.Json = function(elm) {
5 var Maybe = Elm.Maybe(elm);
6 var Dict = Elm.Dict(elm);
7 var List = Elm.List(elm);
8 var JS = Elm.JavaScript(elm);
9 var Utils = Elm.Native.Utils(elm);
11 function fromValue(v) {
13 case 'Null' : return null;
14 case 'String' : return JS.fromString(v._0);
17 var array = JS.fromList(Dict.toList(v._0));
18 for (var i = array.length; i--; ) {
19 obj[JS.fromString(array[i]._0)] = fromValue(array[i]._1);
23 var array = JS.fromList(v._0);
24 for (var i = array.length; i--; ) {
25 array[i] = fromValue(array[i]);
33 function toPrettyJSString(sep, obj) {
34 return JSON.stringify(fromValue(obj), null, JS.fromString(sep));
39 case 'string' : return { ctor:"String", _0: JS.toString(v) };
40 case 'number' : return { ctor:"Number", _0: JS.toFloat(v) };
41 case 'boolean': return { ctor:"Bool" , _0: JS.toBool(v) };
43 if (v === null) return { ctor:"Null" };
44 if (v instanceof Array) {
45 for (var i = v.length; i--; ) { v[i] = toValue(v[i]); }
46 return { ctor:"Array", _0: JS.toList(v) };
49 for (var k in v) array.push(Utils.Tuple2(JS.toString(k), toValue(v[k])));
50 return { ctor:"Object", _0: Dict.fromList(JS.toList(array)) };
54 function fromJSString(str) {
56 return Maybe.Just(toValue(JSON.parse(str)));
62 return elm.Native.Json = {
63 toJSString : F2(toPrettyJSString),
64 fromJSString : fromJSString,
65 toJSObject : fromValue,
66 fromJSObject : toValue
keysesc to close
- j k
- move down, up
- enter
- open
- esc
- back, or up a level
- 1 2 3 4
- readme, files, commits, refs
- /
- filter
- y
- copy the clone command
- c
- compare the chosen commit with another (or shift-click both)
- ?
- show or hide this list