@effect/sql-mssql 4.0.0-beta.70 → 4.0.0-beta.72
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/dist/MssqlClient.d.ts +37 -23
- package/dist/MssqlClient.d.ts.map +1 -1
- package/dist/MssqlClient.js +35 -21
- package/dist/MssqlClient.js.map +1 -1
- package/dist/Parameter.d.ts +2 -2
- package/dist/Parameter.d.ts.map +1 -1
- package/dist/Parameter.js +35 -20
- package/dist/Parameter.js.map +1 -1
- package/dist/Procedure.d.ts +2 -2
- package/dist/Procedure.d.ts.map +1 -1
- package/dist/Procedure.js +29 -15
- package/dist/Procedure.js.map +1 -1
- package/dist/index.d.ts +0 -84
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +0 -84
- package/dist/index.js.map +1 -1
- package/package.json +3 -3
- package/src/MssqlClient.ts +35 -21
- package/src/Parameter.ts +34 -19
- package/src/Procedure.ts +32 -18
- package/src/index.ts +0 -84
package/dist/MssqlClient.d.ts
CHANGED
|
@@ -2,28 +2,37 @@
|
|
|
2
2
|
* Microsoft SQL Server client implementation for Effect SQL, backed by the
|
|
3
3
|
* `tedious` driver.
|
|
4
4
|
*
|
|
5
|
-
* This module provides the `MssqlClient` service
|
|
6
|
-
*
|
|
7
|
-
*
|
|
8
|
-
*
|
|
9
|
-
*
|
|
10
|
-
*
|
|
11
|
-
*
|
|
12
|
-
*
|
|
13
|
-
*
|
|
14
|
-
*
|
|
15
|
-
*
|
|
16
|
-
*
|
|
17
|
-
*
|
|
18
|
-
*
|
|
19
|
-
*
|
|
20
|
-
*
|
|
21
|
-
*
|
|
22
|
-
* `
|
|
23
|
-
*
|
|
24
|
-
*
|
|
25
|
-
*
|
|
26
|
-
*
|
|
5
|
+
* This module provides the `MssqlClient` service, constructors, layers, and SQL
|
|
6
|
+
* Server statement compiler. The layers provide both `MssqlClient` and the
|
|
7
|
+
* generic `SqlClient` service, so code written against Effect SQL can run
|
|
8
|
+
* regular queries while SQL Server-specific code can add typed Tedious
|
|
9
|
+
* parameters with `param` and execute stored procedures with `call`.
|
|
10
|
+
*
|
|
11
|
+
* **Mental model**
|
|
12
|
+
*
|
|
13
|
+
* A client owns a scoped pool of Tedious connections and validates startup with
|
|
14
|
+
* `SELECT 1`. Ordinary queries borrow a pooled connection for one operation.
|
|
15
|
+
* Transactions keep one connection for their lifetime, and nested transactions
|
|
16
|
+
* are represented with SQL Server savepoints. Long-running transactions
|
|
17
|
+
* therefore reduce available pool capacity.
|
|
18
|
+
*
|
|
19
|
+
* **Common tasks**
|
|
20
|
+
*
|
|
21
|
+
* Use {@link layer} for a concrete `MssqlClientConfig`, {@link layerConfig} when
|
|
22
|
+
* configuration should come from Effect `Config`, and {@link make} when a scoped
|
|
23
|
+
* client value is needed directly. Use `param` to override the default mapping
|
|
24
|
+
* from Effect SQL primitive values to Tedious `DataType`s, and use the
|
|
25
|
+
* `Procedure` and `Parameter` helpers when a stored procedure needs typed input
|
|
26
|
+
* parameters, output parameters, or result rows.
|
|
27
|
+
*
|
|
28
|
+
* **Gotchas**
|
|
29
|
+
*
|
|
30
|
+
* Tedious permits one active request per connection, and this client does not
|
|
31
|
+
* implement streaming queries. Statements compile to SQL Server-style `@1`
|
|
32
|
+
* parameters and bracket-escaped identifiers. Be explicit about connection pool
|
|
33
|
+
* and timeout settings for workloads with transactions. Review TLS settings:
|
|
34
|
+
* `encrypt` defaults to `false`, and `trustServer` defaults to `true` for the
|
|
35
|
+
* Tedious `trustServerCertificate` option unless overridden.
|
|
27
36
|
*
|
|
28
37
|
* @since 4.0.0
|
|
29
38
|
*/
|
|
@@ -69,7 +78,12 @@ export interface MssqlClient extends Client.SqlClient {
|
|
|
69
78
|
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>;
|
|
70
79
|
}
|
|
71
80
|
/**
|
|
72
|
-
*
|
|
81
|
+
* Service tag for the Microsoft SQL Server client service.
|
|
82
|
+
*
|
|
83
|
+
* **When to use**
|
|
84
|
+
*
|
|
85
|
+
* Use to access or provide a Microsoft SQL Server client through the Effect
|
|
86
|
+
* context.
|
|
73
87
|
*
|
|
74
88
|
* @category tags
|
|
75
89
|
* @since 4.0.0
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MssqlClient.d.ts","sourceRoot":"","sources":["../src/MssqlClient.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"MssqlClient.d.ts","sourceRoot":"","sources":["../src/MssqlClient.ts"],"names":[],"mappings":"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"}
|
package/dist/MssqlClient.js
CHANGED
|
@@ -2,28 +2,37 @@
|
|
|
2
2
|
* Microsoft SQL Server client implementation for Effect SQL, backed by the
|
|
3
3
|
* `tedious` driver.
|
|
4
4
|
*
|
|
5
|
-
* This module provides the `MssqlClient` service
|
|
6
|
-
*
|
|
7
|
-
*
|
|
8
|
-
*
|
|
9
|
-
*
|
|
5
|
+
* This module provides the `MssqlClient` service, constructors, layers, and SQL
|
|
6
|
+
* Server statement compiler. The layers provide both `MssqlClient` and the
|
|
7
|
+
* generic `SqlClient` service, so code written against Effect SQL can run
|
|
8
|
+
* regular queries while SQL Server-specific code can add typed Tedious
|
|
9
|
+
* parameters with `param` and execute stored procedures with `call`.
|
|
10
10
|
*
|
|
11
|
-
*
|
|
12
|
-
* `SELECT 1`. Regular queries borrow a pooled connection per operation, while
|
|
13
|
-
* transactions keep one pooled connection for their lifetime and use SQL Server
|
|
14
|
-
* savepoints for nested transactions. Long-running transactions therefore
|
|
15
|
-
* reduce available pool capacity; size `maxConnections`, `connectionTTL`, and
|
|
16
|
-
* `connectTimeout` accordingly.
|
|
11
|
+
* **Mental model**
|
|
17
12
|
*
|
|
18
|
-
*
|
|
19
|
-
*
|
|
20
|
-
*
|
|
21
|
-
*
|
|
22
|
-
*
|
|
23
|
-
*
|
|
24
|
-
*
|
|
25
|
-
*
|
|
26
|
-
*
|
|
13
|
+
* A client owns a scoped pool of Tedious connections and validates startup with
|
|
14
|
+
* `SELECT 1`. Ordinary queries borrow a pooled connection for one operation.
|
|
15
|
+
* Transactions keep one connection for their lifetime, and nested transactions
|
|
16
|
+
* are represented with SQL Server savepoints. Long-running transactions
|
|
17
|
+
* therefore reduce available pool capacity.
|
|
18
|
+
*
|
|
19
|
+
* **Common tasks**
|
|
20
|
+
*
|
|
21
|
+
* Use {@link layer} for a concrete `MssqlClientConfig`, {@link layerConfig} when
|
|
22
|
+
* configuration should come from Effect `Config`, and {@link make} when a scoped
|
|
23
|
+
* client value is needed directly. Use `param` to override the default mapping
|
|
24
|
+
* from Effect SQL primitive values to Tedious `DataType`s, and use the
|
|
25
|
+
* `Procedure` and `Parameter` helpers when a stored procedure needs typed input
|
|
26
|
+
* parameters, output parameters, or result rows.
|
|
27
|
+
*
|
|
28
|
+
* **Gotchas**
|
|
29
|
+
*
|
|
30
|
+
* Tedious permits one active request per connection, and this client does not
|
|
31
|
+
* implement streaming queries. Statements compile to SQL Server-style `@1`
|
|
32
|
+
* parameters and bracket-escaped identifiers. Be explicit about connection pool
|
|
33
|
+
* and timeout settings for workloads with transactions. Review TLS settings:
|
|
34
|
+
* `encrypt` defaults to `false`, and `trustServer` defaults to `true` for the
|
|
35
|
+
* Tedious `trustServerCertificate` option unless overridden.
|
|
27
36
|
*
|
|
28
37
|
* @since 4.0.0
|
|
29
38
|
*/
|
|
@@ -135,7 +144,12 @@ const classifyError = (cause, message, operation, fallback = "unknown") => {
|
|
|
135
144
|
*/
|
|
136
145
|
export const TypeId = /*#__PURE__*/Symbol.for("@effect/sql-mssql/MssqlClient");
|
|
137
146
|
/**
|
|
138
|
-
*
|
|
147
|
+
* Service tag for the Microsoft SQL Server client service.
|
|
148
|
+
*
|
|
149
|
+
* **When to use**
|
|
150
|
+
*
|
|
151
|
+
* Use to access or provide a Microsoft SQL Server client through the Effect
|
|
152
|
+
* context.
|
|
139
153
|
*
|
|
140
154
|
* @category tags
|
|
141
155
|
* @since 4.0.0
|
package/dist/MssqlClient.js.map
CHANGED
|
@@ -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","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":[]}
|
|
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":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAsCA,OAAO,KAAKA,MAAM,MAAM,eAAe;AACvC,OAAO,KAAKC,OAAO,MAAM,gBAAgB;AACzC,OAAO,KAAKC,QAAQ,MAAM,iBAAiB;AAC3C,OAAO,KAAKC,MAAM,MAAM,eAAe;AACvC,SAASC,QAAQ,QAAQ,iBAAiB;AAC1C,OAAO,KAAKC,KAAK,MAAM,cAAc;AACrC,OAAO,KAAKC,IAAI,MAAM,aAAa;AACnC,OAAO,KAAKC,QAAQ,MAAM,iBAAiB;AAC3C,OAAO,KAAKC,KAAK,MAAM,cAAc;AACrC,OAAO,KAAKC,MAAM,MAAM,eAAe;AACvC,OAAO,KAAKC,UAAU,MAAM,uCAAuC;AACnE,OAAO,KAAKC,MAAM,MAAM,+BAA+B;AAEvD,SACEC,mBAAmB,EACnBC,kBAAkB,EAClBC,eAAe,EACfC,eAAe,EACfC,aAAa,EACbC,gBAAgB,EAChBC,kBAAkB,EAClBC,QAAQ,EACRC,cAAc,EACdC,eAAe,EACfC,YAAY,QACP,8BAA8B;AACrC,OAAO,KAAKC,SAAS,MAAM,+BAA+B;AAC1D,OAAO,KAAKC,OAAO,MAAM,SAAS;AAOlC,MAAMC,mBAAmB,GAAG,gBAAgB;AAC5C,MAAMC,iBAAiB,GAAG,cAAc;AACxC,MAAMC,mBAAmB,GAAG,gBAAgB;AAC5C,MAAMC,gBAAgB,GAAG,aAAa;AAEtC,MAAMC,oBAAoB,GAAIC,KAAc,IAAwB;EAClE,IAAI,OAAOA,KAAK,KAAK,QAAQ,IAAIA,KAAK,KAAK,IAAI,IAAI,EAAE,QAAQ,IAAIA,KAAK,CAAC,EAAE;IACvE,OAAOC,SAAS;EAClB;EACA,MAAMC,MAAM,GAAGF,KAAK,CAACE,MAAM;EAC3B,OAAO,OAAOA,MAAM,KAAK,QAAQ,GAAGA,MAAM,GAAGD,SAAS;AACxD,CAAC;AAED,MAAME,yBAAyB,gBAAG,IAAIC,GAAG,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;AACvD,MAAMC,6BAA6B,gBAAG,IAAID,GAAG,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC;AACnE,MAAME,4BAA4B,gBAAG,IAAIF,GAAG,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;AACvE,MAAMG,qBAAqB,gBAAG,IAAIH,GAAG,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI,CAAC,CAAC;AAC5D,MAAMI,yBAAyB,gBAAG,IAAIJ,GAAG,CAAC,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;AAErD,MAAMK,kBAAkB,GAAG,SAAS;AAEpC,MAAMC,6BAA6B,GAAIC,UAAmB,IAAY;EACpE,IAAI,OAAOA,UAAU,KAAK,QAAQ,EAAE;IAClC,OAAOF,kBAAkB;EAC3B;EACA,MAAMG,OAAO,GAAGD,UAAU,CAACE,IAAI,EAAE;EACjC,OAAOD,OAAO,CAACE,MAAM,KAAK,CAAC,GAAGL,kBAAkB,GAAGG,OAAO;AAC5D,CAAC;AAED,MAAMG,kBAAkB,GAAGA,CAACf,KAAc,EAAEgB,QAAkC,KAAa;EACzF,IAAI,OAAOhB,KAAK,KAAK,QAAQ,IAAIA,KAAK,KAAK,IAAI,IAAI,EAAEgB,QAAQ,IAAIhB,KAAK,CAAC,EAAE;IACvE,OAAOC,SAAS;EAClB;EACA,OAAQD,KAAiC,CAACgB,QAAQ,CAAC;AACrD,CAAC;AAED,MAAMC,yCAAyC,GAAGA,CAACf,MAAmB,EAAEgB,OAAgB,KAAY;EAClG,IAAI,OAAOA,OAAO,KAAK,QAAQ,EAAE;IAC/B,OAAOT,kBAAkB;EAC3B;EACA,MAAMU,KAAK,GAAGjB,MAAM,KAAK,IAAI,GAC3B,2BAA2B,CAACkB,IAAI,CAACF,OAAO,CAAC,GACzC,6BAA6B,CAACE,IAAI,CAACF,OAAO,CAAC;EAC7C,OAAOC,KAAK,KAAK,IAAI,GAAGV,kBAAkB,GAAGC,6BAA6B,CAACS,KAAK,CAAC,CAAC,CAAC,CAAC;AACtF,CAAC;AAED,MAAME,uCAAuC,GAAGA,CAACnB,MAAmB,EAAEF,KAAc,KAAY;EAC9F,MAAMsB,UAAU,GAAGZ,6BAA6B,CAACK,kBAAkB,CAACf,KAAK,EAAE,YAAY,CAAC,CAAC;EACzF,IAAIsB,UAAU,KAAKb,kBAAkB,EAAE;IACrC,OAAOa,UAAU;EACnB;EACA,OAAOL,yCAAyC,CAACf,MAAM,EAAEa,kBAAkB,CAACf,KAAK,EAAE,SAAS,CAAC,CAAC;AAChG,CAAC;AAED,MAAMuB,aAAa,GAAGA,CACpBvB,KAAc,EACdkB,OAAe,EACfM,SAAiB,EACjBC,QAAA,GAAqC,SAAS,KAC5C;EACF,MAAMC,KAAK,GAAG;IAAE1B,KAAK;IAAEkB,OAAO;IAAEM;EAAS,CAAE;EAC3C,MAAMtB,MAAM,GAAGH,oBAAoB,CAACC,KAAK,CAAC;EAC1C,IAAIE,MAAM,KAAKD,SAAS,EAAE;IACxB,IAAIE,yBAAyB,CAACwB,GAAG,CAACzB,MAAM,CAAC,EAAE;MACzC,OAAO,IAAIlB,eAAe,CAAC0C,KAAK,CAAC;IACnC;IACA,IAAIrB,6BAA6B,CAACsB,GAAG,CAACzB,MAAM,CAAC,EAAE;MAC7C,OAAO,IAAIpB,mBAAmB,CAAC4C,KAAK,CAAC;IACvC;IACA,IAAIpB,4BAA4B,CAACqB,GAAG,CAACzB,MAAM,CAAC,EAAE;MAC5C,OAAO,IAAInB,kBAAkB,CAAC2C,KAAK,CAAC;IACtC;IACA,IAAInB,qBAAqB,CAACoB,GAAG,CAACzB,MAAM,CAAC,EAAE;MACrC,OAAO,IAAIZ,cAAc,CAACoC,KAAK,CAAC;IAClC;IACA,IAAIxB,MAAM,KAAK,IAAI,IAAIA,MAAM,KAAK,IAAI,EAAE;MACtC,OAAO,IAAIX,eAAe,CAAC;QAAE,GAAGmC,KAAK;QAAEJ,UAAU,EAAED,uCAAuC,CAACnB,MAAM,EAAEF,KAAK;MAAC,CAAE,CAAC;IAC9G;IACA,IAAIQ,yBAAyB,CAACmB,GAAG,CAACzB,MAAM,CAAC,EAAE;MACzC,OAAO,IAAIjB,eAAe,CAACyC,KAAK,CAAC;IACnC;IACA,IAAIxB,MAAM,KAAK,IAAI,EAAE;MACnB,OAAO,IAAIhB,aAAa,CAACwC,KAAK,CAAC;IACjC;IACA,IAAIxB,MAAM,KAAK,IAAI,EAAE;MACnB,OAAO,IAAId,kBAAkB,CAACsC,KAAK,CAAC;IACtC;IACA,IAAIxB,MAAM,KAAK,IAAI,EAAE;MACnB,OAAO,IAAIf,gBAAgB,CAACuC,KAAK,CAAC;IACpC;EACF;EACA,OAAOD,QAAQ,KAAK,YAAY,GAAG,IAAIzC,eAAe,CAAC0C,KAAK,CAAC,GAAG,IAAIlC,YAAY,CAACkC,KAAK,CAAC;AACzF,CAAC;AAED;;;;;;AAMA,OAAO,MAAME,MAAM,gBAAkBC,MAAM,CAACC,GAAG,CAAC,+BAA+B,CAAC;AAoChF;;;;;;;;;;;AAWA,OAAO,MAAMC,WAAW,gBAAG5D,OAAO,CAAC6D,OAAO,CAAc,+BAA+B,CAAC;AA6CxF,MAAMC,qBAAqB,GAAGpD,MAAM,CAACoD,qBAGpC;AAED,IAAIC,eAAe,GAAG,CAAC;AAEvB;;;;;;AAMA,OAAO,MAAMC,IAAI,GACfC,OAA0B,IAE1B/D,MAAM,CAACgE,GAAG,CAAC,aAAS;EAClB,MAAMC,cAAc,GAAGF,OAAO,CAACE,cAAc,IAAIC,qBAAqB;EACtE,MAAMC,QAAQ,GAAGC,YAAY,CAACL,OAAO,CAACM,mBAAmB,CAAC;EAE1D,MAAMC,aAAa,GAAGP,OAAO,CAACQ,oBAAoB,GAChDnD,SAAS,CAACoD,iBAAiB,CACzBT,OAAO,CAACQ,oBAAoB,CAC7B,CAACE,KAAK,GACP7C,SAAS;EACX,MAAM8C,cAAc,GAAqC,CACvD,IAAIX,OAAO,CAACW,cAAc,GAAGC,MAAM,CAACC,OAAO,CAACb,OAAO,CAACW,cAAc,CAAC,GAAG,EAAE,CAAC,EACzE,CAACpD,mBAAmB,EAAE,sBAAsB,CAAC,EAC7C,CAACC,iBAAiB,EAAEwC,OAAO,CAACc,QAAQ,IAAI,QAAQ,CAAC,EACjD,CAACrD,mBAAmB,EAAEuC,OAAO,CAACe,MAAM,CAAC,EACrC,CAACrD,gBAAgB,EAAEsC,OAAO,CAACgB,IAAI,IAAI,IAAI,CAAC,CACzC;EAED;EACA,IAAIC,IAA0C;EAE9C,MAAMC,cAAc,GAAGjF,MAAM,CAACgE,GAAG,CAAC,aAAS;IACzC,MAAMkB,IAAI,GAAG,IAAI7D,OAAO,CAAC8D,UAAU,CAAC;MAClCpB,OAAO,EAAE;QACPgB,IAAI,EAAEhB,OAAO,CAACgB,IAAI;QAClBF,QAAQ,EAAEd,OAAO,CAACc,QAAQ;QAC1BO,sBAAsB,EAAErB,OAAO,CAACsB,WAAW,IAAI,IAAI;QACnDC,cAAc,EAAEvB,OAAO,CAACuB,cAAc,GAClCvF,QAAQ,CAACwF,QAAQ,CAACxF,QAAQ,CAACyF,eAAe,CAACzB,OAAO,CAACuB,cAAc,CAAC,CAAC,GACnE1D,SAAS;QACb6D,gCAAgC,EAAE,IAAI;QACtCC,cAAc,EAAE,KAAK;QACrBC,YAAY,EAAE5B,OAAO,CAAC4B,YAAY;QAClCC,OAAO,EAAE7B,OAAO,CAAC6B,OAAO,IAAI;OACR;MACtBd,MAAM,EAAEf,OAAO,CAACe,MAAM;MACtBe,cAAc,EAAE;QACdC,IAAI,EAAG/B,OAAO,CAACgC,QAAgB,IAAI,SAAS;QAC5ChC,OAAO,EAAE;UACPiC,QAAQ,EAAEjC,OAAO,CAACkC,QAAQ;UAC1BC,QAAQ,EAAEnC,OAAO,CAACmC,QAAQ,GACtB9F,QAAQ,CAAC+F,KAAK,CAACpC,OAAO,CAACmC,QAAQ,CAAC,GAChCtE;;;KAGT,CAAC;IAEF,OAAO5B,MAAM,CAACoG,YAAY,CAAC,MAAMpG,MAAM,CAACqG,IAAI,CAAC,MAAMnB,IAAI,CAACoB,KAAK,EAAE,CAAC,CAAC;IAEjE,OAAOtG,MAAM,CAACuG,QAAQ,CAAkBC,MAAM,IAAI;MAChDtB,IAAI,CAACuB,OAAO,CAAE9E,KAAK,IAAI;QACrB,IAAIA,KAAK,EAAE;UACT6E,MAAM,CACJxG,MAAM,CAAC0G,IAAI,CAAC,IAAI1F,QAAQ,CAAC;YAAE2F,MAAM,EAAEzD,aAAa,CAACvB,KAAK,EAAE,mBAAmB,EAAE,SAAS,EAAE,YAAY;UAAC,CAAE,CAAC,CAAC,CAC1G;QACH,CAAC,MAAM;UACL6E,MAAM,CAACxG,MAAM,CAAC4G,IAAI,CAAC;QACrB;MACF,CAAC,CAAC;IACJ,CAAC,CAAC;IAEF,MAAMC,GAAG,GAAGA,CACVC,GAAW,EACXC,MAA2B,EAC3BC,WAAW,GAAG,KAAK,KAEnBhH,MAAM,CAACuG,QAAQ,CAAiBC,MAAM,IAAI;MACxC,MAAMS,GAAG,GAAG,IAAI5F,OAAO,CAAC6F,OAAO,CAACJ,GAAG,EAAE,CAACnF,KAAK,EAAEwF,SAAS,EAAEC,MAAM,KAAI;QAChE,IAAIzF,KAAK,EAAE;UACT6E,MAAM,CACJxG,MAAM,CAAC0G,IAAI,CAAC,IAAI1F,QAAQ,CAAC;YAAE2F,MAAM,EAAEzD,aAAa,CAACvB,KAAK,EAAE,6BAA6B,EAAE,SAAS;UAAC,CAAE,CAAC,CAAC,CACtG;UACD;QACF;QAEA,IAAIqF,WAAW,EAAE;UACfI,MAAM,GAAGA,MAAM,CAACC,GAAG,CAAEC,GAAQ,IAAKA,GAAG,CAACD,GAAG,CAAEE,CAAM,IAAKA,CAAC,CAACpB,KAAK,CAAC,CAAC;QACjE,CAAC,MAAM;UACLiB,MAAM,GAAGI,aAAa,CAACJ,MAAM,CAAC;QAChC;QAEAZ,MAAM,CAACxG,MAAM,CAACyH,OAAO,CAACL,MAAM,CAAC,CAAC;MAChC,CAAC,CAAC;MAEF,IAAIL,MAAM,EAAE;QACV,KAAK,IAAIW,CAAC,GAAG,CAAC,EAAEC,GAAG,GAAGZ,MAAM,CAACtE,MAAM,EAAEiF,CAAC,GAAGC,GAAG,EAAED,CAAC,EAAE,EAAE;UACjD,MAAMvB,KAAK,GAAGY,MAAM,CAACW,CAAC,CAAC;UACvB,MAAME,IAAI,GAAGC,iBAAiB,CAACH,CAAC,CAAC;UAEjC,IAAII,YAAY,CAAC3B,KAAK,CAAC,EAAE;YACvBc,GAAG,CAACc,YAAY,CAACH,IAAI,EAAEzB,KAAK,CAAC6B,MAAM,EAAE7B,KAAK,CAAC8B,MAAM,EAAE9B,KAAK,CAAC+B,MAAM,CAAC;UAClE,CAAC,MAAM;YACL,MAAMC,IAAI,GAAG/G,SAAS,CAACgH,aAAa,CAACjC,KAAK,CAAC;YAC3C,MAAML,IAAI,GAAG7B,cAAc,CAACkE,IAAI,CAAC;YACjClB,GAAG,CAACc,YAAY,CAACH,IAAI,EAAE9B,IAAI,EAAEK,KAAK,CAAC;UACrC;QACF;MACF;MAEAjB,IAAI,CAACmD,MAAM,EAAE;MACbnD,IAAI,CAACoD,OAAO,CAACrB,GAAG,CAAC;IACnB,CAAC,CAAC;IAEJ,MAAMsB,YAAY,GAAGA,CACnBC,SAAuD,EACvDlE,aAA6E,KAE7EtE,MAAM,CAACuG,QAAQ,CAAiBC,MAAM,IAAI;MACxC,MAAMY,MAAM,GAAwB,EAAE;MAEtC,MAAMH,GAAG,GAAG,IAAI5F,OAAO,CAAC6F,OAAO,CAC7BuB,MAAM,CAACD,SAAS,CAACZ,IAAI,CAAC,EACtB,CAACjG,KAAK,EAAE4F,CAAC,EAAEmB,IAAI,KAAI;QACjB,IAAI/G,KAAK,EAAE;UACT6E,MAAM,CACJxG,MAAM,CAAC0G,IAAI,CAAC,IAAI1F,QAAQ,CAAC;YAAE2F,MAAM,EAAEzD,aAAa,CAACvB,KAAK,EAAE,6BAA6B,EAAE,SAAS;UAAC,CAAE,CAAC,CAAC,CACtG;QACH,CAAC,MAAM;UACL+G,IAAI,GAAGlB,aAAa,CAACkB,IAAI,CAAC;UAC1B,IAAIpE,aAAa,EAAE;YACjBoE,IAAI,GAAGpE,aAAa,CAACoE,IAAI,CAAQ;UACnC;UACAlC,MAAM,CACJxG,MAAM,CAACyH,OAAO,CAAC;YACbkB,MAAM,EAAEvB,MAAM;YACdsB;WACD,CAAC,CACH;QACH;MACF,CAAC,CACF;MAED,KAAK,MAAMd,IAAI,IAAIY,SAAS,CAACG,MAAM,EAAE;QACnC,MAAMC,KAAK,GAAGJ,SAAS,CAACG,MAAM,CAACf,IAAI,CAAC;QACpC,MAAMzB,KAAK,GAAGqC,SAAS,CAACzB,MAAM,CAACa,IAAI,CAAC;QACpCX,GAAG,CAACc,YAAY,CAACH,IAAI,EAAEgB,KAAK,CAAC9C,IAAI,EAAEK,KAAK,EAAEyC,KAAK,CAAC7E,OAAO,CAAC;MAC1D;MAEA,KAAK,MAAM6D,IAAI,IAAIY,SAAS,CAACK,YAAY,EAAE;QACzC,MAAMD,KAAK,GAAGJ,SAAS,CAACK,YAAY,CAACjB,IAAI,CAAC;QAC1CX,GAAG,CAAC6B,kBAAkB,CAAClB,IAAI,EAAEgB,KAAK,CAAC9C,IAAI,EAAElE,SAAS,EAAEgH,KAAK,CAAC7E,OAAO,CAAC;MACpE;MAEAkD,GAAG,CAAC8B,EAAE,CAAC,aAAa,EAAE,CAACnB,IAAI,EAAEzB,KAAK,KAAI;QACpCiB,MAAM,CAACQ,IAAI,CAAC,GAAGzB,KAAK;MACtB,CAAC,CAAC;MAEFjB,IAAI,CAACmD,MAAM,EAAE;MACbnD,IAAI,CAAC8D,aAAa,CAAC/B,GAAG,CAAC;IACzB,CAAC,CAAC;IAEJ,MAAMgC,UAAU,GAAGhJ,QAAQ,CAAkB;MAC3CiJ,OAAOA,CAACpC,GAAG,EAAE6B,MAAM,EAAErE,aAAa;QAChC,OAAOA,aAAa,GAChBtE,MAAM,CAACqH,GAAG,CAACR,GAAG,CAACC,GAAG,EAAE6B,MAAM,CAAC,EAAErE,aAAa,CAAC,GAC3CuC,GAAG,CAACC,GAAG,EAAE6B,MAAM,CAAC;MACtB,CAAC;MACDQ,UAAUA,CAACrC,GAAG,EAAE6B,MAAM;QACpB,OAAO9B,GAAG,CAACC,GAAG,EAAE6B,MAAM,CAAC;MACzB,CAAC;MACDS,aAAaA,CAACtC,GAAG,EAAE6B,MAAM;QACvB,OAAO9B,GAAG,CAACC,GAAG,EAAE6B,MAAM,EAAE,IAAI,CAAC;MAC/B,CAAC;MACDU,iBAAiBA,CAACvC,GAAG,EAAE6B,MAAM,EAAErE,aAAa;QAC1C,OAAO,IAAI,CAAC4E,OAAO,CAACpC,GAAG,EAAE6B,MAAM,EAAErE,aAAa,CAAC;MACjD,CAAC;MACDgF,aAAaA,CAAA;QACX,OAAOhJ,MAAM,CAACiJ,GAAG,CAAC,+BAA+B,CAAC;MACpD,CAAC;MACDC,IAAIA,CAAChB,SAAS,EAAElE,aAAa;QAC3B,OAAOiE,YAAY,CAACC,SAAS,EAAElE,aAAa,CAAC;MAC/C,CAAC;MACDmF,KAAK,EAAEzJ,MAAM,CAACuG,QAAQ,CAAkBC,MAAM,IAAI;QAChDtB,IAAI,CAACwE,gBAAgB,CAAE/H,KAAK,IAAI;UAC9B,IAAIA,KAAK,EAAE;YACT6E,MAAM,CACJxG,MAAM,CAAC0G,IAAI,CACT,IAAI1F,QAAQ,CAAC;cACX2F,MAAM,EAAEzD,aAAa,CAACvB,KAAK,EAAE,6BAA6B,EAAE,kBAAkB;aAC/E,CAAC,CACH,CACF;UACH,CAAC,MAAM;YACL6E,MAAM,CAACxG,MAAM,CAAC4G,IAAI,CAAC;UACrB;QACF,CAAC,CAAC;MACJ,CAAC,CAAC;MACF+C,MAAM,EAAE3J,MAAM,CAACuG,QAAQ,CAAkBC,MAAM,IAAI;QACjDtB,IAAI,CAAC0E,iBAAiB,CAAEjI,KAAK,IAAI;UAC/B,IAAIA,KAAK,EAAE;YACT6E,MAAM,CACJxG,MAAM,CAAC0G,IAAI,CACT,IAAI1F,QAAQ,CAAC;cACX2F,MAAM,EAAEzD,aAAa,CAACvB,KAAK,EAAE,8BAA8B,EAAE,mBAAmB;aACjF,CAAC,CACH,CACF;UACH,CAAC,MAAM;YACL6E,MAAM,CAACxG,MAAM,CAAC4G,IAAI,CAAC;UACrB;QACF,CAAC,CAAC;MACJ,CAAC,CAAC;MACFiD,SAAS,EAAGjC,IAAY,IACtB5H,MAAM,CAACuG,QAAQ,CAAkBC,MAAM,IAAI;QACzCtB,IAAI,CAAC4E,eAAe,CAAEnI,KAAK,IAAI;UAC7B,IAAIA,KAAK,EAAE;YACT6E,MAAM,CACJxG,MAAM,CAAC0G,IAAI,CACT,IAAI1F,QAAQ,CAAC;cAAE2F,MAAM,EAAEzD,aAAa,CAACvB,KAAK,EAAE,4BAA4B,EAAE,iBAAiB;YAAC,CAAE,CAAC,CAChG,CACF;UACH,CAAC,MAAM;YACL6E,MAAM,CAACxG,MAAM,CAAC4G,IAAI,CAAC;UACrB;QACF,CAAC,EAAEgB,IAAI,CAAC;MACV,CAAC,CAAC;MACJmC,QAAQ,EAAGnC,IAAa,IACtB5H,MAAM,CAACuG,QAAQ,CAAkBC,MAAM,IAAI;QACzCtB,IAAI,CAAC8E,mBAAmB,CAAErI,KAAK,IAAI;UACjC,IAAIA,KAAK,EAAE;YACT6E,MAAM,CACJxG,MAAM,CAAC0G,IAAI,CACT,IAAI1F,QAAQ,CAAC;cACX2F,MAAM,EAAEzD,aAAa,CAACvB,KAAK,EAAE,gCAAgC,EAAE,qBAAqB;aACrF,CAAC,CACH,CACF;UACH,CAAC,MAAM;YACL6E,MAAM,CAACxG,MAAM,CAAC4G,IAAI,CAAC;UACrB;QACF,CAAC,EAAEgB,IAAI,CAAC;MACV,CAAC;KACJ,CAAC;IAEF,OAAO5H,MAAM,CAACuG,QAAQ,CAAkBC,MAAM,IAAI;MAChDtB,IAAI,CAAC6D,EAAE,CAAC,OAAO,EAAGxB,CAAC,IAAKf,MAAM,CAACxG,MAAM,CAAC0G,IAAI,CAACa,CAAC,CAAC,CAAC,CAAC;IACjD,CAAC,CAAC,CAAC0C,IAAI,CACLjK,MAAM,CAACkK,KAAK,CAAC,MAAM/J,IAAI,CAACgK,UAAU,CAACnF,IAAI,EAAEiE,UAAU,CAAC,CAAC,EACrDjJ,MAAM,CAACoK,aAAa,EACpBpK,MAAM,CAACqK,UAAU,CAClB;IAED,OAAOpB,UAAU;EACnB,CAAC,CAAC;EAEFjE,IAAI,GAAG,OAAO7E,IAAI,CAACmK,WAAW,CAAC;IAC7BC,OAAO,EAAEtF,cAAc;IACvBuF,GAAG,EAAEzG,OAAO,CAAC0G,cAAc,IAAI,CAAC;IAChCC,GAAG,EAAE3G,OAAO,CAAC4G,cAAc,IAAI,EAAE;IACjCC,UAAU,EAAE7G,OAAO,CAAC8G,aAAa,IAAI9K,QAAQ,CAAC+K,OAAO,CAAC,EAAE,CAAC;IACzDC,kBAAkB,EAAE;GACrB,CAAC;EAEF,OAAO5K,IAAI,CAAC6K,GAAG,CAAChG,IAAI,CAAC,CAACiF,IAAI,CACxBjK,MAAM,CAACiL,GAAG,CAAEhC,UAAU,IAAKA,UAAU,CAACI,iBAAiB,CAAC,UAAU,EAAE,EAAE,EAAEzH,SAAS,CAAC,CAAC,EACnF5B,MAAM,CAACkL,QAAQ,CAAEvJ,KAAK,IACpB,IAAIX,QAAQ,CAAC;IAAE2F,MAAM,EAAEzD,aAAa,CAACvB,KAAK,EAAE,gCAAgC,EAAE,SAAS,EAAE,YAAY;EAAC,CAAE,CAAC,CAC1G,EACD3B,MAAM,CAACmL,MAAM,EACbnL,MAAM,CAACoL,aAAa,CAAC;IACnBC,QAAQ,EAAEtH,OAAO,CAACuB,cAAc,IAAIvF,QAAQ,CAACuL,OAAO,CAAC,CAAC,CAAC;IACvDC,MAAM,EAAEA,CAAA,KACNvL,MAAM,CAAC0G,IAAI,CACT,IAAI1F,QAAQ,CAAC;MACX2F,MAAM,EAAE,IAAIhG,eAAe,CAAC;QAC1BkC,OAAO,EAAE,iCAAiC;QAC1ClB,KAAK,EAAE,IAAI6J,KAAK,CAAC,oBAAoB,CAAC;QACtCrI,SAAS,EAAE;OACZ;KACF,CAAC;GAEP,CAAC,CACH;EAED,MAAMsI,kBAAkB,GAAG7H,qBAAqB,CAACC,eAAe,EAAE,CAAC;EAEnE,MAAM6H,eAAe,GAAGlL,MAAM,CAACmL,mBAAmB,CAAC;IACjDF,kBAAkB;IAClB/G,cAAc;IACdkH,iBAAiB,EAAE5L,MAAM,CAACgE,GAAG,CAAC,aAAS;MACrC,MAAM6H,KAAK,GAAGxL,KAAK,CAACyL,UAAU,EAAE;MAChC,MAAM5G,IAAI,GAAG,OAAO7E,KAAK,CAAC0L,OAAO,CAAC5L,IAAI,CAAC6K,GAAG,CAAChG,IAAI,CAAC,EAAE6G,KAAK,CAAC;MACxD,OAAO,CAACA,KAAK,EAAE3G,IAAI,CAAU;IAC/B,CAAC,CAAC;IACFuE,KAAK,EAAGvE,IAAI,IAAKA,IAAI,CAACuE,KAAK;IAC3BI,SAAS,EAAEA,CAAC3E,IAAI,EAAE8G,EAAE,KAAK9G,IAAI,CAAC2E,SAAS,CAAC,cAAcmC,EAAE,EAAE,CAAC;IAC3DrC,MAAM,EAAGzE,IAAI,IAAKA,IAAI,CAACyE,MAAM;IAC7BI,QAAQ,EAAG7E,IAAI,IAAKA,IAAI,CAAC6E,QAAQ,EAAE;IACnCkC,iBAAiB,EAAEA,CAAC/G,IAAI,EAAE8G,EAAE,KAAK9G,IAAI,CAAC6E,QAAQ,CAAC,cAAciC,EAAE,EAAE;GAClE,CAAC;EAEF,OAAO/L,QAAQ,CAAc0E,MAAM,CAACuH,MAAM,CACxC,OAAO1L,MAAM,CAACsD,IAAI,CAAC;IACjBqI,QAAQ,EAAEhM,IAAI,CAAC6K,GAAG,CAAChG,IAAI,CAAC;IACxBb,QAAQ;IACRsH,kBAAkB,EAAEA,kBAAyB;IAC7C/G,cAAc;IACdJ;GACD,CAAC,EACF;IACE,CAACf,MAAM,GAAGA,MAAgB;IAC1B6I,MAAM,EAAErI,OAAO;IACf2H,eAAe;IACf9C,KAAK,EAAEA,CACL9C,IAAc,EACdK,KAAc,EACdpC,OAAA,GAA4B,EAAE,KAC3B3C,SAAS,CAACiL,QAAQ,CAAC,CAACC,UAAU,CAACxG,IAAI,EAAEK,KAAK,EAAEpC,OAAO,CAAC,CAAC,CAAC;IAC3DyF,IAAI,EAKFhB,SAAiD,IAC9CxI,MAAM,CAACmL,MAAM,CAACnL,MAAM,CAACuM,OAAO,CAACpM,IAAI,CAAC6K,GAAG,CAAChG,IAAI,CAAC,EAAGuC,CAAC,IAAKA,CAAC,CAACiC,IAAI,CAAChB,SAAS,EAAElE,aAAa,CAAC,CAAC,CAAC;IAC3FkI,iBAAiBA,CAAA;MACf,MAAMC,SAAS,GAAGrL,SAAS,CAAC0C,IAAI,CAAC3D,IAAI,CAAC6K,GAAG,CAAChG,IAAI,CAAC,EAAEb,QAAQ,CAACuI,gBAAgB,EAAEhI,cAAc,EAAE9C,SAAS,CAAC;MACtG,MAAM+K,MAAM,GAAGhI,MAAM,CAACuH,MAAM,CAC1BO,SAAS,EACT,IAAI,EACJA,SAAS,EACT;QACEjD,IAAI,EAKFhB,SAAiD,IAC9CxI,MAAM,CAACmL,MAAM,CAACnL,MAAM,CAACuM,OAAO,CAACpM,IAAI,CAAC6K,GAAG,CAAChG,IAAI,CAAC,EAAGuC,CAAC,IAAKA,CAAC,CAACiC,IAAI,CAAChB,SAAS,EAAE5G,SAAS,CAAC,CAAC;OACvF,CACF;MACC+K,MAAc,CAACC,IAAI,GAAGD,MAAM;MAC5BA,MAAc,CAACH,iBAAiB,GAAG,MAAMG,MAAM;MACjD,OAAOA,MAAM;IACf;GACD,CACF,CAAC;AACJ,CAAC,CAAC;AAEJ;;;;;;AAMA,OAAO,MAAME,WAAW,GAGtBT,MAAsC,IAEtClM,KAAK,CAAC4M,aAAa,CACjBjN,MAAM,CAACkN,MAAM,CAACX,MAAM,CAAC,CAACnC,IAAI,CACxBjK,MAAM,CAACuM,OAAO,CAACzI,IAAI,CAAC,EACpB9D,MAAM,CAACqH,GAAG,CAAEsF,MAAM,IAChB7M,OAAO,CAACgE,IAAI,CAACJ,WAAW,EAAEiJ,MAAM,CAAC,CAAC1C,IAAI,CACpCnK,OAAO,CAACkN,GAAG,CAACxM,MAAM,CAACyM,SAAS,EAAEN,MAAM,CAAC,CACtC,CACF,CACF,CACF,CAAC1C,IAAI,CAAC/J,KAAK,CAAC6L,OAAO,CAACxL,UAAU,CAAC2M,KAAK,CAAC,CAAC;AAEzC;;;;;;AAMA,OAAO,MAAMA,KAAK,GAChBd,MAAyB,IAEzBlM,KAAK,CAAC4M,aAAa,CACjB9M,MAAM,CAACqH,GAAG,CAACvD,IAAI,CAACsI,MAAM,CAAC,EAAGO,MAAM,IAC9B7M,OAAO,CAACgE,IAAI,CAACJ,WAAW,EAAEiJ,MAAM,CAAC,CAAC1C,IAAI,CACpCnK,OAAO,CAACkN,GAAG,CAACxM,MAAM,CAACyM,SAAS,EAAEN,MAAM,CAAC,CACtC,CAAC,CACL,CAAC1C,IAAI,CAAC/J,KAAK,CAAC6L,OAAO,CAACxL,UAAU,CAAC2M,KAAK,CAAC,CAAC;AAEzC;;;;;;AAMA,OAAO,MAAM9I,YAAY,GAAI+I,SAAiC,IAC5D/L,SAAS,CAACgD,YAAY,CAAc;EAClCgJ,OAAO,EAAE,OAAO;EAChBC,WAAWA,CAAC9F,CAAC;IACX,OAAO,IAAIM,iBAAiB,CAACN,CAAC,GAAG,CAAC,CAAC,EAAE;EACvC,CAAC;EACD+F,YAAY,EAAEH,SAAS,GACrB,UAAShH,KAAK,EAAEuG,gBAAgB;IAC9B,OAAOA,gBAAgB,GAAGjE,MAAM,CAACtC,KAAK,CAAC,GAAGsC,MAAM,CAAC0E,SAAS,CAAChH,KAAK,CAAC,CAAC;EACpE,CAAC,GACDsC,MAAM;EACR8E,cAAcA,CAACC,YAAY,EAAEC,UAAU,EAAEC,YAAY,EAAE3G,MAAM,EAAE4G,SAAS;IACtE,MAAMC,YAAY,GAAGD,SAAS,GAAGA,SAAS,CAAC,CAAC,CAAC,KAAK,GAAG,GAAG,oBAAoB,GAAG,UAAUA,SAAS,CAAC,CAAC,CAAC,GAAG,GAAG,EAAE;IAC7G,OAAO,CACL,GAAGC,YAAY,gBAAgBJ,YAAY,QAAQC,UAAU,GAAGC,YAAY,EAAE,EAC9EC,SAAS,GACPA,SAAS,CAAC,CAAC,CAAC,CAACE,MAAM,CAAC9G,MAAM,CAAC+G,IAAI,EAAE,CAAC,GAClC/G,MAAM,CAAC+G,IAAI,EAAE,CAChB;EACH,CAAC;EACDC,QAAQA,CAACjI,IAAI,EAAEuH,WAAW;IACxB,QAAQvH,IAAI,CAACqC,IAAI;MACf,KAAK,YAAY;QAAE;UACjB,OAAO,CAACkF,WAAW,CAACzL,SAAS,CAAC,EAAE,CAACkE,IAAI,CAAQ,CAAC;QAChD;IACF;EACF,CAAC;EACDkI,QAAQA,CAACC,OAAO,EAAET,YAAY,EAAEzG,MAAM,EAAE4G,SAAS;IAC/C,MAAMC,YAAY,GAAGD,SAAS,GAAGA,SAAS,CAAC,CAAC,CAAC,KAAK,GAAG,GAAG,oBAAoB,GAAG,WAAWA,SAAS,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE;IAC7G,OAAO,CACL,IAAIM,OAAO,CAACC,IAAI,CAAC,GAAG,CAAC,IAAIN,YAAY,WAAWJ,YAAY,EAAE,EAC9DG,SAAS,GACPA,SAAS,CAAC,CAAC,CAAC,CAACE,MAAM,CAAC9G,MAAM,CAAC+G,IAAI,EAAE,CAAC,GAClC/G,MAAM,CAAC+G,IAAI,EAAE,CAChB;EACH;CACD,CAAC;AAEJ;AAEA,MAAMrF,MAAM,GAAI0F,GAAW,IAAK,GAAG,GAAGA,GAAG,CAACC,OAAO,CAAC,KAAK,EAAE,IAAI,CAAC,CAACA,OAAO,CAAC,KAAK,EAAE,KAAK,CAAC,GAAG,GAAG;AAE1F,SAASvG,iBAAiBA,CAACwG,CAAS;EAClC,OAAO,GAAGC,IAAI,CAACC,IAAI,CAACF,CAAC,GAAG,CAAC,CAAC,EAAE;AAC9B;AAEA;;;;;;AAMA,OAAO,MAAMnK,qBAAqB,GAA8C;EAC9EsK,MAAM,EAAEnN,OAAO,CAACoN,KAAK,CAACC,OAAO;EAC7B7M,MAAM,EAAER,OAAO,CAACoN,KAAK,CAACE,GAAG;EACzBC,MAAM,EAAEvN,OAAO,CAACoN,KAAK,CAACI,MAAM;EAC5BC,OAAO,EAAEzN,OAAO,CAACoN,KAAK,CAACM,GAAG;EAC1BC,IAAI,EAAE3N,OAAO,CAACoN,KAAK,CAACQ,QAAQ;EAC5BC,UAAU,EAAE7N,OAAO,CAACoN,KAAK,CAACU,SAAS;EACnCC,SAAS,EAAE/N,OAAO,CAACoN,KAAK,CAACU,SAAS;EAClCE,IAAI,EAAEhO,OAAO,CAACoN,KAAK,CAACM;CACrB;AAeD,MAAMzC,UAAU,gBAAGlL,SAAS,CAACkO,MAAM,CAAa,YAAY,CAAC;AAC7D,MAAMxH,YAAY,gBAAG1G,SAAS,CAACmO,QAAQ,CAAa,YAAY,CAAC;AAEjE,SAAS/H,aAAaA,CAACkB,IAAwB;EAC7C,MAAM8G,OAAO,GAAG,IAAIC,KAAK,CAAC/G,IAAI,CAACjG,MAAM,CAAC;EAEtC,KAAK,IAAIiF,CAAC,GAAG,CAAC,EAAEC,GAAG,GAAGe,IAAI,CAACjG,MAAM,EAAEiF,CAAC,GAAGC,GAAG,EAAED,CAAC,EAAE,EAAE;IAC/C,MAAMJ,GAAG,GAAGoB,IAAI,CAAChB,CAAC,CAAC;IACnB,MAAMgI,MAAM,GAAQ,EAAE;IACtB,KAAK,IAAIC,CAAC,GAAG,CAAC,EAAEC,SAAS,GAAGtI,GAAG,CAAC7E,MAAM,EAAEkN,CAAC,GAAGC,SAAS,EAAED,CAAC,EAAE,EAAE;MAC1D,MAAME,MAAM,GAAGvI,GAAG,CAACqI,CAAC,CAAC;MACrBD,MAAM,CAACG,MAAM,CAACC,QAAQ,CAACC,OAAO,CAAC,GAAGF,MAAM,CAAC1J,KAAK;IAChD;IACAqJ,OAAO,CAAC9H,CAAC,CAAC,GAAGgI,MAAM;EACrB;EAEA,OAAOF,OAAO;AAChB","ignoreList":[]}
|
package/dist/Parameter.d.ts
CHANGED
|
@@ -3,14 +3,14 @@ import type { ParameterOptions } from "tedious/lib/request.ts";
|
|
|
3
3
|
/**
|
|
4
4
|
* Runtime type identifier used to mark SQL Server stored procedure parameter metadata.
|
|
5
5
|
*
|
|
6
|
-
* @category type
|
|
6
|
+
* @category type IDs
|
|
7
7
|
* @since 4.0.0
|
|
8
8
|
*/
|
|
9
9
|
export declare const TypeId: TypeId;
|
|
10
10
|
/**
|
|
11
11
|
* Type-level identifier used to mark SQL Server stored procedure parameter metadata.
|
|
12
12
|
*
|
|
13
|
-
* @category type
|
|
13
|
+
* @category type IDs
|
|
14
14
|
* @since 4.0.0
|
|
15
15
|
*/
|
|
16
16
|
export type TypeId = "~@effect/sql-mssql/Parameter";
|
package/dist/Parameter.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Parameter.d.ts","sourceRoot":"","sources":["../src/Parameter.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"Parameter.d.ts","sourceRoot":"","sources":["../src/Parameter.ts"],"names":[],"mappings":"AAuCA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAA;AACxD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAA;AAE9D;;;;;GAKG;AACH,eAAO,MAAM,MAAM,EAAE,MAAuC,CAAA;AAE5D;;;;;GAKG;AACH,MAAM,MAAM,MAAM,GAAG,8BAA8B,CAAA;AAEnD;;;;;GAKG;AACH,MAAM,WAAW,SAAS,CAAC,GAAG,CAAC,CAAC;IAC9B,QAAQ,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,EAAE,KAAK,KAAK,CAAC,CAAA;IAClC,QAAQ,CAAC,IAAI,EAAE,WAAW,CAAA;IAC1B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;IACrB,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAA;IACvB,QAAQ,CAAC,OAAO,EAAE,gBAAgB,CAAA;CACnC;AAED;;;;;GAKG;AACH,eAAO,MAAM,IAAI,GAAI,CAAC,EACpB,MAAM,MAAM,EACZ,MAAM,QAAQ,EACd,UAAS,gBAAqB,KAC7B,SAAS,CAAC,CAAC,CAMZ,CAAA"}
|
package/dist/Parameter.js
CHANGED
|
@@ -1,23 +1,38 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Typed
|
|
3
|
-
*
|
|
4
|
-
* This module
|
|
5
|
-
*
|
|
6
|
-
*
|
|
7
|
-
*
|
|
8
|
-
*
|
|
9
|
-
*
|
|
10
|
-
*
|
|
11
|
-
*
|
|
12
|
-
*
|
|
13
|
-
*
|
|
14
|
-
*
|
|
15
|
-
*
|
|
16
|
-
*
|
|
17
|
-
*
|
|
18
|
-
*
|
|
19
|
-
*
|
|
20
|
-
*
|
|
2
|
+
* Typed SQL Server stored procedure parameter metadata.
|
|
3
|
+
*
|
|
4
|
+
* This module builds {@link Parameter} values that pair a stored procedure
|
|
5
|
+
* parameter name with a Tedious `DataType`, Tedious `ParameterOptions`, and a
|
|
6
|
+
* phantom TypeScript value type. `Procedure.param` and
|
|
7
|
+
* `Procedure.outputParam` use this metadata, and `MssqlClient.call` forwards it
|
|
8
|
+
* to Tedious when registering input and output parameters.
|
|
9
|
+
*
|
|
10
|
+
* **Mental model**
|
|
11
|
+
*
|
|
12
|
+
* A `Parameter<A>` describes how Tedious should bind a value; it is not the
|
|
13
|
+
* value itself. The `A` type guides the record accepted by
|
|
14
|
+
* `Procedure.compile`, while Tedious validates and encodes the runtime value
|
|
15
|
+
* when the request is executed.
|
|
16
|
+
*
|
|
17
|
+
* **Common tasks**
|
|
18
|
+
*
|
|
19
|
+
* - Annotate inputs that need explicit SQL Server data types, sizes, precision,
|
|
20
|
+
* scale, or table-valued parameter options.
|
|
21
|
+
* - Define output parameters so `MssqlClient.call` can collect returned values
|
|
22
|
+
* by name.
|
|
23
|
+
* - Reuse the same metadata shape from direct `make` calls and the `Procedure`
|
|
24
|
+
* builders.
|
|
25
|
+
*
|
|
26
|
+
* **Gotchas**
|
|
27
|
+
*
|
|
28
|
+
* Names should match the stored procedure parameter name expected by Tedious,
|
|
29
|
+
* normally without a leading `@`. Table-valued parameter values must use
|
|
30
|
+
* Tedious' table shape with `name`, optional `schema`, `columns`, and `rows`.
|
|
31
|
+
* Output parameters are registered without an initial value, so input-output
|
|
32
|
+
* parameters need explicit modeling instead of assuming compiled input values
|
|
33
|
+
* are reused.
|
|
34
|
+
*
|
|
35
|
+
* @see {@link make} for constructing parameter metadata directly.
|
|
21
36
|
*
|
|
22
37
|
* @since 4.0.0
|
|
23
38
|
*/
|
|
@@ -25,7 +40,7 @@ import { identity } from "effect/Function";
|
|
|
25
40
|
/**
|
|
26
41
|
* Runtime type identifier used to mark SQL Server stored procedure parameter metadata.
|
|
27
42
|
*
|
|
28
|
-
* @category type
|
|
43
|
+
* @category type IDs
|
|
29
44
|
* @since 4.0.0
|
|
30
45
|
*/
|
|
31
46
|
export const TypeId = "~@effect/sql-mssql/Parameter";
|
package/dist/Parameter.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Parameter.js","names":["identity","TypeId","make","name","type","options","_tag"],"sources":["../src/Parameter.ts"],"sourcesContent":[null],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"Parameter.js","names":["identity","TypeId","make","name","type","options","_tag"],"sources":["../src/Parameter.ts"],"sourcesContent":[null],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAsCA,SAASA,QAAQ,QAAQ,iBAAiB;AAI1C;;;;;;AAMA,OAAO,MAAMC,MAAM,GAAW,8BAA8B;AAwB5D;;;;;;AAMA,OAAO,MAAMC,IAAI,GAAGA,CAClBC,IAAY,EACZC,IAAc,EACdC,OAAA,GAA4B,EAAE,MACZ;EAClB,CAACJ,MAAM,GAAGD,QAAQ;EAClBM,IAAI,EAAE,WAAW;EACjBH,IAAI;EACJC,IAAI;EACJC;CACD,CAAC","ignoreList":[]}
|
package/dist/Procedure.d.ts
CHANGED
|
@@ -7,14 +7,14 @@ import * as Parameter from "./Parameter.ts";
|
|
|
7
7
|
/**
|
|
8
8
|
* Runtime type identifier used to mark SQL Server stored procedure definitions.
|
|
9
9
|
*
|
|
10
|
-
* @category type
|
|
10
|
+
* @category type IDs
|
|
11
11
|
* @since 4.0.0
|
|
12
12
|
*/
|
|
13
13
|
export declare const TypeId: TypeId;
|
|
14
14
|
/**
|
|
15
15
|
* Type-level identifier used to mark SQL Server stored procedure definitions.
|
|
16
16
|
*
|
|
17
|
-
* @category type
|
|
17
|
+
* @category type IDs
|
|
18
18
|
* @since 4.0.0
|
|
19
19
|
*/
|
|
20
20
|
export type TypeId = "~@effect/sql-mssql/Procedure";
|
package/dist/Procedure.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Procedure.d.ts","sourceRoot":"","sources":["../src/Procedure.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"Procedure.d.ts","sourceRoot":"","sources":["../src/Procedure.ts"],"names":[],"mappings":"AAmCA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAA;AAE/C,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,cAAc,CAAA;AAC7C,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,mCAAmC,CAAA;AAC5D,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAA;AACxD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAA;AAC9D,OAAO,KAAK,SAAS,MAAM,gBAAgB,CAAA;AAE3C;;;;;GAKG;AACH,eAAO,MAAM,MAAM,EAAE,MAAuC,CAAA;AAE5D;;;;;GAKG;AACH,MAAM,MAAM,MAAM,GAAG,8BAA8B,CAAA;AAEnD;;;;;GAKG;AACH,MAAM,WAAW,SAAS,CACxB,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,EAClD,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,EAClD,CAAC,GAAG,KAAK,CACT,SAAQ,QAAQ;IAChB,QAAQ,CAAC,CAAC,MAAM,CAAC,EAAE;QACjB,QAAQ,CAAC,EAAE,EAAE,SAAS,CAAC,CAAC,CAAC,CAAA;KAC1B,CAAA;IACD,QAAQ,CAAC,IAAI,EAAE,WAAW,CAAA;IAC1B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;IACrB,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAA;IAClB,QAAQ,CAAC,YAAY,EAAE,CAAC,CAAA;CACzB;AAED;;;;;GAKG;AACH,MAAM,WAAW,mBAAmB,CAClC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,EAClD,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,EAClD,CAAC,CACD,SAAQ,SAAS,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;IAC1B,QAAQ,CAAC,MAAM,EAAE,SAAS,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAA;CAC/C;AAED;;;;GAIG;AACH,MAAM,CAAC,OAAO,WAAW,SAAS,CAAC;IACjC;;;;;OAKG;IACH,KAAY,gBAAgB,CAC1B,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,IAEhD;QACA,QAAQ,EAAE,CAAC,IAAI,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,SAAS,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,GAClE,KAAK;KACV,GACC,EAAE,CAAA;IAEN;;;;;OAKG;IACH,UAAiB,MAAM,CACrB,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,EAClD,CAAC;QAED,QAAQ,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAC,CAAC,CAAA;QACpC,QAAQ,CAAC,IAAI,EAAE,aAAa,CAAC,CAAC,CAAC,CAAA;KAChC;CACF;AAED,KAAK,QAAQ,CAAC,CAAC,IAAI;KAAG,CAAC,IAAI,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;CAAE,GAAG,EAAE,CAAA;AAYhD;;;;;GAKG;AACH,eAAO,MAAM,IAAI,GAAI,MAAM,MAAM,KAAG,SAAS,CAAC,EAAE,EAAE,EAAE,CAMnD,CAAA;AAED;;;;;GAKG;AACH,eAAO,MAAM,KAAK,GAAI,CAAC,QACtB,CAAC,SAAS,MAAM,EAAE,CAAC,SAAS,QAAQ,EACnC,MAAM,CAAC,EACP,MAAM,CAAC,EACP,UAAU,gBAAgB,MAG1B,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,EAClD,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,EAElD,MAAM,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,KACpB,SAAS,CAAC,QAAQ,CAAC,CAAC,GAAG,GAAG,CAAC,IAAI,CAAC,GAAG,SAAS,CAAC,SAAS,CAAC,CAAC,CAAC,GAAE,CAAC,EAAE,CAAC,CAMhE,CAAA;AAEF;;;;;GAKG;AACH,eAAO,MAAM,WAAW,GAAI,CAAC,QAC5B,CAAC,SAAS,MAAM,EAAE,CAAC,SAAS,QAAQ,EACnC,MAAM,CAAC,EACP,MAAM,CAAC,EACP,UAAU,gBAAgB,MAG1B,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,EAClD,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,EAElD,MAAM,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,KACpB,SAAS,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC,GAAG,GAAG,CAAC,IAAI,CAAC,GAAG,SAAS,CAAC,SAAS,CAAC,CAAC,CAAC,GAAE,CAAC,CAMhE,CAAA;AAEF;;;;;GAKG;AACH,eAAO,MAAM,QAAQ,GAAI,CAAC,SAAS,MAAM,GAAG,GAAG,QAE7C,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,EAClD,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,EAElD,MAAM,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,KACpB,SAAS,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAgB,CAAA;AAEpC;;;;;GAKG;AACH,eAAO,MAAM,OAAO,GAClB,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,EAClD,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,EAClD,CAAC,EAED,MAAM,SAAS,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,MAEzB,OAAO,SAAS,CAAC,gBAAgB,CAAC,CAAC,CAAC,KAAG,mBAAmB,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAGjE,CAAA"}
|
package/dist/Procedure.js
CHANGED
|
@@ -1,20 +1,34 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Typed builders for Microsoft SQL Server stored procedure
|
|
2
|
+
* Typed metadata builders for Microsoft SQL Server stored procedure calls.
|
|
3
3
|
*
|
|
4
|
-
* This module
|
|
5
|
-
*
|
|
6
|
-
*
|
|
7
|
-
*
|
|
8
|
-
* It is useful when application code calls stored procedures for commands,
|
|
9
|
-
* reports, migrations, or workflows that return both result sets and output
|
|
10
|
-
* parameters.
|
|
4
|
+
* This module defines the `Procedure` values consumed by `MssqlClient.call`.
|
|
5
|
+
* Use it when application code invokes SQL Server stored procedures for
|
|
6
|
+
* commands, reports, migrations, or workflows that need explicit Tedious
|
|
7
|
+
* parameter metadata, output parameters, and typed result rows.
|
|
11
8
|
*
|
|
12
|
-
*
|
|
13
|
-
*
|
|
14
|
-
*
|
|
15
|
-
*
|
|
16
|
-
*
|
|
17
|
-
*
|
|
9
|
+
* **Mental model**
|
|
10
|
+
*
|
|
11
|
+
* A `Procedure` is a typed description, not an executable request. Start with
|
|
12
|
+
* `make`, add input parameters with `param` and output parameters with
|
|
13
|
+
* `outputParam`, optionally attach the expected row type with `withRows`, and
|
|
14
|
+
* finish with `compile` to bind the input value record. `MssqlClient.call`
|
|
15
|
+
* turns the compiled value into a Tedious request, registers output parameters,
|
|
16
|
+
* and returns output values separately from returned rows.
|
|
17
|
+
*
|
|
18
|
+
* **Common tasks**
|
|
19
|
+
*
|
|
20
|
+
* Use `param<A>()` for every input parameter whose value should appear in the
|
|
21
|
+
* record passed to `compile`, and `outputParam<A>()` for values collected from
|
|
22
|
+
* SQL Server `returnValue` events. Use `withRows<A>()` when the procedure
|
|
23
|
+
* returns a result set and callers should see a typed row array.
|
|
24
|
+
*
|
|
25
|
+
* **Gotchas**
|
|
26
|
+
*
|
|
27
|
+
* The generic type arguments are supplied explicitly; they are not inferred from
|
|
28
|
+
* Tedious `DataType`s or `ParameterOptions`. Parameter names should match the
|
|
29
|
+
* stored procedure parameter names used by Tedious, typically without a leading
|
|
30
|
+
* `@`. `withRows` records only the expected TypeScript row type; runtime row
|
|
31
|
+
* names and transforms still follow the configured `MssqlClient`.
|
|
18
32
|
*
|
|
19
33
|
* @since 4.0.0
|
|
20
34
|
*/
|
|
@@ -24,7 +38,7 @@ import * as Parameter from "./Parameter.js";
|
|
|
24
38
|
/**
|
|
25
39
|
* Runtime type identifier used to mark SQL Server stored procedure definitions.
|
|
26
40
|
*
|
|
27
|
-
* @category type
|
|
41
|
+
* @category type IDs
|
|
28
42
|
* @since 4.0.0
|
|
29
43
|
*/
|
|
30
44
|
export const TypeId = "~@effect/sql-mssql/Procedure";
|
package/dist/Procedure.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Procedure.js","names":["identity","pipeArguments","Parameter","TypeId","procedureProto","_A","_tag","pipe","arguments","make","name","procedure","Object","create","params","outputParams","param","type","options","self","outputParam","withRows","compile","input","values"],"sources":["../src/Procedure.ts"],"sourcesContent":[null],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"Procedure.js","names":["identity","pipeArguments","Parameter","TypeId","procedureProto","_A","_tag","pipe","arguments","make","name","procedure","Object","create","params","outputParams","param","type","options","self","outputParam","withRows","compile","input","values"],"sources":["../src/Procedure.ts"],"sourcesContent":[null],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAkCA,SAASA,QAAQ,QAAQ,iBAAiB;AAE1C,SAASC,aAAa,QAAQ,iBAAiB;AAK/C,OAAO,KAAKC,SAAS,MAAM,gBAAgB;AAE3C;;;;;;AAMA,OAAO,MAAMC,MAAM,GAAW,8BAA8B;AAkF5D,MAAMC,cAAc,GAAG;EACrB,CAACD,MAAM,GAAG;IACRE,EAAE,EAAEL;GACL;EACDM,IAAI,EAAE,WAAW;EACjBC,IAAIA,CAAA;IACF,OAAON,aAAa,CAAC,IAAI,EAAEO,SAAS,CAAC;EACvC;CACD;AAED;;;;;;AAMA,OAAO,MAAMC,IAAI,GAAIC,IAAY,IAAuB;EACtD,MAAMC,SAAS,GAAGC,MAAM,CAACC,MAAM,CAACT,cAAc,CAAC;EAC/CO,SAAS,CAACD,IAAI,GAAGA,IAAI;EACrBC,SAAS,CAACG,MAAM,GAAG,EAAE;EACrBH,SAAS,CAACI,YAAY,GAAG,EAAE;EAC3B,OAAOJ,SAAS;AAClB,CAAC;AAED;;;;;;AAMA,OAAO,MAAMK,KAAK,GAAGA,CAAA,KACrB,CACEN,IAAO,EACPO,IAAO,EACPC,OAA0B,KAM1BC,IAAqB,KACiD;EACtE,GAAGA,IAAI;EACPL,MAAM,EAAE;IACN,GAAGK,IAAI,CAACL,MAAM;IACd,CAACJ,IAAI,GAAGR,SAAS,CAACO,IAAI,CAACC,IAAI,EAAEO,IAAI,EAAEC,OAAO;;CAE7C,CAAC;AAEF;;;;;;AAMA,OAAO,MAAME,WAAW,GAAGA,CAAA,KAC3B,CACEV,IAAO,EACPO,IAAO,EACPC,OAA0B,KAM1BC,IAAqB,KACiD;EACtE,GAAGA,IAAI;EACPJ,YAAY,EAAE;IACZ,GAAGI,IAAI,CAACJ,YAAY;IACpB,CAACL,IAAI,GAAGR,SAAS,CAACO,IAAI,CAACC,IAAI,EAAEO,IAAI,EAAEC,OAAO;;CAE7C,CAAC;AAEF;;;;;;AAMA,OAAO,MAAMG,QAAQ,GAAGA,CAAA,KAKtBF,IAAqB,IACEA,IAAW;AAEpC;;;;;;AAMA,OAAO,MAAMG,OAAO,GAKlBH,IAAwB,IAEzBI,KAAoC,KAAoC;EACvE,GAAGJ,IAAI;EACPK,MAAM,EAAED;CACT,CAAC","ignoreList":[]}
|
package/dist/index.d.ts
CHANGED
|
@@ -7,102 +7,18 @@ export {
|
|
|
7
7
|
*/
|
|
8
8
|
TYPES as MssqlTypes } from "tedious";
|
|
9
9
|
/**
|
|
10
|
-
* Microsoft SQL Server client implementation for Effect SQL, backed by the
|
|
11
|
-
* `tedious` driver.
|
|
12
|
-
*
|
|
13
|
-
* This module provides the `MssqlClient` service and layers that also satisfy
|
|
14
|
-
* the generic `SqlClient` service. It is intended for server applications,
|
|
15
|
-
* background workers, migrations, and tests that need SQL Server query
|
|
16
|
-
* compilation, Tedious parameter typing, scoped connection management,
|
|
17
|
-
* transactions, and typed stored procedure calls.
|
|
18
|
-
*
|
|
19
|
-
* Clients own a scoped pool of Tedious connections and validate startup with
|
|
20
|
-
* `SELECT 1`. Regular queries borrow a pooled connection per operation, while
|
|
21
|
-
* transactions keep one pooled connection for their lifetime and use SQL Server
|
|
22
|
-
* savepoints for nested transactions. Long-running transactions therefore
|
|
23
|
-
* reduce available pool capacity; size `maxConnections`, `connectionTTL`, and
|
|
24
|
-
* `connectTimeout` accordingly.
|
|
25
|
-
*
|
|
26
|
-
* Tedious permits one active request per connection. This client compiles
|
|
27
|
-
* statements with named `@1`-style parameters, maps Effect SQL primitive values
|
|
28
|
-
* to Tedious `DataType`s unless `param` is used, and does not implement
|
|
29
|
-
* streaming queries. Be deliberate about TLS options: `encrypt` defaults to
|
|
30
|
-
* `false` and `trustServerCertificate` defaults to `true` unless overridden.
|
|
31
|
-
* Stored procedure calls go through `callProcedure`; define input and output
|
|
32
|
-
* parameters with the `Procedure` and `Parameter` helpers so Tedious receives
|
|
33
|
-
* the correct data types and output values can be collected from `returnValue`
|
|
34
|
-
* events.
|
|
35
|
-
*
|
|
36
10
|
* @since 4.0.0
|
|
37
11
|
*/
|
|
38
12
|
export * as MssqlClient from "./MssqlClient.ts";
|
|
39
13
|
/**
|
|
40
|
-
* Utilities for applying Effect SQL migrations to Microsoft SQL Server.
|
|
41
|
-
*
|
|
42
|
-
* This module re-exports the shared `Migrator` loaders and error types, then
|
|
43
|
-
* provides `run` and `layer` helpers for applying ordered migrations through
|
|
44
|
-
* the current SQL Server `SqlClient`. It is typically used at application
|
|
45
|
-
* startup, during deployment, in integration tests that provision temporary SQL
|
|
46
|
-
* Server databases, or in layer graphs that need the database schema to be
|
|
47
|
-
* current before dependent services are acquired.
|
|
48
|
-
*
|
|
49
|
-
* Applied migrations are stored in `effect_sql_migrations` by default and use
|
|
50
|
-
* the shared `<id>_<name>` loader convention. Only migrations with ids greater
|
|
51
|
-
* than the latest recorded id are run, so avoid inserting older migration ids
|
|
52
|
-
* after a later migration has reached production. SQL Server migrations run
|
|
53
|
-
* inside the shared migrator transaction and this adapter does not add a
|
|
54
|
-
* dialect-specific table lock, so coordinate concurrent startup runners and
|
|
55
|
-
* write T-SQL that is valid inside an explicit transaction. Remember that `GO`
|
|
56
|
-
* is a client-side batch separator rather than a T-SQL statement, and split
|
|
57
|
-
* migrations when SQL Server requires an object definition such as `CREATE
|
|
58
|
-
* VIEW`, `CREATE PROCEDURE`, or `CREATE TRIGGER` to start its own batch. This
|
|
59
|
-
* adapter also does not emit SQL Server schema dumps for `schemaDirectory`.
|
|
60
|
-
*
|
|
61
14
|
* @since 4.0.0
|
|
62
15
|
*/
|
|
63
16
|
export * as MssqlMigrator from "./MssqlMigrator.ts";
|
|
64
17
|
/**
|
|
65
|
-
* Typed metadata for SQL Server stored procedure parameters.
|
|
66
|
-
*
|
|
67
|
-
* This module records the bare parameter name, Tedious `DataType`, Tedious
|
|
68
|
-
* `ParameterOptions`, and phantom TypeScript value type used by
|
|
69
|
-
* `Procedure.param` and `Procedure.outputParam`. `MssqlClient.call` later
|
|
70
|
-
* forwards input parameters to Tedious with `Request.addParameter` and output
|
|
71
|
-
* parameters with `Request.addOutputParameter`, so names should match the
|
|
72
|
-
* stored procedure parameter name without a leading `@`.
|
|
73
|
-
*
|
|
74
|
-
* Use these values when defining stored procedures that need explicit SQL
|
|
75
|
-
* Server parameter metadata, such as sized strings or binary values, decimal
|
|
76
|
-
* precision/scale, table-valued parameters, and output parameters. The generic
|
|
77
|
-
* type parameter is only a compile-time guide for the value record accepted by
|
|
78
|
-
* `Procedure.compile`; Tedious still validates and encodes the runtime value.
|
|
79
|
-
* In particular, TVP values must use Tedious' table shape with `name`,
|
|
80
|
-
* optional `schema`, `columns`, and `rows`, and output parameters are registered
|
|
81
|
-
* with no initial value, so SQL Server input-output parameters need separate
|
|
82
|
-
* care rather than assuming an output parameter is populated from compiled
|
|
83
|
-
* input values.
|
|
84
|
-
*
|
|
85
18
|
* @since 4.0.0
|
|
86
19
|
*/
|
|
87
20
|
export * as Parameter from "./Parameter.ts";
|
|
88
21
|
/**
|
|
89
|
-
* Typed builders for Microsoft SQL Server stored procedure definitions.
|
|
90
|
-
*
|
|
91
|
-
* This module describes the metadata consumed by `MssqlClient.call`: create a
|
|
92
|
-
* definition with `make`, add input and output parameters with their Tedious
|
|
93
|
-
* data types and `ParameterOptions`, optionally describe the returned row shape
|
|
94
|
-
* with `withRows`, and use `compile` to bind the input values before execution.
|
|
95
|
-
* It is useful when application code calls stored procedures for commands,
|
|
96
|
-
* reports, migrations, or workflows that return both result sets and output
|
|
97
|
-
* parameters.
|
|
98
|
-
*
|
|
99
|
-
* Parameter value types are supplied explicitly through `param<A>()` and
|
|
100
|
-
* `outputParam<A>()`; they are not inferred from the Tedious data type. Input
|
|
101
|
-
* values must be keyed by the parameter names in the definition, output
|
|
102
|
-
* parameters are collected separately from returned rows, and `withRows` only
|
|
103
|
-
* records the expected TypeScript row type, so row names and transforms still
|
|
104
|
-
* follow the configured `MssqlClient` result handling.
|
|
105
|
-
*
|
|
106
22
|
* @since 4.0.0
|
|
107
23
|
*/
|
|
108
24
|
export * as Procedure from "./Procedure.ts";
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO;AACL;;GAEG;AACH,KAAK,IAAI,UAAU,EACpB,MAAM,SAAS,CAAA;AAIhB
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO;AACL;;GAEG;AACH,KAAK,IAAI,UAAU,EACpB,MAAM,SAAS,CAAA;AAIhB;;GAEG;AACH,OAAO,KAAK,WAAW,MAAM,kBAAkB,CAAA;AAE/C;;GAEG;AACH,OAAO,KAAK,aAAa,MAAM,oBAAoB,CAAA;AAEnD;;GAEG;AACH,OAAO,KAAK,SAAS,MAAM,gBAAgB,CAAA;AAE3C;;GAEG;AACH,OAAO,KAAK,SAAS,MAAM,gBAAgB,CAAA"}
|
package/dist/index.js
CHANGED
|
@@ -8,102 +8,18 @@ export {
|
|
|
8
8
|
TYPES as MssqlTypes } from "tedious";
|
|
9
9
|
// @barrel: Auto-generated exports. Do not edit manually.
|
|
10
10
|
/**
|
|
11
|
-
* Microsoft SQL Server client implementation for Effect SQL, backed by the
|
|
12
|
-
* `tedious` driver.
|
|
13
|
-
*
|
|
14
|
-
* This module provides the `MssqlClient` service and layers that also satisfy
|
|
15
|
-
* the generic `SqlClient` service. It is intended for server applications,
|
|
16
|
-
* background workers, migrations, and tests that need SQL Server query
|
|
17
|
-
* compilation, Tedious parameter typing, scoped connection management,
|
|
18
|
-
* transactions, and typed stored procedure calls.
|
|
19
|
-
*
|
|
20
|
-
* Clients own a scoped pool of Tedious connections and validate startup with
|
|
21
|
-
* `SELECT 1`. Regular queries borrow a pooled connection per operation, while
|
|
22
|
-
* transactions keep one pooled connection for their lifetime and use SQL Server
|
|
23
|
-
* savepoints for nested transactions. Long-running transactions therefore
|
|
24
|
-
* reduce available pool capacity; size `maxConnections`, `connectionTTL`, and
|
|
25
|
-
* `connectTimeout` accordingly.
|
|
26
|
-
*
|
|
27
|
-
* Tedious permits one active request per connection. This client compiles
|
|
28
|
-
* statements with named `@1`-style parameters, maps Effect SQL primitive values
|
|
29
|
-
* to Tedious `DataType`s unless `param` is used, and does not implement
|
|
30
|
-
* streaming queries. Be deliberate about TLS options: `encrypt` defaults to
|
|
31
|
-
* `false` and `trustServerCertificate` defaults to `true` unless overridden.
|
|
32
|
-
* Stored procedure calls go through `callProcedure`; define input and output
|
|
33
|
-
* parameters with the `Procedure` and `Parameter` helpers so Tedious receives
|
|
34
|
-
* the correct data types and output values can be collected from `returnValue`
|
|
35
|
-
* events.
|
|
36
|
-
*
|
|
37
11
|
* @since 4.0.0
|
|
38
12
|
*/
|
|
39
13
|
export * as MssqlClient from "./MssqlClient.js";
|
|
40
14
|
/**
|
|
41
|
-
* Utilities for applying Effect SQL migrations to Microsoft SQL Server.
|
|
42
|
-
*
|
|
43
|
-
* This module re-exports the shared `Migrator` loaders and error types, then
|
|
44
|
-
* provides `run` and `layer` helpers for applying ordered migrations through
|
|
45
|
-
* the current SQL Server `SqlClient`. It is typically used at application
|
|
46
|
-
* startup, during deployment, in integration tests that provision temporary SQL
|
|
47
|
-
* Server databases, or in layer graphs that need the database schema to be
|
|
48
|
-
* current before dependent services are acquired.
|
|
49
|
-
*
|
|
50
|
-
* Applied migrations are stored in `effect_sql_migrations` by default and use
|
|
51
|
-
* the shared `<id>_<name>` loader convention. Only migrations with ids greater
|
|
52
|
-
* than the latest recorded id are run, so avoid inserting older migration ids
|
|
53
|
-
* after a later migration has reached production. SQL Server migrations run
|
|
54
|
-
* inside the shared migrator transaction and this adapter does not add a
|
|
55
|
-
* dialect-specific table lock, so coordinate concurrent startup runners and
|
|
56
|
-
* write T-SQL that is valid inside an explicit transaction. Remember that `GO`
|
|
57
|
-
* is a client-side batch separator rather than a T-SQL statement, and split
|
|
58
|
-
* migrations when SQL Server requires an object definition such as `CREATE
|
|
59
|
-
* VIEW`, `CREATE PROCEDURE`, or `CREATE TRIGGER` to start its own batch. This
|
|
60
|
-
* adapter also does not emit SQL Server schema dumps for `schemaDirectory`.
|
|
61
|
-
*
|
|
62
15
|
* @since 4.0.0
|
|
63
16
|
*/
|
|
64
17
|
export * as MssqlMigrator from "./MssqlMigrator.js";
|
|
65
18
|
/**
|
|
66
|
-
* Typed metadata for SQL Server stored procedure parameters.
|
|
67
|
-
*
|
|
68
|
-
* This module records the bare parameter name, Tedious `DataType`, Tedious
|
|
69
|
-
* `ParameterOptions`, and phantom TypeScript value type used by
|
|
70
|
-
* `Procedure.param` and `Procedure.outputParam`. `MssqlClient.call` later
|
|
71
|
-
* forwards input parameters to Tedious with `Request.addParameter` and output
|
|
72
|
-
* parameters with `Request.addOutputParameter`, so names should match the
|
|
73
|
-
* stored procedure parameter name without a leading `@`.
|
|
74
|
-
*
|
|
75
|
-
* Use these values when defining stored procedures that need explicit SQL
|
|
76
|
-
* Server parameter metadata, such as sized strings or binary values, decimal
|
|
77
|
-
* precision/scale, table-valued parameters, and output parameters. The generic
|
|
78
|
-
* type parameter is only a compile-time guide for the value record accepted by
|
|
79
|
-
* `Procedure.compile`; Tedious still validates and encodes the runtime value.
|
|
80
|
-
* In particular, TVP values must use Tedious' table shape with `name`,
|
|
81
|
-
* optional `schema`, `columns`, and `rows`, and output parameters are registered
|
|
82
|
-
* with no initial value, so SQL Server input-output parameters need separate
|
|
83
|
-
* care rather than assuming an output parameter is populated from compiled
|
|
84
|
-
* input values.
|
|
85
|
-
*
|
|
86
19
|
* @since 4.0.0
|
|
87
20
|
*/
|
|
88
21
|
export * as Parameter from "./Parameter.js";
|
|
89
22
|
/**
|
|
90
|
-
* Typed builders for Microsoft SQL Server stored procedure definitions.
|
|
91
|
-
*
|
|
92
|
-
* This module describes the metadata consumed by `MssqlClient.call`: create a
|
|
93
|
-
* definition with `make`, add input and output parameters with their Tedious
|
|
94
|
-
* data types and `ParameterOptions`, optionally describe the returned row shape
|
|
95
|
-
* with `withRows`, and use `compile` to bind the input values before execution.
|
|
96
|
-
* It is useful when application code calls stored procedures for commands,
|
|
97
|
-
* reports, migrations, or workflows that return both result sets and output
|
|
98
|
-
* parameters.
|
|
99
|
-
*
|
|
100
|
-
* Parameter value types are supplied explicitly through `param<A>()` and
|
|
101
|
-
* `outputParam<A>()`; they are not inferred from the Tedious data type. Input
|
|
102
|
-
* values must be keyed by the parameter names in the definition, output
|
|
103
|
-
* parameters are collected separately from returned rows, and `withRows` only
|
|
104
|
-
* records the expected TypeScript row type, so row names and transforms still
|
|
105
|
-
* follow the configured `MssqlClient` result handling.
|
|
106
|
-
*
|
|
107
23
|
* @since 4.0.0
|
|
108
24
|
*/
|
|
109
25
|
export * as Procedure from "./Procedure.js";
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["TYPES","MssqlTypes","MssqlClient","MssqlMigrator","Parameter","Procedure"],"sources":["../src/index.ts"],"sourcesContent":[null],"mappings":"AAAA;;;AAIA;AACE;;;AAGAA,KAAK,IAAIC,UAAU,QACd,SAAS;AAEhB;AAEA
|
|
1
|
+
{"version":3,"file":"index.js","names":["TYPES","MssqlTypes","MssqlClient","MssqlMigrator","Parameter","Procedure"],"sources":["../src/index.ts"],"sourcesContent":[null],"mappings":"AAAA;;;AAIA;AACE;;;AAGAA,KAAK,IAAIC,UAAU,QACd,SAAS;AAEhB;AAEA;;;AAGA,OAAO,KAAKC,WAAW,MAAM,kBAAkB;AAE/C;;;AAGA,OAAO,KAAKC,aAAa,MAAM,oBAAoB;AAEnD;;;AAGA,OAAO,KAAKC,SAAS,MAAM,gBAAgB;AAE3C;;;AAGA,OAAO,KAAKC,SAAS,MAAM,gBAAgB","ignoreList":[]}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@effect/sql-mssql",
|
|
3
|
-
"version": "4.0.0-beta.
|
|
3
|
+
"version": "4.0.0-beta.72",
|
|
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.
|
|
46
|
+
"effect": "^4.0.0-beta.72"
|
|
47
47
|
},
|
|
48
48
|
"peerDependencies": {
|
|
49
|
-
"effect": "^4.0.0-beta.
|
|
49
|
+
"effect": "^4.0.0-beta.72"
|
|
50
50
|
},
|
|
51
51
|
"dependencies": {
|
|
52
52
|
"tedious": "^19.2.1"
|
package/src/MssqlClient.ts
CHANGED
|
@@ -2,28 +2,37 @@
|
|
|
2
2
|
* Microsoft SQL Server client implementation for Effect SQL, backed by the
|
|
3
3
|
* `tedious` driver.
|
|
4
4
|
*
|
|
5
|
-
* This module provides the `MssqlClient` service
|
|
6
|
-
*
|
|
7
|
-
*
|
|
8
|
-
*
|
|
9
|
-
*
|
|
5
|
+
* This module provides the `MssqlClient` service, constructors, layers, and SQL
|
|
6
|
+
* Server statement compiler. The layers provide both `MssqlClient` and the
|
|
7
|
+
* generic `SqlClient` service, so code written against Effect SQL can run
|
|
8
|
+
* regular queries while SQL Server-specific code can add typed Tedious
|
|
9
|
+
* parameters with `param` and execute stored procedures with `call`.
|
|
10
10
|
*
|
|
11
|
-
*
|
|
12
|
-
* `SELECT 1`. Regular queries borrow a pooled connection per operation, while
|
|
13
|
-
* transactions keep one pooled connection for their lifetime and use SQL Server
|
|
14
|
-
* savepoints for nested transactions. Long-running transactions therefore
|
|
15
|
-
* reduce available pool capacity; size `maxConnections`, `connectionTTL`, and
|
|
16
|
-
* `connectTimeout` accordingly.
|
|
11
|
+
* **Mental model**
|
|
17
12
|
*
|
|
18
|
-
*
|
|
19
|
-
*
|
|
20
|
-
*
|
|
21
|
-
*
|
|
22
|
-
*
|
|
23
|
-
*
|
|
24
|
-
*
|
|
25
|
-
*
|
|
26
|
-
*
|
|
13
|
+
* A client owns a scoped pool of Tedious connections and validates startup with
|
|
14
|
+
* `SELECT 1`. Ordinary queries borrow a pooled connection for one operation.
|
|
15
|
+
* Transactions keep one connection for their lifetime, and nested transactions
|
|
16
|
+
* are represented with SQL Server savepoints. Long-running transactions
|
|
17
|
+
* therefore reduce available pool capacity.
|
|
18
|
+
*
|
|
19
|
+
* **Common tasks**
|
|
20
|
+
*
|
|
21
|
+
* Use {@link layer} for a concrete `MssqlClientConfig`, {@link layerConfig} when
|
|
22
|
+
* configuration should come from Effect `Config`, and {@link make} when a scoped
|
|
23
|
+
* client value is needed directly. Use `param` to override the default mapping
|
|
24
|
+
* from Effect SQL primitive values to Tedious `DataType`s, and use the
|
|
25
|
+
* `Procedure` and `Parameter` helpers when a stored procedure needs typed input
|
|
26
|
+
* parameters, output parameters, or result rows.
|
|
27
|
+
*
|
|
28
|
+
* **Gotchas**
|
|
29
|
+
*
|
|
30
|
+
* Tedious permits one active request per connection, and this client does not
|
|
31
|
+
* implement streaming queries. Statements compile to SQL Server-style `@1`
|
|
32
|
+
* parameters and bracket-escaped identifiers. Be explicit about connection pool
|
|
33
|
+
* and timeout settings for workloads with transactions. Review TLS settings:
|
|
34
|
+
* `encrypt` defaults to `false`, and `trustServer` defaults to `true` for the
|
|
35
|
+
* Tedious `trustServerCertificate` option unless overridden.
|
|
27
36
|
*
|
|
28
37
|
* @since 4.0.0
|
|
29
38
|
*/
|
|
@@ -198,7 +207,12 @@ export interface MssqlClient extends Client.SqlClient {
|
|
|
198
207
|
}
|
|
199
208
|
|
|
200
209
|
/**
|
|
201
|
-
*
|
|
210
|
+
* Service tag for the Microsoft SQL Server client service.
|
|
211
|
+
*
|
|
212
|
+
* **When to use**
|
|
213
|
+
*
|
|
214
|
+
* Use to access or provide a Microsoft SQL Server client through the Effect
|
|
215
|
+
* context.
|
|
202
216
|
*
|
|
203
217
|
* @category tags
|
|
204
218
|
* @since 4.0.0
|
package/src/Parameter.ts
CHANGED
|
@@ -1,23 +1,38 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Typed
|
|
2
|
+
* Typed SQL Server stored procedure parameter metadata.
|
|
3
3
|
*
|
|
4
|
-
* This module
|
|
5
|
-
*
|
|
6
|
-
*
|
|
7
|
-
*
|
|
8
|
-
*
|
|
9
|
-
* stored procedure parameter name without a leading `@`.
|
|
4
|
+
* This module builds {@link Parameter} values that pair a stored procedure
|
|
5
|
+
* parameter name with a Tedious `DataType`, Tedious `ParameterOptions`, and a
|
|
6
|
+
* phantom TypeScript value type. `Procedure.param` and
|
|
7
|
+
* `Procedure.outputParam` use this metadata, and `MssqlClient.call` forwards it
|
|
8
|
+
* to Tedious when registering input and output parameters.
|
|
10
9
|
*
|
|
11
|
-
*
|
|
12
|
-
*
|
|
13
|
-
*
|
|
14
|
-
*
|
|
15
|
-
* `Procedure.compile
|
|
16
|
-
*
|
|
17
|
-
*
|
|
18
|
-
*
|
|
19
|
-
*
|
|
20
|
-
*
|
|
10
|
+
* **Mental model**
|
|
11
|
+
*
|
|
12
|
+
* A `Parameter<A>` describes how Tedious should bind a value; it is not the
|
|
13
|
+
* value itself. The `A` type guides the record accepted by
|
|
14
|
+
* `Procedure.compile`, while Tedious validates and encodes the runtime value
|
|
15
|
+
* when the request is executed.
|
|
16
|
+
*
|
|
17
|
+
* **Common tasks**
|
|
18
|
+
*
|
|
19
|
+
* - Annotate inputs that need explicit SQL Server data types, sizes, precision,
|
|
20
|
+
* scale, or table-valued parameter options.
|
|
21
|
+
* - Define output parameters so `MssqlClient.call` can collect returned values
|
|
22
|
+
* by name.
|
|
23
|
+
* - Reuse the same metadata shape from direct `make` calls and the `Procedure`
|
|
24
|
+
* builders.
|
|
25
|
+
*
|
|
26
|
+
* **Gotchas**
|
|
27
|
+
*
|
|
28
|
+
* Names should match the stored procedure parameter name expected by Tedious,
|
|
29
|
+
* normally without a leading `@`. Table-valued parameter values must use
|
|
30
|
+
* Tedious' table shape with `name`, optional `schema`, `columns`, and `rows`.
|
|
31
|
+
* Output parameters are registered without an initial value, so input-output
|
|
32
|
+
* parameters need explicit modeling instead of assuming compiled input values
|
|
33
|
+
* are reused.
|
|
34
|
+
*
|
|
35
|
+
* @see {@link make} for constructing parameter metadata directly.
|
|
21
36
|
*
|
|
22
37
|
* @since 4.0.0
|
|
23
38
|
*/
|
|
@@ -28,7 +43,7 @@ import type { ParameterOptions } from "tedious/lib/request.ts"
|
|
|
28
43
|
/**
|
|
29
44
|
* Runtime type identifier used to mark SQL Server stored procedure parameter metadata.
|
|
30
45
|
*
|
|
31
|
-
* @category type
|
|
46
|
+
* @category type IDs
|
|
32
47
|
* @since 4.0.0
|
|
33
48
|
*/
|
|
34
49
|
export const TypeId: TypeId = "~@effect/sql-mssql/Parameter"
|
|
@@ -36,7 +51,7 @@ export const TypeId: TypeId = "~@effect/sql-mssql/Parameter"
|
|
|
36
51
|
/**
|
|
37
52
|
* Type-level identifier used to mark SQL Server stored procedure parameter metadata.
|
|
38
53
|
*
|
|
39
|
-
* @category type
|
|
54
|
+
* @category type IDs
|
|
40
55
|
* @since 4.0.0
|
|
41
56
|
*/
|
|
42
57
|
export type TypeId = "~@effect/sql-mssql/Parameter"
|
package/src/Procedure.ts
CHANGED
|
@@ -1,20 +1,34 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Typed builders for Microsoft SQL Server stored procedure
|
|
3
|
-
*
|
|
4
|
-
* This module
|
|
5
|
-
*
|
|
6
|
-
*
|
|
7
|
-
*
|
|
8
|
-
*
|
|
9
|
-
*
|
|
10
|
-
*
|
|
11
|
-
*
|
|
12
|
-
*
|
|
13
|
-
* `outputParam
|
|
14
|
-
*
|
|
15
|
-
*
|
|
16
|
-
*
|
|
17
|
-
*
|
|
2
|
+
* Typed metadata builders for Microsoft SQL Server stored procedure calls.
|
|
3
|
+
*
|
|
4
|
+
* This module defines the `Procedure` values consumed by `MssqlClient.call`.
|
|
5
|
+
* Use it when application code invokes SQL Server stored procedures for
|
|
6
|
+
* commands, reports, migrations, or workflows that need explicit Tedious
|
|
7
|
+
* parameter metadata, output parameters, and typed result rows.
|
|
8
|
+
*
|
|
9
|
+
* **Mental model**
|
|
10
|
+
*
|
|
11
|
+
* A `Procedure` is a typed description, not an executable request. Start with
|
|
12
|
+
* `make`, add input parameters with `param` and output parameters with
|
|
13
|
+
* `outputParam`, optionally attach the expected row type with `withRows`, and
|
|
14
|
+
* finish with `compile` to bind the input value record. `MssqlClient.call`
|
|
15
|
+
* turns the compiled value into a Tedious request, registers output parameters,
|
|
16
|
+
* and returns output values separately from returned rows.
|
|
17
|
+
*
|
|
18
|
+
* **Common tasks**
|
|
19
|
+
*
|
|
20
|
+
* Use `param<A>()` for every input parameter whose value should appear in the
|
|
21
|
+
* record passed to `compile`, and `outputParam<A>()` for values collected from
|
|
22
|
+
* SQL Server `returnValue` events. Use `withRows<A>()` when the procedure
|
|
23
|
+
* returns a result set and callers should see a typed row array.
|
|
24
|
+
*
|
|
25
|
+
* **Gotchas**
|
|
26
|
+
*
|
|
27
|
+
* The generic type arguments are supplied explicitly; they are not inferred from
|
|
28
|
+
* Tedious `DataType`s or `ParameterOptions`. Parameter names should match the
|
|
29
|
+
* stored procedure parameter names used by Tedious, typically without a leading
|
|
30
|
+
* `@`. `withRows` records only the expected TypeScript row type; runtime row
|
|
31
|
+
* names and transforms still follow the configured `MssqlClient`.
|
|
18
32
|
*
|
|
19
33
|
* @since 4.0.0
|
|
20
34
|
*/
|
|
@@ -30,7 +44,7 @@ import * as Parameter from "./Parameter.ts"
|
|
|
30
44
|
/**
|
|
31
45
|
* Runtime type identifier used to mark SQL Server stored procedure definitions.
|
|
32
46
|
*
|
|
33
|
-
* @category type
|
|
47
|
+
* @category type IDs
|
|
34
48
|
* @since 4.0.0
|
|
35
49
|
*/
|
|
36
50
|
export const TypeId: TypeId = "~@effect/sql-mssql/Procedure"
|
|
@@ -38,7 +52,7 @@ export const TypeId: TypeId = "~@effect/sql-mssql/Procedure"
|
|
|
38
52
|
/**
|
|
39
53
|
* Type-level identifier used to mark SQL Server stored procedure definitions.
|
|
40
54
|
*
|
|
41
|
-
* @category type
|
|
55
|
+
* @category type IDs
|
|
42
56
|
* @since 4.0.0
|
|
43
57
|
*/
|
|
44
58
|
export type TypeId = "~@effect/sql-mssql/Procedure"
|
package/src/index.ts
CHANGED
|
@@ -12,105 +12,21 @@ export {
|
|
|
12
12
|
// @barrel: Auto-generated exports. Do not edit manually.
|
|
13
13
|
|
|
14
14
|
/**
|
|
15
|
-
* Microsoft SQL Server client implementation for Effect SQL, backed by the
|
|
16
|
-
* `tedious` driver.
|
|
17
|
-
*
|
|
18
|
-
* This module provides the `MssqlClient` service and layers that also satisfy
|
|
19
|
-
* the generic `SqlClient` service. It is intended for server applications,
|
|
20
|
-
* background workers, migrations, and tests that need SQL Server query
|
|
21
|
-
* compilation, Tedious parameter typing, scoped connection management,
|
|
22
|
-
* transactions, and typed stored procedure calls.
|
|
23
|
-
*
|
|
24
|
-
* Clients own a scoped pool of Tedious connections and validate startup with
|
|
25
|
-
* `SELECT 1`. Regular queries borrow a pooled connection per operation, while
|
|
26
|
-
* transactions keep one pooled connection for their lifetime and use SQL Server
|
|
27
|
-
* savepoints for nested transactions. Long-running transactions therefore
|
|
28
|
-
* reduce available pool capacity; size `maxConnections`, `connectionTTL`, and
|
|
29
|
-
* `connectTimeout` accordingly.
|
|
30
|
-
*
|
|
31
|
-
* Tedious permits one active request per connection. This client compiles
|
|
32
|
-
* statements with named `@1`-style parameters, maps Effect SQL primitive values
|
|
33
|
-
* to Tedious `DataType`s unless `param` is used, and does not implement
|
|
34
|
-
* streaming queries. Be deliberate about TLS options: `encrypt` defaults to
|
|
35
|
-
* `false` and `trustServerCertificate` defaults to `true` unless overridden.
|
|
36
|
-
* Stored procedure calls go through `callProcedure`; define input and output
|
|
37
|
-
* parameters with the `Procedure` and `Parameter` helpers so Tedious receives
|
|
38
|
-
* the correct data types and output values can be collected from `returnValue`
|
|
39
|
-
* events.
|
|
40
|
-
*
|
|
41
15
|
* @since 4.0.0
|
|
42
16
|
*/
|
|
43
17
|
export * as MssqlClient from "./MssqlClient.ts"
|
|
44
18
|
|
|
45
19
|
/**
|
|
46
|
-
* Utilities for applying Effect SQL migrations to Microsoft SQL Server.
|
|
47
|
-
*
|
|
48
|
-
* This module re-exports the shared `Migrator` loaders and error types, then
|
|
49
|
-
* provides `run` and `layer` helpers for applying ordered migrations through
|
|
50
|
-
* the current SQL Server `SqlClient`. It is typically used at application
|
|
51
|
-
* startup, during deployment, in integration tests that provision temporary SQL
|
|
52
|
-
* Server databases, or in layer graphs that need the database schema to be
|
|
53
|
-
* current before dependent services are acquired.
|
|
54
|
-
*
|
|
55
|
-
* Applied migrations are stored in `effect_sql_migrations` by default and use
|
|
56
|
-
* the shared `<id>_<name>` loader convention. Only migrations with ids greater
|
|
57
|
-
* than the latest recorded id are run, so avoid inserting older migration ids
|
|
58
|
-
* after a later migration has reached production. SQL Server migrations run
|
|
59
|
-
* inside the shared migrator transaction and this adapter does not add a
|
|
60
|
-
* dialect-specific table lock, so coordinate concurrent startup runners and
|
|
61
|
-
* write T-SQL that is valid inside an explicit transaction. Remember that `GO`
|
|
62
|
-
* is a client-side batch separator rather than a T-SQL statement, and split
|
|
63
|
-
* migrations when SQL Server requires an object definition such as `CREATE
|
|
64
|
-
* VIEW`, `CREATE PROCEDURE`, or `CREATE TRIGGER` to start its own batch. This
|
|
65
|
-
* adapter also does not emit SQL Server schema dumps for `schemaDirectory`.
|
|
66
|
-
*
|
|
67
20
|
* @since 4.0.0
|
|
68
21
|
*/
|
|
69
22
|
export * as MssqlMigrator from "./MssqlMigrator.ts"
|
|
70
23
|
|
|
71
24
|
/**
|
|
72
|
-
* Typed metadata for SQL Server stored procedure parameters.
|
|
73
|
-
*
|
|
74
|
-
* This module records the bare parameter name, Tedious `DataType`, Tedious
|
|
75
|
-
* `ParameterOptions`, and phantom TypeScript value type used by
|
|
76
|
-
* `Procedure.param` and `Procedure.outputParam`. `MssqlClient.call` later
|
|
77
|
-
* forwards input parameters to Tedious with `Request.addParameter` and output
|
|
78
|
-
* parameters with `Request.addOutputParameter`, so names should match the
|
|
79
|
-
* stored procedure parameter name without a leading `@`.
|
|
80
|
-
*
|
|
81
|
-
* Use these values when defining stored procedures that need explicit SQL
|
|
82
|
-
* Server parameter metadata, such as sized strings or binary values, decimal
|
|
83
|
-
* precision/scale, table-valued parameters, and output parameters. The generic
|
|
84
|
-
* type parameter is only a compile-time guide for the value record accepted by
|
|
85
|
-
* `Procedure.compile`; Tedious still validates and encodes the runtime value.
|
|
86
|
-
* In particular, TVP values must use Tedious' table shape with `name`,
|
|
87
|
-
* optional `schema`, `columns`, and `rows`, and output parameters are registered
|
|
88
|
-
* with no initial value, so SQL Server input-output parameters need separate
|
|
89
|
-
* care rather than assuming an output parameter is populated from compiled
|
|
90
|
-
* input values.
|
|
91
|
-
*
|
|
92
25
|
* @since 4.0.0
|
|
93
26
|
*/
|
|
94
27
|
export * as Parameter from "./Parameter.ts"
|
|
95
28
|
|
|
96
29
|
/**
|
|
97
|
-
* Typed builders for Microsoft SQL Server stored procedure definitions.
|
|
98
|
-
*
|
|
99
|
-
* This module describes the metadata consumed by `MssqlClient.call`: create a
|
|
100
|
-
* definition with `make`, add input and output parameters with their Tedious
|
|
101
|
-
* data types and `ParameterOptions`, optionally describe the returned row shape
|
|
102
|
-
* with `withRows`, and use `compile` to bind the input values before execution.
|
|
103
|
-
* It is useful when application code calls stored procedures for commands,
|
|
104
|
-
* reports, migrations, or workflows that return both result sets and output
|
|
105
|
-
* parameters.
|
|
106
|
-
*
|
|
107
|
-
* Parameter value types are supplied explicitly through `param<A>()` and
|
|
108
|
-
* `outputParam<A>()`; they are not inferred from the Tedious data type. Input
|
|
109
|
-
* values must be keyed by the parameter names in the definition, output
|
|
110
|
-
* parameters are collected separately from returned rows, and `withRows` only
|
|
111
|
-
* records the expected TypeScript row type, so row names and transforms still
|
|
112
|
-
* follow the configured `MssqlClient` result handling.
|
|
113
|
-
*
|
|
114
30
|
* @since 4.0.0
|
|
115
31
|
*/
|
|
116
32
|
export * as Procedure from "./Procedure.ts"
|