Skip to content
Français

DecisionAnswer

import type { DecisionAnswer } from "@elie-laloum/outpost";

Answer type selected by the question primitive; choice values are inferred from its declared criteria keys.

Complete example and detailed rules.

export type DecisionAnswer<Q extends DecisionQuestion> =
  Q extends ChoiceQuestion
    ? ChoiceAnswer<`${Extract<keyof Q["criteria"], string | number>}`>
    : Q extends ScoreQuestion
      ? ScoreAnswer
      : NoulAnswer;