@frauschert/ts-guard
Version:
ts-guard is a typescript library that provides composable type guards. Its inspired by zod but focusses only on type guards and is more lightweight.
33 lines • 976 B
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.isNumber = isNumber;
function isNumber(constraints) {
return (value) => {
if (typeof value !== "number" || Number.isNaN(value)) {
return false;
}
if (!constraints) {
return true;
}
if (constraints.finite && !Number.isFinite(value)) {
return false;
}
if (constraints.integer && !Number.isInteger(value)) {
return false;
}
if (constraints.positive && value <= 0) {
return false;
}
if (constraints.negative && value >= 0) {
return false;
}
if (constraints.min !== undefined && value < constraints.min) {
return false;
}
if (constraints.max !== undefined && value > constraints.max) {
return false;
}
return true;
};
}
//# sourceMappingURL=isNumber.js.map