Security News
PyPI Introduces Digital Attestations to Strengthen Python Package Security
PyPI now supports digital attestations, enhancing security and trust by allowing package maintainers to verify the authenticity of Python packages.
object-extended
Advanced tools
object-extended
is a Javascript library that can be used standalone or incorporated into extended
var obj = require("object-extended");
Or
var myextended = require("extended")
.register(require("object-extended"));
npm install object-extended
Or download the source (minified)
merge
merges the properties of one object into another.
Note This method changes the original object.
obj.merge({}, {a : "a"}, {b : "b"}, {c : "c"}); //{a : "a", b : "b", c : "c"});
extend
Merges properties into a function prototype or delegates to merge
.
var MyObj = function () {
};
MyObj.prototype.test = true;
object.extend(MyObj, {test2: false, test3: "hello", test4: "world"});
var myOjb = new MyObj();
myObj.test2; //false
myObj.test3; //"hello"
myObj.test4; //"world"
deepMerge
Merges objects together only overriding properties that are different.
Note: this function takes a variable number of objects to merge
var myObj = {my : {cool : {property1 : 1, property2 : 2}}};
obj.deepMerge(myObj, {my : {cool : {property3 : 3}}});
myObj.my.cool.property1; // 1
myObj.my.cool.property2; // 2
myObj.my.cool.property3; // 3
Or
var myObj = {my : {cool : {property1 : 1, property2 : 2}}};
obj(myObj).deepMerge({my : {cool : {property3 : 3}}});
myObj.my.cool.property1; // 1
myObj.my.cool.property2; // 2
myObj.my.cool.property3; // 3
hash.forEach
Loops through each k/v in a hash.
var myObj = {a : "b", c : "d", e : "f"};
obj(myObj).forEach(function(value, key){
console.log(value, key);
});
obj.hash.forEach(myObj, function(value, key){
console.log(value, key);
});
hash.filter
Filters out key/value pairs in an object. Filters out key/value pairs that return a falsey value from the iterator.
var myObj = {a : "b", c : "d", e : "f"};
obj(myObj).filter(function(value, key){
return value == "b" || key === "e";
}); //{a : "b", e : "f"};
obj.hash.filter(myObj, function(value, key){
return value == "b" || key === "e";
}); //{a : "b", e : "f"};
hash.values
Returns the values of a hash.
var myObj = {a : "b", c : "d", e : "f"};
obj(myObj).values(); //["b", "d", "f"]
obj.values(myObj); //["b", "d", "f"]
hash.keys
Returns the keys of a hash.
var myObj = {a : "b", c : "d", e : "f"};
obj(myObj).keys(); //["a", "c", "e"]
obj.keys(myObj); //["b", "d", "f"]
hash.invert
Returns a new hash that is the invert of the hash.
var myObj = {a : "b", c : "d", e : "f"};
obj(myObj).invert(); //{b : "a", d : "c", f : "e"}
obj.hash.invert(myObj); //{b : "a", d : "c", f : "e"}
hash.omit
Returns a new hash that is the with the given keys omitted.
var myObj = {a : "b", c : "d", e : "f"};
obj(myObj).omit("e"); //{a : "b", c : "d"}
obj(myObj).omit(["c", "e"]); //{a : "b"}
obj.hash.omit(myObj, "e"); //{a : "b", c : "d"}
obj.hash.omit(myObj, ["c", "e"]); //{a : "b"}
hash.toArray
Converts a hash to an array.
var myObj = {a : "b", c : "d", e : "f"};
obj(myObj).toArray(); //[["a", "b"], ["c", "d"], ["e", "f"]]
obj.hash.toArray(myObj); //[["a", "b"], ["c", "d"], ["e", "f"]]
FAQs
Additional object extensions with a chainable api
The npm package object-extended receives a total of 68,860 weekly downloads. As such, object-extended popularity was classified as popular.
We found that object-extended demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 1 open source maintainer 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
PyPI now supports digital attestations, enhancing security and trust by allowing package maintainers to verify the authenticity of Python packages.
Security News
GitHub removed 27 malicious pull requests attempting to inject harmful code across multiple open source repositories, in another round of low-effort attacks.
Security News
RubyGems.org has added a new "maintainer" role that allows for publishing new versions of gems. This new permission type is aimed at improving security for gem owners and the service overall.