(function(global, factory) { if (typeof module === "object" && typeof module.exports === "object") { // For CommonJS and CommonJS-like environments where a proper `window` // is present, execute the factory and get avalon. // For environments that do not have a `window` with a `document` // (such as Node.js), expose a factory as module.exports. // This accentuates the need for the creation of a real `window`. // e.g. var avalon = require("avalon")(window); module.exports = global.document ? factory(global, true) : function(w) { if (!w.document) { throw new Error("Avalon requires a window with a document") } return factory(w) } } else { factory(global) } }(typeof window != 'undefined' ? window : this, function(window, noGlobal) { var avalon = {} if (typeof define === "function" && define.amd) { define("avalon", [], function() { return avalon }) } // Expose avalon identifiers, even in AMD // and CommonJS for browser emulators if (noGlobal === void 0) { window.avalon = avalon } return avalon }))