"""Shared parsing primitives for the AEAT application layer.Public surface--------------* :func:`parse_bool` — parse a raw string token into ``True``, ``False``, or ``None`` (absent / unrecognised).* :func:`parse_date` — unified date parser with format and error-policy axes.* :func:`parse_iso8601_date` — parse an ISO-8601 date string (``YYYY-MM-DD``).* :func:`parse_ddmmyyyy_date` — parse a Spanish day-first date string (``DD-MM-YYYY`` or ``DD/MM/YYYY``).The implementation modules still own underscore-prefixed helpers forpackage-local tests and tightly scoped internal consumers. This packageinitializer exposes only public parser names so cross-package callers cannotaccidentally depend on private compatibility aliases."""from__future__importannotationsfromdatetimeimportdatefrom._datesimport(_parse_ddmmyyyy_dateas_parse_ddmmyyyy_date_impl,)from._datesimport(_parse_iso8601_dateas_parse_iso8601_date_impl,)from._datesimportparse_datefrom._utilsimportparse_bool
[docs]defparse_iso8601_date(raw:str|None)->date|None:"""Parse an ISO-8601 date string (``YYYY-MM-DD``) into a :class:`~datetime.date`."""return_parse_iso8601_date_impl(raw)
[docs]defparse_ddmmyyyy_date(raw:str|None)->date|None:"""Parse a Spanish day-first date string (``DD-MM-YYYY`` / ``DD/MM/YYYY``)."""return_parse_ddmmyyyy_date_impl(raw)