Describes the reason that a flag evaluation produced a particular value. This is part of the LDEvaluationDetail object returned by LDClient.variationDetail.

interface LDEvaluationReason {
    errorKind?: string;
    inExperiment?: boolean;
    kind: string;
    prerequisiteKey?: string;
    ruleId?: string;
    ruleIndex?: number;
}

Properties

errorKind?: string

A further description of the error condition, if the kind was 'ERROR'.

inExperiment?: boolean

Whether the evaluation was part of an experiment.

This is true if the evaluation resulted in an experiment rollout and served one of the variations in the experiment. Otherwise it is false or undefined.

kind: string

The general category of the reason:

  • 'OFF': The flag was off and therefore returned its configured off value.
  • 'FALLTHROUGH': The flag was on but the context did not match any targets or rules.
  • 'TARGET_MATCH': The context key was specifically targeted for this flag.
  • 'RULE_MATCH': the context matched one of the flag's rules.
  • 'PREREQUISITE_FAILED': The flag was considered off because it had at least one prerequisite flag that either was off or did not return the desired variation.
  • 'ERROR': The flag could not be evaluated, e.g. because it does not exist or due to an unexpected error.
prerequisiteKey?: string

The key of the failed prerequisite flag, if the kind was 'PREREQUISITE_FAILED'.

ruleId?: string

The unique identifier of the matched rule, if the kind was 'RULE_MATCH'.

ruleIndex?: number

The index of the matched rule (0 for the first), if the kind was 'RULE_MATCH'.