aboutsummaryrefslogtreecommitdiff
path: root/src/types.ts
blob: b6b46b9aa337efc7074049c680008448a3999de3 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
/* ------ Generic ------ */
export interface GRLWidgetSettings {
    targetId: string,
    bpid: string;
    bpuid: string;
    offerwall: string;
    walletMode: boolean;
    panelName: string | null;
    leaderboard: boolean;
}

/* ------ Buckets ------ */

/* ------ Profiling Questions ------ */
export type QuestionType = "MC" | "TE"
export type SelectorType = "SL" | "ML" | "SA" | "MA"

export interface PatternType {
    message: string
    pattern: string
}

export interface ValidationType {
    patterns: PatternType[]
}

export interface ChoiceType {
    order: number;  // 0 index
    choice_id: string;  // string of a number
    choice_text: string

    exclusive?: boolean
    task_count?: number
    task_score?: number
}

export interface ConfigurationType {
    max_length?: number
    max_select?: number
}

export interface ProfilingQuestionType {
    $comment?: string

    choices: ChoiceType[]
    validation: ValidationType
    configuration: ConfigurationType

    country_iso: string
    language_iso: string

    question_id: string
    question_text: string
    question_type: QuestionType

    selector: SelectorType
    task_count?: number
    task_score: number
    p: number

    // Private!
    _complete: boolean
    _processing: boolean
    _answer: string[]
}

export interface AnswerValueItemType {
    value: string
}

export interface AnswerType {
    question_id: string
    values: AnswerValueItemType[]
}