useSubscriptionOnClient<TParsed> function

QueryResult<TParsed> useSubscriptionOnClient<TParsed>(
  1. GraphQLClient client,
  2. SubscriptionOptions<TParsed> options, {
  3. OnSubscriptionResult<TParsed>? onSubscriptionResult,
})

Implementation

QueryResult<TParsed> useSubscriptionOnClient<TParsed>(
  GraphQLClient client,
  SubscriptionOptions<TParsed> options, {
  OnSubscriptionResult<TParsed>? onSubscriptionResult,
}) {
  final stream = use(_SubscriptionHook(
    client: client,
    onSubscriptionResult: onSubscriptionResult,
    options: options,
  ));
  final snapshot = useStream(
    stream,
    initialData: options.optimisticResult != null
        ? QueryResult.optimistic(
            data: options.optimisticResult as Map<String, dynamic>?,
            options: options,
          )
        : QueryResult.loading(options: options),
  );
  return snapshot.data!;
}