UNPKG

@iotize/cli

Version:
107 lines 4.33 kB
"use strict"; var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } return new (P || (P = Promise))(function (resolve, reject) { function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } step((generator = generator.apply(thisArg, _arguments || [])).next()); }); }; Object.defineProperty(exports, "__esModule", { value: true }); const impl_1 = require("@iotize/device-client.js/client/impl"); const impl_2 = require("@iotize/device-client.js/client/impl"); const impl_3 = require("@iotize/device-client.js/client/impl"); const iotize_studio_1 = require("@iotize/device-client.js/config/iotize-studio"); const glob_1 = require("glob"); function getContent(url) { // return new pending promise return new Promise((resolve, reject) => { // select http or https module, depending on reqested url const lib = url.startsWith('https') ? require('https') : require('http'); const request = lib.get(url, (response) => { // handle http errors if (response.statusCode < 200 || response.statusCode > 299) { reject(new Error('Failed to load page, status code: ' + response.statusCode)); } // temporary data holder const body = []; // on every content chunk, push it to the data array response.on('data', chunk => body.push(chunk)); // we are done, resolve promise with those joined chunks response.on('end', () => resolve(body.join(''))); }); // handle connection errors of the request request.on('error', (err) => reject(err)); }); } exports.getContent = getContent; class Util { static glob(file) { return new Promise((resolve, reject) => { new glob_1.Glob(file, (err, matches) => __awaiter(this, void 0, void 0, function* () { if (err) { reject(err); } resolve(matches); })); }); } static asyncTryCatch(fct) { try { return fct(); } catch (err) { return Promise.reject(err); } } static sleep(ms) { return new Promise((resolve, reject) => { setTimeout(() => { resolve(); }, ms); }); } /** * @deprecated use TapConfigConfigurator.getConverterFromVariableModel() instead */ static getConverterFromVariableModel(variable) { switch (variable.type()) { case iotize_studio_1.VariableDataTypes.float: return impl_1.FloatConverter.instance32(); case iotize_studio_1.VariableDataTypes.int: return new impl_2.NumberConverter({ signed: true, sizeOf: variable.valueSize(), leastSignificantBitFirst: false }); case iotize_studio_1.VariableDataTypes.unsigned_int: return new impl_2.NumberConverter({ signed: false, sizeOf: variable.valueSize(), leastSignificantBitFirst: false }); default: throw new Error(`Unknown converter for: ${variable}`); } } static _successfull(call) { return __awaiter(this, void 0, void 0, function* () { let response = yield call; if (!response.isSuccessful()) { throw new impl_3.ResponseError(response); } return response; }); } static _body(call) { return __awaiter(this, void 0, void 0, function* () { return (yield call).body(); }); } } exports.Util = Util; //# sourceMappingURL=util.js.map