import net.pterodactylus.sone.data.Post
import net.pterodactylus.sone.data.PostReply
import net.pterodactylus.sone.data.Sone
-import java.util.function.Predicate
fun matchThisPost(post: Post) = createPostVisibilityFilter { _, p -> p == post }
val showAllPosts = createPostVisibilityFilter { _, _ -> true }
val showAllReplies = createReplyVisibilityFilter(showAllPosts) { _, _ -> true }
val showNoReplies = createReplyVisibilityFilter(showAllPosts) { _, _ -> false }
-private fun createReplyVisibilityFilter(postVisibilityFilter: PostVisibilityFilter, visible: (Sone?, PostReply) -> Boolean) = object : ReplyVisibilityFilter(postVisibilityFilter) {
+private fun createReplyVisibilityFilter(postVisibilityFilter: PostVisibilityFilter, visible: (Sone?, PostReply) -> Boolean): ReplyVisibilityFilter = object : DefaultReplyVisibilityFilter(postVisibilityFilter) {
override fun isReplyVisible(sone: Sone?, reply: PostReply) = visible(sone, reply)
- override fun isVisible(currentSone: Sone?) = Predicate<PostReply> { r -> r != null && isReplyVisible(currentSone, r) }
}