@juit/pgproxy-client 1.0.2 → 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 CHANGED
@@ -70,19 +70,18 @@ var PGClient = class PGClientImpl {
70
70
  return new import_result.PGResult(result, registry);
71
71
  },
72
72
  async begin() {
73
+ if (transaction)
74
+ return false;
73
75
  await connection.query("BEGIN");
74
- transaction = true;
75
- return this;
76
+ return transaction = true;
76
77
  },
77
78
  async commit() {
78
79
  await connection.query("COMMIT");
79
80
  transaction = false;
80
- return this;
81
81
  },
82
82
  async rollback() {
83
83
  await connection.query("ROLLBACK");
84
84
  transaction = false;
85
- return this;
86
85
  }
87
86
  };
88
87
  return await consumer(consumable);
@@ -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;AA+EO,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,QAAoC;AACxC,gBAAM,WAAW,MAAM,OAAO;AAC9B,wBAAc;AACd,iBAAO;AAAA,QACT;AAAA,QACA,MAAM,SAAqC;AACzC,gBAAM,WAAW,MAAM,QAAQ;AAC/B,wBAAc;AACd,iBAAO;AAAA,QACT;AAAA,QACA,MAAM,WAAuC;AAC3C,gBAAM,WAAW,MAAM,UAAU;AACjC,wBAAc;AACd,iBAAO;AAAA,QACT;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;",
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
- /** Start a transaction by issuing a `BEGIN` statement */
20
- begin(): Promise<this>;
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<this>;
27
+ commit(): Promise<void>;
23
28
  /** Cancel a transaction by issuing a `ROLLBACK` statement */
24
- rollback(): Promise<this>;
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
@@ -46,19 +46,18 @@ var PGClient = class PGClientImpl {
46
46
  return new PGResult(result, registry);
47
47
  },
48
48
  async begin() {
49
+ if (transaction)
50
+ return false;
49
51
  await connection.query("BEGIN");
50
- transaction = true;
51
- return this;
52
+ return transaction = true;
52
53
  },
53
54
  async commit() {
54
55
  await connection.query("COMMIT");
55
56
  transaction = false;
56
- return this;
57
57
  },
58
58
  async rollback() {
59
59
  await connection.query("ROLLBACK");
60
60
  transaction = false;
61
- return this;
62
61
  }
63
62
  };
64
63
  return await consumer(consumable);
@@ -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;AA+EO,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,QAAoC;AACxC,gBAAM,WAAW,MAAM,OAAO;AAC9B,wBAAc;AACd,iBAAO;AAAA,QACT;AAAA,QACA,MAAM,SAAqC;AACzC,gBAAM,WAAW,MAAM,QAAQ;AAC/B,wBAAc;AACd,iBAAO;AAAA,QACT;AAAA,QACA,MAAM,WAAuC;AAC3C,gBAAM,WAAW,MAAM,UAAU;AACjC,wBAAc;AACd,iBAAO;AAAA,QACT;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;",
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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@juit/pgproxy-client",
3
- "version": "1.0.2",
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.2"
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
- /** Start a transaction by issuing a `BEGIN` statement */
42
- begin(): Promise<this>
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<this>
49
+ commit(): Promise<void>
45
50
  /** Cancel a transaction by issuing a `ROLLBACK` statement */
46
- rollback(): Promise<this>
51
+ rollback(): Promise<void>
47
52
  }
48
53
 
49
54
 
@@ -147,20 +152,18 @@ export const PGClient: PGClientConstructor = class PGClientImpl implements PGCli
147
152
  const result = await connection.query(text, serializeParams(params))
148
153
  return new PGResult(result, registry)
149
154
  },
150
- async begin(): Promise<PGTransactionable> {
155
+ async begin(): Promise<boolean> {
156
+ if (transaction) return false
151
157
  await connection.query('BEGIN')
152
- transaction = true
153
- return this
158
+ return transaction = true
154
159
  },
155
- async commit(): Promise<PGTransactionable> {
160
+ async commit(): Promise<void> {
156
161
  await connection.query('COMMIT')
157
162
  transaction = false
158
- return this
159
163
  },
160
- async rollback(): Promise<PGTransactionable> {
164
+ async rollback(): Promise<void> {
161
165
  await connection.query('ROLLBACK')
162
166
  transaction = false
163
- return this
164
167
  },
165
168
  }
166
169