From de3f2502eaa934dff88ed2319ddf8fbf0b50c22c Mon Sep 17 00:00:00 2001 From: Matas Gumbinas Date: Fri, 3 Jan 2025 18:19:21 +0200 Subject: [PATCH] fix(serialization): Fix deserialization with typename aliases --- pyproject.toml | 2 +- src/ezserialization/_serialization.py | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/pyproject.toml b/pyproject.toml index 00132e9..07d959d 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,6 +1,6 @@ [tool.poetry] name = "ezserialization" -version = "0.5.1" +version = "0.5.2" description = "Simple, easy to use & transparent python objects serialization & deserialization." authors = ["Matas Gumbinas "] repository = "https://github.com/gMatas/ezserialization" diff --git a/src/ezserialization/_serialization.py b/src/ezserialization/_serialization.py index c26153f..856b0db 100644 --- a/src/ezserialization/_serialization.py +++ b/src/ezserialization/_serialization.py @@ -216,8 +216,8 @@ def deserialize(src: Mapping) -> Serializable: typename = src[type_field_name] assert isinstance(typename, str), f"`typename` must be a string! Received {type(typename)=}" + typename_alias = None if typename not in _types_: - typename_alias = None if typename in _typename_aliases_: typename_alias = typename typename = _typename_aliases_[typename] @@ -231,6 +231,6 @@ def deserialize(src: Mapping) -> Serializable: err_msg += f" ({typename_alias=})" raise ImportError(err_msg) - cls = _types_[typename] + cls = _types_[typename if typename_alias is None else typename_alias] obj = cls.from_dict(src) return obj