funval
Version:
A minimalist library for data validation using functions interfaces.
31 lines (23 loc) • 2.12 kB
JavaScript
;
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==