@juit/pgproxy-client 1.0.1 → 1.0.3
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/client.cjs +11 -6
- package/dist/client.cjs.map +1 -1
- package/dist/client.d.ts +9 -4
- package/dist/client.mjs +11 -6
- package/dist/client.mjs.map +1 -1
- package/dist/provider.cjs +1 -1
- package/dist/provider.cjs.map +1 -1
- package/dist/provider.d.ts +2 -2
- package/dist/provider.mjs +1 -1
- package/dist/provider.mjs.map +1 -1
- package/dist/websocket.cjs +1 -1
- package/dist/websocket.cjs.map +1 -1
- package/dist/websocket.d.ts +1 -1
- package/dist/websocket.mjs +1 -1
- package/dist/websocket.mjs.map +1 -1
- package/package.json +2 -2
- package/src/client.ts +21 -13
- package/src/provider.ts +2 -2
- package/src/websocket.ts +2 -2
package/dist/client.cjs
CHANGED
|
@@ -61,6 +61,7 @@ var PGClient = class PGClientImpl {
|
|
|
61
61
|
}
|
|
62
62
|
async connect(consumer) {
|
|
63
63
|
const connection = await this._provider.acquire();
|
|
64
|
+
let transaction = false;
|
|
64
65
|
try {
|
|
65
66
|
const registry = this.registry;
|
|
66
67
|
const consumable = {
|
|
@@ -69,20 +70,24 @@ var PGClient = class PGClientImpl {
|
|
|
69
70
|
return new import_result.PGResult(result, registry);
|
|
70
71
|
},
|
|
71
72
|
async begin() {
|
|
72
|
-
|
|
73
|
-
|
|
73
|
+
if (transaction)
|
|
74
|
+
return false;
|
|
75
|
+
await connection.query("BEGIN");
|
|
76
|
+
return transaction = true;
|
|
74
77
|
},
|
|
75
78
|
async commit() {
|
|
76
|
-
await
|
|
77
|
-
|
|
79
|
+
await connection.query("COMMIT");
|
|
80
|
+
transaction = false;
|
|
78
81
|
},
|
|
79
82
|
async rollback() {
|
|
80
|
-
await
|
|
81
|
-
|
|
83
|
+
await connection.query("ROLLBACK");
|
|
84
|
+
transaction = false;
|
|
82
85
|
}
|
|
83
86
|
};
|
|
84
87
|
return await consumer(consumable);
|
|
85
88
|
} finally {
|
|
89
|
+
if (transaction)
|
|
90
|
+
await connection.query("ROLLBACK");
|
|
86
91
|
await this._provider.release(connection);
|
|
87
92
|
}
|
|
88
93
|
}
|
package/dist/client.cjs.map
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../src/client.ts"],
|
|
4
|
-
"mappings": ";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,2BAAoC;AAEpC,oBAAuB;AACvB,sBAA+B;AAC/B,oBAAyB;AAIzB,SAAS,gBAAgB,QAAkC;AACzD,MAAI,OAAO,UAAU;AAAG,WAAO,CAAC;AAEhC,QAAM,SAA4B,IAAI,MAAM,OAAO,MAAM;AACzD,WAAS,IAAI,GAAG,IAAI,OAAO,QAAQ,KAAM;AACvC,WAAO,CAAC,IACN,OAAO,CAAC,MAAM,SAAY,OAC1B,OAAO,CAAC,MAAM,OAAO,WACrB,gCAAU,OAAO,CAAC,CAAC;AAAA,EACvB;AAEA,SAAO;AACT;
|
|
4
|
+
"mappings": ";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,2BAAoC;AAEpC,oBAAuB;AACvB,sBAA+B;AAC/B,oBAAyB;AAIzB,SAAS,gBAAgB,QAAkC;AACzD,MAAI,OAAO,UAAU;AAAG,WAAO,CAAC;AAEhC,QAAM,SAA4B,IAAI,MAAM,OAAO,MAAM;AACzD,WAAS,IAAI,GAAG,IAAI,OAAO,QAAQ,KAAM;AACvC,WAAO,CAAC,IACN,OAAO,CAAC,MAAM,SAAY,OAC1B,OAAO,CAAC,MAAM,OAAO,WACrB,gCAAU,OAAO,CAAC,CAAC;AAAA,EACvB;AAEA,SAAO;AACT;AAoFO,IAAM,WAAgC,MAAM,aAAiC;AAAA,EACzE,WAAqB,IAAI,8BAAS;AAAA,EAEnC;AAAA,EAIR,YAAY,eAAyD;AACnE,oBAAgB,iBAAiB,YAAY,SAAS,KAAK;AAC3D,8BAAO,eAAe,4DAA4D;AAClF,QAAI,OAAO,kBAAkB;AAAU,sBAAgB,IAAI,IAAI,eAAe,UAAU;AACxF,8BAAO,eAAe,oCAAoC;AAE1D,QAAI,yBAAyB,KAAK;AAChC,UAAI,EAAE,cAAc,YAAY,cAAc,WAAW;AACvD,cAAM,WAAW,YAAY,SAAS,KAAK,UAAU;AACrD,cAAM,WAAW,YAAY,SAAS,KAAK,cAAc;AACzD,sBAAc,WAAW,mBAAmB,QAAQ;AACpD,sBAAc,WAAW,mBAAmB,QAAQ;AAAA,MACtD;AAAA,IACF;AAEA,SAAK,YAAY,yBAAyB,UACtC,gCAAe,aAAa,IAC5B;AAAA,EACN;AAAA,EAEA,MAAM,MAGJ,MAAc,SAAgB,CAAC,GAAkC;AACjE,UAAM,SAAS,MAAM,KAAK,UAAU,MAAM,MAAM,gBAAgB,MAAM,CAAC;AACvE,WAAO,IAAI,uBAAqB,QAAQ,KAAK,QAAQ;AAAA,EACvD;AAAA,EAEA,MAAM,QAAW,UAAqC;AACpD,UAAM,aAAa,MAAM,KAAK,UAAU,QAAQ;AAChD,QAAI,cAAc;AAElB,QAAI;AACF,YAAM,WAAW,KAAK;AAEtB,YAAM,aAAgC;AAAA,QACpC,MAAM,MAGJ,MAAc,SAAgB,CAAC,GAAkC;AACjE,gBAAM,SAAS,MAAM,WAAW,MAAM,MAAM,gBAAgB,MAAM,CAAC;AACnE,iBAAO,IAAI,uBAAS,QAAQ,QAAQ;AAAA,QACtC;AAAA,QACA,MAAM,QAA0B;AAC9B,cAAI;AAAa,mBAAO;AACxB,gBAAM,WAAW,MAAM,OAAO;AAC9B,iBAAO,cAAc;AAAA,QACvB;AAAA,QACA,MAAM,SAAwB;AAC5B,gBAAM,WAAW,MAAM,QAAQ;AAC/B,wBAAc;AAAA,QAChB;AAAA,QACA,MAAM,WAA0B;AAC9B,gBAAM,WAAW,MAAM,UAAU;AACjC,wBAAc;AAAA,QAChB;AAAA,MACF;AAEA,aAAO,MAAM,SAAS,UAAU;AAAA,IAClC,UAAE;AACA,UAAI;AAAa,cAAM,WAAW,MAAM,UAAU;AAClD,YAAM,KAAK,UAAU,QAAQ,UAAU;AAAA,IACzC;AAAA,EACF;AAAA,EAEA,MAAM,UAAyB;AAC7B,WAAO,MAAM,KAAK,UAAU,QAAQ;AAAA,EACtC;AACF;",
|
|
5
5
|
"names": []
|
|
6
6
|
}
|
package/dist/client.d.ts
CHANGED
|
@@ -16,12 +16,17 @@ export interface PGQueryable {
|
|
|
16
16
|
* An interface for an object that can execute queries _and transactions_
|
|
17
17
|
* on a database */
|
|
18
18
|
export interface PGTransactionable extends PGQueryable {
|
|
19
|
-
/**
|
|
20
|
-
|
|
19
|
+
/**
|
|
20
|
+
* Start a transaction by issuing a `BEGIN` statement
|
|
21
|
+
*
|
|
22
|
+
* @returns `true` if a transaction was created, or `false` if `begin()` was
|
|
23
|
+
* already called and a transaction was already started.
|
|
24
|
+
*/
|
|
25
|
+
begin(): Promise<boolean>;
|
|
21
26
|
/** Commit a transaction by issuing a `COMMIT` statement */
|
|
22
|
-
commit(): Promise<
|
|
27
|
+
commit(): Promise<void>;
|
|
23
28
|
/** Cancel a transaction by issuing a `ROLLBACK` statement */
|
|
24
|
-
rollback(): Promise<
|
|
29
|
+
rollback(): Promise<void>;
|
|
25
30
|
}
|
|
26
31
|
/** A consumer for a {@link PGTransactionable} connection */
|
|
27
32
|
export type PGConsumer<T> = (connection: PGTransactionable) => T | PromiseLike<T>;
|
package/dist/client.mjs
CHANGED
|
@@ -37,6 +37,7 @@ var PGClient = class PGClientImpl {
|
|
|
37
37
|
}
|
|
38
38
|
async connect(consumer) {
|
|
39
39
|
const connection = await this._provider.acquire();
|
|
40
|
+
let transaction = false;
|
|
40
41
|
try {
|
|
41
42
|
const registry = this.registry;
|
|
42
43
|
const consumable = {
|
|
@@ -45,20 +46,24 @@ var PGClient = class PGClientImpl {
|
|
|
45
46
|
return new PGResult(result, registry);
|
|
46
47
|
},
|
|
47
48
|
async begin() {
|
|
48
|
-
|
|
49
|
-
|
|
49
|
+
if (transaction)
|
|
50
|
+
return false;
|
|
51
|
+
await connection.query("BEGIN");
|
|
52
|
+
return transaction = true;
|
|
50
53
|
},
|
|
51
54
|
async commit() {
|
|
52
|
-
await
|
|
53
|
-
|
|
55
|
+
await connection.query("COMMIT");
|
|
56
|
+
transaction = false;
|
|
54
57
|
},
|
|
55
58
|
async rollback() {
|
|
56
|
-
await
|
|
57
|
-
|
|
59
|
+
await connection.query("ROLLBACK");
|
|
60
|
+
transaction = false;
|
|
58
61
|
}
|
|
59
62
|
};
|
|
60
63
|
return await consumer(consumable);
|
|
61
64
|
} finally {
|
|
65
|
+
if (transaction)
|
|
66
|
+
await connection.query("ROLLBACK");
|
|
62
67
|
await this._provider.release(connection);
|
|
63
68
|
}
|
|
64
69
|
}
|
package/dist/client.mjs.map
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../src/client.ts"],
|
|
4
|
-
"mappings": ";AAAA,SAAS,UAAU,iBAAiB;AAEpC,SAAS,cAAc;AACvB,SAAS,sBAAsB;AAC/B,SAAS,gBAAgB;AAIzB,SAAS,gBAAgB,QAAkC;AACzD,MAAI,OAAO,UAAU;AAAG,WAAO,CAAC;AAEhC,QAAM,SAA4B,IAAI,MAAM,OAAO,MAAM;AACzD,WAAS,IAAI,GAAG,IAAI,OAAO,QAAQ,KAAM;AACvC,WAAO,CAAC,IACN,OAAO,CAAC,MAAM,SAAY,OAC1B,OAAO,CAAC,MAAM,OAAO,OACrB,UAAU,OAAO,CAAC,CAAC;AAAA,EACvB;AAEA,SAAO;AACT;
|
|
4
|
+
"mappings": ";AAAA,SAAS,UAAU,iBAAiB;AAEpC,SAAS,cAAc;AACvB,SAAS,sBAAsB;AAC/B,SAAS,gBAAgB;AAIzB,SAAS,gBAAgB,QAAkC;AACzD,MAAI,OAAO,UAAU;AAAG,WAAO,CAAC;AAEhC,QAAM,SAA4B,IAAI,MAAM,OAAO,MAAM;AACzD,WAAS,IAAI,GAAG,IAAI,OAAO,QAAQ,KAAM;AACvC,WAAO,CAAC,IACN,OAAO,CAAC,MAAM,SAAY,OAC1B,OAAO,CAAC,MAAM,OAAO,OACrB,UAAU,OAAO,CAAC,CAAC;AAAA,EACvB;AAEA,SAAO;AACT;AAoFO,IAAM,WAAgC,MAAM,aAAiC;AAAA,EACzE,WAAqB,IAAI,SAAS;AAAA,EAEnC;AAAA,EAIR,YAAY,eAAyD;AACnE,oBAAgB,iBAAiB,YAAY,SAAS,KAAK;AAC3D,WAAO,eAAe,4DAA4D;AAClF,QAAI,OAAO,kBAAkB;AAAU,sBAAgB,IAAI,IAAI,eAAe,UAAU;AACxF,WAAO,eAAe,oCAAoC;AAE1D,QAAI,yBAAyB,KAAK;AAChC,UAAI,EAAE,cAAc,YAAY,cAAc,WAAW;AACvD,cAAM,WAAW,YAAY,SAAS,KAAK,UAAU;AACrD,cAAM,WAAW,YAAY,SAAS,KAAK,cAAc;AACzD,sBAAc,WAAW,mBAAmB,QAAQ;AACpD,sBAAc,WAAW,mBAAmB,QAAQ;AAAA,MACtD;AAAA,IACF;AAEA,SAAK,YAAY,yBAAyB,MACtC,eAAe,aAAa,IAC5B;AAAA,EACN;AAAA,EAEA,MAAM,MAGJ,MAAc,SAAgB,CAAC,GAAkC;AACjE,UAAM,SAAS,MAAM,KAAK,UAAU,MAAM,MAAM,gBAAgB,MAAM,CAAC;AACvE,WAAO,IAAI,SAAqB,QAAQ,KAAK,QAAQ;AAAA,EACvD;AAAA,EAEA,MAAM,QAAW,UAAqC;AACpD,UAAM,aAAa,MAAM,KAAK,UAAU,QAAQ;AAChD,QAAI,cAAc;AAElB,QAAI;AACF,YAAM,WAAW,KAAK;AAEtB,YAAM,aAAgC;AAAA,QACpC,MAAM,MAGJ,MAAc,SAAgB,CAAC,GAAkC;AACjE,gBAAM,SAAS,MAAM,WAAW,MAAM,MAAM,gBAAgB,MAAM,CAAC;AACnE,iBAAO,IAAI,SAAS,QAAQ,QAAQ;AAAA,QACtC;AAAA,QACA,MAAM,QAA0B;AAC9B,cAAI;AAAa,mBAAO;AACxB,gBAAM,WAAW,MAAM,OAAO;AAC9B,iBAAO,cAAc;AAAA,QACvB;AAAA,QACA,MAAM,SAAwB;AAC5B,gBAAM,WAAW,MAAM,QAAQ;AAC/B,wBAAc;AAAA,QAChB;AAAA,QACA,MAAM,WAA0B;AAC9B,gBAAM,WAAW,MAAM,UAAU;AACjC,wBAAc;AAAA,QAChB;AAAA,MACF;AAEA,aAAO,MAAM,SAAS,UAAU;AAAA,IAClC,UAAE;AACA,UAAI;AAAa,cAAM,WAAW,MAAM,UAAU;AAClD,YAAM,KAAK,UAAU,QAAQ,UAAU;AAAA,IACzC;AAAA,EACF;AAAA,EAEA,MAAM,UAAyB;AAC7B,WAAO,MAAM,KAAK,UAAU,QAAQ;AAAA,EACtC;AACF;",
|
|
5
5
|
"names": []
|
|
6
6
|
}
|
package/dist/provider.cjs
CHANGED
|
@@ -27,7 +27,7 @@ __export(provider_exports, {
|
|
|
27
27
|
module.exports = __toCommonJS(provider_exports);
|
|
28
28
|
var import_assert = require("./assert.cjs");
|
|
29
29
|
var AbstractPGProvider = class {
|
|
30
|
-
async query(text, params) {
|
|
30
|
+
async query(text, params = []) {
|
|
31
31
|
const connection = await this.acquire();
|
|
32
32
|
try {
|
|
33
33
|
return await connection.query(text, params);
|
package/dist/provider.cjs.map
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../src/provider.ts"],
|
|
4
|
-
"mappings": ";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,oBAAuB;AAqChB,IAAe,qBAAf,MAC2B;AAAA,EAIhC,MAAM,MAAM,MAAc,
|
|
4
|
+
"mappings": ";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,oBAAuB;AAqChB,IAAe,qBAAf,MAC2B;AAAA,EAIhC,MAAM,MAAM,MAAc,SAA4B,CAAC,GAAgC;AACrF,UAAM,aAAa,MAAM,KAAK,QAAQ;AACtC,QAAI;AACF,aAAO,MAAM,WAAW,MAAM,MAAM,MAAM;AAAA,IAC5C,UAAE;AACA,YAAM,KAAK,QAAQ,UAAU;AAAA,IAC/B;AAAA,EACF;AAAA,EAEA,MAAM,UAAyB;AAAA,EAE/B;AACF;AAOA,IAAM,YAAY,oBAAI,IAAiD;AAGhE,SAAS,iBACZ,UACA,aACI;AACN,aAAW,GAAG,QAAQ;AACtB,4BAAO,CAAE,UAAU,IAAI,QAAQ,GAAG,4BAA4B,QAAQ,yBAAyB;AAC/F,YAAU,IAAI,UAAU,WAAW;AACnC,YAAU,IAAI,UAAU,WAAW;AACrC;AAGO,SAAS,eAAe,KAAoC;AACjE,QAAM,WAAW,UAAU,IAAI,IAAI,QAAQ;AAC3C,4BAAO,UAAU,0CAA0C,IAAI,QAAQ,MAAM;AAC7E,SAAO,IAAI,SAAS,GAAG;AACzB;",
|
|
5
5
|
"names": []
|
|
6
6
|
}
|
package/dist/provider.d.ts
CHANGED
|
@@ -11,7 +11,7 @@ export interface PGConnectionResult {
|
|
|
11
11
|
rows: (string | null)[][];
|
|
12
12
|
}
|
|
13
13
|
export interface PGConnection {
|
|
14
|
-
query(text: string, params
|
|
14
|
+
query(text: string, params?: (string | null)[]): Promise<PGConnectionResult>;
|
|
15
15
|
}
|
|
16
16
|
export interface PGProviderConstructor<Connection extends PGConnection> {
|
|
17
17
|
new (url: URL): PGProvider<Connection>;
|
|
@@ -24,7 +24,7 @@ export interface PGProvider<Connection extends PGConnection> extends PGConnectio
|
|
|
24
24
|
export declare abstract class AbstractPGProvider<Connection extends PGConnection> implements PGProvider<Connection> {
|
|
25
25
|
abstract acquire(): Promise<Connection>;
|
|
26
26
|
abstract release(connection: PGConnection): Promise<void>;
|
|
27
|
-
query(text: string, params
|
|
27
|
+
query(text: string, params?: (string | null)[]): Promise<PGConnectionResult>;
|
|
28
28
|
destroy(): Promise<void>;
|
|
29
29
|
}
|
|
30
30
|
/** Register a provider, associating it with the specified protocol */
|
package/dist/provider.mjs
CHANGED
package/dist/provider.mjs.map
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../src/provider.ts"],
|
|
4
|
-
"mappings": ";AAAA,SAAS,cAAc;AAqChB,IAAe,qBAAf,MAC2B;AAAA,EAIhC,MAAM,MAAM,MAAc,
|
|
4
|
+
"mappings": ";AAAA,SAAS,cAAc;AAqChB,IAAe,qBAAf,MAC2B;AAAA,EAIhC,MAAM,MAAM,MAAc,SAA4B,CAAC,GAAgC;AACrF,UAAM,aAAa,MAAM,KAAK,QAAQ;AACtC,QAAI;AACF,aAAO,MAAM,WAAW,MAAM,MAAM,MAAM;AAAA,IAC5C,UAAE;AACA,YAAM,KAAK,QAAQ,UAAU;AAAA,IAC/B;AAAA,EACF;AAAA,EAEA,MAAM,UAAyB;AAAA,EAE/B;AACF;AAOA,IAAM,YAAY,oBAAI,IAAiD;AAGhE,SAAS,iBACZ,UACA,aACI;AACN,aAAW,GAAG,QAAQ;AACtB,SAAO,CAAE,UAAU,IAAI,QAAQ,GAAG,4BAA4B,QAAQ,yBAAyB;AAC/F,YAAU,IAAI,UAAU,WAAW;AACnC,YAAU,IAAI,UAAU,WAAW;AACrC;AAGO,SAAS,eAAe,KAAoC;AACjE,QAAM,WAAW,UAAU,IAAI,IAAI,QAAQ;AAC3C,SAAO,UAAU,0CAA0C,IAAI,QAAQ,MAAM;AAC7E,SAAO,IAAI,SAAS,GAAG;AACzB;",
|
|
5
5
|
"names": []
|
|
6
6
|
}
|
package/dist/websocket.cjs
CHANGED
|
@@ -107,7 +107,7 @@ var WebSocketConnectionImpl = class {
|
|
|
107
107
|
return;
|
|
108
108
|
this._socket.close(1e3, "Normal termination");
|
|
109
109
|
}
|
|
110
|
-
query(query, params) {
|
|
110
|
+
query(query, params = []) {
|
|
111
111
|
if (this._error)
|
|
112
112
|
return Promise.reject(this._error);
|
|
113
113
|
return new Promise((resolve, reject) => {
|
package/dist/websocket.cjs.map
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../src/websocket.ts"],
|
|
4
|
-
"mappings": ";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,oBAAuB;AAWvB,IAAM,wBAAwB;AAAA,EAC5B,YAAY;AAAA,EACZ,MAAM;AAAA,EACN,SAAS;AAAA,EACT,QAAQ;AACV;AAoCA,SAAS,IAAI,SAAoC,gBAAgC;AAC/E,SAAO,WAAW;AACpB;AAGA,IAAM,mBAAN,MAAuB;AAAA,EAKrB,YAAmB,IAAY;AAAZ;AACjB,SAAK,UAAU,IAAI,QAAQ,CAAC,SAAS,WAAW,OAAO,iBAAiB,MAAM;AAAA,MAC5E,SAAS,EAAE,OAAO,QAAQ;AAAA,MAC1B,QAAQ,EAAE,OAAO,OAAO;AAAA,IAC1B,CAAC,CAAC;AAAA,EACJ;AAAA,EATS;AAAA,EACA;AAAA,EACA;AAQX;AAGA,IAAM,0BAAN,MAA6D;AAAA,EAM3D,YAAoB,SAA8B,eAA6B;AAA3D;AAA8B;AAEhD,YAAQ,iBAAiB,SAAS,CAAC,UAAU;AAE3C,UAAI,CAAE,KAAK,QAAQ;AACjB,cAAM,SAAS,IAAI,MAAM,QAAQ,gBAAgB;AACjD,cAAM,UAAU,qBAAqB,MAAM,IAAI,MAAM,MAAM;AAC3D,aAAK,SAAS,IAAI,MAAM,OAAO;AAAA,MACjC;AAGA,iBAAW,OAAO,KAAK,UAAU,OAAO;AAAG,YAAI,OAAO,KAAK,MAAM;AACjE,WAAK,UAAU,MAAM;AAAA,IACvB,CAAC;AAGD,YAAQ,iBAAiB,SAAS,CAAC,UAAU;AAC3C,UAAI,MAAM;AAAO,aAAK,SAAS,MAAM;AAAA;AAChC,aAAK,SAAS,IAAI,MAAM,yBAAyB;AAGtD,iBAAW,OAAO,KAAK,UAAU,OAAO;AAAG,YAAI,OAAO,KAAK,MAAM;AACjE,WAAK,UAAU,MAAM;AAGrB,WAAK,MAAM;AAAA,IACb,CAAC;AAGD,YAAQ,iBAAiB,WAAW,CAAC,UAAU;AAC7C,UAAI;AAEF,cAAM,OAAO,MAAM;AACnB,kCAAO,OAAO,SAAS,UAAU,qBAAqB;AAGtD,YAAI;AACJ,YAAI;AACF,oBAAU,KAAK,MAAM,IAAI;AAAA,QAC3B,SAAS,OAAO;AACd,gBAAM,IAAI,MAAM,8BAA8B;AAAA,QAChD;AAGA,kCAAO,WAAY,OAAO,YAAY,UAAW,+BAA+B;AAGhF,cAAM,UAAU,KAAK,UAAU,IAAI,QAAQ,EAAE;AAC7C,kCAAO,SAAS,wBAAwB,QAAQ,EAAE,GAAG;AAGrD,YAAI,QAAQ,eAAe,KAAK;AAC9B,eAAK,UAAU,OAAO,QAAQ,EAAE;AAChC,iBAAO,QAAQ,QAAQ,OAAO;AAAA,QAChC,WAAW,QAAQ,eAAe,KAAK;AACrC,eAAK,UAAU,OAAO,QAAQ,EAAE;AAChC,iBAAO,QAAQ,OAAO,IAAI,MAAM,GAAG,IAAI,QAAQ,OAAO,eAAe,CAAC,KAAK,QAAQ,UAAU,GAAG,CAAC;AAAA,QACnG,OAAO;AACL,gBAAM,IAAI,MAAM,GAAG,IAAI,QAAQ,OAAO,eAAe,CAAC,KAAK,QAAQ,UAAU,GAAG;AAAA,QAClF;AAAA,MACF,SAAS,OAAY;AACnB,gBAAQ,MAAM,MAAM,IAAI,MAAM,SAAS,cAAc,CAAC;AAAA,MACxD;AAAA,IACF,CAAC;AAAA,EACH;AAAA;AAAA,EApEQ,YAAY,oBAAI,IAA8B;AAAA;AAAA,EAE9C;AAAA,EAoER,QAAc;AACZ,QAAI,KAAK,QAAQ,eAAe,sBAAsB;AAAQ;AAE9D,QAAI,KAAK,QAAQ,eAAe,sBAAsB;AAAS;AAC/D,SAAK,QAAQ,MAAM,KAAM,oBAAoB;AAAA,EAC/C;AAAA,EAEA,MAAM,OAAe,
|
|
4
|
+
"mappings": "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",
|
|
5
5
|
"names": []
|
|
6
6
|
}
|
package/dist/websocket.d.ts
CHANGED
|
@@ -30,7 +30,7 @@ export interface WebSocketConnection extends PGConnection {
|
|
|
30
30
|
/** An abstract provider implementing `connect(...)` via WHATWG WebSockets */
|
|
31
31
|
export declare abstract class WebSocketProvider implements PGProvider<WebSocketConnection> {
|
|
32
32
|
private readonly _connections;
|
|
33
|
-
abstract query(text: string, params
|
|
33
|
+
abstract query(text: string, params?: (string | null)[]): Promise<PGConnectionResult>;
|
|
34
34
|
/** Return a unique request identifier to correlate responses */
|
|
35
35
|
protected abstract _getUniqueRequestId(): string;
|
|
36
36
|
/**
|
package/dist/websocket.mjs
CHANGED
|
@@ -83,7 +83,7 @@ var WebSocketConnectionImpl = class {
|
|
|
83
83
|
return;
|
|
84
84
|
this._socket.close(1e3, "Normal termination");
|
|
85
85
|
}
|
|
86
|
-
query(query, params) {
|
|
86
|
+
query(query, params = []) {
|
|
87
87
|
if (this._error)
|
|
88
88
|
return Promise.reject(this._error);
|
|
89
89
|
return new Promise((resolve, reject) => {
|
package/dist/websocket.mjs.map
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../src/websocket.ts"],
|
|
4
|
-
"mappings": ";AAAA,SAAS,cAAc;AAWvB,IAAM,wBAAwB;AAAA,EAC5B,YAAY;AAAA,EACZ,MAAM;AAAA,EACN,SAAS;AAAA,EACT,QAAQ;AACV;AAoCA,SAAS,IAAI,SAAoC,gBAAgC;AAC/E,SAAO,WAAW;AACpB;AAGA,IAAM,mBAAN,MAAuB;AAAA,EAKrB,YAAmB,IAAY;AAAZ;AACjB,SAAK,UAAU,IAAI,QAAQ,CAAC,SAAS,WAAW,OAAO,iBAAiB,MAAM;AAAA,MAC5E,SAAS,EAAE,OAAO,QAAQ;AAAA,MAC1B,QAAQ,EAAE,OAAO,OAAO;AAAA,IAC1B,CAAC,CAAC;AAAA,EACJ;AAAA,EATS;AAAA,EACA;AAAA,EACA;AAQX;AAGA,IAAM,0BAAN,MAA6D;AAAA,EAM3D,YAAoB,SAA8B,eAA6B;AAA3D;AAA8B;AAEhD,YAAQ,iBAAiB,SAAS,CAAC,UAAU;AAE3C,UAAI,CAAE,KAAK,QAAQ;AACjB,cAAM,SAAS,IAAI,MAAM,QAAQ,gBAAgB;AACjD,cAAM,UAAU,qBAAqB,MAAM,IAAI,MAAM,MAAM;AAC3D,aAAK,SAAS,IAAI,MAAM,OAAO;AAAA,MACjC;AAGA,iBAAW,OAAO,KAAK,UAAU,OAAO;AAAG,YAAI,OAAO,KAAK,MAAM;AACjE,WAAK,UAAU,MAAM;AAAA,IACvB,CAAC;AAGD,YAAQ,iBAAiB,SAAS,CAAC,UAAU;AAC3C,UAAI,MAAM;AAAO,aAAK,SAAS,MAAM;AAAA;AAChC,aAAK,SAAS,IAAI,MAAM,yBAAyB;AAGtD,iBAAW,OAAO,KAAK,UAAU,OAAO;AAAG,YAAI,OAAO,KAAK,MAAM;AACjE,WAAK,UAAU,MAAM;AAGrB,WAAK,MAAM;AAAA,IACb,CAAC;AAGD,YAAQ,iBAAiB,WAAW,CAAC,UAAU;AAC7C,UAAI;AAEF,cAAM,OAAO,MAAM;AACnB,eAAO,OAAO,SAAS,UAAU,qBAAqB;AAGtD,YAAI;AACJ,YAAI;AACF,oBAAU,KAAK,MAAM,IAAI;AAAA,QAC3B,SAAS,OAAO;AACd,gBAAM,IAAI,MAAM,8BAA8B;AAAA,QAChD;AAGA,eAAO,WAAY,OAAO,YAAY,UAAW,+BAA+B;AAGhF,cAAM,UAAU,KAAK,UAAU,IAAI,QAAQ,EAAE;AAC7C,eAAO,SAAS,wBAAwB,QAAQ,EAAE,GAAG;AAGrD,YAAI,QAAQ,eAAe,KAAK;AAC9B,eAAK,UAAU,OAAO,QAAQ,EAAE;AAChC,iBAAO,QAAQ,QAAQ,OAAO;AAAA,QAChC,WAAW,QAAQ,eAAe,KAAK;AACrC,eAAK,UAAU,OAAO,QAAQ,EAAE;AAChC,iBAAO,QAAQ,OAAO,IAAI,MAAM,GAAG,IAAI,QAAQ,OAAO,eAAe,CAAC,KAAK,QAAQ,UAAU,GAAG,CAAC;AAAA,QACnG,OAAO;AACL,gBAAM,IAAI,MAAM,GAAG,IAAI,QAAQ,OAAO,eAAe,CAAC,KAAK,QAAQ,UAAU,GAAG;AAAA,QAClF;AAAA,MACF,SAAS,OAAY;AACnB,gBAAQ,MAAM,MAAM,IAAI,MAAM,SAAS,cAAc,CAAC;AAAA,MACxD;AAAA,IACF,CAAC;AAAA,EACH;AAAA;AAAA,EApEQ,YAAY,oBAAI,IAA8B;AAAA;AAAA,EAE9C;AAAA,EAoER,QAAc;AACZ,QAAI,KAAK,QAAQ,eAAe,sBAAsB;AAAQ;AAE9D,QAAI,KAAK,QAAQ,eAAe,sBAAsB;AAAS;AAC/D,SAAK,QAAQ,MAAM,KAAM,oBAAoB;AAAA,EAC/C;AAAA,EAEA,MAAM,OAAe,
|
|
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.0.
|
|
3
|
+
"version": "1.0.3",
|
|
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.0.
|
|
38
|
+
"@juit/pgproxy-types": "1.0.3"
|
|
39
39
|
},
|
|
40
40
|
"directories": {
|
|
41
41
|
"test": "test"
|
package/src/client.ts
CHANGED
|
@@ -38,12 +38,17 @@ export interface PGQueryable {
|
|
|
38
38
|
* An interface for an object that can execute queries _and transactions_
|
|
39
39
|
* on a database */
|
|
40
40
|
export interface PGTransactionable extends PGQueryable {
|
|
41
|
-
/**
|
|
42
|
-
|
|
41
|
+
/**
|
|
42
|
+
* Start a transaction by issuing a `BEGIN` statement
|
|
43
|
+
*
|
|
44
|
+
* @returns `true` if a transaction was created, or `false` if `begin()` was
|
|
45
|
+
* already called and a transaction was already started.
|
|
46
|
+
*/
|
|
47
|
+
begin(): Promise<boolean>
|
|
43
48
|
/** Commit a transaction by issuing a `COMMIT` statement */
|
|
44
|
-
commit(): Promise<
|
|
49
|
+
commit(): Promise<void>
|
|
45
50
|
/** Cancel a transaction by issuing a `ROLLBACK` statement */
|
|
46
|
-
rollback(): Promise<
|
|
51
|
+
rollback(): Promise<void>
|
|
47
52
|
}
|
|
48
53
|
|
|
49
54
|
|
|
@@ -134,6 +139,7 @@ export const PGClient: PGClientConstructor = class PGClientImpl implements PGCli
|
|
|
134
139
|
|
|
135
140
|
async connect<T>(consumer: PGConsumer<T>): Promise<T> {
|
|
136
141
|
const connection = await this._provider.acquire()
|
|
142
|
+
let transaction = false
|
|
137
143
|
|
|
138
144
|
try {
|
|
139
145
|
const registry = this.registry
|
|
@@ -146,22 +152,24 @@ export const PGClient: PGClientConstructor = class PGClientImpl implements PGCli
|
|
|
146
152
|
const result = await connection.query(text, serializeParams(params))
|
|
147
153
|
return new PGResult(result, registry)
|
|
148
154
|
},
|
|
149
|
-
async begin(): Promise<
|
|
150
|
-
|
|
151
|
-
|
|
155
|
+
async begin(): Promise<boolean> {
|
|
156
|
+
if (transaction) return false
|
|
157
|
+
await connection.query('BEGIN')
|
|
158
|
+
return transaction = true
|
|
152
159
|
},
|
|
153
|
-
async commit(): Promise<
|
|
154
|
-
await
|
|
155
|
-
|
|
160
|
+
async commit(): Promise<void> {
|
|
161
|
+
await connection.query('COMMIT')
|
|
162
|
+
transaction = false
|
|
156
163
|
},
|
|
157
|
-
async rollback(): Promise<
|
|
158
|
-
await
|
|
159
|
-
|
|
164
|
+
async rollback(): Promise<void> {
|
|
165
|
+
await connection.query('ROLLBACK')
|
|
166
|
+
transaction = false
|
|
160
167
|
},
|
|
161
168
|
}
|
|
162
169
|
|
|
163
170
|
return await consumer(consumable)
|
|
164
171
|
} finally {
|
|
172
|
+
if (transaction) await connection.query('ROLLBACK')
|
|
165
173
|
await this._provider.release(connection)
|
|
166
174
|
}
|
|
167
175
|
}
|
package/src/provider.ts
CHANGED
|
@@ -18,7 +18,7 @@ export interface PGConnectionResult {
|
|
|
18
18
|
}
|
|
19
19
|
|
|
20
20
|
export interface PGConnection {
|
|
21
|
-
query(text: string, params
|
|
21
|
+
query(text: string, params?: (string | null)[]): Promise<PGConnectionResult>
|
|
22
22
|
}
|
|
23
23
|
|
|
24
24
|
export interface PGProviderConstructor<Connection extends PGConnection> {
|
|
@@ -40,7 +40,7 @@ implements PGProvider<Connection> {
|
|
|
40
40
|
abstract acquire(): Promise<Connection>
|
|
41
41
|
abstract release(connection: PGConnection): Promise<void>
|
|
42
42
|
|
|
43
|
-
async query(text: string, params: string[]): Promise<PGConnectionResult> {
|
|
43
|
+
async query(text: string, params: (string | null)[] = []): Promise<PGConnectionResult> {
|
|
44
44
|
const connection = await this.acquire()
|
|
45
45
|
try {
|
|
46
46
|
return await connection.query(text, params)
|
package/src/websocket.ts
CHANGED
|
@@ -148,7 +148,7 @@ class WebSocketConnectionImpl implements WebSocketConnection {
|
|
|
148
148
|
this._socket.close(1000, 'Normal termination')
|
|
149
149
|
}
|
|
150
150
|
|
|
151
|
-
query(query: string, params: (string | null)[]): Promise<PGConnectionResult> {
|
|
151
|
+
query(query: string, params: (string | null)[] = []): Promise<PGConnectionResult> {
|
|
152
152
|
/* The error is set also when the websocket is closed, soooooo... */
|
|
153
153
|
if (this._error) return Promise.reject(this._error)
|
|
154
154
|
|
|
@@ -186,7 +186,7 @@ export interface WebSocketConnection extends PGConnection {
|
|
|
186
186
|
export abstract class WebSocketProvider implements PGProvider<WebSocketConnection> {
|
|
187
187
|
private readonly _connections = new Set<WebSocketConnection>()
|
|
188
188
|
|
|
189
|
-
abstract query(text: string, params
|
|
189
|
+
abstract query(text: string, params?: (string | null)[]): Promise<PGConnectionResult>
|
|
190
190
|
|
|
191
191
|
/** Return a unique request identifier to correlate responses */
|
|
192
192
|
protected abstract _getUniqueRequestId(): string
|