flagmint-js-sdk 1.2.19 → 1.2.21

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/dist/index.d.ts CHANGED
@@ -6,7 +6,8 @@ export * as asyncCache from './sdk/core/helpers/cacheHelper.async';
6
6
  export type { Transport } from './sdk/core/transports/Transport';
7
7
  export { LongPollingTransport } from './sdk/core/transports/LongPollingTransport';
8
8
  export { WebSocketTransport } from './sdk/core/transports/WebsocketTransport';
9
- export type { FlagValue, EvaluationContext, Segment, Rollout, VariantRollout } from './sdk/core/evaluation/types';
9
+ export type { FlagValue, EvaluationContext, Segment, Rollout, VariantRollout, VariantOption } from './sdk/core/evaluation/types';
10
10
  export { evaluateFlagValue } from './sdk/core/evaluation/evaluateFlagValue';
11
11
  export { evaluateRollout } from './sdk/core/evaluation/evaluateRollout';
12
+ export { isInSegment } from './sdk/core/evaluation/isInSegment';
12
13
  export * from './sdk/core/evaluation/rolloutUtils';
@@ -86,6 +86,8 @@ export declare class FlagClient<T = unknown, C extends Record<string, any> = Rec
86
86
  destroy(): void;
87
87
  /**
88
88
  * Wait for the client to be ready.
89
+ * Resolves when: flags are available AND initialization succeeded.
90
+ * Rejects if: initialization/connection fails (even if cached flags exist).
89
91
  */
90
92
  ready(timeoutMs?: number): Promise<void>;
91
93
  /**
@@ -1,3 +1,3 @@
1
- import type { VariantRollout } from './types';
1
+ import type { VariantOption } from './types';
2
2
  export declare function hashToPercentage(value: string): number;
3
- export declare function pickVariant(value: string, rollout: VariantRollout): string | number | boolean | null;
3
+ export declare function pickVariant(value: string, variants: VariantOption[]): string | number | boolean | null;
@@ -24,7 +24,9 @@ export interface VariantRollout {
24
24
  salt: string;
25
25
  variants: VariantOption[];
26
26
  }
27
- export type EmptyRollout = Record<string, any>;
27
+ export interface EmptyRollout {
28
+ strategy?: never;
29
+ }
28
30
  export type Rollout = PercentageRollout | VariantRollout | EmptyRollout;
29
31
  export interface FlagValue<T = unknown> {
30
32
  key?: string;
@@ -0,0 +1 @@
1
+ export declare function ensureContextSource<C>(context: C): C;
@@ -0,0 +1,11 @@
1
+ /**
2
+ * Environment-aware logger that respects production restrictions
3
+ */
4
+ export declare const logger: {
5
+ log: (message: string, ...args: any[]) => void;
6
+ error: (message: string, ...args: any[]) => void;
7
+ warn: (message: string, ...args: any[]) => void;
8
+ info: (message: string, ...args: any[]) => void;
9
+ debug: (message: string, ...args: any[]) => void;
10
+ };
11
+ export default logger;
@@ -11,6 +11,7 @@ export declare class WebSocketTransport<C, T> implements Transport<C, T> {
11
11
  private isReady;
12
12
  private initialFlagsReceived;
13
13
  private initialFlagsPromise;
14
+ private initialFlagsResolve;
14
15
  private onFlagsUpdatedCallback?;
15
16
  private onConnectionStateCallback?;
16
17
  private retries;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "flagmint-js-sdk",
3
- "version": "1.2.19",
3
+ "version": "1.2.21",
4
4
  "description": "Framework-agnostic JavaScript SDK for managing feature flags in Flagmint applications.",
5
5
  "author": "Flagmint Team",
6
6
  "license": "MIT",
@@ -42,7 +42,9 @@
42
42
  "vite-plugin-dts": "^2.0.0"
43
43
  },
44
44
  "dependencies": {
45
- "buffer": "^6.0.3",
45
+ "buffer": "^6.0.3"
46
+ },
47
+ "optionalDependencies": {
46
48
  "ws": "^8.0.0"
47
49
  }
48
50
  }