A Dart implementation similar to Kotlin scope functions.
Used for chained programming style.
import 'package:scope_function/scope_function.dart';
netWorkResponse.run(parseResponse)
.let((it) => it.name)
.also((name) => print("name: $name"))
?.takeif((it) => it.isNotEmpty);
- Since Dart not support Context receiver as what Kotlin does,
withThe
,run
implemented using it as argument. - Since
with
is keyword in dart, use namewithThe
instead. - Recommend use
..
operator in replace ofapply
which is usually used as configure object. - Recommend define a function(named/unnamed), and use
function.call
in replace ofrun without receiver
. - We usually choose function based on semantic distinction if both functions can be competent for the job.
- please refer to Kotlin scope functions for details.