launchdarkly / js-sdk-common

Code shared between all LaunchDarkly client-side JS-based SDKs
Other
3 stars 24 forks source link

Adding missing type definitions "inExperiment" #91

Open nethan-freely opened 1 year ago

nethan-freely commented 1 year ago

Hi! 👋

Firstly, thanks for your work on this project! 🙂

Today I used patch-package to patch launchdarkly-js-sdk-common@5.0.2 for the project I'm working on.

We're using the result of inExperiment from LDEvaluationReason so we're patching it locally as it's not in the type definitions https://docs.launchdarkly.com/sdk/concepts/evaluation-reasons

Here is the diff that solved my problem:

diff --git a/node_modules/launchdarkly-js-sdk-common/typings.d.ts b/node_modules/launchdarkly-js-sdk-common/typings.d.ts
index a3bd0d5..5fbdabb 100644
--- a/node_modules/launchdarkly-js-sdk-common/typings.d.ts
+++ b/node_modules/launchdarkly-js-sdk-common/typings.d.ts
@@ -589,6 +589,13 @@ declare module 'launchdarkly-js-sdk-common' {
      * The key of the failed prerequisite flag, if the kind was `'PREREQUISITE_FAILED'`.
      */
     prerequisiteKey?: string;
+
+    /**
+     *  inExperiment is an optional attribute on the reason object that indicates whether the context was evaluated as part of an experiment:
+     *  If inExperiment is true, LaunchDarkly includes the event in experimentation analysis
+     *  If inExperiment is false, LaunchDarkly does not include this attribute in the reason object
+     */
+    inExperiment?: boolean;
   }

   /**

This issue body was partially generated by patch-package.

kinyoklion commented 1 year ago

Hello @nethan-freely,

Thank you for reaching out. We will be including this in the type definitions in a future version.

Thank you, Ryan