@effect/sql-pg 0.47.0 → 0.49.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.
@@ -8,15 +8,21 @@ var Reactivity = _interopRequireWildcard(require("@effect/experimental/Reactivit
8
8
  var Client = _interopRequireWildcard(require("@effect/sql/SqlClient"));
9
9
  var _SqlError = require("@effect/sql/SqlError");
10
10
  var Statement = _interopRequireWildcard(require("@effect/sql/Statement"));
11
+ var Arr = _interopRequireWildcard(require("effect/Array"));
11
12
  var Chunk = _interopRequireWildcard(require("effect/Chunk"));
12
13
  var Config = _interopRequireWildcard(require("effect/Config"));
13
14
  var Context = _interopRequireWildcard(require("effect/Context"));
14
15
  var Duration = _interopRequireWildcard(require("effect/Duration"));
15
16
  var Effect = _interopRequireWildcard(require("effect/Effect"));
17
+ var Fiber = _interopRequireWildcard(require("effect/Fiber"));
16
18
  var Layer = _interopRequireWildcard(require("effect/Layer"));
19
+ var Option = _interopRequireWildcard(require("effect/Option"));
20
+ var RcRef = _interopRequireWildcard(require("effect/RcRef"));
17
21
  var Redacted = _interopRequireWildcard(require("effect/Redacted"));
22
+ var Scope = _interopRequireWildcard(require("effect/Scope"));
18
23
  var Stream = _interopRequireWildcard(require("effect/Stream"));
19
- var _postgres = _interopRequireDefault(require("postgres"));
24
+ var Pg = _interopRequireWildcard(require("pg"));
25
+ var _pgCursor = _interopRequireDefault(require("pg-cursor"));
20
26
  function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
21
27
  function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function (e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != typeof e && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (const t in e) "default" !== t && {}.hasOwnProperty.call(e, t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, t)) && (i.get || i.set) ? o(f, t, i) : f[t] = e[t]); return f; })(e, t); }
22
28
  /**
@@ -31,7 +37,7 @@ const ATTR_SERVER_PORT = "server.port";
31
37
  * @category type ids
32
38
  * @since 1.0.0
33
39
  */
