UNPKG

sveltekit-sync

Version:
39 lines (38 loc) 1.49 kB
import type { SyncOperation, SyncResult, ServerAdapter } from '../types.js'; import type { SyncConfig } from './types.js'; import type { RequestEvent } from '@sveltejs/kit'; export declare class ServerSyncEngine<TAdapter extends ServerAdapter = ServerAdapter> { private adapter; private config; private realtimeServer; constructor(adapter: TAdapter, config: SyncConfig); push(operations: SyncOperation[], userId: string): Promise<SyncResult>; pull(lastSync: number, clientId: string, userId: string): Promise<SyncOperation[]>; private checkAccess; private resolveConflict; createRealtimeHandlers(): { GET: (event: RequestEvent) => Promise<Response>; POST: (event: RequestEvent) => Promise<Response>; handle: ({ event, resolve }: { event: any; resolve: any; }) => Promise<any>; }; subscribeToChanges(tables: string[], userId: string, callback: (ops: SyncOperation[]) => void): Promise<() => void>; } /** * Create server sync engine with realtime handlers */ export declare function createServerSync({ adapter, config }: { adapter: ServerAdapter; config: SyncConfig; }): { sync: ServerSyncEngine<ServerAdapter<any>>; syncEngine: ServerSyncEngine<ServerAdapter<any>>; GET: (event: RequestEvent) => Promise<Response>; POST: (event: RequestEvent) => Promise<Response>; handle: ({ event, resolve }: { event: any; resolve: any; }) => Promise<any>; };