Socket
Socket
Sign inDemoInstall

extended

Package Overview
Dependencies
2
Maintainers
1
Versions
6
Alerts
File Explorer

Advanced tools

Install Socket

Detect and block malicious and high-risk dependencies

Install

    extended

Library for combining multiple libraries into one


Version published
Weekly downloads
82K
decreased by-1.04%
Maintainers
1
Install size
496 kB
Created
Weekly downloads
 

Readme

Source

Build Status

browser support

extended

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.

Why?

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.

Installation

npm install extended

Or download the source (minified)

Usage

register

The register method allows you to register a library with extended.

The following example makes use of

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"});

Integration with other libraries.

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

Keywords

FAQs

Last updated on 01 Apr 2014

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.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc