/** * Provides the effect with the single service it requires. If the effect * requires more than one service use `provideEnvironment` instead. * * @tsplus static effect/core/stream/Channel.Aspects provideService * @tsplus pipeable effect/core/stream/Channel provideService */ export function provideService(tag: Tag, service: T1) { return ( self: Channel ): Channel, InErr, InElem, InDone, OutErr, OutElem, OutDone> => Channel.environment>().flatMap((env) => self.provideEnvironment( env.add(tag, service) as Env ) ) }