@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
JavaScript
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==