New Case Study:See how Anthropic automated 95% of dependency reviews with Socket.Learn More
Socket
Sign inDemoInstall
Socket

@curium.rocks/maestro

Package Overview
Dependencies
Maintainers
1
Versions
178
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@curium.rocks/maestro - npm Package Compare versions

Comparing version 0.6.0 to 0.7.0

194

build/src/maestro.d.ts

@@ -37,160 +37,160 @@ import { IChronicler, IDataEmitter, IMaestro, IService, LoggerFacade, LogLevel, IDisposableAsync, IDisposable, IClassifier, IChroniclerDescription, IEmitterDescription } from '@curium.rocks/data-emitter-base';

/**
* get the id of the meastro
* @return {string}
*/
* get the id of the meastro
* @return {string}
*/
get id(): string;
/**
* get the name of the mastro
*/
* get the name of the mastro
*/
get name(): string;
/**
* get the description of the maestro
*/
* get the description of the maestro
*/
get description(): string;
/**
* @return {Iterable<IDataEmitter>}
*/
* @return {Iterable<IDataEmitter>}
*/
get emitters(): Iterable<IDataEmitter>;
/**
* @return {Iterable<IChronicler>}
*/
* @return {Iterable<IChronicler>}
*/
get chroniclers(): Iterable<IChronicler>;
/**
*
* @param {IMaestroOptions} options
*/
*
* @param {IMaestroOptions} options
*/
constructor(options: IMaestroOptions);
/**
*
* @param {LogLevel} level
* @param {string} msg
*/
*
* @param {LogLevel} level
* @param {string} msg
*/
log(level: LogLevel, msg: string): void;
/**
*
* @param {boolean} start
* @return {Promise<void>}
*/
*
* @param {boolean} start
* @return {Promise<void>}
*/
private serviceCallEntities;
/**
* @return {Promise<void>}
*/
* @return {Promise<void>}
*/
start(): Promise<void>;
/**
* @return {Promise<void>}
*/
* @return {Promise<void>}
*/
stop(): Promise<void>;
/**
* @return {Promise<void>}
*/
* @return {Promise<void>}
*/
disposeAsync(): Promise<void>;
/**
*
* @param {IDisposable[]} toDispose
* @return {IDisposable}
*/
*
* @param {IDisposable[]} toDispose
* @return {IDisposable}
*/
private wrapDisposables;
/**
*
* @param {IDataEmitter} emitter
* @param {IChronicler} chronicler
* @return {IDisposable}
*/
*
* @param {IDataEmitter} emitter
* @param {IChronicler} chronicler
* @return {IDisposable}
*/
private attachEmitterToChronicler;
/**
*
* @param {IDataEmitter|Iterable<IDataEmitter>} emitters
* @param {IChronicler|Iterable<IChronicler>} chroniclers
* @return {IDisposable}
*/
*
* @param {IDataEmitter|Iterable<IDataEmitter>} emitters
* @param {IChronicler|Iterable<IChronicler>} chroniclers
* @return {IDisposable}
*/
connect(emitters: IDataEmitter | Iterable<IDataEmitter>, chroniclers: IChronicler | Iterable<IChronicler>): IDisposable;
/**
*
* @param {unknown} obj
* @return {Promise<void>}
*/
*
* @param {unknown} obj
* @return {Promise<void>}
*/
private cleanUpIfDisposable;
/**
* Call stop on an object if available
* @param {unknown} obj
* @return {Promise<void>}
*/
* Call stop on an object if available
* @param {unknown} obj
* @return {Promise<void>}
*/
private stopIfStoppable;
/**
* @return {Promise<void>}
*/
* @return {Promise<void>}
*/
private cleanUpResources;
/**
* Make the maestro match the configuration
* @param {IMaestroConfig} maestroConfig
*/
* Make the maestro match the configuration
* @param {IMaestroConfig} maestroConfig
*/
private applyConfiguration;
/**
*
* @param {IConnections[]} connections
* @return {Promise<void>}
*/
*
* @param {IConnections[]} connections
* @return {Promise<void>}
*/
private createConnections;
/**
*
*/
*
*/
load(): Promise<void>;
/**
*
* @param {Array<string>} factories
*/
*
* @param {Array<string>} factories
*/
private registerFactories;
/**
*
* @param {Array<IMeastroConfig>} emitters
*/
*
* @param {Array<IMeastroConfig>} emitters
*/
private createEmitters;
/**
*
* @param {Array<IMaestroConfig>} chroniclers
*/
*
* @param {Array<IMaestroConfig>} chroniclers
*/
private createChroniclers;
/**
*
* @param {IDataEmitter|IChronicler} obj
* @return {Promise<IEmitterConfig|IChroniclerConfig>}
*/
*
* @param {IDataEmitter|IChronicler} obj
* @return {Promise<IEmitterConfig|IChroniclerConfig>}
*/
private createConfig;
/**
* @return {Promise<IMaestroConfig>}
*/
* @return {Promise<IMaestroConfig>}
*/
private buildConfigObj;
/**
*
*/
*
*/
save(): Promise<void>;
/**
*
* @param {IDataEmitter|IEmitterDescription} emitter
* @return {Promise<void>}
*/
*
* @param {IDataEmitter|IEmitterDescription} emitter
* @return {Promise<void>}
*/
addEmitter(emitter: IDataEmitter | IEmitterDescription): Promise<void>;
/**
*
* @param {IClassifier|string} obj
* @return {string}
*/
*
* @param {IClassifier|string} obj
* @return {string}
*/
private getKey;
/**
*
* @param {IDataEmitter|string} emitter
* @return {Promise<void>}
*/
*
* @param {IDataEmitter|string} emitter
* @return {Promise<void>}
*/
removeEmitter(emitter: IDataEmitter | string): Promise<void>;
/**
*
* @param {IChronicler|IChroniclerDescription} chronicler
*/
*
* @param {IChronicler|IChroniclerDescription} chronicler
*/
addChronicler(chronicler: IChronicler | IChroniclerDescription): Promise<void>;
/**
*
* @param {IChronicler|string} chronicler
* @return {Promise<void>}
*/
*
* @param {IChronicler|string} chronicler
* @return {Promise<void>}
*/
removeChronicler(chronicler: IChronicler | string): Promise<void>;
}

