evaluateWithCache method

PermissionDecision evaluateWithCache(
  1. PermissionRequest request,
  2. PermissionCache cache
)

Evaluate and also check the cache first.

Implementation

PermissionDecision evaluateWithCache(
  PermissionRequest request,
  PermissionCache cache,
) {
  final cached = cache.get(request.cacheKey);
  if (cached != null && !cached.isExpired) {
    return cached;
  }

  final decision = evaluate(request);

  if (decision.level.isCacheable) {
    cache.set(request.cacheKey, decision);
  }

  return decision;
}