setup-dotnet/node_modules/xmlbuilder/lib/XMLDocument.js

283 lines
8.9 KiB
JavaScript

// Generated by CoffeeScript 2.4.1
(function() {
var NodeType, XMLDOMConfiguration, XMLDOMImplementation, XMLDocument, XMLNode, XMLStringWriter, XMLStringifier, isPlainObject;
({isPlainObject} = require('./Utility'));
XMLDOMImplementation = require('./XMLDOMImplementation');
XMLDOMConfiguration = require('./XMLDOMConfiguration');
XMLNode = require('./XMLNode');
NodeType = require('./NodeType');
XMLStringifier = require('./XMLStringifier');
XMLStringWriter = require('./XMLStringWriter');
// Represents an XML builder
module.exports = XMLDocument = (function() {
class XMLDocument extends XMLNode {
// Initializes a new instance of `XMLDocument`
// `options.keepNullNodes` whether nodes with null values will be kept
// or ignored: true or false
// `options.keepNullAttributes` whether attributes with null values will be
// kept or ignored: true or false
// `options.ignoreDecorators` whether decorator strings will be ignored when
// converting JS objects: true or false
// `options.separateArrayItems` whether array items are created as separate
// nodes when passed as an object value: true or false
// `options.noDoubleEncoding` whether existing html entities are encoded:
// true or false
// `options.stringify` a set of functions to use for converting values to
// strings
// `options.writer` the default XML writer to use for converting nodes to
// string. If the default writer is not set, the built-in XMLStringWriter
// will be used instead.
constructor(options) {
super(null);
this.name = "#document";
this.type = NodeType.Document;
this.documentURI = null;
this.domConfig = new XMLDOMConfiguration();
options || (options = {});
if (!options.writer) {
options.writer = new XMLStringWriter();
}
this.options = options;
this.stringify = new XMLStringifier(options);
}
// Ends the document and passes it to the given XML writer
// `writer` is either an XML writer or a plain object to pass to the
// constructor of the default XML writer. The default writer is assigned when
// creating the XML document. Following flags are recognized by the
// built-in XMLStringWriter:
// `writer.pretty` pretty prints the result
// `writer.indent` indentation for pretty print
// `writer.offset` how many indentations to add to every line for pretty print
// `writer.newline` newline sequence for pretty print
end(writer) {
var writerOptions;
writerOptions = {};
if (!writer) {
writer = this.options.writer;
} else if (isPlainObject(writer)) {
writerOptions = writer;
writer = this.options.writer;
}
return writer.document(this, writer.filterOptions(writerOptions));
}
// Converts the XML document 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.document(this, this.options.writer.filterOptions(options));
}
// DOM level 1 functions to be implemented later
createElement(tagName) {
throw new Error("This DOM method is not implemented." + this.debugInfo());
}
createDocumentFragment() {
throw new Error("This DOM method is not implemented." + this.debugInfo());
}
createTextNode(data) {
throw new Error("This DOM method is not implemented." + this.debugInfo());
}
createComment(data) {
throw new Error("This DOM method is not implemented." + this.debugInfo());
}
createCDATASection(data) {
throw new Error("This DOM method is not implemented." + this.debugInfo());
}
createProcessingInstruction(target, data) {
throw new Error("This DOM method is not implemented." + this.debugInfo());
}
createAttribute(name) {
throw new Error("This DOM method is not implemented." + this.debugInfo());
}
createEntityReference(name) {
throw new Error("This DOM method is not implemented." + this.debugInfo());
}
getElementsByTagName(tagname) {
throw new Error("This DOM method is not implemented." + this.debugInfo());
}
// DOM level 2 functions to be implemented later
importNode(importedNode, deep) {
throw new Error("This DOM method is not implemented." + this.debugInfo());
}
createElementNS(namespaceURI, qualifiedName) {
throw new Error("This DOM method is not implemented." + this.debugInfo());
}
createAttributeNS(namespaceURI, qualifiedName) {
throw new Error("This DOM method is not implemented." + this.debugInfo());
}
getElementsByTagNameNS(namespaceURI, localName) {
throw new Error("This DOM method is not implemented." + this.debugInfo());
}
getElementById(elementId) {
throw new Error("This DOM method is not implemented." + this.debugInfo());
}
// DOM level 3 functions to be implemented later
adoptNode(source) {
throw new Error("This DOM method is not implemented." + this.debugInfo());
}
normalizeDocument() {
throw new Error("This DOM method is not implemented." + this.debugInfo());
}
renameNode(node, namespaceURI, qualifiedName) {
throw new Error("This DOM method is not implemented." + this.debugInfo());
}
// DOM level 4 functions to be implemented later
getElementsByClassName(classNames) {
throw new Error("This DOM method is not implemented." + this.debugInfo());
}
createEvent(eventInterface) {
throw new Error("This DOM method is not implemented." + this.debugInfo());
}
createRange() {
throw new Error("This DOM method is not implemented." + this.debugInfo());
}
createNodeIterator(root, whatToShow, filter) {
throw new Error("This DOM method is not implemented." + this.debugInfo());
}
createTreeWalker(root, whatToShow, filter) {
throw new Error("This DOM method is not implemented." + this.debugInfo());
}
};
// DOM level 1
Object.defineProperty(XMLDocument.prototype, 'implementation', {
value: new XMLDOMImplementation()
});
Object.defineProperty(XMLDocument.prototype, 'doctype', {
get: function() {
var child, i, len, ref;
ref = this.children;
for (i = 0, len = ref.length; i < len; i++) {
child = ref[i];
if (child.type === NodeType.DocType) {
return child;
}
}
return null;
}
});
Object.defineProperty(XMLDocument.prototype, 'documentElement', {
get: function() {
return this.rootObject || null;
}
});
// DOM level 3
Object.defineProperty(XMLDocument.prototype, 'inputEncoding', {
get: function() {
return null;
}
});
Object.defineProperty(XMLDocument.prototype, 'strictErrorChecking', {
get: function() {
return false;
}
});
Object.defineProperty(XMLDocument.prototype, 'xmlEncoding', {
get: function() {
if (this.children.length !== 0 && this.children[0].type === NodeType.Declaration) {
return this.children[0].encoding;
} else {
return null;
}
}
});
Object.defineProperty(XMLDocument.prototype, 'xmlStandalone', {
get: function() {
if (this.children.length !== 0 && this.children[0].type === NodeType.Declaration) {
return this.children[0].standalone === 'yes';
} else {
return false;
}
}
});
Object.defineProperty(XMLDocument.prototype, 'xmlVersion', {
get: function() {
if (this.children.length !== 0 && this.children[0].type === NodeType.Declaration) {
return this.children[0].version;
} else {
return "1.0";
}
}
});
// DOM level 4
Object.defineProperty(XMLDocument.prototype, 'URL', {
get: function() {
return this.documentURI;
}
});
Object.defineProperty(XMLDocument.prototype, 'origin', {
get: function() {
return null;
}
});
Object.defineProperty(XMLDocument.prototype, 'compatMode', {
get: function() {
return null;
}
});
Object.defineProperty(XMLDocument.prototype, 'characterSet', {
get: function() {
return null;
}
});
Object.defineProperty(XMLDocument.prototype, 'contentType', {
get: function() {
return null;
}
});
return XMLDocument;
}).call(this);
}).call(this);