UNPKG

vies-checker

Version:

Simple European VIES VAT number validator

38 lines (37 loc) 1.1 kB
import https from 'https'; async function get(url) { return new Promise(((resolve, reject) => { var options = { method: 'GET' }; const request = https.request(url, options, (response) => { response.setEncoding('utf8'); let returnData = ''; response.on('data', (chunk) => { returnData += chunk; }); response.on('end', () => { resolve(JSON.parse(returnData)); }); response.on('error', (error) => { reject(error); }); }); request.end(); })); } export default async function request(country, number) { const url = `https://ec.europa.eu/taxation_customs/vies/rest-api/ms/${country}/vat/${number}`; let response; try { response = await get(url); } catch (e) { return null; } const userError = response?.userError; if (userError && !['VALID', 'INVALID', 'INVALID_INPUT'].includes(userError)) { throw new Error(userError); } return response; }