File: types.go

package info (click to toggle)
golang-github-chromedp-cdproto 0.0~git20230109.6b041c6-1
  • links: PTS, VCS
  • area: main
  • in suites: bookworm, forky, sid, trixie
  • size: 4,584 kB
  • sloc: makefile: 2
file content (269 lines) | stat: -rw-r--r-- 7,682 bytes parent folder | download | duplicates (3)
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
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
package log

// Code generated by cdproto-gen. DO NOT EDIT.

import (
	"fmt"

	"github.com/chromedp/cdproto/network"
	"github.com/chromedp/cdproto/runtime"
	"github.com/mailru/easyjson"
	"github.com/mailru/easyjson/jlexer"
	"github.com/mailru/easyjson/jwriter"
)

// Entry log entry.
//
// See: https://chromedevtools.github.io/devtools-protocol/tot/Log#type-LogEntry
type Entry struct {
	Source           Source                  `json:"source"` // Log entry source.
	Level            Level                   `json:"level"`  // Log entry severity.
	Text             string                  `json:"text"`   // Logged text.
	Category         EntryCategory           `json:"category,omitempty"`
	Timestamp        *runtime.Timestamp      `json:"timestamp"`                  // Timestamp when this entry was added.
	URL              string                  `json:"url,omitempty"`              // URL of the resource if known.
	LineNumber       int64                   `json:"lineNumber,omitempty"`       // Line number in the resource.
	StackTrace       *runtime.StackTrace     `json:"stackTrace,omitempty"`       // JavaScript stack trace.
	NetworkRequestID network.RequestID       `json:"networkRequestId,omitempty"` // Identifier of the network request associated with this entry.
	WorkerID         string                  `json:"workerId,omitempty"`         // Identifier of the worker associated with this entry.
	Args             []*runtime.RemoteObject `json:"args,omitempty"`             // Call arguments.
}

// ViolationSetting violation configuration setting.
//
// See: https://chromedevtools.github.io/devtools-protocol/tot/Log#type-ViolationSetting
type ViolationSetting struct {
	Name      Violation `json:"name"`      // Violation type.
	Threshold float64   `json:"threshold"` // Time threshold to trigger upon.
}

// Source log entry source.
//
// See: https://chromedevtools.github.io/devtools-protocol/tot/Log#type-LogEntry
type Source string

// String returns the Source as string value.
func (t Source) String() string {
	return string(t)
}

// Source values.
const (
	SourceXML            Source = "xml"
	SourceJavascript     Source = "javascript"
	SourceNetwork        Source = "network"
	SourceStorage        Source = "storage"
	SourceAppcache       Source = "appcache"
	SourceRendering      Source = "rendering"
	SourceSecurity       Source = "security"
	SourceDeprecation    Source = "deprecation"
	SourceWorker         Source = "worker"
	SourceViolation      Source = "violation"
	SourceIntervention   Source = "intervention"
	SourceRecommendation Source = "recommendation"
	SourceOther          Source = "other"
)

// MarshalEasyJSON satisfies easyjson.Marshaler.
func (t Source) MarshalEasyJSON(out *jwriter.Writer) {
	out.String(string(t))
}

// MarshalJSON satisfies json.Marshaler.
func (t Source) MarshalJSON() ([]byte, error) {
	return easyjson.Marshal(t)
}

// UnmarshalEasyJSON satisfies easyjson.Unmarshaler.
func (t *Source) UnmarshalEasyJSON(in *jlexer.Lexer) {
	v := in.String()
	switch Source(v) {
	case SourceXML:
		*t = SourceXML
	case SourceJavascript:
		*t = SourceJavascript
	case SourceNetwork:
		*t = SourceNetwork
	case SourceStorage:
		*t = SourceStorage
	case SourceAppcache:
		*t = SourceAppcache
	case SourceRendering:
		*t = SourceRendering
	case SourceSecurity:
		*t = SourceSecurity
	case SourceDeprecation:
		*t = SourceDeprecation
	case SourceWorker:
		*t = SourceWorker
	case SourceViolation:
		*t = SourceViolation
	case SourceIntervention:
		*t = SourceIntervention
	case SourceRecommendation:
		*t = SourceRecommendation
	case SourceOther:
		*t = SourceOther

	default:
		in.AddError(fmt.Errorf("unknown Source value: %v", v))
	}
}

// UnmarshalJSON satisfies json.Unmarshaler.
func (t *Source) UnmarshalJSON(buf []byte) error {
	return easyjson.Unmarshal(buf, t)
}

// Level log entry severity.
//
// See: https://chromedevtools.github.io/devtools-protocol/tot/Log#type-LogEntry
type Level string

