public static IFileSystemPath AsAnyPath(this string pathString) { IFileSystemPath result = Path.EndsInDirectorySeparator(pathString) ? AsDirectoryPath(pathString) : AsFilePath(pathString); return(result); }
public TransactedFileSystemPath(IFileSystemTransaction transaction , IFileSystemTransactionLog transactionLog , IFileSystemPath path ) : base(path.FullPath) { this.transaction = transaction; this.transactionLog = transactionLog; }
private static T CombineExt <T>(IFileSystemPath path1, IFilePathWithExtension path2, Func <string, FileExtension, T> builder) { return(builder.Invoke(Path.Combine(path1.PathString, path2.PathBase), path2.Extension)); }
private static T Combine <T>(IFileSystemPath path1, IFileSystemPath path2, Func <string, T> builder) { return(builder.Invoke(Path.Combine(path1.PathString, path2.PathString))); }
public void CreateDirectoryFromZipFile(IFileSystemPath zipFilePath) { this.CreateDirectory(); ZipFile.ExtractToDirectory(zipFilePath.FullPath, this.FullPath); }
public ITransactedFileSystemPath Transact(IFileSystemPath path) { return(new TransactedFileSystemPath(this, this.log, path)); }
public void Initialize() { this.path = Path.Combine(Path.GetTempPath(), $"txfs_{Guid.NewGuid()}").AsFileSystemPath(); this.fileSystem = Txfs.CreateFileSystem(); }