@flagship.io/js-sdk
Version:
44 lines (43 loc) • 2.04 kB
TypeScript
import { primitive, IHit, FlagDTO, IFSFlagMetadata, CampaignDTO } from '../types';
import { StrategyAbstract } from './StrategyAbstract';
import { VisitorDelegate } from './index';
import { GetFlagMetadataParam, GetFlagValueParam, VisitorExposedParam } from '../type.local';
import { HitAbstract } from '../hit/HitAbstract';
export declare const TYPE_HIT_REQUIRED_ERROR = "property type is required and must ";
export declare const HIT_NULL_ERROR = "Hit must not be null";
export declare class DefaultStrategy extends StrategyAbstract {
private checkPredefinedContext;
private updateContextKeyValue;
private checkAndUpdateContext;
updateContext(key: string, value: primitive): void;
updateContext(context: Record<string, primitive>): void;
clearContext(): void;
private isDeDuplicated;
protected sendActivate(flagDto: FlagDTO, defaultValue?: unknown): Promise<void>;
sendHit(hit: HitAbstract): Promise<void>;
sendHit(hit: IHit): Promise<void>;
sendHits(hits: HitAbstract[]): Promise<void>;
sendHits(hits: IHit[]): Promise<void>;
private getHit;
private isHitAbstract;
private prepareAndSendHit;
authenticate(visitorId: string): void;
unauthenticate(): void;
handleFetchFlagsError(error: unknown, now: number, campaigns: CampaignDTO[] | null): void;
getCampaigns(now: number): Promise<{
campaigns: CampaignDTO[] | null;
error?: string;
isFetching?: boolean;
isBuffered?: boolean;
}>;
protected fetchCampaignsFromCache(visitor: VisitorDelegate): CampaignDTO[] | null;
handleNoCampaigns(now: number): CampaignDTO[] | null;
sendVisitorAllocatedVariations(): void;
private extractFlags;
fetchFlags(): Promise<void>;
visitorExposed(param: VisitorExposedParam): Promise<void>;
private sendFlagTroubleshooting;
getFlagValue<T>(param: GetFlagValueParam<T>): T extends null ? unknown : T;
private SendFlagMetadataTroubleshooting;
getFlagMetadata(param: GetFlagMetadataParam): IFSFlagMetadata;
}