const logTraceSpan =
<A, E, R>(name: string) =>
(effect: Effect.Effect<A, E, R>) =>
Effect.zipRight(
Effect.logTrace(`${name} START`),
effect.pipe(
Effect.timed,
Effect.tap(([duration, _value]) =>
Effect.logTrace(
`${name} END Duration: ${Duration.toMillis(duration)}ms`,
),
),
Effect.map(([_duration, value]) => value),
),
);
const logTraceSpan =
<A, E, R>(name: string) =>
(effect: Effect.Effect<A, E, R>) =>
Effect.zipRight(
Effect.logTrace(`${name} START`),
effect.pipe(
Effect.timed,
Effect.tap(([duration, _value]) =>
Effect.logTrace(
`${name} END Duration: ${Duration.toMillis(duration)}ms`,
),
),
Effect.map(([_duration, value]) => value),
),
);