A strategy for selling a product.
Strategy details
@type strategy() :: %{ required(name :: String.t()) => String.t(), required(id :: String.t()) => atom(), required(description :: String.t()) => String.t() } | [name: String.t(), id: atom(), description: String.t()]
@type t() :: %Shared.Data.Strategy{ description: String.t(), id: atom(), name: String.t() }
@spec new(strategy()) :: t()