y-websocket
Advanced tools
Comparing version 2.0.5-0 to 2.1.0
@@ -16,5 +16,12 @@ export const messageSync: 0; | ||
* | ||
* @extends {Observable<string>} | ||
* @extends {ObservableV2<{ 'connection-close': (event: CloseEvent | null, provider: WebsocketProvider) => any, 'status': (event: { status: 'connected' | 'disconnected' | 'connecting' }) => any, 'connection-error': (event: Event, provider: WebsocketProvider) => any, 'sync': (state: boolean) => any }>} | ||
*/ | ||
export class WebsocketProvider extends Observable<string> { | ||
export class WebsocketProvider extends ObservableV2<{ | ||
'connection-close': (event: CloseEvent | null, provider: WebsocketProvider) => any; | ||
status: (event: { | ||
status: 'connected' | 'disconnected' | 'connecting'; | ||
}) => any; | ||
'connection-error': (event: Event, provider: WebsocketProvider) => any; | ||
sync: (state: boolean) => any; | ||
}> { | ||
/** | ||
@@ -129,3 +136,3 @@ * @param {string} serverUrl | ||
} | ||
import { Observable } from "lib0/observable"; | ||
import { ObservableV2 } from "lib0/observable"; | ||
import * as Y from "yjs"; | ||
@@ -132,0 +139,0 @@ import * as awarenessProtocol from "y-protocols/awareness"; |
{ | ||
"name": "y-websocket", | ||
"version": "2.0.5-0", | ||
"version": "2.1.0", | ||
"description": "Websockets provider for Yjs", | ||
@@ -5,0 +5,0 @@ "main": "./dist/y-websocket.cjs", |
@@ -15,3 +15,3 @@ /** | ||
import * as awarenessProtocol from 'y-protocols/awareness' | ||
import { Observable } from 'lib0/observable' | ||
import { ObservableV2 } from 'lib0/observable' | ||
import * as math from 'lib0/math' | ||
@@ -134,5 +134,7 @@ import * as url from 'lib0/url' | ||
* @param {WebSocket} ws | ||
* @param {CloseEvent | null} event | ||
*/ | ||
const closeWebsocketConnection = (provider, ws) => { | ||
const closeWebsocketConnection = (provider, ws, event) => { | ||
if (ws === provider.ws) { | ||
provider.emit('connection-close', [event, provider]) | ||
provider.ws = null | ||
@@ -194,4 +196,3 @@ ws.close() | ||
websocket.onclose = (event) => { | ||
provider.emit('connection-close', [event, provider]) | ||
closeWebsocketConnection(provider, websocket) | ||
closeWebsocketConnection(provider, websocket, event) | ||
} | ||
@@ -255,5 +256,5 @@ websocket.onopen = () => { | ||
* | ||
* @extends {Observable<string>} | ||
* @extends {ObservableV2<{ 'connection-close': (event: CloseEvent | null, provider: WebsocketProvider) => any, 'status': (event: { status: 'connected' | 'disconnected' | 'connecting' }) => any, 'connection-error': (event: Event, provider: WebsocketProvider) => any, 'sync': (state: boolean) => any }>} | ||
*/ | ||
export class WebsocketProvider extends Observable { | ||
export class WebsocketProvider extends ObservableV2 { | ||
/** | ||
@@ -398,3 +399,3 @@ * @param {string} serverUrl | ||
// updates (which are updated every 15 seconds) | ||
closeWebsocketConnection(this, /** @type {WebSocket} */ (this.ws)) | ||
closeWebsocketConnection(this, /** @type {WebSocket} */ (this.ws), null) | ||
} | ||
@@ -423,2 +424,3 @@ }, messageReconnectTimeout / 10)) | ||
this._synced = state | ||
// @ts-ignore | ||
this.emit('synced', [state]) | ||
@@ -507,3 +509,3 @@ this.emit('sync', [state]) | ||
if (this.ws !== null) { | ||
closeWebsocketConnection(this, this.ws) | ||
closeWebsocketConnection(this, this.ws, null) | ||
} | ||
@@ -510,0 +512,0 @@ } |
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
No v1
QualityPackage is not semver >=1. This means it is not stable and does not support ^ ranges.
Found 1 instance in 1 package
94000
1529
0