fix(Grist Node): Test for integer precision loss (#17136)

Co-authored-by: Jonathan Bennetts <jonathan.bennetts@gmail.com>
This commit is contained in:
Greg Linklater
2025-08-18 12:33:46 +02:00
committed by GitHub
parent f0a4ecd6a5
commit 735e064749

View File

@@ -67,10 +67,14 @@ export function parseSortProperties(sortProperties: GristSortProperties) {
}, '');
}
export function isSafeInteger(val: number) {
return !isNaN(val) && val > Number.MIN_VALUE && val < Number.MAX_VALUE;
}
export function parseFilterProperties(filterProperties: GristFilterProperties) {
return filterProperties.reduce<{ [key: string]: Array<string | number> }>((acc, cur) => {
acc[cur.field] = acc[cur.field] ?? [];
const values = isNaN(Number(cur.values)) ? cur.values : Number(cur.values);
const values = isSafeInteger(Number(cur.values)) ? Number(cur.values) : cur.values;
acc[cur.field].push(values);
return acc;
}, {});