Scrypath.Composition.Result (scrypath v0.3.7)

Copy Markdown View Source

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

t()

Stable public plain-data result returned by Scrypath.Composition.compose/2.

Criteria vocabulary keyed the same way as Scrypath.search/3 options.

Types

t()

@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.

visibility()

@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

compact_visibility(criteria)

@spec compact_visibility(map()) :: visibility()

criteria_keys()

@spec criteria_keys() :: [atom()]

empty_criteria()

@spec empty_criteria() :: visibility()

new(attrs)

@spec new(map()) :: t()