@netgrif/components-core
Version:
Netgrif Application engine frontend core Angular library
57 lines • 7.2 kB
JavaScript
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