# 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)