refine method

OvO<T> refine(
  1. FutureOr<bool> test(
    1. T data
    ), {
  2. required String message,
})

Implementation

OvO<T> refine(
  FutureOr<bool> Function(T data) test, {
  required String message,
}) {
  return transform((context, data, next) async {
    final result = await next(data);
    if (await test(result)) return result;

    throw OvOException(code: #custom, message: message);
  });
}