| 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; |