UNPKG

@helgoland/core

Version:

176 lines (175 loc) 10.8 kB
/** * @fileoverview added by tsickle * @suppress {checkTypes,extraRequire,uselessCode} checked by tsc */ import { Injectable } from '@angular/core'; /** * LocalStorage save objects with a given key * * @export */ var LocalStorage = /** @class */ (function () { function LocalStorage() { this.localStorageEnabled = false; this.defaults = {}; if (typeof (Storage) !== 'undefined') { this.localStorageEnabled = true; } } /** * Saves the object with the key in the local storage * * @param {?} key * @param {?} object * @return {?} successfull saving */ LocalStorage.prototype.save = /** * Saves the object with the key in the local storage * * @param {?} key * @param {?} object * @return {?} successfull saving */ function (key, object) { if (this.localStorageEnabled) { localStorage.setItem(key, JSON.stringify(object)); return true; } return false; }; /** * loads the object with for the key * * @template T * @param {?} key * @return {?} the object if exists, else null */ LocalStorage.prototype.load = /** * loads the object with for the key * * @template T * @param {?} key * @return {?} the object if exists, else null */ function (key) { if (this.localStorageEnabled) { /** @type {?} */ var result = localStorage.getItem(key); if (result) { return JSON.parse(result); } } return this.defaults[key]; }; /** * loads an array of objects for the key * * @template T * @param {?} key * @return {?} the array of objects if exists, else null */ LocalStorage.prototype.loadArray = /** * loads an array of objects for the key * * @template T * @param {?} key * @return {?} the array of objects if exists, else null */ function (key) { if (this.localStorageEnabled) { /** @type {?} */ var result = localStorage.getItem(key); if (result) { return JSON.parse(result); } } return this.defaults[key]; }; /** * load a textual string for the given key * * @param {?} key * @return {?} the string if exists, else null */ LocalStorage.prototype.loadTextual = /** * load a textual string for the given key * * @param {?} key * @return {?} the string if exists, else null */ function (key) { if (this.localStorageEnabled) { /** @type {?} */ var result = localStorage.getItem(key); if (result) { return result; } } return this.defaults[key]; }; /** * clears the complete local storage * @return {?} */ LocalStorage.prototype.clearStorage = /** * clears the complete local storage * @return {?} */ function () { if (this.localStorageEnabled) { localStorage.clear(); } }; /** * removes the item for the specified key * @param {?} key * @return {?} */ LocalStorage.prototype.removeItem = /** * removes the item for the specified key * @param {?} key * @return {?} */ function (key) { if (this.localStorageEnabled) { localStorage.removeItem(key); } }; /** * sets a default value for the given key, which will be delivered, if nothing is stored in localstorage for the key * * @param key * @param object */ /** * sets a default value for the given key, which will be delivered, if nothing is stored in localstorage for the key * * @param {?} key * @param {?} object * @return {?} */ LocalStorage.prototype.defineDefault = /** * sets a default value for the given key, which will be delivered, if nothing is stored in localstorage for the key * * @param {?} key * @param {?} object * @return {?} */ function (key, object) { this.defaults[key] = object; }; LocalStorage.decorators = [ { type: Injectable }, ]; /** @nocollapse */ LocalStorage.ctorParameters = function () { return []; }; return LocalStorage; }()); export { LocalStorage }; if (false) { /** @type {?} */ LocalStorage.prototype.localStorageEnabled; /** @type {?} */ LocalStorage.prototype.defaults; } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9jYWwtc3RvcmFnZS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGhlbGdvbGFuZC9jb3JlLyIsInNvdXJjZXMiOlsibGliL2xvY2FsLXN0b3JhZ2UvbG9jYWwtc3RvcmFnZS5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7QUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDOzs7Ozs7O0lBYXZDO21DQUg4QixLQUFLO3dCQUNoQixFQUFFO1FBR2pCLEVBQUUsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsS0FBSyxXQUFXLENBQUMsQ0FBQyxDQUFDO1lBQ25DLElBQUksQ0FBQyxtQkFBbUIsR0FBRyxJQUFJLENBQUM7U0FDbkM7S0FDSjs7Ozs7Ozs7SUFTTSwyQkFBSTs7Ozs7OztjQUFDLEdBQVcsRUFBRSxNQUFXO1FBQ2hDLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDLENBQUM7WUFDM0IsWUFBWSxDQUFDLE9BQU8sQ0FBQyxHQUFHLEVBQUUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDO1lBQ2xELE1BQU0sQ0FBQyxJQUFJLENBQUM7U0FDZjtRQUNELE1BQU0sQ0FBQyxLQUFLLENBQUM7Ozs7Ozs7OztJQVNWLDJCQUFJOzs7Ozs7O2NBQUksR0FBVztRQUN0QixFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsbUJBQW1CLENBQUMsQ0FBQyxDQUFDOztZQUMzQixJQUFNLE1BQU0sR0FBRyxZQUFZLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1lBQ3pDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUM7Z0JBQ1QsTUFBTSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLENBQUM7YUFDN0I7U0FDSjtRQUNELE1BQU0sQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxDQUFDOzs7Ozs7Ozs7SUFTdkIsZ0NBQVM7Ozs7Ozs7Y0FBSSxHQUFXO1FBQzNCLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDLENBQUM7O1lBQzNCLElBQU0sTUFBTSxHQUFHLFlBQVksQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUM7WUFDekMsRUFBRSxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQztnQkFDVCxNQUFNLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQzthQUM3QjtTQUNKO1FBQ0QsTUFBTSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLENBQUM7Ozs7Ozs7O0lBU3ZCLGtDQUFXOzs7Ozs7Y0FBQyxHQUFXO1FBQzFCLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDLENBQUM7O1lBQzNCLElBQU0sTUFBTSxHQUFHLFlBQVksQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUM7WUFDekMsRUFBRSxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQztnQkFDVCxNQUFNLENBQUMsTUFBTSxDQUFDO2FBQ2pCO1NBQ0o7UUFDRCxNQUFNLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsQ0FBQzs7Ozs7O0lBTXZCLG1DQUFZOzs7OztRQUNmLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDLENBQUM7WUFDM0IsWUFBWSxDQUFDLEtBQUssRUFBRSxDQUFDO1NBQ3hCOzs7Ozs7O0lBT0UsaUNBQVU7Ozs7O2NBQUMsR0FBVztRQUN6QixFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsbUJBQW1CLENBQUMsQ0FBQyxDQUFDO1lBQzNCLFlBQVksQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLENBQUM7U0FDaEM7O0lBR0w7Ozs7O09BS0c7Ozs7Ozs7O0lBQ08sb0NBQWE7Ozs7Ozs7SUFBdkIsVUFBd0IsR0FBVyxFQUFFLE1BQVc7UUFDNUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsR0FBRyxNQUFNLENBQUM7S0FDL0I7O2dCQXRHSixVQUFVOzs7O3VCQVBYOztTQVFhLFlBQVkiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbi8qKlxuICogTG9jYWxTdG9yYWdlIHNhdmUgb2JqZWN0cyB3aXRoIGEgZ2l2ZW4ga2V5XG4gKlxuICogQGV4cG9ydFxuICovXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgTG9jYWxTdG9yYWdlIHtcblxuICAgIHByaXZhdGUgbG9jYWxTdG9yYWdlRW5hYmxlZCA9IGZhbHNlO1xuICAgIHByaXZhdGUgZGVmYXVsdHMgPSB7fTtcblxuICAgIGNvbnN0cnVjdG9yKCkge1xuICAgICAgICBpZiAodHlwZW9mIChTdG9yYWdlKSAhPT0gJ3VuZGVmaW5lZCcpIHtcbiAgICAgICAgICAgIHRoaXMubG9jYWxTdG9yYWdlRW5hYmxlZCA9IHRydWU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBTYXZlcyB0aGUgb2JqZWN0IHdpdGggdGhlIGtleSBpbiB0aGUgbG9jYWwgc3RvcmFnZVxuICAgICAqXG4gICAgICogQHBhcmFtIGtleVxuICAgICAqIEBwYXJhbSBvYmplY3RcbiAgICAgKiBAcmV0dXJucyBzdWNjZXNzZnVsbCBzYXZpbmdcbiAgICAgKi9cbiAgICBwdWJsaWMgc2F2ZShrZXk6IHN0cmluZywgb2JqZWN0OiBhbnkpOiBib29sZWFuIHtcbiAgICAgICAgaWYgKHRoaXMubG9jYWxTdG9yYWdlRW5hYmxlZCkge1xuICAgICAgICAgICAgbG9jYWxTdG9yYWdlLnNldEl0ZW0oa2V5LCBKU09OLnN0cmluZ2lmeShvYmplY3QpKTtcbiAgICAgICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBsb2FkcyB0aGUgb2JqZWN0IHdpdGggZm9yIHRoZSBrZXlcbiAgICAgKlxuICAgICAqIEBwYXJhbSBrZXlcbiAgICAgKiBAcmV0dXJucyB0aGUgb2JqZWN0IGlmIGV4aXN0cywgZWxzZSBudWxsXG4gICAgICovXG4gICAgcHVibGljIGxvYWQ8VD4oa2V5OiBzdHJpbmcpOiBUIHtcbiAgICAgICAgaWYgKHRoaXMubG9jYWxTdG9yYWdlRW5hYmxlZCkge1xuICAgICAgICAgICAgY29uc3QgcmVzdWx0ID0gbG9jYWxTdG9yYWdlLmdldEl0ZW0oa2V5KTtcbiAgICAgICAgICAgIGlmIChyZXN1bHQpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gSlNPTi5wYXJzZShyZXN1bHQpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIHJldHVybiB0aGlzLmRlZmF1bHRzW2tleV07XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogbG9hZHMgYW4gYXJyYXkgb2Ygb2JqZWN0cyBmb3IgdGhlIGtleVxuICAgICAqXG4gICAgICogQHBhcmFtIGtleVxuICAgICAqIEByZXR1cm5zIHRoZSBhcnJheSBvZiBvYmplY3RzIGlmIGV4aXN0cywgZWxzZSBudWxsXG4gICAgICovXG4gICAgcHVibGljIGxvYWRBcnJheTxUPihrZXk6IHN0cmluZyk6IFRbXSB7XG4gICAgICAgIGlmICh0aGlzLmxvY2FsU3RvcmFnZUVuYWJsZWQpIHtcbiAgICAgICAgICAgIGNvbnN0IHJlc3VsdCA9IGxvY2FsU3RvcmFnZS5nZXRJdGVtKGtleSk7XG4gICAgICAgICAgICBpZiAocmVzdWx0KSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIEpTT04ucGFyc2UocmVzdWx0KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gdGhpcy5kZWZhdWx0c1trZXldO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIGxvYWQgYSB0ZXh0dWFsIHN0cmluZyBmb3IgdGhlIGdpdmVuIGtleVxuICAgICAqXG4gICAgICogQHBhcmFtIGtleVxuICAgICAqIEByZXR1cm5zIHRoZSBzdHJpbmcgaWYgZXhpc3RzLCBlbHNlIG51bGxcbiAgICAgKi9cbiAgICBwdWJsaWMgbG9hZFRleHR1YWwoa2V5OiBzdHJpbmcpOiBzdHJpbmcge1xuICAgICAgICBpZiAodGhpcy5sb2NhbFN0b3JhZ2VFbmFibGVkKSB7XG4gICAgICAgICAgICBjb25zdCByZXN1bHQgPSBsb2NhbFN0b3JhZ2UuZ2V0SXRlbShrZXkpO1xuICAgICAgICAgICAgaWYgKHJlc3VsdCkge1xuICAgICAgICAgICAgICAgIHJldHVybiByZXN1bHQ7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHRoaXMuZGVmYXVsdHNba2V5XTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBjbGVhcnMgdGhlIGNvbXBsZXRlIGxvY2FsIHN0b3JhZ2VcbiAgICAgKi9cbiAgICBwdWJsaWMgY2xlYXJTdG9yYWdlKCkge1xuICAgICAgICBpZiAodGhpcy5sb2NhbFN0b3JhZ2VFbmFibGVkKSB7XG4gICAgICAgICAgICBsb2NhbFN0b3JhZ2UuY2xlYXIoKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qKlxuICAgICAqIHJlbW92ZXMgdGhlIGl0ZW0gZm9yIHRoZSBzcGVjaWZpZWQga2V5XG4gICAgICogQHBhcmFtIGtleVxuICAgICAqL1xuICAgIHB1YmxpYyByZW1vdmVJdGVtKGtleTogc3RyaW5nKSB7XG4gICAgICAgIGlmICh0aGlzLmxvY2FsU3RvcmFnZUVuYWJsZWQpIHtcbiAgICAgICAgICAgIGxvY2FsU3RvcmFnZS5yZW1vdmVJdGVtKGtleSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBzZXRzIGEgZGVmYXVsdCB2YWx1ZSBmb3IgdGhlIGdpdmVuIGtleSwgd2hpY2ggd2lsbCBiZSBkZWxpdmVyZWQsIGlmIG5vdGhpbmcgaXMgc3RvcmVkIGluIGxvY2Fsc3RvcmFnZSBmb3IgdGhlIGtleVxuICAgICAqXG4gICAgICogQHBhcmFtIGtleVxuICAgICAqIEBwYXJhbSBvYmplY3RcbiAgICAgKi9cbiAgICBwcm90ZWN0ZWQgZGVmaW5lRGVmYXVsdChrZXk6IHN0cmluZywgb2JqZWN0OiBhbnkpIHtcbiAgICAgICAgdGhpcy5kZWZhdWx0c1trZXldID0gb2JqZWN0O1xuICAgIH1cblxufVxuIl19