@effect/sql-pg 4.0.0-beta.8 → 4.0.0-beta.81

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/README.md CHANGED
@@ -1,6 +1,6 @@
1
1
  # `@effect/sql-pg`
2
2
 
3
- An `@effect/sql` implementation using the `postgres.js` library.
3
+ An `@effect/sql` implementation using the `pg` library.
4
4
 
5
5
  ## Documentation
6
6
 
@@ -1,13 +1,14 @@
1
1
  import * as Config from "effect/Config";
2
+ import * as Context from "effect/Context";
2
3
  import * as Duration from "effect/Duration";
3
4
  import * as Effect from "effect/Effect";
4
5
  import * as Layer from "effect/Layer";
5
6
  import * as Redacted from "effect/Redacted";
6
7
  import * as Scope from "effect/Scope";
7
- import * as ServiceMap from "effect/ServiceMap";
8
8
  import * as Stream from "effect/Stream";
9
9
  import * as Reactivity from "effect/unstable/reactivity/Reactivity";
10
10
  import * as Client from "effect/unstable/sql/SqlClient";
11
+ import type * as SqlConnection from "effect/unstable/sql/SqlConnection";
11
12
  import { SqlError } from "effect/unstable/sql/SqlError";
12
13
  import type { Custom, Fragment } from "effect/unstable/sql/Statement";
13
14
  import * as Statement from "effect/unstable/sql/Statement";
@@ -15,18 +16,24 @@ import type { Duplex } from "node:stream";
15
16
  import type { ConnectionOptions } from "node:tls";
16
17
  import * as Pg from "pg";
17
18
  /**
18
- * @category type ids
19
- * @since 1.0.0
19
+ * Runtime type identifier used to mark `PgClient` values.
20
+ *
21
+ * @category type IDs
22
+ * @since 4.0.0
20
23
  */
21
24
  export declare const TypeId: TypeId;
22
25
  /**
23
- * @category type ids
24
- * @since 1.0.0
26
+ * Type-level identifier used to mark `PgClient` values.
27
+ *
28
+ * @category type IDs
29
+ * @since 4.0.0
25
30
  */
26
31
  export type TypeId = "~@effect/sql-pg/PgClient";
27
32
  /**
33
+ * PostgreSQL client service, extending `SqlClient` with JSON parameter fragments and LISTEN/NOTIFY helpers.
34
+ *
28
35
  * @category models
29
- * @since 1.0.0
36
+ * @since 4.0.0
30
37
  */
