configcat-js
Version:
ConfigCat is a configuration as a service that lets you manage your features and configurations without actually deploying new code.
46 lines • 3.61 kB
TypeScript
import type { IAutoPollOptions, IConfigCatClient, ILazyLoadingOptions, IManualPollOptions } from "configcat-common";
import { PollingMode } from "configcat-common";
/**
* Returns an instance of `ConfigCatClient` for the specified SDK Key.
* @remarks This method returns a single, shared instance per each distinct SDK Key.
* That is, a new client object is created only when there is none available for the specified SDK Key.
* Otherwise, the already created instance is returned (in which case the `pollingMode` and `options` arguments are ignored).
* So, please keep in mind that when you make multiple calls to this method using the same SDK Key, you may end up with multiple references to the same client object.
* @param sdkKey SDK Key to access the ConfigCat config.
* @param pollingMode The polling mode to use.
* @param options Options for the specified polling mode.
*/
export declare function getClient<TMode extends PollingMode | undefined>(sdkKey: string, pollingMode?: TMode, options?: OptionsForPollingMode<TMode>): IConfigCatClient;
export { disposeAllClients, createConsoleLogger, createFlagOverridesFromMap } from "configcat-common";
/** Options used to configure the ConfigCat SDK in the case of Auto Polling mode. */
export interface IJSAutoPollOptions extends IAutoPollOptions {
}
/** Options used to configure the ConfigCat SDK in the case of Lazy Loading mode. */
export interface IJSLazyLoadingOptions extends ILazyLoadingOptions {
}
/** Options used to configure the ConfigCat SDK in the case of Manual Polling mode. */
export interface IJSManualPollOptions extends IManualPollOptions {
}
export type OptionsForPollingMode<TMode extends PollingMode | undefined> = TMode extends PollingMode.AutoPoll ? IJSAutoPollOptions : TMode extends PollingMode.ManualPoll ? IJSManualPollOptions : TMode extends PollingMode.LazyLoad ? IJSLazyLoadingOptions : TMode extends undefined ? IJSAutoPollOptions : never;
export { PollingMode } from "configcat-common";
export type { IOptions } from "configcat-common";
export type { IAutoPollOptions, IManualPollOptions, ILazyLoadingOptions } from "configcat-common";
export { DataGovernance } from "configcat-common";
export type { IConfigCatLogger } from "configcat-common";
export type { LogEventId, LogMessage } from "configcat-common";
export { LogLevel } from "configcat-common";
export { FormattableLogMessage } from "configcat-common";
export type { IConfigCatCache } from "configcat-common";
export type { IConfig, ISegment, SettingTypeMap, SettingValue, VariationIdValue, ISettingValueContainer, ISettingUnion, ISetting, ITargetingRule, IPercentageOption, ConditionTypeMap, IConditionUnion, ICondition, UserConditionComparisonValueTypeMap, IUserConditionUnion, IUserCondition, IPrerequisiteFlagCondition, ISegmentCondition } from "configcat-common";
export { SettingType, UserComparator, PrerequisiteFlagComparator, SegmentComparator } from "configcat-common";
export type { IConfigCatClient, IConfigCatClientSnapshot } from "configcat-common";
export { SettingKeyValue } from "configcat-common";
export type { IEvaluationDetails, SettingTypeOf } from "configcat-common";
export type { UserAttributeValue } from "configcat-common";
export { User } from "configcat-common";
export type { FlagOverrides } from "configcat-common";
export { OverrideBehaviour } from "configcat-common";
export { ClientCacheState, RefreshResult } from "configcat-common";
export type { IProvidesHooks, HookEvents } from "configcat-common";
export default function (sdkKey: string, options?: IJSAutoPollOptions): IConfigCatClient;
//# sourceMappingURL=index.d.ts.map