diff --git a/Atypical.VirtualFileSystem.sln b/Atypical.VirtualFileSystem.sln index 6c5bc22..113ee24 100644 --- a/Atypical.VirtualFileSystem.sln +++ b/Atypical.VirtualFileSystem.sln @@ -19,6 +19,142 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Atypical.VirtualFileSystem. EndProject Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Atypical.VirtualFileSystem.UnitTests", "tests\Atypical.VirtualFileSystem.UnitTests\Atypical.VirtualFileSystem.UnitTests.csproj", "{DD02DF87-F94E-4218-8D65-4DB03760926E}" EndProject +Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "api", "api", "{159F391F-4AA9-4859-BC82-21312BB76CE8}" + ProjectSection(SolutionItems) = preProject + doc\api\Atypical.VirtualFileSystem.Core.Contracts.IVirtualFileSystem.CreateDirectory(string).md = doc\api\Atypical.VirtualFileSystem.Core.Contracts.IVirtualFileSystem.CreateDirectory(string).md + doc\api\Atypical.VirtualFileSystem.Core.ValueObjects.VFSDirectoryPath.ToString().md = doc\api\Atypical.VirtualFileSystem.Core.ValueObjects.VFSDirectoryPath.ToString().md + doc\api\Atypical.VirtualFileSystem.Core.Abstractions.VFSPath.Value.md = doc\api\Atypical.VirtualFileSystem.Core.Abstractions.VFSPath.Value.md + doc\api\Atypical.VirtualFileSystem.Core.VFS.Root.md = doc\api\Atypical.VirtualFileSystem.Core.VFS.Root.md + doc\api\Atypical.VirtualFileSystem.Core.Contracts.IVirtualFileSystemNode.md = doc\api\Atypical.VirtualFileSystem.Core.Contracts.IVirtualFileSystemNode.md + doc\api\Atypical.VirtualFileSystem.Core.Abstractions.VFSNode.md = doc\api\Atypical.VirtualFileSystem.Core.Abstractions.VFSNode.md + doc\api\Atypical.VirtualFileSystem.Core.ValueObjects.VFSRootPath.md = doc\api\Atypical.VirtualFileSystem.Core.ValueObjects.VFSRootPath.md + doc\api\Atypical.VirtualFileSystem.Core.Contracts.IVirtualFileSystemFactory.CreateFileSystem().md = doc\api\Atypical.VirtualFileSystem.Core.Contracts.IVirtualFileSystemFactory.CreateFileSystem().md + doc\api\Atypical.VirtualFileSystem.Core.Contracts.IFileNode.md = doc\api\Atypical.VirtualFileSystem.Core.Contracts.IFileNode.md + doc\api\Atypical.VirtualFileSystem.Core.Contracts.IVirtualFileSystem.TryGetDirectory(string,Atypical.VirtualFileSystem.Core.Contracts.IDirectoryNode).md = doc\api\Atypical.VirtualFileSystem.Core.Contracts.IVirtualFileSystem.TryGetDirectory(string,Atypical.VirtualFileSystem.Core.Contracts.IDirectoryNode).md + doc\api\Atypical.VirtualFileSystem.Core.VFS.FindFiles(System.Text.RegularExpressions.Regex).md = doc\api\Atypical.VirtualFileSystem.Core.VFS.FindFiles(System.Text.RegularExpressions.Regex).md + doc\api\Atypical.VirtualFileSystem.Core.Abstractions.VFSPath.IsRoot.md = doc\api\Atypical.VirtualFileSystem.Core.Abstractions.VFSPath.IsRoot.md + doc\api\Atypical.VirtualFileSystem.Core.VFS.DeleteDirectory(Atypical.VirtualFileSystem.Core.ValueObjects.VFSDirectoryPath).md = doc\api\Atypical.VirtualFileSystem.Core.VFS.DeleteDirectory(Atypical.VirtualFileSystem.Core.ValueObjects.VFSDirectoryPath).md + doc\api\Atypical.VirtualFileSystem.Core.ValueObjects.VFSFilePath.VFSFilePath(string).md = doc\api\Atypical.VirtualFileSystem.Core.ValueObjects.VFSFilePath.VFSFilePath(string).md + doc\api\Atypical.VirtualFileSystem.Core.VFSIndex.VFSIndex(Atypical.VirtualFileSystem.Core.Contracts.IRootNode).md = doc\api\Atypical.VirtualFileSystem.Core.VFSIndex.VFSIndex(Atypical.VirtualFileSystem.Core.Contracts.IRootNode).md + doc\api\Atypical.VirtualFileSystem.Core.Contracts.IDirectoryNode.md = doc\api\Atypical.VirtualFileSystem.Core.Contracts.IDirectoryNode.md + doc\api\Atypical.VirtualFileSystem.Core.Contracts.IRootNode.md = doc\api\Atypical.VirtualFileSystem.Core.Contracts.IRootNode.md + doc\api\Atypical.VirtualFileSystem.Core.Contracts.IVirtualFileSystem.GetFile(Atypical.VirtualFileSystem.Core.ValueObjects.VFSFilePath).md = doc\api\Atypical.VirtualFileSystem.Core.Contracts.IVirtualFileSystem.GetFile(Atypical.VirtualFileSystem.Core.ValueObjects.VFSFilePath).md + doc\api\Atypical.VirtualFileSystem.Core.Models.DirectoryNode.Path.md = doc\api\Atypical.VirtualFileSystem.Core.Models.DirectoryNode.Path.md + doc\api\Atypical.VirtualFileSystem.Core.Abstractions.VFSNode.IsFile.md = doc\api\Atypical.VirtualFileSystem.Core.Abstractions.VFSNode.IsFile.md + doc\api\Atypical.VirtualFileSystem.Core.VFS.CreateDirectory(string).md = doc\api\Atypical.VirtualFileSystem.Core.VFS.CreateDirectory(string).md + doc\api\Atypical.VirtualFileSystem.Core.VFS.FindFiles().md = doc\api\Atypical.VirtualFileSystem.Core.VFS.FindFiles().md + doc\api\Atypical.VirtualFileSystem.Core.Contracts.IVirtualFileSystem.md = doc\api\Atypical.VirtualFileSystem.Core.Contracts.IVirtualFileSystem.md + doc\api\Atypical.VirtualFileSystem.Core.ValueObjects.VFSDirectoryPath.md = doc\api\Atypical.VirtualFileSystem.Core.ValueObjects.VFSDirectoryPath.md + doc\api\Atypical.VirtualFileSystem.Core.Contracts.IVirtualFileSystem.TryGetDirectory(Atypical.VirtualFileSystem.Core.ValueObjects.VFSDirectoryPath,Atypical.VirtualFileSystem.Core.Contracts.IDirectoryNode).md = doc\api\Atypical.VirtualFileSystem.Core.Contracts.IVirtualFileSystem.TryGetDirectory(Atypical.VirtualFileSystem.Core.ValueObjects.VFSDirectoryPath,Atypical.VirtualFileSystem.Core.Contracts.IDirectoryNode).md + doc\api\Atypical.VirtualFileSystem.Core.Contracts.IVirtualFileSystem.CreateFile(string,string).md = doc\api\Atypical.VirtualFileSystem.Core.Contracts.IVirtualFileSystem.CreateFile(string,string).md + doc\api\Atypical.VirtualFileSystem.Core.Contracts.IVirtualFileSystemNode.Path.md = doc\api\Atypical.VirtualFileSystem.Core.Contracts.IVirtualFileSystemNode.Path.md + doc\api\Atypical.VirtualFileSystem.Core.VFS.CreateDirectory(Atypical.VirtualFileSystem.Core.ValueObjects.VFSDirectoryPath).md = doc\api\Atypical.VirtualFileSystem.Core.VFS.CreateDirectory(Atypical.VirtualFileSystem.Core.ValueObjects.VFSDirectoryPath).md + doc\api\Atypical.VirtualFileSystem.Core.Contracts.IVirtualFileSystem.TryGetFile(Atypical.VirtualFileSystem.Core.ValueObjects.VFSFilePath,Atypical.VirtualFileSystem.Core.Contracts.IFileNode).md = doc\api\Atypical.VirtualFileSystem.Core.Contracts.IVirtualFileSystem.TryGetFile(Atypical.VirtualFileSystem.Core.ValueObjects.VFSFilePath,Atypical.VirtualFileSystem.Core.Contracts.IFileNode).md + doc\api\Atypical.VirtualFileSystem.Core.Contracts.IVirtualFileSystem.TryGetFile(string,Atypical.VirtualFileSystem.Core.Contracts.IFileNode).md = doc\api\Atypical.VirtualFileSystem.Core.Contracts.IVirtualFileSystem.TryGetFile(string,Atypical.VirtualFileSystem.Core.Contracts.IFileNode).md + doc\api\Atypical.VirtualFileSystem.Core.Contracts.IVirtualFileSystem.FindFiles(System.Text.RegularExpressions.Regex).md = doc\api\Atypical.VirtualFileSystem.Core.Contracts.IVirtualFileSystem.FindFiles(System.Text.RegularExpressions.Regex).md + doc\api\Atypical.VirtualFileSystem.Core.VFSConstants.md = doc\api\Atypical.VirtualFileSystem.Core.VFSConstants.md + doc\api\Atypical.VirtualFileSystem.Core.Models.FileNode.md = doc\api\Atypical.VirtualFileSystem.Core.Models.FileNode.md + doc\api\Atypical.VirtualFileSystem.Core.VFSConstants.STR_INDENT_ENTRY_LAST.md = doc\api\Atypical.VirtualFileSystem.Core.VFSConstants.STR_INDENT_ENTRY_LAST.md + doc\api\Atypical.VirtualFileSystem.Core.VFS.ToString().md = doc\api\Atypical.VirtualFileSystem.Core.VFS.ToString().md + doc\api\Atypical.VirtualFileSystem.Core.Models.FileNode.IsDirectory.md = doc\api\Atypical.VirtualFileSystem.Core.Models.FileNode.IsDirectory.md + doc\api\Atypical.VirtualFileSystem.Core.Models.FileNode.ToString().md = doc\api\Atypical.VirtualFileSystem.Core.Models.FileNode.ToString().md + doc\api\Atypical.VirtualFileSystem.Core.Abstractions.VFSPath.Equals(Atypical.VirtualFileSystem.Core.Abstractions.VFSPath).md = doc\api\Atypical.VirtualFileSystem.Core.Abstractions.VFSPath.Equals(Atypical.VirtualFileSystem.Core.Abstractions.VFSPath).md + doc\api\Atypical.VirtualFileSystem.Core.Contracts.IVirtualFileSystem.CreateFile(Atypical.VirtualFileSystem.Core.ValueObjects.VFSFilePath,string).md = doc\api\Atypical.VirtualFileSystem.Core.Contracts.IVirtualFileSystem.CreateFile(Atypical.VirtualFileSystem.Core.ValueObjects.VFSFilePath,string).md + doc\api\Atypical.VirtualFileSystem.Core.Contracts.IVirtualFileSystem.GetFile(string).md = doc\api\Atypical.VirtualFileSystem.Core.Contracts.IVirtualFileSystem.GetFile(string).md + doc\api\Atypical.VirtualFileSystem.Core.ValueObjects.VFSFilePath.op_Implicitstring(Atypical.VirtualFileSystem.Core.ValueObjects.VFSFilePath).md = doc\api\Atypical.VirtualFileSystem.Core.ValueObjects.VFSFilePath.op_Implicitstring(Atypical.VirtualFileSystem.Core.ValueObjects.VFSFilePath).md + doc\api\Atypical.VirtualFileSystem.Core.Contracts.IVirtualFileSystemNode.LastWriteTime.md = doc\api\Atypical.VirtualFileSystem.Core.Contracts.IVirtualFileSystemNode.LastWriteTime.md + doc\api\Atypical.VirtualFileSystem.Core.VFS.TryGetFile(Atypical.VirtualFileSystem.Core.ValueObjects.VFSFilePath,Atypical.VirtualFileSystem.Core.Contracts.IFileNode).md = doc\api\Atypical.VirtualFileSystem.Core.VFS.TryGetFile(Atypical.VirtualFileSystem.Core.ValueObjects.VFSFilePath,Atypical.VirtualFileSystem.Core.Contracts.IFileNode).md + doc\api\Atypical.VirtualFileSystem.Core.Models.DirectoryNode.IsFile.md = doc\api\Atypical.VirtualFileSystem.Core.Models.DirectoryNode.IsFile.md + doc\api\Atypical.VirtualFileSystem.Core.VirtualFileSystemFactory.md = doc\api\Atypical.VirtualFileSystem.Core.VirtualFileSystemFactory.md + doc\api\Atypical.VirtualFileSystem.Core.Abstractions.VFSPath.Parent.md = doc\api\Atypical.VirtualFileSystem.Core.Abstractions.VFSPath.Parent.md + doc\api\Atypical.VirtualFileSystem.Core.Contracts.IVirtualFileSystem.IsEmpty.md = doc\api\Atypical.VirtualFileSystem.Core.Contracts.IVirtualFileSystem.IsEmpty.md + doc\api\Atypical.VirtualFileSystem.Core.VFSConstants.STR_INDENT_FILL.md = doc\api\Atypical.VirtualFileSystem.Core.VFSConstants.STR_INDENT_FILL.md + doc\api\Atypical.VirtualFileSystem.Core.Models.md = doc\api\Atypical.VirtualFileSystem.Core.Models.md + doc\api\Atypical.VirtualFileSystem.Core.Contracts.IVirtualFileSystem.CreateDirectory(Atypical.VirtualFileSystem.Core.ValueObjects.VFSDirectoryPath).md = doc\api\Atypical.VirtualFileSystem.Core.Contracts.IVirtualFileSystem.CreateDirectory(Atypical.VirtualFileSystem.Core.ValueObjects.VFSDirectoryPath).md + doc\api\Atypical.VirtualFileSystem.Core.Abstractions.VFSPath.GetAbsoluteParentPath(int).md = doc\api\Atypical.VirtualFileSystem.Core.Abstractions.VFSPath.GetAbsoluteParentPath(int).md + doc\api\Atypical.VirtualFileSystem.Core.VFS.FindDirectories().md = doc\api\Atypical.VirtualFileSystem.Core.VFS.FindDirectories().md + doc\api\Atypical.VirtualFileSystem.Core.Contracts.IVirtualFileSystem.FindDirectories().md = doc\api\Atypical.VirtualFileSystem.Core.Contracts.IVirtualFileSystem.FindDirectories().md + doc\api\Atypical.VirtualFileSystem.Core.VFS.Index.md = doc\api\Atypical.VirtualFileSystem.Core.VFS.Index.md + doc\api\Atypical.VirtualFileSystem.Core.VFSIndex.md = doc\api\Atypical.VirtualFileSystem.Core.VFSIndex.md + doc\api\Atypical.VirtualFileSystem.Core.VFS.GetFile(string).md = doc\api\Atypical.VirtualFileSystem.Core.VFS.GetFile(string).md + doc\api\Atypical.VirtualFileSystem.Core.ValueObjects.VFSDirectoryPath.op_Implicitstring(Atypical.VirtualFileSystem.Core.ValueObjects.VFSDirectoryPath).md = doc\api\Atypical.VirtualFileSystem.Core.ValueObjects.VFSDirectoryPath.op_Implicitstring(Atypical.VirtualFileSystem.Core.ValueObjects.VFSDirectoryPath).md + doc\api\Atypical.VirtualFileSystem.Core.Abstractions.VFSPath.Name.md = doc\api\Atypical.VirtualFileSystem.Core.Abstractions.VFSPath.Name.md + doc\api\Atypical.VirtualFileSystem.Core.VFS.CreateFile(Atypical.VirtualFileSystem.Core.ValueObjects.VFSFilePath,string).md = doc\api\Atypical.VirtualFileSystem.Core.VFS.CreateFile(Atypical.VirtualFileSystem.Core.ValueObjects.VFSFilePath,string).md + doc\api\Atypical.VirtualFileSystem.Core.Contracts.IVirtualFileSystemNode.IsFile.md = doc\api\Atypical.VirtualFileSystem.Core.Contracts.IVirtualFileSystemNode.IsFile.md + doc\api\Atypical.VirtualFileSystem.Core.VirtualFileSystemFactory.CreateFileSystem().md = doc\api\Atypical.VirtualFileSystem.Core.VirtualFileSystemFactory.CreateFileSystem().md + doc\api\Atypical.VirtualFileSystem.Core.Abstractions.VFSPath.Depth.md = doc\api\Atypical.VirtualFileSystem.Core.Abstractions.VFSPath.Depth.md + doc\api\Atypical.VirtualFileSystem.Core.Models.FileNode.Content.md = doc\api\Atypical.VirtualFileSystem.Core.Models.FileNode.Content.md + doc\api\Atypical.VirtualFileSystem.Core.Models.RootNode.ToString().md = doc\api\Atypical.VirtualFileSystem.Core.Models.RootNode.ToString().md + doc\api\Atypical.VirtualFileSystem.Core.Abstractions.VFSNode.CreationTime.md = doc\api\Atypical.VirtualFileSystem.Core.Abstractions.VFSNode.CreationTime.md + doc\api\Atypical.VirtualFileSystem.Core.VFS.DeleteFile(Atypical.VirtualFileSystem.Core.ValueObjects.VFSFilePath).md = doc\api\Atypical.VirtualFileSystem.Core.VFS.DeleteFile(Atypical.VirtualFileSystem.Core.ValueObjects.VFSFilePath).md + doc\api\Atypical.VirtualFileSystem.Core.Abstractions.VFSPath.CleanVFSPathInput(string).md = doc\api\Atypical.VirtualFileSystem.Core.Abstractions.VFSPath.CleanVFSPathInput(string).md + doc\api\Atypical.VirtualFileSystem.Core.Models.FileNode.FileNode(Atypical.VirtualFileSystem.Core.ValueObjects.VFSFilePath,string).md = doc\api\Atypical.VirtualFileSystem.Core.Models.FileNode.FileNode(Atypical.VirtualFileSystem.Core.ValueObjects.VFSFilePath,string).md + doc\api\Atypical.VirtualFileSystem.Core.Contracts.IFileNode.Content.md = doc\api\Atypical.VirtualFileSystem.Core.Contracts.IFileNode.Content.md + doc\api\Atypical.VirtualFileSystem.Core.Models.RootNode.md = doc\api\Atypical.VirtualFileSystem.Core.Models.RootNode.md + doc\api\Atypical.VirtualFileSystem.Core.Models.DirectoryNode.DirectoryNode(Atypical.VirtualFileSystem.Core.ValueObjects.VFSDirectoryPath).md = doc\api\Atypical.VirtualFileSystem.Core.Models.DirectoryNode.DirectoryNode(Atypical.VirtualFileSystem.Core.ValueObjects.VFSDirectoryPath).md + doc\api\Atypical.VirtualFileSystem.Core.VFSConstants.STR_INDENT_CLEAR.md = doc\api\Atypical.VirtualFileSystem.Core.VFSConstants.STR_INDENT_CLEAR.md + doc\api\Atypical.VirtualFileSystem.Core.Contracts.IVirtualFileSystem.GetDirectory(Atypical.VirtualFileSystem.Core.ValueObjects.VFSDirectoryPath).md = doc\api\Atypical.VirtualFileSystem.Core.Contracts.IVirtualFileSystem.GetDirectory(Atypical.VirtualFileSystem.Core.ValueObjects.VFSDirectoryPath).md + doc\api\Atypical.VirtualFileSystem.Core.VFS.DeleteFile(string).md = doc\api\Atypical.VirtualFileSystem.Core.VFS.DeleteFile(string).md + doc\api\Atypical.VirtualFileSystem.Core.Models.RootNode.RootNode().md = doc\api\Atypical.VirtualFileSystem.Core.Models.RootNode.RootNode().md + doc\api\Atypical.VirtualFileSystem.Core.Abstractions.VFSNode.Path.md = doc\api\Atypical.VirtualFileSystem.Core.Abstractions.VFSNode.Path.md + doc\api\Atypical.VirtualFileSystem.Core.VFSConstants.ROOT_PATH.md = doc\api\Atypical.VirtualFileSystem.Core.VFSConstants.ROOT_PATH.md + doc\api\Atypical.VirtualFileSystem.Core.VirtualFileSystemFactory.VirtualFileSystemFactory().md = doc\api\Atypical.VirtualFileSystem.Core.VirtualFileSystemFactory.VirtualFileSystemFactory().md + doc\api\Atypical.VirtualFileSystem.Core.VFS.TryGetFile(string,Atypical.VirtualFileSystem.Core.Contracts.IFileNode).md = doc\api\Atypical.VirtualFileSystem.Core.VFS.TryGetFile(string,Atypical.VirtualFileSystem.Core.Contracts.IFileNode).md + doc\api\Atypical.VirtualFileSystem.Core.Contracts.IVirtualFileSystemNode.CreationTime.md = doc\api\Atypical.VirtualFileSystem.Core.Contracts.IVirtualFileSystemNode.CreationTime.md + doc\api\Atypical.VirtualFileSystem.Core.Abstractions.VFSPath.VFSPathRegex.md = doc\api\Atypical.VirtualFileSystem.Core.Abstractions.VFSPath.VFSPathRegex.md + doc\api\Atypical.VirtualFileSystem.Core.ValueObjects.VFSFilePath.ToString().md = doc\api\Atypical.VirtualFileSystem.Core.ValueObjects.VFSFilePath.ToString().md + doc\api\Atypical.VirtualFileSystem.Core.Abstractions.VFSNode.LastAccessTime.md = doc\api\Atypical.VirtualFileSystem.Core.Abstractions.VFSNode.LastAccessTime.md + doc\api\Atypical.VirtualFileSystem.Core.md = doc\api\Atypical.VirtualFileSystem.Core.md + doc\api\Atypical.VirtualFileSystem.Core.ValueObjects.VFSRootPath.VFSRootPath().md = doc\api\Atypical.VirtualFileSystem.Core.ValueObjects.VFSRootPath.VFSRootPath().md + doc\api\Atypical.VirtualFileSystem.Core.Contracts.IVirtualFileSystemNode.LastAccessTime.md = doc\api\Atypical.VirtualFileSystem.Core.Contracts.IVirtualFileSystemNode.LastAccessTime.md + doc\api\Atypical.VirtualFileSystem.Core.Contracts.IVirtualFileSystem.DeleteDirectory(string).md = doc\api\Atypical.VirtualFileSystem.Core.Contracts.IVirtualFileSystem.DeleteDirectory(string).md + doc\api\Atypical.VirtualFileSystem.Core.Abstractions.VFSPath.md = doc\api\Atypical.VirtualFileSystem.Core.Abstractions.VFSPath.md + doc\api\Atypical.VirtualFileSystem.Core.VFS.IsEmpty.md = doc\api\Atypical.VirtualFileSystem.Core.VFS.IsEmpty.md + doc\api\Atypical.VirtualFileSystem.Core.VFS.TryGetDirectory(string,Atypical.VirtualFileSystem.Core.Contracts.IDirectoryNode).md = doc\api\Atypical.VirtualFileSystem.Core.VFS.TryGetDirectory(string,Atypical.VirtualFileSystem.Core.Contracts.IDirectoryNode).md + doc\api\Atypical.VirtualFileSystem.Core.Abstractions.VFSPath.VFSPathRegexPattern.md = doc\api\Atypical.VirtualFileSystem.Core.Abstractions.VFSPath.VFSPathRegexPattern.md + doc\api\Atypical.VirtualFileSystem.Core.Contracts.IVirtualFileSystemFactory.md = doc\api\Atypical.VirtualFileSystem.Core.Contracts.IVirtualFileSystemFactory.md + doc\api\Atypical.VirtualFileSystem.Core.VFSConstants.STR_INDENT_ENTRY_MIDDLE.md = doc\api\Atypical.VirtualFileSystem.Core.VFSConstants.STR_INDENT_ENTRY_MIDDLE.md + doc\api\Atypical.VirtualFileSystem.Core.Contracts.IVirtualFileSystem.GetDirectory(string).md = doc\api\Atypical.VirtualFileSystem.Core.Contracts.IVirtualFileSystem.GetDirectory(string).md + doc\api\Atypical.VirtualFileSystem.Core.VFS.FindDirectories(System.Text.RegularExpressions.Regex).md = doc\api\Atypical.VirtualFileSystem.Core.VFS.FindDirectories(System.Text.RegularExpressions.Regex).md + doc\api\Atypical.VirtualFileSystem.Core.Contracts.IVirtualFileSystemNode.IsDirectory.md = doc\api\Atypical.VirtualFileSystem.Core.Contracts.IVirtualFileSystemNode.IsDirectory.md + doc\api\Atypical.VirtualFileSystem.Core.Models.DirectoryNode.md = doc\api\Atypical.VirtualFileSystem.Core.Models.DirectoryNode.md + doc\api\Atypical.VirtualFileSystem.Core.Contracts.IVirtualFileSystem.FindDirectories(System.Text.RegularExpressions.Regex).md = doc\api\Atypical.VirtualFileSystem.Core.Contracts.IVirtualFileSystem.FindDirectories(System.Text.RegularExpressions.Regex).md + doc\api\Atypical.VirtualFileSystem.Core.VFS.GetDirectory(string).md = doc\api\Atypical.VirtualFileSystem.Core.VFS.GetDirectory(string).md + doc\api\Atypical.VirtualFileSystem.Core.ValueObjects.VFSRootPath.op_Implicitstring(Atypical.VirtualFileSystem.Core.ValueObjects.VFSRootPath).md = doc\api\Atypical.VirtualFileSystem.Core.ValueObjects.VFSRootPath.op_Implicitstring(Atypical.VirtualFileSystem.Core.ValueObjects.VFSRootPath).md + doc\api\Atypical.VirtualFileSystem.Core.Contracts.IVirtualFileSystem.FindFiles().md = doc\api\Atypical.VirtualFileSystem.Core.Contracts.IVirtualFileSystem.FindFiles().md + doc\api\Atypical.VirtualFileSystem.Core.VFS.GetDirectory(Atypical.VirtualFileSystem.Core.ValueObjects.VFSDirectoryPath).md = doc\api\Atypical.VirtualFileSystem.Core.VFS.GetDirectory(Atypical.VirtualFileSystem.Core.ValueObjects.VFSDirectoryPath).md + doc\api\Atypical.VirtualFileSystem.Core.ValueObjects.VFSRootPath.ToString().md = doc\api\Atypical.VirtualFileSystem.Core.ValueObjects.VFSRootPath.ToString().md + doc\api\Atypical.VirtualFileSystem.Core.ValueObjects.VFSDirectoryPath.VFSDirectoryPath(string).md = doc\api\Atypical.VirtualFileSystem.Core.ValueObjects.VFSDirectoryPath.VFSDirectoryPath(string).md + doc\api\Atypical.VirtualFileSystem.Core.VFS.DeleteDirectory(string).md = doc\api\Atypical.VirtualFileSystem.Core.VFS.DeleteDirectory(string).md + doc\api\Atypical.VirtualFileSystem.Core.Models.DirectoryNode.ToString().md = doc\api\Atypical.VirtualFileSystem.Core.Models.DirectoryNode.ToString().md + doc\api\Atypical.VirtualFileSystem.Core.Contracts.IVirtualFileSystem.Index.md = doc\api\Atypical.VirtualFileSystem.Core.Contracts.IVirtualFileSystem.Index.md + doc\api\Atypical.VirtualFileSystem.Core.Models.FileNode.IsFile.md = doc\api\Atypical.VirtualFileSystem.Core.Models.FileNode.IsFile.md + doc\api\Atypical.VirtualFileSystem.Core.Contracts.IVirtualFileSystemNode.Name.md = doc\api\Atypical.VirtualFileSystem.Core.Contracts.IVirtualFileSystemNode.Name.md + doc\api\Atypical.VirtualFileSystem.Core.VFS.CreateFile(string,string).md = doc\api\Atypical.VirtualFileSystem.Core.VFS.CreateFile(string,string).md + doc\api\Atypical.VirtualFileSystem.Core.VFS.VFS().md = doc\api\Atypical.VirtualFileSystem.Core.VFS.VFS().md + doc\api\Atypical.VirtualFileSystem.Core.Contracts.IVirtualFileSystem.DeleteFile(string).md = doc\api\Atypical.VirtualFileSystem.Core.Contracts.IVirtualFileSystem.DeleteFile(string).md + doc\api\Atypical.VirtualFileSystem.Core.VFS.md = doc\api\Atypical.VirtualFileSystem.Core.VFS.md + doc\api\Atypical.VirtualFileSystem.Core.VFS.GetBrothers(Atypical.VirtualFileSystem.Core.Contracts.IVirtualFileSystemNode).md = doc\api\Atypical.VirtualFileSystem.Core.VFS.GetBrothers(Atypical.VirtualFileSystem.Core.Contracts.IVirtualFileSystemNode).md + doc\api\Atypical.VirtualFileSystem.Core.VFS.TryGetDirectory(Atypical.VirtualFileSystem.Core.ValueObjects.VFSDirectoryPath,Atypical.VirtualFileSystem.Core.Contracts.IDirectoryNode).md = doc\api\Atypical.VirtualFileSystem.Core.VFS.TryGetDirectory(Atypical.VirtualFileSystem.Core.ValueObjects.VFSDirectoryPath,Atypical.VirtualFileSystem.Core.Contracts.IDirectoryNode).md + doc\api\Atypical.VirtualFileSystem.Core.Abstractions.md = doc\api\Atypical.VirtualFileSystem.Core.Abstractions.md + doc\api\Atypical.VirtualFileSystem.Core.Abstractions.VFSPath.GetHashCode().md = doc\api\Atypical.VirtualFileSystem.Core.Abstractions.VFSPath.GetHashCode().md + doc\api\Atypical.VirtualFileSystem.Core.Contracts.IVirtualFileSystem.DeleteFile(Atypical.VirtualFileSystem.Core.ValueObjects.VFSFilePath).md = doc\api\Atypical.VirtualFileSystem.Core.Contracts.IVirtualFileSystem.DeleteFile(Atypical.VirtualFileSystem.Core.ValueObjects.VFSFilePath).md + doc\api\Atypical.VirtualFileSystem.Core.Abstractions.VFSNode.LastWriteTime.md = doc\api\Atypical.VirtualFileSystem.Core.Abstractions.VFSNode.LastWriteTime.md + doc\api\Atypical.VirtualFileSystem.Core.Abstractions.VFSPath.HasParent.md = doc\api\Atypical.VirtualFileSystem.Core.Abstractions.VFSPath.HasParent.md + doc\api\Atypical.VirtualFileSystem.Core.Abstractions.VFSNode.IsDirectory.md = doc\api\Atypical.VirtualFileSystem.Core.Abstractions.VFSNode.IsDirectory.md + doc\api\Atypical.VirtualFileSystem.Core.Abstractions.VFSPath.VFSPath(string).md = doc\api\Atypical.VirtualFileSystem.Core.Abstractions.VFSPath.VFSPath(string).md + doc\api\Atypical.VirtualFileSystem.Core.VFSConstants.DIRECTORY_SEPARATOR.md = doc\api\Atypical.VirtualFileSystem.Core.VFSConstants.DIRECTORY_SEPARATOR.md + doc\api\Atypical.VirtualFileSystem.Core.ValueObjects.VFSFilePath.md = doc\api\Atypical.VirtualFileSystem.Core.ValueObjects.VFSFilePath.md + doc\api\Atypical.VirtualFileSystem.Core.Models.FileNode.Path.md = doc\api\Atypical.VirtualFileSystem.Core.Models.FileNode.Path.md + doc\api\Atypical.VirtualFileSystem.Core.ValueObjects.md = doc\api\Atypical.VirtualFileSystem.Core.ValueObjects.md + doc\api\Atypical.VirtualFileSystem.Core.Abstractions.VFSNode.VFSNode(Atypical.VirtualFileSystem.Core.Abstractions.VFSPath).md = doc\api\Atypical.VirtualFileSystem.Core.Abstractions.VFSNode.VFSNode(Atypical.VirtualFileSystem.Core.Abstractions.VFSPath).md + doc\api\Atypical.VirtualFileSystem.Core.Contracts.IVirtualFileSystem.Root.md = doc\api\Atypical.VirtualFileSystem.Core.Contracts.IVirtualFileSystem.Root.md + doc\api\Atypical.VirtualFileSystem.Core.VFS.GetFile(Atypical.VirtualFileSystem.Core.ValueObjects.VFSFilePath).md = doc\api\Atypical.VirtualFileSystem.Core.VFS.GetFile(Atypical.VirtualFileSystem.Core.ValueObjects.VFSFilePath).md + doc\api\Atypical.VirtualFileSystem.Core.Models.DirectoryNode.IsDirectory.md = doc\api\Atypical.VirtualFileSystem.Core.Models.DirectoryNode.IsDirectory.md + doc\api\Atypical.VirtualFileSystem.Core.Contracts.md = doc\api\Atypical.VirtualFileSystem.Core.Contracts.md + doc\api\Atypical.VirtualFileSystem.Core.Contracts.IVirtualFileSystem.DeleteDirectory(Atypical.VirtualFileSystem.Core.ValueObjects.VFSDirectoryPath).md = doc\api\Atypical.VirtualFileSystem.Core.Contracts.IVirtualFileSystem.DeleteDirectory(Atypical.VirtualFileSystem.Core.ValueObjects.VFSDirectoryPath).md + EndProjectSection +EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution Debug|Any CPU = Debug|Any CPU @@ -30,6 +166,7 @@ Global GlobalSection(NestedProjects) = preSolution {87387B16-144D-4163-B559-5847ED0D1E3B} = {BA11C821-EFDE-4714-A0DE-B7D4D93CE336} {DD02DF87-F94E-4218-8D65-4DB03760926E} = {10E2E10B-AB65-4800-93ED-CDB737917154} + {159F391F-4AA9-4859-BC82-21312BB76CE8} = {48AA64C3-8E79-43C9-9D28-96FA881E5125} EndGlobalSection GlobalSection(ProjectConfigurationPlatforms) = postSolution {87387B16-144D-4163-B559-5847ED0D1E3B}.Debug|Any CPU.ActiveCfg = Debug|Any CPU diff --git a/README.md b/README.md index 72f87de..2c73634 100644 --- a/README.md +++ b/README.md @@ -153,10 +153,9 @@ string tree = vfs.ToString(); ## 📄 Documentation -The documentation is still a work in progress. +**Virtual File System** provides a complete documentation of the library available in the [`./doc/api`](./doc/api) folder. -One goal of **Virtual File System** is to provide a complete documentation of the library on **GitHub Pages**. For now, -you can read the XML documentation generated on build. +The documentation is generated using [Doraku's DefaultDocumentation](https://github.com/Doraku/DefaultDocumentation) tool. All summaries are written in English. If you want to help us translate the documentation, please open an issue to discuss it. diff --git a/doc/api/Atypical.VirtualFileSystem.Core.Abstractions.VFSNode.CreationTime.md b/doc/api/Atypical.VirtualFileSystem.Core.Abstractions.VFSNode.CreationTime.md new file mode 100644 index 0000000..504dd08 --- /dev/null +++ b/doc/api/Atypical.VirtualFileSystem.Core.Abstractions.VFSNode.CreationTime.md @@ -0,0 +1,15 @@ +#### [Atypical.VirtualFileSystem.Core](Atypical.VirtualFileSystem.Core.md 'Atypical.VirtualFileSystem.Core') +### [Atypical.VirtualFileSystem.Core.Abstractions](Atypical.VirtualFileSystem.Core.Abstractions.md 'Atypical.VirtualFileSystem.Core.Abstractions').[VFSNode](Atypical.VirtualFileSystem.Core.Abstractions.VFSNode.md 'Atypical.VirtualFileSystem.Core.Abstractions.VFSNode') + +## VFSNode.CreationTime Property + +Gets the creation time of the node. + +```csharp +public System.DateTimeOffset CreationTime { get; } +``` + +Implements [CreationTime](Atypical.VirtualFileSystem.Core.Contracts.IVirtualFileSystemNode.CreationTime.md 'Atypical.VirtualFileSystem.Core.Contracts.IVirtualFileSystemNode.CreationTime') + +#### Property Value +[System.DateTimeOffset](https://docs.microsoft.com/en-us/dotnet/api/System.DateTimeOffset 'System.DateTimeOffset') \ No newline at end of file diff --git a/doc/api/Atypical.VirtualFileSystem.Core.Abstractions.VFSNode.IsDirectory.md b/doc/api/Atypical.VirtualFileSystem.Core.Abstractions.VFSNode.IsDirectory.md new file mode 100644 index 0000000..71326d2 --- /dev/null +++ b/doc/api/Atypical.VirtualFileSystem.Core.Abstractions.VFSNode.IsDirectory.md @@ -0,0 +1,15 @@ +#### [Atypical.VirtualFileSystem.Core](Atypical.VirtualFileSystem.Core.md 'Atypical.VirtualFileSystem.Core') +### [Atypical.VirtualFileSystem.Core.Abstractions](Atypical.VirtualFileSystem.Core.Abstractions.md 'Atypical.VirtualFileSystem.Core.Abstractions').[VFSNode](Atypical.VirtualFileSystem.Core.Abstractions.VFSNode.md 'Atypical.VirtualFileSystem.Core.Abstractions.VFSNode') + +## VFSNode.IsDirectory Property + +Indicates whether the node is a directory. + +```csharp +public abstract bool IsDirectory { get; } +``` + +Implements [IsDirectory](Atypical.VirtualFileSystem.Core.Contracts.IVirtualFileSystemNode.IsDirectory.md 'Atypical.VirtualFileSystem.Core.Contracts.IVirtualFileSystemNode.IsDirectory') + +#### Property Value +[System.Boolean](https://docs.microsoft.com/en-us/dotnet/api/System.Boolean 'System.Boolean') \ No newline at end of file diff --git a/doc/api/Atypical.VirtualFileSystem.Core.Abstractions.VFSNode.IsFile.md b/doc/api/Atypical.VirtualFileSystem.Core.Abstractions.VFSNode.IsFile.md new file mode 100644 index 0000000..e3b56cc --- /dev/null +++ b/doc/api/Atypical.VirtualFileSystem.Core.Abstractions.VFSNode.IsFile.md @@ -0,0 +1,15 @@ +#### [Atypical.VirtualFileSystem.Core](Atypical.VirtualFileSystem.Core.md 'Atypical.VirtualFileSystem.Core') +### [Atypical.VirtualFileSystem.Core.Abstractions](Atypical.VirtualFileSystem.Core.Abstractions.md 'Atypical.VirtualFileSystem.Core.Abstractions').[VFSNode](Atypical.VirtualFileSystem.Core.Abstractions.VFSNode.md 'Atypical.VirtualFileSystem.Core.Abstractions.VFSNode') + +## VFSNode.IsFile Property + +Indicates whether the node is a file. + +```csharp +public abstract bool IsFile { get; } +``` + +Implements [IsFile](Atypical.VirtualFileSystem.Core.Contracts.IVirtualFileSystemNode.IsFile.md 'Atypical.VirtualFileSystem.Core.Contracts.IVirtualFileSystemNode.IsFile') + +#### Property Value +[System.Boolean](https://docs.microsoft.com/en-us/dotnet/api/System.Boolean 'System.Boolean') \ No newline at end of file diff --git a/doc/api/Atypical.VirtualFileSystem.Core.Abstractions.VFSNode.LastAccessTime.md b/doc/api/Atypical.VirtualFileSystem.Core.Abstractions.VFSNode.LastAccessTime.md new file mode 100644 index 0000000..ffa6c7d --- /dev/null +++ b/doc/api/Atypical.VirtualFileSystem.Core.Abstractions.VFSNode.LastAccessTime.md @@ -0,0 +1,15 @@ +#### [Atypical.VirtualFileSystem.Core](Atypical.VirtualFileSystem.Core.md 'Atypical.VirtualFileSystem.Core') +### [Atypical.VirtualFileSystem.Core.Abstractions](Atypical.VirtualFileSystem.Core.Abstractions.md 'Atypical.VirtualFileSystem.Core.Abstractions').[VFSNode](Atypical.VirtualFileSystem.Core.Abstractions.VFSNode.md 'Atypical.VirtualFileSystem.Core.Abstractions.VFSNode') + +## VFSNode.LastAccessTime Property + +Gets the last access time of the node. + +```csharp +public System.DateTimeOffset LastAccessTime { get; } +``` + +Implements [LastAccessTime](Atypical.VirtualFileSystem.Core.Contracts.IVirtualFileSystemNode.LastAccessTime.md 'Atypical.VirtualFileSystem.Core.Contracts.IVirtualFileSystemNode.LastAccessTime') + +#### Property Value +[System.DateTimeOffset](https://docs.microsoft.com/en-us/dotnet/api/System.DateTimeOffset 'System.DateTimeOffset') \ No newline at end of file diff --git a/doc/api/Atypical.VirtualFileSystem.Core.Abstractions.VFSNode.LastWriteTime.md b/doc/api/Atypical.VirtualFileSystem.Core.Abstractions.VFSNode.LastWriteTime.md new file mode 100644 index 0000000..0032449 --- /dev/null +++ b/doc/api/Atypical.VirtualFileSystem.Core.Abstractions.VFSNode.LastWriteTime.md @@ -0,0 +1,15 @@ +#### [Atypical.VirtualFileSystem.Core](Atypical.VirtualFileSystem.Core.md 'Atypical.VirtualFileSystem.Core') +### [Atypical.VirtualFileSystem.Core.Abstractions](Atypical.VirtualFileSystem.Core.Abstractions.md 'Atypical.VirtualFileSystem.Core.Abstractions').[VFSNode](Atypical.VirtualFileSystem.Core.Abstractions.VFSNode.md 'Atypical.VirtualFileSystem.Core.Abstractions.VFSNode') + +## VFSNode.LastWriteTime Property + +Gets the last write time of the node. + +```csharp +public System.DateTimeOffset LastWriteTime { get; } +``` + +Implements [LastWriteTime](Atypical.VirtualFileSystem.Core.Contracts.IVirtualFileSystemNode.LastWriteTime.md 'Atypical.VirtualFileSystem.Core.Contracts.IVirtualFileSystemNode.LastWriteTime') + +#### Property Value +[System.DateTimeOffset](https://docs.microsoft.com/en-us/dotnet/api/System.DateTimeOffset 'System.DateTimeOffset') \ No newline at end of file diff --git a/doc/api/Atypical.VirtualFileSystem.Core.Abstractions.VFSNode.Path.md b/doc/api/Atypical.VirtualFileSystem.Core.Abstractions.VFSNode.Path.md new file mode 100644 index 0000000..04a12a2 --- /dev/null +++ b/doc/api/Atypical.VirtualFileSystem.Core.Abstractions.VFSNode.Path.md @@ -0,0 +1,15 @@ +#### [Atypical.VirtualFileSystem.Core](Atypical.VirtualFileSystem.Core.md 'Atypical.VirtualFileSystem.Core') +### [Atypical.VirtualFileSystem.Core.Abstractions](Atypical.VirtualFileSystem.Core.Abstractions.md 'Atypical.VirtualFileSystem.Core.Abstractions').[VFSNode](Atypical.VirtualFileSystem.Core.Abstractions.VFSNode.md 'Atypical.VirtualFileSystem.Core.Abstractions.VFSNode') + +## VFSNode.Path Property + +Gets the creation time of the node. + +```csharp +public abstract Atypical.VirtualFileSystem.Core.Abstractions.VFSPath Path { get; } +``` + +Implements [Path](Atypical.VirtualFileSystem.Core.Contracts.IVirtualFileSystemNode.Path.md 'Atypical.VirtualFileSystem.Core.Contracts.IVirtualFileSystemNode.Path') + +#### Property Value +[VFSPath](Atypical.VirtualFileSystem.Core.Abstractions.VFSPath.md 'Atypical.VirtualFileSystem.Core.Abstractions.VFSPath') \ No newline at end of file diff --git a/doc/api/Atypical.VirtualFileSystem.Core.Abstractions.VFSNode.VFSNode(Atypical.VirtualFileSystem.Core.Abstractions.VFSPath).md b/doc/api/Atypical.VirtualFileSystem.Core.Abstractions.VFSNode.VFSNode(Atypical.VirtualFileSystem.Core.Abstractions.VFSPath).md new file mode 100644 index 0000000..d570eb2 --- /dev/null +++ b/doc/api/Atypical.VirtualFileSystem.Core.Abstractions.VFSNode.VFSNode(Atypical.VirtualFileSystem.Core.Abstractions.VFSPath).md @@ -0,0 +1,18 @@ +#### [Atypical.VirtualFileSystem.Core](Atypical.VirtualFileSystem.Core.md 'Atypical.VirtualFileSystem.Core') +### [Atypical.VirtualFileSystem.Core.Abstractions](Atypical.VirtualFileSystem.Core.Abstractions.md 'Atypical.VirtualFileSystem.Core.Abstractions').[VFSNode](Atypical.VirtualFileSystem.Core.Abstractions.VFSNode.md 'Atypical.VirtualFileSystem.Core.Abstractions.VFSNode') + +## VFSNode(VFSPath) Constructor + +Initializes a new instance of the [VFSNode](Atypical.VirtualFileSystem.Core.Abstractions.VFSNode.md 'Atypical.VirtualFileSystem.Core.Abstractions.VFSNode') class. +This constructor is used by derived classes. + +```csharp +protected VFSNode(Atypical.VirtualFileSystem.Core.Abstractions.VFSPath path); +``` +#### Parameters + + + +`path` [VFSPath](Atypical.VirtualFileSystem.Core.Abstractions.VFSPath.md 'Atypical.VirtualFileSystem.Core.Abstractions.VFSPath') + +The path of the node. \ No newline at end of file diff --git a/doc/api/Atypical.VirtualFileSystem.Core.Abstractions.VFSNode.md b/doc/api/Atypical.VirtualFileSystem.Core.Abstractions.VFSNode.md new file mode 100644 index 0000000..adfda22 --- /dev/null +++ b/doc/api/Atypical.VirtualFileSystem.Core.Abstractions.VFSNode.md @@ -0,0 +1,34 @@ +#### [Atypical.VirtualFileSystem.Core](Atypical.VirtualFileSystem.Core.md 'Atypical.VirtualFileSystem.Core') +### [Atypical.VirtualFileSystem.Core.Abstractions](Atypical.VirtualFileSystem.Core.Abstractions.md 'Atypical.VirtualFileSystem.Core.Abstractions') + +## VFSNode Class + +Represents a node in a virtual file system. +A node can be a file or a directory. + +```csharp +public abstract class VFSNode : +Atypical.VirtualFileSystem.Core.Contracts.IVirtualFileSystemNode, +System.IEquatable +``` + +Inheritance [System.Object](https://docs.microsoft.com/en-us/dotnet/api/System.Object 'System.Object') 🡒 VFSNode + +Derived +↳ [DirectoryNode](Atypical.VirtualFileSystem.Core.Models.DirectoryNode.md 'Atypical.VirtualFileSystem.Core.Models.DirectoryNode') +↳ [FileNode](Atypical.VirtualFileSystem.Core.Models.FileNode.md 'Atypical.VirtualFileSystem.Core.Models.FileNode') + +Implements [IVirtualFileSystemNode](Atypical.VirtualFileSystem.Core.Contracts.IVirtualFileSystemNode.md 'Atypical.VirtualFileSystem.Core.Contracts.IVirtualFileSystemNode'), [System.IEquatable<](https://docs.microsoft.com/en-us/dotnet/api/System.IEquatable-1 'System.IEquatable`1')[VFSNode](Atypical.VirtualFileSystem.Core.Abstractions.VFSNode.md 'Atypical.VirtualFileSystem.Core.Abstractions.VFSNode')[>](https://docs.microsoft.com/en-us/dotnet/api/System.IEquatable-1 'System.IEquatable`1') + +| Constructors | | +| :--- | :--- | +| [VFSNode(VFSPath)](Atypical.VirtualFileSystem.Core.Abstractions.VFSNode.VFSNode(Atypical.VirtualFileSystem.Core.Abstractions.VFSPath).md 'Atypical.VirtualFileSystem.Core.Abstractions.VFSNode.VFSNode(Atypical.VirtualFileSystem.Core.Abstractions.VFSPath)') | Initializes a new instance of the [VFSNode](Atypical.VirtualFileSystem.Core.Abstractions.VFSNode.md 'Atypical.VirtualFileSystem.Core.Abstractions.VFSNode') class.
This constructor is used by derived classes. | + +| Properties | | +| :--- | :--- | +| [CreationTime](Atypical.VirtualFileSystem.Core.Abstractions.VFSNode.CreationTime.md 'Atypical.VirtualFileSystem.Core.Abstractions.VFSNode.CreationTime') | Gets the creation time of the node. | +| [IsDirectory](Atypical.VirtualFileSystem.Core.Abstractions.VFSNode.IsDirectory.md 'Atypical.VirtualFileSystem.Core.Abstractions.VFSNode.IsDirectory') | Indicates whether the node is a directory. | +| [IsFile](Atypical.VirtualFileSystem.Core.Abstractions.VFSNode.IsFile.md 'Atypical.VirtualFileSystem.Core.Abstractions.VFSNode.IsFile') | Indicates whether the node is a file. | +| [LastAccessTime](Atypical.VirtualFileSystem.Core.Abstractions.VFSNode.LastAccessTime.md 'Atypical.VirtualFileSystem.Core.Abstractions.VFSNode.LastAccessTime') | Gets the last access time of the node. | +| [LastWriteTime](Atypical.VirtualFileSystem.Core.Abstractions.VFSNode.LastWriteTime.md 'Atypical.VirtualFileSystem.Core.Abstractions.VFSNode.LastWriteTime') | Gets the last write time of the node. | +| [Path](Atypical.VirtualFileSystem.Core.Abstractions.VFSNode.Path.md 'Atypical.VirtualFileSystem.Core.Abstractions.VFSNode.Path') | Gets the creation time of the node. | diff --git a/doc/api/Atypical.VirtualFileSystem.Core.Abstractions.VFSPath.CleanVFSPathInput(string).md b/doc/api/Atypical.VirtualFileSystem.Core.Abstractions.VFSPath.CleanVFSPathInput(string).md new file mode 100644 index 0000000..e101a01 --- /dev/null +++ b/doc/api/Atypical.VirtualFileSystem.Core.Abstractions.VFSPath.CleanVFSPathInput(string).md @@ -0,0 +1,21 @@ +#### [Atypical.VirtualFileSystem.Core](Atypical.VirtualFileSystem.Core.md 'Atypical.VirtualFileSystem.Core') +### [Atypical.VirtualFileSystem.Core.Abstractions](Atypical.VirtualFileSystem.Core.Abstractions.md 'Atypical.VirtualFileSystem.Core.Abstractions').[VFSPath](Atypical.VirtualFileSystem.Core.Abstractions.VFSPath.md 'Atypical.VirtualFileSystem.Core.Abstractions.VFSPath') + +## VFSPath.CleanVFSPathInput(string) Method + +Cleans the input path. + +```csharp +private string CleanVFSPathInput(string path); +``` +#### Parameters + + + +`path` [System.String](https://docs.microsoft.com/en-us/dotnet/api/System.String 'System.String') + +The path to clean. + +#### Returns +[System.String](https://docs.microsoft.com/en-us/dotnet/api/System.String 'System.String') +The cleaned path. \ No newline at end of file diff --git a/doc/api/Atypical.VirtualFileSystem.Core.Abstractions.VFSPath.Depth.md b/doc/api/Atypical.VirtualFileSystem.Core.Abstractions.VFSPath.Depth.md new file mode 100644 index 0000000..a126948 --- /dev/null +++ b/doc/api/Atypical.VirtualFileSystem.Core.Abstractions.VFSPath.Depth.md @@ -0,0 +1,16 @@ +#### [Atypical.VirtualFileSystem.Core](Atypical.VirtualFileSystem.Core.md 'Atypical.VirtualFileSystem.Core') +### [Atypical.VirtualFileSystem.Core.Abstractions](Atypical.VirtualFileSystem.Core.Abstractions.md 'Atypical.VirtualFileSystem.Core.Abstractions').[VFSPath](Atypical.VirtualFileSystem.Core.Abstractions.VFSPath.md 'Atypical.VirtualFileSystem.Core.Abstractions.VFSPath') + +## VFSPath.Depth Property + +Gets the depth of the file system entry. +The root directory has a depth of 0. +The depth of a file is the depth of its parent directory plus one. +The depth of a directory is the depth of its parent directory plus one. + +```csharp +public int Depth { get; } +``` + +#### Property Value +[System.Int32](https://docs.microsoft.com/en-us/dotnet/api/System.Int32 'System.Int32') \ No newline at end of file diff --git a/doc/api/Atypical.VirtualFileSystem.Core.Abstractions.VFSPath.Equals(Atypical.VirtualFileSystem.Core.Abstractions.VFSPath).md b/doc/api/Atypical.VirtualFileSystem.Core.Abstractions.VFSPath.Equals(Atypical.VirtualFileSystem.Core.Abstractions.VFSPath).md new file mode 100644 index 0000000..aba8cec --- /dev/null +++ b/doc/api/Atypical.VirtualFileSystem.Core.Abstractions.VFSPath.Equals(Atypical.VirtualFileSystem.Core.Abstractions.VFSPath).md @@ -0,0 +1,21 @@ +#### [Atypical.VirtualFileSystem.Core](Atypical.VirtualFileSystem.Core.md 'Atypical.VirtualFileSystem.Core') +### [Atypical.VirtualFileSystem.Core.Abstractions](Atypical.VirtualFileSystem.Core.Abstractions.md 'Atypical.VirtualFileSystem.Core.Abstractions').[VFSPath](Atypical.VirtualFileSystem.Core.Abstractions.VFSPath.md 'Atypical.VirtualFileSystem.Core.Abstractions.VFSPath') + +## VFSPath.Equals(VFSPath) Method + +Indicates whether the current object is equal to another object of the same type. + +```csharp +public virtual bool Equals(Atypical.VirtualFileSystem.Core.Abstractions.VFSPath? other); +``` +#### Parameters + + + +`other` [VFSPath](Atypical.VirtualFileSystem.Core.Abstractions.VFSPath.md 'Atypical.VirtualFileSystem.Core.Abstractions.VFSPath') + +An object to compare with this object. + +#### Returns +[System.Boolean](https://docs.microsoft.com/en-us/dotnet/api/System.Boolean 'System.Boolean') +A value that indicates whether the current object is equal to the [other](Atypical.VirtualFileSystem.Core.Abstractions.VFSPath.Equals(Atypical.VirtualFileSystem.Core.Abstractions.VFSPath).md#Atypical.VirtualFileSystem.Core.Abstractions.VFSPath.Equals(Atypical.VirtualFileSystem.Core.Abstractions.VFSPath).other 'Atypical.VirtualFileSystem.Core.Abstractions.VFSPath.Equals(Atypical.VirtualFileSystem.Core.Abstractions.VFSPath).other') parameter. \ No newline at end of file diff --git a/doc/api/Atypical.VirtualFileSystem.Core.Abstractions.VFSPath.GetAbsoluteParentPath(int).md b/doc/api/Atypical.VirtualFileSystem.Core.Abstractions.VFSPath.GetAbsoluteParentPath(int).md new file mode 100644 index 0000000..dc2372c --- /dev/null +++ b/doc/api/Atypical.VirtualFileSystem.Core.Abstractions.VFSPath.GetAbsoluteParentPath(int).md @@ -0,0 +1,29 @@ +#### [Atypical.VirtualFileSystem.Core](Atypical.VirtualFileSystem.Core.md 'Atypical.VirtualFileSystem.Core') +### [Atypical.VirtualFileSystem.Core.Abstractions](Atypical.VirtualFileSystem.Core.Abstractions.md 'Atypical.VirtualFileSystem.Core.Abstractions').[VFSPath](Atypical.VirtualFileSystem.Core.Abstractions.VFSPath.md 'Atypical.VirtualFileSystem.Core.Abstractions.VFSPath') + +## VFSPath.GetAbsoluteParentPath(int) Method + +Gets the absolute path of the parent directory with depth [depthFromRoot](Atypical.VirtualFileSystem.Core.Abstractions.VFSPath.GetAbsoluteParentPath(int).md#Atypical.VirtualFileSystem.Core.Abstractions.VFSPath.GetAbsoluteParentPath(int).depthFromRoot 'Atypical.VirtualFileSystem.Core.Abstractions.VFSPath.GetAbsoluteParentPath(int).depthFromRoot'). +The root directory has a depth of 0. +The depth of a file is the depth of its parent directory plus one. +The depth of a directory is the depth of its parent directory plus one. + +```csharp +public Atypical.VirtualFileSystem.Core.Abstractions.VFSPath GetAbsoluteParentPath(int depthFromRoot); +``` +#### Parameters + + + +`depthFromRoot` [System.Int32](https://docs.microsoft.com/en-us/dotnet/api/System.Int32 'System.Int32') + +The depth of the parent directory from the root directory. + +#### Returns +[VFSPath](Atypical.VirtualFileSystem.Core.Abstractions.VFSPath.md 'Atypical.VirtualFileSystem.Core.Abstractions.VFSPath') +The absolute path of the parent directory with depth [depthFromRoot](Atypical.VirtualFileSystem.Core.Abstractions.VFSPath.GetAbsoluteParentPath(int).md#Atypical.VirtualFileSystem.Core.Abstractions.VFSPath.GetAbsoluteParentPath(int).depthFromRoot 'Atypical.VirtualFileSystem.Core.Abstractions.VFSPath.GetAbsoluteParentPath(int).depthFromRoot'). + +#### Exceptions + +[System.ArgumentOutOfRangeException](https://docs.microsoft.com/en-us/dotnet/api/System.ArgumentOutOfRangeException 'System.ArgumentOutOfRangeException') +Thrown when the depth is negative. \ No newline at end of file diff --git a/doc/api/Atypical.VirtualFileSystem.Core.Abstractions.VFSPath.GetHashCode().md b/doc/api/Atypical.VirtualFileSystem.Core.Abstractions.VFSPath.GetHashCode().md new file mode 100644 index 0000000..57a6fe8 --- /dev/null +++ b/doc/api/Atypical.VirtualFileSystem.Core.Abstractions.VFSPath.GetHashCode().md @@ -0,0 +1,14 @@ +#### [Atypical.VirtualFileSystem.Core](Atypical.VirtualFileSystem.Core.md 'Atypical.VirtualFileSystem.Core') +### [Atypical.VirtualFileSystem.Core.Abstractions](Atypical.VirtualFileSystem.Core.Abstractions.md 'Atypical.VirtualFileSystem.Core.Abstractions').[VFSPath](Atypical.VirtualFileSystem.Core.Abstractions.VFSPath.md 'Atypical.VirtualFileSystem.Core.Abstractions.VFSPath') + +## VFSPath.GetHashCode() Method + +Serves as the default hash function. + +```csharp +public override int GetHashCode(); +``` + +#### Returns +[System.Int32](https://docs.microsoft.com/en-us/dotnet/api/System.Int32 'System.Int32') +A hash code for the current object. \ No newline at end of file diff --git a/doc/api/Atypical.VirtualFileSystem.Core.Abstractions.VFSPath.HasParent.md b/doc/api/Atypical.VirtualFileSystem.Core.Abstractions.VFSPath.HasParent.md new file mode 100644 index 0000000..088e069 --- /dev/null +++ b/doc/api/Atypical.VirtualFileSystem.Core.Abstractions.VFSPath.HasParent.md @@ -0,0 +1,13 @@ +#### [Atypical.VirtualFileSystem.Core](Atypical.VirtualFileSystem.Core.md 'Atypical.VirtualFileSystem.Core') +### [Atypical.VirtualFileSystem.Core.Abstractions](Atypical.VirtualFileSystem.Core.Abstractions.md 'Atypical.VirtualFileSystem.Core.Abstractions').[VFSPath](Atypical.VirtualFileSystem.Core.Abstractions.VFSPath.md 'Atypical.VirtualFileSystem.Core.Abstractions.VFSPath') + +## VFSPath.HasParent Property + +Indicates whether the path has a parent directory. + +```csharp +public bool HasParent { get; } +``` + +#### Property Value +[System.Boolean](https://docs.microsoft.com/en-us/dotnet/api/System.Boolean 'System.Boolean') \ No newline at end of file diff --git a/doc/api/Atypical.VirtualFileSystem.Core.Abstractions.VFSPath.IsRoot.md b/doc/api/Atypical.VirtualFileSystem.Core.Abstractions.VFSPath.IsRoot.md new file mode 100644 index 0000000..eb303fb --- /dev/null +++ b/doc/api/Atypical.VirtualFileSystem.Core.Abstractions.VFSPath.IsRoot.md @@ -0,0 +1,13 @@ +#### [Atypical.VirtualFileSystem.Core](Atypical.VirtualFileSystem.Core.md 'Atypical.VirtualFileSystem.Core') +### [Atypical.VirtualFileSystem.Core.Abstractions](Atypical.VirtualFileSystem.Core.Abstractions.md 'Atypical.VirtualFileSystem.Core.Abstractions').[VFSPath](Atypical.VirtualFileSystem.Core.Abstractions.VFSPath.md 'Atypical.VirtualFileSystem.Core.Abstractions.VFSPath') + +## VFSPath.IsRoot Property + +Gets a value indicating whether the directory is the root directory. + +```csharp +public bool IsRoot { get; } +``` + +#### Property Value +[System.Boolean](https://docs.microsoft.com/en-us/dotnet/api/System.Boolean 'System.Boolean') \ No newline at end of file diff --git a/doc/api/Atypical.VirtualFileSystem.Core.Abstractions.VFSPath.Name.md b/doc/api/Atypical.VirtualFileSystem.Core.Abstractions.VFSPath.Name.md new file mode 100644 index 0000000..eb0dfe4 --- /dev/null +++ b/doc/api/Atypical.VirtualFileSystem.Core.Abstractions.VFSPath.Name.md @@ -0,0 +1,15 @@ +#### [Atypical.VirtualFileSystem.Core](Atypical.VirtualFileSystem.Core.md 'Atypical.VirtualFileSystem.Core') +### [Atypical.VirtualFileSystem.Core.Abstractions](Atypical.VirtualFileSystem.Core.Abstractions.md 'Atypical.VirtualFileSystem.Core.Abstractions').[VFSPath](Atypical.VirtualFileSystem.Core.Abstractions.VFSPath.md 'Atypical.VirtualFileSystem.Core.Abstractions.VFSPath') + +## VFSPath.Name Property + +Gets the name of the file system entry. +The name of the root directory is [ROOT_PATH](Atypical.VirtualFileSystem.Core.VFSConstants.ROOT_PATH.md 'Atypical.VirtualFileSystem.Core.VFSConstants.ROOT_PATH'). +The name of a file is the name of the file with its extension. + +```csharp +public string Name { get; } +``` + +#### Property Value +[System.String](https://docs.microsoft.com/en-us/dotnet/api/System.String 'System.String') \ No newline at end of file diff --git a/doc/api/Atypical.VirtualFileSystem.Core.Abstractions.VFSPath.Parent.md b/doc/api/Atypical.VirtualFileSystem.Core.Abstractions.VFSPath.Parent.md new file mode 100644 index 0000000..e4f1190 --- /dev/null +++ b/doc/api/Atypical.VirtualFileSystem.Core.Abstractions.VFSPath.Parent.md @@ -0,0 +1,13 @@ +#### [Atypical.VirtualFileSystem.Core](Atypical.VirtualFileSystem.Core.md 'Atypical.VirtualFileSystem.Core') +### [Atypical.VirtualFileSystem.Core.Abstractions](Atypical.VirtualFileSystem.Core.Abstractions.md 'Atypical.VirtualFileSystem.Core.Abstractions').[VFSPath](Atypical.VirtualFileSystem.Core.Abstractions.VFSPath.md 'Atypical.VirtualFileSystem.Core.Abstractions.VFSPath') + +## VFSPath.Parent Property + +Gets the path of the parent directory. + +```csharp +public Atypical.VirtualFileSystem.Core.ValueObjects.VFSDirectoryPath? Parent { get; } +``` + +#### Property Value +[VFSDirectoryPath](Atypical.VirtualFileSystem.Core.ValueObjects.VFSDirectoryPath.md 'Atypical.VirtualFileSystem.Core.ValueObjects.VFSDirectoryPath') \ No newline at end of file diff --git a/doc/api/Atypical.VirtualFileSystem.Core.Abstractions.VFSPath.VFSPath(string).md b/doc/api/Atypical.VirtualFileSystem.Core.Abstractions.VFSPath.VFSPath(string).md new file mode 100644 index 0000000..568dc99 --- /dev/null +++ b/doc/api/Atypical.VirtualFileSystem.Core.Abstractions.VFSPath.VFSPath(string).md @@ -0,0 +1,25 @@ +#### [Atypical.VirtualFileSystem.Core](Atypical.VirtualFileSystem.Core.md 'Atypical.VirtualFileSystem.Core') +### [Atypical.VirtualFileSystem.Core.Abstractions](Atypical.VirtualFileSystem.Core.Abstractions.md 'Atypical.VirtualFileSystem.Core.Abstractions').[VFSPath](Atypical.VirtualFileSystem.Core.Abstractions.VFSPath.md 'Atypical.VirtualFileSystem.Core.Abstractions.VFSPath') + +## VFSPath(string) Constructor + +Creates a new instance of [VFSPath](Atypical.VirtualFileSystem.Core.Abstractions.VFSPath.md 'Atypical.VirtualFileSystem.Core.Abstractions.VFSPath'). + +```csharp +public VFSPath(string path); +``` +#### Parameters + + + +`path` [System.String](https://docs.microsoft.com/en-us/dotnet/api/System.String 'System.String') + +The path to the file system entry. + +#### Exceptions + +[System.ArgumentNullException](https://docs.microsoft.com/en-us/dotnet/api/System.ArgumentNullException 'System.ArgumentNullException') +Thrown when the path is null. + +[System.ArgumentException](https://docs.microsoft.com/en-us/dotnet/api/System.ArgumentException 'System.ArgumentException') +Thrown when the path is invalid. \ No newline at end of file diff --git a/doc/api/Atypical.VirtualFileSystem.Core.Abstractions.VFSPath.VFSPathRegex.md b/doc/api/Atypical.VirtualFileSystem.Core.Abstractions.VFSPath.VFSPathRegex.md new file mode 100644 index 0000000..392e425 --- /dev/null +++ b/doc/api/Atypical.VirtualFileSystem.Core.Abstractions.VFSPath.VFSPathRegex.md @@ -0,0 +1,13 @@ +#### [Atypical.VirtualFileSystem.Core](Atypical.VirtualFileSystem.Core.md 'Atypical.VirtualFileSystem.Core') +### [Atypical.VirtualFileSystem.Core.Abstractions](Atypical.VirtualFileSystem.Core.Abstractions.md 'Atypical.VirtualFileSystem.Core.Abstractions').[VFSPath](Atypical.VirtualFileSystem.Core.Abstractions.VFSPath.md 'Atypical.VirtualFileSystem.Core.Abstractions.VFSPath') + +## VFSPath.VFSPathRegex Field + +Regex for matching a valid file system path. + +```csharp +public static readonly Regex VFSPathRegex; +``` + +#### Field Value +[System.Text.RegularExpressions.Regex](https://docs.microsoft.com/en-us/dotnet/api/System.Text.RegularExpressions.Regex 'System.Text.RegularExpressions.Regex') \ No newline at end of file diff --git a/doc/api/Atypical.VirtualFileSystem.Core.Abstractions.VFSPath.VFSPathRegexPattern.md b/doc/api/Atypical.VirtualFileSystem.Core.Abstractions.VFSPath.VFSPathRegexPattern.md new file mode 100644 index 0000000..6d5a067 --- /dev/null +++ b/doc/api/Atypical.VirtualFileSystem.Core.Abstractions.VFSPath.VFSPathRegexPattern.md @@ -0,0 +1,13 @@ +#### [Atypical.VirtualFileSystem.Core](Atypical.VirtualFileSystem.Core.md 'Atypical.VirtualFileSystem.Core') +### [Atypical.VirtualFileSystem.Core.Abstractions](Atypical.VirtualFileSystem.Core.Abstractions.md 'Atypical.VirtualFileSystem.Core.Abstractions').[VFSPath](Atypical.VirtualFileSystem.Core.Abstractions.VFSPath.md 'Atypical.VirtualFileSystem.Core.Abstractions.VFSPath') + +## VFSPath.VFSPathRegexPattern Field + +Regex pattern for matching a valid file system path. + +```csharp +private const string VFSPathRegexPattern = ^vfs://(?([a-zA-Z0-9_\-\.]+/)*[a-zA-Z0-9_\-\.]+)$; +``` + +#### Field Value +[System.String](https://docs.microsoft.com/en-us/dotnet/api/System.String 'System.String') \ No newline at end of file diff --git a/doc/api/Atypical.VirtualFileSystem.Core.Abstractions.VFSPath.Value.md b/doc/api/Atypical.VirtualFileSystem.Core.Abstractions.VFSPath.Value.md new file mode 100644 index 0000000..b4c53c3 --- /dev/null +++ b/doc/api/Atypical.VirtualFileSystem.Core.Abstractions.VFSPath.Value.md @@ -0,0 +1,13 @@ +#### [Atypical.VirtualFileSystem.Core](Atypical.VirtualFileSystem.Core.md 'Atypical.VirtualFileSystem.Core') +### [Atypical.VirtualFileSystem.Core.Abstractions](Atypical.VirtualFileSystem.Core.Abstractions.md 'Atypical.VirtualFileSystem.Core.Abstractions').[VFSPath](Atypical.VirtualFileSystem.Core.Abstractions.VFSPath.md 'Atypical.VirtualFileSystem.Core.Abstractions.VFSPath') + +## VFSPath.Value Property + +Gets the path of the file system entry with the VFS prefix. + +```csharp +public string Value { get; } +``` + +#### Property Value +[System.String](https://docs.microsoft.com/en-us/dotnet/api/System.String 'System.String') \ No newline at end of file diff --git a/doc/api/Atypical.VirtualFileSystem.Core.Abstractions.VFSPath.md b/doc/api/Atypical.VirtualFileSystem.Core.Abstractions.VFSPath.md new file mode 100644 index 0000000..144c627 --- /dev/null +++ b/doc/api/Atypical.VirtualFileSystem.Core.Abstractions.VFSPath.md @@ -0,0 +1,44 @@ +#### [Atypical.VirtualFileSystem.Core](Atypical.VirtualFileSystem.Core.md 'Atypical.VirtualFileSystem.Core') +### [Atypical.VirtualFileSystem.Core.Abstractions](Atypical.VirtualFileSystem.Core.Abstractions.md 'Atypical.VirtualFileSystem.Core.Abstractions') + +## VFSPath Class + +Represents a file system entry (file or directory) in the virtual file system. + +```csharp +public abstract class VFSPath : +System.IEquatable +``` + +Inheritance [System.Object](https://docs.microsoft.com/en-us/dotnet/api/System.Object 'System.Object') 🡒 VFSPath + +Derived +↳ [VFSDirectoryPath](Atypical.VirtualFileSystem.Core.ValueObjects.VFSDirectoryPath.md 'Atypical.VirtualFileSystem.Core.ValueObjects.VFSDirectoryPath') +↳ [VFSFilePath](Atypical.VirtualFileSystem.Core.ValueObjects.VFSFilePath.md 'Atypical.VirtualFileSystem.Core.ValueObjects.VFSFilePath') + +Implements [System.IEquatable<](https://docs.microsoft.com/en-us/dotnet/api/System.IEquatable-1 'System.IEquatable`1')[VFSPath](Atypical.VirtualFileSystem.Core.Abstractions.VFSPath.md 'Atypical.VirtualFileSystem.Core.Abstractions.VFSPath')[>](https://docs.microsoft.com/en-us/dotnet/api/System.IEquatable-1 'System.IEquatable`1') + +| Constructors | | +| :--- | :--- | +| [VFSPath(string)](Atypical.VirtualFileSystem.Core.Abstractions.VFSPath.VFSPath(string).md 'Atypical.VirtualFileSystem.Core.Abstractions.VFSPath.VFSPath(string)') | Creates a new instance of [VFSPath](Atypical.VirtualFileSystem.Core.Abstractions.VFSPath.md 'Atypical.VirtualFileSystem.Core.Abstractions.VFSPath'). | + +| Fields | | +| :--- | :--- | +| [VFSPathRegex](Atypical.VirtualFileSystem.Core.Abstractions.VFSPath.VFSPathRegex.md 'Atypical.VirtualFileSystem.Core.Abstractions.VFSPath.VFSPathRegex') | Regex for matching a valid file system path. | +| [VFSPathRegexPattern](Atypical.VirtualFileSystem.Core.Abstractions.VFSPath.VFSPathRegexPattern.md 'Atypical.VirtualFileSystem.Core.Abstractions.VFSPath.VFSPathRegexPattern') | Regex pattern for matching a valid file system path. | + +| Properties | | +| :--- | :--- | +| [Depth](Atypical.VirtualFileSystem.Core.Abstractions.VFSPath.Depth.md 'Atypical.VirtualFileSystem.Core.Abstractions.VFSPath.Depth') | Gets the depth of the file system entry.
The root directory has a depth of 0.
The depth of a file is the depth of its parent directory plus one.
The depth of a directory is the depth of its parent directory plus one. | +| [HasParent](Atypical.VirtualFileSystem.Core.Abstractions.VFSPath.HasParent.md 'Atypical.VirtualFileSystem.Core.Abstractions.VFSPath.HasParent') | Indicates whether the path has a parent directory. | +| [IsRoot](Atypical.VirtualFileSystem.Core.Abstractions.VFSPath.IsRoot.md 'Atypical.VirtualFileSystem.Core.Abstractions.VFSPath.IsRoot') | Gets a value indicating whether the directory is the root directory. | +| [Name](Atypical.VirtualFileSystem.Core.Abstractions.VFSPath.Name.md 'Atypical.VirtualFileSystem.Core.Abstractions.VFSPath.Name') | Gets the name of the file system entry.
The name of the root directory is [ROOT_PATH](Atypical.VirtualFileSystem.Core.VFSConstants.ROOT_PATH.md 'Atypical.VirtualFileSystem.Core.VFSConstants.ROOT_PATH').
The name of a file is the name of the file with its extension. | +| [Parent](Atypical.VirtualFileSystem.Core.Abstractions.VFSPath.Parent.md 'Atypical.VirtualFileSystem.Core.Abstractions.VFSPath.Parent') | Gets the path of the parent directory. | +| [Value](Atypical.VirtualFileSystem.Core.Abstractions.VFSPath.Value.md 'Atypical.VirtualFileSystem.Core.Abstractions.VFSPath.Value') | Gets the path of the file system entry with the VFS prefix. | + +| Methods | | +| :--- | :--- | +| [CleanVFSPathInput(string)](Atypical.VirtualFileSystem.Core.Abstractions.VFSPath.CleanVFSPathInput(string).md 'Atypical.VirtualFileSystem.Core.Abstractions.VFSPath.CleanVFSPathInput(string)') | Cleans the input path. | +| [Equals(VFSPath)](Atypical.VirtualFileSystem.Core.Abstractions.VFSPath.Equals(Atypical.VirtualFileSystem.Core.Abstractions.VFSPath).md 'Atypical.VirtualFileSystem.Core.Abstractions.VFSPath.Equals(Atypical.VirtualFileSystem.Core.Abstractions.VFSPath)') | Indicates whether the current object is equal to another object of the same type. | +| [GetAbsoluteParentPath(int)](Atypical.VirtualFileSystem.Core.Abstractions.VFSPath.GetAbsoluteParentPath(int).md 'Atypical.VirtualFileSystem.Core.Abstractions.VFSPath.GetAbsoluteParentPath(int)') | Gets the absolute path of the parent directory with depth [depthFromRoot](Atypical.VirtualFileSystem.Core.Abstractions.VFSPath.GetAbsoluteParentPath(int).md#Atypical.VirtualFileSystem.Core.Abstractions.VFSPath.GetAbsoluteParentPath(int).depthFromRoot 'Atypical.VirtualFileSystem.Core.Abstractions.VFSPath.GetAbsoluteParentPath(int).depthFromRoot').
The root directory has a depth of 0.
The depth of a file is the depth of its parent directory plus one.
The depth of a directory is the depth of its parent directory plus one. | +| [GetHashCode()](Atypical.VirtualFileSystem.Core.Abstractions.VFSPath.GetHashCode().md 'Atypical.VirtualFileSystem.Core.Abstractions.VFSPath.GetHashCode()') | Serves as the default hash function. | diff --git a/doc/api/Atypical.VirtualFileSystem.Core.Abstractions.md b/doc/api/Atypical.VirtualFileSystem.Core.Abstractions.md new file mode 100644 index 0000000..6f1ce17 --- /dev/null +++ b/doc/api/Atypical.VirtualFileSystem.Core.Abstractions.md @@ -0,0 +1,8 @@ +#### [Atypical.VirtualFileSystem.Core](Atypical.VirtualFileSystem.Core.md 'Atypical.VirtualFileSystem.Core') + +## Atypical.VirtualFileSystem.Core.Abstractions Namespace + +| Classes | | +| :--- | :--- | +| [VFSNode](Atypical.VirtualFileSystem.Core.Abstractions.VFSNode.md 'Atypical.VirtualFileSystem.Core.Abstractions.VFSNode') | Represents a node in a virtual file system.
A node can be a file or a directory. | +| [VFSPath](Atypical.VirtualFileSystem.Core.Abstractions.VFSPath.md 'Atypical.VirtualFileSystem.Core.Abstractions.VFSPath') | Represents a file system entry (file or directory) in the virtual file system. | diff --git a/doc/api/Atypical.VirtualFileSystem.Core.Contracts.IDirectoryNode.md b/doc/api/Atypical.VirtualFileSystem.Core.Contracts.IDirectoryNode.md new file mode 100644 index 0000000..ccd0735 --- /dev/null +++ b/doc/api/Atypical.VirtualFileSystem.Core.Contracts.IDirectoryNode.md @@ -0,0 +1,20 @@ +#### [Atypical.VirtualFileSystem.Core](Atypical.VirtualFileSystem.Core.md 'Atypical.VirtualFileSystem.Core') +### [Atypical.VirtualFileSystem.Core.Contracts](Atypical.VirtualFileSystem.Core.Contracts.md 'Atypical.VirtualFileSystem.Core.Contracts') + +## IDirectoryNode Interface + +Represents a directory in a virtual file system. +This is an in-memory representation of a directory. +It is not a representation of a directory on a physical file system. + +```csharp +public interface IDirectoryNode : +Atypical.VirtualFileSystem.Core.Contracts.IVirtualFileSystemNode +``` + +Derived +↳ [IRootNode](Atypical.VirtualFileSystem.Core.Contracts.IRootNode.md 'Atypical.VirtualFileSystem.Core.Contracts.IRootNode') +↳ [DirectoryNode](Atypical.VirtualFileSystem.Core.Models.DirectoryNode.md 'Atypical.VirtualFileSystem.Core.Models.DirectoryNode') +↳ [RootNode](Atypical.VirtualFileSystem.Core.Models.RootNode.md 'Atypical.VirtualFileSystem.Core.Models.RootNode') + +Implements [IVirtualFileSystemNode](Atypical.VirtualFileSystem.Core.Contracts.IVirtualFileSystemNode.md 'Atypical.VirtualFileSystem.Core.Contracts.IVirtualFileSystemNode') \ No newline at end of file diff --git a/doc/api/Atypical.VirtualFileSystem.Core.Contracts.IFileNode.Content.md b/doc/api/Atypical.VirtualFileSystem.Core.Contracts.IFileNode.Content.md new file mode 100644 index 0000000..25adfbc --- /dev/null +++ b/doc/api/Atypical.VirtualFileSystem.Core.Contracts.IFileNode.Content.md @@ -0,0 +1,14 @@ +#### [Atypical.VirtualFileSystem.Core](Atypical.VirtualFileSystem.Core.md 'Atypical.VirtualFileSystem.Core') +### [Atypical.VirtualFileSystem.Core.Contracts](Atypical.VirtualFileSystem.Core.Contracts.md 'Atypical.VirtualFileSystem.Core.Contracts').[IFileNode](Atypical.VirtualFileSystem.Core.Contracts.IFileNode.md 'Atypical.VirtualFileSystem.Core.Contracts.IFileNode') + +## IFileNode.Content Property + +Gets the content of the file as a string. +The encoding is in UTF-8. + +```csharp +string Content { get; set; } +``` + +#### Property Value +[System.String](https://docs.microsoft.com/en-us/dotnet/api/System.String 'System.String') \ No newline at end of file diff --git a/doc/api/Atypical.VirtualFileSystem.Core.Contracts.IFileNode.md b/doc/api/Atypical.VirtualFileSystem.Core.Contracts.IFileNode.md new file mode 100644 index 0000000..59f9aec --- /dev/null +++ b/doc/api/Atypical.VirtualFileSystem.Core.Contracts.IFileNode.md @@ -0,0 +1,21 @@ +#### [Atypical.VirtualFileSystem.Core](Atypical.VirtualFileSystem.Core.md 'Atypical.VirtualFileSystem.Core') +### [Atypical.VirtualFileSystem.Core.Contracts](Atypical.VirtualFileSystem.Core.Contracts.md 'Atypical.VirtualFileSystem.Core.Contracts') + +## IFileNode Interface + +Represents a file in a virtual file system. +This is the base interface for all file types. + +```csharp +public interface IFileNode : +Atypical.VirtualFileSystem.Core.Contracts.IVirtualFileSystemNode +``` + +Derived +↳ [FileNode](Atypical.VirtualFileSystem.Core.Models.FileNode.md 'Atypical.VirtualFileSystem.Core.Models.FileNode') + +Implements [IVirtualFileSystemNode](Atypical.VirtualFileSystem.Core.Contracts.IVirtualFileSystemNode.md 'Atypical.VirtualFileSystem.Core.Contracts.IVirtualFileSystemNode') + +| Properties | | +| :--- | :--- | +| [Content](Atypical.VirtualFileSystem.Core.Contracts.IFileNode.Content.md 'Atypical.VirtualFileSystem.Core.Contracts.IFileNode.Content') | Gets the content of the file as a string.
The encoding is in UTF-8. | diff --git a/doc/api/Atypical.VirtualFileSystem.Core.Contracts.IRootNode.md b/doc/api/Atypical.VirtualFileSystem.Core.Contracts.IRootNode.md new file mode 100644 index 0000000..4d5ccb1 --- /dev/null +++ b/doc/api/Atypical.VirtualFileSystem.Core.Contracts.IRootNode.md @@ -0,0 +1,18 @@ +#### [Atypical.VirtualFileSystem.Core](Atypical.VirtualFileSystem.Core.md 'Atypical.VirtualFileSystem.Core') +### [Atypical.VirtualFileSystem.Core.Contracts](Atypical.VirtualFileSystem.Core.Contracts.md 'Atypical.VirtualFileSystem.Core.Contracts') + +## IRootNode Interface + +Represents the root of a virtual file system. +This is the entry point for all operations on the file system. + +```csharp +public interface IRootNode : +Atypical.VirtualFileSystem.Core.Contracts.IDirectoryNode, +Atypical.VirtualFileSystem.Core.Contracts.IVirtualFileSystemNode +``` + +Derived +↳ [RootNode](Atypical.VirtualFileSystem.Core.Models.RootNode.md 'Atypical.VirtualFileSystem.Core.Models.RootNode') + +Implements [IDirectoryNode](Atypical.VirtualFileSystem.Core.Contracts.IDirectoryNode.md 'Atypical.VirtualFileSystem.Core.Contracts.IDirectoryNode'), [IVirtualFileSystemNode](Atypical.VirtualFileSystem.Core.Contracts.IVirtualFileSystemNode.md 'Atypical.VirtualFileSystem.Core.Contracts.IVirtualFileSystemNode') \ No newline at end of file diff --git a/doc/api/Atypical.VirtualFileSystem.Core.Contracts.IVirtualFileSystem.CreateDirectory(Atypical.VirtualFileSystem.Core.ValueObjects.VFSDirectoryPath).md b/doc/api/Atypical.VirtualFileSystem.Core.Contracts.IVirtualFileSystem.CreateDirectory(Atypical.VirtualFileSystem.Core.ValueObjects.VFSDirectoryPath).md new file mode 100644 index 0000000..bd93588 --- /dev/null +++ b/doc/api/Atypical.VirtualFileSystem.Core.Contracts.IVirtualFileSystem.CreateDirectory(Atypical.VirtualFileSystem.Core.ValueObjects.VFSDirectoryPath).md @@ -0,0 +1,22 @@ +#### [Atypical.VirtualFileSystem.Core](Atypical.VirtualFileSystem.Core.md 'Atypical.VirtualFileSystem.Core') +### [Atypical.VirtualFileSystem.Core.Contracts](Atypical.VirtualFileSystem.Core.Contracts.md 'Atypical.VirtualFileSystem.Core.Contracts').[IVirtualFileSystem](Atypical.VirtualFileSystem.Core.Contracts.IVirtualFileSystem.md 'Atypical.VirtualFileSystem.Core.Contracts.IVirtualFileSystem') + +## IVirtualFileSystem.CreateDirectory(VFSDirectoryPath) Method + +Creates a directory node at the specified path. +The path must be absolute. + +```csharp +Atypical.VirtualFileSystem.Core.Contracts.IVirtualFileSystem CreateDirectory(Atypical.VirtualFileSystem.Core.ValueObjects.VFSDirectoryPath directoryPath); +``` +#### Parameters + + + +`directoryPath` [VFSDirectoryPath](Atypical.VirtualFileSystem.Core.ValueObjects.VFSDirectoryPath.md 'Atypical.VirtualFileSystem.Core.ValueObjects.VFSDirectoryPath') + +The path of the directory node. + +#### Returns +[IVirtualFileSystem](Atypical.VirtualFileSystem.Core.Contracts.IVirtualFileSystem.md 'Atypical.VirtualFileSystem.Core.Contracts.IVirtualFileSystem') +The file system. \ No newline at end of file diff --git a/doc/api/Atypical.VirtualFileSystem.Core.Contracts.IVirtualFileSystem.CreateDirectory(string).md b/doc/api/Atypical.VirtualFileSystem.Core.Contracts.IVirtualFileSystem.CreateDirectory(string).md new file mode 100644 index 0000000..4ebaed7 --- /dev/null +++ b/doc/api/Atypical.VirtualFileSystem.Core.Contracts.IVirtualFileSystem.CreateDirectory(string).md @@ -0,0 +1,22 @@ +#### [Atypical.VirtualFileSystem.Core](Atypical.VirtualFileSystem.Core.md 'Atypical.VirtualFileSystem.Core') +### [Atypical.VirtualFileSystem.Core.Contracts](Atypical.VirtualFileSystem.Core.Contracts.md 'Atypical.VirtualFileSystem.Core.Contracts').[IVirtualFileSystem](Atypical.VirtualFileSystem.Core.Contracts.IVirtualFileSystem.md 'Atypical.VirtualFileSystem.Core.Contracts.IVirtualFileSystem') + +## IVirtualFileSystem.CreateDirectory(string) Method + +Creates a directory node at the specified path. +The path must be absolute. + +```csharp +Atypical.VirtualFileSystem.Core.Contracts.IVirtualFileSystem CreateDirectory(string directoryPath); +``` +#### Parameters + + + +`directoryPath` [System.String](https://docs.microsoft.com/en-us/dotnet/api/System.String 'System.String') + +The path of the directory node. + +#### Returns +[IVirtualFileSystem](Atypical.VirtualFileSystem.Core.Contracts.IVirtualFileSystem.md 'Atypical.VirtualFileSystem.Core.Contracts.IVirtualFileSystem') +The file system. \ No newline at end of file diff --git a/doc/api/Atypical.VirtualFileSystem.Core.Contracts.IVirtualFileSystem.CreateFile(Atypical.VirtualFileSystem.Core.ValueObjects.VFSFilePath,string).md b/doc/api/Atypical.VirtualFileSystem.Core.Contracts.IVirtualFileSystem.CreateFile(Atypical.VirtualFileSystem.Core.ValueObjects.VFSFilePath,string).md new file mode 100644 index 0000000..c1a0c3a --- /dev/null +++ b/doc/api/Atypical.VirtualFileSystem.Core.Contracts.IVirtualFileSystem.CreateFile(Atypical.VirtualFileSystem.Core.ValueObjects.VFSFilePath,string).md @@ -0,0 +1,28 @@ +#### [Atypical.VirtualFileSystem.Core](Atypical.VirtualFileSystem.Core.md 'Atypical.VirtualFileSystem.Core') +### [Atypical.VirtualFileSystem.Core.Contracts](Atypical.VirtualFileSystem.Core.Contracts.md 'Atypical.VirtualFileSystem.Core.Contracts').[IVirtualFileSystem](Atypical.VirtualFileSystem.Core.Contracts.IVirtualFileSystem.md 'Atypical.VirtualFileSystem.Core.Contracts.IVirtualFileSystem') + +## IVirtualFileSystem.CreateFile(VFSFilePath, string) Method + +Creates a file node at the specified path. +The path must be absolute. + +```csharp +Atypical.VirtualFileSystem.Core.Contracts.IVirtualFileSystem CreateFile(Atypical.VirtualFileSystem.Core.ValueObjects.VFSFilePath filePath, string? content=null); +``` +#### Parameters + + + +`filePath` [VFSFilePath](Atypical.VirtualFileSystem.Core.ValueObjects.VFSFilePath.md 'Atypical.VirtualFileSystem.Core.ValueObjects.VFSFilePath') + +The path of the file node. + + + +`content` [System.String](https://docs.microsoft.com/en-us/dotnet/api/System.String 'System.String') + +The content of the file node. + +#### Returns +[IVirtualFileSystem](Atypical.VirtualFileSystem.Core.Contracts.IVirtualFileSystem.md 'Atypical.VirtualFileSystem.Core.Contracts.IVirtualFileSystem') +The file system. \ No newline at end of file diff --git a/doc/api/Atypical.VirtualFileSystem.Core.Contracts.IVirtualFileSystem.CreateFile(string,string).md b/doc/api/Atypical.VirtualFileSystem.Core.Contracts.IVirtualFileSystem.CreateFile(string,string).md new file mode 100644 index 0000000..de1b891 --- /dev/null +++ b/doc/api/Atypical.VirtualFileSystem.Core.Contracts.IVirtualFileSystem.CreateFile(string,string).md @@ -0,0 +1,28 @@ +#### [Atypical.VirtualFileSystem.Core](Atypical.VirtualFileSystem.Core.md 'Atypical.VirtualFileSystem.Core') +### [Atypical.VirtualFileSystem.Core.Contracts](Atypical.VirtualFileSystem.Core.Contracts.md 'Atypical.VirtualFileSystem.Core.Contracts').[IVirtualFileSystem](Atypical.VirtualFileSystem.Core.Contracts.IVirtualFileSystem.md 'Atypical.VirtualFileSystem.Core.Contracts.IVirtualFileSystem') + +## IVirtualFileSystem.CreateFile(string, string) Method + +Creates a file node at the specified path. +The path must be absolute. + +```csharp +Atypical.VirtualFileSystem.Core.Contracts.IVirtualFileSystem CreateFile(string filePath, string? content=null); +``` +#### Parameters + + + +`filePath` [System.String](https://docs.microsoft.com/en-us/dotnet/api/System.String 'System.String') + +The path of the file node. + + + +`content` [System.String](https://docs.microsoft.com/en-us/dotnet/api/System.String 'System.String') + +The content of the file node. + +#### Returns +[IVirtualFileSystem](Atypical.VirtualFileSystem.Core.Contracts.IVirtualFileSystem.md 'Atypical.VirtualFileSystem.Core.Contracts.IVirtualFileSystem') +The file system. \ No newline at end of file diff --git a/doc/api/Atypical.VirtualFileSystem.Core.Contracts.IVirtualFileSystem.DeleteDirectory(Atypical.VirtualFileSystem.Core.ValueObjects.VFSDirectoryPath).md b/doc/api/Atypical.VirtualFileSystem.Core.Contracts.IVirtualFileSystem.DeleteDirectory(Atypical.VirtualFileSystem.Core.ValueObjects.VFSDirectoryPath).md new file mode 100644 index 0000000..eca3231 --- /dev/null +++ b/doc/api/Atypical.VirtualFileSystem.Core.Contracts.IVirtualFileSystem.DeleteDirectory(Atypical.VirtualFileSystem.Core.ValueObjects.VFSDirectoryPath).md @@ -0,0 +1,22 @@ +#### [Atypical.VirtualFileSystem.Core](Atypical.VirtualFileSystem.Core.md 'Atypical.VirtualFileSystem.Core') +### [Atypical.VirtualFileSystem.Core.Contracts](Atypical.VirtualFileSystem.Core.Contracts.md 'Atypical.VirtualFileSystem.Core.Contracts').[IVirtualFileSystem](Atypical.VirtualFileSystem.Core.Contracts.IVirtualFileSystem.md 'Atypical.VirtualFileSystem.Core.Contracts.IVirtualFileSystem') + +## IVirtualFileSystem.DeleteDirectory(VFSDirectoryPath) Method + +Deletes a directory node at the specified path. +The path must be absolute. + +```csharp +Atypical.VirtualFileSystem.Core.Contracts.IVirtualFileSystem DeleteDirectory(Atypical.VirtualFileSystem.Core.ValueObjects.VFSDirectoryPath directoryPath); +``` +#### Parameters + + + +`directoryPath` [VFSDirectoryPath](Atypical.VirtualFileSystem.Core.ValueObjects.VFSDirectoryPath.md 'Atypical.VirtualFileSystem.Core.ValueObjects.VFSDirectoryPath') + +The path of the directory node. + +#### Returns +[IVirtualFileSystem](Atypical.VirtualFileSystem.Core.Contracts.IVirtualFileSystem.md 'Atypical.VirtualFileSystem.Core.Contracts.IVirtualFileSystem') +The file system. \ No newline at end of file diff --git a/doc/api/Atypical.VirtualFileSystem.Core.Contracts.IVirtualFileSystem.DeleteDirectory(string).md b/doc/api/Atypical.VirtualFileSystem.Core.Contracts.IVirtualFileSystem.DeleteDirectory(string).md new file mode 100644 index 0000000..277457e --- /dev/null +++ b/doc/api/Atypical.VirtualFileSystem.Core.Contracts.IVirtualFileSystem.DeleteDirectory(string).md @@ -0,0 +1,22 @@ +#### [Atypical.VirtualFileSystem.Core](Atypical.VirtualFileSystem.Core.md 'Atypical.VirtualFileSystem.Core') +### [Atypical.VirtualFileSystem.Core.Contracts](Atypical.VirtualFileSystem.Core.Contracts.md 'Atypical.VirtualFileSystem.Core.Contracts').[IVirtualFileSystem](Atypical.VirtualFileSystem.Core.Contracts.IVirtualFileSystem.md 'Atypical.VirtualFileSystem.Core.Contracts.IVirtualFileSystem') + +## IVirtualFileSystem.DeleteDirectory(string) Method + +Deletes a directory node at the specified path. +The path must be absolute. + +```csharp +Atypical.VirtualFileSystem.Core.Contracts.IVirtualFileSystem DeleteDirectory(string directoryPath); +``` +#### Parameters + + + +`directoryPath` [System.String](https://docs.microsoft.com/en-us/dotnet/api/System.String 'System.String') + +The path of the directory node. + +#### Returns +[IVirtualFileSystem](Atypical.VirtualFileSystem.Core.Contracts.IVirtualFileSystem.md 'Atypical.VirtualFileSystem.Core.Contracts.IVirtualFileSystem') +The file system. \ No newline at end of file diff --git a/doc/api/Atypical.VirtualFileSystem.Core.Contracts.IVirtualFileSystem.DeleteFile(Atypical.VirtualFileSystem.Core.ValueObjects.VFSFilePath).md b/doc/api/Atypical.VirtualFileSystem.Core.Contracts.IVirtualFileSystem.DeleteFile(Atypical.VirtualFileSystem.Core.ValueObjects.VFSFilePath).md new file mode 100644 index 0000000..c15ea34 --- /dev/null +++ b/doc/api/Atypical.VirtualFileSystem.Core.Contracts.IVirtualFileSystem.DeleteFile(Atypical.VirtualFileSystem.Core.ValueObjects.VFSFilePath).md @@ -0,0 +1,22 @@ +#### [Atypical.VirtualFileSystem.Core](Atypical.VirtualFileSystem.Core.md 'Atypical.VirtualFileSystem.Core') +### [Atypical.VirtualFileSystem.Core.Contracts](Atypical.VirtualFileSystem.Core.Contracts.md 'Atypical.VirtualFileSystem.Core.Contracts').[IVirtualFileSystem](Atypical.VirtualFileSystem.Core.Contracts.IVirtualFileSystem.md 'Atypical.VirtualFileSystem.Core.Contracts.IVirtualFileSystem') + +## IVirtualFileSystem.DeleteFile(VFSFilePath) Method + +Deletes a file node at the specified path. +The path must be absolute. + +```csharp +Atypical.VirtualFileSystem.Core.Contracts.IVirtualFileSystem DeleteFile(Atypical.VirtualFileSystem.Core.ValueObjects.VFSFilePath filePath); +``` +#### Parameters + + + +`filePath` [VFSFilePath](Atypical.VirtualFileSystem.Core.ValueObjects.VFSFilePath.md 'Atypical.VirtualFileSystem.Core.ValueObjects.VFSFilePath') + +The path of the file node. + +#### Returns +[IVirtualFileSystem](Atypical.VirtualFileSystem.Core.Contracts.IVirtualFileSystem.md 'Atypical.VirtualFileSystem.Core.Contracts.IVirtualFileSystem') +The file system. \ No newline at end of file diff --git a/doc/api/Atypical.VirtualFileSystem.Core.Contracts.IVirtualFileSystem.DeleteFile(string).md b/doc/api/Atypical.VirtualFileSystem.Core.Contracts.IVirtualFileSystem.DeleteFile(string).md new file mode 100644 index 0000000..6a1bf3c --- /dev/null +++ b/doc/api/Atypical.VirtualFileSystem.Core.Contracts.IVirtualFileSystem.DeleteFile(string).md @@ -0,0 +1,22 @@ +#### [Atypical.VirtualFileSystem.Core](Atypical.VirtualFileSystem.Core.md 'Atypical.VirtualFileSystem.Core') +### [Atypical.VirtualFileSystem.Core.Contracts](Atypical.VirtualFileSystem.Core.Contracts.md 'Atypical.VirtualFileSystem.Core.Contracts').[IVirtualFileSystem](Atypical.VirtualFileSystem.Core.Contracts.IVirtualFileSystem.md 'Atypical.VirtualFileSystem.Core.Contracts.IVirtualFileSystem') + +## IVirtualFileSystem.DeleteFile(string) Method + +Deletes a file node at the specified path. +The path must be absolute. + +```csharp +Atypical.VirtualFileSystem.Core.Contracts.IVirtualFileSystem DeleteFile(string filePath); +``` +#### Parameters + + + +`filePath` [System.String](https://docs.microsoft.com/en-us/dotnet/api/System.String 'System.String') + +The path of the file node. + +#### Returns +[IVirtualFileSystem](Atypical.VirtualFileSystem.Core.Contracts.IVirtualFileSystem.md 'Atypical.VirtualFileSystem.Core.Contracts.IVirtualFileSystem') +The file system. \ No newline at end of file diff --git a/doc/api/Atypical.VirtualFileSystem.Core.Contracts.IVirtualFileSystem.FindDirectories().md b/doc/api/Atypical.VirtualFileSystem.Core.Contracts.IVirtualFileSystem.FindDirectories().md new file mode 100644 index 0000000..2a17a25 --- /dev/null +++ b/doc/api/Atypical.VirtualFileSystem.Core.Contracts.IVirtualFileSystem.FindDirectories().md @@ -0,0 +1,14 @@ +#### [Atypical.VirtualFileSystem.Core](Atypical.VirtualFileSystem.Core.md 'Atypical.VirtualFileSystem.Core') +### [Atypical.VirtualFileSystem.Core.Contracts](Atypical.VirtualFileSystem.Core.Contracts.md 'Atypical.VirtualFileSystem.Core.Contracts').[IVirtualFileSystem](Atypical.VirtualFileSystem.Core.Contracts.IVirtualFileSystem.md 'Atypical.VirtualFileSystem.Core.Contracts.IVirtualFileSystem') + +## IVirtualFileSystem.FindDirectories() Method + +Finds all directory nodes. + +```csharp +System.Collections.Generic.IEnumerable FindDirectories(); +``` + +#### Returns +[System.Collections.Generic.IEnumerable<](https://docs.microsoft.com/en-us/dotnet/api/System.Collections.Generic.IEnumerable-1 'System.Collections.Generic.IEnumerable`1')[IDirectoryNode](Atypical.VirtualFileSystem.Core.Contracts.IDirectoryNode.md 'Atypical.VirtualFileSystem.Core.Contracts.IDirectoryNode')[>](https://docs.microsoft.com/en-us/dotnet/api/System.Collections.Generic.IEnumerable-1 'System.Collections.Generic.IEnumerable`1') +The directory nodes. \ No newline at end of file diff --git a/doc/api/Atypical.VirtualFileSystem.Core.Contracts.IVirtualFileSystem.FindDirectories(System.Text.RegularExpressions.Regex).md b/doc/api/Atypical.VirtualFileSystem.Core.Contracts.IVirtualFileSystem.FindDirectories(System.Text.RegularExpressions.Regex).md new file mode 100644 index 0000000..869fa3b --- /dev/null +++ b/doc/api/Atypical.VirtualFileSystem.Core.Contracts.IVirtualFileSystem.FindDirectories(System.Text.RegularExpressions.Regex).md @@ -0,0 +1,22 @@ +#### [Atypical.VirtualFileSystem.Core](Atypical.VirtualFileSystem.Core.md 'Atypical.VirtualFileSystem.Core') +### [Atypical.VirtualFileSystem.Core.Contracts](Atypical.VirtualFileSystem.Core.Contracts.md 'Atypical.VirtualFileSystem.Core.Contracts').[IVirtualFileSystem](Atypical.VirtualFileSystem.Core.Contracts.IVirtualFileSystem.md 'Atypical.VirtualFileSystem.Core.Contracts.IVirtualFileSystem') + +## IVirtualFileSystem.FindDirectories(Regex) Method + +Finds all directory nodes that match the specified regular expression. +The regular expression must be relative to the root directory. + +```csharp +System.Collections.Generic.IEnumerable FindDirectories(System.Text.RegularExpressions.Regex regexPattern); +``` +#### Parameters + + + +`regexPattern` [System.Text.RegularExpressions.Regex](https://docs.microsoft.com/en-us/dotnet/api/System.Text.RegularExpressions.Regex 'System.Text.RegularExpressions.Regex') + +The regular expression pattern. + +#### Returns +[System.Collections.Generic.IEnumerable<](https://docs.microsoft.com/en-us/dotnet/api/System.Collections.Generic.IEnumerable-1 'System.Collections.Generic.IEnumerable`1')[IDirectoryNode](Atypical.VirtualFileSystem.Core.Contracts.IDirectoryNode.md 'Atypical.VirtualFileSystem.Core.Contracts.IDirectoryNode')[>](https://docs.microsoft.com/en-us/dotnet/api/System.Collections.Generic.IEnumerable-1 'System.Collections.Generic.IEnumerable`1') +The directory nodes. \ No newline at end of file diff --git a/doc/api/Atypical.VirtualFileSystem.Core.Contracts.IVirtualFileSystem.FindFiles().md b/doc/api/Atypical.VirtualFileSystem.Core.Contracts.IVirtualFileSystem.FindFiles().md new file mode 100644 index 0000000..6a9e3ca --- /dev/null +++ b/doc/api/Atypical.VirtualFileSystem.Core.Contracts.IVirtualFileSystem.FindFiles().md @@ -0,0 +1,14 @@ +#### [Atypical.VirtualFileSystem.Core](Atypical.VirtualFileSystem.Core.md 'Atypical.VirtualFileSystem.Core') +### [Atypical.VirtualFileSystem.Core.Contracts](Atypical.VirtualFileSystem.Core.Contracts.md 'Atypical.VirtualFileSystem.Core.Contracts').[IVirtualFileSystem](Atypical.VirtualFileSystem.Core.Contracts.IVirtualFileSystem.md 'Atypical.VirtualFileSystem.Core.Contracts.IVirtualFileSystem') + +## IVirtualFileSystem.FindFiles() Method + +Finds all file nodes. + +```csharp +System.Collections.Generic.IEnumerable FindFiles(); +``` + +#### Returns +[System.Collections.Generic.IEnumerable<](https://docs.microsoft.com/en-us/dotnet/api/System.Collections.Generic.IEnumerable-1 'System.Collections.Generic.IEnumerable`1')[IFileNode](Atypical.VirtualFileSystem.Core.Contracts.IFileNode.md 'Atypical.VirtualFileSystem.Core.Contracts.IFileNode')[>](https://docs.microsoft.com/en-us/dotnet/api/System.Collections.Generic.IEnumerable-1 'System.Collections.Generic.IEnumerable`1') +The file nodes. \ No newline at end of file diff --git a/doc/api/Atypical.VirtualFileSystem.Core.Contracts.IVirtualFileSystem.FindFiles(System.Text.RegularExpressions.Regex).md b/doc/api/Atypical.VirtualFileSystem.Core.Contracts.IVirtualFileSystem.FindFiles(System.Text.RegularExpressions.Regex).md new file mode 100644 index 0000000..e906779 --- /dev/null +++ b/doc/api/Atypical.VirtualFileSystem.Core.Contracts.IVirtualFileSystem.FindFiles(System.Text.RegularExpressions.Regex).md @@ -0,0 +1,21 @@ +#### [Atypical.VirtualFileSystem.Core](Atypical.VirtualFileSystem.Core.md 'Atypical.VirtualFileSystem.Core') +### [Atypical.VirtualFileSystem.Core.Contracts](Atypical.VirtualFileSystem.Core.Contracts.md 'Atypical.VirtualFileSystem.Core.Contracts').[IVirtualFileSystem](Atypical.VirtualFileSystem.Core.Contracts.IVirtualFileSystem.md 'Atypical.VirtualFileSystem.Core.Contracts.IVirtualFileSystem') + +## IVirtualFileSystem.FindFiles(Regex) Method + +Finds all file nodes that match the specified regular expression. + +```csharp +System.Collections.Generic.IEnumerable FindFiles(System.Text.RegularExpressions.Regex regexPattern); +``` +#### Parameters + + + +`regexPattern` [System.Text.RegularExpressions.Regex](https://docs.microsoft.com/en-us/dotnet/api/System.Text.RegularExpressions.Regex 'System.Text.RegularExpressions.Regex') + +The regular expression pattern. + +#### Returns +[System.Collections.Generic.IEnumerable<](https://docs.microsoft.com/en-us/dotnet/api/System.Collections.Generic.IEnumerable-1 'System.Collections.Generic.IEnumerable`1')[IFileNode](Atypical.VirtualFileSystem.Core.Contracts.IFileNode.md 'Atypical.VirtualFileSystem.Core.Contracts.IFileNode')[>](https://docs.microsoft.com/en-us/dotnet/api/System.Collections.Generic.IEnumerable-1 'System.Collections.Generic.IEnumerable`1') +The file nodes. \ No newline at end of file diff --git a/doc/api/Atypical.VirtualFileSystem.Core.Contracts.IVirtualFileSystem.GetDirectory(Atypical.VirtualFileSystem.Core.ValueObjects.VFSDirectoryPath).md b/doc/api/Atypical.VirtualFileSystem.Core.Contracts.IVirtualFileSystem.GetDirectory(Atypical.VirtualFileSystem.Core.ValueObjects.VFSDirectoryPath).md new file mode 100644 index 0000000..9aad898 --- /dev/null +++ b/doc/api/Atypical.VirtualFileSystem.Core.Contracts.IVirtualFileSystem.GetDirectory(Atypical.VirtualFileSystem.Core.ValueObjects.VFSDirectoryPath).md @@ -0,0 +1,22 @@ +#### [Atypical.VirtualFileSystem.Core](Atypical.VirtualFileSystem.Core.md 'Atypical.VirtualFileSystem.Core') +### [Atypical.VirtualFileSystem.Core.Contracts](Atypical.VirtualFileSystem.Core.Contracts.md 'Atypical.VirtualFileSystem.Core.Contracts').[IVirtualFileSystem](Atypical.VirtualFileSystem.Core.Contracts.IVirtualFileSystem.md 'Atypical.VirtualFileSystem.Core.Contracts.IVirtualFileSystem') + +## IVirtualFileSystem.GetDirectory(VFSDirectoryPath) Method + +Gets a directory node by its path. +The path must be absolute. + +```csharp +Atypical.VirtualFileSystem.Core.Contracts.IDirectoryNode GetDirectory(Atypical.VirtualFileSystem.Core.ValueObjects.VFSDirectoryPath directoryPath); +``` +#### Parameters + + + +`directoryPath` [VFSDirectoryPath](Atypical.VirtualFileSystem.Core.ValueObjects.VFSDirectoryPath.md 'Atypical.VirtualFileSystem.Core.ValueObjects.VFSDirectoryPath') + +The path of the directory node. + +#### Returns +[IDirectoryNode](Atypical.VirtualFileSystem.Core.Contracts.IDirectoryNode.md 'Atypical.VirtualFileSystem.Core.Contracts.IDirectoryNode') +The directory node. \ No newline at end of file diff --git a/doc/api/Atypical.VirtualFileSystem.Core.Contracts.IVirtualFileSystem.GetDirectory(string).md b/doc/api/Atypical.VirtualFileSystem.Core.Contracts.IVirtualFileSystem.GetDirectory(string).md new file mode 100644 index 0000000..a92d44a --- /dev/null +++ b/doc/api/Atypical.VirtualFileSystem.Core.Contracts.IVirtualFileSystem.GetDirectory(string).md @@ -0,0 +1,22 @@ +#### [Atypical.VirtualFileSystem.Core](Atypical.VirtualFileSystem.Core.md 'Atypical.VirtualFileSystem.Core') +### [Atypical.VirtualFileSystem.Core.Contracts](Atypical.VirtualFileSystem.Core.Contracts.md 'Atypical.VirtualFileSystem.Core.Contracts').[IVirtualFileSystem](Atypical.VirtualFileSystem.Core.Contracts.IVirtualFileSystem.md 'Atypical.VirtualFileSystem.Core.Contracts.IVirtualFileSystem') + +## IVirtualFileSystem.GetDirectory(string) Method + +Gets a file node by its path. +The path must be absolute. + +```csharp +Atypical.VirtualFileSystem.Core.Contracts.IDirectoryNode GetDirectory(string directoryPath); +``` +#### Parameters + + + +`directoryPath` [System.String](https://docs.microsoft.com/en-us/dotnet/api/System.String 'System.String') + +The path of the file node. + +#### Returns +[IDirectoryNode](Atypical.VirtualFileSystem.Core.Contracts.IDirectoryNode.md 'Atypical.VirtualFileSystem.Core.Contracts.IDirectoryNode') +The file node. \ No newline at end of file diff --git a/doc/api/Atypical.VirtualFileSystem.Core.Contracts.IVirtualFileSystem.GetFile(Atypical.VirtualFileSystem.Core.ValueObjects.VFSFilePath).md b/doc/api/Atypical.VirtualFileSystem.Core.Contracts.IVirtualFileSystem.GetFile(Atypical.VirtualFileSystem.Core.ValueObjects.VFSFilePath).md new file mode 100644 index 0000000..87a698a --- /dev/null +++ b/doc/api/Atypical.VirtualFileSystem.Core.Contracts.IVirtualFileSystem.GetFile(Atypical.VirtualFileSystem.Core.ValueObjects.VFSFilePath).md @@ -0,0 +1,22 @@ +#### [Atypical.VirtualFileSystem.Core](Atypical.VirtualFileSystem.Core.md 'Atypical.VirtualFileSystem.Core') +### [Atypical.VirtualFileSystem.Core.Contracts](Atypical.VirtualFileSystem.Core.Contracts.md 'Atypical.VirtualFileSystem.Core.Contracts').[IVirtualFileSystem](Atypical.VirtualFileSystem.Core.Contracts.IVirtualFileSystem.md 'Atypical.VirtualFileSystem.Core.Contracts.IVirtualFileSystem') + +## IVirtualFileSystem.GetFile(VFSFilePath) Method + +Gets a file node by its path. +The path must be absolute. + +```csharp +Atypical.VirtualFileSystem.Core.Contracts.IFileNode GetFile(Atypical.VirtualFileSystem.Core.ValueObjects.VFSFilePath filePath); +``` +#### Parameters + + + +`filePath` [VFSFilePath](Atypical.VirtualFileSystem.Core.ValueObjects.VFSFilePath.md 'Atypical.VirtualFileSystem.Core.ValueObjects.VFSFilePath') + +The path of the file node. + +#### Returns +[IFileNode](Atypical.VirtualFileSystem.Core.Contracts.IFileNode.md 'Atypical.VirtualFileSystem.Core.Contracts.IFileNode') +The file node. \ No newline at end of file diff --git a/doc/api/Atypical.VirtualFileSystem.Core.Contracts.IVirtualFileSystem.GetFile(string).md b/doc/api/Atypical.VirtualFileSystem.Core.Contracts.IVirtualFileSystem.GetFile(string).md new file mode 100644 index 0000000..be83cb6 --- /dev/null +++ b/doc/api/Atypical.VirtualFileSystem.Core.Contracts.IVirtualFileSystem.GetFile(string).md @@ -0,0 +1,22 @@ +#### [Atypical.VirtualFileSystem.Core](Atypical.VirtualFileSystem.Core.md 'Atypical.VirtualFileSystem.Core') +### [Atypical.VirtualFileSystem.Core.Contracts](Atypical.VirtualFileSystem.Core.Contracts.md 'Atypical.VirtualFileSystem.Core.Contracts').[IVirtualFileSystem](Atypical.VirtualFileSystem.Core.Contracts.IVirtualFileSystem.md 'Atypical.VirtualFileSystem.Core.Contracts.IVirtualFileSystem') + +## IVirtualFileSystem.GetFile(string) Method + +Gets a file node by its path. +The path must be absolute. + +```csharp +Atypical.VirtualFileSystem.Core.Contracts.IFileNode GetFile(string filePath); +``` +#### Parameters + + + +`filePath` [System.String](https://docs.microsoft.com/en-us/dotnet/api/System.String 'System.String') + +The path of the file node. + +#### Returns +[IFileNode](Atypical.VirtualFileSystem.Core.Contracts.IFileNode.md 'Atypical.VirtualFileSystem.Core.Contracts.IFileNode') +The file node. \ No newline at end of file diff --git a/doc/api/Atypical.VirtualFileSystem.Core.Contracts.IVirtualFileSystem.Index.md b/doc/api/Atypical.VirtualFileSystem.Core.Contracts.IVirtualFileSystem.Index.md new file mode 100644 index 0000000..98206cf --- /dev/null +++ b/doc/api/Atypical.VirtualFileSystem.Core.Contracts.IVirtualFileSystem.Index.md @@ -0,0 +1,15 @@ +#### [Atypical.VirtualFileSystem.Core](Atypical.VirtualFileSystem.Core.md 'Atypical.VirtualFileSystem.Core') +### [Atypical.VirtualFileSystem.Core.Contracts](Atypical.VirtualFileSystem.Core.Contracts.md 'Atypical.VirtualFileSystem.Core.Contracts').[IVirtualFileSystem](Atypical.VirtualFileSystem.Core.Contracts.IVirtualFileSystem.md 'Atypical.VirtualFileSystem.Core.Contracts.IVirtualFileSystem') + +## IVirtualFileSystem.Index Property + +Gets the file index of the file system. +Basically, this is a dictionary that maps file paths to file nodes. +This is useful for quickly finding a file node by its path. + +```csharp +Atypical.VirtualFileSystem.Core.VFSIndex Index { get; } +``` + +#### Property Value +[VFSIndex](Atypical.VirtualFileSystem.Core.VFSIndex.md 'Atypical.VirtualFileSystem.Core.VFSIndex') \ No newline at end of file diff --git a/doc/api/Atypical.VirtualFileSystem.Core.Contracts.IVirtualFileSystem.IsEmpty.md b/doc/api/Atypical.VirtualFileSystem.Core.Contracts.IVirtualFileSystem.IsEmpty.md new file mode 100644 index 0000000..69c77c8 --- /dev/null +++ b/doc/api/Atypical.VirtualFileSystem.Core.Contracts.IVirtualFileSystem.IsEmpty.md @@ -0,0 +1,14 @@ +#### [Atypical.VirtualFileSystem.Core](Atypical.VirtualFileSystem.Core.md 'Atypical.VirtualFileSystem.Core') +### [Atypical.VirtualFileSystem.Core.Contracts](Atypical.VirtualFileSystem.Core.Contracts.md 'Atypical.VirtualFileSystem.Core.Contracts').[IVirtualFileSystem](Atypical.VirtualFileSystem.Core.Contracts.IVirtualFileSystem.md 'Atypical.VirtualFileSystem.Core.Contracts.IVirtualFileSystem') + +## IVirtualFileSystem.IsEmpty Property + +Indicates whether the file system is empty. +This is the case if the root directory is empty. + +```csharp +bool IsEmpty { get; } +``` + +#### Property Value +[System.Boolean](https://docs.microsoft.com/en-us/dotnet/api/System.Boolean 'System.Boolean') \ No newline at end of file diff --git a/doc/api/Atypical.VirtualFileSystem.Core.Contracts.IVirtualFileSystem.Root.md b/doc/api/Atypical.VirtualFileSystem.Core.Contracts.IVirtualFileSystem.Root.md new file mode 100644 index 0000000..0a176b2 --- /dev/null +++ b/doc/api/Atypical.VirtualFileSystem.Core.Contracts.IVirtualFileSystem.Root.md @@ -0,0 +1,14 @@ +#### [Atypical.VirtualFileSystem.Core](Atypical.VirtualFileSystem.Core.md 'Atypical.VirtualFileSystem.Core') +### [Atypical.VirtualFileSystem.Core.Contracts](Atypical.VirtualFileSystem.Core.Contracts.md 'Atypical.VirtualFileSystem.Core.Contracts').[IVirtualFileSystem](Atypical.VirtualFileSystem.Core.Contracts.IVirtualFileSystem.md 'Atypical.VirtualFileSystem.Core.Contracts.IVirtualFileSystem') + +## IVirtualFileSystem.Root Property + +Gets the root directory of the file system. +This is the entry point for all operations on the file system. + +```csharp +Atypical.VirtualFileSystem.Core.Contracts.IRootNode Root { get; } +``` + +#### Property Value +[IRootNode](Atypical.VirtualFileSystem.Core.Contracts.IRootNode.md 'Atypical.VirtualFileSystem.Core.Contracts.IRootNode') \ No newline at end of file diff --git a/doc/api/Atypical.VirtualFileSystem.Core.Contracts.IVirtualFileSystem.TryGetDirectory(Atypical.VirtualFileSystem.Core.ValueObjects.VFSDirectoryPath,Atypical.VirtualFileSystem.Core.Contracts.IDirectoryNode).md b/doc/api/Atypical.VirtualFileSystem.Core.Contracts.IVirtualFileSystem.TryGetDirectory(Atypical.VirtualFileSystem.Core.ValueObjects.VFSDirectoryPath,Atypical.VirtualFileSystem.Core.Contracts.IDirectoryNode).md new file mode 100644 index 0000000..1e9075f --- /dev/null +++ b/doc/api/Atypical.VirtualFileSystem.Core.Contracts.IVirtualFileSystem.TryGetDirectory(Atypical.VirtualFileSystem.Core.ValueObjects.VFSDirectoryPath,Atypical.VirtualFileSystem.Core.Contracts.IDirectoryNode).md @@ -0,0 +1,30 @@ +#### [Atypical.VirtualFileSystem.Core](Atypical.VirtualFileSystem.Core.md 'Atypical.VirtualFileSystem.Core') +### [Atypical.VirtualFileSystem.Core.Contracts](Atypical.VirtualFileSystem.Core.Contracts.md 'Atypical.VirtualFileSystem.Core.Contracts').[IVirtualFileSystem](Atypical.VirtualFileSystem.Core.Contracts.IVirtualFileSystem.md 'Atypical.VirtualFileSystem.Core.Contracts.IVirtualFileSystem') + +## IVirtualFileSystem.TryGetDirectory(VFSDirectoryPath, IDirectoryNode) Method + +Try to get a directory node by its path. +The path must be absolute. +If the directory node does not exist, this method returns `false` +and [directory](Atypical.VirtualFileSystem.Core.Contracts.IVirtualFileSystem.TryGetDirectory(Atypical.VirtualFileSystem.Core.ValueObjects.VFSDirectoryPath,Atypical.VirtualFileSystem.Core.Contracts.IDirectoryNode).md#Atypical.VirtualFileSystem.Core.Contracts.IVirtualFileSystem.TryGetDirectory(Atypical.VirtualFileSystem.Core.ValueObjects.VFSDirectoryPath,Atypical.VirtualFileSystem.Core.Contracts.IDirectoryNode).directory 'Atypical.VirtualFileSystem.Core.Contracts.IVirtualFileSystem.TryGetDirectory(Atypical.VirtualFileSystem.Core.ValueObjects.VFSDirectoryPath, Atypical.VirtualFileSystem.Core.Contracts.IDirectoryNode).directory') is set to `null`. + +```csharp +bool TryGetDirectory(Atypical.VirtualFileSystem.Core.ValueObjects.VFSDirectoryPath directoryPath, out Atypical.VirtualFileSystem.Core.Contracts.IDirectoryNode? directory); +``` +#### Parameters + + + +`directoryPath` [VFSDirectoryPath](Atypical.VirtualFileSystem.Core.ValueObjects.VFSDirectoryPath.md 'Atypical.VirtualFileSystem.Core.ValueObjects.VFSDirectoryPath') + +The path of the directory node. + + + +`directory` [IDirectoryNode](Atypical.VirtualFileSystem.Core.Contracts.IDirectoryNode.md 'Atypical.VirtualFileSystem.Core.Contracts.IDirectoryNode') + +The directory node. + +#### Returns +[System.Boolean](https://docs.microsoft.com/en-us/dotnet/api/System.Boolean 'System.Boolean') +`true` if the directory node exists; otherwise, `false`. \ No newline at end of file diff --git a/doc/api/Atypical.VirtualFileSystem.Core.Contracts.IVirtualFileSystem.TryGetDirectory(string,Atypical.VirtualFileSystem.Core.Contracts.IDirectoryNode).md b/doc/api/Atypical.VirtualFileSystem.Core.Contracts.IVirtualFileSystem.TryGetDirectory(string,Atypical.VirtualFileSystem.Core.Contracts.IDirectoryNode).md new file mode 100644 index 0000000..90e0cbf --- /dev/null +++ b/doc/api/Atypical.VirtualFileSystem.Core.Contracts.IVirtualFileSystem.TryGetDirectory(string,Atypical.VirtualFileSystem.Core.Contracts.IDirectoryNode).md @@ -0,0 +1,30 @@ +#### [Atypical.VirtualFileSystem.Core](Atypical.VirtualFileSystem.Core.md 'Atypical.VirtualFileSystem.Core') +### [Atypical.VirtualFileSystem.Core.Contracts](Atypical.VirtualFileSystem.Core.Contracts.md 'Atypical.VirtualFileSystem.Core.Contracts').[IVirtualFileSystem](Atypical.VirtualFileSystem.Core.Contracts.IVirtualFileSystem.md 'Atypical.VirtualFileSystem.Core.Contracts.IVirtualFileSystem') + +## IVirtualFileSystem.TryGetDirectory(string, IDirectoryNode) Method + +Try to get a directory node by its path. +The path must be absolute. +If the directory node does not exist, this method returns `false` +and [directory](Atypical.VirtualFileSystem.Core.Contracts.IVirtualFileSystem.TryGetDirectory(string,Atypical.VirtualFileSystem.Core.Contracts.IDirectoryNode).md#Atypical.VirtualFileSystem.Core.Contracts.IVirtualFileSystem.TryGetDirectory(string,Atypical.VirtualFileSystem.Core.Contracts.IDirectoryNode).directory 'Atypical.VirtualFileSystem.Core.Contracts.IVirtualFileSystem.TryGetDirectory(string, Atypical.VirtualFileSystem.Core.Contracts.IDirectoryNode).directory') is set to `null`. + +```csharp +bool TryGetDirectory(string directoryPath, out Atypical.VirtualFileSystem.Core.Contracts.IDirectoryNode? directory); +``` +#### Parameters + + + +`directoryPath` [System.String](https://docs.microsoft.com/en-us/dotnet/api/System.String 'System.String') + +The path of the directory node. + + + +`directory` [IDirectoryNode](Atypical.VirtualFileSystem.Core.Contracts.IDirectoryNode.md 'Atypical.VirtualFileSystem.Core.Contracts.IDirectoryNode') + +The directory node. + +#### Returns +[System.Boolean](https://docs.microsoft.com/en-us/dotnet/api/System.Boolean 'System.Boolean') +`true` if the directory node exists; otherwise, `false`. \ No newline at end of file diff --git a/doc/api/Atypical.VirtualFileSystem.Core.Contracts.IVirtualFileSystem.TryGetFile(Atypical.VirtualFileSystem.Core.ValueObjects.VFSFilePath,Atypical.VirtualFileSystem.Core.Contracts.IFileNode).md b/doc/api/Atypical.VirtualFileSystem.Core.Contracts.IVirtualFileSystem.TryGetFile(Atypical.VirtualFileSystem.Core.ValueObjects.VFSFilePath,Atypical.VirtualFileSystem.Core.Contracts.IFileNode).md new file mode 100644 index 0000000..8df5c88 --- /dev/null +++ b/doc/api/Atypical.VirtualFileSystem.Core.Contracts.IVirtualFileSystem.TryGetFile(Atypical.VirtualFileSystem.Core.ValueObjects.VFSFilePath,Atypical.VirtualFileSystem.Core.Contracts.IFileNode).md @@ -0,0 +1,28 @@ +#### [Atypical.VirtualFileSystem.Core](Atypical.VirtualFileSystem.Core.md 'Atypical.VirtualFileSystem.Core') +### [Atypical.VirtualFileSystem.Core.Contracts](Atypical.VirtualFileSystem.Core.Contracts.md 'Atypical.VirtualFileSystem.Core.Contracts').[IVirtualFileSystem](Atypical.VirtualFileSystem.Core.Contracts.IVirtualFileSystem.md 'Atypical.VirtualFileSystem.Core.Contracts.IVirtualFileSystem') + +## IVirtualFileSystem.TryGetFile(VFSFilePath, IFileNode) Method + +Try to get a file node by its path. +The path must be absolute. + +```csharp +bool TryGetFile(Atypical.VirtualFileSystem.Core.ValueObjects.VFSFilePath filePath, out Atypical.VirtualFileSystem.Core.Contracts.IFileNode? file); +``` +#### Parameters + + + +`filePath` [VFSFilePath](Atypical.VirtualFileSystem.Core.ValueObjects.VFSFilePath.md 'Atypical.VirtualFileSystem.Core.ValueObjects.VFSFilePath') + +The path of the file node. + + + +`file` [IFileNode](Atypical.VirtualFileSystem.Core.Contracts.IFileNode.md 'Atypical.VirtualFileSystem.Core.Contracts.IFileNode') + +The file node. + +#### Returns +[System.Boolean](https://docs.microsoft.com/en-us/dotnet/api/System.Boolean 'System.Boolean') +`true` if the file node exists; otherwise, `false`. \ No newline at end of file diff --git a/doc/api/Atypical.VirtualFileSystem.Core.Contracts.IVirtualFileSystem.TryGetFile(string,Atypical.VirtualFileSystem.Core.Contracts.IFileNode).md b/doc/api/Atypical.VirtualFileSystem.Core.Contracts.IVirtualFileSystem.TryGetFile(string,Atypical.VirtualFileSystem.Core.Contracts.IFileNode).md new file mode 100644 index 0000000..2ad3ae5 --- /dev/null +++ b/doc/api/Atypical.VirtualFileSystem.Core.Contracts.IVirtualFileSystem.TryGetFile(string,Atypical.VirtualFileSystem.Core.Contracts.IFileNode).md @@ -0,0 +1,28 @@ +#### [Atypical.VirtualFileSystem.Core](Atypical.VirtualFileSystem.Core.md 'Atypical.VirtualFileSystem.Core') +### [Atypical.VirtualFileSystem.Core.Contracts](Atypical.VirtualFileSystem.Core.Contracts.md 'Atypical.VirtualFileSystem.Core.Contracts').[IVirtualFileSystem](Atypical.VirtualFileSystem.Core.Contracts.IVirtualFileSystem.md 'Atypical.VirtualFileSystem.Core.Contracts.IVirtualFileSystem') + +## IVirtualFileSystem.TryGetFile(string, IFileNode) Method + +Try to get a file node by its path. +The path must be absolute. + +```csharp +bool TryGetFile(string filePath, out Atypical.VirtualFileSystem.Core.Contracts.IFileNode? file); +``` +#### Parameters + + + +`filePath` [System.String](https://docs.microsoft.com/en-us/dotnet/api/System.String 'System.String') + +The path of the file node. + + + +`file` [IFileNode](Atypical.VirtualFileSystem.Core.Contracts.IFileNode.md 'Atypical.VirtualFileSystem.Core.Contracts.IFileNode') + +The file node. + +#### Returns +[System.Boolean](https://docs.microsoft.com/en-us/dotnet/api/System.Boolean 'System.Boolean') +`true` if the file node exists; otherwise, `false`. \ No newline at end of file diff --git a/doc/api/Atypical.VirtualFileSystem.Core.Contracts.IVirtualFileSystem.md b/doc/api/Atypical.VirtualFileSystem.Core.Contracts.IVirtualFileSystem.md new file mode 100644 index 0000000..44f7690 --- /dev/null +++ b/doc/api/Atypical.VirtualFileSystem.Core.Contracts.IVirtualFileSystem.md @@ -0,0 +1,44 @@ +#### [Atypical.VirtualFileSystem.Core](Atypical.VirtualFileSystem.Core.md 'Atypical.VirtualFileSystem.Core') +### [Atypical.VirtualFileSystem.Core.Contracts](Atypical.VirtualFileSystem.Core.Contracts.md 'Atypical.VirtualFileSystem.Core.Contracts') + +## IVirtualFileSystem Interface + +Represents a virtual file system. +This is the main entry point for all operations on the file system. +You can get an instance of this interface by calling [CreateFileSystem()](Atypical.VirtualFileSystem.Core.Contracts.IVirtualFileSystemFactory.CreateFileSystem().md 'Atypical.VirtualFileSystem.Core.Contracts.IVirtualFileSystemFactory.CreateFileSystem()'). + +```csharp +public interface IVirtualFileSystem +``` + +Derived +↳ [VFS](Atypical.VirtualFileSystem.Core.VFS.md 'Atypical.VirtualFileSystem.Core.VFS') + +| Properties | | +| :--- | :--- | +| [Index](Atypical.VirtualFileSystem.Core.Contracts.IVirtualFileSystem.Index.md 'Atypical.VirtualFileSystem.Core.Contracts.IVirtualFileSystem.Index') | Gets the file index of the file system.
Basically, this is a dictionary that maps file paths to file nodes.
This is useful for quickly finding a file node by its path. | +| [IsEmpty](Atypical.VirtualFileSystem.Core.Contracts.IVirtualFileSystem.IsEmpty.md 'Atypical.VirtualFileSystem.Core.Contracts.IVirtualFileSystem.IsEmpty') | Indicates whether the file system is empty.
This is the case if the root directory is empty. | +| [Root](Atypical.VirtualFileSystem.Core.Contracts.IVirtualFileSystem.Root.md 'Atypical.VirtualFileSystem.Core.Contracts.IVirtualFileSystem.Root') | Gets the root directory of the file system.
This is the entry point for all operations on the file system. | + +| Methods | | +| :--- | :--- | +| [CreateDirectory(VFSDirectoryPath)](Atypical.VirtualFileSystem.Core.Contracts.IVirtualFileSystem.CreateDirectory(Atypical.VirtualFileSystem.Core.ValueObjects.VFSDirectoryPath).md 'Atypical.VirtualFileSystem.Core.Contracts.IVirtualFileSystem.CreateDirectory(Atypical.VirtualFileSystem.Core.ValueObjects.VFSDirectoryPath)') | Creates a directory node at the specified path.
The path must be absolute. | +| [CreateDirectory(string)](Atypical.VirtualFileSystem.Core.Contracts.IVirtualFileSystem.CreateDirectory(string).md 'Atypical.VirtualFileSystem.Core.Contracts.IVirtualFileSystem.CreateDirectory(string)') | Creates a directory node at the specified path.
The path must be absolute. | +| [CreateFile(VFSFilePath, string)](Atypical.VirtualFileSystem.Core.Contracts.IVirtualFileSystem.CreateFile(Atypical.VirtualFileSystem.Core.ValueObjects.VFSFilePath,string).md 'Atypical.VirtualFileSystem.Core.Contracts.IVirtualFileSystem.CreateFile(Atypical.VirtualFileSystem.Core.ValueObjects.VFSFilePath, string)') | Creates a file node at the specified path.
The path must be absolute. | +| [CreateFile(string, string)](Atypical.VirtualFileSystem.Core.Contracts.IVirtualFileSystem.CreateFile(string,string).md 'Atypical.VirtualFileSystem.Core.Contracts.IVirtualFileSystem.CreateFile(string, string)') | Creates a file node at the specified path.
The path must be absolute. | +| [DeleteDirectory(VFSDirectoryPath)](Atypical.VirtualFileSystem.Core.Contracts.IVirtualFileSystem.DeleteDirectory(Atypical.VirtualFileSystem.Core.ValueObjects.VFSDirectoryPath).md 'Atypical.VirtualFileSystem.Core.Contracts.IVirtualFileSystem.DeleteDirectory(Atypical.VirtualFileSystem.Core.ValueObjects.VFSDirectoryPath)') | Deletes a directory node at the specified path.
The path must be absolute. | +| [DeleteDirectory(string)](Atypical.VirtualFileSystem.Core.Contracts.IVirtualFileSystem.DeleteDirectory(string).md 'Atypical.VirtualFileSystem.Core.Contracts.IVirtualFileSystem.DeleteDirectory(string)') | Deletes a directory node at the specified path.
The path must be absolute. | +| [DeleteFile(VFSFilePath)](Atypical.VirtualFileSystem.Core.Contracts.IVirtualFileSystem.DeleteFile(Atypical.VirtualFileSystem.Core.ValueObjects.VFSFilePath).md 'Atypical.VirtualFileSystem.Core.Contracts.IVirtualFileSystem.DeleteFile(Atypical.VirtualFileSystem.Core.ValueObjects.VFSFilePath)') | Deletes a file node at the specified path.
The path must be absolute. | +| [DeleteFile(string)](Atypical.VirtualFileSystem.Core.Contracts.IVirtualFileSystem.DeleteFile(string).md 'Atypical.VirtualFileSystem.Core.Contracts.IVirtualFileSystem.DeleteFile(string)') | Deletes a file node at the specified path.
The path must be absolute. | +| [FindDirectories()](Atypical.VirtualFileSystem.Core.Contracts.IVirtualFileSystem.FindDirectories().md 'Atypical.VirtualFileSystem.Core.Contracts.IVirtualFileSystem.FindDirectories()') | Finds all directory nodes. | +| [FindDirectories(Regex)](Atypical.VirtualFileSystem.Core.Contracts.IVirtualFileSystem.FindDirectories(System.Text.RegularExpressions.Regex).md 'Atypical.VirtualFileSystem.Core.Contracts.IVirtualFileSystem.FindDirectories(System.Text.RegularExpressions.Regex)') | Finds all directory nodes that match the specified regular expression.
The regular expression must be relative to the root directory. | +| [FindFiles()](Atypical.VirtualFileSystem.Core.Contracts.IVirtualFileSystem.FindFiles().md 'Atypical.VirtualFileSystem.Core.Contracts.IVirtualFileSystem.FindFiles()') | Finds all file nodes. | +| [FindFiles(Regex)](Atypical.VirtualFileSystem.Core.Contracts.IVirtualFileSystem.FindFiles(System.Text.RegularExpressions.Regex).md 'Atypical.VirtualFileSystem.Core.Contracts.IVirtualFileSystem.FindFiles(System.Text.RegularExpressions.Regex)') | Finds all file nodes that match the specified regular expression. | +| [GetDirectory(VFSDirectoryPath)](Atypical.VirtualFileSystem.Core.Contracts.IVirtualFileSystem.GetDirectory(Atypical.VirtualFileSystem.Core.ValueObjects.VFSDirectoryPath).md 'Atypical.VirtualFileSystem.Core.Contracts.IVirtualFileSystem.GetDirectory(Atypical.VirtualFileSystem.Core.ValueObjects.VFSDirectoryPath)') | Gets a directory node by its path.
The path must be absolute. | +| [GetDirectory(string)](Atypical.VirtualFileSystem.Core.Contracts.IVirtualFileSystem.GetDirectory(string).md 'Atypical.VirtualFileSystem.Core.Contracts.IVirtualFileSystem.GetDirectory(string)') | Gets a file node by its path.
The path must be absolute. | +| [GetFile(VFSFilePath)](Atypical.VirtualFileSystem.Core.Contracts.IVirtualFileSystem.GetFile(Atypical.VirtualFileSystem.Core.ValueObjects.VFSFilePath).md 'Atypical.VirtualFileSystem.Core.Contracts.IVirtualFileSystem.GetFile(Atypical.VirtualFileSystem.Core.ValueObjects.VFSFilePath)') | Gets a file node by its path.
The path must be absolute. | +| [GetFile(string)](Atypical.VirtualFileSystem.Core.Contracts.IVirtualFileSystem.GetFile(string).md 'Atypical.VirtualFileSystem.Core.Contracts.IVirtualFileSystem.GetFile(string)') | Gets a file node by its path.
The path must be absolute. | +| [TryGetDirectory(VFSDirectoryPath, IDirectoryNode)](Atypical.VirtualFileSystem.Core.Contracts.IVirtualFileSystem.TryGetDirectory(Atypical.VirtualFileSystem.Core.ValueObjects.VFSDirectoryPath,Atypical.VirtualFileSystem.Core.Contracts.IDirectoryNode).md 'Atypical.VirtualFileSystem.Core.Contracts.IVirtualFileSystem.TryGetDirectory(Atypical.VirtualFileSystem.Core.ValueObjects.VFSDirectoryPath, Atypical.VirtualFileSystem.Core.Contracts.IDirectoryNode)') | Try to get a directory node by its path.
The path must be absolute.
If the directory node does not exist, this method returns `false`
and [directory](Atypical.VirtualFileSystem.Core.Contracts.IVirtualFileSystem.TryGetDirectory(Atypical.VirtualFileSystem.Core.ValueObjects.VFSDirectoryPath,Atypical.VirtualFileSystem.Core.Contracts.IDirectoryNode).md#Atypical.VirtualFileSystem.Core.Contracts.IVirtualFileSystem.TryGetDirectory(Atypical.VirtualFileSystem.Core.ValueObjects.VFSDirectoryPath,Atypical.VirtualFileSystem.Core.Contracts.IDirectoryNode).directory 'Atypical.VirtualFileSystem.Core.Contracts.IVirtualFileSystem.TryGetDirectory(Atypical.VirtualFileSystem.Core.ValueObjects.VFSDirectoryPath, Atypical.VirtualFileSystem.Core.Contracts.IDirectoryNode).directory') is set to `null`. | +| [TryGetDirectory(string, IDirectoryNode)](Atypical.VirtualFileSystem.Core.Contracts.IVirtualFileSystem.TryGetDirectory(string,Atypical.VirtualFileSystem.Core.Contracts.IDirectoryNode).md 'Atypical.VirtualFileSystem.Core.Contracts.IVirtualFileSystem.TryGetDirectory(string, Atypical.VirtualFileSystem.Core.Contracts.IDirectoryNode)') | Try to get a directory node by its path.
The path must be absolute.
If the directory node does not exist, this method returns `false`
and [directory](Atypical.VirtualFileSystem.Core.Contracts.IVirtualFileSystem.TryGetDirectory(string,Atypical.VirtualFileSystem.Core.Contracts.IDirectoryNode).md#Atypical.VirtualFileSystem.Core.Contracts.IVirtualFileSystem.TryGetDirectory(string,Atypical.VirtualFileSystem.Core.Contracts.IDirectoryNode).directory 'Atypical.VirtualFileSystem.Core.Contracts.IVirtualFileSystem.TryGetDirectory(string, Atypical.VirtualFileSystem.Core.Contracts.IDirectoryNode).directory') is set to `null`. | +| [TryGetFile(VFSFilePath, IFileNode)](Atypical.VirtualFileSystem.Core.Contracts.IVirtualFileSystem.TryGetFile(Atypical.VirtualFileSystem.Core.ValueObjects.VFSFilePath,Atypical.VirtualFileSystem.Core.Contracts.IFileNode).md 'Atypical.VirtualFileSystem.Core.Contracts.IVirtualFileSystem.TryGetFile(Atypical.VirtualFileSystem.Core.ValueObjects.VFSFilePath, Atypical.VirtualFileSystem.Core.Contracts.IFileNode)') | Try to get a file node by its path.
The path must be absolute. | +| [TryGetFile(string, IFileNode)](Atypical.VirtualFileSystem.Core.Contracts.IVirtualFileSystem.TryGetFile(string,Atypical.VirtualFileSystem.Core.Contracts.IFileNode).md 'Atypical.VirtualFileSystem.Core.Contracts.IVirtualFileSystem.TryGetFile(string, Atypical.VirtualFileSystem.Core.Contracts.IFileNode)') | Try to get a file node by its path.
The path must be absolute. | diff --git a/doc/api/Atypical.VirtualFileSystem.Core.Contracts.IVirtualFileSystemFactory.CreateFileSystem().md b/doc/api/Atypical.VirtualFileSystem.Core.Contracts.IVirtualFileSystemFactory.CreateFileSystem().md new file mode 100644 index 0000000..ece9f68 --- /dev/null +++ b/doc/api/Atypical.VirtualFileSystem.Core.Contracts.IVirtualFileSystemFactory.CreateFileSystem().md @@ -0,0 +1,14 @@ +#### [Atypical.VirtualFileSystem.Core](Atypical.VirtualFileSystem.Core.md 'Atypical.VirtualFileSystem.Core') +### [Atypical.VirtualFileSystem.Core.Contracts](Atypical.VirtualFileSystem.Core.Contracts.md 'Atypical.VirtualFileSystem.Core.Contracts').[IVirtualFileSystemFactory](Atypical.VirtualFileSystem.Core.Contracts.IVirtualFileSystemFactory.md 'Atypical.VirtualFileSystem.Core.Contracts.IVirtualFileSystemFactory') + +## IVirtualFileSystemFactory.CreateFileSystem() Method + +Creates a new instance of [IVirtualFileSystem](Atypical.VirtualFileSystem.Core.Contracts.IVirtualFileSystem.md 'Atypical.VirtualFileSystem.Core.Contracts.IVirtualFileSystem'). + +```csharp +Atypical.VirtualFileSystem.Core.Contracts.IVirtualFileSystem CreateFileSystem(); +``` + +#### Returns +[IVirtualFileSystem](Atypical.VirtualFileSystem.Core.Contracts.IVirtualFileSystem.md 'Atypical.VirtualFileSystem.Core.Contracts.IVirtualFileSystem') +The new instance of [IVirtualFileSystem](Atypical.VirtualFileSystem.Core.Contracts.IVirtualFileSystem.md 'Atypical.VirtualFileSystem.Core.Contracts.IVirtualFileSystem'). \ No newline at end of file diff --git a/doc/api/Atypical.VirtualFileSystem.Core.Contracts.IVirtualFileSystemFactory.md b/doc/api/Atypical.VirtualFileSystem.Core.Contracts.IVirtualFileSystemFactory.md new file mode 100644 index 0000000..add9ce7 --- /dev/null +++ b/doc/api/Atypical.VirtualFileSystem.Core.Contracts.IVirtualFileSystemFactory.md @@ -0,0 +1,18 @@ +#### [Atypical.VirtualFileSystem.Core](Atypical.VirtualFileSystem.Core.md 'Atypical.VirtualFileSystem.Core') +### [Atypical.VirtualFileSystem.Core.Contracts](Atypical.VirtualFileSystem.Core.Contracts.md 'Atypical.VirtualFileSystem.Core.Contracts') + +## IVirtualFileSystemFactory Interface + +Represents a factory for creating [IVirtualFileSystem](Atypical.VirtualFileSystem.Core.Contracts.IVirtualFileSystem.md 'Atypical.VirtualFileSystem.Core.Contracts.IVirtualFileSystem') instances. +This interface is implemented by the [VirtualFileSystemFactory](Atypical.VirtualFileSystem.Core.VirtualFileSystemFactory.md 'Atypical.VirtualFileSystem.Core.VirtualFileSystemFactory') class. + +```csharp +public interface IVirtualFileSystemFactory +``` + +Derived +↳ [VirtualFileSystemFactory](Atypical.VirtualFileSystem.Core.VirtualFileSystemFactory.md 'Atypical.VirtualFileSystem.Core.VirtualFileSystemFactory') + +| Methods | | +| :--- | :--- | +| [CreateFileSystem()](Atypical.VirtualFileSystem.Core.Contracts.IVirtualFileSystemFactory.CreateFileSystem().md 'Atypical.VirtualFileSystem.Core.Contracts.IVirtualFileSystemFactory.CreateFileSystem()') | Creates a new instance of [IVirtualFileSystem](Atypical.VirtualFileSystem.Core.Contracts.IVirtualFileSystem.md 'Atypical.VirtualFileSystem.Core.Contracts.IVirtualFileSystem'). | diff --git a/doc/api/Atypical.VirtualFileSystem.Core.Contracts.IVirtualFileSystemNode.CreationTime.md b/doc/api/Atypical.VirtualFileSystem.Core.Contracts.IVirtualFileSystemNode.CreationTime.md new file mode 100644 index 0000000..779e7f5 --- /dev/null +++ b/doc/api/Atypical.VirtualFileSystem.Core.Contracts.IVirtualFileSystemNode.CreationTime.md @@ -0,0 +1,13 @@ +#### [Atypical.VirtualFileSystem.Core](Atypical.VirtualFileSystem.Core.md 'Atypical.VirtualFileSystem.Core') +### [Atypical.VirtualFileSystem.Core.Contracts](Atypical.VirtualFileSystem.Core.Contracts.md 'Atypical.VirtualFileSystem.Core.Contracts').[IVirtualFileSystemNode](Atypical.VirtualFileSystem.Core.Contracts.IVirtualFileSystemNode.md 'Atypical.VirtualFileSystem.Core.Contracts.IVirtualFileSystemNode') + +## IVirtualFileSystemNode.CreationTime Property + +Gets the creation time of the node. + +```csharp +System.DateTimeOffset CreationTime { get; } +``` + +#### Property Value +[System.DateTimeOffset](https://docs.microsoft.com/en-us/dotnet/api/System.DateTimeOffset 'System.DateTimeOffset') \ No newline at end of file diff --git a/doc/api/Atypical.VirtualFileSystem.Core.Contracts.IVirtualFileSystemNode.IsDirectory.md b/doc/api/Atypical.VirtualFileSystem.Core.Contracts.IVirtualFileSystemNode.IsDirectory.md new file mode 100644 index 0000000..7b7eaa0 --- /dev/null +++ b/doc/api/Atypical.VirtualFileSystem.Core.Contracts.IVirtualFileSystemNode.IsDirectory.md @@ -0,0 +1,13 @@ +#### [Atypical.VirtualFileSystem.Core](Atypical.VirtualFileSystem.Core.md 'Atypical.VirtualFileSystem.Core') +### [Atypical.VirtualFileSystem.Core.Contracts](Atypical.VirtualFileSystem.Core.Contracts.md 'Atypical.VirtualFileSystem.Core.Contracts').[IVirtualFileSystemNode](Atypical.VirtualFileSystem.Core.Contracts.IVirtualFileSystemNode.md 'Atypical.VirtualFileSystem.Core.Contracts.IVirtualFileSystemNode') + +## IVirtualFileSystemNode.IsDirectory Property + +Indicates whether the node is a directory. + +```csharp +bool IsDirectory { get; } +``` + +#### Property Value +[System.Boolean](https://docs.microsoft.com/en-us/dotnet/api/System.Boolean 'System.Boolean') \ No newline at end of file diff --git a/doc/api/Atypical.VirtualFileSystem.Core.Contracts.IVirtualFileSystemNode.IsFile.md b/doc/api/Atypical.VirtualFileSystem.Core.Contracts.IVirtualFileSystemNode.IsFile.md new file mode 100644 index 0000000..a5425bd --- /dev/null +++ b/doc/api/Atypical.VirtualFileSystem.Core.Contracts.IVirtualFileSystemNode.IsFile.md @@ -0,0 +1,13 @@ +#### [Atypical.VirtualFileSystem.Core](Atypical.VirtualFileSystem.Core.md 'Atypical.VirtualFileSystem.Core') +### [Atypical.VirtualFileSystem.Core.Contracts](Atypical.VirtualFileSystem.Core.Contracts.md 'Atypical.VirtualFileSystem.Core.Contracts').[IVirtualFileSystemNode](Atypical.VirtualFileSystem.Core.Contracts.IVirtualFileSystemNode.md 'Atypical.VirtualFileSystem.Core.Contracts.IVirtualFileSystemNode') + +## IVirtualFileSystemNode.IsFile Property + +Indicates whether the node is a file. + +```csharp +bool IsFile { get; } +``` + +#### Property Value +[System.Boolean](https://docs.microsoft.com/en-us/dotnet/api/System.Boolean 'System.Boolean') \ No newline at end of file diff --git a/doc/api/Atypical.VirtualFileSystem.Core.Contracts.IVirtualFileSystemNode.LastAccessTime.md b/doc/api/Atypical.VirtualFileSystem.Core.Contracts.IVirtualFileSystemNode.LastAccessTime.md new file mode 100644 index 0000000..d2550f8 --- /dev/null +++ b/doc/api/Atypical.VirtualFileSystem.Core.Contracts.IVirtualFileSystemNode.LastAccessTime.md @@ -0,0 +1,13 @@ +#### [Atypical.VirtualFileSystem.Core](Atypical.VirtualFileSystem.Core.md 'Atypical.VirtualFileSystem.Core') +### [Atypical.VirtualFileSystem.Core.Contracts](Atypical.VirtualFileSystem.Core.Contracts.md 'Atypical.VirtualFileSystem.Core.Contracts').[IVirtualFileSystemNode](Atypical.VirtualFileSystem.Core.Contracts.IVirtualFileSystemNode.md 'Atypical.VirtualFileSystem.Core.Contracts.IVirtualFileSystemNode') + +## IVirtualFileSystemNode.LastAccessTime Property + +Gets the last access time of the node. + +```csharp +System.DateTimeOffset LastAccessTime { get; } +``` + +#### Property Value +[System.DateTimeOffset](https://docs.microsoft.com/en-us/dotnet/api/System.DateTimeOffset 'System.DateTimeOffset') \ No newline at end of file diff --git a/doc/api/Atypical.VirtualFileSystem.Core.Contracts.IVirtualFileSystemNode.LastWriteTime.md b/doc/api/Atypical.VirtualFileSystem.Core.Contracts.IVirtualFileSystemNode.LastWriteTime.md new file mode 100644 index 0000000..6f08077 --- /dev/null +++ b/doc/api/Atypical.VirtualFileSystem.Core.Contracts.IVirtualFileSystemNode.LastWriteTime.md @@ -0,0 +1,13 @@ +#### [Atypical.VirtualFileSystem.Core](Atypical.VirtualFileSystem.Core.md 'Atypical.VirtualFileSystem.Core') +### [Atypical.VirtualFileSystem.Core.Contracts](Atypical.VirtualFileSystem.Core.Contracts.md 'Atypical.VirtualFileSystem.Core.Contracts').[IVirtualFileSystemNode](Atypical.VirtualFileSystem.Core.Contracts.IVirtualFileSystemNode.md 'Atypical.VirtualFileSystem.Core.Contracts.IVirtualFileSystemNode') + +## IVirtualFileSystemNode.LastWriteTime Property + +Gets the last write time of the node. + +```csharp +System.DateTimeOffset LastWriteTime { get; } +``` + +#### Property Value +[System.DateTimeOffset](https://docs.microsoft.com/en-us/dotnet/api/System.DateTimeOffset 'System.DateTimeOffset') \ No newline at end of file diff --git a/doc/api/Atypical.VirtualFileSystem.Core.Contracts.IVirtualFileSystemNode.Name.md b/doc/api/Atypical.VirtualFileSystem.Core.Contracts.IVirtualFileSystemNode.Name.md new file mode 100644 index 0000000..6edaa74 --- /dev/null +++ b/doc/api/Atypical.VirtualFileSystem.Core.Contracts.IVirtualFileSystemNode.Name.md @@ -0,0 +1,16 @@ +#### [Atypical.VirtualFileSystem.Core](Atypical.VirtualFileSystem.Core.md 'Atypical.VirtualFileSystem.Core') +### [Atypical.VirtualFileSystem.Core.Contracts](Atypical.VirtualFileSystem.Core.Contracts.md 'Atypical.VirtualFileSystem.Core.Contracts').[IVirtualFileSystemNode](Atypical.VirtualFileSystem.Core.Contracts.IVirtualFileSystemNode.md 'Atypical.VirtualFileSystem.Core.Contracts.IVirtualFileSystemNode') + +## IVirtualFileSystemNode.Name Property + +Gets the name of the virtual file system node. +The name is the last part of the path. +For example, the name of the file "vfs://temp/file.txt" is "file.txt". +The name of the directory "vfs://temp" is "temp". + +```csharp +string Name { get; } +``` + +#### Property Value +[System.String](https://docs.microsoft.com/en-us/dotnet/api/System.String 'System.String') \ No newline at end of file diff --git a/doc/api/Atypical.VirtualFileSystem.Core.Contracts.IVirtualFileSystemNode.Path.md b/doc/api/Atypical.VirtualFileSystem.Core.Contracts.IVirtualFileSystemNode.Path.md new file mode 100644 index 0000000..d07f145 --- /dev/null +++ b/doc/api/Atypical.VirtualFileSystem.Core.Contracts.IVirtualFileSystemNode.Path.md @@ -0,0 +1,17 @@ +#### [Atypical.VirtualFileSystem.Core](Atypical.VirtualFileSystem.Core.md 'Atypical.VirtualFileSystem.Core') +### [Atypical.VirtualFileSystem.Core.Contracts](Atypical.VirtualFileSystem.Core.Contracts.md 'Atypical.VirtualFileSystem.Core.Contracts').[IVirtualFileSystemNode](Atypical.VirtualFileSystem.Core.Contracts.IVirtualFileSystemNode.md 'Atypical.VirtualFileSystem.Core.Contracts.IVirtualFileSystemNode') + +## IVirtualFileSystemNode.Path Property + +Gets the full path of the node. +The path is the path from the root of the file system to the node. +For example, the path of the node with the path "./temp/file.txt" is "./temp/file.txt". +The path of the node with the path "./temp/" is "./temp/". + +```csharp +Atypical.VirtualFileSystem.Core.Abstractions.VFSPath Path { get; } +``` + +#### Property Value +[VFSPath](Atypical.VirtualFileSystem.Core.Abstractions.VFSPath.md 'Atypical.VirtualFileSystem.Core.Abstractions.VFSPath') +The full path of the node. \ No newline at end of file diff --git a/doc/api/Atypical.VirtualFileSystem.Core.Contracts.IVirtualFileSystemNode.md b/doc/api/Atypical.VirtualFileSystem.Core.Contracts.IVirtualFileSystemNode.md new file mode 100644 index 0000000..107d8a5 --- /dev/null +++ b/doc/api/Atypical.VirtualFileSystem.Core.Contracts.IVirtualFileSystemNode.md @@ -0,0 +1,30 @@ +#### [Atypical.VirtualFileSystem.Core](Atypical.VirtualFileSystem.Core.md 'Atypical.VirtualFileSystem.Core') +### [Atypical.VirtualFileSystem.Core.Contracts](Atypical.VirtualFileSystem.Core.Contracts.md 'Atypical.VirtualFileSystem.Core.Contracts') + +## IVirtualFileSystemNode Interface + +Represents a node in a virtual file system. +A node can be a file or a directory. + +```csharp +public interface IVirtualFileSystemNode +``` + +Derived +↳ [VFSNode](Atypical.VirtualFileSystem.Core.Abstractions.VFSNode.md 'Atypical.VirtualFileSystem.Core.Abstractions.VFSNode') +↳ [IDirectoryNode](Atypical.VirtualFileSystem.Core.Contracts.IDirectoryNode.md 'Atypical.VirtualFileSystem.Core.Contracts.IDirectoryNode') +↳ [IFileNode](Atypical.VirtualFileSystem.Core.Contracts.IFileNode.md 'Atypical.VirtualFileSystem.Core.Contracts.IFileNode') +↳ [IRootNode](Atypical.VirtualFileSystem.Core.Contracts.IRootNode.md 'Atypical.VirtualFileSystem.Core.Contracts.IRootNode') +↳ [DirectoryNode](Atypical.VirtualFileSystem.Core.Models.DirectoryNode.md 'Atypical.VirtualFileSystem.Core.Models.DirectoryNode') +↳ [FileNode](Atypical.VirtualFileSystem.Core.Models.FileNode.md 'Atypical.VirtualFileSystem.Core.Models.FileNode') +↳ [RootNode](Atypical.VirtualFileSystem.Core.Models.RootNode.md 'Atypical.VirtualFileSystem.Core.Models.RootNode') + +| Properties | | +| :--- | :--- | +| [CreationTime](Atypical.VirtualFileSystem.Core.Contracts.IVirtualFileSystemNode.CreationTime.md 'Atypical.VirtualFileSystem.Core.Contracts.IVirtualFileSystemNode.CreationTime') | Gets the creation time of the node. | +| [IsDirectory](Atypical.VirtualFileSystem.Core.Contracts.IVirtualFileSystemNode.IsDirectory.md 'Atypical.VirtualFileSystem.Core.Contracts.IVirtualFileSystemNode.IsDirectory') | Indicates whether the node is a directory. | +| [IsFile](Atypical.VirtualFileSystem.Core.Contracts.IVirtualFileSystemNode.IsFile.md 'Atypical.VirtualFileSystem.Core.Contracts.IVirtualFileSystemNode.IsFile') | Indicates whether the node is a file. | +| [LastAccessTime](Atypical.VirtualFileSystem.Core.Contracts.IVirtualFileSystemNode.LastAccessTime.md 'Atypical.VirtualFileSystem.Core.Contracts.IVirtualFileSystemNode.LastAccessTime') | Gets the last access time of the node. | +| [LastWriteTime](Atypical.VirtualFileSystem.Core.Contracts.IVirtualFileSystemNode.LastWriteTime.md 'Atypical.VirtualFileSystem.Core.Contracts.IVirtualFileSystemNode.LastWriteTime') | Gets the last write time of the node. | +| [Name](Atypical.VirtualFileSystem.Core.Contracts.IVirtualFileSystemNode.Name.md 'Atypical.VirtualFileSystem.Core.Contracts.IVirtualFileSystemNode.Name') | Gets the name of the virtual file system node.
The name is the last part of the path.
For example, the name of the file "vfs://temp/file.txt" is "file.txt".
The name of the directory "vfs://temp" is "temp". | +| [Path](Atypical.VirtualFileSystem.Core.Contracts.IVirtualFileSystemNode.Path.md 'Atypical.VirtualFileSystem.Core.Contracts.IVirtualFileSystemNode.Path') | Gets the full path of the node.
The path is the path from the root of the file system to the node.
For example, the path of the node with the path "./temp/file.txt" is "./temp/file.txt".
The path of the node with the path "./temp/" is "./temp/". | diff --git a/doc/api/Atypical.VirtualFileSystem.Core.Contracts.md b/doc/api/Atypical.VirtualFileSystem.Core.Contracts.md new file mode 100644 index 0000000..88572f9 --- /dev/null +++ b/doc/api/Atypical.VirtualFileSystem.Core.Contracts.md @@ -0,0 +1,12 @@ +#### [Atypical.VirtualFileSystem.Core](Atypical.VirtualFileSystem.Core.md 'Atypical.VirtualFileSystem.Core') + +## Atypical.VirtualFileSystem.Core.Contracts Namespace + +| Interfaces | | +| :--- | :--- | +| [IDirectoryNode](Atypical.VirtualFileSystem.Core.Contracts.IDirectoryNode.md 'Atypical.VirtualFileSystem.Core.Contracts.IDirectoryNode') | Represents a directory in a virtual file system.
This is an in-memory representation of a directory.
It is not a representation of a directory on a physical file system. | +| [IFileNode](Atypical.VirtualFileSystem.Core.Contracts.IFileNode.md 'Atypical.VirtualFileSystem.Core.Contracts.IFileNode') | Represents a file in a virtual file system.
This is the base interface for all file types. | +| [IRootNode](Atypical.VirtualFileSystem.Core.Contracts.IRootNode.md 'Atypical.VirtualFileSystem.Core.Contracts.IRootNode') | Represents the root of a virtual file system.
This is the entry point for all operations on the file system. | +| [IVirtualFileSystem](Atypical.VirtualFileSystem.Core.Contracts.IVirtualFileSystem.md 'Atypical.VirtualFileSystem.Core.Contracts.IVirtualFileSystem') | Represents a virtual file system.
This is the main entry point for all operations on the file system.
You can get an instance of this interface by calling [CreateFileSystem()](Atypical.VirtualFileSystem.Core.Contracts.IVirtualFileSystemFactory.CreateFileSystem().md 'Atypical.VirtualFileSystem.Core.Contracts.IVirtualFileSystemFactory.CreateFileSystem()'). | +| [IVirtualFileSystemFactory](Atypical.VirtualFileSystem.Core.Contracts.IVirtualFileSystemFactory.md 'Atypical.VirtualFileSystem.Core.Contracts.IVirtualFileSystemFactory') | Represents a factory for creating [IVirtualFileSystem](Atypical.VirtualFileSystem.Core.Contracts.IVirtualFileSystem.md 'Atypical.VirtualFileSystem.Core.Contracts.IVirtualFileSystem') instances.
This interface is implemented by the [VirtualFileSystemFactory](Atypical.VirtualFileSystem.Core.VirtualFileSystemFactory.md 'Atypical.VirtualFileSystem.Core.VirtualFileSystemFactory') class. | +| [IVirtualFileSystemNode](Atypical.VirtualFileSystem.Core.Contracts.IVirtualFileSystemNode.md 'Atypical.VirtualFileSystem.Core.Contracts.IVirtualFileSystemNode') | Represents a node in a virtual file system.
A node can be a file or a directory. | diff --git a/doc/api/Atypical.VirtualFileSystem.Core.Models.DirectoryNode.DirectoryNode(Atypical.VirtualFileSystem.Core.ValueObjects.VFSDirectoryPath).md b/doc/api/Atypical.VirtualFileSystem.Core.Models.DirectoryNode.DirectoryNode(Atypical.VirtualFileSystem.Core.ValueObjects.VFSDirectoryPath).md new file mode 100644 index 0000000..f2cdd9b --- /dev/null +++ b/doc/api/Atypical.VirtualFileSystem.Core.Models.DirectoryNode.DirectoryNode(Atypical.VirtualFileSystem.Core.ValueObjects.VFSDirectoryPath).md @@ -0,0 +1,19 @@ +#### [Atypical.VirtualFileSystem.Core](Atypical.VirtualFileSystem.Core.md 'Atypical.VirtualFileSystem.Core') +### [Atypical.VirtualFileSystem.Core.Models](Atypical.VirtualFileSystem.Core.Models.md 'Atypical.VirtualFileSystem.Core.Models').[DirectoryNode](Atypical.VirtualFileSystem.Core.Models.DirectoryNode.md 'Atypical.VirtualFileSystem.Core.Models.DirectoryNode') + +## DirectoryNode(VFSDirectoryPath) Constructor + +Initializes a new instance of the [DirectoryNode](Atypical.VirtualFileSystem.Core.Models.DirectoryNode.md 'Atypical.VirtualFileSystem.Core.Models.DirectoryNode') class. +Creates a new directory node. +The directory is created with the current date and time as creation and last modification date. + +```csharp +public DirectoryNode(Atypical.VirtualFileSystem.Core.ValueObjects.VFSDirectoryPath directoryPath); +``` +#### Parameters + + + +`directoryPath` [VFSDirectoryPath](Atypical.VirtualFileSystem.Core.ValueObjects.VFSDirectoryPath.md 'Atypical.VirtualFileSystem.Core.ValueObjects.VFSDirectoryPath') + +The path of the directory. \ No newline at end of file diff --git a/doc/api/Atypical.VirtualFileSystem.Core.Models.DirectoryNode.IsDirectory.md b/doc/api/Atypical.VirtualFileSystem.Core.Models.DirectoryNode.IsDirectory.md new file mode 100644 index 0000000..09af56f --- /dev/null +++ b/doc/api/Atypical.VirtualFileSystem.Core.Models.DirectoryNode.IsDirectory.md @@ -0,0 +1,15 @@ +#### [Atypical.VirtualFileSystem.Core](Atypical.VirtualFileSystem.Core.md 'Atypical.VirtualFileSystem.Core') +### [Atypical.VirtualFileSystem.Core.Models](Atypical.VirtualFileSystem.Core.Models.md 'Atypical.VirtualFileSystem.Core.Models').[DirectoryNode](Atypical.VirtualFileSystem.Core.Models.DirectoryNode.md 'Atypical.VirtualFileSystem.Core.Models.DirectoryNode') + +## DirectoryNode.IsDirectory Property + +Indicates whether the node is a directory. + +```csharp +public override bool IsDirectory { get; } +``` + +Implements [IsDirectory](Atypical.VirtualFileSystem.Core.Contracts.IVirtualFileSystemNode.IsDirectory.md 'Atypical.VirtualFileSystem.Core.Contracts.IVirtualFileSystemNode.IsDirectory') + +#### Property Value +[System.Boolean](https://docs.microsoft.com/en-us/dotnet/api/System.Boolean 'System.Boolean') \ No newline at end of file diff --git a/doc/api/Atypical.VirtualFileSystem.Core.Models.DirectoryNode.IsFile.md b/doc/api/Atypical.VirtualFileSystem.Core.Models.DirectoryNode.IsFile.md new file mode 100644 index 0000000..3da1d08 --- /dev/null +++ b/doc/api/Atypical.VirtualFileSystem.Core.Models.DirectoryNode.IsFile.md @@ -0,0 +1,15 @@ +#### [Atypical.VirtualFileSystem.Core](Atypical.VirtualFileSystem.Core.md 'Atypical.VirtualFileSystem.Core') +### [Atypical.VirtualFileSystem.Core.Models](Atypical.VirtualFileSystem.Core.Models.md 'Atypical.VirtualFileSystem.Core.Models').[DirectoryNode](Atypical.VirtualFileSystem.Core.Models.DirectoryNode.md 'Atypical.VirtualFileSystem.Core.Models.DirectoryNode') + +## DirectoryNode.IsFile Property + +Indicates whether the node is a file. + +```csharp +public override bool IsFile { get; } +``` + +Implements [IsFile](Atypical.VirtualFileSystem.Core.Contracts.IVirtualFileSystemNode.IsFile.md 'Atypical.VirtualFileSystem.Core.Contracts.IVirtualFileSystemNode.IsFile') + +#### Property Value +[System.Boolean](https://docs.microsoft.com/en-us/dotnet/api/System.Boolean 'System.Boolean') \ No newline at end of file diff --git a/doc/api/Atypical.VirtualFileSystem.Core.Models.DirectoryNode.Path.md b/doc/api/Atypical.VirtualFileSystem.Core.Models.DirectoryNode.Path.md new file mode 100644 index 0000000..a912246 --- /dev/null +++ b/doc/api/Atypical.VirtualFileSystem.Core.Models.DirectoryNode.Path.md @@ -0,0 +1,19 @@ +#### [Atypical.VirtualFileSystem.Core](Atypical.VirtualFileSystem.Core.md 'Atypical.VirtualFileSystem.Core') +### [Atypical.VirtualFileSystem.Core.Models](Atypical.VirtualFileSystem.Core.Models.md 'Atypical.VirtualFileSystem.Core.Models').[DirectoryNode](Atypical.VirtualFileSystem.Core.Models.DirectoryNode.md 'Atypical.VirtualFileSystem.Core.Models.DirectoryNode') + +## DirectoryNode.Path Property + +Gets the full path of the node. +The path is the path from the root of the file system to the node. +For example, the path of the node with the path "./temp/file.txt" is "./temp/file.txt". +The path of the node with the path "./temp/" is "./temp/". + +```csharp +public virtual Atypical.VirtualFileSystem.Core.ValueObjects.VFSDirectoryPath Path { get; } +``` + +Implements [Path](Atypical.VirtualFileSystem.Core.Contracts.IVirtualFileSystemNode.Path.md 'Atypical.VirtualFileSystem.Core.Contracts.IVirtualFileSystemNode.Path') + +#### Property Value +[VFSDirectoryPath](Atypical.VirtualFileSystem.Core.ValueObjects.VFSDirectoryPath.md 'Atypical.VirtualFileSystem.Core.ValueObjects.VFSDirectoryPath') +The full path of the node. \ No newline at end of file diff --git a/doc/api/Atypical.VirtualFileSystem.Core.Models.DirectoryNode.ToString().md b/doc/api/Atypical.VirtualFileSystem.Core.Models.DirectoryNode.ToString().md new file mode 100644 index 0000000..b02d491 --- /dev/null +++ b/doc/api/Atypical.VirtualFileSystem.Core.Models.DirectoryNode.ToString().md @@ -0,0 +1,14 @@ +#### [Atypical.VirtualFileSystem.Core](Atypical.VirtualFileSystem.Core.md 'Atypical.VirtualFileSystem.Core') +### [Atypical.VirtualFileSystem.Core.Models](Atypical.VirtualFileSystem.Core.Models.md 'Atypical.VirtualFileSystem.Core.Models').[DirectoryNode](Atypical.VirtualFileSystem.Core.Models.DirectoryNode.md 'Atypical.VirtualFileSystem.Core.Models.DirectoryNode') + +## DirectoryNode.ToString() Method + +Returns a string that represents the path of the directory. + +```csharp +public override string ToString(); +``` + +#### Returns +[System.String](https://docs.microsoft.com/en-us/dotnet/api/System.String 'System.String') +A string that represents the path of the directory. \ No newline at end of file diff --git a/doc/api/Atypical.VirtualFileSystem.Core.Models.DirectoryNode.md b/doc/api/Atypical.VirtualFileSystem.Core.Models.DirectoryNode.md new file mode 100644 index 0000000..18c51f7 --- /dev/null +++ b/doc/api/Atypical.VirtualFileSystem.Core.Models.DirectoryNode.md @@ -0,0 +1,34 @@ +#### [Atypical.VirtualFileSystem.Core](Atypical.VirtualFileSystem.Core.md 'Atypical.VirtualFileSystem.Core') +### [Atypical.VirtualFileSystem.Core.Models](Atypical.VirtualFileSystem.Core.Models.md 'Atypical.VirtualFileSystem.Core.Models') + +## DirectoryNode Class + +Represents a directory in the virtual file system. + +```csharp +public class DirectoryNode : Atypical.VirtualFileSystem.Core.Abstractions.VFSNode, +Atypical.VirtualFileSystem.Core.Contracts.IDirectoryNode, +Atypical.VirtualFileSystem.Core.Contracts.IVirtualFileSystemNode, +System.IEquatable +``` + +Inheritance [System.Object](https://docs.microsoft.com/en-us/dotnet/api/System.Object 'System.Object') 🡒 [VFSNode](Atypical.VirtualFileSystem.Core.Abstractions.VFSNode.md 'Atypical.VirtualFileSystem.Core.Abstractions.VFSNode') 🡒 DirectoryNode + +Derived +↳ [RootNode](Atypical.VirtualFileSystem.Core.Models.RootNode.md 'Atypical.VirtualFileSystem.Core.Models.RootNode') + +Implements [IDirectoryNode](Atypical.VirtualFileSystem.Core.Contracts.IDirectoryNode.md 'Atypical.VirtualFileSystem.Core.Contracts.IDirectoryNode'), [IVirtualFileSystemNode](Atypical.VirtualFileSystem.Core.Contracts.IVirtualFileSystemNode.md 'Atypical.VirtualFileSystem.Core.Contracts.IVirtualFileSystemNode'), [System.IEquatable<](https://docs.microsoft.com/en-us/dotnet/api/System.IEquatable-1 'System.IEquatable`1')[DirectoryNode](Atypical.VirtualFileSystem.Core.Models.DirectoryNode.md 'Atypical.VirtualFileSystem.Core.Models.DirectoryNode')[>](https://docs.microsoft.com/en-us/dotnet/api/System.IEquatable-1 'System.IEquatable`1') + +| Constructors | | +| :--- | :--- | +| [DirectoryNode(VFSDirectoryPath)](Atypical.VirtualFileSystem.Core.Models.DirectoryNode.DirectoryNode(Atypical.VirtualFileSystem.Core.ValueObjects.VFSDirectoryPath).md 'Atypical.VirtualFileSystem.Core.Models.DirectoryNode.DirectoryNode(Atypical.VirtualFileSystem.Core.ValueObjects.VFSDirectoryPath)') | Initializes a new instance of the [DirectoryNode](Atypical.VirtualFileSystem.Core.Models.DirectoryNode.md 'Atypical.VirtualFileSystem.Core.Models.DirectoryNode') class.
Creates a new directory node.
The directory is created with the current date and time as creation and last modification date. | + +| Properties | | +| :--- | :--- | +| [IsDirectory](Atypical.VirtualFileSystem.Core.Models.DirectoryNode.IsDirectory.md 'Atypical.VirtualFileSystem.Core.Models.DirectoryNode.IsDirectory') | Indicates whether the node is a directory. | +| [IsFile](Atypical.VirtualFileSystem.Core.Models.DirectoryNode.IsFile.md 'Atypical.VirtualFileSystem.Core.Models.DirectoryNode.IsFile') | Indicates whether the node is a file. | +| [Path](Atypical.VirtualFileSystem.Core.Models.DirectoryNode.Path.md 'Atypical.VirtualFileSystem.Core.Models.DirectoryNode.Path') | Gets the full path of the node.
The path is the path from the root of the file system to the node.
For example, the path of the node with the path "./temp/file.txt" is "./temp/file.txt".
The path of the node with the path "./temp/" is "./temp/". | + +| Methods | | +| :--- | :--- | +| [ToString()](Atypical.VirtualFileSystem.Core.Models.DirectoryNode.ToString().md 'Atypical.VirtualFileSystem.Core.Models.DirectoryNode.ToString()') | Returns a string that represents the path of the directory. | diff --git a/doc/api/Atypical.VirtualFileSystem.Core.Models.FileNode.Content.md b/doc/api/Atypical.VirtualFileSystem.Core.Models.FileNode.Content.md new file mode 100644 index 0000000..8396798 --- /dev/null +++ b/doc/api/Atypical.VirtualFileSystem.Core.Models.FileNode.Content.md @@ -0,0 +1,16 @@ +#### [Atypical.VirtualFileSystem.Core](Atypical.VirtualFileSystem.Core.md 'Atypical.VirtualFileSystem.Core') +### [Atypical.VirtualFileSystem.Core.Models](Atypical.VirtualFileSystem.Core.Models.md 'Atypical.VirtualFileSystem.Core.Models').[FileNode](Atypical.VirtualFileSystem.Core.Models.FileNode.md 'Atypical.VirtualFileSystem.Core.Models.FileNode') + +## FileNode.Content Property + +Gets the content of the file as a string. +The encoding is in UTF-8. + +```csharp +public string Content { get; set; } +``` + +Implements [Content](Atypical.VirtualFileSystem.Core.Contracts.IFileNode.Content.md 'Atypical.VirtualFileSystem.Core.Contracts.IFileNode.Content') + +#### Property Value +[System.String](https://docs.microsoft.com/en-us/dotnet/api/System.String 'System.String') \ No newline at end of file diff --git a/doc/api/Atypical.VirtualFileSystem.Core.Models.FileNode.FileNode(Atypical.VirtualFileSystem.Core.ValueObjects.VFSFilePath,string).md b/doc/api/Atypical.VirtualFileSystem.Core.Models.FileNode.FileNode(Atypical.VirtualFileSystem.Core.ValueObjects.VFSFilePath,string).md new file mode 100644 index 0000000..586ad33 --- /dev/null +++ b/doc/api/Atypical.VirtualFileSystem.Core.Models.FileNode.FileNode(Atypical.VirtualFileSystem.Core.ValueObjects.VFSFilePath,string).md @@ -0,0 +1,25 @@ +#### [Atypical.VirtualFileSystem.Core](Atypical.VirtualFileSystem.Core.md 'Atypical.VirtualFileSystem.Core') +### [Atypical.VirtualFileSystem.Core.Models](Atypical.VirtualFileSystem.Core.Models.md 'Atypical.VirtualFileSystem.Core.Models').[FileNode](Atypical.VirtualFileSystem.Core.Models.FileNode.md 'Atypical.VirtualFileSystem.Core.Models.FileNode') + +## FileNode(VFSFilePath, string) Constructor + +Initializes a new instance of the [FileNode](Atypical.VirtualFileSystem.Core.Models.FileNode.md 'Atypical.VirtualFileSystem.Core.Models.FileNode') class. +Creates a new file node. +The file is created with the current date and time as creation and last modification date. + +```csharp +public FileNode(Atypical.VirtualFileSystem.Core.ValueObjects.VFSFilePath filePath, string? content=null); +``` +#### Parameters + + + +`filePath` [VFSFilePath](Atypical.VirtualFileSystem.Core.ValueObjects.VFSFilePath.md 'Atypical.VirtualFileSystem.Core.ValueObjects.VFSFilePath') + +The path of the file. + + + +`content` [System.String](https://docs.microsoft.com/en-us/dotnet/api/System.String 'System.String') + +The content of the file. \ No newline at end of file diff --git a/doc/api/Atypical.VirtualFileSystem.Core.Models.FileNode.IsDirectory.md b/doc/api/Atypical.VirtualFileSystem.Core.Models.FileNode.IsDirectory.md new file mode 100644 index 0000000..1272cd8 --- /dev/null +++ b/doc/api/Atypical.VirtualFileSystem.Core.Models.FileNode.IsDirectory.md @@ -0,0 +1,15 @@ +#### [Atypical.VirtualFileSystem.Core](Atypical.VirtualFileSystem.Core.md 'Atypical.VirtualFileSystem.Core') +### [Atypical.VirtualFileSystem.Core.Models](Atypical.VirtualFileSystem.Core.Models.md 'Atypical.VirtualFileSystem.Core.Models').[FileNode](Atypical.VirtualFileSystem.Core.Models.FileNode.md 'Atypical.VirtualFileSystem.Core.Models.FileNode') + +## FileNode.IsDirectory Property + +Indicates whether the node is a directory. + +```csharp +public override bool IsDirectory { get; } +``` + +Implements [IsDirectory](Atypical.VirtualFileSystem.Core.Contracts.IVirtualFileSystemNode.IsDirectory.md 'Atypical.VirtualFileSystem.Core.Contracts.IVirtualFileSystemNode.IsDirectory') + +#### Property Value +[System.Boolean](https://docs.microsoft.com/en-us/dotnet/api/System.Boolean 'System.Boolean') \ No newline at end of file diff --git a/doc/api/Atypical.VirtualFileSystem.Core.Models.FileNode.IsFile.md b/doc/api/Atypical.VirtualFileSystem.Core.Models.FileNode.IsFile.md new file mode 100644 index 0000000..cc15ab9 --- /dev/null +++ b/doc/api/Atypical.VirtualFileSystem.Core.Models.FileNode.IsFile.md @@ -0,0 +1,15 @@ +#### [Atypical.VirtualFileSystem.Core](Atypical.VirtualFileSystem.Core.md 'Atypical.VirtualFileSystem.Core') +### [Atypical.VirtualFileSystem.Core.Models](Atypical.VirtualFileSystem.Core.Models.md 'Atypical.VirtualFileSystem.Core.Models').[FileNode](Atypical.VirtualFileSystem.Core.Models.FileNode.md 'Atypical.VirtualFileSystem.Core.Models.FileNode') + +## FileNode.IsFile Property + +Indicates whether the node is a file. + +```csharp +public override bool IsFile { get; } +``` + +Implements [IsFile](Atypical.VirtualFileSystem.Core.Contracts.IVirtualFileSystemNode.IsFile.md 'Atypical.VirtualFileSystem.Core.Contracts.IVirtualFileSystemNode.IsFile') + +#### Property Value +[System.Boolean](https://docs.microsoft.com/en-us/dotnet/api/System.Boolean 'System.Boolean') \ No newline at end of file diff --git a/doc/api/Atypical.VirtualFileSystem.Core.Models.FileNode.Path.md b/doc/api/Atypical.VirtualFileSystem.Core.Models.FileNode.Path.md new file mode 100644 index 0000000..bd1a689 --- /dev/null +++ b/doc/api/Atypical.VirtualFileSystem.Core.Models.FileNode.Path.md @@ -0,0 +1,19 @@ +#### [Atypical.VirtualFileSystem.Core](Atypical.VirtualFileSystem.Core.md 'Atypical.VirtualFileSystem.Core') +### [Atypical.VirtualFileSystem.Core.Models](Atypical.VirtualFileSystem.Core.Models.md 'Atypical.VirtualFileSystem.Core.Models').[FileNode](Atypical.VirtualFileSystem.Core.Models.FileNode.md 'Atypical.VirtualFileSystem.Core.Models.FileNode') + +## FileNode.Path Property + +Gets the full path of the node. +The path is the path from the root of the file system to the node. +For example, the path of the node with the path "./temp/file.txt" is "./temp/file.txt". +The path of the node with the path "./temp/" is "./temp/". + +```csharp +public virtual Atypical.VirtualFileSystem.Core.ValueObjects.VFSFilePath Path { get; } +``` + +Implements [Path](Atypical.VirtualFileSystem.Core.Contracts.IVirtualFileSystemNode.Path.md 'Atypical.VirtualFileSystem.Core.Contracts.IVirtualFileSystemNode.Path') + +#### Property Value +[VFSFilePath](Atypical.VirtualFileSystem.Core.ValueObjects.VFSFilePath.md 'Atypical.VirtualFileSystem.Core.ValueObjects.VFSFilePath') +The full path of the node. \ No newline at end of file diff --git a/doc/api/Atypical.VirtualFileSystem.Core.Models.FileNode.ToString().md b/doc/api/Atypical.VirtualFileSystem.Core.Models.FileNode.ToString().md new file mode 100644 index 0000000..0afa911 --- /dev/null +++ b/doc/api/Atypical.VirtualFileSystem.Core.Models.FileNode.ToString().md @@ -0,0 +1,14 @@ +#### [Atypical.VirtualFileSystem.Core](Atypical.VirtualFileSystem.Core.md 'Atypical.VirtualFileSystem.Core') +### [Atypical.VirtualFileSystem.Core.Models](Atypical.VirtualFileSystem.Core.Models.md 'Atypical.VirtualFileSystem.Core.Models').[FileNode](Atypical.VirtualFileSystem.Core.Models.FileNode.md 'Atypical.VirtualFileSystem.Core.Models.FileNode') + +## FileNode.ToString() Method + +Returns a string that represents the path of the file. + +```csharp +public override string ToString(); +``` + +#### Returns +[System.String](https://docs.microsoft.com/en-us/dotnet/api/System.String 'System.String') +A string that represents the path of the file. \ No newline at end of file diff --git a/doc/api/Atypical.VirtualFileSystem.Core.Models.FileNode.md b/doc/api/Atypical.VirtualFileSystem.Core.Models.FileNode.md new file mode 100644 index 0000000..d5bd274 --- /dev/null +++ b/doc/api/Atypical.VirtualFileSystem.Core.Models.FileNode.md @@ -0,0 +1,32 @@ +#### [Atypical.VirtualFileSystem.Core](Atypical.VirtualFileSystem.Core.md 'Atypical.VirtualFileSystem.Core') +### [Atypical.VirtualFileSystem.Core.Models](Atypical.VirtualFileSystem.Core.Models.md 'Atypical.VirtualFileSystem.Core.Models') + +## FileNode Class + +Represents a file in the virtual file system. + +```csharp +public class FileNode : Atypical.VirtualFileSystem.Core.Abstractions.VFSNode, +Atypical.VirtualFileSystem.Core.Contracts.IFileNode, +Atypical.VirtualFileSystem.Core.Contracts.IVirtualFileSystemNode, +System.IEquatable +``` + +Inheritance [System.Object](https://docs.microsoft.com/en-us/dotnet/api/System.Object 'System.Object') 🡒 [VFSNode](Atypical.VirtualFileSystem.Core.Abstractions.VFSNode.md 'Atypical.VirtualFileSystem.Core.Abstractions.VFSNode') 🡒 FileNode + +Implements [IFileNode](Atypical.VirtualFileSystem.Core.Contracts.IFileNode.md 'Atypical.VirtualFileSystem.Core.Contracts.IFileNode'), [IVirtualFileSystemNode](Atypical.VirtualFileSystem.Core.Contracts.IVirtualFileSystemNode.md 'Atypical.VirtualFileSystem.Core.Contracts.IVirtualFileSystemNode'), [System.IEquatable<](https://docs.microsoft.com/en-us/dotnet/api/System.IEquatable-1 'System.IEquatable`1')[FileNode](Atypical.VirtualFileSystem.Core.Models.FileNode.md 'Atypical.VirtualFileSystem.Core.Models.FileNode')[>](https://docs.microsoft.com/en-us/dotnet/api/System.IEquatable-1 'System.IEquatable`1') + +| Constructors | | +| :--- | :--- | +| [FileNode(VFSFilePath, string)](Atypical.VirtualFileSystem.Core.Models.FileNode.FileNode(Atypical.VirtualFileSystem.Core.ValueObjects.VFSFilePath,string).md 'Atypical.VirtualFileSystem.Core.Models.FileNode.FileNode(Atypical.VirtualFileSystem.Core.ValueObjects.VFSFilePath, string)') | Initializes a new instance of the [FileNode](Atypical.VirtualFileSystem.Core.Models.FileNode.md 'Atypical.VirtualFileSystem.Core.Models.FileNode') class.
Creates a new file node.
The file is created with the current date and time as creation and last modification date. | + +| Properties | | +| :--- | :--- | +| [Content](Atypical.VirtualFileSystem.Core.Models.FileNode.Content.md 'Atypical.VirtualFileSystem.Core.Models.FileNode.Content') | Gets the content of the file as a string.
The encoding is in UTF-8. | +| [IsDirectory](Atypical.VirtualFileSystem.Core.Models.FileNode.IsDirectory.md 'Atypical.VirtualFileSystem.Core.Models.FileNode.IsDirectory') | Indicates whether the node is a directory. | +| [IsFile](Atypical.VirtualFileSystem.Core.Models.FileNode.IsFile.md 'Atypical.VirtualFileSystem.Core.Models.FileNode.IsFile') | Indicates whether the node is a file. | +| [Path](Atypical.VirtualFileSystem.Core.Models.FileNode.Path.md 'Atypical.VirtualFileSystem.Core.Models.FileNode.Path') | Gets the full path of the node.
The path is the path from the root of the file system to the node.
For example, the path of the node with the path "./temp/file.txt" is "./temp/file.txt".
The path of the node with the path "./temp/" is "./temp/". | + +| Methods | | +| :--- | :--- | +| [ToString()](Atypical.VirtualFileSystem.Core.Models.FileNode.ToString().md 'Atypical.VirtualFileSystem.Core.Models.FileNode.ToString()') | Returns a string that represents the path of the file. | diff --git a/doc/api/Atypical.VirtualFileSystem.Core.Models.RootNode.RootNode().md b/doc/api/Atypical.VirtualFileSystem.Core.Models.RootNode.RootNode().md new file mode 100644 index 0000000..f4ac8b0 --- /dev/null +++ b/doc/api/Atypical.VirtualFileSystem.Core.Models.RootNode.RootNode().md @@ -0,0 +1,10 @@ +#### [Atypical.VirtualFileSystem.Core](Atypical.VirtualFileSystem.Core.md 'Atypical.VirtualFileSystem.Core') +### [Atypical.VirtualFileSystem.Core.Models](Atypical.VirtualFileSystem.Core.Models.md 'Atypical.VirtualFileSystem.Core.Models').[RootNode](Atypical.VirtualFileSystem.Core.Models.RootNode.md 'Atypical.VirtualFileSystem.Core.Models.RootNode') + +## RootNode() Constructor + +Initializes a new instance of the [RootNode](Atypical.VirtualFileSystem.Core.Models.RootNode.md 'Atypical.VirtualFileSystem.Core.Models.RootNode') class. + +```csharp +public RootNode(); +``` \ No newline at end of file diff --git a/doc/api/Atypical.VirtualFileSystem.Core.Models.RootNode.ToString().md b/doc/api/Atypical.VirtualFileSystem.Core.Models.RootNode.ToString().md new file mode 100644 index 0000000..a365031 --- /dev/null +++ b/doc/api/Atypical.VirtualFileSystem.Core.Models.RootNode.ToString().md @@ -0,0 +1,14 @@ +#### [Atypical.VirtualFileSystem.Core](Atypical.VirtualFileSystem.Core.md 'Atypical.VirtualFileSystem.Core') +### [Atypical.VirtualFileSystem.Core.Models](Atypical.VirtualFileSystem.Core.Models.md 'Atypical.VirtualFileSystem.Core.Models').[RootNode](Atypical.VirtualFileSystem.Core.Models.RootNode.md 'Atypical.VirtualFileSystem.Core.Models.RootNode') + +## RootNode.ToString() Method + +Returns a string that represents the current object. +For [RootNode](Atypical.VirtualFileSystem.Core.Models.RootNode.md 'Atypical.VirtualFileSystem.Core.Models.RootNode') this is always the constant string . + +```csharp +public override string ToString(); +``` + +#### Returns +[System.String](https://docs.microsoft.com/en-us/dotnet/api/System.String 'System.String') \ No newline at end of file diff --git a/doc/api/Atypical.VirtualFileSystem.Core.Models.RootNode.md b/doc/api/Atypical.VirtualFileSystem.Core.Models.RootNode.md new file mode 100644 index 0000000..88f5338 --- /dev/null +++ b/doc/api/Atypical.VirtualFileSystem.Core.Models.RootNode.md @@ -0,0 +1,26 @@ +#### [Atypical.VirtualFileSystem.Core](Atypical.VirtualFileSystem.Core.md 'Atypical.VirtualFileSystem.Core') +### [Atypical.VirtualFileSystem.Core.Models](Atypical.VirtualFileSystem.Core.Models.md 'Atypical.VirtualFileSystem.Core.Models') + +## RootNode Class + +Represents the root directory of the virtual file system. + +```csharp +public class RootNode : Atypical.VirtualFileSystem.Core.Models.DirectoryNode, +Atypical.VirtualFileSystem.Core.Contracts.IRootNode, +Atypical.VirtualFileSystem.Core.Contracts.IDirectoryNode, +Atypical.VirtualFileSystem.Core.Contracts.IVirtualFileSystemNode, +System.IEquatable +``` + +Inheritance [System.Object](https://docs.microsoft.com/en-us/dotnet/api/System.Object 'System.Object') 🡒 [VFSNode](Atypical.VirtualFileSystem.Core.Abstractions.VFSNode.md 'Atypical.VirtualFileSystem.Core.Abstractions.VFSNode') 🡒 [DirectoryNode](Atypical.VirtualFileSystem.Core.Models.DirectoryNode.md 'Atypical.VirtualFileSystem.Core.Models.DirectoryNode') 🡒 RootNode + +Implements [IRootNode](Atypical.VirtualFileSystem.Core.Contracts.IRootNode.md 'Atypical.VirtualFileSystem.Core.Contracts.IRootNode'), [IDirectoryNode](Atypical.VirtualFileSystem.Core.Contracts.IDirectoryNode.md 'Atypical.VirtualFileSystem.Core.Contracts.IDirectoryNode'), [IVirtualFileSystemNode](Atypical.VirtualFileSystem.Core.Contracts.IVirtualFileSystemNode.md 'Atypical.VirtualFileSystem.Core.Contracts.IVirtualFileSystemNode'), [System.IEquatable<](https://docs.microsoft.com/en-us/dotnet/api/System.IEquatable-1 'System.IEquatable`1')[RootNode](Atypical.VirtualFileSystem.Core.Models.RootNode.md 'Atypical.VirtualFileSystem.Core.Models.RootNode')[>](https://docs.microsoft.com/en-us/dotnet/api/System.IEquatable-1 'System.IEquatable`1') + +| Constructors | | +| :--- | :--- | +| [RootNode()](Atypical.VirtualFileSystem.Core.Models.RootNode.RootNode().md 'Atypical.VirtualFileSystem.Core.Models.RootNode.RootNode()') | Initializes a new instance of the [RootNode](Atypical.VirtualFileSystem.Core.Models.RootNode.md 'Atypical.VirtualFileSystem.Core.Models.RootNode') class. | + +| Methods | | +| :--- | :--- | +| [ToString()](Atypical.VirtualFileSystem.Core.Models.RootNode.ToString().md 'Atypical.VirtualFileSystem.Core.Models.RootNode.ToString()') | Returns a string that represents the current object.
For [RootNode](Atypical.VirtualFileSystem.Core.Models.RootNode.md 'Atypical.VirtualFileSystem.Core.Models.RootNode') this is always the constant string . | diff --git a/doc/api/Atypical.VirtualFileSystem.Core.Models.md b/doc/api/Atypical.VirtualFileSystem.Core.Models.md new file mode 100644 index 0000000..ca6f2c0 --- /dev/null +++ b/doc/api/Atypical.VirtualFileSystem.Core.Models.md @@ -0,0 +1,9 @@ +#### [Atypical.VirtualFileSystem.Core](Atypical.VirtualFileSystem.Core.md 'Atypical.VirtualFileSystem.Core') + +## Atypical.VirtualFileSystem.Core.Models Namespace + +| Classes | | +| :--- | :--- | +| [DirectoryNode](Atypical.VirtualFileSystem.Core.Models.DirectoryNode.md 'Atypical.VirtualFileSystem.Core.Models.DirectoryNode') | Represents a directory in the virtual file system. | +| [FileNode](Atypical.VirtualFileSystem.Core.Models.FileNode.md 'Atypical.VirtualFileSystem.Core.Models.FileNode') | Represents a file in the virtual file system. | +| [RootNode](Atypical.VirtualFileSystem.Core.Models.RootNode.md 'Atypical.VirtualFileSystem.Core.Models.RootNode') | Represents the root directory of the virtual file system. | diff --git a/doc/api/Atypical.VirtualFileSystem.Core.VFS.CreateDirectory(Atypical.VirtualFileSystem.Core.ValueObjects.VFSDirectoryPath).md b/doc/api/Atypical.VirtualFileSystem.Core.VFS.CreateDirectory(Atypical.VirtualFileSystem.Core.ValueObjects.VFSDirectoryPath).md new file mode 100644 index 0000000..d1509e9 --- /dev/null +++ b/doc/api/Atypical.VirtualFileSystem.Core.VFS.CreateDirectory(Atypical.VirtualFileSystem.Core.ValueObjects.VFSDirectoryPath).md @@ -0,0 +1,24 @@ +#### [Atypical.VirtualFileSystem.Core](Atypical.VirtualFileSystem.Core.md 'Atypical.VirtualFileSystem.Core') +### [Atypical.VirtualFileSystem.Core](Atypical.VirtualFileSystem.Core.md 'Atypical.VirtualFileSystem.Core').[VFS](Atypical.VirtualFileSystem.Core.VFS.md 'Atypical.VirtualFileSystem.Core.VFS') + +## VFS.CreateDirectory(VFSDirectoryPath) Method + +Creates a directory node at the specified path. +The path must be absolute. + +```csharp +public Atypical.VirtualFileSystem.Core.Contracts.IVirtualFileSystem CreateDirectory(Atypical.VirtualFileSystem.Core.ValueObjects.VFSDirectoryPath directoryPath); +``` +#### Parameters + + + +`directoryPath` [VFSDirectoryPath](Atypical.VirtualFileSystem.Core.ValueObjects.VFSDirectoryPath.md 'Atypical.VirtualFileSystem.Core.ValueObjects.VFSDirectoryPath') + +The path of the directory node. + +Implements [CreateDirectory(VFSDirectoryPath)](Atypical.VirtualFileSystem.Core.Contracts.IVirtualFileSystem.CreateDirectory(Atypical.VirtualFileSystem.Core.ValueObjects.VFSDirectoryPath).md 'Atypical.VirtualFileSystem.Core.Contracts.IVirtualFileSystem.CreateDirectory(Atypical.VirtualFileSystem.Core.ValueObjects.VFSDirectoryPath)') + +#### Returns +[IVirtualFileSystem](Atypical.VirtualFileSystem.Core.Contracts.IVirtualFileSystem.md 'Atypical.VirtualFileSystem.Core.Contracts.IVirtualFileSystem') +The file system. \ No newline at end of file diff --git a/doc/api/Atypical.VirtualFileSystem.Core.VFS.CreateDirectory(string).md b/doc/api/Atypical.VirtualFileSystem.Core.VFS.CreateDirectory(string).md new file mode 100644 index 0000000..102fe1d --- /dev/null +++ b/doc/api/Atypical.VirtualFileSystem.Core.VFS.CreateDirectory(string).md @@ -0,0 +1,22 @@ +#### [Atypical.VirtualFileSystem.Core](Atypical.VirtualFileSystem.Core.md 'Atypical.VirtualFileSystem.Core') +### [Atypical.VirtualFileSystem.Core](Atypical.VirtualFileSystem.Core.md 'Atypical.VirtualFileSystem.Core').[VFS](Atypical.VirtualFileSystem.Core.VFS.md 'Atypical.VirtualFileSystem.Core.VFS') + +## VFS.CreateDirectory(string) Method + +Creates a directory node at the specified path. +The path must be absolute. + +```csharp +public Atypical.VirtualFileSystem.Core.Contracts.IVirtualFileSystem CreateDirectory(string path); +``` +#### Parameters + + + +`path` [System.String](https://docs.microsoft.com/en-us/dotnet/api/System.String 'System.String') + +Implements [CreateDirectory(string)](Atypical.VirtualFileSystem.Core.Contracts.IVirtualFileSystem.CreateDirectory(string).md 'Atypical.VirtualFileSystem.Core.Contracts.IVirtualFileSystem.CreateDirectory(string)') + +#### Returns +[IVirtualFileSystem](Atypical.VirtualFileSystem.Core.Contracts.IVirtualFileSystem.md 'Atypical.VirtualFileSystem.Core.Contracts.IVirtualFileSystem') +The file system. \ No newline at end of file diff --git a/doc/api/Atypical.VirtualFileSystem.Core.VFS.CreateFile(Atypical.VirtualFileSystem.Core.ValueObjects.VFSFilePath,string).md b/doc/api/Atypical.VirtualFileSystem.Core.VFS.CreateFile(Atypical.VirtualFileSystem.Core.ValueObjects.VFSFilePath,string).md new file mode 100644 index 0000000..e9cdad7 --- /dev/null +++ b/doc/api/Atypical.VirtualFileSystem.Core.VFS.CreateFile(Atypical.VirtualFileSystem.Core.ValueObjects.VFSFilePath,string).md @@ -0,0 +1,30 @@ +#### [Atypical.VirtualFileSystem.Core](Atypical.VirtualFileSystem.Core.md 'Atypical.VirtualFileSystem.Core') +### [Atypical.VirtualFileSystem.Core](Atypical.VirtualFileSystem.Core.md 'Atypical.VirtualFileSystem.Core').[VFS](Atypical.VirtualFileSystem.Core.VFS.md 'Atypical.VirtualFileSystem.Core.VFS') + +## VFS.CreateFile(VFSFilePath, string) Method + +Creates a file node at the specified path. +The path must be absolute. + +```csharp +public Atypical.VirtualFileSystem.Core.Contracts.IVirtualFileSystem CreateFile(Atypical.VirtualFileSystem.Core.ValueObjects.VFSFilePath filePath, string? content=null); +``` +#### Parameters + + + +`filePath` [VFSFilePath](Atypical.VirtualFileSystem.Core.ValueObjects.VFSFilePath.md 'Atypical.VirtualFileSystem.Core.ValueObjects.VFSFilePath') + +The path of the file node. + + + +`content` [System.String](https://docs.microsoft.com/en-us/dotnet/api/System.String 'System.String') + +The content of the file node. + +Implements [CreateFile(VFSFilePath, string)](Atypical.VirtualFileSystem.Core.Contracts.IVirtualFileSystem.CreateFile(Atypical.VirtualFileSystem.Core.ValueObjects.VFSFilePath,string).md 'Atypical.VirtualFileSystem.Core.Contracts.IVirtualFileSystem.CreateFile(Atypical.VirtualFileSystem.Core.ValueObjects.VFSFilePath, string)') + +#### Returns +[IVirtualFileSystem](Atypical.VirtualFileSystem.Core.Contracts.IVirtualFileSystem.md 'Atypical.VirtualFileSystem.Core.Contracts.IVirtualFileSystem') +The file system. \ No newline at end of file diff --git a/doc/api/Atypical.VirtualFileSystem.Core.VFS.CreateFile(string,string).md b/doc/api/Atypical.VirtualFileSystem.Core.VFS.CreateFile(string,string).md new file mode 100644 index 0000000..1095f73 --- /dev/null +++ b/doc/api/Atypical.VirtualFileSystem.Core.VFS.CreateFile(string,string).md @@ -0,0 +1,30 @@ +#### [Atypical.VirtualFileSystem.Core](Atypical.VirtualFileSystem.Core.md 'Atypical.VirtualFileSystem.Core') +### [Atypical.VirtualFileSystem.Core](Atypical.VirtualFileSystem.Core.md 'Atypical.VirtualFileSystem.Core').[VFS](Atypical.VirtualFileSystem.Core.VFS.md 'Atypical.VirtualFileSystem.Core.VFS') + +## VFS.CreateFile(string, string) Method + +Creates a file node at the specified path. +The path must be absolute. + +```csharp +public Atypical.VirtualFileSystem.Core.Contracts.IVirtualFileSystem CreateFile(string filePath, string? content=null); +``` +#### Parameters + + + +`filePath` [System.String](https://docs.microsoft.com/en-us/dotnet/api/System.String 'System.String') + +The path of the file node. + + + +`content` [System.String](https://docs.microsoft.com/en-us/dotnet/api/System.String 'System.String') + +The content of the file node. + +Implements [CreateFile(string, string)](Atypical.VirtualFileSystem.Core.Contracts.IVirtualFileSystem.CreateFile(string,string).md 'Atypical.VirtualFileSystem.Core.Contracts.IVirtualFileSystem.CreateFile(string, string)') + +#### Returns +[IVirtualFileSystem](Atypical.VirtualFileSystem.Core.Contracts.IVirtualFileSystem.md 'Atypical.VirtualFileSystem.Core.Contracts.IVirtualFileSystem') +The file system. \ No newline at end of file diff --git a/doc/api/Atypical.VirtualFileSystem.Core.VFS.DeleteDirectory(Atypical.VirtualFileSystem.Core.ValueObjects.VFSDirectoryPath).md b/doc/api/Atypical.VirtualFileSystem.Core.VFS.DeleteDirectory(Atypical.VirtualFileSystem.Core.ValueObjects.VFSDirectoryPath).md new file mode 100644 index 0000000..dd442ec --- /dev/null +++ b/doc/api/Atypical.VirtualFileSystem.Core.VFS.DeleteDirectory(Atypical.VirtualFileSystem.Core.ValueObjects.VFSDirectoryPath).md @@ -0,0 +1,24 @@ +#### [Atypical.VirtualFileSystem.Core](Atypical.VirtualFileSystem.Core.md 'Atypical.VirtualFileSystem.Core') +### [Atypical.VirtualFileSystem.Core](Atypical.VirtualFileSystem.Core.md 'Atypical.VirtualFileSystem.Core').[VFS](Atypical.VirtualFileSystem.Core.VFS.md 'Atypical.VirtualFileSystem.Core.VFS') + +## VFS.DeleteDirectory(VFSDirectoryPath) Method + +Deletes a directory node at the specified path. +The path must be absolute. + +```csharp +public Atypical.VirtualFileSystem.Core.Contracts.IVirtualFileSystem DeleteDirectory(Atypical.VirtualFileSystem.Core.ValueObjects.VFSDirectoryPath directoryPath); +``` +#### Parameters + + + +`directoryPath` [VFSDirectoryPath](Atypical.VirtualFileSystem.Core.ValueObjects.VFSDirectoryPath.md 'Atypical.VirtualFileSystem.Core.ValueObjects.VFSDirectoryPath') + +The path of the directory node. + +Implements [DeleteDirectory(VFSDirectoryPath)](Atypical.VirtualFileSystem.Core.Contracts.IVirtualFileSystem.DeleteDirectory(Atypical.VirtualFileSystem.Core.ValueObjects.VFSDirectoryPath).md 'Atypical.VirtualFileSystem.Core.Contracts.IVirtualFileSystem.DeleteDirectory(Atypical.VirtualFileSystem.Core.ValueObjects.VFSDirectoryPath)') + +#### Returns +[IVirtualFileSystem](Atypical.VirtualFileSystem.Core.Contracts.IVirtualFileSystem.md 'Atypical.VirtualFileSystem.Core.Contracts.IVirtualFileSystem') +The file system. \ No newline at end of file diff --git a/doc/api/Atypical.VirtualFileSystem.Core.VFS.DeleteDirectory(string).md b/doc/api/Atypical.VirtualFileSystem.Core.VFS.DeleteDirectory(string).md new file mode 100644 index 0000000..846a6f9 --- /dev/null +++ b/doc/api/Atypical.VirtualFileSystem.Core.VFS.DeleteDirectory(string).md @@ -0,0 +1,24 @@ +#### [Atypical.VirtualFileSystem.Core](Atypical.VirtualFileSystem.Core.md 'Atypical.VirtualFileSystem.Core') +### [Atypical.VirtualFileSystem.Core](Atypical.VirtualFileSystem.Core.md 'Atypical.VirtualFileSystem.Core').[VFS](Atypical.VirtualFileSystem.Core.VFS.md 'Atypical.VirtualFileSystem.Core.VFS') + +## VFS.DeleteDirectory(string) Method + +Deletes a directory node at the specified path. +The path must be absolute. + +```csharp +public Atypical.VirtualFileSystem.Core.Contracts.IVirtualFileSystem DeleteDirectory(string directoryPath); +``` +#### Parameters + + + +`directoryPath` [System.String](https://docs.microsoft.com/en-us/dotnet/api/System.String 'System.String') + +The path of the directory node. + +Implements [DeleteDirectory(string)](Atypical.VirtualFileSystem.Core.Contracts.IVirtualFileSystem.DeleteDirectory(string).md 'Atypical.VirtualFileSystem.Core.Contracts.IVirtualFileSystem.DeleteDirectory(string)') + +#### Returns +[IVirtualFileSystem](Atypical.VirtualFileSystem.Core.Contracts.IVirtualFileSystem.md 'Atypical.VirtualFileSystem.Core.Contracts.IVirtualFileSystem') +The file system. \ No newline at end of file diff --git a/doc/api/Atypical.VirtualFileSystem.Core.VFS.DeleteFile(Atypical.VirtualFileSystem.Core.ValueObjects.VFSFilePath).md b/doc/api/Atypical.VirtualFileSystem.Core.VFS.DeleteFile(Atypical.VirtualFileSystem.Core.ValueObjects.VFSFilePath).md new file mode 100644 index 0000000..0ba8bcd --- /dev/null +++ b/doc/api/Atypical.VirtualFileSystem.Core.VFS.DeleteFile(Atypical.VirtualFileSystem.Core.ValueObjects.VFSFilePath).md @@ -0,0 +1,24 @@ +#### [Atypical.VirtualFileSystem.Core](Atypical.VirtualFileSystem.Core.md 'Atypical.VirtualFileSystem.Core') +### [Atypical.VirtualFileSystem.Core](Atypical.VirtualFileSystem.Core.md 'Atypical.VirtualFileSystem.Core').[VFS](Atypical.VirtualFileSystem.Core.VFS.md 'Atypical.VirtualFileSystem.Core.VFS') + +## VFS.DeleteFile(VFSFilePath) Method + +Deletes a file node at the specified path. +The path must be absolute. + +```csharp +public Atypical.VirtualFileSystem.Core.Contracts.IVirtualFileSystem DeleteFile(Atypical.VirtualFileSystem.Core.ValueObjects.VFSFilePath filePath); +``` +#### Parameters + + + +`filePath` [VFSFilePath](Atypical.VirtualFileSystem.Core.ValueObjects.VFSFilePath.md 'Atypical.VirtualFileSystem.Core.ValueObjects.VFSFilePath') + +The path of the file node. + +Implements [DeleteFile(VFSFilePath)](Atypical.VirtualFileSystem.Core.Contracts.IVirtualFileSystem.DeleteFile(Atypical.VirtualFileSystem.Core.ValueObjects.VFSFilePath).md 'Atypical.VirtualFileSystem.Core.Contracts.IVirtualFileSystem.DeleteFile(Atypical.VirtualFileSystem.Core.ValueObjects.VFSFilePath)') + +#### Returns +[IVirtualFileSystem](Atypical.VirtualFileSystem.Core.Contracts.IVirtualFileSystem.md 'Atypical.VirtualFileSystem.Core.Contracts.IVirtualFileSystem') +The file system. \ No newline at end of file diff --git a/doc/api/Atypical.VirtualFileSystem.Core.VFS.DeleteFile(string).md b/doc/api/Atypical.VirtualFileSystem.Core.VFS.DeleteFile(string).md new file mode 100644 index 0000000..39ea4ac --- /dev/null +++ b/doc/api/Atypical.VirtualFileSystem.Core.VFS.DeleteFile(string).md @@ -0,0 +1,24 @@ +#### [Atypical.VirtualFileSystem.Core](Atypical.VirtualFileSystem.Core.md 'Atypical.VirtualFileSystem.Core') +### [Atypical.VirtualFileSystem.Core](Atypical.VirtualFileSystem.Core.md 'Atypical.VirtualFileSystem.Core').[VFS](Atypical.VirtualFileSystem.Core.VFS.md 'Atypical.VirtualFileSystem.Core.VFS') + +## VFS.DeleteFile(string) Method + +Deletes a file node at the specified path. +The path must be absolute. + +```csharp +public Atypical.VirtualFileSystem.Core.Contracts.IVirtualFileSystem DeleteFile(string filePath); +``` +#### Parameters + + + +`filePath` [System.String](https://docs.microsoft.com/en-us/dotnet/api/System.String 'System.String') + +The path of the file node. + +Implements [DeleteFile(string)](Atypical.VirtualFileSystem.Core.Contracts.IVirtualFileSystem.DeleteFile(string).md 'Atypical.VirtualFileSystem.Core.Contracts.IVirtualFileSystem.DeleteFile(string)') + +#### Returns +[IVirtualFileSystem](Atypical.VirtualFileSystem.Core.Contracts.IVirtualFileSystem.md 'Atypical.VirtualFileSystem.Core.Contracts.IVirtualFileSystem') +The file system. \ No newline at end of file diff --git a/doc/api/Atypical.VirtualFileSystem.Core.VFS.FindDirectories().md b/doc/api/Atypical.VirtualFileSystem.Core.VFS.FindDirectories().md new file mode 100644 index 0000000..af64071 --- /dev/null +++ b/doc/api/Atypical.VirtualFileSystem.Core.VFS.FindDirectories().md @@ -0,0 +1,16 @@ +#### [Atypical.VirtualFileSystem.Core](Atypical.VirtualFileSystem.Core.md 'Atypical.VirtualFileSystem.Core') +### [Atypical.VirtualFileSystem.Core](Atypical.VirtualFileSystem.Core.md 'Atypical.VirtualFileSystem.Core').[VFS](Atypical.VirtualFileSystem.Core.VFS.md 'Atypical.VirtualFileSystem.Core.VFS') + +## VFS.FindDirectories() Method + +Finds all directory nodes. + +```csharp +public System.Collections.Generic.IEnumerable FindDirectories(); +``` + +Implements [FindDirectories()](Atypical.VirtualFileSystem.Core.Contracts.IVirtualFileSystem.FindDirectories().md 'Atypical.VirtualFileSystem.Core.Contracts.IVirtualFileSystem.FindDirectories()') + +#### Returns +[System.Collections.Generic.IEnumerable<](https://docs.microsoft.com/en-us/dotnet/api/System.Collections.Generic.IEnumerable-1 'System.Collections.Generic.IEnumerable`1')[IDirectoryNode](Atypical.VirtualFileSystem.Core.Contracts.IDirectoryNode.md 'Atypical.VirtualFileSystem.Core.Contracts.IDirectoryNode')[>](https://docs.microsoft.com/en-us/dotnet/api/System.Collections.Generic.IEnumerable-1 'System.Collections.Generic.IEnumerable`1') +The directory nodes. \ No newline at end of file diff --git a/doc/api/Atypical.VirtualFileSystem.Core.VFS.FindDirectories(System.Text.RegularExpressions.Regex).md b/doc/api/Atypical.VirtualFileSystem.Core.VFS.FindDirectories(System.Text.RegularExpressions.Regex).md new file mode 100644 index 0000000..c8b942a --- /dev/null +++ b/doc/api/Atypical.VirtualFileSystem.Core.VFS.FindDirectories(System.Text.RegularExpressions.Regex).md @@ -0,0 +1,24 @@ +#### [Atypical.VirtualFileSystem.Core](Atypical.VirtualFileSystem.Core.md 'Atypical.VirtualFileSystem.Core') +### [Atypical.VirtualFileSystem.Core](Atypical.VirtualFileSystem.Core.md 'Atypical.VirtualFileSystem.Core').[VFS](Atypical.VirtualFileSystem.Core.VFS.md 'Atypical.VirtualFileSystem.Core.VFS') + +## VFS.FindDirectories(Regex) Method + +Finds all directory nodes that match the specified regular expression. +The regular expression must be relative to the root directory. + +```csharp +public System.Collections.Generic.IEnumerable FindDirectories(System.Text.RegularExpressions.Regex regexPattern); +``` +#### Parameters + + + +`regexPattern` [System.Text.RegularExpressions.Regex](https://docs.microsoft.com/en-us/dotnet/api/System.Text.RegularExpressions.Regex 'System.Text.RegularExpressions.Regex') + +The regular expression pattern. + +Implements [FindDirectories(Regex)](Atypical.VirtualFileSystem.Core.Contracts.IVirtualFileSystem.FindDirectories(System.Text.RegularExpressions.Regex).md 'Atypical.VirtualFileSystem.Core.Contracts.IVirtualFileSystem.FindDirectories(System.Text.RegularExpressions.Regex)') + +#### Returns +[System.Collections.Generic.IEnumerable<](https://docs.microsoft.com/en-us/dotnet/api/System.Collections.Generic.IEnumerable-1 'System.Collections.Generic.IEnumerable`1')[IDirectoryNode](Atypical.VirtualFileSystem.Core.Contracts.IDirectoryNode.md 'Atypical.VirtualFileSystem.Core.Contracts.IDirectoryNode')[>](https://docs.microsoft.com/en-us/dotnet/api/System.Collections.Generic.IEnumerable-1 'System.Collections.Generic.IEnumerable`1') +The directory nodes. \ No newline at end of file diff --git a/doc/api/Atypical.VirtualFileSystem.Core.VFS.FindFiles().md b/doc/api/Atypical.VirtualFileSystem.Core.VFS.FindFiles().md new file mode 100644 index 0000000..97c6db3 --- /dev/null +++ b/doc/api/Atypical.VirtualFileSystem.Core.VFS.FindFiles().md @@ -0,0 +1,16 @@ +#### [Atypical.VirtualFileSystem.Core](Atypical.VirtualFileSystem.Core.md 'Atypical.VirtualFileSystem.Core') +### [Atypical.VirtualFileSystem.Core](Atypical.VirtualFileSystem.Core.md 'Atypical.VirtualFileSystem.Core').[VFS](Atypical.VirtualFileSystem.Core.VFS.md 'Atypical.VirtualFileSystem.Core.VFS') + +## VFS.FindFiles() Method + +Finds all file nodes. + +```csharp +public System.Collections.Generic.IEnumerable FindFiles(); +``` + +Implements [FindFiles()](Atypical.VirtualFileSystem.Core.Contracts.IVirtualFileSystem.FindFiles().md 'Atypical.VirtualFileSystem.Core.Contracts.IVirtualFileSystem.FindFiles()') + +#### Returns +[System.Collections.Generic.IEnumerable<](https://docs.microsoft.com/en-us/dotnet/api/System.Collections.Generic.IEnumerable-1 'System.Collections.Generic.IEnumerable`1')[IFileNode](Atypical.VirtualFileSystem.Core.Contracts.IFileNode.md 'Atypical.VirtualFileSystem.Core.Contracts.IFileNode')[>](https://docs.microsoft.com/en-us/dotnet/api/System.Collections.Generic.IEnumerable-1 'System.Collections.Generic.IEnumerable`1') +The file nodes. \ No newline at end of file diff --git a/doc/api/Atypical.VirtualFileSystem.Core.VFS.FindFiles(System.Text.RegularExpressions.Regex).md b/doc/api/Atypical.VirtualFileSystem.Core.VFS.FindFiles(System.Text.RegularExpressions.Regex).md new file mode 100644 index 0000000..fc626b1 --- /dev/null +++ b/doc/api/Atypical.VirtualFileSystem.Core.VFS.FindFiles(System.Text.RegularExpressions.Regex).md @@ -0,0 +1,23 @@ +#### [Atypical.VirtualFileSystem.Core](Atypical.VirtualFileSystem.Core.md 'Atypical.VirtualFileSystem.Core') +### [Atypical.VirtualFileSystem.Core](Atypical.VirtualFileSystem.Core.md 'Atypical.VirtualFileSystem.Core').[VFS](Atypical.VirtualFileSystem.Core.VFS.md 'Atypical.VirtualFileSystem.Core.VFS') + +## VFS.FindFiles(Regex) Method + +Finds all file nodes that match the specified regular expression. + +```csharp +public System.Collections.Generic.IEnumerable FindFiles(System.Text.RegularExpressions.Regex regexPattern); +``` +#### Parameters + + + +`regexPattern` [System.Text.RegularExpressions.Regex](https://docs.microsoft.com/en-us/dotnet/api/System.Text.RegularExpressions.Regex 'System.Text.RegularExpressions.Regex') + +The regular expression pattern. + +Implements [FindFiles(Regex)](Atypical.VirtualFileSystem.Core.Contracts.IVirtualFileSystem.FindFiles(System.Text.RegularExpressions.Regex).md 'Atypical.VirtualFileSystem.Core.Contracts.IVirtualFileSystem.FindFiles(System.Text.RegularExpressions.Regex)') + +#### Returns +[System.Collections.Generic.IEnumerable<](https://docs.microsoft.com/en-us/dotnet/api/System.Collections.Generic.IEnumerable-1 'System.Collections.Generic.IEnumerable`1')[IFileNode](Atypical.VirtualFileSystem.Core.Contracts.IFileNode.md 'Atypical.VirtualFileSystem.Core.Contracts.IFileNode')[>](https://docs.microsoft.com/en-us/dotnet/api/System.Collections.Generic.IEnumerable-1 'System.Collections.Generic.IEnumerable`1') +The file nodes. \ No newline at end of file diff --git a/doc/api/Atypical.VirtualFileSystem.Core.VFS.GetBrothers(Atypical.VirtualFileSystem.Core.Contracts.IVirtualFileSystemNode).md b/doc/api/Atypical.VirtualFileSystem.Core.VFS.GetBrothers(Atypical.VirtualFileSystem.Core.Contracts.IVirtualFileSystemNode).md new file mode 100644 index 0000000..330ba61 --- /dev/null +++ b/doc/api/Atypical.VirtualFileSystem.Core.VFS.GetBrothers(Atypical.VirtualFileSystem.Core.Contracts.IVirtualFileSystemNode).md @@ -0,0 +1,21 @@ +#### [Atypical.VirtualFileSystem.Core](Atypical.VirtualFileSystem.Core.md 'Atypical.VirtualFileSystem.Core') +### [Atypical.VirtualFileSystem.Core](Atypical.VirtualFileSystem.Core.md 'Atypical.VirtualFileSystem.Core').[VFS](Atypical.VirtualFileSystem.Core.VFS.md 'Atypical.VirtualFileSystem.Core.VFS') + +## VFS.GetBrothers(IVirtualFileSystemNode) Method + +Get all brothers of the node +(all nodes on the same level including the node itself) + +```csharp +private System.Collections.Generic.List GetBrothers(Atypical.VirtualFileSystem.Core.Contracts.IVirtualFileSystemNode node); +``` +#### Parameters + + + +`node` [IVirtualFileSystemNode](Atypical.VirtualFileSystem.Core.Contracts.IVirtualFileSystemNode.md 'Atypical.VirtualFileSystem.Core.Contracts.IVirtualFileSystemNode') + +The node + +#### Returns +[System.Collections.Generic.List<](https://docs.microsoft.com/en-us/dotnet/api/System.Collections.Generic.List-1 'System.Collections.Generic.List`1')[IVirtualFileSystemNode](Atypical.VirtualFileSystem.Core.Contracts.IVirtualFileSystemNode.md 'Atypical.VirtualFileSystem.Core.Contracts.IVirtualFileSystemNode')[>](https://docs.microsoft.com/en-us/dotnet/api/System.Collections.Generic.List-1 'System.Collections.Generic.List`1') \ No newline at end of file diff --git a/doc/api/Atypical.VirtualFileSystem.Core.VFS.GetDirectory(Atypical.VirtualFileSystem.Core.ValueObjects.VFSDirectoryPath).md b/doc/api/Atypical.VirtualFileSystem.Core.VFS.GetDirectory(Atypical.VirtualFileSystem.Core.ValueObjects.VFSDirectoryPath).md new file mode 100644 index 0000000..43c3722 --- /dev/null +++ b/doc/api/Atypical.VirtualFileSystem.Core.VFS.GetDirectory(Atypical.VirtualFileSystem.Core.ValueObjects.VFSDirectoryPath).md @@ -0,0 +1,24 @@ +#### [Atypical.VirtualFileSystem.Core](Atypical.VirtualFileSystem.Core.md 'Atypical.VirtualFileSystem.Core') +### [Atypical.VirtualFileSystem.Core](Atypical.VirtualFileSystem.Core.md 'Atypical.VirtualFileSystem.Core').[VFS](Atypical.VirtualFileSystem.Core.VFS.md 'Atypical.VirtualFileSystem.Core.VFS') + +## VFS.GetDirectory(VFSDirectoryPath) Method + +Gets a directory node by its path. +The path must be absolute. + +```csharp +public Atypical.VirtualFileSystem.Core.Contracts.IDirectoryNode GetDirectory(Atypical.VirtualFileSystem.Core.ValueObjects.VFSDirectoryPath directoryPath); +``` +#### Parameters + + + +`directoryPath` [VFSDirectoryPath](Atypical.VirtualFileSystem.Core.ValueObjects.VFSDirectoryPath.md 'Atypical.VirtualFileSystem.Core.ValueObjects.VFSDirectoryPath') + +The path of the directory node. + +Implements [GetDirectory(VFSDirectoryPath)](Atypical.VirtualFileSystem.Core.Contracts.IVirtualFileSystem.GetDirectory(Atypical.VirtualFileSystem.Core.ValueObjects.VFSDirectoryPath).md 'Atypical.VirtualFileSystem.Core.Contracts.IVirtualFileSystem.GetDirectory(Atypical.VirtualFileSystem.Core.ValueObjects.VFSDirectoryPath)') + +#### Returns +[IDirectoryNode](Atypical.VirtualFileSystem.Core.Contracts.IDirectoryNode.md 'Atypical.VirtualFileSystem.Core.Contracts.IDirectoryNode') +The directory node. \ No newline at end of file diff --git a/doc/api/Atypical.VirtualFileSystem.Core.VFS.GetDirectory(string).md b/doc/api/Atypical.VirtualFileSystem.Core.VFS.GetDirectory(string).md new file mode 100644 index 0000000..d8caacb --- /dev/null +++ b/doc/api/Atypical.VirtualFileSystem.Core.VFS.GetDirectory(string).md @@ -0,0 +1,24 @@ +#### [Atypical.VirtualFileSystem.Core](Atypical.VirtualFileSystem.Core.md 'Atypical.VirtualFileSystem.Core') +### [Atypical.VirtualFileSystem.Core](Atypical.VirtualFileSystem.Core.md 'Atypical.VirtualFileSystem.Core').[VFS](Atypical.VirtualFileSystem.Core.VFS.md 'Atypical.VirtualFileSystem.Core.VFS') + +## VFS.GetDirectory(string) Method + +Gets a file node by its path. +The path must be absolute. + +```csharp +public Atypical.VirtualFileSystem.Core.Contracts.IDirectoryNode GetDirectory(string directoryPath); +``` +#### Parameters + + + +`directoryPath` [System.String](https://docs.microsoft.com/en-us/dotnet/api/System.String 'System.String') + +The path of the file node. + +Implements [GetDirectory(string)](Atypical.VirtualFileSystem.Core.Contracts.IVirtualFileSystem.GetDirectory(string).md 'Atypical.VirtualFileSystem.Core.Contracts.IVirtualFileSystem.GetDirectory(string)') + +#### Returns +[IDirectoryNode](Atypical.VirtualFileSystem.Core.Contracts.IDirectoryNode.md 'Atypical.VirtualFileSystem.Core.Contracts.IDirectoryNode') +The file node. \ No newline at end of file diff --git a/doc/api/Atypical.VirtualFileSystem.Core.VFS.GetFile(Atypical.VirtualFileSystem.Core.ValueObjects.VFSFilePath).md b/doc/api/Atypical.VirtualFileSystem.Core.VFS.GetFile(Atypical.VirtualFileSystem.Core.ValueObjects.VFSFilePath).md new file mode 100644 index 0000000..9ac5291 --- /dev/null +++ b/doc/api/Atypical.VirtualFileSystem.Core.VFS.GetFile(Atypical.VirtualFileSystem.Core.ValueObjects.VFSFilePath).md @@ -0,0 +1,24 @@ +#### [Atypical.VirtualFileSystem.Core](Atypical.VirtualFileSystem.Core.md 'Atypical.VirtualFileSystem.Core') +### [Atypical.VirtualFileSystem.Core](Atypical.VirtualFileSystem.Core.md 'Atypical.VirtualFileSystem.Core').[VFS](Atypical.VirtualFileSystem.Core.VFS.md 'Atypical.VirtualFileSystem.Core.VFS') + +## VFS.GetFile(VFSFilePath) Method + +Gets a file node by its path. +The path must be absolute. + +```csharp +public Atypical.VirtualFileSystem.Core.Contracts.IFileNode GetFile(Atypical.VirtualFileSystem.Core.ValueObjects.VFSFilePath filePath); +``` +#### Parameters + + + +`filePath` [VFSFilePath](Atypical.VirtualFileSystem.Core.ValueObjects.VFSFilePath.md 'Atypical.VirtualFileSystem.Core.ValueObjects.VFSFilePath') + +The path of the file node. + +Implements [GetFile(VFSFilePath)](Atypical.VirtualFileSystem.Core.Contracts.IVirtualFileSystem.GetFile(Atypical.VirtualFileSystem.Core.ValueObjects.VFSFilePath).md 'Atypical.VirtualFileSystem.Core.Contracts.IVirtualFileSystem.GetFile(Atypical.VirtualFileSystem.Core.ValueObjects.VFSFilePath)') + +#### Returns +[IFileNode](Atypical.VirtualFileSystem.Core.Contracts.IFileNode.md 'Atypical.VirtualFileSystem.Core.Contracts.IFileNode') +The file node. \ No newline at end of file diff --git a/doc/api/Atypical.VirtualFileSystem.Core.VFS.GetFile(string).md b/doc/api/Atypical.VirtualFileSystem.Core.VFS.GetFile(string).md new file mode 100644 index 0000000..8428d48 --- /dev/null +++ b/doc/api/Atypical.VirtualFileSystem.Core.VFS.GetFile(string).md @@ -0,0 +1,24 @@ +#### [Atypical.VirtualFileSystem.Core](Atypical.VirtualFileSystem.Core.md 'Atypical.VirtualFileSystem.Core') +### [Atypical.VirtualFileSystem.Core](Atypical.VirtualFileSystem.Core.md 'Atypical.VirtualFileSystem.Core').[VFS](Atypical.VirtualFileSystem.Core.VFS.md 'Atypical.VirtualFileSystem.Core.VFS') + +## VFS.GetFile(string) Method + +Gets a file node by its path. +The path must be absolute. + +```csharp +public Atypical.VirtualFileSystem.Core.Contracts.IFileNode GetFile(string filePath); +``` +#### Parameters + + + +`filePath` [System.String](https://docs.microsoft.com/en-us/dotnet/api/System.String 'System.String') + +The path of the file node. + +Implements [GetFile(string)](Atypical.VirtualFileSystem.Core.Contracts.IVirtualFileSystem.GetFile(string).md 'Atypical.VirtualFileSystem.Core.Contracts.IVirtualFileSystem.GetFile(string)') + +#### Returns +[IFileNode](Atypical.VirtualFileSystem.Core.Contracts.IFileNode.md 'Atypical.VirtualFileSystem.Core.Contracts.IFileNode') +The file node. \ No newline at end of file diff --git a/doc/api/Atypical.VirtualFileSystem.Core.VFS.Index.md b/doc/api/Atypical.VirtualFileSystem.Core.VFS.Index.md new file mode 100644 index 0000000..946dbcb --- /dev/null +++ b/doc/api/Atypical.VirtualFileSystem.Core.VFS.Index.md @@ -0,0 +1,17 @@ +#### [Atypical.VirtualFileSystem.Core](Atypical.VirtualFileSystem.Core.md 'Atypical.VirtualFileSystem.Core') +### [Atypical.VirtualFileSystem.Core](Atypical.VirtualFileSystem.Core.md 'Atypical.VirtualFileSystem.Core').[VFS](Atypical.VirtualFileSystem.Core.VFS.md 'Atypical.VirtualFileSystem.Core.VFS') + +## VFS.Index Property + +Gets the file index of the file system. +Basically, this is a dictionary that maps file paths to file nodes. +This is useful for quickly finding a file node by its path. + +```csharp +public Atypical.VirtualFileSystem.Core.VFSIndex Index { get; } +``` + +Implements [Index](Atypical.VirtualFileSystem.Core.Contracts.IVirtualFileSystem.Index.md 'Atypical.VirtualFileSystem.Core.Contracts.IVirtualFileSystem.Index') + +#### Property Value +[VFSIndex](Atypical.VirtualFileSystem.Core.VFSIndex.md 'Atypical.VirtualFileSystem.Core.VFSIndex') \ No newline at end of file diff --git a/doc/api/Atypical.VirtualFileSystem.Core.VFS.IsEmpty.md b/doc/api/Atypical.VirtualFileSystem.Core.VFS.IsEmpty.md new file mode 100644 index 0000000..19c2387 --- /dev/null +++ b/doc/api/Atypical.VirtualFileSystem.Core.VFS.IsEmpty.md @@ -0,0 +1,16 @@ +#### [Atypical.VirtualFileSystem.Core](Atypical.VirtualFileSystem.Core.md 'Atypical.VirtualFileSystem.Core') +### [Atypical.VirtualFileSystem.Core](Atypical.VirtualFileSystem.Core.md 'Atypical.VirtualFileSystem.Core').[VFS](Atypical.VirtualFileSystem.Core.VFS.md 'Atypical.VirtualFileSystem.Core.VFS') + +## VFS.IsEmpty Property + +Indicates whether the file system is empty. +This is the case if the root directory is empty. + +```csharp +public bool IsEmpty { get; } +``` + +Implements [IsEmpty](Atypical.VirtualFileSystem.Core.Contracts.IVirtualFileSystem.IsEmpty.md 'Atypical.VirtualFileSystem.Core.Contracts.IVirtualFileSystem.IsEmpty') + +#### Property Value +[System.Boolean](https://docs.microsoft.com/en-us/dotnet/api/System.Boolean 'System.Boolean') \ No newline at end of file diff --git a/doc/api/Atypical.VirtualFileSystem.Core.VFS.Root.md b/doc/api/Atypical.VirtualFileSystem.Core.VFS.Root.md new file mode 100644 index 0000000..741dc98 --- /dev/null +++ b/doc/api/Atypical.VirtualFileSystem.Core.VFS.Root.md @@ -0,0 +1,16 @@ +#### [Atypical.VirtualFileSystem.Core](Atypical.VirtualFileSystem.Core.md 'Atypical.VirtualFileSystem.Core') +### [Atypical.VirtualFileSystem.Core](Atypical.VirtualFileSystem.Core.md 'Atypical.VirtualFileSystem.Core').[VFS](Atypical.VirtualFileSystem.Core.VFS.md 'Atypical.VirtualFileSystem.Core.VFS') + +## VFS.Root Property + +Gets the root directory of the file system. +This is the entry point for all operations on the file system. + +```csharp +public Atypical.VirtualFileSystem.Core.Contracts.IRootNode Root { get; } +``` + +Implements [Root](Atypical.VirtualFileSystem.Core.Contracts.IVirtualFileSystem.Root.md 'Atypical.VirtualFileSystem.Core.Contracts.IVirtualFileSystem.Root') + +#### Property Value +[IRootNode](Atypical.VirtualFileSystem.Core.Contracts.IRootNode.md 'Atypical.VirtualFileSystem.Core.Contracts.IRootNode') \ No newline at end of file diff --git a/doc/api/Atypical.VirtualFileSystem.Core.VFS.ToString().md b/doc/api/Atypical.VirtualFileSystem.Core.VFS.ToString().md new file mode 100644 index 0000000..8eab4a0 --- /dev/null +++ b/doc/api/Atypical.VirtualFileSystem.Core.VFS.ToString().md @@ -0,0 +1,15 @@ +#### [Atypical.VirtualFileSystem.Core](Atypical.VirtualFileSystem.Core.md 'Atypical.VirtualFileSystem.Core') +### [Atypical.VirtualFileSystem.Core](Atypical.VirtualFileSystem.Core.md 'Atypical.VirtualFileSystem.Core').[VFS](Atypical.VirtualFileSystem.Core.VFS.md 'Atypical.VirtualFileSystem.Core.VFS') + +## VFS.ToString() Method + +Returns the index as an ASCII tree. + +```csharp +public override string ToString(); +``` + +#### Returns +[System.String](https://docs.microsoft.com/en-us/dotnet/api/System.String 'System.String') +The index as an ASCII tree. +The root directory is always the first line. \ No newline at end of file diff --git a/doc/api/Atypical.VirtualFileSystem.Core.VFS.TryGetDirectory(Atypical.VirtualFileSystem.Core.ValueObjects.VFSDirectoryPath,Atypical.VirtualFileSystem.Core.Contracts.IDirectoryNode).md b/doc/api/Atypical.VirtualFileSystem.Core.VFS.TryGetDirectory(Atypical.VirtualFileSystem.Core.ValueObjects.VFSDirectoryPath,Atypical.VirtualFileSystem.Core.Contracts.IDirectoryNode).md new file mode 100644 index 0000000..eb4fff6 --- /dev/null +++ b/doc/api/Atypical.VirtualFileSystem.Core.VFS.TryGetDirectory(Atypical.VirtualFileSystem.Core.ValueObjects.VFSDirectoryPath,Atypical.VirtualFileSystem.Core.Contracts.IDirectoryNode).md @@ -0,0 +1,32 @@ +#### [Atypical.VirtualFileSystem.Core](Atypical.VirtualFileSystem.Core.md 'Atypical.VirtualFileSystem.Core') +### [Atypical.VirtualFileSystem.Core](Atypical.VirtualFileSystem.Core.md 'Atypical.VirtualFileSystem.Core').[VFS](Atypical.VirtualFileSystem.Core.VFS.md 'Atypical.VirtualFileSystem.Core.VFS') + +## VFS.TryGetDirectory(VFSDirectoryPath, IDirectoryNode) Method + +Try to get a directory node by its path. +The path must be absolute. +If the directory node does not exist, this method returns `false` +and [directory](Atypical.VirtualFileSystem.Core.VFS.TryGetDirectory(Atypical.VirtualFileSystem.Core.ValueObjects.VFSDirectoryPath,Atypical.VirtualFileSystem.Core.Contracts.IDirectoryNode).md#Atypical.VirtualFileSystem.Core.VFS.TryGetDirectory(Atypical.VirtualFileSystem.Core.ValueObjects.VFSDirectoryPath,Atypical.VirtualFileSystem.Core.Contracts.IDirectoryNode).directory 'Atypical.VirtualFileSystem.Core.VFS.TryGetDirectory(Atypical.VirtualFileSystem.Core.ValueObjects.VFSDirectoryPath, Atypical.VirtualFileSystem.Core.Contracts.IDirectoryNode).directory') is set to `null`. + +```csharp +public bool TryGetDirectory(Atypical.VirtualFileSystem.Core.ValueObjects.VFSDirectoryPath directoryPath, out Atypical.VirtualFileSystem.Core.Contracts.IDirectoryNode? directory); +``` +#### Parameters + + + +`directoryPath` [VFSDirectoryPath](Atypical.VirtualFileSystem.Core.ValueObjects.VFSDirectoryPath.md 'Atypical.VirtualFileSystem.Core.ValueObjects.VFSDirectoryPath') + +The path of the directory node. + + + +`directory` [IDirectoryNode](Atypical.VirtualFileSystem.Core.Contracts.IDirectoryNode.md 'Atypical.VirtualFileSystem.Core.Contracts.IDirectoryNode') + +The directory node. + +Implements [TryGetDirectory(VFSDirectoryPath, IDirectoryNode)](Atypical.VirtualFileSystem.Core.Contracts.IVirtualFileSystem.TryGetDirectory(Atypical.VirtualFileSystem.Core.ValueObjects.VFSDirectoryPath,Atypical.VirtualFileSystem.Core.Contracts.IDirectoryNode).md 'Atypical.VirtualFileSystem.Core.Contracts.IVirtualFileSystem.TryGetDirectory(Atypical.VirtualFileSystem.Core.ValueObjects.VFSDirectoryPath, Atypical.VirtualFileSystem.Core.Contracts.IDirectoryNode)') + +#### Returns +[System.Boolean](https://docs.microsoft.com/en-us/dotnet/api/System.Boolean 'System.Boolean') +`true` if the directory node exists; otherwise, `false`. \ No newline at end of file diff --git a/doc/api/Atypical.VirtualFileSystem.Core.VFS.TryGetDirectory(string,Atypical.VirtualFileSystem.Core.Contracts.IDirectoryNode).md b/doc/api/Atypical.VirtualFileSystem.Core.VFS.TryGetDirectory(string,Atypical.VirtualFileSystem.Core.Contracts.IDirectoryNode).md new file mode 100644 index 0000000..54ecef1 --- /dev/null +++ b/doc/api/Atypical.VirtualFileSystem.Core.VFS.TryGetDirectory(string,Atypical.VirtualFileSystem.Core.Contracts.IDirectoryNode).md @@ -0,0 +1,30 @@ +#### [Atypical.VirtualFileSystem.Core](Atypical.VirtualFileSystem.Core.md 'Atypical.VirtualFileSystem.Core') +### [Atypical.VirtualFileSystem.Core](Atypical.VirtualFileSystem.Core.md 'Atypical.VirtualFileSystem.Core').[VFS](Atypical.VirtualFileSystem.Core.VFS.md 'Atypical.VirtualFileSystem.Core.VFS') + +## VFS.TryGetDirectory(string, IDirectoryNode) Method + +Try to get a directory node by its path. +The path must be absolute. +If the directory node does not exist, this method returns `false` +and [directory](Atypical.VirtualFileSystem.Core.VFS.TryGetDirectory(string,Atypical.VirtualFileSystem.Core.Contracts.IDirectoryNode).md#Atypical.VirtualFileSystem.Core.VFS.TryGetDirectory(string,Atypical.VirtualFileSystem.Core.Contracts.IDirectoryNode).directory 'Atypical.VirtualFileSystem.Core.VFS.TryGetDirectory(string, Atypical.VirtualFileSystem.Core.Contracts.IDirectoryNode).directory') is set to `null`. + +```csharp +public bool TryGetDirectory(string path, out Atypical.VirtualFileSystem.Core.Contracts.IDirectoryNode? directory); +``` +#### Parameters + + + +`path` [System.String](https://docs.microsoft.com/en-us/dotnet/api/System.String 'System.String') + + + +`directory` [IDirectoryNode](Atypical.VirtualFileSystem.Core.Contracts.IDirectoryNode.md 'Atypical.VirtualFileSystem.Core.Contracts.IDirectoryNode') + +The directory node. + +Implements [TryGetDirectory(string, IDirectoryNode)](Atypical.VirtualFileSystem.Core.Contracts.IVirtualFileSystem.TryGetDirectory(string,Atypical.VirtualFileSystem.Core.Contracts.IDirectoryNode).md 'Atypical.VirtualFileSystem.Core.Contracts.IVirtualFileSystem.TryGetDirectory(string, Atypical.VirtualFileSystem.Core.Contracts.IDirectoryNode)') + +#### Returns +[System.Boolean](https://docs.microsoft.com/en-us/dotnet/api/System.Boolean 'System.Boolean') +`true` if the directory node exists; otherwise, `false`. \ No newline at end of file diff --git a/doc/api/Atypical.VirtualFileSystem.Core.VFS.TryGetFile(Atypical.VirtualFileSystem.Core.ValueObjects.VFSFilePath,Atypical.VirtualFileSystem.Core.Contracts.IFileNode).md b/doc/api/Atypical.VirtualFileSystem.Core.VFS.TryGetFile(Atypical.VirtualFileSystem.Core.ValueObjects.VFSFilePath,Atypical.VirtualFileSystem.Core.Contracts.IFileNode).md new file mode 100644 index 0000000..dd7c555 --- /dev/null +++ b/doc/api/Atypical.VirtualFileSystem.Core.VFS.TryGetFile(Atypical.VirtualFileSystem.Core.ValueObjects.VFSFilePath,Atypical.VirtualFileSystem.Core.Contracts.IFileNode).md @@ -0,0 +1,30 @@ +#### [Atypical.VirtualFileSystem.Core](Atypical.VirtualFileSystem.Core.md 'Atypical.VirtualFileSystem.Core') +### [Atypical.VirtualFileSystem.Core](Atypical.VirtualFileSystem.Core.md 'Atypical.VirtualFileSystem.Core').[VFS](Atypical.VirtualFileSystem.Core.VFS.md 'Atypical.VirtualFileSystem.Core.VFS') + +## VFS.TryGetFile(VFSFilePath, IFileNode) Method + +Try to get a file node by its path. +The path must be absolute. + +```csharp +public bool TryGetFile(Atypical.VirtualFileSystem.Core.ValueObjects.VFSFilePath filePath, out Atypical.VirtualFileSystem.Core.Contracts.IFileNode? file); +``` +#### Parameters + + + +`filePath` [VFSFilePath](Atypical.VirtualFileSystem.Core.ValueObjects.VFSFilePath.md 'Atypical.VirtualFileSystem.Core.ValueObjects.VFSFilePath') + +The path of the file node. + + + +`file` [IFileNode](Atypical.VirtualFileSystem.Core.Contracts.IFileNode.md 'Atypical.VirtualFileSystem.Core.Contracts.IFileNode') + +The file node. + +Implements [TryGetFile(VFSFilePath, IFileNode)](Atypical.VirtualFileSystem.Core.Contracts.IVirtualFileSystem.TryGetFile(Atypical.VirtualFileSystem.Core.ValueObjects.VFSFilePath,Atypical.VirtualFileSystem.Core.Contracts.IFileNode).md 'Atypical.VirtualFileSystem.Core.Contracts.IVirtualFileSystem.TryGetFile(Atypical.VirtualFileSystem.Core.ValueObjects.VFSFilePath, Atypical.VirtualFileSystem.Core.Contracts.IFileNode)') + +#### Returns +[System.Boolean](https://docs.microsoft.com/en-us/dotnet/api/System.Boolean 'System.Boolean') +`true` if the file node exists; otherwise, `false`. \ No newline at end of file diff --git a/doc/api/Atypical.VirtualFileSystem.Core.VFS.TryGetFile(string,Atypical.VirtualFileSystem.Core.Contracts.IFileNode).md b/doc/api/Atypical.VirtualFileSystem.Core.VFS.TryGetFile(string,Atypical.VirtualFileSystem.Core.Contracts.IFileNode).md new file mode 100644 index 0000000..947f166 --- /dev/null +++ b/doc/api/Atypical.VirtualFileSystem.Core.VFS.TryGetFile(string,Atypical.VirtualFileSystem.Core.Contracts.IFileNode).md @@ -0,0 +1,30 @@ +#### [Atypical.VirtualFileSystem.Core](Atypical.VirtualFileSystem.Core.md 'Atypical.VirtualFileSystem.Core') +### [Atypical.VirtualFileSystem.Core](Atypical.VirtualFileSystem.Core.md 'Atypical.VirtualFileSystem.Core').[VFS](Atypical.VirtualFileSystem.Core.VFS.md 'Atypical.VirtualFileSystem.Core.VFS') + +## VFS.TryGetFile(string, IFileNode) Method + +Try to get a file node by its path. +The path must be absolute. + +```csharp +public bool TryGetFile(string filePath, out Atypical.VirtualFileSystem.Core.Contracts.IFileNode? file); +``` +#### Parameters + + + +`filePath` [System.String](https://docs.microsoft.com/en-us/dotnet/api/System.String 'System.String') + +The path of the file node. + + + +`file` [IFileNode](Atypical.VirtualFileSystem.Core.Contracts.IFileNode.md 'Atypical.VirtualFileSystem.Core.Contracts.IFileNode') + +The file node. + +Implements [TryGetFile(string, IFileNode)](Atypical.VirtualFileSystem.Core.Contracts.IVirtualFileSystem.TryGetFile(string,Atypical.VirtualFileSystem.Core.Contracts.IFileNode).md 'Atypical.VirtualFileSystem.Core.Contracts.IVirtualFileSystem.TryGetFile(string, Atypical.VirtualFileSystem.Core.Contracts.IFileNode)') + +#### Returns +[System.Boolean](https://docs.microsoft.com/en-us/dotnet/api/System.Boolean 'System.Boolean') +`true` if the file node exists; otherwise, `false`. \ No newline at end of file diff --git a/doc/api/Atypical.VirtualFileSystem.Core.VFS.VFS().md b/doc/api/Atypical.VirtualFileSystem.Core.VFS.VFS().md new file mode 100644 index 0000000..5d4fdb6 --- /dev/null +++ b/doc/api/Atypical.VirtualFileSystem.Core.VFS.VFS().md @@ -0,0 +1,10 @@ +#### [Atypical.VirtualFileSystem.Core](Atypical.VirtualFileSystem.Core.md 'Atypical.VirtualFileSystem.Core') +### [Atypical.VirtualFileSystem.Core](Atypical.VirtualFileSystem.Core.md 'Atypical.VirtualFileSystem.Core').[VFS](Atypical.VirtualFileSystem.Core.VFS.md 'Atypical.VirtualFileSystem.Core.VFS') + +## VFS() Constructor + +Initializes a new instance of the [VFS](Atypical.VirtualFileSystem.Core.VFS.md 'Atypical.VirtualFileSystem.Core.VFS') class. + +```csharp +public VFS(); +``` \ No newline at end of file diff --git a/doc/api/Atypical.VirtualFileSystem.Core.VFS.md b/doc/api/Atypical.VirtualFileSystem.Core.VFS.md new file mode 100644 index 0000000..dbe28ac --- /dev/null +++ b/doc/api/Atypical.VirtualFileSystem.Core.VFS.md @@ -0,0 +1,52 @@ +#### [Atypical.VirtualFileSystem.Core](Atypical.VirtualFileSystem.Core.md 'Atypical.VirtualFileSystem.Core') +### [Atypical.VirtualFileSystem.Core](Atypical.VirtualFileSystem.Core.md 'Atypical.VirtualFileSystem.Core') + +## VFS Class + +Represents a virtual file system. +This class cannot be inherited. + +```csharp +public class VFS : +Atypical.VirtualFileSystem.Core.Contracts.IVirtualFileSystem, +System.IEquatable +``` + +Inheritance [System.Object](https://docs.microsoft.com/en-us/dotnet/api/System.Object 'System.Object') 🡒 VFS + +Implements [IVirtualFileSystem](Atypical.VirtualFileSystem.Core.Contracts.IVirtualFileSystem.md 'Atypical.VirtualFileSystem.Core.Contracts.IVirtualFileSystem'), [System.IEquatable<](https://docs.microsoft.com/en-us/dotnet/api/System.IEquatable-1 'System.IEquatable`1')[VFS](Atypical.VirtualFileSystem.Core.VFS.md 'Atypical.VirtualFileSystem.Core.VFS')[>](https://docs.microsoft.com/en-us/dotnet/api/System.IEquatable-1 'System.IEquatable`1') + +| Constructors | | +| :--- | :--- | +| [VFS()](Atypical.VirtualFileSystem.Core.VFS.VFS().md 'Atypical.VirtualFileSystem.Core.VFS.VFS()') | Initializes a new instance of the [VFS](Atypical.VirtualFileSystem.Core.VFS.md 'Atypical.VirtualFileSystem.Core.VFS') class. | + +| Properties | | +| :--- | :--- | +| [Index](Atypical.VirtualFileSystem.Core.VFS.Index.md 'Atypical.VirtualFileSystem.Core.VFS.Index') | Gets the file index of the file system.
Basically, this is a dictionary that maps file paths to file nodes.
This is useful for quickly finding a file node by its path. | +| [IsEmpty](Atypical.VirtualFileSystem.Core.VFS.IsEmpty.md 'Atypical.VirtualFileSystem.Core.VFS.IsEmpty') | Indicates whether the file system is empty.
This is the case if the root directory is empty. | +| [Root](Atypical.VirtualFileSystem.Core.VFS.Root.md 'Atypical.VirtualFileSystem.Core.VFS.Root') | Gets the root directory of the file system.
This is the entry point for all operations on the file system. | + +| Methods | | +| :--- | :--- | +| [CreateDirectory(VFSDirectoryPath)](Atypical.VirtualFileSystem.Core.VFS.CreateDirectory(Atypical.VirtualFileSystem.Core.ValueObjects.VFSDirectoryPath).md 'Atypical.VirtualFileSystem.Core.VFS.CreateDirectory(Atypical.VirtualFileSystem.Core.ValueObjects.VFSDirectoryPath)') | Creates a directory node at the specified path.
The path must be absolute. | +| [CreateDirectory(string)](Atypical.VirtualFileSystem.Core.VFS.CreateDirectory(string).md 'Atypical.VirtualFileSystem.Core.VFS.CreateDirectory(string)') | Creates a directory node at the specified path.
The path must be absolute. | +| [CreateFile(VFSFilePath, string)](Atypical.VirtualFileSystem.Core.VFS.CreateFile(Atypical.VirtualFileSystem.Core.ValueObjects.VFSFilePath,string).md 'Atypical.VirtualFileSystem.Core.VFS.CreateFile(Atypical.VirtualFileSystem.Core.ValueObjects.VFSFilePath, string)') | Creates a file node at the specified path.
The path must be absolute. | +| [CreateFile(string, string)](Atypical.VirtualFileSystem.Core.VFS.CreateFile(string,string).md 'Atypical.VirtualFileSystem.Core.VFS.CreateFile(string, string)') | Creates a file node at the specified path.
The path must be absolute. | +| [DeleteDirectory(VFSDirectoryPath)](Atypical.VirtualFileSystem.Core.VFS.DeleteDirectory(Atypical.VirtualFileSystem.Core.ValueObjects.VFSDirectoryPath).md 'Atypical.VirtualFileSystem.Core.VFS.DeleteDirectory(Atypical.VirtualFileSystem.Core.ValueObjects.VFSDirectoryPath)') | Deletes a directory node at the specified path.
The path must be absolute. | +| [DeleteDirectory(string)](Atypical.VirtualFileSystem.Core.VFS.DeleteDirectory(string).md 'Atypical.VirtualFileSystem.Core.VFS.DeleteDirectory(string)') | Deletes a directory node at the specified path.
The path must be absolute. | +| [DeleteFile(VFSFilePath)](Atypical.VirtualFileSystem.Core.VFS.DeleteFile(Atypical.VirtualFileSystem.Core.ValueObjects.VFSFilePath).md 'Atypical.VirtualFileSystem.Core.VFS.DeleteFile(Atypical.VirtualFileSystem.Core.ValueObjects.VFSFilePath)') | Deletes a file node at the specified path.
The path must be absolute. | +| [DeleteFile(string)](Atypical.VirtualFileSystem.Core.VFS.DeleteFile(string).md 'Atypical.VirtualFileSystem.Core.VFS.DeleteFile(string)') | Deletes a file node at the specified path.
The path must be absolute. | +| [FindDirectories()](Atypical.VirtualFileSystem.Core.VFS.FindDirectories().md 'Atypical.VirtualFileSystem.Core.VFS.FindDirectories()') | Finds all directory nodes. | +| [FindDirectories(Regex)](Atypical.VirtualFileSystem.Core.VFS.FindDirectories(System.Text.RegularExpressions.Regex).md 'Atypical.VirtualFileSystem.Core.VFS.FindDirectories(System.Text.RegularExpressions.Regex)') | Finds all directory nodes that match the specified regular expression.
The regular expression must be relative to the root directory. | +| [FindFiles()](Atypical.VirtualFileSystem.Core.VFS.FindFiles().md 'Atypical.VirtualFileSystem.Core.VFS.FindFiles()') | Finds all file nodes. | +| [FindFiles(Regex)](Atypical.VirtualFileSystem.Core.VFS.FindFiles(System.Text.RegularExpressions.Regex).md 'Atypical.VirtualFileSystem.Core.VFS.FindFiles(System.Text.RegularExpressions.Regex)') | Finds all file nodes that match the specified regular expression. | +| [GetBrothers(IVirtualFileSystemNode)](Atypical.VirtualFileSystem.Core.VFS.GetBrothers(Atypical.VirtualFileSystem.Core.Contracts.IVirtualFileSystemNode).md 'Atypical.VirtualFileSystem.Core.VFS.GetBrothers(Atypical.VirtualFileSystem.Core.Contracts.IVirtualFileSystemNode)') | Get all brothers of the node
(all nodes on the same level including the node itself) | +| [GetDirectory(VFSDirectoryPath)](Atypical.VirtualFileSystem.Core.VFS.GetDirectory(Atypical.VirtualFileSystem.Core.ValueObjects.VFSDirectoryPath).md 'Atypical.VirtualFileSystem.Core.VFS.GetDirectory(Atypical.VirtualFileSystem.Core.ValueObjects.VFSDirectoryPath)') | Gets a directory node by its path.
The path must be absolute. | +| [GetDirectory(string)](Atypical.VirtualFileSystem.Core.VFS.GetDirectory(string).md 'Atypical.VirtualFileSystem.Core.VFS.GetDirectory(string)') | Gets a file node by its path.
The path must be absolute. | +| [GetFile(VFSFilePath)](Atypical.VirtualFileSystem.Core.VFS.GetFile(Atypical.VirtualFileSystem.Core.ValueObjects.VFSFilePath).md 'Atypical.VirtualFileSystem.Core.VFS.GetFile(Atypical.VirtualFileSystem.Core.ValueObjects.VFSFilePath)') | Gets a file node by its path.
The path must be absolute. | +| [GetFile(string)](Atypical.VirtualFileSystem.Core.VFS.GetFile(string).md 'Atypical.VirtualFileSystem.Core.VFS.GetFile(string)') | Gets a file node by its path.
The path must be absolute. | +| [ToString()](Atypical.VirtualFileSystem.Core.VFS.ToString().md 'Atypical.VirtualFileSystem.Core.VFS.ToString()') | Returns the index as an ASCII tree. | +| [TryGetDirectory(VFSDirectoryPath, IDirectoryNode)](Atypical.VirtualFileSystem.Core.VFS.TryGetDirectory(Atypical.VirtualFileSystem.Core.ValueObjects.VFSDirectoryPath,Atypical.VirtualFileSystem.Core.Contracts.IDirectoryNode).md 'Atypical.VirtualFileSystem.Core.VFS.TryGetDirectory(Atypical.VirtualFileSystem.Core.ValueObjects.VFSDirectoryPath, Atypical.VirtualFileSystem.Core.Contracts.IDirectoryNode)') | Try to get a directory node by its path.
The path must be absolute.
If the directory node does not exist, this method returns `false`
and [directory](Atypical.VirtualFileSystem.Core.VFS.TryGetDirectory(Atypical.VirtualFileSystem.Core.ValueObjects.VFSDirectoryPath,Atypical.VirtualFileSystem.Core.Contracts.IDirectoryNode).md#Atypical.VirtualFileSystem.Core.VFS.TryGetDirectory(Atypical.VirtualFileSystem.Core.ValueObjects.VFSDirectoryPath,Atypical.VirtualFileSystem.Core.Contracts.IDirectoryNode).directory 'Atypical.VirtualFileSystem.Core.VFS.TryGetDirectory(Atypical.VirtualFileSystem.Core.ValueObjects.VFSDirectoryPath, Atypical.VirtualFileSystem.Core.Contracts.IDirectoryNode).directory') is set to `null`. | +| [TryGetDirectory(string, IDirectoryNode)](Atypical.VirtualFileSystem.Core.VFS.TryGetDirectory(string,Atypical.VirtualFileSystem.Core.Contracts.IDirectoryNode).md 'Atypical.VirtualFileSystem.Core.VFS.TryGetDirectory(string, Atypical.VirtualFileSystem.Core.Contracts.IDirectoryNode)') | Try to get a directory node by its path.
The path must be absolute.
If the directory node does not exist, this method returns `false`
and [directory](Atypical.VirtualFileSystem.Core.VFS.TryGetDirectory(string,Atypical.VirtualFileSystem.Core.Contracts.IDirectoryNode).md#Atypical.VirtualFileSystem.Core.VFS.TryGetDirectory(string,Atypical.VirtualFileSystem.Core.Contracts.IDirectoryNode).directory 'Atypical.VirtualFileSystem.Core.VFS.TryGetDirectory(string, Atypical.VirtualFileSystem.Core.Contracts.IDirectoryNode).directory') is set to `null`. | +| [TryGetFile(VFSFilePath, IFileNode)](Atypical.VirtualFileSystem.Core.VFS.TryGetFile(Atypical.VirtualFileSystem.Core.ValueObjects.VFSFilePath,Atypical.VirtualFileSystem.Core.Contracts.IFileNode).md 'Atypical.VirtualFileSystem.Core.VFS.TryGetFile(Atypical.VirtualFileSystem.Core.ValueObjects.VFSFilePath, Atypical.VirtualFileSystem.Core.Contracts.IFileNode)') | Try to get a file node by its path.
The path must be absolute. | +| [TryGetFile(string, IFileNode)](Atypical.VirtualFileSystem.Core.VFS.TryGetFile(string,Atypical.VirtualFileSystem.Core.Contracts.IFileNode).md 'Atypical.VirtualFileSystem.Core.VFS.TryGetFile(string, Atypical.VirtualFileSystem.Core.Contracts.IFileNode)') | Try to get a file node by its path.
The path must be absolute. | diff --git a/doc/api/Atypical.VirtualFileSystem.Core.VFSConstants.DIRECTORY_SEPARATOR.md b/doc/api/Atypical.VirtualFileSystem.Core.VFSConstants.DIRECTORY_SEPARATOR.md new file mode 100644 index 0000000..c1137fa --- /dev/null +++ b/doc/api/Atypical.VirtualFileSystem.Core.VFSConstants.DIRECTORY_SEPARATOR.md @@ -0,0 +1,14 @@ +#### [Atypical.VirtualFileSystem.Core](Atypical.VirtualFileSystem.Core.md 'Atypical.VirtualFileSystem.Core') +### [Atypical.VirtualFileSystem.Core](Atypical.VirtualFileSystem.Core.md 'Atypical.VirtualFileSystem.Core').[VFSConstants](Atypical.VirtualFileSystem.Core.VFSConstants.md 'Atypical.VirtualFileSystem.Core.VFSConstants') + +## VFSConstants.DIRECTORY_SEPARATOR Field + +The directory separator. +This is the character used to separate directory names. + +```csharp +public const string DIRECTORY_SEPARATOR = /; +``` + +#### Field Value +[System.String](https://docs.microsoft.com/en-us/dotnet/api/System.String 'System.String') \ No newline at end of file diff --git a/doc/api/Atypical.VirtualFileSystem.Core.VFSConstants.ROOT_PATH.md b/doc/api/Atypical.VirtualFileSystem.Core.VFSConstants.ROOT_PATH.md new file mode 100644 index 0000000..9436550 --- /dev/null +++ b/doc/api/Atypical.VirtualFileSystem.Core.VFSConstants.ROOT_PATH.md @@ -0,0 +1,14 @@ +#### [Atypical.VirtualFileSystem.Core](Atypical.VirtualFileSystem.Core.md 'Atypical.VirtualFileSystem.Core') +### [Atypical.VirtualFileSystem.Core](Atypical.VirtualFileSystem.Core.md 'Atypical.VirtualFileSystem.Core').[VFSConstants](Atypical.VirtualFileSystem.Core.VFSConstants.md 'Atypical.VirtualFileSystem.Core.VFSConstants') + +## VFSConstants.ROOT_PATH Field + +The root path. +This is the path used to identify the root directory. + +```csharp +public const string ROOT_PATH = vfs://; +``` + +#### Field Value +[System.String](https://docs.microsoft.com/en-us/dotnet/api/System.String 'System.String') \ No newline at end of file diff --git a/doc/api/Atypical.VirtualFileSystem.Core.VFSConstants.STR_INDENT_CLEAR.md b/doc/api/Atypical.VirtualFileSystem.Core.VFSConstants.STR_INDENT_CLEAR.md new file mode 100644 index 0000000..3d3b7c6 --- /dev/null +++ b/doc/api/Atypical.VirtualFileSystem.Core.VFSConstants.STR_INDENT_CLEAR.md @@ -0,0 +1,14 @@ +#### [Atypical.VirtualFileSystem.Core](Atypical.VirtualFileSystem.Core.md 'Atypical.VirtualFileSystem.Core') +### [Atypical.VirtualFileSystem.Core](Atypical.VirtualFileSystem.Core.md 'Atypical.VirtualFileSystem.Core').[VFSConstants](Atypical.VirtualFileSystem.Core.VFSConstants.md 'Atypical.VirtualFileSystem.Core.VFSConstants') + +## VFSConstants.STR_INDENT_CLEAR Field + +The string indent clear. +A 4 characters string used by a string builder to indent a line. + +```csharp +public const string STR_INDENT_CLEAR = ; +``` + +#### Field Value +[System.String](https://docs.microsoft.com/en-us/dotnet/api/System.String 'System.String') \ No newline at end of file diff --git a/doc/api/Atypical.VirtualFileSystem.Core.VFSConstants.STR_INDENT_ENTRY_LAST.md b/doc/api/Atypical.VirtualFileSystem.Core.VFSConstants.STR_INDENT_ENTRY_LAST.md new file mode 100644 index 0000000..4e0b636 --- /dev/null +++ b/doc/api/Atypical.VirtualFileSystem.Core.VFSConstants.STR_INDENT_ENTRY_LAST.md @@ -0,0 +1,14 @@ +#### [Atypical.VirtualFileSystem.Core](Atypical.VirtualFileSystem.Core.md 'Atypical.VirtualFileSystem.Core') +### [Atypical.VirtualFileSystem.Core](Atypical.VirtualFileSystem.Core.md 'Atypical.VirtualFileSystem.Core').[VFSConstants](Atypical.VirtualFileSystem.Core.VFSConstants.md 'Atypical.VirtualFileSystem.Core.VFSConstants') + +## VFSConstants.STR_INDENT_ENTRY_LAST Field + +The string indent entry last. +A 4 characters string used by a string builder to indent a line which is the last one. + +```csharp +public const string STR_INDENT_ENTRY_LAST = └── ; +``` + +#### Field Value +[System.String](https://docs.microsoft.com/en-us/dotnet/api/System.String 'System.String') \ No newline at end of file diff --git a/doc/api/Atypical.VirtualFileSystem.Core.VFSConstants.STR_INDENT_ENTRY_MIDDLE.md b/doc/api/Atypical.VirtualFileSystem.Core.VFSConstants.STR_INDENT_ENTRY_MIDDLE.md new file mode 100644 index 0000000..ae879dc --- /dev/null +++ b/doc/api/Atypical.VirtualFileSystem.Core.VFSConstants.STR_INDENT_ENTRY_MIDDLE.md @@ -0,0 +1,14 @@ +#### [Atypical.VirtualFileSystem.Core](Atypical.VirtualFileSystem.Core.md 'Atypical.VirtualFileSystem.Core') +### [Atypical.VirtualFileSystem.Core](Atypical.VirtualFileSystem.Core.md 'Atypical.VirtualFileSystem.Core').[VFSConstants](Atypical.VirtualFileSystem.Core.VFSConstants.md 'Atypical.VirtualFileSystem.Core.VFSConstants') + +## VFSConstants.STR_INDENT_ENTRY_MIDDLE Field + +The string indent entry middle. +A 4 characters string used by a string builder to indent a line which is not the last one. + +```csharp +public const string STR_INDENT_ENTRY_MIDDLE = ├── ; +``` + +#### Field Value +[System.String](https://docs.microsoft.com/en-us/dotnet/api/System.String 'System.String') \ No newline at end of file diff --git a/doc/api/Atypical.VirtualFileSystem.Core.VFSConstants.STR_INDENT_FILL.md b/doc/api/Atypical.VirtualFileSystem.Core.VFSConstants.STR_INDENT_FILL.md new file mode 100644 index 0000000..8647686 --- /dev/null +++ b/doc/api/Atypical.VirtualFileSystem.Core.VFSConstants.STR_INDENT_FILL.md @@ -0,0 +1,14 @@ +#### [Atypical.VirtualFileSystem.Core](Atypical.VirtualFileSystem.Core.md 'Atypical.VirtualFileSystem.Core') +### [Atypical.VirtualFileSystem.Core](Atypical.VirtualFileSystem.Core.md 'Atypical.VirtualFileSystem.Core').[VFSConstants](Atypical.VirtualFileSystem.Core.VFSConstants.md 'Atypical.VirtualFileSystem.Core.VFSConstants') + +## VFSConstants.STR_INDENT_FILL Field + +The string indent entry fill. +A 4 characters string used by a string builder to indent a line which is not the last one. + +```csharp +public const string STR_INDENT_FILL = │ ; +``` + +#### Field Value +[System.String](https://docs.microsoft.com/en-us/dotnet/api/System.String 'System.String') \ No newline at end of file diff --git a/doc/api/Atypical.VirtualFileSystem.Core.VFSConstants.md b/doc/api/Atypical.VirtualFileSystem.Core.VFSConstants.md new file mode 100644 index 0000000..d48d443 --- /dev/null +++ b/doc/api/Atypical.VirtualFileSystem.Core.VFSConstants.md @@ -0,0 +1,21 @@ +#### [Atypical.VirtualFileSystem.Core](Atypical.VirtualFileSystem.Core.md 'Atypical.VirtualFileSystem.Core') +### [Atypical.VirtualFileSystem.Core](Atypical.VirtualFileSystem.Core.md 'Atypical.VirtualFileSystem.Core') + +## VFSConstants Class + +Constants used by the Virtual File System. + +```csharp +public static class VFSConstants +``` + +Inheritance [System.Object](https://docs.microsoft.com/en-us/dotnet/api/System.Object 'System.Object') 🡒 VFSConstants + +| Fields | | +| :--- | :--- | +| [DIRECTORY_SEPARATOR](Atypical.VirtualFileSystem.Core.VFSConstants.DIRECTORY_SEPARATOR.md 'Atypical.VirtualFileSystem.Core.VFSConstants.DIRECTORY_SEPARATOR') | The directory separator.
This is the character used to separate directory names. | +| [ROOT_PATH](Atypical.VirtualFileSystem.Core.VFSConstants.ROOT_PATH.md 'Atypical.VirtualFileSystem.Core.VFSConstants.ROOT_PATH') | The root path.
This is the path used to identify the root directory. | +| [STR_INDENT_CLEAR](Atypical.VirtualFileSystem.Core.VFSConstants.STR_INDENT_CLEAR.md 'Atypical.VirtualFileSystem.Core.VFSConstants.STR_INDENT_CLEAR') | The string indent clear.
A 4 characters string used by a string builder to indent a line. | +| [STR_INDENT_ENTRY_LAST](Atypical.VirtualFileSystem.Core.VFSConstants.STR_INDENT_ENTRY_LAST.md 'Atypical.VirtualFileSystem.Core.VFSConstants.STR_INDENT_ENTRY_LAST') | The string indent entry last.
A 4 characters string used by a string builder to indent a line which is the last one. | +| [STR_INDENT_ENTRY_MIDDLE](Atypical.VirtualFileSystem.Core.VFSConstants.STR_INDENT_ENTRY_MIDDLE.md 'Atypical.VirtualFileSystem.Core.VFSConstants.STR_INDENT_ENTRY_MIDDLE') | The string indent entry middle.
A 4 characters string used by a string builder to indent a line which is not the last one. | +| [STR_INDENT_FILL](Atypical.VirtualFileSystem.Core.VFSConstants.STR_INDENT_FILL.md 'Atypical.VirtualFileSystem.Core.VFSConstants.STR_INDENT_FILL') | The string indent entry fill.
A 4 characters string used by a string builder to indent a line which is not the last one. | diff --git a/doc/api/Atypical.VirtualFileSystem.Core.VFSIndex.VFSIndex(Atypical.VirtualFileSystem.Core.Contracts.IRootNode).md b/doc/api/Atypical.VirtualFileSystem.Core.VFSIndex.VFSIndex(Atypical.VirtualFileSystem.Core.Contracts.IRootNode).md new file mode 100644 index 0000000..0594b2e --- /dev/null +++ b/doc/api/Atypical.VirtualFileSystem.Core.VFSIndex.VFSIndex(Atypical.VirtualFileSystem.Core.Contracts.IRootNode).md @@ -0,0 +1,21 @@ +#### [Atypical.VirtualFileSystem.Core](Atypical.VirtualFileSystem.Core.md 'Atypical.VirtualFileSystem.Core') +### [Atypical.VirtualFileSystem.Core](Atypical.VirtualFileSystem.Core.md 'Atypical.VirtualFileSystem.Core').[VFSIndex](Atypical.VirtualFileSystem.Core.VFSIndex.md 'Atypical.VirtualFileSystem.Core.VFSIndex') + +## VFSIndex(IRootNode) Constructor + +Initializes a new instance of the [VFSIndex](Atypical.VirtualFileSystem.Core.VFSIndex.md 'Atypical.VirtualFileSystem.Core.VFSIndex') class. +- the vfs index is a dictionary of vfs paths and vfs nodes +- the vfs index is used to store the nodes of the virtual file system +- the vfs index is sorted by the vfs paths +- the vfs index is case insensitive + +```csharp +public VFSIndex(Atypical.VirtualFileSystem.Core.Contracts.IRootNode rootNode); +``` +#### Parameters + + + +`rootNode` [IRootNode](Atypical.VirtualFileSystem.Core.Contracts.IRootNode.md 'Atypical.VirtualFileSystem.Core.Contracts.IRootNode') + +The root node of the virtual file system. \ No newline at end of file diff --git a/doc/api/Atypical.VirtualFileSystem.Core.VFSIndex.md b/doc/api/Atypical.VirtualFileSystem.Core.VFSIndex.md new file mode 100644 index 0000000..2d4da62 --- /dev/null +++ b/doc/api/Atypical.VirtualFileSystem.Core.VFSIndex.md @@ -0,0 +1,19 @@ +#### [Atypical.VirtualFileSystem.Core](Atypical.VirtualFileSystem.Core.md 'Atypical.VirtualFileSystem.Core') +### [Atypical.VirtualFileSystem.Core](Atypical.VirtualFileSystem.Core.md 'Atypical.VirtualFileSystem.Core') + +## VFSIndex Class + +Represents the index of the virtual file system. +- a vfs index is a dictionary of vfs paths and vfs nodes +- the vfs index is used to store the nodes of the virtual file system +This class cannot be inherited. + +```csharp +public sealed class VFSIndex : System.Collections.Generic.SortedDictionary +``` + +Inheritance [System.Object](https://docs.microsoft.com/en-us/dotnet/api/System.Object 'System.Object') 🡒 [System.Collections.Generic.SortedDictionary<](https://docs.microsoft.com/en-us/dotnet/api/System.Collections.Generic.SortedDictionary-2 'System.Collections.Generic.SortedDictionary`2')[System.String](https://docs.microsoft.com/en-us/dotnet/api/System.String 'System.String')[,](https://docs.microsoft.com/en-us/dotnet/api/System.Collections.Generic.SortedDictionary-2 'System.Collections.Generic.SortedDictionary`2')[IVirtualFileSystemNode](Atypical.VirtualFileSystem.Core.Contracts.IVirtualFileSystemNode.md 'Atypical.VirtualFileSystem.Core.Contracts.IVirtualFileSystemNode')[>](https://docs.microsoft.com/en-us/dotnet/api/System.Collections.Generic.SortedDictionary-2 'System.Collections.Generic.SortedDictionary`2') 🡒 VFSIndex + +| Constructors | | +| :--- | :--- | +| [VFSIndex(IRootNode)](Atypical.VirtualFileSystem.Core.VFSIndex.VFSIndex(Atypical.VirtualFileSystem.Core.Contracts.IRootNode).md 'Atypical.VirtualFileSystem.Core.VFSIndex.VFSIndex(Atypical.VirtualFileSystem.Core.Contracts.IRootNode)') | Initializes a new instance of the [VFSIndex](Atypical.VirtualFileSystem.Core.VFSIndex.md 'Atypical.VirtualFileSystem.Core.VFSIndex') class.
- the vfs index is a dictionary of vfs paths and vfs nodes
- the vfs index is used to store the nodes of the virtual file system
- the vfs index is sorted by the vfs paths
- the vfs index is case insensitive | diff --git a/doc/api/Atypical.VirtualFileSystem.Core.ValueObjects.VFSDirectoryPath.ToString().md b/doc/api/Atypical.VirtualFileSystem.Core.ValueObjects.VFSDirectoryPath.ToString().md new file mode 100644 index 0000000..d9b21a0 --- /dev/null +++ b/doc/api/Atypical.VirtualFileSystem.Core.ValueObjects.VFSDirectoryPath.ToString().md @@ -0,0 +1,15 @@ +#### [Atypical.VirtualFileSystem.Core](Atypical.VirtualFileSystem.Core.md 'Atypical.VirtualFileSystem.Core') +### [Atypical.VirtualFileSystem.Core.ValueObjects](Atypical.VirtualFileSystem.Core.ValueObjects.md 'Atypical.VirtualFileSystem.Core.ValueObjects').[VFSDirectoryPath](Atypical.VirtualFileSystem.Core.ValueObjects.VFSDirectoryPath.md 'Atypical.VirtualFileSystem.Core.ValueObjects.VFSDirectoryPath') + +## VFSDirectoryPath.ToString() Method + +Returns a string that represents the current object. +The string representation of the directory path is the path itself. + +```csharp +public override string ToString(); +``` + +#### Returns +[System.String](https://docs.microsoft.com/en-us/dotnet/api/System.String 'System.String') +A string that represents the current object. \ No newline at end of file diff --git a/doc/api/Atypical.VirtualFileSystem.Core.ValueObjects.VFSDirectoryPath.VFSDirectoryPath(string).md b/doc/api/Atypical.VirtualFileSystem.Core.ValueObjects.VFSDirectoryPath.VFSDirectoryPath(string).md new file mode 100644 index 0000000..ddc2696 --- /dev/null +++ b/doc/api/Atypical.VirtualFileSystem.Core.ValueObjects.VFSDirectoryPath.VFSDirectoryPath(string).md @@ -0,0 +1,18 @@ +#### [Atypical.VirtualFileSystem.Core](Atypical.VirtualFileSystem.Core.md 'Atypical.VirtualFileSystem.Core') +### [Atypical.VirtualFileSystem.Core.ValueObjects](Atypical.VirtualFileSystem.Core.ValueObjects.md 'Atypical.VirtualFileSystem.Core.ValueObjects').[VFSDirectoryPath](Atypical.VirtualFileSystem.Core.ValueObjects.VFSDirectoryPath.md 'Atypical.VirtualFileSystem.Core.ValueObjects.VFSDirectoryPath') + +## VFSDirectoryPath(string) Constructor + +Initializes a new instance of the [VFSDirectoryPath](Atypical.VirtualFileSystem.Core.ValueObjects.VFSDirectoryPath.md 'Atypical.VirtualFileSystem.Core.ValueObjects.VFSDirectoryPath') class. +The file path is relative to the root of the virtual file system. + +```csharp +public VFSDirectoryPath(string path); +``` +#### Parameters + + + +`path` [System.String](https://docs.microsoft.com/en-us/dotnet/api/System.String 'System.String') + +The path of the directory. \ No newline at end of file diff --git a/doc/api/Atypical.VirtualFileSystem.Core.ValueObjects.VFSDirectoryPath.md b/doc/api/Atypical.VirtualFileSystem.Core.ValueObjects.VFSDirectoryPath.md new file mode 100644 index 0000000..87276b0 --- /dev/null +++ b/doc/api/Atypical.VirtualFileSystem.Core.ValueObjects.VFSDirectoryPath.md @@ -0,0 +1,32 @@ +#### [Atypical.VirtualFileSystem.Core](Atypical.VirtualFileSystem.Core.md 'Atypical.VirtualFileSystem.Core') +### [Atypical.VirtualFileSystem.Core.ValueObjects](Atypical.VirtualFileSystem.Core.ValueObjects.md 'Atypical.VirtualFileSystem.Core.ValueObjects') + +## VFSDirectoryPath Class + +Represents a directory in the virtual file system. +A directory is a first-class citizen in the virtual file system. +It can contain files and other directories. + +```csharp +public class VFSDirectoryPath : Atypical.VirtualFileSystem.Core.Abstractions.VFSPath, +System.IEquatable +``` + +Inheritance [System.Object](https://docs.microsoft.com/en-us/dotnet/api/System.Object 'System.Object') 🡒 [VFSPath](Atypical.VirtualFileSystem.Core.Abstractions.VFSPath.md 'Atypical.VirtualFileSystem.Core.Abstractions.VFSPath') 🡒 VFSDirectoryPath + +Derived +↳ [VFSRootPath](Atypical.VirtualFileSystem.Core.ValueObjects.VFSRootPath.md 'Atypical.VirtualFileSystem.Core.ValueObjects.VFSRootPath') + +Implements [System.IEquatable<](https://docs.microsoft.com/en-us/dotnet/api/System.IEquatable-1 'System.IEquatable`1')[VFSDirectoryPath](Atypical.VirtualFileSystem.Core.ValueObjects.VFSDirectoryPath.md 'Atypical.VirtualFileSystem.Core.ValueObjects.VFSDirectoryPath')[>](https://docs.microsoft.com/en-us/dotnet/api/System.IEquatable-1 'System.IEquatable`1') + +| Constructors | | +| :--- | :--- | +| [VFSDirectoryPath(string)](Atypical.VirtualFileSystem.Core.ValueObjects.VFSDirectoryPath.VFSDirectoryPath(string).md 'Atypical.VirtualFileSystem.Core.ValueObjects.VFSDirectoryPath.VFSDirectoryPath(string)') | Initializes a new instance of the [VFSDirectoryPath](Atypical.VirtualFileSystem.Core.ValueObjects.VFSDirectoryPath.md 'Atypical.VirtualFileSystem.Core.ValueObjects.VFSDirectoryPath') class.
The file path is relative to the root of the virtual file system. | + +| Methods | | +| :--- | :--- | +| [ToString()](Atypical.VirtualFileSystem.Core.ValueObjects.VFSDirectoryPath.ToString().md 'Atypical.VirtualFileSystem.Core.ValueObjects.VFSDirectoryPath.ToString()') | Returns a string that represents the current object.
The string representation of the directory path is the path itself. | + +| Operators | | +| :--- | :--- | +| [implicit operator string(VFSDirectoryPath)](Atypical.VirtualFileSystem.Core.ValueObjects.VFSDirectoryPath.op_Implicitstring(Atypical.VirtualFileSystem.Core.ValueObjects.VFSDirectoryPath).md 'Atypical.VirtualFileSystem.Core.ValueObjects.VFSDirectoryPath.op_Implicit string(Atypical.VirtualFileSystem.Core.ValueObjects.VFSDirectoryPath)') | Implicit conversion to string
This allows you to use a [VFSDirectoryPath](Atypical.VirtualFileSystem.Core.ValueObjects.VFSDirectoryPath.md 'Atypical.VirtualFileSystem.Core.ValueObjects.VFSDirectoryPath') as a string. | diff --git a/doc/api/Atypical.VirtualFileSystem.Core.ValueObjects.VFSDirectoryPath.op_Implicitstring(Atypical.VirtualFileSystem.Core.ValueObjects.VFSDirectoryPath).md b/doc/api/Atypical.VirtualFileSystem.Core.ValueObjects.VFSDirectoryPath.op_Implicitstring(Atypical.VirtualFileSystem.Core.ValueObjects.VFSDirectoryPath).md new file mode 100644 index 0000000..917e4f1 --- /dev/null +++ b/doc/api/Atypical.VirtualFileSystem.Core.ValueObjects.VFSDirectoryPath.op_Implicitstring(Atypical.VirtualFileSystem.Core.ValueObjects.VFSDirectoryPath).md @@ -0,0 +1,22 @@ +#### [Atypical.VirtualFileSystem.Core](Atypical.VirtualFileSystem.Core.md 'Atypical.VirtualFileSystem.Core') +### [Atypical.VirtualFileSystem.Core.ValueObjects](Atypical.VirtualFileSystem.Core.ValueObjects.md 'Atypical.VirtualFileSystem.Core.ValueObjects').[VFSDirectoryPath](Atypical.VirtualFileSystem.Core.ValueObjects.VFSDirectoryPath.md 'Atypical.VirtualFileSystem.Core.ValueObjects.VFSDirectoryPath') + +## VFSDirectoryPath.implicit operator string(VFSDirectoryPath) Operator + +Implicit conversion to string +This allows you to use a [VFSDirectoryPath](Atypical.VirtualFileSystem.Core.ValueObjects.VFSDirectoryPath.md 'Atypical.VirtualFileSystem.Core.ValueObjects.VFSDirectoryPath') as a string. + +```csharp +public static string implicit operator string(Atypical.VirtualFileSystem.Core.ValueObjects.VFSDirectoryPath path); +``` +#### Parameters + + + +`path` [VFSDirectoryPath](Atypical.VirtualFileSystem.Core.ValueObjects.VFSDirectoryPath.md 'Atypical.VirtualFileSystem.Core.ValueObjects.VFSDirectoryPath') + +The path to convert. + +#### Returns +[System.String](https://docs.microsoft.com/en-us/dotnet/api/System.String 'System.String') +The string representation of the path. \ No newline at end of file diff --git a/doc/api/Atypical.VirtualFileSystem.Core.ValueObjects.VFSFilePath.ToString().md b/doc/api/Atypical.VirtualFileSystem.Core.ValueObjects.VFSFilePath.ToString().md new file mode 100644 index 0000000..0853a7f --- /dev/null +++ b/doc/api/Atypical.VirtualFileSystem.Core.ValueObjects.VFSFilePath.ToString().md @@ -0,0 +1,15 @@ +#### [Atypical.VirtualFileSystem.Core](Atypical.VirtualFileSystem.Core.md 'Atypical.VirtualFileSystem.Core') +### [Atypical.VirtualFileSystem.Core.ValueObjects](Atypical.VirtualFileSystem.Core.ValueObjects.md 'Atypical.VirtualFileSystem.Core.ValueObjects').[VFSFilePath](Atypical.VirtualFileSystem.Core.ValueObjects.VFSFilePath.md 'Atypical.VirtualFileSystem.Core.ValueObjects.VFSFilePath') + +## VFSFilePath.ToString() Method + +Returns a string that represents the current object. +The file path is relative to the root of the virtual file system. + +```csharp +public override string ToString(); +``` + +#### Returns +[System.String](https://docs.microsoft.com/en-us/dotnet/api/System.String 'System.String') +A string that represents the current object. \ No newline at end of file diff --git a/doc/api/Atypical.VirtualFileSystem.Core.ValueObjects.VFSFilePath.VFSFilePath(string).md b/doc/api/Atypical.VirtualFileSystem.Core.ValueObjects.VFSFilePath.VFSFilePath(string).md new file mode 100644 index 0000000..ec4b273 --- /dev/null +++ b/doc/api/Atypical.VirtualFileSystem.Core.ValueObjects.VFSFilePath.VFSFilePath(string).md @@ -0,0 +1,18 @@ +#### [Atypical.VirtualFileSystem.Core](Atypical.VirtualFileSystem.Core.md 'Atypical.VirtualFileSystem.Core') +### [Atypical.VirtualFileSystem.Core.ValueObjects](Atypical.VirtualFileSystem.Core.ValueObjects.md 'Atypical.VirtualFileSystem.Core.ValueObjects').[VFSFilePath](Atypical.VirtualFileSystem.Core.ValueObjects.VFSFilePath.md 'Atypical.VirtualFileSystem.Core.ValueObjects.VFSFilePath') + +## VFSFilePath(string) Constructor + +Initializes a new instance of the [VFSFilePath](Atypical.VirtualFileSystem.Core.ValueObjects.VFSFilePath.md 'Atypical.VirtualFileSystem.Core.ValueObjects.VFSFilePath') class. +The file path is relative to the root of the virtual file system. + +```csharp +public VFSFilePath(string path); +``` +#### Parameters + + + +`path` [System.String](https://docs.microsoft.com/en-us/dotnet/api/System.String 'System.String') + +The path of the file. \ No newline at end of file diff --git a/doc/api/Atypical.VirtualFileSystem.Core.ValueObjects.VFSFilePath.md b/doc/api/Atypical.VirtualFileSystem.Core.ValueObjects.VFSFilePath.md new file mode 100644 index 0000000..2eb1103 --- /dev/null +++ b/doc/api/Atypical.VirtualFileSystem.Core.ValueObjects.VFSFilePath.md @@ -0,0 +1,28 @@ +#### [Atypical.VirtualFileSystem.Core](Atypical.VirtualFileSystem.Core.md 'Atypical.VirtualFileSystem.Core') +### [Atypical.VirtualFileSystem.Core.ValueObjects](Atypical.VirtualFileSystem.Core.ValueObjects.md 'Atypical.VirtualFileSystem.Core.ValueObjects') + +## VFSFilePath Class + +Represents a file system entry in the virtual file system. +A file is a first-class citizen in the virtual file system. + +```csharp +public class VFSFilePath : Atypical.VirtualFileSystem.Core.Abstractions.VFSPath, +System.IEquatable +``` + +Inheritance [System.Object](https://docs.microsoft.com/en-us/dotnet/api/System.Object 'System.Object') 🡒 [VFSPath](Atypical.VirtualFileSystem.Core.Abstractions.VFSPath.md 'Atypical.VirtualFileSystem.Core.Abstractions.VFSPath') 🡒 VFSFilePath + +Implements [System.IEquatable<](https://docs.microsoft.com/en-us/dotnet/api/System.IEquatable-1 'System.IEquatable`1')[VFSFilePath](Atypical.VirtualFileSystem.Core.ValueObjects.VFSFilePath.md 'Atypical.VirtualFileSystem.Core.ValueObjects.VFSFilePath')[>](https://docs.microsoft.com/en-us/dotnet/api/System.IEquatable-1 'System.IEquatable`1') + +| Constructors | | +| :--- | :--- | +| [VFSFilePath(string)](Atypical.VirtualFileSystem.Core.ValueObjects.VFSFilePath.VFSFilePath(string).md 'Atypical.VirtualFileSystem.Core.ValueObjects.VFSFilePath.VFSFilePath(string)') | Initializes a new instance of the [VFSFilePath](Atypical.VirtualFileSystem.Core.ValueObjects.VFSFilePath.md 'Atypical.VirtualFileSystem.Core.ValueObjects.VFSFilePath') class.
The file path is relative to the root of the virtual file system. | + +| Methods | | +| :--- | :--- | +| [ToString()](Atypical.VirtualFileSystem.Core.ValueObjects.VFSFilePath.ToString().md 'Atypical.VirtualFileSystem.Core.ValueObjects.VFSFilePath.ToString()') | Returns a string that represents the current object.
The file path is relative to the root of the virtual file system. | + +| Operators | | +| :--- | :--- | +| [implicit operator string(VFSFilePath)](Atypical.VirtualFileSystem.Core.ValueObjects.VFSFilePath.op_Implicitstring(Atypical.VirtualFileSystem.Core.ValueObjects.VFSFilePath).md 'Atypical.VirtualFileSystem.Core.ValueObjects.VFSFilePath.op_Implicit string(Atypical.VirtualFileSystem.Core.ValueObjects.VFSFilePath)') | Implicit conversion to string
This allows you to use a [VFSFilePath](Atypical.VirtualFileSystem.Core.ValueObjects.VFSFilePath.md 'Atypical.VirtualFileSystem.Core.ValueObjects.VFSFilePath') as a string. | diff --git a/doc/api/Atypical.VirtualFileSystem.Core.ValueObjects.VFSFilePath.op_Implicitstring(Atypical.VirtualFileSystem.Core.ValueObjects.VFSFilePath).md b/doc/api/Atypical.VirtualFileSystem.Core.ValueObjects.VFSFilePath.op_Implicitstring(Atypical.VirtualFileSystem.Core.ValueObjects.VFSFilePath).md new file mode 100644 index 0000000..3219d7f --- /dev/null +++ b/doc/api/Atypical.VirtualFileSystem.Core.ValueObjects.VFSFilePath.op_Implicitstring(Atypical.VirtualFileSystem.Core.ValueObjects.VFSFilePath).md @@ -0,0 +1,22 @@ +#### [Atypical.VirtualFileSystem.Core](Atypical.VirtualFileSystem.Core.md 'Atypical.VirtualFileSystem.Core') +### [Atypical.VirtualFileSystem.Core.ValueObjects](Atypical.VirtualFileSystem.Core.ValueObjects.md 'Atypical.VirtualFileSystem.Core.ValueObjects').[VFSFilePath](Atypical.VirtualFileSystem.Core.ValueObjects.VFSFilePath.md 'Atypical.VirtualFileSystem.Core.ValueObjects.VFSFilePath') + +## VFSFilePath.implicit operator string(VFSFilePath) Operator + +Implicit conversion to string +This allows you to use a [VFSFilePath](Atypical.VirtualFileSystem.Core.ValueObjects.VFSFilePath.md 'Atypical.VirtualFileSystem.Core.ValueObjects.VFSFilePath') as a string. + +```csharp +public static string implicit operator string(Atypical.VirtualFileSystem.Core.ValueObjects.VFSFilePath path); +``` +#### Parameters + + + +`path` [VFSFilePath](Atypical.VirtualFileSystem.Core.ValueObjects.VFSFilePath.md 'Atypical.VirtualFileSystem.Core.ValueObjects.VFSFilePath') + +The path to convert. + +#### Returns +[System.String](https://docs.microsoft.com/en-us/dotnet/api/System.String 'System.String') +The string representation of the path. \ No newline at end of file diff --git a/doc/api/Atypical.VirtualFileSystem.Core.ValueObjects.VFSRootPath.ToString().md b/doc/api/Atypical.VirtualFileSystem.Core.ValueObjects.VFSRootPath.ToString().md new file mode 100644 index 0000000..1c77442 --- /dev/null +++ b/doc/api/Atypical.VirtualFileSystem.Core.ValueObjects.VFSRootPath.ToString().md @@ -0,0 +1,15 @@ +#### [Atypical.VirtualFileSystem.Core](Atypical.VirtualFileSystem.Core.md 'Atypical.VirtualFileSystem.Core') +### [Atypical.VirtualFileSystem.Core.ValueObjects](Atypical.VirtualFileSystem.Core.ValueObjects.md 'Atypical.VirtualFileSystem.Core.ValueObjects').[VFSRootPath](Atypical.VirtualFileSystem.Core.ValueObjects.VFSRootPath.md 'Atypical.VirtualFileSystem.Core.ValueObjects.VFSRootPath') + +## VFSRootPath.ToString() Method + +Returns a string that represents the current object. +The string representation of the root directory is the constant [ROOT_PATH](Atypical.VirtualFileSystem.Core.VFSConstants.ROOT_PATH.md 'Atypical.VirtualFileSystem.Core.VFSConstants.ROOT_PATH'). + +```csharp +public override string ToString(); +``` + +#### Returns +[System.String](https://docs.microsoft.com/en-us/dotnet/api/System.String 'System.String') +A string that represents the current object. \ No newline at end of file diff --git a/doc/api/Atypical.VirtualFileSystem.Core.ValueObjects.VFSRootPath.VFSRootPath().md b/doc/api/Atypical.VirtualFileSystem.Core.ValueObjects.VFSRootPath.VFSRootPath().md new file mode 100644 index 0000000..0288c15 --- /dev/null +++ b/doc/api/Atypical.VirtualFileSystem.Core.ValueObjects.VFSRootPath.VFSRootPath().md @@ -0,0 +1,10 @@ +#### [Atypical.VirtualFileSystem.Core](Atypical.VirtualFileSystem.Core.md 'Atypical.VirtualFileSystem.Core') +### [Atypical.VirtualFileSystem.Core.ValueObjects](Atypical.VirtualFileSystem.Core.ValueObjects.md 'Atypical.VirtualFileSystem.Core.ValueObjects').[VFSRootPath](Atypical.VirtualFileSystem.Core.ValueObjects.VFSRootPath.md 'Atypical.VirtualFileSystem.Core.ValueObjects.VFSRootPath') + +## VFSRootPath() Constructor + +Represents the root directory of the virtual file system. + +```csharp +public VFSRootPath(); +``` \ No newline at end of file diff --git a/doc/api/Atypical.VirtualFileSystem.Core.ValueObjects.VFSRootPath.md b/doc/api/Atypical.VirtualFileSystem.Core.ValueObjects.VFSRootPath.md new file mode 100644 index 0000000..4fa57b4 --- /dev/null +++ b/doc/api/Atypical.VirtualFileSystem.Core.ValueObjects.VFSRootPath.md @@ -0,0 +1,27 @@ +#### [Atypical.VirtualFileSystem.Core](Atypical.VirtualFileSystem.Core.md 'Atypical.VirtualFileSystem.Core') +### [Atypical.VirtualFileSystem.Core.ValueObjects](Atypical.VirtualFileSystem.Core.ValueObjects.md 'Atypical.VirtualFileSystem.Core.ValueObjects') + +## VFSRootPath Class + +Represents the root directory of the virtual file system. + +```csharp +public class VFSRootPath : Atypical.VirtualFileSystem.Core.ValueObjects.VFSDirectoryPath, +System.IEquatable +``` + +Inheritance [System.Object](https://docs.microsoft.com/en-us/dotnet/api/System.Object 'System.Object') 🡒 [VFSPath](Atypical.VirtualFileSystem.Core.Abstractions.VFSPath.md 'Atypical.VirtualFileSystem.Core.Abstractions.VFSPath') 🡒 [VFSDirectoryPath](Atypical.VirtualFileSystem.Core.ValueObjects.VFSDirectoryPath.md 'Atypical.VirtualFileSystem.Core.ValueObjects.VFSDirectoryPath') 🡒 VFSRootPath + +Implements [System.IEquatable<](https://docs.microsoft.com/en-us/dotnet/api/System.IEquatable-1 'System.IEquatable`1')[VFSRootPath](Atypical.VirtualFileSystem.Core.ValueObjects.VFSRootPath.md 'Atypical.VirtualFileSystem.Core.ValueObjects.VFSRootPath')[>](https://docs.microsoft.com/en-us/dotnet/api/System.IEquatable-1 'System.IEquatable`1') + +| Constructors | | +| :--- | :--- | +| [VFSRootPath()](Atypical.VirtualFileSystem.Core.ValueObjects.VFSRootPath.VFSRootPath().md 'Atypical.VirtualFileSystem.Core.ValueObjects.VFSRootPath.VFSRootPath()') | Represents the root directory of the virtual file system. | + +| Methods | | +| :--- | :--- | +| [ToString()](Atypical.VirtualFileSystem.Core.ValueObjects.VFSRootPath.ToString().md 'Atypical.VirtualFileSystem.Core.ValueObjects.VFSRootPath.ToString()') | Returns a string that represents the current object.
The string representation of the root directory is the constant [ROOT_PATH](Atypical.VirtualFileSystem.Core.VFSConstants.ROOT_PATH.md 'Atypical.VirtualFileSystem.Core.VFSConstants.ROOT_PATH'). | + +| Operators | | +| :--- | :--- | +| [implicit operator string(VFSRootPath)](Atypical.VirtualFileSystem.Core.ValueObjects.VFSRootPath.op_Implicitstring(Atypical.VirtualFileSystem.Core.ValueObjects.VFSRootPath).md 'Atypical.VirtualFileSystem.Core.ValueObjects.VFSRootPath.op_Implicit string(Atypical.VirtualFileSystem.Core.ValueObjects.VFSRootPath)') | Implicit conversion to string
This allows you to use a [VFSRootPath](Atypical.VirtualFileSystem.Core.ValueObjects.VFSRootPath.md 'Atypical.VirtualFileSystem.Core.ValueObjects.VFSRootPath') as a string. | diff --git a/doc/api/Atypical.VirtualFileSystem.Core.ValueObjects.VFSRootPath.op_Implicitstring(Atypical.VirtualFileSystem.Core.ValueObjects.VFSRootPath).md b/doc/api/Atypical.VirtualFileSystem.Core.ValueObjects.VFSRootPath.op_Implicitstring(Atypical.VirtualFileSystem.Core.ValueObjects.VFSRootPath).md new file mode 100644 index 0000000..9580017 --- /dev/null +++ b/doc/api/Atypical.VirtualFileSystem.Core.ValueObjects.VFSRootPath.op_Implicitstring(Atypical.VirtualFileSystem.Core.ValueObjects.VFSRootPath).md @@ -0,0 +1,22 @@ +#### [Atypical.VirtualFileSystem.Core](Atypical.VirtualFileSystem.Core.md 'Atypical.VirtualFileSystem.Core') +### [Atypical.VirtualFileSystem.Core.ValueObjects](Atypical.VirtualFileSystem.Core.ValueObjects.md 'Atypical.VirtualFileSystem.Core.ValueObjects').[VFSRootPath](Atypical.VirtualFileSystem.Core.ValueObjects.VFSRootPath.md 'Atypical.VirtualFileSystem.Core.ValueObjects.VFSRootPath') + +## VFSRootPath.implicit operator string(VFSRootPath) Operator + +Implicit conversion to string +This allows you to use a [VFSRootPath](Atypical.VirtualFileSystem.Core.ValueObjects.VFSRootPath.md 'Atypical.VirtualFileSystem.Core.ValueObjects.VFSRootPath') as a string. + +```csharp +public static string implicit operator string(Atypical.VirtualFileSystem.Core.ValueObjects.VFSRootPath path); +``` +#### Parameters + + + +`path` [VFSRootPath](Atypical.VirtualFileSystem.Core.ValueObjects.VFSRootPath.md 'Atypical.VirtualFileSystem.Core.ValueObjects.VFSRootPath') + +The path to convert. + +#### Returns +[System.String](https://docs.microsoft.com/en-us/dotnet/api/System.String 'System.String') +The string representation of the path. \ No newline at end of file diff --git a/doc/api/Atypical.VirtualFileSystem.Core.ValueObjects.md b/doc/api/Atypical.VirtualFileSystem.Core.ValueObjects.md new file mode 100644 index 0000000..eb4ae81 --- /dev/null +++ b/doc/api/Atypical.VirtualFileSystem.Core.ValueObjects.md @@ -0,0 +1,9 @@ +#### [Atypical.VirtualFileSystem.Core](Atypical.VirtualFileSystem.Core.md 'Atypical.VirtualFileSystem.Core') + +## Atypical.VirtualFileSystem.Core.ValueObjects Namespace + +| Classes | | +| :--- | :--- | +| [VFSDirectoryPath](Atypical.VirtualFileSystem.Core.ValueObjects.VFSDirectoryPath.md 'Atypical.VirtualFileSystem.Core.ValueObjects.VFSDirectoryPath') | Represents a directory in the virtual file system.
A directory is a first-class citizen in the virtual file system.
It can contain files and other directories. | +| [VFSFilePath](Atypical.VirtualFileSystem.Core.ValueObjects.VFSFilePath.md 'Atypical.VirtualFileSystem.Core.ValueObjects.VFSFilePath') | Represents a file system entry in the virtual file system.
A file is a first-class citizen in the virtual file system. | +| [VFSRootPath](Atypical.VirtualFileSystem.Core.ValueObjects.VFSRootPath.md 'Atypical.VirtualFileSystem.Core.ValueObjects.VFSRootPath') | Represents the root directory of the virtual file system. | diff --git a/doc/api/Atypical.VirtualFileSystem.Core.VirtualFileSystemFactory.CreateFileSystem().md b/doc/api/Atypical.VirtualFileSystem.Core.VirtualFileSystemFactory.CreateFileSystem().md new file mode 100644 index 0000000..1cc9c7b --- /dev/null +++ b/doc/api/Atypical.VirtualFileSystem.Core.VirtualFileSystemFactory.CreateFileSystem().md @@ -0,0 +1,16 @@ +#### [Atypical.VirtualFileSystem.Core](Atypical.VirtualFileSystem.Core.md 'Atypical.VirtualFileSystem.Core') +### [Atypical.VirtualFileSystem.Core](Atypical.VirtualFileSystem.Core.md 'Atypical.VirtualFileSystem.Core').[VirtualFileSystemFactory](Atypical.VirtualFileSystem.Core.VirtualFileSystemFactory.md 'Atypical.VirtualFileSystem.Core.VirtualFileSystemFactory') + +## VirtualFileSystemFactory.CreateFileSystem() Method + +Creates a new instance of [IVirtualFileSystem](Atypical.VirtualFileSystem.Core.Contracts.IVirtualFileSystem.md 'Atypical.VirtualFileSystem.Core.Contracts.IVirtualFileSystem'). + +```csharp +public Atypical.VirtualFileSystem.Core.Contracts.IVirtualFileSystem CreateFileSystem(); +``` + +Implements [CreateFileSystem()](Atypical.VirtualFileSystem.Core.Contracts.IVirtualFileSystemFactory.CreateFileSystem().md 'Atypical.VirtualFileSystem.Core.Contracts.IVirtualFileSystemFactory.CreateFileSystem()') + +#### Returns +[IVirtualFileSystem](Atypical.VirtualFileSystem.Core.Contracts.IVirtualFileSystem.md 'Atypical.VirtualFileSystem.Core.Contracts.IVirtualFileSystem') +The new instance of [IVirtualFileSystem](Atypical.VirtualFileSystem.Core.Contracts.IVirtualFileSystem.md 'Atypical.VirtualFileSystem.Core.Contracts.IVirtualFileSystem'). \ No newline at end of file diff --git a/doc/api/Atypical.VirtualFileSystem.Core.VirtualFileSystemFactory.VirtualFileSystemFactory().md b/doc/api/Atypical.VirtualFileSystem.Core.VirtualFileSystemFactory.VirtualFileSystemFactory().md new file mode 100644 index 0000000..0c73919 --- /dev/null +++ b/doc/api/Atypical.VirtualFileSystem.Core.VirtualFileSystemFactory.VirtualFileSystemFactory().md @@ -0,0 +1,10 @@ +#### [Atypical.VirtualFileSystem.Core](Atypical.VirtualFileSystem.Core.md 'Atypical.VirtualFileSystem.Core') +### [Atypical.VirtualFileSystem.Core](Atypical.VirtualFileSystem.Core.md 'Atypical.VirtualFileSystem.Core').[VirtualFileSystemFactory](Atypical.VirtualFileSystem.Core.VirtualFileSystemFactory.md 'Atypical.VirtualFileSystem.Core.VirtualFileSystemFactory') + +## VirtualFileSystemFactory() Constructor + +Initializes a new instance of the [VirtualFileSystemFactory](Atypical.VirtualFileSystem.Core.VirtualFileSystemFactory.md 'Atypical.VirtualFileSystem.Core.VirtualFileSystemFactory') class. + +```csharp +public VirtualFileSystemFactory(); +``` \ No newline at end of file diff --git a/doc/api/Atypical.VirtualFileSystem.Core.VirtualFileSystemFactory.md b/doc/api/Atypical.VirtualFileSystem.Core.VirtualFileSystemFactory.md new file mode 100644 index 0000000..716e222 --- /dev/null +++ b/doc/api/Atypical.VirtualFileSystem.Core.VirtualFileSystemFactory.md @@ -0,0 +1,23 @@ +#### [Atypical.VirtualFileSystem.Core](Atypical.VirtualFileSystem.Core.md 'Atypical.VirtualFileSystem.Core') +### [Atypical.VirtualFileSystem.Core](Atypical.VirtualFileSystem.Core.md 'Atypical.VirtualFileSystem.Core') + +## VirtualFileSystemFactory Class + +Represents a factory for creating [IVirtualFileSystem](Atypical.VirtualFileSystem.Core.Contracts.IVirtualFileSystem.md 'Atypical.VirtualFileSystem.Core.Contracts.IVirtualFileSystem') instances. + +```csharp +public class VirtualFileSystemFactory : +Atypical.VirtualFileSystem.Core.Contracts.IVirtualFileSystemFactory +``` + +Inheritance [System.Object](https://docs.microsoft.com/en-us/dotnet/api/System.Object 'System.Object') 🡒 VirtualFileSystemFactory + +Implements [IVirtualFileSystemFactory](Atypical.VirtualFileSystem.Core.Contracts.IVirtualFileSystemFactory.md 'Atypical.VirtualFileSystem.Core.Contracts.IVirtualFileSystemFactory') + +| Constructors | | +| :--- | :--- | +| [VirtualFileSystemFactory()](Atypical.VirtualFileSystem.Core.VirtualFileSystemFactory.VirtualFileSystemFactory().md 'Atypical.VirtualFileSystem.Core.VirtualFileSystemFactory.VirtualFileSystemFactory()') | Initializes a new instance of the [VirtualFileSystemFactory](Atypical.VirtualFileSystem.Core.VirtualFileSystemFactory.md 'Atypical.VirtualFileSystem.Core.VirtualFileSystemFactory') class. | + +| Methods | | +| :--- | :--- | +| [CreateFileSystem()](Atypical.VirtualFileSystem.Core.VirtualFileSystemFactory.CreateFileSystem().md 'Atypical.VirtualFileSystem.Core.VirtualFileSystemFactory.CreateFileSystem()') | Creates a new instance of [IVirtualFileSystem](Atypical.VirtualFileSystem.Core.Contracts.IVirtualFileSystem.md 'Atypical.VirtualFileSystem.Core.Contracts.IVirtualFileSystem'). | diff --git a/doc/api/Atypical.VirtualFileSystem.Core.md b/doc/api/Atypical.VirtualFileSystem.Core.md new file mode 100644 index 0000000..2c036cb --- /dev/null +++ b/doc/api/Atypical.VirtualFileSystem.Core.md @@ -0,0 +1,10 @@ +#### [Atypical.VirtualFileSystem.Core](Atypical.VirtualFileSystem.Core.md 'Atypical.VirtualFileSystem.Core') + +## Atypical.VirtualFileSystem.Core Namespace + +| Classes | | +| :--- | :--- | +| [VFS](Atypical.VirtualFileSystem.Core.VFS.md 'Atypical.VirtualFileSystem.Core.VFS') | Represents a virtual file system.
This class cannot be inherited. | +| [VFSConstants](Atypical.VirtualFileSystem.Core.VFSConstants.md 'Atypical.VirtualFileSystem.Core.VFSConstants') | Constants used by the Virtual File System. | +| [VFSIndex](Atypical.VirtualFileSystem.Core.VFSIndex.md 'Atypical.VirtualFileSystem.Core.VFSIndex') | Represents the index of the virtual file system.
- a vfs index is a dictionary of vfs paths and vfs nodes
- the vfs index is used to store the nodes of the virtual file system
This class cannot be inherited. | +| [VirtualFileSystemFactory](Atypical.VirtualFileSystem.Core.VirtualFileSystemFactory.md 'Atypical.VirtualFileSystem.Core.VirtualFileSystemFactory') | Represents a factory for creating [IVirtualFileSystem](Atypical.VirtualFileSystem.Core.Contracts.IVirtualFileSystem.md 'Atypical.VirtualFileSystem.Core.Contracts.IVirtualFileSystem') instances. | diff --git a/src/Atypical.VirtualFileSystem.Core/Atypical.VirtualFileSystem.Core.csproj b/src/Atypical.VirtualFileSystem.Core/Atypical.VirtualFileSystem.Core.csproj index f75d44d..f26f458 100644 --- a/src/Atypical.VirtualFileSystem.Core/Atypical.VirtualFileSystem.Core.csproj +++ b/src/Atypical.VirtualFileSystem.Core/Atypical.VirtualFileSystem.Core.csproj @@ -8,6 +8,8 @@ Atypical Consulting SRL true true + ../../doc/api + Atypical.VirtualFileSystem.Core @@ -16,6 +18,14 @@ + + + + + all + runtime; build; native; contentfiles; analyzers; buildtransitive + +