Skip to content

Commit 6a1a837

Browse files
hamdanalmingyu.park
authored and
mingyu.park
committed
Fix annotations of shapely.constructive.make_valid (python#13913)
1 parent 9b09018 commit 6a1a837

File tree

1 file changed

+18
-11
lines changed

1 file changed

+18
-11
lines changed

stubs/shapely/shapely/constructive.pyi

+18-11
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,5 @@
11
from collections.abc import Sequence
22
from typing import Any, Literal, SupportsIndex, overload
3-
from typing_extensions import TypeAlias
43

54
from ._enum import ParamEnum
65
from ._typing import ArrayLike, ArrayLikeSeq, GeoArray, OptGeoArrayLike, OptGeoArrayLikeSeq, OptGeoT
@@ -43,8 +42,6 @@ __all__ = [
4342
"voronoi_polygons",
4443
]
4544

46-
_Method: TypeAlias = Literal["linework", "structure"]
47-
4845
class BufferCapStyle(ParamEnum):
4946
round = 1
5047
flat = 2
@@ -269,25 +266,35 @@ def build_area(geometry: None, **kwargs) -> None: ...
269266
def build_area(geometry: Geometry | None, **kwargs) -> BaseGeometry | None: ...
270267
@overload
271268
def build_area(geometry: OptGeoArrayLikeSeq, **kwargs) -> GeoArray: ...
269+
270+
# make_valid with `method="linework"` only accepts `keep_collapsed=True`
272271
@overload
273-
def make_valid(geometry: Geometry, *, method: _Method = "linework", keep_collapsed: bool = True, **kwargs) -> BaseGeometry: ...
274-
@overload
275-
def make_valid(geometry: None, *, method: _Method = "linework", keep_collapsed: bool = True, **kwargs) -> None: ...
272+
def make_valid(
273+
geometry: Geometry, *, method: Literal["linework"] = "linework", keep_collapsed: Literal[True] = True, **kwargs
274+
) -> BaseGeometry: ...
276275
@overload
277276
def make_valid(
278-
geometry: Geometry | None, *, method: Literal["structure"], keep_collapsed: bool = True, **kwargs
279-
) -> BaseGeometry | None: ...
277+
geometry: None, *, method: Literal["linework"] = "linework", keep_collapsed: Literal[True] = True, **kwargs
278+
) -> None: ...
280279
@overload
281280
def make_valid(
282-
geometry: Geometry | None, *, method: Literal["linework"], keep_collapsed: Literal[True], **kwargs
281+
geometry: Geometry | None, *, method: Literal["linework"] = "linework", keep_collapsed: Literal[True] = True, **kwargs
283282
) -> BaseGeometry | None: ...
284283
@overload
285284
def make_valid(
286-
geometry: OptGeoArrayLikeSeq, *, method: Literal["structure"], keep_collapsed: bool = True, **kwargs
285+
geometry: OptGeoArrayLikeSeq, *, method: Literal["linework"] = "linework", keep_collapsed: Literal[True] = True, **kwargs
287286
) -> GeoArray: ...
288287
@overload
288+
def make_valid(geometry: Geometry, *, method: Literal["structure"], keep_collapsed: bool = True, **kwargs) -> BaseGeometry: ...
289+
@overload
290+
def make_valid(geometry: None, *, method: Literal["structure"], keep_collapsed: bool = True, **kwargs) -> None: ...
291+
@overload
289292
def make_valid(
290-
geometry: OptGeoArrayLikeSeq, *, method: Literal["linework"], keep_collapsed: Literal[True], **kwargs
293+
geometry: Geometry | None, *, method: Literal["structure"], keep_collapsed: bool = True, **kwargs
294+
) -> BaseGeometry | None: ...
295+
@overload
296+
def make_valid(
297+
geometry: OptGeoArrayLikeSeq, *, method: Literal["structure"], keep_collapsed: bool = True, **kwargs
291298
) -> GeoArray: ...
292299
@overload
293300
def minimum_clearance_line(geometry: Point, **kwargs) -> Point: ...

0 commit comments

Comments
 (0)