Coverage Summary for Class: SseEntityMappersKt (dev.skymansandy.wiretap.data.mappers)
| Class |
Class, %
|
Method, %
|
Branch, %
|
Line, %
|
Instruction, %
|
| SseEntityMappersKt |
100%
(1/1)
|
100%
(3/3)
|
100%
(2/2)
|
100%
(33/33)
|
100%
(82/82)
|
/*
* Copyright (c) 2026 skymansandy. All rights reserved.
*/
package dev.skymansandy.wiretap.data.mappers
import dev.skymansandy.wiretap.data.db.room.entity.SseEventEntity
import dev.skymansandy.wiretap.data.db.room.entity.SseLogEntity
import dev.skymansandy.wiretap.domain.model.SseConnection
import dev.skymansandy.wiretap.domain.model.SseEvent
import dev.skymansandy.wiretap.domain.model.SseStatus
import dev.skymansandy.wiretap.helper.util.HeadersSerializerUtil
internal fun SseLogEntity.toDomain(): SseConnection {
return SseConnection(
id = id,
url = url,
requestHeaders = HeadersSerializerUtil.deserialize(requestHeaders),
status = SseStatus.valueOf(status),
failureMessage = failureMessage,
eventCount = eventCount,
timestamp = timestamp,
closedAt = closedAt,
lastEventId = lastEventId,
retryMs = retryMs,
historyCleared = historyCleared != 0L,
)
}
internal fun SseEventEntity.toDomain(): SseEvent {
return SseEvent(
id = id,
connectionId = connectionId,
eventType = eventType,
data = data,
eventId = eventId,
retryMs = retryMs,
byteCount = byteCount,
timestamp = timestamp,
)
}
internal fun SseConnection.toRoomEntity(): SseLogEntity {
return SseLogEntity(
id = id,
url = url,
requestHeaders = HeadersSerializerUtil.serialize(requestHeaders),
status = status.name,
failureMessage = failureMessage,
eventCount = eventCount,
timestamp = timestamp,
closedAt = closedAt,
lastEventId = lastEventId,
retryMs = retryMs,
historyCleared = if (historyCleared) 1L else 0L,
)
}