mirror of
https://git.tt-rss.org/git/tt-rss.git
synced 2025-12-15 21:25:55 +00:00
update dojo to 1.7.3
This commit is contained in:
85
lib/dojo/_base/json.js.uncompressed.js
Normal file
85
lib/dojo/_base/json.js.uncompressed.js
Normal file
@@ -0,0 +1,85 @@
|
||||
define("dojo/_base/json", ["./kernel", "../json"], function(dojo, json){
|
||||
// module:
|
||||
// dojo/_base/json
|
||||
// summary:
|
||||
// This module defines the dojo JSON API.
|
||||
|
||||
dojo.fromJson = function(/*String*/ js){
|
||||
// summary:
|
||||
// Parses a JavaScript expression and returns a JavaScript value.
|
||||
// description:
|
||||
// Throws for invalid JavaScript expressions. It does not use a strict JSON parser. It
|
||||
// always delegates to eval(). The content passed to this method must therefore come
|
||||
// from a trusted source.
|
||||
// It is recommend that you use dojo/json's parse function for an
|
||||
// implementation uses the (faster) native JSON parse when available.
|
||||
// js:
|
||||
// a string literal of a JavaScript expression, for instance:
|
||||
// `'{ "foo": [ "bar", 1, { "baz": "thud" } ] }'`
|
||||
|
||||
return eval("(" + js + ")"); // Object
|
||||
};
|
||||
|
||||
/*=====
|
||||
dojo._escapeString = function(){
|
||||
// summary:
|
||||
// Adds escape sequences for non-visual characters, double quote and
|
||||
// backslash and surrounds with double quotes to form a valid string
|
||||
// literal.
|
||||
};
|
||||
=====*/
|
||||
dojo._escapeString = json.stringify; // just delegate to json.stringify
|
||||
|
||||
dojo.toJsonIndentStr = "\t";
|
||||
dojo.toJson = function(/*Object*/ it, /*Boolean?*/ prettyPrint){
|
||||
// summary:
|
||||
// Returns a [JSON](http://json.org) serialization of an object.
|
||||
// description:
|
||||
// Returns a [JSON](http://json.org) serialization of an object.
|
||||
// Note that this doesn't check for infinite recursion, so don't do that!
|
||||
// It is recommend that you use dojo/json's stringify function for an lighter
|
||||
// and faster implementation that matches the native JSON API and uses the
|
||||
// native JSON serializer when available.
|
||||
// it:
|
||||
// an object to be serialized. Objects may define their own
|
||||
// serialization via a special "__json__" or "json" function
|
||||
// property. If a specialized serializer has been defined, it will
|
||||
// be used as a fallback.
|
||||
// Note that in 1.6, toJson would serialize undefined, but this no longer supported
|
||||
// since it is not supported by native JSON serializer.
|
||||
// prettyPrint:
|
||||
// if true, we indent objects and arrays to make the output prettier.
|
||||
// The variable `dojo.toJsonIndentStr` is used as the indent string --
|
||||
// to use something other than the default (tab), change that variable
|
||||
// before calling dojo.toJson().
|
||||
// Note that if native JSON support is available, it will be used for serialization,
|
||||
// and native implementations vary on the exact spacing used in pretty printing.
|
||||
// returns:
|
||||
// A JSON string serialization of the passed-in object.
|
||||
// example:
|
||||
// simple serialization of a trivial object
|
||||
// | var jsonStr = dojo.toJson({ howdy: "stranger!", isStrange: true });
|
||||
// | doh.is('{"howdy":"stranger!","isStrange":true}', jsonStr);
|
||||
// example:
|
||||
// a custom serializer for an objects of a particular class:
|
||||
// | dojo.declare("Furby", null, {
|
||||
// | furbies: "are strange",
|
||||
// | furbyCount: 10,
|
||||
// | __json__: function(){
|
||||
// | },
|
||||
// | });
|
||||
|
||||
// use dojo/json
|
||||
return json.stringify(it, function(key, value){
|
||||
if(value){
|
||||
var tf = value.__json__||value.json;
|
||||
if(typeof tf == "function"){
|
||||
return tf.call(value);
|
||||
}
|
||||
}
|
||||
return value;
|
||||
}, prettyPrint && dojo.toJsonIndentStr); // String
|
||||
};
|
||||
|
||||
return dojo;
|
||||
});
|
||||
Reference in New Issue
Block a user