Skip to content

danielroe/unjs-defu

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

26 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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

Most left arguments have more perioriry when assigning 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
  • null values are skipped same as defaults-deep. Please use either omit-deep or lodash.defaultsdeep if you need to to preserve.
  • Assignment of __proto__ and constructor keys will be skipped to prevent security issues with object pollution.

License

MIT. Made with 💖

About

🇩 Recursively assign default properties. Lightweight and Fast!

Resources

License

Code of conduct

Stars

Watchers

Forks

Packages

 
 
 

Contributors

Languages

  • TypeScript 73.4%
  • JavaScript 26.6%