fix: brown paper bag issue at referencing the same literal object instance
[e-mobility-charging-stations-simulator.git] / src / charging-station / ocpp / 2.0 / OCPP20ServiceUtils.ts
index 63e43115dabaf6db2ccdba3c3dee653b91948bb9..9fb61bd0c49eb07b4872840fb336ebbcbaaf0228 100644 (file)
@@ -1,5 +1,24 @@
 // Partial Copyright Jerome Benoit. 2021-2023. All Rights Reserved.
 
-import { OCPPServiceUtils } from '../OCPPServiceUtils';
+import path from 'node:path';
+import { fileURLToPath } from 'node:url';
 
-export class OCPP20ServiceUtils extends OCPPServiceUtils {}
+import type { JSONSchemaType } from 'ajv';
+
+import { type JsonType, OCPPVersion } from '../../../types';
+import { OCPPServiceUtils } from '../internal';
+
+export class OCPP20ServiceUtils extends OCPPServiceUtils {
+  public static parseJsonSchemaFile<T extends JsonType>(
+    relativePath: string,
+    moduleName?: string,
+    methodName?: string
+  ): JSONSchemaType<T> {
+    return super.parseJsonSchemaFile<T>(
+      path.resolve(path.dirname(fileURLToPath(import.meta.url)), relativePath),
+      OCPPVersion.VERSION_20,
+      moduleName,
+      methodName
+    );
+  }
+}