1.1.4 • Published 11 years ago

cruks-lib-function v1.1.4

Weekly downloads
-
License
-
Repository
github
Last release
11 years ago

cruks-lib-function

Utility belt for automating frequent custom operations over native JavaScript Function.

Examples

Listing JavaScript function arguments

var assert = require("assert"),
    MyFunction = require("cruks-lib-function").Function;

function Constructor (a, b, c) {
}

assert.deepEqual(["a", "b", "c"], new MyFunction(Constructor).parameters;

Using .apply when calling new

var assert = require("assert"),
    Constructor,
    MyFunction = require("cruks-lib-function").Function,
    instance;

Constructor = function (a, b, c) {
    this.a = a;
    this.b = b;
    this.c = c;
};

Constructor = new MyFunction(Constructor);

instance = Constructor.new.apply(Constructor, [1, 2, 3]);

assert.strictEqual(1, instance.a);
assert.strictEqual(2, instance.b);
assert.strictEqual(3, instance.c);

Making any function appliable to Array.prototype.map

var assert = require("assert"),
    arr,
    Constructor,
    Mappable = require("cruks-lib-function").Mappable;

Constructor = function (a) {
    this.a = a;
};

arr = [1, 2, 3].map(new Mappable(Constructor));


assert.strictEqual(1, arr[0].a);
assert.strictEqual(2, arr[1].a);
assert.strictEqual(3, arr[2].a);

Invoking function with named arguments

var assert = require("assert"),
    Invocable = require("cruks-lib-function").Invocable;

function Constructor (a, b) {
    return b - a;
}

assert.strictEqual(1, new Invocable(Constructor).invoke({ 
    "a": 4,
    "b:" 5
}));

assert.strictEqual(2, new Invocable(Constructor).invoke({ 
    "a": 1, 
    "b:" 3
}));

Build Status Code Climate Dependency Status

1.1.4

11 years ago

1.1.3

11 years ago

1.1.2

11 years ago

1.2.1

11 years ago

1.1.1

11 years ago

1.1.0

11 years ago

1.0.0

11 years ago