Repository URL to install this package:
/**
* @fileoverview added by tsickle
* @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
*/
import { interval } from "rxjs/internal/observable/interval";
import { startWith, switchMap, takeWhile } from "rxjs/operators";
import { Observable } from "rxjs";
import { BundleUtils, PublishingStatus } from '../BundleUtils';
/** @type {?} */
var LOG_TAG = '[UpdatePoller]';
/** @enum {string} */
var UpdatePollerEventStatus = {
Complete: "Complete",
Stopped: "Stopped",
Error: "Error",
};
export { UpdatePollerEventStatus };
/**
* @record
*/
export function UpdatePollerEvent() { }
if (false) {
/** @type {?} */
UpdatePollerEvent.prototype.source;
/** @type {?} */
UpdatePollerEvent.prototype.status;
/** @type {?} */
UpdatePollerEvent.prototype.bundleStatus;
}
var UpdatePoller = /** @class */ (function () {
function UpdatePoller(bundleName, bundleVersion, webContentService, logger) {
this.bundleName = bundleName;
this.bundleVersion = bundleVersion;
this.webContentService = webContentService;
this.logger = logger;
this._pollCount = 0;
this._pollTime = 0;
this._currentPollCount = 0;
}
/**
* @param {?} pollcount
* @param {?} polltime
* @param {?} userData
* @return {?}
*/
UpdatePoller.prototype.start = /**
* @param {?} pollcount
* @param {?} polltime
* @param {?} userData
* @return {?}
*/
function (pollcount, polltime, userData) {
var _this = this;
this._userData = userData;
this._pollCount = pollcount;
this._pollTime = polltime;
return new Observable((/**
* @param {?} observer
* @return {?}
*/
function (observer) {
_this._interval = interval(polltime)
.pipe(takeWhile((/**
* @param {?} it
* @return {?}
*/
function (it) { return _this._currentPollCount < _this._pollCount; })), startWith(0), switchMap((/**
* @return {?}
*/
function () { return _this.webContentService.getBundle(_this.bundleName, _this.bundleVersion); })));
_this._interval.subscribe((/**
* @param {?} res
* @return {?}
*/
function (res) {
_this.logger.debug(LOG_TAG, 'Poll event: ', res);
_this._bundleStatus = res;
/** @type {?} */
var pubStatus = BundleUtils.buildSyntheticStatus(res);
res.info["syntheticStatus"] = pubStatus;
if ((pubStatus === PublishingStatus.Published) || (pubStatus === PublishingStatus.Error)) {
_this.stop();
observer.next({ source: _this, status: UpdatePollerEventStatus.Complete, bundleStatus: _this._bundleStatus });
observer.complete();
return;
}
else {
_this._currentPollCount++;
}
if (_this._currentPollCount >= _this._pollCount) {
observer.next({ source: _this, status: UpdatePollerEventStatus.Stopped, bundleStatus: _this._bundleStatus });
observer.complete();
}
}));
}));
};
/**
* @return {?}
*/
UpdatePoller.prototype.stop = /**
* @return {?}
*/
function () {
this.logger.debug(LOG_TAG, 'Stop called');
this._currentPollCount = this._pollCount + 1;
};
Object.defineProperty(UpdatePoller.prototype, "userData", {
get: /**
* @return {?}
*/
function () {
return this._userData;
},
enumerable: true,
configurable: true
});
Object.defineProperty(UpdatePoller.prototype, "pollCount", {
get: /**
* @return {?}
*/
function () {
return this._pollCount;
},
enumerable: true,
configurable: true
});
Object.defineProperty(UpdatePoller.prototype, "pollTime", {
get: /**
* @return {?}
*/
function () {
return this._pollTime;
},
enumerable: true,
configurable: true
});
Object.defineProperty(UpdatePoller.prototype, "currentPollCount", {
get: /**
* @return {?}
*/
function () {
return this._currentPollCount;
},
enumerable: true,
configurable: true
});
return UpdatePoller;
}());
export { UpdatePoller };
if (false) {
/**
* @type {?}
* @private
*/
UpdatePoller.prototype._userData;
/**
* @type {?}
* @private
*/
UpdatePoller.prototype._bundleStatus;
/**
* @type {?}
* @private
*/
UpdatePoller.prototype._interval;
/**
* @type {?}
* @private
*/
UpdatePoller.prototype._pollCount;
/**
* @type {?}
* @private
*/
UpdatePoller.prototype._pollTime;
/**
* @type {?}
* @private
*/
UpdatePoller.prototype._currentPollCount;
/** @type {?} */
UpdatePoller.prototype.bundleName;
/** @type {?} */
UpdatePoller.prototype.bundleVersion;
/**
* @type {?}
* @private
*/
UpdatePoller.prototype.webContentService;
/**
* @type {?}
* @private
*/
UpdatePoller.prototype.logger;
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiVXBkYXRlUG9sbGVyLmpzIiwic291cmNlUm9vdCI6Im5nOi8vbW90aWYtd2ViLWFkbWluLWNvcmUvIiwic291cmNlcyI6WyJsaWIvc2VjdGlvbnMvV2ViQ29udGVudC9jb21wb25lbnRzL3VwZGF0ZS1wb2xsZXIvVXBkYXRlUG9sbGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7QUFFQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFDN0QsT0FBTyxFQUFFLFNBQVMsRUFBRSxTQUFTLEVBQWEsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFNUUsT0FBTyxFQUFFLFVBQVUsRUFBeUIsTUFBTSxNQUFNLENBQUM7QUFDekQsT0FBTyxFQUFFLFdBQVcsRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGdCQUFnQixDQUFDOztJQUV6RCxPQUFPLEdBQUcsZ0JBQWdCOzs7SUFHNUIsVUFBVyxVQUFVO0lBQ3JCLFNBQVUsU0FBUztJQUNuQixPQUFRLE9BQU87Ozs7OztBQUduQix1Q0FJQzs7O0lBSEcsbUNBQXFCOztJQUNyQixtQ0FBZ0M7O0lBQ2hDLHlDQUEwQjs7QUFHOUI7SUFVSSxzQkFBNEIsVUFBaUIsRUFDekIsYUFBcUIsRUFDN0IsaUJBQWlDLEVBQ2pDLE1BQWlCO1FBSEQsZUFBVSxHQUFWLFVBQVUsQ0FBTztRQUN6QixrQkFBYSxHQUFiLGFBQWEsQ0FBUTtRQUM3QixzQkFBaUIsR0FBakIsaUJBQWlCLENBQWdCO1FBQ2pDLFdBQU0sR0FBTixNQUFNLENBQVc7UUFQckIsZUFBVSxHQUFHLENBQUMsQ0FBQztRQUNmLGNBQVMsR0FBRyxDQUFDLENBQUM7UUFDZCxzQkFBaUIsR0FBRyxDQUFDLENBQUM7SUFLQyxDQUFDOzs7Ozs7O0lBR3pCLDRCQUFLOzs7Ozs7SUFBWixVQUFhLFNBQWlCLEVBQUUsUUFBZSxFQUFFLFFBQWE7UUFBOUQsaUJBaUNDO1FBL0JHLElBQUksQ0FBQyxTQUFTLEdBQUcsUUFBUSxDQUFDO1FBQzFCLElBQUks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O0lBQ3BDLGlDQUFtQzs7Ozs7SUFDbkMsa0NBQXVCOzs7OztJQUN2QixpQ0FBc0I7Ozs7O0lBQ3RCLHlDQUE4Qjs7SUFFbEIsa0NBQWlDOztJQUN6QyxxQ0FBcUM7Ozs7O0lBQ3JDLHlDQUF5Qzs7Ozs7SUFDekMsOEJBQXlCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQnVuZGxlc1NlcnZpY2UsIEJ1bmRsZVN0YXR1cyB9IGZyb20gJ0B3YS1tb3RpZi1vcGVuLWFwaS93ZWItY29udGVudC1zZXJ2aWNlJztcbmltcG9ydCB7IEV2ZW50RW1pdHRlciB9ICBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IGludGVydmFsIH0gZnJvbSBcInJ4anMvaW50ZXJuYWwvb2JzZXJ2YWJsZS9pbnRlcnZhbFwiO1xuaW1wb3J0IHsgc3RhcnRXaXRoLCBzd2l0Y2hNYXAsIHRha2VVbnRpbCwgdGFrZVdoaWxlIH0gZnJvbSBcInJ4anMvb3BlcmF0b3JzXCI7XG5pbXBvcnQgeyBOR1hMb2dnZXIgfSBmcm9tICduZ3gtbG9nZ2VyJztcbmltcG9ydCB7IE9ic2VydmFibGUsIFN1YnNjcmlwdGlvbiwgU3ViamVjdCB9IGZyb20gXCJyeGpzXCI7XG5pbXBvcnQgeyBCdW5kbGVVdGlscywgUHVibGlzaGluZ1N0YXR1cyB9IGZyb20gJy4uL0J1bmRsZVV0aWxzJztcblxuY29uc3QgTE9HX1RBRyA9ICdbVXBkYXRlUG9sbGVyXSc7XG5cbmV4cG9ydCBlbnVtIFVwZGF0ZVBvbGxlckV2ZW50U3RhdHVzIHtcbiAgICBDb21wbGV0ZSA9IFwiQ29tcGxldGVcIixcbiAgICBTdG9wcGVkID0gXCJTdG9wcGVkXCIsXG4gICAgRXJyb3IgPSBcIkVycm9yXCJcbn1cblxuZXhwb3J0IGludGVyZmFjZSBVcGRhdGVQb2xsZXJFdmVudCB7XG4gICAgc291cmNlOiBVcGRhdGVQb2xsZXI7IFxuICAgIHN0YXR1czogVXBkYXRlUG9sbGVyRXZlbnRTdGF0dXMsXG4gICAgYnVuZGxlU3RhdHVzOiBCdW5kbGVTdGF0dXNcbn1cblxuZXhwb3J0IGNsYXNzIFVwZGF0ZVBvbGxlciB7XG5cbiAgICBwcml2YXRlIF91c2VyRGF0YTphbnk7XG5cbiAgICBwcml2YXRlIF9idW5kbGVTdGF0dXM6IEJ1bmRsZVN0YXR1cztcbiAgICBwcml2YXRlIF9pbnRlcnZhbDogT2JzZXJ2YWJsZTxhbnk+O1xuICAgIHByaXZhdGUgX3BvbGxDb3VudCA9IDA7XG4gICAgcHJpdmF0ZSBfcG9sbFRpbWUgPSAwO1xuICAgIHByaXZhdGUgX2N1cnJlbnRQb2xsQ291bnQgPSAwO1xuICAgIFxuICAgIGNvbnN0cnVjdG9yKHB1YmxpYyByZWFkb25seSBidW5kbGVOYW1lOnN0cmluZywgXG4gICAgICAgIHB1YmxpYyByZWFkb25seSBidW5kbGVWZXJzaW9uOiBzdHJpbmcsIFxuICAgICAgICBwcml2YXRlIHdlYkNvbnRlbnRTZXJ2aWNlOiBCdW5kbGVzU2VydmljZSxcbiAgICAgICAgcHJpdmF0ZSBsb2dnZXI6IE5HWExvZ2dlcil7fVxuXG5cbiAgICBwdWJsaWMgc3RhcnQocG9sbGNvdW50OiBudW1iZXIsIHBvbGx0aW1lOm51bWJlciwgdXNlckRhdGE6IGFueSkgOiBPYnNlcnZhYmxlPFVwZGF0ZVBvbGxlckV2ZW50PiB7XG5cbiAgICAgICAgdGhpcy5fdXNlckRhdGEgPSB1c2VyRGF0YTtcbiAgICAgICAgdGhpcy5fcG9sbENvdW50ID0gcG9sbGNvdW50O1xuICAgICAgICB0aGlzLl9wb2xsVGltZSA9IHBvbGx0aW1lO1xuXG4gICAgICAgIHJldHVybiBuZXcgT2JzZXJ2YWJsZSgob2JzZXJ2ZXIpPT57XG4gICAgICAgICAgICB0aGlzLl9pbnRlcnZhbCA9IGludGVydmFsKHBvbGx0aW1lKVxuICAgICAgICAgICAgLnBpcGUoXG4gICAgICAgICAgICAgICAgdGFrZVdoaWxlKGl0ID0+IHRoaXMuX2N1cnJlbnRQb2xsQ291bnQgPCB0aGlzLl9wb2xsQ291bnQpLFxuICAgICAgICAgICAgICAgIHN0YXJ0V2l0aCgwKSxcbiAgICAgICAgICAgICAgICBzd2l0Y2hNYXAoKCkgPT4gdGhpcy53ZWJDb250ZW50U2VydmljZS5nZXRCdW5kbGUodGhpcy5idW5kbGVOYW1lLCB0aGlzLmJ1bmRsZVZlcnNpb24pIClcbiAgICAgICAgICAgICk7XG4gICAgICAgICAgICB0aGlzLl9pbnRlcnZhbC5zdWJzY3JpYmUoIChyZXM6QnVuZGxlU3RhdHVzKSA9PiB7IFxuICAgICAgICAgICAgICAgIHRoaXMubG9nZ2VyLmRlYnVnKExPR19UQUcgLCAnUG9sbCBldmVudDogJywgcmVzKTtcbiAgICAgICAgICAgICAgICB0aGlzLl9idW5kbGVTdGF0dXMgPSByZXM7IFxuICAgICAgICAgICAgICAgIGxldCBwdWJTdGF0dXM6UHVibGlzaGluZ1N0YXR1cyA9IEJ1bmRsZVV0aWxzLmJ1aWxkU3ludGhldGljU3RhdHVzKHJlcyk7XG4gICAgICAgICAgICAgICAgcmVzLmluZm9bXCJzeW50aGV0aWNTdGF0dXNcIl0gPSBwdWJTdGF0dXM7XG4gICAgICAgICAgICAgICAgaWYgKChwdWJTdGF0dXMgPT09IFB1Ymxpc2hpbmdTdGF0dXMuUHVibGlzaGVkKSB8fCAocHViU3RhdHVzID09PSBQdWJsaXNoaW5nU3RhdHVzLkVycm9yKSl7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuc3RvcCgpO1xuICAgICAgICAgICAgICAgICAgICBvYnNlcnZlci5uZXh0KHsgc291cmNlOiB0aGlzLCBzdGF0dXM6IFVwZGF0ZVBvbGxlckV2ZW50U3RhdHVzLkNvbXBsZXRlLCBidW5kbGVTdGF0dXM6IHRoaXMuX2J1bmRsZVN0YXR1cyB9KTtcbiAgICAgICAgICAgICAgICAgICAgb2JzZXJ2ZXIuY29tcGxldGUoKTtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuX2N1cnJlbnRQb2xsQ291bnQrKztcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgaWYgKHRoaXMuX2N1cnJlbnRQb2xsQ291bnQgPj0gdGhpcy5fcG9sbENvdW50KXtcbiAgICAgICAgICAgICAgICAgICAgb2JzZXJ2ZXIubmV4dCh7IHNvdXJjZTogdGhpcywgc3RhdHVzOiBVcGRhdGVQb2xsZXJFdmVudFN0YXR1cy5TdG9wcGVkLCBidW5kbGVTdGF0dXM6IHRoaXMuX2J1bmRsZVN0YXR1cyB9KTtcbiAgICAgICAgICAgICAgICAgICAgb2JzZXJ2ZXIuY29tcGxldGUoKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9ICk7XG4gICAgICAgIH0pO1xuXG4gICAgfSBcblxuICAgIHB1YmxpYyBzdG9wKCl7XG4gICAgICAgIHRoaXMubG9nZ2VyLmRlYnVnKExPR19UQUcgLCAnU3RvcCBjYWxsZWQnKTtcbiAgICAgICAgdGhpcy5fY3VycmVudFBvbGxDb3VudCA9IHRoaXMuX3BvbGxDb3VudCArIDE7XG4gICAgfVxuXG4gICAgcHVibGljIGdldCB1c2VyRGF0YSgpOmFueSB7XG4gICAgICAgIHJldHVybiB0aGlzLl91c2VyRGF0YTtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0IHBvbGxDb3VudCgpOm51bWJlcntcbiAgICAgICAgcmV0dXJuIHRoaXMuX3BvbGxDb3VudDtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0IHBvbGxUaW1lKCk6bnVtYmVyIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX3BvbGxUaW1lO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXQgY3VycmVudFBvbGxDb3VudCgpOm51bWJlcntcbiAgICAgICAgcmV0dXJuIHRoaXMuX2N1cnJlbnRQb2xsQ291bnQ7XG4gICAgfVxuXG59Il19