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