Skip to content

Commit b93b2b6

Browse files
Merge pull request #101 from eseglem/feature/geometry-discriminator
Add Geometry discriminator
2 parents 7af53bf + f15bb60 commit b93b2b6

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,
@@ -216,7 +217,10 @@ def check_closure(cls, coordinates: List) -> List:
216217
return coordinates
217218

218219

219-
Geometry = Union[Point, MultiPoint, LineString, MultiLineString, Polygon, MultiPolygon]
220+
Geometry = Annotated[
221+
Union[Point, MultiPoint, LineString, MultiLineString, Polygon, MultiPolygon],
222+
Field(discriminator="type"),
223+
]
220224

221225

222226
class GeometryCollection(BaseModel):

0 commit comments

Comments
 (0)