Read-only outcome contract for a proposed graph mutation.
Applied operations are stored as redacted summaries so the struct is safe for host tooling without another serialization step.
Summary
Functions
Builds an outcome from a normalized mutation and outcome attributes.
Converts an outcome to a redacted plain map.
Types
@type operation_summary() :: map()
@type reconciliation() :: :not_required | :required | :completed
@type status() :: :invalid | :duplicate | :applicable
@type t() :: %Squidie.GraphMutation.Preview{ active_node_ids: [String.t()], applied_operations: [operation_summary()], base_version: non_neg_integer(), blocked_node_ids: [String.t()], duplicate?: boolean(), expected_version: non_neg_integer(), mutation_id: String.t(), ready_node_ids: [String.t()], reconciliation: reconciliation(), result_version: non_neg_integer(), status: status(), tombstoned_node_ids: [String.t()], warnings: [atom()] }
Functions
@spec new( Squidie.GraphMutation.t(), keyword() ) :: t()
Builds an outcome from a normalized mutation and outcome attributes.
Converts an outcome to a redacted plain map.