// Partial Copyright Jerome Benoit. 2021-2023. All Rights Reserved.
-import { AsyncResource } from 'async_hooks';
+import { AsyncResource } from 'node:async_hooks';
-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 { type ChargingStation, ChargingStationUtils } from './internal';
+import { BaseError } from '../exception';
+// import { PerformanceStatistics } from '../performance';
+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, Utils, logger } from '../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
) => Promise<void>,
this,
connectorId
- ).catch(() => {
- /* This is intentional */
- });
+ ).catch(Constants.EMPTY_FUNCTION);
} else if (this.connectorsStatus.get(connectorId)?.start === true) {
logger.warn(`${this.logPrefix(connectorId)} is already started on connector`);
}
}
}
- private logPrefix(connectorId?: number): string {
+ private logPrefix = (connectorId?: number): string => {
return Utils.logPrefix(
` ${this.chargingStation.stationInfo.chargingStationId} | ATG${
connectorId !== undefined ? ` on connector #${connectorId.toString()}` : ''
}:`
);
- }
+ };
private handleStartTransactionResponse(
connectorId: number,