DVAgreements constructor

DVAgreements({
  1. required List<DVAgreement> agreements,
  2. required DVDatabaseAdapter database,
  3. DateTime clock()?,
})

Implementation

DVAgreements({
  required List<DVAgreement> agreements,
  required this.database,
  DateTime Function()? clock,
})  : agreements = List<DVAgreement>.unmodifiable(agreements),
      _clock = clock ?? DateTime.now {
  final Set<String> ids = <String>{};
  for (final DVAgreement a in agreements) {
    a.validate();
    if (!ids.add(a.id)) {
      throw ArgumentError.value(a.id, 'id', 'is declared twice');
    }
  }
}