20 lines
		
	
	
		
			329 B
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
			
		
		
	
	
			20 lines
		
	
	
		
			329 B
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
| //      
 | |
| 'use strict';
 | |
| 
 | |
| function cacheWrapper   (cache                 , key        , fn         )    {
 | |
|   if (!cache) {
 | |
|     return fn();
 | |
|   }
 | |
| 
 | |
|   const cached = cache.get(key);
 | |
|   if (cached !== undefined) {
 | |
|     return cached;
 | |
|   }
 | |
| 
 | |
|   const result = fn();
 | |
|   cache.set(key, result);
 | |
|   return result;
 | |
| }
 | |
| 
 | |
| module.exports = cacheWrapper;
 |