mirror of
https://github.com/SabreTools/SabreTools.Serialization.git
synced 2026-04-05 22:01:33 +00:00
This utility method has been relocated in ST
This commit is contained in:
@@ -82,7 +82,6 @@ Below are a list of the included namespaces with links to their README files:
|
||||
|
||||
- [SabreTools.Data.Extensions](https://github.com/SabreTools/SabreTools.Serialization/tree/main/SabreTools.Data.Extensions)
|
||||
- [SabreTools.Data.Models](https://github.com/SabreTools/SabreTools.Serialization/tree/main/SabreTools.Data.Models)
|
||||
- [SabreTools.Metadata](https://github.com/SabreTools/SabreTools.Serialization/tree/main/SabreTools.Metadata)
|
||||
- [SabreTools.Metadata.DatFiles](https://github.com/SabreTools/SabreTools.Serialization/tree/main/SabreTools.Metadata.DatFiles)
|
||||
- [SabreTools.Metadata.DatItems](https://github.com/SabreTools/SabreTools.Serialization/tree/main/SabreTools.Metadata.Datitems)
|
||||
- [SabreTools.Metadata.Filter](https://github.com/SabreTools/SabreTools.Serialization/tree/main/SabreTools.Metadata.Filter)
|
||||
|
||||
@@ -16,7 +16,6 @@
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<ProjectReference Include="..\SabreTools.Metadata\SabreTools.Metadata.csproj" />
|
||||
<ProjectReference Include="..\SabreTools.Metadata.DatFiles\SabreTools.Metadata.DatFiles.csproj" />
|
||||
<ProjectReference Include="..\SabreTools.Metadata.DatItems\SabreTools.Metadata.DatItems.csproj" />
|
||||
</ItemGroup>
|
||||
|
||||
@@ -36,7 +36,6 @@
|
||||
|
||||
<ItemGroup>
|
||||
<ProjectReference Include="..\SabreTools.Data.Extensions\SabreTools.Data.Extensions.csproj" />
|
||||
<ProjectReference Include="..\SabreTools.Metadata\SabreTools.Metadata.csproj" />
|
||||
<ProjectReference Include="..\SabreTools.Metadata.DatItems\SabreTools.Metadata.DatItems.csproj" />
|
||||
<ProjectReference Include="..\SabreTools.Metadata.Filter\SabreTools.Metadata.Filter.csproj" />
|
||||
<ProjectReference Include="..\SabreTools.Serialization.CrossModel\SabreTools.Serialization.CrossModel.csproj" />
|
||||
|
||||
@@ -38,7 +38,6 @@
|
||||
|
||||
<ItemGroup>
|
||||
<ProjectReference Include="..\SabreTools.Data.Extensions\SabreTools.Data.Extensions.csproj" />
|
||||
<ProjectReference Include="..\SabreTools.Metadata\SabreTools.Metadata.csproj" />
|
||||
<ProjectReference Include="..\SabreTools.Metadata.Filter\SabreTools.Metadata.Filter.csproj" />
|
||||
</ItemGroup>
|
||||
|
||||
|
||||
@@ -31,7 +31,8 @@
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<ProjectReference Include="..\SabreTools.Metadata\SabreTools.Metadata.csproj" />
|
||||
<ProjectReference Include="..\SabreTools.Data.Extensions\SabreTools.Data.Extensions.csproj" />
|
||||
<ProjectReference Include="..\SabreTools.Data.Models\SabreTools.Data.Models.csproj" />
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup>
|
||||
|
||||
@@ -1,21 +0,0 @@
|
||||
<Project Sdk="Microsoft.NET.Sdk">
|
||||
|
||||
<PropertyGroup>
|
||||
<TargetFrameworks>net8.0;net9.0;net10.0</TargetFrameworks>
|
||||
<IsPackable>false</IsPackable>
|
||||
<LangVersion>latest</LangVersion>
|
||||
<Nullable>enable</Nullable>
|
||||
</PropertyGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<PackageReference Include="coverlet.collector" Version="8.0.1" />
|
||||
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="18.3.0" />
|
||||
<PackageReference Include="xunit" Version="2.9.3" />
|
||||
<PackageReference Include="xunit.runner.visualstudio" Version="3.1.5" />
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<ProjectReference Include="..\SabreTools.Metadata\SabreTools.Metadata.csproj" />
|
||||
</ItemGroup>
|
||||
|
||||
</Project>
|
||||
@@ -1,32 +0,0 @@
|
||||
using Xunit;
|
||||
|
||||
namespace SabreTools.Metadata.Test
|
||||
{
|
||||
public class UtilitiesTests
|
||||
{
|
||||
#region HasValidDatExtension
|
||||
|
||||
[Theory]
|
||||
[InlineData(null, false)]
|
||||
[InlineData("", false)]
|
||||
[InlineData("no-extension", false)]
|
||||
[InlineData("no-extension.", false)]
|
||||
[InlineData("invalid.ext", false)]
|
||||
[InlineData("invalid..ext", false)]
|
||||
[InlineData("INVALID.EXT", false)]
|
||||
[InlineData("INVALID..EXT", false)]
|
||||
[InlineData(".dat", true)]
|
||||
[InlineData(".DAT", true)]
|
||||
[InlineData("valid_extension.dat", true)]
|
||||
[InlineData("valid_extension..dat", true)]
|
||||
[InlineData("valid_extension.DAT", true)]
|
||||
[InlineData("valid_extension..DAT", true)]
|
||||
public void HasValidDatExtensionTest(string? path, bool expected)
|
||||
{
|
||||
bool actual = Utilities.HasValidDatExtension(path);
|
||||
Assert.Equal(expected, actual);
|
||||
}
|
||||
|
||||
#endregion
|
||||
}
|
||||
}
|
||||
@@ -1,3 +0,0 @@
|
||||
# SabreTools.Metadata
|
||||
|
||||
This library contains common code used across multiple metadata file operations.
|
||||
@@ -1,42 +0,0 @@
|
||||
<Project Sdk="Microsoft.NET.Sdk">
|
||||
|
||||
<PropertyGroup>
|
||||
<!-- Assembly Properties -->
|
||||
<TargetFrameworks>net20;net35;net40;net452;net462;net472;net48;netcoreapp3.1;net5.0;net6.0;net7.0;net8.0;net9.0;net10.0;netstandard2.0;netstandard2.1</TargetFrameworks>
|
||||
<AllowUnsafeBlocks>true</AllowUnsafeBlocks>
|
||||
<CheckEolTargetFramework>false</CheckEolTargetFramework>
|
||||
<IncludeSourceRevisionInInformationalVersion>false</IncludeSourceRevisionInInformationalVersion>
|
||||
<IncludeSymbols>true</IncludeSymbols>
|
||||
<LangVersion>latest</LangVersion>
|
||||
<Nullable>enable</Nullable>
|
||||
<SuppressTfmSupportBuildWarnings>true</SuppressTfmSupportBuildWarnings>
|
||||
<SymbolPackageFormat>snupkg</SymbolPackageFormat>
|
||||
<TreatWarningsAsErrors>true</TreatWarningsAsErrors>
|
||||
<Version>2.3.0</Version>
|
||||
|
||||
<!-- Package Properties -->
|
||||
<Authors>Matt Nadareski</Authors>
|
||||
<Description>Core functionality for metadata file processing</Description>
|
||||
<Copyright>Copyright (c) Matt Nadareski 2016-2026</Copyright>
|
||||
<PackageProjectUrl>https://github.com/SabreTools/</PackageProjectUrl>
|
||||
<PackageReadmeFile>README.md</PackageReadmeFile>
|
||||
<RepositoryUrl>https://github.com/SabreTools/SabreTools.Serialization</RepositoryUrl>
|
||||
<RepositoryType>git</RepositoryType>
|
||||
<PackageTags>metadata dat datfile</PackageTags>
|
||||
<PackageLicenseExpression>MIT</PackageLicenseExpression>
|
||||
</PropertyGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<None Include="README.md" Pack="true" PackagePath="" />
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<ProjectReference Include="..\SabreTools.Data.Extensions\SabreTools.Data.Extensions.csproj" />
|
||||
<ProjectReference Include="..\SabreTools.Data.Models\SabreTools.Data.Models.csproj" />
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<PackageReference Include="Net30.LinqBridge" Version="1.6.0.2" Condition="$(TargetFramework.StartsWith(`net2`))" />
|
||||
</ItemGroup>
|
||||
|
||||
</Project>
|
||||
@@ -1,49 +0,0 @@
|
||||
using System.IO;
|
||||
|
||||
namespace SabreTools.Metadata
|
||||
{
|
||||
/// <summary>
|
||||
/// Static utility functions used throughout the library
|
||||
/// </summary>
|
||||
public static class Utilities
|
||||
{
|
||||
/// <summary>
|
||||
/// Get if the given path has a valid DAT extension
|
||||
/// </summary>
|
||||
/// <param name="path">Path to check</param>
|
||||
/// <returns>True if the extension is valid, false otherwise</returns>
|
||||
public static bool HasValidDatExtension(string? path)
|
||||
{
|
||||
// If the path is null or empty, then we return false
|
||||
if (string.IsNullOrEmpty(path))
|
||||
return false;
|
||||
|
||||
// Get the extension from the path, if possible
|
||||
string ext = Path.GetExtension(path).TrimStart('.').ToLowerInvariant();
|
||||
|
||||
// Check against the list of known DAT extensions
|
||||
return ext switch
|
||||
{
|
||||
"csv" => true,
|
||||
"dat" => true,
|
||||
"json" => true,
|
||||
"md2" => true,
|
||||
"md4" => true,
|
||||
"md5" => true,
|
||||
"ripemd128" => true,
|
||||
"ripemd160" => true,
|
||||
"sfv" => true,
|
||||
"sha1" => true,
|
||||
"sha256" => true,
|
||||
"sha384" => true,
|
||||
"sha512" => true,
|
||||
"spamsum" => true,
|
||||
"ssv" => true,
|
||||
"tsv" => true,
|
||||
"txt" => true,
|
||||
"xml" => true,
|
||||
_ => false,
|
||||
};
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -35,12 +35,8 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SabreTools.Serialization.Re
|
||||
EndProject
|
||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SabreTools.Serialization.Writers.Test", "SabreTools.Serialization.Writers.Test\SabreTools.Serialization.Writers.Test.csproj", "{99619CA9-6D7D-4653-BD1E-8F586F219607}"
|
||||
EndProject
|
||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SabreTools.Metadata", "SabreTools.Metadata\SabreTools.Metadata.csproj", "{F4C9FAE7-6777-4C1A-BEE7-DA664CA3485B}"
|
||||
EndProject
|
||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SabreTools.Metadata.Filter", "SabreTools.Metadata.Filter\SabreTools.Metadata.Filter.csproj", "{76E096C6-72A9-4A5C-A250-95D2BBBFA5D1}"
|
||||
EndProject
|
||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SabreTools.Metadata.Test", "SabreTools.Metadata.Test\SabreTools.Metadata.Test.csproj", "{D817566C-C94F-4ADE-A36A-F67B3F644299}"
|
||||
EndProject
|
||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SabreTools.Metadata.Filter.Test", "SabreTools.Metadata.Filter.Test\SabreTools.Metadata.Filter.Test.csproj", "{43D66007-FCAA-4F69-893B-562B0B61B8B1}"
|
||||
EndProject
|
||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SabreTools.Metadata.DatItems", "SabreTools.Metadata.DatItems\SabreTools.Metadata.DatItems.csproj", "{14931F5A-203A-4C22-A162-D38288B6A576}"
|
||||
@@ -253,18 +249,6 @@ Global
|
||||
{99619CA9-6D7D-4653-BD1E-8F586F219607}.Release|x64.Build.0 = Release|Any CPU
|
||||
{99619CA9-6D7D-4653-BD1E-8F586F219607}.Release|x86.ActiveCfg = Release|Any CPU
|
||||
{99619CA9-6D7D-4653-BD1E-8F586F219607}.Release|x86.Build.0 = Release|Any CPU
|
||||
{F4C9FAE7-6777-4C1A-BEE7-DA664CA3485B}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{F4C9FAE7-6777-4C1A-BEE7-DA664CA3485B}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{F4C9FAE7-6777-4C1A-BEE7-DA664CA3485B}.Debug|x64.ActiveCfg = Debug|Any CPU
|
||||
{F4C9FAE7-6777-4C1A-BEE7-DA664CA3485B}.Debug|x64.Build.0 = Debug|Any CPU
|
||||
{F4C9FAE7-6777-4C1A-BEE7-DA664CA3485B}.Debug|x86.ActiveCfg = Debug|Any CPU
|
||||
{F4C9FAE7-6777-4C1A-BEE7-DA664CA3485B}.Debug|x86.Build.0 = Debug|Any CPU
|
||||
{F4C9FAE7-6777-4C1A-BEE7-DA664CA3485B}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{F4C9FAE7-6777-4C1A-BEE7-DA664CA3485B}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{F4C9FAE7-6777-4C1A-BEE7-DA664CA3485B}.Release|x64.ActiveCfg = Release|Any CPU
|
||||
{F4C9FAE7-6777-4C1A-BEE7-DA664CA3485B}.Release|x64.Build.0 = Release|Any CPU
|
||||
{F4C9FAE7-6777-4C1A-BEE7-DA664CA3485B}.Release|x86.ActiveCfg = Release|Any CPU
|
||||
{F4C9FAE7-6777-4C1A-BEE7-DA664CA3485B}.Release|x86.Build.0 = Release|Any CPU
|
||||
{76E096C6-72A9-4A5C-A250-95D2BBBFA5D1}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{76E096C6-72A9-4A5C-A250-95D2BBBFA5D1}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{76E096C6-72A9-4A5C-A250-95D2BBBFA5D1}.Debug|x64.ActiveCfg = Debug|Any CPU
|
||||
@@ -277,18 +261,6 @@ Global
|
||||
{76E096C6-72A9-4A5C-A250-95D2BBBFA5D1}.Release|x64.Build.0 = Release|Any CPU
|
||||
{76E096C6-72A9-4A5C-A250-95D2BBBFA5D1}.Release|x86.ActiveCfg = Release|Any CPU
|
||||
{76E096C6-72A9-4A5C-A250-95D2BBBFA5D1}.Release|x86.Build.0 = Release|Any CPU
|
||||
{D817566C-C94F-4ADE-A36A-F67B3F644299}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{D817566C-C94F-4ADE-A36A-F67B3F644299}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{D817566C-C94F-4ADE-A36A-F67B3F644299}.Debug|x64.ActiveCfg = Debug|Any CPU
|
||||
{D817566C-C94F-4ADE-A36A-F67B3F644299}.Debug|x64.Build.0 = Debug|Any CPU
|
||||
{D817566C-C94F-4ADE-A36A-F67B3F644299}.Debug|x86.ActiveCfg = Debug|Any CPU
|
||||
{D817566C-C94F-4ADE-A36A-F67B3F644299}.Debug|x86.Build.0 = Debug|Any CPU
|
||||
{D817566C-C94F-4ADE-A36A-F67B3F644299}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{D817566C-C94F-4ADE-A36A-F67B3F644299}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{D817566C-C94F-4ADE-A36A-F67B3F644299}.Release|x64.ActiveCfg = Release|Any CPU
|
||||
{D817566C-C94F-4ADE-A36A-F67B3F644299}.Release|x64.Build.0 = Release|Any CPU
|
||||
{D817566C-C94F-4ADE-A36A-F67B3F644299}.Release|x86.ActiveCfg = Release|Any CPU
|
||||
{D817566C-C94F-4ADE-A36A-F67B3F644299}.Release|x86.Build.0 = Release|Any CPU
|
||||
{43D66007-FCAA-4F69-893B-562B0B61B8B1}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{43D66007-FCAA-4F69-893B-562B0B61B8B1}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{43D66007-FCAA-4F69-893B-562B0B61B8B1}.Debug|x64.ActiveCfg = Debug|Any CPU
|
||||
|
||||
@@ -41,8 +41,6 @@
|
||||
<ItemGroup>
|
||||
<Compile Include="..\SabreTools.Data.Extensions\*.cs" />
|
||||
<Compile Include="..\SabreTools.Data.Models\**\*.cs" Exclude="..\SabreTools.Data.Models\obj\**\*.cs" />
|
||||
<Compile Include="..\SabreTools.Metadata\*.cs" />
|
||||
<Compile Include="..\SabreTools.Metadata\Tools\*.cs" />
|
||||
<Compile Include="..\SabreTools.Metadata.DatFiles\*.cs" />
|
||||
<Compile Include="..\SabreTools.Metadata.DatFiles\Formats\*.cs" />
|
||||
<Compile Include="..\SabreTools.Metadata.DatItems\*.cs" />
|
||||
|
||||
@@ -81,7 +81,6 @@ if [ $NO_BUILD = false ]; then
|
||||
if [ $INCLUDE_UNPUBLISHED = true ]; then
|
||||
dotnet pack SabreTools.Data.Extensions/SabreTools.Data.Extensions.csproj --output $BUILD_FOLDER
|
||||
dotnet pack SabreTools.Data.Models/SabreTools.Data.Models.csproj --output $BUILD_FOLDER
|
||||
dotnet pack SabreTools.Metadata/SabreTools.Metadata.csproj --output $BUILD_FOLDER
|
||||
dotnet pack SabreTools.Metadata.DatFiles/SabreTools.Metadata.DatFiles.csproj --output $BUILD_FOLDER
|
||||
dotnet pack SabreTools.Metadata.DatItems/SabreTools.Metadata.DatItems.csproj --output $BUILD_FOLDER
|
||||
dotnet pack SabreTools.Metadata.Filter/SabreTools.Metadata.Filter.csproj --output $BUILD_FOLDER
|
||||
|
||||
@@ -72,7 +72,6 @@ if (!$NO_BUILD.IsPresent) {
|
||||
if ($INCLUDE_UNPUBLISHED.IsPresent) {
|
||||
dotnet pack SabreTools.Data.Extensions\SabreTools.Data.Extensions.csproj --output $BUILD_FOLDER
|
||||
dotnet pack SabreTools.Data.Models\SabreTools.Data.Models.csproj --output $BUILD_FOLDER
|
||||
dotnet pack SabreTools.Metadata\SabreTools.Metadata.csproj --output $BUILD_FOLDER
|
||||
dotnet pack SabreTools.Metadata.DatFiles\SabreTools.Metadata.DatFiles.csproj --output $BUILD_FOLDER
|
||||
dotnet pack SabreTools.Metadata.DatItems\SabreTools.Metadata.DatItems.csproj --output $BUILD_FOLDER
|
||||
dotnet pack SabreTools.Metadata.Filter\SabreTools.Metadata.Filter.csproj --output $BUILD_FOLDER
|
||||
|
||||
Reference in New Issue
Block a user