ContentChangeImpact Pennington.Content
What an IContentService reports as affected by a single FileChangeNotification. AffectedRoutes is null for a wildcard (consumers drop their full cache), empty for no impact, and populated for per-route eviction.
Properties
AffectedRoutesImmutableArray<ContentRoute>?- Routes that need re-rendering, or
nullto signal a wildcard. NoneContentChangeImpact- No routes affected — the change is outside this service's scope.
WildcardContentChangeImpact- Affects an unknown / unbounded set of routes; consumers should drop their full cache.
Constructors
ContentChangeImpact
#public ContentChangeImpact(ImmutableArray<ContentRoute>? AffectedRoutes)
What an IContentService reports as affected by a single FileChangeNotification. AffectedRoutes is null for a wildcard (consumers drop their full cache), empty for no impact, and populated for per-route eviction.
Parameters
AffectedRoutesImmutableArray<ContentRoute>?- Routes that need re-rendering, or
nullto signal a wildcard.
Methods
Routes
#public static ContentChangeImpact Routes(ImmutableArray<ContentRoute> routes)
Affects the given routes; consumers evict per-route.
Parameters
routesImmutableArray<ContentRoute>
Returns
ContentChangeImpactPennington.Content.ContentChangeImpact
namespace Pennington.Content;
/// What an IContentService reports as affected by a single FileChangeNotification. AffectedRoutes is null for a wildcard (consumers drop their full cache), empty for no impact, and populated for per-route eviction.
public record ContentChangeImpact
{
/// Routes that need re-rendering, or null to signal a wildcard.
public ImmutableArray<ContentRoute>? AffectedRoutes { get; set; }
/// What an IContentService reports as affected by a single FileChangeNotification. AffectedRoutes is null for a wildcard (consumers drop their full cache), empty for no impact, and populated for per-route eviction.
public ContentChangeImpact(ImmutableArray<ContentRoute>? AffectedRoutes)
;
/// No routes affected — the change is outside this service's scope.
public static ContentChangeImpact None { get; }
/// Affects the given routes; consumers evict per-route.
public static ContentChangeImpact Routes(ImmutableArray<ContentRoute> routes)
;
/// Affects an unknown / unbounded set of routes; consumers should drop their full cache.
public static ContentChangeImpact Wildcard { get; }
}