<commit_before># tap_completer

A Completer which allows you to tap into it, adding a callback which is called
with a Completer, which completes in a specific condition within the callback.
It can handle multiple taps, so it can handle multiple asynchronous Futures at
once, with only one Completer.  It allows the consolidation of synchronous
Futures into one.  This could be done other ways, but I think this makes it
easier on the developer, especially when dealing with multiple futures, where
everyone has to finish before something can happen.  

## Usage

A simple usage example:

    import 'package:tap_completer/tap_completer.dart';

    main() {
      TapCompleter tapCompleter = new TapCompleter()
        ..tap((complete) => complete.complete())
        ..tap((complete) => complete.complete())
        ;
      tapCompleter.future.then((_) {
        print('finished');
      });
    }

## Features and bugs

Please file feature requests and bugs at the [issue tracker][tracker].

[tracker]: http://example.com/issues/replaceme<commit_msg>Updated README.md with correct issue tracker URL<commit_after># tap_completer

A Completer which allows you to tap into it, adding a callback which is called
with a Completer, which completes in a specific condition within the callback.
It can handle multiple taps, so it can handle multiple asynchronous Futures at
once, with only one Completer.  It allows the consolidation of synchronous
Futures into one.  This could be done other ways, but I think this makes it
easier on the developer, especially when dealing with multiple futures, where
everyone has to finish before something can happen.  

## Usage

A simple usage example:

    import 'package:tap_completer/tap_completer.dart';

    main() {
      TapCompleter tapCompleter = new TapCompleter()
        ..tap((complete) => complete.complete())
        ..tap((complete) => complete.complete())
        ;
      tapCompleter.future.then((_) {
        print('finished');
      });
    }

## Features and bugs

Please file feature requests and bugs at the [issue tracker][tracker].

[tracker]: https://github.com/terrasea/tap_completer/issues
{'fraction_non_alphanumeric': 0.07906976744186046, 'fraction_numerical': 0.0, 'mean_word_length': 3.7274725274725276, 'pattern_counts': {'":': 0, '<': 3, '<?xml version=': 0, '>': 7, 'https://': 1, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '3031503', 'n_tokens_mistral': 610, 'n_tokens_neox': 566, 'n_words': 245}