Skip to content

@statesync/electron


@statesync/electron / createElectronRevisionSync

Function: createElectronRevisionSync() ​

ts
function createElectronRevisionSync<T>(options): RevisionSyncHandle;

Defined in: sync.ts:132

Convenience factory that wires the Electron bridge, transport layer, and core revision-sync engine into a single RevisionSyncHandle.

This is pure DX sugar — it does not add new protocol semantics beyond what the core engine provides. Internally it decomposes the bridge into separate listen and invoke functions for the transport layer.

Mirrors createTauriRevisionSync in the @statesync/tauri package.

Process context: renderer process.

Type Parameters ​

Type ParameterDescription
TThe application-specific snapshot data type.

Parameters ​

ParameterTypeDescription
optionsCreateElectronRevisionSyncOptions<T>Configuration including the bridge, topic, applier, and optional overrides.

Returns ​

RevisionSyncHandle

A RevisionSyncHandle with start(), stop(), refresh(), and getLocalRevision() methods.

Example ​

ts
import type { ElectronStateSyncBridge } from '@statesync/electron';
import { createElectronRevisionSync } from '@statesync/electron';

const bridge = (window as any).statesync as ElectronStateSyncBridge;

const sync = createElectronRevisionSync<TodoList>({
  topic: 'todos',
  bridge,
  applier: {
    apply(snapshot) {
      todoStore.setState(snapshot.data);
    },
  },
});

await sync.start();
// ... later
sync.stop();

Released under the MIT License.