UNPKG

@netgrif/components-core

Version:

Netgrif Application engine frontend core Angular library

57 lines 7.2 kB
import { Injectable } from '@angular/core'; import { BehaviorSubject, of } from 'rxjs'; import { ConsoleLogPublisher } from '../publishers/console-log-publisher'; import { LocalStorageLogPublisher } from '../publishers/local-storage-log-publisher'; import * as i0 from "@angular/core"; import * as i1 from "../../configuration/configuration.service"; export const PUBLISHERS = { console: ConsoleLogPublisher, localStorage: LocalStorageLogPublisher, backend: null }; export class LogPublisherService { // public static instance: LogPublisherService; _log; _publishers; constructor(config) { // LogPublisherService.instance = this; this._log = new BehaviorSubject(null); this._publishers = []; const serviceConfig = config.get().services; if (serviceConfig && serviceConfig.log && serviceConfig.log.publishers) { Object.keys(PUBLISHERS).filter(p => serviceConfig.log.publishers?.includes(p) && PUBLISHERS[p]) .forEach(key => new PUBLISHERS[key](this)); } } ngOnDestroy() { this._log.complete(); } get publishers() { return this._publishers; } register(publisher) { if (!publisher) { return of(null); } this._publishers.push(publisher); return this._log; } publish(entry) { if (!entry) { return; } this._log.next(entry); } clearAll() { this._publishers.forEach(publisher => publisher.clear()); } static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: LogPublisherService, deps: [{ token: i1.ConfigurationService }], target: i0.ɵɵFactoryTarget.Injectable }); static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: LogPublisherService, providedIn: 'root' }); } i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: LogPublisherService, decorators: [{ type: Injectable, args: [{ providedIn: 'root' }] }], ctorParameters: () => [{ type: i1.ConfigurationService }] }); //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9nLXB1Ymxpc2hlci5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmV0Z3JpZi1jb21wb25lbnRzLWNvcmUvc3JjL2xpYi9sb2dnZXIvc2VydmljZXMvbG9nLXB1Ymxpc2hlci5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxVQUFVLEVBQVksTUFBTSxlQUFlLENBQUM7QUFFcEQsT0FBTyxFQUFDLGVBQWUsRUFBYyxFQUFFLEVBQUMsTUFBTSxNQUFNLENBQUM7QUFFckQsT0FBTyxFQUFDLG1CQUFtQixFQUFDLE1BQU0scUNBQXFDLENBQUM7QUFDeEUsT0FBTyxFQUFDLHdCQUF3QixFQUFDLE1BQU0sMkNBQTJDLENBQUM7OztBQUduRixNQUFNLENBQUMsTUFBTSxVQUFVLEdBQUc7SUFDdEIsT0FBTyxFQUFFLG1CQUFtQjtJQUM1QixZQUFZLEVBQUUsd0JBQXdCO0lBQ3RDLE9BQU8sRUFBRSxJQUFJO0NBQ2hCLENBQUM7QUFLRixNQUFNLE9BQU8sbUJBQW1CO0lBRTVCLCtDQUErQztJQUU5QixJQUFJLENBQTRCO0lBQ2hDLFdBQVcsQ0FBc0I7SUFFbEQsWUFBWSxNQUE0QjtRQUNwQyx1Q0FBdUM7UUFDdkMsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLGVBQWUsQ0FBVyxJQUFJLENBQUMsQ0FBQztRQUNoRCxJQUFJLENBQUMsV0FBVyxHQUFHLEVBQUUsQ0FBQztRQUN0QixNQUFNLGFBQWEsR0FBRyxNQUFNLENBQUMsR0FBRyxFQUFFLENBQUMsUUFBUSxDQUFDO1FBQzVDLElBQUksYUFBYSxJQUFJLGFBQWEsQ0FBQyxHQUFHLElBQUksYUFBYSxDQUFDLEdBQUcsQ0FBQyxVQUFVLEVBQUU7WUFDcEUsTUFBTSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxhQUFhLENBQUMsR0FBRyxDQUFDLFVBQVUsRUFBRSxRQUFRLENBQUMsQ0FBQyxDQUFDLElBQUksVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDO2lCQUMxRixPQUFPLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxJQUFJLFVBQVUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO1NBQ2xEO0lBQ0wsQ0FBQztJQUVELFdBQVc7UUFDUCxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDO0lBQ3pCLENBQUM7SUFFRCxJQUFJLFVBQVU7UUFDVixPQUFPLElBQUksQ0FBQyxXQUFXLENBQUM7SUFDNUIsQ0FBQztJQUVELFFBQVEsQ0FBQyxTQUF1QjtRQUM1QixJQUFJLENBQUMsU0FBUyxFQUFFO1lBQ1osT0FBTyxFQUFFLENBQUMsSUFBSSxDQUFDLENBQUM7U0FDbkI7UUFDRCxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUNqQyxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUM7SUFDckIsQ0FBQztJQUVELE9BQU8sQ0FBQyxLQUFlO1FBQ25CLElBQUksQ0FBQyxLQUFLLEVBQUU7WUFDUixPQUFPO1NBQ1Y7UUFDRCxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUMxQixDQUFDO0lBRUQsUUFBUTtRQUNKLElBQUksQ0FBQyxXQUFXLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxFQUFFLENBQUMsU0FBUyxDQUFDLEtBQUssRUFBRSxDQUFDLENBQUM7SUFDN0QsQ0FBQzt3R0EzQ1EsbUJBQW1COzRHQUFuQixtQkFBbUIsY0FGaEIsTUFBTTs7NEZBRVQsbUJBQW1CO2tCQUgvQixVQUFVO21CQUFDO29CQUNSLFVBQVUsRUFBRSxNQUFNO2lCQUNyQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7SW5qZWN0YWJsZSwgT25EZXN0cm95fSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7TG9nUHVibGlzaGVyfSBmcm9tICcuLi9wdWJsaXNoZXJzL2xvZy1wdWJsaXNoZXInO1xuaW1wb3J0IHtCZWhhdmlvclN1YmplY3QsIE9ic2VydmFibGUsIG9mfSBmcm9tICdyeGpzJztcbmltcG9ydCB7TG9nRW50cnl9IGZyb20gJy4uL21vZGVscy9sb2ctZW50cnknO1xuaW1wb3J0IHtDb25zb2xlTG9nUHVibGlzaGVyfSBmcm9tICcuLi9wdWJsaXNoZXJzL2NvbnNvbGUtbG9nLXB1Ymxpc2hlcic7XG5pbXBvcnQge0xvY2FsU3RvcmFnZUxvZ1B1Ymxpc2hlcn0gZnJvbSAnLi4vcHVibGlzaGVycy9sb2NhbC1zdG9yYWdlLWxvZy1wdWJsaXNoZXInO1xuaW1wb3J0IHtDb25maWd1cmF0aW9uU2VydmljZX0gZnJvbSAnLi4vLi4vY29uZmlndXJhdGlvbi9jb25maWd1cmF0aW9uLnNlcnZpY2UnO1xuXG5leHBvcnQgY29uc3QgUFVCTElTSEVSUyA9IHtcbiAgICBjb25zb2xlOiBDb25zb2xlTG9nUHVibGlzaGVyLFxuICAgIGxvY2FsU3RvcmFnZTogTG9jYWxTdG9yYWdlTG9nUHVibGlzaGVyLFxuICAgIGJhY2tlbmQ6IG51bGxcbn07XG5cbkBJbmplY3RhYmxlKHtcbiAgICBwcm92aWRlZEluOiAncm9vdCdcbn0pXG5leHBvcnQgY2xhc3MgTG9nUHVibGlzaGVyU2VydmljZSBpbXBsZW1lbnRzIE9uRGVzdHJveSB7XG5cbiAgICAvLyBwdWJsaWMgc3RhdGljIGluc3RhbmNlOiBMb2dQdWJsaXNoZXJTZXJ2aWNlO1xuXG4gICAgcHJpdmF0ZSByZWFkb25seSBfbG9nOiBCZWhhdmlvclN1YmplY3Q8TG9nRW50cnk+O1xuICAgIHByaXZhdGUgcmVhZG9ubHkgX3B1Ymxpc2hlcnM6IEFycmF5PExvZ1B1Ymxpc2hlcj47XG5cbiAgICBjb25zdHJ1Y3Rvcihjb25maWc6IENvbmZpZ3VyYXRpb25TZXJ2aWNlKSB7XG4gICAgICAgIC8vIExvZ1B1Ymxpc2hlclNlcnZpY2UuaW5zdGFuY2UgPSB0aGlzO1xuICAgICAgICB0aGlzLl9sb2cgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PExvZ0VudHJ5PihudWxsKTtcbiAgICAgICAgdGhpcy5fcHVibGlzaGVycyA9IFtdO1xuICAgICAgICBjb25zdCBzZXJ2aWNlQ29uZmlnID0gY29uZmlnLmdldCgpLnNlcnZpY2VzO1xuICAgICAgICBpZiAoc2VydmljZUNvbmZpZyAmJiBzZXJ2aWNlQ29uZmlnLmxvZyAmJiBzZXJ2aWNlQ29uZmlnLmxvZy5wdWJsaXNoZXJzKSB7XG4gICAgICAgICAgICBPYmplY3Qua2V5cyhQVUJMSVNIRVJTKS5maWx0ZXIocCA9PiBzZXJ2aWNlQ29uZmlnLmxvZy5wdWJsaXNoZXJzPy5pbmNsdWRlcyhwKSAmJiBQVUJMSVNIRVJTW3BdKVxuICAgICAgICAgICAgICAgIC5mb3JFYWNoKGtleSA9PiBuZXcgUFVCTElTSEVSU1trZXldKHRoaXMpKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgICAgICB0aGlzLl9sb2cuY29tcGxldGUoKTtcbiAgICB9XG5cbiAgICBnZXQgcHVibGlzaGVycygpOiBBcnJheTxMb2dQdWJsaXNoZXI+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX3B1Ymxpc2hlcnM7XG4gICAgfVxuXG4gICAgcmVnaXN0ZXIocHVibGlzaGVyOiBMb2dQdWJsaXNoZXIpOiBPYnNlcnZhYmxlPExvZ0VudHJ5PiB7XG4gICAgICAgIGlmICghcHVibGlzaGVyKSB7XG4gICAgICAgICAgICByZXR1cm4gb2YobnVsbCk7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5fcHVibGlzaGVycy5wdXNoKHB1Ymxpc2hlcik7XG4gICAgICAgIHJldHVybiB0aGlzLl9sb2c7XG4gICAgfVxuXG4gICAgcHVibGlzaChlbnRyeTogTG9nRW50cnkpOiB2b2lkIHtcbiAgICAgICAgaWYgKCFlbnRyeSkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMuX2xvZy5uZXh0KGVudHJ5KTtcbiAgICB9XG5cbiAgICBjbGVhckFsbCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5fcHVibGlzaGVycy5mb3JFYWNoKHB1Ymxpc2hlciA9PiBwdWJsaXNoZXIuY2xlYXIoKSk7XG4gICAgfVxufVxuIl19