@m2k-5f/pgtx 2.2.0 → 2.3.0

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.
Files changed (40) hide show
  1. package/README.md +36 -17
  2. package/dist/clauses/abstract.clause.js +1 -5
  3. package/dist/clauses/array.clause.js +3 -7
  4. package/dist/clauses/empty.clause.js +3 -7
  5. package/dist/clauses/exclude.clause.js +2 -6
  6. package/dist/clauses/fragment.clause.js +4 -8
  7. package/dist/clauses/iden.caluse.js +2 -6
  8. package/dist/clauses/index.js +9 -25
  9. package/dist/clauses/insert.clause.js +2 -6
  10. package/dist/clauses/literal.clause.js +2 -6
  11. package/dist/clauses/update.clause.js +2 -6
  12. package/dist/clauses/where.clause.js +2 -6
  13. package/dist/connection.d.ts +11 -7
  14. package/dist/connection.d.ts.map +1 -1
  15. package/dist/connection.js +108 -111
  16. package/dist/error.d.ts +1 -1
  17. package/dist/error.d.ts.map +1 -1
  18. package/dist/error.js +2 -6
  19. package/dist/index.js +24 -37
  20. package/dist/pool.d.ts +9 -7
  21. package/dist/pool.d.ts.map +1 -1
  22. package/dist/pool.js +23 -38
  23. package/dist/protocol/connection-request-writer.js +13 -18
  24. package/dist/protocol/connection-response-reader.js +4 -9
  25. package/dist/protocol/constants.js +4 -7
  26. package/dist/protocol/socket-authorization.d.ts +5 -1
  27. package/dist/protocol/socket-authorization.d.ts.map +1 -1
  28. package/dist/protocol/socket-authorization.js +38 -34
  29. package/dist/protocol/socket-connector.js +3 -7
  30. package/dist/query.js +2 -6
  31. package/dist/queue.js +1 -5
  32. package/dist/security/md5.js +4 -8
  33. package/dist/security/sasl.js +7 -11
  34. package/dist/transaction.d.ts +7 -5
  35. package/dist/transaction.d.ts.map +1 -1
  36. package/dist/transaction.js +18 -26
  37. package/dist/types.js +0 -2
  38. package/dist/utils/template-compiler.js +3 -6
  39. package/dist/utils/value-parser.js +2 -7
  40. package/package.json +5 -2
