Varve.Store.Browser 0.1.0-preview.20

This is a prerelease version of Varve.Store.Browser.
dotnet add package Varve.Store.Browser --version 0.1.0-preview.20
                    
NuGet\Install-Package Varve.Store.Browser -Version 0.1.0-preview.20
                    
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="Varve.Store.Browser" Version="0.1.0-preview.20" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="Varve.Store.Browser" Version="0.1.0-preview.20" />
                    
Directory.Packages.props
<PackageReference Include="Varve.Store.Browser" />
                    
Project file
For projects that support Central Package Management (CPM), copy this XML node into the solution Directory.Packages.props file to version the package.
paket add Varve.Store.Browser --version 0.1.0-preview.20
                    
#r "nuget: Varve.Store.Browser, 0.1.0-preview.20"
                    
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
#:package Varve.Store.Browser@0.1.0-preview.20
                    
#:package directive can be used in C# file-based apps starting in .NET 10 preview 4. Copy this into a .cs file before any lines of code to reference the package.
#addin nuget:?package=Varve.Store.Browser&version=0.1.0-preview.20&prerelease
                    
Install as a Cake Addin
#tool nuget:?package=Varve.Store.Browser&version=0.1.0-preview.20&prerelease
                    
Install as a Cake Tool

Varve.Store.Browser

Browser storage for a Varve store (ADR 0084).

  • The origin private file system, in a dedicated worker. Segments and derived blobs are files, read and written through synchronous access handles; a derived blob is read synchronously into the caller's span, which is what the store's scan needs. log/ has the same names and bytes as the file backend's, so a log copied out of the browser opens on the desktop.
  • IndexedDB elsewhere — the page's own thread, or a browser without synchronous access handles. An open derived blob is read into memory whole, which bounds it by what the tab may hold.
  • Both declare Durability.Committed: a flush returns when the browser's storage reports it done. An origin's storage is best-effort unless the page is granted navigator.storage.persist(), which the host asks for if it needs to.
  • One opener at a time across the origin's tabs and workers, released by the browser when the context ends; a second is refused with DatasetLeasedException.
  • Maintenance is off by default in a browser; call Dataset.MaintainAsync.
// In a dedicated worker: the origin private file system. On the page: IndexedDB.
await using BrowserStorage storage = await BrowserStorage.OpenAsync(
    new BrowserDatasetName("datasets/notes"),
    new BrowserStorageOptions { Clock = TimeProvider.System });

await using Dataset dataset = await Dataset.OpenAsync(storage, new DatasetOptions { Clock = TimeProvider.System });

To run .NET in a worker, start dotnet.js from a module worker:

// main.js
new Worker('./worker.js', { type: 'module' });

// worker.js
import { dotnet } from './_framework/dotnet.js';
const { getAssemblyExports, getConfig } = await dotnet.create();

The package ships its JavaScript inside the assembly and imports it from a data: URL, so there is nothing to deploy; a Content Security Policy that refuses data: scripts refuses it. It is compiled with AllowUnsafeBlocks because the [JSImport] source generator requires it; no code written in it is unsafe.

Layer 5 of Varve, a .NET-native event-sourced RDF store and SPARQL toolkit. MPL-2.0.

Product Compatible and additional computed target framework versions.
.NET net10.0 is compatible.  net10.0-android was computed.  net10.0-browser was computed.  net10.0-ios was computed.  net10.0-maccatalyst was computed.  net10.0-macos was computed.  net10.0-tvos was computed.  net10.0-windows was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

NuGet packages

This package is not used by any NuGet packages.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last Updated
0.1.0-preview.20 41 11/10/2026
0.1.0-preview.19 55 11/6/2026
0.1.0-preview.18 54 11/6/2026
0.1.0-preview.17 48 11/6/2026
0.1.0-preview.16 52 11/3/2026
0.1.0-preview.15 63 10/26/2026
0.1.0-preview.14 57 10/26/2026
0.1.0-preview.13 61 10/26/2026
0.1.0-preview.12 60 10/23/2026
0.1.0-preview.11 59 10/21/2026
0.1.0-preview.10 66 10/20/2026
0.1.0-preview.9 68 10/19/2026
0.1.0-preview.8 60 10/17/2026
0.1.0-preview.7 69 10/17/2026
0.1.0-preview.6 63 10/15/2026
0.1.0-preview.5 59 10/15/2026
0.1.0-preview.4 59 10/13/2026
0.1.0-preview.3 54 10/12/2026
0.1.0-preview.2 62 10/9/2026
0.1.0-preview.1 63 10/7/2026