open-collaboration-yjs
Version:
Open Collaboration Yjs integration, part of the Open Collaboration Tools project
30 lines • 1.03 kB
TypeScript
import * as types from 'open-collaboration-protocol';
import * as Y from 'yjs';
import * as awarenessProtocol from 'y-protocols/awareness';
import { ObservableV2 } from 'lib0/observable';
export interface AwarenessChange {
added: number[];
updated: number[];
removed: number[];
}
export declare const LOCAL_ORIGIN = "local";
export interface YjsProviderOptions {
resyncTimer?: number;
}
export declare class OpenCollaborationYjsProvider extends ObservableV2<string> {
private connection;
private doc;
private awareness;
constructor(connection: types.ProtocolBroadcastConnection, doc: Y.Doc, awareness: awarenessProtocol.Awareness, options?: YjsProviderOptions);
private setResyncInterval;
private ocpDataUpdateHandler;
private ocpAwarenessUpdateHandler;
private ocpAwarenessQueryHandler;
private yjsUpdateHandler;
private yjsAwarenessUpdateHandler;
connect(): void;
dispose(): void;
private encode;
private decode;
}
//# sourceMappingURL=yjs-provider.d.ts.map