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.
		
		
		
		
		
			
		
			
				
					
					
						
							44 lines
						
					
					
						
							827 B
						
					
					
				
			
		
		
	
	
							44 lines
						
					
					
						
							827 B
						
					
					
				| # defaults
 | |
| 
 | |
| A simple one level options merge utility
 | |
| 
 | |
| ## install
 | |
| 
 | |
| `npm install defaults`
 | |
| 
 | |
| ## use
 | |
| 
 | |
| ```javascript
 | |
| 
 | |
| var defaults = require('defaults');
 | |
| 
 | |
| var handle = function(options, fn) {
 | |
|   options = defaults(options, {
 | |
|     timeout: 100
 | |
|   });
 | |
| 
 | |
|   setTimeout(function() {
 | |
|     fn(options);
 | |
|   }, options.timeout);
 | |
| }
 | |
| 
 | |
| handle({ timeout: 1000 }, function() {
 | |
|   // we're here 1000 ms later
 | |
| });
 | |
| 
 | |
| handle({ timeout: 10000 }, function() {
 | |
|   // we're here 10s later
 | |
| });
 | |
| 
 | |
| ```
 | |
| 
 | |
| ## summary
 | |
| 
 | |
| this module exports a function that takes 2 arguments: `options` and `defaults`.  When called, it overrides all of `undefined` properties in `options` with the clones of properties defined in `defaults`
 | |
| 
 | |
| Sidecases: if called with a falsy `options` value, options will be initialized to a new object before being merged onto.
 | |
| 
 | |
| ## license
 | |
| 
 | |
| [MIT](LICENSE)
 |