@effect/sql-mssql 4.0.0-beta.9 → 4.0.0-beta.90

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.
@@ -1,13 +1,24 @@
1
1
  /**
2
- * @since 1.0.0
2
+ * Microsoft SQL Server client implementation for Effect SQL, backed by the
3
+ * `tedious` driver.
4
+ *
5
+ * This module provides the `MssqlClient` service, constructors, layers, and SQL
6
+ * Server statement compiler. `make` creates a pooled Tedious client, checks the
7
+ * connection with `SELECT 1`, maps SQL Server failures to `SqlError`, and
8
+ * supports transactions with savepoints. The SQL Server-specific service adds
9
+ * typed Tedious parameters with `param`, stored procedure calls with `call`,
10
+ * direct or config-backed layers, and default parameter type mappings.
11
+ * Streaming queries are not implemented by this driver.
12
+ *
13
+ * @since 4.0.0
3
14
  */
4
15
  import * as Config from "effect/Config";
16
+ import * as Context from "effect/Context";
5
17
  import * as Duration from "effect/Duration";
6
18
  import * as Effect from "effect/Effect";
7
19
  import * as Layer from "effect/Layer";
8
20
  import * as Redacted from "effect/Redacted";
9
21
  import * as Scope from "effect/Scope";
10
- import * as ServiceMap from "effect/ServiceMap";
11
22
  import * as Reactivity from "effect/unstable/reactivity/Reactivity";
12
23
  import * as Client from "effect/unstable/sql/SqlClient";
13
24
  import { SqlError } from "effect/unstable/sql/SqlError";
@@ -17,18 +28,24 @@ import type { ParameterOptions } from "tedious/lib/request.ts";
17
28
  import type { Parameter } from "./Parameter.ts";
18
29
  import type * as Procedure from "./Procedure.ts";
19
30
  /**
20
- * @category type ids
21
- * @since 1.0.0
31
+ * Runtime type identifier used to mark `MssqlClient` values.
32
+ *
33
+ * @category type IDs
34
+ * @since 4.0.0
22
35
  */
23
36
  export declare const TypeId: unique symbol;
24
37
  /**
25
- * @category type ids
26
- * @since 1.0.0
38
+ * Type-level identifier used to mark `MssqlClient` values.
39
+ *
40
+ * @category type IDs
41
+ * @since 4.0.0
27
42
  */
28
43
  export type TypeId = typeof TypeId;
29
44
  /**
45
+ * Microsoft SQL Server client service, extending `SqlClient` with typed parameter fragments and stored procedure calls.
46
+ *
30
47
  * @category models
31
- * @since 1.0.0
48
+ * @since 4.0.0
32
49
  */
