onValidationStatus static method

Stream<ValidationStatus> onValidationStatus(
  1. Iterable<FieldBloc<FieldBlocStateBase>> fieldBlocs
)

Implementation

static Stream<ValidationStatus> onValidationStatus(
  Iterable<FieldBloc> fieldBlocs,
) {
  return Rx.combineLatestList(fieldBlocs.map((fieldBloc) {
    return Rx.merge([Stream.value(fieldBloc.state), fieldBloc.stream]);
  })).map((fieldStates) {
    return ValidationStatus(
      isValidating: fieldStates.any((fieldState) => fieldState.isValidating),
      isValid: fieldStates.every((fieldState) => fieldState.isValid),
    );
  }).distinct();
}