const _unsafeCallRpc =
(getRuntime: () => Promise<Runtime.Runtime<RpcWorkingRef | DatabaseService>>) =>
async <T extends RpcAuthenticatedReqs>(method: T) => {
return pipe(
Effect.flatMap(getRpcAuthenticatedClient, client => {
const m = client(method)
if (Effect.isEffect(m)) {
return m as Effect.Effect<Request.Request.Success<T>, Request.Request.Error<T>, never>
} else {
return Stream.runCollect(m) as Effect.Effect<
Request.Request.Success<T>,
Request.Request.Error<T>,
never
>
}
}),
Effect.tapErrorCause(e => Effect.logError(e)),
Effect.withLogSpan(`unsafeCallRpc`),
Effect.annotateLogs(`method`, method._tag),
Runtime.runPromise(await getRuntime()),
)
}
const _unsafeCallRpc =
(getRuntime: () => Promise<Runtime.Runtime<RpcWorkingRef | DatabaseService>>) =>
async <T extends RpcAuthenticatedReqs>(method: T) => {
return pipe(
Effect.flatMap(getRpcAuthenticatedClient, client => {
const m = client(method)
if (Effect.isEffect(m)) {
return m as Effect.Effect<Request.Request.Success<T>, Request.Request.Error<T>, never>
} else {
return Stream.runCollect(m) as Effect.Effect<
Request.Request.Success<T>,
Request.Request.Error<T>,
never
>
}
}),
Effect.tapErrorCause(e => Effect.logError(e)),
Effect.withLogSpan(`unsafeCallRpc`),
Effect.annotateLogs(`method`, method._tag),
Runtime.runPromise(await getRuntime()),
)
}