33
50
  export interface MssqlClient extends Client.SqlClient {
34
51
  readonly [TypeId]: TypeId;
@@ -37,13 +54,22 @@ export interface MssqlClient extends Client.SqlClient {
37
54
  readonly call: <I extends Record<string, Parameter<any>>, O extends Record<string, Parameter<any>>, A extends object>(procedure: Procedure.ProcedureWithValues<I, O, A>) => Effect.Effect<Procedure.Procedure.Result<O, A>, SqlError>;
38
55
  }
39
56
  /**
40
- * @category tags
41
- * @since 1.0.0
57
+ * Service tag for the Microsoft SQL Server client service.
58
+ *
59
+ * **When to use**
60
+ *
61
+ * Use to access or provide a Microsoft SQL Server client through the Effect
62
+ * context.
63
+ *
64
+ * @category services
65
+ * @since 4.0.0
42
66
  */
43
- export declare const MssqlClient: ServiceMap.Service<MssqlClient, MssqlClient>;
67
+ export declare const MssqlClient: Context.Service<MssqlClient, MssqlClient>;
44
68
  /**
69
+ * Configuration for a Microsoft SQL Server client, including connection, authentication, pool, parameter type, span attribute, and query/result name transform options.
70
+ *
45
71
  * @category models
46
- * @since 1.0.0
72
+ * @since 4.0.0
47
73
  */
48
74
  export interface MssqlClientConfig {
49
75
  readonly domain?: string | undefined;
@@ -57,6 +83,10 @@ export interface MssqlClientConfig {
57
83
  readonly username?: string | undefined;
58
84
  readonly password?: Redacted.Redacted | undefined;
59
85
  readonly connectTimeout?: Duration.Input | undefined;
86
+ readonly cancelTimeout?: Duration.Input | undefined;
87
+ readonly connectionRetryInterval?: Duration.Input | undefined;
88
+ readonly multiSubnetFailover?: boolean | undefined;
89
+ readonly maxRetriesOnTransientErrors?: number | undefined;
60
90
  readonly minConnections?: number | undefined;
61
91
  readonly maxConnections?: number | undefined;
62
92
  readonly connectionTTL?: Duration.Input | undefined;
@@ -66,27 +96,38 @@ export interface MssqlClientConfig {
66
96
  readonly transformQueryNames?: ((str: string) => string) | undefined;
67
97
  }
68
98
  /**
99
+ * Creates a scoped Microsoft SQL Server client backed by a connection pool, with transaction and stored procedure support. Streaming queries are not implemented.
100
+ *
69
101
  * @category constructors
70
- * @since 1.0.0
102
+ * @since 4.0.0
71
103
  */
72
104
  export declare const make: (options: MssqlClientConfig) => Effect.Effect<MssqlClient, SqlError, Scope.Scope | Reactivity.Reactivity>;
73
105
  /**
106
+ * Creates a layer from a `Config`-wrapped SQL Server client configuration, providing both `MssqlClient` and `SqlClient`.
107
+ *
74
108
  * @category layers
75
- * @since 1.0.0
109
+ * @since 4.0.0
76
110
  */
77
111
  export declare const layerConfig: (config: Config.Wrap<MssqlClientConfig>) => Layer.Layer<Client.SqlClient | MssqlClient, Config.ConfigError | SqlError>;
78
112
  /**
113
+ * Creates a layer from a concrete SQL Server client configuration, providing both `MssqlClient` and `SqlClient`.
114
+ *
79
115
  * @category layers
80
- * @since 1.0.0
116
+ * @since 4.0.0
81
117
  */
82
118
  export declare const layer: (config: MssqlClientConfig) => Layer.Layer<Client.SqlClient | MssqlClient, never | SqlError>;
83
119
  /**
120
+ * Creates the SQL Server statement compiler, using `@1`-style placeholders, bracket-escaped identifiers, and SQL Server `OUTPUT INSERTED` returning clauses.
121
+ *
84
122
  * @category compiler
85
- * @since 1.0.0
123
+ * @since 4.0.0
86
124
  */
87
125
  export declare const makeCompiler: (transform?: (_: string) => string) => Statement.Compiler;
88
126
  /**
89
- * @since 1.0.0
127
+ * Default mapping from Effect SQL primitive value kinds to Tedious SQL Server parameter data types.
128
+ *
129
+ * @category configuration
130
+ * @since 4.0.0
90
131
  */
91
132
  export declare const defaultParameterTypes: Record<Statement.PrimitiveKind, DataType>;
92
133
  //# sourceMappingURL=MssqlClient.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"MssqlClient.d.ts","sourceRoot":"","sources":["../src/MssqlClient.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"MssqlClient.d.ts","sourceRoot":"","sources":["../src/MssqlClient.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,19 @@
1
1
  /**
2
- * @since 1.0.0
2
+ * Microsoft SQL Server client implementation for Effect SQL, backed by the
3
+ * `tedious` driver.
4
+ *
5
+ * This module provides the `MssqlClient` service, constructors, layers, and SQL
6
+ * Server statement compiler. `make` creates a pooled Tedious client, checks the
7
+ * connection with `SELECT 1`, maps SQL Server failures to `SqlError`, and
8
+ * supports transactions with savepoints. The SQL Server-specific service adds
9
+ * typed Tedious parameters with `param`, stored procedure calls with `call`,
10
+ * direct or config-backed layers, and default parameter type mappings.
11
+ * Streaming queries are not implemented by this driver.
12
+ *
13
+ * @since 4.0.0
3
14
  */
4
15
  import * as Config from "effect/Config";
16
+ import * as Context from "effect/Context";
5
17
  import * as Duration from "effect/Duration";
6
18
  import * as Effect from "effect/Effect";
7
19
  import { identity } from "effect/Function";
@@ -9,31 +21,123 @@ import * as Layer from "effect/Layer";
9
21
  import * as Pool from "effect/Pool";
10
22
  import * as Redacted from "effect/Redacted";
11
23
  import * as Scope from "effect/Scope";
12
- import * as ServiceMap from "effect/ServiceMap";
13
24
  import * as Stream from "effect/Stream";
14
25
  import * as Reactivity from "effect/unstable/reactivity/Reactivity";
15
26
  import * as Client from "effect/unstable/sql/SqlClient";
16
- import { SqlError } from "effect/unstable/sql/SqlError";
27
+ import { AuthenticationError, AuthorizationError, ConnectionError, ConstraintError, DeadlockError, LockTimeoutError, SerializationError, SqlError, SqlSyntaxError, UniqueViolation, UnknownError } from "effect/unstable/sql/SqlError";
17
28
  import * as Statement from "effect/unstable/sql/Statement";
18
29
  import * as Tedious from "tedious";
19
30
  const ATTR_DB_SYSTEM_NAME = "db.system.name";
20
31
  const ATTR_DB_NAMESPACE = "db.namespace";
21
32
  const ATTR_SERVER_ADDRESS = "server.address";
22
33
  const ATTR_SERVER_PORT = "server.port";
34
+ const mssqlNumberFromCause = cause => {
35
+ if (typeof cause !== "object" || cause === null || !("number" in cause)) {
36
+ return undefined;
37
+ }
38
+ const number = cause.number;
39
+ return typeof number === "number" ? number : undefined;
40
+ };
41
+ const mssqlConnectionErrorCodes = /*#__PURE__*/new Set([233, 10054]);
42
+ const mssqlAuthenticationErrorCodes = /*#__PURE__*/new Set([4060, 18452, 18456]);
43
+ const mssqlAuthorizationErrorCodes = /*#__PURE__*/new Set([229, 230, 262, 297, 300]);
44
+ const mssqlSyntaxErrorCodes = /*#__PURE__*/new Set([102, 207, 208, 2714]);
45
+ const mssqlConstraintErrorCodes = /*#__PURE__*/new Set([515, 547]);
46
+ const UNKNOWN_CONSTRAINT = "unknown";
47
+ const normalizeConstraintIdentifier = identifier => {
48
+ if (typeof identifier !== "string") {
49
+ return UNKNOWN_CONSTRAINT;
50
+ }
51
+ const trimmed = identifier.trim();
52
+ return trimmed.length === 0 ? UNKNOWN_CONSTRAINT : trimmed;
53
+ };
54
+ const mssqlCauseProperty = (cause, property) => {
55
+ if (typeof cause !== "object" || cause === null || !(property in cause)) {
56
+ return undefined;
57
+ }
58
+ return cause[property];
59
+ };
60
+ const mssqlUniqueViolationConstraintFromMessage = (number, message) => {
61
+ if (typeof message !== "string") {
62
+ return UNKNOWN_CONSTRAINT;
63
+ }
64
+ const match = number === 2627 ? /\bconstraint\s+'([^']*)'/i.exec(message) : /\bunique index\s+'([^']*)'/i.exec(message);
65
+ return match === null ? UNKNOWN_CONSTRAINT : normalizeConstraintIdentifier(match[1]);
66
+ };
67
+ const mssqlUniqueViolationConstraintFromCause = (number, cause) => {
68
+ const constraint = normalizeConstraintIdentifier(mssqlCauseProperty(cause, "constraint"));
69
+ if (constraint !== UNKNOWN_CONSTRAINT) {
70
+ return constraint;
71
+ }
72
+ return mssqlUniqueViolationConstraintFromMessage(number, mssqlCauseProperty(cause, "message"));
73
+ };
74
+ const classifyError = (cause, message, operation, fallback = "unknown") => {
75
+ const props = {
76
+ cause,
77
+ message,
78
+ operation
79
+ };
80
+ const number = mssqlNumberFromCause(cause);
81
+ if (number !== undefined) {
82
+ if (mssqlConnectionErrorCodes.has(number)) {
83
+ return new ConnectionError(props);
84
+ }
85
+ if (mssqlAuthenticationErrorCodes.has(number)) {
86
+ return new AuthenticationError(props);
87
+ }
88
+ if (mssqlAuthorizationErrorCodes.has(number)) {
89
+ return new AuthorizationError(props);
90
+ }
91
+ if (mssqlSyntaxErrorCodes.has(number)) {
92
+ return new SqlSyntaxError(props);
93
+ }
94
+ if (number === 2601 || number === 2627) {
95
+ return new UniqueViolation({
96
+ ...props,
97
+ constraint: mssqlUniqueViolationConstraintFromCause(number, cause)
98
+ });
99
+ }
100
+ if (mssqlConstraintErrorCodes.has(number)) {
101
+ return new ConstraintError(props);
102
+ }
103
+ if (number === 1205) {
104
+ return new DeadlockError(props);
105
+ }
106
+ if (number === 3960) {
107
+ return new SerializationError(props);
108
+ }
109
+ if (number === 1222) {
110
+ return new LockTimeoutError(props);
111
+ }
112
+ }
113
+ return fallback === "connection" ? new ConnectionError(props) : new UnknownError(props);
114
+ };
23
115
  /**
24
- * @category type ids
25
- * @since 1.0.0
116
+ * Runtime type identifier used to mark `MssqlClient` values.
117
+ *
118
+ * @category type IDs
119
+ * @since 4.0.0
26
120
  */
27
121
  export const TypeId = /*#__PURE__*/Symbol.for("@effect/sql-mssql/MssqlClient");
28
122
  /**
29
- * @category tags
30
- * @since 1.0.0
123
+ * Service tag for the Microsoft SQL Server client service.
124
+ *
125
+ * **When to use**
126
+ *
127
+ * Use to access or provide a Microsoft SQL Server client through the Effect
128
+ * context.
129
+ *
130
+ * @category services
131
+ * @since 4.0.0
31
132
  */
32
- export const MssqlClient = /*#__PURE__*/ServiceMap.Service("@effect/sql-mssql/MssqlClient");
133
+ export const MssqlClient = /*#__PURE__*/Context.Service("@effect/sql-mssql/MssqlClient");
33
134
  const TransactionConnection = Client.TransactionConnection;
135
+ let clientIdCounter = 0;
34
136
  /**
137
+ * Creates a scoped Microsoft SQL Server client backed by a connection pool, with transaction and stored procedure support. Streaming queries are not implemented.
138
+ *
35
139
  * @category constructors
36
- * @since 1.0.0
140
+ * @since 4.0.0
37
141
  */
38
142
  export const make = options => Effect.gen(function* () {
39
143
  const parameterTypes = options.parameterTypes ?? defaultParameterTypes;
@@ -48,11 +152,15 @@ export const make = options => Effect.gen(function* () {
48
152
  port: options.port,
49
153
  database: options.database,
50
154
  trustServerCertificate: options.trustServer ?? true,
155
+ multiSubnetFailover: options.multiSubnetFailover,
51
156
  connectTimeout: options.connectTimeout ? Duration.toMillis(Duration.fromInputUnsafe(options.connectTimeout)) : undefined,
52
157
  rowCollectionOnRequestCompletion: true,
53
158
  useColumnNames: false,
54
159
  instanceName: options.instanceName,
55
- encrypt: options.encrypt ?? false
160
+ encrypt: options.encrypt ?? false,
161
+ cancelTimeout: options.cancelTimeout ? Duration.toMillis(Duration.fromInputUnsafe(options.cancelTimeout)) : undefined,
162
+ connectionRetryInterval: options.connectionRetryInterval ? Duration.toMillis(Duration.fromInputUnsafe(options.connectionRetryInterval)) : undefined,
163
+ maxRetriesOnTransientErrors: options.maxRetriesOnTransientErrors
56
164
  },
57
165
  server: options.server,
58
166
  authentication: {
@@ -68,8 +176,7 @@ export const make = options => Effect.gen(function* () {
68
176
  conn.connect(cause => {
69
177
  if (cause) {
70
178
  resume(Effect.fail(new SqlError({
71
- cause,
72
- message: "Failed to connect"
179
+ reason: classifyError(cause, "Failed to connect", "connect", "connection")
73
180
  })));
74
181
  } else {
75
182
  resume(Effect.void);
@@ -80,8 +187,7 @@ export const make = options => Effect.gen(function* () {
80
187
  const req = new Tedious.Request(sql, (cause, _rowCount, result) => {
81
188
  if (cause) {
82
189
  resume(Effect.fail(new SqlError({
83
- cause,
84
- message: "Failed to execute statement"
190
+ reason: classifyError(cause, "Failed to execute statement", "execute")
85
191
  })));
86
192
  return;
87
193
  }
@@ -113,8 +219,7 @@ export const make = options => Effect.gen(function* () {
113
219
  const req = new Tedious.Request(escape(procedure.name), (cause, _, rows) => {
114
220
  if (cause) {
115
221
  resume(Effect.fail(new SqlError({
116
- cause,
117
- message: "Failed to execute statement"
222
+ reason: classifyError(cause, "Failed to execute statement", "execute")
118
223
  })));
119
224
  } else {
120
225
  rows = rowsToObjects(rows);
@@ -152,6 +257,9 @@ export const make = options => Effect.gen(function* () {
152
257
  executeValues(sql, params) {
153
258
  return run(sql, params, true);
154
259
  },
260
+ executeValuesUnprepared(sql, params) {
261
+ return run(sql, params, true);
262
+ },
155
263
  executeUnprepared(sql, params, transformRows) {
156
264
  return this.execute(sql, params, transformRows);
157
265
  },
@@ -165,8 +273,7 @@ export const make = options => Effect.gen(function* () {
165
273
  conn.beginTransaction(cause => {
166
274
  if (cause) {
167
275
  resume(Effect.fail(new SqlError({
168
- cause,
169
- message: "Failed to begin transaction"
276
+ reason: classifyError(cause, "Failed to begin transaction", "beginTransaction")
170
277
  })));
171
278
  } else {
172
279
  resume(Effect.void);
@@ -177,8 +284,7 @@ export const make = options => Effect.gen(function* () {
177
284
  conn.commitTransaction(cause => {
178
285
  if (cause) {
179
286
  resume(Effect.fail(new SqlError({
180
- cause,
181
- message: "Failed to commit transaction"
287
+ reason: classifyError(cause, "Failed to commit transaction", "commitTransaction")
182
288
  })));
183
289
  } else {
184
290
  resume(Effect.void);
@@ -189,8 +295,7 @@ export const make = options => Effect.gen(function* () {
189
295
  conn.saveTransaction(cause => {
190
296
  if (cause) {
191
297
  resume(Effect.fail(new SqlError({
192
- cause,
193
- message: "Failed to create savepoint"
298
+ reason: classifyError(cause, "Failed to create savepoint", "createSavepoint")
194
299
  })));
195
300
  } else {
196
301
  resume(Effect.void);
@@ -201,8 +306,7 @@ export const make = options => Effect.gen(function* () {
201
306
  conn.rollbackTransaction(cause => {
202
307
  if (cause) {
203
308
  resume(Effect.fail(new SqlError({
204
- cause,
205
- message: "Failed to rollback transaction"
309
+ reason: classifyError(cause, "Failed to rollback transaction", "rollbackTransaction")
206
310
  })));
207
311
  } else {
208
312
  resume(Effect.void);
@@ -222,20 +326,21 @@ export const make = options => Effect.gen(function* () {
222
326
  timeToLive: options.connectionTTL ?? Duration.minutes(45),
223
327
  timeToLiveStrategy: "creation"
224
328
  });
225
- yield* Pool.get(pool).pipe(Effect.tap(connection => connection.executeUnprepared("SELECT 1", [], undefined)), Effect.mapError(({
226
- cause
227
- }) => new SqlError({
228
- cause,
229
- message: "MssqlClient: Failed to connect"
329
+ yield* Pool.get(pool).pipe(Effect.tap(connection => connection.executeUnprepared("SELECT 1", [], undefined)), Effect.mapError(cause => new SqlError({
330
+ reason: classifyError(cause, "MssqlClient: Failed to connect", "connect", "connection")
230
331
  })), Effect.scoped, Effect.timeoutOrElse({
231
332
  duration: options.connectTimeout ?? Duration.seconds(5),
232
- onTimeout: () => Effect.fail(new SqlError({
233
- message: "MssqlClient: Connection timeout",
234
- cause: new Error("connection timeout")
333
+ orElse: () => Effect.fail(new SqlError({
334
+ reason: new ConnectionError({
335
+ message: "MssqlClient: Connection timeout",
336
+ cause: new Error("connection timeout"),
337
+ operation: "connect"
338
+ })
235
339
  }))
236
340
  }));
341
+ const transactionService = TransactionConnection(clientIdCounter++);
237
342
  const withTransaction = Client.makeWithTransaction({
238
- transactionService: TransactionConnection,
343
+ transactionService,
239
344
  spanAttributes,
240
345
  acquireConnection: Effect.gen(function* () {
241
346
  const scope = Scope.makeUnsafe();
@@ -251,6 +356,7 @@ export const make = options => Effect.gen(function* () {
251
356
  return identity(Object.assign(yield* Client.make({
252
357
  acquirer: Pool.get(pool),
253
358
  compiler,
359
+ transactionService: transactionService,
254
360
  spanAttributes,
255
361
  transformRows
256
362
  }), {
@@ -271,18 +377,24 @@ export const make = options => Effect.gen(function* () {
271
377
  }));
272
378
  });
273
379
  /**
380
+ * Creates a layer from a `Config`-wrapped SQL Server client configuration, providing both `MssqlClient` and `SqlClient`.
381
+ *
274
382
  * @category layers
275
- * @since 1.0.0
383
+ * @since 4.0.0
276
384
  */
277
- export const layerConfig = config => Layer.effectServices(Config.unwrap(config).asEffect().pipe(Effect.flatMap(make), Effect.map(client => ServiceMap.make(MssqlClient, client).pipe(ServiceMap.add(Client.SqlClient, client))))).pipe(Layer.provide(Reactivity.layer));
385
+ export const layerConfig = config => Layer.effectContext(Config.unwrap(config).pipe(Effect.flatMap(make), Effect.map(client => Context.make(MssqlClient, client).pipe(Context.add(Client.SqlClient, client))))).pipe(Layer.provide(Reactivity.layer));
278
386
  /**
387
+ * Creates a layer from a concrete SQL Server client configuration, providing both `MssqlClient` and `SqlClient`.
388
+ *
279
389
  * @category layers
280
- * @since 1.0.0
390
+ * @since 4.0.0
281
391
  */
282
- export const layer = config => Layer.effectServices(Effect.map(make(config), client => ServiceMap.make(MssqlClient, client).pipe(ServiceMap.add(Client.SqlClient, client)))).pipe(Layer.provide(Reactivity.layer));
392
+ export const layer = config => Layer.effectContext(Effect.map(make(config), client => Context.make(MssqlClient, client).pipe(Context.add(Client.SqlClient, client)))).pipe(Layer.provide(Reactivity.layer));
283
393
  /**
394
+ * Creates the SQL Server statement compiler, using `@1`-style placeholders, bracket-escaped identifiers, and SQL Server `OUTPUT INSERTED` returning clauses.
395
+ *
284
396
  * @category compiler
285
- * @since 1.0.0
397
+ * @since 4.0.0
286
398
  */
287
399
  export const makeCompiler = transform => Statement.makeCompiler({
288
400
  dialect: "mssql",
@@ -315,7 +427,10 @@ function numberToParamName(n) {
315
427
  return `${Math.ceil(n + 1)}`;
316
428
  }
317
429
  /**
318
- * @since 1.0.0
430
+ * Default mapping from Effect SQL primitive value kinds to Tedious SQL Server parameter data types.
431
+ *
432
+ * @category configuration
433
+ * @since 4.0.0
319
434
  */
320
435
  export const defaultParameterTypes = {
321
436
  string: Tedious.TYPES.VarChar,
@@ -1 +1 @@
1
- {"version":3,"file":"MssqlClient.js","names":["Config","Duration","Effect","identity","Layer","Pool","Redacted","Scope","ServiceMap","Stream","Reactivity","Client","SqlError","Statement","Tedious","ATTR_DB_SYSTEM_NAME","ATTR_DB_NAMESPACE","ATTR_SERVER_ADDRESS","ATTR_SERVER_PORT","TypeId","Symbol","for","MssqlClient","Service","TransactionConnection","make","options","gen","parameterTypes","defaultParameterTypes","compiler","makeCompiler","transformQueryNames","transformRows","transformResultNames","defaultTransforms","array","undefined","spanAttributes","Object","entries","database","server","port","pool","makeConnection","conn","Connection","trustServerCertificate","trustServer","connectTimeout","toMillis","fromInputUnsafe","rowCollectionOnRequestCompletion","useColumnNames","instanceName","encrypt","authentication","type","authType","userName","username","password","value","addFinalizer","sync","close","callback","resume","connect","cause","fail","message","void","run","sql","values","rowsAsArray","req","Request","_rowCount","result","map","row","_","rowsToObjects","succeed","i","len","length","name","numberToParamName","isMssqlParam","addParameter","paramA","paramB","paramC","kind","primitiveKind","cancel","execSql","runProcedure","procedure","escape","rows","params","param","outputParams","addOutputParameter","on","callProcedure","connection","execute","executeRaw","executeValues","executeUnprepared","executeStream","die","call","begin","beginTransaction","commit","commitTransaction","savepoint","saveTransaction","rollback","rollbackTransaction","pipe","catch","invalidate","interruptible","forkScoped","makeWithTTL","acquire","min","minConnections","max","maxConnections","timeToLive","connectionTTL","minutes","timeToLiveStrategy","get","tap","mapError","scoped","timeoutOrElse","duration","seconds","onTimeout","Error","withTransaction","makeWithTransaction","transactionService","acquireConnection","scope","makeUnsafe","provide","id","rollbackSavepoint","assign","acquirer","config","fragment","mssqlParam","flatMap","withoutTransforms","statement","withoutTransform","client","safe","layerConfig","effectServices","unwrap","asEffect","add","SqlClient","layer","transform","dialect","placeholder","onIdentifier","onRecordUpdate","placeholders","valueAlias","valueColumns","returning","returningSql","concat","flat","onCustom","onInsert","columns","join","str","replace","n","Math","ceil","string","TYPES","VarChar","number","Int","bigint","BigInt","boolean","Bit","Date","DateTime","Uint8Array","VarBinary","Int8Array","null","custom","isCustom","newRows","Array","newRow","j","columnLen","column","metadata","colName"],"sources":["../src/MssqlClient.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"MssqlClient.js","names":["Config","Context","Duration","Effect","identity","Layer","Pool","Redacted","Scope","Stream","Reactivity","Client","AuthenticationError","AuthorizationError","ConnectionError","ConstraintError","DeadlockError","LockTimeoutError","SerializationError","SqlError","SqlSyntaxError","UniqueViolation","UnknownError","Statement","Tedious","ATTR_DB_SYSTEM_NAME","ATTR_DB_NAMESPACE","ATTR_SERVER_ADDRESS","ATTR_SERVER_PORT","mssqlNumberFromCause","cause","undefined","number","mssqlConnectionErrorCodes","Set","mssqlAuthenticationErrorCodes","mssqlAuthorizationErrorCodes","mssqlSyntaxErrorCodes","mssqlConstraintErrorCodes","UNKNOWN_CONSTRAINT","normalizeConstraintIdentifier","identifier","trimmed","trim","length","mssqlCauseProperty","property","mssqlUniqueViolationConstraintFromMessage","message","match","exec","mssqlUniqueViolationConstraintFromCause","constraint","classifyError","operation","fallback","props","has","TypeId","Symbol","for","MssqlClient","Service","TransactionConnection","clientIdCounter","make","options","gen","parameterTypes","defaultParameterTypes","compiler","makeCompiler","transformQueryNames","transformRows","transformResultNames","defaultTransforms","array","spanAttributes","Object","entries","database","server","port","pool","makeConnection","conn","Connection","trustServerCertificate","trustServer","multiSubnetFailover","connectTimeout","toMillis","fromInputUnsafe","rowCollectionOnRequestCompletion","useColumnNames","instanceName","encrypt","cancelTimeout","connectionRetryInterval","maxRetriesOnTransientErrors","authentication","type","authType","userName","username","password","value","addFinalizer","sync","close","callback","resume","connect","fail","reason","void","run","sql","values","rowsAsArray","req","Request","_rowCount","result","map","row","_","rowsToObjects","succeed","i","len","name","numberToParamName","isMssqlParam","addParameter","paramA","paramB","paramC","kind","primitiveKind","cancel","execSql","runProcedure","procedure","escape","rows","params","param","outputParams","addOutputParameter","on","callProcedure","connection","execute","executeRaw","executeValues","executeValuesUnprepared","executeUnprepared","executeStream","die","call","begin","beginTransaction","commit","commitTransaction","savepoint","saveTransaction","rollback","rollbackTransaction","pipe","catch","invalidate","interruptible","forkScoped","makeWithTTL","acquire","min","minConnections","max","maxConnections","timeToLive","connectionTTL","minutes","timeToLiveStrategy","get","tap","mapError","scoped","timeoutOrElse","duration","seconds","orElse","Error","transactionService","withTransaction","makeWithTransaction","acquireConnection","scope","makeUnsafe","provide","id","rollbackSavepoint","assign","acquirer","config","fragment","mssqlParam","flatMap","withoutTransforms","statement","withoutTransform","client","safe","layerConfig","effectContext","unwrap","add","SqlClient","layer","transform","dialect","placeholder","onIdentifier","onRecordUpdate","placeholders","valueAlias","valueColumns","returning","returningSql","concat","flat","onCustom","onInsert","columns","join","str","replace","n","Math","ceil","string","TYPES","VarChar","Int","bigint","BigInt","boolean","Bit","Date","DateTime","Uint8Array","VarBinary","Int8Array","null","custom","isCustom","newRows","Array","newRow","j","columnLen","column","metadata","colName"],"sources":["../src/MssqlClient.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
@@ -1,5 +1,13 @@
1
1
  /**
2
- * @since 1.0.0
2
+ * Utilities for applying Effect SQL migrations to Microsoft SQL Server.
3
+ *
4
+ * This module re-exports the shared `Migrator` loaders and error types, then
5
+ * provides `run` and `layer` helpers for applying ordered migrations through
6
+ * the current SQL Server `SqlClient`. `run` returns the applied migration IDs
7
+ * and names, while `layer` runs migrations during layer construction and
8
+ * provides no services.
9
+ *
10
+ * @since 4.0.0
3
11
  */
4
12
  import type * as Effect from "effect/Effect";
5
13
  import * as Layer from "effect/Layer";
@@ -7,17 +15,21 @@ import * as Migrator from "effect/unstable/sql/Migrator";
7
15
  import type * as Client from "effect/unstable/sql/SqlClient";
8
16
  import type { SqlError } from "effect/unstable/sql/SqlError";
9
17
  /**
10
- * @since 1.0.0
18
+ * @since 4.0.0
11
19
  */
12
20
  export * from "effect/unstable/sql/Migrator";
13
21
  /**
14
- * @category constructor
15
- * @since 1.0.0
22
+ * Runs SQL migrations using the configured `SqlClient`, returning the migrations that were applied.
23
+ *
24
+ * @category constructors
25
+ * @since 4.0.0
16
26
  */
17
27
  export declare const run: <R>(options: Migrator.MigratorOptions<R>) => Effect.Effect<ReadonlyArray<readonly [id: number, name: string]>, SqlError | Migrator.MigrationError, Client.SqlClient | R>;
18
28
  /**
29
+ * Creates a layer that runs the configured SQL migrations during layer construction.
30
+ *
19
31
  * @category layers
20
- * @since 1.0.0
32
+ * @since 4.0.0
21
33
  */
22
34
  export declare const layer: <R>(options: Migrator.MigratorOptions<R>) => Layer.Layer<never, SqlError | Migrator.MigrationError, Client.SqlClient | R>;
23
35
  //# sourceMappingURL=MssqlMigrator.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"MssqlMigrator.d.ts","sourceRoot":"","sources":["../src/MssqlMigrator.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,KAAK,KAAK,MAAM,MAAM,eAAe,CAAA;AAC5C,OAAO,KAAK,KAAK,MAAM,cAAc,CAAA;AACrC,OAAO,KAAK,QAAQ,MAAM,8BAA8B,CAAA;AACxD,OAAO,KAAK,KAAK,MAAM,MAAM,+BAA+B,CAAA;AAC5D,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,8BAA8B,CAAA;AAE5D;;GAEG;AACH,cAAc,8BAA8B,CAAA;AAE5C;;;GAGG;AACH,eAAO,MAAM,GAAG,EAAE,CAAC,CAAC,EAClB,OAAO,EAAE,QAAQ,CAAC,eAAe,CAAC,CAAC,CAAC,KACjC,MAAM,CAAC,MAAM,CAChB,aAAa,CAAC,SAAS,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC,EAClD,QAAQ,GAAG,QAAQ,CAAC,cAAc,EAClC,MAAM,CAAC,SAAS,GAAG,CAAC,CACD,CAAA;AAErB;;;GAGG;AACH,eAAO,MAAM,KAAK,GAAI,CAAC,EACrB,SAAS,QAAQ,CAAC,eAAe,CAAC,CAAC,CAAC,KACnC,KAAK,CAAC,KAAK,CAAC,KAAK,EAAE,QAAQ,GAAG,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC,SAAS,GAAG,CAAC,CAAsC,CAAA"}
1
+ {"version":3,"file":"MssqlMigrator.d.ts","sourceRoot":"","sources":["../src/MssqlMigrator.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AACH,OAAO,KAAK,KAAK,MAAM,MAAM,eAAe,CAAA;AAC5C,OAAO,KAAK,KAAK,MAAM,cAAc,CAAA;AACrC,OAAO,KAAK,QAAQ,MAAM,8BAA8B,CAAA;AACxD,OAAO,KAAK,KAAK,MAAM,MAAM,+BAA+B,CAAA;AAC5D,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,8BAA8B,CAAA;AAE5D;;GAEG;AACH,cAAc,8BAA8B,CAAA;AAE5C;;;;;GAKG;AACH,eAAO,MAAM,GAAG,EAAE,CAAC,CAAC,EAClB,OAAO,EAAE,QAAQ,CAAC,eAAe,CAAC,CAAC,CAAC,KACjC,MAAM,CAAC,MAAM,CAChB,aAAa,CAAC,SAAS,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC,EAClD,QAAQ,GAAG,QAAQ,CAAC,cAAc,EAClC,MAAM,CAAC,SAAS,GAAG,CAAC,CACD,CAAA;AAErB;;;;;GAKG;AACH,eAAO,MAAM,KAAK,GAAI,CAAC,EACrB,SAAS,QAAQ,CAAC,eAAe,CAAC,CAAC,CAAC,KACnC,KAAK,CAAC,KAAK,CAAC,KAAK,EAAE,QAAQ,GAAG,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC,SAAS,GAAG,CAAC,CAAsC,CAAA"}