|
14 | 14 | from types import ModuleType
|
15 | 15 | from typing import Any, Dict, List, Tuple, Type
|
16 | 16 |
|
17 |
| -from pydantic.json_schema import GenerateJsonSchema, JsonSchemaValue |
18 | 17 | from pydantic_core import core_schema
|
19 | 18 | from uuid import uuid4
|
20 | 19 |
|
|
33 | 32 | except ImportError:
|
34 | 33 | GenericModel = None
|
35 | 34 |
|
| 35 | +if V2: |
| 36 | + try: |
| 37 | + from pydantic.json_schema import GenerateJsonSchema, JsonSchemaValue |
| 38 | + except ImportError: |
| 39 | + GenerateJsonSchema = None |
| 40 | + JsonSchemaValue = None |
| 41 | + |
36 | 42 | logger = logging.getLogger("pydantic2ts")
|
37 | 43 |
|
38 | 44 |
|
@@ -208,15 +214,16 @@ def is_matching_enum(prop_type: Any, schema_title: str, schema_enum: list[str])
|
208 | 214 | )
|
209 | 215 |
|
210 | 216 |
|
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) |
215 | 222 |
|
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"]] |
218 | 225 |
|
219 |
| - return result |
| 226 | + return result |
220 | 227 |
|
221 | 228 |
|
222 | 229 | def generate_json_schema_v1(
|
|
0 commit comments