| /** |
| * Lo-Dash 2.4.1 (Custom Build) <http://lodash.com/> |
| * Build: `lodash modularize exports="node" -o ./compat/` |
| * Copyright 2012-2013 The Dojo Foundation <http://dojofoundation.org/> |
| * Based on Underscore.js 1.5.2 <http://underscorejs.org/LICENSE> |
| * Copyright 2009-2013 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors |
| * Available under MIT license <http://lodash.com/license> |
| */ |
| var keyPrefix = require('./keyPrefix'); |
| |
| /** |
| * Adds a given value to the corresponding cache object. |
| * |
| * @private |
| * @param {*} value The value to add to the cache. |
| */ |
| function cachePush(value) { |
| var cache = this.cache, |
| type = typeof value; |
| |
| if (type == 'boolean' || value == null) { |
| cache[value] = true; |
| } else { |
| if (type != 'number' && type != 'string') { |
| type = 'object'; |
| } |
| var key = type == 'number' ? value : keyPrefix + value, |
| typeCache = cache[type] || (cache[type] = {}); |
| |
| if (type == 'object') { |
| (typeCache[key] || (typeCache[key] = [])).push(value); |
| } else { |
| typeCache[key] = true; |
| } |
| } |
| } |
| |
| module.exports = cachePush; |