Skip to content

Commit d0291f0

Browse files
committed
Fix V1
1 parent 4b1e680 commit d0291f0

File tree

1 file changed

+15
-8
lines changed

1 file changed

+15
-8
lines changed

pydantic2ts/cli/script.py

Lines changed: 15 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,6 @@
1414
from types import ModuleType
1515
from typing import Any, Dict, List, Tuple, Type
1616

17-
from pydantic.json_schema import GenerateJsonSchema, JsonSchemaValue
1817
from pydantic_core import core_schema
1918
from uuid import uuid4
2019

@@ -33,6 +32,13 @@
3332
except ImportError:
3433
GenericModel = None
3534

35+
if V2:
36+
try:
37+
from pydantic.json_schema import GenerateJsonSchema, JsonSchemaValue
38+
except ImportError:
39+
GenerateJsonSchema = None
40+
JsonSchemaValue = None
41+
3642
logger = logging.getLogger("pydantic2ts")
3743

3844

@@ -208,15 +214,16 @@ def is_matching_enum(prop_type: Any, schema_title: str, schema_enum: list[str])
208214
)
209215

210216

211-
class CustomGenerateJsonSchema(GenerateJsonSchema):
212-
def enum_schema(self, schema: core_schema.EnumSchema) -> JsonSchemaValue:
213-
# Call the original method
214-
result = super().enum_schema(schema)
217+
if V2:
218+
class CustomGenerateJsonSchema(GenerateJsonSchema):
219+
def enum_schema(self, schema: core_schema.EnumSchema) -> JsonSchemaValue:
220+
# Call the original method
221+
result = super().enum_schema(schema)
215222

216-
# Add tsEnumNames property
217-
result["tsEnumNames"] = [v.name for v in schema["members"]]
223+
# Add tsEnumNames property
224+
result["tsEnumNames"] = [v.name for v in schema["members"]]
218225

219-
return result
226+
return result
220227

221228

222229
def generate_json_schema_v1(

0 commit comments

Comments
 (0)