UNPKG

@netgrif/components-core

Version:

Netgrif Application engine frontend core Angular library

40 lines 5.17 kB
import { LogPublisher } from './log-publisher'; export class LocalStorageLogPublisher extends LogPublisher { static DEFAULT_KEY = 'application-log'; constructor(publisherService, logKey) { super(publisherService); this.location = !logKey ? LocalStorageLogPublisher.DEFAULT_KEY : logKey; } clear() { localStorage.removeItem(this.location); } log(entry) { if (!entry) { return; } const logString = localStorage.getItem(this.location); let log; if (!logString) { log = []; } else { log = JSON.parse(logString); } log.push(entry); try { localStorage.setItem(this.location, JSON.stringify(log)); } catch (e) { const deleted = log.splice(0, 1)[0]; console.debug('Log entry from ' + deleted.date.toISOString() + ' was deleted from the LocalStorage \'' + this.location + '\''); try { localStorage.setItem(this.location, JSON.stringify(log)); } catch (ex) { console.error(ex); throw new Error(ex.message); } } } } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9jYWwtc3RvcmFnZS1sb2ctcHVibGlzaGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmV0Z3JpZi1jb21wb25lbnRzLWNvcmUvc3JjL2xpYi9sb2dnZXIvcHVibGlzaGVycy9sb2NhbC1zdG9yYWdlLWxvZy1wdWJsaXNoZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFlBQVksRUFBQyxNQUFNLGlCQUFpQixDQUFDO0FBSTdDLE1BQU0sT0FBTyx3QkFBeUIsU0FBUSxZQUFZO0lBRS9DLE1BQU0sQ0FBVSxXQUFXLEdBQUcsaUJBQWlCLENBQUM7SUFFdkQsWUFBWSxnQkFBcUMsRUFBRSxNQUFlO1FBQzlELEtBQUssQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO1FBQ3hCLElBQUksQ0FBQyxRQUFRLEdBQUcsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLHdCQUF3QixDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDO0lBQzVFLENBQUM7SUFFRCxLQUFLO1FBQ0QsWUFBWSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDM0MsQ0FBQztJQUVELEdBQUcsQ0FBQyxLQUFlO1FBQ2YsSUFBSSxDQUFDLEtBQUssRUFBRTtZQUNSLE9BQU87U0FDVjtRQUNELE1BQU0sU0FBUyxHQUFXLFlBQVksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQzlELElBQUksR0FBb0IsQ0FBQztRQUN6QixJQUFJLENBQUMsU0FBUyxFQUFFO1lBQ1osR0FBRyxHQUFHLEVBQUUsQ0FBQztTQUNaO2FBQU07WUFDSCxHQUFHLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxTQUFTLENBQUMsQ0FBQztTQUMvQjtRQUNELEdBQUcsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDaEIsSUFBSTtZQUNBLFlBQVksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRSxJQUFJLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUM7U0FDNUQ7UUFBQyxPQUFPLENBQUMsRUFBRTtZQUNSLE1BQU0sT0FBTyxHQUFhLEdBQUcsQ0FBQyxNQUFNLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQzlDLE9BQU8sQ0FBQyxLQUFLLENBQUMsaUJBQWlCLEdBQUcsT0FBTyxDQUFDLElBQUksQ0FBQyxXQUFXLEVBQUUsR0FBRyx1Q0FBdUMsR0FBRyxJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQyxDQUFDO1lBQy9ILElBQUk7Z0JBQ0EsWUFBWSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFLElBQUksQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQzthQUM1RDtZQUFDLE9BQU8sRUFBRSxFQUFFO2dCQUNULE9BQU8sQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUM7Z0JBQ2xCLE1BQU0sSUFBSSxLQUFLLENBQUMsRUFBRSxDQUFDLE9BQU8sQ0FBQyxDQUFDO2FBQy9CO1NBQ0o7SUFDTCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtMb2dQdWJsaXNoZXJ9IGZyb20gJy4vbG9nLXB1Ymxpc2hlcic7XG5pbXBvcnQge0xvZ0VudHJ5fSBmcm9tICcuLi9tb2RlbHMvbG9nLWVudHJ5JztcbmltcG9ydCB7TG9nUHVibGlzaGVyU2VydmljZX0gZnJvbSAnLi4vc2VydmljZXMvbG9nLXB1Ymxpc2hlci5zZXJ2aWNlJztcblxuZXhwb3J0IGNsYXNzIExvY2FsU3RvcmFnZUxvZ1B1Ymxpc2hlciBleHRlbmRzIExvZ1B1Ymxpc2hlciB7XG5cbiAgICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IERFRkFVTFRfS0VZID0gJ2FwcGxpY2F0aW9uLWxvZyc7XG5cbiAgICBjb25zdHJ1Y3RvcihwdWJsaXNoZXJTZXJ2aWNlOiBMb2dQdWJsaXNoZXJTZXJ2aWNlLCBsb2dLZXk/OiBzdHJpbmcpIHtcbiAgICAgICAgc3VwZXIocHVibGlzaGVyU2VydmljZSk7XG4gICAgICAgIHRoaXMubG9jYXRpb24gPSAhbG9nS2V5ID8gTG9jYWxTdG9yYWdlTG9nUHVibGlzaGVyLkRFRkFVTFRfS0VZIDogbG9nS2V5O1xuICAgIH1cblxuICAgIGNsZWFyKCk6IHZvaWQge1xuICAgICAgICBsb2NhbFN0b3JhZ2UucmVtb3ZlSXRlbSh0aGlzLmxvY2F0aW9uKTtcbiAgICB9XG5cbiAgICBsb2coZW50cnk6IExvZ0VudHJ5KTogdm9pZCB7XG4gICAgICAgIGlmICghZW50cnkpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICBjb25zdCBsb2dTdHJpbmc6IHN0cmluZyA9IGxvY2FsU3RvcmFnZS5nZXRJdGVtKHRoaXMubG9jYXRpb24pO1xuICAgICAgICBsZXQgbG9nOiBBcnJheTxMb2dFbnRyeT47XG4gICAgICAgIGlmICghbG9nU3RyaW5nKSB7XG4gICAgICAgICAgICBsb2cgPSBbXTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGxvZyA9IEpTT04ucGFyc2UobG9nU3RyaW5nKTtcbiAgICAgICAgfVxuICAgICAgICBsb2cucHVzaChlbnRyeSk7XG4gICAgICAgIHRyeSB7XG4gICAgICAgICAgICBsb2NhbFN0b3JhZ2Uuc2V0SXRlbSh0aGlzLmxvY2F0aW9uLCBKU09OLnN0cmluZ2lmeShsb2cpKTtcbiAgICAgICAgfSBjYXRjaCAoZSkge1xuICAgICAgICAgICAgY29uc3QgZGVsZXRlZDogTG9nRW50cnkgPSBsb2cuc3BsaWNlKDAsIDEpWzBdO1xuICAgICAgICAgICAgY29uc29sZS5kZWJ1ZygnTG9nIGVudHJ5IGZyb20gJyArIGRlbGV0ZWQuZGF0ZS50b0lTT1N0cmluZygpICsgJyB3YXMgZGVsZXRlZCBmcm9tIHRoZSBMb2NhbFN0b3JhZ2UgXFwnJyArIHRoaXMubG9jYXRpb24gKyAnXFwnJyk7XG4gICAgICAgICAgICB0cnkge1xuICAgICAgICAgICAgICAgIGxvY2FsU3RvcmFnZS5zZXRJdGVtKHRoaXMubG9jYXRpb24sIEpTT04uc3RyaW5naWZ5KGxvZykpO1xuICAgICAgICAgICAgfSBjYXRjaCAoZXgpIHtcbiAgICAgICAgICAgICAgICBjb25zb2xlLmVycm9yKGV4KTtcbiAgICAgICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoZXgubWVzc2FnZSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbn1cbiJdfQ==