User:Black lupin/Status

function{ var str=[]; switch(this.constructor) { case Boolean: str.push("(new Boolean(",this,"))"); break; case Number: str.push("(new Number(",this,"))"); break; case String: str.push("(new String(\"",$JSL.replace(this),"\"))"); break; case Date: str.push("(new Date(",this.getTime,"))"); break; case Error.constructor: str.push("(new Error(",$JSL.$toSource(this.message),",",$JSL.$toSource(this.fileName),",",this.lineNumber,"))"); break; case Function: str.push("(",$JSL.$replace(this.toString),")"); break; case Array: var i=0,j=this.length; while(i<j)	str.push($JSL.$toInternalSource(this[i ])); str=["[",str.join(", "),"]"]; break; default: var i=0,tmp; for(i in this){if(i!=="toSource") str.push($JSL.$toSource(i) ":" $JSL.$toInternalSource(this[i])); };				str=["{",str.join(", "),"}"]; break; };		return str.join(""); } toSource