Object,
{
+
+ name : "",
+ defaultValue : "",
+ params : [],
+ $args : [], // original arguments used when constructing.
+ addOn : "",
+ alias : "",
+ augments : false, // Doctag
+ author : "",
+ classDesc : "",
+ comment : { isUserComment: false },
+ deprecated : "",
+ desc : "",
+ events : [],
+ example : "",
+ exceptions : [],
+ inherits : [],
+ inheritsFrom : [],
+ isa : "OBJECT", // OBJECT//FUNCTION
+ isEvent : false,
+ isConstant : false,
+ isIgnored : false,
+ isInner : false,
+ isNamespace : false,
+ isPrivate : false,
+ isStatic : false,
+ memberOf : "",
+ methods : [],
+ _name : "",
+ _params : [],
+ properties : [],
+ requires : [],
+ returns : [],
+ see : [],
+ since : "",
+ srcFile : {},
+ type : "",
+ version : "",
+ childClasses : [],
+ cfgs : {},
+
+
toObject : function()
{
+
+ function array2object(a , m)
+ {
+ m = m || false;
+ var r = [];
+ a.forEach(function(e) {
+ r.push(m ? e : e.toObject());
+ })
+ }
+
var ret = { };
for (var i in this) {
+ if (Symbol.hide.indexOf(i) > -1) {
+ continue;
+ }
switch (typeof(this[i])) {
case 'function':
continue;
case 'object':
+ switch(i) {
+ //arrays..
+ case 'params' :
+ ret[i] = array2object(this[i],true);
+ continue;
+
+ //objects..
+ case 'augments' :
+ print(JSON.encode(this[i]));
+ ret[i] = this[i].toObject();
+ continue;
+
+ default:
+ print("object? :" + i);
+ Seed.quit();
+ }
+
+ case 'string':
case 'number':
ret[i] = this[i]; continue;
default:
}
});
-
-
-
+/**
+ * Elements that are not serialized
+ *
+ */
+Symbol.hide = [
+ '$args' // not needed AFAIK
+]
Symbol.srcFile = ""; //running reference to the current file being parsed