@effect/sql-mssql 4.0.0-beta.64 → 4.0.0-beta.66

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 +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":"AAAA;;GAEG;AACH,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AACvC,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;AAErC,OAAO,KAAK,QAAQ,MAAM,iBAAiB,CAAA;AAC3C,OAAO,KAAK,KAAK,MAAM,cAAc,CAAA;AAErC,OAAO,KAAK,UAAU,MAAM,uCAAuC,CAAA;AACnE,OAAO,KAAK,MAAM,MAAM,+BAA+B,CAAA;AAEvD,OAAO,EAQL,QAAQ,EAIT,MAAM,8BAA8B,CAAA;AACrC,OAAO,KAAK,SAAS,MAAM,+BAA+B,CAAA;AAG1D,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAA;AACxD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAA;AAC9D,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAA;AAC/C,OAAO,KAAK,KAAK,SAAS,MAAM,gBAAgB,CAAA;AAgGhD;;;GAGG;AACH,eAAO,MAAM,MAAM,EAAE,OAAO,MAAoD,CAAA;AAEhF;;;GAGG;AACH,MAAM,MAAM,MAAM,GAAG,OAAO,MAAM,CAAA;AAElC;;;GAGG;AACH,MAAM,WAAW,WAAY,SAAQ,MAAM,CAAC,SAAS;IACnD,QAAQ,CAAC,CAAC,MAAM,CAAC,EAAE,MAAM,CAAA;IAEzB,QAAQ,CAAC,MAAM,EAAE,iBAAiB,CAAA;IAElC,QAAQ,CAAC,KAAK,EAAE,CACd,IAAI,EAAE,QAAQ,EACd,KAAK,EAAE,OAAO,EACd,OAAO,CAAC,EAAE,gBAAgB,KACvB,SAAS,CAAC,QAAQ,CAAA;IAEvB,QAAQ,CAAC,IAAI,EAAE,CACb,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,CAAC,EACxC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,CAAC,EACxC,CAAC,SAAS,MAAM,EAEhB,SAAS,EAAE,SAAS,CAAC,mBAAmB,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,KAC9C,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAA;CAC/D;AAED;;;GAGG;AACH,eAAO,MAAM,WAAW,2CAAgE,CAAA;AAExF;;;GAGG;AACH,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;IACpC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;IACvB,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;IAC1C,QAAQ,CAAC,OAAO,CAAC,EAAE,OAAO,GAAG,SAAS,CAAA;IACtC,QAAQ,CAAC,WAAW,CAAC,EAAE,OAAO,GAAG,SAAS,CAAA;IAC1C,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;IAClC,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,MAAM,GAAG,SAAS,CAAA;IACtC,QAAQ,CAAC,QAAQ,CAAC,EAAE,QAAQ,CAAC,QAAQ,GAAG,SAAS,CAAA;IACjD,QAAQ,CAAC,cAAc,CAAC,EAAE,QAAQ,CAAC,KAAK,GAAG,SAAS,CAAA;IAEpD,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,KAAK,GAAG,SAAS,CAAA;IAEnD,QAAQ,CAAC,cAAc,CAAC,EAAE,MAAM,CAAC,SAAS,CAAC,aAAa,EAAE,QAAQ,CAAC,GAAG,SAAS,CAAA;IAE/E,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;CACrE;AAqBD;;;GAGG;AACH,eAAO,MAAM,IAAI,GACf,SAAS,iBAAiB,KACzB,MAAM,CAAC,MAAM,CAAC,WAAW,EAAE,QAAQ,EAAE,KAAK,CAAC,KAAK,GAAG,UAAU,CAAC,UAAU,CAiVvE,CAAA;AAEJ;;;GAGG;AACH,eAAO,MAAM,WAAW,EAAE,CACxB,MAAM,EAAE,MAAM,CAAC,IAAI,CAAC,iBAAiB,CAAC,KACnC,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,SAAS,GAAG,WAAW,EAAE,MAAM,CAAC,WAAW,GAAG,QAAQ,CAYrC,CAAA;AAEzC;;;GAGG;AACH,eAAO,MAAM,KAAK,GAChB,QAAQ,iBAAiB,KACxB,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,SAAS,GAAG,WAAW,EAAE,KAAK,GAAG,QAAQ,CAMtB,CAAA;AAEzC;;;GAGG;AACH,eAAO,MAAM,YAAY,GAAI,YAAY,CAAC,CAAC,EAAE,MAAM,KAAK,MAAM,uBAoC1D,CAAA;AAUJ;;GAEG;AACH,eAAO,MAAM,qBAAqB,EAAE,MAAM,CAAC,SAAS,CAAC,aAAa,EAAE,QAAQ,CAS3E,CAAA"}
@@ -13,7 +13,7 @@ import * as Scope from "effect/Scope";
13
13
  import * as Stream from "effect/Stream";
