From ce0e0450329c603a1634d8674c96b8607a9c531f Mon Sep 17 00:00:00 2001 From: Matthew Fedderly <24275386+mfedderly@users.noreply.github.com> Date: Tue, 16 Dec 2025 16:30:59 -0500 Subject: [PATCH] Move to Extract for @turf/helpers' geometry() --- packages/turf-helpers/index.ts | 27 +++++++++++++-------------- 1 file changed, 13 insertions(+), 14 deletions(-) diff --git a/packages/turf-helpers/index.ts b/packages/turf-helpers/index.ts index c6c354754..d6cd0d7dc 100644 --- a/packages/turf-helpers/index.ts +++ b/packages/turf-helpers/index.ts @@ -219,27 +219,26 @@ export function geometry< type: T, coordinates: any[], _options: Record = {} -): { - Point: Point; - LineString: LineString; - Polygon: Polygon; - MultiPoint: MultiPoint; - MultiLineString: MultiLineString; - MultiPolygon: MultiPolygon; -}[T] { +): Extract { switch (type) { case "Point": - return point(coordinates).geometry as any; + return point(coordinates).geometry as Extract; case "LineString": - return lineString(coordinates).geometry as any; + return lineString(coordinates).geometry as Extract; case "Polygon": - return polygon(coordinates).geometry as any; + return polygon(coordinates).geometry as Extract; case "MultiPoint": - return multiPoint(coordinates).geometry as any; + return multiPoint(coordinates).geometry as Extract; case "MultiLineString": - return multiLineString(coordinates).geometry as any; + return multiLineString(coordinates).geometry as Extract< + Geometry, + { type: T } + >; case "MultiPolygon": - return multiPolygon(coordinates).geometry as any; + return multiPolygon(coordinates).geometry as Extract< + Geometry, + { type: T } + >; default: throw new Error(type + " is invalid"); }