]> git.wh0rd.org - tt-rss.git/blame - lib/dojo/_base/json.js
add dijit/dojo stuff; initial ui mockup
[tt-rss.git] / lib / dojo / _base / json.js
CommitLineData
2f01fe57
AD
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
8if(!dojo._hasResource["dojo._base.json"]){
9dojo._hasResource["dojo._base.json"]=true;
10dojo.provide("dojo._base.json");
11dojo.fromJson=function(_1){
12return eval("("+_1+")");
13};
14dojo._escapeString=function(_2){
15return ("\""+_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};
17dojo.toJsonIndentStr="\t";
18dojo.toJson=function(it,_3,_4){
19if(it===undefined){
20return "undefined";
21}
22var _5=typeof it;
23if(_5=="number"||_5=="boolean"){
24return it+"";
25}
26if(it===null){
27return "null";
28}
29if(dojo.isString(it)){
30return dojo._escapeString(it);
31}
32var _6=arguments.callee;
33var _7;
34_4=_4||"";
35var _8=_3?_4+dojo.toJsonIndentStr:"";
36var tf=it.__json__||it.json;
37if(dojo.isFunction(tf)){
38_7=tf.call(it);
39if(it!==_7){
40return _6(_7,_3,_8);
41}
42}
43if(it.nodeType&&it.cloneNode){
44throw new Error("Can't serialize DOM nodes");
45}
46var _9=_3?" ":"";
47var _a=_3?"\n":"";
48if(dojo.isArray(it)){
49var _b=dojo.map(it,function(_c){
50var _d=_6(_c,_3,_8);
51if(typeof _d!="string"){
52_d="undefined";
53}
54return _a+_8+_d;
55});
56return "["+_b.join(","+_9)+_a+_4+"]";
57}
58if(_5=="function"){
59return null;
60}
61var _e=[],_f;
62for(_f in it){
63var _10,val;
64if(typeof _f=="number"){
65_10="\""+_f+"\"";
66}else{
67if(typeof _f=="string"){
68_10=dojo._escapeString(_f);
69}else{
70continue;
71}
72}
73val=_6(it[_f],_3,_8);
74if(typeof val!="string"){
75continue;
76}
77_e.push(_a+_8+_10+":"+_9+val);
78}
79return "{"+_e.join(","+_9)+_a+_4+"}";
80};
81}