]> git.wh0rd.org - tt-rss.git/blob - lib/dojo/_base/json.js
add dijit/dojo stuff; initial ui mockup
[tt-rss.git] / lib / dojo / _base / json.js
1 /*
2 Copyright (c) 2004-2010, The Dojo Foundation All Rights Reserved.
3 Available via Academic Free License >= 2.1 OR the modified BSD license.
4 see: http://dojotoolkit.org/license for details
5 */
6
7
8 if(!dojo._hasResource["dojo._base.json"]){
9 dojo._hasResource["dojo._base.json"]=true;
10 dojo.provide("dojo._base.json");
11 dojo.fromJson=function(_1){
12 return eval("("+_1+")");
13 };
14 dojo._escapeString=function(_2){
15 return ("\""+_2.replace(/(["\\])/g,"\\$1")+"\"").replace(/[\f]/g,"\\f").replace(/[\b]/g,"\\b").replace(/[\n]/g,"\\n").replace(/[\t]/g,"\\t").replace(/[\r]/g,"\\r");
16 };
17 dojo.toJsonIndentStr="\t";
18 dojo.toJson=function(it,_3,_4){
19 if(it===undefined){
20 return "undefined";
21 }
22 var _5=typeof it;
23 if(_5=="number"||_5=="boolean"){
24 return it+"";
25 }
26 if(it===null){
27 return "null";
28 }
29 if(dojo.isString(it)){
30 return dojo._escapeString(it);
31 }
32 var _6=arguments.callee;
33 var _7;
34 _4=_4||"";
35 var _8=_3?_4+dojo.toJsonIndentStr:"";
36 var tf=it.__json__||it.json;
37 if(dojo.isFunction(tf)){
38 _7=tf.call(it);
39 if(it!==_7){
40 return _6(_7,_3,_8);
41 }
42 }
43 if(it.nodeType&&it.cloneNode){
44 throw new Error("Can't serialize DOM nodes");
45 }
46 var _9=_3?" ":"";
47 var _a=_3?"\n":"";
48 if(dojo.isArray(it)){
49 var _b=dojo.map(it,function(_c){
50 var _d=_6(_c,_3,_8);
51 if(typeof _d!="string"){
52 _d="undefined";
53 }
54 return _a+_8+_d;
55 });
56 return "["+_b.join(","+_9)+_a+_4+"]";
57 }
58 if(_5=="function"){
59 return null;
60 }
61 var _e=[],_f;
62 for(_f in it){
63 var _10,val;
64 if(typeof _f=="number"){
65 _10="\""+_f+"\"";
66 }else{
67 if(typeof _f=="string"){
68 _10=dojo._escapeString(_f);
69 }else{
70 continue;
71 }
72 }
73 val=_6(it[_f],_3,_8);
74 if(typeof val!="string"){
75 continue;
76 }
77 _e.push(_a+_8+_10+":"+_9+val);
78 }
79 return "{"+_e.join(","+_9)+_a+_4+"}";
80 };
81 }