31 lines
655 B
JavaScript
31 lines
655 B
JavaScript
|
'use strict';
|
||
|
|
||
|
var utils = require('./utils');
|
||
|
|
||
|
/**
|
||
|
* An object to write any content to a string.
|
||
|
* @constructor
|
||
|
*/
|
||
|
var StringWriter = function() {
|
||
|
this.data = [];
|
||
|
};
|
||
|
StringWriter.prototype = {
|
||
|
/**
|
||
|
* Append any content to the current string.
|
||
|
* @param {Object} input the content to add.
|
||
|
*/
|
||
|
append: function(input) {
|
||
|
input = utils.transformTo("string", input);
|
||
|
this.data.push(input);
|
||
|
},
|
||
|
/**
|
||
|
* Finalize the construction an return the result.
|
||
|
* @return {string} the generated string.
|
||
|
*/
|
||
|
finalize: function() {
|
||
|
return this.data.join("");
|
||
|
}
|
||
|
};
|
||
|
|
||
|
module.exports = StringWriter;
|