diff --git a/SabreTools.Data.Extensions/MetadataExtensions.cs b/SabreTools.Data.Extensions/MetadataExtensions.cs
index b4362a39..2629216d 100644
--- a/SabreTools.Data.Extensions/MetadataExtensions.cs
+++ b/SabreTools.Data.Extensions/MetadataExtensions.cs
@@ -859,25 +859,5 @@ namespace SabreTools.Data.Extensions
}
#endregion
-
- #region Reading
-
- ///
- /// Read an item array from a given key, if possible
- ///
- public static T[]? ReadItemArray(this DictionaryBase self, string key) where T : DictionaryBase
- {
- var items = self.Read(key);
- if (items == default)
- {
- var single = self.Read(key);
- if (single != default)
- items = [single];
- }
-
- return items;
- }
-
- #endregion
}
}
diff --git a/SabreTools.Data.Models/Metadata/DictionaryBase.cs b/SabreTools.Data.Models/Metadata/DictionaryBase.cs
index e9011bb8..4548c583 100644
--- a/SabreTools.Data.Models/Metadata/DictionaryBase.cs
+++ b/SabreTools.Data.Models/Metadata/DictionaryBase.cs
@@ -132,6 +132,25 @@ namespace SabreTools.Data.Models.Metadata
return this[key]!.ToString();
}
+ ///
+ /// Read a key as a T[], returning null on error
+ ///
+ public T[]? ReadArray(string key)
+ {
+ if (!ValidateReadKey(key))
+ return null;
+
+ var items = Read(key);
+ if (items is not null)
+ return items;
+
+ var single = Read(key);
+ if (single is not null)
+ return [single];
+
+ return null;
+ }
+
///
/// Read a key as a string[], returning null on error
///