@launchdarkly/observability + @launchdarkly/session-replay
    Preparing search index...

    Type Alias Hook

    Hook: Omit<LDHook, "afterEvaluation"> & {
        afterEvaluation(
            hookContext: EvaluationSeriesContext,
            data: EvaluationSeriesData,
            detail: {
                reason?: LDEvaluationReason | null;
                value: LDFlagValue;
                variationIndex?: number | null;
            },
        ): EvaluationSeriesData;
    }

    Interface for extending SDK functionality via hooks.

    Type declaration

    • afterEvaluation?: function
      • This method is called during the execution of the variation method after the flag value has been determined. The method is executed synchronously.

        Parameters

        • hookContext: EvaluationSeriesContext

          Contains read-only information about the evaluation being performed.

        • data: EvaluationSeriesData

          A record associated with each stage of hook invocations. Each stage is called with the data of the previous stage for a series.

        • detail: {
              reason?: LDEvaluationReason | null;
              value: LDFlagValue;
              variationIndex?: number | null;
          }

          The result of the evaluation. This value should not be modified.

          • Optionalreason?: LDEvaluationReason | null

            An object describing the main factor that influenced the flag evaluation value.

          • value: LDFlagValue

            The result of the flag evaluation. This will be either one of the flag's variations or the default value that was passed to LDClient.variationDetail.

          • OptionalvariationIndex?: number | null

            The index of the returned value within the flag's list of variations, e.g. 0 for the first variation-- or null if the default value was returned.

        Returns EvaluationSeriesData

        Data to use when executing the next state of the hook in the evaluation series. It is recommended to expand the previous input into the return. This helps ensure your stage remains compatible moving forward as more stages are added.

        return {...data, "my-new-field": /*my data/*}