// String returns the Level as string value.
func (t Level) String() string {
	return string(t)
}

// Level values.
const (
	LevelVerbose Level = "verbose"
	LevelInfo    Level = "info"
	LevelWarning Level = "warning"
	LevelError   Level = "error"
)

// MarshalEasyJSON satisfies easyjson.Marshaler.
func (t Level) MarshalEasyJSON(out *jwriter.Writer) {
	out.String(string(t))
}

// MarshalJSON satisfies json.Marshaler.
func (t Level) MarshalJSON() ([]byte, error) {
	return easyjson.Marshal(t)
}

// UnmarshalEasyJSON satisfies easyjson.Unmarshaler.
func (t *Level) UnmarshalEasyJSON(in *jlexer.Lexer) {
	v := in.String()
	switch Level(v) {
	case LevelVerbose:
		*t = LevelVerbose
	case LevelInfo:
		*t = LevelInfo
	case LevelWarning:
		*t = LevelWarning
	case LevelError:
		*t = LevelError

	default:
		in.AddError(fmt.Errorf("unknown Level value: %v", v))
	}
}

// UnmarshalJSON satisfies json.Unmarshaler.
func (t *Level) UnmarshalJSON(buf []byte) error {
	return easyjson.Unmarshal(buf, t)
}

// EntryCategory [no description].
//
// See: https://chromedevtools.github.io/devtools-protocol/tot/Log#type-LogEntry
type EntryCategory string

// String returns the EntryCategory as string value.
func (t EntryCategory) String() string {
	return string(t)
}

// EntryCategory values.
const (
	EntryCategoryCors EntryCategory = "cors"
)

// MarshalEasyJSON satisfies easyjson.Marshaler.
func (t EntryCategory) MarshalEasyJSON(out *jwriter.Writer) {
	out.String(string(t))
}

// MarshalJSON satisfies json.Marshaler.
func (t EntryCategory) MarshalJSON() ([]byte, error) {
	return easyjson.Marshal(t)
}

// UnmarshalEasyJSON satisfies easyjson.Unmarshaler.
func (t *EntryCategory) UnmarshalEasyJSON(in *jlexer.Lexer) {
	v := in.String()
	switch EntryCategory(v) {
	case EntryCategoryCors:
		*t = EntryCategoryCors

	default:
		in.AddError(fmt.Errorf("unknown EntryCategory value: %v", v))
	}
}

// UnmarshalJSON satisfies json.Unmarshaler.
func (t *EntryCategory) UnmarshalJSON(buf []byte) error {
	return easyjson.Unmarshal(buf, t)
}

// Violation violation type.
//
// See: https://chromedevtools.github.io/devtools-protocol/tot/Log#type-ViolationSetting
type Violation string

// String returns the Violation as string value.
func (t Violation) String() string {
	return string(t)
}

// Violation values.
const (
	ViolationLongTask          Violation = "longTask"
	ViolationLongLayout        Violation = "longLayout"
	ViolationBlockedEvent      Violation = "blockedEvent"
	ViolationBlockedParser     Violation = "blockedParser"
	ViolationDiscouragedAPIUse Violation = "discouragedAPIUse"
	ViolationHandler           Violation = "handler"
	ViolationRecurringHandler  Violation = "recurringHandler"
)

// MarshalEasyJSON satisfies easyjson.Marshaler.
func (t Violation) MarshalEasyJSON(out *jwriter.Writer) {
	out.String(string(t))
}

// MarshalJSON satisfies json.Marshaler.
func (t Violation) MarshalJSON() ([]byte, error) {
	return easyjson.Marshal(t)
}

// UnmarshalEasyJSON satisfies easyjson.Unmarshaler.
func (t *Violation) UnmarshalEasyJSON(in *jlexer.Lexer) {
	v := in.String()
	switch Violation(v) {
	case ViolationLongTask:
		*t = ViolationLongTask
	case ViolationLongLayout:
		*t = ViolationLongLayout
	case ViolationBlockedEvent:
		*t = ViolationBlockedEvent
	case ViolationBlockedParser:
		*t = ViolationBlockedParser
	case ViolationDiscouragedAPIUse:
		*t = ViolationDiscouragedAPIUse
	case ViolationHandler:
		*t = ViolationHandler
	case ViolationRecurringHandler:
		*t = ViolationRecurringHandler

	default:
		in.AddError(fmt.Errorf("unknown Violation value: %v", v))
	}
}

// UnmarshalJSON satisfies json.Unmarshaler.
func (t *Violation) UnmarshalJSON(buf []byte) error {
	return easyjson.Unmarshal(buf, t)
}