@iotize/cli
Version:
IoTize command line interface
78 lines • 3.84 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 admin_1 = require("@iotize/device-ext-tapnpass.js/admin");
const ui_1 = require("../../ui");
class AdpUpdateService {
update(tap, programString) {
return __awaiter(this, void 0, void 0, function* () {
let progressBar;
// let updater: TapnPassUpdater = container.get<TapnPassUpdater>(TYPES.TapNPassUpdater);
let updater = admin_1.TapNPassUpdater.fromTap(tap);
let lastMessage = undefined;
let lastProgress = undefined;
let obs = updater.update(programString);
obs.subscribe({
next: (progress) => {
// console.info(`PROGRESS:`, progress)
if (lastMessage != progress.message) {
lastMessage = progress.message;
if (progressBar) {
progressBar.terminate();
progressBar = undefined;
}
ui_1.display.infonl(`${progress.type} ${progress.message}`);
switch (progress.type) {
case 'read':
break;
case 'installRPP':
break;
case 'erase':
break;
case 'blankCheck':
break;
case 'program':
break;
case 'directProcedure':
break;
case 'readMemMult':
break;
}
}
if (progress.data && progress.data.stepIndex) {
let progressInfo = progress.data;
if (!lastProgress ||
lastProgress.stepName != progressInfo.stepName) {
// console.info(progressInfo);
progressBar = ui_1.display.progressBar(`${progressInfo.stepName} [:bar] :rate/bps :percent :etas :current/:total bytes`, {
total: progressInfo.endIndex
});
}
if (progressBar) {
// progressBar.curr = progressInfo.stepIndex;
progressBar.update(progressInfo.percentageState / 100);
}
lastProgress = progressInfo;
}
},
// error: this._onError,
complete: () => {
if (progressBar) {
progressBar.terminate();
}
}
});
yield obs.toPromise();
});
}
}
exports.AdpUpdateService = AdpUpdateService;
//# sourceMappingURL=adp-update.service.js.map