From 0881b6f613697a61d3e4570bf8ad6d87252689cc Mon Sep 17 00:00:00 2001 From: ifeanyi-ugwu Date: Wed, 8 Jul 2026 12:51:15 +0300 Subject: [PATCH] fix(geojson): correct array precedence in generated codegen type generatePositionType() returned an unparenthesized union, so arrayed usages (`${generatePositionType()}[]`) applied `[]` to only the second member: `[number, number] | [number, number, number][]` instead of `([number, number] | [number, number, number])[]`. The codegenScalarType string emitted to GraphQL Codegen consumers was therefore wrong for MultiPoint, LineString, MultiLineString, Polygon and MultiPolygon (every geometry whose coordinates are arrays of positions). --- src/scalars/GeoJSON/codegenScalarType.ts | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/scalars/GeoJSON/codegenScalarType.ts b/src/scalars/GeoJSON/codegenScalarType.ts index d46221c40..63c40a96c 100644 --- a/src/scalars/GeoJSON/codegenScalarType.ts +++ b/src/scalars/GeoJSON/codegenScalarType.ts @@ -1,5 +1,7 @@ -// Helper function to generate Position type -const generatePositionType = () => `[number, number] | [number, number, number]`; +// Helper function to generate Position type. +// Parenthesized so that array usages (`${generatePositionType()}[]`) apply `[]` +// to the whole union rather than only the second member. +const generatePositionType = () => `([number, number] | [number, number, number])`; // Helper function to generate BBox type const generateBBoxType = () =>