Typed helpers for the public composition result envelope.
The result stays plain data so host apps can inspect or log what composition
applied before they hand the final {text, keyword_opts} into
Scrypath.search/3.
Summary
Types
Stable public plain-data result returned by Scrypath.Composition.compose/2.
Criteria vocabulary keyed the same way as Scrypath.search/3 options.
Types
@type t() :: %{ :text => String.t(), :filter => keyword(), :sort => keyword(), :page => keyword(), :facets => [atom()], :facet_filter => keyword(), :per_query => map(), :applied => visibility(), :defaulted => visibility(), :fixed => visibility(), optional(:sources) => map(), optional(:warnings) => map() }
Stable public plain-data result returned by Scrypath.Composition.compose/2.
@type visibility() :: %{ optional(:text) => String.t(), optional(:filter) => keyword(), optional(:sort) => keyword(), optional(:page) => keyword(), optional(:facets) => [atom()], optional(:facet_filter) => keyword(), optional(:per_query) => map() }
Criteria vocabulary keyed the same way as Scrypath.search/3 options.
Functions
@spec compact_visibility(map()) :: visibility()
@spec criteria_keys() :: [atom()]
@spec empty_criteria() :: visibility()