UNPKG

@iotize/cli

Version:
78 lines 3.84 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 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