kotlin_scope_function
This is a utility package that providing Kotlin scope function implement by Dart.
Getting Started
- import package to dart file
import 'package:kotlin_scope_function/kotlin_scope_function.dart';`
.let
.let can be used to invoke one or more functions on results of call chains.
final defValue = 10;
var result = defValue.let((it) {
final b = 5;
return it + b + 5;
});
print(result);
run
run is useful when your lambda contains both the object initialization and the computation of the return value.
final a = 10;
var result = run(() {
final b = 5;
return a + b + 5;
});
print(result);
.also
also is good for performing some actions that take the context object as an argument.
List result = [];
result.also((it) {
final b = 10;
it.add(b);
it.add(5);
});
print(result);
.takeIf
takeIf returns object self if it matches the predicate. Otherwise, it returns null.
List ref = ["data"];
var result = ref.takeIf((it) {
return it.isNotEmpty;
});
print(result);
.takeIf
takeUnless returns object self if it doesn't matches the predicate. Otherwise, it returns null.
List ref = ["data"];
var result = ref.takeUnless((it) {
return it.isEmpty;
});
print(result);
Sample Usage
Run example
to see usage shown above and modify the code to try your requirement.
Unit Test
$ dart pub upgrade test
$ dart test test/kotlin_scope_function_test.dart