applyPolicyToQuery method

  1. @override
Query? applyPolicyToQuery(
  1. Query? query, {
  2. OfflineFirstDeletePolicy? delete,
  3. OfflineFirstGetPolicy? get,
  4. OfflineFirstUpsertPolicy? upsert,
})

As some links may consume OfflineFirstGraphqlPolicy from the request's context, this adds the policy to the providerArgs#context

Implementation

@override
Query? applyPolicyToQuery(
  Query? query, {
  OfflineFirstDeletePolicy? delete,
  OfflineFirstGetPolicy? get,
  OfflineFirstUpsertPolicy? upsert,
}) {
  return query?.copyWith(providerArgs: {
    ...query.providerArgs,
    'context': <String, ContextEntry>{
      'OfflineFirstGraphqlPolicy': OfflineFirstGraphqlPolicy(
        delete: delete,
        get: get,
        upsert: upsert,
      ),
      ...?query.providerArgs['context'] as Map<String, ContextEntry>?,
    }
  });
}