index.js
 1  // Generated by CoffeeScript 1.12.7
 2  (function() {
 3    var XMLDocument, XMLDocumentCB, XMLStreamWriter, XMLStringWriter, assign, isFunction, ref;
 4  
 5    ref = require('./Utility'), assign = ref.assign, isFunction = ref.isFunction;
 6  
 7    XMLDocument = require('./XMLDocument');
 8  
 9    XMLDocumentCB = require('./XMLDocumentCB');
10  
11    XMLStringWriter = require('./XMLStringWriter');
12  
13    XMLStreamWriter = require('./XMLStreamWriter');
14  
15    module.exports.create = function(name, xmldec, doctype, options) {
16      var doc, root;
17      if (name == null) {
18        throw new Error("Root element needs a name");
19      }
20      options = assign({}, xmldec, doctype, options);
21      doc = new XMLDocument(options);
22      root = doc.element(name);
23      if (!options.headless) {
24        doc.declaration(options);
25        if ((options.pubID != null) || (options.sysID != null)) {
26          doc.doctype(options);
27        }
28      }
29      return root;
30    };
31  
32    module.exports.begin = function(options, onData, onEnd) {
33      var ref1;
34      if (isFunction(options)) {
35        ref1 = [options, onData], onData = ref1[0], onEnd = ref1[1];
36        options = {};
37      }
38      if (onData) {
39        return new XMLDocumentCB(options, onData, onEnd);
40      } else {
41        return new XMLDocument(options);
42      }
43    };
44  
45    module.exports.stringWriter = function(options) {
46      return new XMLStringWriter(options);
47    };
48  
49    module.exports.streamWriter = function(stream, options) {
50      return new XMLStreamWriter(stream, options);
51    };
52  
53  }).call(this);