typealias UserId = Long
typealias EventMap = Map<String, List<String>>
typealias Predicate<T> = (T) -> Boolean
// Real-world: cleans up callback signatures
typealias OnUserClick = (userId: UserId, source: String) -> Unit
fun registerHandler(onClick: OnUserClick) {
onClick(42L, "menu")
}
fun main() {
val events: EventMap = mapOf(
"signup" to listOf("u1", "u2"),
"login" to listOf("u3"),
)
println(events["signup"])
val isPositive: Predicate<Int> = { it > 0 }
println(isPositive(5)) // true
registerHandler { id, src -> println("clicked: $id from $src") }
}
Create a free account and build your private vault. Share publicly whenever you want.