UNPKG

@citrineos/data

Version:

The OCPP data module which includes all persistence layer implementation.

50 lines 2.19 kB
"use strict"; // Copyright Contributors to the CitrineOS Project // // SPDX-License-Identifier: Apache 2.0 Object.defineProperty(exports, "__esModule", { value: true }); exports.MeterValueMapper = void 0; class MeterValueMapper { static toMeterValueType(meterValue) { return { timestamp: meterValue.timestamp, sampledValue: MeterValueMapper.toSampledValueTypes(meterValue.sampledValue), customData: meterValue.customData, }; } static toSampledValueTypes(sampledValues) { if (!(sampledValues instanceof Array) || sampledValues.length === 0) { throw new Error(`Invalid sampledValues: ${JSON.stringify(sampledValues)}`); } const sampledValueTypes = []; for (const sampledValue of sampledValues) { sampledValueTypes.push({ value: sampledValue.value, context: sampledValue.context, measurand: sampledValue.measurand, phase: sampledValue.phase, location: sampledValue.location, signedMeterValue: sampledValue.signedMeterValue ? { signedMeterData: sampledValue.signedMeterValue.signedMeterData, signingMethod: sampledValue.signedMeterValue.signingMethod, encodingMethod: sampledValue.signedMeterValue.encodingMethod, publicKey: sampledValue.signedMeterValue.publicKey, customData: sampledValue.signedMeterValue.customData, } : undefined, unitOfMeasure: sampledValue.unitOfMeasure ? { unit: sampledValue.unitOfMeasure.unit, multiplier: sampledValue.unitOfMeasure.multiplier, customData: sampledValue.unitOfMeasure.customData, } : undefined, customData: sampledValue.customData, }); } return sampledValueTypes; } } exports.MeterValueMapper = MeterValueMapper; //# sourceMappingURL=MeterValueMapper.js.map