From 83450f693fcf190008aa8690e34be1472f5f7e1b Mon Sep 17 00:00:00 2001 From: Matt Nadareski Date: Tue, 24 Oct 2023 23:20:27 -0400 Subject: [PATCH] Make Strings namespace and move Xbox --- Files/XMID.Serializer.cs | 15 ----------- Files/XeMID.Serializer.cs | 15 ----------- Interfaces/IFileSerializer.cs | 2 +- Interfaces/IStringSerializer.cs | 32 ++++++++++++++++++++++++ {Files => Strings}/XMID.Deserializer.cs | 5 ++-- Strings/XMID.Serializer.cs | 15 +++++++++++ {Files => Strings}/XeMID.Deserializer.cs | 5 ++-- Strings/XeMID.Serializer.cs | 15 +++++++++++ 8 files changed, 67 insertions(+), 37 deletions(-) delete mode 100644 Files/XMID.Serializer.cs delete mode 100644 Files/XeMID.Serializer.cs create mode 100644 Interfaces/IStringSerializer.cs rename {Files => Strings}/XMID.Deserializer.cs (87%) create mode 100644 Strings/XMID.Serializer.cs rename {Files => Strings}/XeMID.Deserializer.cs (92%) create mode 100644 Strings/XeMID.Serializer.cs diff --git a/Files/XMID.Serializer.cs b/Files/XMID.Serializer.cs deleted file mode 100644 index 4b8e04ce..00000000 --- a/Files/XMID.Serializer.cs +++ /dev/null @@ -1,15 +0,0 @@ -using System; -using SabreTools.Serialization.Interfaces; - -namespace SabreTools.Serialization.Files -{ - public partial class XMID : IFileSerializer - { - /// -#if NET48 - public bool Serialize(Models.Xbox.XMID obj, string path) => throw new NotImplementedException(); -#else - public bool Serialize(Models.Xbox.XMID? obj, string? path) => throw new NotImplementedException(); -#endif - } -} \ No newline at end of file diff --git a/Files/XeMID.Serializer.cs b/Files/XeMID.Serializer.cs deleted file mode 100644 index f4fc4850..00000000 --- a/Files/XeMID.Serializer.cs +++ /dev/null @@ -1,15 +0,0 @@ -using System; -using SabreTools.Serialization.Interfaces; - -namespace SabreTools.Serialization.Files -{ - public partial class XeMID : IFileSerializer - { - /// -#if NET48 - public bool Serialize(Models.Xbox.XeMID obj, string path) => throw new NotImplementedException(); -#else - public bool Serialize(Models.Xbox.XeMID? obj, string? path) => throw new NotImplementedException(); -#endif - } -} \ No newline at end of file diff --git a/Interfaces/IFileSerializer.cs b/Interfaces/IFileSerializer.cs index 9cdc7e2f..165d6ec1 100644 --- a/Interfaces/IFileSerializer.cs +++ b/Interfaces/IFileSerializer.cs @@ -18,7 +18,7 @@ namespace SabreTools.Serialization.Interfaces #endif /// - /// Sserialize a into a file + /// Serialize a into a file /// /// Type of object to serialize from /// Data to serialize diff --git a/Interfaces/IStringSerializer.cs b/Interfaces/IStringSerializer.cs new file mode 100644 index 00000000..157a6e9e --- /dev/null +++ b/Interfaces/IStringSerializer.cs @@ -0,0 +1,32 @@ +namespace SabreTools.Serialization.Interfaces +{ + /// + /// Defines how to serialize to and from strings + /// + public interface IStringSerializer + { + /// + /// Deserialize a string into + /// + /// Type of object to deserialize to + /// String to deserialize from + /// Filled object on success, null on error +#if NET48 + T Deserialize(string str); +#else + T? Deserialize(string? str); +#endif + + /// + /// Serialize a into a string + /// + /// Type of object to serialize from + /// Data to serialize + /// Filled string on successful serialization, null otherwise +#if NET48 + string Serialize(T obj); +#else + string? Serialize(T? obj); +#endif + } +} \ No newline at end of file diff --git a/Files/XMID.Deserializer.cs b/Strings/XMID.Deserializer.cs similarity index 87% rename from Files/XMID.Deserializer.cs rename to Strings/XMID.Deserializer.cs index dfd5847b..1fcbac4a 100644 --- a/Files/XMID.Deserializer.cs +++ b/Strings/XMID.Deserializer.cs @@ -1,11 +1,10 @@ using SabreTools.Serialization.Interfaces; -namespace SabreTools.Serialization.Files +namespace SabreTools.Serialization.Strings { - public partial class XMID : IFileSerializer + public partial class XMID : IStringSerializer { /// - /// This treats the input path like a parseable string #if NET48 public Models.Xbox.XMID Deserialize(string path) #else diff --git a/Strings/XMID.Serializer.cs b/Strings/XMID.Serializer.cs new file mode 100644 index 00000000..56605877 --- /dev/null +++ b/Strings/XMID.Serializer.cs @@ -0,0 +1,15 @@ +using System; +using SabreTools.Serialization.Interfaces; + +namespace SabreTools.Serialization.Strings +{ + public partial class XMID : IStringSerializer + { + /// +#if NET48 + public string Serialize(Models.Xbox.XMID obj) => throw new NotImplementedException(); +#else + public string? Serialize(Models.Xbox.XMID? obj) => throw new NotImplementedException(); +#endif + } +} \ No newline at end of file diff --git a/Files/XeMID.Deserializer.cs b/Strings/XeMID.Deserializer.cs similarity index 92% rename from Files/XeMID.Deserializer.cs rename to Strings/XeMID.Deserializer.cs index 748d350d..e5bbbf4b 100644 --- a/Files/XeMID.Deserializer.cs +++ b/Strings/XeMID.Deserializer.cs @@ -1,11 +1,10 @@ using SabreTools.Serialization.Interfaces; -namespace SabreTools.Serialization.Files +namespace SabreTools.Serialization.Strings { - public partial class XeMID : IFileSerializer + public partial class XeMID : IStringSerializer { /// - /// This treats the input path like a parseable string #if NET48 public Models.Xbox.XeMID Deserialize(string path) #else diff --git a/Strings/XeMID.Serializer.cs b/Strings/XeMID.Serializer.cs new file mode 100644 index 00000000..235b5239 --- /dev/null +++ b/Strings/XeMID.Serializer.cs @@ -0,0 +1,15 @@ +using System; +using SabreTools.Serialization.Interfaces; + +namespace SabreTools.Serialization.Strings +{ + public partial class XeMID : IStringSerializer + { + /// +#if NET48 + public string Serialize(Models.Xbox.XeMID obj) => throw new NotImplementedException(); +#else + public string? Serialize(Models.Xbox.XeMID? obj) => throw new NotImplementedException(); +#endif + } +} \ No newline at end of file