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

Hierarchy

  • LDEvaluationReason

Properties

bigSegmentsStatus?: "HEALTHY" | "STALE" | "NOT_CONFIGURED" | "STORE_ERROR"

Describes the validity of Big Segment information, if and only if the flag evaluation required querying at least one Big Segment.

  • 'HEALTHY': The Big Segment query involved in the flag evaluation was successful, and the segment state is considered up to date.
  • 'STALE': The Big Segment query involved in the flag evaluation was successful, but the segment state may not be up to date
  • 'NOT_CONFIGURED': Big Segments could not be queried for the flag evaluation because the SDK configuration did not include a Big Segment store.
  • 'STORE_ERROR': The Big Segment query involved in the flag evaluation failed, for instance due to a database error.
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.
overrideAffected?: boolean

True when an override affected the evaluation, directly or transitively.

This is the case when the evaluated flag came from the SDK's override store, or when a prerequisite flag at any depth or a segment read during the evaluation came from that store. Otherwise it is false or undefined. In the JSON representation of the reason the property is present only when it is true.

Flag overrides are currently experimental and subject to change.

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'.

Generated using TypeDoc