rustenium_bidi_commands/script/
commands.rs

1// Generated commands for module
2
3use serde::{Serialize, Deserialize};
4use crate::browser::types::UserContext;
5use crate::browsing_context::types::BrowsingContext;
6use crate::EmptyResult;
7use super::types::*;
8
9#[derive(Debug, Clone, Serialize, Deserialize)]
10#[serde(untagged)]
11pub enum ScriptCommand {
12    AddPreloadScript(AddPreloadScript),
13    CallFunction(CallFunction),
14    Disown(Disown),
15    Evaluate(Evaluate),
16    GetRealms(GetRealms),
17    RemovePreloadScript(RemovePreloadScript),
18}
19
20
21#[derive(Debug, Clone, Serialize, Deserialize)]
22pub enum ScriptAddPreloadScriptMethod {
23    #[serde(rename = "script.addPreloadScript")]
24    ScriptAddPreloadScript,
25}
26
27#[derive(Debug, Clone, Serialize, Deserialize)]
28pub enum ScriptCallFunctionMethod {
29    #[serde(rename = "script.callFunction")]
30    ScriptCallFunction,
31}
32
33#[derive(Debug, Clone, Serialize, Deserialize)]
34pub enum ScriptDisownMethod {
35    #[serde(rename = "script.disown")]
36    ScriptDisown,
37}
38
39#[derive(Debug, Clone, Serialize, Deserialize)]
40pub enum ScriptEvaluateMethod {
41    #[serde(rename = "script.evaluate")]
42    ScriptEvaluate,
43}
44
45#[derive(Debug, Clone, Serialize, Deserialize)]
46pub enum ScriptGetRealmsMethod {
47    #[serde(rename = "script.getRealms")]
48    ScriptGetRealms,
49}
50
51#[derive(Debug, Clone, Serialize, Deserialize)]
52pub enum ScriptRemovePreloadScriptMethod {
53    #[serde(rename = "script.removePreloadScript")]
54    ScriptRemovePreloadScript,
55}
56
57#[derive(Debug, Clone, Serialize, Deserialize)]
58pub struct AddPreloadScriptParameters {
59    #[serde(rename = "functionDeclaration")]
60    pub function_declaration: String,
61    #[serde(rename = "arguments")]
62    #[serde(skip_serializing_if = "Option::is_none")]
63    pub arguments: Option<Vec<ChannelValue>>,
64    #[serde(rename = "contexts")]
65    #[serde(skip_serializing_if = "Option::is_none")]
66    pub contexts: Option<Vec<BrowsingContext>>,
67    #[serde(rename = "userContexts")]
68    #[serde(skip_serializing_if = "Option::is_none")]
69    pub user_contexts: Option<Vec<UserContext>>,
70    #[serde(rename = "sandbox")]
71    #[serde(skip_serializing_if = "Option::is_none")]
72    pub sandbox: Option<String>,
73}
74
75#[derive(Debug, Clone, Serialize, Deserialize)]
76pub struct CallFunctionParameters {
77    #[serde(rename = "functionDeclaration")]
78    pub function_declaration: String,
79    #[serde(rename = "awaitPromise")]
80    pub await_promise: bool,
81    #[serde(rename = "target")]
82    pub target: Target,
83    #[serde(rename = "arguments")]
84    #[serde(skip_serializing_if = "Option::is_none")]
85    pub arguments: Option<Vec<LocalValue>>,
86    #[serde(rename = "resultOwnership")]
87    #[serde(skip_serializing_if = "Option::is_none")]
88    pub result_ownership: Option<ResultOwnership>,
89    #[serde(rename = "serializationOptions")]
90    #[serde(skip_serializing_if = "Option::is_none")]
91    pub serialization_options: Option<SerializationOptions>,
92    #[serde(rename = "this")]
93    #[serde(skip_serializing_if = "Option::is_none")]
94    pub this: Option<LocalValue>,
95    #[serde(rename = "userActivation")]
96    #[serde(skip_serializing_if = "Option::is_none")]
97    pub user_activation: Option<bool>,
98}
99
100#[derive(Debug, Clone, Serialize, Deserialize)]
101pub struct DisownParameters {
102    #[serde(rename = "handles")]
103    pub handles: Vec<Handle>,
104    #[serde(rename = "target")]
105    pub target: Target,
106}
107
108#[derive(Debug, Clone, Serialize, Deserialize)]
109pub struct EvaluateParameters {
110    #[serde(rename = "expression")]
111    pub expression: String,
112    #[serde(rename = "target")]
113    pub target: Target,
114    #[serde(rename = "awaitPromise")]
115    pub await_promise: bool,
116    #[serde(rename = "resultOwnership")]
117    #[serde(skip_serializing_if = "Option::is_none")]
118    pub result_ownership: Option<ResultOwnership>,
119    #[serde(rename = "serializationOptions")]
120    #[serde(skip_serializing_if = "Option::is_none")]
121    pub serialization_options: Option<SerializationOptions>,
122    #[serde(rename = "userActivation")]
123    #[serde(skip_serializing_if = "Option::is_none")]
124    pub user_activation: Option<bool>,
125}
126
127#[derive(Debug, Clone, Serialize, Deserialize)]
128pub struct GetRealmsParameters {
129    #[serde(rename = "context")]
130    #[serde(skip_serializing_if = "Option::is_none")]
131    pub context: Option<BrowsingContext>,
132    #[serde(rename = "type")]
133    #[serde(skip_serializing_if = "Option::is_none")]
134    pub r#type: Option<RealmType>,
135}
136
137#[derive(Debug, Clone, Serialize, Deserialize)]
138pub struct RemovePreloadScriptParameters {
139    #[serde(rename = "script")]
140    pub script: PreloadScript,
141}
142
143#[derive(Debug, Clone, Serialize, Deserialize)]
144pub struct AddPreloadScript {
145    #[serde(rename = "method")]
146    pub method: ScriptAddPreloadScriptMethod,
147    #[serde(rename = "params")]
148    pub params: AddPreloadScriptParameters,
149}
150
151#[derive(Debug, Clone, Serialize, Deserialize)]
152pub struct CallFunction {
153    #[serde(rename = "method")]
154    pub method: ScriptCallFunctionMethod,
155    #[serde(rename = "params")]
156    pub params: CallFunctionParameters,
157}
158
159#[derive(Debug, Clone, Serialize, Deserialize)]
160pub struct Disown {
161    #[serde(rename = "method")]
162    pub method: ScriptDisownMethod,
163    #[serde(rename = "params")]
164    pub params: DisownParameters,
165}
166
167#[derive(Debug, Clone, Serialize, Deserialize)]
168pub struct Evaluate {
169    #[serde(rename = "method")]
170    pub method: ScriptEvaluateMethod,
171    #[serde(rename = "params")]
172    pub params: EvaluateParameters,
173}
174
175#[derive(Debug, Clone, Serialize, Deserialize)]
176pub struct GetRealms {
177    #[serde(rename = "method")]
178    pub method: ScriptGetRealmsMethod,
179    #[serde(rename = "params")]
180    pub params: GetRealmsParameters,
181}
182
183#[derive(Debug, Clone, Serialize, Deserialize)]
184pub struct RemovePreloadScript {
185    #[serde(rename = "method")]
186    pub method: ScriptRemovePreloadScriptMethod,
187    #[serde(rename = "params")]
188    pub params: RemovePreloadScriptParameters,
189}
190
191// Generated results
192
193#[derive(Debug, Clone, Serialize, Deserialize)]
194#[serde(untagged)]
195pub enum ScriptResult {
196    AddPreloadScriptResult(AddPreloadScriptResult),
197    EvaluateResult(EvaluateResult),
198    CallFunctionResult(CallFunctionResult),
199    DisownResult(DisownResult),
200    GetRealmsResult(GetRealmsResult),
201    RemovePreloadScriptResult(RemovePreloadScriptResult),
202}
203
204
205#[derive(Debug, Clone, Serialize, Deserialize)]
206pub struct AddPreloadScriptResult {
207    #[serde(rename = "script")]
208    pub script: PreloadScript,
209}
210
211pub type CallFunctionResult = EvaluateResult;
212
213
214pub type DisownResult = EmptyResult;
215
216
217#[derive(Debug, Clone, Serialize, Deserialize)]
218#[serde(untagged)]
219pub enum EvaluateResult {
220    EvaluateResultSuccess(EvaluateResultSuccess),
221    EvaluateResultException(EvaluateResultException),
222}
223
224#[derive(Debug, Clone, Serialize, Deserialize)]
225pub struct GetRealmsResult {
226    #[serde(rename = "realms")]
227    pub realms: Vec<RealmInfo>,
228}
229
230pub type RemovePreloadScriptResult = EmptyResult;
231
232