/** * Returns an effect that executes both this effect and the specified effect, * in parallel, combining their results with the specified `f` function. If * both sides fail, then the cause will be combined. * * @tsplus static effect/core/io/Effect.Aspects validateWithPar * @tsplus pipeable effect/core/io/Effect validateWithPar */ export function validateWithPar( that: Effect, f: (a: A, b: B) => C ) { return (self: Effect): Effect => self.exit .zipWithPar(that.exit, (ea, eb) => ea.zipWith(eb, f, (ca, cb) => Cause.both(ca, cb))) .flatten }