42 lines
1.1 KiB
JavaScript
42 lines
1.1 KiB
JavaScript
|
// Generated by CoffeeScript 2.4.1
|
||
|
(function() {
|
||
|
var NodeType, XMLCData, XMLCharacterData;
|
||
|
|
||
|
NodeType = require('./NodeType');
|
||
|
|
||
|
XMLCharacterData = require('./XMLCharacterData');
|
||
|
|
||
|
// Represents a CDATA node
|
||
|
module.exports = XMLCData = class XMLCData extends XMLCharacterData {
|
||
|
// Initializes a new instance of `XMLCData`
|
||
|
|
||
|
// `text` CDATA text
|
||
|
constructor(parent, text) {
|
||
|
super(parent);
|
||
|
if (text == null) {
|
||
|
throw new Error("Missing CDATA text. " + this.debugInfo());
|
||
|
}
|
||
|
this.name = "#cdata-section";
|
||
|
this.type = NodeType.CData;
|
||
|
this.value = this.stringify.cdata(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.cdata(this, this.options.writer.filterOptions(options));
|
||
|
}
|
||
|
|
||
|
};
|
||
|
|
||
|
}).call(this);
|