passsy / early-returnsr3
Use Early Returns
PublicReturn early from guards to flatten nesting, but keep symmetric forks as if-else and independent checks as positive parallel if blocks.
detector.tsisolate · reads files, writes none · no network · 100 ms · 32 MBEdit
import { mentioned, onPrompt } from "@wellactually/sdk/v3";
import { isDartProject } from "dart-kit";
/**
* Words only. Telling a guard from a symmetric fork needs reading the
* branches, and an indentation-depth heuristic fired on every nested loop
* and widget tree: depth is not the sin, hidden guards are.
*/
onPrompt({
*detect(event) {
if (isDartProject(event)) {
yield* mentioned(event, ["early return", "early returns", "nested if", "deep nesting"]);
}
},
});
fixtures/dart_app/pubspec.yamlEdit
namedemo
package.jsonEdit
{
"name": "early-returns",
"private": true,
"dependencies": {
"dart-kit": "*"
}
}