1#[cfg_attr(feature = "derive-debug", derive(Debug))]
3#[cfg_attr(feature = "derive-clone", derive(Clone))]
4pub enum UsNonprofitType {
5 Nonprofit501A,
7 Nonprofit501C1,
9 Nonprofit501C10,
11 Nonprofit501C11,
13 Nonprofit501C12,
15 Nonprofit501C13,
17 Nonprofit501C14,
19 Nonprofit501C15,
21 Nonprofit501C16,
23 Nonprofit501C17,
25 Nonprofit501C18,
27 Nonprofit501C19,
29 Nonprofit501C2,
31 Nonprofit501C20,
33 Nonprofit501C21,
35 Nonprofit501C22,
37 Nonprofit501C23,
39 Nonprofit501C24,
41 Nonprofit501C25,
43 Nonprofit501C26,
45 Nonprofit501C27,
47 Nonprofit501C28,
49 Nonprofit501C3,
51 Nonprofit501C4,
53 Nonprofit501C5,
55 Nonprofit501C6,
57 Nonprofit501C7,
59 Nonprofit501C8,
61 Nonprofit501C9,
63 Nonprofit501D,
65 Nonprofit501E,
67 Nonprofit501F,
69 Nonprofit501K,
71 Nonprofit501N,
73 Nonprofit501Q,
75 Nonprofit527,
77}
78#[cfg(feature = "serde")]
79mod serde {
80 use std::{fmt, fmt::Formatter};
81
82 use ::serde::{
83 de, de::Visitor, ser::SerializeStruct, Deserialize, Deserializer, Serialize, Serializer,
84 };
85
86 use super::*;
87 impl Serialize for UsNonprofitType {
88 fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
89 where
90 S: Serializer,
91 {
92 match *self {
93 UsNonprofitType::Nonprofit501A => {
94 serializer.serialize_unit_variant("UsNonprofitType", 0u32, "Nonprofit501A")
95 }
96 UsNonprofitType::Nonprofit501C1 => {
97 serializer.serialize_unit_variant("UsNonprofitType", 1u32, "Nonprofit501C1")
98 }
99 UsNonprofitType::Nonprofit501C10 => {
100 serializer.serialize_unit_variant("UsNonprofitType", 2u32, "Nonprofit501C10")
101 }
102 UsNonprofitType::Nonprofit501C11 => {
103 serializer.serialize_unit_variant("UsNonprofitType", 3u32, "Nonprofit501C11")
104 }
105 UsNonprofitType::Nonprofit501C12 => {
106 serializer.serialize_unit_variant("UsNonprofitType", 4u32, "Nonprofit501C12")
107 }
108 UsNonprofitType::Nonprofit501C13 => {
109 serializer.serialize_unit_variant("UsNonprofitType", 5u32, "Nonprofit501C13")
110 }
111 UsNonprofitType::Nonprofit501C14 => {
112 serializer.serialize_unit_variant("UsNonprofitType", 6u32, "Nonprofit501C14")
113 }
114 UsNonprofitType::Nonprofit501C15 => {
115 serializer.serialize_unit_variant("UsNonprofitType", 7u32, "Nonprofit501C15")
116 }
117 UsNonprofitType::Nonprofit501C16 => {
118 serializer.serialize_unit_variant("UsNonprofitType", 8u32, "Nonprofit501C16")
119 }
120 UsNonprofitType::Nonprofit501C17 => {
121 serializer.serialize_unit_variant("UsNonprofitType", 9u32, "Nonprofit501C17")
122 }
123 UsNonprofitType::Nonprofit501C18 => {
124 serializer.serialize_unit_variant("UsNonprofitType", 10u32, "Nonprofit501C18")
125 }
126 UsNonprofitType::Nonprofit501C19 => {
127 serializer.serialize_unit_variant("UsNonprofitType", 11u32, "Nonprofit501C19")
128 }
129 UsNonprofitType::Nonprofit501C2 => {
130 serializer.serialize_unit_variant("UsNonprofitType", 12u32, "Nonprofit501C2")
131 }
132 UsNonprofitType::Nonprofit501C20 => {
133 serializer.serialize_unit_variant("UsNonprofitType", 13u32, "Nonprofit501C20")
134 }
135 UsNonprofitType::Nonprofit501C21 => {
136 serializer.serialize_unit_variant("UsNonprofitType", 14u32, "Nonprofit501C21")
137 }
138 UsNonprofitType::Nonprofit501C22 => {
139 serializer.serialize_unit_variant("UsNonprofitType", 15u32, "Nonprofit501C22")
140 }
141 UsNonprofitType::Nonprofit501C23 => {
142 serializer.serialize_unit_variant("UsNonprofitType", 16u32, "Nonprofit501C23")
143 }
144 UsNonprofitType::Nonprofit501C24 => {
145 serializer.serialize_unit_variant("UsNonprofitType", 17u32, "Nonprofit501C24")
146 }
147 UsNonprofitType::Nonprofit501C25 => {
148 serializer.serialize_unit_variant("UsNonprofitType", 18u32, "Nonprofit501C25")
149 }
150 UsNonprofitType::Nonprofit501C26 => {
151 serializer.serialize_unit_variant("UsNonprofitType", 19u32, "Nonprofit501C26")
152 }
153 UsNonprofitType::Nonprofit501C27 => {
154 serializer.serialize_unit_variant("UsNonprofitType", 20u32, "Nonprofit501C27")
155 }
156 UsNonprofitType::Nonprofit501C28 => {
157 serializer.serialize_unit_variant("UsNonprofitType", 21u32, "Nonprofit501C28")
158 }
159 UsNonprofitType::Nonprofit501C3 => {
160 serializer.serialize_unit_variant("UsNonprofitType", 22u32, "Nonprofit501C3")
161 }
162 UsNonprofitType::Nonprofit501C4 => {
163 serializer.serialize_unit_variant("UsNonprofitType", 23u32, "Nonprofit501C4")
164 }
165 UsNonprofitType::Nonprofit501C5 => {
166 serializer.serialize_unit_variant("UsNonprofitType", 24u32, "Nonprofit501C5")
167 }
168 UsNonprofitType::Nonprofit501C6 => {
169 serializer.serialize_unit_variant("UsNonprofitType", 25u32, "Nonprofit501C6")
170 }
171 UsNonprofitType::Nonprofit501C7 => {
172 serializer.serialize_unit_variant("UsNonprofitType", 26u32, "Nonprofit501C7")
173 }
174 UsNonprofitType::Nonprofit501C8 => {
175 serializer.serialize_unit_variant("UsNonprofitType", 27u32, "Nonprofit501C8")
176 }
177 UsNonprofitType::Nonprofit501C9 => {
178 serializer.serialize_unit_variant("UsNonprofitType", 28u32, "Nonprofit501C9")
179 }
180 UsNonprofitType::Nonprofit501D => {
181 serializer.serialize_unit_variant("UsNonprofitType", 29u32, "Nonprofit501D")
182 }
183 UsNonprofitType::Nonprofit501E => {
184 serializer.serialize_unit_variant("UsNonprofitType", 30u32, "Nonprofit501E")
185 }
186 UsNonprofitType::Nonprofit501F => {
187 serializer.serialize_unit_variant("UsNonprofitType", 31u32, "Nonprofit501F")
188 }
189 UsNonprofitType::Nonprofit501K => {
190 serializer.serialize_unit_variant("UsNonprofitType", 32u32, "Nonprofit501K")
191 }
192 UsNonprofitType::Nonprofit501N => {
193 serializer.serialize_unit_variant("UsNonprofitType", 33u32, "Nonprofit501N")
194 }
195 UsNonprofitType::Nonprofit501Q => {
196 serializer.serialize_unit_variant("UsNonprofitType", 34u32, "Nonprofit501Q")
197 }
198 UsNonprofitType::Nonprofit527 => {
199 serializer.serialize_unit_variant("UsNonprofitType", 35u32, "Nonprofit527")
200 }
201 }
202 }
203 }
204 impl<'de> Deserialize<'de> for UsNonprofitType {
205 fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
206 where
207 D: Deserializer<'de>,
208 {
209 enum Field {
210 Nonprofit501A,
211 Nonprofit501C1,
212 Nonprofit501C10,
213 Nonprofit501C11,
214 Nonprofit501C12,
215 Nonprofit501C13,
216 Nonprofit501C14,
217 Nonprofit501C15,
218 Nonprofit501C16,
219 Nonprofit501C17,
220 Nonprofit501C18,
221 Nonprofit501C19,
222 Nonprofit501C2,
223 Nonprofit501C20,
224 Nonprofit501C21,
225 Nonprofit501C22,
226 Nonprofit501C23,
227 Nonprofit501C24,
228 Nonprofit501C25,
229 Nonprofit501C26,
230 Nonprofit501C27,
231 Nonprofit501C28,
232 Nonprofit501C3,
233 Nonprofit501C4,
234 Nonprofit501C5,
235 Nonprofit501C6,
236 Nonprofit501C7,
237 Nonprofit501C8,
238 Nonprofit501C9,
239 Nonprofit501D,
240 Nonprofit501E,
241 Nonprofit501F,
242 Nonprofit501K,
243 Nonprofit501N,
244 Nonprofit501Q,
245 Nonprofit527,
246 }
247 struct FieldVisitor;
248 impl<'de> de::Visitor<'de> for FieldVisitor {
249 type Value = Field;
250 fn expecting(&self, formatter: &mut Formatter) -> fmt::Result {
251 formatter.write_str("variant identifier")
252 }
253 fn visit_str<E>(self, value: &str) -> Result<Self::Value, E>
254 where
255 E: de::Error,
256 {
257 match value {
258 "Nonprofit501A" => Ok(Field::Nonprofit501A),
259 "Nonprofit501C1" => Ok(Field::Nonprofit501C1),
260 "Nonprofit501C10" => Ok(Field::Nonprofit501C10),
261 "Nonprofit501C11" => Ok(Field::Nonprofit501C11),
262 "Nonprofit501C12" => Ok(Field::Nonprofit501C12),
263 "Nonprofit501C13" => Ok(Field::Nonprofit501C13),
264 "Nonprofit501C14" => Ok(Field::Nonprofit501C14),
265 "Nonprofit501C15" => Ok(Field::Nonprofit501C15),
266 "Nonprofit501C16" => Ok(Field::Nonprofit501C16),
267 "Nonprofit501C17" => Ok(Field::Nonprofit501C17),
268 "Nonprofit501C18" => Ok(Field::Nonprofit501C18),
269 "Nonprofit501C19" => Ok(Field::Nonprofit501C19),
270 "Nonprofit501C2" => Ok(Field::Nonprofit501C2),
271 "Nonprofit501C20" => Ok(Field::Nonprofit501C20),
272 "Nonprofit501C21" => Ok(Field::Nonprofit501C21),
273 "Nonprofit501C22" => Ok(Field::Nonprofit501C22),
274 "Nonprofit501C23" => Ok(Field::Nonprofit501C23),
275 "Nonprofit501C24" => Ok(Field::Nonprofit501C24),
276 "Nonprofit501C25" => Ok(Field::Nonprofit501C25),
277 "Nonprofit501C26" => Ok(Field::Nonprofit501C26),
278 "Nonprofit501C27" => Ok(Field::Nonprofit501C27),
279 "Nonprofit501C28" => Ok(Field::Nonprofit501C28),
280 "Nonprofit501C3" => Ok(Field::Nonprofit501C3),
281 "Nonprofit501C4" => Ok(Field::Nonprofit501C4),
282 "Nonprofit501C5" => Ok(Field::Nonprofit501C5),
283 "Nonprofit501C6" => Ok(Field::Nonprofit501C6),
284 "Nonprofit501C7" => Ok(Field::Nonprofit501C7),
285 "Nonprofit501C8" => Ok(Field::Nonprofit501C8),
286 "Nonprofit501C9" => Ok(Field::Nonprofit501C9),
287 "Nonprofit501D" => Ok(Field::Nonprofit501D),
288 "Nonprofit501E" => Ok(Field::Nonprofit501E),
289 "Nonprofit501F" => Ok(Field::Nonprofit501F),
290 "Nonprofit501K" => Ok(Field::Nonprofit501K),
291 "Nonprofit501N" => Ok(Field::Nonprofit501N),
292 "Nonprofit501Q" => Ok(Field::Nonprofit501Q),
293 "Nonprofit527" => Ok(Field::Nonprofit527),
294 _ => Err(de::Error::unknown_variant(value, VARIANTS)),
295 }
296 }
297 fn visit_bytes<E>(self, value: &[u8]) -> Result<Self::Value, E>
298 where
299 E: de::Error,
300 {
301 match value {
302 b"Nonprofit501A" => Ok(Field::Nonprofit501A),
303 b"Nonprofit501C1" => Ok(Field::Nonprofit501C1),
304 b"Nonprofit501C10" => Ok(Field::Nonprofit501C10),
305 b"Nonprofit501C11" => Ok(Field::Nonprofit501C11),
306 b"Nonprofit501C12" => Ok(Field::Nonprofit501C12),
307 b"Nonprofit501C13" => Ok(Field::Nonprofit501C13),
308 b"Nonprofit501C14" => Ok(Field::Nonprofit501C14),
309 b"Nonprofit501C15" => Ok(Field::Nonprofit501C15),
310 b"Nonprofit501C16" => Ok(Field::Nonprofit501C16),
311 b"Nonprofit501C17" => Ok(Field::Nonprofit501C17),
312 b"Nonprofit501C18" => Ok(Field::Nonprofit501C18),
313 b"Nonprofit501C19" => Ok(Field::Nonprofit501C19),
314 b"Nonprofit501C2" => Ok(Field::Nonprofit501C2),
315 b"Nonprofit501C20" => Ok(Field::Nonprofit501C20),
316 b"Nonprofit501C21" => Ok(Field::Nonprofit501C21),
317 b"Nonprofit501C22" => Ok(Field::Nonprofit501C22),
318 b"Nonprofit501C23" => Ok(Field::Nonprofit501C23),
319 b"Nonprofit501C24" => Ok(Field::Nonprofit501C24),
320 b"Nonprofit501C25" => Ok(Field::Nonprofit501C25),
321 b"Nonprofit501C26" => Ok(Field::Nonprofit501C26),
322 b"Nonprofit501C27" => Ok(Field::Nonprofit501C27),
323 b"Nonprofit501C28" => Ok(Field::Nonprofit501C28),
324 b"Nonprofit501C3" => Ok(Field::Nonprofit501C3),
325 b"Nonprofit501C4" => Ok(Field::Nonprofit501C4),
326 b"Nonprofit501C5" => Ok(Field::Nonprofit501C5),
327 b"Nonprofit501C6" => Ok(Field::Nonprofit501C6),
328 b"Nonprofit501C7" => Ok(Field::Nonprofit501C7),
329 b"Nonprofit501C8" => Ok(Field::Nonprofit501C8),
330 b"Nonprofit501C9" => Ok(Field::Nonprofit501C9),
331 b"Nonprofit501D" => Ok(Field::Nonprofit501D),
332 b"Nonprofit501E" => Ok(Field::Nonprofit501E),
333 b"Nonprofit501F" => Ok(Field::Nonprofit501F),
334 b"Nonprofit501K" => Ok(Field::Nonprofit501K),
335 b"Nonprofit501N" => Ok(Field::Nonprofit501N),
336 b"Nonprofit501Q" => Ok(Field::Nonprofit501Q),
337 b"Nonprofit527" => Ok(Field::Nonprofit527),
338 _ => {
339 let value = &String::from_utf8_lossy(value);
340 Err(de::Error::unknown_variant(value, VARIANTS))
341 }
342 }
343 }
344 }
345 impl<'de> Deserialize<'de> for Field {
346 fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
347 where
348 D: Deserializer<'de>,
349 {
350 deserializer.deserialize_identifier(FieldVisitor)
351 }
352 }
353 struct EnumerationVisitor;
354 impl<'de> Visitor<'de> for EnumerationVisitor {
355 type Value = UsNonprofitType;
356 fn expecting(&self, formatter: &mut Formatter) -> fmt::Result {
357 formatter.write_str("schema.org schema USNonprofitType")
358 }
359 fn visit_enum<A>(self, data: A) -> Result<Self::Value, A::Error>
360 where
361 A: de::EnumAccess<'de>,
362 {
363 match de::EnumAccess::variant::<Field>(data)? {
364 (Field::Nonprofit501A, variant) => {
365 de::VariantAccess::unit_variant(variant)?;
366 Ok(UsNonprofitType::Nonprofit501A)
367 }
368 (Field::Nonprofit501C1, variant) => {
369 de::VariantAccess::unit_variant(variant)?;
370 Ok(UsNonprofitType::Nonprofit501C1)
371 }
372 (Field::Nonprofit501C10, variant) => {
373 de::VariantAccess::unit_variant(variant)?;
374 Ok(UsNonprofitType::Nonprofit501C10)
375 }
376 (Field::Nonprofit501C11, variant) => {
377 de::VariantAccess::unit_variant(variant)?;
378 Ok(UsNonprofitType::Nonprofit501C11)
379 }
380 (Field::Nonprofit501C12, variant) => {
381 de::VariantAccess::unit_variant(variant)?;
382 Ok(UsNonprofitType::Nonprofit501C12)
383 }
384 (Field::Nonprofit501C13, variant) => {
385 de::VariantAccess::unit_variant(variant)?;
386 Ok(UsNonprofitType::Nonprofit501C13)
387 }
388 (Field::Nonprofit501C14, variant) => {
389 de::VariantAccess::unit_variant(variant)?;
390 Ok(UsNonprofitType::Nonprofit501C14)
391 }
392 (Field::Nonprofit501C15, variant) => {
393 de::VariantAccess::unit_variant(variant)?;
394 Ok(UsNonprofitType::Nonprofit501C15)
395 }
396 (Field::Nonprofit501C16, variant) => {
397 de::VariantAccess::unit_variant(variant)?;
398 Ok(UsNonprofitType::Nonprofit501C16)
399 }
400 (Field::Nonprofit501C17, variant) => {
401 de::VariantAccess::unit_variant(variant)?;
402 Ok(UsNonprofitType::Nonprofit501C17)
403 }
404 (Field::Nonprofit501C18, variant) => {
405 de::VariantAccess::unit_variant(variant)?;
406 Ok(UsNonprofitType::Nonprofit501C18)
407 }
408 (Field::Nonprofit501C19, variant) => {
409 de::VariantAccess::unit_variant(variant)?;
410 Ok(UsNonprofitType::Nonprofit501C19)
411 }
412 (Field::Nonprofit501C2, variant) => {
413 de::VariantAccess::unit_variant(variant)?;
414 Ok(UsNonprofitType::Nonprofit501C2)
415 }
416 (Field::Nonprofit501C20, variant) => {
417 de::VariantAccess::unit_variant(variant)?;
418 Ok(UsNonprofitType::Nonprofit501C20)
419 }
420 (Field::Nonprofit501C21, variant) => {
421 de::VariantAccess::unit_variant(variant)?;
422 Ok(UsNonprofitType::Nonprofit501C21)
423 }
424 (Field::Nonprofit501C22, variant) => {
425 de::VariantAccess::unit_variant(variant)?;
426 Ok(UsNonprofitType::Nonprofit501C22)
427 }
428 (Field::Nonprofit501C23, variant) => {
429 de::VariantAccess::unit_variant(variant)?;
430 Ok(UsNonprofitType::Nonprofit501C23)
431 }
432 (Field::Nonprofit501C24, variant) => {
433 de::VariantAccess::unit_variant(variant)?;
434 Ok(UsNonprofitType::Nonprofit501C24)
435 }
436 (Field::Nonprofit501C25, variant) => {
437 de::VariantAccess::unit_variant(variant)?;
438 Ok(UsNonprofitType::Nonprofit501C25)
439 }
440 (Field::Nonprofit501C26, variant) => {
441 de::VariantAccess::unit_variant(variant)?;
442 Ok(UsNonprofitType::Nonprofit501C26)
443 }
444 (Field::Nonprofit501C27, variant) => {
445 de::VariantAccess::unit_variant(variant)?;
446 Ok(UsNonprofitType::Nonprofit501C27)
447 }
448 (Field::Nonprofit501C28, variant) => {
449 de::VariantAccess::unit_variant(variant)?;
450 Ok(UsNonprofitType::Nonprofit501C28)
451 }
452 (Field::Nonprofit501C3, variant) => {
453 de::VariantAccess::unit_variant(variant)?;
454 Ok(UsNonprofitType::Nonprofit501C3)
455 }
456 (Field::Nonprofit501C4, variant) => {
457 de::VariantAccess::unit_variant(variant)?;
458 Ok(UsNonprofitType::Nonprofit501C4)
459 }
460 (Field::Nonprofit501C5, variant) => {
461 de::VariantAccess::unit_variant(variant)?;
462 Ok(UsNonprofitType::Nonprofit501C5)
463 }
464 (Field::Nonprofit501C6, variant) => {
465 de::VariantAccess::unit_variant(variant)?;
466 Ok(UsNonprofitType::Nonprofit501C6)
467 }
468 (Field::Nonprofit501C7, variant) => {
469 de::VariantAccess::unit_variant(variant)?;
470 Ok(UsNonprofitType::Nonprofit501C7)
471 }
472 (Field::Nonprofit501C8, variant) => {
473 de::VariantAccess::unit_variant(variant)?;
474 Ok(UsNonprofitType::Nonprofit501C8)
475 }
476 (Field::Nonprofit501C9, variant) => {
477 de::VariantAccess::unit_variant(variant)?;
478 Ok(UsNonprofitType::Nonprofit501C9)
479 }
480 (Field::Nonprofit501D, variant) => {
481 de::VariantAccess::unit_variant(variant)?;
482 Ok(UsNonprofitType::Nonprofit501D)
483 }
484 (Field::Nonprofit501E, variant) => {
485 de::VariantAccess::unit_variant(variant)?;
486 Ok(UsNonprofitType::Nonprofit501E)
487 }
488 (Field::Nonprofit501F, variant) => {
489 de::VariantAccess::unit_variant(variant)?;
490 Ok(UsNonprofitType::Nonprofit501F)
491 }
492 (Field::Nonprofit501K, variant) => {
493 de::VariantAccess::unit_variant(variant)?;
494 Ok(UsNonprofitType::Nonprofit501K)
495 }
496 (Field::Nonprofit501N, variant) => {
497 de::VariantAccess::unit_variant(variant)?;
498 Ok(UsNonprofitType::Nonprofit501N)
499 }
500 (Field::Nonprofit501Q, variant) => {
501 de::VariantAccess::unit_variant(variant)?;
502 Ok(UsNonprofitType::Nonprofit501Q)
503 }
504 (Field::Nonprofit527, variant) => {
505 de::VariantAccess::unit_variant(variant)?;
506 Ok(UsNonprofitType::Nonprofit527)
507 }
508 }
509 }
510 }
511 const VARIANTS: &[&str] = &[
512 "Nonprofit501A",
513 "Nonprofit501C1",
514 "Nonprofit501C10",
515 "Nonprofit501C11",
516 "Nonprofit501C12",
517 "Nonprofit501C13",
518 "Nonprofit501C14",
519 "Nonprofit501C15",
520 "Nonprofit501C16",
521 "Nonprofit501C17",
522 "Nonprofit501C18",
523 "Nonprofit501C19",
524 "Nonprofit501C2",
525 "Nonprofit501C20",
526 "Nonprofit501C21",
527 "Nonprofit501C22",
528 "Nonprofit501C23",
529 "Nonprofit501C24",
530 "Nonprofit501C25",
531 "Nonprofit501C26",
532 "Nonprofit501C27",
533 "Nonprofit501C28",
534 "Nonprofit501C3",
535 "Nonprofit501C4",
536 "Nonprofit501C5",
537 "Nonprofit501C6",
538 "Nonprofit501C7",
539 "Nonprofit501C8",
540 "Nonprofit501C9",
541 "Nonprofit501D",
542 "Nonprofit501E",
543 "Nonprofit501F",
544 "Nonprofit501K",
545 "Nonprofit501N",
546 "Nonprofit501Q",
547 "Nonprofit527",
548 ];
549 deserializer.deserialize_enum("UsNonprofitType", VARIANTS, EnumerationVisitor)
550 }
551 }
552}