useFunctionInvocation method

RealtimeClientBuilder useFunctionInvocation({
  1. LoggerFactory? loggerFactory,
  2. ConfigureFunctionInvokingRealtimeClient? configure,
})

Enables automatic function-call invocation on the real-time pipeline.

When loggerFactory is not supplied, it is resolved from the active ServiceProvider if one is available. configure can be used to adjust the FunctionInvokingRealtimeClient before it is added.

Implementation

RealtimeClientBuilder useFunctionInvocation({
  LoggerFactory? loggerFactory,
  ConfigureFunctionInvokingRealtimeClient? configure,
}) {
  return useWithServices((innerClient, services) {
    final factory = loggerFactory ?? services.getService<LoggerFactory>();
    final client = FunctionInvokingRealtimeClient(
      innerClient,
      logger: factory?.createLogger('FunctionInvokingRealtimeClient'),
    );
    configure?.call(client);
    return client;
  });
}