getFromInstance static method
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,
);
}