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?