UNPKG

pncp-sdk

Version:

SDK Node.js para consumir a API PNCP (Portal Nacional de Contratações Públicas)

24 lines (21 loc) 812 B
import { formatToPncpDate, parseResponseDates } from './dateUtils.js'; export default async function fetchWithValidation(url, params, schema, api) { const parsed = schema.safeParse(params); if (!parsed.success) { throw new Error(`Parâmetros inválidos: ${JSON.stringify(parsed.error.format())}`); } const formatted = { ...parsed.data }; if (formatted.dataInicial) { formatted.dataInicial = formatToPncpDate(formatted.dataInicial); } if (formatted.dataFinal) { formatted.dataFinal = formatToPncpDate(formatted.dataFinal); } try { const res = await api.get(url, { params: formatted }); return parseResponseDates(res.data); } catch (error) { console.error(`Erro ao buscar ${url}:`, error.response?.data || error.message); throw error; } }