Skip to content

Commit c075297

Browse files
committed
Adding Effect#noop back, it's just too convenient
1 parent 576292c commit c075297

2 files changed

Lines changed: 12 additions & 1 deletion

File tree

src/main/java/com/jnape/palatable/lambda/functions/Effect.java

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@
1010

1111
import static com.jnape.palatable.lambda.adt.Unit.UNIT;
1212
import static com.jnape.palatable.lambda.functions.builtin.fn1.Constantly.constantly;
13+
import static com.jnape.palatable.lambda.functions.specialized.SideEffect.NOOP;
1314
import static com.jnape.palatable.lambda.io.IO.io;
1415

1516
/**
@@ -90,6 +91,16 @@ static Effect<Unit> effect(SideEffect sideEffect) {
9091
return effect(constantly(io(sideEffect)));
9192
}
9293

94+
/**
95+
* Create an {@link Effect} that accepts an input and does nothing;
96+
*
97+
* @return the noop {@link Effect}
98+
*/
99+
@SuppressWarnings("unused")
100+
static <A> Effect<A> noop() {
101+
return effect(NOOP).contraMap(constantly(UNIT));
102+
}
103+
93104
/**
94105
* Create an {@link Effect} from an {@link Fn1} that yields an {@link IO}.
95106
*

src/main/java/com/jnape/palatable/lambda/functions/specialized/SideEffect.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ public interface SideEffect {
1717
/**
1818
* A no-op {@link SideEffect}
1919
*/
20-
@SuppressWarnings("unused") SideEffect NOOP = () -> {};
20+
SideEffect NOOP = () -> {};
2121

2222
@SuppressWarnings("NonAsciiCharacters")
2323
void Ω() throws Throwable;

0 commit comments

Comments
 (0)