You can not select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
				
					18 lines
				
				459 B
			
		
		
			
		
	
	
					18 lines
				
				459 B
			| 
											3 years ago
										 | define(['./_has'], function (_has) { | ||
|  | 
 | ||
|  |   // Memoize an expensive function by storing its results.
 | ||
|  |   function memoize(func, hasher) { | ||
|  |     var memoize = function(key) { | ||
|  |       var cache = memoize.cache; | ||
|  |       var address = '' + (hasher ? hasher.apply(this, arguments) : key); | ||
|  |       if (!_has(cache, address)) cache[address] = func.apply(this, arguments); | ||
|  |       return cache[address]; | ||
|  |     }; | ||
|  |     memoize.cache = {}; | ||
|  |     return memoize; | ||
|  |   } | ||
|  | 
 | ||
|  |   return memoize; | ||
|  | 
 | ||
|  | }); |