getFromInstance static method

Future<GraphQLClient> getFromInstance(
  1. dynamic instance
)

Get the GraphQL client from parent instance

Implementation

static Future<GraphQLClient> getFromInstance(dynamic instance) async {
  Duration timeout = Duration(seconds: 5);
  GraphQLClient? client;

  if (instance is GraphqlAuthenticate) {
    client = await PipenGraphqlClient.withAuth?.call();
  } else {
    client = await PipenGraphqlClient.withoutAuth?.call();
  }

  /// GraphQL client not found
  if (client == null) throw GraphqlClientNotFound();

  /// Custom timeout duration
  if (instance case GraphqlTimeout graphqlTimeout) {
    timeout = graphqlTimeout.duration;
  }

  return GraphQLClient(
    link: client.link,
    cache: client.cache,
    queryRequestTimeout: timeout,
    defaultPolicies: client.defaultPolicies,
  );
}