+ // Stringify with circular dereference.
+ Cobalt.stringify = function (object) {
+ var cache = [], stringified;
+ stringified = JSON.stringify(object, function (key, value) {
+ if (typeof value === 'object' && value !== null) {
+ if (cache.indexOf(value) !== -1) {
+ return "[Circular]";
+ }
+ cache.push(value);
+ }
+ return value;
+ });
+ cache = null;
+
+ return stringified;
+ }
+