| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127 | 
							- // Generated by CoffeeScript 1.12.7
 
- (function() {
 
-   "use strict";
 
-   var builder, defaults, escapeCDATA, requiresCDATA, wrapCDATA,
 
-     hasProp = {}.hasOwnProperty;
 
-   builder = require('xmlbuilder');
 
-   defaults = require('./defaults').defaults;
 
-   requiresCDATA = function(entry) {
 
-     return typeof entry === "string" && (entry.indexOf('&') >= 0 || entry.indexOf('>') >= 0 || entry.indexOf('<') >= 0);
 
-   };
 
-   wrapCDATA = function(entry) {
 
-     return "<![CDATA[" + (escapeCDATA(entry)) + "]]>";
 
-   };
 
-   escapeCDATA = function(entry) {
 
-     return entry.replace(']]>', ']]]]><![CDATA[>');
 
-   };
 
-   exports.Builder = (function() {
 
-     function Builder(opts) {
 
-       var key, ref, value;
 
-       this.options = {};
 
-       ref = defaults["0.2"];
 
-       for (key in ref) {
 
-         if (!hasProp.call(ref, key)) continue;
 
-         value = ref[key];
 
-         this.options[key] = value;
 
-       }
 
-       for (key in opts) {
 
-         if (!hasProp.call(opts, key)) continue;
 
-         value = opts[key];
 
-         this.options[key] = value;
 
-       }
 
-     }
 
-     Builder.prototype.buildObject = function(rootObj) {
 
-       var attrkey, charkey, render, rootElement, rootName;
 
-       attrkey = this.options.attrkey;
 
-       charkey = this.options.charkey;
 
-       if ((Object.keys(rootObj).length === 1) && (this.options.rootName === defaults['0.2'].rootName)) {
 
-         rootName = Object.keys(rootObj)[0];
 
-         rootObj = rootObj[rootName];
 
-       } else {
 
-         rootName = this.options.rootName;
 
-       }
 
-       render = (function(_this) {
 
-         return function(element, obj) {
 
-           var attr, child, entry, index, key, value;
 
-           if (typeof obj !== 'object') {
 
-             if (_this.options.cdata && requiresCDATA(obj)) {
 
-               element.raw(wrapCDATA(obj));
 
-             } else {
 
-               element.txt(obj);
 
-             }
 
-           } else if (Array.isArray(obj)) {
 
-             for (index in obj) {
 
-               if (!hasProp.call(obj, index)) continue;
 
-               child = obj[index];
 
-               for (key in child) {
 
-                 entry = child[key];
 
-                 element = render(element.ele(key), entry).up();
 
-               }
 
-             }
 
-           } else {
 
-             for (key in obj) {
 
-               if (!hasProp.call(obj, key)) continue;
 
-               child = obj[key];
 
-               if (key === attrkey) {
 
-                 if (typeof child === "object") {
 
-                   for (attr in child) {
 
-                     value = child[attr];
 
-                     element = element.att(attr, value);
 
-                   }
 
-                 }
 
-               } else if (key === charkey) {
 
-                 if (_this.options.cdata && requiresCDATA(child)) {
 
-                   element = element.raw(wrapCDATA(child));
 
-                 } else {
 
-                   element = element.txt(child);
 
-                 }
 
-               } else if (Array.isArray(child)) {
 
-                 for (index in child) {
 
-                   if (!hasProp.call(child, index)) continue;
 
-                   entry = child[index];
 
-                   if (typeof entry === 'string') {
 
-                     if (_this.options.cdata && requiresCDATA(entry)) {
 
-                       element = element.ele(key).raw(wrapCDATA(entry)).up();
 
-                     } else {
 
-                       element = element.ele(key, entry).up();
 
-                     }
 
-                   } else {
 
-                     element = render(element.ele(key), entry).up();
 
-                   }
 
-                 }
 
-               } else if (typeof child === "object") {
 
-                 element = render(element.ele(key), child).up();
 
-               } else {
 
-                 if (typeof child === 'string' && _this.options.cdata && requiresCDATA(child)) {
 
-                   element = element.ele(key).raw(wrapCDATA(child)).up();
 
-                 } else {
 
-                   if (child == null) {
 
-                     child = '';
 
-                   }
 
-                   element = element.ele(key, child.toString()).up();
 
-                 }
 
-               }
 
-             }
 
-           }
 
-           return element;
 
-         };
 
-       })(this);
 
-       rootElement = builder.create(rootName, this.options.xmldec, this.options.doctype, {
 
-         headless: this.options.headless,
 
-         allowSurrogateChars: this.options.allowSurrogateChars
 
-       });
 
-       return render(rootElement, rootObj).end(this.options.renderOpts);
 
-     };
 
-     return Builder;
 
-   })();
 
- }).call(this);
 
 
  |