1// @generated by jacquard-lexicon. DO NOT EDIT.
2//
3// Lexicon: tools.ozone.report.defs
4//
5// This file was automatically generated from Lexicon schemas.
6// Any manual changes will be overwritten on the next regeneration.
7
8#[derive(Debug, Clone, PartialEq, Eq, Hash)]
9pub enum ReasonType<'a> {
10 ToolsOzoneReportDefsReasonAppeal,
11 ToolsOzoneReportDefsReasonViolenceAnimalWelfare,
12 ToolsOzoneReportDefsReasonViolenceThreats,
13 ToolsOzoneReportDefsReasonViolenceGraphicContent,
14 ToolsOzoneReportDefsReasonViolenceSelfHarm,
15 ToolsOzoneReportDefsReasonViolenceGlorification,
16 ToolsOzoneReportDefsReasonViolenceExtremistContent,
17 ToolsOzoneReportDefsReasonViolenceTrafficking,
18 ToolsOzoneReportDefsReasonViolenceOther,
19 ToolsOzoneReportDefsReasonSexualAbuseContent,
20 ToolsOzoneReportDefsReasonSexualNcii,
21 ToolsOzoneReportDefsReasonSexualSextortion,
22 ToolsOzoneReportDefsReasonSexualDeepfake,
23 ToolsOzoneReportDefsReasonSexualAnimal,
24 ToolsOzoneReportDefsReasonSexualUnlabeled,
25 ToolsOzoneReportDefsReasonSexualOther,
26 ToolsOzoneReportDefsReasonChildSafetyCsam,
27 ToolsOzoneReportDefsReasonChildSafetyGroom,
28 ToolsOzoneReportDefsReasonChildSafetyMinorPrivacy,
29 ToolsOzoneReportDefsReasonChildSafetyEndangerment,
30 ToolsOzoneReportDefsReasonChildSafetyHarassment,
31 ToolsOzoneReportDefsReasonChildSafetyPromotion,
32 ToolsOzoneReportDefsReasonChildSafetyOther,
33 ToolsOzoneReportDefsReasonHarassmentTroll,
34 ToolsOzoneReportDefsReasonHarassmentTargeted,
35 ToolsOzoneReportDefsReasonHarassmentHateSpeech,
36 ToolsOzoneReportDefsReasonHarassmentDoxxing,
37 ToolsOzoneReportDefsReasonHarassmentOther,
38 ToolsOzoneReportDefsReasonMisleadingBot,
39 ToolsOzoneReportDefsReasonMisleadingImpersonation,
40 ToolsOzoneReportDefsReasonMisleadingSpam,
41 ToolsOzoneReportDefsReasonMisleadingScam,
42 ToolsOzoneReportDefsReasonMisleadingSyntheticContent,
43 ToolsOzoneReportDefsReasonMisleadingMisinformation,
44 ToolsOzoneReportDefsReasonMisleadingOther,
45 ToolsOzoneReportDefsReasonRuleSiteSecurity,
46 ToolsOzoneReportDefsReasonRuleStolenContent,
47 ToolsOzoneReportDefsReasonRuleProhibitedSales,
48 ToolsOzoneReportDefsReasonRuleBanEvasion,
49 ToolsOzoneReportDefsReasonRuleOther,
50 ToolsOzoneReportDefsReasonCivicElectoralProcess,
51 ToolsOzoneReportDefsReasonCivicDisclosure,
52 ToolsOzoneReportDefsReasonCivicInterference,
53 ToolsOzoneReportDefsReasonCivicMisinformation,
54 ToolsOzoneReportDefsReasonCivicImpersonation,
55 Other(jacquard_common::CowStr<'a>),
56}
57
58impl<'a> ReasonType<'a> {
59 pub fn as_str(&self) -> &str {
60 match self {
61 Self::ToolsOzoneReportDefsReasonAppeal => {
62 "tools.ozone.report.defs#reasonAppeal"
63 }
64 Self::ToolsOzoneReportDefsReasonViolenceAnimalWelfare => {
65 "tools.ozone.report.defs#reasonViolenceAnimalWelfare"
66 }
67 Self::ToolsOzoneReportDefsReasonViolenceThreats => {
68 "tools.ozone.report.defs#reasonViolenceThreats"
69 }
70 Self::ToolsOzoneReportDefsReasonViolenceGraphicContent => {
71 "tools.ozone.report.defs#reasonViolenceGraphicContent"
72 }
73 Self::ToolsOzoneReportDefsReasonViolenceSelfHarm => {
74 "tools.ozone.report.defs#reasonViolenceSelfHarm"
75 }
76 Self::ToolsOzoneReportDefsReasonViolenceGlorification => {
77 "tools.ozone.report.defs#reasonViolenceGlorification"
78 }
79 Self::ToolsOzoneReportDefsReasonViolenceExtremistContent => {
80 "tools.ozone.report.defs#reasonViolenceExtremistContent"
81 }
82 Self::ToolsOzoneReportDefsReasonViolenceTrafficking => {
83 "tools.ozone.report.defs#reasonViolenceTrafficking"
84 }
85 Self::ToolsOzoneReportDefsReasonViolenceOther => {
86 "tools.ozone.report.defs#reasonViolenceOther"
87 }
88 Self::ToolsOzoneReportDefsReasonSexualAbuseContent => {
89 "tools.ozone.report.defs#reasonSexualAbuseContent"
90 }
91 Self::ToolsOzoneReportDefsReasonSexualNcii => {
92 "tools.ozone.report.defs#reasonSexualNCII"
93 }
94 Self::ToolsOzoneReportDefsReasonSexualSextortion => {
95 "tools.ozone.report.defs#reasonSexualSextortion"
96 }
97 Self::ToolsOzoneReportDefsReasonSexualDeepfake => {
98 "tools.ozone.report.defs#reasonSexualDeepfake"
99 }
100 Self::ToolsOzoneReportDefsReasonSexualAnimal => {
101 "tools.ozone.report.defs#reasonSexualAnimal"
102 }
103 Self::ToolsOzoneReportDefsReasonSexualUnlabeled => {
104 "tools.ozone.report.defs#reasonSexualUnlabeled"
105 }
106 Self::ToolsOzoneReportDefsReasonSexualOther => {
107 "tools.ozone.report.defs#reasonSexualOther"
108 }
109 Self::ToolsOzoneReportDefsReasonChildSafetyCsam => {
110 "tools.ozone.report.defs#reasonChildSafetyCSAM"
111 }
112 Self::ToolsOzoneReportDefsReasonChildSafetyGroom => {
113 "tools.ozone.report.defs#reasonChildSafetyGroom"
114 }
115 Self::ToolsOzoneReportDefsReasonChildSafetyMinorPrivacy => {
116 "tools.ozone.report.defs#reasonChildSafetyMinorPrivacy"
117 }
118 Self::ToolsOzoneReportDefsReasonChildSafetyEndangerment => {
119 "tools.ozone.report.defs#reasonChildSafetyEndangerment"
120 }
121 Self::ToolsOzoneReportDefsReasonChildSafetyHarassment => {
122 "tools.ozone.report.defs#reasonChildSafetyHarassment"
123 }
124 Self::ToolsOzoneReportDefsReasonChildSafetyPromotion => {
125 "tools.ozone.report.defs#reasonChildSafetyPromotion"
126 }
127 Self::ToolsOzoneReportDefsReasonChildSafetyOther => {
128 "tools.ozone.report.defs#reasonChildSafetyOther"
129 }
130 Self::ToolsOzoneReportDefsReasonHarassmentTroll => {
131 "tools.ozone.report.defs#reasonHarassmentTroll"
132 }
133 Self::ToolsOzoneReportDefsReasonHarassmentTargeted => {
134 "tools.ozone.report.defs#reasonHarassmentTargeted"
135 }
136 Self::ToolsOzoneReportDefsReasonHarassmentHateSpeech => {
137 "tools.ozone.report.defs#reasonHarassmentHateSpeech"
138 }
139 Self::ToolsOzoneReportDefsReasonHarassmentDoxxing => {
140 "tools.ozone.report.defs#reasonHarassmentDoxxing"
141 }
142 Self::ToolsOzoneReportDefsReasonHarassmentOther => {
143 "tools.ozone.report.defs#reasonHarassmentOther"
144 }
145 Self::ToolsOzoneReportDefsReasonMisleadingBot => {
146 "tools.ozone.report.defs#reasonMisleadingBot"
147 }
148 Self::ToolsOzoneReportDefsReasonMisleadingImpersonation => {
149 "tools.ozone.report.defs#reasonMisleadingImpersonation"
150 }
151 Self::ToolsOzoneReportDefsReasonMisleadingSpam => {
152 "tools.ozone.report.defs#reasonMisleadingSpam"
153 }
154 Self::ToolsOzoneReportDefsReasonMisleadingScam => {
155 "tools.ozone.report.defs#reasonMisleadingScam"
156 }
157 Self::ToolsOzoneReportDefsReasonMisleadingSyntheticContent => {
158 "tools.ozone.report.defs#reasonMisleadingSyntheticContent"
159 }
160 Self::ToolsOzoneReportDefsReasonMisleadingMisinformation => {
161 "tools.ozone.report.defs#reasonMisleadingMisinformation"
162 }
163 Self::ToolsOzoneReportDefsReasonMisleadingOther => {
164 "tools.ozone.report.defs#reasonMisleadingOther"
165 }
166 Self::ToolsOzoneReportDefsReasonRuleSiteSecurity => {
167 "tools.ozone.report.defs#reasonRuleSiteSecurity"
168 }
169 Self::ToolsOzoneReportDefsReasonRuleStolenContent => {
170 "tools.ozone.report.defs#reasonRuleStolenContent"
171 }
172 Self::ToolsOzoneReportDefsReasonRuleProhibitedSales => {
173 "tools.ozone.report.defs#reasonRuleProhibitedSales"
174 }
175 Self::ToolsOzoneReportDefsReasonRuleBanEvasion => {
176 "tools.ozone.report.defs#reasonRuleBanEvasion"
177 }
178 Self::ToolsOzoneReportDefsReasonRuleOther => {
179 "tools.ozone.report.defs#reasonRuleOther"
180 }
181 Self::ToolsOzoneReportDefsReasonCivicElectoralProcess => {
182 "tools.ozone.report.defs#reasonCivicElectoralProcess"
183 }
184 Self::ToolsOzoneReportDefsReasonCivicDisclosure => {
185 "tools.ozone.report.defs#reasonCivicDisclosure"
186 }
187 Self::ToolsOzoneReportDefsReasonCivicInterference => {
188 "tools.ozone.report.defs#reasonCivicInterference"
189 }
190 Self::ToolsOzoneReportDefsReasonCivicMisinformation => {
191 "tools.ozone.report.defs#reasonCivicMisinformation"
192 }
193 Self::ToolsOzoneReportDefsReasonCivicImpersonation => {
194 "tools.ozone.report.defs#reasonCivicImpersonation"
195 }
196 Self::Other(s) => s.as_ref(),
197 }
198 }
199}
200
201impl<'a> From<&'a str> for ReasonType<'a> {
202 fn from(s: &'a str) -> Self {
203 match s {
204 "tools.ozone.report.defs#reasonAppeal" => {
205 Self::ToolsOzoneReportDefsReasonAppeal
206 }
207 "tools.ozone.report.defs#reasonViolenceAnimalWelfare" => {
208 Self::ToolsOzoneReportDefsReasonViolenceAnimalWelfare
209 }
210 "tools.ozone.report.defs#reasonViolenceThreats" => {
211 Self::ToolsOzoneReportDefsReasonViolenceThreats
212 }
213 "tools.ozone.report.defs#reasonViolenceGraphicContent" => {
214 Self::ToolsOzoneReportDefsReasonViolenceGraphicContent
215 }
216 "tools.ozone.report.defs#reasonViolenceSelfHarm" => {
217 Self::ToolsOzoneReportDefsReasonViolenceSelfHarm
218 }
219 "tools.ozone.report.defs#reasonViolenceGlorification" => {
220 Self::ToolsOzoneReportDefsReasonViolenceGlorification
221 }
222 "tools.ozone.report.defs#reasonViolenceExtremistContent" => {
223 Self::ToolsOzoneReportDefsReasonViolenceExtremistContent
224 }
225 "tools.ozone.report.defs#reasonViolenceTrafficking" => {
226 Self::ToolsOzoneReportDefsReasonViolenceTrafficking
227 }
228 "tools.ozone.report.defs#reasonViolenceOther" => {
229 Self::ToolsOzoneReportDefsReasonViolenceOther
230 }
231 "tools.ozone.report.defs#reasonSexualAbuseContent" => {
232 Self::ToolsOzoneReportDefsReasonSexualAbuseContent
233 }
234 "tools.ozone.report.defs#reasonSexualNCII" => {
235 Self::ToolsOzoneReportDefsReasonSexualNcii
236 }
237 "tools.ozone.report.defs#reasonSexualSextortion" => {
238 Self::ToolsOzoneReportDefsReasonSexualSextortion
239 }
240 "tools.ozone.report.defs#reasonSexualDeepfake" => {
241 Self::ToolsOzoneReportDefsReasonSexualDeepfake
242 }
243 "tools.ozone.report.defs#reasonSexualAnimal" => {
244 Self::ToolsOzoneReportDefsReasonSexualAnimal
245 }
246 "tools.ozone.report.defs#reasonSexualUnlabeled" => {
247 Self::ToolsOzoneReportDefsReasonSexualUnlabeled
248 }
249 "tools.ozone.report.defs#reasonSexualOther" => {
250 Self::ToolsOzoneReportDefsReasonSexualOther
251 }
252 "tools.ozone.report.defs#reasonChildSafetyCSAM" => {
253 Self::ToolsOzoneReportDefsReasonChildSafetyCsam
254 }
255 "tools.ozone.report.defs#reasonChildSafetyGroom" => {
256 Self::ToolsOzoneReportDefsReasonChildSafetyGroom
257 }
258 "tools.ozone.report.defs#reasonChildSafetyMinorPrivacy" => {
259 Self::ToolsOzoneReportDefsReasonChildSafetyMinorPrivacy
260 }
261 "tools.ozone.report.defs#reasonChildSafetyEndangerment" => {
262 Self::ToolsOzoneReportDefsReasonChildSafetyEndangerment
263 }
264 "tools.ozone.report.defs#reasonChildSafetyHarassment" => {
265 Self::ToolsOzoneReportDefsReasonChildSafetyHarassment
266 }
267 "tools.ozone.report.defs#reasonChildSafetyPromotion" => {
268 Self::ToolsOzoneReportDefsReasonChildSafetyPromotion
269 }
270 "tools.ozone.report.defs#reasonChildSafetyOther" => {
271 Self::ToolsOzoneReportDefsReasonChildSafetyOther
272 }
273 "tools.ozone.report.defs#reasonHarassmentTroll" => {
274 Self::ToolsOzoneReportDefsReasonHarassmentTroll
275 }
276 "tools.ozone.report.defs#reasonHarassmentTargeted" => {
277 Self::ToolsOzoneReportDefsReasonHarassmentTargeted
278 }
279 "tools.ozone.report.defs#reasonHarassmentHateSpeech" => {
280 Self::ToolsOzoneReportDefsReasonHarassmentHateSpeech
281 }
282 "tools.ozone.report.defs#reasonHarassmentDoxxing" => {
283 Self::ToolsOzoneReportDefsReasonHarassmentDoxxing
284 }
285 "tools.ozone.report.defs#reasonHarassmentOther" => {
286 Self::ToolsOzoneReportDefsReasonHarassmentOther
287 }
288 "tools.ozone.report.defs#reasonMisleadingBot" => {
289 Self::ToolsOzoneReportDefsReasonMisleadingBot
290 }
291 "tools.ozone.report.defs#reasonMisleadingImpersonation" => {
292 Self::ToolsOzoneReportDefsReasonMisleadingImpersonation
293 }
294 "tools.ozone.report.defs#reasonMisleadingSpam" => {
295 Self::ToolsOzoneReportDefsReasonMisleadingSpam
296 }
297 "tools.ozone.report.defs#reasonMisleadingScam" => {
298 Self::ToolsOzoneReportDefsReasonMisleadingScam
299 }
300 "tools.ozone.report.defs#reasonMisleadingSyntheticContent" => {
301 Self::ToolsOzoneReportDefsReasonMisleadingSyntheticContent
302 }
303 "tools.ozone.report.defs#reasonMisleadingMisinformation" => {
304 Self::ToolsOzoneReportDefsReasonMisleadingMisinformation
305 }
306 "tools.ozone.report.defs#reasonMisleadingOther" => {
307 Self::ToolsOzoneReportDefsReasonMisleadingOther
308 }
309 "tools.ozone.report.defs#reasonRuleSiteSecurity" => {
310 Self::ToolsOzoneReportDefsReasonRuleSiteSecurity
311 }
312 "tools.ozone.report.defs#reasonRuleStolenContent" => {
313 Self::ToolsOzoneReportDefsReasonRuleStolenContent
314 }
315 "tools.ozone.report.defs#reasonRuleProhibitedSales" => {
316 Self::ToolsOzoneReportDefsReasonRuleProhibitedSales
317 }
318 "tools.ozone.report.defs#reasonRuleBanEvasion" => {
319 Self::ToolsOzoneReportDefsReasonRuleBanEvasion
320 }
321 "tools.ozone.report.defs#reasonRuleOther" => {
322 Self::ToolsOzoneReportDefsReasonRuleOther
323 }
324 "tools.ozone.report.defs#reasonCivicElectoralProcess" => {
325 Self::ToolsOzoneReportDefsReasonCivicElectoralProcess
326 }
327 "tools.ozone.report.defs#reasonCivicDisclosure" => {
328 Self::ToolsOzoneReportDefsReasonCivicDisclosure
329 }
330 "tools.ozone.report.defs#reasonCivicInterference" => {
331 Self::ToolsOzoneReportDefsReasonCivicInterference
332 }
333 "tools.ozone.report.defs#reasonCivicMisinformation" => {
334 Self::ToolsOzoneReportDefsReasonCivicMisinformation
335 }
336 "tools.ozone.report.defs#reasonCivicImpersonation" => {
337 Self::ToolsOzoneReportDefsReasonCivicImpersonation
338 }
339 _ => Self::Other(jacquard_common::CowStr::from(s)),
340 }
341 }
342}
343
344impl<'a> From<String> for ReasonType<'a> {
345 fn from(s: String) -> Self {
346 match s.as_str() {
347 "tools.ozone.report.defs#reasonAppeal" => {
348 Self::ToolsOzoneReportDefsReasonAppeal
349 }
350 "tools.ozone.report.defs#reasonViolenceAnimalWelfare" => {
351 Self::ToolsOzoneReportDefsReasonViolenceAnimalWelfare
352 }
353 "tools.ozone.report.defs#reasonViolenceThreats" => {
354 Self::ToolsOzoneReportDefsReasonViolenceThreats
355 }
356 "tools.ozone.report.defs#reasonViolenceGraphicContent" => {
357 Self::ToolsOzoneReportDefsReasonViolenceGraphicContent
358 }
359 "tools.ozone.report.defs#reasonViolenceSelfHarm" => {
360 Self::ToolsOzoneReportDefsReasonViolenceSelfHarm
361 }
362 "tools.ozone.report.defs#reasonViolenceGlorification" => {
363 Self::ToolsOzoneReportDefsReasonViolenceGlorification
364 }
365 "tools.ozone.report.defs#reasonViolenceExtremistContent" => {
366 Self::ToolsOzoneReportDefsReasonViolenceExtremistContent
367 }
368 "tools.ozone.report.defs#reasonViolenceTrafficking" => {
369 Self::ToolsOzoneReportDefsReasonViolenceTrafficking
370 }
371 "tools.ozone.report.defs#reasonViolenceOther" => {
372 Self::ToolsOzoneReportDefsReasonViolenceOther
373 }
374 "tools.ozone.report.defs#reasonSexualAbuseContent" => {
375 Self::ToolsOzoneReportDefsReasonSexualAbuseContent
376 }
377 "tools.ozone.report.defs#reasonSexualNCII" => {
378 Self::ToolsOzoneReportDefsReasonSexualNcii
379 }
380 "tools.ozone.report.defs#reasonSexualSextortion" => {
381 Self::ToolsOzoneReportDefsReasonSexualSextortion
382 }
383 "tools.ozone.report.defs#reasonSexualDeepfake" => {
384 Self::ToolsOzoneReportDefsReasonSexualDeepfake
385 }
386 "tools.ozone.report.defs#reasonSexualAnimal" => {
387 Self::ToolsOzoneReportDefsReasonSexualAnimal
388 }
389 "tools.ozone.report.defs#reasonSexualUnlabeled" => {
390 Self::ToolsOzoneReportDefsReasonSexualUnlabeled
391 }
392 "tools.ozone.report.defs#reasonSexualOther" => {
393 Self::ToolsOzoneReportDefsReasonSexualOther
394 }
395 "tools.ozone.report.defs#reasonChildSafetyCSAM" => {
396 Self::ToolsOzoneReportDefsReasonChildSafetyCsam
397 }
398 "tools.ozone.report.defs#reasonChildSafetyGroom" => {
399 Self::ToolsOzoneReportDefsReasonChildSafetyGroom
400 }
401 "tools.ozone.report.defs#reasonChildSafetyMinorPrivacy" => {
402 Self::ToolsOzoneReportDefsReasonChildSafetyMinorPrivacy
403 }
404 "tools.ozone.report.defs#reasonChildSafetyEndangerment" => {
405 Self::ToolsOzoneReportDefsReasonChildSafetyEndangerment
406 }
407 "tools.ozone.report.defs#reasonChildSafetyHarassment" => {
408 Self::ToolsOzoneReportDefsReasonChildSafetyHarassment
409 }
410 "tools.ozone.report.defs#reasonChildSafetyPromotion" => {
411 Self::ToolsOzoneReportDefsReasonChildSafetyPromotion
412 }
413 "tools.ozone.report.defs#reasonChildSafetyOther" => {
414 Self::ToolsOzoneReportDefsReasonChildSafetyOther
415 }
416 "tools.ozone.report.defs#reasonHarassmentTroll" => {
417 Self::ToolsOzoneReportDefsReasonHarassmentTroll
418 }
419 "tools.ozone.report.defs#reasonHarassmentTargeted" => {
420 Self::ToolsOzoneReportDefsReasonHarassmentTargeted
421 }
422 "tools.ozone.report.defs#reasonHarassmentHateSpeech" => {
423 Self::ToolsOzoneReportDefsReasonHarassmentHateSpeech
424 }
425 "tools.ozone.report.defs#reasonHarassmentDoxxing" => {
426 Self::ToolsOzoneReportDefsReasonHarassmentDoxxing
427 }
428 "tools.ozone.report.defs#reasonHarassmentOther" => {
429 Self::ToolsOzoneReportDefsReasonHarassmentOther
430 }
431 "tools.ozone.report.defs#reasonMisleadingBot" => {
432 Self::ToolsOzoneReportDefsReasonMisleadingBot
433 }
434 "tools.ozone.report.defs#reasonMisleadingImpersonation" => {
435 Self::ToolsOzoneReportDefsReasonMisleadingImpersonation
436 }
437 "tools.ozone.report.defs#reasonMisleadingSpam" => {
438 Self::ToolsOzoneReportDefsReasonMisleadingSpam
439 }
440 "tools.ozone.report.defs#reasonMisleadingScam" => {
441 Self::ToolsOzoneReportDefsReasonMisleadingScam
442 }
443 "tools.ozone.report.defs#reasonMisleadingSyntheticContent" => {
444 Self::ToolsOzoneReportDefsReasonMisleadingSyntheticContent
445 }
446 "tools.ozone.report.defs#reasonMisleadingMisinformation" => {
447 Self::ToolsOzoneReportDefsReasonMisleadingMisinformation
448 }
449 "tools.ozone.report.defs#reasonMisleadingOther" => {
450 Self::ToolsOzoneReportDefsReasonMisleadingOther
451 }
452 "tools.ozone.report.defs#reasonRuleSiteSecurity" => {
453 Self::ToolsOzoneReportDefsReasonRuleSiteSecurity
454 }
455 "tools.ozone.report.defs#reasonRuleStolenContent" => {
456 Self::ToolsOzoneReportDefsReasonRuleStolenContent
457 }
458 "tools.ozone.report.defs#reasonRuleProhibitedSales" => {
459 Self::ToolsOzoneReportDefsReasonRuleProhibitedSales
460 }
461 "tools.ozone.report.defs#reasonRuleBanEvasion" => {
462 Self::ToolsOzoneReportDefsReasonRuleBanEvasion
463 }
464 "tools.ozone.report.defs#reasonRuleOther" => {
465 Self::ToolsOzoneReportDefsReasonRuleOther
466 }
467 "tools.ozone.report.defs#reasonCivicElectoralProcess" => {
468 Self::ToolsOzoneReportDefsReasonCivicElectoralProcess
469 }
470 "tools.ozone.report.defs#reasonCivicDisclosure" => {
471 Self::ToolsOzoneReportDefsReasonCivicDisclosure
472 }
473 "tools.ozone.report.defs#reasonCivicInterference" => {
474 Self::ToolsOzoneReportDefsReasonCivicInterference
475 }
476 "tools.ozone.report.defs#reasonCivicMisinformation" => {
477 Self::ToolsOzoneReportDefsReasonCivicMisinformation
478 }
479 "tools.ozone.report.defs#reasonCivicImpersonation" => {
480 Self::ToolsOzoneReportDefsReasonCivicImpersonation
481 }
482 _ => Self::Other(jacquard_common::CowStr::from(s)),
483 }
484 }
485}
486
487impl<'a> AsRef<str> for ReasonType<'a> {
488 fn as_ref(&self) -> &str {
489 self.as_str()
490 }
491}
492
493impl<'a> serde::Serialize for ReasonType<'a> {
494 fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
495 where
496 S: serde::Serializer,
497 {
498 serializer.serialize_str(self.as_str())
499 }
500}
501
502impl<'de, 'a> serde::Deserialize<'de> for ReasonType<'a>
503where
504 'de: 'a,
505{
506 fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
507 where
508 D: serde::Deserializer<'de>,
509 {
510 let s = <&'de str>::deserialize(deserializer)?;
511 Ok(Self::from(s))
512 }
513}
514
515impl jacquard_common::IntoStatic for ReasonType<'_> {
516 type Output = ReasonType<'static>;
517 fn into_static(self) -> Self::Output {
518 match self {
519 ReasonType::ToolsOzoneReportDefsReasonAppeal => {
520 ReasonType::ToolsOzoneReportDefsReasonAppeal
521 }
522 ReasonType::ToolsOzoneReportDefsReasonViolenceAnimalWelfare => {
523 ReasonType::ToolsOzoneReportDefsReasonViolenceAnimalWelfare
524 }
525 ReasonType::ToolsOzoneReportDefsReasonViolenceThreats => {
526 ReasonType::ToolsOzoneReportDefsReasonViolenceThreats
527 }
528 ReasonType::ToolsOzoneReportDefsReasonViolenceGraphicContent => {
529 ReasonType::ToolsOzoneReportDefsReasonViolenceGraphicContent
530 }
531 ReasonType::ToolsOzoneReportDefsReasonViolenceSelfHarm => {
532 ReasonType::ToolsOzoneReportDefsReasonViolenceSelfHarm
533 }
534 ReasonType::ToolsOzoneReportDefsReasonViolenceGlorification => {
535 ReasonType::ToolsOzoneReportDefsReasonViolenceGlorification
536 }
537 ReasonType::ToolsOzoneReportDefsReasonViolenceExtremistContent => {
538 ReasonType::ToolsOzoneReportDefsReasonViolenceExtremistContent
539 }
540 ReasonType::ToolsOzoneReportDefsReasonViolenceTrafficking => {
541 ReasonType::ToolsOzoneReportDefsReasonViolenceTrafficking
542 }
543 ReasonType::ToolsOzoneReportDefsReasonViolenceOther => {
544 ReasonType::ToolsOzoneReportDefsReasonViolenceOther
545 }
546 ReasonType::ToolsOzoneReportDefsReasonSexualAbuseContent => {
547 ReasonType::ToolsOzoneReportDefsReasonSexualAbuseContent
548 }
549 ReasonType::ToolsOzoneReportDefsReasonSexualNcii => {
550 ReasonType::ToolsOzoneReportDefsReasonSexualNcii
551 }
552 ReasonType::ToolsOzoneReportDefsReasonSexualSextortion => {
553 ReasonType::ToolsOzoneReportDefsReasonSexualSextortion
554 }
555 ReasonType::ToolsOzoneReportDefsReasonSexualDeepfake => {
556 ReasonType::ToolsOzoneReportDefsReasonSexualDeepfake
557 }
558 ReasonType::ToolsOzoneReportDefsReasonSexualAnimal => {
559 ReasonType::ToolsOzoneReportDefsReasonSexualAnimal
560 }
561 ReasonType::ToolsOzoneReportDefsReasonSexualUnlabeled => {
562 ReasonType::ToolsOzoneReportDefsReasonSexualUnlabeled
563 }
564 ReasonType::ToolsOzoneReportDefsReasonSexualOther => {
565 ReasonType::ToolsOzoneReportDefsReasonSexualOther
566 }
567 ReasonType::ToolsOzoneReportDefsReasonChildSafetyCsam => {
568 ReasonType::ToolsOzoneReportDefsReasonChildSafetyCsam
569 }
570 ReasonType::ToolsOzoneReportDefsReasonChildSafetyGroom => {
571 ReasonType::ToolsOzoneReportDefsReasonChildSafetyGroom
572 }
573 ReasonType::ToolsOzoneReportDefsReasonChildSafetyMinorPrivacy => {
574 ReasonType::ToolsOzoneReportDefsReasonChildSafetyMinorPrivacy
575 }
576 ReasonType::ToolsOzoneReportDefsReasonChildSafetyEndangerment => {
577 ReasonType::ToolsOzoneReportDefsReasonChildSafetyEndangerment
578 }
579 ReasonType::ToolsOzoneReportDefsReasonChildSafetyHarassment => {
580 ReasonType::ToolsOzoneReportDefsReasonChildSafetyHarassment
581 }
582 ReasonType::ToolsOzoneReportDefsReasonChildSafetyPromotion => {
583 ReasonType::ToolsOzoneReportDefsReasonChildSafetyPromotion
584 }
585 ReasonType::ToolsOzoneReportDefsReasonChildSafetyOther => {
586 ReasonType::ToolsOzoneReportDefsReasonChildSafetyOther
587 }
588 ReasonType::ToolsOzoneReportDefsReasonHarassmentTroll => {
589 ReasonType::ToolsOzoneReportDefsReasonHarassmentTroll
590 }
591 ReasonType::ToolsOzoneReportDefsReasonHarassmentTargeted => {
592 ReasonType::ToolsOzoneReportDefsReasonHarassmentTargeted
593 }
594 ReasonType::ToolsOzoneReportDefsReasonHarassmentHateSpeech => {
595 ReasonType::ToolsOzoneReportDefsReasonHarassmentHateSpeech
596 }
597 ReasonType::ToolsOzoneReportDefsReasonHarassmentDoxxing => {
598 ReasonType::ToolsOzoneReportDefsReasonHarassmentDoxxing
599 }
600 ReasonType::ToolsOzoneReportDefsReasonHarassmentOther => {
601 ReasonType::ToolsOzoneReportDefsReasonHarassmentOther
602 }
603 ReasonType::ToolsOzoneReportDefsReasonMisleadingBot => {
604 ReasonType::ToolsOzoneReportDefsReasonMisleadingBot
605 }
606 ReasonType::ToolsOzoneReportDefsReasonMisleadingImpersonation => {
607 ReasonType::ToolsOzoneReportDefsReasonMisleadingImpersonation
608 }
609 ReasonType::ToolsOzoneReportDefsReasonMisleadingSpam => {
610 ReasonType::ToolsOzoneReportDefsReasonMisleadingSpam
611 }
612 ReasonType::ToolsOzoneReportDefsReasonMisleadingScam => {
613 ReasonType::ToolsOzoneReportDefsReasonMisleadingScam
614 }
615 ReasonType::ToolsOzoneReportDefsReasonMisleadingSyntheticContent => {
616 ReasonType::ToolsOzoneReportDefsReasonMisleadingSyntheticContent
617 }
618 ReasonType::ToolsOzoneReportDefsReasonMisleadingMisinformation => {
619 ReasonType::ToolsOzoneReportDefsReasonMisleadingMisinformation
620 }
621 ReasonType::ToolsOzoneReportDefsReasonMisleadingOther => {
622 ReasonType::ToolsOzoneReportDefsReasonMisleadingOther
623 }
624 ReasonType::ToolsOzoneReportDefsReasonRuleSiteSecurity => {
625 ReasonType::ToolsOzoneReportDefsReasonRuleSiteSecurity
626 }
627 ReasonType::ToolsOzoneReportDefsReasonRuleStolenContent => {
628 ReasonType::ToolsOzoneReportDefsReasonRuleStolenContent
629 }
630 ReasonType::ToolsOzoneReportDefsReasonRuleProhibitedSales => {
631 ReasonType::ToolsOzoneReportDefsReasonRuleProhibitedSales
632 }
633 ReasonType::ToolsOzoneReportDefsReasonRuleBanEvasion => {
634 ReasonType::ToolsOzoneReportDefsReasonRuleBanEvasion
635 }
636 ReasonType::ToolsOzoneReportDefsReasonRuleOther => {
637 ReasonType::ToolsOzoneReportDefsReasonRuleOther
638 }
639 ReasonType::ToolsOzoneReportDefsReasonCivicElectoralProcess => {
640 ReasonType::ToolsOzoneReportDefsReasonCivicElectoralProcess
641 }
642 ReasonType::ToolsOzoneReportDefsReasonCivicDisclosure => {
643 ReasonType::ToolsOzoneReportDefsReasonCivicDisclosure
644 }
645 ReasonType::ToolsOzoneReportDefsReasonCivicInterference => {
646 ReasonType::ToolsOzoneReportDefsReasonCivicInterference
647 }
648 ReasonType::ToolsOzoneReportDefsReasonCivicMisinformation => {
649 ReasonType::ToolsOzoneReportDefsReasonCivicMisinformation
650 }
651 ReasonType::ToolsOzoneReportDefsReasonCivicImpersonation => {
652 ReasonType::ToolsOzoneReportDefsReasonCivicImpersonation
653 }
654 ReasonType::Other(v) => ReasonType::Other(v.into_static()),
655 }
656 }
657}