typescript-yandex-metrica
Version:
Yandex Metrica async typescript Implementation
59 lines (58 loc) • 1.97 kB
TypeScript
export declare class Metrika {
private _metricaInsert?;
private _counter;
private readonly counterConfig;
constructor(id: number, clickmap?: boolean, trackLinks?: boolean, accurateTrackBounce?: boolean, webvisor?: boolean, trackHash?: boolean, defer?: boolean, initCounterAfterInitialize?: boolean);
getCounter(): Promise<YandexMetrika>;
getClientID(): Promise<string>;
setUserID(userId: string): Promise<void>;
userParams(params: any): Promise<void>;
params(params: any): Promise<void>;
fireEvent(type: string, options?: CommonOptions): Promise<void>;
hit(url: string, options?: HitOptions): Promise<any>;
}
export interface YandexCounterConfig {
id: number;
defer: boolean;
clickmap?: boolean;
trackLinks?: boolean;
accurateTrackBounce?: boolean | number;
webvisor?: boolean;
trackHash?: boolean;
ut?: string;
triggerEvent: boolean;
}
export interface CallbackOptions {
callback?: () => any;
ctx?: any;
}
export interface CommonOptions extends CallbackOptions {
params?: any;
title?: any;
}
export interface HitOptions extends CommonOptions {
referer?: string;
callback?: () => void;
title?: string;
}
export interface ExtLinkOptions {
callback?: () => void;
title?: string;
ctx?: any;
referer?: any;
params?: {
order_price: number;
currency: string;
};
}
export interface YandexMetrika {
reachGoal: (target: string, params?: any, callback?: () => void, ctx?: any) => void;
addFileExtension: (extensions: string | string[]) => void;
extLink: (url: string, options?: ExtLinkOptions) => void;
getClientID: () => string;
setUserID: (userId: string) => void;
notBounce: (options: CallbackOptions) => string;
userParams: (parameters: any) => void;
replacePhones: () => void;
hit: (url: string, options?: ExtLinkOptions) => void;
}