14
14
  import * as Reactivity from "effect/unstable/reactivity/Reactivity";
15
15
  import * as Client from "effect/unstable/sql/SqlClient";
16
- import { AuthenticationError, AuthorizationError, ConnectionError, ConstraintError, DeadlockError, LockTimeoutError, SerializationError, SqlError, SqlSyntaxError, UnknownError } from "effect/unstable/sql/SqlError";
16
+ import { AuthenticationError, AuthorizationError, ConnectionError, ConstraintError, DeadlockError, LockTimeoutError, SerializationError, SqlError, SqlSyntaxError, UniqueViolation, UnknownError } from "effect/unstable/sql/SqlError";
17
17
  import * as Statement from "effect/unstable/sql/Statement";
18
18
  import * as Tedious from "tedious";
19
19
  const ATTR_DB_SYSTEM_NAME = "db.system.name";
@@ -31,7 +31,35 @@ const mssqlConnectionErrorCodes = /*#__PURE__*/new Set([233, 10054]);
31
31
  const mssqlAuthenticationErrorCodes = /*#__PURE__*/new Set([4060, 18452, 18456]);
32
32
  const mssqlAuthorizationErrorCodes = /*#__PURE__*/new Set([229, 230, 262, 297, 300]);
33
33
  const mssqlSyntaxErrorCodes = /*#__PURE__*/new Set([102, 207, 208, 2714]);
