1 import { DefinedError
, ErrorObject
} from
'ajv';
3 import { ErrorType
} from
'../../types/ocpp/ErrorType';
5 export class OCPPServiceUtils
{
6 protected constructor() {
10 public static ajvErrorsToErrorType(errors
: ErrorObject
[]): ErrorType
{
11 for (const error
of errors
as DefinedError
[]) {
12 switch (error
.keyword
) {
14 return ErrorType
.TYPE_CONSTRAINT_VIOLATION
;
17 return ErrorType
.OCCURRENCE_CONSTRAINT_VIOLATION
;
20 return ErrorType
.PROPERTY_CONSTRAINT_VIOLATION
;
23 return ErrorType
.FORMAT_VIOLATION
;
26 protected static getLimitFromSampledValueTemplateCustomValue(
29 options
: { limitationEnabled
?: boolean; unitMultiplier
?: number } = {
30 limitationEnabled
: true,
34 options
.limitationEnabled
= options
?.limitationEnabled
?? true;
35 options
.unitMultiplier
= options
?.unitMultiplier
?? 1;
36 const numberValue
= isNaN(parseInt(value
)) ? Infinity : parseInt(value
);
37 return options
?.limitationEnabled
38 ? Math.min(numberValue
* options
.unitMultiplier
, limit
)
39 : numberValue
* options
.unitMultiplier
;