22 lines
650 B
JavaScript
22 lines
650 B
JavaScript
var SetCache = require('./SetCache'),
|
|
getNative = require('./getNative');
|
|
|
|
/** Native method references. */
|
|
var Set = getNative(global, 'Set');
|
|
|
|
/* Native method references for those with the same name as other `lodash` methods. */
|
|
var nativeCreate = getNative(Object, 'create');
|
|
|
|
/**
|
|
* Creates a `Set` cache object to optimize linear searches of large arrays.
|
|
*
|
|
* @private
|
|
* @param {Array} [values] The values to cache.
|
|
* @returns {null|Object} Returns the new cache object if `Set` is supported, else `null`.
|
|
*/
|
|
function createCache(values) {
|
|
return (nativeCreate && Set) ? new SetCache(values) : null;
|
|
}
|
|
|
|
module.exports = createCache;
|