@benshi.ai/js-sdk
Version:
Benshi SDK
31 lines (30 loc) • 1.31 kB
TypeScript
import { EventTeaser } from '../core/typings';
import BsSender from './BsSender';
import { ContentBlock } from '../modules/Navigation/typings';
export default class BsCore {
private static instance;
private deviceId;
private searchId;
private sender;
private impressionDetectorClass;
private impressionsDetectors;
private defaultBlock;
private debug;
private currentBlock;
private user_id;
private constructor();
static createInstance(sender: BsSender, impressionDetectorClass: any, debugging: boolean, defaultBlock: ContentBlock, deviceId: string): BsCore;
static getInstance(): BsCore;
login(userId: string): void;
logout(userId: string): void;
private resolveModule;
private resolveUserId;
trackEvent(eventTeaser: EventTeaser, moduleName: ContentBlock, overWrittedUserId: string, sendNow: boolean): Promise<void>;
startTrackingImpressions(impressionHandler: any, containerClassname: any, itemClassname: any, searchId: any): void;
stopTrackingImpressions(containerClassname: any): void;
restartTrackingImpressions(containerClassname: any, searchId: any): void;
whoami(): string;
generateSearchId(isNewSearch: boolean): string;
setCurrentBlock(block: ContentBlock): void;
setTitle(title: string): void;
}