UNPKG

ngx-endpoints

Version:

A library to dynamically load data from http endpoints / urls in angular

120 lines 7.68 kB
/** * @fileoverview added by tsickle * @suppress {checkTypes,extraRequire,missingReturn,uselessCode} checked by tsc */ import * as tslib_1 from "tslib"; import { Injectable } from '@angular/core'; import { NgxEndpointService } from '../ngx-endpoints.service'; import { NgxEndPoint } from '../ngx-endpoints'; import { NgxEndPointData } from '../ngx-endpoint.format'; import * as i0 from "@angular/core"; import * as i1 from "../ngx-endpoints.service"; import * as i2 from "../ngx-endpoint.format"; /** * @template T */ var NgxLiveEndPoint = /** @class */ (function (_super) { tslib_1.__extends(NgxLiveEndPoint, _super); function NgxLiveEndPoint(endpointservice, endpoint) { var _this = _super.call(this, endpointservice, endpoint) || this; _this.endpointservice = endpointservice; _this.endpoint = endpoint; return _this; } /** * Requests data from an http source * Optionally converts relative dates (now-1d) into readable urls by DatesOutputFormat * Adds the result of the request to BehaviorSubject data that can be subscribed */ /** * Requests data from an http source * Optionally converts relative dates (now-1d) into readable urls by DatesOutputFormat * Adds the result of the request to BehaviorSubject data that can be subscribed * @return {?} */ NgxLiveEndPoint.prototype.requestData = /** * Requests data from an http source * Optionally converts relative dates (now-1d) into readable urls by DatesOutputFormat * Adds the result of the request to BehaviorSubject data that can be subscribed * @return {?} */ function () { return tslib_1.__awaiter(this, void 0, void 0, function () { return tslib_1.__generator(this, function (_a) { switch (_a.label) { case 0: this.running = true; return [4 /*yield*/, this.refreshData()]; case 1: _a.sent(); return [2 /*return*/]; } }); }); }; /** * internal function to wait before next live request will be made */ /** * internal function to wait before next live request will be made * @param {?} ms * @return {?} */ NgxLiveEndPoint.prototype.sleep = /** * internal function to wait before next live request will be made * @param {?} ms * @return {?} */ function (ms) { return new Promise(function (resolve) { return setTimeout(resolve, ms); }); }; /** * internal function to run live requests in loop */ /** * internal function to run live requests in loop * @return {?} */ NgxLiveEndPoint.prototype.refreshData = /** * internal function to run live requests in loop * @return {?} */ function () { return tslib_1.__awaiter(this, void 0, void 0, function () { return tslib_1.__generator(this, function (_a) { switch (_a.label) { case 0: if (!this.running) return [3 /*break*/, 3]; return [4 /*yield*/, this.requestInternal()]; case 1: _a.sent(); return [4 /*yield*/, this.sleep(this.endpoint.liveinterval)]; case 2: _a.sent(); return [3 /*break*/, 0]; case 3: return [2 /*return*/]; } }); }); }; NgxLiveEndPoint.decorators = [ { type: Injectable, args: [{ providedIn: 'root' },] } ]; /** @nocollapse */ NgxLiveEndPoint.ctorParameters = function () { return [ { type: NgxEndpointService }, { type: NgxEndPointData } ]; }; /** @nocollapse */ NgxLiveEndPoint.ngInjectableDef = i0.defineInjectable({ factory: function NgxLiveEndPoint_Factory() { return new NgxLiveEndPoint(i0.inject(i1.NgxEndpointService), i0.inject(i2.NgxEndPointData)); }, token: NgxLiveEndPoint, providedIn: "root" }); return NgxLiveEndPoint; }(NgxEndPoint)); export { NgxLiveEndPoint }; if (false) { /** @type {?} */ NgxLiveEndPoint.prototype.endpointservice; /** @type {?} */ NgxLiveEndPoint.prototype.endpoint; } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmd4LWxpdmUtZW5kLXBvaW50cy5qcyIsInNvdXJjZVJvb3QiOiJuZzovL25neC1lbmRwb2ludHMvIiwic291cmNlcyI6WyJsaWIvbmd4LWVuZHBvaW50cy9uZ3gtbGl2ZS1lbmQtcG9pbnRzL25neC1saXZlLWVuZC1wb2ludHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSxPQUFPLEVBQXlCLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNsRSxPQUFPLEVBQUcsa0JBQWtCLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUMvRCxPQUFPLEVBQUcsV0FBVyxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDaEQsT0FBTyxFQUFHLGVBQWUsRUFBRSxNQUFNLHdCQUF3QixDQUFDOzs7Ozs7O0FBRzFEO0lBR3dDLDJDQUFjO0lBQ3BELHlCQUFtQixlQUFtQyxFQUFTLFFBQXlCO1FBQXhGLFlBQ0Usa0JBQU0sZUFBZSxFQUFFLFFBQVEsQ0FBQyxTQUNqQztRQUZrQixxQkFBZSxHQUFmLGVBQWUsQ0FBb0I7UUFBUyxjQUFRLEdBQVIsUUFBUSxDQUFpQjs7SUFFeEYsQ0FBQztJQUNEOzs7O01BSUU7Ozs7Ozs7SUFDVyxxQ0FBVzs7Ozs7O0lBQXhCOzs7Ozt3QkFDQyxJQUFJLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQzt3QkFDcEIscUJBQU0sSUFBSSxDQUFDLFdBQVcsRUFBRSxFQUFBOzt3QkFBeEIsU0FBd0IsQ0FBQzs7Ozs7S0FDekI7SUFFRDs7TUFFRTs7Ozs7O0lBQ00sK0JBQUs7Ozs7O0lBQWIsVUFBYyxFQUFFO1FBQ2QsT0FBTyxJQUFJLE9BQU8sQ0FBQyxVQUFBLE9BQU8sSUFBSSxPQUFBLFVBQVUsQ0FBQyxPQUFPLEVBQUUsRUFBRSxDQUFDLEVBQXZCLENBQXVCLENBQUMsQ0FBQztJQUN6RCxDQUFDO0lBQ0Q7O01BRUU7Ozs7O0lBQ1kscUNBQVc7Ozs7SUFBekI7Ozs7OzZCQUNTLElBQUksQ0FBQyxPQUFPO3dCQUNqQixxQkFBTSxJQUFJLENBQUMsZUFBZSxFQUFFLEVBQUE7O3dCQUE1QixTQUE0QixDQUFDO3dCQUM3QixxQkFBTyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsWUFBWSxDQUFDLEVBQUE7O3dCQUE3QyxTQUE2QyxDQUFDOzs7Ozs7S0FFbEQ7O2dCQS9CRCxVQUFVLFNBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25COzs7O2dCQVBTLGtCQUFrQjtnQkFFbEIsZUFBZTs7OzBCQUh6QjtDQXNDQyxBQWhDRCxDQUd3QyxXQUFXLEdBNkJsRDtTQTdCWSxlQUFlOzs7SUFDZCwwQ0FBMEM7O0lBQUUsbUNBQWdDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgIE9uRGVzdHJveSwgQ29tcG9uZW50LCBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyAgTmd4RW5kcG9pbnRTZXJ2aWNlIH0gZnJvbSAnLi4vbmd4LWVuZHBvaW50cy5zZXJ2aWNlJztcbmltcG9ydCB7ICBOZ3hFbmRQb2ludCB9IGZyb20gJy4uL25neC1lbmRwb2ludHMnO1xuaW1wb3J0IHsgIE5neEVuZFBvaW50RGF0YSB9IGZyb20gJy4uL25neC1lbmRwb2ludC5mb3JtYXQnO1xuXG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXG59KVxuZXhwb3J0IGNsYXNzIE5neExpdmVFbmRQb2ludDxUPiBleHRlbmRzIE5neEVuZFBvaW50PFQ+IHtcbiAgY29uc3RydWN0b3IocHVibGljIGVuZHBvaW50c2VydmljZTogTmd4RW5kcG9pbnRTZXJ2aWNlLCBwdWJsaWMgZW5kcG9pbnQ6IE5neEVuZFBvaW50RGF0YSkge1xuICAgIHN1cGVyKGVuZHBvaW50c2VydmljZSwgZW5kcG9pbnQpO1xuICB9XG4gIC8qKlxuICAqIFJlcXVlc3RzIGRhdGEgZnJvbSBhbiBodHRwIHNvdXJjZVxuICAqIE9wdGlvbmFsbHkgY29udmVydHMgcmVsYXRpdmUgZGF0ZXMgKG5vdy0xZCkgaW50byByZWFkYWJsZSB1cmxzIGJ5IERhdGVzT3V0cHV0Rm9ybWF0XG4gICogQWRkcyB0aGUgcmVzdWx0IG9mIHRoZSByZXF1ZXN0IHRvIEJlaGF2aW9yU3ViamVjdCBkYXRhIHRoYXQgY2FuIGJlIHN1YnNjcmliZWRcbiAgKi9cbiAgcHVibGljIGFzeW5jIHJlcXVlc3REYXRhKCkge1xuICAgdGhpcy5ydW5uaW5nID0gdHJ1ZTtcbiAgIGF3YWl0IHRoaXMucmVmcmVzaERhdGEoKTtcbiAgfVxuXG4gIC8qKlxuICAqIGludGVybmFsIGZ1bmN0aW9uIHRvIHdhaXQgYmVmb3JlIG5leHQgbGl2ZSByZXF1ZXN0IHdpbGwgYmUgbWFkZVxuICAqL1xuICBwcml2YXRlIHNsZWVwKG1zKSB7XG4gICAgcmV0dXJuIG5ldyBQcm9taXNlKHJlc29sdmUgPT4gc2V0VGltZW91dChyZXNvbHZlLCBtcykpO1xuICB9XG4gIC8qKlxuICAqIGludGVybmFsIGZ1bmN0aW9uIHRvIHJ1biBsaXZlIHJlcXVlc3RzIGluIGxvb3BcbiAgKi9cbiAgcHJpdmF0ZSBhc3luYyByZWZyZXNoRGF0YSgpIHtcbiAgICB3aGlsZSAodGhpcy5ydW5uaW5nKSB7XG4gICAgICBhd2FpdCB0aGlzLnJlcXVlc3RJbnRlcm5hbCgpO1xuICAgICAgYXdhaXQgIHRoaXMuc2xlZXAodGhpcy5lbmRwb2ludC5saXZlaW50ZXJ2YWwpO1xuICAgIH1cbiB9XG59XG4iXX0=