DocumentoNormalizer
in package
Clase que maneja la normalización de los datos de un documento.
En el contexto de los documentos tributarios y LibreDTE, el proceso de normalización realiza 2 cosas en conjunto:
- Estandariza la estructura de los datos.
- Realiza los cálculos de campos que no se hayan especificado y se puedan calcular a partir de los datos de otros campos.
Esta clase incluye los métodos de normalización generales (initial, final y extra). Otros métodos son provistos como traits y deberán ser incluídos en cada documento que necesite aplicar dichas normalizaciones auxiliares.
Table of Contents
Properties
- $documentNormalizationCallback : callable|null
- Undocumented variable
- $tipoDocumento : DocumentoTipo
- Tipo de documento que normalizará esta instancia del normalizador.
Methods
- __construct() : mixed
- Constructor de la clase de normalización.
- normalize() : array<string|int, mixed>
- Ejecuta la normalización de los datos.
- applyDocumentNormalization() : array<string|int, mixed>
- Aplica la normalización de los datos específica de un tipo de documento tributario electrónico.
- applyFinalNormalization() : array<string|int, mixed>
- Aplica la normalización final de los datos de un documento tributario electrónico.
- applyInitialNormalization() : array<string|int, mixed>
- Aplica la normalización inicial de los datos de un documento tributario electrónico.
- applyProNormalization() : array<string|int, mixed>
- Normaliza los datos del documento utilizando funcionalidades Pro.
Properties
$documentNormalizationCallback
Undocumented variable
private
callable|null
$documentNormalizationCallback
$tipoDocumento
Tipo de documento que normalizará esta instancia del normalizador.
private
DocumentoTipo
$tipoDocumento
Methods
__construct()
Constructor de la clase de normalización.
public
__construct(DocumentoTipo $tipoDocumento[, callable|null $documentNormalizationCallback = null ]) : mixed
Parameters
- $tipoDocumento : DocumentoTipo
-
Tipo de documento a normalizar.
- $documentNormalizationCallback : callable|null = null
-
Callback al método del "builder" del documento que aplicará las reglas específicas según el tipo de documento.
normalize()
Ejecuta la normalización de los datos.
public
normalize(array<string|int, mixed> $data) : array<string|int, mixed>
Parameters
- $data : array<string|int, mixed>
-
Arreglo con los datos del documento a normalizar.
Return values
array<string|int, mixed> —Arreglo con los datos normalizados.
applyDocumentNormalization()
Aplica la normalización de los datos específica de un tipo de documento tributario electrónico.
private
applyDocumentNormalization(array<string|int, mixed> $data) : array<string|int, mixed>
Esta normalización se ejecuta utilizando el callback provisto al instanciar este objeto de normalización.
Parameters
- $data : array<string|int, mixed>
-
Arreglo con los datos del documento a normalizar.
Return values
array<string|int, mixed> —Arreglo con los datos normalizados.
applyFinalNormalization()
Aplica la normalización final de los datos de un documento tributario electrónico.
private
applyFinalNormalization(array<string|int, mixed> $data) : array<string|int, mixed>
Esta normalización se ejecuta después de ejecutar la normalización específica del tipo de documento tributario.
Parameters
- $data : array<string|int, mixed>
-
Arreglo con los datos del documento a normalizar.
Return values
array<string|int, mixed> —Arreglo con los datos normalizados.
applyInitialNormalization()
Aplica la normalización inicial de los datos de un documento tributario electrónico.
private
applyInitialNormalization(array<string|int, mixed> $data) : array<string|int, mixed>
Esta normalización se ejecuta antes de ejecutar la normalización específica del tipo de documento tributario.
Parameters
- $data : array<string|int, mixed>
-
Arreglo con los datos del documento a normalizar.
Return values
array<string|int, mixed> —Arreglo con los datos normalizados.
applyProNormalization()
Normaliza los datos del documento utilizando funcionalidades Pro.
private
applyProNormalization(array<string|int, mixed> $data) : array<string|int, mixed>
Esta normalización se ejecuta después de ejecutar la normalización final del documento tributario (es la última normalización).
Parameters
- $data : array<string|int, mixed>
-
Arreglo con los datos del documento a normalizar.
Return values
array<string|int, mixed> —Arreglo con los datos normalizados.