@helgoland/core
Version:
176 lines (175 loc) • 10.8 kB
JavaScript
/**
* @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