/** * Projects out part of one of the services output by this layer using the * specified function. * * @tsplus static effect/core/io/Layer.Aspects project * @tsplus pipeable effect/core/io/Layer project */ export function project( tagA: Tag, tagB: Tag, f: (a: A) => B ) { return (self: Layer): Layer => self.map((environment) => Env(tagB, f(environment.unsafeGet(tagA)))) }