1use super::runtime;
3#[allow(unused_imports)]
4use super::types::*;
5#[allow(unused_imports)]
6use serde::{Deserialize, Serialize};
7#[allow(unused_imports)]
8use serde_json::Value as Json;
9#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
10pub struct ProfileNode {
11 #[serde(default)]
12 #[serde(rename = "id")]
13 pub id: JsUInt,
14 #[serde(rename = "callFrame")]
15 pub call_frame: runtime::CallFrame,
16 #[serde(skip_serializing_if = "Option::is_none")]
17 #[serde(default)]
18 #[serde(rename = "hitCount")]
19 pub hit_count: Option<JsUInt>,
20 #[serde(skip_serializing_if = "Option::is_none")]
21 #[serde(default)]
22 #[serde(rename = "children")]
23 pub children: Option<Vec<JsUInt>>,
24 #[serde(skip_serializing_if = "Option::is_none")]
25 #[serde(default)]
26 #[serde(rename = "deoptReason")]
27 pub deopt_reason: Option<String>,
28 #[serde(skip_serializing_if = "Option::is_none")]
29 #[serde(rename = "positionTicks")]
30 pub position_ticks: Option<Vec<PositionTickInfo>>,
31}
32#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
33pub struct Profile {
34 #[serde(rename = "nodes")]
35 pub nodes: Vec<ProfileNode>,
36 #[serde(default)]
37 #[serde(rename = "startTime")]
38 pub start_time: JsFloat,
39 #[serde(default)]
40 #[serde(rename = "endTime")]
41 pub end_time: JsFloat,
42 #[serde(skip_serializing_if = "Option::is_none")]
43 #[serde(default)]
44 #[serde(rename = "samples")]
45 pub samples: Option<Vec<JsUInt>>,
46 #[serde(skip_serializing_if = "Option::is_none")]
47 #[serde(default)]
48 #[serde(rename = "timeDeltas")]
49 pub time_deltas: Option<Vec<JsUInt>>,
50}
51#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
52pub struct PositionTickInfo {
53 #[serde(default)]
54 #[serde(rename = "line")]
55 pub line: JsUInt,
56 #[serde(default)]
57 #[serde(rename = "ticks")]
58 pub ticks: JsUInt,
59}
60#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
61pub struct CoverageRange {
62 #[serde(default)]
63 #[serde(rename = "startOffset")]
64 pub start_offset: JsUInt,
65 #[serde(default)]
66 #[serde(rename = "endOffset")]
67 pub end_offset: JsUInt,
68 #[serde(default)]
69 #[serde(rename = "count")]
70 pub count: JsUInt,
71}
72#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
73pub struct FunctionCoverage {
74 #[serde(default)]
75 #[serde(rename = "functionName")]
76 pub function_name: String,
77 #[serde(rename = "ranges")]
78 pub ranges: Vec<CoverageRange>,
79 #[serde(default)]
80 #[serde(rename = "isBlockCoverage")]
81 pub is_block_coverage: bool,
82}
83#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
84pub struct ScriptCoverage {
85 #[serde(rename = "scriptId")]
86 pub script_id: runtime::ScriptId,
87 #[serde(default)]
88 #[serde(rename = "url")]
89 pub url: String,
90 #[serde(rename = "functions")]
91 pub functions: Vec<FunctionCoverage>,
92}
93#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
94#[serde(rename_all = "camelCase")]
95pub struct Disable(pub Option<serde_json::Value>);
96#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
97#[serde(rename_all = "camelCase")]
98pub struct Enable(pub Option<serde_json::Value>);
99#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
100#[serde(rename_all = "camelCase")]
101pub struct GetBestEffortCoverage(pub Option<serde_json::Value>);
102#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
103pub struct SetSamplingInterval {
104 #[serde(default)]
105 #[serde(rename = "interval")]
106 pub interval: JsUInt,
107}
108#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
109#[serde(rename_all = "camelCase")]
110pub struct Start(pub Option<serde_json::Value>);
111#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
112pub struct StartPreciseCoverage {
113 #[serde(skip_serializing_if = "Option::is_none")]
114 #[serde(default)]
115 #[serde(rename = "callCount")]
116 pub call_count: Option<bool>,
117 #[serde(skip_serializing_if = "Option::is_none")]
118 #[serde(default)]
119 #[serde(rename = "detailed")]
120 pub detailed: Option<bool>,
121 #[serde(skip_serializing_if = "Option::is_none")]
122 #[serde(default)]
123 #[serde(rename = "allowTriggeredUpdates")]
124 pub allow_triggered_updates: Option<bool>,
125}
126#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
127#[serde(rename_all = "camelCase")]
128pub struct Stop(pub Option<serde_json::Value>);
129#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
130#[serde(rename_all = "camelCase")]
131pub struct StopPreciseCoverage(pub Option<serde_json::Value>);
132#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
133#[serde(rename_all = "camelCase")]
134pub struct TakePreciseCoverage(pub Option<serde_json::Value>);
135#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
136#[serde(rename_all = "camelCase")]
137pub struct DisableReturnObject {}
138#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
139#[serde(rename_all = "camelCase")]
140pub struct EnableReturnObject {}
141#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
142pub struct GetBestEffortCoverageReturnObject {
143 #[serde(rename = "result")]
144 pub result: Vec<ScriptCoverage>,
145}
146#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
147#[serde(rename_all = "camelCase")]
148pub struct SetSamplingIntervalReturnObject {}
149#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
150#[serde(rename_all = "camelCase")]
151pub struct StartReturnObject {}
152#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
153pub struct StartPreciseCoverageReturnObject {
154 #[serde(default)]
155 #[serde(rename = "timestamp")]
156 pub timestamp: JsFloat,
157}
158#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
159pub struct StopReturnObject {
160 #[serde(rename = "profile")]
161 pub profile: Profile,
162}
163#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
164#[serde(rename_all = "camelCase")]
165pub struct StopPreciseCoverageReturnObject {}
166#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
167pub struct TakePreciseCoverageReturnObject {
168 #[serde(rename = "result")]
169 pub result: Vec<ScriptCoverage>,
170 #[serde(default)]
171 #[serde(rename = "timestamp")]
172 pub timestamp: JsFloat,
173}
174impl Method for Disable {
175 const NAME: &'static str = "Profiler.disable";
176 type ReturnObject = DisableReturnObject;
177}
178impl Method for Enable {
179 const NAME: &'static str = "Profiler.enable";
180 type ReturnObject = EnableReturnObject;
181}
182impl Method for GetBestEffortCoverage {
183 const NAME: &'static str = "Profiler.getBestEffortCoverage";
184 type ReturnObject = GetBestEffortCoverageReturnObject;
185}
186impl Method for SetSamplingInterval {
187 const NAME: &'static str = "Profiler.setSamplingInterval";
188 type ReturnObject = SetSamplingIntervalReturnObject;
189}
190impl Method for Start {
191 const NAME: &'static str = "Profiler.start";
192 type ReturnObject = StartReturnObject;
193}
194impl Method for StartPreciseCoverage {
195 const NAME: &'static str = "Profiler.startPreciseCoverage";
196 type ReturnObject = StartPreciseCoverageReturnObject;
197}
198impl Method for Stop {
199 const NAME: &'static str = "Profiler.stop";
200 type ReturnObject = StopReturnObject;
201}
202impl Method for StopPreciseCoverage {
203 const NAME: &'static str = "Profiler.stopPreciseCoverage";
204 type ReturnObject = StopPreciseCoverageReturnObject;
205}
206impl Method for TakePreciseCoverage {
207 const NAME: &'static str = "Profiler.takePreciseCoverage";
208 type ReturnObject = TakePreciseCoverageReturnObject;
209}
210pub mod events {
211 #[allow(unused_imports)]
212 use super::super::types::*;
213 #[allow(unused_imports)]
214 use serde::{Deserialize, Serialize};
215 #[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
216 pub struct ConsoleProfileFinishedEvent {
217 pub params: ConsoleProfileFinishedEventParams,
218 }
219 #[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
220 pub struct ConsoleProfileFinishedEventParams {
221 #[serde(default)]
222 #[serde(rename = "id")]
223 pub id: String,
224 #[serde(rename = "location")]
225 pub location: super::super::debugger::Location,
226 #[serde(rename = "profile")]
227 pub profile: super::Profile,
228 #[serde(skip_serializing_if = "Option::is_none")]
229 #[serde(default)]
230 #[serde(rename = "title")]
231 pub title: Option<String>,
232 }
233 #[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
234 pub struct ConsoleProfileStartedEvent {
235 pub params: ConsoleProfileStartedEventParams,
236 }
237 #[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
238 pub struct ConsoleProfileStartedEventParams {
239 #[serde(default)]
240 #[serde(rename = "id")]
241 pub id: String,
242 #[serde(rename = "location")]
243 pub location: super::super::debugger::Location,
244 #[serde(skip_serializing_if = "Option::is_none")]
245 #[serde(default)]
246 #[serde(rename = "title")]
247 pub title: Option<String>,
248 }
249 #[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
250 pub struct PreciseCoverageDeltaUpdateEvent {
251 pub params: PreciseCoverageDeltaUpdateEventParams,
252 }
253 #[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
254 pub struct PreciseCoverageDeltaUpdateEventParams {
255 #[serde(default)]
256 #[serde(rename = "timestamp")]
257 pub timestamp: JsFloat,
258 #[serde(default)]
259 #[serde(rename = "occasion")]
260 pub occasion: String,
261 #[serde(rename = "result")]
262 pub result: Vec<super::ScriptCoverage>,
263 }
264}