UNPKG

node-visionlink

Version:

Node.js wrapper for Caterpillar's VisionLink APIs.

63 lines (46 loc) 1.78 kB
'use strict'; Object.defineProperty(exports, "__esModule", { value: true }); exports.default = function (username, password) { var functions = {}; for (var i = 0; i < _topics.READY_TOPICS.length; i++) { functions[_topics.READY_TOPICS[i]] = readyRequest(_topics.READY_TOPICS[i], username, password); } return functions; }; var _request = require('request'); var _request2 = _interopRequireDefault(_request); var _xml2js = require('xml2js'); var _topics = require('./topics'); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } var readyRequest = function readyRequest(api, username, password) { return function () { var _ref = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {}, _ref$page = _ref.page, page = _ref$page === undefined ? 1 : _ref$page, _ref$options = _ref.options, options = _ref$options === undefined ? {} : _ref$options; var opt = Object.assign({}, { url: 'https://api.myvisionlink.com/' + api + '/page/' + page.toString(), headers: { Authorization: 'Basic ' + new Buffer(username + ':' + password).toString('base64') } }, options); return new Promise(function (resolve, reject) { return (0, _request2.default)(opt, function (error, response, body) { if (error) { return reject({ error: error }); } else if (response.statusCode !== 200) { return reject({ statusCode: response.statusCode }); } return (0, _xml2js.parseString)(body, { trim: true, explicitArray: false }, function (err, obj) { if (err) { return reject({ error: err }); } return resolve(obj); }); }); }); }; };