UNPKG

ngx-endpoints

Version:

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

76 lines 5.54 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 */ export class NgxLiveEndPoint extends NgxEndPoint { /** * @param {?} endpointservice * @param {?} endpoint */ constructor(endpointservice, endpoint) { super(endpointservice, endpoint); this.endpointservice = endpointservice; this.endpoint = endpoint; } /** * 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 {?} */ requestData() { return tslib_1.__awaiter(this, void 0, void 0, function* () { this.running = true; yield this.refreshData(); }); } /** * internal function to wait before next live request will be made * @param {?} ms * @return {?} */ sleep(ms) { return new Promise(resolve => setTimeout(resolve, ms)); } /** * internal function to run live requests in loop * @return {?} */ refreshData() { return tslib_1.__awaiter(this, void 0, void 0, function* () { while (this.running) { yield this.requestInternal(); yield this.sleep(this.endpoint.liveinterval); } }); } } NgxLiveEndPoint.decorators = [ { type: Injectable, args: [{ providedIn: 'root' },] } ]; /** @nocollapse */ NgxLiveEndPoint.ctorParameters = () => [ { 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" }); if (false) { /** @type {?} */ NgxLiveEndPoint.prototype.endpointservice; /** @type {?} */ NgxLiveEndPoint.prototype.endpoint; } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmd4LWxpdmUtZW5kLXBvaW50cy5qcyIsInNvdXJjZVJvb3QiOiJuZzovL25neC1lbmRwb2ludHMvIiwic291cmNlcyI6WyJsaWIvbmd4LWVuZHBvaW50cy9uZ3gtbGl2ZS1lbmQtcG9pbnRzL25neC1saXZlLWVuZC1wb2ludHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSxPQUFPLEVBQXlCLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNsRSxPQUFPLEVBQUcsa0JBQWtCLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUMvRCxPQUFPLEVBQUcsV0FBVyxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDaEQsT0FBTyxFQUFHLGVBQWUsRUFBRSxNQUFNLHdCQUF3QixDQUFDOzs7Ozs7O0FBTTFELE1BQU0sT0FBTyxlQUFtQixTQUFRLFdBQWM7Ozs7O0lBQ3BELFlBQW1CLGVBQW1DLEVBQVMsUUFBeUI7UUFDdEYsS0FBSyxDQUFDLGVBQWUsRUFBRSxRQUFRLENBQUMsQ0FBQztRQURoQixvQkFBZSxHQUFmLGVBQWUsQ0FBb0I7UUFBUyxhQUFRLEdBQVIsUUFBUSxDQUFpQjtJQUV4RixDQUFDOzs7Ozs7O0lBTVksV0FBVzs7WUFDdkIsSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUM7WUFDcEIsTUFBTSxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7UUFDMUIsQ0FBQztLQUFBOzs7Ozs7SUFLTyxLQUFLLENBQUMsRUFBRTtRQUNkLE9BQU8sSUFBSSxPQUFPLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQyxVQUFVLENBQUMsT0FBTyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUM7SUFDekQsQ0FBQzs7Ozs7SUFJYSxXQUFXOztZQUN2QixPQUFPLElBQUksQ0FBQyxPQUFPLEVBQUU7Z0JBQ25CLE1BQU0sSUFBSSxDQUFDLGVBQWUsRUFBRSxDQUFDO2dCQUM3QixNQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxZQUFZLENBQUMsQ0FBQzthQUMvQztRQUNKLENBQUM7S0FBQTs7O1lBL0JELFVBQVUsU0FBQztnQkFDVixVQUFVLEVBQUUsTUFBTTthQUNuQjs7OztZQVBTLGtCQUFrQjtZQUVsQixlQUFlOzs7OztJQU9YLDBDQUEwQzs7SUFBRSxtQ0FBZ0MiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyAgT25EZXN0cm95LCBDb21wb25lbnQsIEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7ICBOZ3hFbmRwb2ludFNlcnZpY2UgfSBmcm9tICcuLi9uZ3gtZW5kcG9pbnRzLnNlcnZpY2UnO1xuaW1wb3J0IHsgIE5neEVuZFBvaW50IH0gZnJvbSAnLi4vbmd4LWVuZHBvaW50cyc7XG5pbXBvcnQgeyAgTmd4RW5kUG9pbnREYXRhIH0gZnJvbSAnLi4vbmd4LWVuZHBvaW50LmZvcm1hdCc7XG5cblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCdcbn0pXG5leHBvcnQgY2xhc3MgTmd4TGl2ZUVuZFBvaW50PFQ+IGV4dGVuZHMgTmd4RW5kUG9pbnQ8VD4ge1xuICBjb25zdHJ1Y3RvcihwdWJsaWMgZW5kcG9pbnRzZXJ2aWNlOiBOZ3hFbmRwb2ludFNlcnZpY2UsIHB1YmxpYyBlbmRwb2ludDogTmd4RW5kUG9pbnREYXRhKSB7XG4gICAgc3VwZXIoZW5kcG9pbnRzZXJ2aWNlLCBlbmRwb2ludCk7XG4gIH1cbiAgLyoqXG4gICogUmVxdWVzdHMgZGF0YSBmcm9tIGFuIGh0dHAgc291cmNlXG4gICogT3B0aW9uYWxseSBjb252ZXJ0cyByZWxhdGl2ZSBkYXRlcyAobm93LTFkKSBpbnRvIHJlYWRhYmxlIHVybHMgYnkgRGF0ZXNPdXRwdXRGb3JtYXRcbiAgKiBBZGRzIHRoZSByZXN1bHQgb2YgdGhlIHJlcXVlc3QgdG8gQmVoYXZpb3JTdWJqZWN0IGRhdGEgdGhhdCBjYW4gYmUgc3Vic2NyaWJlZFxuICAqL1xuICBwdWJsaWMgYXN5bmMgcmVxdWVzdERhdGEoKSB7XG4gICB0aGlzLnJ1bm5pbmcgPSB0cnVlO1xuICAgYXdhaXQgdGhpcy5yZWZyZXNoRGF0YSgpO1xuICB9XG5cbiAgLyoqXG4gICogaW50ZXJuYWwgZnVuY3Rpb24gdG8gd2FpdCBiZWZvcmUgbmV4dCBsaXZlIHJlcXVlc3Qgd2lsbCBiZSBtYWRlXG4gICovXG4gIHByaXZhdGUgc2xlZXAobXMpIHtcbiAgICByZXR1cm4gbmV3IFByb21pc2UocmVzb2x2ZSA9PiBzZXRUaW1lb3V0KHJlc29sdmUsIG1zKSk7XG4gIH1cbiAgLyoqXG4gICogaW50ZXJuYWwgZnVuY3Rpb24gdG8gcnVuIGxpdmUgcmVxdWVzdHMgaW4gbG9vcFxuICAqL1xuICBwcml2YXRlIGFzeW5jIHJlZnJlc2hEYXRhKCkge1xuICAgIHdoaWxlICh0aGlzLnJ1bm5pbmcpIHtcbiAgICAgIGF3YWl0IHRoaXMucmVxdWVzdEludGVybmFsKCk7XG4gICAgICBhd2FpdCAgdGhpcy5zbGVlcCh0aGlzLmVuZHBvaW50LmxpdmVpbnRlcnZhbCk7XG4gICAgfVxuIH1cbn1cbiJdfQ==