@curium.rocks/data-emitter-base
Advanced tools
Comparing version 0.1.1-alpha.30 to 0.1.1-alpha.31
"use strict"; | ||
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { | ||
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } | ||
return new (P || (P = Promise))(function (resolve, reject) { | ||
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } | ||
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } | ||
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } | ||
step((generator = generator.apply(thisArg, _arguments || [])).next()); | ||
}); | ||
}; | ||
var __generator = (this && this.__generator) || function (thisArg, body) { | ||
var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g; | ||
return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g; | ||
function verb(n) { return function (v) { return step([n, v]); }; } | ||
function step(op) { | ||
if (f) throw new TypeError("Generator is already executing."); | ||
while (_) try { | ||
if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t; | ||
if (y = 0, t) op = [op[0] & 2, t.value]; | ||
switch (op[0]) { | ||
case 0: case 1: t = op; break; | ||
case 4: _.label++; return { value: op[1], done: false }; | ||
case 5: _.label++; y = op[1]; op = [0]; continue; | ||
case 7: op = _.ops.pop(); _.trys.pop(); continue; | ||
default: | ||
if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; } | ||
if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; } | ||
if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; } | ||
if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; } | ||
if (t[2]) _.ops.pop(); | ||
_.trys.pop(); continue; | ||
} | ||
op = body.call(thisArg, _); | ||
} catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; } | ||
if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true }; | ||
} | ||
}; | ||
var __importDefault = (this && this.__importDefault) || function (mod) { | ||
@@ -43,10 +7,10 @@ return (mod && mod.__esModule) ? mod : { "default": mod }; | ||
exports.BaseEmitter = exports.BaseDataEvent = exports.BaseStatusEvent = void 0; | ||
var dataEmitter_1 = require("./dataEmitter"); | ||
var loggerFacade_1 = require("./loggerFacade"); | ||
var crypto_1 = __importDefault(require("crypto")); | ||
var provider_1 = require("./provider"); | ||
const dataEmitter_1 = require("./dataEmitter"); | ||
const loggerFacade_1 = require("./loggerFacade"); | ||
const crypto_1 = __importDefault(require("crypto")); | ||
const provider_1 = require("./provider"); | ||
/** | ||
* | ||
*/ | ||
var BaseStatusEvent = /** @class */ (function () { | ||
class BaseStatusEvent { | ||
/** | ||
@@ -58,3 +22,3 @@ * | ||
*/ | ||
function BaseStatusEvent(connected, bit, timestamp) { | ||
constructor(connected, bit, timestamp) { | ||
this.connected = connected; | ||
@@ -67,3 +31,3 @@ this.bit = bit; | ||
*/ | ||
BaseStatusEvent.prototype.toJSON = function () { | ||
toJSON() { | ||
return { | ||
@@ -74,5 +38,4 @@ connected: this.connected, | ||
}; | ||
}; | ||
return BaseStatusEvent; | ||
}()); | ||
} | ||
} | ||
exports.BaseStatusEvent = BaseStatusEvent; | ||
@@ -82,3 +45,3 @@ /** | ||
*/ | ||
var BaseDataEvent = /** @class */ (function () { | ||
class BaseDataEvent { | ||
/** | ||
@@ -90,3 +53,3 @@ * Create a data event object | ||
*/ | ||
function BaseDataEvent(emitter, data, meta) { | ||
constructor(emitter, data, meta) { | ||
this.emitter = emitter; | ||
@@ -101,4 +64,4 @@ this.data = data; | ||
*/ | ||
BaseDataEvent.prototype.toJSON = function () { | ||
var ret = { | ||
toJSON() { | ||
const ret = { | ||
emitter: this.emitter.toJSON(), | ||
@@ -116,5 +79,4 @@ timestamp: this.timestamp, | ||
return ret; | ||
}; | ||
return BaseDataEvent; | ||
}()); | ||
} | ||
} | ||
exports.BaseDataEvent = BaseDataEvent; | ||
@@ -125,3 +87,3 @@ /** | ||
*/ | ||
var BaseEmitter = /** @class */ (function () { | ||
class BaseEmitter { | ||
/** | ||
@@ -134,4 +96,3 @@ * | ||
*/ | ||
function BaseEmitter(_id, _name, _description, _logger) { | ||
if (_logger === void 0) { _logger = undefined; } | ||
constructor(_id, _name, _description, _logger = undefined) { | ||
this._id = _id; | ||
@@ -165,33 +126,21 @@ this._name = _name; | ||
} | ||
Object.defineProperty(BaseEmitter.prototype, "id", { | ||
/** | ||
* @return {string} unique id for emitter | ||
*/ | ||
get: function () { | ||
return this._id; | ||
}, | ||
enumerable: false, | ||
configurable: true | ||
}); | ||
Object.defineProperty(BaseEmitter.prototype, "name", { | ||
/** | ||
* @return {string} emitter name | ||
*/ | ||
get: function () { | ||
return this._name; | ||
}, | ||
enumerable: false, | ||
configurable: true | ||
}); | ||
Object.defineProperty(BaseEmitter.prototype, "description", { | ||
/** | ||
* @return {string} communication link description | ||
*/ | ||
get: function () { | ||
return this._description; | ||
}, | ||
enumerable: false, | ||
configurable: true | ||
}); | ||
/** | ||
* @return {string} unique id for emitter | ||
*/ | ||
get id() { | ||
return this._id; | ||
} | ||
/** | ||
* @return {string} emitter name | ||
*/ | ||
get name() { | ||
return this._name; | ||
} | ||
/** | ||
* @return {string} communication link description | ||
*/ | ||
get description() { | ||
return this._description; | ||
} | ||
/** | ||
* serialize the important data that is needed to be able to recreate this emitter in it's current state | ||
@@ -201,3 +150,3 @@ * @param {IFormatSettings} settings used to specify expected format of the serialization | ||
*/ | ||
BaseEmitter.prototype.serializeState = function (settings) { | ||
serializeState(settings) { | ||
if (!settings.encrypted) { | ||
@@ -209,3 +158,3 @@ return Promise.resolve(JSON.stringify(this.getEmitterDescription())); | ||
} | ||
}; | ||
} | ||
/** | ||
@@ -216,22 +165,16 @@ * | ||
*/ | ||
BaseEmitter.encrypt = function (json, settings) { | ||
return __awaiter(this, void 0, void 0, function () { | ||
var gcmCipher, cipherBuffer, cipher, cipherBuffer; | ||
return __generator(this, function (_a) { | ||
if (settings.algorithm.toLowerCase().indexOf('gcm') != -1) { | ||
gcmCipher = crypto_1.default.createCipheriv(settings.algorithm, Buffer.from(settings.key, 'base64'), Buffer.from(settings.iv, 'base64'), { | ||
authTagLength: 16 | ||
}); | ||
cipherBuffer = Buffer.concat([gcmCipher.update(json, 'utf-8'), gcmCipher.final(), gcmCipher.getAuthTag()]); | ||
return [2 /*return*/, Promise.resolve(cipherBuffer.toString('base64'))]; | ||
} | ||
else { | ||
cipher = crypto_1.default.createCipheriv(settings.algorithm, Buffer.from(settings.key, 'base64'), Buffer.from(settings.iv, 'base64')); | ||
cipherBuffer = Buffer.concat([cipher.update(json, 'utf-8'), cipher.final()]); | ||
return [2 /*return*/, Promise.resolve(cipherBuffer.toString('base64'))]; | ||
} | ||
return [2 /*return*/]; | ||
static async encrypt(json, settings) { | ||
if (settings.algorithm.toLowerCase().indexOf('gcm') != -1) { | ||
const gcmCipher = crypto_1.default.createCipheriv(settings.algorithm, Buffer.from(settings.key, 'base64'), Buffer.from(settings.iv, 'base64'), { | ||
authTagLength: 16 | ||
}); | ||
}); | ||
}; | ||
const cipherBuffer = Buffer.concat([gcmCipher.update(json, 'utf-8'), gcmCipher.final(), gcmCipher.getAuthTag()]); | ||
return Promise.resolve(cipherBuffer.toString('base64')); | ||
} | ||
else { | ||
const cipher = crypto_1.default.createCipheriv(settings.algorithm, Buffer.from(settings.key, 'base64'), Buffer.from(settings.iv, 'base64')); | ||
const cipherBuffer = Buffer.concat([cipher.update(json, 'utf-8'), cipher.final()]); | ||
return Promise.resolve(cipherBuffer.toString('base64')); | ||
} | ||
} | ||
/** | ||
@@ -243,26 +186,20 @@ * | ||
*/ | ||
BaseEmitter.decrypt = function (base64CipherText, settings) { | ||
return __awaiter(this, void 0, void 0, function () { | ||
var gcmCipher, buffer, authTag, cipher, plainText, decipher, plainText; | ||
return __generator(this, function (_a) { | ||
if (settings.algorithm.toLowerCase().indexOf('gcm') != -1) { | ||
gcmCipher = crypto_1.default.createDecipheriv(settings.algorithm, Buffer.from(settings.key, 'base64'), Buffer.from(settings.iv, 'base64')); | ||
buffer = Buffer.from(base64CipherText, 'base64'); | ||
authTag = buffer.slice(buffer.length - 16); | ||
cipher = buffer.slice(0, buffer.length - 16); | ||
gcmCipher.setAuthTag(authTag); | ||
plainText = gcmCipher.update(cipher, undefined, 'utf-8'); | ||
plainText += gcmCipher.final('utf-8'); | ||
return [2 /*return*/, Promise.resolve(plainText)]; | ||
} | ||
else { | ||
decipher = crypto_1.default.createDecipheriv(settings.algorithm, Buffer.from(settings.key, 'base64'), Buffer.from(settings.iv, 'base64')); | ||
plainText = decipher.update(base64CipherText, 'base64', 'utf-8'); | ||
plainText += decipher.final('utf-8'); | ||
return [2 /*return*/, Promise.resolve(plainText)]; | ||
} | ||
return [2 /*return*/]; | ||
}); | ||
}); | ||
}; | ||
static async decrypt(base64CipherText, settings) { | ||
if (settings.algorithm.toLowerCase().indexOf('gcm') != -1) { | ||
const gcmCipher = crypto_1.default.createDecipheriv(settings.algorithm, Buffer.from(settings.key, 'base64'), Buffer.from(settings.iv, 'base64')); | ||
const buffer = Buffer.from(base64CipherText, 'base64'); | ||
const authTag = buffer.slice(buffer.length - 16); | ||
const cipher = buffer.slice(0, buffer.length - 16); | ||
gcmCipher.setAuthTag(authTag); | ||
let plainText = gcmCipher.update(cipher, undefined, 'utf-8'); | ||
plainText += gcmCipher.final('utf-8'); | ||
return Promise.resolve(plainText); | ||
} | ||
else { | ||
const decipher = crypto_1.default.createDecipheriv(settings.algorithm, Buffer.from(settings.key, 'base64'), Buffer.from(settings.iv, 'base64')); | ||
let plainText = decipher.update(base64CipherText, 'base64', 'utf-8'); | ||
plainText += decipher.final('utf-8'); | ||
return Promise.resolve(plainText); | ||
} | ||
} | ||
/** | ||
@@ -272,3 +209,3 @@ * Control serialized properties when JSON.stringify is called | ||
*/ | ||
BaseEmitter.prototype.toJSON = function () { | ||
toJSON() { | ||
return { | ||
@@ -279,3 +216,3 @@ name: this.name, | ||
}; | ||
}; | ||
} | ||
/** | ||
@@ -285,8 +222,8 @@ * | ||
*/ | ||
BaseEmitter.prototype.notifyDataListeners = function (evt) { | ||
notifyDataListeners(evt) { | ||
this.log(loggerFacade_1.LogLevel.TRACE, "Notifying data listeners"); | ||
this._dataListeners.forEach(function (listener) { | ||
this._dataListeners.forEach((listener) => { | ||
listener.onData(evt); | ||
}); | ||
}; | ||
} | ||
/** | ||
@@ -297,4 +234,3 @@ * | ||
*/ | ||
BaseEmitter.prototype.onData = function (listener) { | ||
var _this = this; | ||
onData(listener) { | ||
this.log(loggerFacade_1.LogLevel.DEBUG, "adding data listener"); | ||
@@ -308,8 +244,8 @@ if (typeof listener == 'function') | ||
*/ | ||
dispose: function () { | ||
_this.log(loggerFacade_1.LogLevel.DEBUG, "Removing data listener"); | ||
_this._dataListeners.delete(listener); | ||
dispose: () => { | ||
this.log(loggerFacade_1.LogLevel.DEBUG, "Removing data listener"); | ||
this._dataListeners.delete(listener); | ||
} | ||
}; | ||
}; | ||
} | ||
/** | ||
@@ -319,8 +255,8 @@ * | ||
*/ | ||
BaseEmitter.prototype.notifyStatusListeners = function (evt) { | ||
this.log(loggerFacade_1.LogLevel.DEBUG, "Notifying " + this._statusListeners.size + " listeners of a status change"); | ||
this._statusListeners.forEach(function (listener) { | ||
notifyStatusListeners(evt) { | ||
this.log(loggerFacade_1.LogLevel.DEBUG, `Notifying ${this._statusListeners.size} listeners of a status change`); | ||
this._statusListeners.forEach((listener) => { | ||
listener.onStatus(evt); | ||
}); | ||
}; | ||
} | ||
/** | ||
@@ -330,5 +266,5 @@ * | ||
*/ | ||
BaseEmitter.prototype.setName = function (name) { | ||
setName(name) { | ||
this._name = name; | ||
}; | ||
} | ||
/** | ||
@@ -338,5 +274,5 @@ * | ||
*/ | ||
BaseEmitter.prototype.setDescription = function (description) { | ||
setDescription(description) { | ||
this._description = description; | ||
}; | ||
} | ||
/** | ||
@@ -346,5 +282,5 @@ * Set the unique identifier for the emitter | ||
*/ | ||
BaseEmitter.prototype.setId = function (id) { | ||
setId(id) { | ||
this._id = id; | ||
}; | ||
} | ||
/** | ||
@@ -356,7 +292,7 @@ * Takes a simple function listener parameter and turns it into the listener interface | ||
*/ | ||
BaseEmitter.prototype.wrapStatusListener = function (listener) { | ||
wrapStatusListener(listener) { | ||
return { | ||
onStatus: listener | ||
}; | ||
}; | ||
} | ||
/** | ||
@@ -367,7 +303,7 @@ * Wrap a data listener function into a {IDataEventListener} | ||
*/ | ||
BaseEmitter.prototype.wrapDataListener = function (listener) { | ||
wrapDataListener(listener) { | ||
return { | ||
onData: listener | ||
}; | ||
}; | ||
} | ||
/** | ||
@@ -378,4 +314,3 @@ * | ||
*/ | ||
BaseEmitter.prototype.onStatus = function (listener) { | ||
var _this = this; | ||
onStatus(listener) { | ||
this.log(loggerFacade_1.LogLevel.DEBUG, "Adding status listener"); | ||
@@ -386,12 +321,12 @@ if (typeof listener == 'function') | ||
return { | ||
dispose: function () { | ||
_this.log(loggerFacade_1.LogLevel.DEBUG, "Removing status listener"); | ||
_this._statusListeners.delete(listener); | ||
dispose: () => { | ||
this.log(loggerFacade_1.LogLevel.DEBUG, "Removing status listener"); | ||
this._statusListeners.delete(listener); | ||
} | ||
}; | ||
}; | ||
} | ||
/** | ||
* Clear any faults and notify listeners of change if change | ||
*/ | ||
BaseEmitter.prototype.clearIfFaulted = function () { | ||
clearIfFaulted() { | ||
if (this._faulted) { | ||
@@ -401,7 +336,7 @@ this._faulted = false; | ||
} | ||
}; | ||
} | ||
/** | ||
* faulted | ||
*/ | ||
BaseEmitter.prototype.faulted = function () { | ||
faulted() { | ||
if (!this._faulted) { | ||
@@ -411,7 +346,7 @@ this._faulted = true; | ||
} | ||
}; | ||
} | ||
/** | ||
* connected | ||
*/ | ||
BaseEmitter.prototype.connected = function () { | ||
connected() { | ||
if (!this._connected) { | ||
@@ -421,7 +356,7 @@ this._connected = true; | ||
} | ||
}; | ||
} | ||
/** | ||
* disconnected | ||
*/ | ||
BaseEmitter.prototype.disconnected = function () { | ||
disconnected() { | ||
if (this._connected) { | ||
@@ -431,3 +366,3 @@ this._connected = false; | ||
} | ||
}; | ||
} | ||
/** | ||
@@ -437,5 +372,5 @@ * build a status event | ||
*/ | ||
BaseEmitter.prototype.buildStatusEvent = function () { | ||
buildStatusEvent() { | ||
return new BaseStatusEvent(this._connected, this._faulted); | ||
}; | ||
} | ||
/** | ||
@@ -446,5 +381,5 @@ * build a data event | ||
*/ | ||
BaseEmitter.prototype.buildDataEvent = function (data) { | ||
buildDataEvent(data) { | ||
return new BaseDataEvent(this, data, this.getMetaData()); | ||
}; | ||
} | ||
/** | ||
@@ -456,4 +391,4 @@ * Sets how frequently the dc check is executed | ||
*/ | ||
BaseEmitter.prototype.setDCCheckInterval = function (checkInterval, threshold) { | ||
this.log(loggerFacade_1.LogLevel.DEBUG, "setting the d/c check interval to " + checkInterval + "ms with a threshold of " + threshold + "ms"); | ||
setDCCheckInterval(checkInterval, threshold) { | ||
this.log(loggerFacade_1.LogLevel.DEBUG, `setting the d/c check interval to ${checkInterval}ms with a threshold of ${threshold}ms`); | ||
if (this._dcInterval != null) | ||
@@ -464,3 +399,3 @@ clearInterval(this._dcInterval); | ||
this._dcInterval = setInterval(this.dcHandler.bind(this), this._dcIntervalms); | ||
}; | ||
} | ||
/** | ||
@@ -470,5 +405,4 @@ * Execute logic to detect disconnections and notify listeners | ||
*/ | ||
BaseEmitter.prototype.dcHandler = function () { | ||
var _a; | ||
(_a = this._logger) === null || _a === void 0 ? void 0 : _a.debug('checking if emitter is disconnected'); | ||
dcHandler() { | ||
this._logger?.debug('checking if emitter is disconnected'); | ||
if (this._dcLastHeardTime == null) { | ||
@@ -479,10 +413,10 @@ this.log(loggerFacade_1.LogLevel.DEBUG, 'no message from emitter yet, marking disconnected'); | ||
} | ||
var now = new Date(); | ||
var last = this._dcLastHeardTime; | ||
var delta = now.getMilliseconds() - last.getMilliseconds(); | ||
const now = new Date(); | ||
const last = this._dcLastHeardTime; | ||
const delta = now.getMilliseconds() - last.getMilliseconds(); | ||
if (delta > this._dcThresholdMs) { | ||
this.log(loggerFacade_1.LogLevel.DEBUG, "it has been " + delta + "ms since we last heard from emitter, marking disconnected"); | ||
this.log(loggerFacade_1.LogLevel.DEBUG, `it has been ${delta}ms since we last heard from emitter, marking disconnected`); | ||
this.disconnected(); | ||
} | ||
}; | ||
} | ||
/** | ||
@@ -495,3 +429,3 @@ * Apply settings to the emitter, this could be emitter settings | ||
*/ | ||
BaseEmitter.prototype.applySettings = function (settings) { | ||
applySettings(settings) { | ||
this.log(loggerFacade_1.LogLevel.DEBUG, "Applying Settings"); | ||
@@ -505,3 +439,3 @@ this.setName(settings.name); | ||
}); | ||
}; | ||
} | ||
/** | ||
@@ -512,5 +446,5 @@ * Prefix a log message with information about the emitter | ||
*/ | ||
BaseEmitter.prototype.prefixLogMessage = function (msg) { | ||
return this.getType() + "|" + this.name + "|" + this.id + "| " + msg; | ||
}; | ||
prefixLogMessage(msg) { | ||
return `${this.getType()}|${this.name}|${this.id}| ${msg}`; | ||
} | ||
/** | ||
@@ -522,3 +456,3 @@ * Log information | ||
*/ | ||
BaseEmitter.prototype.log = function (level, msg) { | ||
log(level, msg) { | ||
if (this._logger != null) { | ||
@@ -540,3 +474,3 @@ switch (level) { | ||
} | ||
}; | ||
} | ||
/** | ||
@@ -546,3 +480,3 @@ * Gets the emitter description which is used to recreate the emitter | ||
*/ | ||
BaseEmitter.prototype.getEmitterDescription = function () { | ||
getEmitterDescription() { | ||
return { | ||
@@ -555,3 +489,3 @@ type: this.getType(), | ||
}; | ||
}; | ||
} | ||
/** | ||
@@ -561,5 +495,5 @@ * | ||
*/ | ||
BaseEmitter.prototype.getEmitterProperties = function () { | ||
getEmitterProperties() { | ||
return {}; | ||
}; | ||
} | ||
/** | ||
@@ -570,23 +504,13 @@ * | ||
*/ | ||
BaseEmitter.recreateEmitter = function (stateData, settings) { | ||
return __awaiter(this, void 0, void 0, function () { | ||
var description, emitterDescription; | ||
return __generator(this, function (_a) { | ||
switch (_a.label) { | ||
case 0: | ||
if (!settings.encrypted) return [3 /*break*/, 2]; | ||
return [4 /*yield*/, BaseEmitter.decrypt(stateData, settings)]; | ||
case 1: | ||
description = _a.sent(); | ||
return [3 /*break*/, 3]; | ||
case 2: | ||
description = stateData; | ||
_a.label = 3; | ||
case 3: | ||
emitterDescription = JSON.parse(description); | ||
return [2 /*return*/, provider_1.ProviderSingleton.getInstance().buildEmitter(emitterDescription)]; | ||
} | ||
}); | ||
}); | ||
}; | ||
static async recreateEmitter(stateData, settings) { | ||
let description; | ||
if (settings.encrypted) { | ||
description = await BaseEmitter.decrypt(stateData, settings); | ||
} | ||
else { | ||
description = stateData; | ||
} | ||
const emitterDescription = JSON.parse(description); | ||
return provider_1.ProviderSingleton.getInstance().buildEmitter(emitterDescription); | ||
} | ||
/** | ||
@@ -596,3 +520,3 @@ * Cleanup any resources/timers managed by the | ||
*/ | ||
BaseEmitter.prototype.dispose = function () { | ||
dispose() { | ||
this.log(loggerFacade_1.LogLevel.DEBUG, "Disposing"); | ||
@@ -602,6 +526,5 @@ if (this._dcInterval != null) | ||
this._dcInterval = undefined; | ||
}; | ||
return BaseEmitter; | ||
}()); | ||
} | ||
} | ||
exports.BaseEmitter = BaseEmitter; | ||
//# sourceMappingURL=baseEmitter.js.map |
@@ -14,3 +14,3 @@ "use strict"; | ||
if (typeof obj == 'object') { | ||
var val = obj; | ||
const val = obj; | ||
return typeof val[methodName] == 'function'; | ||
@@ -48,3 +48,3 @@ } | ||
if (typeof obj == 'object') { | ||
var val = obj; | ||
const val = obj; | ||
return typeof val.toJSON == 'function'; | ||
@@ -51,0 +51,0 @@ } |
"use strict"; | ||
var __extends = (this && this.__extends) || (function () { | ||
var extendStatics = function (d, b) { | ||
extendStatics = Object.setPrototypeOf || | ||
({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) || | ||
function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; }; | ||
return extendStatics(d, b); | ||
}; | ||
return function (d, b) { | ||
if (typeof b !== "function" && b !== null) | ||
throw new TypeError("Class extends value " + String(b) + " is not a constructor or null"); | ||
extendStatics(d, b); | ||
function __() { this.constructor = d; } | ||
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __()); | ||
}; | ||
})(); | ||
Object.defineProperty(exports, "__esModule", { value: true }); | ||
exports.BaseChroniclerFactory = exports.BaseEmitterFactory = exports.BaseFactory = void 0; | ||
var baseEmitter_1 = require("./baseEmitter"); | ||
const baseEmitter_1 = require("./baseEmitter"); | ||
/** | ||
* | ||
*/ | ||
var BaseFactory = /** @class */ (function () { | ||
function BaseFactory() { | ||
} | ||
class BaseFactory { | ||
/** | ||
@@ -30,7 +13,6 @@ * | ||
*/ | ||
BaseFactory.prototype.setLoggerFacade = function (loggerFacade) { | ||
setLoggerFacade(loggerFacade) { | ||
this.loggerFacade = loggerFacade; | ||
}; | ||
return BaseFactory; | ||
}()); | ||
} | ||
} | ||
exports.BaseFactory = BaseFactory; | ||
@@ -40,7 +22,3 @@ /** | ||
*/ | ||
var BaseEmitterFactory = /** @class */ (function (_super) { | ||
__extends(BaseEmitterFactory, _super); | ||
function BaseEmitterFactory() { | ||
return _super !== null && _super.apply(this, arguments) || this; | ||
} | ||
class BaseEmitterFactory extends BaseFactory { | ||
/** | ||
@@ -52,7 +30,6 @@ * | ||
*/ | ||
BaseEmitterFactory.prototype.recreateEmitter = function (base64StateData, formatSettings) { | ||
recreateEmitter(base64StateData, formatSettings) { | ||
return baseEmitter_1.BaseEmitter.recreateEmitter(base64StateData, formatSettings); | ||
}; | ||
return BaseEmitterFactory; | ||
}(BaseFactory)); | ||
} | ||
} | ||
exports.BaseEmitterFactory = BaseEmitterFactory; | ||
@@ -62,10 +39,5 @@ /** | ||
*/ | ||
var BaseChroniclerFactory = /** @class */ (function (_super) { | ||
__extends(BaseChroniclerFactory, _super); | ||
function BaseChroniclerFactory() { | ||
return _super !== null && _super.apply(this, arguments) || this; | ||
} | ||
return BaseChroniclerFactory; | ||
}(BaseFactory)); | ||
class BaseChroniclerFactory extends BaseFactory { | ||
} | ||
exports.BaseChroniclerFactory = BaseChroniclerFactory; | ||
//# sourceMappingURL=factory.js.map |
@@ -1,2 +0,2 @@ | ||
export { IDataEmitter, ICompoundDataEmitter, ICommand, IDataEvent, IExecutionResult, ISettings, ITraceableAction, IEmitterFactory, IDisposableAsync, IEmitterProvider, IChroniclerFactory, IChroniclerProvider, IEmitterDescription, IChroniclerDescription, IFormatSettings, isJsonSerializable, isDisposable, isDisposableAsync, hasMethod } from './dataEmitter'; | ||
export { IDataEmitter, ICompoundDataEmitter, ICommand, IDataEvent, IExecutionResult, ISettings, ITraceableAction, IEmitterFactory, IDisposableAsync, IDisposable, IClassifier, IDataEventListener, IDataEventListenerFunc, IStatusChangeListener, IStatusChangeListenerFunc, IStatusEvent, IEmitterProvider, IChroniclerFactory, IChroniclerProvider, IEmitterDescription, IChroniclerDescription, IFormatSettings, isJsonSerializable, isDisposable, isDisposableAsync, hasMethod } from './dataEmitter'; | ||
export { BaseEmitter, BaseStatusEvent, BaseDataEvent } from './baseEmitter'; | ||
@@ -3,0 +3,0 @@ export { PollingEmitter, DeltaPollingEmitter } from './pollingEmitter'; |
@@ -1,2 +0,2 @@ | ||
import { IDataEmitter, IDisposable } from "./dataEmitter"; | ||
import { IClassifier, IDataEmitter, IDisposable } from "./dataEmitter"; | ||
import { IChronicler } from "./chronicler"; | ||
@@ -72,3 +72,3 @@ /** | ||
*/ | ||
export interface IMaestro extends IEmitterMaestro, IChroniclerMaestro { | ||
export interface IMaestro extends IEmitterMaestro, IChroniclerMaestro, IClassifier { | ||
/** | ||
@@ -75,0 +75,0 @@ * connect the collection of emitters to the collection of chroniclers, |
@@ -13,3 +13,3 @@ "use strict"; | ||
if (typeof obj == 'object') { | ||
var castedObj = obj; | ||
const castedObj = obj; | ||
return typeof castedObj.stop == 'function' && typeof castedObj.start == 'function'; | ||
@@ -16,0 +16,0 @@ } |
@@ -0,1 +1,2 @@ | ||
/// <reference types="node" /> | ||
import { BaseEmitter } from "./baseEmitter"; | ||
@@ -2,0 +3,0 @@ import { IDataEvent, IExecutionResult, ISettings, IStatusEvent, ITraceableAction } from "./dataEmitter"; |
"use strict"; | ||
var __extends = (this && this.__extends) || (function () { | ||
var extendStatics = function (d, b) { | ||
extendStatics = Object.setPrototypeOf || | ||
({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) || | ||
function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; }; | ||
return extendStatics(d, b); | ||
}; | ||
return function (d, b) { | ||
if (typeof b !== "function" && b !== null) | ||
throw new TypeError("Class extends value " + String(b) + " is not a constructor or null"); | ||
extendStatics(d, b); | ||
function __() { this.constructor = d; } | ||
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __()); | ||
}; | ||
})(); | ||
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { | ||
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } | ||
return new (P || (P = Promise))(function (resolve, reject) { | ||
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } | ||
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } | ||
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } | ||
step((generator = generator.apply(thisArg, _arguments || [])).next()); | ||
}); | ||
}; | ||
var __generator = (this && this.__generator) || function (thisArg, body) { | ||
var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g; | ||
return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g; | ||
function verb(n) { return function (v) { return step([n, v]); }; } | ||
function step(op) { | ||
if (f) throw new TypeError("Generator is already executing."); | ||
while (_) try { | ||
if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t; | ||
if (y = 0, t) op = [op[0] & 2, t.value]; | ||
switch (op[0]) { | ||
case 0: case 1: t = op; break; | ||
case 4: _.label++; return { value: op[1], done: false }; | ||
case 5: _.label++; y = op[1]; op = [0]; continue; | ||
case 7: op = _.ops.pop(); _.trys.pop(); continue; | ||
default: | ||
if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; } | ||
if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; } | ||
if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; } | ||
if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; } | ||
if (t[2]) _.ops.pop(); | ||
_.trys.pop(); continue; | ||
} | ||
op = body.call(thisArg, _); | ||
} catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; } | ||
if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true }; | ||
} | ||
}; | ||
Object.defineProperty(exports, "__esModule", { value: true }); | ||
exports.DeltaPollingEmitter = exports.PollingEmitter = void 0; | ||
var baseEmitter_1 = require("./baseEmitter"); | ||
var loggerFacade_1 = require("./loggerFacade"); | ||
const baseEmitter_1 = require("./baseEmitter"); | ||
const loggerFacade_1 = require("./loggerFacade"); | ||
/** | ||
@@ -61,4 +10,3 @@ * A base class that handles the scheduling of a polled fetch | ||
*/ | ||
var PollingEmitter = /** @class */ (function (_super) { | ||
__extends(PollingEmitter, _super); | ||
class PollingEmitter extends baseEmitter_1.BaseEmitter { | ||
/** | ||
@@ -72,8 +20,6 @@ * | ||
*/ | ||
function PollingEmitter(id, name, desc, _interval, logger) { | ||
if (logger === void 0) { logger = undefined; } | ||
var _this = _super.call(this, id, name, desc, logger) || this; | ||
_this._interval = _interval; | ||
_this.log(loggerFacade_1.LogLevel.DEBUG, "Creating PollingEmitter"); | ||
return _this; | ||
constructor(id, name, desc, _interval, logger = undefined) { | ||
super(id, name, desc, logger); | ||
this._interval = _interval; | ||
this.log(loggerFacade_1.LogLevel.DEBUG, "Creating PollingEmitter"); | ||
} | ||
@@ -84,28 +30,27 @@ /** | ||
*/ | ||
PollingEmitter.prototype.pollExecutor = function () { | ||
var _this = this; | ||
this.log(loggerFacade_1.LogLevel.DEBUG, "polling data source"); | ||
return this.poll().then(function (res) { | ||
_this.log(loggerFacade_1.LogLevel.DEBUG, "finished polling data source, result = " + res); | ||
_this.connected(); | ||
_this.clearIfFaulted(); | ||
_this._lastDataEvent = _this.buildDataEvent(res); | ||
_this.notifyDataListeners(_this._lastDataEvent); | ||
}).catch(function (err) { | ||
_this.log(loggerFacade_1.LogLevel.ERROR, "Error while polling data source, error = " + err); | ||
_this.faulted(); | ||
pollExecutor() { | ||
this.log(loggerFacade_1.LogLevel.DEBUG, `polling data source`); | ||
return this.poll().then((res) => { | ||
this.log(loggerFacade_1.LogLevel.DEBUG, `finished polling data source, result = ${res}`); | ||
this.connected(); | ||
this.clearIfFaulted(); | ||
this._lastDataEvent = this.buildDataEvent(res); | ||
this.notifyDataListeners(this._lastDataEvent); | ||
}).catch((err) => { | ||
this.log(loggerFacade_1.LogLevel.ERROR, `Error while polling data source, error = ${err}`); | ||
this.faulted(); | ||
}); | ||
}; | ||
} | ||
/** | ||
* Start polling | ||
*/ | ||
PollingEmitter.prototype.startPolling = function () { | ||
startPolling() { | ||
this.log(loggerFacade_1.LogLevel.DEBUG, "Starting Polling"); | ||
this.stopPolling(); | ||
this._intervalTimer = setInterval(this.pollExecutor.bind(this), this._interval); | ||
}; | ||
} | ||
/** | ||
* Stop polling | ||
*/ | ||
PollingEmitter.prototype.stopPolling = function () { | ||
stopPolling() { | ||
if (this._intervalTimer != null) { | ||
@@ -116,3 +61,3 @@ this.log(loggerFacade_1.LogLevel.DEBUG, "Stopping Polling"); | ||
this._intervalTimer = undefined; | ||
}; | ||
} | ||
/** | ||
@@ -122,6 +67,6 @@ * Start polling | ||
*/ | ||
PollingEmitter.prototype.start = function () { | ||
start() { | ||
this.startPolling(); | ||
return Promise.resolve(); | ||
}; | ||
} | ||
/** | ||
@@ -131,6 +76,6 @@ * Stop Polling | ||
*/ | ||
PollingEmitter.prototype.stop = function () { | ||
stop() { | ||
this.stopPolling(); | ||
return Promise.resolve(); | ||
}; | ||
} | ||
/** | ||
@@ -140,3 +85,3 @@ * probe current data | ||
*/ | ||
PollingEmitter.prototype.probeCurrentData = function () { | ||
probeCurrentData() { | ||
this.log(loggerFacade_1.LogLevel.DEBUG, "Probe current data"); | ||
@@ -146,3 +91,3 @@ if (this._lastDataEvent) | ||
return Promise.resolve(this.buildDataEvent(null)); | ||
}; | ||
} | ||
/** | ||
@@ -152,3 +97,3 @@ * probe the status | ||
*/ | ||
PollingEmitter.prototype.probeStatus = function () { | ||
probeStatus() { | ||
this.log(loggerFacade_1.LogLevel.DEBUG, "Probe current status"); | ||
@@ -158,3 +103,3 @@ if (this._lastStatusEvent) | ||
return Promise.resolve(this.buildStatusEvent()); | ||
}; | ||
} | ||
/** | ||
@@ -165,35 +110,24 @@ * set settings | ||
*/ | ||
PollingEmitter.prototype.applySettings = function (settings) { | ||
return __awaiter(this, void 0, void 0, function () { | ||
var result; | ||
return __generator(this, function (_a) { | ||
switch (_a.label) { | ||
case 0: | ||
this.log(loggerFacade_1.LogLevel.DEBUG, "Applying Settings"); | ||
return [4 /*yield*/, _super.prototype.applySettings.call(this, settings)]; | ||
case 1: | ||
result = _a.sent(); | ||
if (!result.success) | ||
return [2 /*return*/, result]; | ||
this._interval = settings.interval; | ||
this.startPolling(); | ||
return [2 /*return*/, Promise.resolve({ | ||
actionId: settings.actionId, | ||
success: true | ||
})]; | ||
} | ||
}); | ||
async applySettings(settings) { | ||
this.log(loggerFacade_1.LogLevel.DEBUG, "Applying Settings"); | ||
const result = await super.applySettings(settings); | ||
if (!result.success) | ||
return result; | ||
this._interval = settings.interval; | ||
this.startPolling(); | ||
return Promise.resolve({ | ||
actionId: settings.actionId, | ||
success: true | ||
}); | ||
}; | ||
} | ||
/** | ||
* Clean up timers used for polling | ||
*/ | ||
PollingEmitter.prototype.dispose = function () { | ||
dispose() { | ||
this.log(loggerFacade_1.LogLevel.DEBUG, "Disposing"); | ||
_super.prototype.dispose.call(this); | ||
super.dispose(); | ||
if (this._intervalTimer != null) | ||
clearInterval(this._intervalTimer); | ||
}; | ||
return PollingEmitter; | ||
}(baseEmitter_1.BaseEmitter)); | ||
} | ||
} | ||
exports.PollingEmitter = PollingEmitter; | ||
@@ -204,7 +138,3 @@ /** | ||
*/ | ||
var DeltaPollingEmitter = /** @class */ (function (_super) { | ||
__extends(DeltaPollingEmitter, _super); | ||
function DeltaPollingEmitter() { | ||
return _super !== null && _super.apply(this, arguments) || this; | ||
} | ||
class DeltaPollingEmitter extends PollingEmitter { | ||
/** | ||
@@ -214,26 +144,24 @@ * Execute the poll and emit the result if there has been a change | ||
*/ | ||
DeltaPollingEmitter.prototype.pollExecutor = function () { | ||
var _this = this; | ||
pollExecutor() { | ||
this.log(loggerFacade_1.LogLevel.DEBUG, "Polling"); | ||
return this.poll().then(function (res) { | ||
_this.log(loggerFacade_1.LogLevel.DEBUG, "Retrieved result from data source"); | ||
_this.connected(); | ||
_this.clearIfFaulted(); | ||
var dataEvt = _this.buildDataEvent(res); | ||
if (_this.hasChanged(dataEvt)) { | ||
_this.log(loggerFacade_1.LogLevel.DEBUG, "Publishing event"); | ||
_this._lastDataEvent = dataEvt; | ||
_this.notifyDataListeners(_this._lastDataEvent); | ||
return this.poll().then((res) => { | ||
this.log(loggerFacade_1.LogLevel.DEBUG, "Retrieved result from data source"); | ||
this.connected(); | ||
this.clearIfFaulted(); | ||
const dataEvt = this.buildDataEvent(res); | ||
if (this.hasChanged(dataEvt)) { | ||
this.log(loggerFacade_1.LogLevel.DEBUG, "Publishing event"); | ||
this._lastDataEvent = dataEvt; | ||
this.notifyDataListeners(this._lastDataEvent); | ||
} | ||
else { | ||
_this.log(loggerFacade_1.LogLevel.DEBUG, "Data has not changed"); | ||
this.log(loggerFacade_1.LogLevel.DEBUG, "Data has not changed"); | ||
} | ||
}).catch(function (err) { | ||
_this.log(loggerFacade_1.LogLevel.ERROR, "Error while fetching data " + err); | ||
_this.faulted(); | ||
}).catch((err) => { | ||
this.log(loggerFacade_1.LogLevel.ERROR, `Error while fetching data ${err}`); | ||
this.faulted(); | ||
}); | ||
}; | ||
return DeltaPollingEmitter; | ||
}(PollingEmitter)); | ||
} | ||
} | ||
exports.DeltaPollingEmitter = DeltaPollingEmitter; | ||
//# sourceMappingURL=pollingEmitter.js.map |
@@ -10,4 +10,4 @@ "use strict"; | ||
*/ | ||
var Provider = /** @class */ (function () { | ||
function Provider() { | ||
class Provider { | ||
constructor() { | ||
this._emitterFactories = new Map(); | ||
@@ -21,5 +21,5 @@ this._chroncilerFactories = new Map(); | ||
*/ | ||
Provider.prototype.registerEmitterFactory = function (type, factory) { | ||
registerEmitterFactory(type, factory) { | ||
this._emitterFactories.set(type.toLowerCase(), factory); | ||
}; | ||
} | ||
/** | ||
@@ -30,5 +30,5 @@ * | ||
*/ | ||
Provider.prototype.buildEmitter = function (description) { | ||
var key = description.type.toLowerCase(); | ||
var factory = this._emitterFactories.get(key); | ||
buildEmitter(description) { | ||
const key = description.type.toLowerCase(); | ||
const factory = this._emitterFactories.get(key); | ||
if (factory != null) { | ||
@@ -38,5 +38,5 @@ return factory.buildEmitter(description); | ||
else { | ||
return Promise.reject(new Error("No emitter factory available for " + key)); | ||
return Promise.reject(new Error(`No emitter factory available for ${key}`)); | ||
} | ||
}; | ||
} | ||
/** | ||
@@ -48,5 +48,5 @@ * | ||
*/ | ||
Provider.prototype.recreateEmitter = function (base64StateData, formatSettings) { | ||
var key = formatSettings.type.toLowerCase(); | ||
var factory = this._emitterFactories.get(key); | ||
recreateEmitter(base64StateData, formatSettings) { | ||
const key = formatSettings.type.toLowerCase(); | ||
const factory = this._emitterFactories.get(key); | ||
if (factory != null) { | ||
@@ -56,5 +56,5 @@ return Promise.resolve(factory.recreateEmitter(base64StateData, formatSettings)); | ||
else { | ||
return Promise.reject(new Error("No emitter factory found for " + key)); | ||
return Promise.reject(new Error(`No emitter factory found for ${key}`)); | ||
} | ||
}; | ||
} | ||
/** | ||
@@ -65,5 +65,5 @@ * | ||
*/ | ||
Provider.prototype.registerChroniclerFactory = function (type, factory) { | ||
registerChroniclerFactory(type, factory) { | ||
this._chroncilerFactories.set(type.toLowerCase(), factory); | ||
}; | ||
} | ||
/** | ||
@@ -74,5 +74,5 @@ * | ||
*/ | ||
Provider.prototype.buildChronicler = function (description) { | ||
var key = description.type.toLowerCase(); | ||
var factory = this._chroncilerFactories.get(key); | ||
buildChronicler(description) { | ||
const key = description.type.toLowerCase(); | ||
const factory = this._chroncilerFactories.get(key); | ||
if (factory != null) { | ||
@@ -82,5 +82,5 @@ return factory.buildChronicler(description); | ||
else { | ||
return Promise.reject(new Error("No chronicler factory available for " + key)); | ||
return Promise.reject(new Error(`No chronicler factory available for ${key}`)); | ||
} | ||
}; | ||
} | ||
/** | ||
@@ -90,7 +90,7 @@ * | ||
*/ | ||
Provider.prototype.removeChroniclerFactory = function (type) { | ||
var key = type.toLowerCase(); | ||
removeChroniclerFactory(type) { | ||
const key = type.toLowerCase(); | ||
if (this._chroncilerFactories.has(key)) | ||
this._chroncilerFactories.delete(key); | ||
}; | ||
} | ||
/** | ||
@@ -101,5 +101,5 @@ * | ||
*/ | ||
Provider.prototype.hasChroniclerFactory = function (type) { | ||
hasChroniclerFactory(type) { | ||
return this._chroncilerFactories.has(type.toLowerCase()); | ||
}; | ||
} | ||
/** | ||
@@ -109,5 +109,5 @@ * | ||
*/ | ||
Provider.prototype.getChroniclerFactoryTypes = function () { | ||
getChroniclerFactoryTypes() { | ||
return Array.from(this._chroncilerFactories.keys()); | ||
}; | ||
} | ||
/** | ||
@@ -117,7 +117,7 @@ * | ||
*/ | ||
Provider.prototype.removeEmitterFactory = function (type) { | ||
var key = type.toLowerCase(); | ||
removeEmitterFactory(type) { | ||
const key = type.toLowerCase(); | ||
if (this._emitterFactories.has(key)) | ||
this._emitterFactories.delete(key); | ||
}; | ||
} | ||
/** | ||
@@ -128,5 +128,5 @@ * | ||
*/ | ||
Provider.prototype.hasEmitterFactory = function (type) { | ||
hasEmitterFactory(type) { | ||
return this._emitterFactories.has(type.toLowerCase()); | ||
}; | ||
} | ||
/** | ||
@@ -136,5 +136,5 @@ * | ||
*/ | ||
Provider.prototype.getEmitterFactoryTypes = function () { | ||
getEmitterFactoryTypes() { | ||
return Array.from(this._emitterFactories.keys()); | ||
}; | ||
} | ||
/** | ||
@@ -144,19 +144,18 @@ * | ||
*/ | ||
Provider.prototype.setLoggerFacade = function (loggerFacade) { | ||
this._emitterFactories.forEach(function (val) { | ||
setLoggerFacade(loggerFacade) { | ||
this._emitterFactories.forEach((val) => { | ||
val.setLoggerFacade(loggerFacade); | ||
}); | ||
this._chroncilerFactories.forEach(function (val) { | ||
this._chroncilerFactories.forEach((val) => { | ||
val.setLoggerFacade(loggerFacade); | ||
}); | ||
}; | ||
return Provider; | ||
}()); | ||
var provider = new Provider(); | ||
} | ||
} | ||
const provider = new Provider(); | ||
/** | ||
* Get the provider instance | ||
*/ | ||
var ProviderSingleton = /** @class */ (function () { | ||
class ProviderSingleton { | ||
// eslint-disable-next-line require-jsdoc, @typescript-eslint/no-empty-function | ||
function ProviderSingleton() { | ||
constructor() { | ||
// This is intentional | ||
@@ -168,8 +167,7 @@ } | ||
*/ | ||
ProviderSingleton.getInstance = function () { | ||
static getInstance() { | ||
return provider; | ||
}; | ||
return ProviderSingleton; | ||
}()); | ||
} | ||
} | ||
exports.ProviderSingleton = ProviderSingleton; | ||
//# sourceMappingURL=provider.js.map |
{ | ||
"name": "@curium.rocks/data-emitter-base", | ||
"version": "0.1.1-alpha.30", | ||
"version": "0.1.1-alpha.31", | ||
"description": "A collection of typescript class interfaces and base classes that specify generic contracts with things that emit data", | ||
@@ -5,0 +5,0 @@ "main": "build/src/lib.js", |
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
87774
1893