ServerEvent.kt

  1. package com.hexagonkt.http.model

  2. data class ServerEvent(
  3.     val event: String? = null,
  4.     val data: String? = null,
  5.     val id: String? = null,
  6.     val retry: Long? = null,
  7. ) {
  8.     val eventData: String by lazy {
  9.         if (event == null && data == null && id == null && retry == null)
  10.             ":\n\n"
  11.         else
  12.             listOf(
  13.                 "event" to event,
  14.                 "data" to data,
  15.                 "id" to id,
  16.                 "retry" to retry,
  17.             )
  18.             .filter { it.second != null }
  19.             .joinToString("\n", postfix = "\n\n") { (k, v) -> "$k: $v" }
  20.     }
  21. }