Revision: 60027
Initial Code
Initial URL
Initial Description
Initial Title
Initial Tags
Initial Language
at October 17, 2012 02:11 by jswaringen
Initial Code
/***************************************************************** * Stringbuilder Class - emulates the C#/VB.NET stringbuilder * @constructor *****************************************************************/ function StringBuilder() { var strings = []; this.append = function (string) { string = verify(string); if (string.length > 0) { strings[strings.length] = string; } }; this.appendLine = function (string) { string = verify(string); if (this.isEmpty()) { if (string.length > 0) { strings[strings.length] = string; } else { return; } } else { strings[strings.length] = string.length > 0 ? " " + string : " "; } }; this.clear = function () { strings = []; }; this.isEmpty = function () { return strings.length == 0; }; this.toString = function () { return strings.join(""); }; var verify = function (string) { if (!defined(string)) { return ""; } if (getType(string) != getType('string')) { return String(string); } return string; }; var defined = function (el) { return el != null && typeof(el) != "undefined"; }; var getType = function (instance) { if (!defined(instance.constructor)) { throw new Error("Unexpected object type"); } var type = String(instance.constructor).match(/function\s+(\w+)/); return defined(type) ? type[1] : "undefined"; }; }
Initial URL
Initial Description
Emulates the StringBuilder() function found in .NET Languages
Initial Title
JavaScript: StringBuilder
Initial Tags
javascript
Initial Language
JavaScript