@iotize/cli
Version:
IoTize command line interface
107 lines • 4.33 kB
JavaScript
;
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