using Blazored.LocalStorage; using MatrixRoomUtils.Core.Interfaces.Services; namespace MatrixRoomUtils.Web.Classes; public class LocalStorageProviderService : IStorageProvider { private readonly ILocalStorageService _localStorageService; public LocalStorageProviderService(ILocalStorageService localStorageService) { _localStorageService = localStorageService; } async Task IStorageProvider.SaveAllChildrenAsync(string key, T value) => throw new NotImplementedException(); async Task IStorageProvider.LoadAllChildrenAsync(string key) where T : default => throw new NotImplementedException(); async Task IStorageProvider.SaveObjectAsync(string key, T value) => await _localStorageService.SetItemAsync(key, value); async Task IStorageProvider.LoadObjectAsync(string key) where T : default => await _localStorageService.GetItemAsync(key); async Task IStorageProvider.ObjectExistsAsync(string key) => await _localStorageService.ContainKeyAsync(key); async Task> IStorageProvider.GetAllKeysAsync() => (await _localStorageService.KeysAsync()).ToList(); async Task IStorageProvider.DeleteObjectAsync(string key) => await _localStorageService.RemoveItemAsync(key); }