31
38
  export interface PgClient extends Client.SqlClient {
32
39
  readonly [TypeId]: TypeId;
@@ -36,13 +43,21 @@ export interface PgClient extends Client.SqlClient {
36
43
  readonly notify: (channel: string, payload: string) => Effect.Effect<void, SqlError>;
37
44
  }
38
45
  /**
39
- * @category tags
40
- * @since 1.0.0
46
+ * Service tag for the PostgreSQL client service.
47
+ *
48
+ * **When to use**
49
+ *
50
+ * Use to access or provide a PostgreSQL client through the Effect context.
51
+ *
52
+ * @category services
53
+ * @since 4.0.0
41
54
  */
42
- export declare const PgClient: ServiceMap.Service<PgClient, PgClient>;
55
+ export declare const PgClient: Context.Service<PgClient, PgClient>;
43
56
  /**
57
+ * Configuration for a PostgreSQL client, including connection, TLS, custom stream, application name, type parser, JSON transform, and query/result name transform options.
58
+ *
44
59
  * @category constructors
45
- * @since 1.0.0
60
+ * @since 4.0.0
46
61
  */
47
62
  export interface PgClientConfig {
48
63
  readonly url?: Redacted.Redacted | undefined;
@@ -53,12 +68,8 @@ export interface PgClientConfig {
53
68
  readonly database?: string | undefined;
54
69
  readonly username?: string | undefined;
55
70
  readonly password?: Redacted.Redacted | undefined;
56
- readonly stream?: (() => Duplex) | undefined;
57
- readonly idleTimeout?: Duration.Input | undefined;
58
71
  readonly connectTimeout?: Duration.Input | undefined;
59
- readonly maxConnections?: number | undefined;
60
- readonly minConnections?: number | undefined;
61
- readonly connectionTTL?: Duration.Input | undefined;
72
+ readonly stream?: (() => Duplex) | undefined;
62
73
  readonly applicationName?: string | undefined;
63
74
  readonly spanAttributes?: Record<string, unknown> | undefined;
64
75
  readonly transformResultNames?: ((str: string) => string) | undefined;
@@ -67,13 +78,41 @@ export interface PgClientConfig {
67
78
  readonly types?: Pg.CustomTypesConfig | undefined;
68
79
  }
69
80
  /**
81
+ * PostgreSQL pool configuration, extending `PgClientConfig` with idle timeout, pool size, and connection lifetime settings.
82
+ *
70
83
  * @category constructors
71
- * @since 1.0.0
84
+ * @since 4.0.0
72
85
  */
73
- export declare const make: (options: PgClientConfig) => Effect.Effect<PgClient, SqlError, Scope.Scope | Reactivity.Reactivity>;
86
+ export interface PgPoolConfig extends PgClientConfig {
87
+ readonly idleTimeout?: Duration.Input | undefined;
88
+ readonly maxConnections?: number | undefined;
89
+ readonly minConnections?: number | undefined;
90
+ readonly connectionTTL?: Duration.Input | undefined;
91
+ }
74
92
  /**
93
+ * Creates a scoped PostgreSQL client backed by a managed `pg` connection pool.
94
+ *
75
95
  * @category constructors
76
- * @since 1.0.0
96
+ * @since 4.0.0
97
+ */
98
+ export declare const make: (options: PgPoolConfig) => Effect.Effect<PgClient, SqlError, Scope.Scope | Reactivity.Reactivity>;
99
+ /**
100
+ * Creates a scoped PostgreSQL client backed by a managed single `pg` client, optionally acquiring a separate client for streaming and LISTEN operations.
101
+ *
102
+ * @category constructors
103
+ * @since 4.0.0
104
+ */
105
+ export declare const makeClient: (options: PgClientConfig & {
106
+ /**
107
+ * Whether to acquire a separate client for each sql.stream / sql.listen
108
+ */
109
+ readonly acquireForStream?: boolean | undefined;
110
+ }) => Effect.Effect<PgClient, SqlError, Scope.Scope | Reactivity.Reactivity>;
111
+ /**
112
+ * Builds a PostgreSQL client from a scoped `pg` pool acquisition effect, deriving transaction, streaming, and LISTEN/NOTIFY support from that pool.
113
+ *
114
+ * @category constructors
115
+ * @since 4.0.0
77
116
  */
78
117
  export declare const fromPool: (options: {
79
118
  readonly acquire: Effect.Effect<Pg.Pool, SqlError, Scope.Scope>;
@@ -85,47 +124,89 @@ export declare const fromPool: (options: {
85
124
  readonly types?: Pg.CustomTypesConfig | undefined;
86
125
  }) => Effect.Effect<PgClient, SqlError, Scope.Scope | Reactivity.Reactivity>;
87
126
  /**
127
+ * Builds a PostgreSQL client from a scoped `pg` client acquisition effect, serializing access when sharing the client and optionally using separate clients for streams and LISTEN.
128
+ *
129
+ * @category constructors
130
+ * @since 4.0.0
131
+ */
132
+ export declare const fromClient: (options: {
133
+ readonly acquire: Effect.Effect<Pg.Client, SqlError, Scope.Scope>;
134
+ /**
135
+ * Whether to acquire a separate client for each sql.stream / sql.listen.
136
+ */
137
+ readonly acquireForStream: boolean;
138
+ readonly applicationName?: string | undefined;
139
+ readonly spanAttributes?: Record<string, unknown> | undefined;
140
+ readonly transformResultNames?: ((str: string) => string) | undefined;
141
+ readonly transformQueryNames?: ((str: string) => string) | undefined;
142
+ readonly transformJson?: boolean | undefined;
143
+ readonly types?: Pg.CustomTypesConfig | undefined;
144
+ }) => Effect.Effect<PgClient, SqlError, Scope.Scope | Reactivity.Reactivity>;
145
+ /**
146
+ * Creates a `PgClient` from SQL connection acquirers, a LISTEN acquirer, client configuration, and transformation options.
147
+ *
148
+ * **When to use**
149
+ *
150
+ * Use to build a PostgreSQL client from custom connection acquisition logic
151
+ * instead of the built-in pool or single-client constructors.
152
+ *
153
+ * @category constructors
154
+ * @since 4.0.0
155
+ */
156
+ export declare const makeWith: (options: {
157
+ readonly acquirer: SqlConnection.Acquirer;
158
+ readonly transactionAcquirer: SqlConnection.Acquirer;
159
+ readonly listenAcquirer: Effect.Effect<Pg.ClientBase, SqlError, Scope.Scope>;
160
+ readonly config: PgClientConfig;
161
+ readonly spanAttributes?: Record<string, unknown> | undefined;
162
+ readonly transformResultNames?: ((str: string) => string) | undefined;
163
+ readonly transformQueryNames?: ((str: string) => string) | undefined;
164
+ readonly transformJson?: boolean | undefined;
165
+ }) => Effect.Effect<PgClient, SqlError, Scope.Scope | Reactivity.Reactivity>;
166
+ /**
167
+ * Creates a layer from an effect that acquires a `PgClient`, providing both `PgClient` and `SqlClient`.
168
+ *
88
169
  * @category layers
89
- * @since 1.0.0
170
+ * @since 4.0.0
90
171
  */
91
- export declare const layerConfig: (config: Config.Wrap<PgClientConfig>) => Layer.Layer<PgClient | Client.SqlClient, Config.ConfigError | SqlError>;
172
+ export declare const layerFrom: <E, R>(acquire: Effect.Effect<PgClient, E, R>) => Layer.Layer<PgClient | Client.SqlClient, E, Exclude<R, Scope.Scope | Reactivity.Reactivity>>;
92
173
  /**
174
+ * Creates a layer from a `Config`-wrapped PostgreSQL pool configuration, providing both `PgClient` and `SqlClient`.
175
+ *
93
176
  * @category layers
94
- * @since 1.0.0
177
+ * @since 4.0.0
95
178
  */
96
- export declare const layer: (config: PgClientConfig) => Layer.Layer<PgClient | Client.SqlClient, SqlError>;
179
+ export declare const layerConfig: (config: Config.Wrap<PgPoolConfig>) => Layer.Layer<PgClient | Client.SqlClient, Config.ConfigError | SqlError>;
97
180
  /**
181
+ * Creates a layer from a concrete PostgreSQL pool configuration, providing both `PgClient` and `SqlClient`.
182
+ *
98
183
  * @category layers
99
- * @since 1.0.0
184
+ * @since 4.0.0
100
185
  */
101
- export declare const layerFromPool: (options: {
102
- readonly acquire: Effect.Effect<Pg.Pool, SqlError, Scope.Scope>;
103
- readonly applicationName?: string | undefined;
104
- readonly spanAttributes?: Record<string, unknown> | undefined;
105
- readonly transformResultNames?: ((str: string) => string) | undefined;
106
- readonly transformQueryNames?: ((str: string) => string) | undefined;
107
- readonly transformJson?: boolean | undefined;
108
- readonly types?: Pg.CustomTypesConfig | undefined;
109
- }) => Layer.Layer<PgClient | Client.SqlClient, SqlError>;
186
+ export declare const layer: (config: PgPoolConfig) => Layer.Layer<PgClient | Client.SqlClient, SqlError>;
110
187
  /**
111
- * @category constructor
112
- * @since 1.0.0
188
+ * Creates the PostgreSQL statement compiler, using `$1` placeholders, double-quoted identifiers, PostgreSQL returning clauses, and optional JSON value transformation.
189
+ *
190
+ * @category constructors
191
+ * @since 4.0.0
113
192
  */
114
193
  export declare const makeCompiler: (transform?: (_: string) => string, transformJson?: boolean) => Statement.Compiler;
115
194
  /**
195
+ * PostgreSQL-specific custom statement fragments supported by the compiler, currently JSON parameter fragments.
196
+ *
116
197
  * @category custom types
117
- * @since 1.0.0
198
+ * @since 4.0.0
118
199
  */
119
200
  export type PgCustom = PgJson;
120
201
  /**
121
202
  * @category custom types
122
- * @since 1.0.0
203
+ * @since 4.0.0
123
204
  */
124
205
  interface PgJson extends Custom<"PgJson", unknown> {
125
206
  }
126
207
  /**
127
208
  * @category custom types
128
- * @since 1.0.0
209
+ * @since 4.0.0
129
210
  */
130
211
  declare const PgJson: (paramA: unknown, paramB: void, paramC: void) => PgJson;
131
212
  export {};
@@ -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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"}