@nmtjs/ws-client 0.15.3 → 0.16.0-beta.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.d.ts CHANGED
@@ -1,4 +1,4 @@
1
- import type { ClientCallOptions, ClientTransportFactory, ClientTransportStartParams } from '@nmtjs/client';
1
+ import type { BidirectionalTransport, ClientTransportFactory, TransportConnectParams, TransportSendOptions } from '@nmtjs/client';
2
2
  import type { ProtocolVersion } from '@nmtjs/protocol';
3
3
  import type { BaseClientFormat } from '@nmtjs/protocol/client';
4
4
  import { ConnectionType } from '@nmtjs/protocol';
@@ -15,7 +15,7 @@ export type WsClientTransportOptions = {
15
15
  */
16
16
  WebSocket?: typeof WebSocket;
17
17
  };
18
- export declare class WsTransportClient {
18
+ export declare class WsTransportClient implements BidirectionalTransport {
19
19
  protected readonly format: BaseClientFormat;
20
20
  protected readonly protocol: ProtocolVersion;
21
21
  protected options: WsClientTransportOptions;
@@ -24,9 +24,9 @@ export declare class WsTransportClient {
24
24
  protected connecting: Promise<void> | null;
25
25
  protected closingByClient: boolean;
26
26
  constructor(format: BaseClientFormat, protocol: ProtocolVersion, options: WsClientTransportOptions);
27
- connect(params: ClientTransportStartParams): Promise<void>;
27
+ connect(params: TransportConnectParams): Promise<void>;
28
28
  disconnect(): Promise<void>;
29
- send(message: ArrayBufferView, options: ClientCallOptions): Promise<void>;
29
+ send(message: ArrayBufferView, options: TransportSendOptions): Promise<void>;
30
30
  }
31
- export type WsTransportFactory = ClientTransportFactory<ConnectionType.Bidirectional, WsClientTransportOptions, WsTransportClient>;
31
+ export type WsTransportFactory = ClientTransportFactory<WsTransportClient, WsClientTransportOptions>;
32
32
  export declare const WsTransportFactory: WsTransportFactory;
package/dist/index.js CHANGED
@@ -29,15 +29,17 @@ export class WsTransportClient {
29
29
  : new WebSocket(url.toString());
30
30
  ws.binaryType = 'arraybuffer';
31
31
  this.connecting = new Promise((resolve, reject) => {
32
- let settled = false;
33
- const settle = (fn) => {
34
- if (settled)
32
+ let connectSettled = false;
33
+ let opened = false;
34
+ const settleConnect = (fn) => {
35
+ if (connectSettled)
35
36
  return;
36
- settled = true;
37
+ connectSettled = true;
37
38
  fn();
38
39
  };
39
40
  ws.addEventListener('open', () => {
40
- settle(() => {
41
+ opened = true;
42
+ settleConnect(() => {
41
43
  this.connecting = null;
42
44
  params.onConnect();
43
45
  resolve();
@@ -47,7 +49,7 @@ export class WsTransportClient {
47
49
  params.onMessage(new Uint8Array(event.data));
48
50
  });
49
51
  ws.addEventListener('error', (event) => {
50
- settle(() => {
52
+ settleConnect(() => {
51
53
  this.connecting = null;
52
54
  reject(new Error('WebSocket error', {
53
55
  cause: event.error,
@@ -58,11 +60,15 @@ export class WsTransportClient {
58
60
  const reason = this.closingByClient || event.reason === 'client'
59
61
  ? 'client'
60
62
  : 'server';
61
- settle(() => {
62
- this.webSocket = null;
63
- this.connecting = null;
64
- params.onDisconnect(reason);
65
- });
63
+ this.webSocket = null;
64
+ this.connecting = null;
65
+ if (!opened) {
66
+ settleConnect(() => {
67
+ reject(new Error('WebSocket closed before opening'));
68
+ });
69
+ return;
70
+ }
71
+ params.onDisconnect(reason);
66
72
  });
67
73
  });
68
74
  this.webSocket = ws;
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -10,16 +10,16 @@
10
10
  }
11
11
  },
12
12
  "dependencies": {
13
- "@nmtjs/client": "0.15.3",
14
- "@nmtjs/common": "0.15.3"
13
+ "@nmtjs/client": "0.16.0-beta.2",
14
+ "@nmtjs/common": "0.16.0-beta.2"
15
15
  },
16
16
  "devDependencies": {
17
- "@nmtjs/protocol": "0.15.3"
17
+ "@nmtjs/protocol": "0.16.0-beta.2"
18
18
  },
19
19
  "peerDependencies": {
20
- "@nmtjs/client": "0.15.3",
21
- "@nmtjs/protocol": "0.15.3",
22
- "@nmtjs/common": "0.15.3"
20
+ "@nmtjs/common": "0.16.0-beta.2",
21
+ "@nmtjs/protocol": "0.16.0-beta.2",
22
+ "@nmtjs/client": "0.16.0-beta.2"
23
23
  },
24
24
  "files": [
25
25
  "dist",
@@ -27,7 +27,7 @@
27
27
  "LICENSE.md",
28
28
  "README.md"
29
29
  ],
30
- "version": "0.15.3",
30
+ "version": "0.16.0-beta.2",
31
31
  "scripts": {
32
32
  "clean-build": "rm -rf ./dist"
33
33
  }
package/src/index.ts CHANGED
@@ -1,7 +1,8 @@
1
1
  import type {
2
- ClientCallOptions,
2
+ BidirectionalTransport,
3
3
  ClientTransportFactory,
4
- ClientTransportStartParams,
4
+ TransportConnectParams,
5
+ TransportSendOptions,
5
6
  } from '@nmtjs/client'
6
7
  import type { ProtocolVersion } from '@nmtjs/protocol'
7
8
  import type { BaseClientFormat } from '@nmtjs/protocol/client'
@@ -23,7 +24,7 @@ export type WsClientTransportOptions = {
23
24
  WebSocket?: typeof WebSocket
24
25
  }
25
26
 
26
- export class WsTransportClient {
27
+ export class WsTransportClient implements BidirectionalTransport {
27
28
  type: ConnectionType.Bidirectional = ConnectionType.Bidirectional
28
29
 
29
30
  protected webSocket: WebSocket | null = null
@@ -38,7 +39,7 @@ export class WsTransportClient {
38
39
  this.options = { debug: false, ...options }
39
40
  }
40
41
 
41
- async connect(params: ClientTransportStartParams) {
42
+ async connect(params: TransportConnectParams) {
42
43
  this.closingByClient = false
43
44
  const url = new URL(
44
45
  params.application ? `/${params.application}` : '/',
@@ -62,15 +63,18 @@ export class WsTransportClient {
62
63
  ws.binaryType = 'arraybuffer'
63
64
 
64
65
  this.connecting = new Promise((resolve, reject) => {
65
- let settled = false
66
- const settle = (fn: () => void) => {
67
- if (settled) return
68
- settled = true
66
+ let connectSettled = false
67
+ let opened = false
68
+
69
+ const settleConnect = (fn: () => void) => {
70
+ if (connectSettled) return
71
+ connectSettled = true
69
72
  fn()
70
73
  }
71
74
 
72
75
  ws.addEventListener('open', () => {
73
- settle(() => {
76
+ opened = true
77
+ settleConnect(() => {
74
78
  this.connecting = null
75
79
  params.onConnect()
76
80
  resolve()
@@ -80,7 +84,7 @@ export class WsTransportClient {
80
84
  params.onMessage(new Uint8Array(event.data as ArrayBuffer))
81
85
  })
82
86
  ws.addEventListener('error', (event) => {
83
- settle(() => {
87
+ settleConnect(() => {
84
88
  this.connecting = null
85
89
  reject(
86
90
  new Error('WebSocket error', {
@@ -94,11 +98,17 @@ export class WsTransportClient {
94
98
  this.closingByClient || event.reason === 'client'
95
99
  ? 'client'
96
100
  : 'server'
97
- settle(() => {
98
- this.webSocket = null
99
- this.connecting = null
100
- params.onDisconnect(reason)
101
- })
101
+ this.webSocket = null
102
+ this.connecting = null
103
+
104
+ if (!opened) {
105
+ settleConnect(() => {
106
+ reject(new Error('WebSocket closed before opening'))
107
+ })
108
+ return
109
+ }
110
+
111
+ params.onDisconnect(reason)
102
112
  })
103
113
  })
104
114
 
@@ -115,7 +125,7 @@ export class WsTransportClient {
115
125
  return closing
116
126
  }
117
127
 
118
- async send(message: ArrayBufferView, options: ClientCallOptions) {
128
+ async send(message: ArrayBufferView, options: TransportSendOptions) {
119
129
  if (this.webSocket === null) throw new Error('WebSocket is not connected')
120
130
  await this.connecting
121
131
  if (!options.signal?.aborted) this.webSocket!.send(message as any)
@@ -123,9 +133,8 @@ export class WsTransportClient {
123
133
  }
124
134
 
125
135
  export type WsTransportFactory = ClientTransportFactory<
126
- ConnectionType.Bidirectional,
127
- WsClientTransportOptions,
128
- WsTransportClient
136
+ WsTransportClient,
137
+ WsClientTransportOptions
129
138
  >
130
139
 
131
140
  export const WsTransportFactory: WsTransportFactory = (params, options) =>