@codefeathers/fuse
v0.11.1
Published
FunctionSelect: Select a function that passes a condition. A functional alternative to switch-case.
Downloads
2
Maintainers
Readme
Fuse
FunctionSelect
Fuse
selects a function that passes a condition.
Usage
Fuse
const Fuse = require('@codefeathers/fuse');
const a = 100;
const result = new Fuse(a)
.on(x => x>10,
a => `${a} is greater than 10.`)
.on(x => x<10,
a => `${a} is lesser than 10.`)
.on(x => x===10,
a => `${a} is 10.`)
console.log(result.resolve()); // -> "100 is greater than 10."
FuseIterable
const { FuseIterable } = require('@codefeathers/fuse');
const temperatures = [ 0, 20, 30 ];
const result = new FuseIterable(temperatures)
.on(temp => temp<10,
() => `Too cold!`)
.on(temp => temp>=10 && temp <25,
() => `Just right.`)
.on(temp => temp>=25,
() => `Too warm!`)
console.log(result.resolve()); // -> [ "Too cold!", "Just right.", "Too warm!" ]
Docs
Docs exist in /docs
directory. Will be served soon.
Development
If you find any mistakes in code/documentation, or if you feel something could be done better, do PR :) I appreciate it.
- Always write test spec for any code you add. Make sure they run as intended.
- Add/update JSDoc comments as needed.
- Use npm scripts for linting, tests, debugging, building docs.
Place your test file as testscript.js
in root.
The following npm scripts are available: npm run lint
, npm test
, npm run debug
, npm run docs
.
Credits
@Floofies was of huge help during development of this module.
Also, @TRGWII was a source of inspiration and guidance.