fizz_buzz
Version:
Play Fizz Buzz like a Boss!
21 lines (17 loc) • 722 B
JavaScript
import { required, multipleOf } from './utils';
/* eslint-disable */
/** (x: number) -> string | number */
export var fizzBuzz = function fizzBuzz(x) {
return multipleOf(3, 5)(x) ? 'FizzBuzz' : multipleOf(3)(x) ? 'Fizz' : multipleOf(5)(x) ? 'Buzz' : x;
};
/* eslint-enable */
/** :: (print: Function, max: number?) -> void */
var play = function play() {
var print = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : required();
var min = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 1;
var max = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 100;
for (var num = min; num <= max; num += 1) {
print(fizzBuzz(num));
}
};
export default play;