package/README.md CHANGED
@@ -97,6 +97,25 @@ await pool.begin(async (tx) => {
97
97
 
98
98
  ---
99
99
 
100
+
101
+ ## 🎯 Typed Error Handling
102
+
103
+ Pgtx queries return `Future<T, PostgresError>` from [fluent-future](https://www.npmjs.com/package/fluent-future) instead of raw `Promise<T>`. This gives you:
104
+
105
+ - **Typed errors** — `PostgresError` with `code`, `severity`, `detail`
106
+ - **Declarative recovery** — `.recover()`, `.recoverIf()` instead of try/catch
107
+ - **Chain composition** — `.andThen()`, `.orElse()`, `.tap()`, `.tapErr()`
108
+
109
+ ```typescript
110
+ const users = await pool.query<User>`SELECT * FROM users WHERE id = ${1}`
111
+ .recoverIf(err => err.code === '42P01', []) // undefined_table → []
112
+ .recoverIf(err => err.code === '23505', []) // unique_violation → []
113
+ .tapErr(err => logger.error(err)) // log remaining errors
114
+ ```
115
+
116
+ ---
117
+
118
+
100
119
  ## 📖 Features
101
120
 
102
121
  ### Transactions & Savepoints
@@ -105,11 +124,11 @@ await pool.begin(async (tx) => {
105
124
  await pool.begin(async (tx) => {
106
125
  await tx.query`INSERT INTO orders (user_id) VALUES (${userId})`
107
126
 
108
- // err: Error | null
109
- const err = await tx.savepoint('update_stock', async (stx) => {
127
+ await tx.savepoint('update_stock', async (stx) => {
110
128
  await stx.query`UPDATE stock SET count = count - 1 WHERE product_id = ${productId}`
111
- if (outOfStock) throw new Error() // Only savepoint rolls back
129
+ if (outOfStock) throw new Error('out of stock') // Only savepoint rolls back
112
130
  })
131
+ .tapErr(console.log) // Error: out of stock
113
132
  })
114
133
  ```
115
134
 
@@ -280,11 +299,11 @@ await pool.query`
280
299
  class Connection {
281
300
  static new(params: ConnectionParams): Promise<Connection>
282
301
 
283
- query<T>(strings: TemplateStringsArray, ...values: any[]): Promise<T[]>
284
- begin<T>(callback: (tx: Transaction) => Promise<T>): Promise<T>
285
- notify(channelName: string, payload?: string): Promise<[]>
286
- listen(channelName: string, callback: (payload: string) => void): Promise<[]>
287
- unlisten(channelName: string, callback: (payload: string) => void): Promise<[]>
302
+ query<T>(strings: TemplateStringsArray, ...values: any[]): Promise<T[], PostgresError>
303
+ begin<T>(callback: (tx: Transaction) => Promise<T>): Future<T, Error>
304
+ notify(channelName: string, payload?: string): Future<[], PostgresError>
305
+ listen(channelName: string, callback: (payload: string) => void): Future<[], PostgresError>
306
+ unlisten(channelName: string, callback: (payload: string) => void): Future<[], PostgresError>
288
307
 
289
308
  get isAlive(): boolean
290
309
  close(): void
@@ -306,12 +325,12 @@ interface ConnectionParams {
306
325
  class Pool {
307
326
  constructor(config: PoolConfig)
308
327
 
309
- query<T>(strings: TemplateStringsArray, ...values: any[]): Promise<T[]>
310
- begin<T>(callback: (tx: Transaction) => Promise<T>): Promise<T>
311
- notify(channelName: string, payload?: string): Promise<[]>
312
- acquire(): Promise<Connection>
328
+ query<T>(strings: TemplateStringsArray, ...values: any[]): Future<T[], Error>
329
+ begin<T>(callback: (tx: Transaction) => Promise<T>): Future<T, Error>
330
+ notify(channelName: string, payload?: string): Future<[], PostgresError>
331
+ acquire(): Future<Connection, Error>
313
332
  release(conn: Connection): void
314
- close(): Promise<void>
333
+ close(): void
315
334
 
316
335
  get size(): number
317
336
  get total(): number
@@ -326,10 +345,10 @@ interface PoolConfig extends ConnectionParams {
326
345
 
327
346
  ```typescript
328
347
  class Transaction {
329
- query<T>(strings: TemplateStringsArray, ...values: any[]): Promise<T[]>
330
- commit(): Promise<void>
331
- rollback(): Promise<void>
332
- savepoint<T>(name: string, callback: (tx: Transaction) => Promise<T>): Promise<T>
348
+ query<T>(strings: TemplateStringsArray, ...values: any[]): Future<T[], PostgresError>
349
+ commit(): Future<[], PostgresError>
350
+ rollback(): Future<[], PostgresError>
351
+ savepoint<T>(name: string, callback: (tx: Transaction) => Promise<T>): Future<T, Error>
333
352
 
334
353
  get isActive(): boolean
335
354
  }
@@ -1,6 +1,2 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.Clause = void 0;
4
- class Clause {
1
+ export class Clause {
5
2
  }
6
- exports.Clause = Clause;
@@ -1,8 +1,5 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.ArrayClause = void 0;
4
- const abstract_clause_1 = require("./abstract.clause");
5
- class ArrayClause extends abstract_clause_1.Clause {
1
+ import { Clause } from "./abstract.clause";
2
+ export class ArrayClause extends Clause {
6
3
  constructor(array, separator = ", ") {
7
4
  super();
8
5
  this.array = array;
@@ -20,7 +17,7 @@ class ArrayClause extends abstract_clause_1.Clause {
20
17
  }
21
18
  if (index)
22
19
  params.text.push(this.separator);
23
- if (value instanceof abstract_clause_1.Clause) {
20
+ if (value instanceof Clause) {
24
21
  value.mapIntoQuery(params);
25
22
  }
26
23
  else {
@@ -30,4 +27,3 @@ class ArrayClause extends abstract_clause_1.Clause {
30
27
  });
31
28
  }
32
29
  }
33
- exports.ArrayClause = ArrayClause;
@@ -1,12 +1,8 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.emptyClause = exports.EmptyClause = void 0;
4
- const abstract_clause_1 = require("./abstract.clause");
5
- class EmptyClause extends abstract_clause_1.Clause {
1
+ import { Clause } from "./abstract.clause";
2
+ export class EmptyClause extends Clause {
6
3
  static create() {
7
4
  return new EmptyClause();
8
5
  }
9
6
  mapIntoQuery(params) { }
10
7
  }
11
- exports.EmptyClause = EmptyClause;
12
- exports.emptyClause = EmptyClause.create();
8
+ export const emptyClause = EmptyClause.create();
@@ -1,8 +1,5 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.ExcludeUpdateClause = void 0;
4
- const abstract_clause_1 = require("./abstract.clause");
5
- class ExcludeUpdateClause extends abstract_clause_1.Clause {
1
+ import { Clause } from "./abstract.clause";
2
+ export class ExcludeUpdateClause extends Clause {
6
3
  constructor(fields) {
7
4
  super();
8
5
  this.fields = fields;
@@ -15,4 +12,3 @@ class ExcludeUpdateClause extends abstract_clause_1.Clause {
15
12
  .join(', '));
16
13
  }
17
14
  }
18
- exports.ExcludeUpdateClause = ExcludeUpdateClause;
@@ -1,9 +1,6 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.FragmentClause = void 0;
4
- const abstract_clause_1 = require("./abstract.clause");
5
- const template_compiler_1 = require("../utils/template-compiler");
6
- class FragmentClause extends abstract_clause_1.Clause {
1
+ import { Clause, } from "./abstract.clause";
2
+ import { compileSqlTemplate } from "../utils/template-compiler";
3
+ export class FragmentClause extends Clause {
7
4
  constructor(templates, args) {
8
5
  super();
9
6
  this.templates = templates;
@@ -13,7 +10,7 @@ class FragmentClause extends abstract_clause_1.Clause {
13
10
  return new FragmentClause(strings, values);
14
11
  }
15
12
  mapIntoQuery(params) {
16
- const compiled = (0, template_compiler_1.compileSqlTemplate)({
13
+ const compiled = compileSqlTemplate({
17
14
  args: this.args,
18
15
  templates: this.templates
19
16
  }, params.args.length);
@@ -21,4 +18,3 @@ class FragmentClause extends abstract_clause_1.Clause {
21
18
  params.text.push(compiled.text);
22
19
  }
23
20
  }
24
- exports.FragmentClause = FragmentClause;
@@ -1,8 +1,5 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.IdentifierClause = void 0;
4
- const abstract_clause_1 = require("./abstract.clause");
5
- class IdentifierClause extends abstract_clause_1.Clause {
1
+ import { Clause } from "./abstract.clause";
2
+ export class IdentifierClause extends Clause {
6
3
  constructor(value) {
7
4
  super();
8
5
  this.value = value;
@@ -16,4 +13,3 @@ class IdentifierClause extends abstract_clause_1.Clause {
16
13
  params.text.push(`"${this.value}"`);
17
14
  }
18
15
  }
19
- exports.IdentifierClause = IdentifierClause;
@@ -1,25 +1,9 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
- for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
- };
16
- Object.defineProperty(exports, "__esModule", { value: true });
17
- __exportStar(require("./array.clause"), exports);
18
- __exportStar(require("./empty.clause"), exports);
19
- __exportStar(require("./exclude.clause"), exports);
20
- __exportStar(require("./fragment.clause"), exports);
21
- __exportStar(require("./iden.caluse"), exports);
22
- __exportStar(require("./insert.clause"), exports);
23
- __exportStar(require("./literal.clause"), exports);
24
- __exportStar(require("./update.clause"), exports);
25
- __exportStar(require("./where.clause"), exports);
1
+ export * from './array.clause';
2
+ export * from './empty.clause';
3
+ export * from './exclude.clause';
4
+ export * from './fragment.clause';
5
+ export * from './iden.caluse';
6
+ export * from './insert.clause';
7
+ export * from './literal.clause';
8
+ export * from './update.clause';
9
+ export * from './where.clause';
@@ -1,8 +1,5 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.InsertClause = void 0;
4
- const abstract_clause_1 = require("./abstract.clause");
5
- class InsertClause extends abstract_clause_1.Clause {
1
+ import { Clause } from "./abstract.clause";
2
+ export class InsertClause extends Clause {
6
3
  constructor(inserts) {
7
4
  super();
8
5
  this.inserts = inserts;
@@ -33,4 +30,3 @@ class InsertClause extends abstract_clause_1.Clause {
33
30
  });
34
31
  }
35
32
  }
36
- exports.InsertClause = InsertClause;
@@ -1,8 +1,5 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.LiteralClause = void 0;
4
- const abstract_clause_1 = require("./abstract.clause");
5
- class LiteralClause extends abstract_clause_1.Clause {
1
+ import { Clause } from "./abstract.clause";
2
+ export class LiteralClause extends Clause {
6
3
  constructor(value) {
7
4
  super();
8
5
  this.value = value;
@@ -17,4 +14,3 @@ class LiteralClause extends abstract_clause_1.Clause {
17
14
  params.text.push(this.value);
18
15
  }
19
16
  }
20
- exports.LiteralClause = LiteralClause;
@@ -1,8 +1,5 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.UpdateClause = void 0;
4
- const abstract_clause_1 = require("./abstract.clause");
5
- class UpdateClause extends abstract_clause_1.Clause {
1
+ import { Clause } from "./abstract.clause";
2
+ export class UpdateClause extends Clause {
6
3
  constructor(updateMap) {
7
4
  super();
8
5
  this.updateMap = updateMap;
@@ -22,4 +19,3 @@ class UpdateClause extends abstract_clause_1.Clause {
22
19
  });
23
20
  }
24
21
  }
25
- exports.UpdateClause = UpdateClause;
@@ -1,8 +1,5 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.WhereClause = void 0;
4
- const abstract_clause_1 = require("./abstract.clause");
5
- class WhereClause extends abstract_clause_1.Clause {
1
+ import { Clause } from "./abstract.clause";
2
+ export class WhereClause extends Clause {
6
3
  constructor(_value) {
7
4
  super();
8
5
  this._value = _value;
@@ -22,4 +19,3 @@ class WhereClause extends abstract_clause_1.Clause {
22
19
  });
23
20
  }
24
21
  }
25
- exports.WhereClause = WhereClause;
@@ -1,5 +1,7 @@
1
1
  import { Branded, ColumnDescription } from "./types";
2
2
  import { Transaction } from "./transaction";
3
+ import { Future } from 'fluent-future';
4
+ import { PostgresError } from "./error";
3
5
  type LogLevel = "none" | "error" | "notice" | "query";
4
6
  export type ConnectionParams = {
5
7
  user: string;
@@ -75,6 +77,7 @@ export declare class Connection {
75
77
  private _stmtCounter;
76
78
  private _logLevel;
77
79
  private _nextStatement;
80
+ private _checkOpened;
78
81
  private constructor();
79
82
  /**
80
83
  * Creates a new database connection.
@@ -94,7 +97,7 @@ export declare class Connection {
94
97
  * })
95
98
  * ```
96
99
  */
97
- static new(params: ConnectionParams): Promise<Connection>;
100
+ static new(params: ConnectionParams): Future<Connection, PostgresError>;
98
101
  /**
99
102
  * Executes a query using tagged template literals.
100
103
  *
@@ -119,7 +122,7 @@ export declare class Connection {
119
122
  * const users = await conn.query<User>`SELECT * FROM users`
120
123
  * ```
121
124
  */
122
- query<T extends Record<string, any>>(templates: TemplateStringsArray, ...params: any[]): Promise<T[]>;
125
+ query<T extends Record<string, any>>(templates: TemplateStringsArray, ...params: any[]): Future<T[], PostgresError>;
123
126
  /**
124
127
  * Starts a managed transaction on this connection.
125
128
  *
@@ -141,7 +144,7 @@ export declare class Connection {
141
144
  * })
142
145
  * ```
143
146
  */
144
- begin<T>(txCallback: (transaction: Transaction) => Promise<T>): Promise<T>;
147
+ begin<T>(txCallback: (transaction: Transaction) => Promise<T>): Future<T, Error>;
145
148
  /**
146
149
  * Sends an asynchronous notification to a channel via `pg_notify`.
147
150
  *
@@ -153,7 +156,7 @@ export declare class Connection {
153
156
  * await conn.notify('events', 'hello')
154
157
  * ```
155
158
  */
156
- notify(channelName: string, payload?: string): Promise<[]>;
159
+ notify(channelName: string, payload?: string): Future<Record<string, any>[], PostgresError>;
157
160
  /**
158
161
  * Subscribes a callback to a channel. Sends `LISTEN` on the first subscription.
159
162
  *
@@ -165,7 +168,7 @@ export declare class Connection {
165
168
  * await conn.listen('events', data => console.log(data))
166
169
  * ```
167
170
  */
168
- listen(channelName: string, callback: (payload: string) => void): Promise<Record<string, any>[]>;
171
+ listen(channelName: string, callback: (payload: string) => void): Future<Record<string, any>[], PostgresError>;
169
172
  /**
170
173
  * Unsubscribes a callback. Sends `UNLISTEN` if no callbacks remain for the channel.
171
174
  *
@@ -177,11 +180,13 @@ export declare class Connection {
177
180
  * await conn.unlisten('events', callback)
178
181
  * ```
179
182
  */
180
- unlisten(channelName: string, callback: (payload: string) => void): Promise<void> | Promise<Record<string, any>[]>;
183
+ unlisten(channelName: string, callback: (payload: string) => void): Future<[], PostgresError>;
181
184
  private _createQuery;
182
185
  private _writeQuery;
183
186
  private _registerFlush;
184
187
  private _flush;
188
+ private _registerReconnect;
189
+ private _resetConnectionState;
185
190
  private _reconnect;
186
191
  private _restoreSubscriptions;
187
192
  private _getCurrentQuery;
@@ -192,7 +197,6 @@ export declare class Connection {
192
197
  * Returns `false` if the socket is destroyed or connection is dead.
193
198
  */
194
199
  get isOpened(): boolean;
195
- private _destroyConnection;
196
200
  /**
197
201
  * Closes the connection immediately.
198
202
  * All pending queries will be rejected with an error.
@@ -1 +1 @@
1
- {"version":3,"file":"connection.d.ts","sourceRoot":"","sources":["../src/connection.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"connection.d.ts","sourceRoot":"","sources":["../src/connection.ts"],"names":[],"mappings":"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"}