@@ -31,5 +31,5 @@ "use strict";

/**
*
* @param {IMaestroOptions} options
*/
*
* @param {IMaestroOptions} options
*/
constructor(options) {

@@ -41,3 +41,3 @@ this._emitters = new Map();

this._logger = options.logger;
this.log(data_emitter_base_1.LogLevel.DEBUG, "creating maestro");
this.log(data_emitter_base_1.LogLevel.DEBUG, 'creating maestro');
this._disposeOnRemove = options.disposeOnRemove || true;

@@ -61,6 +61,6 @@ if (typeof options.config === 'string' && options.saveHandler == null) {

catch (erro) {
this.log(data_emitter_base_1.LogLevel.ERROR, "An error occurred while loading configuration: " + erro);
this.log(data_emitter_base_1.LogLevel.ERROR, 'An error occurred while loading configuration: ' + erro);
const id = crypto_1.default.randomUUID();
this._config = {
id: id,
id,
name: id + '-default-name',

@@ -92,5 +92,5 @@ description: id + '-default-desc',

/**
* get the id of the meastro
* @return {string}
*/
* get the id of the meastro
* @return {string}
*/
get id() {

@@ -100,4 +100,4 @@ return this._config.id;

/**
* get the name of the mastro
*/
* get the name of the mastro
*/
get name() {

@@ -107,4 +107,4 @@ return this._config.name;

/**
* get the description of the maestro
*/
* get the description of the maestro
*/
get description() {

@@ -114,4 +114,4 @@ return this._config.description;

/**
* @return {Iterable<IDataEmitter>}
*/
* @return {Iterable<IDataEmitter>}
*/
get emitters() {

@@ -121,4 +121,4 @@ return this._emitters.values();

/**
* @return {Iterable<IChronicler>}
*/
* @return {Iterable<IChronicler>}
*/
get chroniclers() {

@@ -128,6 +128,6 @@ return this._chroniclers.values();

/**
*
* @param {LogLevel} level
* @param {string} msg
*/
*
* @param {LogLevel} level
* @param {string} msg
*/
log(level, msg) {

@@ -158,6 +158,6 @@ switch (level) {

/**
*
* @param {boolean} start
* @return {Promise<void>}
*/
*
* @param {boolean} start
* @return {Promise<void>}
*/
async serviceCallEntities(start) {

@@ -180,4 +180,4 @@ if (!this._configApplied) {

/**
* @return {Promise<void>}
*/
* @return {Promise<void>}
*/
start() {

@@ -187,4 +187,4 @@ return this.serviceCallEntities(true);

/**
* @return {Promise<void>}
*/
* @return {Promise<void>}
*/
stop() {

@@ -194,4 +194,4 @@ return this.serviceCallEntities(false);

/**
* @return {Promise<void>}
*/
* @return {Promise<void>}
*/
async disposeAsync() {

@@ -201,6 +201,6 @@ await this.cleanUpResources();

/**
*
* @param {IDisposable[]} toDispose
* @return {IDisposable}
*/
*
* @param {IDisposable[]} toDispose
* @return {IDisposable}
*/
wrapDisposables(toDispose) {

@@ -216,12 +216,12 @@ const returnDisposable = {

/**
*
* @param {IDataEmitter} emitter
* @param {IChronicler} chronicler
* @return {IDisposable}
*/
*
* @param {IDataEmitter} emitter
* @param {IChronicler} chronicler
* @return {IDisposable}
*/
attachEmitterToChronicler(emitter, chronicler) {
if (emitter == null)
throw new Error("Null emitter cannot be attached");
throw new Error('Null emitter cannot be attached');
if (chronicler == null)
throw new Error("Null chronicler cannot be attached");
throw new Error('Null chronicler cannot be attached');
const dataConnection = emitter.onData(chronicler.saveRecord.bind(chronicler));

@@ -237,7 +237,7 @@ const statusConnection = emitter.onStatus(chronicler.saveRecord.bind(chronicler));

/**
*
* @param {IDataEmitter|Iterable<IDataEmitter>} emitters
* @param {IChronicler|Iterable<IChronicler>} chroniclers
* @return {IDisposable}
*/
*
* @param {IDataEmitter|Iterable<IDataEmitter>} emitters
* @param {IChronicler|Iterable<IChronicler>} chroniclers
* @return {IDisposable}
*/
connect(emitters, chroniclers) {

@@ -287,13 +287,13 @@ const multipleEmitters = isIterable(emitters);

/**
*
* @param {unknown} obj
* @return {Promise<void>}
*/
*
* @param {unknown} obj
* @return {Promise<void>}
*/
cleanUpIfDisposable(obj) {
if ((0, data_emitter_base_1.isDisposableAsync)(obj)) {
this.log(data_emitter_base_1.LogLevel.DEBUG, "disposing async");
this.log(data_emitter_base_1.LogLevel.DEBUG, 'disposing async');
return obj.disposeAsync();
}
else if ((0, data_emitter_base_1.isDisposable)(obj)) {
this.log(data_emitter_base_1.LogLevel.DEBUG, "disposing object");
this.log(data_emitter_base_1.LogLevel.DEBUG, 'disposing object');
return Promise.resolve(obj.dispose());

@@ -306,6 +306,6 @@ }

/**
* Call stop on an object if available
* @param {unknown} obj
* @return {Promise<void>}
*/
* Call stop on an object if available
* @param {unknown} obj
* @return {Promise<void>}
*/
stopIfStoppable(obj) {

@@ -323,4 +323,4 @@ if ((0, data_emitter_base_1.hasMethod)(obj, 'stop')) {

/**
* @return {Promise<void>}
*/
* @return {Promise<void>}
*/
async cleanUpResources() {

@@ -345,5 +345,5 @@ this.log(data_emitter_base_1.LogLevel.DEBUG, `Cleaning up resources, current counts, emitters = ${this._emitters.size}, chroniclers = ${this._chroniclers.size}, connections = ${this._disposables.size}`);

/**
* Make the maestro match the configuration
* @param {IMaestroConfig} maestroConfig
*/
* Make the maestro match the configuration
* @param {IMaestroConfig} maestroConfig
*/
async applyConfiguration(maestroConfig) {

@@ -361,8 +361,8 @@ // load factories

/**
*
* @param {IConnections[]} connections
* @return {Promise<void>}
*/
*
* @param {IConnections[]} connections
* @return {Promise<void>}
*/
async createConnections(connections) {
if (!connections || connections.length == 0) {
if (!connections || connections.length === 0) {
return Promise.resolve();

@@ -381,4 +381,4 @@ }

/**
*
*/
*
*/
async load() {

@@ -398,3 +398,3 @@ await this.cleanUpResources();

else {
return Promise.reject(new Error("Config file path or load handler not provided!"));
return Promise.reject(new Error('Config file path or load handler not provided!'));
}

@@ -405,12 +405,12 @@ await this.applyConfiguration(maestroConfig);

/**
*
* @param {Array<string>} factories
*/
*
* @param {Array<string>} factories
*/
registerFactories(factories) {
let factoryLoadCount = 0;
this.log(data_emitter_base_1.LogLevel.INFO, "Loading factories");
this.log(data_emitter_base_1.LogLevel.INFO, 'Loading factories');
factories.emitter.forEach((iFactoryConfig) => {
this.log(data_emitter_base_1.LogLevel.INFO, `Attempting to register emitter factory from module ${iFactoryConfig.packageName} of path ${iFactoryConfig.factoryPath} as type ${iFactoryConfig.factoryType}`);
// eslint-disable-next-line @typescript-eslint/no-var-requires
const factory = (new (require(iFactoryConfig.packageName)[iFactoryConfig.factoryPath]));
const factory = (new (require(iFactoryConfig.packageName)[iFactoryConfig.factoryPath])());
data_emitter_base_1.ProviderSingleton.getInstance().registerEmitterFactory(iFactoryConfig.factoryType, factory);

@@ -423,3 +423,3 @@ this.log(data_emitter_base_1.LogLevel.INFO, `Registered emitter factory from module ${iFactoryConfig.packageName} of path ${iFactoryConfig.factoryPath} as type ${iFactoryConfig.factoryType}`);

// eslint-disable-next-line @typescript-eslint/no-var-requires
const factory = (new (require(iFactoryConfig.packageName)[iFactoryConfig.factoryPath]));
const factory = (new (require(iFactoryConfig.packageName)[iFactoryConfig.factoryPath])());
data_emitter_base_1.ProviderSingleton.getInstance().registerChroniclerFactory(iFactoryConfig.factoryType, factory);

@@ -432,11 +432,11 @@ this.log(data_emitter_base_1.LogLevel.INFO, `Registered chronicler factory from module ${iFactoryConfig.packageName} of path ${iFactoryConfig.factoryPath} as type ${iFactoryConfig.factoryType}`);

/**
*
* @param {Array<IMeastroConfig>} emitters
*/
*
* @param {Array<IMeastroConfig>} emitters
*/
async createEmitters(emitters) {
this.log(data_emitter_base_1.LogLevel.INFO, "Loading emitters");
this.log(data_emitter_base_1.LogLevel.INFO, 'Loading emitters');
let emitterCount = 0;
const emitterArray = await Promise.all(emitters.map(ec => {
emitterCount++;
if (typeof ec.config === "string") {
if (typeof ec.config === 'string') {
return data_emitter_base_1.ProviderSingleton.getInstance().recreateEmitter(ec.config, ec.formatSettings || this._config.formatSettings);

@@ -452,12 +452,12 @@ }

/**
*
* @param {Array<IMaestroConfig>} chroniclers
*/
*
* @param {Array<IMaestroConfig>} chroniclers
*/
async createChroniclers(chroniclers) {
this.log(data_emitter_base_1.LogLevel.INFO, "Loading chroniclers");
this.log(data_emitter_base_1.LogLevel.INFO, 'Loading chroniclers');
let chroniclerCount = 0;
const chroniclerArray = await Promise.all(chroniclers.map(cc => {
chroniclerCount++;
if (typeof cc.config === "string") {
return Promise.reject(new Error("Encryption not supported yet!"));
if (typeof cc.config === 'string') {
return Promise.reject(new Error('Encryption not supported yet!'));
}

@@ -470,6 +470,6 @@ return data_emitter_base_1.ProviderSingleton.getInstance().buildChronicler(cc.config);

/**
*
* @param {IDataEmitter|IChronicler} obj
* @return {Promise<IEmitterConfig|IChroniclerConfig>}
*/
*
* @param {IDataEmitter|IChronicler} obj
* @return {Promise<IEmitterConfig|IChroniclerConfig>}
*/
async createConfig(obj) {

@@ -482,4 +482,4 @@ return {

/**
* @return {Promise<IMaestroConfig>}
*/
* @return {Promise<IMaestroConfig>}
*/
async buildConfigObj() {

@@ -500,4 +500,4 @@ const emitterConfigurations = (await Promise.all(Array.from(this._emitters.values()).map(this.createConfig.bind(this))));

/**
*
*/
*
*/
async save() {

@@ -518,10 +518,10 @@ if (this._configFilePath) {

else {
return Promise.reject(new Error("No config file path or save handler provided"));
return Promise.reject(new Error('No config file path or save handler provided'));
}
}
/**
*
* @param {IDataEmitter|IEmitterDescription} emitter
* @return {Promise<void>}
*/
*
* @param {IDataEmitter|IEmitterDescription} emitter
* @return {Promise<void>}
*/
async addEmitter(emitter) {

@@ -546,14 +546,14 @@ const key = emitter.id.toLowerCase();

/**
*
* @param {IClassifier|string} obj
* @return {string}
*/
*
* @param {IClassifier|string} obj
* @return {string}
*/
getKey(obj) {
return typeof obj == 'string' ? obj.toLowerCase() : obj.id.toLowerCase();
return typeof obj === 'string' ? obj.toLowerCase() : obj.id.toLowerCase();
}
/**
*
* @param {IDataEmitter|string} emitter
* @return {Promise<void>}
*/
*
* @param {IDataEmitter|string} emitter
* @return {Promise<void>}
*/
removeEmitter(emitter) {

@@ -570,5 +570,5 @@ const key = this.getKey(emitter);

/**
*
* @param {IChronicler|IChroniclerDescription} chronicler
*/
*
* @param {IChronicler|IChroniclerDescription} chronicler
*/
async addChronicler(chronicler) {

@@ -587,6 +587,6 @@ const key = chronicler.id.toLowerCase();

/**
*
* @param {IChronicler|string} chronicler
* @return {Promise<void>}
*/
*
* @param {IChronicler|string} chronicler
* @return {Promise<void>}
*/
async removeChronicler(chronicler) {

@@ -593,0 +593,0 @@ const key = this.getKey(chronicler);

@@ -1,3 +0,3 @@

import { IChroniclerDescription, IClassifier, IFormatSettings } from "@curium.rocks/data-emitter-base/build/src/dataEmitter";
import { IEmitterDescription } from "@curium.rocks/data-emitter-base";
import { IChroniclerDescription, IClassifier, IFormatSettings } from '@curium.rocks/data-emitter-base/build/src/dataEmitter';
import { IEmitterDescription } from '@curium.rocks/data-emitter-base';
export interface IConnection {

@@ -4,0 +4,0 @@ emitters: string[];

{
"name": "@curium.rocks/maestro",
"version": "0.6.0",
"version": "0.7.0",
"description": "Connects emitters to chroniclers and transceivers along with managing state of emitters",

@@ -10,2 +10,3 @@ "main": "build/src/index.js",

"lint": "eslint src --ext .ts",
"lint:fix": "eslint --ext .ts src --fix",
"clean": "rm -fr build",

@@ -37,2 +38,3 @@ "prepare": "npm run build",

"@typescript-eslint/eslint-plugin": "5.33.1",
"@typescript-eslint/parser": "^5.15.0",
"chai": "4.3.6",

@@ -42,4 +44,8 @@ "eslint": "8.22.0",

"eslint-config-prettier": "8.5.0",
"eslint-config-standard": "^17.0.0",
"eslint-plugin-chai-friendly": "^0.7.2",
"eslint-plugin-import": "2.26.0",
"eslint-plugin-node": "^11.1.0",
"eslint-plugin-prettier": "4.2.1",
"eslint-plugin-promise": "^6.0.0",
"mocha": "9.2.2",

@@ -46,0 +52,0 @@ "nyc": "15.1.0",

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc