-1
この関数を純関数(関数型プログラミング)にするにはどうすればよいですか?関数型プログラミングでこの関数を作成するにはどうすればよいですか?
fun validateOffer(offerValidateRequest: OfferValidateRequest, channelId: ChannelId, tenant: Tenant): OfferValidateRepresentation {
val errorsList = mutableListOf<OfferValidateErrorsRepresentation>()
val successList = mutableListOf<OfferValidateSuccessRepresentation>()
offerValidateRequest.offers.forEach {
val filterRequest = OfferGetRequest(it.id, it.type)
val catalogs = findCatalogsWithOffers(filterRequest, channelId, tenant)
val errorMessages = getOfferErrorMessages(it, catalogs, filterRequest)
if (errorMessages.isEmpty()) {
successList.add(OfferValidateSuccessRepresentation(it.id, it.type))
} else {
errorsList.add(OfferValidateErrorsRepresentation(it.id, it.type, errorMessages))
}
}
return OfferValidateRepresentation(errorsList, successList)
}
エラーや成功のリストでは、これらの繰り返しはあまり快適ではありません。