Skip to content
Lazy Functional Javascript library (with callbacks)
JavaScript
Find file
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.
lib
release
test
.gitignore
.travis.yml
package.json
pkg.js
readme.md

readme.md

BoneIdle

build status

Lazy Functional Library For Node.js

Option

None
var none = b_.option.none();
assertEquals(none.isEmpty(), true);
assertEquals(none.getOrNull(), null);
assertEquals(none.getOr(anotherValue), anotherValue);
Some
var some = b_.option.some(value);
assertEquals(b.isEmpty(), false);
assertEquals(some.get(), value);
assertEquals(some.getOrNull(), value);
assertEquals(none.getOr(anotherValue), value);
Either
Left
 var left = b_.either.left(value);
 assertEquals(left.isLeft(), true);
 assertEquals(left.isRight(), false);
 assertEquals(left.value()), value);
Right
 var right = b_.either.right(value);
 assertEquals(right.isLeft(), false);
 assertEquals(right.isRight(), true);
 assertEquals(right.value()), value)

Callback Chaining

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");
    }
})
Something went wrong with that request. Please try again.