(src_lng, tar_lng, text2translate, API_KEY, endpoint, headers = {}) => { let _object = { init: { method: 'POST', headers: Object.assign(headers, { }) }, queryParams: {}, endpoint: endpoint, } _object.caller = (thisObjectInit) => { let langCode = tar_lng.split('-') && tar_lng.split('-')[0] let queryURL = `${endpoint}?auth_key=${encodeURIComponent(API_KEY)}&target_lang=${langCode}&source_lang=${src_lng}&text=${encodeURIComponent(text2translate)}` return fetch(queryURL, _object.init).then( res => res.json().then(body => { return body.translations[0].text; })) } return _object }