using System.Collections.ObjectModel; using View_by_Distance.Shared.Models.Properties; namespace View_by_Distance.Shared.Models.Stateless.Methods; public interface IPath { public static byte GetEnum(FilePath filePath) => XPath.GetEnum(filePath); public static string[] GetDirectories(string directory) => XPath.GetDirectories(directory).ToArray(); public static string[] GetDirectoryNames(string directory) => XPath.GetDirectoryNames(directory).ToArray(); public static string GetRelativePath(string path, int length) => XPath.GetRelativePath(path, length, forceExtensionToLower: false); public static bool DeleteEmptyDirectories(string rootDirectory) => XPath.DeleteEmptyDirectories(rootDirectory); public static void MakeHiddenIfAllItemsAreHidden(string rootDirectory) => XPath.MakeHiddenIfAllItemsAreHidden(rootDirectory); public static void CreateDirectories(ReadOnlyCollection directories) => XPath.CreateDirectories(directories); public static void ChangeDateForEmptyDirectories(string rootDirectory, long ticks) => XPath.ChangeDateForEmptyDirectories(rootDirectory, ticks); public static string GetRelativePath(string path, int length, bool forceExtensionToLower) => XPath.GetRelativePath(path, length, forceExtensionToLower); public static string GetDirectory(string sourceDirectory, int level, string directoryName) => XPath.GetDirectory(sourceDirectory, level, directoryName); public static void DeleteEmptyDirectories(string rootDirectory, List deletedDirectories) => XPath.DeleteEmptyDirectories(rootDirectory, deletedDirectories); public static (int level, List directories) Get(string rootDirectory, string sourceDirectory) => XPath.Get(rootDirectory, sourceDirectory); public static CombinedEnumAndIndex GetCombinedEnumAndIndex(IPropertyConfiguration propertyConfiguration, FilePath filePath) => XPath.GetCombinedEnumAndIndex(propertyConfiguration, filePath); public static bool WriteAllText(string path, string contents, bool updateDateWhenMatches, bool compareBeforeWrite, DateTime? updateToWhenMatches = null) => XPath.WriteAllText(path, contents, updateDateWhenMatches, compareBeforeWrite, updateToWhenMatches); public static ReadOnlyDictionary>> GetKeyValuePairs(IPropertyConfiguration propertyConfiguration, string? resultsFullGroupDirectory, string[]? jsonGroups) => XPath.GetKeyValuePairs(propertyConfiguration, resultsFullGroupDirectory, jsonGroups); internal byte TestStatic_GetEnum(FilePath filePath) => GetEnum(filePath); internal string[] TestStatic_GetDirectories(string directory) => GetDirectories(directory); internal string[] TestStatic_GetDirectoryNames(string directory) => GetDirectoryNames(directory); internal string TestStatic_GetRelativePath(string path, int length) => GetRelativePath(path, length); internal bool TestStatic_DeleteEmptyDirectories(string rootDirectory) => DeleteEmptyDirectories(rootDirectory); internal void TestStatic_MakeHiddenIfAllItemsAreHidden(string rootDirectory) => MakeHiddenIfAllItemsAreHidden(rootDirectory); internal void TestStatic_CreateDirectories(ReadOnlyCollection directories) => CreateDirectories(directories); internal void TestStatic_ChangeDateForEmptyDirectories(string rootDirectory, long ticks) => ChangeDateForEmptyDirectories(rootDirectory, ticks); internal string TestStatic_GetRelativePath(string path, int length, bool forceExtensionToLower) => GetRelativePath(path, length, forceExtensionToLower); internal string TestStatic_GetDirectory(string sourceDirectory, int level, string directoryName) => GetDirectory(sourceDirectory, level, directoryName); internal void TestStatic_DeleteEmptyDirectories(string rootDirectory, List deletedDirectories) => DeleteEmptyDirectories(rootDirectory, deletedDirectories); internal (int level, List directories) TestStatic_Get(string rootDirectory, string sourceDirectory) => Get(rootDirectory, sourceDirectory); internal CombinedEnumAndIndex TestStatic_GetCombinedEnumAndIndex(IPropertyConfiguration propertyConfiguration, FilePath filePath) => GetCombinedEnumAndIndex(propertyConfiguration, filePath); internal bool TestStatic_WriteAllText(string path, string contents, bool updateDateWhenMatches, bool compareBeforeWrite, DateTime? updateToWhenMatches = null) => WriteAllText(path, contents, updateDateWhenMatches, compareBeforeWrite, updateToWhenMatches); internal ReadOnlyDictionary>> TestStatic_GetKeyValuePairs(IPropertyConfiguration propertyConfiguration, string? resultsFullGroupDirectory, string[]? jsonGroups) => GetKeyValuePairs(propertyConfiguration, resultsFullGroupDirectory, jsonGroups); }