mirror of
https://github.com/whoisclebs/lodash.git
synced 2026-02-01 07:47:49 +00:00
elaborate underscore initialization so that it works seamlessly on CommonJS, as well as in the browser
This commit is contained in:
@@ -8,15 +8,25 @@
|
||||
|
||||
(function() {
|
||||
|
||||
var root = (typeof window != 'undefined') ? window : exports;
|
||||
/*------------------------- Baseline setup ---------------------------------*/
|
||||
|
||||
var previousUnderscore = root._;
|
||||
// Are we running in CommonJS or in the browser?
|
||||
var commonJS = (typeof window === 'undefined' && typeof exports !== 'undefined');
|
||||
|
||||
// Save the previous value of the "_" variable.
|
||||
var previousUnderscore = commonJS ? null : window._;
|
||||
|
||||
// Keep the identity function around for default iterators.
|
||||
var identity = function(value) { return value; };
|
||||
|
||||
var _ = root._ = {};
|
||||
|
||||
_.VERSION = '0.2.0';
|
||||
// Create a safe reference to the Underscore object for the functions below.
|
||||
var _ = {};
|
||||
|
||||
// Export the Underscore object for CommonJS, assign it globally otherwise.
|
||||
commonJS ? _ = exports : window._ = _;
|
||||
|
||||
// Current version.
|
||||
_.VERSION = '0.2.1';
|
||||
|
||||
/*------------------------ Collection Functions: ---------------------------*/
|
||||
|
||||
@@ -417,7 +427,7 @@
|
||||
// Run Underscore.js in noConflict mode, returning the '_' variable to its
|
||||
// previous owner. Returns a reference to the Underscore object.
|
||||
_.noConflict = function() {
|
||||
root._ = previousUnderscore;
|
||||
if (!commonJS) window._ = previousUnderscore;
|
||||
return this;
|
||||
};
|
||||
|
||||
@@ -452,10 +462,6 @@
|
||||
_.inject = _.reduce;
|
||||
_.filter = _.select;
|
||||
_.every = _.all;
|
||||
_.some = _.any;
|
||||
|
||||
/*------------------------- Export for ServerJS ----------------------------*/
|
||||
|
||||
if (typeof exports != 'undefined') exports = _;
|
||||
_.some = _.any;
|
||||
|
||||
})();
|
||||
|
||||
Reference in New Issue
Block a user