boneidle

Functional library with callbacks

Bone Idle

var none = b_.option.none();
assertEquals(none.isEmpty(), true);
assertEquals(none.getOrNull(), null);
assertEquals(none.getOr(anotherValue), anotherValue);
var some = b_.option.some(value);
assertEquals(b.isEmpty(), false);
assertEquals(some.get(), value);
assertEquals(some.getOrNull(), value);
assertEquals(none.getOr(anotherValue), value);
 var left = b_.either.left(value);
 assertEquals(left.isLeft(), true);
 assertEquals(left.isRight(), false);
 assertEquals(left.value()), value);
 var right = b_.either.right(value);
 assertEquals(right.isLeft(), false);
 assertEquals(right.isRight(), true);
 assertEquals(right.value()), value)
isNotNull(str, function(ok) {
    if (ok) {
        hasLengthGreaterThan2(str, function(ok) {
            if (ok) {
                res.send("All good")
            } else {
                res.send("Bad Input");
            }
        })
    } else {
        res.send("Bad Input");
    }
});

Becomes

b_.chain(isNotNull).and(hasLengthGreaterThan2).call("some param", function(either) {
    if (either.isRight) {
        res.send("All Good");
    } else {
        res.send("Bad Input");
    }
})