Skip to content

jozefdransfield/BoneIdle

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

60 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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

About

Lazy Functional Javascript library (with callbacks)

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published