StatifierUI.Trace.Projection.Profile (StatifierUI v0.4.0)

Copy Markdown View Source

A named projection profile: the two allowlists plus allow_source.

Built through StatifierUI.Trace.Projection.profile/2, which validates the shapes rather than letting a malformed allowlist silently allow or deny more than the host meant. Profiles are a producer input; where a host stores them and how it picks one per tenant is host business.

Summary

Types

An unlocated value position, from the closed set StatifierUI.Trace.Projection.positions/0 returns.

One segment of a datamodel location path: an object key or an array index.

t()

Types

position()

@type position() ::
  :event_data
  | :log_value
  | :send_data
  | :invoke_params
  | :invoke_content
  | :donedata

An unlocated value position, from the closed set StatifierUI.Trace.Projection.positions/0 returns.

segment()

@type segment() :: String.t() | integer()

One segment of a datamodel location path: an object key or an array index.

t()

@type t() :: %StatifierUI.Trace.Projection.Profile{
  allow_paths: [[segment()]],
  allow_positions: MapSet.t(position()),
  allow_source: boolean(),
  name: String.t()
}