handle method

  1. @override
Future handle(
  1. Context context,
  2. dynamic data
)
override

Implementation

@override
Future handle(Context context, data) async {
  final results = <dynamic>[];
  final exceptions = <Exception>[];

  for (final schema in schemas) {
    try {
      results.add(await schema.handle(context, data));
    } on Exception catch (e) {
      exceptions.add(e);
    }
  }

  if (results.length == 1) return results.single;

  throw OvOException(
    code: #one_of,
    message: message ?? 'One schema must be valid',
    exceptions: exceptions,
  );
}