Security News
Research
Data Theft Repackaged: A Case Study in Malicious Wrapper Packages on npm
The Socket Research Team breaks down a malicious wrapper package that uses obfuscation to harvest credentials and exfiltrate sensitive data.
extend-shallow
Advanced tools
Extend an object with the properties of additional objects. node.js/javascript util.
The extend-shallow npm package is used to copy the properties of one or more source objects to a target object. It is a utility for shallowly extending the properties of objects without deeply cloning them.
Shallow extend one object with another
This feature allows you to extend an object by adding properties from another object. The properties are copied over shallowly, meaning that if the property values are objects, they are not deeply cloned.
{"const extend = require('extend-shallow');
const obj1 = { a: 'a' };
const obj2 = { b: 'b' };
const result = extend(obj1, obj2);
// result is { a: 'a', b: 'b' }"}
Shallow extend with multiple source objects
This feature allows you to extend an object with properties from multiple source objects. The last source's properties will overwrite the properties of the same name in previous sources if they exist.
{"const extend = require('extend-shallow');
const obj1 = { a: 'a' };
const obj2 = { b: 'b' };
const obj3 = { c: 'c' };
const result = extend(obj1, obj2, obj3);
// result is { a: 'a', b: 'b', c: 'c' }"}
The object-assign package is a polyfill for the Object.assign() method, which copies enumerable and own properties from source objects to a target object. It is similar to extend-shallow but is designed to mimic the behavior of the native JavaScript method.
lodash.assign is a method from the Lodash library that assigns own enumerable properties of source objects to the destination object. It is similar to extend-shallow but comes with the additional utility functions provided by Lodash.
deep-extend is similar to extend-shallow but, as the name suggests, performs a deep extend, meaning that it recursively copies property values that are objects, resulting in a deep clone of the source objects' properties.
Extend an object with the properties of additional objects. node.js/javascript util.
Please consider following this project's author, Jon Schlinkert, and consider starring the project to show your :heart: and support.
Install with npm:
$ npm install --save extend-shallow
var extend = require('extend-shallow');
extend({a: 'b'}, {c: 'd'})
//=> {a: 'b', c: 'd'}
Pass an empty object to shallow clone:
var obj = {};
extend(obj, {a: 'b'}, {c: 'd'})
//=> {a: 'b', c: 'd'}
Pull requests and stars are always welcome. For bugs and feature requests, please create an issue.
Running and reviewing unit tests is a great way to get familiarized with a library and its API. You can install dependencies and run tests with the following command:
$ npm install && npm test
(This project's readme.md is generated by verb, please don't edit the readme directly. Any changes to the readme must be made in the .verb.md readme template.)
To generate the readme, run the following command:
$ npm install -g verbose/verb#dev verb-generate-readme && verb
You might also be interested in these projects:
Object
constructor. | homepageCommits | Contributor |
---|---|
33 | jonschlinkert |
1 | pdehaan |
Jon Schlinkert
Copyright © 2017, Jon Schlinkert. Released under the MIT License.
This file was generated by verb-generate-readme, v0.6.0, on November 19, 2017.
FAQs
Extend an object with the properties of additional objects. node.js/javascript util.
The npm package extend-shallow receives a total of 66,942,525 weekly downloads. As such, extend-shallow popularity was classified as popular.
We found that extend-shallow demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 2 open source maintainers collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
Research
The Socket Research Team breaks down a malicious wrapper package that uses obfuscation to harvest credentials and exfiltrate sensitive data.
Research
Security News
Attackers used a malicious npm package typosquatting a popular ESLint plugin to steal sensitive data, execute commands, and exploit developer systems.
Security News
The Ultralytics' PyPI Package was compromised four times in one weekend through GitHub Actions cache poisoning and failure to rotate previously compromised API tokens.