UNPKG

funval

Version:

A minimalist library for data validation using functions interfaces.

31 lines (23 loc) 2.12 kB
"use strict"; exports.__esModule = true; exports.Float = Float; exports.Integer = Integer; // exported functions function Float(input) { if (input == null) { throw new TypeError(`Missing number`); } const res = Number(input); if (isNaN(res)) { throw new TypeError(`Expect value to be a number`); } return res; } function Integer(input) { const value = Float(input); if (!Number.isInteger(value)) { throw new TypeError(`"${value}" is not an integer`); } return value; } //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy92YWxpZGF0b3JzL251bWJlci50cyJdLCJuYW1lcyI6WyJGbG9hdCIsImlucHV0IiwiVHlwZUVycm9yIiwicmVzIiwiTnVtYmVyIiwiaXNOYU4iLCJJbnRlZ2VyIiwidmFsdWUiLCJpc0ludGVnZXIiXSwibWFwcGluZ3MiOiI7Ozs7OztBQUFBO0FBRU8sU0FBU0EsS0FBVCxDQUFlQyxLQUFmLEVBQXVDO0FBQzVDLE1BQUlBLEtBQUssSUFBSSxJQUFiLEVBQW1CO0FBQ2pCLFVBQU0sSUFBSUMsU0FBSixDQUFlLGdCQUFmLENBQU47QUFDRDs7QUFFRCxRQUFNQyxHQUFHLEdBQUdDLE1BQU0sQ0FBQ0gsS0FBRCxDQUFsQjs7QUFFQSxNQUFJSSxLQUFLLENBQUNGLEdBQUQsQ0FBVCxFQUFnQjtBQUNkLFVBQU0sSUFBSUQsU0FBSixDQUFlLDZCQUFmLENBQU47QUFDRDs7QUFFRCxTQUFPQyxHQUFQO0FBQ0Q7O0FBRU0sU0FBU0csT0FBVCxDQUFpQkwsS0FBakIsRUFBeUM7QUFDOUMsUUFBTU0sS0FBSyxHQUFHUCxLQUFLLENBQUNDLEtBQUQsQ0FBbkI7O0FBRUEsTUFBSSxDQUFDRyxNQUFNLENBQUNJLFNBQVAsQ0FBaUJELEtBQWpCLENBQUwsRUFBOEI7QUFDNUIsVUFBTSxJQUFJTCxTQUFKLENBQWUsSUFBR0ssS0FBTSxxQkFBeEIsQ0FBTjtBQUNEOztBQUVELFNBQU9BLEtBQVA7QUFDRCIsInNvdXJjZXNDb250ZW50IjpbIi8vIGV4cG9ydGVkIGZ1bmN0aW9uc1xuXG5leHBvcnQgZnVuY3Rpb24gRmxvYXQoaW5wdXQ6IHVua25vd24pOiBudW1iZXIge1xuICBpZiAoaW5wdXQgPT0gbnVsbCkge1xuICAgIHRocm93IG5ldyBUeXBlRXJyb3IoYE1pc3NpbmcgbnVtYmVyYCk7XG4gIH1cblxuICBjb25zdCByZXMgPSBOdW1iZXIoaW5wdXQpO1xuXG4gIGlmIChpc05hTihyZXMpKSB7XG4gICAgdGhyb3cgbmV3IFR5cGVFcnJvcihgRXhwZWN0IHZhbHVlIHRvIGJlIGEgbnVtYmVyYCk7XG4gIH1cblxuICByZXR1cm4gcmVzO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gSW50ZWdlcihpbnB1dDogdW5rbm93bik6IG51bWJlciB7XG4gIGNvbnN0IHZhbHVlID0gRmxvYXQoaW5wdXQpO1xuXG4gIGlmICghTnVtYmVyLmlzSW50ZWdlcih2YWx1ZSkpIHtcbiAgICB0aHJvdyBuZXcgVHlwZUVycm9yKGBcIiR7dmFsdWV9XCIgaXMgbm90IGFuIGludGVnZXJgKTtcbiAgfVxuXG4gIHJldHVybiB2YWx1ZTtcbn1cbiJdfQ==