require("request");
let rq = require("request-promise");
let xml2js = require("xml2js-es6-promise");
let decrypt = require("bewak").decryptKlpl;
function fetch(url){
return rq({uri:url}).then(xml2js).then(parseData);
}
function parseData(data){
data = data['PGIS'];
return data['MALL'].map(o=>{
for(let _attr in o){
o[_attr]=o[_attr].toString();
if(_attr.match(/(NAME|LOT)/)){
o[_attr]=decrypt(o[_attr].toString()).replace(/J'TION/, 'JUNCTION');
}
}
return Object.assign(o);
}).filter(o=>{
return o['ID'] && o['ID'] != 'M0';
});
}
module.exports = {
parse: parseData,
fetch: fetch
}