42 lines
1.2 KiB
JavaScript
42 lines
1.2 KiB
JavaScript
|
// Generated by CoffeeScript 2.4.1
|
||
|
(function() {
|
||
|
var NodeType, XMLCharacterData, XMLComment;
|
||
|
|
||
|
NodeType = require('./NodeType');
|
||
|
|
||
|
XMLCharacterData = require('./XMLCharacterData');
|
||
|
|
||
|
// Represents a comment node
|
||
|
module.exports = XMLComment = class XMLComment extends XMLCharacterData {
|
||
|
// Initializes a new instance of `XMLComment`
|
||
|
|
||
|
// `text` comment text
|
||
|
constructor(parent, text) {
|
||
|
super(parent);
|
||
|
if (text == null) {
|
||
|
throw new Error("Missing comment text. " + this.debugInfo());
|
||
|
}
|
||
|
this.name = "#comment";
|
||
|
this.type = NodeType.Comment;
|
||
|
this.value = this.stringify.comment(text);
|
||
|
}
|
||
|
|
||
|
// Creates and returns a deep clone of `this`
|
||
|
clone() {
|
||
|
return Object.create(this);
|
||
|
}
|
||
|
|
||
|
// Converts the XML fragment to string
|
||
|
|
||
|
// `options.pretty` pretty prints the result
|
||
|
// `options.indent` indentation for pretty print
|
||
|
// `options.offset` how many indentations to add to every line for pretty print
|
||
|
// `options.newline` newline sequence for pretty print
|
||
|
toString(options) {
|
||
|
return this.options.writer.comment(this, this.options.writer.filterOptions(options));
|
||
|
}
|
||
|
|
||
|
};
|
||
|
|
||
|
}).call(this);
|