1use serde::{Deserialize, Serialize};
2#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
3pub struct AddRuleResult {
4 #[doc = "The newly created rule."]
5 #[serde(rename = "rule")]
6 pub rule: super::types::CssRule,
7}
8impl TryFrom<serde_json::Value> for AddRuleResult {
9 type Error = serde_json::Error;
10 fn try_from(value: serde_json::Value) -> Result<Self, Self::Error> {
11 serde_json::from_value(value)
12 }
13}
14#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
15pub struct CollectClassNamesResult {
16 #[doc = "Class name list."]
17 #[serde(rename = "classNames")]
18 #[serde(skip_serializing_if = "Vec::is_empty")]
19 pub class_names: Vec<String>,
20}
21impl TryFrom<serde_json::Value> for CollectClassNamesResult {
22 type Error = serde_json::Error;
23 fn try_from(value: serde_json::Value) -> Result<Self, Self::Error> {
24 serde_json::from_value(value)
25 }
26}
27#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
28pub struct CreateStyleSheetResult {
29 #[doc = "Identifier of the created \"via-inspector\" stylesheet."]
30 #[serde(rename = "styleSheetId")]
31 pub style_sheet_id: crate::browser_protocol::dom::types::StyleSheetId,
32}
33impl TryFrom<serde_json::Value> for CreateStyleSheetResult {
34 type Error = serde_json::Error;
35 fn try_from(value: serde_json::Value) -> Result<Self, Self::Error> {
36 serde_json::from_value(value)
37 }
38}
39#[derive(Debug, Clone, PartialEq, Default, Serialize, Deserialize)]
40pub struct DisableResult {}
41impl TryFrom<serde_json::Value> for DisableResult {
42 type Error = serde_json::Error;
43 fn try_from(value: serde_json::Value) -> Result<Self, Self::Error> {
44 serde_json::from_value(value)
45 }
46}
47#[derive(Debug, Clone, PartialEq, Default, Serialize, Deserialize)]
48pub struct EnableResult {}
49impl TryFrom<serde_json::Value> for EnableResult {
50 type Error = serde_json::Error;
51 fn try_from(value: serde_json::Value) -> Result<Self, Self::Error> {
52 serde_json::from_value(value)
53 }
54}
55#[derive(Debug, Clone, PartialEq, Default, Serialize, Deserialize)]
56pub struct ForcePseudoStateResult {}
57impl TryFrom<serde_json::Value> for ForcePseudoStateResult {
58 type Error = serde_json::Error;
59 fn try_from(value: serde_json::Value) -> Result<Self, Self::Error> {
60 serde_json::from_value(value)
61 }
62}
63#[derive(Debug, Clone, PartialEq, Default, Serialize, Deserialize)]
64pub struct ForceStartingStyleResult {}
65impl TryFrom<serde_json::Value> for ForceStartingStyleResult {
66 type Error = serde_json::Error;
67 fn try_from(value: serde_json::Value) -> Result<Self, Self::Error> {
68 serde_json::from_value(value)
69 }
70}
71#[derive(Debug, Clone, PartialEq, Default, Serialize, Deserialize)]
72pub struct GetBackgroundColorsResult {
73 #[doc = "The range of background colors behind this element, if it contains any visible text. If no\nvisible text is present, this will be undefined. In the case of a flat background color,\nthis will consist of simply that color. In the case of a gradient, this will consist of each\nof the color stops. For anything more complicated, this will be an empty array. Images will\nbe ignored (as if the image had failed to load)."]
74 #[serde(rename = "backgroundColors")]
75 #[serde(skip_serializing_if = "Option::is_none")]
76 #[serde(default)]
77 pub background_colors: Option<Vec<String>>,
78 #[doc = "The computed font size for this node, as a CSS computed value string (e.g. '12px')."]
79 #[serde(rename = "computedFontSize")]
80 #[serde(skip_serializing_if = "Option::is_none")]
81 #[serde(default)]
82 pub computed_font_size: Option<String>,
83 #[doc = "The computed font weight for this node, as a CSS computed value string (e.g. 'normal' or\n'100')."]
84 #[serde(rename = "computedFontWeight")]
85 #[serde(skip_serializing_if = "Option::is_none")]
86 #[serde(default)]
87 pub computed_font_weight: Option<String>,
88}
89impl TryFrom<serde_json::Value> for GetBackgroundColorsResult {
90 type Error = serde_json::Error;
91 fn try_from(value: serde_json::Value) -> Result<Self, Self::Error> {
92 serde_json::from_value(value)
93 }
94}
95#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
96pub struct GetComputedStyleForNodeResult {
97 #[doc = "Computed style for the specified DOM node."]
98 #[serde(rename = "computedStyle")]
99 #[serde(skip_serializing_if = "Vec::is_empty")]
100 pub computed_style: Vec<super::types::CssComputedStyleProperty>,
101 #[doc = "A list of non-standard \"extra fields\" which blink stores alongside each\ncomputed style."]
102 #[serde(rename = "extraFields")]
103 pub extra_fields: super::types::ComputedStyleExtraFields,
104}
105impl TryFrom<serde_json::Value> for GetComputedStyleForNodeResult {
106 type Error = serde_json::Error;
107 fn try_from(value: serde_json::Value) -> Result<Self, Self::Error> {
108 serde_json::from_value(value)
109 }
110}
111#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
112pub struct ResolveValuesResult {
113 #[serde(rename = "results")]
114 #[serde(skip_serializing_if = "Vec::is_empty")]
115 pub results: Vec<String>,
116}
117impl TryFrom<serde_json::Value> for ResolveValuesResult {
118 type Error = serde_json::Error;
119 fn try_from(value: serde_json::Value) -> Result<Self, Self::Error> {
120 serde_json::from_value(value)
121 }
122}
123#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
124pub struct GetLonghandPropertiesResult {
125 #[serde(rename = "longhandProperties")]
126 #[serde(skip_serializing_if = "Vec::is_empty")]
127 pub longhand_properties: Vec<super::types::CssProperty>,
128}
129impl TryFrom<serde_json::Value> for GetLonghandPropertiesResult {
130 type Error = serde_json::Error;
131 fn try_from(value: serde_json::Value) -> Result<Self, Self::Error> {
132 serde_json::from_value(value)
133 }
134}
135#[derive(Debug, Clone, PartialEq, Default, Serialize, Deserialize)]
136pub struct GetInlineStylesForNodeResult {
137 #[doc = "Inline style for the specified DOM node."]
138 #[serde(rename = "inlineStyle")]
139 #[serde(skip_serializing_if = "Option::is_none")]
140 #[serde(default)]
141 pub inline_style: Option<super::types::CssStyle>,
142 #[doc = "Attribute-defined element style (e.g. resulting from \"width=20 height=100%\")."]
143 #[serde(rename = "attributesStyle")]
144 #[serde(skip_serializing_if = "Option::is_none")]
145 #[serde(default)]
146 pub attributes_style: Option<super::types::CssStyle>,
147}
148impl TryFrom<serde_json::Value> for GetInlineStylesForNodeResult {
149 type Error = serde_json::Error;
150 fn try_from(value: serde_json::Value) -> Result<Self, Self::Error> {
151 serde_json::from_value(value)
152 }
153}
154#[derive(Debug, Clone, PartialEq, Default, Serialize, Deserialize)]
155pub struct GetAnimatedStylesForNodeResult {
156 #[doc = "Styles coming from animations."]
157 #[serde(rename = "animationStyles")]
158 #[serde(skip_serializing_if = "Option::is_none")]
159 #[serde(default)]
160 pub animation_styles: Option<Vec<super::types::CssAnimationStyle>>,
161 #[doc = "Style coming from transitions."]
162 #[serde(rename = "transitionsStyle")]
163 #[serde(skip_serializing_if = "Option::is_none")]
164 #[serde(default)]
165 pub transitions_style: Option<super::types::CssStyle>,
166 #[doc = "Inherited style entries for animationsStyle and transitionsStyle from\nthe inheritance chain of the element."]
167 #[serde(rename = "inherited")]
168 #[serde(skip_serializing_if = "Option::is_none")]
169 #[serde(default)]
170 pub inherited: Option<Vec<super::types::InheritedAnimatedStyleEntry>>,
171}
172impl TryFrom<serde_json::Value> for GetAnimatedStylesForNodeResult {
173 type Error = serde_json::Error;
174 fn try_from(value: serde_json::Value) -> Result<Self, Self::Error> {
175 serde_json::from_value(value)
176 }
177}
178#[derive(Debug, Clone, PartialEq, Default, Serialize, Deserialize)]
179pub struct GetMatchedStylesForNodeResult {
180 #[doc = "Inline style for the specified DOM node."]
181 #[serde(rename = "inlineStyle")]
182 #[serde(skip_serializing_if = "Option::is_none")]
183 #[serde(default)]
184 pub inline_style: Option<super::types::CssStyle>,
185 #[doc = "Attribute-defined element style (e.g. resulting from \"width=20 height=100%\")."]
186 #[serde(rename = "attributesStyle")]
187 #[serde(skip_serializing_if = "Option::is_none")]
188 #[serde(default)]
189 pub attributes_style: Option<super::types::CssStyle>,
190 #[doc = "CSS rules matching this node, from all applicable stylesheets."]
191 #[serde(rename = "matchedCSSRules")]
192 #[serde(skip_serializing_if = "Option::is_none")]
193 #[serde(default)]
194 pub matched_css_rules: Option<Vec<super::types::RuleMatch>>,
195 #[doc = "Pseudo style matches for this node."]
196 #[serde(rename = "pseudoElements")]
197 #[serde(skip_serializing_if = "Option::is_none")]
198 #[serde(default)]
199 pub pseudo_elements: Option<Vec<super::types::PseudoElementMatches>>,
200 #[doc = "A chain of inherited styles (from the immediate node parent up to the DOM tree root)."]
201 #[serde(rename = "inherited")]
202 #[serde(skip_serializing_if = "Option::is_none")]
203 #[serde(default)]
204 pub inherited: Option<Vec<super::types::InheritedStyleEntry>>,
205 #[doc = "A chain of inherited pseudo element styles (from the immediate node parent up to the DOM tree root)."]
206 #[serde(rename = "inheritedPseudoElements")]
207 #[serde(skip_serializing_if = "Option::is_none")]
208 #[serde(default)]
209 pub inherited_pseudo_elements: Option<Vec<super::types::InheritedPseudoElementMatches>>,
210 #[doc = "A list of CSS keyframed animations matching this node."]
211 #[serde(rename = "cssKeyframesRules")]
212 #[serde(skip_serializing_if = "Option::is_none")]
213 #[serde(default)]
214 pub css_keyframes_rules: Option<Vec<super::types::CssKeyframesRule>>,
215 #[doc = "A list of CSS @position-try rules matching this node, based on the position-try-fallbacks property."]
216 #[serde(rename = "cssPositionTryRules")]
217 #[serde(skip_serializing_if = "Option::is_none")]
218 #[serde(default)]
219 pub css_position_try_rules: Option<Vec<super::types::CssPositionTryRule>>,
220 #[doc = "Index of the active fallback in the applied position-try-fallback property,\nwill not be set if there is no active position-try fallback."]
221 #[serde(rename = "activePositionFallbackIndex")]
222 #[serde(skip_serializing_if = "Option::is_none")]
223 #[serde(default)]
224 pub active_position_fallback_index: Option<i64>,
225 #[doc = "A list of CSS at-property rules matching this node."]
226 #[serde(rename = "cssPropertyRules")]
227 #[serde(skip_serializing_if = "Option::is_none")]
228 #[serde(default)]
229 pub css_property_rules: Option<Vec<super::types::CssPropertyRule>>,
230 #[doc = "A list of CSS property registrations matching this node."]
231 #[serde(rename = "cssPropertyRegistrations")]
232 #[serde(skip_serializing_if = "Option::is_none")]
233 #[serde(default)]
234 pub css_property_registrations: Option<Vec<super::types::CssPropertyRegistration>>,
235 #[doc = "A list of simple @rules matching this node or its pseudo-elements."]
236 #[serde(rename = "cssAtRules")]
237 #[serde(skip_serializing_if = "Option::is_none")]
238 #[serde(default)]
239 pub css_at_rules: Option<Vec<super::types::CssAtRule>>,
240 #[doc = "Id of the first parent element that does not have display: contents."]
241 #[serde(rename = "parentLayoutNodeId")]
242 #[serde(skip_serializing_if = "Option::is_none")]
243 #[serde(default)]
244 pub parent_layout_node_id: Option<crate::browser_protocol::dom::types::NodeId>,
245 #[doc = "A list of CSS at-function rules referenced by styles of this node."]
246 #[serde(rename = "cssFunctionRules")]
247 #[serde(skip_serializing_if = "Option::is_none")]
248 #[serde(default)]
249 pub css_function_rules: Option<Vec<super::types::CssFunctionRule>>,
250}
251impl TryFrom<serde_json::Value> for GetMatchedStylesForNodeResult {
252 type Error = serde_json::Error;
253 fn try_from(value: serde_json::Value) -> Result<Self, Self::Error> {
254 serde_json::from_value(value)
255 }
256}
257#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
258pub struct GetEnvironmentVariablesResult {
259 #[serde(rename = "environmentVariables")]
260 pub environment_variables: serde_json::Value,
261}
262impl TryFrom<serde_json::Value> for GetEnvironmentVariablesResult {
263 type Error = serde_json::Error;
264 fn try_from(value: serde_json::Value) -> Result<Self, Self::Error> {
265 serde_json::from_value(value)
266 }
267}
268#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
269pub struct GetMediaQueriesResult {
270 #[serde(rename = "medias")]
271 #[serde(skip_serializing_if = "Vec::is_empty")]
272 pub medias: Vec<super::types::CssMedia>,
273}
274impl TryFrom<serde_json::Value> for GetMediaQueriesResult {
275 type Error = serde_json::Error;
276 fn try_from(value: serde_json::Value) -> Result<Self, Self::Error> {
277 serde_json::from_value(value)
278 }
279}
280#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
281pub struct GetPlatformFontsForNodeResult {
282 #[doc = "Usage statistics for every employed platform font."]
283 #[serde(rename = "fonts")]
284 #[serde(skip_serializing_if = "Vec::is_empty")]
285 pub fonts: Vec<super::types::PlatformFontUsage>,
286}
287impl TryFrom<serde_json::Value> for GetPlatformFontsForNodeResult {
288 type Error = serde_json::Error;
289 fn try_from(value: serde_json::Value) -> Result<Self, Self::Error> {
290 serde_json::from_value(value)
291 }
292}
293#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
294pub struct GetStyleSheetTextResult {
295 #[doc = "The stylesheet text."]
296 #[serde(rename = "text")]
297 pub text: String,
298}
299impl TryFrom<serde_json::Value> for GetStyleSheetTextResult {
300 type Error = serde_json::Error;
301 fn try_from(value: serde_json::Value) -> Result<Self, Self::Error> {
302 serde_json::from_value(value)
303 }
304}
305#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
306pub struct GetLayersForNodeResult {
307 #[serde(rename = "rootLayer")]
308 pub root_layer: super::types::CssLayerData,
309}
310impl TryFrom<serde_json::Value> for GetLayersForNodeResult {
311 type Error = serde_json::Error;
312 fn try_from(value: serde_json::Value) -> Result<Self, Self::Error> {
313 serde_json::from_value(value)
314 }
315}
316#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
317pub struct GetLocationForSelectorResult {
318 #[serde(rename = "ranges")]
319 #[serde(skip_serializing_if = "Vec::is_empty")]
320 pub ranges: Vec<super::types::SourceRange>,
321}
322impl TryFrom<serde_json::Value> for GetLocationForSelectorResult {
323 type Error = serde_json::Error;
324 fn try_from(value: serde_json::Value) -> Result<Self, Self::Error> {
325 serde_json::from_value(value)
326 }
327}
328#[derive(Debug, Clone, PartialEq, Default, Serialize, Deserialize)]
329pub struct TrackComputedStyleUpdatesForNodeResult {}
330impl TryFrom<serde_json::Value> for TrackComputedStyleUpdatesForNodeResult {
331 type Error = serde_json::Error;
332 fn try_from(value: serde_json::Value) -> Result<Self, Self::Error> {
333 serde_json::from_value(value)
334 }
335}
336#[derive(Debug, Clone, PartialEq, Default, Serialize, Deserialize)]
337pub struct TrackComputedStyleUpdatesResult {}
338impl TryFrom<serde_json::Value> for TrackComputedStyleUpdatesResult {
339 type Error = serde_json::Error;
340 fn try_from(value: serde_json::Value) -> Result<Self, Self::Error> {
341 serde_json::from_value(value)
342 }
343}
344#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
345pub struct TakeComputedStyleUpdatesResult {
346 #[doc = "The list of node Ids that have their tracked computed styles updated."]
347 #[serde(rename = "nodeIds")]
348 #[serde(skip_serializing_if = "Vec::is_empty")]
349 pub node_ids: Vec<crate::browser_protocol::dom::types::NodeId>,
350}
351impl TryFrom<serde_json::Value> for TakeComputedStyleUpdatesResult {
352 type Error = serde_json::Error;
353 fn try_from(value: serde_json::Value) -> Result<Self, Self::Error> {
354 serde_json::from_value(value)
355 }
356}
357#[derive(Debug, Clone, PartialEq, Default, Serialize, Deserialize)]
358pub struct SetEffectivePropertyValueForNodeResult {}
359impl TryFrom<serde_json::Value> for SetEffectivePropertyValueForNodeResult {
360 type Error = serde_json::Error;
361 fn try_from(value: serde_json::Value) -> Result<Self, Self::Error> {
362 serde_json::from_value(value)
363 }
364}
365#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
366pub struct SetPropertyRulePropertyNameResult {
367 #[doc = "The resulting key text after modification."]
368 #[serde(rename = "propertyName")]
369 pub property_name: super::types::Value,
370}
371impl TryFrom<serde_json::Value> for SetPropertyRulePropertyNameResult {
372 type Error = serde_json::Error;
373 fn try_from(value: serde_json::Value) -> Result<Self, Self::Error> {
374 serde_json::from_value(value)
375 }
376}
377#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
378pub struct SetKeyframeKeyResult {
379 #[doc = "The resulting key text after modification."]
380 #[serde(rename = "keyText")]
381 pub key_text: super::types::Value,
382}
383impl TryFrom<serde_json::Value> for SetKeyframeKeyResult {
384 type Error = serde_json::Error;
385 fn try_from(value: serde_json::Value) -> Result<Self, Self::Error> {
386 serde_json::from_value(value)
387 }
388}
389#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
390pub struct SetMediaTextResult {
391 #[doc = "The resulting CSS media rule after modification."]
392 #[serde(rename = "media")]
393 pub media: super::types::CssMedia,
394}
395impl TryFrom<serde_json::Value> for SetMediaTextResult {
396 type Error = serde_json::Error;
397 fn try_from(value: serde_json::Value) -> Result<Self, Self::Error> {
398 serde_json::from_value(value)
399 }
400}
401#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
402pub struct SetContainerQueryTextResult {
403 #[doc = "The resulting CSS container query rule after modification."]
404 #[serde(rename = "containerQuery")]
405 pub container_query: super::types::CssContainerQuery,
406}
407impl TryFrom<serde_json::Value> for SetContainerQueryTextResult {
408 type Error = serde_json::Error;
409 fn try_from(value: serde_json::Value) -> Result<Self, Self::Error> {
410 serde_json::from_value(value)
411 }
412}
413#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
414pub struct SetSupportsTextResult {
415 #[doc = "The resulting CSS Supports rule after modification."]
416 #[serde(rename = "supports")]
417 pub supports: super::types::CssSupports,
418}
419impl TryFrom<serde_json::Value> for SetSupportsTextResult {
420 type Error = serde_json::Error;
421 fn try_from(value: serde_json::Value) -> Result<Self, Self::Error> {
422 serde_json::from_value(value)
423 }
424}
425#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
426pub struct SetScopeTextResult {
427 #[doc = "The resulting CSS Scope rule after modification."]
428 #[serde(rename = "scope")]
429 pub scope: super::types::CssScope,
430}
431impl TryFrom<serde_json::Value> for SetScopeTextResult {
432 type Error = serde_json::Error;
433 fn try_from(value: serde_json::Value) -> Result<Self, Self::Error> {
434 serde_json::from_value(value)
435 }
436}
437#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
438pub struct SetRuleSelectorResult {
439 #[doc = "The resulting selector list after modification."]
440 #[serde(rename = "selectorList")]
441 pub selector_list: super::types::SelectorList,
442}
443impl TryFrom<serde_json::Value> for SetRuleSelectorResult {
444 type Error = serde_json::Error;
445 fn try_from(value: serde_json::Value) -> Result<Self, Self::Error> {
446 serde_json::from_value(value)
447 }
448}
449#[derive(Debug, Clone, PartialEq, Default, Serialize, Deserialize)]
450pub struct SetStyleSheetTextResult {
451 #[doc = "URL of source map associated with script (if any)."]
452 #[serde(rename = "sourceMapURL")]
453 #[serde(skip_serializing_if = "Option::is_none")]
454 #[serde(default)]
455 pub source_map_url: Option<String>,
456}
457impl TryFrom<serde_json::Value> for SetStyleSheetTextResult {
458 type Error = serde_json::Error;
459 fn try_from(value: serde_json::Value) -> Result<Self, Self::Error> {
460 serde_json::from_value(value)
461 }
462}
463#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
464pub struct SetStyleTextsResult {
465 #[doc = "The resulting styles after modification."]
466 #[serde(rename = "styles")]
467 #[serde(skip_serializing_if = "Vec::is_empty")]
468 pub styles: Vec<super::types::CssStyle>,
469}
470impl TryFrom<serde_json::Value> for SetStyleTextsResult {
471 type Error = serde_json::Error;
472 fn try_from(value: serde_json::Value) -> Result<Self, Self::Error> {
473 serde_json::from_value(value)
474 }
475}
476#[derive(Debug, Clone, PartialEq, Default, Serialize, Deserialize)]
477pub struct StartRuleUsageTrackingResult {}
478impl TryFrom<serde_json::Value> for StartRuleUsageTrackingResult {
479 type Error = serde_json::Error;
480 fn try_from(value: serde_json::Value) -> Result<Self, Self::Error> {
481 serde_json::from_value(value)
482 }
483}
484#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
485pub struct StopRuleUsageTrackingResult {
486 #[serde(rename = "ruleUsage")]
487 #[serde(skip_serializing_if = "Vec::is_empty")]
488 pub rule_usage: Vec<super::types::RuleUsage>,
489}
490impl TryFrom<serde_json::Value> for StopRuleUsageTrackingResult {
491 type Error = serde_json::Error;
492 fn try_from(value: serde_json::Value) -> Result<Self, Self::Error> {
493 serde_json::from_value(value)
494 }
495}
496#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
497pub struct TakeCoverageDeltaResult {
498 #[serde(rename = "coverage")]
499 #[serde(skip_serializing_if = "Vec::is_empty")]
500 pub coverage: Vec<super::types::RuleUsage>,
501 #[doc = "Monotonically increasing time, in seconds."]
502 #[serde(rename = "timestamp")]
503 pub timestamp: f64,
504}
505impl TryFrom<serde_json::Value> for TakeCoverageDeltaResult {
506 type Error = serde_json::Error;
507 fn try_from(value: serde_json::Value) -> Result<Self, Self::Error> {
508 serde_json::from_value(value)
509 }
510}
511#[derive(Debug, Clone, PartialEq, Default, Serialize, Deserialize)]
512pub struct SetLocalFontsEnabledResult {}
513impl TryFrom<serde_json::Value> for SetLocalFontsEnabledResult {
514 type Error = serde_json::Error;
515 fn try_from(value: serde_json::Value) -> Result<Self, Self::Error> {
516 serde_json::from_value(value)
517 }
518}