UNPKG

@splitsoftware/splitio-react

Version:

A React library to easily integrate and use Split JS SDK

34 lines (33 loc) 1.69 kB
import { ISplitStatus } from './types'; /** * ClientWithContext interface. */ interface IClientWithContext extends SplitIO.IBrowserClient { __getStatus(): { isReady: boolean; isReadyFromCache: boolean; isTimedout: boolean; hasTimedout: boolean; isDestroyed: boolean; isOperational: boolean; lastUpdate: number; }; } export interface IFactoryWithLazyInit extends SplitIO.IBrowserSDK { config: SplitIO.IBrowserSettings; init(): void; } export declare function getSplitClient(factory: SplitIO.IBrowserSDK, key?: SplitIO.SplitKey): IClientWithContext; export declare function getStatus(client?: SplitIO.IBrowserClient): ISplitStatus; /** * Manage client attributes binding */ export declare function initAttributes(client?: SplitIO.IBrowserClient, attributes?: SplitIO.Attributes): void; export declare function getControlTreatmentsWithConfig(featureFlagNames: unknown): SplitIO.TreatmentsWithConfig; /** * Gets a memoized version of the `client.getTreatmentsWithConfig` method. * It is used to avoid duplicated impressions, because the result treatments are the same given the same `client` instance, `lastUpdate` timestamp, and list of feature flag `names` and `attributes`. */ export declare function memoizeGetTreatmentsWithConfig(): typeof evaluateFeatureFlags; declare function evaluateFeatureFlags(client: SplitIO.IBrowserClient | undefined, _lastUpdate: number, names?: SplitIO.SplitNames, attributes?: SplitIO.Attributes, _clientAttributes?: SplitIO.Attributes, flagSets?: string[], options?: SplitIO.EvaluationOptions): import("@splitsoftware/splitio-commons/types/splitio").TreatmentsWithConfig; export {};