feat(nbstore): new doc sync engine (#8918)

This commit is contained in:
EYHN
2024-12-07 08:05:02 +00:00
parent fafacdb265
commit f54f6e88cb
23 changed files with 1252 additions and 43 deletions
@@ -104,6 +104,25 @@ export abstract class Connection<T = any> {
});
}
waitForConnected(signal?: AbortSignal) {
return new Promise<void>((resolve, reject) => {
if (this.status === 'connected') {
resolve();
return;
}
this.onStatusChanged(status => {
if (status === 'connected') {
resolve();
}
});
signal?.addEventListener('abort', reason => {
reject(reason);
});
});
}
onStatusChanged(
cb: (status: ConnectionStatus, error?: Error) => void
): () => void {