Remove useless generic
This commit is contained in:
parent
c54128bd27
commit
341d2704a9
2 changed files with 21 additions and 7 deletions
|
|
@ -1,6 +1,8 @@
|
||||||
import type { StoredClient } from "../sync-client";
|
|
||||||
import type { StoredDatabase } from "./database";
|
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";
|
import { Lock } from "../utils/data-structures/locks";
|
||||||
|
|
||||||
// Serialize partial updates to the shared settings, database and notification store
|
// Serialize partial updates to the shared settings, database and notification store
|
||||||
|
|
@ -10,11 +12,11 @@ export class ClientMetadataStore {
|
||||||
|
|
||||||
private constructor(
|
private constructor(
|
||||||
public stored: StoredClient,
|
public stored: StoredClient,
|
||||||
private readonly persistence: MetadataPersistenceProvider<StoredClient>
|
private readonly persistence: MetadataPersistenceProvider
|
||||||
) { }
|
) { }
|
||||||
|
|
||||||
public static async load(
|
public static async load(
|
||||||
persistence: MetadataPersistenceProvider<StoredClient>
|
persistence: MetadataPersistenceProvider
|
||||||
): Promise<ClientMetadataStore> {
|
): Promise<ClientMetadataStore> {
|
||||||
return new ClientMetadataStore(
|
return new ClientMetadataStore(
|
||||||
(await persistence.load()) ?? {},
|
(await persistence.load()) ?? {},
|
||||||
|
|
|
||||||
|
|
@ -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.
|
// Replace the complete metadata value atomically.
|
||||||
export interface MetadataPersistenceProvider<T> {
|
export interface MetadataPersistenceProvider {
|
||||||
load: () => Promise<T | undefined>;
|
load: () => Promise<StoredClient | undefined>;
|
||||||
save: (data: T) => Promise<void>;
|
save: (data: StoredClient) => Promise<void>;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue