darlin library
A Dart package that provides Kotlin-like utilities and extensions.
This package includes:
- String null safety checks (isNullOrEmpty, isNullOrBlank, etc.)
- Scope functions (let, also, apply) for any object
- Object comparison and cloning utilities (deepEqual, copyWith, deepCopy)
- List manipulation and transformation utilities
- Boolean logic helpers
- Future manipulation utilities
- Nullable utilities and safe navigation
Import Options
Full Package Import
import 'package:darlin/darlin.dart';
Modular Imports
Import only the functionality you need:
import 'package:darlin/core.dart'; // Most common utilities
import 'package:darlin/string_utils.dart'; // String utilities only
import 'package:darlin/scope_functions.dart'; // Scope functions only
import 'package:darlin/list_utils.dart'; // List utilities only
import 'package:darlin/collections.dart'; // List + Object utilities
import 'package:darlin/nullable_utils.dart'; // Nullable utilities only
import 'package:darlin/boolean_utils.dart'; // Boolean utilities only
import 'package:darlin/future_utils.dart'; // Future utilities only
import 'package:darlin/object_utils.dart'; // Object utilities only
Example usage:
import 'package:darlin/darlin.dart';
void main() {
String? nullableString = null;
// String checks
print(nullableString.isNullOrEmpty); // true
print(nullableString.isNullOrBlank); // true
// Scope functions
final result = nullableString?.let((it) => it.toUpperCase());
nullableString?.also((it) => print('Processing: $it'));
// Object utilities
final obj1 = {'name': 'John', 'age': 30};
final obj2 = {'name': 'John', 'age': 30};
print(obj1.deepEqual(obj2)); // true
final copy = obj1.deepCopy();
final updated = obj1.copyWith({'age': 31});
}
Extensions
- BooleanUtils on bool
- Extensions on Boolean to provide additional utility methods.
-
FutureUtils
on Future<
T> - Extensions on Future to provide convenient asynchronous handling utilities.
-
ListChecks
on List<
T> ? - Extensions on nullable List to provide Kotlin-like null safety checks.
-
ListUtils
on List<
T> - Extensions on List to provide additional utility methods.
- NullableBooleanUtils on bool?
- Extensions on nullable Boolean to provide logical operations.
- NullableUtils on T?
- Extensions on nullable objects to provide Kotlin-like null safety utilities.
- ObjectUtils on Object
- Extensions on objects to provide comparison and cloning utilities.
- ScopeFunctions on T?
- Extensions on any nullable object to provide Kotlin-like scope functions.
- StringChecks on String?
- Extensions on nullable String to provide Kotlin-like null safety checks.
- StringUtils on String
- Extensions on String to provide additional utility methods.