MCPcopy Index your code
hub / github.com/Effect-TS/effect / run

Function run

packages/sql-mssql/src/MssqlClient.ts:184–222  ·  view source on GitHub ↗
(
        sql: string,
        values?: ReadonlyArray<any>,
        rowsAsArray = false
      )

Source from the content-addressed store, hash-verified

182 })
183
184 const run = (
185 sql: string,
186 values?: ReadonlyArray<any>,
187 rowsAsArray = false
188 ) =>
189 Effect.async<any, SqlError>((resume) => {
190 const req = new Tedious.Request(sql, (cause, _rowCount, result) => {
191 if (cause) {
192 resume(Effect.fail(new SqlError({ cause, message: "Failed to execute statement" })))
193 return
194 }
195
196 if (rowsAsArray) {
197 result = result.map((row: any) => row.map((_: any) => _.value))
198 } else {
199 result = rowsToObjects(result)
200 }
201
202 resume(Effect.succeed(result))
203 })
204
205 if (values) {
206 for (let i = 0, len = values.length; i < len; i++) {
207 const value = values[i]
208 const name = numberToParamName(i)
209
210 if (isMssqlParam(value)) {
211 req.addParameter(name, value.i0, value.i1, value.i2)
212 } else {
213 const kind = Statement.primitiveKind(value)
214 const type = parameterTypes[kind]
215 req.addParameter(name, type, value)
216 }
217 }
218 }
219
220 conn.cancel()
221 conn.execSql(req)
222 })
223
224 const runProcedure = (
225 procedure: Procedure.ProcedureWithValues<any, any, any>,

Callers 8

layerFunction · 0.70
executeFunction · 0.70
executeRawFunction · 0.70
executeValuesFunction · 0.70
layerFunction · 0.50
layerFunction · 0.50
layerFunction · 0.50
layerFunction · 0.50

Calls 5

rowsToObjectsFunction · 0.85
numberToParamNameFunction · 0.85
failMethod · 0.65
mapMethod · 0.65
resumeFunction · 0.50

Tested by

no test coverage detected