morwils_flutter_core 0.2.0
morwils_flutter_core: ^0.2.0 copied to clipboard
Shared Flutter foundation and utilities for Morwils applications and packages.
example/morwils_flutter_core_example.dart
import 'package:morwils_flutter_core/morwils_flutter_core.dart';
void main() {
// 1. Result & Error Handling
final result = divide(100, 4);
result.when(
onSuccess: (value) => print('Result: $value'),
onFailure: (failure) => print('Error: ${failure.message}'),
);
// 2. Pagination
const query = PageQuery(page: 1, pageSize: 10, sortBy: 'createdAt');
final paginated = PaginatedList<String>(
items: const ['Item A', 'Item B', 'Item C'],
total: 25,
page: query.page,
pageSize: query.pageSize,
);
print('Current page: ${paginated.page} / ${paginated.totalPages}');
print('Has next page: ${paginated.hasNextPage}');
// 3. DateRange
final q1Range = DateRange(
start: DateTime(2026, 1, 1),
end: DateTime(2026, 3, 31),
);
print('Q1 Duration: ${q1Range.inDays} days');
}
Result<double, Failure> divide(double a, double b) {
if (b == 0) {
return const Result.failure(
ValidationFailure(message: 'Division by zero is not allowed'),
);
}
return Result.success(a / b);
}