MCPcopy Index your code
hub / github.com/Effect-TS/effect / FilterCauseReducer

Function FilterCauseReducer

packages/effect/src/internal/cause.ts:672–703  ·  view source on GitHub ↗
(
  predicate: Predicate<Cause.Cause<E>>
)

Source from the content-addressed store, hash-verified

670
671/** @internal */
672const FilterCauseReducer = <E>(
673 predicate: Predicate<Cause.Cause<E>>
674): Cause.CauseReducer<unknown, E, Cause.Cause<E>> => ({
675 emptyCase: () => empty,
676 failCase: (_, error) => fail(error),
677 dieCase: (_, defect) => die(defect),
678 interruptCase: (_, fiberId) => interrupt(fiberId),
679 sequentialCase: (_, left, right) => {
680 if (predicate(left)) {
681 if (predicate(right)) {
682 return sequential(left, right)
683 }
684 return left
685 }
686 if (predicate(right)) {
687 return right
688 }
689 return empty
690 },
691 parallelCase: (_, left, right) => {
692 if (predicate(left)) {
693 if (predicate(right)) {
694 return parallel(left, right)
695 }
696 return left
697 }
698 if (predicate(right)) {
699 return right
700 }
701 return empty
702 }
703})
704
705/** @internal */
706type CauseCase = SequentialCase | ParallelCase

Callers 1

cause.tsFile · 0.85

Calls 6

failFunction · 0.70
dieFunction · 0.70
interruptFunction · 0.70
sequentialFunction · 0.70
parallelFunction · 0.70
predicateFunction · 0.50

Tested by

no test coverage detected