package suwayomi.tachidesk.graphql import com.expediagroup.graphql.server.extensions.toGraphQLError import graphql.execution.DataFetcherResult import mu.KotlinLogging val logger = KotlinLogging.logger { } inline fun asDataFetcherResult(block: () -> T): DataFetcherResult { val result = runCatching { block() } if (result.isFailure) { logger.error(result.exceptionOrNull()) { "asDataFetcherResult: failed due to" } return DataFetcherResult.newResult() .error(result.exceptionOrNull()?.toGraphQLError()) .build() } return DataFetcherResult.newResult() .data(result.getOrNull()) .build() }