JevDSL.Question (jev_dsl v0.1.0)

Copy Markdown View Source

Typed representation of a single compiled question (:noul, :choice, or :score) within a JevDSL.Contract.

Summary

Types

criteria_key()

@type criteria_key() :: atom() | String.t() | boolean()

criteria_type()

@type criteria_type() ::
  %{optional(criteria_key()) => term()} | [{criteria_key(), term()}]

question_key()

@type question_key() :: atom() | String.t()

question_type()

@type question_type() :: :noul | :choice | :score

t()

@type t() :: %JevDSL.Question{
  criteria: criteria_type(),
  instructions: term(),
  name: question_key(),
  type: question_type()
}