From a5609af13efcdf245c228ac1a9306498bc4c06bd Mon Sep 17 00:00:00 2001
From: Jan Loewe <jan.loewe@ptb.de>
Date: Tue, 14 Feb 2023 13:56:59 +0100
Subject: [PATCH] feat(equipmentClassType): allow multiple use

---
 src/DCC.ts | 16 ++++++++--------
 1 file changed, 8 insertions(+), 8 deletions(-)

diff --git a/src/DCC.ts b/src/DCC.ts
index 1449c94..6269ee5 100644
--- a/src/DCC.ts
+++ b/src/DCC.ts
@@ -227,7 +227,7 @@ export class PerformanceLocationType extends DCCXMLElement {
  * Contains one or more item elements. */
 export class ItemListType extends DCCXMLElement {
   name?: TextType;
-  equipmentClass?: EquipmentClassType;
+  equipmentClass?: EquipmentClassType[];
   description?: RichContentType;
   owner?: ContactType;
   identifications?: IdentificationListType;
@@ -236,7 +236,7 @@ export class ItemListType extends DCCXMLElement {
   constructor(el: Partial<ItemListType> = {}) {
     super(el);
     if (el.name) this.name = new TextType(el.name);
-    if (el.equipmentClass) this.equipmentClass = new EquipmentClassType(el.equipmentClass);
+    if (el.equipmentClass) this.equipmentClass = ensureArray(el.equipmentClass).map((x) => new EquipmentClassType(x));
     if (el.description) this.description = new RichContentType(el.description);
     if (el.owner) this.owner = new ContactType(el.owner);
     if (el.identifications) this.identifications = new IdentificationListType(el.identifications);
@@ -417,7 +417,7 @@ export class RichContentType extends DCCXMLElement {
 /** List of measuring equipment and instruments */
 export class MeasuringEquipmentListType extends DCCXMLElement {
   name?: TextType;
-  equipmentClass?: EquipmentClassType;
+  equipmentClass?: EquipmentClassType[];
   description?: RichContentType;
   owner?: ContactType;
   identifications?: IdentificationListType;
@@ -426,7 +426,7 @@ export class MeasuringEquipmentListType extends DCCXMLElement {
   constructor(el: Partial<MeasuringEquipmentListType> = {}) {
     super(el);
     if (el.name) this.name = new TextType(el.name);
-    if (el.equipmentClass) this.equipmentClass = new EquipmentClassType(el.equipmentClass);
+    if (el.equipmentClass) this.equipmentClass = ensureArray(el.equipmentClass).map((x) => new EquipmentClassType(x));
     if (el.description) this.description = new RichContentType(el.description);
     if (el.owner) this.owner = new ContactType(el.owner);
     if (el.identifications) this.identifications = new IdentificationListType(el.identifications);
@@ -463,7 +463,7 @@ export class MeasuringEquipmentType extends DCCXMLElement {
   _attr: IIdAndRefTypeAttributes;
 
   name: TextType;
-  equipmentClass?: EquipmentClassType;
+  equipmentClass?: EquipmentClassType[];
   description?: RichContentType;
   certificate?: HashType;
   manufacturer?: ContactNotStrictType;
@@ -474,7 +474,7 @@ export class MeasuringEquipmentType extends DCCXMLElement {
   constructor(el: Partial<MeasuringEquipmentType> = {}) {
     super(el);
     this.name = new TextType(el.name);
-    if (el.equipmentClass) this.equipmentClass = new EquipmentClassType(el.equipmentClass);
+    if (el.equipmentClass) this.equipmentClass = ensureArray(el.equipmentClass).map((x) => new EquipmentClassType(x));
     if (el.description) this.description = new RichContentType(el.description);
     if (el.certificate) this.certificate = new HashType(el.certificate);
     if (el.manufacturer) this.manufacturer = new ContactNotStrictType(el.manufacturer);
@@ -703,7 +703,7 @@ export class ItemType extends DCCXMLElement {
   _attr: IIdAttributes;
 
   name: TextType;
-  equipmentClass?: EquipmentClassType;
+  equipmentClass?: EquipmentClassType[];
   description?: RichContentType;
   installedSoftwares?: SoftwareListType;
   manufacturer: ContactNotStrictType;
@@ -714,7 +714,7 @@ export class ItemType extends DCCXMLElement {
   constructor(el: Partial<ItemType> = {}) {
     super(el);
     this.name = new TextType(el.name);
-    if (el.equipmentClass) this.equipmentClass = new EquipmentClassType(el.equipmentClass);
+    if (el.equipmentClass) this.equipmentClass = ensureArray(el.equipmentClass).map((x) => new EquipmentClassType(x));
     if (el.description) this.description = new RichContentType(el.description);
     if (el.installedSoftwares) this.installedSoftwares = new SoftwareListType(el.installedSoftwares);
     this.manufacturer = new ContactNotStrictType(el.manufacturer);
-- 
GitLab