directus
1import type { NumericValue } from '@directus/types';
2import { NumberDatabaseHelper, type NumberInfo } from '../types.js';
3import { numberInRange } from '../utils/number-in-range.js';
4
5export class NumberHelperPostgres extends NumberDatabaseHelper {
6override isNumberValid(value: NumericValue, info: NumberInfo): boolean {
7// Check that number is within the range of the provided type
8if (numberInRange(value, info)) {
9// Ensure that only integer values are used for integer types
10if (typeof value !== 'bigint' && ['integer', 'bigInteger'].includes(info.type)) {
11return value % 1 === 0;
12}
13
14return true;
15}
16
17return false;
18}
19}
20