UNPKG

@omostan/ngx-idle

Version:

A module for responding to idle users in Angular applications. this is a forked version of the original @ng-Idle

69 lines 6.4 kB
import { Injectable } from '@angular/core'; import { AlternativeStorage } from './alternativestorage'; import * as i0 from "@angular/core"; /* * Represents a localStorage store. */ export class LocalStorage { constructor() { this.storage = this.getStorage(); } /* * Safari, in Private Browsing Mode, looks like it supports localStorage but all calls to setItem * throw QuotaExceededError. We're going to detect this and just silently drop any calls to * setItem * to avoid the entire page breaking, without having to do a check at each usage of Storage. */ getStorage() { try { const storage = localStorage; storage.setItem('ng2IdleStorage', ''); storage.removeItem('ng2IdleStorage'); return storage; } catch (err) { return new AlternativeStorage(); } } /* * Gets an item in the storage. * * @param value - The value to get. * @return The current value. */ getItem(key) { return this.storage.getItem('ng2Idle.' + key); } /* * Removes an item in the storage. * * @param value - The value to remove. */ removeItem(key) { this.storage.removeItem('ng2Idle.' + key); } /* * Sets an item in the storage. * * @param key - The key to set the value. * @param value - The value to set to the key. */ setItem(key, data) { this.storage.setItem('ng2Idle.' + key, data); } /* * Represents the storage, commonly use for testing purposes. * * @param key - The key to set the value. * @param value - The value to set to the key. */ _wrapped() { return this.storage; } } LocalStorage.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.1.1", ngImport: i0, type: LocalStorage, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); LocalStorage.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.1.1", ngImport: i0, type: LocalStorage }); i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.1", ngImport: i0, type: LocalStorage, decorators: [{ type: Injectable }], ctorParameters: function () { return []; } }); //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9jYWxzdG9yYWdlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvY29yZS9zcmMvbGliL2xvY2Fsc3RvcmFnZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHNCQUFzQixDQUFDOztBQUUxRDs7R0FFRztBQUVILE1BQU0sT0FBTyxZQUFZO0lBR3ZCO1FBQ0UsSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUMsVUFBVSxFQUFFLENBQUM7SUFDbkMsQ0FBQztJQUVEOzs7OztPQUtHO0lBQ0ssVUFBVTtRQUNoQixJQUFJO1lBQ0YsTUFBTSxPQUFPLEdBQUcsWUFBWSxDQUFDO1lBQzdCLE9BQU8sQ0FBQyxPQUFPLENBQUMsZ0JBQWdCLEVBQUUsRUFBRSxDQUFDLENBQUM7WUFDdEMsT0FBTyxDQUFDLFVBQVUsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO1lBQ3JDLE9BQU8sT0FBTyxDQUFDO1NBQ2hCO1FBQUMsT0FBTyxHQUFHLEVBQUU7WUFDWixPQUFPLElBQUksa0JBQWtCLEVBQUUsQ0FBQztTQUNqQztJQUNILENBQUM7SUFFRDs7Ozs7T0FLRztJQUNILE9BQU8sQ0FBQyxHQUFXO1FBQ2pCLE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsVUFBVSxHQUFHLEdBQUcsQ0FBQyxDQUFDO0lBQ2hELENBQUM7SUFFRDs7OztPQUlHO0lBQ0gsVUFBVSxDQUFDLEdBQVc7UUFDcEIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxVQUFVLENBQUMsVUFBVSxHQUFHLEdBQUcsQ0FBQyxDQUFDO0lBQzVDLENBQUM7SUFFRDs7Ozs7T0FLRztJQUNILE9BQU8sQ0FBQyxHQUFXLEVBQUUsSUFBWTtRQUMvQixJQUFJLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxVQUFVLEdBQUcsR0FBRyxFQUFFLElBQUksQ0FBQyxDQUFDO0lBQy9DLENBQUM7SUFFRDs7Ozs7T0FLRztJQUNILFFBQVE7UUFDTixPQUFPLElBQUksQ0FBQyxPQUFPLENBQUM7SUFDdEIsQ0FBQzs7eUdBN0RVLFlBQVk7NkdBQVosWUFBWTsyRkFBWixZQUFZO2tCQUR4QixVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBBbHRlcm5hdGl2ZVN0b3JhZ2UgfSBmcm9tICcuL2FsdGVybmF0aXZlc3RvcmFnZSc7XHJcblxyXG4vKlxyXG4gKiBSZXByZXNlbnRzIGEgbG9jYWxTdG9yYWdlIHN0b3JlLlxyXG4gKi9cclxuQEluamVjdGFibGUoKVxyXG5leHBvcnQgY2xhc3MgTG9jYWxTdG9yYWdlIHtcclxuICBwcml2YXRlIHN0b3JhZ2U6IFN0b3JhZ2U7XHJcblxyXG4gIGNvbnN0cnVjdG9yKCkge1xyXG4gICAgdGhpcy5zdG9yYWdlID0gdGhpcy5nZXRTdG9yYWdlKCk7XHJcbiAgfVxyXG5cclxuICAvKlxyXG4gICAqIFNhZmFyaSwgaW4gUHJpdmF0ZSBCcm93c2luZyBNb2RlLCBsb29rcyBsaWtlIGl0IHN1cHBvcnRzIGxvY2FsU3RvcmFnZSBidXQgYWxsIGNhbGxzIHRvIHNldEl0ZW1cclxuICAgKiB0aHJvdyBRdW90YUV4Y2VlZGVkRXJyb3IuIFdlJ3JlIGdvaW5nIHRvIGRldGVjdCB0aGlzIGFuZCBqdXN0IHNpbGVudGx5IGRyb3AgYW55IGNhbGxzIHRvXHJcbiAgICogc2V0SXRlbVxyXG4gICAqIHRvIGF2b2lkIHRoZSBlbnRpcmUgcGFnZSBicmVha2luZywgd2l0aG91dCBoYXZpbmcgdG8gZG8gYSBjaGVjayBhdCBlYWNoIHVzYWdlIG9mIFN0b3JhZ2UuXHJcbiAgICovXHJcbiAgcHJpdmF0ZSBnZXRTdG9yYWdlKCk6IFN0b3JhZ2Uge1xyXG4gICAgdHJ5IHtcclxuICAgICAgY29uc3Qgc3RvcmFnZSA9IGxvY2FsU3RvcmFnZTtcclxuICAgICAgc3RvcmFnZS5zZXRJdGVtKCduZzJJZGxlU3RvcmFnZScsICcnKTtcclxuICAgICAgc3RvcmFnZS5yZW1vdmVJdGVtKCduZzJJZGxlU3RvcmFnZScpO1xyXG4gICAgICByZXR1cm4gc3RvcmFnZTtcclxuICAgIH0gY2F0Y2ggKGVycikge1xyXG4gICAgICByZXR1cm4gbmV3IEFsdGVybmF0aXZlU3RvcmFnZSgpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLypcclxuICAgKiBHZXRzIGFuIGl0ZW0gaW4gdGhlIHN0b3JhZ2UuXHJcbiAgICpcclxuICAgKiBAcGFyYW0gdmFsdWUgLSBUaGUgdmFsdWUgdG8gZ2V0LlxyXG4gICAqIEByZXR1cm4gVGhlIGN1cnJlbnQgdmFsdWUuXHJcbiAgICovXHJcbiAgZ2V0SXRlbShrZXk6IHN0cmluZyk6IHN0cmluZyB8IG51bGwge1xyXG4gICAgcmV0dXJuIHRoaXMuc3RvcmFnZS5nZXRJdGVtKCduZzJJZGxlLicgKyBrZXkpO1xyXG4gIH1cclxuXHJcbiAgLypcclxuICAgKiBSZW1vdmVzIGFuIGl0ZW0gaW4gdGhlIHN0b3JhZ2UuXHJcbiAgICpcclxuICAgKiBAcGFyYW0gdmFsdWUgLSBUaGUgdmFsdWUgdG8gcmVtb3ZlLlxyXG4gICAqL1xyXG4gIHJlbW92ZUl0ZW0oa2V5OiBzdHJpbmcpOiB2b2lkIHtcclxuICAgIHRoaXMuc3RvcmFnZS5yZW1vdmVJdGVtKCduZzJJZGxlLicgKyBrZXkpO1xyXG4gIH1cclxuXHJcbiAgLypcclxuICAgKiBTZXRzIGFuIGl0ZW0gaW4gdGhlIHN0b3JhZ2UuXHJcbiAgICpcclxuICAgKiBAcGFyYW0ga2V5IC0gVGhlIGtleSB0byBzZXQgdGhlIHZhbHVlLlxyXG4gICAqIEBwYXJhbSB2YWx1ZSAtIFRoZSB2YWx1ZSB0byBzZXQgdG8gdGhlIGtleS5cclxuICAgKi9cclxuICBzZXRJdGVtKGtleTogc3RyaW5nLCBkYXRhOiBzdHJpbmcpOiB2b2lkIHtcclxuICAgIHRoaXMuc3RvcmFnZS5zZXRJdGVtKCduZzJJZGxlLicgKyBrZXksIGRhdGEpO1xyXG4gIH1cclxuXHJcbiAgLypcclxuICAgKiBSZXByZXNlbnRzIHRoZSBzdG9yYWdlLCBjb21tb25seSB1c2UgZm9yIHRlc3RpbmcgcHVycG9zZXMuXHJcbiAgICpcclxuICAgKiBAcGFyYW0ga2V5IC0gVGhlIGtleSB0byBzZXQgdGhlIHZhbHVlLlxyXG4gICAqIEBwYXJhbSB2YWx1ZSAtIFRoZSB2YWx1ZSB0byBzZXQgdG8gdGhlIGtleS5cclxuICAgKi9cclxuICBfd3JhcHBlZCgpOiBTdG9yYWdlIHtcclxuICAgIHJldHVybiB0aGlzLnN0b3JhZ2U7XHJcbiAgfVxyXG59XHJcbiJdfQ==