Skip to main content

rustenium_cdp_definitions/browser_protocol/css/
results.rs

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}