@@ -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 /**
@@ -257,8 +248,8 @@ export abstract class YDocument<T extends DocumentChange>
257248 private _awareness : Awareness ;
258249 private _isDisposed = false ;
259250 private _disposed = new Signal < this, void > ( this ) ;
260- private _providers : { [ key : string ] : IDocumentProvider } ;
261- public forkId : string ;
251+ private _provider : IDocumentProvider ;
252+ public roomId : string ;
262253}
263254
264255/**
@@ -275,8 +266,8 @@ export namespace YDocument {
275266 ydoc ?: Y . Doc ;
276267
277268 /**
278- * The document fork ID, defaults to 'root '.
269+ * The document room ID, defaults to ''.
279270 */
280- forkId ?: string ;
271+ roomId ?: string ;
281272 }
282273}
0 commit comments