Package: effect
Module: Stream
Extract the services type from a Stream type.
Example (Extracting the services type from a Stream type)
import type { Stream } from "effect"
interface Database {
query: (sql: string) => unknown
}
type NumberStream = Stream.Stream<number, string, { db: Database }>
type RequiredServices = Stream.Services<NumberStream>
// RequiredServices is { db: Database }
Signature
type Services<T> = [T] extends [Stream<infer _A, infer _E, infer _R>] ? _R
: never
Since v4.0.0