UNPKG

@livingroot/yandex-metrica-ab-react

Version:
36 lines (35 loc) 1 kB
export interface ExpjsAnswer { flags: Record<string, string[] | undefined>; i?: string; experiments?: string; testids?: number[]; } export interface Config { nonce?: string; enableVisual: boolean; enableHTML: boolean; enableJS: boolean; enableRedir: boolean; enableWatch: boolean; storeRedirParam: boolean | 'localstorage' | 'cookie' | 'get'; metrikaTimeout: number; } export interface Answer extends ExpjsAnswer { ready: true; } export interface NoAnswer { flags: Record<string, undefined>; i?: undefined; experiments?: undefined; testids?: undefined; ready: false; } export interface AnswerNamed<T> extends Omit<Answer, 'flags'> { flags: Partial<Record<keyof T, string[]>>; ready: true; } export interface NoAnswerNamed<T> extends Omit<NoAnswer, 'flags'> { flags: Partial<Record<keyof T, undefined>>; } export type ReturnType = Answer | NoAnswer; export type NamedReturnType<T> = AnswerNamed<T> | NoAnswerNamed<T>;