@curium.rocks/data-emitter-base
Advanced tools
Comparing version 0.1.1-alpha.25 to 0.1.1-alpha.26
import { ICommand, IDataEmitter, IDataEvent, IDataEventListener, IDataEventListenerFunc, IDisposable, IEmitterDescription, IExecutionResult, IFormatSettings, ISettings, IStatusChangeListener, IStatusChangeListenerFunc, IStatusEvent, ITraceableAction } from "./dataEmitter"; | ||
import { LoggerFacade, LogLevel } from "./loggerFacade"; | ||
/** | ||
* | ||
*/ | ||
export declare class BaseStatusEvent implements IStatusEvent { | ||
connected: boolean; | ||
bit: boolean; | ||
timestamp: Date; | ||
/** | ||
* | ||
* @param {boolean} connected | ||
* @param {boolean} bit | ||
* @param {Date} timestamp | ||
*/ | ||
constructor(connected: boolean, bit: boolean, timestamp?: Date); | ||
/** | ||
* @return {Record<string, unknown>} | ||
*/ | ||
toJSON(): Record<string, unknown>; | ||
} | ||
/** | ||
* Create a base data event | ||
*/ | ||
export declare class BaseDataEvent implements IDataEvent { | ||
readonly emitter: IDataEmitter; | ||
readonly timestamp: Date; | ||
readonly data: unknown; | ||
readonly meta: unknown; | ||
/** | ||
* Create a data event object | ||
* @param {IDataEmitter} emitter | ||
* @param {unknown} data | ||
* @param {unknown} meta | ||
*/ | ||
constructor(emitter: IDataEmitter, data: unknown, meta: unknown); | ||
/** | ||
* Converts the object into a JSON friendly object | ||
* @return {Record<string, unknown>} | ||
*/ | ||
toJSON(): Record<string, unknown>; | ||
} | ||
/** | ||
* Abstract base class emitter that takes care of managing registrations of | ||
@@ -90,5 +130,5 @@ * listeners and cleanup on disposal | ||
* Control serialized properties when JSON.stringify is called | ||
* @return {unknown} | ||
* @return {Record<string, unknown>} | ||
*/ | ||
toJSON(): unknown; | ||
toJSON(): Record<string, unknown>; | ||
/** | ||
@@ -95,0 +135,0 @@ * |
@@ -42,3 +42,4 @@ "use strict"; | ||
Object.defineProperty(exports, "__esModule", { value: true }); | ||
exports.BaseEmitter = void 0; | ||
exports.BaseEmitter = exports.BaseDataEvent = exports.BaseStatusEvent = void 0; | ||
var dataEmitter_1 = require("./dataEmitter"); | ||
var loggerFacade_1 = require("./loggerFacade"); | ||
@@ -48,2 +49,68 @@ var crypto_1 = __importDefault(require("crypto")); | ||
/** | ||
* | ||
*/ | ||
var BaseStatusEvent = /** @class */ (function () { | ||
/** | ||
* | ||
* @param {boolean} connected | ||
* @param {boolean} bit | ||
* @param {Date} timestamp | ||
*/ | ||
function BaseStatusEvent(connected, bit, timestamp) { | ||
this.connected = connected; | ||
this.bit = bit; | ||
this.timestamp = timestamp || new Date(); | ||
} | ||
/** | ||
* @return {Record<string, unknown>} | ||
*/ | ||
BaseStatusEvent.prototype.toJSON = function () { | ||
return { | ||
connected: this.connected, | ||
bit: this.bit, | ||
timestamp: this.timestamp | ||
}; | ||
}; | ||
return BaseStatusEvent; | ||
}()); | ||
exports.BaseStatusEvent = BaseStatusEvent; | ||
/** | ||
* Create a base data event | ||
*/ | ||
var BaseDataEvent = /** @class */ (function () { | ||
/** | ||
* Create a data event object | ||
* @param {IDataEmitter} emitter | ||
* @param {unknown} data | ||
* @param {unknown} meta | ||
*/ | ||
function BaseDataEvent(emitter, data, meta) { | ||
this.emitter = emitter; | ||
this.data = data; | ||
this.timestamp = new Date(); | ||
this.meta = meta; | ||
} | ||
/** | ||
* Converts the object into a JSON friendly object | ||
* @return {Record<string, unknown>} | ||
*/ | ||
BaseDataEvent.prototype.toJSON = function () { | ||
var ret = { | ||
emitter: this.emitter.toJSON(), | ||
timestamp: this.timestamp, | ||
data: this.data, | ||
meta: this.meta | ||
}; | ||
if (dataEmitter_1.isJsonSerializable(this.data)) { | ||
ret.data = this.data.toJSON(); | ||
} | ||
if (dataEmitter_1.isJsonSerializable(this.meta)) { | ||
ret.meta = this.meta.toJSON(); | ||
} | ||
return ret; | ||
}; | ||
return BaseDataEvent; | ||
}()); | ||
exports.BaseDataEvent = BaseDataEvent; | ||
/** | ||
* Abstract base class emitter that takes care of managing registrations of | ||
@@ -190,3 +257,3 @@ * listeners and cleanup on disposal | ||
* Control serialized properties when JSON.stringify is called | ||
* @return {unknown} | ||
* @return {Record<string, unknown>} | ||
*/ | ||
@@ -342,7 +409,3 @@ BaseEmitter.prototype.toJSON = function () { | ||
BaseEmitter.prototype.buildStatusEvent = function () { | ||
return { | ||
connected: this._connected, | ||
timestamp: new Date(), | ||
bit: this._faulted | ||
}; | ||
return new BaseStatusEvent(this._connected, this._faulted); | ||
}; | ||
@@ -355,8 +418,3 @@ /** | ||
BaseEmitter.prototype.buildDataEvent = function (data) { | ||
return { | ||
emitter: this, | ||
timestamp: new Date(), | ||
data: data, | ||
meta: this.getMetaData() | ||
}; | ||
return new BaseDataEvent(this, data, this.getMetaData()); | ||
}; | ||
@@ -363,0 +421,0 @@ /** |
@@ -1,2 +0,2 @@ | ||
import { IChronicler } from "./chronicler"; | ||
import { IChronicler, IJsonSerializable } from "./chronicler"; | ||
import { LoggerFacade } from "./loggerFacade"; | ||
@@ -52,3 +52,3 @@ /** | ||
*/ | ||
export interface IDataEvent { | ||
export interface IDataEvent extends IJsonSerializable { | ||
/** | ||
@@ -74,3 +74,3 @@ * Source of the event | ||
*/ | ||
export interface IStatusEvent { | ||
export interface IStatusEvent extends IJsonSerializable { | ||
/** | ||
@@ -132,5 +132,11 @@ * source connection state | ||
/** | ||
* | ||
* @param {Record<string, unknown>} obj | ||
* @return {boolean} | ||
*/ | ||
export declare function isJsonSerializable(obj: unknown): boolean; | ||
/** | ||
* A data source emitter | ||
*/ | ||
export interface IDataEmitter { | ||
export interface IDataEmitter extends IJsonSerializable { | ||
/** | ||
@@ -137,0 +143,0 @@ * The unique identifier for the data source/emitter |
"use strict"; | ||
Object.defineProperty(exports, "__esModule", { value: true }); | ||
exports.isJsonSerializable = void 0; | ||
/** | ||
* | ||
* @param {Record<string, unknown>} obj | ||
* @return {boolean} | ||
*/ | ||
function isJsonSerializable(obj) { | ||
if (obj == null) | ||
return false; | ||
if (typeof obj == 'object') { | ||
var val = obj; | ||
return typeof val.toJSON == 'function'; | ||
} | ||
return false; | ||
} | ||
exports.isJsonSerializable = isJsonSerializable; | ||
//# sourceMappingURL=dataEmitter.js.map |
@@ -1,3 +0,3 @@ | ||
export { IDataEmitter, ICompoundDataEmitter, ICommand, IDataEvent, IExecutionResult, ISettings, ITraceableAction, IEmitterFactory, IEmitterProvider, IChroniclerFactory, IChroniclerProvider, IEmitterDescription, IChroniclerDescription, IFormatSettings } from './dataEmitter'; | ||
export { BaseEmitter } from './baseEmitter'; | ||
export { IDataEmitter, ICompoundDataEmitter, ICommand, IDataEvent, IExecutionResult, ISettings, ITraceableAction, IEmitterFactory, IEmitterProvider, IChroniclerFactory, IChroniclerProvider, IEmitterDescription, IChroniclerDescription, IFormatSettings, isJsonSerializable } from './dataEmitter'; | ||
export { BaseEmitter, BaseStatusEvent, BaseDataEvent } from './baseEmitter'; | ||
export { PollingEmitter, DeltaPollingEmitter } from './pollingEmitter'; | ||
@@ -4,0 +4,0 @@ export { LoggerFacade, LogLevel } from './loggerFacade'; |
"use strict"; | ||
Object.defineProperty(exports, "__esModule", { value: true }); | ||
exports.BaseChroniclerFactory = exports.BaseEmitterFactory = exports.BaseFactory = exports.ProviderSingleton = exports.LogLevel = exports.DeltaPollingEmitter = exports.PollingEmitter = exports.BaseEmitter = void 0; | ||
exports.BaseChroniclerFactory = exports.BaseEmitterFactory = exports.BaseFactory = exports.ProviderSingleton = exports.LogLevel = exports.DeltaPollingEmitter = exports.PollingEmitter = exports.BaseDataEvent = exports.BaseStatusEvent = exports.BaseEmitter = exports.isJsonSerializable = void 0; | ||
var dataEmitter_1 = require("./dataEmitter"); | ||
Object.defineProperty(exports, "isJsonSerializable", { enumerable: true, get: function () { return dataEmitter_1.isJsonSerializable; } }); | ||
var baseEmitter_1 = require("./baseEmitter"); | ||
Object.defineProperty(exports, "BaseEmitter", { enumerable: true, get: function () { return baseEmitter_1.BaseEmitter; } }); | ||
Object.defineProperty(exports, "BaseStatusEvent", { enumerable: true, get: function () { return baseEmitter_1.BaseStatusEvent; } }); | ||
Object.defineProperty(exports, "BaseDataEvent", { enumerable: true, get: function () { return baseEmitter_1.BaseDataEvent; } }); | ||
var pollingEmitter_1 = require("./pollingEmitter"); | ||
@@ -7,0 +11,0 @@ Object.defineProperty(exports, "PollingEmitter", { enumerable: true, get: function () { return pollingEmitter_1.PollingEmitter; } }); |
{ | ||
"name": "@curium.rocks/data-emitter-base", | ||
"version": "0.1.1-alpha.25", | ||
"version": "0.1.1-alpha.26", | ||
"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
96215
1964