feat(crdt): Create WebSocketProvider for Yjs connection
This commit is contained in:
@@ -0,0 +1,25 @@
|
|||||||
|
import { WebsocketProvider } from 'y-websocket';
|
||||||
|
import * as Y from 'yjs';
|
||||||
|
|
||||||
|
export class WebSocketProvider {
|
||||||
|
provider: WebsocketProvider;
|
||||||
|
|
||||||
|
constructor(doc: Y.Doc, projectId: string, jwtToken: string) {
|
||||||
|
const url = `ws://localhost:3001/project:${projectId}`;
|
||||||
|
this.provider = new WebsocketProvider(url, `project:${projectId}`, doc, {
|
||||||
|
params: { token: jwtToken }
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
disconnect() {
|
||||||
|
this.provider.disconnect();
|
||||||
|
}
|
||||||
|
|
||||||
|
connect() {
|
||||||
|
this.provider.connect();
|
||||||
|
}
|
||||||
|
|
||||||
|
destroy() {
|
||||||
|
this.provider.destroy();
|
||||||
|
}
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user