@juit/pgproxy-client 1.4.40 → 1.5.1

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.
@@ -25,12 +25,6 @@ __export(websocket_exports, {
25
25
  module.exports = __toCommonJS(websocket_exports);
26
26
  var import_assert = require("./assert.cjs");
27
27
  var import_provider = require("./provider.cjs");
28
- var pgWebSocketReadyState = {
29
- CONNECTING: 0,
30
- OPEN: 1,
31
- CLOSING: 2,
32
- CLOSED: 3
33
- };
34
28
  function msg(message, defaultMessage) {
35
29
  return message || defaultMessage;
36
30
  }
@@ -101,8 +95,8 @@ var WebSocketConnectionImpl = class {
101
95
  /** Our error, set also when the websocket is closed */
102
96
  _error;
103
97
  close() {
104
- if (this._socket.readyState === pgWebSocketReadyState.CLOSED) return;
105
- if (this._socket.readyState === pgWebSocketReadyState.CLOSING) return;
98
+ if (this._socket.readyState === WebSocket.CLOSED) return;
99
+ if (this._socket.readyState === WebSocket.CLOSING) return;
106
100
  this._socket.close(1e3, "Normal termination");
107
101
  }
108
102
  query(query, params = []) {
@@ -130,8 +124,8 @@ var WebSocketProvider = class extends import_provider.AbstractPGProvider {
130
124
  */
131
125
  _connectWebSocket(socket) {
132
126
  return new Promise((resolve, reject) => {
133
- if (socket.readyState === pgWebSocketReadyState.OPEN) return resolve(socket);
134
- if (socket.readyState !== pgWebSocketReadyState.CONNECTING) {
127
+ if (socket.readyState === WebSocket.OPEN) return resolve(socket);
128
+ if (socket.readyState !== WebSocket.CONNECTING) {
135
129
  return reject(new Error(`Invalid WebSocket ready state ${socket.readyState}`));
136
130
  }
137
131
  const onopen = () => {
@@ -140,7 +134,7 @@ var WebSocketProvider = class extends import_provider.AbstractPGProvider {
140
134
  };
141
135
  const onerror = (event) => {
142
136
  removeEventListeners();
143
- if ("error" in event) return reject(event.error);
137
+ if (event.error) return reject(event.error);
144
138
  reject(new Error("Uknown error opening WebSocket"));
145
139
  };
146
140
  const onclose = (event) => {
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../src/websocket.ts"],
4
- "mappings": "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",
4
+ "mappings": "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",
5
5
  "names": []
6
6
  }
@@ -1,28 +1,5 @@
1
1
  import { AbstractPGProvider } from './provider';
2
2
  import type { PGProvider, PGProviderConnection, PGProviderResult } from './provider';
3
- interface PGWebSocketCloseEvent {
4
- readonly code: number;
5
- readonly reason: string;
6
- }
7
- interface PGWebSocketMessageEvent {
8
- readonly data?: any;
9
- }
10
- interface PGWebSocketErrorEvent {
11
- readonly error?: any;
12
- }
13
- export interface PGWebSocket {
14
- addEventListener(event: 'close', handler: (event: PGWebSocketCloseEvent) => void): void;
15
- addEventListener(event: 'error', handler: (event: PGWebSocketErrorEvent) => void): void;
16
- addEventListener(event: 'message', handler: (event: PGWebSocketMessageEvent) => void): void;
17
- addEventListener(event: 'open', handler: () => void): void;
18
- removeEventListener(event: 'close', handler: (event: PGWebSocketCloseEvent) => void): void;
19
- removeEventListener(event: 'error', handler: (event: PGWebSocketErrorEvent) => void): void;
20
- removeEventListener(event: 'message', handler: (event: PGWebSocketMessageEvent) => void): void;
21
- removeEventListener(event: 'open', handler: () => void): void;
22
- readonly readyState: number;
23
- send(message: string): void;
24
- close(code?: number, reason?: string): void;
25
- }
26
3
  /** A connection to the database backed by a `WebSocket` */
27
4
  export interface WebSocketConnection extends PGProviderConnection {
28
5
  /** Close this connection and the underlying `WebSocket` */
@@ -46,16 +23,15 @@ export declare abstract class WebSocketProvider extends AbstractPGProvider imple
46
23
  * `close`, or `error` events before the event loop has a chance to resolve
47
24
  * the `Promise` asynchronously.
48
25
  */
49
- protected abstract _getWebSocket(): Promise<PGWebSocket>;
26
+ protected abstract _getWebSocket(): Promise<WebSocket>;
50
27
  /**
51
28
  * Handle the initial connection of a WebSocket.
52
29
  *
53
30
  * This method should be called _synchronously_ by {@link WebSocketProvider._getWebSocket} as
54
31
  * soon as the WebSocket instance is created.
55
32
  */
56
- protected _connectWebSocket<S extends PGWebSocket>(socket: S): Promise<S>;
33
+ protected _connectWebSocket<S extends WebSocket>(socket: S): Promise<S>;
57
34
  acquire(): Promise<WebSocketConnection>;
58
35
  release(connection: WebSocketConnection): Promise<void>;
59
36
  destroy(): Promise<void>;
60
37
  }
61
- export {};
@@ -1,12 +1,6 @@
1
1
  // websocket.ts
2
2
  import { assert } from "./assert.mjs";
3
3
  import { AbstractPGProvider } from "./provider.mjs";
4
- var pgWebSocketReadyState = {
5
- CONNECTING: 0,
6
- OPEN: 1,
7
- CLOSING: 2,
8
- CLOSED: 3
9
- };
10
4
  function msg(message, defaultMessage) {
11
5
  return message || defaultMessage;
12
6
  }
@@ -77,8 +71,8 @@ var WebSocketConnectionImpl = class {
77
71
  /** Our error, set also when the websocket is closed */
78
72
  _error;
79
73
  close() {
80
- if (this._socket.readyState === pgWebSocketReadyState.CLOSED) return;
81
- if (this._socket.readyState === pgWebSocketReadyState.CLOSING) return;
74
+ if (this._socket.readyState === WebSocket.CLOSED) return;
75
+ if (this._socket.readyState === WebSocket.CLOSING) return;
82
76
  this._socket.close(1e3, "Normal termination");
83
77
  }
84
78
  query(query, params = []) {
@@ -106,8 +100,8 @@ var WebSocketProvider = class extends AbstractPGProvider {
106
100
  */
107
101
  _connectWebSocket(socket) {
108
102
  return new Promise((resolve, reject) => {
109
- if (socket.readyState === pgWebSocketReadyState.OPEN) return resolve(socket);
110
- if (socket.readyState !== pgWebSocketReadyState.CONNECTING) {
103
+ if (socket.readyState === WebSocket.OPEN) return resolve(socket);
104
+ if (socket.readyState !== WebSocket.CONNECTING) {
111
105
  return reject(new Error(`Invalid WebSocket ready state ${socket.readyState}`));
112
106
  }
113
107
  const onopen = () => {
@@ -116,7 +110,7 @@ var WebSocketProvider = class extends AbstractPGProvider {
116
110
  };
117
111
  const onerror = (event) => {
118
112
  removeEventListeners();
119
- if ("error" in event) return reject(event.error);
113
+ if (event.error) return reject(event.error);
120
114
  reject(new Error("Uknown error opening WebSocket"));
121
115
  };
122
116
  const onclose = (event) => {
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../src/websocket.ts"],
4
- "mappings": "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",
4
+ "mappings": "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",
5
5
  "names": []
6
6
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@juit/pgproxy-client",
3
- "version": "1.4.40",
3
+ "version": "1.5.1",
4
4
  "main": "./dist/index.cjs",
5
5
  "module": "./dist/index.mjs",
6
6
  "types": "./dist/index.d.ts",
@@ -35,7 +35,7 @@
35
35
  },
36
36
  "homepage": "https://github.com/juitnow/juit-pgproxy#readme",
37
37
  "dependencies": {
38
- "@juit/pgproxy-types": "1.4.40"
38
+ "@juit/pgproxy-types": "1.5.1"
39
39
  },
40
40
  "directories": {
41
41
  "test": "test"
package/src/websocket.ts CHANGED
@@ -4,48 +4,6 @@ import { AbstractPGProvider } from './provider'
4
4
  import type { Request, Response } from '@juit/pgproxy-server'
5
5
  import type { PGProvider, PGProviderConnection, PGProviderResult } from './provider'
6
6
 
7
- /* ========================================================================== *
8
- * WEBSOCKET TYPES: in order to work with both WHATWG WebSockets and NodeJS's *
9
- * "ws" package, let's abstract our _minimal_ requirement for implementation *
10
- * ensuring type compatibility between the two variants. *
11
- * ========================================================================== */
12
-
13
- const pgWebSocketReadyState = {
14
- CONNECTING: 0,
15
- OPEN: 1,
16
- CLOSING: 2,
17
- CLOSED: 3,
18
- } as const
19
-
20
- interface PGWebSocketCloseEvent {
21
- readonly code: number;
22
- readonly reason: string;
23
- }
24
-
25
- interface PGWebSocketMessageEvent {
26
- readonly data?: any
27
- }
28
-
29
- interface PGWebSocketErrorEvent {
30
- readonly error?: any
31
- }
32
-
33
- export interface PGWebSocket {
34
- addEventListener(event: 'close', handler: (event: PGWebSocketCloseEvent) => void): void
35
- addEventListener(event: 'error', handler: (event: PGWebSocketErrorEvent) => void): void
36
- addEventListener(event: 'message', handler: (event: PGWebSocketMessageEvent) => void): void
37
- addEventListener(event: 'open', handler: () => void): void
38
- removeEventListener(event: 'close', handler: (event: PGWebSocketCloseEvent) => void): void
39
- removeEventListener(event: 'error', handler: (event: PGWebSocketErrorEvent) => void): void
40
- removeEventListener(event: 'message', handler: (event: PGWebSocketMessageEvent) => void): void
41
- removeEventListener(event: 'open', handler: () => void): void
42
-
43
- readonly readyState: number;
44
-
45
- send(message: string): void
46
- close(code?: number, reason?: string): void;
47
- }
48
-
49
7
  /* ========================================================================== *
50
8
  * INTERNALS *
51
9
  * ========================================================================== */
@@ -76,7 +34,7 @@ class WebSocketConnectionImpl implements WebSocketConnection {
76
34
  /** Our error, set also when the websocket is closed */
77
35
  private _error?: any
78
36
 
79
- constructor(private _socket: PGWebSocket, private _getRequestId: () => string) {
37
+ constructor(private _socket: WebSocket, private _getRequestId: () => string) {
80
38
  /* On close, set the error to "WebSocket Closed" if none was set before */
81
39
  _socket.addEventListener('close', (event) => {
82
40
  /* Keep the first error we received... */
@@ -92,7 +50,7 @@ class WebSocketConnectionImpl implements WebSocketConnection {
92
50
  })
93
51
 
94
52
  /* On errors, make sure that the websocket is closed */
95
- _socket.addEventListener('error', (event) => {
53
+ _socket.addEventListener('error', (event: Event & { error?: any }) => {
96
54
  if (event.error) this._error = event.error
97
55
  else this._error = new Error('Unknown WebSocket Error')
98
56
 
@@ -143,9 +101,9 @@ class WebSocketConnectionImpl implements WebSocketConnection {
143
101
  }
144
102
 
145
103
  close(): void {
146
- if (this._socket.readyState === pgWebSocketReadyState.CLOSED) return
104
+ if (this._socket.readyState === WebSocket.CLOSED) return
147
105
  /* coverage ignore if */
148
- if (this._socket.readyState === pgWebSocketReadyState.CLOSING) return
106
+ if (this._socket.readyState === WebSocket.CLOSING) return
149
107
  this._socket.close(1000, 'Normal termination')
150
108
  }
151
109
 
@@ -204,7 +162,7 @@ export abstract class WebSocketProvider extends AbstractPGProvider implements PG
204
162
  * `close`, or `error` events before the event loop has a chance to resolve
205
163
  * the `Promise` asynchronously.
206
164
  */
207
- protected abstract _getWebSocket(): Promise<PGWebSocket>
165
+ protected abstract _getWebSocket(): Promise<WebSocket>
208
166
 
209
167
  /**
210
168
  * Handle the initial connection of a WebSocket.
@@ -212,12 +170,12 @@ export abstract class WebSocketProvider extends AbstractPGProvider implements PG
212
170
  * This method should be called _synchronously_ by {@link WebSocketProvider._getWebSocket} as
213
171
  * soon as the WebSocket instance is created.
214
172
  */
215
- protected _connectWebSocket<S extends PGWebSocket>(socket: S): Promise<S> {
173
+ protected _connectWebSocket<S extends WebSocket>(socket: S): Promise<S> {
216
174
  return new Promise<S>((resolve, reject) => {
217
175
  /* The socket might have already connected (or failed connecting) in the
218
176
  * time it takes for the event loop to resolve our promise... */
219
- if (socket.readyState === pgWebSocketReadyState.OPEN) return resolve(socket)
220
- if (socket.readyState !== pgWebSocketReadyState.CONNECTING) {
177
+ if (socket.readyState === WebSocket.OPEN) return resolve(socket)
178
+ if (socket.readyState !== WebSocket.CONNECTING) {
221
179
  return reject(new Error(`Invalid WebSocket ready state ${socket.readyState}`))
222
180
  }
223
181
 
@@ -226,13 +184,13 @@ export abstract class WebSocketProvider extends AbstractPGProvider implements PG
226
184
  resolve(socket)
227
185
  }
228
186
 
229
- const onerror = (event: PGWebSocketErrorEvent): void => {
187
+ const onerror = (event: Event & { error?: any }): void => {
230
188
  removeEventListeners()
231
- if ('error' in event) return reject(event.error)
189
+ if (event.error) return reject(event.error)
232
190
  reject(new Error('Uknown error opening WebSocket'))
233
191
  }
234
192
 
235
- const onclose = (event: PGWebSocketCloseEvent): void => {
193
+ const onclose = (event: Event & { code?: number; reason?: string }): void => {
236
194
  removeEventListeners()
237
195
  reject(new Error(`Connection closed with code ${event.code}: ${event.reason}`))
238
196
  }