-
Notifications
You must be signed in to change notification settings - Fork 66.9k
Expand file tree
/
Copy pathtypes.ts
More file actions
135 lines (133 loc) · 3.27 KB
/
types.ts
File metadata and controls
135 lines (133 loc) · 3.27 KB
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
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
export enum EventType {
aiSearchResult = 'aiSearchResult',
page = 'page',
exit = 'exit',
keyboard = 'keyboard',
link = 'link',
hover = 'hover',
search = 'search',
searchResult = 'searchResult',
survey = 'survey',
experiment = 'experiment',
preference = 'preference',
clipboard = 'clipboard',
print = 'print',
}
export type EventProps = {
type: EventType
version: string
context: {
event_id: string
user: string
version: string
created: string
page_event_id: string
referrer: string
title?: string
href: string
hostname: string
path: string
search: string
hash: string
path_language: string
path_version: string
path_product?: string
path_article: string
page_document_type: string
page_type: string
status: number
is_logged_in: boolean
dotcom_user: string
is_staff: boolean
os: string
os_version: string
browser: string
browser_version: string
is_headless: boolean
viewport_width?: number
viewport_height?: number
screen_width?: number
screen_height?: number
pixel_ratio?: number
ip?: string
user_agent?: string
timezone: number
user_language: string
os_preference: string
application_preference: string
color_mode_preference: string
code_display_preference: string
experiment_variation?: string
event_group_key?: string
event_group_id?: string
}
}
export type EventPropsByType = {
[EventType.aiSearchResult]: {
// Dynamic JSON string of an array of "link" objects in the form:
// [{ "type": "reference" | "inline", "url": "https://..", "product": "issues" | "pages" | ... }, ...]
ai_search_result_links_json: string
ai_search_result_provided_answer: boolean
ai_search_result_response_status: number
ai_search_result_connected_event_id?: string
}
[EventType.clipboard]: {
clipboard_operation: string
clipboard_target?: string
}
[EventType.exit]: {
exit_render_duration?: number
exit_first_paint?: number
exit_dom_interactive?: number
exit_dom_complete?: number
exit_visit_duration?: number
exit_scroll_length?: number
exit_scroll_flip?: number
}
[EventType.experiment]: {
experiment_name: string
experiment_variation: string
experiment_success?: boolean
}
[EventType.hover]: {
hover_url: string
hover_samesite?: boolean
}
[EventType.keyboard]: {
pressed_key: string
pressed_on: string
}
[EventType.link]: {
link_url: string
link_samesite?: boolean
link_samepage?: boolean
link_container?: string
}
[EventType.page]: {}
[EventType.preference]: {
preference_name: string
preference_value: string
}
[EventType.print]: {}
[EventType.search]: {
search_query: string
search_context?: string
search_client?: string
}
[EventType.searchResult]: {
search_result_query: string
search_result_index: number
search_result_total: number
search_result_rank: number
search_result_url: string
}
[EventType.survey]: {
survey_token?: string // Honeypot, doesn't exist in schema
survey_vote: boolean
survey_comment?: string
survey_email?: string
survey_rating?: number
survey_comment_language?: string
survey_connected_event_id?: string
}
}