defaults
Easily handle defaults for your options
Last updated 2 years ago by sindresorhus .
MIT · Repository · Bugs · Original npm · Tarball · package.json
$ cnpm install defaults 
SYNC missed versions from official npm registry.

defaults

Easily handle defaults for your options

Install

npm install defaults

Usage

import defaults from 'defaults';

const calculate = options => {
	options = defaults(options, {
		timeout: {
			before: 100,
			after: 100
		}
	});

	console.log(options);
	//=> {timeout: {before: 200, after: 100}}

	// …
}

// …

calculate({timeout: {before: 200}});

API

defaults(options, defaultOptions?)

Deeply merges the given options with the specified defaults and returns a new object.

The given parameters are deep-cloned and never mutated.

options

Type: object

The user-provided options.

If the value is not a plain object, a new plain object will be used instead.

defaultOptions

Type: object | undefined

The default options to use when a value is not provided in the options object.

FAQ

Why use this over object-spread?

  • Does not overwrite options if they are not defined in the options object
  • Supports deep merging of objects
  • Provides protection against prototype pollution attacks

Current Tags

  • 3.0.0                                ...           latest (2 years ago)

9 Versions

  • 3.0.0                                ...           2 years ago
  • 2.0.2                                ...           3 years ago
  • 2.0.1                                ...           3 years ago
  • 2.0.0                                ...           3 years ago
  • 1.0.4                                ...           4 years ago
  • 1.0.3                                ...           11 years ago
  • 1.0.2                                ...           11 years ago
  • 1.0.1                                ...           11 years ago
  • 1.0.0                                ...           13 years ago
Maintainers (1)
Downloads
Today 0
This Week 82
This Month 118
Last Day 15
Last Week 58
Last Month 326
Dependencies (0)
None
Dev Dependencies (3)

Copyright 2013 - present © cnpmjs.org | Home |