DocShell.Presentation.Renderer.CapabilityRequirement (DocShell v0.5.0)

Copy Markdown View Source

States what a page needs from a renderer for one portable feature.

Essential requirements must match a renderer capability. A nonessential requirement may fall back only when fallback_digest still identifies the exact projected feature and page content. This makes degradation explicit and guards against a renderer claiming support after silently dropping content.

Summary

Types

t()

A normalized page capability requirement.

Functions

Validates a page capability requirement.

Types

t()

@type t() :: %DocShell.Presentation.Renderer.CapabilityRequirement{
  acceptable_states: [:fallback | :enhanced | :connected],
  essential?: boolean(),
  fallback_digest: String.t() | nil,
  feature_id: String.t()
}

A normalized page capability requirement.

Functions

validate(requirement)

@spec validate(t()) :: :ok | {:error, term()}

Validates a page capability requirement.