| 1391 | return { |
| 1392 | _id: "Statement", |
| 1393 | segments: this.segments, |
| 1394 | sql, |
| 1395 | params |
| 1396 | } |
| 1397 | } |
| 1398 | } |
| 1399 | |
| 1400 | const withStatement = <A, X, E, R>( |
| 1401 | self: StatementImpl<A>, |
| 1402 | span: Tracer.Span, |
| 1403 | f: (statement: StatementImpl<A>) => Effect.Effect<X, E, R> |
| 1404 | ) => |
| 1405 | Effect.withFiber<X, E, R>((fiber) => { |
| 1406 | const transform = fiber.getRef(CurrentTransformer) |
| 1407 | if (transform === undefined) { |
| 1408 | return f(self) |
| 1409 | } |
| 1410 | return Effect.flatMap( |
| 1411 | transform( |
| 1412 | self, |
| 1413 | make(self.acquirer, self.compiler, self.spanAttributes, self.transformRows), |
| 1414 | fiber, |
| 1415 | span |