@opensig/opendesign
Version:
43 lines (42 loc) • 968 B
JavaScript
import { isUndefined, isFunction, isNumber } from "../_utils/is.mjs";
function string2number(value) {
return value === "" ? NaN : Number(value);
}
function number2string(value) {
return Number.isNaN(value) || isUndefined(value) ? "" : String(value);
}
function isValidNumber(val, min, max, parse) {
if (Number.isNaN(val)) {
return false;
}
const value = isFunction(parse) ? parse(String(val)) : val;
if (isNumber(Number(value))) {
const v = Number(value);
if (!isUndefined(min) && v < min) {
return false;
}
if (!isUndefined(max) && v > max) {
return false;
}
return true;
}
return false;
}
function correctValue(val, lastVal, min, max) {
if (isNumber(val)) {
if (!isUndefined(max) && val > max) {
return max;
}
if (!isUndefined(min) && val < min) {
return min;
}
return val;
}
return lastVal;
}
export {
correctValue,
isValidNumber,
number2string,
string2number
};