1.0.2 • Published 8 years ago

maybe4js v1.0.2

Weekly downloads
1
License
ISC
Repository
github
Last release
8 years ago

Very simple maybe 'monad' for javascript with extra helpers.

Usual things to do with a maybe:

var value = Maybe(2);
var nullValue = Maybe(null);

value.get(); // 2

nullValue.get(); // null

value.orElse(3); // 2

nullValue.orElse(3); // 3

var doubler = function (value) {
    return value * 2;
};

value.map(doubler).get() // 4

nullValue.map(doubler).get() // null

Examples for pluck(); an extra helper that may come handy sometimes:

var object = {
    innerObject : {
        otherInnerObject : {
            value : "deepValue"
        }
    }
};

Maybe(object).pluck("innerObject").pluck("otherInnerObject").pluck("value").get() // "deepValue"

Maybe(object).pluck("innerObject.otherInnerObject.value").get() // "deepValue"

Maybe(object).pluck("innerObject.nonExistingAttribute.value").get() // null

Maybe(object).pluck("innerObject.nonExistingAttribute.value").orElse("defaultValue") // "defaultValue"