UNPKG

ns2-front-module-common

Version:
132 lines 4.47 kB
var __extends = (this && this.__extends) || (function () { var extendStatics = Object.setPrototypeOf || ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) || function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; }; return function (d, b) { extendStatics(d, b); function __() { this.constructor = d; } d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __()); }; })(); import { Injectable } from "@angular/core"; import { AbstractKeyValueStorage } from "./abstract-key-value-storage.service"; /** * Сервис для работы с sessionStorage */ var SessionStorageService = (function (_super) { __extends(SessionStorageService, _super); function SessionStorageService() { return _super !== null && _super.apply(this, arguments) || this; } /** * Установка значения по ключу * @param {string} key Ключ, по которому необходимо сохранить данные * @param {any} value Данные для сохранения * @returns {Promise<T>} * @protected */ SessionStorageService.prototype._set = function (key, value) { var _this = this; return new Promise(function (resolve, reject) { try { _this._getStorageInstance() .then(function (storage) { storage.setItem(key, value); resolve(); }) .catch(reject); } catch (err) { reject(err); } }); }; /** * Получение значения по ключу * @param {string} key Ключ, по которому необходимо получить значение * @returns {Promise<T>} * @protected */ SessionStorageService.prototype._get = function (key) { var _this = this; return new Promise(function (resolve, reject) { try { _this._getStorageInstance() .then(function (storage) { var value = storage.getItem(key); (value === null) ? reject() : resolve(value); }) .catch(reject); } catch (err) { reject(err); } }); }; /** * Удаление значения по ключу * @param {string} key Ключ по которым необходимо удалить данные * @returns {Promise<T>} * @protected */ SessionStorageService.prototype._remove = function (key) { var _this = this; return new Promise(function (resolve, reject) { try { _this._getStorageInstance() .then(function (storage) { storage.removeItem(key); resolve(); }) .catch(reject); } catch (err) { reject(err); } }); }; /** * Полная очистка хранилища * @returns {Promise<T>} * @protected */ SessionStorageService.prototype._clear = function () { var _this = this; return new Promise(function (resolve, reject) { try { _this._getStorageInstance() .then(function (storage) { storage.clear(); resolve(); }) .catch(reject); } catch (err) { reject(err); } }); }; /** * Возвращает экземпляр хранилища * @returns {Promise<T>} * @protected */ SessionStorageService.prototype._getStorageInstance = function () { return new Promise(function (resolve, reject) { try { resolve(sessionStorage); } catch (err) { reject(err); } }); }; return SessionStorageService; }(AbstractKeyValueStorage)); export { SessionStorageService }; SessionStorageService.decorators = [ { type: Injectable }, ]; /** @nocollapse */ SessionStorageService.ctorParameters = function () { return []; }; //# sourceMappingURL=session-storage.service.js.map