A resolved non-mutating extension module and its per-instance options.
A bare module in :extensions resolves with empty options. A {module, opts} entry carries configuration to Mutare.UseExpansion.expand_use/3 through context.opts. Mutare.CallRouting callbacks never receive these options.
Summary
Functions
Resolve one :extensions entry to a spec. Capability validation is performed by
Mutare.Extension.validate!/1.
Types
Functions
Resolve one :extensions entry to a spec. Capability validation is performed by
Mutare.Extension.validate!/1.
Examples
iex> Mutare.Extension.Spec.new(Enum)
%Mutare.Extension.Spec{module: Enum, opts: []}
iex> Mutare.Extension.Spec.new({Enum, [domain: "errors"]}).opts
[domain: "errors"]