MCPcopy Create free account
hub / github.com/Effect-TS/effect / run

Function run

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

Source from the content-addressed store, hash-verified

334 })
335
336 const run = (
337 sql: string,
338 values?: ReadonlyArray<any>,
339 rowsAsArray = false
340 ) =>
341 Effect.callback<any, SqlError>((resume) => {
342 const req = new Tedious.Request(sql, (cause, _rowCount, result) => {
343 if (cause) {
344 resume(
345 Effect.fail(new SqlError({ reason: classifyError(cause, "Failed to execute statement", "execute") }))
346 )
347 return
348 }
349
350 if (rowsAsArray) {
351 result = result.map((row: any) => row.map((_: any) => _.value))
352 } else {
353 result = rowsToObjects(result)
354 }
355
356 resume(Effect.succeed(result))
357 })
358
359 if (values) {
360 for (let i = 0, len = values.length; i < len; i++) {
361 const value = values[i]
362 const name = numberToParamName(i)
363
364 if (isMssqlParam(value)) {
365 req.addParameter(name, value.paramA, value.paramB, value.paramC)
366 } else {
367 const kind = Statement.primitiveKind(value)
368 const type = parameterTypes[kind]
369 req.addParameter(name, type, value)
370 }
371 }
372 }
373
374 conn.cancel()
375 conn.execSql(req)
376 return Effect.sync(() => conn.cancel())
377 })
378
379 const runProcedure = (
380 procedure: Procedure.ProcedureWithValues<any, any, any>,

Callers 10

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

Calls 11

rowsToObjectsFunction · 0.85
numberToParamNameFunction · 0.85
classifyErrorFunction · 0.70
resumeFunction · 0.50
failMethod · 0.45
mapMethod · 0.45
succeedMethod · 0.45
addParameterMethod · 0.45
cancelMethod · 0.45
execSqlMethod · 0.45
syncMethod · 0.45

Tested by

no test coverage detected