bare-ws 2.0.3 → 2.0.4

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/lib/errors.d.ts CHANGED
@@ -1,11 +1,5 @@
1
1
  declare class WebSocketError extends Error {
2
- constructor(
3
- msg: string,
4
- code: string,
5
- status: number,
6
- fn?: WebSocketError,
7
- cause?: unknown
8
- )
2
+ constructor(msg: string, code: string, status: number, fn?: WebSocketError, cause?: unknown)
9
3
 
10
4
  static NETWORK_ERROR(msg: string, cause?: unknown): WebSocketError
11
5
  static NOT_CONNECTED(msg?: string): WebSocketError
package/lib/errors.js CHANGED
@@ -16,22 +16,11 @@ module.exports = class WebSocketError extends Error {
16
16
  }
17
17
 
18
18
  static NETWORK_ERROR(msg, cause) {
19
- return new WebSocketError(
20
- msg,
21
- 'NETWORK_ERROR',
22
- 0,
23
- WebSocketError.NETWORK_ERROR,
24
- cause
25
- )
19
+ return new WebSocketError(msg, 'NETWORK_ERROR', 0, WebSocketError.NETWORK_ERROR, cause)
26
20
  }
27
21
 
28
22
  static NOT_CONNECTED(msg = 'Socket is not connected') {
29
- return new WebSocketError(
30
- msg,
31
- 'NOT_CONNECTED',
32
- 0,
33
- WebSocketError.NOT_CONNECTED
34
- )
23
+ return new WebSocketError(msg, 'NOT_CONNECTED', 0, WebSocketError.NOT_CONNECTED)
35
24
  }
36
25
 
37
26
  static UNEXPECTED_RSV1(msg = 'RSV1 must be unset') {
@@ -170,11 +159,6 @@ module.exports = class WebSocketError extends Error {
170
159
  }
171
160
 
172
161
  static INCOMPLETE_FRAME(msg = 'Incomplete frame', length = -1) {
173
- return new WebSocketError(
174
- msg,
175
- 'INCOMPLETE_FRAME',
176
- length,
177
- WebSocketError.INCOMPLETE_FRAME
178
- )
162
+ return new WebSocketError(msg, 'INCOMPLETE_FRAME', length, WebSocketError.INCOMPLETE_FRAME)
179
163
  }
180
164
  }
package/lib/frame.js CHANGED
@@ -19,13 +19,7 @@ module.exports = exports = class Frame {
19
19
  payload = EMPTY
20
20
  }
21
21
 
22
- const {
23
- fin = true,
24
- rsv1 = false,
25
- rsv2 = false,
26
- rsv3 = false,
27
- mask = null
28
- } = opts
22
+ const { fin = true, rsv1 = false, rsv2 = false, rsv3 = false, mask = null } = opts
29
23
 
30
24
  this.fin = fin
31
25
  this.rsv1 = rsv1
package/lib/server.d.ts CHANGED
@@ -7,9 +7,7 @@ import Buffer from 'bare-buffer'
7
7
  import WebSocket from './socket'
8
8
  import WebSocketError from './errors'
9
9
 
10
- interface WebSocketServerOptions
11
- extends HTTPServerConnectionOptions,
12
- HTTPSServerConnectionOptions {
10
+ interface WebSocketServerOptions extends HTTPServerConnectionOptions, HTTPSServerConnectionOptions {
13
11
  secure?: boolean
14
12
  }
15
13
 
@@ -18,15 +16,14 @@ interface WebSocketServerEvents extends DuplexEvents {
18
16
  listening: []
19
17
  }
20
18
 
21
- interface WebSocketServer<
22
- M extends WebSocketServerEvents = WebSocketServerEvents
23
- > extends EventEmitter<M> {
19
+ interface WebSocketServer<M extends WebSocketServerEvents = WebSocketServerEvents>
20
+ extends EventEmitter<M> {
24
21
  readonly listening: boolean
25
22
 
26
23
  address(): TCPSocketAddress
27
- close(cb?: (err: WebSocketError | null) => void): void
28
- ref(): void
29
- unref(): void
24
+ close(cb?: (err?: Error | null) => void): this
25
+ ref(): this
26
+ unref(): this
30
27
  }
31
28
 
32
29
  declare class WebSocketServer {
@@ -41,10 +38,7 @@ declare class WebSocketServer {
41
38
  declare namespace WebSocketServer {
42
39
  export { type WebSocketServerOptions, type WebSocketServerEvents }
43
40
 
44
- export function handshake(
45
- req: HTTPClientRequest,
46
- cb: (err: WebSocketError | null) => void
47
- ): void
41
+ export function handshake(req: HTTPClientRequest, cb: (err: WebSocketError | null) => void): void
48
42
 
49
43
  export function handshake(
50
44
  req: HTTPClientRequest,
package/lib/server.js CHANGED
@@ -44,15 +44,21 @@ module.exports = exports = class WebSocketServer extends EventEmitter {
44
44
  }
45
45
 
46
46
  close(cb) {
47
- return this._server.close(cb)
47
+ this._server.close(cb)
48
+
49
+ return this
48
50
  }
49
51
 
50
52
  ref() {
51
53
  this._server.ref()
54
+
55
+ return this
52
56
  }
53
57
 
54
58
  unref() {
55
59
  this._server.unref()
60
+
61
+ return this
56
62
  }
57
63
 
58
64
  _onlistening() {
@@ -80,12 +86,7 @@ module.exports = exports = class WebSocketServer extends EventEmitter {
80
86
  }
81
87
 
82
88
  // https://datatracker.ietf.org/doc/html/rfc6455#section-4.2
83
- exports.handshake = function handshake(
84
- req,
85
- socket = req.socket,
86
- head = EMPTY,
87
- cb
88
- ) {
89
+ exports.handshake = function handshake(req, socket = req.socket, head = EMPTY, cb) {
89
90
  if (typeof socket === 'function') {
90
91
  cb = socket
91
92
  socket = req.socket
@@ -111,11 +112,7 @@ exports.handshake = function handshake(
111
112
  return cb(errors.INVALID_KEY_HEADER())
112
113
  }
113
114
 
114
- const digest = crypto
115
- .createHash('sha1')
116
- .update(key)
117
- .update(GUID)
118
- .digest('base64')
115
+ const digest = crypto.createHash('sha1').update(key).update(GUID).digest('base64')
119
116
 
120
117
  socket.write(
121
118
  'HTTP/1.1 101 Web Socket Protocol Handshake' +
package/lib/socket.d.ts CHANGED
@@ -18,8 +18,7 @@ interface WebSocketEvents extends DuplexEvents {
18
18
  pong: [payload: unknown]
19
19
  }
20
20
 
21
- interface WebSocket<M extends WebSocketEvents = WebSocketEvents>
22
- extends Duplex<M> {
21
+ interface WebSocket<M extends WebSocketEvents = WebSocketEvents> extends Duplex<M> {
23
22
  ping(data: unknown): void
24
23
  pong(data: unknown): void
25
24
  }
package/lib/socket.js CHANGED
@@ -24,8 +24,7 @@ module.exports = exports = class WebSocket extends Duplex {
24
24
 
25
25
  // For Node.js compatibility
26
26
  opts.host = opts.hostname || opts.host
27
- opts.port =
28
- typeof opts.port === 'string' ? parseInt(opts.port, 10) : opts.port
27
+ opts.port = typeof opts.port === 'string' ? parseInt(opts.port, 10) : opts.port
29
28
  }
30
29
 
31
30
  const { isServer = false, socket = null } = opts
@@ -53,9 +52,7 @@ module.exports = exports = class WebSocket extends Duplex {
53
52
 
54
53
  if (typeof data === 'string') data = Buffer.from(data)
55
54
 
56
- this._socket.write(
57
- new Frame(opcode.PING, data, { mask: this._mask }).toBuffer()
58
- )
55
+ this._socket.write(new Frame(opcode.PING, data, { mask: this._mask }).toBuffer())
59
56
  }
60
57
 
61
58
  pong(data) {
@@ -63,9 +60,7 @@ module.exports = exports = class WebSocket extends Duplex {
63
60
 
64
61
  if (typeof data === 'string') data = Buffer.from(data)
65
62
 
66
- this._socket.write(
67
- new Frame(opcode.PONG, data, { mask: this._mask }).toBuffer()
68
- )
63
+ this._socket.write(new Frame(opcode.PONG, data, { mask: this._mask }).toBuffer())
69
64
  }
70
65
 
71
66
  _attach(socket) {
@@ -107,10 +102,7 @@ module.exports = exports = class WebSocket extends Duplex {
107
102
  this._buffered += data.byteLength
108
103
 
109
104
  while (this._frame === -1 || this._frame <= this._buffered) {
110
- const buffer =
111
- this._buffer.length === 1
112
- ? this._buffer[0]
113
- : Buffer.concat(this._buffer)
105
+ const buffer = this._buffer.length === 1 ? this._buffer[0] : Buffer.concat(this._buffer)
114
106
 
115
107
  this._buffer = [buffer]
116
108
 
@@ -225,11 +217,9 @@ module.exports = exports = class WebSocket extends Duplex {
225
217
  return cb(errors.INVALID_ENCODING())
226
218
  }
227
219
 
228
- const frame = new Frame(
229
- encoding === 'buffer' ? opcode.BINARY : opcode.TEXT,
230
- data,
231
- { mask: this._mask }
232
- )
220
+ const frame = new Frame(encoding === 'buffer' ? opcode.BINARY : opcode.TEXT, data, {
221
+ mask: this._mask
222
+ })
233
223
 
234
224
  if (this._socket.write(frame.toBuffer())) cb(null)
235
225
  else this._pendingWrite = cb
@@ -263,11 +253,7 @@ exports.handshake = function handshake(req, cb) {
263
253
  return cb(errors.INVALID_UPGRADE_HEADER())
264
254
  }
265
255
 
266
- const digest = crypto
267
- .createHash('sha1')
268
- .update(key)
269
- .update(GUID)
270
- .digest('base64')
256
+ const digest = crypto.createHash('sha1').update(key).update(GUID).digest('base64')
271
257
 
272
258
  if (res.headers['sec-websocket-accept'] !== digest) {
273
259
  return cb(errors.INVALID_ACCEPT_HEADER())
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "bare-ws",
3
- "version": "2.0.3",
3
+ "version": "2.0.4",
4
4
  "description": "WebSocket library for JavaScript",
5
5
  "exports": {
6
6
  ".": {
@@ -48,7 +48,7 @@
48
48
  "bare-url": "^2.1.3",
49
49
  "brittle": "^3.3.0",
50
50
  "prettier": "^3.4.1",
51
- "prettier-config-standard": "^7.0.0"
51
+ "prettier-config-holepunch": "^2.0.0"
52
52
  },
53
53
  "peerDependencies": {
54
54
  "bare-buffer": "*",