From fa7e9ebb756b86c23831ad00e2c8f5d7018bb717 Mon Sep 17 00:00:00 2001 From: Sagar Vora <16315650+sagarvora@users.noreply.github.com> Date: Thu, 3 Jul 2025 16:14:00 +0530 Subject: [PATCH] chore: simplify `TypeAdapter` --- frappe/utils/typing_validations.py | 17 +++++++---------- 1 file changed, 7 insertions(+), 10 deletions(-) diff --git a/frappe/utils/typing_validations.py b/frappe/utils/typing_validations.py index 48bc888cd2..9f0b82d9d8 100644 --- a/frappe/utils/typing_validations.py +++ b/frappe/utils/typing_validations.py @@ -5,7 +5,8 @@ from types import EllipsisType from typing import ForwardRef, TypeVar, Union from unittest import mock -from pydantic import ConfigDict +from pydantic import ConfigDict, PydanticUserError +from pydantic import TypeAdapter as PyTypeAdapter from frappe.exceptions import FrappeTypeError @@ -74,18 +75,14 @@ def raise_type_error( @lru_cache(maxsize=2048) def TypeAdapter(type_): - from pydantic import PydanticUserError - from pydantic import TypeAdapter as PyTypeAdapter - try: return PyTypeAdapter(type_, config=FrappePydanticConfig) except PydanticUserError as e: - match e.code: - case "type-adapter-config-unused": - # Unless they set their custom __pydantic_config__, this will be the case on BaseModule, TypedDict and dataclass - ignore - return PyTypeAdapter(type_) - case _: - raise e + # Cannot set config for types BaseModel, TypedDict and dataclass + if e.code == "type-adapter-config-unused": + return PyTypeAdapter(type_) + + raise e def transform_parameter_types(func: Callable, args: tuple, kwargs: dict):