single property

Subject<T> single

Implementation

Subject<T> get single => context.nest(() => ['has single element'], (actual) {
      final iterator = actual.iterator;
      if (!iterator.moveNext()) {
        return Extracted.rejection(which: ['has no elements']);
      }
      final value = iterator.current;
      if (iterator.moveNext()) {
        return Extracted.rejection(which: ['has more than one element']);
      }
      return Extracted.value(value);
    });