# 1.0.12 Inital commit, which is working with the browser # 1.0.25 - Fixes: - log-to-file: is now storing the last logs as well - nope-package-loader: is transmitting the correct parameters. - Optimazations: - nope-package-loader: now storing elements with stringifyWithFunctions and is capable to read functions. - pub-sub-system: Adding partial changes of the topic structure. This speeds up the entire system. # 1.0.26 - Fixes: - pub-sub-system: Fixed `_notify` and `_updatePartialMatching` - Added: - pub-sub-system: Listeners receive now: topicOfContent (the path of the data that is extracted), topicOfChange (the path of the data that emitted teh update), topicOfSubscription (the subscription.), - nope repl: Added the context `nope` # 1.0.27 - Fixes: - helpers.jsonSchemaMethods: -> renamed flatten to nested. - Added: - helpers.descriptors: -> parseFunctionToJsonSchema - helpers.jsonSchemaMethods: -> added `flattenSchema` and `reduceSchema`. This Function will create a nested JSON-Schema. # 1.0.28 - Fixes: - communication.layer.events: -> fixing receivingOwnMessages. - runNopeBackend -> if io-server is used, no configuration file is loaded # 1.0.29 - Added: - helpers.limit: limitedCalls -> Functinality to limit parallel calls. # 1.0.30 - Added: - helpers.limit: getLimitedOptions -> Helper to get the correspondings options - helpers.limit.spec: Adding test cases # 1.0.31 - Modified: - helpers.singleton: Prevent using symbols, to make global version work with local version. # 1.0.32 - Fixes: - 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.0.34 - Fixes: - dispatchers.ConnectivityManager.ConnectivityManager: fixing isMaster- Fixed - Modified: - types.nope.ConnectivityManager.interface: - INopeStatusInfo.upTime =renamed=> connectedSince - INopeConnectivityManager added => "upTime" and "connectedSince" - dispatchers.ConnectivityManager.ConnectivityManager: - INopeConnectivityManager added "connectedSince" (which is expressed in the adapted Timestamp.) - Added: - dispatchers.ConnectivityManager.ConnectivityManager.spec: Added Master - Test # 1.0.35 - Fixes: - dispatchers.ConnectivityManager.ConnectivityManager: fixing isMaster. Now deals corecctly with multiple masters. - Modified: - cli.runNopeBackend: prevented io-server to be a master. - dispatcher.getDispatcher: Adapted input to `options`. This includes all options - dispatcher.core.NopeCore: Add flag Displising. This shows, if the dispatcher is getting disposed - loader.getPackageLoader.browser: Adapted input to `options`. This includes all options - loader.getPackageLoader.nodejs: Adapted input to `options`. This includes all options - types.nope.ConnectivityManager.interface: - INopeStatusInfo.isMasterForced: Flag if the master mode is forced - INopeStatusInfo.isMaster: Flag if the node is a master. this could be forced or selected - types.nope.nopeCore.interface: - INopeCore.disposing: A Flag, that indicates, that the core is disposing. - types.nope.nopeDispatcher.interface: - INopeDispatcherOptions: Utilizes `INopeINopeConnectivityOptions` now. - dispatchers.ConnectivityManager.ConnectivityManager.spec: - Added test for forced masters. - helpers.arrayMethods: Added Typings for `minOfArray` # 1.0.36 - Fixes: - Small fixes in the imports of some items in `module.BaseModule.injectable`; `module.GenericWrapper.injectable`; `helpers.descriptors` to make shure, the `nope.d.ts` for the browser is compiled. # 1.1.0 - Added: - Added gui defintion files in `types.ui` containing: - rendering callback options - base layout based helpers, - provided libraries - Added dev-depencies for libraries. - added `ui.loader` a backend component to readin the ui. # 1.1.1 - Added: - Added `internalInstances: INopeObservable` to `InstanceManager`.: - Added dev-depencies for libraries. - Modified: - Modified `addAllBaseServices` now includes some options, which can be used to determine the specific service to load. # 1.2.0 - Added: - `lib\cli\nope` adding scan for ui service - `lib\decorators\container`: Main Container, holding all `methods` and `classes`. Use `getCentralDecoratedContainer()` to get this decorator. - `types\nope\nopePackage.interface` added `IClassDescription` which contains the class description used in the Package Description. - `logger\nopeLogger`: added methods: `enabledFor`, `enableFor`, `shouldLog` - `package.json`: installed types of `ace` text editor. - `ui\helpers.browser`: Created `convertInstanceRenderPage` and `IUiDefinition` - `ui\helpers.nodejs`: Added a Helper to write the Ui-File (`writeUiFile`) and parse its arguments (`readInwriteUiFileArgs`) - `ui\index.*`: Crated the corresponding exports. - Modified: - `lib\decorators\*` Adding the main `container` where every function, service method etc is added. All decorators now safe the decorated elements in the container. - `helpers\json`: Adding `BEGIN_STR` and `END_STR` for parsing functions as constants. - `logger\eventLogging`: simplify `useEventLogger` - `logger\index.browser`: Adating exports. - `loader\loadPackages`: Modifing `IPackageConfig` now extends Partial the `IPackageDescription` - `types\ui\editor\IEditPage`: adapting Type of `getData` to `T`->`any`. Adapting the return of `getPorts` (The Ports will be generated in the ui then) - `types\ui\editor\helpers.interface`: Adapting the `w2ui` and added `w2uiHelpers` and added `ace`. Rearanging `IRenderData` element. to compact the data. - `types\ui\editor\render.callbacks`: Rearange the Generic Type of `TRenderInstancePage` and Renaming `TCreatorPage` to `TInstanceManagerPage`. Adapting the `option` of `TInstanceManagerPage` regarding the `createInstance` and `instances` - `types\ui\editor\index`: Adapting the Exports. - `lib\index.browser`: Exporting `ui` elements - `lib\index.nodejs`: Exporting `ui` elements - `lib\types\index`: Exporting `ui` elements - Fixes: - `types\nope\nopeInstanceManager.interface`: Fixing Type of createInstance. Now the Type `I` extends `INopeModule` instead of being set to `IGenericNopeModule` # 1.2.1 - Added: - `types\ui\helpers.interface`: Added the ui section in `IRenderData`. This contains the following props: `fullscreen` (INopeObservable) to controll the fullscreen \ ge the state. Additionally the functions `openFullscreen`, `closeFullScreen` and `getTheme` have been added. Added type `IUiTheme` - Modified: - Renamed `IEditPage` to `IServiceEditPage` - Renamed `NODE_TYPE_COMPOSED` to `NODE_TYPE_GROUP` - Adapted `TRenderConfigureServicePage`, `TRenderInstancePage` and `TInstanceManagerPage` by adding `Extension`-Type - Adapted `TRenderFunction` removing the args setting. # 1.2.2 - Modified: - renaming the following constants in `lib\types\ui\editor\INodes`: - NODE_TYPE_CONSTANT = "node:data:constant"; - NODE_TYPE_DATA_TO_TOKEN = "node:logic:data-to-token"; - NODE_TYPE_FLOW_OPERATION = "node:logic:flow"; - NODE_TYPE_PLACE = "node:logic:place"; - NODE_TYPE_TOKEN_TO_DATA = "node:logic:token-to-data"; - NODE_TYPE_TRANSITION = "node:logic:transition"; - NODE_TYPE_VAR = "node:data:constant"; - NODE_TYPE_MODULE = "node:module"; - updating `TServiceGetPortsReturn` (adding `label` and removing `type`)and `IServiceEditPage` (remove `getPorts`) in `lib\types\ui\editor\IServiceEditPage` - relocating `IUiDefinition` to `lib\types\ui\helpers.interface` - influences `lib\ui\helpers.browser` and `lib\ui\helpers.nodejs` # 1.3.0 - Fixes: - Small Syntax-Fixes for better parsing. - Added: -`py-helpers`: Added a Parser, which will create a Tree and then will be used to transpile the coresponding ast. # 1.3.1 - Fixes: - `py-helpers`: Now using correct elements. - Small comments etc. # 1.3.2 - Fixes: - `helpers\objectMethods`: The function `convertData` no converts not matching items as well - `helpers\objectMethods`: The function `tranformMap` no works with empty pathes like `""` # 1.3.3 - Fixes: - `dispatcher\instanceManager\InstanceManager`: Fixing the Mapbased item - `dispatcher\RpcManager\RpcManager`: Fixing the Mapbased item # 1.3.4 - reverting 1.3.3 - Fixes: - `dispatcher\instanceManager\InstanceManager`: Fixing the Mapbased item - `dispatcher\RpcManager\RpcManager`: Fixing the Mapbased item - `helpers\mapMethods*`: Fixing `extractUniqueValues` and some tests. If you want to extract the data of an array please use `+` - `helpers\mergeData*`: Fixing the Mapbased item - `helpers\objectMethods*`: Fixing `convertData` function # 1.3.5 - reverting 1.3.3 - Added: - `helpers\stringMethods`: Added the function `varifyString` - Modified: - `dispatcher\instanceManager\InstanceManager`: Adapting the name of the instance to use a valid instance name. - `dispatcher\rpcManager\rpcManager`: Adapting the name of the service to use a valid service name. - `cli\runNopeBackend`: Adapting the name of the service to use a valid service name. # 1.3.6 - Added: - `cli\runNopeBackend`: Added the a helper to add varify the `name`. (see modifications in `dispatcher\InstanceManager\InstanceManager`, `dispatcher\RpcManager\NopeRpcManager`) - Modified: - `helpers\stringMethods`: added function `union` and `difference`. - `helpers\setMethods`: added function `varifyString`. - `types\nope\nopeDispatcher.interface`: Added option `forceUsingValidVarNames` - Fixes: - `types\nope\nopeInstanceManager.interface`: Fixed the typing of `getInstancesOfType` and `createInstance` # 1.3.7 - Fixes: - `helpers\mapMethods`: Fixing `tranformMap`. Now correctly assigning `onlyValidProps` # 1.3.8 - Modified: - `helpers\limit`: Now providing an logger level in the options, results in creating a logger and logging the desired messages in the provided level. # 1.3.9 - Fixing: - `helpers\limit`: Now enrows all functions provided. # 1.3.10 - Modified: - `helpers\limit`: Adding parameter `assignControlFunction` to assing the controll function. - `helpers\index`: modified the export of the `limit` stuff. - Added: - `helpers\functionMethods*`: Added helpers for functions # 1.3.11 - Modified: - `helpers\functionMethods`: Adding `asnyc` detection # 1.3.12 - Modified: - `helpers\limit`: added the option `minDelay`. If provided, the calles are ensured to be delayed with this options. If `0` or smaller -> no delay is added. # 1.3.13 - Fixes: - `cli\runNopeBackend`: Fixing parameter `preventVarifiedNames` no works correctly. # 1.3.14 - Fixes: - `helpers\ui\helpers.nodejs`: Adding the option `upload-ui` - `helpers\ui\helpers.nodejs`: Adding the option `upload-ui` # 1.4.0 - Modified: - asyncified all ui-related services. - Adapted ui-defintion of functions: - `autoGenBySchema` Helper to enable auto generating a configuration - `requiresProviderForRendering` Flag to indicate, that rendering the service configuration requires a provider itself. This for instance is the case, if some needs to be called. - `types\ui\editor\IServiceEditPage.ts`: Asnycify the Calls - `types\ui\editor\render.callbacks.ts`: Asnycify the Calls # 1.4.1 - Modified: - loading all files related to `*.functions.js` - Adapted the following files to implement that behavior: - `getCentralDecoratedContainer` in `lib\decorators\container.ts` -> now provides services as Map - `exportFunctionAsNopeService` in `lib\decorators\functionDecorators.ts` to work with the map. - `loadFunctions` in `lib\loader\loadPackages.ts` to match the interface of `loadPackages` and add the functions to the package-loader. - added the function `addDecoratedElements` in the package-loader and the interface. # 1.4.2 - Fixes: - Fixing time based issue in `ConnectivityManager` (using the now synced time for checkups) - `dispatchers.ConnectivityManager.ConnectivityManager`: fixing `_checkDispatcherHealth` - Fixing `extractUniqueValues` now it is possible to use different pathes for the `key` and `value` - `lib\helpers\mapMethods.ts` has been adapted - `lib\pubSub\nopePubSubSystem.ts` contains the following fixes: - fixing typo of method `updateMatching` - Modified: - `lib\pubSub\nopePubSubSystem.ts`: - throws error if `register` method doest not contain a topic. - Adapted the behavior of `_patternbasedPullData`. If no default default value is present -> the function returns an empty array. # 1.4.3 - Fixes: - Fixing time based issue in `ConnectivityManager` (using the now synced time for checkups) - `dispatchers.ConnectivityManager.ConnectivityManager`: fixing `_checkDispatcherHealth` - Fixing `extractUniqueValues` now it is possible to use different pathes for the `key` and `value` - `lib\helpers\mapMethods.ts` has been adapted - `lib\pubSub\nopePubSubSystem.ts` contains the following fixes: - fixing typo of method `updateMatching` - Modified: - Adapted the event-names of the communication. Now starts with lower chars. - Code clean ups: - removed `_communcatorCallback` from `dispatcher\RpcManager\NopeRpcManager.ts` - renamed `quite` to `quiet` - adapted internal methods of `NopeRpcManager`: - added: `_cancelHelper` - > Now the `target`in the Request segement is provided every time! - renamed `_partialMatchingUpdate` to `_updatePartialMatching` - adapted `NopePubSub`: - renamed parameter `mqttBasedPatternSubscriptions` to `mqttPatternBasedSubscriptions` - `helpers\path` -> in `_getLeastCommonPathSegment` we only iterate over the avaible keys. # 1.4.4 - Modified: - Renamed the decorator `exportFunctionAsNopeService` -> `exportAsNopeService` and the Interface `IexportFunctionAsNopeServiceParameters` -> `IexportAsNopeServiceParameters` - `NopeInstanceManager` and `GenericWrapper`: Now receives a factory to generate the a `NopeEventEmitter`: - This affects a lot packages. - `NopeModule`: - renamed `listFunctions` to `listMethods` - renamed `functions` is now called `methods` - The Description format is being updated (`functions` is now called `methods`) - Fixes: - `NopeModule`: - Now disposes Emitters as Properties as well - `getIdentifierOf` checks event emitters as well now. - `GenericWrapper`: - Now automatically registers emitters as well. - Added: - `NopeModule`: Added the method `listEvents` (to show the available Emitters registered as Properties.) # 1.4.5 - Modified: - `lib\dispatcher\ConnectivityManager\ConnectivityManager.ts`: - Status is only send if required (if no other item) - Dispatcher Health is only checked if required. - `lib\dispatcher\InstanceManager\InstanceManager.ts`: - Made: `getServiceName` public - `lib\dispatcher\RpcManager\NopeRpcManager.ts`: - The following functions are now async: - `_sendAvailableServices` -> it is awaited in some functions now (hasnt before) - `unregisterService` -> now returns a boolean for sucess - Added: - `lib\demo\instances`: Added demo elements. (Instances.) # 1.4.6 - Fixes: - `lib\dispatcher\ConnectivityManager\ConnectivityManager.ts`: - Fixing Master Assignment. - Only sending one Status on init. - `lib\dispatcher\InstanceManager\InstanceManager.ts`: - Fixing pathes of `constructors` variable. Now `amountOf` etc is working - Fixing pathes of `constructorExists`. Now working with Type-Name. - Only sending one Status on init. - `lib\helpers\mapMethods.ts`: - Fixing `tranformMap` in the case of only a `pathExtractedValue` or `pathExtractedKey` is given. - `lib\helpers\objectMethods.ts`: - fixing `rgetattr` -> Now correctly returns "null" in all cases. - `lib\demo`: - Fixing imports of demo instances. - Modified: - `lib\types`: - renamed `IFunctionOptions` to `IServiceOptions` - `lib\types\nope\nopeModule.interface.ts`: - `listMethods` now returns a different array, where the attribute is named `method` instead of `func` -> Adaptions affect `BaseModule` and `GenericModule` - Added: - Added Tests for the Properties of NopeRpcManager, NopeConnectivityManager - `lib\helpers`: - `PriorityList`: -> List, which sorts the items based on a given priority. - `LimitedList`: -> Ring-Like list. If the max amount of items is reached, the oldest one will be removed - `ParallelPriorityTaskQueue` -> A Task-Queue (Parallel and if desired with priority) - `generateHash` -> A function to generate a hash # 1.5.0 - Modified: - `lib\logger`: - Adding colors to log. - `lib\eventEmitter`: - Adding the possibility of a timeout in `waitFor` - Added: - `lib\plugins`: - Added a full fetch plugin-system for javascript. That allows the user to customize different aspects of the lib. For an plugin see: `lib\plugins\ackMessages.ts` as an example.