34
- const TypeId = exports.TypeId = /*#__PURE__*/Symbol.for("@effect/sql-pg/PgClient");
40
+ const TypeId = exports.TypeId = "~@effect/sql-pg/PgClient";
35
41
  /**
36
42
  * @category tags
37
43
  * @since 1.0.0
@@ -44,36 +50,30 @@ const PgClient = exports.PgClient = /*#__PURE__*/Context.GenericTag("@effect/sql
44
50
  const make = options => Effect.gen(function* () {
45
51
  const compiler = makeCompiler(options.transformQueryNames, options.transformJson);
46
52
  const transformRows = options.transformResultNames ? Statement.defaultTransforms(options.transformResultNames, options.transformJson).array : undefined;
47
- const opts = {
48
- max: options.maxConnections ?? 10,
49
- max_lifetime: options.connectionTTL ? Math.round(Duration.toMillis(Duration.decode(options.connectionTTL)) / 1000) : undefined,
50
- idle_timeout: options.idleTimeout ? Math.round(Duration.toMillis(Duration.decode(options.idleTimeout)) / 1000) : undefined,
51
- connect_timeout: options.connectTimeout ? Math.round(Duration.toMillis(Duration.decode(options.connectTimeout)) / 1000) : undefined,
53
+ const pool = new Pg.Pool({
54
+ connectionString: options.url ? Redacted.value(options.url) : undefined,
55
+ user: options.username,
52
56
  host: options.host,
53
- port: options.port,
54
- ssl: options.ssl,
55
- path: options.path,
56
57
  database: options.database,
57
- username: options.username,
58
58
  password: options.password ? Redacted.value(options.password) : undefined,
59
- fetch_types: options.fetchTypes ?? true,
60
- prepare: options.prepare ?? true,
61
- onnotice: options.onnotice,
62
- types: options.types,
63
- debug: options.debug,
64
- connection: {
65
- application_name: options.applicationName ?? "@effect/sql-pg"
66
- },
67
- socket: options.socket
68
- };
69
- const client = options.url ? (0, _postgres.default)(Redacted.value(options.url), opts) : (0, _postgres.default)(opts);
59
+ ssl: options.ssl,
60
+ port: options.port,
61
+ connectionTimeoutMillis: options.connectTimeout ? Duration.toMillis(options.connectTimeout) : undefined,
62
+ idleTimeoutMillis: options.idleTimeout ? Duration.toMillis(options.idleTimeout) : undefined,
63
+ max: options.maxConnections,
64
+ min: options.minConnections,
65
+ maxLifetimeSeconds: options.connectionTTL ? Duration.toSeconds(options.connectionTTL) : undefined,
66
+ application_name: options.applicationName ?? "@effect/sql-pg",
67
+ types: options.types
68
+ });
69
+ pool.on("error", _err => {});
70
70
  yield* Effect.acquireRelease(Effect.tryPromise({
71
- try: () => client`select 1`,
71
+ try: () => pool.query("SELECT 1"),
72
72
  catch: cause => new _SqlError.SqlError({
73
73
  cause,
74
74
  message: "PgClient: Failed to connect"
75
75
  })
76
- }), () => Effect.promise(() => client.end()).pipe(Effect.interruptible, Effect.timeoutOption(1000))).pipe(Effect.timeoutFail({
76
+ }), () => Effect.promise(() => pool.end()).pipe(Effect.interruptible, Effect.timeoutOption(1000))).pipe(Effect.timeoutFail({
77
77
  duration: options.connectTimeout ?? Duration.seconds(5),
78
78
  onTimeout: () => new _SqlError.SqlError({
79
79
  cause: new Error("Connection timed out"),
@@ -85,76 +85,152 @@ const make = options => Effect.gen(function* () {
85
85
  constructor(pg) {
86
86
  this.pg = pg;
87
87
  }
88
- run(query) {
88
+ run(query, params) {
89
89
  return Effect.async(resume => {
90
- query.then(_ => resume(Effect.succeed(_)), cause => resume(new _SqlError.SqlError({
91
- cause,
92
- message: "Failed to execute statement"
93
- })));
94
- return Effect.sync(() => query.cancel());
90
+ this.pg.query(query, params, (err, result) => {
91
+ if (err) {
92
+ resume(Effect.fail(new _SqlError.SqlError({
93
+ cause: err,
94
+ message: "Failed to execute statement"
95
+ })));
96
+ } else {
97
+ // Multi-statement queries return an array of results
98
+ const rows = Array.isArray(result) ? result.map(r => r.rows ?? []) : result.rows ?? [];
99
+ resume(Effect.succeed(rows));
100
+ }
101
+ });
95
102
  });
96
103
  }
97
104
  execute(sql, params, transformRows) {
98
- return transformRows ? Effect.map(this.run(this.pg.unsafe(sql, params)), transformRows) : this.run(this.pg.unsafe(sql, params));
105
+ return transformRows ? Effect.map(this.run(sql, params), transformRows) : this.run(sql, params);
99
106
  }
100
107
  executeRaw(sql, params) {
101
- return this.run(this.pg.unsafe(sql, params));
108
+ return Effect.async(resume => {
109
+ this.pg.query(sql, params, (err, result) => {
110
+ if (err) {
111
+ resume(Effect.fail(new _SqlError.SqlError({
112
+ cause: err,
113
+ message: "Failed to execute statement"
114
+ })));
115
+ } else {
116
+ resume(Effect.succeed(result));
117
+ }
118
+ });
119
+ });
102
120
  }
103
121
  executeWithoutTransform(sql, params) {
104
- return this.run(this.pg.unsafe(sql, params));
122
+ return this.run(sql, params);
105
123
  }
106
124
  executeValues(sql, params) {
107
- return this.run(this.pg.unsafe(sql, params).values());
125
+ return Effect.async(resume => {
126
+ this.pg.query({
127
+ text: sql,
128
+ rowMode: "array",
129
+ values: params
130
+ }, (err, result) => {
131
+ if (err) {
132
+ resume(Effect.fail(new _SqlError.SqlError({
133
+ cause: err,
134
+ message: "Failed to execute statement"
135
+ })));
136
+ } else {
137
+ resume(Effect.succeed(result.rows));
138
+ }
139
+ });
140
+ });
108
141
  }
109
142
  executeUnprepared(sql, params, transformRows) {
110
143
  return this.execute(sql, params, transformRows);
111
144
  }
112
145
  executeStream(sql, params, transformRows) {
113
- return Stream.mapChunks(Stream.fromAsyncIterable(this.pg.unsafe(sql, params).cursor(16), cause => new _SqlError.SqlError({
114
- cause,
115
- message: "Failed to execute statement"
116
- })), Chunk.flatMap(rows => Chunk.unsafeFromArray(transformRows ? transformRows(rows) : rows)));
146
+ // eslint-disable-next-line @typescript-eslint/no-this-alias
147
+ const self = this;
148
+ return Effect.gen(function* () {
149
+ const cursor = yield* Effect.acquireRelease(Effect.sync(() => self.pg.query(new _pgCursor.default(sql, params))), cursor => Effect.sync(() => cursor.close()));
150
+ const pull = Effect.async(resume => {
151
+ cursor.read(128, (err, rows) => {
152
+ if (err) {
153
+ resume(Effect.fail(Option.some(new _SqlError.SqlError({
154
+ cause: err,
155
+ message: "Failed to execute statement"
156
+ }))));
157
+ } else if (Arr.isNonEmptyArray(rows)) {
158
+ resume(Effect.succeed(Chunk.unsafeFromArray(transformRows ? transformRows(rows) : rows)));
159
+ } else {
160
+ resume(Effect.fail(Option.none()));
161
+ }
162
+ });
163
+ });
164
+ return Stream.repeatEffectChunkOption(pull);
165
+ }).pipe(Stream.unwrapScoped);
117
166
  }
118
167
  }
168
+ const reserveRaw = Effect.async(resume => {
169
+ const fiber = Option.getOrThrow(Fiber.getCurrentFiber());
170
+ const scope = Context.unsafeGet(fiber.currentContext, Scope.Scope);
171
+ pool.connect((err, client, release) => {
172
+ if (err) {
173
+ resume(Effect.fail(new _SqlError.SqlError({
174
+ cause: err,
175
+ message: "Failed to acquire connection for transaction"
176
+ })));
177
+ } else {
178
+ resume(Effect.as(Scope.addFinalizer(scope, Effect.sync(release)), client));
179
+ }
180
+ });
181
+ });
182
+ const reserve = Effect.map(reserveRaw, client => new ConnectionImpl(client));
183
+ const listenClient = yield* RcRef.make({
184
+ acquire: reserveRaw
185
+ });
119
186
  return Object.assign(yield* Client.make({
120
- acquirer: Effect.succeed(new ConnectionImpl(client)),
121
- transactionAcquirer: Effect.map(Effect.acquireRelease(Effect.tryPromise({
122
- try: () => client.reserve(),
123
- catch: cause => new _SqlError.SqlError({
124
- cause,
125
- message: "Failed to reserve connection"
126
- })
127
- }), pg => Effect.sync(() => pg.release())), _ => new ConnectionImpl(_)),
187
+ acquirer: Effect.succeed(new ConnectionImpl(pool)),
188
+ transactionAcquirer: reserve,
128
189
  compiler,
129
- spanAttributes: [...(options.spanAttributes ? Object.entries(options.spanAttributes) : []), [ATTR_DB_SYSTEM_NAME, "postgresql"], [ATTR_DB_NAMESPACE, opts.database ?? options.username ?? "postgres"], [ATTR_SERVER_ADDRESS, opts.host ?? "localhost"], [ATTR_SERVER_PORT, opts.port ?? 5432]],
190
+ 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]],
130
191
  transformRows
131
192
  }), {
132
193
  [TypeId]: TypeId,
133
194
  config: {
134
195
  ...options,
135
- host: client.options.host[0] ?? undefined,
136
- port: client.options.port[0] ?? undefined,
137
- username: client.options.user,
138
- password: client.options.pass ? Redacted.make(client.options.pass) : undefined,
139
- database: client.options.database
196
+ host: pool.options.host,
197
+ port: pool.options.port,
198
+ username: pool.options.user,
199
+ password: typeof pool.options.password === "string" ? Redacted.make(pool.options.password) : undefined,
200
+ database: pool.options.database
140
201
  },
141
202
  json: _ => PgJson(_),
142
- array: _ => PgArray(_),
143
- listen: channel => Stream.asyncPush(emit => Effect.acquireRelease(Effect.tryPromise({
144
- try: () => client.listen(channel, payload => emit.single(payload)),
145
- catch: cause => new _SqlError.SqlError({
146
- cause,
147
- message: "Failed to listen"
148
- })
149
- }), ({
150
- unlisten
151
- }) => Effect.promise(() => unlisten()))),
152
- notify: (channel, payload) => Effect.tryPromise({
153
- try: () => client.notify(channel, payload),
154
- catch: cause => new _SqlError.SqlError({
155
- cause,
156
- message: "Failed to notify"
157
- })
203
+ listen: channel => Stream.asyncPush(Effect.fnUntraced(function* (emit) {
204
+ const client = yield* RcRef.get(listenClient);
205
+ function onNotification(msg) {
206
+ if (msg.channel === channel && msg.payload) {
207
+ emit.single(msg.payload);
208
+ }
209
+ }
210
+ yield* Effect.addFinalizer(() => Effect.promise(() => {
211
+ client.off("notification", onNotification);
212
+ return client.query(`UNLISTEN ${Pg.escapeIdentifier(channel)}`);
213
+ }));
214
+ yield* Effect.tryPromise({
215
+ try: () => client.query(`LISTEN ${Pg.escapeIdentifier(channel)}`),
216
+ catch: cause => new _SqlError.SqlError({
217
+ cause,
218
+ message: "Failed to listen"
219
+ })
220
+ });
221
+ client.on("notification", onNotification);
222
+ })),
223
+ notify: (channel, payload) => Effect.async(resume => {
224
+ pool.query(`NOTIFY ${Pg.escapeIdentifier(channel)}, $1`, [payload], err => {
225
+ if (err) {
226
+ resume(Effect.fail(new _SqlError.SqlError({
227
+ cause: err,
228
+ message: "Failed to notify"
229
+ })));
230
+ } else {
231
+ resume(Effect.void);
232
+ }
233
+ });
158
234
  })
159
235
  });
160
236
  });
@@ -176,9 +252,6 @@ const layer = config => Layer.scopedContext(Effect.map(make(config), client => C
176
252
  */
177
253
  exports.layer = layer;
178
254
  const makeCompiler = (transform, transformJson = true) => {
179
- const pg = (0, _postgres.default)({
180
- max: 0
181
- });
182
255
  const transformValue = transformJson && transform ? Statement.defaultTransforms(transform).value : undefined;
183
256
  return Statement.makeCompiler({
184
257
  dialect: "pg",
@@ -195,30 +268,7 @@ const makeCompiler = (transform, transformJson = true) => {
195
268
  switch (type.kind) {
196
269
  case "PgJson":
197
270
  {
198
- return [placeholder(undefined), [pg.json(withoutTransform || transformValue === undefined ? type.i0 : transformValue(type.i0))]];
199
- }
200
- case "PgArray":
201
- {
202
- const param = pg.array(type.i0);
203
- const first = type.i0[0];
204
- switch (typeof first) {
205
- case "boolean":
206
- {
207
- param.type = 1000;
208
- break;
209
- }
210
- case "number":
211
- {
212
- param.type = 1022;
213
- break;
214
- }
215
- default:
216
- {
217
- param.type = 1009;
218
- break;
219
- }
220
- }
221
- return [placeholder(undefined), [param]];
271
+ return [placeholder(undefined), [withoutTransform || transformValue === undefined ? type.i0 : transformValue(type.i0)]];
222
272
  }
223
273
  }
224
274
  }
@@ -231,9 +281,4 @@ const escape = /*#__PURE__*/Statement.defaultEscape("\"");
231
281
  * @since 1.0.0
232
282
  */
233
283
  const PgJson = /*#__PURE__*/Statement.custom("PgJson");
234
- /**
235
- * @category custom types
236
- * @since 1.0.0
237
- */
238
- const PgArray = /*#__PURE__*/Statement.custom("PgArray");
239
284
  //# sourceMappingURL=PgClient.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"PgClient.js","names":["Reactivity","_interopRequireWildcard","require","Client","_SqlError","Statement","Chunk","Config","Context","Duration","Effect","Layer","Redacted","Stream","_postgres","_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","Symbol","for","PgClient","GenericTag","make","options","gen","compiler","makeCompiler","transformQueryNames","transformJson","transformRows","transformResultNames","defaultTransforms","array","undefined","opts","max","maxConnections","max_lifetime","connectionTTL","Math","round","toMillis","decode","idle_timeout","idleTimeout","connect_timeout","connectTimeout","host","port","ssl","path","database","username","password","value","fetch_types","fetchTypes","prepare","onnotice","types","debug","connection","application_name","applicationName","socket","client","url","postgres","acquireRelease","tryPromise","try","catch","cause","SqlError","message","promise","end","pipe","interruptible","timeoutOption","timeoutFail","duration","seconds","onTimeout","Error","ConnectionImpl","pg","constructor","run","query","async","resume","then","_","succeed","sync","cancel","execute","sql","params","map","unsafe","executeRaw","executeWithoutTransform","executeValues","values","executeUnprepared","executeStream","mapChunks","fromAsyncIterable","cursor","flatMap","rows","unsafeFromArray","assign","acquirer","transactionAcquirer","reserve","release","spanAttributes","entries","config","user","pass","json","PgJson","PgArray","listen","channel","asyncPush","emit","payload","single","unlisten","notify","layerConfig","scopedContext","unwrap","add","SqlClient","provide","layer","transform","transformValue","dialect","placeholder","onIdentifier","withoutTransform","escape","onRecordUpdate","placeholders","valueAlias","valueColumns","returning","flat","concat","onCustom","type","kind","i0","param","first","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","Option","RcRef","Redacted","Scope","Stream","Pg","_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","run","params","async","resume","err","result","fail","rows","Array","isArray","map","succeed","execute","sql","executeRaw","executeWithoutTransform","executeValues","text","rowMode","values","executeUnprepared","executeStream","self","cursor","sync","Cursor","close","pull","read","some","isNonEmptyArray","unsafeFromArray","none","repeatEffectChunkOption","unwrapScoped","reserveRaw","fiber","getOrThrow","getCurrentFiber","scope","unsafeGet","currentContext","connect","client","release","as","addFinalizer","reserve","listenClient","acquire","assign","acquirer","transactionAcquirer","spanAttributes","entries","config","json","_","PgJson","listen","channel","asyncPush","fnUntraced","emit","onNotification","msg","payload","single","off","escapeIdentifier","notify","void","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":[]}
@@ -4,30 +4,29 @@
4
4
  import * as Reactivity from "@effect/experimental/Reactivity";
5
5
  import * as Client from "@effect/sql/SqlClient";
6
6
  import { SqlError } from "@effect/sql/SqlError";
7
- import type { Custom, Fragment, Primitive } from "@effect/sql/Statement";
7
+ import type { Custom, Fragment } from "@effect/sql/Statement";
8
8
  import * as Statement from "@effect/sql/Statement";
9
9
  import * as Config from "effect/Config";
10
- import type { ConfigError } from "effect/ConfigError";
10
+ import type * as ConfigError from "effect/ConfigError";
11
11
  import * as Context from "effect/Context";
12
12
  import * as Duration from "effect/Duration";
13
13
  import * as Effect from "effect/Effect";
14
14
  import * as Layer from "effect/Layer";
15
15
  import * as Redacted from "effect/Redacted";
16
- import type * as Scope from "effect/Scope";
16
+ import * as Scope from "effect/Scope";
17
17
  import * as Stream from "effect/Stream";
18
- import type * as NodeStream from "node:stream";
19
18
  import type { ConnectionOptions } from "node:tls";
20
- import postgres from "postgres";
19
+ import * as Pg from "pg";
21
20
  /**
22
21
  * @category type ids
23
22
  * @since 1.0.0
24
23
  */
25
- export declare const TypeId: unique symbol;
24
+ export declare const TypeId: TypeId;
26
25
  /**
27
26
  * @category type ids
28
27
  * @since 1.0.0
29
28
  */
30
- export type TypeId = typeof TypeId;
29
+ export type TypeId = "~@effect/sql-pg/PgClient";
31
30
  /**
32
31
  * @category models
33
32
  * @since 1.0.0
@@ -36,7 +35,6 @@ export interface PgClient extends Client.SqlClient {
36
35
  readonly [TypeId]: TypeId;
37
36
  readonly config: PgClientConfig;
38
37
  readonly json: (_: unknown) => Fragment;
39
- readonly array: (_: ReadonlyArray<Primitive>) => Fragment;
40
38
  readonly listen: (channel: string) => Stream.Stream<string, SqlError>;
41
39
  readonly notify: (channel: string, payload: string) => Effect.Effect<void, SqlError>;
42
40
  }
@@ -58,55 +56,17 @@ export interface PgClientConfig {
58
56
  readonly database?: string | undefined;
59
57
  readonly username?: string | undefined;
60
58
  readonly password?: Redacted.Redacted | undefined;
61
- /**
62
- * A function returning a custom socket to use. This parameter is not documented
63
- * in the postgres.js's type signature. See their
64
- * [readme](https://github.com/porsager/postgres?tab=readme-ov-file#connection-details) instead.
65
- *
66
- * @example
67
- * ```ts
68
- * import { AuthTypes, Connector } from "@google-cloud/cloud-sql-connector";
69
- * import { PgClient } from "@effect/sql-pg";
70
- * import { Config, Effect, Layer } from "effect"
71
- *
72
- * const layer = Effect.gen(function*() {
73
- * const connector = new Connector();
74
- * const clientOpts = yield* Effect.promise(() => connector.getOptions({
75
- * instanceConnectionName: "project:region:instance",
76
- * authType: AuthTypes.IAM,
77
- * }));
78
- * return PgClient.layer({ socket: clientOpts.stream, username: "iam-user" });
79
- * }).pipe(Layer.unwrapEffect)
80
- * ```
81
- */
82
- readonly socket?: (() => NodeStream.Duplex) | undefined;
83
59
  readonly idleTimeout?: Duration.DurationInput | undefined;
84
60
  readonly connectTimeout?: Duration.DurationInput | undefined;
85
61
  readonly maxConnections?: number | undefined;
62
+ readonly minConnections?: number | undefined;
86
63
  readonly connectionTTL?: Duration.DurationInput | undefined;
87
64
  readonly applicationName?: string | undefined;
88
65
  readonly spanAttributes?: Record<string, unknown> | undefined;
89
66
  readonly transformResultNames?: ((str: string) => string) | undefined;
90
67
  readonly transformQueryNames?: ((str: string) => string) | undefined;
91
68
  readonly transformJson?: boolean | undefined;
92
- readonly fetchTypes?: boolean | undefined;
93
- readonly prepare?: boolean | undefined;
94
- /**
95
- * A callback when postgres has a notice, see
96
- * [readme](https://github.com/porsager/postgres?tab=readme-ov-file#connection-details).
97
- * By default, postgres.js logs these with console.log.
98
- * To silence notices, see the following example:
99
- * @example
100
- * ```ts
101
- * import { PgClient } from "@effect/sql-pg";
102
- * import { Config, Layer } from "effect"
103
- *
104
- * const layer = PgClient.layer({ onnotice: Config.succeed(() => {}) })
105
- * ```
106
- */
107
- readonly onnotice?: (notice: postgres.Notice) => void;
108
- readonly types?: Record<string, postgres.PostgresType> | undefined;
109
- readonly debug?: postgres.Options<{}>["debug"] | undefined;
69
+ readonly types?: Pg.CustomTypesConfig | undefined;
110
70
  }
111
71
  /**
112
72
  * @category constructors
@@ -117,12 +77,12 @@ export declare const make: (options: PgClientConfig) => Effect.Effect<PgClient,
117
77
  * @category layers
118
78
  * @since 1.0.0
119
79
  */
120
- export declare const layerConfig: (config: Config.Config.Wrap<PgClientConfig>) => Layer.Layer<PgClient | Client.SqlClient, ConfigError | SqlError>;
80
+ export declare const layerConfig: (config: Config.Config.Wrap<PgClientConfig>) => Layer.Layer<PgClient | Client.SqlClient, ConfigError.ConfigError | SqlError>;
121
81
  /**
122
82
  * @category layers
123
83
  * @since 1.0.0
124
84
  */
125
- export declare const layer: (config: PgClientConfig) => Layer.Layer<PgClient | Client.SqlClient, ConfigError | SqlError>;
85
+ export declare const layer: (config: PgClientConfig) => Layer.Layer<PgClient | Client.SqlClient, SqlError>;
126
86
  /**
127
87
  * @category constructor
128
88
  * @since 1.0.0
@@ -132,7 +92,7 @@ export declare const makeCompiler: (transform?: (_: string) => string, transform
132
92
  * @category custom types
133
93
  * @since 1.0.0
134
94
  */
135
- export type PgCustom = PgJson | PgArray;
95
+ export type PgCustom = PgJson;
136
96
  /**
137
97
  * @category custom types
138
98
  * @since 1.0.0
@@ -144,16 +104,5 @@ interface PgJson extends Custom<"PgJson", unknown> {
144
104
  * @since 1.0.0
145
105
  */
146
106
  declare const PgJson: (i0: unknown, i1: void, i2: void) => Fragment;
147
- /**
148
- * @category custom types
149
- * @since 1.0.0
150
- */
151
- interface PgArray extends Custom<"PgArray", ReadonlyArray<Primitive>> {
152
- }
153
- /**
154
- * @category custom types
155
- * @since 1.0.0
156
- */
157
- declare const PgArray: (i0: readonly Primitive[], i1: void, i2: void) => Fragment;
158
107
  export {};
159
108
  //# sourceMappingURL=PgClient.d.ts.map
@@ -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":"AAAA;;GAEG;AACH,OAAO,KAAK,UAAU,MAAM,iCAAiC,CAAA;AAC7D,OAAO,KAAK,MAAM,MAAM,uBAAuB,CAAA;AAE/C,OAAO,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAA;AAC/C,OAAO,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAA;AAC7D,OAAO,KAAK,SAAS,MAAM,uBAAuB,CAAA;AAGlD,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AACvC,OAAO,KAAK,KAAK,WAAW,MAAM,oBAAoB,CAAA;AACtD,OAAO,KAAK,OAAO,MAAM,gBAAgB,CAAA;AACzC,OAAO,KAAK,QAAQ,MAAM,iBAAiB,CAAA;AAC3C,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AAEvC,OAAO,KAAK,KAAK,MAAM,cAAc,CAAA;AAGrC,OAAO,KAAK,QAAQ,MAAM,iBAAiB,CAAA;AAC3C,OAAO,KAAK,KAAK,MAAM,cAAc,CAAA;AACrC,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AACvC,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,UAAU,CAAA;AACjD,OAAO,KAAK,EAAE,MAAM,IAAI,CAAA;AAQxB;;;GAGG;AACH,eAAO,MAAM,MAAM,EAAE,MAAmC,CAAA;AAExD;;;GAGG;AACH,MAAM,MAAM,MAAM,GAAG,0BAA0B,CAAA;AAE/C;;;GAGG;AACH,MAAM,WAAW,QAAS,SAAQ,MAAM,CAAC,SAAS;IAChD,QAAQ,CAAC,CAAC,MAAM,CAAC,EAAE,MAAM,CAAA;IACzB,QAAQ,CAAC,MAAM,EAAE,cAAc,CAAA;IAC/B,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC,EAAE,OAAO,KAAK,QAAQ,CAAA;IACvC,QAAQ,CAAC,MAAM,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAA;IACrE,QAAQ,CAAC,MAAM,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,KAAK,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAA;CACrF;AAED;;;GAGG;AACH,eAAO,MAAM,QAAQ,iCAA0D,CAAA;AAE/E;;;GAGG;AACH,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,GAAG,CAAC,EAAE,QAAQ,CAAC,QAAQ,GAAG,SAAS,CAAA;IAE5C,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;IAClC,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;IAClC,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;IAClC,QAAQ,CAAC,GAAG,CAAC,EAAE,OAAO,GAAG,iBAAiB,GAAG,SAAS,CAAA;IACtD,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;IACtC,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;IACtC,QAAQ,CAAC,QAAQ,CAAC,EAAE,QAAQ,CAAC,QAAQ,GAAG,SAAS,CAAA;IAEjD,QAAQ,CAAC,WAAW,CAAC,EAAE,QAAQ,CAAC,aAAa,GAAG,SAAS,CAAA;IACzD,QAAQ,CAAC,cAAc,CAAC,EAAE,QAAQ,CAAC,aAAa,GAAG,SAAS,CAAA;IAE5D,QAAQ,CAAC,cAAc,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;IAC5C,QAAQ,CAAC,cAAc,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;IAC5C,QAAQ,CAAC,aAAa,CAAC,EAAE,QAAQ,CAAC,aAAa,GAAG,SAAS,CAAA;IAE3D,QAAQ,CAAC,eAAe,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;IAC7C,QAAQ,CAAC,cAAc,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,CAAA;IAE7D,QAAQ,CAAC,oBAAoB,CAAC,EAAE,CAAC,CAAC,GAAG,EAAE,MAAM,KAAK,MAAM,CAAC,GAAG,SAAS,CAAA;IACrE,QAAQ,CAAC,mBAAmB,CAAC,EAAE,CAAC,CAAC,GAAG,EAAE,MAAM,KAAK,MAAM,CAAC,GAAG,SAAS,CAAA;IACpE,QAAQ,CAAC,aAAa,CAAC,EAAE,OAAO,GAAG,SAAS,CAAA;IAC5C,QAAQ,CAAC,KAAK,CAAC,EAAE,EAAE,CAAC,iBAAiB,GAAG,SAAS,CAAA;CAClD;AAED;;;GAGG;AACH,eAAO,MAAM,IAAI,GACf,SAAS,cAAc,KACtB,MAAM,CAAC,MAAM,CAAC,QAAQ,EAAE,QAAQ,EAAE,KAAK,CAAC,KAAK,GAAG,UAAU,CAAC,UAAU,CA0OpE,CAAA;AAEJ;;;GAGG;AACH,eAAO,MAAM,WAAW,GACtB,QAAQ,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,cAAc,CAAC,KACzC,KAAK,CAAC,KAAK,CAAC,QAAQ,GAAG,MAAM,CAAC,SAAS,EAAE,WAAW,CAAC,WAAW,GAAG,QAAQ,CAUrC,CAAA;AAEzC;;;GAGG;AACH,eAAO,MAAM,KAAK,GAChB,QAAQ,cAAc,KACrB,KAAK,CAAC,KAAK,CAAC,QAAQ,GAAG,MAAM,CAAC,SAAS,EAAE,QAAQ,CAMX,CAAA;AAEzC;;;GAGG;AACH,eAAO,MAAM,YAAY,GACvB,YAAY,CAAC,CAAC,EAAE,MAAM,KAAK,MAAM,EACjC,uBAAoB,KACnB,SAAS,CAAC,QAsCZ,CAAA;AAID;;;GAGG;AACH,MAAM,MAAM,QAAQ,GAAG,MAAM,CAAA;AAE7B;;;GAGG;AACH,UAAU,MAAO,SAAQ,MAAM,CAAC,QAAQ,EAAE,OAAO,CAAC;CAAG;AACrD;;;GAGG;AACH,QAAA,MAAM,MAAM,+CAAqC,CAAA"}