refactor(simulator): switch to named exports
authorJérôme Benoit <jerome.benoit@sap.com>
Sun, 12 Feb 2023 14:03:13 +0000 (15:03 +0100)
committerJérôme Benoit <jerome.benoit@sap.com>
Sun, 12 Feb 2023 14:03:13 +0000 (15:03 +0100)
Signed-off-by: Jérôme Benoit <jerome.benoit@sap.com>
65 files changed:
mikro-orm.config-template.ts
src/charging-station/AuthorizedTagsCache.ts
src/charging-station/AutomaticTransactionGenerator.ts
src/charging-station/Bootstrap.ts
src/charging-station/ChargingStation.ts
src/charging-station/ChargingStationConfigurationUtils.ts
src/charging-station/ChargingStationUtils.ts
src/charging-station/ChargingStationWorker.ts
src/charging-station/ChargingStationWorkerBroadcastChannel.ts
src/charging-station/MessageChannelUtils.ts
src/charging-station/SharedLRUCache.ts
src/charging-station/UIServiceWorkerBroadcastChannel.ts
src/charging-station/WorkerBroadcastChannel.ts
src/charging-station/ocpp/1.6/OCPP16IncomingRequestService.ts
src/charging-station/ocpp/1.6/OCPP16RequestService.ts
src/charging-station/ocpp/1.6/OCPP16ResponseService.ts
src/charging-station/ocpp/1.6/OCPP16ServiceUtils.ts
src/charging-station/ocpp/2.0/OCPP20IncomingRequestService.ts
src/charging-station/ocpp/2.0/OCPP20RequestService.ts
src/charging-station/ocpp/2.0/OCPP20ResponseService.ts
src/charging-station/ocpp/2.0/OCPP20ServiceUtils.ts
src/charging-station/ocpp/OCPPConstants.ts
src/charging-station/ocpp/OCPPIncomingRequestService.ts
src/charging-station/ocpp/OCPPRequestService.ts
src/charging-station/ocpp/OCPPResponseService.ts
src/charging-station/ocpp/OCPPServiceUtils.ts
src/charging-station/ui-server/AbstractUIServer.ts
src/charging-station/ui-server/UIHttpServer.ts
src/charging-station/ui-server/UIServerFactory.ts
src/charging-station/ui-server/UIServerUtils.ts
src/charging-station/ui-server/UIWebSocketServer.ts
src/charging-station/ui-server/ui-services/AbstractUIService.ts
src/charging-station/ui-server/ui-services/UIService001.ts
src/charging-station/ui-server/ui-services/UIServiceFactory.ts
src/exception/BaseError.ts
src/exception/OCPPError.ts
src/exception/index.ts [new file with mode: 0644]
src/performance/PerformanceStatistics.ts
src/performance/storage/JsonFileStorage.ts
src/performance/storage/MikroOrmStorage.ts
src/performance/storage/MongoDBStorage.ts
src/performance/storage/Storage.ts
src/performance/storage/StorageFactory.ts
src/types/ChargingStationWorker.ts
src/types/ConfigurationData.ts
src/types/Statistics.ts
src/types/index.ts [new file with mode: 0644]
src/types/ocpp/Requests.ts
src/types/ocpp/Responses.ts
src/types/orm/entities/PerformanceData.ts
src/utils/Configuration.ts
src/utils/Constants.ts
src/utils/FileUtils.ts
src/utils/Logger.ts
src/utils/Utils.ts
src/worker/WorkerAbstract.ts
src/worker/WorkerConstants.ts
src/worker/WorkerDynamicPool.ts
src/worker/WorkerFactory.ts
src/worker/WorkerSet.ts
src/worker/WorkerStaticPool.ts
src/worker/WorkerTypes.ts [moved from src/types/Worker.ts with 100% similarity]
src/worker/WorkerUtils.ts
src/worker/index.ts [new file with mode: 0644]
test/utils/UtilsTest.ts

index eea71b03e7474a4b50f6f9f646faa2ad75250b80..7ac022be17447f6c8c21c9eb1cf6a75d2d99e607 100644 (file)
@@ -4,7 +4,7 @@ import { TsMorphMetadataProvider } from '@mikro-orm/reflection';
 
 import { PerformanceData } from './src/types/orm/entities/PerformanceData';
 import { PerformanceRecord } from './src/types/orm/entities/PerformanceRecord';
