@effect/sql-pg 0.50.1 → 0.50.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.
@@ -3,7 +3,7 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.makeCompiler = exports.make = exports.layerConfig = exports.layer = exports.TypeId = exports.PgClient = void 0;
6
+ exports.makeCompiler = exports.make = exports.layerFromPool = exports.layerConfig = exports.layer = exports.fromPool = exports.TypeId = exports.PgClient = void 0;
7
7
  var Reactivity = _interopRequireWildcard(require("@effect/experimental/Reactivity"));
8
8
  var Client = _interopRequireWildcard(require("@effect/sql/SqlClient"));
9
9
  var _SqlError = require("@effect/sql/SqlError");
@@ -45,43 +45,9 @@ const TypeId = exports.TypeId = "~@effect/sql-pg/PgClient";
45
45
  * @since 1.0.0
46
46
  */
47
47
  const PgClient = exports.PgClient = /*#__PURE__*/Context.GenericTag("@effect/sql-pg/PgClient");
48
- /**
49
- * @category constructors
50
- * @since 1.0.0
51
- */
52
- const make = options => Effect.gen(function* () {
48
+ const makeClient = (pool, config, options) => Effect.gen(function* () {
53
49
  const compiler = makeCompiler(options.transformQueryNames, options.transformJson);
54
50
  const transformRows = options.transformResultNames ? Statement.defaultTransforms(options.transformResultNames, options.transformJson).array : undefined;
55
- const pool = new Pg.Pool({
56
- connectionString: options.url ? Redacted.value(options.url) : undefined,
57
- user: options.username,
58
- host: options.host,
59
- database: options.database,
60
- password: options.password ? Redacted.value(options.password) : undefined,
61
- ssl: options.ssl,
62
- port: options.port,
63
- connectionTimeoutMillis: options.connectTimeout ? Duration.toMillis(options.connectTimeout) : undefined,
64
- idleTimeoutMillis: options.idleTimeout ? Duration.toMillis(options.idleTimeout) : undefined,
65
- max: options.maxConnections,
66
- min: options.minConnections,
67
- maxLifetimeSeconds: options.connectionTTL ? Duration.toSeconds(options.connectionTTL) : undefined,
68
- application_name: options.applicationName ?? "@effect/sql-pg",
69
- types: options.types
70
- });
71
- pool.on("error", _err => {});
72
- yield* Effect.acquireRelease(Effect.tryPromise({
73
- try: () => pool.query("SELECT 1"),
74
- catch: cause => new _SqlError.SqlError({
75
- cause,
76
- message: "PgClient: Failed to connect"
77
- })
78
- }), () => Effect.promise(() => pool.end()).pipe(Effect.interruptible, Effect.timeoutOption(1000))).pipe(Effect.timeoutFail({
79
- duration: options.connectTimeout ?? Duration.seconds(5),
80
- onTimeout: () => new _SqlError.SqlError({
81
- cause: new Error("Connection timed out"),
82
- message: "PgClient: Connection timed out"
83
- })
84
- }));
85
51
  class ConnectionImpl {
86
52
  pg;
87
53
  constructor(pg) {
@@ -257,27 +223,11 @@ const make = options => Effect.gen(function* () {
257
223
  const listenClient = yield* RcRef.make({
258
224
  acquire: reserveRaw
259
225
  });
260
- let config = options;
261
- if (pool.options.connectionString) {
262
- try {
263
- const parsed = PgConnString.parse(pool.options.connectionString);
264
- config = {
265
- ...config,
266
- host: config.host ?? parsed.host ?? undefined,
267
- port: config.port ?? (parsed.port ? Option.getOrUndefined(Number.parse(parsed.port)) : undefined),
268
- username: config.username ?? parsed.user ?? undefined,
269
- password: config.password ?? (parsed.password ? Redacted.make(parsed.password) : undefined),
270
- database: config.database ?? parsed.database ?? undefined
271
- };
272
- } catch {
273
- //
274
- }
275
- }
276
226
  return Object.assign(yield* Client.make({
277
227
  acquirer: Effect.succeed(new ConnectionImpl()),
278
228
  transactionAcquirer: reserve,
279
229
  compiler,
280
- spanAttributes: [...(options.spanAttributes ? Object.entries(options.spanAttributes) : []), [ATTR_DB_SYSTEM_NAME, "postgresql"], [ATTR_DB_NAMESPACE, options.database ?? options.username ?? "postgres"], [ATTR_SERVER_ADDRESS, options.host ?? "localhost"], [ATTR_SERVER_PORT, options.port ?? 5432]],
230
+ spanAttributes: [...(options.spanAttributes ? Object.entries(options.spanAttributes) : []), [ATTR_DB_SYSTEM_NAME, "postgresql"], [ATTR_DB_NAMESPACE, config.database ?? config.username ?? "postgres"], [ATTR_SERVER_ADDRESS, config.host ?? "localhost"], [ATTR_SERVER_PORT, config.port ?? 5432]],
281
231
  transformRows
282
232
  }), {
283
233
  [TypeId]: TypeId,
@@ -317,7 +267,101 @@ const make = options => Effect.gen(function* () {
317
267
  })
318
268
  });
319
269
  });
270
+ /**
271
+ * @category constructors
272
+ * @since 1.0.0
273
+ */
274
+ const make = options => Effect.gen(function* () {
275
+ const pool = new Pg.Pool({
276
+ connectionString: options.url ? Redacted.value(options.url) : undefined,
277
+ user: options.username,
278
+ host: options.host,
279
+ database: options.database,
280
+ password: options.password ? Redacted.value(options.password) : undefined,
281
+ ssl: options.ssl,
282
+ port: options.port,
283
+ ...(options.stream ? {
284
+ stream: options.stream
285
+ } : {}),
286
+ connectionTimeoutMillis: options.connectTimeout ? Duration.toMillis(options.connectTimeout) : undefined,
287
+ idleTimeoutMillis: options.idleTimeout ? Duration.toMillis(options.idleTimeout) : undefined,
288
+ max: options.maxConnections,
289
+ min: options.minConnections,
290
+ maxLifetimeSeconds: options.connectionTTL ? Duration.toSeconds(options.connectionTTL) : undefined,
291
+ application_name: options.applicationName ?? "@effect/sql-pg",
292
+ types: options.types
293
+ });
294
+ pool.on("error", _err => {});
295
+ yield* Effect.acquireRelease(Effect.tryPromise({
296
+ try: () => pool.query("SELECT 1"),
297
+ catch: cause => new _SqlError.SqlError({
298
+ cause,
299
+ message: "PgClient: Failed to connect"
300
+ })
301
+ }), () => Effect.promise(() => pool.end()).pipe(Effect.interruptible, Effect.timeoutOption(1000))).pipe(Effect.timeoutFail({
302
+ duration: options.connectTimeout ?? Duration.seconds(5),
303
+ onTimeout: () => new _SqlError.SqlError({
304
+ cause: new Error("Connection timed out"),
305
+ message: "PgClient: Connection timed out"
306
+ })
307
+ }));
308
+ let config = options;
309
+ if (pool.options.connectionString) {
310
+ try {
311
+ const parsed = PgConnString.parse(pool.options.connectionString);
312
+ config = {
313
+ ...config,
314
+ host: config.host ?? parsed.host ?? undefined,
315
+ port: config.port ?? (parsed.port ? Option.getOrUndefined(Number.parse(parsed.port)) : undefined),
316
+ username: config.username ?? parsed.user ?? undefined,
317
+ password: config.password ?? (parsed.password ? Redacted.make(parsed.password) : undefined),
318
+ database: config.database ?? parsed.database ?? undefined
319
+ };
320
+ } catch {
321
+ //
322
+ }
323
+ }
324
+ return yield* makeClient(pool, config, options);
325
+ });
326
+ /**
327
+ * Create a `PgClient` from an existing `pg` pool.
328
+ *
329
+ * You control the pool lifecycle via `acquire` (typically `Effect.acquireRelease`).
330
+ *
331
+ * @category constructors
332
+ * @since 1.0.0
333
+ */
320
334
  exports.make = make;
335
+ const fromPool = exports.fromPool = /*#__PURE__*/Effect.fnUntraced(function* (options) {
336
+ const pool = yield* options.acquire;
337
+ let config = {
338
+ url: pool.options.connectionString ? Redacted.make(pool.options.connectionString) : undefined,
339
+ host: pool.options.host,
340
+ port: pool.options.port,
341
+ database: pool.options.database,
342
+ username: pool.options.user,
343
+ password: typeof pool.options.password === "string" ? Redacted.make(pool.options.password) : undefined,
344
+ ssl: pool.options.ssl,
345
+ applicationName: pool.options.application_name,
346
+ types: pool.options.types
347
+ };
348
+ if (pool.options.connectionString) {
349
+ try {
350
+ const parsed = PgConnString.parse(pool.options.connectionString);
351
+ config = {
352
+ ...config,
353
+ host: config.host ?? parsed.host ?? undefined,
354
+ port: config.port ?? (parsed.port ? Option.getOrUndefined(Number.parse(parsed.port)) : undefined),
355
+ username: config.username ?? parsed.user ?? undefined,
356
+ password: config.password ?? (parsed.password ? Redacted.make(parsed.password) : undefined),
357
+ database: config.database ?? parsed.database ?? undefined
358
+ };
359
+ } catch {
360
+ //
361
+ }
362
+ }
363
+ return yield* makeClient(pool, config, options);
364
+ });
321
365
  const cancelEffects = /*#__PURE__*/new WeakMap();
322
366
  const makeCancel = (pool, client) => {
323
367
  if (cancelEffects.has(client)) {
@@ -347,10 +391,16 @@ const layerConfig = config => Layer.scopedContext(Config.unwrap(config).pipe(Eff
347
391
  exports.layerConfig = layerConfig;
348
392
  const layer = config => Layer.scopedContext(Effect.map(make(config), client => Context.make(PgClient, client).pipe(Context.add(Client.SqlClient, client)))).pipe(Layer.provide(Reactivity.layer));
349
393
  /**
350
- * @category constructor
394
+ * @category layers
351
395
  * @since 1.0.0
352
396
  */
353
397
  exports.layer = layer;
398
+ const layerFromPool = options => Layer.scopedContext(Effect.map(fromPool(options), client => Context.make(PgClient, client).pipe(Context.add(Client.SqlClient, client)))).pipe(Layer.provide(Reactivity.layer));
399
+ /**
400
+ * @category constructor
401
+ * @since 1.0.0
402
+ */
403
+ exports.layerFromPool = layerFromPool;
354
404
  const makeCompiler = (transform, transformJson = true) => {
355
405
  const transformValue = transformJson && transform ? Statement.defaultTransforms(transform).value : undefined;
356
406
  return Statement.makeCompiler({
@@ -1 +1 @@
1
- {"version":3,"file":"PgClient.js","names":["Reactivity","_interopRequireWildcard","require","Client","_SqlError","Statement","Arr","Chunk","Config","Context","Duration","Effect","Fiber","Layer","Number","Option","RcRef","Redacted","Scope","Stream","Pg","PgConnString","_pgCursor","_interopRequireDefault","e","__esModule","default","t","WeakMap","r","n","o","i","f","__proto__","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","ATTR_DB_SYSTEM_NAME","ATTR_DB_NAMESPACE","ATTR_SERVER_ADDRESS","ATTR_SERVER_PORT","TypeId","exports","PgClient","GenericTag","make","options","gen","compiler","makeCompiler","transformQueryNames","transformJson","transformRows","transformResultNames","defaultTransforms","array","undefined","pool","Pool","connectionString","url","value","user","username","host","database","password","ssl","port","connectionTimeoutMillis","connectTimeout","toMillis","idleTimeoutMillis","idleTimeout","max","maxConnections","min","minConnections","maxLifetimeSeconds","connectionTTL","toSeconds","application_name","applicationName","types","on","_err","acquireRelease","tryPromise","try","query","catch","cause","SqlError","message","promise","end","pipe","interruptible","timeoutOption","timeoutFail","duration","seconds","onTimeout","Error","ConnectionImpl","pg","constructor","runWithClient","async","resume","makeCancel","done","cancel","client","onError","cleanup","fail","release","off","connect","client_","once","eff","suspend","void","ensuring","sync","run","params","err","result","succeed","Array","isArray","map","rows","execute","sql","executeRaw","executeWithoutTransform","executeValues","text","rowMode","values","executeUnprepared","executeStream","self","scope","reserveRaw","addFinalizer","cursor","close","Cursor","pull","read","some","isNonEmptyArray","unsafeFromArray","none","repeatEffectChunkOption","unwrapScoped","fiber","getOrThrow","getCurrentFiber","unsafeGet","currentContext","cause_","as","reserve","listenClient","acquire","config","parsed","parse","getOrUndefined","assign","acquirer","transactionAcquirer","spanAttributes","entries","json","_","PgJson","listen","channel","asyncPush","fnUntraced","emit","onNotification","msg","payload","single","escapeIdentifier","notify","cancelEffects","processId","processID","ending","layerConfig","scopedContext","unwrap","flatMap","add","SqlClient","provide","layer","transform","transformValue","dialect","placeholder","onIdentifier","withoutTransform","escape","onRecordUpdate","placeholders","valueAlias","valueColumns","returning","flat","concat","onCustom","type","kind","i0","defaultEscape","custom"],"sources":["../../src/PgClient.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"PgClient.js","names":["Reactivity","_interopRequireWildcard","require","Client","_SqlError","Statement","Arr","Chunk","Config","Context","Duration","Effect","Fiber","Layer","Number","Option","RcRef","Redacted","Scope","Stream","Pg","PgConnString","_pgCursor","_interopRequireDefault","e","__esModule","default","t","WeakMap","r","n","o","i","f","__proto__","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","ATTR_DB_SYSTEM_NAME","ATTR_DB_NAMESPACE","ATTR_SERVER_ADDRESS","ATTR_SERVER_PORT","TypeId","exports","PgClient","GenericTag","makeClient","pool","config","options","gen","compiler","makeCompiler","transformQueryNames","transformJson","transformRows","transformResultNames","defaultTransforms","array","undefined","ConnectionImpl","pg","constructor","runWithClient","async","resume","makeCancel","done","cancel","client","onError","cause","cleanup","fail","SqlError","message","release","off","connect","client_","Error","once","eff","suspend","void","ensuring","sync","run","query","params","err","result","succeed","Array","isArray","map","rows","execute","sql","executeRaw","executeWithoutTransform","executeValues","text","rowMode","values","executeUnprepared","executeStream","self","scope","reserveRaw","addFinalizer","promise","cursor","close","Cursor","pull","read","some","isNonEmptyArray","unsafeFromArray","none","repeatEffectChunkOption","pipe","unwrapScoped","fiber","getOrThrow","getCurrentFiber","unsafeGet","currentContext","cause_","on","as","reserve","listenClient","make","acquire","assign","acquirer","transactionAcquirer","spanAttributes","entries","database","username","host","port","json","_","PgJson","listen","channel","asyncPush","fnUntraced","emit","onNotification","msg","payload","single","escapeIdentifier","tryPromise","try","catch","notify","Pool","connectionString","url","value","user","password","ssl","stream","connectionTimeoutMillis","connectTimeout","toMillis","idleTimeoutMillis","idleTimeout","max","maxConnections","min","minConnections","maxLifetimeSeconds","connectionTTL","toSeconds","application_name","applicationName","types","_err","acquireRelease","end","interruptible","timeoutOption","timeoutFail","duration","seconds","onTimeout","parsed","parse","getOrUndefined","fromPool","cancelEffects","processId","processID","ending","layerConfig","scopedContext","unwrap","flatMap","add","SqlClient","provide","layer","layerFromPool","transform","transformValue","dialect","placeholder","onIdentifier","withoutTransform","escape","onRecordUpdate","placeholders","valueAlias","valueColumns","returning","flat","concat","onCustom","type","kind","i0","defaultEscape","custom"],"sources":["../../src/PgClient.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
@@ -15,6 +15,7 @@ import * as Layer from "effect/Layer";
15
15
  import * as Redacted from "effect/Redacted";
16
16
  import * as Scope from "effect/Scope";
17
17
  import * as Stream from "effect/Stream";
18
+ import type { Duplex } from "node:stream";
18
19
  import type { ConnectionOptions } from "node:tls";
19
20
  import * as Pg from "pg";
20
21
  /**
@@ -56,6 +57,7 @@ export interface PgClientConfig {
56
57
  readonly database?: string | undefined;
57
58
  readonly username?: string | undefined;
58
59
  readonly password?: Redacted.Redacted | undefined;
60
+ readonly stream?: (() => Duplex) | undefined;
59
61
  readonly idleTimeout?: Duration.DurationInput | undefined;
60
62
  readonly connectTimeout?: Duration.DurationInput | undefined;
61
63
  readonly maxConnections?: number | undefined;
@@ -73,6 +75,28 @@ export interface PgClientConfig {
73
75
  * @since 1.0.0
74
76
  */
75
77
  export declare const make: (options: PgClientConfig) => Effect.Effect<PgClient, SqlError, Scope.Scope | Reactivity.Reactivity>;
78
+ /**
79
+ * @category constructors
80
+ * @since 1.0.0
81
+ */
82
+ export interface PgClientFromPoolOptions {
83
+ readonly acquire: Effect.Effect<Pg.Pool, SqlError, Scope.Scope>;
84
+ readonly applicationName?: string | undefined;
85
+ readonly spanAttributes?: Record<string, unknown> | undefined;
86
+ readonly transformResultNames?: ((str: string) => string) | undefined;
87
+ readonly transformQueryNames?: ((str: string) => string) | undefined;
88
+ readonly transformJson?: boolean | undefined;
89
+ readonly types?: Pg.CustomTypesConfig | undefined;
90
+ }
91
+ /**
92
+ * Create a `PgClient` from an existing `pg` pool.
93
+ *
94
+ * You control the pool lifecycle via `acquire` (typically `Effect.acquireRelease`).
95
+ *
96
+ * @category constructors
97
+ * @since 1.0.0
98
+ */
99
+ export declare const fromPool: (options: PgClientFromPoolOptions) => Effect.Effect<PgClient, SqlError, Scope.Scope | Reactivity.Reactivity>;
76
100
  /**
77
101
  * @category layers
78
102
  * @since 1.0.0
@@ -83,6 +107,11 @@ export declare const layerConfig: (config: Config.Config.Wrap<PgClientConfig>) =
83
107
  * @since 1.0.0
84
108
  */
85
109
  export declare const layer: (config: PgClientConfig) => Layer.Layer<PgClient | Client.SqlClient, SqlError>;
110
+ /**
111
+ * @category layers
112
+ * @since 1.0.0
113
+ */
114
+ export declare const layerFromPool: (options: PgClientFromPoolOptions) => Layer.Layer<PgClient | Client.SqlClient, SqlError>;
86
115
  /**
87
116
  * @category constructor
88
117
  * @since 1.0.0
@@ -1 +1 @@
1
- {"version":3,"file":"PgClient.d.ts","sourceRoot":"","sources":["../../src/PgClient.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"PgClient.d.ts","sourceRoot":"","sources":["../../src/PgClient.ts"],"names":[],"mappings":"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"}
@@ -36,43 +36,9 @@ export const TypeId = "~@effect/sql-pg/PgClient";
36
36
  * @since 1.0.0
37
37
  */
38
38
  export const PgClient = /*#__PURE__*/Context.GenericTag("@effect/sql-pg/PgClient");
39
- /**
40
- * @category constructors
41
- * @since 1.0.0
42
- */
43
- export const make = options => Effect.gen(function* () {
39
+ const makeClient = (pool, config, options) => Effect.gen(function* () {
44
40
  const compiler = makeCompiler(options.transformQueryNames, options.transformJson);
45
41
  const transformRows = options.transformResultNames ? Statement.defaultTransforms(options.transformResultNames, options.transformJson).array : undefined;
46
- const pool = new Pg.Pool({
47
- connectionString: options.url ? Redacted.value(options.url) : undefined,
48
- user: options.username,
49
- host: options.host,
50
- database: options.database,
51
- password: options.password ? Redacted.value(options.password) : undefined,
52
- ssl: options.ssl,
53
- port: options.port,
54
- connectionTimeoutMillis: options.connectTimeout ? Duration.toMillis(options.connectTimeout) : undefined,
55
- idleTimeoutMillis: options.idleTimeout ? Duration.toMillis(options.idleTimeout) : undefined,
56
- max: options.maxConnections,
57
- min: options.minConnections,
58
- maxLifetimeSeconds: options.connectionTTL ? Duration.toSeconds(options.connectionTTL) : undefined,
59
- application_name: options.applicationName ?? "@effect/sql-pg",
60
- types: options.types
61
- });
62
- pool.on("error", _err => {});
63
- yield* Effect.acquireRelease(Effect.tryPromise({
64
- try: () => pool.query("SELECT 1"),
65
- catch: cause => new SqlError({
66
- cause,
67
- message: "PgClient: Failed to connect"
68
- })
69
- }), () => Effect.promise(() => pool.end()).pipe(Effect.interruptible, Effect.timeoutOption(1000))).pipe(Effect.timeoutFail({
70
- duration: options.connectTimeout ?? Duration.seconds(5),
71
- onTimeout: () => new SqlError({
72
- cause: new Error("Connection timed out"),
73
- message: "PgClient: Connection timed out"
74
- })
75
- }));
76
42
  class ConnectionImpl {
77
43
  pg;
78
44
  constructor(pg) {
@@ -248,27 +214,11 @@ export const make = options => Effect.gen(function* () {
248
214
  const listenClient = yield* RcRef.make({
249
215
  acquire: reserveRaw
250
216
  });
251
- let config = options;
252
- if (pool.options.connectionString) {
253
- try {
254
- const parsed = PgConnString.parse(pool.options.connectionString);
255
- config = {
256
- ...config,
257
- host: config.host ?? parsed.host ?? undefined,
258
- port: config.port ?? (parsed.port ? Option.getOrUndefined(Number.parse(parsed.port)) : undefined),
259
- username: config.username ?? parsed.user ?? undefined,
260
- password: config.password ?? (parsed.password ? Redacted.make(parsed.password) : undefined),
261
- database: config.database ?? parsed.database ?? undefined
262
- };
263
- } catch {
264
- //
265
- }
266
- }
267
217
  return Object.assign(yield* Client.make({
268
218
  acquirer: Effect.succeed(new ConnectionImpl()),
269
219
  transactionAcquirer: reserve,
270
220
  compiler,
271
- spanAttributes: [...(options.spanAttributes ? Object.entries(options.spanAttributes) : []), [ATTR_DB_SYSTEM_NAME, "postgresql"], [ATTR_DB_NAMESPACE, options.database ?? options.username ?? "postgres"], [ATTR_SERVER_ADDRESS, options.host ?? "localhost"], [ATTR_SERVER_PORT, options.port ?? 5432]],
221
+ spanAttributes: [...(options.spanAttributes ? Object.entries(options.spanAttributes) : []), [ATTR_DB_SYSTEM_NAME, "postgresql"], [ATTR_DB_NAMESPACE, config.database ?? config.username ?? "postgres"], [ATTR_SERVER_ADDRESS, config.host ?? "localhost"], [ATTR_SERVER_PORT, config.port ?? 5432]],
272
222
  transformRows
273
223
  }), {
274
224
  [TypeId]: TypeId,
@@ -308,6 +258,100 @@ export const make = options => Effect.gen(function* () {
308
258
  })
309
259
  });
310
260
  });
261
+ /**
262
+ * @category constructors
263
+ * @since 1.0.0
264
+ */
265
+ export const make = options => Effect.gen(function* () {
266
+ const pool = new Pg.Pool({
267
+ connectionString: options.url ? Redacted.value(options.url) : undefined,
268
+ user: options.username,
269
+ host: options.host,
270
+ database: options.database,
271
+ password: options.password ? Redacted.value(options.password) : undefined,
272
+ ssl: options.ssl,
273
+ port: options.port,
274
+ ...(options.stream ? {
275
+ stream: options.stream
276
+ } : {}),
277
+ connectionTimeoutMillis: options.connectTimeout ? Duration.toMillis(options.connectTimeout) : undefined,
278
+ idleTimeoutMillis: options.idleTimeout ? Duration.toMillis(options.idleTimeout) : undefined,
279
+ max: options.maxConnections,
280
+ min: options.minConnections,
281
+ maxLifetimeSeconds: options.connectionTTL ? Duration.toSeconds(options.connectionTTL) : undefined,
282
+ application_name: options.applicationName ?? "@effect/sql-pg",
283
+ types: options.types
284
+ });
285
+ pool.on("error", _err => {});
286
+ yield* Effect.acquireRelease(Effect.tryPromise({
287
+ try: () => pool.query("SELECT 1"),
288
+ catch: cause => new SqlError({
289
+ cause,
290
+ message: "PgClient: Failed to connect"
291
+ })
292
+ }), () => Effect.promise(() => pool.end()).pipe(Effect.interruptible, Effect.timeoutOption(1000))).pipe(Effect.timeoutFail({
293
+ duration: options.connectTimeout ?? Duration.seconds(5),
294
+ onTimeout: () => new SqlError({
295
+ cause: new Error("Connection timed out"),
296
+ message: "PgClient: Connection timed out"
297
+ })
298
+ }));
299
+ let config = options;
300
+ if (pool.options.connectionString) {
301
+ try {
302
+ const parsed = PgConnString.parse(pool.options.connectionString);
303
+ config = {
304
+ ...config,
305
+ host: config.host ?? parsed.host ?? undefined,
306
+ port: config.port ?? (parsed.port ? Option.getOrUndefined(Number.parse(parsed.port)) : undefined),
307
+ username: config.username ?? parsed.user ?? undefined,
308
+ password: config.password ?? (parsed.password ? Redacted.make(parsed.password) : undefined),
309
+ database: config.database ?? parsed.database ?? undefined
310
+ };
311
+ } catch {
312
+ //
313
+ }
314
+ }
315
+ return yield* makeClient(pool, config, options);
316
+ });
317
+ /**
318
+ * Create a `PgClient` from an existing `pg` pool.
319
+ *
320
+ * You control the pool lifecycle via `acquire` (typically `Effect.acquireRelease`).
321
+ *
322
+ * @category constructors
323
+ * @since 1.0.0
324
+ */
325
+ export const fromPool = /*#__PURE__*/Effect.fnUntraced(function* (options) {
326
+ const pool = yield* options.acquire;
327
+ let config = {
328
+ url: pool.options.connectionString ? Redacted.make(pool.options.connectionString) : undefined,
329
+ host: pool.options.host,
330
+ port: pool.options.port,
331
+ database: pool.options.database,
332
+ username: pool.options.user,
333
+ password: typeof pool.options.password === "string" ? Redacted.make(pool.options.password) : undefined,
334
+ ssl: pool.options.ssl,
335
+ applicationName: pool.options.application_name,
336
+ types: pool.options.types
337
+ };
338
+ if (pool.options.connectionString) {
339
+ try {
340
+ const parsed = PgConnString.parse(pool.options.connectionString);
341
+ config = {
342
+ ...config,
343
+ host: config.host ?? parsed.host ?? undefined,
344
+ port: config.port ?? (parsed.port ? Option.getOrUndefined(Number.parse(parsed.port)) : undefined),
345
+ username: config.username ?? parsed.user ?? undefined,
346
+ password: config.password ?? (parsed.password ? Redacted.make(parsed.password) : undefined),
347
+ database: config.database ?? parsed.database ?? undefined
348
+ };
349
+ } catch {
350
+ //
351
+ }
352
+ }
353
+ return yield* makeClient(pool, config, options);
354
+ });
311
355
  const cancelEffects = /*#__PURE__*/new WeakMap();
312
356
  const makeCancel = (pool, client) => {
313
357
  if (cancelEffects.has(client)) {
@@ -335,6 +379,11 @@ export const layerConfig = config => Layer.scopedContext(Config.unwrap(config).p
335
379
  * @since 1.0.0
336
380
  */
337
381
  export const layer = config => Layer.scopedContext(Effect.map(make(config), client => Context.make(PgClient, client).pipe(Context.add(Client.SqlClient, client)))).pipe(Layer.provide(Reactivity.layer));
382
+ /**
383
+ * @category layers
384
+ * @since 1.0.0
385
+ */
386
+ export const layerFromPool = options => Layer.scopedContext(Effect.map(fromPool(options), client => Context.make(PgClient, client).pipe(Context.add(Client.SqlClient, client)))).pipe(Layer.provide(Reactivity.layer));
338
387
  /**
339
388
  * @category constructor
340
389
  * @since 1.0.0
@@ -1 +1 @@
1
- {"version":3,"file":"PgClient.js","names":["Reactivity","Client","SqlError","Statement","Arr","Chunk","Config","Context","Duration","Effect","Fiber","Layer","Number","Option","RcRef","Redacted","Scope","Stream","Pg","PgConnString","Cursor","ATTR_DB_SYSTEM_NAME","ATTR_DB_NAMESPACE","ATTR_SERVER_ADDRESS","ATTR_SERVER_PORT","TypeId","PgClient","GenericTag","make","options","gen","compiler","makeCompiler","transformQueryNames","transformJson","transformRows","transformResultNames","defaultTransforms","array","undefined","pool","Pool","connectionString","url","value","user","username","host","database","password","ssl","port","connectionTimeoutMillis","connectTimeout","toMillis","idleTimeoutMillis","idleTimeout","max","maxConnections","min","minConnections","maxLifetimeSeconds","connectionTTL","toSeconds","application_name","applicationName","types","on","_err","acquireRelease","tryPromise","try","query","catch","cause","message","promise","end","pipe","interruptible","timeoutOption","timeoutFail","duration","seconds","onTimeout","Error","ConnectionImpl","pg","constructor","runWithClient","f","async","resume","makeCancel","done","cancel","client","onError","cleanup","fail","release","off","connect","client_","once","eff","suspend","void","ensuring","sync","run","params","err","result","succeed","Array","isArray","map","r","rows","execute","sql","executeRaw","executeWithoutTransform","executeValues","text","rowMode","values","executeUnprepared","executeStream","self","scope","reserveRaw","addFinalizer","cursor","close","pull","read","some","isNonEmptyArray","unsafeFromArray","none","repeatEffectChunkOption","unwrapScoped","fiber","getOrThrow","getCurrentFiber","unsafeGet","currentContext","cause_","as","reserve","listenClient","acquire","config","parsed","parse","getOrUndefined","Object","assign","acquirer","transactionAcquirer","spanAttributes","entries","json","_","PgJson","listen","channel","asyncPush","fnUntraced","emit","get","onNotification","msg","payload","single","escapeIdentifier","notify","cancelEffects","WeakMap","has","processId","processID","ending","set","layerConfig","scopedContext","unwrap","flatMap","add","SqlClient","provide","layer","transform","transformValue","dialect","placeholder","onIdentifier","withoutTransform","escape","onRecordUpdate","placeholders","valueAlias","valueColumns","returning","flat","concat","onCustom","type","kind","i0","defaultEscape","custom"],"sources":["../../src/PgClient.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"PgClient.js","names":["Reactivity","Client","SqlError","Statement","Arr","Chunk","Config","Context","Duration","Effect","Fiber","Layer","Number","Option","RcRef","Redacted","Scope","Stream","Pg","PgConnString","Cursor","ATTR_DB_SYSTEM_NAME","ATTR_DB_NAMESPACE","ATTR_SERVER_ADDRESS","ATTR_SERVER_PORT","TypeId","PgClient","GenericTag","makeClient","pool","config","options","gen","compiler","makeCompiler","transformQueryNames","transformJson","transformRows","transformResultNames","defaultTransforms","array","undefined","ConnectionImpl","pg","constructor","runWithClient","f","async","resume","makeCancel","done","cancel","client","onError","cause","cleanup","fail","message","release","off","connect","client_","Error","once","eff","suspend","void","ensuring","sync","run","query","params","err","result","succeed","Array","isArray","map","r","rows","execute","sql","executeRaw","executeWithoutTransform","executeValues","text","rowMode","values","executeUnprepared","executeStream","self","scope","reserveRaw","addFinalizer","promise","cursor","close","pull","read","some","isNonEmptyArray","unsafeFromArray","none","repeatEffectChunkOption","pipe","unwrapScoped","fiber","getOrThrow","getCurrentFiber","unsafeGet","currentContext","cause_","on","as","reserve","listenClient","make","acquire","Object","assign","acquirer","transactionAcquirer","spanAttributes","entries","database","username","host","port","json","_","PgJson","listen","channel","asyncPush","fnUntraced","emit","get","onNotification","msg","payload","single","escapeIdentifier","tryPromise","try","catch","notify","Pool","connectionString","url","value","user","password","ssl","stream","connectionTimeoutMillis","connectTimeout","toMillis","idleTimeoutMillis","idleTimeout","max","maxConnections","min","minConnections","maxLifetimeSeconds","connectionTTL","toSeconds","application_name","applicationName","types","_err","acquireRelease","end","interruptible","timeoutOption","timeoutFail","duration","seconds","onTimeout","parsed","parse","getOrUndefined","fromPool","cancelEffects","WeakMap","has","processId","processID","ending","set","layerConfig","scopedContext","unwrap","flatMap","add","SqlClient","provide","layer","layerFromPool","transform","transformValue","dialect","placeholder","onIdentifier","withoutTransform","escape","onRecordUpdate","placeholders","valueAlias","valueColumns","returning","flat","concat","onCustom","type","kind","i0","defaultEscape","custom"],"sources":["../../src/PgClient.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@effect/sql-pg",
3
- "version": "0.50.1",
3
+ "version": "0.50.3",
4
4
  "description": "A PostgreSQL toolkit for Effect",
5
5
  "license": "MIT",
6
6
  "repository": {
@@ -19,9 +19,9 @@
19
19
  },
20
20
  "peerDependencies": {
21
21
  "@effect/experimental": "^0.58.0",
22
- "@effect/platform": "^0.94.1",
22
+ "@effect/platform": "^0.94.4",
23
23
  "@effect/sql": "^0.49.0",
24
- "effect": "^3.19.14"
24
+ "effect": "^3.19.16"
25
25
  },
26
26
  "publishConfig": {
27
27
  "provenance": true
package/src/PgClient.ts CHANGED
@@ -22,6 +22,7 @@ import * as RcRef from "effect/RcRef"
22
22
  import * as Redacted from "effect/Redacted"
23
23
  import * as Scope from "effect/Scope"
24
24
  import * as Stream from "effect/Stream"
25
+ import type { Duplex } from "node:stream"
25
26
  import type { ConnectionOptions } from "node:tls"
26
27
  import * as Pg from "pg"
27
28
  import * as PgConnString from "pg-connection-string"
@@ -77,6 +78,8 @@ export interface PgClientConfig {
77
78
  readonly username?: string | undefined
78
79
  readonly password?: Redacted.Redacted | undefined
79
80
 
81
+ readonly stream?: (() => Duplex) | undefined
82
+
80
83
  readonly idleTimeout?: Duration.DurationInput | undefined
81
84
  readonly connectTimeout?: Duration.DurationInput | undefined
82
85
 
@@ -93,12 +96,17 @@ export interface PgClientConfig {
93
96
  readonly types?: Pg.CustomTypesConfig | undefined
94
97
  }
95
98
 
96
- /**
97
- * @category constructors
98
- * @since 1.0.0
99
- */
100
- export const make = (
101
- options: PgClientConfig
99
+ type ClientOptions = {
100
+ readonly spanAttributes?: Record<string, unknown> | undefined
101
+ readonly transformResultNames?: ((str: string) => string) | undefined
102
+ readonly transformQueryNames?: ((str: string) => string) | undefined
103
+ readonly transformJson?: boolean | undefined
104
+ }
105
+
106
+ const makeClient = (
107
+ pool: Pg.Pool,
108
+ config: PgClientConfig,
109
+ options: ClientOptions
102
110
  ): Effect.Effect<PgClient, SqlError, Scope.Scope | Reactivity.Reactivity> =>
103
111
  Effect.gen(function*() {
104
112
  const compiler = makeCompiler(
@@ -112,53 +120,6 @@ export const make = (
112
120
  ).array :
113
121
  undefined
114
122
 
115
- const pool = new Pg.Pool({
116
- connectionString: options.url ? Redacted.value(options.url) : undefined,
117
- user: options.username,
118
- host: options.host,
119
- database: options.database,
120
- password: options.password ? Redacted.value(options.password) : undefined,
121
- ssl: options.ssl,
122
- port: options.port,
123
- connectionTimeoutMillis: options.connectTimeout
124
- ? Duration.toMillis(options.connectTimeout)
125
- : undefined,
126
- idleTimeoutMillis: options.idleTimeout
127
- ? Duration.toMillis(options.idleTimeout)
128
- : undefined,
129
- max: options.maxConnections,
130
- min: options.minConnections,
131
- maxLifetimeSeconds: options.connectionTTL
132
- ? Duration.toSeconds(options.connectionTTL)
133
- : undefined,
134
- application_name: options.applicationName ?? "@effect/sql-pg",
135
- types: options.types
136
- })
137
-
138
- pool.on("error", (_err) => {
139
- })
140
-
141
- yield* Effect.acquireRelease(
142
- Effect.tryPromise({
143
- try: () => pool.query("SELECT 1"),
144
- catch: (cause) => new SqlError({ cause, message: "PgClient: Failed to connect" })
145
- }),
146
- () =>
147
- Effect.promise(() => pool.end()).pipe(
148
- Effect.interruptible,
149
- Effect.timeoutOption(1000)
150
- )
151
- ).pipe(
152
- Effect.timeoutFail({
153
- duration: options.connectTimeout ?? Duration.seconds(5),
154
- onTimeout: () =>
155
- new SqlError({
156
- cause: new Error("Connection timed out"),
157
- message: "PgClient: Connection timed out"
158
- })
159
- })
160
- )
161
-
162
123
  class ConnectionImpl implements Connection {
163
124
  readonly pg: Pg.PoolClient | undefined
164
125
  constructor(pg?: Pg.PoolClient) {
@@ -354,23 +315,6 @@ export const make = (
354
315
  acquire: reserveRaw
355
316
  })
356
317
 
357
- let config = options
358
- if (pool.options.connectionString) {
359
- try {
360
- const parsed = PgConnString.parse(pool.options.connectionString)
361
- config = {
362
- ...config,
363
- host: config.host ?? parsed.host ?? undefined,
364
- port: config.port ?? (parsed.port ? Option.getOrUndefined(Number.parse(parsed.port)) : undefined),
365
- username: config.username ?? parsed.user ?? undefined,
366
- password: config.password ?? (parsed.password ? Redacted.make(parsed.password) : undefined),
367
- database: config.database ?? parsed.database ?? undefined
368
- }
369
- } catch {
370
- //
371
- }
372
- }
373
-
374
318
  return Object.assign(
375
319
  yield* Client.make({
376
320
  acquirer: Effect.succeed(new ConnectionImpl()),
@@ -379,9 +323,9 @@ export const make = (
379
323
  spanAttributes: [
380
324
  ...(options.spanAttributes ? Object.entries(options.spanAttributes) : []),
381
325
  [ATTR_DB_SYSTEM_NAME, "postgresql"],
382
- [ATTR_DB_NAMESPACE, options.database ?? options.username ?? "postgres"],
383
- [ATTR_SERVER_ADDRESS, options.host ?? "localhost"],
384
- [ATTR_SERVER_PORT, options.port ?? 5432]
326
+ [ATTR_DB_NAMESPACE, config.database ?? config.username ?? "postgres"],
327
+ [ATTR_SERVER_ADDRESS, config.host ?? "localhost"],
328
+ [ATTR_SERVER_PORT, config.port ?? 5432]
385
329
  ],
386
330
  transformRows
387
331
  }),
@@ -423,6 +367,142 @@ export const make = (
423
367
  )
424
368
  })
425
369
 
370
+ /**
371
+ * @category constructors
372
+ * @since 1.0.0
373
+ */
374
+ export const make = (
375
+ options: PgClientConfig
376
+ ): Effect.Effect<PgClient, SqlError, Scope.Scope | Reactivity.Reactivity> =>
377
+ Effect.gen(function*() {
378
+ const pool = new Pg.Pool({
379
+ connectionString: options.url ? Redacted.value(options.url) : undefined,
380
+ user: options.username,
381
+ host: options.host,
382
+ database: options.database,
383
+ password: options.password ? Redacted.value(options.password) : undefined,
384
+ ssl: options.ssl,
385
+ port: options.port,
386
+ ...(options.stream ? { stream: options.stream } : {}),
387
+ connectionTimeoutMillis: options.connectTimeout
388
+ ? Duration.toMillis(options.connectTimeout)
389
+ : undefined,
390
+ idleTimeoutMillis: options.idleTimeout
391
+ ? Duration.toMillis(options.idleTimeout)
392
+ : undefined,
393
+ max: options.maxConnections,
394
+ min: options.minConnections,
395
+ maxLifetimeSeconds: options.connectionTTL
396
+ ? Duration.toSeconds(options.connectionTTL)
397
+ : undefined,
398
+ application_name: options.applicationName ?? "@effect/sql-pg",
399
+ types: options.types
400
+ })
401
+
402
+ pool.on("error", (_err) => {
403
+ })
404
+
405
+ yield* Effect.acquireRelease(
406
+ Effect.tryPromise({
407
+ try: () => pool.query("SELECT 1"),
408
+ catch: (cause) => new SqlError({ cause, message: "PgClient: Failed to connect" })
409
+ }),
410
+ () =>
411
+ Effect.promise(() => pool.end()).pipe(
412
+ Effect.interruptible,
413
+ Effect.timeoutOption(1000)
414
+ )
415
+ ).pipe(
416
+ Effect.timeoutFail({
417
+ duration: options.connectTimeout ?? Duration.seconds(5),
418
+ onTimeout: () =>
419
+ new SqlError({
420
+ cause: new Error("Connection timed out"),
421
+ message: "PgClient: Connection timed out"
422
+ })
423
+ })
424
+ )
425
+
426
+ let config = options
427
+ if (pool.options.connectionString) {
428
+ try {
429
+ const parsed = PgConnString.parse(pool.options.connectionString)
430
+ config = {
431
+ ...config,
432
+ host: config.host ?? parsed.host ?? undefined,
433
+ port: config.port ?? (parsed.port ? Option.getOrUndefined(Number.parse(parsed.port)) : undefined),
434
+ username: config.username ?? parsed.user ?? undefined,
435
+ password: config.password ?? (parsed.password ? Redacted.make(parsed.password) : undefined),
436
+ database: config.database ?? parsed.database ?? undefined
437
+ }
438
+ } catch {
439
+ //
440
+ }
441
+ }
442
+
443
+ return yield* makeClient(pool, config, options)
444
+ })
445
+
446
+ /**
447
+ * @category constructors
448
+ * @since 1.0.0
449
+ */
450
+ export interface PgClientFromPoolOptions {
451
+ readonly acquire: Effect.Effect<Pg.Pool, SqlError, Scope.Scope>
452
+
453
+ readonly applicationName?: string | undefined
454
+ readonly spanAttributes?: Record<string, unknown> | undefined
455
+
456
+ readonly transformResultNames?: ((str: string) => string) | undefined
457
+ readonly transformQueryNames?: ((str: string) => string) | undefined
458
+ readonly transformJson?: boolean | undefined
459
+ readonly types?: Pg.CustomTypesConfig | undefined
460
+ }
461
+
462
+ /**
463
+ * Create a `PgClient` from an existing `pg` pool.
464
+ *
465
+ * You control the pool lifecycle via `acquire` (typically `Effect.acquireRelease`).
466
+ *
467
+ * @category constructors
468
+ * @since 1.0.0
469
+ */
470
+ export const fromPool = Effect.fnUntraced(function*(
471
+ options: PgClientFromPoolOptions
472
+ ): Effect.fn.Return<PgClient, SqlError, Scope.Scope | Reactivity.Reactivity> {
473
+ const pool = yield* options.acquire
474
+
475
+ let config: PgClientConfig = {
476
+ url: pool.options.connectionString ? Redacted.make(pool.options.connectionString) : undefined,
477
+ host: pool.options.host,
478
+ port: pool.options.port,
479
+ database: pool.options.database,
480
+ username: pool.options.user,
481
+ password: typeof pool.options.password === "string" ? Redacted.make(pool.options.password) : undefined,
482
+ ssl: pool.options.ssl,
483
+ applicationName: (pool.options as any).application_name,
484
+ types: pool.options.types
485
+ }
486
+
487
+ if (pool.options.connectionString) {
488
+ try {
489
+ const parsed = PgConnString.parse(pool.options.connectionString)
490
+ config = {
491
+ ...config,
492
+ host: config.host ?? parsed.host ?? undefined,
493
+ port: config.port ?? (parsed.port ? Option.getOrUndefined(Number.parse(parsed.port)) : undefined),
494
+ username: config.username ?? parsed.user ?? undefined,
495
+ password: config.password ?? (parsed.password ? Redacted.make(parsed.password) : undefined),
496
+ database: config.database ?? parsed.database ?? undefined
497
+ }
498
+ } catch {
499
+ //
500
+ }
501
+ }
502
+
503
+ return yield* makeClient(pool, config, options)
504
+ })
505
+
426
506
  const cancelEffects = new WeakMap<Pg.PoolClient, Effect.Effect<void> | undefined>()
427
507
  const makeCancel = (pool: Pg.Pool, client: Pg.PoolClient) => {
428
508
  if (cancelEffects.has(client)) {
@@ -477,6 +557,20 @@ export const layer = (
477
557
  ))
478
558
  ).pipe(Layer.provide(Reactivity.layer))
479
559
 
560
+ /**
561
+ * @category layers
562
+ * @since 1.0.0
563
+ */
564
+ export const layerFromPool = (
565
+ options: PgClientFromPoolOptions
566
+ ): Layer.Layer<PgClient | Client.SqlClient, SqlError> =>
567
+ Layer.scopedContext(
568
+ Effect.map(fromPool(options), (client) =>
569
+ Context.make(PgClient, client).pipe(
570
+ Context.add(Client.SqlClient, client)
571
+ ))
572
+ ).pipe(Layer.provide(Reactivity.layer))
573
+
480
574
  /**
481
575
  * @category constructor
482
576
  * @since 1.0.0