From 52ad2ff89cbec6242508bfbc95c216d0a918b3bd Mon Sep 17 00:00:00 2001 From: Matt Nadareski Date: Thu, 26 Mar 2026 15:15:59 -0400 Subject: [PATCH] Move required extension --- .../MetadataExtensions.cs | 20 ------------------- .../Metadata/DictionaryBase.cs | 19 ++++++++++++++++++ 2 files changed, 19 insertions(+), 20 deletions(-) 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 ///