Skip to main content

Boundary Result API

ParseResult has been removed from Konditional's public API.

Konditional boundary APIs now return Kotlin Result<T>:

  • Success: Result.success(value)
  • Failure: Result.failure(KonditionalBoundaryFailure(parseError))

Use parseErrorOrNull() helpers to recover structured ParseError data:

val result = NamespaceSnapshotLoader(AppFeatures).load(json)

result
.onSuccess { materialized ->
AppFeatures.load(materialized)
}
.onFailure { failure ->
val parseError = failure.parseErrorOrNull()
logger.error { parseError?.message ?: failure.message.orEmpty() }
}

Structured Failure Type

class KonditionalBoundaryFailure(
val parseError: ParseError,
) : RuntimeException(parseError.message)

Helpers

fun Throwable.parseErrorOrNull(): ParseError?
fun <T> Result<T>.parseErrorOrNull(): ParseError?