Find let { } ergonomics
Recipe ID
org.openrewrite.kotlin.idiom.FindLetIdioms$KtRecipeArtifact
io.moderne.recipe:recipes-kotlin?.let { it }, ?.let { it.foo() } (including property reads), nested let ladders, let blocks at statement position, and the ?.let { } ?: y pattern — all cases where let { } adds shape without clarity.
Usage
This recipe has no required configuration options. You’ll need the Moderne CLI configured before running the command below.
mod run . --recipe org.openrewrite.kotlin.idiom.FindLetIdioms$KtRecipeIf the recipe isn’t available locally, install it with:
mod config recipes jar install io.moderne.recipe:recipes-kotlin:0.2.0Definition
This recipe runs the following recipes in order.
- Find
?.let { it }no-opsorg.openrewrite.kotlin.idiom.FindLetItIdentity$KtRecipe - Find
?.let { it.foo() }that could use?.foo()org.openrewrite.kotlin.idiom.FindLetItCall$KtRecipe - Find
obj.let { fn(it) }whereobjis non-nullorg.openrewrite.kotlin.idiom.FindLetWithFnOfIt$KtRecipe - Find
x?.let { } ?: ypatternsorg.openrewrite.kotlin.idiom.FindLetElvis$KtRecipe - Find nested
let { }chainsorg.openrewrite.kotlin.idiom.FindNestedLet$KtRecipe - Find
?.let { }calls at statement positionorg.openrewrite.kotlin.idiom.FindLetAtStatementPosition$KtRecipe
Data tables
Structured output this recipe can produce.
- Source files that had resultsSource files that were modified by the recipe run.
org.openrewrite.table.SourcesFileResults - Source files that had search resultsSearch results that were found during the recipe run.
org.openrewrite.table.SearchResults - Source files that errored on a recipeThe details of all errors produced by a recipe run.
org.openrewrite.table.SourcesFileErrors - Recipe performanceStatistics used in analyzing the performance of recipes.
org.openrewrite.table.RecipeRunStats