addJsonJavaScriptHandler<TRequest, TResponse> method
- required String handlerName,
- required JavaScriptBridgeRequestDecoder<
TRequest> decodeRequest, - required FutureOr<
TResponse> callback(- TRequest request
- required JavaScriptBridgeResponseEncoder<
TResponse> encodeResponse,
Adds a handler whose request and response values are converted through explicit JSON-compatible codecs.
Implementation
void addJsonJavaScriptHandler<TRequest, TResponse>({
required String handlerName,
required JavaScriptBridgeRequestDecoder<TRequest> decodeRequest,
required FutureOr<TResponse> Function(TRequest request) callback,
required JavaScriptBridgeResponseEncoder<TResponse> encodeResponse,
}) {
_controller.addJavaScriptHandler(
handlerName: handlerName,
callback: (args) async {
final rawRequest = args.length == 1 ? args.first : args;
final request = decodeRequest(rawRequest);
final response = await callback(request);
return encodeResponse(response);
},
);
}