• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1# defaults
2
3A simple one level options merge utility
4
5## install
6
7`npm install defaults`
8
9## use
10
11```javascript
12
13var defaults = require('defaults');
14
15var handle = function(options, fn) {
16  options = defaults(options, {
17    timeout: 100
18  });
19
20  setTimeout(function() {
21    fn(options);
22  }, options.timeout);
23}
24
25handle({ timeout: 1000 }, function() {
26  // we're here 1000 ms later
27});
28
29handle({ timeout: 10000 }, function() {
30  // we're here 10s later
31});
32
33```
34
35## summary
36
37this 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`
38
39Sidecases: if called with a falsy `options` value, options will be initialized to a new object before being merged onto.
40
41## license
42
43[MIT](LICENSE)
44