From ea633c6687008b3d807d9acefd9a5ec2c0e2b416 Mon Sep 17 00:00:00 2001 From: Mirko Da Corte Date: Sun, 4 Aug 2024 18:23:54 +0200 Subject: [PATCH] Add BasicUFile and SwarmUFile creation methods --- .../Extensions/UFileProviderExtension.cs | 8 ++++++++ src/UniversalFiles/IUFileProvider.cs | 2 ++ src/UniversalFiles/UFileProvider.cs | 3 +++ 3 files changed, 13 insertions(+) diff --git a/src/UniversalFiles.Swarm/Extensions/UFileProviderExtension.cs b/src/UniversalFiles.Swarm/Extensions/UFileProviderExtension.cs index 07a55fa..62c95a4 100644 --- a/src/UniversalFiles.Swarm/Extensions/UFileProviderExtension.cs +++ b/src/UniversalFiles.Swarm/Extensions/UFileProviderExtension.cs @@ -19,6 +19,14 @@ namespace Etherna.UniversalFiles.Extensions { public static class UFileProviderExtension { + public static SwarmUFile BuildNewUFile( + this IUFileProvider fileProvider, + SwarmUUri uuri) + { + ArgumentNullException.ThrowIfNull(fileProvider, nameof(fileProvider)); + return (SwarmUFile)fileProvider.BuildNewUFile(uuri); + } + public static UFileProvider UseSwarmUFiles( this UFileProvider fileProvider, IBeeClient beeClient) diff --git a/src/UniversalFiles/IUFileProvider.cs b/src/UniversalFiles/IUFileProvider.cs index 2c4ec5c..b0b00fe 100644 --- a/src/UniversalFiles/IUFileProvider.cs +++ b/src/UniversalFiles/IUFileProvider.cs @@ -18,6 +18,8 @@ namespace Etherna.UniversalFiles { public interface IUFileProvider { + BasicUFile BuildNewUFile(BasicUUri uuri); + UFile BuildNewUFile(UUri uuri); Task ToLocalUFileAsync( diff --git a/src/UniversalFiles/UFileProvider.cs b/src/UniversalFiles/UFileProvider.cs index 95f7fc8..6f78222 100644 --- a/src/UniversalFiles/UFileProvider.cs +++ b/src/UniversalFiles/UFileProvider.cs @@ -31,6 +31,9 @@ public UFileProvider(IHttpClientFactory httpClientFactory) } // Methods. + public BasicUFile BuildNewUFile(BasicUUri uuri) => + (BasicUFile)BuildNewUFile((UUri)uuri); + public UFile BuildNewUFile(UUri uuri) { ArgumentNullException.ThrowIfNull(uuri, nameof(uuri));