withValidation<T> static method

OpinionatedStore<T> withValidation<T>(
  1. T initialState,
  2. bool validator(
    1. T
    )
)

Create a store with validation

Implementation

static OpinionatedStore<T> withValidation<T>(
  T initialState,
  bool Function(T) validator,
) {
  return OpinionatedStoreBuilder<T>(initialState)
      .withMiddleware((old, new_) {
        if (!validator(new_)) {
          throw ArgumentError('State validation failed: $new_');
        }
      })
      .build();
}