dart_collection_sampler 3.0.2 copy "dart_collection_sampler: ^3.0.2" to clipboard
dart_collection_sampler: ^3.0.2 copied to clipboard

a small library implementing methods to sample items from collections

example/main.dart

import 'dart:io';

import 'package:args/args.dart';
import 'package:dart_collection_sampler/dart_collection_sampler.dart';

void main(List<String> arguments) {
  final argParser = ArgParser()
    ..addOption(
      "num",
      abbr: "n",
      help: "items to pick from rest of command line",
      defaultsTo: "1",
    )
    ..addFlag(
      "unique",
      abbr: "u",
      help: "select unique results",
      negatable: false,
    );

  final results = argParser.parse(arguments);

  exit(
    deal(
      int.parse(results["num"] as String),
      results.rest,
      unique: results['unique'] as bool,
    ),
  );
}

int deal(int n, List<String> items, {required bool unique}) {
  if (items.isEmpty) {
    stderr.writeln("you must supply one or more items as input");
    return 1;
  }
  stdout.writeln("Picking $n from $items (unique: $unique)\n");

  if (n == 1) {
    stdout.writeln("Selected item: ${CollectionSampler().pick(items)}");
  } else {
    stdout.writeln(
      "Selected items: ${CollectionSampler().pickN(items, n, unique: unique)}",
    );
  }
  return 0;
}
0
likes
130
pub points
0%
popularity

Publisher

unverified uploader

a small library implementing methods to sample items from collections

Repository (GitHub)
View/report issues
Contributing

Documentation

API reference

License

MIT (LICENSE)

Dependencies

dart_dice_parser

More

Packages that depend on dart_collection_sampler