diff -r 000000000000 -r 40c8f766c9b8 src/cm/media/js/lib/yui/yui_3.0.0b1/build/dump/dump-debug.js --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/src/cm/media/js/lib/yui/yui_3.0.0b1/build/dump/dump-debug.js Mon Nov 23 15:14:29 2009 +0100 @@ -0,0 +1,109 @@ +/* +Copyright (c) 2009, Yahoo! Inc. All rights reserved. +Code licensed under the BSD License: +http://developer.yahoo.net/yui/license.txt +version: 3.0.0b1 +build: 1163 +*/ +YUI.add('dump', function(Y) { + +/** + * Returns a simple string representation of the object or array. + * Other types of objects will be returned unprocessed. Arrays + * are expected to be indexed. Use object notation for + * associative arrays. + * + * If included, the dump method is added to the YUI instance. + * + * @module dump + */ + + var L=Y.Lang, OBJ='{...}', FUN='f(){...}', COMMA=', ', ARROW=' => ', + + /** + * The following methods are added to the YUI instance + * @class YUI~dump + */ + + /** + * Returns a simple string representation of the object or array. + * Other types of objects will be returned unprocessed. Arrays + * are expected to be indexed. Use object notation for + * associative arrays. + * + * @TODO dumping a window is causing an unhandled exception in + * FireFox. + * + * This method is in the 'dump' module, which is not bundled with + * the core YUI object + * + * @method dump + * @param o {object} The object to dump + * @param d {int} How deep to recurse child objects, default 3 + * @return {string} the dump result + */ + dump = function(o, d) { + var i, len, s = [], type = L.type(o); + + // Cast non-objects to string + // Skip dates because the std toString is what we want + // Skip HTMLElement-like objects because trying to dump + // an element will cause an unhandled exception in FF 2.x + if (!L.isObject(o)) { + return o + ""; + } else if (type == "date" || ("nodeType" in o && "tagName" in o)) { + return o; + } else if (type == "function") { + return FUN; + } + + // dig into child objects the depth specifed. Default 3 + d = (L.isNumber(d)) ? d : 3; + + // arrays [1, 2, 3] + if (type == "array") { + s.push("["); + for (i=0,len=o.length;i 0) ? L.dump(o[i], d-1) : OBJ); + } else { + s.push(o[i]); + } + s.push(COMMA); + } + if (s.length > 1) { + s.pop(); + } + s.push("]"); + // regexp /foo/ + } else if (type == "regexp") { + s.push(o.toString()); + // objects {k1 => v1, k2 => v2} + } else { + s.push("{"); + for (i in o) { + if (o.hasOwnProperty(i)) { + s.push(i + ARROW); + if (L.isObject(o[i])) { + s.push((d > 0) ? L.dump(o[i], d-1) : OBJ); + } else { + s.push(o[i]); + } + s.push(COMMA); + } + } + if (s.length > 1) { + s.pop(); + } + s.push("}"); + } + + return s.join(""); + }; + + Y.dump = dump; + L.dump = dump; + + + +}, '3.0.0b1' );