@nodecfdi/sat-micro-catalogs
Esta librería expone los catalogos de SAT en formato json, solo aquellos que tienen menos de 100 filas. Además contiene helpers para trabajar con estos archivos y sus valores.
Primeros pasos
Instalación
Para comenzar a utilizar la libreria lo primero que hay que hacer es instalarla, corre el siguiente comando en tu terminal:
npm i @nodecfdi/sat-micro-catalogs --save
pnpm add @nodecfdi/sat-micro-catalogs
yarn add @nodecfdi/sat-micro-catalogs
Con esto ya tendremos la libreria instalada y lista para ser usada.
Uso básico
// Importamos el catalogo en json rawimport cfdi40ImpuestosRaw from '@nodecfdi/sat-micro-catalogs/raw/cfdi_40_impuestos' assert { type: 'json' };import { wrapCatalog } from '@nodecfdi/sat-micro-catalogs';
// Usando tal cual el catalogo en json raw ya podemos iterar sobre sus datosfor (const catalogoItem in cfdi40ImpuestosRaw) { console.info(catalogoItem); // { id: '001', texto: 'ISR', ... }}
// También podemos optar por usar el catalogo con un wrapper que agrega algunas funcionalidades como etiqueta y busquedaconst cfdi40Impuestos = wrapCatalog(cfdi40ImpuestosRaw);
// Podemos iterar sobre los datos del catalogo usando el wrapperfor (const catalogoItem of cfdi40Impuestos) { console.info(catalogoItem); // { id: '001', texto: 'ISR', etiqueta: '001 - ISR', ... }}
// También podemos buscar y regresar un elemento específico en el catalogo usando el wrapper para etiquetasconst isr = cfdi40Impuestos.findAndReturnEtiqueta('001');console.info(isr); // '001 - ISR'
// También podemos buscar y regresar un elemento específico en el catalogo usando el wrapper para textoconst isr = cfdi40Impuestos.findAndReturnTexto('001');console.info(isr); // 'ISR'