from .field_encoder import field_encoder from .field_decoder import field_decoder class field: def __init__(self, title: str, target: type, size: int = 4) -> None: self.__title = title self.__target_type = target self.__size = size self.__content = None self.__float_precission = 2 def set_precission(self, target: int) -> object: self.__precission = target return self @property def precission(self) -> int: return self.__precission def set(self, target: any) -> object: if type(target) is not self.__target_type: raise TypeError("Field type is frong.") self.__content = target return self def get(self) -> any: return self.__content @property def size(self) -> int: return len(self) @property def title(self) -> str: return self.__title @property def target_type(self) -> type: return self.__target_type def __len__(self) -> int: return self.__size def encoder(self) -> field_encoder: return field_encoder(self) def decoder(self) -> field_decoder: return field_decoder(self)