using Microsoft.JSInterop; namespace TIAMWebApp.Client.Services { public class LocalStorageAccessor : IAsyncDisposable { private Lazy _accessorJsRef = new(); private readonly IJSRuntime _jsRuntime; public LocalStorageAccessor(IJSRuntime jsRuntime) { _jsRuntime = jsRuntime; } private async Task WaitForReference() { if (_accessorJsRef.IsValueCreated is false) { _accessorJsRef = new(await _jsRuntime.InvokeAsync("import", "/js/LocalStorageAccessor.js")); } } public async ValueTask DisposeAsync() { if (_accessorJsRef.IsValueCreated) { await _accessorJsRef.Value.DisposeAsync(); } } } }