Documentation ¶
Index ¶
- Constants
- type Config
- type PrefixType
- type Question
- type QuestionType
- type Questionnaire
- func (q *Questionnaire) AddQuestion(question Question)
- func (q *Questionnaire) Answer(choice string) error
- func (q *Questionnaire) Back() (*Question, int)
- func (q *Questionnaire) Choice(index int) string
- func (q *Questionnaire) Completed() bool
- func (q *Questionnaire) Init()
- func (q *Questionnaire) IntToPrefix(i int) string
- func (q *Questionnaire) Next() (*Question, int)
- func (q *Questionnaire) PrefixToInt(prefix string) (int, error)
- type Questionnaires
- type Questions
- type Service
Constants ¶
View Source
const ( ErrTooManyChoices = "too many choices" ErrInvalidChoice = "invalid choice" ErrNoQuestionSelected = "no question selected" )
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Config ¶
type Config struct { PrefixType PrefixType DataPath string }
type PrefixType ¶
type PrefixType string
const ( Alpha PrefixType = "alpha" Numeric PrefixType = "numeric" )
type Question ¶
type Question struct { Text string Choices []string Type QuestionType Skippable bool Answered []int }
func NewQuestion ¶
func NewQuestion(text string, choices []string, questionType QuestionType, skippable bool) *Question
func (*Question) MultipleChoice ¶
func (*Question) SelectAnswer ¶
type QuestionType ¶
type QuestionType string
const ( SingleChoice QuestionType = "single-choice" OpenQuestion QuestionType = "open" MultipleChoiceQuestion QuestionType = "multiple-choice" )
type Questionnaire ¶
type Questionnaire struct { Title string Closing string Questions Questions `toml:"question"` PrefixType PrefixType // contains filtered or unexported fields }
func NewQuestionnaire ¶
func NewQuestionnaire(questions Questions) *Questionnaire
func (*Questionnaire) AddQuestion ¶
func (q *Questionnaire) AddQuestion(question Question)
func (*Questionnaire) Answer ¶
func (q *Questionnaire) Answer(choice string) error
func (*Questionnaire) Back ¶
func (q *Questionnaire) Back() (*Question, int)
func (*Questionnaire) Choice ¶
func (q *Questionnaire) Choice(index int) string
func (*Questionnaire) Completed ¶
func (q *Questionnaire) Completed() bool
func (*Questionnaire) Init ¶
func (q *Questionnaire) Init()
func (*Questionnaire) IntToPrefix ¶
func (q *Questionnaire) IntToPrefix(i int) string
func (*Questionnaire) Next ¶
func (q *Questionnaire) Next() (*Question, int)
func (*Questionnaire) PrefixToInt ¶
func (q *Questionnaire) PrefixToInt(prefix string) (int, error)
type Questionnaires ¶
type Questionnaires []*Questionnaire
func LoadQuestionnaires ¶
func LoadQuestionnaires(tomlData string) (Questionnaires, error)
func (Questionnaires) AvailableQuestionnaires ¶
func (q Questionnaires) AvailableQuestionnaires() string
type Service ¶
type Service struct { PrefixType PrefixType Questionnaires Questionnaires }
func NewService ¶
Click to show internal directories.
Click to hide internal directories.