Skip to content

Commit 84739ed

Browse files
committed
Fix V1
1 parent 4b1e680 commit 84739ed

File tree

1 file changed

+18
-9
lines changed

1 file changed

+18
-9
lines changed

pydantic2ts/cli/script.py

Lines changed: 18 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -14,8 +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
18-
from pydantic_core import core_schema
1917
from uuid import uuid4
2018

2119
from pydantic import VERSION, BaseModel, create_model
@@ -33,6 +31,15 @@
3331
except ImportError:
3432
GenericModel = None
3533

34+
if V2:
35+
try:
36+
from pydantic.json_schema import GenerateJsonSchema, JsonSchemaValue
37+
from pydantic_core import core_schema
38+
except ImportError:
39+
GenerateJsonSchema = None
40+
JsonSchemaValue = None
41+
pydantic_core = None
42+
3643
logger = logging.getLogger("pydantic2ts")
3744

3845

@@ -208,15 +215,17 @@ def is_matching_enum(prop_type: Any, schema_title: str, schema_enum: list[str])
208215
)
209216

210217

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)
218+
if V2:
219+
220+
class CustomGenerateJsonSchema(GenerateJsonSchema):
221+
def enum_schema(self, schema: core_schema.EnumSchema) -> JsonSchemaValue:
222+
# Call the original method
223+
result = super().enum_schema(schema)
215224

216-
# Add tsEnumNames property
217-
result["tsEnumNames"] = [v.name for v in schema["members"]]
225+
# Add tsEnumNames property
226+
result["tsEnumNames"] = [v.name for v in schema["members"]]
218227

219-
return result
228+
return result
220229

221230

222231
def generate_json_schema_v1(

0 commit comments

Comments
 (0)