Source code for aeat.core.resources._repos.iva_rate_tables
"""Singleton IVA-rate-table repository.:class:`IvaRateTableRepository` exposes the bundled IVA rate table through theshared :class:`ResourceCacheRepository` cache used by :class:`ResourceRegistry`."""from__future__importannotationsfromcollections.abcimportMappingfromtypingimportTYPE_CHECKING,overridefrom.._repositoryimportResourceCacheRepositoryifTYPE_CHECKING:from....domain.ivaimportEUMemberState,IvaRateRecord
[docs]classIvaRateTableRepository(ResourceCacheRepository[Mapping["EUMemberState","tuple[IvaRateRecord, ...]"],None]):"""Singleton-keyed repository for the bundled IVA rate table. Wraps :func:`aeat.domain.iva._rates.load_iva_rate_table` and returns mappings from :class:`EUMemberState` to :class:`IvaRateRecord` tuples. """@overridedef_load(self,key:None)->Mapping[EUMemberState,tuple[IvaRateRecord,...]]:from....domain.ivaimportload_iva_rate_tablereturnload_iva_rate_table()@propertydefsingleton(self)->Mapping[EUMemberState,tuple[IvaRateRecord,...]]:returnself.get(None)