/defu

🇩 Recursively assign default properties. Lightweight and Fast!

Primary LanguageJavaScriptMIT LicenseMIT

🇩 defu

Recursively assign default properties. Lightweight and Fast!

Standard JS david dm codecov circleci

npm version npm downloads package phobia bundle phobia

Install

Install package:

npm install defu

OR

yarn add defu

Usage

const options = defu (object, defaults)

Arguments

  • object (Object): The destination object.
  • source (Object): The source object.
const defu = require('defu')

console.log(defu({ 'a': { 'b': 2 } }, { 'a': { 'b': 1, 'c': 3 } }))
// => { a: { b: 2, c: 3 } }

Remarks

  • object and defaults are not modified

  • Assignment of __proto__ and constructor keys will be skipped to prevent security issues with object pollution.

License

MIT. Made with 💖