@flagship.io/js-sdk
Version:
44 lines (43 loc) • 1.8 kB
TypeScript
import { EAIConfig } from '../type.local';
import { BucketingDTO } from '../types';
import { ISdkManager } from './ISdkManager';
import { IFlagshipConfig } from '../config/IFlagshipConfig';
import { IHttpClient, IHttpResponse } from '../utils/HttpClient';
import { ITrackingManager } from '../api/ITrackingManager';
type constructorParam = {
httpClient: IHttpClient;
sdkConfig: IFlagshipConfig;
trackingManager: ITrackingManager;
flagshipInstanceId: string;
};
export declare class BucketingSdkManager implements ISdkManager {
protected _httpClient: IHttpClient;
protected _config: IFlagshipConfig;
protected _trackingManager: ITrackingManager;
protected _intervalID?: NodeJS.Timeout;
protected _lastModified: string;
protected _isPooling: boolean;
protected _EAIConfig?: EAIConfig;
protected _bucketingContent?: BucketingDTO;
protected _lastBucketingTimestamp: string;
protected _flagshipInstanceId: string;
constructor({ httpClient, sdkConfig, trackingManager, flagshipInstanceId }: constructorParam);
resetSdk(): void;
getBucketingContent(): BucketingDTO | undefined;
initSdk(): Promise<void>;
getEAIConfig(): EAIConfig | undefined;
protected sendTroubleshooting(headers: Record<string, string>, url: string, response: IHttpResponse | undefined, now: number): void;
protected sendErrorTroubleshooting(headers: Record<string, string>, url: string, error: {
message: string;
headers: Record<string, string>;
statusCode: number;
}, now: number): void;
protected handlePollingResponse(params: {
response: IHttpResponse;
headers: Record<string, string>;
url: string;
now: number;
}): void;
protected fetchBucketingFile(): Promise<void>;
}
export {};