UNPKG

tizen-remote

Version:

Samsung smart tv 2016+ models remote control

60 lines (51 loc) 1.64 kB
/* * Copyright (c) New Cloud Technologies, Ltd., 2013-2019 * * You can not use the contents of the file in any way without New Cloud Technologies, Ltd. written permission. * To obtain such a permit, you should contact New Cloud Technologies, Ltd. at http://ncloudtech.com/contact.html * */ const req = require('request'); function delay(ms) { return new Promise(resolve => { setTimeout(resolve, ms); }) } function request(url) { return new Promise((resolve, reject) => { req(url, (error, data, body) => { if (error) { reject(error); return; } if (!data) { reject('wrong response from TV'); return; } if (data.statusCode !== 200) { reject('wrong response code from TV: ' + data.statusCode); return; } try { const response = JSON.parse(body); processResponse(response); resolve(response); } catch (err) { reject('error while parse response from tv: ' + err); } }); }); } function processResponse(response) { Object.keys(response).forEach(key => { if (typeof response[key] === 'string') { try { response[key] = JSON.parse(response[key]); } catch (ex) {} } if (typeof response[key] === 'object') { processResponse(response[key]); } }); } module.exports = {request, delay};