12345678910111213141516171819202122232425262728293031323334353637383940 |
- // Generated by CoffeeScript 2.4.1
- (function() {
- var XMLStringWriter, XMLWriterBase;
-
- XMLWriterBase = require('./XMLWriterBase');
-
- // Prints XML nodes as plain text
- module.exports = XMLStringWriter = class XMLStringWriter extends XMLWriterBase {
- // Initializes a new instance of `XMLStringWriter`
-
- // `options.pretty` pretty prints the result
- // `options.indent` indentation string
- // `options.newline` newline sequence
- // `options.offset` a fixed number of indentations to add to every line
- // `options.allowEmpty` do not self close empty element tags
- // 'options.dontPrettyTextNodes' if any text is present in node, don't indent or LF
- // `options.spaceBeforeSlash` add a space before the closing slash of empty elements
- constructor(options) {
- super(options);
- }
-
- document(doc, options) {
- var child, i, len, r, ref;
- options = this.filterOptions(options);
- r = '';
- ref = doc.children;
- for (i = 0, len = ref.length; i < len; i++) {
- child = ref[i];
- r += this.writeChildNode(child, options, 0);
- }
- // remove trailing newline
- if (options.pretty && r.slice(-options.newline.length) === options.newline) {
- r = r.slice(0, -options.newline.length);
- }
- return r;
- }
-
- };
-
- }).call(this);
|