@kameleoon/javascript-sdk-core
Version:
Kameleoon JS SDK Core
37 lines (36 loc) • 2 kB
TypeScript
import { TargetingDataType } from '../targeting';
import { DereferenceTargetingDataResultType, MutAddUnsentDataType, MutUpdateDataParametersType, ReferenceParametersType } from './types';
import { DataInfoType } from '../storage';
import { ExternalPackageInfoType } from '../sdkInfoTypes';
interface IDataProcessor {
mutUpdateData({ visitorCode, mutData, dataItem, }: MutUpdateDataParametersType): number;
mutCleanupData(mutData: TargetingDataType, infoData: DataInfoType): number | null;
createReference({ mutData, visitorCode, linkedVisitor, infoData, }: ReferenceParametersType): void;
dereferenceData(data: TargetingDataType, visitorCode: string): DereferenceTargetingDataResultType;
mutAddUnsentData({ mutData, visitorCode, dataType, }: MutAddUnsentDataType): void;
}
export declare class DataProcessor implements IDataProcessor {
private cleanupInterval;
private packageInfo;
constructor(cleanupInterval: number | null | undefined, packageInfo: ExternalPackageInfoType);
mutUpdateData({ infoData, visitorCode, mutData, dataItem, }: MutUpdateDataParametersType): number;
mutCleanupData(mutData: TargetingDataType, infoData: DataInfoType): number | null;
mutAddUnsentData({ mutData, visitorCode, dataType, }: MutAddUnsentDataType): void;
createReference({ mutData, visitorCode, linkedVisitor, }: ReferenceParametersType): void;
removeReference({ mutData, visitorCode, linkedVisitor, infoData, }: ReferenceParametersType): void;
private updatePageView;
private updateCustomData;
private updateConversion;
private updateVisitsData;
private updatePersonalization;
private updateTargetedSegment;
private updateCommonData;
dereferenceData(data: TargetingDataType, visitorCode: string): DereferenceTargetingDataResultType;
private deleteExpiredField;
private deleteNestedExpiredField;
private updateField;
private createField;
private updateNestedField;
private createNestedField;
}
export {};