@leancodepl/feature-flags-react-client 9.2.0 → 9.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/index.cjs.js CHANGED
@@ -7,22 +7,24 @@ var webSdk = require('@openfeature/web-sdk');
7
7
  * Creates React hooks for type-safe feature flag management using OpenFeature.
8
8
  *
9
9
  * Sets up OpenFeature provider and returns typed hooks for feature flag evaluation.
10
- * Provides React context provider and hook for accessing feature flags in components.
10
+ * Provides React context provider, hook for accessing feature flags in components
11
+ * and a function to set the feature flags context.
11
12
  *
12
13
  * @param flags - Feature flags configuration object with default values
13
14
  * @param provider - OpenFeature provider instance
14
- * @returns Object containing `useFeatureFlag` hook and `FeatureFlagsProvider` component
15
+ * @returns Object containing `useFeatureFlag` hook, `FeatureFlagsProvider` component and `setFeatureFlagsContext` function
15
16
  * @example
16
17
  * ```typescript
17
18
  * const flags = { enableFeature: { defaultValue: false } };
18
19
  * const provider = new ConfigCatWebProvider('sdk-key');
19
- * const { useFeatureFlag, FeatureFlagsProvider } = mkFeatureFlags(flags, provider);
20
+ * const { useFeatureFlag, FeatureFlagsProvider, setFeatureFlagsContext } = mkFeatureFlags(flags, provider);
20
21
  * ```
21
22
  */ function mkFeatureFlags(flags, provider) {
22
23
  webSdk.OpenFeature.setProvider(provider);
23
24
  return {
24
25
  useFeatureFlag: (key, defaultValue)=>reactSdk.useFlag(key.toString(), defaultValue != null ? defaultValue : flags[key].defaultValue),
25
- FeatureFlagsProvider: reactSdk.OpenFeatureProvider
26
+ FeatureFlagsProvider: reactSdk.OpenFeatureProvider,
27
+ setFeatureFlagsContext: webSdk.OpenFeature.setContext
26
28
  };
27
29
  }
28
30
 
package/index.esm.js CHANGED
@@ -5,22 +5,24 @@ import { OpenFeature } from '@openfeature/web-sdk';
5
5
  * Creates React hooks for type-safe feature flag management using OpenFeature.
6
6
  *
7
7
  * Sets up OpenFeature provider and returns typed hooks for feature flag evaluation.
8
- * Provides React context provider and hook for accessing feature flags in components.
8
+ * Provides React context provider, hook for accessing feature flags in components
9
+ * and a function to set the feature flags context.
9
10
  *
10
11
  * @param flags - Feature flags configuration object with default values
11
12
  * @param provider - OpenFeature provider instance
12
- * @returns Object containing `useFeatureFlag` hook and `FeatureFlagsProvider` component
13
+ * @returns Object containing `useFeatureFlag` hook, `FeatureFlagsProvider` component and `setFeatureFlagsContext` function
13
14
  * @example
14
15
  * ```typescript
15
16
  * const flags = { enableFeature: { defaultValue: false } };
16
17
  * const provider = new ConfigCatWebProvider('sdk-key');
17
- * const { useFeatureFlag, FeatureFlagsProvider } = mkFeatureFlags(flags, provider);
18
+ * const { useFeatureFlag, FeatureFlagsProvider, setFeatureFlagsContext } = mkFeatureFlags(flags, provider);
18
19
  * ```
19
20
  */ function mkFeatureFlags(flags, provider) {
20
21
  OpenFeature.setProvider(provider);
21
22
  return {
22
23
  useFeatureFlag: (key, defaultValue)=>useFlag(key.toString(), defaultValue != null ? defaultValue : flags[key].defaultValue),
23
- FeatureFlagsProvider: OpenFeatureProvider
24
+ FeatureFlagsProvider: OpenFeatureProvider,
25
+ setFeatureFlagsContext: OpenFeature.setContext
24
26
  };
25
27
  }
26
28
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@leancodepl/feature-flags-react-client",
3
- "version": "9.2.0",
3
+ "version": "9.3.0",
4
4
  "license": "Apache-2.0",
5
5
  "dependencies": {
6
6
  "@openfeature/core": "^1.3.0",
@@ -8,19 +8,24 @@ export type Flags<TKeys extends string = string, TFlag extends FeatureFlagConfig
8
8
  * Creates React hooks for type-safe feature flag management using OpenFeature.
9
9
  *
10
10
  * Sets up OpenFeature provider and returns typed hooks for feature flag evaluation.
11
- * Provides React context provider and hook for accessing feature flags in components.
11
+ * Provides React context provider, hook for accessing feature flags in components
12
+ * and a function to set the feature flags context.
12
13
  *
13
14
  * @param flags - Feature flags configuration object with default values
14
15
  * @param provider - OpenFeature provider instance
15
- * @returns Object containing `useFeatureFlag` hook and `FeatureFlagsProvider` component
16
+ * @returns Object containing `useFeatureFlag` hook, `FeatureFlagsProvider` component and `setFeatureFlagsContext` function
16
17
  * @example
17
18
  * ```typescript
18
19
  * const flags = { enableFeature: { defaultValue: false } };
19
20
  * const provider = new ConfigCatWebProvider('sdk-key');
20
- * const { useFeatureFlag, FeatureFlagsProvider } = mkFeatureFlags(flags, provider);
21
+ * const { useFeatureFlag, FeatureFlagsProvider, setFeatureFlagsContext } = mkFeatureFlags(flags, provider);
21
22
  * ```
22
23
  */
23
24
  export declare function mkFeatureFlags<TFlags extends Flags>(flags: TFlags, provider: Provider): {
24
25
  useFeatureFlag: <TKey extends keyof TFlags>(key: TKey, defaultValue?: TFlags[TKey]["defaultValue"]) => import("@openfeature/react-sdk").FlagQuery<TFlags[TKey]["defaultValue"] extends infer T ? T extends TFlags[TKey]["defaultValue"] ? T extends boolean ? boolean : T extends number ? number : T extends string ? string : T extends import("@openfeature/core").JsonValue ? T : import("@openfeature/core").JsonValue : never : never>;
25
26
  FeatureFlagsProvider: typeof OpenFeatureProvider;
27
+ setFeatureFlagsContext: {
28
+ (context: import("@openfeature/core").EvaluationContext): Promise<void>;
29
+ (domain: string, context: import("@openfeature/core").EvaluationContext): Promise<void>;
30
+ };
26
31
  };