@flagship.io/js-sdk
Version:
42 lines (41 loc) • 1.9 kB
TypeScript
import { IDecisionManager } from './IDecisionManager';
import { IFlagshipConfig } from '../config/index';
import { IHttpClient } from '../utils/HttpClient';
import { VisitorAbstract } from '../visitor/VisitorAbstract';
import { FSSdkStatus } from '../enum/index';
import { CampaignDTO, FlagDTO, TroubleshootingData } from '../types';
import { ITrackingManager } from '../api/ITrackingManager';
type ConstructorParam = {
httpClient: IHttpClient;
config: IFlagshipConfig;
trackingManager: ITrackingManager;
flagshipInstanceId?: string;
};
export declare abstract class DecisionManager implements IDecisionManager {
protected _config: IFlagshipConfig;
protected _panic: boolean;
protected _httpClient: IHttpClient;
private _statusChangedCallback;
private _troubleshooting?;
protected _lastBucketingTimestamp?: string;
private _trackingManager;
private _flagshipInstanceId;
get trackingManager(): ITrackingManager;
set trackingManager(v: ITrackingManager);
get flagshipInstanceId(): string;
set flagshipInstanceId(v: string);
get lastBucketingTimestamp(): string | undefined;
get troubleshooting(): TroubleshootingData | undefined;
set troubleshooting(v: TroubleshootingData | undefined);
get config(): IFlagshipConfig;
protected set panic(v: boolean);
statusChangedCallback(v: (status: FSSdkStatus) => void): void;
constructor({ httpClient, config, trackingManager, flagshipInstanceId }: ConstructorParam);
protected updateFlagshipStatus(v: FSSdkStatus): void;
getModifications(campaigns: Array<CampaignDTO>): Map<string, FlagDTO>;
abstract getCampaignsAsync(visitor: VisitorAbstract): Promise<CampaignDTO[] | null>;
isPanic(): boolean;
private handleTroubleshootingError;
protected getDecisionApiCampaignsAsync(visitor: VisitorAbstract): Promise<CampaignDTO[] | null>;
}
export {};