Files
immich/server/src/microservices/utils/numbers.ts
Jason Rasmussen 8ebac41318 refactor(server)*: tsconfigs (#2689)
* refactor(server): tsconfigs

* chore: dummy commit

* fix: start.sh

* chore: restore original entry scripts
2023-06-08 10:01:07 -05:00

20 lines
631 B
TypeScript

export function isDecimalNumber(num: number): boolean {
return !Number.isNaN(num) && Number.isFinite(num);
}
/**
* Check if `num` is a valid number and is between `start` and `end` (inclusive)
*/
export function isNumberInRange(num: number, start: number, end: number): boolean {
return isDecimalNumber(num) && num >= start && num <= end;
}
export function toNumberOrNull(input: number | string | null | undefined): number | null {
if (input === null || input === undefined) {
return null;
}
const num = typeof input === 'string' ? Number.parseFloat(input) : input;
return isDecimalNumber(num) ? num : null;
}