ns2-front-module-common
Version:
NS2 common module
132 lines • 4.44 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";
/**
* Сервис для работы с localStorage
*/
var LocalStorageService = (function (_super) {
__extends(LocalStorageService, _super);
function LocalStorageService() {
return _super !== null && _super.apply(this, arguments) || this;
}
/**
* Установка значения по ключу
* @param {string} key Ключ, по которому необходимо сохранить данные
* @param {any} value Данные для сохранения
* @returns {Promise<T>}
* @protected
*/
LocalStorageService.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
*/
LocalStorageService.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
*/
LocalStorageService.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
*/
LocalStorageService.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
*/
LocalStorageService.prototype._getStorageInstance = function () {
return new Promise(function (resolve, reject) {
try {
resolve(localStorage);
}
catch (err) {
reject(err);
}
});
};
return LocalStorageService;
}(AbstractKeyValueStorage));
export { LocalStorageService };
LocalStorageService.decorators = [
{ type: Injectable },
];
/** @nocollapse */
LocalStorageService.ctorParameters = function () { return []; };
//# sourceMappingURL=local-storage.service.js.map