ns2-front-module-common
Version:
NS2 common module
132 lines • 4.47 kB
JavaScript
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