UNPKG

featurehub-javascript-client-sdk

Version:
43 lines (42 loc) 2.01 kB
import { EdgeService } from './edge_service'; import { ClientContext } from './client_context'; import { InternalFeatureRepository } from './internal_feature_repository'; import { AnalyticsCollector } from './analytics'; import { FeatureStateValueInterceptor } from './interceptors'; import { FeatureHubRepository, Readyness, ReadynessListener } from './featurehub_repository'; import { FeatureStateHolder } from './feature_state'; export type EdgeServiceProvider = (repository: InternalFeatureRepository, config: FeatureHubConfig) => EdgeService; export type EdgeServiceSupplier = () => EdgeService; export type FHLogMethod = (...args: any[]) => void; export type ReadinessListenerHandle = number; export type CatchReleaseListenerHandler = number; export declare class FHLog { static fhLog: FHLog; log: FHLogMethod; error: FHLogMethod; trace: FHLogMethod; quiet(): void; } export declare const fhLog: FHLog; export interface FeatureHubConfig { readyness: Readyness; readiness: Readyness; feature<T = any>(name: string): FeatureStateHolder<T>; url(): string; repository(repository?: FeatureHubRepository): FeatureHubRepository; edgeServiceProvider(edgeService?: EdgeServiceProvider): EdgeServiceProvider; newContext(repository?: FeatureHubRepository, edgeService?: EdgeServiceProvider): ClientContext; clientEvaluated(): boolean; apiKey(apiKey: string): FeatureHubConfig; getApiKeys(): Array<string>; getHost(): string; init(): FeatureHubConfig; close(): void; get closed(): boolean; get initialized(): boolean; addReadynessListener(listener: ReadynessListener): ReadinessListenerHandle; addReadinessListener(listener: ReadynessListener, ignoreNotReadyOnRegister?: boolean): ReadinessListenerHandle; removeReadinessListener(handle: ReadynessListener | ReadinessListenerHandle): any; addAnalyticCollector(collector: AnalyticsCollector): void; addValueInterceptor(interceptor: FeatureStateValueInterceptor): void; }