Comments (4)
Hmm. But this rule tries to nudge you to change the first case into letting the parent supply the constant while simplifing the implementation of Foo
:
fun main() {
Foo(onSomething = { doStuff(5) })
}
@Composable
private fun Foo(onSomething: () -> Unit) {
Button(onClick = onSomething)
}
Wouldn't this work for you?
from detekt-rules-compose.
Ah. I misread the issue. Sorry :)
from detekt-rules-compose.
I agree!
It would be easy to implement for primitive types, but it seems that it would require the type resolution enabled for your example with a sealed class? Otherwise it seems a quite difficult task to find out that SealedClassIntent.Back
is actualy an object.
from detekt-rules-compose.
Maybe it is possible to ignore the rule for lambda if its parameter is not derived from composable arguments?
For example:
// GOOD. Lambda parameter created inside the composable
@Composable
private fun Foo(
onSomething: (Any) -> Unit,
) {
Button(onClick = { onSomething(5) }) { /*...*/ }
}
// BAD. Lambda parameter derived from composable arguments
@Composable
private fun Foo(
number: Int,
onSomething: (Int) -> Unit,
) {
Button(onClick = { onSomething(number) }) { /*...*/ }
}
from detekt-rules-compose.
Related Issues (20)
- False positive on `UnnecessaryEventHandlerParameter` HOT 4
- `UnnecessaryEventHandlerParameter` raises an exception HOT 1
- False positive on `ModifierParameterPosition` and `ComposableParametersOrdering` HOT 6
- [Question] No Compose in the report HOT 1
- Add "UnusedModifierParameter" rule HOT 5
- Not detekt on CompositionLocalProvider due to Modifier wrong level HOT 1
- Fat jar HOT 4
- False positive in ModifierHeightWithText rule
- Private Composable Previews and UnusedPrivateMember conflict HOT 3
- False positive on ReusedModifierInstance with theme as direct child HOT 1
- `TopLevelComposableFunctions` and `inteface`s HOT 2
- False positive on `ReusedModifierInstance` when shadowing modifier HOT 1
- False positive for "ConditionCouldBeLifted": lambda with parameter
- Outdated wiki? HOT 2
- False positive for `UnnecessaryEventHandlerParameter`? HOT 4
- ModifierHeightWithText should not apply when Modifier.height(Intrinsic.Min) HOT 1
- False positive on ComposableFunctionName when using single expression functions HOT 3
- ComposableParametersOrdering should not consider one last function parameter HOT 3
- [ModifierParameterPosition] Modifier with LazyListScope HOT 3
- [MissingModifierDefaultValue] Rules in KMM HOT 2
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from detekt-rules-compose.