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.
extended
is a wrapper than sits on top of extender
than allows you to combine multiple libraries into a single API.
This allows you create a feature rich API that only includes the functionality that you wish to have.
Extended is also browser friendly so you can create a utility library that is reusable on both in node and the browser.
Often times I end up using quite a few libraries in a single node project, extended
allows you to seamlessly integrate libraries into a single interface.
You also get the added benefit of replacing libraries without having to change you code every place that they were required.
npm install extended
Or download the source (minified)
register
The register method allows you to register a library with extended.
The following example makes use of
array-extended
string-extended
date-extended
function-extended
is-extended
object-extended
promise-extended
Notice how all the APIs are completely integrated together, so you can use the chaining API from each registered library in a single unified interface.
var _ = extended()
.register(require("array-extended"))
.register(require("string-extended"))
.register(require("date-extended"))
.register(require("function-extended"))
.register(require("is-extended"))
.register(require("object-extended"))
.register(require("promise-extended"));
//now use your API!
//from is-extended
_.isArray([]); //true
//from string-extended
_.format("{first} {last}", {first : "Bob", last : "yukon"});
//combination of object-extended, array-extended, and string-extended
_({hello : "hello", world: "world"}).keys().map(function(key, index){
return _.format("%d key is %s", index + 1, key);
}).value().join(";"); //"1 key is hello; 2 key is world"
If you want to namespace you API you can provide an alias.
var _ = extended()
.register("array", require("array-extended"))
.register("string", require("string-extended"))
.register("date", require("date-extended"))
.register("fn", require("function-extended"))
.register("is", require("is-extended"))
.register("obj", require("object-extended"))
.register("promise", require("promise-extended"));
//now use your API!
//from is-extended
_.is.isArray([]); //true
//from string-extended
_.string.format("{first} {last}", {first : "Bob", last : "yukon"});
You can also integrate other libraries by just mixing in their functions.
Suppose you dont want to use promise-extended
but instead Q
.
var _ = extended()
.register(require("array-extended"))
.register(require("string-extended"))
.register(require("date-extended"))
.register(require("function-extended"))
.register(require("is-extended"))
.register(require("object-extended"))
.register(require("q"));
_.resolve("hello").then(function(hello){
console.log("hello");
})
Or maybe you want to continue to use underscore
with added functionality.
//lets create a library with _, promises and an inheritance library.
var _ = extended()
.register(require("_"))
.register(require("is-extended"))
.register(require("promise-extended"))
.register(require("declare.js"));
var Person = _.declare({
constructor: function(firstName, lastName){
this.firstName = firstName;
this.lastName = lastName;
}
});
var
FAQs
Library for combining multiple libraries into one
The npm package extended receives a total of 69,107 weekly downloads. As such, extended popularity was classified as popular.
We found that 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.