UNPKG

fizz_buzz

Version:
21 lines (17 loc) 722 B
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;