-import Constants from './src/utils/Constants';
+import { Constants } from './src/utils/Constants';
 
 export default {
   metadataProvider: TsMorphMetadataProvider,
index a3c8e5cdc42c7bfc1f9e978bb59067f856783fd3..14f6844e02118f7f2b3e14123c86df7086280b1e 100644 (file)
@@ -1,11 +1,11 @@
 import fs from 'node:fs';
 
-import { FileType } from '../types/FileType';
-import FileUtils from '../utils/FileUtils';
-import logger from '../utils/Logger';
-import Utils from '../utils/Utils';
+import { FileType } from '../types';
+import { FileUtils } from '../utils/FileUtils';
+import { logger } from '../utils/Logger';
+import { Utils } from '../utils/Utils';
 
-export default class AuthorizedTagsCache {
+export class AuthorizedTagsCache {
   private static instance: AuthorizedTagsCache | null = null;
   private readonly tagsCaches: Map<string, string[]>;
   private readonly FSWatchers: Map<string, fs.FSWatcher | undefined>;
index dca2e06047699f69190fd7fc2c4ba00f43c55887..3c365932b3d5441f519c3a96391a83b0afa17a74 100644 (file)
@@ -2,32 +2,30 @@
 
 import { AsyncResource } from 'async_hooks';
 
-import type ChargingStation from './ChargingStation';
+import type { ChargingStation } from './ChargingStation';
 import { ChargingStationUtils } from './ChargingStationUtils';
-import BaseError from '../exception/BaseError';
-import PerformanceStatistics from '../performance/PerformanceStatistics';
-import {
-  type AutomaticTransactionGeneratorConfiguration,
-  IdTagDistribution,
-  type Status,
-} from '../types/AutomaticTransactionGenerator';
-import { RequestCommand } from '../types/ocpp/Requests';
+import { BaseError } from '../exception';
+import { PerformanceStatistics } from '../performance/PerformanceStatistics';
 import {
   AuthorizationStatus,
   type AuthorizeRequest,
   type AuthorizeResponse,
+  type AutomaticTransactionGeneratorConfiguration,
+  IdTagDistribution,
+  RequestCommand,
   type StartTransactionRequest,
   type StartTransactionResponse,
+  type Status,
   StopTransactionReason,
   type StopTransactionResponse,
-} from '../types/ocpp/Transaction';
-import Constants from '../utils/Constants';
-import logger from '../utils/Logger';
-import Utils from '../utils/Utils';
+} from '../types';
+import { Constants } from '../utils/Constants';
+import { logger } from '../utils/Logger';
+import { Utils } from '../utils/Utils';
 
 const moduleName = 'AutomaticTransactionGenerator';
 
-export default class AutomaticTransactionGenerator extends AsyncResource {
+export class AutomaticTransactionGenerator extends AsyncResource {
   private static readonly instances: Map<string, AutomaticTransactionGenerator> = new Map<
     string,
     AutomaticTransactionGenerator
index 62f04891150a4e4a9da67cbf0f92e083d10787ce..1acd5bcba83dc8a956c2c0824f41d8fb0dce7e61 100644 (file)
@@ -8,9 +8,9 @@ import chalk from 'chalk';
 
 import { ChargingStationUtils } from './ChargingStationUtils';
 import type { AbstractUIServer } from './ui-server/AbstractUIServer';
-import UIServerFactory from './ui-server/UIServerFactory';
+import { UIServerFactory } from './ui-server/UIServerFactory';
 import { version } from '../../package.json';
-import BaseError from '../exception/BaseError';
+import { BaseError } from '../exception';
 import type { Storage } from '../performance/storage/Storage';
 import { StorageFactory } from '../performance/storage/StorageFactory';
 import {
@@ -19,15 +19,13 @@ import {
   type ChargingStationWorkerMessage,
   type ChargingStationWorkerMessageData,
   ChargingStationWorkerMessageEvents,
-} from '../types/ChargingStationWorker';
-import type { StationTemplateUrl } from '../types/ConfigurationData';
-import type { Statistics } from '../types/Statistics';
-import type { MessageHandler } from '../types/Worker';
-import Configuration from '../utils/Configuration';
-import logger from '../utils/Logger';
-import Utils from '../utils/Utils';
-import type WorkerAbstract from '../worker/WorkerAbstract';
-import WorkerFactory from '../worker/WorkerFactory';
+  type StationTemplateUrl,
+  type Statistics,
+} from '../types';
+import { Configuration } from '../utils/Configuration';
+import { logger } from '../utils/Logger';
+import { Utils } from '../utils/Utils';
+import { type MessageHandler, type WorkerAbstract, WorkerFactory } from '../worker';
 
 const moduleName = 'Bootstrap';
 
index a425d865651ead0c168a714b163705255f5b3434..0118f3d14f1b858c9e2930caa86e316b55f51a7c 100644 (file)
@@ -9,92 +9,85 @@ import { parentPort } from 'worker_threads';
 import merge from 'just-merge';
 import WebSocket, { type RawData } from 'ws';
 
-import AuthorizedTagsCache from './AuthorizedTagsCache';
-import AutomaticTransactionGenerator from './AutomaticTransactionGenerator';
+import { AuthorizedTagsCache } from './AuthorizedTagsCache';
+import { AutomaticTransactionGenerator } from './AutomaticTransactionGenerator';
 import { ChargingStationConfigurationUtils } from './ChargingStationConfigurationUtils';
 import { ChargingStationUtils } from './ChargingStationUtils';
-import ChargingStationWorkerBroadcastChannel from './ChargingStationWorkerBroadcastChannel';
+import { ChargingStationWorkerBroadcastChannel } from './ChargingStationWorkerBroadcastChannel';
 import { MessageChannelUtils } from './MessageChannelUtils';
-import OCPP16IncomingRequestService from './ocpp/1.6/OCPP16IncomingRequestService';
-import OCPP16RequestService from './ocpp/1.6/OCPP16RequestService';
-import OCPP16ResponseService from './ocpp/1.6/OCPP16ResponseService';
+import { OCPP16IncomingRequestService } from './ocpp/1.6/OCPP16IncomingRequestService';
+import { OCPP16RequestService } from './ocpp/1.6/OCPP16RequestService';
+import { OCPP16ResponseService } from './ocpp/1.6/OCPP16ResponseService';
 import { OCPP16ServiceUtils } from './ocpp/1.6/OCPP16ServiceUtils';
-import OCPP20IncomingRequestService from './ocpp/2.0/OCPP20IncomingRequestService';
-import OCPP20RequestService from './ocpp/2.0/OCPP20RequestService';
-import OCPP20ResponseService from './ocpp/2.0/OCPP20ResponseService';
-import type OCPPIncomingRequestService from './ocpp/OCPPIncomingRequestService';
-import type OCPPRequestService from './ocpp/OCPPRequestService';
+import { OCPP20IncomingRequestService } from './ocpp/2.0/OCPP20IncomingRequestService';
+import { OCPP20RequestService } from './ocpp/2.0/OCPP20RequestService';
+import { OCPP20ResponseService } from './ocpp/2.0/OCPP20ResponseService';
+import type { OCPPIncomingRequestService } from './ocpp/OCPPIncomingRequestService';
+import type { OCPPRequestService } from './ocpp/OCPPRequestService';
 import { OCPPServiceUtils } from './ocpp/OCPPServiceUtils';
-import SharedLRUCache from './SharedLRUCache';
-import BaseError from '../exception/BaseError';
-import OCPPError from '../exception/OCPPError';
-import PerformanceStatistics from '../performance/PerformanceStatistics';
-import type { AutomaticTransactionGeneratorConfiguration } from '../types/AutomaticTransactionGenerator';
-import type { ChargingStationConfiguration } from '../types/ChargingStationConfiguration';
-import type { ChargingStationInfo } from '../types/ChargingStationInfo';
-import type { ChargingStationOcppConfiguration } from '../types/ChargingStationOcppConfiguration';
-import {
-  type ChargingStationTemplate,
-  CurrentType,
-  type FirmwareUpgrade,
-  PowerUnits,
-  type WsOptions,
-} from '../types/ChargingStationTemplate';
-import { SupervisionUrlDistribution } from '../types/ConfigurationData';
-import type { ConnectorStatus } from '../types/ConnectorStatus';
-import { FileType } from '../types/FileType';
-import type { JsonType } from '../types/JsonType';
-import {
-  ConnectorPhaseRotation,
-  StandardParametersKey,
-  SupportedFeatureProfiles,
-  VendorDefaultParametersKey,
-} from '../types/ocpp/Configuration';
-import { ConnectorStatusEnum } from '../types/ocpp/ConnectorStatusEnum';
-import { ErrorType } from '../types/ocpp/ErrorType';
-import { MessageType } from '../types/ocpp/MessageType';
-import { MeterValue, MeterValueMeasurand } from '../types/ocpp/MeterValues';
-import { OCPPVersion } from '../types/ocpp/OCPPVersion';
+import { SharedLRUCache } from './SharedLRUCache';
+import { BaseError, OCPPError } from '../exception';
+import { PerformanceStatistics } from '../performance/PerformanceStatistics';
 import {
+  type AutomaticTransactionGeneratorConfiguration,
   AvailabilityType,
   type BootNotificationRequest,
+  type BootNotificationResponse,
   type CachedRequest,
+  type ChargingStationConfiguration,
+  type ChargingStationInfo,
+  type ChargingStationOcppConfiguration,
+  type ChargingStationTemplate,
+  ConnectorPhaseRotation,
+  ConnectorStatus,
+  ConnectorStatusEnum,
+  CurrentType,
   type ErrorCallback,
+  type ErrorResponse,
+  ErrorType,
+  FileType,
   FirmwareStatus,
   type FirmwareStatusNotificationRequest,
+  type FirmwareStatusNotificationResponse,
+  type FirmwareUpgrade,
   type HeartbeatRequest,
+  type HeartbeatResponse,
   type IncomingRequest,
-  IncomingRequestCommand,
+  type IncomingRequestCommand,
+  type JsonType,
+  MessageType,
+  type MeterValue,
+  MeterValueMeasurand,
   type MeterValuesRequest,
+  type MeterValuesResponse,
+  OCPPVersion,
   type OutgoingRequest,
+  PowerUnits,
+  RegistrationStatusEnumType,
   RequestCommand,
+  type Response,
   type ResponseCallback,
+  StandardParametersKey,
   type StatusNotificationRequest,
-} from '../types/ocpp/Requests';
-import {
-  type BootNotificationResponse,
-  type ErrorResponse,
-  type FirmwareStatusNotificationResponse,
-  type HeartbeatResponse,
-  type MeterValuesResponse,
-  RegistrationStatusEnumType,
-  type Response,
   type StatusNotificationResponse,
-} from '../types/ocpp/Responses';
-import {
   StopTransactionReason,
   type StopTransactionRequest,
   type StopTransactionResponse,
-} from '../types/ocpp/Transaction';
-import { WSError, WebSocketCloseEventStatusCode } from '../types/WebSocket';
-import Configuration from '../utils/Configuration';
-import Constants from '../utils/Constants';
+  SupervisionUrlDistribution,
+  SupportedFeatureProfiles,
+  VendorDefaultParametersKey,
+  type WSError,
+  WebSocketCloseEventStatusCode,
+  type WsOptions,
+} from '../types';
+import { Configuration } from '../utils/Configuration';
+import { Constants } from '../utils/Constants';
 import { ACElectricUtils, DCElectricUtils } from '../utils/ElectricUtils';
-import FileUtils from '../utils/FileUtils';
-import logger from '../utils/Logger';
-import Utils from '../utils/Utils';
+import { FileUtils } from '../utils/FileUtils';
+import { logger } from '../utils/Logger';
+import { Utils } from '../utils/Utils';
 
-export default class ChargingStation {
+export class ChargingStation {
   public readonly index: number;
   public readonly templateFile: string;
   public stationInfo!: ChargingStationInfo;
index e31e6bfb010f44fffde1580d7a63d7ae178307c9..541fd4455df5ca70c4bd736aa6a6fa2a89bb7076 100644 (file)
@@ -1,7 +1,6 @@
-import type ChargingStation from './ChargingStation';
-import type { ConfigurationKey } from '../types/ChargingStationOcppConfiguration';
-import type { StandardParametersKey } from '../types/ocpp/Configuration';
-import logger from '../utils/Logger';
+import type { ChargingStation } from './ChargingStation';
+import type { ConfigurationKey, StandardParametersKey } from '../types';
+import { logger } from '../utils/Logger';
 
 type ConfigurationKeyOptions = { readonly?: boolean; visible?: boolean; reboot?: boolean };
 type DeleteConfigurationKeyParams = { save?: boolean; caseInsensitive?: boolean };
index 9d23f1b4d7e6135f94f9205b57c03b8b6ed175c8..92ed040696f2e60f0d3e7e13a4ee624ee3bf4047 100644 (file)
@@ -4,31 +4,31 @@ import { fileURLToPath } from 'node:url';
 
 import moment from 'moment';
 
-import type ChargingStation from './ChargingStation';
-import BaseError from '../exception/BaseError';
-import type { ChargingStationInfo } from '../types/ChargingStationInfo';
+import type { ChargingStation } from './ChargingStation';
+import { BaseError } from '../exception';
 import {
   AmpereUnits,
-  type ChargingStationTemplate,
-  CurrentType,
-  Voltage,
-} from '../types/ChargingStationTemplate';
-import { ChargingProfileKindType, RecurrencyKindType } from '../types/ocpp/1.6/ChargingProfile';
-import type { OCPP16BootNotificationRequest } from '../types/ocpp/1.6/Requests';
-import { BootReasonEnumType, type OCPP20BootNotificationRequest } from '../types/ocpp/2.0/Requests';
-import {
+  type BootNotificationRequest,
+  BootReasonEnumType,
   type ChargingProfile,
+  ChargingProfileKindType,
   ChargingRateUnitType,
   type ChargingSchedulePeriod,
-} from '../types/ocpp/ChargingProfile';
-import { OCPPVersion } from '../types/ocpp/OCPPVersion';
-import type { BootNotificationRequest } from '../types/ocpp/Requests';
-import { WorkerProcessType } from '../types/Worker';
-import Configuration from '../utils/Configuration';
-import Constants from '../utils/Constants';
+  type ChargingStationInfo,
+  type ChargingStationTemplate,
+  CurrentType,
+  type OCPP16BootNotificationRequest,
+  type OCPP20BootNotificationRequest,
+  OCPPVersion,
+  RecurrencyKindType,
+  Voltage,
+} from '../types';
+import { Configuration } from '../utils/Configuration';
+import { Constants } from '../utils/Constants';
 import { ACElectricUtils, DCElectricUtils } from '../utils/ElectricUtils';
-import logger from '../utils/Logger';
-import Utils from '../utils/Utils';
+import { logger } from '../utils/Logger';
+import { Utils } from '../utils/Utils';
+import { WorkerProcessType } from '../worker';
 
 const moduleName = 'ChargingStationUtils';
 
index 2204f308f699aff9179ab9c0096e11722df909ab..d28204e3a57c9ffc0316387beb8a5057de7f345a 100644 (file)
@@ -4,12 +4,11 @@ import { parentPort, workerData } from 'worker_threads';
 
 import { ThreadWorker } from 'poolifier';
 
-import ChargingStation from './ChargingStation';
+import { ChargingStation } from './ChargingStation';
 import { ChargingStationUtils } from './ChargingStationUtils';
-import type { ChargingStationWorkerData } from '../types/ChargingStationWorker';
-import { type WorkerMessage, WorkerMessageEvents } from '../types/Worker';
-import Utils from '../utils/Utils';
-import WorkerConstants from '../worker/WorkerConstants';
+import type { ChargingStationWorkerData } from '../types';
+import { Utils } from '../utils/Utils';
+import { WorkerConstants, type WorkerMessage, WorkerMessageEvents } from '../worker';
 
 // Conditionally export ThreadWorker instance for pool usage
 export let threadWorker: ThreadWorker;
index ef232641b18e3cc1025698d6b70afd377270b834..6ffa0f14d648b86941bddd2e764efefb3b2231fb 100644 (file)
@@ -1,52 +1,45 @@
-import type ChargingStation from './ChargingStation';
+import type { ChargingStation } from './ChargingStation';
 import { ChargingStationConfigurationUtils } from './ChargingStationConfigurationUtils';
 import { OCPP16ServiceUtils } from './ocpp/1.6/OCPP16ServiceUtils';
-import WorkerBroadcastChannel from './WorkerBroadcastChannel';
-import BaseError from '../exception/BaseError';
-import type OCPPError from '../exception/OCPPError';
-import { StandardParametersKey } from '../types/ocpp/Configuration';
+import { WorkerBroadcastChannel } from './WorkerBroadcastChannel';
+import { BaseError, type OCPPError } from '../exception';
 import {
+  AuthorizationStatus,
+  type AuthorizeRequest,
+  type AuthorizeResponse,
   type BootNotificationRequest,
-  type DataTransferRequest,
-  type DiagnosticsStatusNotificationRequest,
-  type FirmwareStatusNotificationRequest,
-  type HeartbeatRequest,
-  type MeterValuesRequest,
-  RequestCommand,
-  type RequestParams,
-  type StatusNotificationRequest,
-} from '../types/ocpp/Requests';
-import {
   type BootNotificationResponse,
+  BroadcastChannelProcedureName,
+  type BroadcastChannelRequest,
+  type BroadcastChannelRequestPayload,
+  type BroadcastChannelResponsePayload,
+  type DataTransferRequest,
   type DataTransferResponse,
   DataTransferStatus,
+  type DiagnosticsStatusNotificationRequest,
   type DiagnosticsStatusNotificationResponse,
+  type FirmwareStatusNotificationRequest,
   type FirmwareStatusNotificationResponse,
+  type HeartbeatRequest,
   type HeartbeatResponse,
+  type MessageEvent,
+  type MeterValuesRequest,
   type MeterValuesResponse,
   RegistrationStatusEnumType,
-  type StatusNotificationResponse,
-} from '../types/ocpp/Responses';
-import {
-  AuthorizationStatus,
-  type AuthorizeRequest,
-  type AuthorizeResponse,
+  RequestCommand,
+  type RequestParams,
+  ResponseStatus,
+  StandardParametersKey,
   type StartTransactionRequest,
   type StartTransactionResponse,
+  type StatusNotificationRequest,
+  type StatusNotificationResponse,
   type StopTransactionRequest,
   type StopTransactionResponse,
-} from '../types/ocpp/Transaction';
-import { ResponseStatus } from '../types/UIProtocol';
-import {
-  BroadcastChannelProcedureName,
-  type BroadcastChannelRequest,
-  type BroadcastChannelRequestPayload,
-  type BroadcastChannelResponsePayload,
-  type MessageEvent,
-} from '../types/WorkerBroadcastChannel';
-import Constants from '../utils/Constants';
-import logger from '../utils/Logger';
-import Utils from '../utils/Utils';
+} from '../types';
+import { Constants } from '../utils/Constants';
+import { logger } from '../utils/Logger';
+import { Utils } from '../utils/Utils';
 
 const moduleName = 'ChargingStationWorkerBroadcastChannel';
 
@@ -66,7 +59,7 @@ type CommandHandler = (
   requestPayload?: BroadcastChannelRequestPayload
 ) => Promise<CommandResponse | void> | void;
 
-export default class ChargingStationWorkerBroadcastChannel extends WorkerBroadcastChannel {
+export class ChargingStationWorkerBroadcastChannel extends WorkerBroadcastChannel {
   private readonly commandHandlers: Map<BroadcastChannelProcedureName, CommandHandler>;
   private readonly chargingStation: ChargingStation;
 
index 40496b602cf2456c88761966a231f0db21ed009e..d8f1aa105a926b4fc0cf3b2025c9b58f121a3bf4 100644 (file)
@@ -1,10 +1,10 @@
-import type ChargingStation from './ChargingStation';
+import type { ChargingStation } from './ChargingStation';
 import {
   type ChargingStationData,
   type ChargingStationWorkerMessage,
   ChargingStationWorkerMessageEvents,
-} from '../types/ChargingStationWorker';
-import type { Statistics } from '../types/Statistics';
+  type Statistics,
+} from '../types';
 
 export class MessageChannelUtils {
   private constructor() {
index 3e2e0de0f32b5319e43e18b9f95b788fc7c6a7bf..64ee0146faab86a6df151c5a96d0e5e916d44b66 100644 (file)
@@ -1,9 +1,8 @@
 import LRUCache from 'mnemonist/lru-map-with-delete';
 
 import { Bootstrap } from '../internal';
-import type { ChargingStationConfiguration } from '../types/ChargingStationConfiguration';
-import type { ChargingStationTemplate } from '../types/ChargingStationTemplate';
-import Utils from '../utils/Utils';
+import type { ChargingStationConfiguration, ChargingStationTemplate } from '../types';
+import { Utils } from '../utils/Utils';
 
 enum CacheType {
   CHARGING_STATION_TEMPLATE = 'chargingStationTemplate',
@@ -12,7 +11,7 @@ enum CacheType {
 
 type CacheableType = ChargingStationTemplate | ChargingStationConfiguration;
 
-export default class SharedLRUCache {
+export class SharedLRUCache {
   private static instance: SharedLRUCache | null = null;
   private readonly lruCache: LRUCache<string, CacheableType>;
 
index 0e84b3a120af43f277445b3ed3f98327fbb90862..77ae46f2bbb6c560cde45ba9234a917b65803515 100644 (file)
@@ -1,12 +1,13 @@
-import type AbstractUIService from './ui-server/ui-services/AbstractUIService';
-import WorkerBroadcastChannel from './WorkerBroadcastChannel';
-import { type ResponsePayload, ResponseStatus } from '../types/UIProtocol';
-import type {
-  BroadcastChannelResponse,
-  BroadcastChannelResponsePayload,
-  MessageEvent,
-} from '../types/WorkerBroadcastChannel';
-import logger from '../utils/Logger';
+import type { AbstractUIService } from './ui-server/ui-services/AbstractUIService';
+import { WorkerBroadcastChannel } from './WorkerBroadcastChannel';
+import {
+  type BroadcastChannelResponse,
+  type BroadcastChannelResponsePayload,
+  type MessageEvent,
+  type ResponsePayload,
+  ResponseStatus,
+} from '../types';
+import { logger } from '../utils/Logger';
 
 const moduleName = 'UIServiceWorkerBroadcastChannel';
 
@@ -16,7 +17,7 @@ type Responses = {
   responses: BroadcastChannelResponsePayload[];
 };
 
-export default class UIServiceWorkerBroadcastChannel extends WorkerBroadcastChannel {
+export class UIServiceWorkerBroadcastChannel extends WorkerBroadcastChannel {
   private readonly uiService: AbstractUIService;
   private readonly responses: Map<string, Responses>;
 
index 37987437eee496f7684bc1e2049d55fc90a71084..dd14d781ce61b207d2faf9a0cd42bff9d47933b3 100644 (file)
@@ -1,17 +1,17 @@
 import { BroadcastChannel } from 'worker_threads';
 
-import type { JsonType } from '../types/JsonType';
 import type {
   BroadcastChannelRequest,
   BroadcastChannelResponse,
+  JsonType,
   MessageEvent,
-} from '../types/WorkerBroadcastChannel';
-import logger from '../utils/Logger';
-import Utils from '../utils/Utils';
+} from '../types';
+import { logger } from '../utils/Logger';
+import { Utils } from '../utils/Utils';
 
 const moduleName = 'WorkerBroadcastChannel';
 
-export default abstract class WorkerBroadcastChannel extends BroadcastChannel {
+export abstract class WorkerBroadcastChannel extends BroadcastChannel {
   protected constructor() {
     super('worker');
   }
index b1df54b787b7f826d4b1863266af524031742704..e6b8cc979317eeeecd7e0112ad5b928fae8b9750 100644 (file)
@@ -9,89 +9,82 @@ import { Client, type FTPResponse } from 'basic-ftp';
 import tar from 'tar';
 
 import { OCPP16ServiceUtils } from './OCPP16ServiceUtils';
-import OCPPError from '../../../exception/OCPPError';
-import type { JsonObject, JsonType } from '../../../types/JsonType';
-import { OCPP16ChargePointErrorCode } from '../../../types/ocpp/1.6/ChargePointErrorCode';
-import { OCPP16ChargePointStatus } from '../../../types/ocpp/1.6/ChargePointStatus';
-import {
-  ChargingProfilePurposeType,
-  type OCPP16ChargingProfile,
-} from '../../../types/ocpp/1.6/ChargingProfile';
-import {
-  OCPP16StandardParametersKey,
-  OCPP16SupportedFeatureProfiles,
-} from '../../../types/ocpp/1.6/Configuration';
-import { OCPP16DiagnosticsStatus } from '../../../types/ocpp/1.6/DiagnosticsStatus';
+import { OCPPError } from '../../../exception';
 import {
   type ChangeAvailabilityRequest,
+  type ChangeAvailabilityResponse,
   type ChangeConfigurationRequest,
+  type ChangeConfigurationResponse,
+  ChargingProfilePurposeType,
   type ClearChargingProfileRequest,
+  type ClearChargingProfileResponse,
+  ErrorType,
+  type GenericResponse,
   type GetConfigurationRequest,
+  type GetConfigurationResponse,
   type GetDiagnosticsRequest,
+  type GetDiagnosticsResponse,
+  type IncomingRequestHandler,
+  type JsonObject,
+  type JsonType,
+  OCPP16AuthorizationStatus,
+  type OCPP16AuthorizeRequest,
+  type OCPP16AuthorizeResponse,
   OCPP16AvailabilityType,
   type OCPP16BootNotificationRequest,
+  type OCPP16BootNotificationResponse,
+  OCPP16ChargePointErrorCode,
+  OCPP16ChargePointStatus,
+  type OCPP16ChargingProfile,
   type OCPP16ClearCacheRequest,
   type OCPP16DataTransferRequest,
+  type OCPP16DataTransferResponse,
+  OCPP16DataTransferStatus,
   OCPP16DataTransferVendorId,
+  OCPP16DiagnosticsStatus,
   type OCPP16DiagnosticsStatusNotificationRequest,
+  type OCPP16DiagnosticsStatusNotificationResponse,
   OCPP16FirmwareStatus,
   type OCPP16FirmwareStatusNotificationRequest,
+  type OCPP16FirmwareStatusNotificationResponse,
   type OCPP16HeartbeatRequest,
+  type OCPP16HeartbeatResponse,
   OCPP16IncomingRequestCommand,
   OCPP16MessageTrigger,
   OCPP16RequestCommand,
+  OCPP16StandardParametersKey,
+  type OCPP16StartTransactionRequest,
+  type OCPP16StartTransactionResponse,
   type OCPP16StatusNotificationRequest,
+  type OCPP16StatusNotificationResponse,
+  OCPP16StopTransactionReason,
+  OCPP16SupportedFeatureProfiles,
   type OCPP16TriggerMessageRequest,
+  type OCPP16TriggerMessageResponse,
   type OCPP16UpdateFirmwareRequest,
+  type OCPP16UpdateFirmwareResponse,
+  type OCPPConfigurationKey,
+  OCPPVersion,
   type RemoteStartTransactionRequest,
   type RemoteStopTransactionRequest,
   type ResetRequest,
   type SetChargingProfileRequest,
-  type UnlockConnectorRequest,
-} from '../../../types/ocpp/1.6/Requests';
-import {
-  type ChangeAvailabilityResponse,
-  type ChangeConfigurationResponse,
-  type ClearChargingProfileResponse,
-  type GetConfigurationResponse,
-  type GetDiagnosticsResponse,
-  type OCPP16BootNotificationResponse,
-  type OCPP16DataTransferResponse,
-  OCPP16DataTransferStatus,
-  type OCPP16DiagnosticsStatusNotificationResponse,
-  type OCPP16FirmwareStatusNotificationResponse,
-  type OCPP16HeartbeatResponse,
-  type OCPP16StatusNotificationResponse,
-  type OCPP16TriggerMessageResponse,
-  type OCPP16UpdateFirmwareResponse,
   type SetChargingProfileResponse,
+  type UnlockConnectorRequest,
   type UnlockConnectorResponse,
-} from '../../../types/ocpp/1.6/Responses';
-import {
-  OCPP16AuthorizationStatus,
-  type OCPP16AuthorizeRequest,
-  type OCPP16AuthorizeResponse,
-  type OCPP16StartTransactionRequest,
-  type OCPP16StartTransactionResponse,
-  OCPP16StopTransactionReason,
-} from '../../../types/ocpp/1.6/Transaction';
-import type { OCPPConfigurationKey } from '../../../types/ocpp/Configuration';
-import { ErrorType } from '../../../types/ocpp/ErrorType';
-import { OCPPVersion } from '../../../types/ocpp/OCPPVersion';
-import type { IncomingRequestHandler } from '../../../types/ocpp/Requests';
-import type { GenericResponse } from '../../../types/ocpp/Responses';
-import Constants from '../../../utils/Constants';
-import logger from '../../../utils/Logger';
-import Utils from '../../../utils/Utils';
-import type ChargingStation from '../../ChargingStation';
+} from '../../../types';
+import { Constants } from '../../../utils/Constants';
+import { logger } from '../../../utils/Logger';
+import { Utils } from '../../../utils/Utils';
+import type { ChargingStation } from '../../ChargingStation';
 import { ChargingStationConfigurationUtils } from '../../ChargingStationConfigurationUtils';
 import { ChargingStationUtils } from '../../ChargingStationUtils';
-import OCPPConstants from '../OCPPConstants';
-import OCPPIncomingRequestService from '../OCPPIncomingRequestService';
+import { OCPPConstants } from '../OCPPConstants';
+import { OCPPIncomingRequestService } from '../OCPPIncomingRequestService';
 
 const moduleName = 'OCPP16IncomingRequestService';
 
-export default class OCPP16IncomingRequestService extends OCPPIncomingRequestService {
+export class OCPP16IncomingRequestService extends OCPPIncomingRequestService {
   protected jsonSchemas: Map<OCPP16IncomingRequestCommand, JSONSchemaType<JsonObject>>;
   private incomingRequestHandlers: Map<OCPP16IncomingRequestCommand, IncomingRequestHandler>;
 
index 98cf531723be791795bd5e1698b3489e4f86bf14..efbd603c98e170dce3f4a3192d7f62c758351f34 100644 (file)
@@ -3,36 +3,35 @@
 import type { JSONSchemaType } from 'ajv';
 
 import { OCPP16ServiceUtils } from './OCPP16ServiceUtils';
-import OCPPError from '../../../exception/OCPPError';
-import type { JsonObject, JsonType } from '../../../types/JsonType';
-import type { OCPP16MeterValuesRequest } from '../../../types/ocpp/1.6/MeterValues';
+import { OCPPError } from '../../../exception';
 import {
+  ErrorType,
+  type JsonObject,
+  type JsonType,
+  type OCPP16AuthorizeRequest,
   type OCPP16BootNotificationRequest,
   type OCPP16DataTransferRequest,
   type OCPP16DiagnosticsStatusNotificationRequest,
   type OCPP16FirmwareStatusNotificationRequest,
   type OCPP16HeartbeatRequest,
+  type OCPP16MeterValuesRequest,
   OCPP16RequestCommand,
+  type OCPP16StartTransactionRequest,
   type OCPP16StatusNotificationRequest,
-} from '../../../types/ocpp/1.6/Requests';
-import type {
-  OCPP16AuthorizeRequest,
-  OCPP16StartTransactionRequest,
-  OCPP16StopTransactionRequest,
-} from '../../../types/ocpp/1.6/Transaction';
-import { ErrorType } from '../../../types/ocpp/ErrorType';
-import { OCPPVersion } from '../../../types/ocpp/OCPPVersion';
-import type { RequestParams } from '../../../types/ocpp/Requests';
-import Constants from '../../../utils/Constants';
-import Utils from '../../../utils/Utils';
-import type ChargingStation from '../../ChargingStation';
-import OCPPConstants from '../OCPPConstants';
-import OCPPRequestService from '../OCPPRequestService';
-import type OCPPResponseService from '../OCPPResponseService';
+  type OCPP16StopTransactionRequest,
+  OCPPVersion,
+  type RequestParams,
+} from '../../../types';
+import { Constants } from '../../../utils/Constants';
+import { Utils } from '../../../utils/Utils';
+import type { ChargingStation } from '../../ChargingStation';
+import { OCPPConstants } from '../OCPPConstants';
+import { OCPPRequestService } from '../OCPPRequestService';
+import type { OCPPResponseService } from '../OCPPResponseService';
 
 const moduleName = 'OCPP16RequestService';
 
-export default class OCPP16RequestService extends OCPPRequestService {
+export class OCPP16RequestService extends OCPPRequestService {
   protected jsonSchemas: Map<OCPP16RequestCommand, JSONSchemaType<JsonObject>>;
 
   public constructor(ocppResponseService: OCPPResponseService) {
index 5433adecf704f658deeae8683f24d31e92cfb7ce..958f1a5d5b47c038a521e8339e4abaf4d82173fa 100644 (file)
@@ -3,64 +3,57 @@
 import type { JSONSchemaType } from 'ajv';
 
 import { OCPP16ServiceUtils } from './OCPP16ServiceUtils';
-import OCPPError from '../../../exception/OCPPError';
-import type { JsonObject, JsonType } from '../../../types/JsonType';
-import { OCPP16ChargePointErrorCode } from '../../../types/ocpp/1.6/ChargePointErrorCode';
-import { OCPP16ChargePointStatus } from '../../../types/ocpp/1.6/ChargePointStatus';
-import { OCPP16StandardParametersKey } from '../../../types/ocpp/1.6/Configuration';
-import type {
-  OCPP16MeterValuesRequest,
-  OCPP16MeterValuesResponse,
-} from '../../../types/ocpp/1.6/MeterValues';
-import {
-  type OCPP16BootNotificationRequest,
-  OCPP16IncomingRequestCommand,
-  OCPP16RequestCommand,
-  type OCPP16StatusNotificationRequest,
-} from '../../../types/ocpp/1.6/Requests';
-import type {
-  ChangeAvailabilityResponse,
-  ChangeConfigurationResponse,
-  ClearChargingProfileResponse,
-  GetConfigurationResponse,
-  GetDiagnosticsResponse,
-  OCPP16BootNotificationResponse,
-  OCPP16DataTransferResponse,
-  OCPP16DiagnosticsStatusNotificationResponse,
-  OCPP16FirmwareStatusNotificationResponse,
-  OCPP16HeartbeatResponse,
-  OCPP16StatusNotificationResponse,
-  OCPP16TriggerMessageResponse,
-  OCPP16UpdateFirmwareResponse,
-  SetChargingProfileResponse,
-  UnlockConnectorResponse,
-} from '../../../types/ocpp/1.6/Responses';
+import { OCPPError } from '../../../exception';
 import {
+  type ChangeAvailabilityResponse,
+  type ChangeConfigurationResponse,
+  type ClearChargingProfileResponse,
+  ErrorType,
+  type GenericResponse,
+  type GetConfigurationResponse,
+  type GetDiagnosticsResponse,
+  type JsonObject,
+  type JsonType,
   OCPP16AuthorizationStatus,
   type OCPP16AuthorizeRequest,
   type OCPP16AuthorizeResponse,
+  type OCPP16BootNotificationRequest,
+  type OCPP16BootNotificationResponse,
+  OCPP16ChargePointErrorCode,
+  OCPP16ChargePointStatus,
+  type OCPP16DataTransferResponse,
+  type OCPP16DiagnosticsStatusNotificationResponse,
+  type OCPP16FirmwareStatusNotificationResponse,
+  type OCPP16HeartbeatResponse,
+  OCPP16IncomingRequestCommand,
+  type OCPP16MeterValuesRequest,
+  type OCPP16MeterValuesResponse,
+  OCPP16RequestCommand,
+  OCPP16StandardParametersKey,
   type OCPP16StartTransactionRequest,
   type OCPP16StartTransactionResponse,
+  type OCPP16StatusNotificationRequest,
+  type OCPP16StatusNotificationResponse,
   type OCPP16StopTransactionRequest,
   type OCPP16StopTransactionResponse,
-} from '../../../types/ocpp/1.6/Transaction';
-import { ErrorType } from '../../../types/ocpp/ErrorType';
-import { OCPPVersion } from '../../../types/ocpp/OCPPVersion';
-import {
-  type GenericResponse,
+  type OCPP16TriggerMessageResponse,
+  type OCPP16UpdateFirmwareResponse,
+  OCPPVersion,
   RegistrationStatusEnumType,
   type ResponseHandler,
-} from '../../../types/ocpp/Responses';
-import Constants from '../../../utils/Constants';
-import logger from '../../../utils/Logger';
-import Utils from '../../../utils/Utils';
-import type ChargingStation from '../../ChargingStation';
+  type SetChargingProfileResponse,
+  type UnlockConnectorResponse,
+} from '../../../types';
+import { Constants } from '../../../utils/Constants';
+import { logger } from '../../../utils/Logger';
+import { Utils } from '../../../utils/Utils';
+import type { ChargingStation } from '../../ChargingStation';
 import { ChargingStationConfigurationUtils } from '../../ChargingStationConfigurationUtils';
-import OCPPResponseService from '../OCPPResponseService';
+import { OCPPResponseService } from '../OCPPResponseService';
 
 const moduleName = 'OCPP16ResponseService';
 
-export default class OCPP16ResponseService extends OCPPResponseService {
+export class OCPP16ResponseService extends OCPPResponseService {
   public jsonIncomingRequestResponseSchemas: Map<
     OCPP16IncomingRequestCommand,
     JSONSchemaType<JsonObject>
index eceb21488f6e4e320a19d9d1df52bd6c43b98c31..528a8aa71e53e03b155647f6b3826c99a3892c27 100644 (file)
@@ -5,39 +5,34 @@ import { fileURLToPath } from 'node:url';
 
 import type { JSONSchemaType } from 'ajv';
 
-import OCPPError from '../../../exception/OCPPError';
-import { CurrentType, Voltage } from '../../../types/ChargingStationTemplate';
-import type { JsonType } from '../../../types/JsonType';
-import type {
-  MeasurandPerPhaseSampledValueTemplates,
-  SampledValueTemplate,
-} from '../../../types/MeasurandPerPhaseSampledValueTemplates';
-import type { MeasurandValues } from '../../../types/MeasurandValues';
-import type { OCPP16ChargingProfile } from '../../../types/ocpp/1.6/ChargingProfile';
-import {
-  OCPP16StandardParametersKey,
-  OCPP16SupportedFeatureProfiles,
-} from '../../../types/ocpp/1.6/Configuration';
+import { OCPPError } from '../../../exception';
 import {
+  CurrentType,
+  ErrorType,
+  type JsonType,
+  type MeasurandPerPhaseSampledValueTemplates,
+  type MeasurandValues,
   MeterValueContext,
   MeterValueLocation,
   MeterValueUnit,
+  type OCPP16ChargingProfile,
+  type OCPP16IncomingRequestCommand,
   type OCPP16MeterValue,
   OCPP16MeterValueMeasurand,
   OCPP16MeterValuePhase,
-  type OCPP16SampledValue,
-} from '../../../types/ocpp/1.6/MeterValues';
-import {
-  type OCPP16IncomingRequestCommand,
   OCPP16RequestCommand,
-} from '../../../types/ocpp/1.6/Requests';
-import { ErrorType } from '../../../types/ocpp/ErrorType';
-import { OCPPVersion } from '../../../types/ocpp/OCPPVersion';
-import Constants from '../../../utils/Constants';
+  type OCPP16SampledValue,
+  OCPP16StandardParametersKey,
+  type OCPP16SupportedFeatureProfiles,
+  OCPPVersion,
+  type SampledValueTemplate,
+  Voltage,
+} from '../../../types';
+import { Constants } from '../../../utils/Constants';
 import { ACElectricUtils, DCElectricUtils } from '../../../utils/ElectricUtils';
-import logger from '../../../utils/Logger';
-import Utils from '../../../utils/Utils';
-import type ChargingStation from '../../ChargingStation';
+import { logger } from '../../../utils/Logger';
+import { Utils } from '../../../utils/Utils';
+import type { ChargingStation } from '../../ChargingStation';
 import { OCPPServiceUtils } from '../OCPPServiceUtils';
 
 export class OCPP16ServiceUtils extends OCPPServiceUtils {
index 182f58d7e89a629fd93cb514e376cb99fb0f2a99..95169e2b0d88f548a6829bde7cbeed6a314f3991 100644 (file)
@@ -3,22 +3,23 @@
 import type { JSONSchemaType } from 'ajv';
 
 import { OCPP20ServiceUtils } from './OCPP20ServiceUtils';
-import OCPPError from '../../../exception/OCPPError';
-import type { JsonObject, JsonType } from '../../../types/JsonType';
+import { OCPPError } from '../../../exception';
 import {
+  ErrorType,
+  type IncomingRequestHandler,
+  type JsonObject,
+  type JsonType,
   type OCPP20ClearCacheRequest,
   OCPP20IncomingRequestCommand,
-} from '../../../types/ocpp/2.0/Requests';
-import { ErrorType } from '../../../types/ocpp/ErrorType';
-import { OCPPVersion } from '../../../types/ocpp/OCPPVersion';
-import type { IncomingRequestHandler } from '../../../types/ocpp/Requests';
-import logger from '../../../utils/Logger';
-import type ChargingStation from '../../ChargingStation';
-import OCPPIncomingRequestService from '../OCPPIncomingRequestService';
+  OCPPVersion,
+} from '../../../types';
+import { logger } from '../../../utils/Logger';
+import type { ChargingStation } from '../../ChargingStation';
+import { OCPPIncomingRequestService } from '../OCPPIncomingRequestService';
 
 const moduleName = 'OCPP20IncomingRequestService';
 
-export default class OCPP20IncomingRequestService extends OCPPIncomingRequestService {
+export class OCPP20IncomingRequestService extends OCPPIncomingRequestService {
   protected jsonSchemas: Map<OCPP20IncomingRequestCommand, JSONSchemaType<JsonObject>>;
   private incomingRequestHandlers: Map<OCPP20IncomingRequestCommand, IncomingRequestHandler>;
 
index b9813d59d925b6d9360f5dec9f41fc13cd8a6112..bf8119c508b4825b6a6fbf931ec5ddc797af7446 100644 (file)
@@ -3,26 +3,27 @@
 import type { JSONSchemaType } from 'ajv';
 
 import { OCPP20ServiceUtils } from './OCPP20ServiceUtils';
-import OCPPError from '../../../exception/OCPPError';
-import type { JsonObject, JsonType } from '../../../types/JsonType';
+import { OCPPError } from '../../../exception';
 import {
+  ErrorType,
+  type JsonObject,
+  type JsonType,
   type OCPP20BootNotificationRequest,
   type OCPP20HeartbeatRequest,
   OCPP20RequestCommand,
   type OCPP20StatusNotificationRequest,
-} from '../../../types/ocpp/2.0/Requests';
-import { ErrorType } from '../../../types/ocpp/ErrorType';
-import { OCPPVersion } from '../../../types/ocpp/OCPPVersion';
-import type { RequestParams } from '../../../types/ocpp/Requests';
-import Utils from '../../../utils/Utils';
-import type ChargingStation from '../../ChargingStation';
-import OCPPConstants from '../OCPPConstants';
-import OCPPRequestService from '../OCPPRequestService';
-import type OCPPResponseService from '../OCPPResponseService';
+  OCPPVersion,
+  type RequestParams,
+} from '../../../types';
+import { Utils } from '../../../utils/Utils';
+import type { ChargingStation } from '../../ChargingStation';
+import { OCPPConstants } from '../OCPPConstants';
+import { OCPPRequestService } from '../OCPPRequestService';
+import type { OCPPResponseService } from '../OCPPResponseService';
 
 const moduleName = 'OCPP20RequestService';
 
-export default class OCPP20RequestService extends OCPPRequestService {
+export class OCPP20RequestService extends OCPPRequestService {
   protected jsonSchemas: Map<OCPP20RequestCommand, JSONSchemaType<JsonObject>>;
 
   public constructor(ocppResponseService: OCPPResponseService) {
index ee4c16065aa6239127cb9ee90755fdc208ee4f78..5561b82b0943c2b9e7c2a23c5533ef944b9c2bc2 100644 (file)
@@ -3,28 +3,30 @@
 import type { JSONSchemaType } from 'ajv';
 
 import { OCPP20ServiceUtils } from './OCPP20ServiceUtils';
-import OCPPError from '../../../exception/OCPPError';
-import type { JsonObject, JsonType } from '../../../types/JsonType';
+import { OCPPError } from '../../../exception';
 import {
+  ErrorType,
+  type JsonObject,
+  type JsonType,
+  OCPP16StandardParametersKey,
+  type OCPP20BootNotificationResponse,
+  type OCPP20ClearCacheResponse,
+  type OCPP20HeartbeatResponse,
   OCPP20IncomingRequestCommand,
   OCPP20RequestCommand,
-} from '../../../types/ocpp/2.0/Requests';
-import type {
-  OCPP20BootNotificationResponse,
-  OCPP20ClearCacheResponse,
-  OCPP20HeartbeatResponse,
-  OCPP20StatusNotificationResponse,
-} from '../../../types/ocpp/2.0/Responses';
-import { ErrorType } from '../../../types/ocpp/ErrorType';
-import { OCPPVersion } from '../../../types/ocpp/OCPPVersion';
-import { RegistrationStatusEnumType, ResponseHandler } from '../../../types/ocpp/Responses';
-import logger from '../../../utils/Logger';
-import type ChargingStation from '../../ChargingStation';
-import OCPPResponseService from '../OCPPResponseService';
+  type OCPP20StatusNotificationResponse,
+  OCPPVersion,
+  RegistrationStatusEnumType,
+  type ResponseHandler,
+} from '../../../types';
+import { logger } from '../../../utils/Logger';
+import type { ChargingStation } from '../../ChargingStation';
+import { ChargingStationConfigurationUtils } from '../../ChargingStationConfigurationUtils';
+import { OCPPResponseService } from '../OCPPResponseService';
 
 const moduleName = 'OCPP20ResponseService';
 
-export default class OCPP20ResponseService extends OCPPResponseService {
+export class OCPP20ResponseService extends OCPPResponseService {
   public jsonIncomingRequestResponseSchemas: Map<
     OCPP20IncomingRequestCommand,
     JSONSchemaType<JsonObject>
@@ -157,20 +159,20 @@ export default class OCPP20ResponseService extends OCPPResponseService {
     payload: OCPP20BootNotificationResponse
   ): void {
     if (payload.status === RegistrationStatusEnumType.ACCEPTED) {
-      // ChargingStationConfigurationUtils.addConfigurationKey(
-      //   chargingStation,
-      //   OCPP16StandardParametersKey.HeartbeatInterval,
-      //   payload.interval.toString(),
-      //   {},
-      //   { overwrite: true, save: true }
-      // );
-      // ChargingStationConfigurationUtils.addConfigurationKey(
-      //   chargingStation,
-      //   OCPP16StandardParametersKey.HeartBeatInterval,
-      //   payload.interval.toString(),
-      //   { visible: false },
-      //   { overwrite: true, save: true }
-      // );
+      ChargingStationConfigurationUtils.addConfigurationKey(
+        chargingStation,
+        OCPP16StandardParametersKey.HeartbeatInterval,
+        payload.interval.toString(),
+        {},
+        { overwrite: true, save: true }
+      );
+      ChargingStationConfigurationUtils.addConfigurationKey(
+        chargingStation,
+        OCPP16StandardParametersKey.HeartBeatInterval,
+        payload.interval.toString(),
+        { visible: false },
+        { overwrite: true, save: true }
+      );
       chargingStation.heartbeatSetInterval
         ? chargingStation.restartHeartbeat()
         : chargingStation.startHeartbeat();
index b155f462d2615a65e83f1580435709bb081d59f7..38b80968a4327cd5c00660321e3f4d77cb671a3a 100644 (file)
@@ -5,8 +5,7 @@ import { fileURLToPath } from 'node:url';
 
 import type { JSONSchemaType } from 'ajv';
 
-import type { JsonType } from '../../../types/JsonType';
-import { OCPPVersion } from '../../../types/ocpp/OCPPVersion';
+import { type JsonType, OCPPVersion } from '../../../types';
 import { OCPPServiceUtils } from '../OCPPServiceUtils';
 
 export class OCPP20ServiceUtils extends OCPPServiceUtils {
index a0b0d70a317a9e4089f03ca9f8055c28a14922a4..f6b9af807d5e0552adca1aae18f4c44c7fee699b 100644 (file)
@@ -7,9 +7,9 @@ import {
   GenericStatus,
   TriggerMessageStatus,
   UnlockStatus,
-} from '../../types/ocpp/Responses';
+} from '../../types';
 
-export default class OCPPConstants {
+export class OCPPConstants {
   static readonly OCPP_REQUEST_EMPTY = Object.freeze({});
   static readonly OCPP_RESPONSE_EMPTY = Object.freeze({});
   static readonly OCPP_RESPONSE_ACCEPTED = Object.freeze({ status: GenericStatus.ACCEPTED });
index 41c0e49bc844ab0c7073a1d254ad38cb50c9ba55..00059f4b5d6c5c0b3c27d6779ea19b2b0609c5f8 100644 (file)
@@ -3,21 +3,24 @@ import { AsyncResource } from 'async_hooks';
 import Ajv, { type JSONSchemaType } from 'ajv';
 import ajvFormats from 'ajv-formats';
 
-import OCPPConstants from './OCPPConstants';
+import { OCPPConstants } from './OCPPConstants';
 import { OCPPServiceUtils } from './OCPPServiceUtils';
-import OCPPError from '../../exception/OCPPError';
-import type { HandleErrorParams } from '../../types/Error';
-import type { JsonObject, JsonType } from '../../types/JsonType';
-import type { OCPPVersion } from '../../types/ocpp/OCPPVersion';
-import type { IncomingRequestCommand } from '../../types/ocpp/Requests';
-import type { ClearCacheResponse } from '../../types/ocpp/Responses';
-import logger from '../../utils/Logger';
-import type ChargingStation from '../ChargingStation';
+import { OCPPError } from '../../exception';
+import type {
+  ClearCacheResponse,
+  HandleErrorParams,
+  IncomingRequestCommand,
+  JsonObject,
+  JsonType,
+  OCPPVersion,
+} from '../../types';
+import { logger } from '../../utils/Logger';
+import type { ChargingStation } from '../ChargingStation';
 import { ChargingStationUtils } from '../ChargingStationUtils';
 
 const moduleName = 'OCPPIncomingRequestService';
 
-export default abstract class OCPPIncomingRequestService extends AsyncResource {
+export abstract class OCPPIncomingRequestService extends AsyncResource {
   private static instance: OCPPIncomingRequestService | null = null;
   private readonly version: OCPPVersion;
   private readonly ajv: Ajv;
index 6a7729950de33b2532fb1b8c0153dc170280a957..fc7291139c8f119977ae07cfc5e9517ddb21152e 100644 (file)
@@ -1,34 +1,36 @@
 import Ajv, { type JSONSchemaType } from 'ajv';
 import ajvFormats from 'ajv-formats';
 
-import type OCPPResponseService from './OCPPResponseService';
+import type { OCPPResponseService } from './OCPPResponseService';
 import { OCPPServiceUtils } from './OCPPServiceUtils';
-import OCPPError from '../../exception/OCPPError';
-import PerformanceStatistics from '../../performance/PerformanceStatistics';
-import type { EmptyObject } from '../../types/EmptyObject';
-import type { HandleErrorParams } from '../../types/Error';
-import type { JsonObject, JsonType } from '../../types/JsonType';
-import { ErrorType } from '../../types/ocpp/ErrorType';
-import { MessageType } from '../../types/ocpp/MessageType';
-import type { OCPPVersion } from '../../types/ocpp/OCPPVersion';
+import { OCPPError } from '../../exception';
+import { PerformanceStatistics } from '../../performance/PerformanceStatistics';
 import {
+  type EmptyObject,
   type ErrorCallback,
+  type ErrorResponse,
+  ErrorType,
+  type HandleErrorParams,
   type IncomingRequestCommand,
+  type JsonObject,
+  type JsonType,
+  MessageType,
+  type OCPPVersion,
   type OutgoingRequest,
   RequestCommand,
   type RequestParams,
+  type Response,
   type ResponseCallback,
   type ResponseType,
-} from '../../types/ocpp/Requests';
-import type { ErrorResponse, Response } from '../../types/ocpp/Responses';
-import Constants from '../../utils/Constants';
-import logger from '../../utils/Logger';
-import Utils from '../../utils/Utils';
-import type ChargingStation from '../ChargingStation';
+} from '../../types';
+import { Constants } from '../../utils/Constants';
+import { logger } from '../../utils/Logger';
+import { Utils } from '../../utils/Utils';
+import type { ChargingStation } from '../ChargingStation';
 
 const moduleName = 'OCPPRequestService';
 
-export default abstract class OCPPRequestService {
+export abstract class OCPPRequestService {
   private static instance: OCPPRequestService | null = null;
   private readonly version: OCPPVersion;
   private readonly ajv: Ajv;
index 80d5a68687b0ef1011feb4637cd3862acba608a3..ab17b05ad6bf2626dd03d7db2d34a196f71d9de7 100644 (file)
@@ -2,16 +2,20 @@ import Ajv, { type JSONSchemaType } from 'ajv';
 import ajvFormats from 'ajv-formats';
 
 import { OCPPServiceUtils } from './OCPPServiceUtils';
-import OCPPError from '../../exception/OCPPError';
-import type { JsonObject, JsonType } from '../../types/JsonType';
-import type { OCPPVersion } from '../../types/ocpp/OCPPVersion';
-import type { IncomingRequestCommand, RequestCommand } from '../../types/ocpp/Requests';
-import logger from '../../utils/Logger';
-import type ChargingStation from '../ChargingStation';
+import { OCPPError } from '../../exception';
+import type {
+  IncomingRequestCommand,
+  JsonObject,
+  JsonType,
+  OCPPVersion,
+  RequestCommand,
+} from '../../types';
+import { logger } from '../../utils/Logger';
+import type { ChargingStation } from '../ChargingStation';
 
 const moduleName = 'OCPPResponseService';
 
-export default abstract class OCPPResponseService {
+export abstract class OCPPResponseService {
   private static instance: OCPPResponseService | null = null;
   private readonly version: OCPPVersion;
   private readonly ajv: Ajv;
index 3fced606ba29e6b003aa1b16c0bafdcb4a3f533e..4b232033f70b1f71509e8034b4b6978a3a8194d8 100644 (file)
@@ -2,30 +2,32 @@ import fs from 'node:fs';
 
 import type { DefinedError, ErrorObject, JSONSchemaType } from 'ajv';
 
-import BaseError from '../../exception/BaseError';
-import { FileType } from '../../types/FileType';
-import type { JsonObject, JsonType } from '../../types/JsonType';
-import type { SampledValueTemplate } from '../../types/MeasurandPerPhaseSampledValueTemplates';
-import type { OCPP16StatusNotificationRequest } from '../../types/ocpp/1.6/Requests';
-import type { OCPP20StatusNotificationRequest } from '../../types/ocpp/2.0/Requests';
-import { ChargePointErrorCode } from '../../types/ocpp/ChargePointErrorCode';
-import { StandardParametersKey } from '../../types/ocpp/Configuration';
-import type { ConnectorStatusEnum } from '../../types/ocpp/ConnectorStatusEnum';
-import { ErrorType } from '../../types/ocpp/ErrorType';
-import { MessageType } from '../../types/ocpp/MessageType';
-import { MeterValueMeasurand, type MeterValuePhase } from '../../types/ocpp/MeterValues';
-import { OCPPVersion } from '../../types/ocpp/OCPPVersion';
+import { BaseError } from '../../exception';
 import {
+  ChargePointErrorCode,
+  type ConnectorStatusEnum,
+  ErrorType,
+  FileType,
   IncomingRequestCommand,
+  type JsonObject,
+  type JsonType,
   MessageTrigger,
+  MessageType,
+  MeterValueMeasurand,
+  type MeterValuePhase,
+  type OCPP16StatusNotificationRequest,
+  type OCPP20StatusNotificationRequest,
+  OCPPVersion,
   RequestCommand,
+  type SampledValueTemplate,
+  StandardParametersKey,
   type StatusNotificationRequest,
-} from '../../types/ocpp/Requests';
-import Constants from '../../utils/Constants';
-import FileUtils from '../../utils/FileUtils';
-import logger from '../../utils/Logger';
-import Utils from '../../utils/Utils';
-import type ChargingStation from '../ChargingStation';
+} from '../../types';
+import { Constants } from '../../utils/Constants';
+import { FileUtils } from '../../utils/FileUtils';
+import { logger } from '../../utils/Logger';
+import { Utils } from '../../utils/Utils';
+import type { ChargingStation } from '../ChargingStation';
 import { ChargingStationConfigurationUtils } from '../ChargingStationConfigurationUtils';
 
 export class OCPPServiceUtils {
index f69b9b3419924cf47a79dc5aeb0a8e6f4e5cdc00..053b1baecd450fba7d45691ffeabbe4a261bc510 100644 (file)
@@ -2,19 +2,19 @@ import { type IncomingMessage, Server, type ServerResponse } from 'http';
 
 import type { WebSocket } from 'ws';
 
-import type AbstractUIService from './ui-services/AbstractUIService';
-import UIServiceFactory from './ui-services/UIServiceFactory';
-import type { ChargingStationData } from '../../types/ChargingStationWorker';
-import type { UIServerConfiguration } from '../../types/ConfigurationData';
+import type { AbstractUIService } from './ui-services/AbstractUIService';
+import { UIServiceFactory } from './ui-services/UIServiceFactory';
 import {
   AuthenticationType,
+  type ChargingStationData,
   type ProcedureName,
   type ProtocolRequest,
   type ProtocolResponse,
   type ProtocolVersion,
   type RequestPayload,
   type ResponsePayload,
-} from '../../types/UIProtocol';
+  type UIServerConfiguration,
+} from '../../types';
 
 export abstract class AbstractUIServer {
   public readonly chargingStations: Map<string, ChargingStationData>;
index 48dfadbdddc8f611ec5fd5150c6ffda83f8c1b41..235273471079512c0b5e14378b291fdddd277215 100644 (file)
@@ -4,8 +4,7 @@ import { StatusCodes } from 'http-status-codes';
 
 import { AbstractUIServer } from './AbstractUIServer';
 import { UIServerUtils } from './UIServerUtils';
-import BaseError from '../../exception/BaseError';
-import type { UIServerConfiguration } from '../../types/ConfigurationData';
+import { BaseError } from '../../exception';
 import {
   type ProcedureName,
   type Protocol,
@@ -14,13 +13,14 @@ import {
   type ProtocolVersion,
   type RequestPayload,
   ResponseStatus,
-} from '../../types/UIProtocol';
-import logger from '../../utils/Logger';
-import Utils from '../../utils/Utils';
+  type UIServerConfiguration,
+} from '../../types';
+import { logger } from '../../utils/Logger';
+import { Utils } from '../../utils/Utils';
 
 const moduleName = 'UIHttpServer';
 
-export default class UIHttpServer extends AbstractUIServer {
+export class UIHttpServer extends AbstractUIServer {
   public constructor(protected readonly uiServerConfiguration: UIServerConfiguration) {
     super(uiServerConfiguration);
   }
index 9d2bc5741c7c30caee778135635e2b98e830e3b3..64d143d4a3d8bf3d2604568c84216e722319e062 100644 (file)
@@ -1,14 +1,13 @@
 import chalk from 'chalk';
 
 import type { AbstractUIServer } from './AbstractUIServer';
-import UIHttpServer from './UIHttpServer';
+import { UIHttpServer } from './UIHttpServer';
 import { UIServerUtils } from './UIServerUtils';
-import UIWebSocketServer from './UIWebSocketServer';
-import type { UIServerConfiguration } from '../../types/ConfigurationData';
-import { ApplicationProtocol } from '../../types/UIProtocol';
-import Configuration from '../../utils/Configuration';
+import { UIWebSocketServer } from './UIWebSocketServer';
+import { ApplicationProtocol, type UIServerConfiguration } from '../../types';
+import { Configuration } from '../../utils/Configuration';
 
-export default class UIServerFactory {
+export class UIServerFactory {
   private constructor() {
     // This is intentional
   }
index fc37ddc6cd89e82be004f7ff6deecf0d13425f3f..78590e09f1eddb65072b67d0938603ef94af545f 100644 (file)
@@ -1,8 +1,8 @@
 import type { IncomingMessage } from 'http';
 
-import { Protocol, ProtocolVersion } from '../../types/UIProtocol';
-import logger from '../../utils/Logger';
-import Utils from '../../utils/Utils';
+import { Protocol, ProtocolVersion } from '../../types';
+import { logger } from '../../utils/Logger';
+import { Utils } from '../../utils/Utils';
 
 export class UIServerUtils {
   private constructor() {
index 9e8ad84b08c9a3da734f2d00ae5962f48fcf73c3..3e2dd81392ac8888f58c60e8497517e45a2fbc21 100644 (file)
@@ -6,15 +6,18 @@ import WebSocket, { type RawData, WebSocketServer } from 'ws';
 
 import { AbstractUIServer } from './AbstractUIServer';
 import { UIServerUtils } from './UIServerUtils';
-import type { UIServerConfiguration } from '../../types/ConfigurationData';
-import type { ProtocolRequest, ProtocolResponse } from '../../types/UIProtocol';
-import { WebSocketCloseEventStatusCode } from '../../types/WebSocket';
-import logger from '../../utils/Logger';
-import Utils from '../../utils/Utils';
+import {
+  type ProtocolRequest,
+  type ProtocolResponse,
+  type UIServerConfiguration,
+  WebSocketCloseEventStatusCode,
+} from '../../types';
+import { logger } from '../../utils/Logger';
+import { Utils } from '../../utils/Utils';
 
 const moduleName = 'UIWebSocketServer';
 
-export default class UIWebSocketServer extends AbstractUIServer {
+export class UIWebSocketServer extends AbstractUIServer {
   private readonly webSocketServer: WebSocketServer;
 
   public constructor(protected readonly uiServerConfiguration: UIServerConfiguration) {
index 62249549c268b11b383dd151f91d23429a70fb4b..49d10abfa21e52b1075624bbf3f462881e6b8063 100644 (file)
@@ -1,7 +1,8 @@
-import BaseError from '../../../exception/BaseError';
-import type OCPPError from '../../../exception/OCPPError';
+import { BaseError, type OCPPError } from '../../../exception';
 import { Bootstrap } from '../../../internal';
 import {
+  BroadcastChannelProcedureName,
+  type BroadcastChannelRequestPayload,
   ProcedureName,
   type ProtocolRequest,
   type ProtocolRequestHandler,
@@ -9,19 +10,15 @@ import {
   type RequestPayload,
   type ResponsePayload,
   ResponseStatus,
-} from '../../../types/UIProtocol';
-import {
-  BroadcastChannelProcedureName,
-  type BroadcastChannelRequestPayload,
-} from '../../../types/WorkerBroadcastChannel';
-import logger from '../../../utils/Logger';
-import Utils from '../../../utils/Utils';
-import UIServiceWorkerBroadcastChannel from '../../UIServiceWorkerBroadcastChannel';
+} from '../../../types';
+import { logger } from '../../../utils/Logger';
+import { Utils } from '../../../utils/Utils';
+import { UIServiceWorkerBroadcastChannel } from '../../UIServiceWorkerBroadcastChannel';
 import type { AbstractUIServer } from '../AbstractUIServer';
 
 const moduleName = 'AbstractUIService';
 
-export default abstract class AbstractUIService {
+export abstract class AbstractUIService {
   protected static readonly ProcedureNameToBroadCastChannelProcedureNameMap: Omit<
     Record<ProcedureName, BroadcastChannelProcedureName>,
     | ProcedureName.START_SIMULATOR
index 0ac0daa0db77448e34250f713af800ed4a492782..598ebb269413c310b54e5a6072b939758e9e0e13 100644 (file)
@@ -1,12 +1,8 @@
-import AbstractUIService from './AbstractUIService';
-import {
-  ProcedureName,
-  type ProtocolRequestHandler,
-  ProtocolVersion,
-} from '../../../types/UIProtocol';
+import { AbstractUIService } from './AbstractUIService';
+import { type ProcedureName, type ProtocolRequestHandler, ProtocolVersion } from '../../../types';
 import type { AbstractUIServer } from '../AbstractUIServer';
 
-export default class UIService001 extends AbstractUIService {
+export class UIService001 extends AbstractUIService {
   constructor(uiServer: AbstractUIServer) {
     super(uiServer, ProtocolVersion['0.0.1']);
     for (const procedureName of Object.keys(
index 9f2d448b3eac147748791e9a197c57bd9a1a0809..47a1893dd2d0d040773cda0866897f59472e24e1 100644 (file)
@@ -1,9 +1,9 @@
-import type AbstractUIService from './AbstractUIService';
-import UIService001 from './UIService001';
-import { ProtocolVersion } from '../../../types/UIProtocol';
+import type { AbstractUIService } from './AbstractUIService';
+import { UIService001 } from './UIService001';
+import { ProtocolVersion } from '../../../types';
 import type { AbstractUIServer } from '../AbstractUIServer';
 
-export default class UIServiceFactory {
+export class UIServiceFactory {
   private constructor() {
     // This is intentional
   }
index 1471844cf4cf109e0df3895061b586d6c6c510c2..84421eac143b3db6440fd74cb2c8fc6ed8ec3eee 100644 (file)
@@ -1,4 +1,4 @@
-export default class BaseError extends Error {
+export class BaseError extends Error {
   public constructor(message?: string) {
     super(message);
     this.name = new.target.name;
index 8e7dcc2f62b3b64d9812e3ccbb1941b634973187..8ccc4fbf937000220be6cd026c8dec6f7cd9431d 100644 (file)
@@ -1,11 +1,14 @@
 // Partial Copyright Jerome Benoit. 2021-2023. All Rights Reserved.
 
-import BaseError from './BaseError';
-import type { JsonType } from '../types/JsonType';
-import { ErrorType } from '../types/ocpp/ErrorType';
-import type { IncomingRequestCommand, RequestCommand } from '../types/ocpp/Requests';
+import { BaseError } from './BaseError';
+import {
+  ErrorType,
+  type IncomingRequestCommand,
+  type JsonType,
+  type RequestCommand,
+} from '../types';
 
-export default class OCPPError extends BaseError {
+export class OCPPError extends BaseError {
   code: ErrorType;
   command?: RequestCommand | IncomingRequestCommand;
   details?: JsonType;
diff --git a/src/exception/index.ts b/src/exception/index.ts
new file mode 100644 (file)
index 0000000..49abdfc
--- /dev/null
@@ -0,0 +1,2 @@
+export * from './BaseError';
+export * from './OCPPError';
index aa0cc72325d903bf2de6ff0a8a44c8b959207f53..79650c8f438bbcfa4a7f49c6643692f5b881211d 100644 (file)
@@ -5,16 +5,20 @@ import { PerformanceEntry, PerformanceObserver, performance } from 'perf_hooks';
 import { parentPort } from 'worker_threads';
 
 import { MessageChannelUtils } from '../charging-station/MessageChannelUtils';
-import { MessageType } from '../types/ocpp/MessageType';
-import type { IncomingRequestCommand, RequestCommand } from '../types/ocpp/Requests';
-import type { Statistics, TimeSeries } from '../types/Statistics';
+import {
+  type IncomingRequestCommand,
+  MessageType,
+  type RequestCommand,
+  type Statistics,
+  type TimeSeries,
+} from '../types';
 import { CircularArray } from '../utils/CircularArray';
-import Configuration from '../utils/Configuration';
-import Constants from '../utils/Constants';
-import logger from '../utils/Logger';
-import Utils from '../utils/Utils';
+import { Configuration } from '../utils/Configuration';
+import { Constants } from '../utils/Constants';
+import { logger } from '../utils/Logger';
+import { Utils } from '../utils/Utils';
 
-export default class PerformanceStatistics {
+export class PerformanceStatistics {
   private static readonly instances: Map<string, PerformanceStatistics> = new Map<
     string,
     PerformanceStatistics
index bacc8d21486e02f2b1fd18e79c7db5d28fa71605..3128c862211f4df4866a1426aa53f7208c4219a2 100644 (file)
@@ -5,10 +5,9 @@ import fs from 'node:fs';
 import lockfile from 'proper-lockfile';
 
 import { Storage } from './Storage';
-import { FileType } from '../../types/FileType';
-import type { Statistics } from '../../types/Statistics';
-import FileUtils from '../../utils/FileUtils';
-import Utils from '../../utils/Utils';
+import { FileType, type Statistics } from '../../types';
+import { FileUtils } from '../../utils/FileUtils';
+import { Utils } from '../../utils/Utils';
 
 export class JsonFileStorage extends Storage {
   private fd: number | null = null;
index 69905d8d2916c6207dec489c54e66a7d62ed1a93..5d236f270791761e0fb869da1e26cf5bccd975fc 100644 (file)
@@ -4,11 +4,14 @@ import { Configuration, Connection, IDatabaseDriver, MikroORM, Options } from '@
 import { TsMorphMetadataProvider } from '@mikro-orm/reflection';
 
 import { Storage } from './Storage';
-import { PerformanceData } from '../../types/orm/entities/PerformanceData';
-import { PerformanceRecord } from '../../types/orm/entities/PerformanceRecord';
-import type { Statistics } from '../../types/Statistics';
-import { MikroORMDBType, StorageType } from '../../types/Storage';
-import Constants from '../../utils/Constants';
+import {
+  type MikroORMDBType,
+  PerformanceData,
+  PerformanceRecord,
+  type Statistics,
+  StorageType,
+} from '../../types';
+import { Constants } from '../../utils/Constants';
 
 export class MikroOrmStorage extends Storage {
   private storageType: StorageType;
index 9e5c06623830e3328979f88637ecc55571a012c7..32532eadb1f829acad8727e2a58295b55123f4f4 100644 (file)
@@ -3,9 +3,8 @@
 import { MongoClient } from 'mongodb';
 
 import { Storage } from './Storage';
-import type { Statistics } from '../../types/Statistics';
-import { StorageType } from '../../types/Storage';
-import Constants from '../../utils/Constants';
+import { type Statistics, StorageType } from '../../types';
+import { Constants } from '../../utils/Constants';
 
 export class MongoDBStorage extends Storage {
   private readonly client: MongoClient | null;
index 4b8f4c7cbb1c7f3c9cba6ceacfa709209565ac09..caa5fae26fbadb9820cedcb1675bc33088bd7c54 100644 (file)
@@ -2,12 +2,15 @@
 
 import { URL } from 'node:url';
 
-import type { EmptyObject } from '../../types/EmptyObject';
-import type { HandleErrorParams } from '../../types/Error';
-import type { Statistics } from '../../types/Statistics';
-import { DBName, StorageType } from '../../types/Storage';
-import logger from '../../utils/Logger';
-import Utils from '../../utils/Utils';
+import {
+  DBName,
+  type EmptyObject,
+  type HandleErrorParams,
+  type Statistics,
+  StorageType,
+} from '../../types';
+import { logger } from '../../utils/Logger';
+import { Utils } from '../../utils/Utils';
 
 export abstract class Storage {
   protected readonly storageUri: URL;
index 3da997257cc20c99e0ed3f5184abbe7db5583d55..09b58a15ffcda6b84363216bc2868eb84e6eb09f 100644 (file)
@@ -4,7 +4,7 @@ import { JsonFileStorage } from './JsonFileStorage';
 import { MikroOrmStorage } from './MikroOrmStorage';
 import { MongoDBStorage } from './MongoDBStorage';
 import type { Storage } from './Storage';
-import { StorageType } from '../../types/Storage';
+import { StorageType } from '../../types';
 
 export class StorageFactory {
   private constructor() {
index f0a58013d275f9adec5aa0c4d6384d76022c0a7c..9a9d357463a0fb5f5c246e4208a557c492f3ee31 100644 (file)
@@ -6,7 +6,7 @@ import type { ConnectorStatus } from './ConnectorStatus';
 import type { JsonObject } from './JsonType';
 import type { BootNotificationResponse } from './ocpp/Responses';
 import type { Statistics } from './Statistics';
-import { WorkerData, WorkerMessage, WorkerMessageEvents } from './Worker';
+import { type WorkerData, type WorkerMessage, WorkerMessageEvents } from '../worker';
 
 export interface ChargingStationWorkerOptions extends JsonObject {
   elementStartDelay?: number;
index b629dd3b0230fb116a73911a971c2ed7adb0a7c9..9688010a7e6fcd13593a26cacc95178421d60067 100644 (file)
@@ -4,7 +4,7 @@ import type { WorkerChoiceStrategy } from 'poolifier';
 
 import type { StorageType } from './Storage';
 import type { ApplicationProtocol, AuthenticationType } from './UIProtocol';
-import type { WorkerProcessType } from './Worker';
+import type { WorkerProcessType } from '../worker';
 
 export type ServerOptions = ListenOptions;
 
index 6abc1287c991368a6f2ca2343a8f86b545707a7b..782adae2465611ae5daf649c48ae61937937f250 100644 (file)
@@ -1,6 +1,6 @@
 import type { IncomingRequestCommand, RequestCommand } from './ocpp/Requests';
-import type { WorkerData } from './Worker';
 import type { CircularArray } from '../utils/CircularArray';
+import type { WorkerData } from '../worker';
 
 export type TimeSeries = {
   timestamp: number;
diff --git a/src/types/index.ts b/src/types/index.ts
new file mode 100644 (file)
index 0000000..1ca290d
--- /dev/null
@@ -0,0 +1,44 @@
+export * from './ocpp/ChargePointErrorCode';
+export * from './ocpp/ChargingProfile';
+export * from './ocpp/Configuration';
+export * from './ocpp/ConnectorStatusEnum';
+export * from './ocpp/ErrorType';
+export * from './ocpp/MessageType';
+export * from './ocpp/MeterValues';
+export * from './ocpp/OCPPProtocol';
+export * from './ocpp/OCPPVersion';
+export * from './ocpp/Requests';
+export * from './ocpp/Responses';
+export * from './ocpp/Transaction';
+export * from './ocpp/1.6/ChargePointErrorCode';
+export * from './ocpp/1.6/ChargePointStatus';
+export * from './ocpp/1.6/ChargingProfile';
+export * from './ocpp/1.6/Configuration';
+export * from './ocpp/1.6/DiagnosticsStatus';
+export * from './ocpp/1.6/MeterValues';
+export * from './ocpp/1.6/Requests';
+export * from './ocpp/1.6/Responses';
+export * from './ocpp/1.6/Transaction';
+export * from './ocpp/2.0/Requests';
+export * from './ocpp/2.0/Responses';
+export * from './orm/entities/PerformanceData';
+export * from './orm/entities/PerformanceRecord';
+export * from './AutomaticTransactionGenerator';
+export * from './ChargingStationConfiguration';
+export * from './ChargingStationInfo';
+export * from './ChargingStationOcppConfiguration';
+export * from './ChargingStationTemplate';
+export * from './ChargingStationWorker';
+export * from './ConfigurationData';
+export * from './ConnectorStatus';
+export * from './EmptyObject';
+export * from './Error';
+export * from './FileType';
+export * from './JsonType';
+export * from './MeasurandPerPhaseSampledValueTemplates';
+export * from './MeasurandValues';
+export * from './Statistics';
+export * from './Storage';
+export * from './UIProtocol';
+export * from './WebSocket';
+export * from './WorkerBroadcastChannel';
index 6e61fcc1ccdf9200cbb08232287952fe7cc1f280..8ef05664964013164f14264aa0f16b9ea2f2da21 100644 (file)
@@ -20,8 +20,8 @@ import {
   type OCPP20StatusNotificationRequest,
 } from './2.0/Requests';
 import type { MessageType } from './MessageType';
-import type ChargingStation from '../../charging-station/ChargingStation';
-import type OCPPError from '../../exception/OCPPError';
+import type { ChargingStation } from '../../charging-station/ChargingStation';
+import type { OCPPError } from '../../exception';
 import type { JsonType } from '../JsonType';
 
 export const RequestCommand = {
index df4bdf90fe084c0f7ea88207ebb0e081f404e5f4..c61b5463469bd059c9280e8cf9629a052d3a8794 100644 (file)
@@ -21,7 +21,7 @@ import type {
 } from './2.0/Responses';
 import type { ErrorType } from './ErrorType';
 import type { MessageType } from './MessageType';
-import type ChargingStation from '../../charging-station/ChargingStation';
+import type { ChargingStation } from '../../charging-station/ChargingStation';
 import type { JsonType } from '../JsonType';
 
 export type Response = [MessageType.CALL_RESULT_MESSAGE, string, JsonType];
index 2622fa7217869e20e08ba7ffcc1fbf405cca8869..fc7268aa5e2c2a20e9d91196cd5310ff9cbff8ce 100644 (file)
@@ -1,6 +1,6 @@
 import { Entity, ManyToOne, PrimaryKey, Property } from '@mikro-orm/core';
 
-import { PerformanceRecord } from './PerformanceRecord';
+import type { PerformanceRecord } from './PerformanceRecord';
 
 @Entity()
 export class PerformanceData {
index c71b3ee5098dd87113fe46695f570e860a42f2e2..16de0f899ab9aaed2145356fc0712d828faef5bb 100644 (file)
@@ -6,24 +6,23 @@ import chalk from 'chalk';
 import merge from 'just-merge';
 import { WorkerChoiceStrategies } from 'poolifier';
 
-import Constants from './Constants';
+import { Constants } from './Constants';
 import {
+  ApplicationProtocol,
   type ConfigurationData,
+  type EmptyObject,
+  FileType,
+  type HandleErrorParams,
   type StationTemplateUrl,
   type StorageConfiguration,
+  StorageType,
   SupervisionUrlDistribution,
   type UIServerConfiguration,
   type WorkerConfiguration,
-} from '../types/ConfigurationData';
-import type { EmptyObject } from '../types/EmptyObject';
-import type { HandleErrorParams } from '../types/Error';
-import { FileType } from '../types/FileType';
-import { StorageType } from '../types/Storage';
-import { ApplicationProtocol } from '../types/UIProtocol';
-import { WorkerProcessType } from '../types/Worker';
-import WorkerConstants from '../worker/WorkerConstants';
+} from '../types';
+import { WorkerConstants, WorkerProcessType } from '../worker';
 
-export default class Configuration {
+export class Configuration {
   private static configurationFile = path.join(
     path.resolve(path.dirname(fileURLToPath(import.meta.url)), '../'),
     'assets',
index c6c691b05e49706fc58fa4cf334d31eb1450df63..246aa7882e92a2b99b3dc54e074f833f6f9ecc6d 100644 (file)
@@ -1,6 +1,6 @@
-import { MeterValueMeasurand } from '../types/ocpp/MeterValues';
+import { MeterValueMeasurand } from '../types';
 
-export default class Constants {
+export class Constants {
   static readonly OCPP_DEFAULT_BOOT_NOTIFICATION_INTERVAL = 60000; // Ms
   static readonly OCPP_WEBSOCKET_TIMEOUT = 60000; // Ms
   static readonly OCPP_TRIGGER_MESSAGE_DELAY = 500; // Ms
index ee8f053c59e5d23c579d4d31234e0e255cb64cad..9b7f62e0af7431759af8d56c0f18f37f293d8a67 100644 (file)
@@ -2,14 +2,11 @@ import fs from 'node:fs';
 
 import chalk from 'chalk';
 
-import logger from './Logger';
-import Utils from './Utils';
-import type { EmptyObject } from '../types/EmptyObject';
-import type { HandleErrorParams } from '../types/Error';
-import type { FileType } from '../types/FileType';
-import type { JsonType } from '../types/JsonType';
+import { logger } from './Logger';
+import { Utils } from './Utils';
+import type { EmptyObject, FileType, HandleErrorParams, JsonType } from '../types';
 
-export default class FileUtils {
+export class FileUtils {
   private constructor() {
     // This is intentional
   }
index 53a4bf5f557caddb93ee60e4259a9d301a0dbbb0..96199e4f1a342101d678c0417807f53d3b4179e9 100644 (file)
@@ -3,8 +3,8 @@ import { type Logger, createLogger, format, type transport } from 'winston';
 import TransportType from 'winston/lib/winston/transports';
 import DailyRotateFile from 'winston-daily-rotate-file';
 
-import Configuration from './Configuration';
-import Utils from './Utils';
+import { Configuration } from './Configuration';
+import { Utils } from './Utils';
 
 let transports: transport[];
 if (Configuration.getLogRotate() === true) {
@@ -59,4 +59,4 @@ if (Configuration.getLogConsole()) {
   );
 }
 
-export default logger;
+export { logger };
index fa1c7b6b610fd5fa6a2043381cd44adecd88b7a6..0271754f1c00b5df6d24b90501cc4b7d4c831ee0 100644 (file)
@@ -3,10 +3,10 @@ import util from 'node:util';
 
 import clone from 'just-clone';
 
-import Constants from './Constants';
-import { WebSocketCloseEventStatusString } from '../types/WebSocket';
+import { Constants } from './Constants';
+import { WebSocketCloseEventStatusString } from '../types';
 
-export default class Utils {
+export class Utils {
   private constructor() {
     // This is intentional
   }
index 8588691dc3911e1e48f9aabe6f854dada52912fa..f677794883822ef2f4b2c1f075c793ae90612af0 100644 (file)
@@ -1,9 +1,9 @@
 import fs from 'node:fs';
 
-import WorkerConstants from './WorkerConstants';
-import type { WorkerData, WorkerOptions } from '../types/Worker';
+import { WorkerConstants } from './WorkerConstants';
+import type { WorkerData, WorkerOptions } from './WorkerTypes';
 
-export default abstract class WorkerAbstract<T extends WorkerData> {
+export abstract class WorkerAbstract<T extends WorkerData> {
   protected readonly workerScript: string;
   protected readonly workerOptions: WorkerOptions;
   public abstract readonly size: number;
index 1e2e8cdcb2227a2117695d5261928f8dceedab8f..8e34a165c7fcb0eecb60856e86d487f1483fbe90 100644 (file)
@@ -1,4 +1,4 @@
-export default class WorkerConstants {
+export class WorkerConstants {
   static readonly DEFAULT_ELEMENT_START_DELAY = 0;
   static readonly DEFAULT_WORKER_START_DELAY = 500;
   static readonly POOL_MAX_INACTIVE_TIME = 60000;
index 9926a09eab4e7162af72285bde4d6eec7af9e6de..889ae457de9d93626d80651d33ad64800529888c 100644 (file)
@@ -2,12 +2,11 @@ import type { Worker } from 'worker_threads';
 
 import { DynamicThreadPool, type ErrorHandler, type ExitHandler } from 'poolifier';
 
-import WorkerAbstract from './WorkerAbstract';
+import { WorkerAbstract } from './WorkerAbstract';
+import type { WorkerData, WorkerOptions } from './WorkerTypes';
 import { WorkerUtils } from './WorkerUtils';
-import type { WorkerData, WorkerOptions } from '../types/Worker';
-import Utils from '../utils/Utils';
 
-export default class WorkerDynamicPool extends WorkerAbstract<WorkerData> {
+export class WorkerDynamicPool extends WorkerAbstract<WorkerData> {
   private readonly pool: DynamicThreadPool<WorkerData>;
 
   /**
@@ -69,6 +68,6 @@ export default class WorkerDynamicPool extends WorkerAbstract<WorkerData> {
     await this.pool.execute(elementData);
     // Start element sequentially to optimize memory at startup
     this.workerOptions.elementStartDelay > 0 &&
-      (await Utils.sleep(this.workerOptions.elementStartDelay));
+      (await WorkerUtils.sleep(this.workerOptions.elementStartDelay));
   }
 }
index 465a3eff6657d0cc83b83fc83016f9d8a247e114..fb9a26f1ec2d675c9887ebb96a283a6c252be1f1 100644 (file)
@@ -2,14 +2,14 @@ import { type Worker, isMainThread } from 'worker_threads';
 
 import type { PoolOptions } from 'poolifier';
 
-import type WorkerAbstract from './WorkerAbstract';
-import WorkerConstants from './WorkerConstants';
-import WorkerDynamicPool from './WorkerDynamicPool';
-import WorkerSet from './WorkerSet';
-import WorkerStaticPool from './WorkerStaticPool';
-import { type WorkerData, type WorkerOptions, WorkerProcessType } from '../types/Worker';
+import type { WorkerAbstract } from './WorkerAbstract';
+import { WorkerConstants } from './WorkerConstants';
+import { WorkerDynamicPool } from './WorkerDynamicPool';
+import { WorkerSet } from './WorkerSet';
+import { WorkerStaticPool } from './WorkerStaticPool';
+import { type WorkerData, type WorkerOptions, WorkerProcessType } from './WorkerTypes';
 
-export default class WorkerFactory {
+export class WorkerFactory {
   private constructor() {
     // This is intentional
   }
index c5b2d84a7797bbc12ccb6dfe3c0bfc635ebc031f..a79db16e0313deef9270cdb7a61b6e16398376c0 100644 (file)
@@ -2,18 +2,17 @@
 
 import { Worker } from 'worker_threads';
 
-import WorkerAbstract from './WorkerAbstract';
-import { WorkerUtils } from './WorkerUtils';
+import { WorkerAbstract } from './WorkerAbstract';
 import {
   type MessageHandler,
   type WorkerData,
   WorkerMessageEvents,
   type WorkerOptions,
   type WorkerSetElement,
-} from '../types/Worker';
-import Utils from '../utils/Utils';
+} from './WorkerTypes';
+import { WorkerUtils } from './WorkerUtils';
 
-export default class WorkerSet extends WorkerAbstract<WorkerData> {
+export class WorkerSet extends WorkerAbstract<WorkerData> {
   private readonly workerSet: Set<WorkerSetElement>;
 
   /**
@@ -58,7 +57,7 @@ export default class WorkerSet extends WorkerAbstract<WorkerData> {
     this.getLastWorkerSetElement().numberOfWorkerElements++;
     // Start element sequentially to optimize memory at startup
     if (this.workerOptions.elementStartDelay > 0) {
-      await Utils.sleep(this.workerOptions.elementStartDelay);
+      await WorkerUtils.sleep(this.workerOptions.elementStartDelay);
     }
   }
 
@@ -105,7 +104,7 @@ export default class WorkerSet extends WorkerAbstract<WorkerData> {
     this.workerSet.add({ worker, numberOfWorkerElements: 0 });
     // Start worker sequentially to optimize memory at startup
     this.workerOptions.workerStartDelay > 0 &&
-      (await Utils.sleep(this.workerOptions.workerStartDelay));
+      (await WorkerUtils.sleep(this.workerOptions.workerStartDelay));
   }
 
   private getLastWorkerSetElement(): WorkerSetElement {
index 2ec049e15514d356fbb0b787c43f48e3efd9d1ff..58e4c65a072091ced7c0fff24bd68d09bddf7bdc 100644 (file)
@@ -2,12 +2,11 @@ import type { Worker } from 'worker_threads';
 
 import { type ErrorHandler, type ExitHandler, FixedThreadPool } from 'poolifier';
 
-import WorkerAbstract from './WorkerAbstract';
+import { WorkerAbstract } from './WorkerAbstract';
+import type { WorkerData, WorkerOptions } from './WorkerTypes';
 import { WorkerUtils } from './WorkerUtils';
-import type { WorkerData, WorkerOptions } from '../types/Worker';
-import Utils from '../utils/Utils';
 
-export default class WorkerStaticPool extends WorkerAbstract<WorkerData> {
+export class WorkerStaticPool extends WorkerAbstract<WorkerData> {
   private readonly pool: FixedThreadPool<WorkerData>;
 
   /**
@@ -68,6 +67,6 @@ export default class WorkerStaticPool extends WorkerAbstract<WorkerData> {
     await this.pool.execute(elementData);
     // Start element sequentially to optimize memory at startup
     this.workerOptions.elementStartDelay > 0 &&
-      (await Utils.sleep(this.workerOptions.elementStartDelay));
+      (await WorkerUtils.sleep(this.workerOptions.elementStartDelay));
   }
 }
index 2b6123514633799c668060ff755e4d7a645394a7..7c72ff3e57fcac90ed51150f7780727a754df808 100644 (file)
@@ -5,6 +5,10 @@ export class WorkerUtils {
     // This is intentional
   }
 
+  public static async sleep(milliSeconds: number): Promise<NodeJS.Timeout> {
+    return new Promise((resolve) => setTimeout(resolve as () => void, milliSeconds));
+  }
+
   public static defaultExitHandler = (code: number): void => {
     if (code !== 0) {
       console.error(chalk.red(`Worker exited with error exit code: ${code.toString()}`));
diff --git a/src/worker/index.ts b/src/worker/index.ts
new file mode 100644 (file)
index 0000000..fdc278d
--- /dev/null
@@ -0,0 +1,10 @@
+export * from './WorkerAbstract';
+export * from './WorkerConstants';
+export * from './WorkerFactory';
+export {
+  WorkerProcessType,
+  WorkerData,
+  WorkerMessage,
+  WorkerMessageEvents,
+  MessageHandler,
+} from './WorkerTypes';
index 836e41b93bea826baaa3a67ddd7c868aaf074bcd..b189bfd52208934fe78d4d6f67e372909cdea9e1 100644 (file)
@@ -1,7 +1,7 @@
 import expect from 'expect';
 
-import Constants from '../../src/utils/Constants';
-import Utils from '../../src/utils/Utils';
+import { Constants } from '../../src/utils/Constants';
+import { Utils } from '../../src/utils/Utils';
 
 describe('Utils test suite', () => {
   it('Verify generateUUID()/validateUUID()', () => {