Repository URL to install this package:
/**
* @fileoverview added by tsickle
* @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
*/
import { EventEmitter } from '@angular/core';
import { interval } from 'rxjs';
/** @type {?} */
const LOG_TAG = '[UsersInfoUpdater]';
export class UsersInfoUpdater {
/**
* @param {?} logger
* @param {?} infoService
*/
constructor(logger, infoService) {
this.logger = logger;
this.infoService = infoService;
this._data = {
active: 0,
blocked: 0,
preactive: 0,
total: 0
};
this._dataReady = new EventEmitter();
this._dataError = new EventEmitter();
}
/**
* @param {?} intervalTime
* @return {?}
*/
start(intervalTime) {
this.logger.debug(LOG_TAG, 'start called with interval: ', intervalTime);
try {
this._interval = intervalTime;
this._intervalTimer = interval(intervalTime);
this._intervalSubscription = this._intervalTimer.subscribe((/**
* @param {?} val
* @return {?}
*/
val => {
this.reloadData();
}));
}
catch (error) {
this.logger.error(LOG_TAG, 'start error: ', error);
}
this.reloadData();
}
/**
* @return {?}
*/
stop() {
if (this._intervalSubscription) {
this._intervalSubscription.unsubscribe();
this._intervalSubscription = null;
this._intervalTimer = null;
}
}
/**
* @return {?}
*/
get interval() {
return this._interval;
}
/**
* @return {?}
*/
get isRunning() {
return (this._intervalSubscription != null);
}
/**
* @return {?}
*/
reloadData() {
this.logger.debug(LOG_TAG, 'reloadData called');
this.infoService.getUsersInfo().subscribe((/**
* @param {?} results
* @return {?}
*/
(results) => {
this.logger.debug(LOG_TAG, 'getUsersInfo results: ', results);
this._data = results;
this._dataReady.emit(this._data);
}), (/**
* @param {?} error
* @return {?}
*/
(error) => {
this.logger.error(LOG_TAG, 'getUsersInfo error: ', error);
this._dataError.emit(error);
}));
}
/**
* @return {?}
*/
get data() {
return this._data;
}
}
if (false) {
/**
* @type {?}
* @private
*/
UsersInfoUpdater.prototype._interval;
/**
* @type {?}
* @private
*/
UsersInfoUpdater.prototype._intervalTimer;
/**
* @type {?}
* @private
*/
UsersInfoUpdater.prototype._intervalSubscription;
/**
* @type {?}
* @private
*/
UsersInfoUpdater.prototype._data;
/**
* @type {?}
* @private
*/
UsersInfoUpdater.prototype._dataReady;
/**
* @type {?}
* @private
*/
UsersInfoUpdater.prototype._dataError;
/**
* @type {?}
* @private
*/
UsersInfoUpdater.prototype.logger;
/**
* @type {?}
* @private
*/
UsersInfoUpdater.prototype.infoService;
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiVXNlcnNJbmZvVXBkYXRlci5qcyIsInNvdXJjZVJvb3QiOiJuZzovL21vdGlmLXdlYi1hZG1pbi1jb3JlLyIsInNvdXJjZXMiOlsibGliL3NlY3Rpb25zL01haW5EYXNoYm9hcmQvZGF0YS91cGRhdGVycy9Vc2Vyc0luZm9VcGRhdGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7QUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRzdDLE9BQU8sRUFBZ0IsUUFBUSxFQUFFLE1BQU0sTUFBTSxDQUFDOztNQUV4QyxPQUFPLEdBQUcsb0JBQW9CO0FBRXBDLE1BQU0sT0FBTyxnQkFBZ0I7Ozs7O0lBY3pCLFlBQW9CLE1BQWlCLEVBQ3pCLFdBQXdCO1FBRGhCLFdBQU0sR0FBTixNQUFNLENBQVc7UUFDekIsZ0JBQVcsR0FBWCxXQUFXLENBQWE7UUFWNUIsVUFBSyxHQUFhO1lBQ3RCLE1BQU0sRUFBRSxDQUFDO1lBQ1QsT0FBTyxFQUFFLENBQUM7WUFDVixTQUFTLEVBQUUsQ0FBQztZQUNaLEtBQUssRUFBRSxDQUFDO1NBQ1gsQ0FBQTtRQU1PLElBQUksQ0FBQyxVQUFVLEdBQUcsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQUNyQyxJQUFJLENBQUMsVUFBVSxHQUFHLElBQUksWUFBWSxFQUFFLENBQUM7SUFDN0MsQ0FBQzs7Ozs7SUFFRCxLQUFLLENBQUMsWUFBWTtRQUNkLElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLE9BQU8sRUFBRyw4QkFBOEIsRUFBRSxZQUFZLENBQUMsQ0FBQztRQUMxRSxJQUFJO1lBQ0EsSUFBSSxDQUFDLFNBQVMsR0FBRyxZQUFZLENBQUM7WUFDOUIsSUFBSSxDQUFDLGNBQWMsR0FBRyxRQUFRLENBQUMsWUFBWSxDQUFDLENBQUM7WUFDN0MsSUFBSSxDQUFDLHFCQUFxQixHQUFHLElBQUksQ0FBQyxjQUFjLENBQUMsU0FBUzs7OztZQUFDLEdBQUcsQ0FBQyxFQUFFO2dCQUM3RCxJQUFJLENBQUMsVUFBVSxFQUFFLENBQUM7WUFDdEIsQ0FBQyxFQUFDLENBQUM7U0FDTjtRQUFDLE9BQU8sS0FBSyxFQUFDO1lBQ1gsSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsT0FBTyxFQUFHLGVBQWUsRUFBRSxLQUFLLENBQUMsQ0FBQztTQUN2RDtRQUNELElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQztJQUN0QixDQUFDOzs7O0lBRUQsSUFBSTtRQUNBLElBQUksSUFBSSxDQUFDLHFCQUFxQixFQUFDO1lBQzNCLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxXQUFXLEVBQUUsQ0FBQztZQUN6QyxJQUFJLENBQUMscUJBQXFCLEdBQUcsSUFBSSxDQUFDO1lBQ2xDLElBQUksQ0FBQyxjQUFjLEdBQUcsSUFBSSxDQUFDO1NBQzlCO0lBQ0wsQ0FBQzs7OztJQUVELElBQVcsUUFBUTtRQUNmLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQztJQUMxQixDQUFDOzs7O0lBRUQsSUFBVyxTQUFTO1FBQ2hCLE9BQU8sQ0FBQyxJQUFJLENBQUMscUJBQXFCLElBQUUsSUFBSSxDQUFDLENBQUM7SUFDOUMsQ0FBQzs7OztJQUVNLFVBQVU7UUFDYixJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxPQUFPLEVBQUcsbUJBQW1CLENBQUMsQ0FBQztRQUNqRCxJQUFJLENBQUMsV0FBVyxDQUFDLFlBQVksRUFBRSxDQUFDLFNBQVM7Ozs7UUFBQyxDQUFDLE9BQWlCLEVBQUMsRUFBRTtZQUMzRCxJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxPQUFPLEVBQUcsd0JBQXdCLEVBQUUsT0FBTyxDQUFDLENBQUM7WUFDL0QsSUFBSSxDQUFDLEtBQUssR0FBRyxPQUFPLENBQUM7WUFDckIsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ3JDLENBQUM7Ozs7UUFBRSxDQUFDLEtBQUssRUFBQyxFQUFFO1lBQ1IsSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsT0FBTyxFQUFHLHNCQUFzQixFQUFFLEtBQUssQ0FBQyxDQUFDO1lBQzNELElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ2hDLENBQUMsRUFBQyxDQUFDO0lBQ1AsQ0FBQzs7OztJQUVELElBQVcsSUFBSTtRQUNYLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQztJQUN0QixDQUFDO0NBR0o7Ozs7OztJQWpFRyxxQ0FBeUI7Ozs7O0lBQ3pCLDBDQUEyQjs7Ozs7SUFDM0IsaURBQTJDOzs7OztJQUMzQyxpQ0FLQzs7Ozs7SUFDRCxzQ0FBMkM7Ozs7O0lBQzNDLHNDQUFxQzs7Ozs7SUFFekIsa0NBQXlCOzs7OztJQUNqQyx1Q0FBZ0MiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBFdmVudEVtaXR0ZXIgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE5HWExvZ2dlcn0gZnJvbSAnd2ViLWNvbnNvbGUtY29yZSc7XG5pbXBvcnQgeyBJbmZvU2VydmljZSwgVXNlcnNJbmZvIH0gZnJvbSAnQHdhLW1vdGlmLW9wZW4tYXBpL2luZm8tc2VydmljZSdcbmltcG9ydCB7IFN1YnNjcmlwdGlvbiwgaW50ZXJ2YWwgfSBmcm9tICdyeGpzJztcblxuY29uc3QgTE9HX1RBRyA9ICdbVXNlcnNJbmZvVXBkYXRlcl0nO1xuXG5leHBvcnQgY2xhc3MgVXNlcnNJbmZvVXBkYXRlciB7XG5cbiAgICBwcml2YXRlIF9pbnRlcnZhbDpudW1iZXI7XG4gICAgcHJpdmF0ZSBfaW50ZXJ2YWxUaW1lcjphbnk7XG4gICAgcHJpdmF0ZSBfaW50ZXJ2YWxTdWJzY3JpcHRpb246U3Vic2NyaXB0aW9uO1xuICAgIHByaXZhdGUgX2RhdGE6VXNlcnNJbmZvID0ge1xuICAgICAgICBhY3RpdmU6IDAsXG4gICAgICAgIGJsb2NrZWQ6IDAsXG4gICAgICAgIHByZWFjdGl2ZTogMCxcbiAgICAgICAgdG90YWw6IDBcbiAgICB9XG4gICAgcHJpdmF0ZSBfZGF0YVJlYWR5OkV2ZW50RW1pdHRlcjxVc2Vyc0luZm8+O1xuICAgIHByaXZhdGUgX2RhdGFFcnJvcjpFdmVudEVtaXR0ZXI8YW55PjtcblxuICAgIGNvbnN0cnVjdG9yKHByaXZhdGUgbG9nZ2VyOiBOR1hMb2dnZXIsXG4gICAgICAgIHByaXZhdGUgaW5mb1NlcnZpY2U6IEluZm9TZXJ2aWNlKXtcbiAgICAgICAgICAgIHRoaXMuX2RhdGFSZWFkeSA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcbiAgICAgICAgICAgIHRoaXMuX2RhdGFFcnJvciA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcbiAgICB9XG5cbiAgICBzdGFydChpbnRlcnZhbFRpbWUpe1xuICAgICAgICB0aGlzLmxvZ2dlci5kZWJ1ZyhMT0dfVEFHICwgJ3N0YXJ0IGNhbGxlZCB3aXRoIGludGVydmFsOiAnLCBpbnRlcnZhbFRpbWUpO1xuICAgICAgICB0cnkge1xuICAgICAgICAgICAgdGhpcy5faW50ZXJ2YWwgPSBpbnRlcnZhbFRpbWU7XG4gICAgICAgICAgICB0aGlzLl9pbnRlcnZhbFRpbWVyID0gaW50ZXJ2YWwoaW50ZXJ2YWxUaW1lKTtcbiAgICAgICAgICAgIHRoaXMuX2ludGVydmFsU3Vic2NyaXB0aW9uID0gdGhpcy5faW50ZXJ2YWxUaW1lci5zdWJzY3JpYmUodmFsID0+IHsgXG4gICAgICAgICAgICAgICAgdGhpcy5yZWxvYWREYXRhKCk7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfSBjYXRjaCAoZXJyb3Ipe1xuICAgICAgICAgICAgdGhpcy5sb2dnZXIuZXJyb3IoTE9HX1RBRyAsICdzdGFydCBlcnJvcjogJywgZXJyb3IpO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMucmVsb2FkRGF0YSgpO1xuICAgIH1cblxuICAgIHN0b3AoKXtcbiAgICAgICAgaWYgKHRoaXMuX2ludGVydmFsU3Vic2NyaXB0aW9uKXtcbiAgICAgICAgICAgIHRoaXMuX2ludGVydmFsU3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCk7XG4gICAgICAgICAgICB0aGlzLl9pbnRlcnZhbFN1YnNjcmlwdGlvbiA9IG51bGw7XG4gICAgICAgICAgICB0aGlzLl9pbnRlcnZhbFRpbWVyID0gbnVsbDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHB1YmxpYyBnZXQgaW50ZXJ2YWwoKTpudW1iZXIge1xuICAgICAgICByZXR1cm4gdGhpcy5faW50ZXJ2YWw7XG4gICAgfSBcblxuICAgIHB1YmxpYyBnZXQgaXNSdW5uaW5nKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gKHRoaXMuX2ludGVydmFsU3Vic2NyaXB0aW9uIT1udWxsKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgcmVsb2FkRGF0YSgpe1xuICAgICAgICB0aGlzLmxvZ2dlci5kZWJ1ZyhMT0dfVEFHICwgJ3JlbG9hZERhdGEgY2FsbGVkJyk7XG4gICAgICAgIHRoaXMuaW5mb1NlcnZpY2UuZ2V0VXNlcnNJbmZvKCkuc3Vic2NyaWJlKChyZXN1bHRzOlVzZXJzSW5mbyk9PntcbiAgICAgICAgICAgIHRoaXMubG9nZ2VyLmRlYnVnKExPR19UQUcgLCAnZ2V0VXNlcnNJbmZvIHJlc3VsdHM6ICcsIHJlc3VsdHMpO1xuICAgICAgICAgICAgdGhpcy5fZGF0YSA9IHJlc3VsdHM7XG4gICAgICAgICAgICB0aGlzLl9kYXRhUmVhZHkuZW1pdCh0aGlzLl9kYXRhKTtcbiAgICAgICAgfSwgKGVycm9yKT0+e1xuICAgICAgICAgICAgdGhpcy5sb2dnZXIuZXJyb3IoTE9HX1RBRyAsICdnZXRVc2Vyc0luZm8gZXJyb3I6ICcsIGVycm9yKTtcbiAgICAgICAgICAgIHRoaXMuX2RhdGFFcnJvci5lbWl0KGVycm9yKTtcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgcHVibGljIGdldCBkYXRhKCk6VXNlcnNJbmZvIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2RhdGE7XG4gICAgfVxuXG5cbn0iXX0=