34
- const mssqlConstraintErrorCodes = /*#__PURE__*/new Set([515, 547, 2601, 2627]);
34
+ const mssqlConstraintErrorCodes = /*#__PURE__*/new Set([515, 547]);
35
+ const UNKNOWN_CONSTRAINT = "unknown";
36
+ const normalizeConstraintIdentifier = identifier => {
37
+ if (typeof identifier !== "string") {
38
+ return UNKNOWN_CONSTRAINT;
39
+ }
40
+ const trimmed = identifier.trim();
41
+ return trimmed.length === 0 ? UNKNOWN_CONSTRAINT : trimmed;
42
+ };
43
+ const mssqlCauseProperty = (cause, property) => {
44
+ if (typeof cause !== "object" || cause === null || !(property in cause)) {
45
+ return undefined;
46
+ }
47
+ return cause[property];
48
+ };
49
+ const mssqlUniqueViolationConstraintFromMessage = (number, message) => {
50
+ if (typeof message !== "string") {
51
+ return UNKNOWN_CONSTRAINT;
52
+ }
53
+ const match = number === 2627 ? /\bconstraint\s+'([^']*)'/i.exec(message) : /\bunique index\s+'([^']*)'/i.exec(message);
54
+ return match === null ? UNKNOWN_CONSTRAINT : normalizeConstraintIdentifier(match[1]);
55
+ };
56
+ const mssqlUniqueViolationConstraintFromCause = (number, cause) => {
57
+ const constraint = normalizeConstraintIdentifier(mssqlCauseProperty(cause, "constraint"));
58
+ if (constraint !== UNKNOWN_CONSTRAINT) {
59
+ return constraint;
60
+ }
61
+ return mssqlUniqueViolationConstraintFromMessage(number, mssqlCauseProperty(cause, "message"));
62
+ };
35
63
  const classifyError = (cause, message, operation, fallback = "unknown") => {
36
64
  const props = {
37
65
  cause,
@@ -52,6 +80,12 @@ const classifyError = (cause, message, operation, fallback = "unknown") => {
52
80
  if (mssqlSyntaxErrorCodes.has(number)) {
53
81
  return new SqlSyntaxError(props);
54
82
  }
83
+ if (number === 2601 || number === 2627) {
84
+ return new UniqueViolation({
85
+ ...props,
86
+ constraint: mssqlUniqueViolationConstraintFromCause(number, cause)
87
+ });
88
+ }
55
89
  if (mssqlConstraintErrorCodes.has(number)) {
56
90
  return new ConstraintError(props);
57
91
  }
@@ -317,7 +351,7 @@ export const make = options => Effect.gen(function* () {
317
351
  * @category layers
318
352
  * @since 1.0.0
319
353
  */
320
- export const layerConfig = config => Layer.effectContext(Config.unwrap(config).asEffect().pipe(Effect.flatMap(make), Effect.map(client => Context.make(MssqlClient, client).pipe(Context.add(Client.SqlClient, client))))).pipe(Layer.provide(Reactivity.layer));
354
+ 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));
321
355
  /**
322
356
  * @category layers
323
357
  * @since 1.0.0
@@ -1 +1 @@
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","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","classifyError","message","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","connectTimeout","toMillis","fromInputUnsafe","rowCollectionOnRequestCompletion","useColumnNames","instanceName","encrypt","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","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","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","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","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","connectTimeout","toMillis","fromInputUnsafe","rowCollectionOnRequestCompletion","useColumnNames","instanceName","encrypt","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","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":[]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@effect/sql-mssql",
3
- "version": "4.0.0-beta.64",
3
+ "version": "4.0.0-beta.66",
4
4
  "type": "module",
5
5
  "license": "MIT",
6
6
  "description": "A Microsoft SQL Server toolkit for Effect",
@@ -43,10 +43,10 @@
43
43
  "provenance": true
44
44
  },
45
45
  "devDependencies": {
46
- "effect": "^4.0.0-beta.64"
46
+ "effect": "^4.0.0-beta.66"
47
47
  },
48
48
  "peerDependencies": {
49
- "effect": "^4.0.0-beta.64"
49
+ "effect": "^4.0.0-beta.66"
50
50
  },
51
51
  "dependencies": {
52
52
  "tedious": "^19.2.1"
@@ -24,6 +24,7 @@ import {
24
24
  SerializationError,
25
25
  SqlError,
26
26
  SqlSyntaxError,
27
+ UniqueViolation,
27
28
  UnknownError
28
29
  } from "effect/unstable/sql/SqlError"
29
30
  import * as Statement from "effect/unstable/sql/Statement"
@@ -51,7 +52,42 @@ const mssqlConnectionErrorCodes = new Set([233, 10054])
51
52
  const mssqlAuthenticationErrorCodes = new Set([4060, 18452, 18456])
52
53
  const mssqlAuthorizationErrorCodes = new Set([229, 230, 262, 297, 300])
53
54
  const mssqlSyntaxErrorCodes = new Set([102, 207, 208, 2714])
54
- const mssqlConstraintErrorCodes = new Set([515, 547, 2601, 2627])
55
+ const mssqlConstraintErrorCodes = new Set([515, 547])
56
+
57
+ const UNKNOWN_CONSTRAINT = "unknown"
58
+
59
+ const normalizeConstraintIdentifier = (identifier: unknown): string => {
60
+ if (typeof identifier !== "string") {
61
+ return UNKNOWN_CONSTRAINT
62
+ }
63
+ const trimmed = identifier.trim()
64
+ return trimmed.length === 0 ? UNKNOWN_CONSTRAINT : trimmed
65
+ }
66
+
67
+ const mssqlCauseProperty = (cause: unknown, property: "constraint" | "message"): unknown => {
68
+ if (typeof cause !== "object" || cause === null || !(property in cause)) {
69
+ return undefined
70
+ }
71
+ return (cause as Record<string, unknown>)[property]
72
+ }
73
+
74
+ const mssqlUniqueViolationConstraintFromMessage = (number: 2601 | 2627, message: unknown): string => {
75
+ if (typeof message !== "string") {
76
+ return UNKNOWN_CONSTRAINT
77
+ }
78
+ const match = number === 2627 ?
79
+ /\bconstraint\s+'([^']*)'/i.exec(message) :
80
+ /\bunique index\s+'([^']*)'/i.exec(message)
81
+ return match === null ? UNKNOWN_CONSTRAINT : normalizeConstraintIdentifier(match[1])
82
+ }
83
+
84
+ const mssqlUniqueViolationConstraintFromCause = (number: 2601 | 2627, cause: unknown): string => {
85
+ const constraint = normalizeConstraintIdentifier(mssqlCauseProperty(cause, "constraint"))
86
+ if (constraint !== UNKNOWN_CONSTRAINT) {
87
+ return constraint
88
+ }
89
+ return mssqlUniqueViolationConstraintFromMessage(number, mssqlCauseProperty(cause, "message"))
90
+ }
55
91
 
56
92
  const classifyError = (
57
93
  cause: unknown,
@@ -74,6 +110,9 @@ const classifyError = (
74
110
  if (mssqlSyntaxErrorCodes.has(number)) {
75
111
  return new SqlSyntaxError(props)
76
112
  }
113
+ if (number === 2601 || number === 2627) {
114
+ return new UniqueViolation({ ...props, constraint: mssqlUniqueViolationConstraintFromCause(number, cause) })
115
+ }
77
116
  if (mssqlConstraintErrorCodes.has(number)) {
78
117
  return new ConstraintError(props)
79
118
  }
@@ -535,7 +574,7 @@ export const layerConfig: (
535
574
  config: Config.Wrap<MssqlClientConfig>
536
575
  ): Layer.Layer<Client.SqlClient | MssqlClient, Config.ConfigError | SqlError> =>
537
576
  Layer.effectContext(
538
- Config.unwrap(config).asEffect().pipe(
577
+ Config.unwrap(config).pipe(
539
578
  Effect.flatMap(make),
540
579
  Effect.map((client) =>
541
580
  Context.make(MssqlClient, client).pipe(