featurehub-javascript-client-sdk
Version:
FeatureHub client/browser SDK
48 lines (47 loc) • 2.1 kB
TypeScript
import { InternalFeatureRepository } from './internal_feature_repository';
import { AnalyticsCollector } from './analytics';
import { FeatureStateValueInterceptor } from './interceptors';
import { ClientContext } from './client_context';
import { EdgeServiceProvider, FeatureHubConfig } from './feature_hub_config';
import { Readyness, ReadynessListener } from './featurehub_repository';
import { FeatureStateHolder } from './feature_state';
export declare class EdgeFeatureHubConfig implements FeatureHubConfig {
private _host;
private _apiKey;
private _apiKeys;
private _clientEval;
private _originalUrl;
private _url;
private _repository;
private _edgeService;
private _edgeServices;
private _clientContext;
private _initialized;
static defaultEdgeServiceSupplier: EdgeServiceProvider;
private static _singleton;
static config(url: string, apiKey: string): EdgeFeatureHubConfig;
constructor(host: string, apiKey: string);
addReadynessListener(listener: ReadynessListener): number;
addAnalyticCollector(collector: AnalyticsCollector): void;
addValueInterceptor(interceptor: FeatureStateValueInterceptor): void;
get readyness(): Readyness;
get readiness(): Readyness;
feature<T = any>(name: string): FeatureStateHolder<T>;
apiKey(apiKey: string): FeatureHubConfig;
clientEvaluated(): boolean;
getApiKeys(): string[];
getHost(): string;
newContext(repository?: InternalFeatureRepository, edgeService?: EdgeServiceProvider): ClientContext;
private getOrCreateEdgeService;
private createEdgeService;
close(): void;
forceClose(): void;
get closed(): boolean;
get initialized(): boolean;
init(): FeatureHubConfig;
edgeServiceProvider(edgeServ?: EdgeServiceProvider): EdgeServiceProvider;
repository(repository?: InternalFeatureRepository): InternalFeatureRepository;
url(): string;
addReadinessListener(listener: ReadynessListener, ignoreNotReadyOnRegister?: boolean): number;
removeReadinessListener(listener: ReadynessListener | number): void;
}