@@ -17,7 +17,7 @@ export abstract class YDocument<T extends DocumentChange>
1717{
1818 constructor ( options ?: YDocument . IOptions ) {
1919 this . _ydoc = options ?. ydoc ?? new Y . Doc ( ) ;
20- this . forkId = options ?. forkId ?? 'root ' ;
20+ this . roomId = options ?. roomId ?? '' ;
2121
2222 this . _ystate = this . _ydoc . getMap ( 'state' ) ;
2323
@@ -29,8 +29,6 @@ export abstract class YDocument<T extends DocumentChange>
2929 this . _awareness = new Awareness ( this . _ydoc ) ;
3030
3131 this . _ystate . observe ( this . onStateChanged ) ;
32-
33- this . _providers = { } ;
3432 }
3533
3634 /**
@@ -42,22 +40,15 @@ export abstract class YDocument<T extends DocumentChange>
4240 this . ystate . set ( `fork_${ forkId } ` , 'new' ) ;
4341 }
4442
45- getProvider ( providerId : string , sharedModel ?: ISharedDocument ) : IDocumentProvider {
46- if ( ! ( providerId in this . _providers ) ) {
47- if ( providerId === 'root' ) {
48- throw new Error ( 'Cannot get a new provider for root document' ) ;
49- }
50- if ( sharedModel === undefined ) {
51- throw new Error ( 'New provider needs a shared document' ) ;
52- }
53- const root_provider = this . _providers [ 'root' ] ;
54- this . _providers [ providerId ] = root_provider . connectFork ( providerId , sharedModel ! ) ;
43+ get provider ( ) : IDocumentProvider {
44+ if ( this . _provider === undefined ) {
45+ throw new Error ( 'YDocument has no provider' ) ;
5546 }
56- return this . _providers [ providerId ] ;
47+ return this . _provider ;
5748 }
5849
59- setProvider ( providerId : string , provider : IDocumentProvider ) {
60- this . _providers [ providerId ] = provider ;
50+ set provider ( provider : IDocumentProvider ) {
51+ this . _provider = provider ;
6152 }
6253
6354 /**
@@ -225,8 +216,8 @@ export abstract class YDocument<T extends DocumentChange>
225216 private _awareness : Awareness ;
226217 private _isDisposed = false ;
227218 private _disposed = new Signal < this, void > ( this ) ;
228- private _providers : { [ key : string ] : IDocumentProvider } ;
229- public forkId : string ;
219+ private _provider : IDocumentProvider ;
220+ public roomId : string ;
230221}
231222
232223/**
@@ -243,8 +234,8 @@ export namespace YDocument {
243234 ydoc ?: Y . Doc ;
244235
245236 /**
246- * The document fork ID, defaults to 'root '.
237+ * The document room ID, defaults to ''.
247238 */
248- forkId ?: string ;
239+ roomId ?: string ;
249240 }
250241}
0 commit comments