invokeAs<T> method
Invocates a hub method and parses the response into type T using parser.
Implementation
@override
Future<Either<RealtimeFailure, T>> invokeAs<T>(
String methodName, {
required T Function(dynamic json) parser,
List<dynamic>? args,
Duration? timeout,
}) async {
final raw = await invoke(methodName, args: args, timeout: timeout);
return raw.fold(
(failure) => Left(failure),
(data) {
try {
return Right(parser(data));
} catch (e, st) {
return Left(RealtimeFailure.parseError(
message: 'Failed to parse mock response: $e',
data: data,
stackTrace: st,
));
}
},
);
}