Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Appearance settings

codefeathers/fuse

Open more actions menu

Repository files navigation

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.

About

FunctionSelect: Select a function that passes a condition. A functional alternative to switch-case.

Topics

Resources

Stars

Watchers

Forks

Releases

Packages

Used by

Contributors

Languages

Morty Proxy This is a proxified and sanitized view of the page, visit original site.