# 1.0.33
- Modified: - cli.runNopeBackend: added the flag "noBaseServices" to prevent providing the base-services - communication.getLayer.nodejs/browser: adding default value for logger - dispatcher.getDispatcher: changed option "constructorClass" to "dispatcherConstructorClass" - helpers.limit.spec: Adapted Timings - loader.getPackageLoader.nodejs/browser: Changed the options.
This commit is contained in:
parent
ee1d690dc8
commit
4791914998
12
CHANGELOG.md
12
CHANGELOG.md
@ -44,5 +44,13 @@ Inital commit, which is working with the browser
|
||||
|
||||
# 1.0.32
|
||||
- Fixes:
|
||||
- helpers.singleton: work with `Symbol.for`
|
||||
- symbols.symbols: work with `Symbol.for`
|
||||
- helpers.singleton: work with `Symbol.for` --> Can be used in different systems now.
|
||||
- symbols.symbols: work with `Symbol.for` --> Can be used in different systems now.
|
||||
|
||||
# 1.0.33
|
||||
- Modified:
|
||||
- cli.runNopeBackend: added the flag "noBaseServices" to prevent providing the base-services
|
||||
- communication.getLayer.nodejs/browser: adding default value for logger
|
||||
- dispatcher.getDispatcher: changed option "constructorClass" to "dispatcherConstructorClass"
|
||||
- helpers.limit.spec: Adapted Timings
|
||||
- loader.getPackageLoader.nodejs/browser: Changed the options.
|
@ -1 +1 @@
|
||||
1.0.32
|
||||
1.0.33
|
@ -57,12 +57,12 @@ export interface RunArgs {
|
||||
forceUsingSelectors: boolean;
|
||||
// Define the Timingsparameter
|
||||
timings: Partial<INopeINopeConnectivityTimeOptions>;
|
||||
// Forces the Selectors
|
||||
forceSelectors: boolean;
|
||||
// The Id to use.
|
||||
id: string;
|
||||
// Flag to enable profiling. Defaults to false.
|
||||
profile: boolean;
|
||||
// Flag to controll whether base-services should be loaded or not.
|
||||
useBaseServices: boolean;
|
||||
}
|
||||
|
||||
export const DEFAULT_SETTINGS: RunArgs = {
|
||||
@ -75,13 +75,13 @@ export const DEFAULT_SETTINGS: RunArgs = {
|
||||
dispatcherLogLevel: "info",
|
||||
communicationLogLevel: "info",
|
||||
delay: 2,
|
||||
forceSelectors: false,
|
||||
timings: {},
|
||||
defaultSelector: "first",
|
||||
forceUsingSelectors: false,
|
||||
logToFile: false,
|
||||
id: generateId(),
|
||||
profile: false,
|
||||
useBaseServices: false,
|
||||
};
|
||||
|
||||
/**
|
||||
@ -225,6 +225,13 @@ export async function readInArgs(
|
||||
dest: "profile",
|
||||
});
|
||||
|
||||
parser.add_argument("--noBaseServices", {
|
||||
help: "Flag to enable prevent the base Services to be loaded",
|
||||
action: "append",
|
||||
nargs: "?",
|
||||
dest: "useBaseServices",
|
||||
});
|
||||
|
||||
const args: RunArgs = parser.parse_args();
|
||||
|
||||
if (args.params === "not-provided") {
|
||||
@ -235,6 +242,7 @@ export async function readInArgs(
|
||||
args.profile = Array.isArray(args.profile);
|
||||
args.logToFile = Array.isArray(args.logToFile);
|
||||
args.forceUsingSelectors = Array.isArray(args.forceUsingSelectors);
|
||||
args.useBaseServices = !Array.isArray(args.useBaseServices);
|
||||
|
||||
return Object.assign(args, forcedArgs);
|
||||
}
|
||||
@ -403,7 +411,10 @@ export async function runNopeBackend(
|
||||
forceUsingSelectors: args.forceUsingSelectors,
|
||||
id: args.id,
|
||||
},
|
||||
_args.singleton
|
||||
{
|
||||
singleton: _args.singleton,
|
||||
useBaseServices: _args.useBaseServices,
|
||||
}
|
||||
);
|
||||
|
||||
// Add the Dispatcher
|
||||
|
@ -35,13 +35,13 @@ export const layerDefaultParameters = {
|
||||
* @export
|
||||
* @param {validLayerOrMirror} layer the layer to add
|
||||
* @param {(number | string)} [parameter=null] the parameter required for the additonal layer / mirror
|
||||
* @param {LoggerLevel} level the level of the debugger
|
||||
* @param {LoggerLevel} [level=false] the level of the debugger
|
||||
* @return {*} {ICommunicationBridge}
|
||||
*/
|
||||
export function getLayer(
|
||||
layer: validLayerOrMirror,
|
||||
parameter: number | string = null,
|
||||
logger: ValidLoggerDefinition
|
||||
logger: ValidLoggerDefinition = false
|
||||
): ICommunicationBridge {
|
||||
// Create the Bridge
|
||||
const communicationBridge = new Bridge(generateId(), logger);
|
||||
|
@ -44,13 +44,13 @@ export const layerDefaultParameters = {
|
||||
* @export
|
||||
* @param {validLayerOrMirror} layer the layer to add
|
||||
* @param {(number | string)} [parameter=null] the parameter required for the additonal layer / mirror
|
||||
* @param {LoggerLevel} logger the level of the debugger
|
||||
* @param {LoggerLevel} [logger=false] the level of the debugger
|
||||
* @return {*} {ICommunicationBridge}
|
||||
*/
|
||||
export function getLayer(
|
||||
layer: validLayerOrMirror,
|
||||
parameter: number | string = null,
|
||||
logger: ValidLoggerDefinition
|
||||
logger: ValidLoggerDefinition = false
|
||||
): ICommunicationBridge {
|
||||
// Create the Bridge
|
||||
const communicationBridge = new Bridge(generateId(), logger);
|
||||
|
@ -1,9 +1,6 @@
|
||||
/**
|
||||
* @author Martin Karkowski
|
||||
* @email m.karkowski@zema.de
|
||||
* @create date 2020-11-06 08:52:48
|
||||
* @modify date 2022-01-10 14:17:09
|
||||
* @desc [description]
|
||||
*/
|
||||
|
||||
import { getSingleton } from "../helpers/singletonMethod";
|
||||
@ -18,26 +15,31 @@ import { addAllBaseServices } from "./baseServices";
|
||||
import { NopeDispatcher } from "./nopeDispatcher";
|
||||
|
||||
/**
|
||||
* Function to extract a Singleton Dispatcher
|
||||
* @param dispatcherOptions The provided options for the Dispatcher
|
||||
*
|
||||
* @param {INopeDispatcherOptions} dispatcherOptions The options, that will be used for the dispathcer.
|
||||
* @param options Additional Options. You can provide a different Dispatcher-Class; Controll the scope (Singleton or not.) and define wehter the Base-Services should be added.
|
||||
* @returns {INopeDispatcher} The dispatcher.
|
||||
*
|
||||
* ```typescript
|
||||
*
|
||||
* // Create a communication layer:
|
||||
* const communicator = getLayer("event");
|
||||
* // Now create the Dispatcher.
|
||||
* const dispatcher = getDispatcher({communicator});
|
||||
* ```
|
||||
*/
|
||||
export function getDispatcher(
|
||||
dispatcherOptions: INopeDispatcherOptions,
|
||||
options: {
|
||||
constructorClass?: IDispatcherConstructor;
|
||||
dispatcherConstructorClass?: IDispatcherConstructor;
|
||||
singleton?: boolean;
|
||||
useBaseServices?: boolean;
|
||||
} = {}
|
||||
): INopeDispatcher {
|
||||
if (
|
||||
options.constructorClass === null ||
|
||||
options.constructorClass === undefined
|
||||
options.dispatcherConstructorClass === null ||
|
||||
options.dispatcherConstructorClass === undefined
|
||||
) {
|
||||
options.constructorClass = NopeDispatcher;
|
||||
options.dispatcherConstructorClass = NopeDispatcher;
|
||||
}
|
||||
|
||||
options = Object.assign(
|
||||
@ -50,7 +52,7 @@ export function getDispatcher(
|
||||
);
|
||||
|
||||
const create = () => {
|
||||
const dispatcher = new options.constructorClass(
|
||||
const dispatcher = new options.dispatcherConstructorClass(
|
||||
dispatcherOptions,
|
||||
() => new NopeObservable()
|
||||
);
|
||||
|
@ -20,7 +20,7 @@ describe("limit", function () {
|
||||
const promises = [f(100), f(100)];
|
||||
await Promise.all(promises);
|
||||
const end = Date.now();
|
||||
if (end - start < 120) {
|
||||
if (end - start < 200) {
|
||||
throw Error("Failed to call sync");
|
||||
}
|
||||
});
|
||||
@ -32,7 +32,7 @@ describe("limit", function () {
|
||||
const promises = [f(100), f(100)];
|
||||
await Promise.all(promises);
|
||||
const end = Date.now();
|
||||
if (end - start > 120) {
|
||||
if (end - start > 200) {
|
||||
throw Error("Failed to call parallel");
|
||||
}
|
||||
});
|
||||
|
@ -5,6 +5,7 @@
|
||||
|
||||
import { getSingleton } from "../helpers/singletonMethod";
|
||||
import {
|
||||
IDispatcherConstructor,
|
||||
INopeDispatcherOptions,
|
||||
INopePackageLoader,
|
||||
INopePackageLoaderConstructor,
|
||||
@ -13,25 +14,46 @@ import { generateNopeBasicPackage } from "./generateNopeBasicPackage";
|
||||
import { NopePackageLoader } from "./nopePackageLoader";
|
||||
|
||||
/**
|
||||
* Function to extract a Singleton Dispatcher
|
||||
* @param options The provided options for the Dispatcher
|
||||
* Function to extract the Package-Loader.
|
||||
* @param {INopeDispatcherOptions} dispatcherOptions The provided options for the Dispatcher
|
||||
* @param options Settings for the creation of the Dispatcher etc.
|
||||
* @returns {INopePackageLoader} The Package loader.
|
||||
*/
|
||||
export function getPackageLoader(
|
||||
options: INopeDispatcherOptions,
|
||||
singleton = true,
|
||||
constructorClass: INopePackageLoaderConstructor = null
|
||||
dispatcherOptions: INopeDispatcherOptions,
|
||||
options: {
|
||||
packageLoaderConstructorClass?: INopePackageLoaderConstructor;
|
||||
dispatcherConstructorClass?: IDispatcherConstructor;
|
||||
singleton?: boolean;
|
||||
useBaseServices?: boolean;
|
||||
} = {}
|
||||
): INopePackageLoader {
|
||||
if (constructorClass === null || constructorClass === undefined) {
|
||||
constructorClass = NopePackageLoader;
|
||||
if (
|
||||
options.packageLoaderConstructorClass === null ||
|
||||
options.packageLoaderConstructorClass === undefined
|
||||
) {
|
||||
options.packageLoaderConstructorClass = NopePackageLoader;
|
||||
}
|
||||
|
||||
options = Object.assign(
|
||||
{
|
||||
packageLoaderConstructorClass: null,
|
||||
dispatcherConstructorClass: null,
|
||||
singleton: true,
|
||||
useBaseServices: true,
|
||||
},
|
||||
options
|
||||
);
|
||||
|
||||
const create = () => {
|
||||
// Create a loader
|
||||
const loader = new constructorClass();
|
||||
const loader = new options.packageLoaderConstructorClass();
|
||||
|
||||
// load the default Package:
|
||||
loader
|
||||
.addPackage(generateNopeBasicPackage(options, singleton))
|
||||
.addPackage(
|
||||
generateNopeBasicPackage(dispatcherOptions, options.singleton)
|
||||
)
|
||||
.catch((e) => {
|
||||
throw e;
|
||||
});
|
||||
@ -39,7 +61,7 @@ export function getPackageLoader(
|
||||
return loader;
|
||||
};
|
||||
|
||||
if (singleton) {
|
||||
if (options.singleton) {
|
||||
// Create a singaleton if required.
|
||||
// use the container to receive the
|
||||
// singleton object
|
||||
|
@ -4,21 +4,30 @@
|
||||
* @desc [description]
|
||||
*/
|
||||
|
||||
import { INopeDispatcherOptions } from "../types/nope/nopeDispatcher.interface";
|
||||
import { INopePackageLoaderConstructor } from "../index.browser";
|
||||
import {
|
||||
IDispatcherConstructor,
|
||||
INopeDispatcherOptions,
|
||||
} from "../types/nope/nopeDispatcher.interface";
|
||||
import { getPackageLoader as getBrowserPackageLoader } from "./getPackageLoader.browser";
|
||||
import { NopePackageLoaderFileAccess } from "./nopePackageLoader.nodejs";
|
||||
|
||||
/**
|
||||
* Function to extract a Singleton Dispatcher
|
||||
* @param options The provided options for the Dispatcher
|
||||
* Function to extract the Package-Loader. This one here includes file access.
|
||||
* @param {INopeDispatcherOptions} dispatcherOptions The provided options for the Dispatcher
|
||||
* @param options Settings for the creation of the Dispatcher etc.
|
||||
* @returns {INopePackageLoader} The Package loader.
|
||||
*/
|
||||
export function getPackageLoader(
|
||||
options: INopeDispatcherOptions,
|
||||
singleton = true
|
||||
dispatcherOptions: INopeDispatcherOptions,
|
||||
options: {
|
||||
packageLoaderConstructorClass?: INopePackageLoaderConstructor;
|
||||
dispatcherConstructorClass?: IDispatcherConstructor;
|
||||
singleton?: boolean;
|
||||
useBaseServices?: boolean;
|
||||
} = {}
|
||||
) {
|
||||
return getBrowserPackageLoader(
|
||||
options,
|
||||
singleton,
|
||||
NopePackageLoaderFileAccess
|
||||
);
|
||||
options.packageLoaderConstructorClass = NopePackageLoaderFileAccess;
|
||||
|
||||
return getBrowserPackageLoader(dispatcherOptions, options);
|
||||
}
|
||||
|
@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "nope",
|
||||
"version": "1.0.31",
|
||||
"version": "1.0.33",
|
||||
"description": "NoPE Runtime for Nodejs. For Browser-Support please use nope-browser",
|
||||
"files": [
|
||||
"dist-nodejs/**/*",
|
||||
|
Loading…
Reference in New Issue
Block a user