Remove useless generic

This commit is contained in:
Andras Schmelczer 2026-09-29 22:25:25 +01:00
commit 341d2704a9
2 changed files with 21 additions and 7 deletions

View file

@ -1,6 +1,8 @@
import type { StoredClient } from "../sync-client";
import type { StoredDatabase } from "./database";
import type { MetadataPersistenceProvider } from "./metadata-persistence-provider";
import type {
MetadataPersistenceProvider,
StoredClient
} from "./metadata-persistence-provider";
import { Lock } from "../utils/data-structures/locks";
// Serialize partial updates to the shared settings, database and notification store
@ -10,11 +12,11 @@ export class ClientMetadataStore {
private constructor(
public stored: StoredClient,
private readonly persistence: MetadataPersistenceProvider<StoredClient>
private readonly persistence: MetadataPersistenceProvider
) { }
public static async load(
persistence: MetadataPersistenceProvider<StoredClient>
persistence: MetadataPersistenceProvider
): Promise<ClientMetadataStore> {
return new ClientMetadataStore(
(await persistence.load()) ?? {},

View file

@ -1,5 +1,17 @@
import type { StoredDatabase } from "./database";
import type { SyncSettings } from "./settings";
import type { LocalChange } from "../sync-operations/local-changes";
export type StoredClient = Partial<{
settings: Partial<SyncSettings>;
database: StoredDatabase;
localChanges: LocalChange[];
localChangesVaultKey: string;
historyCheckpoint: { vaultKey: string; checkpoint?: string };
}>;
// Replace the complete metadata value atomically.
export interface MetadataPersistenceProvider<T> {
load: () => Promise<T | undefined>;
save: (data: T) => Promise<void>;
export interface MetadataPersistenceProvider {
load: () => Promise<StoredClient | undefined>;
save: (data: StoredClient) => Promise<void>;
}