Skip to content

Commit f15bb60

Browse files
committed
Add geometry discriminator. Related #93.
1 parent 49af995 commit f15bb60

File tree

1 file changed

+6
-2
lines changed

1 file changed

+6
-2
lines changed

geojson_pydantic/geometries.py

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,8 +3,9 @@
33
import abc
44
from typing import Any, Dict, Iterator, List, Literal, Union
55

6-
from pydantic import BaseModel, ValidationError, validator
6+
from pydantic import BaseModel, Field, ValidationError, validator
77
from pydantic.error_wrappers import ErrorWrapper
8+
from typing_extensions import Annotated
89

910
from geojson_pydantic.types import (
1011
LinearRing,
@@ -208,7 +209,10 @@ def _wkt_coordinates(self) -> str:
208209
)
209210

210211

211-
Geometry = Union[Point, MultiPoint, LineString, MultiLineString, Polygon, MultiPolygon]
212+
Geometry = Annotated[
213+
Union[Point, MultiPoint, LineString, MultiLineString, Polygon, MultiPolygon],
214+
Field(discriminator="type"),
215+
]
212216

213217

214218
class GeometryCollection(BaseModel):

0 commit comments

Comments
 (0)