python_dto_mappers.base

Base mapper protocol and class.

Attributes

Classes

Mapper

Protocol for type-safe mapping between types.

BaseMapper

Base mapper with common functionality.

Module Contents

python_dto_mappers.base.TSource
python_dto_mappers.base.TTarget
class python_dto_mappers.base.Mapper

Bases: Protocol[TSource, TTarget]

Protocol for type-safe mapping between types.

Use this protocol to define mappers with type safety.

Example:
>>> class UserMapper(Mapper[UserEntity, UserDTO]):
...     def map(self, source: UserEntity) -> UserDTO:
...         return UserDTO(id=source.id, name=source.name)
map(source: TSource) TTarget

Map source object to target type.

Args:

source: Source object to map

Returns:

Mapped target object

class python_dto_mappers.base.BaseMapper(source_type: Type[TSource], target_type: Type[TTarget])

Bases: Generic[TSource, TTarget]

Base mapper with common functionality.

Extend this class to create concrete mappers with type information.

Example:
>>> class UserMapper(BaseMapper[UserEntity, UserDTO]):
...     def map(self, source: UserEntity) -> UserDTO:
...         return UserDTO(id=source.id, name=source.name)
source_type
target_type
abstract map(source: TSource) TTarget

Map source to target.

Override in subclasses to implement mapping logic.

Args:

source: Source object

Returns:

Mapped target object

Raises:

NotImplementedError: If not overridden in subclass