Skip to content

Commit e4da791

Browse files
committed
Add warnings for invalid pairs
1 parent 76b4e67 commit e4da791

File tree

1 file changed

+17
-2
lines changed

1 file changed

+17
-2
lines changed

packages/instant-meilisearch/src/adapter/search-request-adapter/geo-rules-adapter.ts

Lines changed: 17 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -13,16 +13,31 @@ export function adaptGeoSearch({
1313

1414
// Highest precedence: insidePolygon
1515
if (Array.isArray(insidePolygon) && insidePolygon.length >= 3) {
16+
const invalidPairs: unknown[] = []
17+
1618
const formattedPoints = insidePolygon
1719
.map((pair) => {
18-
if (!Array.isArray(pair) || pair.length < 2) return null
20+
if (!Array.isArray(pair) || pair.length < 2) {
21+
invalidPairs.push(pair)
22+
return null
23+
}
1924
const lat = Number.parseFloat(String(pair[0]))
2025
const lng = Number.parseFloat(String(pair[1]))
21-
if (Number.isNaN(lat) || Number.isNaN(lng)) return null
26+
if (Number.isNaN(lat) || Number.isNaN(lng)) {
27+
invalidPairs.push(pair)
28+
return null
29+
}
2230
return `[${lat}, ${lng}]`
2331
})
2432
.filter((pt): pt is string => pt !== null)
2533

34+
if (invalidPairs.length > 0) {
35+
console.warn(
36+
'instant-meilisearch: insidePolygon contains invalid coordinate pairs that were ignored:',
37+
invalidPairs
38+
)
39+
}
40+
2641
if (formattedPoints.length >= 3) {
2742
filter = `_geoPolygon(${formattedPoints.join(', ')})`
2843
return filter

0 commit comments

Comments
 (0)