Features

Widgets

  • FluentListView

Tools

  • IndexingCollection<T>
  • ObservableTimer
  • CacheManager

Streams

  • DistinctSubject
  • DistinctValueStream
  • DistinctConnectableStream

Extensions

  • on Stream:

    • publishDistinctValue
    • publishDistinctValueSeeded
    • shareDistinctValue
    • shareDistinctValueSeeded
    • mapDistinctValue<T>
    • takeUntilFuture
  • on Iterable:

    • parseList<T>
    • parseIterable<T>
  • on Function:

    • apply

Getting started

Add package import:

import 'package:comprehensive_utils/comprehensive_utils.dart';

Usage

final DistinctSubject<String> _userNameSubject = DistinctSubject<String>();

DistinctValueStream<String> get userNameStream => _userNameSubject.stream;

void changeUserName(String userName) {
  // the value will be added to Stream if it differs from the previous one
  _userNameSubject.add(userName);
}

Libraries

comprehensive_utils
A collection of classes and functions containing simple and complex performance-oriented tools