2 // Support three module loading scenarios
3 if (typeof define === 'function' && define['amd']) {
4 // [1] AMD anonymous module
5 define(['exports', 'require'], factory);
6 } else if (typeof exports === 'object' && typeof module === 'object') {
7 // [2] CommonJS/Node.js
8 factory(module['exports'] || exports); // module.exports is for Node.js
10 // [3] No module loader (plain <script> tag) - put directly in global namespace
11 factory(window['ko'] = {});
13 }(function(koExports, amdRequire){