ArtifactClaimShape
Pennington.Artifacts
Union of the URL-territory shapes an ArtifactClaim can declare.
Cases
ExactClaimExactClaim- Matches exactly one request path.
PrefixClaimPrefixClaim- Matches any request path under
Prefix, optionally narrowed to paths ending withSuffix(e.g./search/+.json). SuffixClaimSuffixClaim- Matches any request path ending with
Suffixat any depth — the mid-path catch-all no endpoint route template can express (e.g./reference/api/llms.txtvia/llms.txt). A path that is nothing but the suffix does not match, so a root file like/llms.txtstays claimable by anExactClaim.
Properties
Valueobject- Wrapped case instance; inspect via pattern matching on the case types.
Constructors
ArtifactClaimShape
#public ArtifactClaimShape(PrefixClaim value)
Wraps a PrefixClaim.
Parameters
valuePrefixClaim
ArtifactClaimShape
#public ArtifactClaimShape(SuffixClaim value)
Wraps a SuffixClaim.
Parameters
valueSuffixClaim
ArtifactClaimShape
#public ArtifactClaimShape(ExactClaim value)
Wraps an ExactClaim.
Parameters
valueExactClaim
Pennington.Artifacts.ArtifactClaimShape
namespace Pennington.Artifacts;
/// Union of the URL-territory shapes an ArtifactClaim can declare.
public struct ArtifactClaimShape
{
/// Wraps a PrefixClaim.
public ArtifactClaimShape(PrefixClaim value)
;
/// Wraps a SuffixClaim.
public ArtifactClaimShape(SuffixClaim value)
;
/// Wraps an ExactClaim.
public ArtifactClaimShape(ExactClaim value)
;
/// Matches exactly one request path.
public record ExactClaim(UrlPath Path) : object, IEquatable<ExactClaim>
/// Matches any request path under Prefix, optionally narrowed to paths ending with Suffix (e.g. /search/ + .json).
public record PrefixClaim(UrlPath Prefix, string Suffix = null) : object, IEquatable<PrefixClaim>
/// Matches any request path ending with Suffix at any depth — the mid-path catch-all no endpoint route template can express (e.g. /reference/api/llms.txt via /llms.txt). A path that is nothing but the suffix does not match, so a root file like /llms.txt stays claimable by an ExactClaim.
public record SuffixClaim(string Suffix) : object, IEquatable<SuffixClaim>
/// Wrapped case instance; inspect via pattern matching on the case types.
public object Value { get; }
}