UNPKG

indicadoresdeldia

Version:

Obtener indicadores del dia desde indicadoresdeldia.cl

51 lines (47 loc) 1.6 kB
'use strict'; const http = require('http'); const parseAmount = data => { return parseFloat(data.replace(/[\$\.]/g, '').replace(',', '.')); }; module.exports = () => { return new Promise((resolve, reject) => { const uri = 'http://indicadoresdeldia.cl/webservice/indicadores.json'; http.get(uri, res => { if (res.statusCode !== 200) { reject(new Error(`Request Failed. Status Code: ${res.statusCode}`)); } else { let body = ''; res.setEncoding('utf8'); res.on('data', chunk => body += chunk); res.on('end', () => { const data = JSON.parse(body); const result = { date: new Date( data.date.replace( /(\d{4})-(\d{2})-(\d{2}) (\d{2}):(\d{2}):(\d{2})/, '$1-$2-$3T$4:$5:$6-03:00')).toISOString(), holy: { yesterday: data.santoral.ayer, today: data.santoral.hoy, tomorrow: data.santoral.maniana }, indicator: { uf: parseAmount(data.indicador.uf), utm: parseAmount(data.indicador.utm), imacec: parseAmount(data.indicador.imacec), ipc: parseFloat(data.indicador.ipc) }, restriction: { normal: { today: data.restriccion.normal, tomorrow: data.restriccion.normal_maniana }, catalitic: data.restriccion.catalitico } }; resolve(result); }); } }).on('error', err => reject(err)); }); };