]> Piment Noir Git Repositories - e-mobility-charging-stations-simulator.git/commitdiff
refactor(ocpp): extract buildEmptyMeterValue helper for empty MeterValue construction
authorJérôme Benoit <jerome.benoit@sap.com>
Tue, 24 Mar 2026 00:16:06 +0000 (01:16 +0100)
committerJérôme Benoit <jerome.benoit@sap.com>
Tue, 24 Mar 2026 00:19:37 +0000 (01:19 +0100)
Replace 4 inline { sampledValue: [], timestamp: new Date() } constructions
with buildEmptyMeterValue() helper in OCPPServiceUtils and OCPP16ServiceUtils.

src/charging-station/ocpp/1.6/OCPP16ServiceUtils.ts
src/charging-station/ocpp/OCPPServiceUtils.ts

index 3166fb903824c57d9bd8a1404843a22a5f80cc1f..0604a4babd122595850b85772bc587b4d766a8d0 100644 (file)
@@ -52,6 +52,7 @@ import {
   roundTo,
 } from '../../../utils/index.js'
 import {
+  buildEmptyMeterValue,
   buildMeterValue,
   buildTransactionEndMeterValue,
   OCPPServiceUtils,
@@ -102,10 +103,7 @@ export class OCPP16ServiceUtils extends OCPPServiceUtils {
     connectorId: number,
     meterStart: number | undefined
   ): OCPP16MeterValue {
-    const meterValue: OCPP16MeterValue = {
-      sampledValue: [],
-      timestamp: new Date(),
-    }
+    const meterValue = buildEmptyMeterValue() as OCPP16MeterValue
     // Energy.Active.Import.Register measurand (default)
     const sampledValueTemplate = OCPP16ServiceUtils.getSampledValueTemplate(
       chargingStation,
index 7b30acd1ca79cbe065a4d22e0accfe8c99df3b15..c90013a68bffa97f51508a3305db037edcabb712 100644 (file)
@@ -1553,6 +1553,11 @@ const buildCurrentMeasurandValue = (
   }
 }
 
+export const buildEmptyMeterValue = (): MeterValue => ({
+  sampledValue: [],
+  timestamp: new Date(),
+})
+
 export const buildMeterValue = (
   chargingStation: ChargingStation,
   transactionId: number | string | undefined,
@@ -1560,7 +1565,7 @@ export const buildMeterValue = (
   debug = false
 ): MeterValue => {
   if (transactionId == null) {
-    return { sampledValue: [], timestamp: new Date() }
+    return buildEmptyMeterValue()
   }
   switch (chargingStation.stationInfo?.ocppVersion) {
     case OCPPVersion.VERSION_16: {
@@ -1573,10 +1578,7 @@ export const buildMeterValue = (
         )
       }
       const connector = chargingStation.getConnectorStatus(connectorId)
-      const meterValue: OCPP16MeterValue = {
-        sampledValue: [],
-        timestamp: new Date(),
-      }
+      const meterValue = buildEmptyMeterValue() as OCPP16MeterValue
       const buildVersionedSampledValue = (
         sampledValueTemplate: SampledValueTemplate,
         value: number,
@@ -1795,10 +1797,7 @@ export const buildMeterValue = (
         )
       }
       const connector = chargingStation.getConnectorStatus(connectorId)
-      const meterValue: OCPP20MeterValue = {
-        sampledValue: [],
-        timestamp: new Date(),
-      }
+      const meterValue = buildEmptyMeterValue() as OCPP20MeterValue
       const buildVersionedSampledValue = (
         sampledValueTemplate: SampledValueTemplate,
         value: number,
@@ -1938,10 +1937,7 @@ export const buildTransactionEndMeterValue = (
   const unitDivider = sampledValueTemplate.unit === MeterValueUnit.KILO_WATT_HOUR ? 1000 : 1
   switch (chargingStation.stationInfo?.ocppVersion) {
     case OCPPVersion.VERSION_16: {
-      const meterValue: OCPP16MeterValue = {
-        sampledValue: [],
-        timestamp: new Date(),
-      }
+      const meterValue = buildEmptyMeterValue() as OCPP16MeterValue
       meterValue.sampledValue.push(
         buildSampledValueForOCPP16(
           sampledValueTemplate,
@@ -1953,10 +1949,7 @@ export const buildTransactionEndMeterValue = (
     }
     case OCPPVersion.VERSION_20:
     case OCPPVersion.VERSION_201: {
-      const meterValue: OCPP20MeterValue = {
-        sampledValue: [],
-        timestamp: new Date(),
-      }
+      const meterValue = buildEmptyMeterValue() as OCPP20MeterValue
       meterValue.sampledValue.push(
         buildSampledValueForOCPP20(
           sampledValueTemplate,