0.0.4 • Published 6 years ago
given-that v0.0.4
given-that
A minimalist approach to control flow, by extending the standard Javascript Object.
Install
yarn add given-that
or
npm install given-that
Purpose
The idea behind given-that
is to provide a plainer way of speaking when it comes to a programs control flow. Take the following example:
if(typeof foo === 'boolean' && (typeof bar === 'string' || typeof bar === 'number')) {
if(this.myVariable === false) {
console.log('foobar!');
} else if(this.myVariable) {
console.log('barfoo!');
}
}
Control flow can quickly become both cumbersome and hard to follow. Now - the same example with given-that
:
note, given-that
comes in two flavours, which are toggleable, one is a standalone object which will add a small footprint to your code
the other will add a global is
parameter to everything
Standalone
if(given.that(foo).is.a.boolean && (given.that(bar).is.a.string || given.that(bar).is.a.number)) {
if(given.that(this.myVariable).is.false) {
console.log('foobar!');
}else if(given.that(this.myVariable).is.truthy) {
console.log('barfoo!');
}
}
Object inherited
if(foo.is.a.boolean && (bar.is.a.string || bar.is.a.number)) {
if(this.myVariable.is.false) {
console.log('foobar!');
}else if(this.myVariable.is.truthy) {
console.log('barfoo!');
}
}
Both methods provide a syntactically clear set of rules by which a developer can read clearly.