UNPKG

@acaprojects/a2-composer

Version:
97 lines 4 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 { ClientMessageBrokerFactory, FnArg, PRIMITIVE, UiArguments } from '@angular/platform-webworker'; import { DataStoreService } from './data-store.service'; var DataStoreWorkerService = (function (_super) { __extends(DataStoreWorkerService, _super); function DataStoreWorkerService(brokerFactory) { var _this = _super.call(this) || this; _this.brokerFactory = brokerFactory; _this.broker = null; if (_this.brokerFactory) { _this.broker = brokerFactory.createMessageBroker('COMPOSER Storage Broker'); } return _this; } DataStoreWorkerService.prototype.getItem = function (type, key) { var _this = this; return new Promise(function (resolve, reject) { if (_this.broker) { var exec = (type === 'local' ? 'localStorage' : 'sessionStorage') + "_getItem"; _this.execOnUI(exec, [key]).then(function (result) { resolve(result); }); } }); }; DataStoreWorkerService.prototype.setItem = function (type, key, value) { var _this = this; return new Promise(function (resolve, reject) { if (_this.broker) { var exec = (type === 'local' ? 'localStorage' : 'sessionStorage') + "_setItem"; _this.execOnUI(exec, [key, value]).then(function (result) { resolve(result); }); } }); }; DataStoreWorkerService.prototype.removeItem = function (type, key) { var _this = this; return new Promise(function (resolve, reject) { if (_this.broker) { var exec = (type === 'local' ? 'localStorage' : 'sessionStorage') + "_removeItem"; _this.execOnUI(exec, [key]).then(function (result) { resolve(result); }); } }); }; DataStoreWorkerService.prototype.keys = function (type) { var _this = this; return new Promise(function (resolve, reject) { if (_this.broker) { var exec = (type === 'local' ? 'localStorage' : 'sessionStorage') + "_keys"; _this.execOnUI(exec, []).then(function (result) { resolve(result); }); } }); }; DataStoreWorkerService.prototype.execOnUI = function (fn, args) { var _this = this; return new Promise(function (resolve, reject) { if (_this.broker) { var argments = []; for (var _i = 0, args_1 = args; _i < args_1.length; _i++) { var arg = args_1[_i]; argments.push(new FnArg(arg, PRIMITIVE)); } var method = new UiArguments(fn, argments); _this.broker.runOnService(method, PRIMITIVE).then(function (result) { resolve(result); }); } else { reject({ message: 'Message Broker does not exist or has not been initialised.' }); } }); }; return DataStoreWorkerService; }(DataStoreService)); export { DataStoreWorkerService }; DataStoreWorkerService.decorators = [ { type: Injectable }, ]; DataStoreWorkerService.ctorParameters = function () { return [ { type: ClientMessageBrokerFactory, }, ]; }; //# sourceMappingURL=data-store-worker.service.js.map