1use super::*;
2#[cfg_attr(feature = "derive-debug", derive(Debug))]
4#[cfg_attr(feature = "derive-clone", derive(Clone))]
5pub struct Person {
6 pub r#additional_name: Vec<AdditionalNameProperty>,
8 pub r#address: Vec<AddressProperty>,
10 pub r#affiliation: Vec<AffiliationProperty>,
12 pub r#agent_interaction_statistic: Vec<AgentInteractionStatisticProperty>,
14 pub r#alumni_of: Vec<AlumniOfProperty>,
16 pub r#award: Vec<AwardProperty>,
18 #[deprecated = "This schema is superseded by <https://schema.org/award>."]
20 pub r#awards: Vec<AwardsProperty>,
21 pub r#birth_date: Vec<BirthDateProperty>,
23 pub r#birth_place: Vec<BirthPlaceProperty>,
25 pub r#brand: Vec<BrandProperty>,
27 pub r#call_sign: Vec<CallSignProperty>,
29 pub r#children: Vec<ChildrenProperty>,
31 pub r#colleague: Vec<ColleagueProperty>,
33 #[deprecated = "This schema is superseded by <https://schema.org/colleague>."]
35 pub r#colleagues: Vec<ColleaguesProperty>,
36 pub r#contact_point: Vec<ContactPointProperty>,
38 #[deprecated = "This schema is superseded by <https://schema.org/contactPoint>."]
40 pub r#contact_points: Vec<ContactPointsProperty>,
41 pub r#death_date: Vec<DeathDateProperty>,
43 pub r#death_place: Vec<DeathPlaceProperty>,
45 pub r#duns: Vec<DunsProperty>,
47 pub r#email: Vec<EmailProperty>,
49 pub r#family_name: Vec<FamilyNameProperty>,
51 pub r#fax_number: Vec<FaxNumberProperty>,
53 pub r#follows: Vec<FollowsProperty>,
55 pub r#funder: Vec<FunderProperty>,
57 pub r#funding: Vec<FundingProperty>,
59 pub r#gender: Vec<GenderProperty>,
61 pub r#given_name: Vec<GivenNameProperty>,
63 pub r#global_location_number: Vec<GlobalLocationNumberProperty>,
65 pub r#has_credential: Vec<HasCredentialProperty>,
67 pub r#has_occupation: Vec<HasOccupationProperty>,
69 pub r#has_offer_catalog: Vec<HasOfferCatalogProperty>,
71 pub r#has_pos: Vec<HasPosProperty>,
73 pub r#height: Vec<HeightProperty>,
75 pub r#home_location: Vec<HomeLocationProperty>,
77 pub r#honorific_prefix: Vec<HonorificPrefixProperty>,
79 pub r#honorific_suffix: Vec<HonorificSuffixProperty>,
81 pub r#interaction_statistic: Vec<InteractionStatisticProperty>,
83 pub r#isic_v_4: Vec<IsicV4Property>,
85 pub r#job_title: Vec<JobTitleProperty>,
87 pub r#knows: Vec<KnowsProperty>,
89 pub r#knows_about: Vec<KnowsAboutProperty>,
91 pub r#knows_language: Vec<KnowsLanguageProperty>,
93 pub r#makes_offer: Vec<MakesOfferProperty>,
95 pub r#member_of: Vec<MemberOfProperty>,
97 pub r#naics: Vec<NaicsProperty>,
99 pub r#nationality: Vec<NationalityProperty>,
101 pub r#net_worth: Vec<NetWorthProperty>,
103 pub r#owns: Vec<OwnsProperty>,
105 pub r#parent: Vec<ParentProperty>,
107 #[deprecated = "This schema is superseded by <https://schema.org/parent>."]
109 pub r#parents: Vec<ParentsProperty>,
110 pub r#performer_in: Vec<PerformerInProperty>,
112 pub r#publishing_principles: Vec<PublishingPrinciplesProperty>,
114 pub r#related_to: Vec<RelatedToProperty>,
116 pub r#seeks: Vec<SeeksProperty>,
118 pub r#sibling: Vec<SiblingProperty>,
120 #[deprecated = "This schema is superseded by <https://schema.org/sibling>."]
122 pub r#siblings: Vec<SiblingsProperty>,
123 pub r#sponsor: Vec<SponsorProperty>,
125 pub r#spouse: Vec<SpouseProperty>,
127 pub r#tax_id: Vec<TaxIdProperty>,
129 pub r#telephone: Vec<TelephoneProperty>,
131 pub r#vat_id: Vec<VatIdProperty>,
133 pub r#weight: Vec<WeightProperty>,
135 pub r#work_location: Vec<WorkLocationProperty>,
137 pub r#works_for: Vec<WorksForProperty>,
139 pub r#additional_type: Vec<AdditionalTypeProperty>,
141 pub r#alternate_name: Vec<AlternateNameProperty>,
143 pub r#description: Vec<DescriptionProperty>,
145 pub r#disambiguating_description: Vec<DisambiguatingDescriptionProperty>,
147 pub r#identifier: Vec<IdentifierProperty>,
149 pub r#image: Vec<ImageProperty>,
151 pub r#main_entity_of_page: Vec<MainEntityOfPageProperty>,
153 pub r#name: Vec<NameProperty>,
155 pub r#potential_action: Vec<PotentialActionProperty>,
157 pub r#same_as: Vec<SameAsProperty>,
159 pub r#subject_of: Vec<SubjectOfProperty>,
161 pub r#url: Vec<UrlProperty>,
163}
164pub trait PersonTrait {
166 fn get_additional_name(&self) -> &[AdditionalNameProperty];
168 fn take_additional_name(&mut self) -> Vec<AdditionalNameProperty>;
170 fn get_address(&self) -> &[AddressProperty];
172 fn take_address(&mut self) -> Vec<AddressProperty>;
174 fn get_affiliation(&self) -> &[AffiliationProperty];
176 fn take_affiliation(&mut self) -> Vec<AffiliationProperty>;
178 fn get_agent_interaction_statistic(&self) -> &[AgentInteractionStatisticProperty];
180 fn take_agent_interaction_statistic(&mut self) -> Vec<AgentInteractionStatisticProperty>;
182 fn get_alumni_of(&self) -> &[AlumniOfProperty];
184 fn take_alumni_of(&mut self) -> Vec<AlumniOfProperty>;
186 fn get_award(&self) -> &[AwardProperty];
188 fn take_award(&mut self) -> Vec<AwardProperty>;
190 #[deprecated = "This schema is superseded by <https://schema.org/award>."]
192 fn get_awards(&self) -> &[AwardsProperty];
193 #[deprecated = "This schema is superseded by <https://schema.org/award>."]
195 fn take_awards(&mut self) -> Vec<AwardsProperty>;
196 fn get_birth_date(&self) -> &[BirthDateProperty];
198 fn take_birth_date(&mut self) -> Vec<BirthDateProperty>;
200 fn get_birth_place(&self) -> &[BirthPlaceProperty];
202 fn take_birth_place(&mut self) -> Vec<BirthPlaceProperty>;
204 fn get_brand(&self) -> &[BrandProperty];
206 fn take_brand(&mut self) -> Vec<BrandProperty>;
208 fn get_call_sign(&self) -> &[CallSignProperty];
210 fn take_call_sign(&mut self) -> Vec<CallSignProperty>;
212 fn get_children(&self) -> &[ChildrenProperty];
214 fn take_children(&mut self) -> Vec<ChildrenProperty>;
216 fn get_colleague(&self) -> &[ColleagueProperty];
218 fn take_colleague(&mut self) -> Vec<ColleagueProperty>;
220 #[deprecated = "This schema is superseded by <https://schema.org/colleague>."]
222 fn get_colleagues(&self) -> &[ColleaguesProperty];
223 #[deprecated = "This schema is superseded by <https://schema.org/colleague>."]
225 fn take_colleagues(&mut self) -> Vec<ColleaguesProperty>;
226 fn get_contact_point(&self) -> &[ContactPointProperty];
228 fn take_contact_point(&mut self) -> Vec<ContactPointProperty>;
230 #[deprecated = "This schema is superseded by <https://schema.org/contactPoint>."]
232 fn get_contact_points(&self) -> &[ContactPointsProperty];
233 #[deprecated = "This schema is superseded by <https://schema.org/contactPoint>."]
235 fn take_contact_points(&mut self) -> Vec<ContactPointsProperty>;
236 fn get_death_date(&self) -> &[DeathDateProperty];
238 fn take_death_date(&mut self) -> Vec<DeathDateProperty>;
240 fn get_death_place(&self) -> &[DeathPlaceProperty];
242 fn take_death_place(&mut self) -> Vec<DeathPlaceProperty>;
244 fn get_duns(&self) -> &[DunsProperty];
246 fn take_duns(&mut self) -> Vec<DunsProperty>;
248 fn get_email(&self) -> &[EmailProperty];
250 fn take_email(&mut self) -> Vec<EmailProperty>;
252 fn get_family_name(&self) -> &[FamilyNameProperty];
254 fn take_family_name(&mut self) -> Vec<FamilyNameProperty>;
256 fn get_fax_number(&self) -> &[FaxNumberProperty];
258 fn take_fax_number(&mut self) -> Vec<FaxNumberProperty>;
260 fn get_follows(&self) -> &[FollowsProperty];
262 fn take_follows(&mut self) -> Vec<FollowsProperty>;
264 fn get_funder(&self) -> &[FunderProperty];
266 fn take_funder(&mut self) -> Vec<FunderProperty>;
268 fn get_funding(&self) -> &[FundingProperty];
270 fn take_funding(&mut self) -> Vec<FundingProperty>;
272 fn get_gender(&self) -> &[GenderProperty];
274 fn take_gender(&mut self) -> Vec<GenderProperty>;
276 fn get_given_name(&self) -> &[GivenNameProperty];
278 fn take_given_name(&mut self) -> Vec<GivenNameProperty>;
280 fn get_global_location_number(&self) -> &[GlobalLocationNumberProperty];
282 fn take_global_location_number(&mut self) -> Vec<GlobalLocationNumberProperty>;
284 fn get_has_credential(&self) -> &[HasCredentialProperty];
286 fn take_has_credential(&mut self) -> Vec<HasCredentialProperty>;
288 fn get_has_occupation(&self) -> &[HasOccupationProperty];
290 fn take_has_occupation(&mut self) -> Vec<HasOccupationProperty>;
292 fn get_has_offer_catalog(&self) -> &[HasOfferCatalogProperty];
294 fn take_has_offer_catalog(&mut self) -> Vec<HasOfferCatalogProperty>;
296 fn get_has_pos(&self) -> &[HasPosProperty];
298 fn take_has_pos(&mut self) -> Vec<HasPosProperty>;
300 fn get_height(&self) -> &[HeightProperty];
302 fn take_height(&mut self) -> Vec<HeightProperty>;
304 fn get_home_location(&self) -> &[HomeLocationProperty];
306 fn take_home_location(&mut self) -> Vec<HomeLocationProperty>;
308 fn get_honorific_prefix(&self) -> &[HonorificPrefixProperty];
310 fn take_honorific_prefix(&mut self) -> Vec<HonorificPrefixProperty>;
312 fn get_honorific_suffix(&self) -> &[HonorificSuffixProperty];
314 fn take_honorific_suffix(&mut self) -> Vec<HonorificSuffixProperty>;
316 fn get_interaction_statistic(&self) -> &[InteractionStatisticProperty];
318 fn take_interaction_statistic(&mut self) -> Vec<InteractionStatisticProperty>;
320 fn get_isic_v_4(&self) -> &[IsicV4Property];
322 fn take_isic_v_4(&mut self) -> Vec<IsicV4Property>;
324 fn get_job_title(&self) -> &[JobTitleProperty];
326 fn take_job_title(&mut self) -> Vec<JobTitleProperty>;
328 fn get_knows(&self) -> &[KnowsProperty];
330 fn take_knows(&mut self) -> Vec<KnowsProperty>;
332 fn get_knows_about(&self) -> &[KnowsAboutProperty];
334 fn take_knows_about(&mut self) -> Vec<KnowsAboutProperty>;
336 fn get_knows_language(&self) -> &[KnowsLanguageProperty];
338 fn take_knows_language(&mut self) -> Vec<KnowsLanguageProperty>;
340 fn get_makes_offer(&self) -> &[MakesOfferProperty];
342 fn take_makes_offer(&mut self) -> Vec<MakesOfferProperty>;
344 fn get_member_of(&self) -> &[MemberOfProperty];
346 fn take_member_of(&mut self) -> Vec<MemberOfProperty>;
348 fn get_naics(&self) -> &[NaicsProperty];
350 fn take_naics(&mut self) -> Vec<NaicsProperty>;
352 fn get_nationality(&self) -> &[NationalityProperty];
354 fn take_nationality(&mut self) -> Vec<NationalityProperty>;
356 fn get_net_worth(&self) -> &[NetWorthProperty];
358 fn take_net_worth(&mut self) -> Vec<NetWorthProperty>;
360 fn get_owns(&self) -> &[OwnsProperty];
362 fn take_owns(&mut self) -> Vec<OwnsProperty>;
364 fn get_parent(&self) -> &[ParentProperty];
366 fn take_parent(&mut self) -> Vec<ParentProperty>;
368 #[deprecated = "This schema is superseded by <https://schema.org/parent>."]
370 fn get_parents(&self) -> &[ParentsProperty];
371 #[deprecated = "This schema is superseded by <https://schema.org/parent>."]
373 fn take_parents(&mut self) -> Vec<ParentsProperty>;
374 fn get_performer_in(&self) -> &[PerformerInProperty];
376 fn take_performer_in(&mut self) -> Vec<PerformerInProperty>;
378 fn get_publishing_principles(&self) -> &[PublishingPrinciplesProperty];
380 fn take_publishing_principles(&mut self) -> Vec<PublishingPrinciplesProperty>;
382 fn get_related_to(&self) -> &[RelatedToProperty];
384 fn take_related_to(&mut self) -> Vec<RelatedToProperty>;
386 fn get_seeks(&self) -> &[SeeksProperty];
388 fn take_seeks(&mut self) -> Vec<SeeksProperty>;
390 fn get_sibling(&self) -> &[SiblingProperty];
392 fn take_sibling(&mut self) -> Vec<SiblingProperty>;
394 #[deprecated = "This schema is superseded by <https://schema.org/sibling>."]
396 fn get_siblings(&self) -> &[SiblingsProperty];
397 #[deprecated = "This schema is superseded by <https://schema.org/sibling>."]
399 fn take_siblings(&mut self) -> Vec<SiblingsProperty>;
400 fn get_sponsor(&self) -> &[SponsorProperty];
402 fn take_sponsor(&mut self) -> Vec<SponsorProperty>;
404 fn get_spouse(&self) -> &[SpouseProperty];
406 fn take_spouse(&mut self) -> Vec<SpouseProperty>;
408 fn get_tax_id(&self) -> &[TaxIdProperty];
410 fn take_tax_id(&mut self) -> Vec<TaxIdProperty>;
412 fn get_telephone(&self) -> &[TelephoneProperty];
414 fn take_telephone(&mut self) -> Vec<TelephoneProperty>;
416 fn get_vat_id(&self) -> &[VatIdProperty];
418 fn take_vat_id(&mut self) -> Vec<VatIdProperty>;
420 fn get_weight(&self) -> &[WeightProperty];
422 fn take_weight(&mut self) -> Vec<WeightProperty>;
424 fn get_work_location(&self) -> &[WorkLocationProperty];
426 fn take_work_location(&mut self) -> Vec<WorkLocationProperty>;
428 fn get_works_for(&self) -> &[WorksForProperty];
430 fn take_works_for(&mut self) -> Vec<WorksForProperty>;
432}
433impl PersonTrait for Person {
434 fn get_additional_name(&self) -> &[AdditionalNameProperty] {
435 self.r#additional_name.as_slice()
436 }
437 fn take_additional_name(&mut self) -> Vec<AdditionalNameProperty> {
438 std::mem::take(&mut self.r#additional_name)
439 }
440 fn get_address(&self) -> &[AddressProperty] {
441 self.r#address.as_slice()
442 }
443 fn take_address(&mut self) -> Vec<AddressProperty> {
444 std::mem::take(&mut self.r#address)
445 }
446 fn get_affiliation(&self) -> &[AffiliationProperty] {
447 self.r#affiliation.as_slice()
448 }
449 fn take_affiliation(&mut self) -> Vec<AffiliationProperty> {
450 std::mem::take(&mut self.r#affiliation)
451 }
452 fn get_agent_interaction_statistic(&self) -> &[AgentInteractionStatisticProperty] {
453 self.r#agent_interaction_statistic.as_slice()
454 }
455 fn take_agent_interaction_statistic(&mut self) -> Vec<AgentInteractionStatisticProperty> {
456 std::mem::take(&mut self.r#agent_interaction_statistic)
457 }
458 fn get_alumni_of(&self) -> &[AlumniOfProperty] {
459 self.r#alumni_of.as_slice()
460 }
461 fn take_alumni_of(&mut self) -> Vec<AlumniOfProperty> {
462 std::mem::take(&mut self.r#alumni_of)
463 }
464 fn get_award(&self) -> &[AwardProperty] {
465 self.r#award.as_slice()
466 }
467 fn take_award(&mut self) -> Vec<AwardProperty> {
468 std::mem::take(&mut self.r#award)
469 }
470 fn get_awards(&self) -> &[AwardsProperty] {
471 self.r#awards.as_slice()
472 }
473 fn take_awards(&mut self) -> Vec<AwardsProperty> {
474 std::mem::take(&mut self.r#awards)
475 }
476 fn get_birth_date(&self) -> &[BirthDateProperty] {
477 self.r#birth_date.as_slice()
478 }
479 fn take_birth_date(&mut self) -> Vec<BirthDateProperty> {
480 std::mem::take(&mut self.r#birth_date)
481 }
482 fn get_birth_place(&self) -> &[BirthPlaceProperty] {
483 self.r#birth_place.as_slice()
484 }
485 fn take_birth_place(&mut self) -> Vec<BirthPlaceProperty> {
486 std::mem::take(&mut self.r#birth_place)
487 }
488 fn get_brand(&self) -> &[BrandProperty] {
489 self.r#brand.as_slice()
490 }
491 fn take_brand(&mut self) -> Vec<BrandProperty> {
492 std::mem::take(&mut self.r#brand)
493 }
494 fn get_call_sign(&self) -> &[CallSignProperty] {
495 self.r#call_sign.as_slice()
496 }
497 fn take_call_sign(&mut self) -> Vec<CallSignProperty> {
498 std::mem::take(&mut self.r#call_sign)
499 }
500 fn get_children(&self) -> &[ChildrenProperty] {
501 self.r#children.as_slice()
502 }
503 fn take_children(&mut self) -> Vec<ChildrenProperty> {
504 std::mem::take(&mut self.r#children)
505 }
506 fn get_colleague(&self) -> &[ColleagueProperty] {
507 self.r#colleague.as_slice()
508 }
509 fn take_colleague(&mut self) -> Vec<ColleagueProperty> {
510 std::mem::take(&mut self.r#colleague)
511 }
512 fn get_colleagues(&self) -> &[ColleaguesProperty] {
513 self.r#colleagues.as_slice()
514 }
515 fn take_colleagues(&mut self) -> Vec<ColleaguesProperty> {
516 std::mem::take(&mut self.r#colleagues)
517 }
518 fn get_contact_point(&self) -> &[ContactPointProperty] {
519 self.r#contact_point.as_slice()
520 }
521 fn take_contact_point(&mut self) -> Vec<ContactPointProperty> {
522 std::mem::take(&mut self.r#contact_point)
523 }
524 fn get_contact_points(&self) -> &[ContactPointsProperty] {
525 self.r#contact_points.as_slice()
526 }
527 fn take_contact_points(&mut self) -> Vec<ContactPointsProperty> {
528 std::mem::take(&mut self.r#contact_points)
529 }
530 fn get_death_date(&self) -> &[DeathDateProperty] {
531 self.r#death_date.as_slice()
532 }
533 fn take_death_date(&mut self) -> Vec<DeathDateProperty> {
534 std::mem::take(&mut self.r#death_date)
535 }
536 fn get_death_place(&self) -> &[DeathPlaceProperty] {
537 self.r#death_place.as_slice()
538 }
539 fn take_death_place(&mut self) -> Vec<DeathPlaceProperty> {
540 std::mem::take(&mut self.r#death_place)
541 }
542 fn get_duns(&self) -> &[DunsProperty] {
543 self.r#duns.as_slice()
544 }
545 fn take_duns(&mut self) -> Vec<DunsProperty> {
546 std::mem::take(&mut self.r#duns)
547 }
548 fn get_email(&self) -> &[EmailProperty] {
549 self.r#email.as_slice()
550 }
551 fn take_email(&mut self) -> Vec<EmailProperty> {
552 std::mem::take(&mut self.r#email)
553 }
554 fn get_family_name(&self) -> &[FamilyNameProperty] {
555 self.r#family_name.as_slice()
556 }
557 fn take_family_name(&mut self) -> Vec<FamilyNameProperty> {
558 std::mem::take(&mut self.r#family_name)
559 }
560 fn get_fax_number(&self) -> &[FaxNumberProperty] {
561 self.r#fax_number.as_slice()
562 }
563 fn take_fax_number(&mut self) -> Vec<FaxNumberProperty> {
564 std::mem::take(&mut self.r#fax_number)
565 }
566 fn get_follows(&self) -> &[FollowsProperty] {
567 self.r#follows.as_slice()
568 }
569 fn take_follows(&mut self) -> Vec<FollowsProperty> {
570 std::mem::take(&mut self.r#follows)
571 }
572 fn get_funder(&self) -> &[FunderProperty] {
573 self.r#funder.as_slice()
574 }
575 fn take_funder(&mut self) -> Vec<FunderProperty> {
576 std::mem::take(&mut self.r#funder)
577 }
578 fn get_funding(&self) -> &[FundingProperty] {
579 self.r#funding.as_slice()
580 }
581 fn take_funding(&mut self) -> Vec<FundingProperty> {
582 std::mem::take(&mut self.r#funding)
583 }
584 fn get_gender(&self) -> &[GenderProperty] {
585 self.r#gender.as_slice()
586 }
587 fn take_gender(&mut self) -> Vec<GenderProperty> {
588 std::mem::take(&mut self.r#gender)
589 }
590 fn get_given_name(&self) -> &[GivenNameProperty] {
591 self.r#given_name.as_slice()
592 }
593 fn take_given_name(&mut self) -> Vec<GivenNameProperty> {
594 std::mem::take(&mut self.r#given_name)
595 }
596 fn get_global_location_number(&self) -> &[GlobalLocationNumberProperty] {
597 self.r#global_location_number.as_slice()
598 }
599 fn take_global_location_number(&mut self) -> Vec<GlobalLocationNumberProperty> {
600 std::mem::take(&mut self.r#global_location_number)
601 }
602 fn get_has_credential(&self) -> &[HasCredentialProperty] {
603 self.r#has_credential.as_slice()
604 }
605 fn take_has_credential(&mut self) -> Vec<HasCredentialProperty> {
606 std::mem::take(&mut self.r#has_credential)
607 }
608 fn get_has_occupation(&self) -> &[HasOccupationProperty] {
609 self.r#has_occupation.as_slice()
610 }
611 fn take_has_occupation(&mut self) -> Vec<HasOccupationProperty> {
612 std::mem::take(&mut self.r#has_occupation)
613 }
614 fn get_has_offer_catalog(&self) -> &[HasOfferCatalogProperty] {
615 self.r#has_offer_catalog.as_slice()
616 }
617 fn take_has_offer_catalog(&mut self) -> Vec<HasOfferCatalogProperty> {
618 std::mem::take(&mut self.r#has_offer_catalog)
619 }
620 fn get_has_pos(&self) -> &[HasPosProperty] {
621 self.r#has_pos.as_slice()
622 }
623 fn take_has_pos(&mut self) -> Vec<HasPosProperty> {
624 std::mem::take(&mut self.r#has_pos)
625 }
626 fn get_height(&self) -> &[HeightProperty] {
627 self.r#height.as_slice()
628 }
629 fn take_height(&mut self) -> Vec<HeightProperty> {
630 std::mem::take(&mut self.r#height)
631 }
632 fn get_home_location(&self) -> &[HomeLocationProperty] {
633 self.r#home_location.as_slice()
634 }
635 fn take_home_location(&mut self) -> Vec<HomeLocationProperty> {
636 std::mem::take(&mut self.r#home_location)
637 }
638 fn get_honorific_prefix(&self) -> &[HonorificPrefixProperty] {
639 self.r#honorific_prefix.as_slice()
640 }
641 fn take_honorific_prefix(&mut self) -> Vec<HonorificPrefixProperty> {
642 std::mem::take(&mut self.r#honorific_prefix)
643 }
644 fn get_honorific_suffix(&self) -> &[HonorificSuffixProperty] {
645 self.r#honorific_suffix.as_slice()
646 }
647 fn take_honorific_suffix(&mut self) -> Vec<HonorificSuffixProperty> {
648 std::mem::take(&mut self.r#honorific_suffix)
649 }
650 fn get_interaction_statistic(&self) -> &[InteractionStatisticProperty] {
651 self.r#interaction_statistic.as_slice()
652 }
653 fn take_interaction_statistic(&mut self) -> Vec<InteractionStatisticProperty> {
654 std::mem::take(&mut self.r#interaction_statistic)
655 }
656 fn get_isic_v_4(&self) -> &[IsicV4Property] {
657 self.r#isic_v_4.as_slice()
658 }
659 fn take_isic_v_4(&mut self) -> Vec<IsicV4Property> {
660 std::mem::take(&mut self.r#isic_v_4)
661 }
662 fn get_job_title(&self) -> &[JobTitleProperty] {
663 self.r#job_title.as_slice()
664 }
665 fn take_job_title(&mut self) -> Vec<JobTitleProperty> {
666 std::mem::take(&mut self.r#job_title)
667 }
668 fn get_knows(&self) -> &[KnowsProperty] {
669 self.r#knows.as_slice()
670 }
671 fn take_knows(&mut self) -> Vec<KnowsProperty> {
672 std::mem::take(&mut self.r#knows)
673 }
674 fn get_knows_about(&self) -> &[KnowsAboutProperty] {
675 self.r#knows_about.as_slice()
676 }
677 fn take_knows_about(&mut self) -> Vec<KnowsAboutProperty> {
678 std::mem::take(&mut self.r#knows_about)
679 }
680 fn get_knows_language(&self) -> &[KnowsLanguageProperty] {
681 self.r#knows_language.as_slice()
682 }
683 fn take_knows_language(&mut self) -> Vec<KnowsLanguageProperty> {
684 std::mem::take(&mut self.r#knows_language)
685 }
686 fn get_makes_offer(&self) -> &[MakesOfferProperty] {
687 self.r#makes_offer.as_slice()
688 }
689 fn take_makes_offer(&mut self) -> Vec<MakesOfferProperty> {
690 std::mem::take(&mut self.r#makes_offer)
691 }
692 fn get_member_of(&self) -> &[MemberOfProperty] {
693 self.r#member_of.as_slice()
694 }
695 fn take_member_of(&mut self) -> Vec<MemberOfProperty> {
696 std::mem::take(&mut self.r#member_of)
697 }
698 fn get_naics(&self) -> &[NaicsProperty] {
699 self.r#naics.as_slice()
700 }
701 fn take_naics(&mut self) -> Vec<NaicsProperty> {
702 std::mem::take(&mut self.r#naics)
703 }
704 fn get_nationality(&self) -> &[NationalityProperty] {
705 self.r#nationality.as_slice()
706 }
707 fn take_nationality(&mut self) -> Vec<NationalityProperty> {
708 std::mem::take(&mut self.r#nationality)
709 }
710 fn get_net_worth(&self) -> &[NetWorthProperty] {
711 self.r#net_worth.as_slice()
712 }
713 fn take_net_worth(&mut self) -> Vec<NetWorthProperty> {
714 std::mem::take(&mut self.r#net_worth)
715 }
716 fn get_owns(&self) -> &[OwnsProperty] {
717 self.r#owns.as_slice()
718 }
719 fn take_owns(&mut self) -> Vec<OwnsProperty> {
720 std::mem::take(&mut self.r#owns)
721 }
722 fn get_parent(&self) -> &[ParentProperty] {
723 self.r#parent.as_slice()
724 }
725 fn take_parent(&mut self) -> Vec<ParentProperty> {
726 std::mem::take(&mut self.r#parent)
727 }
728 fn get_parents(&self) -> &[ParentsProperty] {
729 self.r#parents.as_slice()
730 }
731 fn take_parents(&mut self) -> Vec<ParentsProperty> {
732 std::mem::take(&mut self.r#parents)
733 }
734 fn get_performer_in(&self) -> &[PerformerInProperty] {
735 self.r#performer_in.as_slice()
736 }
737 fn take_performer_in(&mut self) -> Vec<PerformerInProperty> {
738 std::mem::take(&mut self.r#performer_in)
739 }
740 fn get_publishing_principles(&self) -> &[PublishingPrinciplesProperty] {
741 self.r#publishing_principles.as_slice()
742 }
743 fn take_publishing_principles(&mut self) -> Vec<PublishingPrinciplesProperty> {
744 std::mem::take(&mut self.r#publishing_principles)
745 }
746 fn get_related_to(&self) -> &[RelatedToProperty] {
747 self.r#related_to.as_slice()
748 }
749 fn take_related_to(&mut self) -> Vec<RelatedToProperty> {
750 std::mem::take(&mut self.r#related_to)
751 }
752 fn get_seeks(&self) -> &[SeeksProperty] {
753 self.r#seeks.as_slice()
754 }
755 fn take_seeks(&mut self) -> Vec<SeeksProperty> {
756 std::mem::take(&mut self.r#seeks)
757 }
758 fn get_sibling(&self) -> &[SiblingProperty] {
759 self.r#sibling.as_slice()
760 }
761 fn take_sibling(&mut self) -> Vec<SiblingProperty> {
762 std::mem::take(&mut self.r#sibling)
763 }
764 fn get_siblings(&self) -> &[SiblingsProperty] {
765 self.r#siblings.as_slice()
766 }
767 fn take_siblings(&mut self) -> Vec<SiblingsProperty> {
768 std::mem::take(&mut self.r#siblings)
769 }
770 fn get_sponsor(&self) -> &[SponsorProperty] {
771 self.r#sponsor.as_slice()
772 }
773 fn take_sponsor(&mut self) -> Vec<SponsorProperty> {
774 std::mem::take(&mut self.r#sponsor)
775 }
776 fn get_spouse(&self) -> &[SpouseProperty] {
777 self.r#spouse.as_slice()
778 }
779 fn take_spouse(&mut self) -> Vec<SpouseProperty> {
780 std::mem::take(&mut self.r#spouse)
781 }
782 fn get_tax_id(&self) -> &[TaxIdProperty] {
783 self.r#tax_id.as_slice()
784 }
785 fn take_tax_id(&mut self) -> Vec<TaxIdProperty> {
786 std::mem::take(&mut self.r#tax_id)
787 }
788 fn get_telephone(&self) -> &[TelephoneProperty] {
789 self.r#telephone.as_slice()
790 }
791 fn take_telephone(&mut self) -> Vec<TelephoneProperty> {
792 std::mem::take(&mut self.r#telephone)
793 }
794 fn get_vat_id(&self) -> &[VatIdProperty] {
795 self.r#vat_id.as_slice()
796 }
797 fn take_vat_id(&mut self) -> Vec<VatIdProperty> {
798 std::mem::take(&mut self.r#vat_id)
799 }
800 fn get_weight(&self) -> &[WeightProperty] {
801 self.r#weight.as_slice()
802 }
803 fn take_weight(&mut self) -> Vec<WeightProperty> {
804 std::mem::take(&mut self.r#weight)
805 }
806 fn get_work_location(&self) -> &[WorkLocationProperty] {
807 self.r#work_location.as_slice()
808 }
809 fn take_work_location(&mut self) -> Vec<WorkLocationProperty> {
810 std::mem::take(&mut self.r#work_location)
811 }
812 fn get_works_for(&self) -> &[WorksForProperty] {
813 self.r#works_for.as_slice()
814 }
815 fn take_works_for(&mut self) -> Vec<WorksForProperty> {
816 std::mem::take(&mut self.r#works_for)
817 }
818}
819impl ThingTrait for Person {
820 fn get_additional_type(&self) -> &[AdditionalTypeProperty] {
821 self.r#additional_type.as_slice()
822 }
823 fn take_additional_type(&mut self) -> Vec<AdditionalTypeProperty> {
824 std::mem::take(&mut self.r#additional_type)
825 }
826 fn get_alternate_name(&self) -> &[AlternateNameProperty] {
827 self.r#alternate_name.as_slice()
828 }
829 fn take_alternate_name(&mut self) -> Vec<AlternateNameProperty> {
830 std::mem::take(&mut self.r#alternate_name)
831 }
832 fn get_description(&self) -> &[DescriptionProperty] {
833 self.r#description.as_slice()
834 }
835 fn take_description(&mut self) -> Vec<DescriptionProperty> {
836 std::mem::take(&mut self.r#description)
837 }
838 fn get_disambiguating_description(&self) -> &[DisambiguatingDescriptionProperty] {
839 self.r#disambiguating_description.as_slice()
840 }
841 fn take_disambiguating_description(&mut self) -> Vec<DisambiguatingDescriptionProperty> {
842 std::mem::take(&mut self.r#disambiguating_description)
843 }
844 fn get_identifier(&self) -> &[IdentifierProperty] {
845 self.r#identifier.as_slice()
846 }
847 fn take_identifier(&mut self) -> Vec<IdentifierProperty> {
848 std::mem::take(&mut self.r#identifier)
849 }
850 fn get_image(&self) -> &[ImageProperty] {
851 self.r#image.as_slice()
852 }
853 fn take_image(&mut self) -> Vec<ImageProperty> {
854 std::mem::take(&mut self.r#image)
855 }
856 fn get_main_entity_of_page(&self) -> &[MainEntityOfPageProperty] {
857 self.r#main_entity_of_page.as_slice()
858 }
859 fn take_main_entity_of_page(&mut self) -> Vec<MainEntityOfPageProperty> {
860 std::mem::take(&mut self.r#main_entity_of_page)
861 }
862 fn get_name(&self) -> &[NameProperty] {
863 self.r#name.as_slice()
864 }
865 fn take_name(&mut self) -> Vec<NameProperty> {
866 std::mem::take(&mut self.r#name)
867 }
868 fn get_potential_action(&self) -> &[PotentialActionProperty] {
869 self.r#potential_action.as_slice()
870 }
871 fn take_potential_action(&mut self) -> Vec<PotentialActionProperty> {
872 std::mem::take(&mut self.r#potential_action)
873 }
874 fn get_same_as(&self) -> &[SameAsProperty] {
875 self.r#same_as.as_slice()
876 }
877 fn take_same_as(&mut self) -> Vec<SameAsProperty> {
878 std::mem::take(&mut self.r#same_as)
879 }
880 fn get_subject_of(&self) -> &[SubjectOfProperty] {
881 self.r#subject_of.as_slice()
882 }
883 fn take_subject_of(&mut self) -> Vec<SubjectOfProperty> {
884 std::mem::take(&mut self.r#subject_of)
885 }
886 fn get_url(&self) -> &[UrlProperty] {
887 self.r#url.as_slice()
888 }
889 fn take_url(&mut self) -> Vec<UrlProperty> {
890 std::mem::take(&mut self.r#url)
891 }
892}
893#[cfg(feature = "serde")]
894mod serde {
895 use std::{fmt, fmt::Formatter};
896
897 use ::serde::{
898 de, de::Visitor, ser::SerializeStruct, Deserialize, Deserializer, Serialize, Serializer,
899 };
900
901 use super::*;
902 impl Serialize for Person {
903 fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
904 where
905 S: Serializer,
906 {
907 let len: usize = [
908 !Vec::is_empty(&self.r#additional_name) as usize,
909 !Vec::is_empty(&self.r#address) as usize,
910 !Vec::is_empty(&self.r#affiliation) as usize,
911 !Vec::is_empty(&self.r#agent_interaction_statistic) as usize,
912 !Vec::is_empty(&self.r#alumni_of) as usize,
913 !Vec::is_empty(&self.r#award) as usize,
914 !Vec::is_empty(&self.r#awards) as usize,
915 !Vec::is_empty(&self.r#birth_date) as usize,
916 !Vec::is_empty(&self.r#birth_place) as usize,
917 !Vec::is_empty(&self.r#brand) as usize,
918 !Vec::is_empty(&self.r#call_sign) as usize,
919 !Vec::is_empty(&self.r#children) as usize,
920 !Vec::is_empty(&self.r#colleague) as usize,
921 !Vec::is_empty(&self.r#colleagues) as usize,
922 !Vec::is_empty(&self.r#contact_point) as usize,
923 !Vec::is_empty(&self.r#contact_points) as usize,
924 !Vec::is_empty(&self.r#death_date) as usize,
925 !Vec::is_empty(&self.r#death_place) as usize,
926 !Vec::is_empty(&self.r#duns) as usize,
927 !Vec::is_empty(&self.r#email) as usize,
928 !Vec::is_empty(&self.r#family_name) as usize,
929 !Vec::is_empty(&self.r#fax_number) as usize,
930 !Vec::is_empty(&self.r#follows) as usize,
931 !Vec::is_empty(&self.r#funder) as usize,
932 !Vec::is_empty(&self.r#funding) as usize,
933 !Vec::is_empty(&self.r#gender) as usize,
934 !Vec::is_empty(&self.r#given_name) as usize,
935 !Vec::is_empty(&self.r#global_location_number) as usize,
936 !Vec::is_empty(&self.r#has_credential) as usize,
937 !Vec::is_empty(&self.r#has_occupation) as usize,
938 !Vec::is_empty(&self.r#has_offer_catalog) as usize,
939 !Vec::is_empty(&self.r#has_pos) as usize,
940 !Vec::is_empty(&self.r#height) as usize,
941 !Vec::is_empty(&self.r#home_location) as usize,
942 !Vec::is_empty(&self.r#honorific_prefix) as usize,
943 !Vec::is_empty(&self.r#honorific_suffix) as usize,
944 !Vec::is_empty(&self.r#interaction_statistic) as usize,
945 !Vec::is_empty(&self.r#isic_v_4) as usize,
946 !Vec::is_empty(&self.r#job_title) as usize,
947 !Vec::is_empty(&self.r#knows) as usize,
948 !Vec::is_empty(&self.r#knows_about) as usize,
949 !Vec::is_empty(&self.r#knows_language) as usize,
950 !Vec::is_empty(&self.r#makes_offer) as usize,
951 !Vec::is_empty(&self.r#member_of) as usize,
952 !Vec::is_empty(&self.r#naics) as usize,
953 !Vec::is_empty(&self.r#nationality) as usize,
954 !Vec::is_empty(&self.r#net_worth) as usize,
955 !Vec::is_empty(&self.r#owns) as usize,
956 !Vec::is_empty(&self.r#parent) as usize,
957 !Vec::is_empty(&self.r#parents) as usize,
958 !Vec::is_empty(&self.r#performer_in) as usize,
959 !Vec::is_empty(&self.r#publishing_principles) as usize,
960 !Vec::is_empty(&self.r#related_to) as usize,
961 !Vec::is_empty(&self.r#seeks) as usize,
962 !Vec::is_empty(&self.r#sibling) as usize,
963 !Vec::is_empty(&self.r#siblings) as usize,
964 !Vec::is_empty(&self.r#sponsor) as usize,
965 !Vec::is_empty(&self.r#spouse) as usize,
966 !Vec::is_empty(&self.r#tax_id) as usize,
967 !Vec::is_empty(&self.r#telephone) as usize,
968 !Vec::is_empty(&self.r#vat_id) as usize,
969 !Vec::is_empty(&self.r#weight) as usize,
970 !Vec::is_empty(&self.r#work_location) as usize,
971 !Vec::is_empty(&self.r#works_for) as usize,
972 !Vec::is_empty(&self.r#additional_type) as usize,
973 !Vec::is_empty(&self.r#alternate_name) as usize,
974 !Vec::is_empty(&self.r#description) as usize,
975 !Vec::is_empty(&self.r#disambiguating_description) as usize,
976 !Vec::is_empty(&self.r#identifier) as usize,
977 !Vec::is_empty(&self.r#image) as usize,
978 !Vec::is_empty(&self.r#main_entity_of_page) as usize,
979 !Vec::is_empty(&self.r#name) as usize,
980 !Vec::is_empty(&self.r#potential_action) as usize,
981 !Vec::is_empty(&self.r#same_as) as usize,
982 !Vec::is_empty(&self.r#subject_of) as usize,
983 !Vec::is_empty(&self.r#url) as usize,
984 ]
985 .iter()
986 .sum();
987 let mut serialize_struct = Serializer::serialize_struct(serializer, "Person", len)?;
988 if !Vec::is_empty(&self.r#additional_name) {
989 serialize_struct.serialize_field("additionalName", {
990 struct SerializeWith<'a>(&'a Vec<AdditionalNameProperty>);
991 impl<'a> Serialize for SerializeWith<'a> {
992 fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
993 where
994 S: Serializer,
995 {
996 serde_with::As::<serde_with::OneOrMany<serde_with::Same>>::serialize(
997 self.0, serializer,
998 )
999 }
1000 }
1001 &SerializeWith(&self.r#additional_name)
1002 })?;
1003 } else {
1004 serialize_struct.skip_field("additionalName")?;
1005 }
1006 if !Vec::is_empty(&self.r#address) {
1007 serialize_struct.serialize_field("address", {
1008 struct SerializeWith<'a>(&'a Vec<AddressProperty>);
1009 impl<'a> Serialize for SerializeWith<'a> {
1010 fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
1011 where
1012 S: Serializer,
1013 {
1014 serde_with::As::<serde_with::OneOrMany<serde_with::Same>>::serialize(
1015 self.0, serializer,
1016 )
1017 }
1018 }
1019 &SerializeWith(&self.r#address)
1020 })?;
1021 } else {
1022 serialize_struct.skip_field("address")?;
1023 }
1024 if !Vec::is_empty(&self.r#affiliation) {
1025 serialize_struct.serialize_field("affiliation", {
1026 struct SerializeWith<'a>(&'a Vec<AffiliationProperty>);
1027 impl<'a> Serialize for SerializeWith<'a> {
1028 fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
1029 where
1030 S: Serializer,
1031 {
1032 serde_with::As::<serde_with::OneOrMany<serde_with::Same>>::serialize(
1033 self.0, serializer,
1034 )
1035 }
1036 }
1037 &SerializeWith(&self.r#affiliation)
1038 })?;
1039 } else {
1040 serialize_struct.skip_field("affiliation")?;
1041 }
1042 if !Vec::is_empty(&self.r#agent_interaction_statistic) {
1043 serialize_struct.serialize_field("agentInteractionStatistic", {
1044 struct SerializeWith<'a>(&'a Vec<AgentInteractionStatisticProperty>);
1045 impl<'a> Serialize for SerializeWith<'a> {
1046 fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
1047 where
1048 S: Serializer,
1049 {
1050 serde_with::As::<serde_with::OneOrMany<serde_with::Same>>::serialize(
1051 self.0, serializer,
1052 )
1053 }
1054 }
1055 &SerializeWith(&self.r#agent_interaction_statistic)
1056 })?;
1057 } else {
1058 serialize_struct.skip_field("agentInteractionStatistic")?;
1059 }
1060 if !Vec::is_empty(&self.r#alumni_of) {
1061 serialize_struct.serialize_field("alumniOf", {
1062 struct SerializeWith<'a>(&'a Vec<AlumniOfProperty>);
1063 impl<'a> Serialize for SerializeWith<'a> {
1064 fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
1065 where
1066 S: Serializer,
1067 {
1068 serde_with::As::<serde_with::OneOrMany<serde_with::Same>>::serialize(
1069 self.0, serializer,
1070 )
1071 }
1072 }
1073 &SerializeWith(&self.r#alumni_of)
1074 })?;
1075 } else {
1076 serialize_struct.skip_field("alumniOf")?;
1077 }
1078 if !Vec::is_empty(&self.r#award) {
1079 serialize_struct.serialize_field("award", {
1080 struct SerializeWith<'a>(&'a Vec<AwardProperty>);
1081 impl<'a> Serialize for SerializeWith<'a> {
1082 fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
1083 where
1084 S: Serializer,
1085 {
1086 serde_with::As::<serde_with::OneOrMany<serde_with::Same>>::serialize(
1087 self.0, serializer,
1088 )
1089 }
1090 }
1091 &SerializeWith(&self.r#award)
1092 })?;
1093 } else {
1094 serialize_struct.skip_field("award")?;
1095 }
1096 if !Vec::is_empty(&self.r#awards) {
1097 serialize_struct.serialize_field("awards", {
1098 struct SerializeWith<'a>(&'a Vec<AwardsProperty>);
1099 impl<'a> Serialize for SerializeWith<'a> {
1100 fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
1101 where
1102 S: Serializer,
1103 {
1104 serde_with::As::<serde_with::OneOrMany<serde_with::Same>>::serialize(
1105 self.0, serializer,
1106 )
1107 }
1108 }
1109 &SerializeWith(&self.r#awards)
1110 })?;
1111 } else {
1112 serialize_struct.skip_field("awards")?;
1113 }
1114 if !Vec::is_empty(&self.r#birth_date) {
1115 serialize_struct.serialize_field("birthDate", {
1116 struct SerializeWith<'a>(&'a Vec<BirthDateProperty>);
1117 impl<'a> Serialize for SerializeWith<'a> {
1118 fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
1119 where
1120 S: Serializer,
1121 {
1122 serde_with::As::<serde_with::OneOrMany<serde_with::Same>>::serialize(
1123 self.0, serializer,
1124 )
1125 }
1126 }
1127 &SerializeWith(&self.r#birth_date)
1128 })?;
1129 } else {
1130 serialize_struct.skip_field("birthDate")?;
1131 }
1132 if !Vec::is_empty(&self.r#birth_place) {
1133 serialize_struct.serialize_field("birthPlace", {
1134 struct SerializeWith<'a>(&'a Vec<BirthPlaceProperty>);
1135 impl<'a> Serialize for SerializeWith<'a> {
1136 fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
1137 where
1138 S: Serializer,
1139 {
1140 serde_with::As::<serde_with::OneOrMany<serde_with::Same>>::serialize(
1141 self.0, serializer,
1142 )
1143 }
1144 }
1145 &SerializeWith(&self.r#birth_place)
1146 })?;
1147 } else {
1148 serialize_struct.skip_field("birthPlace")?;
1149 }
1150 if !Vec::is_empty(&self.r#brand) {
1151 serialize_struct.serialize_field("brand", {
1152 struct SerializeWith<'a>(&'a Vec<BrandProperty>);
1153 impl<'a> Serialize for SerializeWith<'a> {
1154 fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
1155 where
1156 S: Serializer,
1157 {
1158 serde_with::As::<serde_with::OneOrMany<serde_with::Same>>::serialize(
1159 self.0, serializer,
1160 )
1161 }
1162 }
1163 &SerializeWith(&self.r#brand)
1164 })?;
1165 } else {
1166 serialize_struct.skip_field("brand")?;
1167 }
1168 if !Vec::is_empty(&self.r#call_sign) {
1169 serialize_struct.serialize_field("callSign", {
1170 struct SerializeWith<'a>(&'a Vec<CallSignProperty>);
1171 impl<'a> Serialize for SerializeWith<'a> {
1172 fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
1173 where
1174 S: Serializer,
1175 {
1176 serde_with::As::<serde_with::OneOrMany<serde_with::Same>>::serialize(
1177 self.0, serializer,
1178 )
1179 }
1180 }
1181 &SerializeWith(&self.r#call_sign)
1182 })?;
1183 } else {
1184 serialize_struct.skip_field("callSign")?;
1185 }
1186 if !Vec::is_empty(&self.r#children) {
1187 serialize_struct.serialize_field("children", {
1188 struct SerializeWith<'a>(&'a Vec<ChildrenProperty>);
1189 impl<'a> Serialize for SerializeWith<'a> {
1190 fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
1191 where
1192 S: Serializer,
1193 {
1194 serde_with::As::<serde_with::OneOrMany<serde_with::Same>>::serialize(
1195 self.0, serializer,
1196 )
1197 }
1198 }
1199 &SerializeWith(&self.r#children)
1200 })?;
1201 } else {
1202 serialize_struct.skip_field("children")?;
1203 }
1204 if !Vec::is_empty(&self.r#colleague) {
1205 serialize_struct.serialize_field("colleague", {
1206 struct SerializeWith<'a>(&'a Vec<ColleagueProperty>);
1207 impl<'a> Serialize for SerializeWith<'a> {
1208 fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
1209 where
1210 S: Serializer,
1211 {
1212 serde_with::As::<serde_with::OneOrMany<serde_with::Same>>::serialize(
1213 self.0, serializer,
1214 )
1215 }
1216 }
1217 &SerializeWith(&self.r#colleague)
1218 })?;
1219 } else {
1220 serialize_struct.skip_field("colleague")?;
1221 }
1222 if !Vec::is_empty(&self.r#colleagues) {
1223 serialize_struct.serialize_field("colleagues", {
1224 struct SerializeWith<'a>(&'a Vec<ColleaguesProperty>);
1225 impl<'a> Serialize for SerializeWith<'a> {
1226 fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
1227 where
1228 S: Serializer,
1229 {
1230 serde_with::As::<serde_with::OneOrMany<serde_with::Same>>::serialize(
1231 self.0, serializer,
1232 )
1233 }
1234 }
1235 &SerializeWith(&self.r#colleagues)
1236 })?;
1237 } else {
1238 serialize_struct.skip_field("colleagues")?;
1239 }
1240 if !Vec::is_empty(&self.r#contact_point) {
1241 serialize_struct.serialize_field("contactPoint", {
1242 struct SerializeWith<'a>(&'a Vec<ContactPointProperty>);
1243 impl<'a> Serialize for SerializeWith<'a> {
1244 fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
1245 where
1246 S: Serializer,
1247 {
1248 serde_with::As::<serde_with::OneOrMany<serde_with::Same>>::serialize(
1249 self.0, serializer,
1250 )
1251 }
1252 }
1253 &SerializeWith(&self.r#contact_point)
1254 })?;
1255 } else {
1256 serialize_struct.skip_field("contactPoint")?;
1257 }
1258 if !Vec::is_empty(&self.r#contact_points) {
1259 serialize_struct.serialize_field("contactPoints", {
1260 struct SerializeWith<'a>(&'a Vec<ContactPointsProperty>);
1261 impl<'a> Serialize for SerializeWith<'a> {
1262 fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
1263 where
1264 S: Serializer,
1265 {
1266 serde_with::As::<serde_with::OneOrMany<serde_with::Same>>::serialize(
1267 self.0, serializer,
1268 )
1269 }
1270 }
1271 &SerializeWith(&self.r#contact_points)
1272 })?;
1273 } else {
1274 serialize_struct.skip_field("contactPoints")?;
1275 }
1276 if !Vec::is_empty(&self.r#death_date) {
1277 serialize_struct.serialize_field("deathDate", {
1278 struct SerializeWith<'a>(&'a Vec<DeathDateProperty>);
1279 impl<'a> Serialize for SerializeWith<'a> {
1280 fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
1281 where
1282 S: Serializer,
1283 {
1284 serde_with::As::<serde_with::OneOrMany<serde_with::Same>>::serialize(
1285 self.0, serializer,
1286 )
1287 }
1288 }
1289 &SerializeWith(&self.r#death_date)
1290 })?;
1291 } else {
1292 serialize_struct.skip_field("deathDate")?;
1293 }
1294 if !Vec::is_empty(&self.r#death_place) {
1295 serialize_struct.serialize_field("deathPlace", {
1296 struct SerializeWith<'a>(&'a Vec<DeathPlaceProperty>);
1297 impl<'a> Serialize for SerializeWith<'a> {
1298 fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
1299 where
1300 S: Serializer,
1301 {
1302 serde_with::As::<serde_with::OneOrMany<serde_with::Same>>::serialize(
1303 self.0, serializer,
1304 )
1305 }
1306 }
1307 &SerializeWith(&self.r#death_place)
1308 })?;
1309 } else {
1310 serialize_struct.skip_field("deathPlace")?;
1311 }
1312 if !Vec::is_empty(&self.r#duns) {
1313 serialize_struct.serialize_field("duns", {
1314 struct SerializeWith<'a>(&'a Vec<DunsProperty>);
1315 impl<'a> Serialize for SerializeWith<'a> {
1316 fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
1317 where
1318 S: Serializer,
1319 {
1320 serde_with::As::<serde_with::OneOrMany<serde_with::Same>>::serialize(
1321 self.0, serializer,
1322 )
1323 }
1324 }
1325 &SerializeWith(&self.r#duns)
1326 })?;
1327 } else {
1328 serialize_struct.skip_field("duns")?;
1329 }
1330 if !Vec::is_empty(&self.r#email) {
1331 serialize_struct.serialize_field("email", {
1332 struct SerializeWith<'a>(&'a Vec<EmailProperty>);
1333 impl<'a> Serialize for SerializeWith<'a> {
1334 fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
1335 where
1336 S: Serializer,
1337 {
1338 serde_with::As::<serde_with::OneOrMany<serde_with::Same>>::serialize(
1339 self.0, serializer,
1340 )
1341 }
1342 }
1343 &SerializeWith(&self.r#email)
1344 })?;
1345 } else {
1346 serialize_struct.skip_field("email")?;
1347 }
1348 if !Vec::is_empty(&self.r#family_name) {
1349 serialize_struct.serialize_field("familyName", {
1350 struct SerializeWith<'a>(&'a Vec<FamilyNameProperty>);
1351 impl<'a> Serialize for SerializeWith<'a> {
1352 fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
1353 where
1354 S: Serializer,
1355 {
1356 serde_with::As::<serde_with::OneOrMany<serde_with::Same>>::serialize(
1357 self.0, serializer,
1358 )
1359 }
1360 }
1361 &SerializeWith(&self.r#family_name)
1362 })?;
1363 } else {
1364 serialize_struct.skip_field("familyName")?;
1365 }
1366 if !Vec::is_empty(&self.r#fax_number) {
1367 serialize_struct.serialize_field("faxNumber", {
1368 struct SerializeWith<'a>(&'a Vec<FaxNumberProperty>);
1369 impl<'a> Serialize for SerializeWith<'a> {
1370 fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
1371 where
1372 S: Serializer,
1373 {
1374 serde_with::As::<serde_with::OneOrMany<serde_with::Same>>::serialize(
1375 self.0, serializer,
1376 )
1377 }
1378 }
1379 &SerializeWith(&self.r#fax_number)
1380 })?;
1381 } else {
1382 serialize_struct.skip_field("faxNumber")?;
1383 }
1384 if !Vec::is_empty(&self.r#follows) {
1385 serialize_struct.serialize_field("follows", {
1386 struct SerializeWith<'a>(&'a Vec<FollowsProperty>);
1387 impl<'a> Serialize for SerializeWith<'a> {
1388 fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
1389 where
1390 S: Serializer,
1391 {
1392 serde_with::As::<serde_with::OneOrMany<serde_with::Same>>::serialize(
1393 self.0, serializer,
1394 )
1395 }
1396 }
1397 &SerializeWith(&self.r#follows)
1398 })?;
1399 } else {
1400 serialize_struct.skip_field("follows")?;
1401 }
1402 if !Vec::is_empty(&self.r#funder) {
1403 serialize_struct.serialize_field("funder", {
1404 struct SerializeWith<'a>(&'a Vec<FunderProperty>);
1405 impl<'a> Serialize for SerializeWith<'a> {
1406 fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
1407 where
1408 S: Serializer,
1409 {
1410 serde_with::As::<serde_with::OneOrMany<serde_with::Same>>::serialize(
1411 self.0, serializer,
1412 )
1413 }
1414 }
1415 &SerializeWith(&self.r#funder)
1416 })?;
1417 } else {
1418 serialize_struct.skip_field("funder")?;
1419 }
1420 if !Vec::is_empty(&self.r#funding) {
1421 serialize_struct.serialize_field("funding", {
1422 struct SerializeWith<'a>(&'a Vec<FundingProperty>);
1423 impl<'a> Serialize for SerializeWith<'a> {
1424 fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
1425 where
1426 S: Serializer,
1427 {
1428 serde_with::As::<serde_with::OneOrMany<serde_with::Same>>::serialize(
1429 self.0, serializer,
1430 )
1431 }
1432 }
1433 &SerializeWith(&self.r#funding)
1434 })?;
1435 } else {
1436 serialize_struct.skip_field("funding")?;
1437 }
1438 if !Vec::is_empty(&self.r#gender) {
1439 serialize_struct.serialize_field("gender", {
1440 struct SerializeWith<'a>(&'a Vec<GenderProperty>);
1441 impl<'a> Serialize for SerializeWith<'a> {
1442 fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
1443 where
1444 S: Serializer,
1445 {
1446 serde_with::As::<serde_with::OneOrMany<serde_with::Same>>::serialize(
1447 self.0, serializer,
1448 )
1449 }
1450 }
1451 &SerializeWith(&self.r#gender)
1452 })?;
1453 } else {
1454 serialize_struct.skip_field("gender")?;
1455 }
1456 if !Vec::is_empty(&self.r#given_name) {
1457 serialize_struct.serialize_field("givenName", {
1458 struct SerializeWith<'a>(&'a Vec<GivenNameProperty>);
1459 impl<'a> Serialize for SerializeWith<'a> {
1460 fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
1461 where
1462 S: Serializer,
1463 {
1464 serde_with::As::<serde_with::OneOrMany<serde_with::Same>>::serialize(
1465 self.0, serializer,
1466 )
1467 }
1468 }
1469 &SerializeWith(&self.r#given_name)
1470 })?;
1471 } else {
1472 serialize_struct.skip_field("givenName")?;
1473 }
1474 if !Vec::is_empty(&self.r#global_location_number) {
1475 serialize_struct.serialize_field("globalLocationNumber", {
1476 struct SerializeWith<'a>(&'a Vec<GlobalLocationNumberProperty>);
1477 impl<'a> Serialize for SerializeWith<'a> {
1478 fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
1479 where
1480 S: Serializer,
1481 {
1482 serde_with::As::<serde_with::OneOrMany<serde_with::Same>>::serialize(
1483 self.0, serializer,
1484 )
1485 }
1486 }
1487 &SerializeWith(&self.r#global_location_number)
1488 })?;
1489 } else {
1490 serialize_struct.skip_field("globalLocationNumber")?;
1491 }
1492 if !Vec::is_empty(&self.r#has_credential) {
1493 serialize_struct.serialize_field("hasCredential", {
1494 struct SerializeWith<'a>(&'a Vec<HasCredentialProperty>);
1495 impl<'a> Serialize for SerializeWith<'a> {
1496 fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
1497 where
1498 S: Serializer,
1499 {
1500 serde_with::As::<serde_with::OneOrMany<serde_with::Same>>::serialize(
1501 self.0, serializer,
1502 )
1503 }
1504 }
1505 &SerializeWith(&self.r#has_credential)
1506 })?;
1507 } else {
1508 serialize_struct.skip_field("hasCredential")?;
1509 }
1510 if !Vec::is_empty(&self.r#has_occupation) {
1511 serialize_struct.serialize_field("hasOccupation", {
1512 struct SerializeWith<'a>(&'a Vec<HasOccupationProperty>);
1513 impl<'a> Serialize for SerializeWith<'a> {
1514 fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
1515 where
1516 S: Serializer,
1517 {
1518 serde_with::As::<serde_with::OneOrMany<serde_with::Same>>::serialize(
1519 self.0, serializer,
1520 )
1521 }
1522 }
1523 &SerializeWith(&self.r#has_occupation)
1524 })?;
1525 } else {
1526 serialize_struct.skip_field("hasOccupation")?;
1527 }
1528 if !Vec::is_empty(&self.r#has_offer_catalog) {
1529 serialize_struct.serialize_field("hasOfferCatalog", {
1530 struct SerializeWith<'a>(&'a Vec<HasOfferCatalogProperty>);
1531 impl<'a> Serialize for SerializeWith<'a> {
1532 fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
1533 where
1534 S: Serializer,
1535 {
1536 serde_with::As::<serde_with::OneOrMany<serde_with::Same>>::serialize(
1537 self.0, serializer,
1538 )
1539 }
1540 }
1541 &SerializeWith(&self.r#has_offer_catalog)
1542 })?;
1543 } else {
1544 serialize_struct.skip_field("hasOfferCatalog")?;
1545 }
1546 if !Vec::is_empty(&self.r#has_pos) {
1547 serialize_struct.serialize_field("hasPOS", {
1548 struct SerializeWith<'a>(&'a Vec<HasPosProperty>);
1549 impl<'a> Serialize for SerializeWith<'a> {
1550 fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
1551 where
1552 S: Serializer,
1553 {
1554 serde_with::As::<serde_with::OneOrMany<serde_with::Same>>::serialize(
1555 self.0, serializer,
1556 )
1557 }
1558 }
1559 &SerializeWith(&self.r#has_pos)
1560 })?;
1561 } else {
1562 serialize_struct.skip_field("hasPOS")?;
1563 }
1564 if !Vec::is_empty(&self.r#height) {
1565 serialize_struct.serialize_field("height", {
1566 struct SerializeWith<'a>(&'a Vec<HeightProperty>);
1567 impl<'a> Serialize for SerializeWith<'a> {
1568 fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
1569 where
1570 S: Serializer,
1571 {
1572 serde_with::As::<serde_with::OneOrMany<serde_with::Same>>::serialize(
1573 self.0, serializer,
1574 )
1575 }
1576 }
1577 &SerializeWith(&self.r#height)
1578 })?;
1579 } else {
1580 serialize_struct.skip_field("height")?;
1581 }
1582 if !Vec::is_empty(&self.r#home_location) {
1583 serialize_struct.serialize_field("homeLocation", {
1584 struct SerializeWith<'a>(&'a Vec<HomeLocationProperty>);
1585 impl<'a> Serialize for SerializeWith<'a> {
1586 fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
1587 where
1588 S: Serializer,
1589 {
1590 serde_with::As::<serde_with::OneOrMany<serde_with::Same>>::serialize(
1591 self.0, serializer,
1592 )
1593 }
1594 }
1595 &SerializeWith(&self.r#home_location)
1596 })?;
1597 } else {
1598 serialize_struct.skip_field("homeLocation")?;
1599 }
1600 if !Vec::is_empty(&self.r#honorific_prefix) {
1601 serialize_struct.serialize_field("honorificPrefix", {
1602 struct SerializeWith<'a>(&'a Vec<HonorificPrefixProperty>);
1603 impl<'a> Serialize for SerializeWith<'a> {
1604 fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
1605 where
1606 S: Serializer,
1607 {
1608 serde_with::As::<serde_with::OneOrMany<serde_with::Same>>::serialize(
1609 self.0, serializer,
1610 )
1611 }
1612 }
1613 &SerializeWith(&self.r#honorific_prefix)
1614 })?;
1615 } else {
1616 serialize_struct.skip_field("honorificPrefix")?;
1617 }
1618 if !Vec::is_empty(&self.r#honorific_suffix) {
1619 serialize_struct.serialize_field("honorificSuffix", {
1620 struct SerializeWith<'a>(&'a Vec<HonorificSuffixProperty>);
1621 impl<'a> Serialize for SerializeWith<'a> {
1622 fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
1623 where
1624 S: Serializer,
1625 {
1626 serde_with::As::<serde_with::OneOrMany<serde_with::Same>>::serialize(
1627 self.0, serializer,
1628 )
1629 }
1630 }
1631 &SerializeWith(&self.r#honorific_suffix)
1632 })?;
1633 } else {
1634 serialize_struct.skip_field("honorificSuffix")?;
1635 }
1636 if !Vec::is_empty(&self.r#interaction_statistic) {
1637 serialize_struct.serialize_field("interactionStatistic", {
1638 struct SerializeWith<'a>(&'a Vec<InteractionStatisticProperty>);
1639 impl<'a> Serialize for SerializeWith<'a> {
1640 fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
1641 where
1642 S: Serializer,
1643 {
1644 serde_with::As::<serde_with::OneOrMany<serde_with::Same>>::serialize(
1645 self.0, serializer,
1646 )
1647 }
1648 }
1649 &SerializeWith(&self.r#interaction_statistic)
1650 })?;
1651 } else {
1652 serialize_struct.skip_field("interactionStatistic")?;
1653 }
1654 if !Vec::is_empty(&self.r#isic_v_4) {
1655 serialize_struct.serialize_field("isicV4", {
1656 struct SerializeWith<'a>(&'a Vec<IsicV4Property>);
1657 impl<'a> Serialize for SerializeWith<'a> {
1658 fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
1659 where
1660 S: Serializer,
1661 {
1662 serde_with::As::<serde_with::OneOrMany<serde_with::Same>>::serialize(
1663 self.0, serializer,
1664 )
1665 }
1666 }
1667 &SerializeWith(&self.r#isic_v_4)
1668 })?;
1669 } else {
1670 serialize_struct.skip_field("isicV4")?;
1671 }
1672 if !Vec::is_empty(&self.r#job_title) {
1673 serialize_struct.serialize_field("jobTitle", {
1674 struct SerializeWith<'a>(&'a Vec<JobTitleProperty>);
1675 impl<'a> Serialize for SerializeWith<'a> {
1676 fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
1677 where
1678 S: Serializer,
1679 {
1680 serde_with::As::<serde_with::OneOrMany<serde_with::Same>>::serialize(
1681 self.0, serializer,
1682 )
1683 }
1684 }
1685 &SerializeWith(&self.r#job_title)
1686 })?;
1687 } else {
1688 serialize_struct.skip_field("jobTitle")?;
1689 }
1690 if !Vec::is_empty(&self.r#knows) {
1691 serialize_struct.serialize_field("knows", {
1692 struct SerializeWith<'a>(&'a Vec<KnowsProperty>);
1693 impl<'a> Serialize for SerializeWith<'a> {
1694 fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
1695 where
1696 S: Serializer,
1697 {
1698 serde_with::As::<serde_with::OneOrMany<serde_with::Same>>::serialize(
1699 self.0, serializer,
1700 )
1701 }
1702 }
1703 &SerializeWith(&self.r#knows)
1704 })?;
1705 } else {
1706 serialize_struct.skip_field("knows")?;
1707 }
1708 if !Vec::is_empty(&self.r#knows_about) {
1709 serialize_struct.serialize_field("knowsAbout", {
1710 struct SerializeWith<'a>(&'a Vec<KnowsAboutProperty>);
1711 impl<'a> Serialize for SerializeWith<'a> {
1712 fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
1713 where
1714 S: Serializer,
1715 {
1716 serde_with::As::<serde_with::OneOrMany<serde_with::Same>>::serialize(
1717 self.0, serializer,
1718 )
1719 }
1720 }
1721 &SerializeWith(&self.r#knows_about)
1722 })?;
1723 } else {
1724 serialize_struct.skip_field("knowsAbout")?;
1725 }
1726 if !Vec::is_empty(&self.r#knows_language) {
1727 serialize_struct.serialize_field("knowsLanguage", {
1728 struct SerializeWith<'a>(&'a Vec<KnowsLanguageProperty>);
1729 impl<'a> Serialize for SerializeWith<'a> {
1730 fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
1731 where
1732 S: Serializer,
1733 {
1734 serde_with::As::<serde_with::OneOrMany<serde_with::Same>>::serialize(
1735 self.0, serializer,
1736 )
1737 }
1738 }
1739 &SerializeWith(&self.r#knows_language)
1740 })?;
1741 } else {
1742 serialize_struct.skip_field("knowsLanguage")?;
1743 }
1744 if !Vec::is_empty(&self.r#makes_offer) {
1745 serialize_struct.serialize_field("makesOffer", {
1746 struct SerializeWith<'a>(&'a Vec<MakesOfferProperty>);
1747 impl<'a> Serialize for SerializeWith<'a> {
1748 fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
1749 where
1750 S: Serializer,
1751 {
1752 serde_with::As::<serde_with::OneOrMany<serde_with::Same>>::serialize(
1753 self.0, serializer,
1754 )
1755 }
1756 }
1757 &SerializeWith(&self.r#makes_offer)
1758 })?;
1759 } else {
1760 serialize_struct.skip_field("makesOffer")?;
1761 }
1762 if !Vec::is_empty(&self.r#member_of) {
1763 serialize_struct.serialize_field("memberOf", {
1764 struct SerializeWith<'a>(&'a Vec<MemberOfProperty>);
1765 impl<'a> Serialize for SerializeWith<'a> {
1766 fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
1767 where
1768 S: Serializer,
1769 {
1770 serde_with::As::<serde_with::OneOrMany<serde_with::Same>>::serialize(
1771 self.0, serializer,
1772 )
1773 }
1774 }
1775 &SerializeWith(&self.r#member_of)
1776 })?;
1777 } else {
1778 serialize_struct.skip_field("memberOf")?;
1779 }
1780 if !Vec::is_empty(&self.r#naics) {
1781 serialize_struct.serialize_field("naics", {
1782 struct SerializeWith<'a>(&'a Vec<NaicsProperty>);
1783 impl<'a> Serialize for SerializeWith<'a> {
1784 fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
1785 where
1786 S: Serializer,
1787 {
1788 serde_with::As::<serde_with::OneOrMany<serde_with::Same>>::serialize(
1789 self.0, serializer,
1790 )
1791 }
1792 }
1793 &SerializeWith(&self.r#naics)
1794 })?;
1795 } else {
1796 serialize_struct.skip_field("naics")?;
1797 }
1798 if !Vec::is_empty(&self.r#nationality) {
1799 serialize_struct.serialize_field("nationality", {
1800 struct SerializeWith<'a>(&'a Vec<NationalityProperty>);
1801 impl<'a> Serialize for SerializeWith<'a> {
1802 fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
1803 where
1804 S: Serializer,
1805 {
1806 serde_with::As::<serde_with::OneOrMany<serde_with::Same>>::serialize(
1807 self.0, serializer,
1808 )
1809 }
1810 }
1811 &SerializeWith(&self.r#nationality)
1812 })?;
1813 } else {
1814 serialize_struct.skip_field("nationality")?;
1815 }
1816 if !Vec::is_empty(&self.r#net_worth) {
1817 serialize_struct.serialize_field("netWorth", {
1818 struct SerializeWith<'a>(&'a Vec<NetWorthProperty>);
1819 impl<'a> Serialize for SerializeWith<'a> {
1820 fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
1821 where
1822 S: Serializer,
1823 {
1824 serde_with::As::<serde_with::OneOrMany<serde_with::Same>>::serialize(
1825 self.0, serializer,
1826 )
1827 }
1828 }
1829 &SerializeWith(&self.r#net_worth)
1830 })?;
1831 } else {
1832 serialize_struct.skip_field("netWorth")?;
1833 }
1834 if !Vec::is_empty(&self.r#owns) {
1835 serialize_struct.serialize_field("owns", {
1836 struct SerializeWith<'a>(&'a Vec<OwnsProperty>);
1837 impl<'a> Serialize for SerializeWith<'a> {
1838 fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
1839 where
1840 S: Serializer,
1841 {
1842 serde_with::As::<serde_with::OneOrMany<serde_with::Same>>::serialize(
1843 self.0, serializer,
1844 )
1845 }
1846 }
1847 &SerializeWith(&self.r#owns)
1848 })?;
1849 } else {
1850 serialize_struct.skip_field("owns")?;
1851 }
1852 if !Vec::is_empty(&self.r#parent) {
1853 serialize_struct.serialize_field("parent", {
1854 struct SerializeWith<'a>(&'a Vec<ParentProperty>);
1855 impl<'a> Serialize for SerializeWith<'a> {
1856 fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
1857 where
1858 S: Serializer,
1859 {
1860 serde_with::As::<serde_with::OneOrMany<serde_with::Same>>::serialize(
1861 self.0, serializer,
1862 )
1863 }
1864 }
1865 &SerializeWith(&self.r#parent)
1866 })?;
1867 } else {
1868 serialize_struct.skip_field("parent")?;
1869 }
1870 if !Vec::is_empty(&self.r#parents) {
1871 serialize_struct.serialize_field("parents", {
1872 struct SerializeWith<'a>(&'a Vec<ParentsProperty>);
1873 impl<'a> Serialize for SerializeWith<'a> {
1874 fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
1875 where
1876 S: Serializer,
1877 {
1878 serde_with::As::<serde_with::OneOrMany<serde_with::Same>>::serialize(
1879 self.0, serializer,
1880 )
1881 }
1882 }
1883 &SerializeWith(&self.r#parents)
1884 })?;
1885 } else {
1886 serialize_struct.skip_field("parents")?;
1887 }
1888 if !Vec::is_empty(&self.r#performer_in) {
1889 serialize_struct.serialize_field("performerIn", {
1890 struct SerializeWith<'a>(&'a Vec<PerformerInProperty>);
1891 impl<'a> Serialize for SerializeWith<'a> {
1892 fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
1893 where
1894 S: Serializer,
1895 {
1896 serde_with::As::<serde_with::OneOrMany<serde_with::Same>>::serialize(
1897 self.0, serializer,
1898 )
1899 }
1900 }
1901 &SerializeWith(&self.r#performer_in)
1902 })?;
1903 } else {
1904 serialize_struct.skip_field("performerIn")?;
1905 }
1906 if !Vec::is_empty(&self.r#publishing_principles) {
1907 serialize_struct.serialize_field("publishingPrinciples", {
1908 struct SerializeWith<'a>(&'a Vec<PublishingPrinciplesProperty>);
1909 impl<'a> Serialize for SerializeWith<'a> {
1910 fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
1911 where
1912 S: Serializer,
1913 {
1914 serde_with::As::<serde_with::OneOrMany<serde_with::Same>>::serialize(
1915 self.0, serializer,
1916 )
1917 }
1918 }
1919 &SerializeWith(&self.r#publishing_principles)
1920 })?;
1921 } else {
1922 serialize_struct.skip_field("publishingPrinciples")?;
1923 }
1924 if !Vec::is_empty(&self.r#related_to) {
1925 serialize_struct.serialize_field("relatedTo", {
1926 struct SerializeWith<'a>(&'a Vec<RelatedToProperty>);
1927 impl<'a> Serialize for SerializeWith<'a> {
1928 fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
1929 where
1930 S: Serializer,
1931 {
1932 serde_with::As::<serde_with::OneOrMany<serde_with::Same>>::serialize(
1933 self.0, serializer,
1934 )
1935 }
1936 }
1937 &SerializeWith(&self.r#related_to)
1938 })?;
1939 } else {
1940 serialize_struct.skip_field("relatedTo")?;
1941 }
1942 if !Vec::is_empty(&self.r#seeks) {
1943 serialize_struct.serialize_field("seeks", {
1944 struct SerializeWith<'a>(&'a Vec<SeeksProperty>);
1945 impl<'a> Serialize for SerializeWith<'a> {
1946 fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
1947 where
1948 S: Serializer,
1949 {
1950 serde_with::As::<serde_with::OneOrMany<serde_with::Same>>::serialize(
1951 self.0, serializer,
1952 )
1953 }
1954 }
1955 &SerializeWith(&self.r#seeks)
1956 })?;
1957 } else {
1958 serialize_struct.skip_field("seeks")?;
1959 }
1960 if !Vec::is_empty(&self.r#sibling) {
1961 serialize_struct.serialize_field("sibling", {
1962 struct SerializeWith<'a>(&'a Vec<SiblingProperty>);
1963 impl<'a> Serialize for SerializeWith<'a> {
1964 fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
1965 where
1966 S: Serializer,
1967 {
1968 serde_with::As::<serde_with::OneOrMany<serde_with::Same>>::serialize(
1969 self.0, serializer,
1970 )
1971 }
1972 }
1973 &SerializeWith(&self.r#sibling)
1974 })?;
1975 } else {
1976 serialize_struct.skip_field("sibling")?;
1977 }
1978 if !Vec::is_empty(&self.r#siblings) {
1979 serialize_struct.serialize_field("siblings", {
1980 struct SerializeWith<'a>(&'a Vec<SiblingsProperty>);
1981 impl<'a> Serialize for SerializeWith<'a> {
1982 fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
1983 where
1984 S: Serializer,
1985 {
1986 serde_with::As::<serde_with::OneOrMany<serde_with::Same>>::serialize(
1987 self.0, serializer,
1988 )
1989 }
1990 }
1991 &SerializeWith(&self.r#siblings)
1992 })?;
1993 } else {
1994 serialize_struct.skip_field("siblings")?;
1995 }
1996 if !Vec::is_empty(&self.r#sponsor) {
1997 serialize_struct.serialize_field("sponsor", {
1998 struct SerializeWith<'a>(&'a Vec<SponsorProperty>);
1999 impl<'a> Serialize for SerializeWith<'a> {
2000 fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
2001 where
2002 S: Serializer,
2003 {
2004 serde_with::As::<serde_with::OneOrMany<serde_with::Same>>::serialize(
2005 self.0, serializer,
2006 )
2007 }
2008 }
2009 &SerializeWith(&self.r#sponsor)
2010 })?;
2011 } else {
2012 serialize_struct.skip_field("sponsor")?;
2013 }
2014 if !Vec::is_empty(&self.r#spouse) {
2015 serialize_struct.serialize_field("spouse", {
2016 struct SerializeWith<'a>(&'a Vec<SpouseProperty>);
2017 impl<'a> Serialize for SerializeWith<'a> {
2018 fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
2019 where
2020 S: Serializer,
2021 {
2022 serde_with::As::<serde_with::OneOrMany<serde_with::Same>>::serialize(
2023 self.0, serializer,
2024 )
2025 }
2026 }
2027 &SerializeWith(&self.r#spouse)
2028 })?;
2029 } else {
2030 serialize_struct.skip_field("spouse")?;
2031 }
2032 if !Vec::is_empty(&self.r#tax_id) {
2033 serialize_struct.serialize_field("taxID", {
2034 struct SerializeWith<'a>(&'a Vec<TaxIdProperty>);
2035 impl<'a> Serialize for SerializeWith<'a> {
2036 fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
2037 where
2038 S: Serializer,
2039 {
2040 serde_with::As::<serde_with::OneOrMany<serde_with::Same>>::serialize(
2041 self.0, serializer,
2042 )
2043 }
2044 }
2045 &SerializeWith(&self.r#tax_id)
2046 })?;
2047 } else {
2048 serialize_struct.skip_field("taxID")?;
2049 }
2050 if !Vec::is_empty(&self.r#telephone) {
2051 serialize_struct.serialize_field("telephone", {
2052 struct SerializeWith<'a>(&'a Vec<TelephoneProperty>);
2053 impl<'a> Serialize for SerializeWith<'a> {
2054 fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
2055 where
2056 S: Serializer,
2057 {
2058 serde_with::As::<serde_with::OneOrMany<serde_with::Same>>::serialize(
2059 self.0, serializer,
2060 )
2061 }
2062 }
2063 &SerializeWith(&self.r#telephone)
2064 })?;
2065 } else {
2066 serialize_struct.skip_field("telephone")?;
2067 }
2068 if !Vec::is_empty(&self.r#vat_id) {
2069 serialize_struct.serialize_field("vatID", {
2070 struct SerializeWith<'a>(&'a Vec<VatIdProperty>);
2071 impl<'a> Serialize for SerializeWith<'a> {
2072 fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
2073 where
2074 S: Serializer,
2075 {
2076 serde_with::As::<serde_with::OneOrMany<serde_with::Same>>::serialize(
2077 self.0, serializer,
2078 )
2079 }
2080 }
2081 &SerializeWith(&self.r#vat_id)
2082 })?;
2083 } else {
2084 serialize_struct.skip_field("vatID")?;
2085 }
2086 if !Vec::is_empty(&self.r#weight) {
2087 serialize_struct.serialize_field("weight", {
2088 struct SerializeWith<'a>(&'a Vec<WeightProperty>);
2089 impl<'a> Serialize for SerializeWith<'a> {
2090 fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
2091 where
2092 S: Serializer,
2093 {
2094 serde_with::As::<serde_with::OneOrMany<serde_with::Same>>::serialize(
2095 self.0, serializer,
2096 )
2097 }
2098 }
2099 &SerializeWith(&self.r#weight)
2100 })?;
2101 } else {
2102 serialize_struct.skip_field("weight")?;
2103 }
2104 if !Vec::is_empty(&self.r#work_location) {
2105 serialize_struct.serialize_field("workLocation", {
2106 struct SerializeWith<'a>(&'a Vec<WorkLocationProperty>);
2107 impl<'a> Serialize for SerializeWith<'a> {
2108 fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
2109 where
2110 S: Serializer,
2111 {
2112 serde_with::As::<serde_with::OneOrMany<serde_with::Same>>::serialize(
2113 self.0, serializer,
2114 )
2115 }
2116 }
2117 &SerializeWith(&self.r#work_location)
2118 })?;
2119 } else {
2120 serialize_struct.skip_field("workLocation")?;
2121 }
2122 if !Vec::is_empty(&self.r#works_for) {
2123 serialize_struct.serialize_field("worksFor", {
2124 struct SerializeWith<'a>(&'a Vec<WorksForProperty>);
2125 impl<'a> Serialize for SerializeWith<'a> {
2126 fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
2127 where
2128 S: Serializer,
2129 {
2130 serde_with::As::<serde_with::OneOrMany<serde_with::Same>>::serialize(
2131 self.0, serializer,
2132 )
2133 }
2134 }
2135 &SerializeWith(&self.r#works_for)
2136 })?;
2137 } else {
2138 serialize_struct.skip_field("worksFor")?;
2139 }
2140 if !Vec::is_empty(&self.r#additional_type) {
2141 serialize_struct.serialize_field("additionalType", {
2142 struct SerializeWith<'a>(&'a Vec<AdditionalTypeProperty>);
2143 impl<'a> Serialize for SerializeWith<'a> {
2144 fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
2145 where
2146 S: Serializer,
2147 {
2148 serde_with::As::<serde_with::OneOrMany<serde_with::Same>>::serialize(
2149 self.0, serializer,
2150 )
2151 }
2152 }
2153 &SerializeWith(&self.r#additional_type)
2154 })?;
2155 } else {
2156 serialize_struct.skip_field("additionalType")?;
2157 }
2158 if !Vec::is_empty(&self.r#alternate_name) {
2159 serialize_struct.serialize_field("alternateName", {
2160 struct SerializeWith<'a>(&'a Vec<AlternateNameProperty>);
2161 impl<'a> Serialize for SerializeWith<'a> {
2162 fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
2163 where
2164 S: Serializer,
2165 {
2166 serde_with::As::<serde_with::OneOrMany<serde_with::Same>>::serialize(
2167 self.0, serializer,
2168 )
2169 }
2170 }
2171 &SerializeWith(&self.r#alternate_name)
2172 })?;
2173 } else {
2174 serialize_struct.skip_field("alternateName")?;
2175 }
2176 if !Vec::is_empty(&self.r#description) {
2177 serialize_struct.serialize_field("description", {
2178 struct SerializeWith<'a>(&'a Vec<DescriptionProperty>);
2179 impl<'a> Serialize for SerializeWith<'a> {
2180 fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
2181 where
2182 S: Serializer,
2183 {
2184 serde_with::As::<serde_with::OneOrMany<serde_with::Same>>::serialize(
2185 self.0, serializer,
2186 )
2187 }
2188 }
2189 &SerializeWith(&self.r#description)
2190 })?;
2191 } else {
2192 serialize_struct.skip_field("description")?;
2193 }
2194 if !Vec::is_empty(&self.r#disambiguating_description) {
2195 serialize_struct.serialize_field("disambiguatingDescription", {
2196 struct SerializeWith<'a>(&'a Vec<DisambiguatingDescriptionProperty>);
2197 impl<'a> Serialize for SerializeWith<'a> {
2198 fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
2199 where
2200 S: Serializer,
2201 {
2202 serde_with::As::<serde_with::OneOrMany<serde_with::Same>>::serialize(
2203 self.0, serializer,
2204 )
2205 }
2206 }
2207 &SerializeWith(&self.r#disambiguating_description)
2208 })?;
2209 } else {
2210 serialize_struct.skip_field("disambiguatingDescription")?;
2211 }
2212 if !Vec::is_empty(&self.r#identifier) {
2213 serialize_struct.serialize_field("identifier", {
2214 struct SerializeWith<'a>(&'a Vec<IdentifierProperty>);
2215 impl<'a> Serialize for SerializeWith<'a> {
2216 fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
2217 where
2218 S: Serializer,
2219 {
2220 serde_with::As::<serde_with::OneOrMany<serde_with::Same>>::serialize(
2221 self.0, serializer,
2222 )
2223 }
2224 }
2225 &SerializeWith(&self.r#identifier)
2226 })?;
2227 } else {
2228 serialize_struct.skip_field("identifier")?;
2229 }
2230 if !Vec::is_empty(&self.r#image) {
2231 serialize_struct.serialize_field("image", {
2232 struct SerializeWith<'a>(&'a Vec<ImageProperty>);
2233 impl<'a> Serialize for SerializeWith<'a> {
2234 fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
2235 where
2236 S: Serializer,
2237 {
2238 serde_with::As::<serde_with::OneOrMany<serde_with::Same>>::serialize(
2239 self.0, serializer,
2240 )
2241 }
2242 }
2243 &SerializeWith(&self.r#image)
2244 })?;
2245 } else {
2246 serialize_struct.skip_field("image")?;
2247 }
2248 if !Vec::is_empty(&self.r#main_entity_of_page) {
2249 serialize_struct.serialize_field("mainEntityOfPage", {
2250 struct SerializeWith<'a>(&'a Vec<MainEntityOfPageProperty>);
2251 impl<'a> Serialize for SerializeWith<'a> {
2252 fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
2253 where
2254 S: Serializer,
2255 {
2256 serde_with::As::<serde_with::OneOrMany<serde_with::Same>>::serialize(
2257 self.0, serializer,
2258 )
2259 }
2260 }
2261 &SerializeWith(&self.r#main_entity_of_page)
2262 })?;
2263 } else {
2264 serialize_struct.skip_field("mainEntityOfPage")?;
2265 }
2266 if !Vec::is_empty(&self.r#name) {
2267 serialize_struct.serialize_field("name", {
2268 struct SerializeWith<'a>(&'a Vec<NameProperty>);
2269 impl<'a> Serialize for SerializeWith<'a> {
2270 fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
2271 where
2272 S: Serializer,
2273 {
2274 serde_with::As::<serde_with::OneOrMany<serde_with::Same>>::serialize(
2275 self.0, serializer,
2276 )
2277 }
2278 }
2279 &SerializeWith(&self.r#name)
2280 })?;
2281 } else {
2282 serialize_struct.skip_field("name")?;
2283 }
2284 if !Vec::is_empty(&self.r#potential_action) {
2285 serialize_struct.serialize_field("potentialAction", {
2286 struct SerializeWith<'a>(&'a Vec<PotentialActionProperty>);
2287 impl<'a> Serialize for SerializeWith<'a> {
2288 fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
2289 where
2290 S: Serializer,
2291 {
2292 serde_with::As::<serde_with::OneOrMany<serde_with::Same>>::serialize(
2293 self.0, serializer,
2294 )
2295 }
2296 }
2297 &SerializeWith(&self.r#potential_action)
2298 })?;
2299 } else {
2300 serialize_struct.skip_field("potentialAction")?;
2301 }
2302 if !Vec::is_empty(&self.r#same_as) {
2303 serialize_struct.serialize_field("sameAs", {
2304 struct SerializeWith<'a>(&'a Vec<SameAsProperty>);
2305 impl<'a> Serialize for SerializeWith<'a> {
2306 fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
2307 where
2308 S: Serializer,
2309 {
2310 serde_with::As::<serde_with::OneOrMany<serde_with::Same>>::serialize(
2311 self.0, serializer,
2312 )
2313 }
2314 }
2315 &SerializeWith(&self.r#same_as)
2316 })?;
2317 } else {
2318 serialize_struct.skip_field("sameAs")?;
2319 }
2320 if !Vec::is_empty(&self.r#subject_of) {
2321 serialize_struct.serialize_field("subjectOf", {
2322 struct SerializeWith<'a>(&'a Vec<SubjectOfProperty>);
2323 impl<'a> Serialize for SerializeWith<'a> {
2324 fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
2325 where
2326 S: Serializer,
2327 {
2328 serde_with::As::<serde_with::OneOrMany<serde_with::Same>>::serialize(
2329 self.0, serializer,
2330 )
2331 }
2332 }
2333 &SerializeWith(&self.r#subject_of)
2334 })?;
2335 } else {
2336 serialize_struct.skip_field("subjectOf")?;
2337 }
2338 if !Vec::is_empty(&self.r#url) {
2339 serialize_struct.serialize_field("url", {
2340 struct SerializeWith<'a>(&'a Vec<UrlProperty>);
2341 impl<'a> Serialize for SerializeWith<'a> {
2342 fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
2343 where
2344 S: Serializer,
2345 {
2346 serde_with::As::<serde_with::OneOrMany<serde_with::Same>>::serialize(
2347 self.0, serializer,
2348 )
2349 }
2350 }
2351 &SerializeWith(&self.r#url)
2352 })?;
2353 } else {
2354 serialize_struct.skip_field("url")?;
2355 }
2356 serialize_struct.end()
2357 }
2358 }
2359 impl<'de> Deserialize<'de> for Person {
2360 fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
2361 where
2362 D: Deserializer<'de>,
2363 {
2364 enum Field {
2365 AdditionalName,
2366 Address,
2367 Affiliation,
2368 AgentInteractionStatistic,
2369 AlumniOf,
2370 Award,
2371 Awards,
2372 BirthDate,
2373 BirthPlace,
2374 Brand,
2375 CallSign,
2376 Children,
2377 Colleague,
2378 Colleagues,
2379 ContactPoint,
2380 ContactPoints,
2381 DeathDate,
2382 DeathPlace,
2383 Duns,
2384 Email,
2385 FamilyName,
2386 FaxNumber,
2387 Follows,
2388 Funder,
2389 Funding,
2390 Gender,
2391 GivenName,
2392 GlobalLocationNumber,
2393 HasCredential,
2394 HasOccupation,
2395 HasOfferCatalog,
2396 HasPos,
2397 Height,
2398 HomeLocation,
2399 HonorificPrefix,
2400 HonorificSuffix,
2401 InteractionStatistic,
2402 IsicV4,
2403 JobTitle,
2404 Knows,
2405 KnowsAbout,
2406 KnowsLanguage,
2407 MakesOffer,
2408 MemberOf,
2409 Naics,
2410 Nationality,
2411 NetWorth,
2412 Owns,
2413 Parent,
2414 Parents,
2415 PerformerIn,
2416 PublishingPrinciples,
2417 RelatedTo,
2418 Seeks,
2419 Sibling,
2420 Siblings,
2421 Sponsor,
2422 Spouse,
2423 TaxId,
2424 Telephone,
2425 VatId,
2426 Weight,
2427 WorkLocation,
2428 WorksFor,
2429 AdditionalType,
2430 AlternateName,
2431 Description,
2432 DisambiguatingDescription,
2433 Identifier,
2434 Image,
2435 MainEntityOfPage,
2436 Name,
2437 PotentialAction,
2438 SameAs,
2439 SubjectOf,
2440 Url,
2441 Ignore,
2442 }
2443 struct FieldVisitor;
2444 impl<'de> Visitor<'de> for FieldVisitor {
2445 type Value = Field;
2446 fn expecting(&self, formatter: &mut Formatter) -> fmt::Result {
2447 formatter.write_str("field identifier")
2448 }
2449 fn visit_str<E>(self, value: &str) -> Result<Self::Value, E>
2450 where
2451 E: de::Error,
2452 {
2453 match value {
2454 "additionalName" => Ok(Field::AdditionalName),
2455 "address" => Ok(Field::Address),
2456 "affiliation" => Ok(Field::Affiliation),
2457 "agentInteractionStatistic" => Ok(Field::AgentInteractionStatistic),
2458 "alumniOf" => Ok(Field::AlumniOf),
2459 "award" => Ok(Field::Award),
2460 "awards" => Ok(Field::Awards),
2461 "birthDate" => Ok(Field::BirthDate),
2462 "birthPlace" => Ok(Field::BirthPlace),
2463 "brand" => Ok(Field::Brand),
2464 "callSign" => Ok(Field::CallSign),
2465 "children" => Ok(Field::Children),
2466 "colleague" => Ok(Field::Colleague),
2467 "colleagues" => Ok(Field::Colleagues),
2468 "contactPoint" => Ok(Field::ContactPoint),
2469 "contactPoints" => Ok(Field::ContactPoints),
2470 "deathDate" => Ok(Field::DeathDate),
2471 "deathPlace" => Ok(Field::DeathPlace),
2472 "duns" => Ok(Field::Duns),
2473 "email" => Ok(Field::Email),
2474 "familyName" => Ok(Field::FamilyName),
2475 "faxNumber" => Ok(Field::FaxNumber),
2476 "follows" => Ok(Field::Follows),
2477 "funder" => Ok(Field::Funder),
2478 "funding" => Ok(Field::Funding),
2479 "gender" => Ok(Field::Gender),
2480 "givenName" => Ok(Field::GivenName),
2481 "globalLocationNumber" => Ok(Field::GlobalLocationNumber),
2482 "hasCredential" => Ok(Field::HasCredential),
2483 "hasOccupation" => Ok(Field::HasOccupation),
2484 "hasOfferCatalog" => Ok(Field::HasOfferCatalog),
2485 "hasPOS" => Ok(Field::HasPos),
2486 "height" => Ok(Field::Height),
2487 "homeLocation" => Ok(Field::HomeLocation),
2488 "honorificPrefix" => Ok(Field::HonorificPrefix),
2489 "honorificSuffix" => Ok(Field::HonorificSuffix),
2490 "interactionStatistic" => Ok(Field::InteractionStatistic),
2491 "isicV4" => Ok(Field::IsicV4),
2492 "jobTitle" => Ok(Field::JobTitle),
2493 "knows" => Ok(Field::Knows),
2494 "knowsAbout" => Ok(Field::KnowsAbout),
2495 "knowsLanguage" => Ok(Field::KnowsLanguage),
2496 "makesOffer" => Ok(Field::MakesOffer),
2497 "memberOf" => Ok(Field::MemberOf),
2498 "naics" => Ok(Field::Naics),
2499 "nationality" => Ok(Field::Nationality),
2500 "netWorth" => Ok(Field::NetWorth),
2501 "owns" => Ok(Field::Owns),
2502 "parent" => Ok(Field::Parent),
2503 "parents" => Ok(Field::Parents),
2504 "performerIn" => Ok(Field::PerformerIn),
2505 "publishingPrinciples" => Ok(Field::PublishingPrinciples),
2506 "relatedTo" => Ok(Field::RelatedTo),
2507 "seeks" => Ok(Field::Seeks),
2508 "sibling" => Ok(Field::Sibling),
2509 "siblings" => Ok(Field::Siblings),
2510 "sponsor" => Ok(Field::Sponsor),
2511 "spouse" => Ok(Field::Spouse),
2512 "taxID" => Ok(Field::TaxId),
2513 "telephone" => Ok(Field::Telephone),
2514 "vatID" => Ok(Field::VatId),
2515 "weight" => Ok(Field::Weight),
2516 "workLocation" => Ok(Field::WorkLocation),
2517 "worksFor" => Ok(Field::WorksFor),
2518 "additionalType" => Ok(Field::AdditionalType),
2519 "alternateName" => Ok(Field::AlternateName),
2520 "description" => Ok(Field::Description),
2521 "disambiguatingDescription" => Ok(Field::DisambiguatingDescription),
2522 "identifier" => Ok(Field::Identifier),
2523 "image" => Ok(Field::Image),
2524 "mainEntityOfPage" => Ok(Field::MainEntityOfPage),
2525 "name" => Ok(Field::Name),
2526 "potentialAction" => Ok(Field::PotentialAction),
2527 "sameAs" => Ok(Field::SameAs),
2528 "subjectOf" => Ok(Field::SubjectOf),
2529 "url" => Ok(Field::Url),
2530 "id" | "type" => Ok(Field::Ignore),
2531 _ => Err(de::Error::unknown_field(value, FIELDS)),
2532 }
2533 }
2534 fn visit_bytes<E>(self, value: &[u8]) -> Result<Self::Value, E>
2535 where
2536 E: de::Error,
2537 {
2538 match value {
2539 b"additionalName" => Ok(Field::AdditionalName),
2540 b"address" => Ok(Field::Address),
2541 b"affiliation" => Ok(Field::Affiliation),
2542 b"agentInteractionStatistic" => Ok(Field::AgentInteractionStatistic),
2543 b"alumniOf" => Ok(Field::AlumniOf),
2544 b"award" => Ok(Field::Award),
2545 b"awards" => Ok(Field::Awards),
2546 b"birthDate" => Ok(Field::BirthDate),
2547 b"birthPlace" => Ok(Field::BirthPlace),
2548 b"brand" => Ok(Field::Brand),
2549 b"callSign" => Ok(Field::CallSign),
2550 b"children" => Ok(Field::Children),
2551 b"colleague" => Ok(Field::Colleague),
2552 b"colleagues" => Ok(Field::Colleagues),
2553 b"contactPoint" => Ok(Field::ContactPoint),
2554 b"contactPoints" => Ok(Field::ContactPoints),
2555 b"deathDate" => Ok(Field::DeathDate),
2556 b"deathPlace" => Ok(Field::DeathPlace),
2557 b"duns" => Ok(Field::Duns),
2558 b"email" => Ok(Field::Email),
2559 b"familyName" => Ok(Field::FamilyName),
2560 b"faxNumber" => Ok(Field::FaxNumber),
2561 b"follows" => Ok(Field::Follows),
2562 b"funder" => Ok(Field::Funder),
2563 b"funding" => Ok(Field::Funding),
2564 b"gender" => Ok(Field::Gender),
2565 b"givenName" => Ok(Field::GivenName),
2566 b"globalLocationNumber" => Ok(Field::GlobalLocationNumber),
2567 b"hasCredential" => Ok(Field::HasCredential),
2568 b"hasOccupation" => Ok(Field::HasOccupation),
2569 b"hasOfferCatalog" => Ok(Field::HasOfferCatalog),
2570 b"hasPOS" => Ok(Field::HasPos),
2571 b"height" => Ok(Field::Height),
2572 b"homeLocation" => Ok(Field::HomeLocation),
2573 b"honorificPrefix" => Ok(Field::HonorificPrefix),
2574 b"honorificSuffix" => Ok(Field::HonorificSuffix),
2575 b"interactionStatistic" => Ok(Field::InteractionStatistic),
2576 b"isicV4" => Ok(Field::IsicV4),
2577 b"jobTitle" => Ok(Field::JobTitle),
2578 b"knows" => Ok(Field::Knows),
2579 b"knowsAbout" => Ok(Field::KnowsAbout),
2580 b"knowsLanguage" => Ok(Field::KnowsLanguage),
2581 b"makesOffer" => Ok(Field::MakesOffer),
2582 b"memberOf" => Ok(Field::MemberOf),
2583 b"naics" => Ok(Field::Naics),
2584 b"nationality" => Ok(Field::Nationality),
2585 b"netWorth" => Ok(Field::NetWorth),
2586 b"owns" => Ok(Field::Owns),
2587 b"parent" => Ok(Field::Parent),
2588 b"parents" => Ok(Field::Parents),
2589 b"performerIn" => Ok(Field::PerformerIn),
2590 b"publishingPrinciples" => Ok(Field::PublishingPrinciples),
2591 b"relatedTo" => Ok(Field::RelatedTo),
2592 b"seeks" => Ok(Field::Seeks),
2593 b"sibling" => Ok(Field::Sibling),
2594 b"siblings" => Ok(Field::Siblings),
2595 b"sponsor" => Ok(Field::Sponsor),
2596 b"spouse" => Ok(Field::Spouse),
2597 b"taxID" => Ok(Field::TaxId),
2598 b"telephone" => Ok(Field::Telephone),
2599 b"vatID" => Ok(Field::VatId),
2600 b"weight" => Ok(Field::Weight),
2601 b"workLocation" => Ok(Field::WorkLocation),
2602 b"worksFor" => Ok(Field::WorksFor),
2603 b"additionalType" => Ok(Field::AdditionalType),
2604 b"alternateName" => Ok(Field::AlternateName),
2605 b"description" => Ok(Field::Description),
2606 b"disambiguatingDescription" => Ok(Field::DisambiguatingDescription),
2607 b"identifier" => Ok(Field::Identifier),
2608 b"image" => Ok(Field::Image),
2609 b"mainEntityOfPage" => Ok(Field::MainEntityOfPage),
2610 b"name" => Ok(Field::Name),
2611 b"potentialAction" => Ok(Field::PotentialAction),
2612 b"sameAs" => Ok(Field::SameAs),
2613 b"subjectOf" => Ok(Field::SubjectOf),
2614 b"url" => Ok(Field::Url),
2615 b"id" | b"type" => Ok(Field::Ignore),
2616 _ => {
2617 let value = &String::from_utf8_lossy(value);
2618 Err(de::Error::unknown_field(value, FIELDS))
2619 }
2620 }
2621 }
2622 }
2623 impl<'de> Deserialize<'de> for Field {
2624 fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
2625 where
2626 D: Deserializer<'de>,
2627 {
2628 deserializer.deserialize_identifier(FieldVisitor)
2629 }
2630 }
2631 struct ClassVisitor;
2632 impl<'de> Visitor<'de> for ClassVisitor {
2633 type Value = Person;
2634 fn expecting(&self, formatter: &mut Formatter) -> fmt::Result {
2635 formatter.write_str("schema.org schema Person")
2636 }
2637 fn visit_map<A>(self, mut map: A) -> Result<Self::Value, A::Error>
2638 where
2639 A: de::MapAccess<'de>,
2640 {
2641 let mut r#additional_name_property = None;
2642 let mut r#address_property = None;
2643 let mut r#affiliation_property = None;
2644 let mut r#agent_interaction_statistic_property = None;
2645 let mut r#alumni_of_property = None;
2646 let mut r#award_property = None;
2647 let mut r#awards_property = None;
2648 let mut r#birth_date_property = None;
2649 let mut r#birth_place_property = None;
2650 let mut r#brand_property = None;
2651 let mut r#call_sign_property = None;
2652 let mut r#children_property = None;
2653 let mut r#colleague_property = None;
2654 let mut r#colleagues_property = None;
2655 let mut r#contact_point_property = None;
2656 let mut r#contact_points_property = None;
2657 let mut r#death_date_property = None;
2658 let mut r#death_place_property = None;
2659 let mut r#duns_property = None;
2660 let mut r#email_property = None;
2661 let mut r#family_name_property = None;
2662 let mut r#fax_number_property = None;
2663 let mut r#follows_property = None;
2664 let mut r#funder_property = None;
2665 let mut r#funding_property = None;
2666 let mut r#gender_property = None;
2667 let mut r#given_name_property = None;
2668 let mut r#global_location_number_property = None;
2669 let mut r#has_credential_property = None;
2670 let mut r#has_occupation_property = None;
2671 let mut r#has_offer_catalog_property = None;
2672 let mut r#has_pos_property = None;
2673 let mut r#height_property = None;
2674 let mut r#home_location_property = None;
2675 let mut r#honorific_prefix_property = None;
2676 let mut r#honorific_suffix_property = None;
2677 let mut r#interaction_statistic_property = None;
2678 let mut r#isic_v_4_property = None;
2679 let mut r#job_title_property = None;
2680 let mut r#knows_property = None;
2681 let mut r#knows_about_property = None;
2682 let mut r#knows_language_property = None;
2683 let mut r#makes_offer_property = None;
2684 let mut r#member_of_property = None;
2685 let mut r#naics_property = None;
2686 let mut r#nationality_property = None;
2687 let mut r#net_worth_property = None;
2688 let mut r#owns_property = None;
2689 let mut r#parent_property = None;
2690 let mut r#parents_property = None;
2691 let mut r#performer_in_property = None;
2692 let mut r#publishing_principles_property = None;
2693 let mut r#related_to_property = None;
2694 let mut r#seeks_property = None;
2695 let mut r#sibling_property = None;
2696 let mut r#siblings_property = None;
2697 let mut r#sponsor_property = None;
2698 let mut r#spouse_property = None;
2699 let mut r#tax_id_property = None;
2700 let mut r#telephone_property = None;
2701 let mut r#vat_id_property = None;
2702 let mut r#weight_property = None;
2703 let mut r#work_location_property = None;
2704 let mut r#works_for_property = None;
2705 let mut r#additional_type_property = None;
2706 let mut r#alternate_name_property = None;
2707 let mut r#description_property = None;
2708 let mut r#disambiguating_description_property = None;
2709 let mut r#identifier_property = None;
2710 let mut r#image_property = None;
2711 let mut r#main_entity_of_page_property = None;
2712 let mut r#name_property = None;
2713 let mut r#potential_action_property = None;
2714 let mut r#same_as_property = None;
2715 let mut r#subject_of_property = None;
2716 let mut r#url_property = None;
2717 while let Some(key) = map.next_key::<Field>()? {
2718 match key {
2719 Field::AdditionalName => {
2720 if r#additional_name_property.is_some() {
2721 return Err(<A::Error as de::Error>::duplicate_field(
2722 "additionalName",
2723 ));
2724 }
2725 r#additional_name_property = Some({
2726 struct DeserializeWith(Vec<AdditionalNameProperty>);
2727 impl<'de> Deserialize<'de> for DeserializeWith {
2728 fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
2729 where
2730 D: Deserializer<'de>,
2731 {
2732 Ok(DeserializeWith(serde_with::As::<
2733 serde_with::OneOrMany<serde_with::Same>,
2734 >::deserialize(deserializer)?))
2735 }
2736 }
2737 match map.next_value::<DeserializeWith>() {
2738 Ok(deserialize_with) => deserialize_with.0,
2739 Err(err) => {
2740 return Err(err);
2741 }
2742 }
2743 });
2744 }
2745 Field::Address => {
2746 if r#address_property.is_some() {
2747 return Err(<A::Error as de::Error>::duplicate_field(
2748 "address",
2749 ));
2750 }
2751 r#address_property = Some({
2752 struct DeserializeWith(Vec<AddressProperty>);
2753 impl<'de> Deserialize<'de> for DeserializeWith {
2754 fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
2755 where
2756 D: Deserializer<'de>,
2757 {
2758 Ok(DeserializeWith(serde_with::As::<
2759 serde_with::OneOrMany<serde_with::Same>,
2760 >::deserialize(deserializer)?))
2761 }
2762 }
2763 match map.next_value::<DeserializeWith>() {
2764 Ok(deserialize_with) => deserialize_with.0,
2765 Err(err) => {
2766 return Err(err);
2767 }
2768 }
2769 });
2770 }
2771 Field::Affiliation => {
2772 if r#affiliation_property.is_some() {
2773 return Err(<A::Error as de::Error>::duplicate_field(
2774 "affiliation",
2775 ));
2776 }
2777 r#affiliation_property = Some({
2778 struct DeserializeWith(Vec<AffiliationProperty>);
2779 impl<'de> Deserialize<'de> for DeserializeWith {
2780 fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
2781 where
2782 D: Deserializer<'de>,
2783 {
2784 Ok(DeserializeWith(serde_with::As::<
2785 serde_with::OneOrMany<serde_with::Same>,
2786 >::deserialize(deserializer)?))
2787 }
2788 }
2789 match map.next_value::<DeserializeWith>() {
2790 Ok(deserialize_with) => deserialize_with.0,
2791 Err(err) => {
2792 return Err(err);
2793 }
2794 }
2795 });
2796 }
2797 Field::AgentInteractionStatistic => {
2798 if r#agent_interaction_statistic_property.is_some() {
2799 return Err(<A::Error as de::Error>::duplicate_field(
2800 "agentInteractionStatistic",
2801 ));
2802 }
2803 r#agent_interaction_statistic_property = Some({
2804 struct DeserializeWith(Vec<AgentInteractionStatisticProperty>);
2805 impl<'de> Deserialize<'de> for DeserializeWith {
2806 fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
2807 where
2808 D: Deserializer<'de>,
2809 {
2810 Ok(DeserializeWith(serde_with::As::<
2811 serde_with::OneOrMany<serde_with::Same>,
2812 >::deserialize(deserializer)?))
2813 }
2814 }
2815 match map.next_value::<DeserializeWith>() {
2816 Ok(deserialize_with) => deserialize_with.0,
2817 Err(err) => {
2818 return Err(err);
2819 }
2820 }
2821 });
2822 }
2823 Field::AlumniOf => {
2824 if r#alumni_of_property.is_some() {
2825 return Err(<A::Error as de::Error>::duplicate_field(
2826 "alumniOf",
2827 ));
2828 }
2829 r#alumni_of_property = Some({
2830 struct DeserializeWith(Vec<AlumniOfProperty>);
2831 impl<'de> Deserialize<'de> for DeserializeWith {
2832 fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
2833 where
2834 D: Deserializer<'de>,
2835 {
2836 Ok(DeserializeWith(serde_with::As::<
2837 serde_with::OneOrMany<serde_with::Same>,
2838 >::deserialize(deserializer)?))
2839 }
2840 }
2841 match map.next_value::<DeserializeWith>() {
2842 Ok(deserialize_with) => deserialize_with.0,
2843 Err(err) => {
2844 return Err(err);
2845 }
2846 }
2847 });
2848 }
2849 Field::Award => {
2850 if r#award_property.is_some() {
2851 return Err(<A::Error as de::Error>::duplicate_field("award"));
2852 }
2853 r#award_property = Some({
2854 struct DeserializeWith(Vec<AwardProperty>);
2855 impl<'de> Deserialize<'de> for DeserializeWith {
2856 fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
2857 where
2858 D: Deserializer<'de>,
2859 {
2860 Ok(DeserializeWith(serde_with::As::<
2861 serde_with::OneOrMany<serde_with::Same>,
2862 >::deserialize(deserializer)?))
2863 }
2864 }
2865 match map.next_value::<DeserializeWith>() {
2866 Ok(deserialize_with) => deserialize_with.0,
2867 Err(err) => {
2868 return Err(err);
2869 }
2870 }
2871 });
2872 }
2873 Field::Awards => {
2874 if r#awards_property.is_some() {
2875 return Err(<A::Error as de::Error>::duplicate_field("awards"));
2876 }
2877 r#awards_property = Some({
2878 struct DeserializeWith(Vec<AwardsProperty>);
2879 impl<'de> Deserialize<'de> for DeserializeWith {
2880 fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
2881 where
2882 D: Deserializer<'de>,
2883 {
2884 Ok(DeserializeWith(serde_with::As::<
2885 serde_with::OneOrMany<serde_with::Same>,
2886 >::deserialize(deserializer)?))
2887 }
2888 }
2889 match map.next_value::<DeserializeWith>() {
2890 Ok(deserialize_with) => deserialize_with.0,
2891 Err(err) => {
2892 return Err(err);
2893 }
2894 }
2895 });
2896 }
2897 Field::BirthDate => {
2898 if r#birth_date_property.is_some() {
2899 return Err(<A::Error as de::Error>::duplicate_field(
2900 "birthDate",
2901 ));
2902 }
2903 r#birth_date_property = Some({
2904 struct DeserializeWith(Vec<BirthDateProperty>);
2905 impl<'de> Deserialize<'de> for DeserializeWith {
2906 fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
2907 where
2908 D: Deserializer<'de>,
2909 {
2910 Ok(DeserializeWith(serde_with::As::<
2911 serde_with::OneOrMany<serde_with::Same>,
2912 >::deserialize(deserializer)?))
2913 }
2914 }
2915 match map.next_value::<DeserializeWith>() {
2916 Ok(deserialize_with) => deserialize_with.0,
2917 Err(err) => {
2918 return Err(err);
2919 }
2920 }
2921 });
2922 }
2923 Field::BirthPlace => {
2924 if r#birth_place_property.is_some() {
2925 return Err(<A::Error as de::Error>::duplicate_field(
2926 "birthPlace",
2927 ));
2928 }
2929 r#birth_place_property = Some({
2930 struct DeserializeWith(Vec<BirthPlaceProperty>);
2931 impl<'de> Deserialize<'de> for DeserializeWith {
2932 fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
2933 where
2934 D: Deserializer<'de>,
2935 {
2936 Ok(DeserializeWith(serde_with::As::<
2937 serde_with::OneOrMany<serde_with::Same>,
2938 >::deserialize(deserializer)?))
2939 }
2940 }
2941 match map.next_value::<DeserializeWith>() {
2942 Ok(deserialize_with) => deserialize_with.0,
2943 Err(err) => {
2944 return Err(err);
2945 }
2946 }
2947 });
2948 }
2949 Field::Brand => {
2950 if r#brand_property.is_some() {
2951 return Err(<A::Error as de::Error>::duplicate_field("brand"));
2952 }
2953 r#brand_property = Some({
2954 struct DeserializeWith(Vec<BrandProperty>);
2955 impl<'de> Deserialize<'de> for DeserializeWith {
2956 fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
2957 where
2958 D: Deserializer<'de>,
2959 {
2960 Ok(DeserializeWith(serde_with::As::<
2961 serde_with::OneOrMany<serde_with::Same>,
2962 >::deserialize(deserializer)?))
2963 }
2964 }
2965 match map.next_value::<DeserializeWith>() {
2966 Ok(deserialize_with) => deserialize_with.0,
2967 Err(err) => {
2968 return Err(err);
2969 }
2970 }
2971 });
2972 }
2973 Field::CallSign => {
2974 if r#call_sign_property.is_some() {
2975 return Err(<A::Error as de::Error>::duplicate_field(
2976 "callSign",
2977 ));
2978 }
2979 r#call_sign_property = Some({
2980 struct DeserializeWith(Vec<CallSignProperty>);
2981 impl<'de> Deserialize<'de> for DeserializeWith {
2982 fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
2983 where
2984 D: Deserializer<'de>,
2985 {
2986 Ok(DeserializeWith(serde_with::As::<
2987 serde_with::OneOrMany<serde_with::Same>,
2988 >::deserialize(deserializer)?))
2989 }
2990 }
2991 match map.next_value::<DeserializeWith>() {
2992 Ok(deserialize_with) => deserialize_with.0,
2993 Err(err) => {
2994 return Err(err);
2995 }
2996 }
2997 });
2998 }
2999 Field::Children => {
3000 if r#children_property.is_some() {
3001 return Err(<A::Error as de::Error>::duplicate_field(
3002 "children",
3003 ));
3004 }
3005 r#children_property = Some({
3006 struct DeserializeWith(Vec<ChildrenProperty>);
3007 impl<'de> Deserialize<'de> for DeserializeWith {
3008 fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
3009 where
3010 D: Deserializer<'de>,
3011 {
3012 Ok(DeserializeWith(serde_with::As::<
3013 serde_with::OneOrMany<serde_with::Same>,
3014 >::deserialize(deserializer)?))
3015 }
3016 }
3017 match map.next_value::<DeserializeWith>() {
3018 Ok(deserialize_with) => deserialize_with.0,
3019 Err(err) => {
3020 return Err(err);
3021 }
3022 }
3023 });
3024 }
3025 Field::Colleague => {
3026 if r#colleague_property.is_some() {
3027 return Err(<A::Error as de::Error>::duplicate_field(
3028 "colleague",
3029 ));
3030 }
3031 r#colleague_property = Some({
3032 struct DeserializeWith(Vec<ColleagueProperty>);
3033 impl<'de> Deserialize<'de> for DeserializeWith {
3034 fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
3035 where
3036 D: Deserializer<'de>,
3037 {
3038 Ok(DeserializeWith(serde_with::As::<
3039 serde_with::OneOrMany<serde_with::Same>,
3040 >::deserialize(deserializer)?))
3041 }
3042 }
3043 match map.next_value::<DeserializeWith>() {
3044 Ok(deserialize_with) => deserialize_with.0,
3045 Err(err) => {
3046 return Err(err);
3047 }
3048 }
3049 });
3050 }
3051 Field::Colleagues => {
3052 if r#colleagues_property.is_some() {
3053 return Err(<A::Error as de::Error>::duplicate_field(
3054 "colleagues",
3055 ));
3056 }
3057 r#colleagues_property = Some({
3058 struct DeserializeWith(Vec<ColleaguesProperty>);
3059 impl<'de> Deserialize<'de> for DeserializeWith {
3060 fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
3061 where
3062 D: Deserializer<'de>,
3063 {
3064 Ok(DeserializeWith(serde_with::As::<
3065 serde_with::OneOrMany<serde_with::Same>,
3066 >::deserialize(deserializer)?))
3067 }
3068 }
3069 match map.next_value::<DeserializeWith>() {
3070 Ok(deserialize_with) => deserialize_with.0,
3071 Err(err) => {
3072 return Err(err);
3073 }
3074 }
3075 });
3076 }
3077 Field::ContactPoint => {
3078 if r#contact_point_property.is_some() {
3079 return Err(<A::Error as de::Error>::duplicate_field(
3080 "contactPoint",
3081 ));
3082 }
3083 r#contact_point_property = Some({
3084 struct DeserializeWith(Vec<ContactPointProperty>);
3085 impl<'de> Deserialize<'de> for DeserializeWith {
3086 fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
3087 where
3088 D: Deserializer<'de>,
3089 {
3090 Ok(DeserializeWith(serde_with::As::<
3091 serde_with::OneOrMany<serde_with::Same>,
3092 >::deserialize(deserializer)?))
3093 }
3094 }
3095 match map.next_value::<DeserializeWith>() {
3096 Ok(deserialize_with) => deserialize_with.0,
3097 Err(err) => {
3098 return Err(err);
3099 }
3100 }
3101 });
3102 }
3103 Field::ContactPoints => {
3104 if r#contact_points_property.is_some() {
3105 return Err(<A::Error as de::Error>::duplicate_field(
3106 "contactPoints",
3107 ));
3108 }
3109 r#contact_points_property = Some({
3110 struct DeserializeWith(Vec<ContactPointsProperty>);
3111 impl<'de> Deserialize<'de> for DeserializeWith {
3112 fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
3113 where
3114 D: Deserializer<'de>,
3115 {
3116 Ok(DeserializeWith(serde_with::As::<
3117 serde_with::OneOrMany<serde_with::Same>,
3118 >::deserialize(deserializer)?))
3119 }
3120 }
3121 match map.next_value::<DeserializeWith>() {
3122 Ok(deserialize_with) => deserialize_with.0,
3123 Err(err) => {
3124 return Err(err);
3125 }
3126 }
3127 });
3128 }
3129 Field::DeathDate => {
3130 if r#death_date_property.is_some() {
3131 return Err(<A::Error as de::Error>::duplicate_field(
3132 "deathDate",
3133 ));
3134 }
3135 r#death_date_property = Some({
3136 struct DeserializeWith(Vec<DeathDateProperty>);
3137 impl<'de> Deserialize<'de> for DeserializeWith {
3138 fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
3139 where
3140 D: Deserializer<'de>,
3141 {
3142 Ok(DeserializeWith(serde_with::As::<
3143 serde_with::OneOrMany<serde_with::Same>,
3144 >::deserialize(deserializer)?))
3145 }
3146 }
3147 match map.next_value::<DeserializeWith>() {
3148 Ok(deserialize_with) => deserialize_with.0,
3149 Err(err) => {
3150 return Err(err);
3151 }
3152 }
3153 });
3154 }
3155 Field::DeathPlace => {
3156 if r#death_place_property.is_some() {
3157 return Err(<A::Error as de::Error>::duplicate_field(
3158 "deathPlace",
3159 ));
3160 }
3161 r#death_place_property = Some({
3162 struct DeserializeWith(Vec<DeathPlaceProperty>);
3163 impl<'de> Deserialize<'de> for DeserializeWith {
3164 fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
3165 where
3166 D: Deserializer<'de>,
3167 {
3168 Ok(DeserializeWith(serde_with::As::<
3169 serde_with::OneOrMany<serde_with::Same>,
3170 >::deserialize(deserializer)?))
3171 }
3172 }
3173 match map.next_value::<DeserializeWith>() {
3174 Ok(deserialize_with) => deserialize_with.0,
3175 Err(err) => {
3176 return Err(err);
3177 }
3178 }
3179 });
3180 }
3181 Field::Duns => {
3182 if r#duns_property.is_some() {
3183 return Err(<A::Error as de::Error>::duplicate_field("duns"));
3184 }
3185 r#duns_property = Some({
3186 struct DeserializeWith(Vec<DunsProperty>);
3187 impl<'de> Deserialize<'de> for DeserializeWith {
3188 fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
3189 where
3190 D: Deserializer<'de>,
3191 {
3192 Ok(DeserializeWith(serde_with::As::<
3193 serde_with::OneOrMany<serde_with::Same>,
3194 >::deserialize(deserializer)?))
3195 }
3196 }
3197 match map.next_value::<DeserializeWith>() {
3198 Ok(deserialize_with) => deserialize_with.0,
3199 Err(err) => {
3200 return Err(err);
3201 }
3202 }
3203 });
3204 }
3205 Field::Email => {
3206 if r#email_property.is_some() {
3207 return Err(<A::Error as de::Error>::duplicate_field("email"));
3208 }
3209 r#email_property = Some({
3210 struct DeserializeWith(Vec<EmailProperty>);
3211 impl<'de> Deserialize<'de> for DeserializeWith {
3212 fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
3213 where
3214 D: Deserializer<'de>,
3215 {
3216 Ok(DeserializeWith(serde_with::As::<
3217 serde_with::OneOrMany<serde_with::Same>,
3218 >::deserialize(deserializer)?))
3219 }
3220 }
3221 match map.next_value::<DeserializeWith>() {
3222 Ok(deserialize_with) => deserialize_with.0,
3223 Err(err) => {
3224 return Err(err);
3225 }
3226 }
3227 });
3228 }
3229 Field::FamilyName => {
3230 if r#family_name_property.is_some() {
3231 return Err(<A::Error as de::Error>::duplicate_field(
3232 "familyName",
3233 ));
3234 }
3235 r#family_name_property = Some({
3236 struct DeserializeWith(Vec<FamilyNameProperty>);
3237 impl<'de> Deserialize<'de> for DeserializeWith {
3238 fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
3239 where
3240 D: Deserializer<'de>,
3241 {
3242 Ok(DeserializeWith(serde_with::As::<
3243 serde_with::OneOrMany<serde_with::Same>,
3244 >::deserialize(deserializer)?))
3245 }
3246 }
3247 match map.next_value::<DeserializeWith>() {
3248 Ok(deserialize_with) => deserialize_with.0,
3249 Err(err) => {
3250 return Err(err);
3251 }
3252 }
3253 });
3254 }
3255 Field::FaxNumber => {
3256 if r#fax_number_property.is_some() {
3257 return Err(<A::Error as de::Error>::duplicate_field(
3258 "faxNumber",
3259 ));
3260 }
3261 r#fax_number_property = Some({
3262 struct DeserializeWith(Vec<FaxNumberProperty>);
3263 impl<'de> Deserialize<'de> for DeserializeWith {
3264 fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
3265 where
3266 D: Deserializer<'de>,
3267 {
3268 Ok(DeserializeWith(serde_with::As::<
3269 serde_with::OneOrMany<serde_with::Same>,
3270 >::deserialize(deserializer)?))
3271 }
3272 }
3273 match map.next_value::<DeserializeWith>() {
3274 Ok(deserialize_with) => deserialize_with.0,
3275 Err(err) => {
3276 return Err(err);
3277 }
3278 }
3279 });
3280 }
3281 Field::Follows => {
3282 if r#follows_property.is_some() {
3283 return Err(<A::Error as de::Error>::duplicate_field(
3284 "follows",
3285 ));
3286 }
3287 r#follows_property = Some({
3288 struct DeserializeWith(Vec<FollowsProperty>);
3289 impl<'de> Deserialize<'de> for DeserializeWith {
3290 fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
3291 where
3292 D: Deserializer<'de>,
3293 {
3294 Ok(DeserializeWith(serde_with::As::<
3295 serde_with::OneOrMany<serde_with::Same>,
3296 >::deserialize(deserializer)?))
3297 }
3298 }
3299 match map.next_value::<DeserializeWith>() {
3300 Ok(deserialize_with) => deserialize_with.0,
3301 Err(err) => {
3302 return Err(err);
3303 }
3304 }
3305 });
3306 }
3307 Field::Funder => {
3308 if r#funder_property.is_some() {
3309 return Err(<A::Error as de::Error>::duplicate_field("funder"));
3310 }
3311 r#funder_property = Some({
3312 struct DeserializeWith(Vec<FunderProperty>);
3313 impl<'de> Deserialize<'de> for DeserializeWith {
3314 fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
3315 where
3316 D: Deserializer<'de>,
3317 {
3318 Ok(DeserializeWith(serde_with::As::<
3319 serde_with::OneOrMany<serde_with::Same>,
3320 >::deserialize(deserializer)?))
3321 }
3322 }
3323 match map.next_value::<DeserializeWith>() {
3324 Ok(deserialize_with) => deserialize_with.0,
3325 Err(err) => {
3326 return Err(err);
3327 }
3328 }
3329 });
3330 }
3331 Field::Funding => {
3332 if r#funding_property.is_some() {
3333 return Err(<A::Error as de::Error>::duplicate_field(
3334 "funding",
3335 ));
3336 }
3337 r#funding_property = Some({
3338 struct DeserializeWith(Vec<FundingProperty>);
3339 impl<'de> Deserialize<'de> for DeserializeWith {
3340 fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
3341 where
3342 D: Deserializer<'de>,
3343 {
3344 Ok(DeserializeWith(serde_with::As::<
3345 serde_with::OneOrMany<serde_with::Same>,
3346 >::deserialize(deserializer)?))
3347 }
3348 }
3349 match map.next_value::<DeserializeWith>() {
3350 Ok(deserialize_with) => deserialize_with.0,
3351 Err(err) => {
3352 return Err(err);
3353 }
3354 }
3355 });
3356 }
3357 Field::Gender => {
3358 if r#gender_property.is_some() {
3359 return Err(<A::Error as de::Error>::duplicate_field("gender"));
3360 }
3361 r#gender_property = Some({
3362 struct DeserializeWith(Vec<GenderProperty>);
3363 impl<'de> Deserialize<'de> for DeserializeWith {
3364 fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
3365 where
3366 D: Deserializer<'de>,
3367 {
3368 Ok(DeserializeWith(serde_with::As::<
3369 serde_with::OneOrMany<serde_with::Same>,
3370 >::deserialize(deserializer)?))
3371 }
3372 }
3373 match map.next_value::<DeserializeWith>() {
3374 Ok(deserialize_with) => deserialize_with.0,
3375 Err(err) => {
3376 return Err(err);
3377 }
3378 }
3379 });
3380 }
3381 Field::GivenName => {
3382 if r#given_name_property.is_some() {
3383 return Err(<A::Error as de::Error>::duplicate_field(
3384 "givenName",
3385 ));
3386 }
3387 r#given_name_property = Some({
3388 struct DeserializeWith(Vec<GivenNameProperty>);
3389 impl<'de> Deserialize<'de> for DeserializeWith {
3390 fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
3391 where
3392 D: Deserializer<'de>,
3393 {
3394 Ok(DeserializeWith(serde_with::As::<
3395 serde_with::OneOrMany<serde_with::Same>,
3396 >::deserialize(deserializer)?))
3397 }
3398 }
3399 match map.next_value::<DeserializeWith>() {
3400 Ok(deserialize_with) => deserialize_with.0,
3401 Err(err) => {
3402 return Err(err);
3403 }
3404 }
3405 });
3406 }
3407 Field::GlobalLocationNumber => {
3408 if r#global_location_number_property.is_some() {
3409 return Err(<A::Error as de::Error>::duplicate_field(
3410 "globalLocationNumber",
3411 ));
3412 }
3413 r#global_location_number_property = Some({
3414 struct DeserializeWith(Vec<GlobalLocationNumberProperty>);
3415 impl<'de> Deserialize<'de> for DeserializeWith {
3416 fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
3417 where
3418 D: Deserializer<'de>,
3419 {
3420 Ok(DeserializeWith(serde_with::As::<
3421 serde_with::OneOrMany<serde_with::Same>,
3422 >::deserialize(deserializer)?))
3423 }
3424 }
3425 match map.next_value::<DeserializeWith>() {
3426 Ok(deserialize_with) => deserialize_with.0,
3427 Err(err) => {
3428 return Err(err);
3429 }
3430 }
3431 });
3432 }
3433 Field::HasCredential => {
3434 if r#has_credential_property.is_some() {
3435 return Err(<A::Error as de::Error>::duplicate_field(
3436 "hasCredential",
3437 ));
3438 }
3439 r#has_credential_property = Some({
3440 struct DeserializeWith(Vec<HasCredentialProperty>);
3441 impl<'de> Deserialize<'de> for DeserializeWith {
3442 fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
3443 where
3444 D: Deserializer<'de>,
3445 {
3446 Ok(DeserializeWith(serde_with::As::<
3447 serde_with::OneOrMany<serde_with::Same>,
3448 >::deserialize(deserializer)?))
3449 }
3450 }
3451 match map.next_value::<DeserializeWith>() {
3452 Ok(deserialize_with) => deserialize_with.0,
3453 Err(err) => {
3454 return Err(err);
3455 }
3456 }
3457 });
3458 }
3459 Field::HasOccupation => {
3460 if r#has_occupation_property.is_some() {
3461 return Err(<A::Error as de::Error>::duplicate_field(
3462 "hasOccupation",
3463 ));
3464 }
3465 r#has_occupation_property = Some({
3466 struct DeserializeWith(Vec<HasOccupationProperty>);
3467 impl<'de> Deserialize<'de> for DeserializeWith {
3468 fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
3469 where
3470 D: Deserializer<'de>,
3471 {
3472 Ok(DeserializeWith(serde_with::As::<
3473 serde_with::OneOrMany<serde_with::Same>,
3474 >::deserialize(deserializer)?))
3475 }
3476 }
3477 match map.next_value::<DeserializeWith>() {
3478 Ok(deserialize_with) => deserialize_with.0,
3479 Err(err) => {
3480 return Err(err);
3481 }
3482 }
3483 });
3484 }
3485 Field::HasOfferCatalog => {
3486 if r#has_offer_catalog_property.is_some() {
3487 return Err(<A::Error as de::Error>::duplicate_field(
3488 "hasOfferCatalog",
3489 ));
3490 }
3491 r#has_offer_catalog_property = Some({
3492 struct DeserializeWith(Vec<HasOfferCatalogProperty>);
3493 impl<'de> Deserialize<'de> for DeserializeWith {
3494 fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
3495 where
3496 D: Deserializer<'de>,
3497 {
3498 Ok(DeserializeWith(serde_with::As::<
3499 serde_with::OneOrMany<serde_with::Same>,
3500 >::deserialize(deserializer)?))
3501 }
3502 }
3503 match map.next_value::<DeserializeWith>() {
3504 Ok(deserialize_with) => deserialize_with.0,
3505 Err(err) => {
3506 return Err(err);
3507 }
3508 }
3509 });
3510 }
3511 Field::HasPos => {
3512 if r#has_pos_property.is_some() {
3513 return Err(<A::Error as de::Error>::duplicate_field("hasPOS"));
3514 }
3515 r#has_pos_property = Some({
3516 struct DeserializeWith(Vec<HasPosProperty>);
3517 impl<'de> Deserialize<'de> for DeserializeWith {
3518 fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
3519 where
3520 D: Deserializer<'de>,
3521 {
3522 Ok(DeserializeWith(serde_with::As::<
3523 serde_with::OneOrMany<serde_with::Same>,
3524 >::deserialize(deserializer)?))
3525 }
3526 }
3527 match map.next_value::<DeserializeWith>() {
3528 Ok(deserialize_with) => deserialize_with.0,
3529 Err(err) => {
3530 return Err(err);
3531 }
3532 }
3533 });
3534 }
3535 Field::Height => {
3536 if r#height_property.is_some() {
3537 return Err(<A::Error as de::Error>::duplicate_field("height"));
3538 }
3539 r#height_property = Some({
3540 struct DeserializeWith(Vec<HeightProperty>);
3541 impl<'de> Deserialize<'de> for DeserializeWith {
3542 fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
3543 where
3544 D: Deserializer<'de>,
3545 {
3546 Ok(DeserializeWith(serde_with::As::<
3547 serde_with::OneOrMany<serde_with::Same>,
3548 >::deserialize(deserializer)?))
3549 }
3550 }
3551 match map.next_value::<DeserializeWith>() {
3552 Ok(deserialize_with) => deserialize_with.0,
3553 Err(err) => {
3554 return Err(err);
3555 }
3556 }
3557 });
3558 }
3559 Field::HomeLocation => {
3560 if r#home_location_property.is_some() {
3561 return Err(<A::Error as de::Error>::duplicate_field(
3562 "homeLocation",
3563 ));
3564 }
3565 r#home_location_property = Some({
3566 struct DeserializeWith(Vec<HomeLocationProperty>);
3567 impl<'de> Deserialize<'de> for DeserializeWith {
3568 fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
3569 where
3570 D: Deserializer<'de>,
3571 {
3572 Ok(DeserializeWith(serde_with::As::<
3573 serde_with::OneOrMany<serde_with::Same>,
3574 >::deserialize(deserializer)?))
3575 }
3576 }
3577 match map.next_value::<DeserializeWith>() {
3578 Ok(deserialize_with) => deserialize_with.0,
3579 Err(err) => {
3580 return Err(err);
3581 }
3582 }
3583 });
3584 }
3585 Field::HonorificPrefix => {
3586 if r#honorific_prefix_property.is_some() {
3587 return Err(<A::Error as de::Error>::duplicate_field(
3588 "honorificPrefix",
3589 ));
3590 }
3591 r#honorific_prefix_property = Some({
3592 struct DeserializeWith(Vec<HonorificPrefixProperty>);
3593 impl<'de> Deserialize<'de> for DeserializeWith {
3594 fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
3595 where
3596 D: Deserializer<'de>,
3597 {
3598 Ok(DeserializeWith(serde_with::As::<
3599 serde_with::OneOrMany<serde_with::Same>,
3600 >::deserialize(deserializer)?))
3601 }
3602 }
3603 match map.next_value::<DeserializeWith>() {
3604 Ok(deserialize_with) => deserialize_with.0,
3605 Err(err) => {
3606 return Err(err);
3607 }
3608 }
3609 });
3610 }
3611 Field::HonorificSuffix => {
3612 if r#honorific_suffix_property.is_some() {
3613 return Err(<A::Error as de::Error>::duplicate_field(
3614 "honorificSuffix",
3615 ));
3616 }
3617 r#honorific_suffix_property = Some({
3618 struct DeserializeWith(Vec<HonorificSuffixProperty>);
3619 impl<'de> Deserialize<'de> for DeserializeWith {
3620 fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
3621 where
3622 D: Deserializer<'de>,
3623 {
3624 Ok(DeserializeWith(serde_with::As::<
3625 serde_with::OneOrMany<serde_with::Same>,
3626 >::deserialize(deserializer)?))
3627 }
3628 }
3629 match map.next_value::<DeserializeWith>() {
3630 Ok(deserialize_with) => deserialize_with.0,
3631 Err(err) => {
3632 return Err(err);
3633 }
3634 }
3635 });
3636 }
3637 Field::InteractionStatistic => {
3638 if r#interaction_statistic_property.is_some() {
3639 return Err(<A::Error as de::Error>::duplicate_field(
3640 "interactionStatistic",
3641 ));
3642 }
3643 r#interaction_statistic_property = Some({
3644 struct DeserializeWith(Vec<InteractionStatisticProperty>);
3645 impl<'de> Deserialize<'de> for DeserializeWith {
3646 fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
3647 where
3648 D: Deserializer<'de>,
3649 {
3650 Ok(DeserializeWith(serde_with::As::<
3651 serde_with::OneOrMany<serde_with::Same>,
3652 >::deserialize(deserializer)?))
3653 }
3654 }
3655 match map.next_value::<DeserializeWith>() {
3656 Ok(deserialize_with) => deserialize_with.0,
3657 Err(err) => {
3658 return Err(err);
3659 }
3660 }
3661 });
3662 }
3663 Field::IsicV4 => {
3664 if r#isic_v_4_property.is_some() {
3665 return Err(<A::Error as de::Error>::duplicate_field("isicV4"));
3666 }
3667 r#isic_v_4_property = Some({
3668 struct DeserializeWith(Vec<IsicV4Property>);
3669 impl<'de> Deserialize<'de> for DeserializeWith {
3670 fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
3671 where
3672 D: Deserializer<'de>,
3673 {
3674 Ok(DeserializeWith(serde_with::As::<
3675 serde_with::OneOrMany<serde_with::Same>,
3676 >::deserialize(deserializer)?))
3677 }
3678 }
3679 match map.next_value::<DeserializeWith>() {
3680 Ok(deserialize_with) => deserialize_with.0,
3681 Err(err) => {
3682 return Err(err);
3683 }
3684 }
3685 });
3686 }
3687 Field::JobTitle => {
3688 if r#job_title_property.is_some() {
3689 return Err(<A::Error as de::Error>::duplicate_field(
3690 "jobTitle",
3691 ));
3692 }
3693 r#job_title_property = Some({
3694 struct DeserializeWith(Vec<JobTitleProperty>);
3695 impl<'de> Deserialize<'de> for DeserializeWith {
3696 fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
3697 where
3698 D: Deserializer<'de>,
3699 {
3700 Ok(DeserializeWith(serde_with::As::<
3701 serde_with::OneOrMany<serde_with::Same>,
3702 >::deserialize(deserializer)?))
3703 }
3704 }
3705 match map.next_value::<DeserializeWith>() {
3706 Ok(deserialize_with) => deserialize_with.0,
3707 Err(err) => {
3708 return Err(err);
3709 }
3710 }
3711 });
3712 }
3713 Field::Knows => {
3714 if r#knows_property.is_some() {
3715 return Err(<A::Error as de::Error>::duplicate_field("knows"));
3716 }
3717 r#knows_property = Some({
3718 struct DeserializeWith(Vec<KnowsProperty>);
3719 impl<'de> Deserialize<'de> for DeserializeWith {
3720 fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
3721 where
3722 D: Deserializer<'de>,
3723 {
3724 Ok(DeserializeWith(serde_with::As::<
3725 serde_with::OneOrMany<serde_with::Same>,
3726 >::deserialize(deserializer)?))
3727 }
3728 }
3729 match map.next_value::<DeserializeWith>() {
3730 Ok(deserialize_with) => deserialize_with.0,
3731 Err(err) => {
3732 return Err(err);
3733 }
3734 }
3735 });
3736 }
3737 Field::KnowsAbout => {
3738 if r#knows_about_property.is_some() {
3739 return Err(<A::Error as de::Error>::duplicate_field(
3740 "knowsAbout",
3741 ));
3742 }
3743 r#knows_about_property = Some({
3744 struct DeserializeWith(Vec<KnowsAboutProperty>);
3745 impl<'de> Deserialize<'de> for DeserializeWith {
3746 fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
3747 where
3748 D: Deserializer<'de>,
3749 {
3750 Ok(DeserializeWith(serde_with::As::<
3751 serde_with::OneOrMany<serde_with::Same>,
3752 >::deserialize(deserializer)?))
3753 }
3754 }
3755 match map.next_value::<DeserializeWith>() {
3756 Ok(deserialize_with) => deserialize_with.0,
3757 Err(err) => {
3758 return Err(err);
3759 }
3760 }
3761 });
3762 }
3763 Field::KnowsLanguage => {
3764 if r#knows_language_property.is_some() {
3765 return Err(<A::Error as de::Error>::duplicate_field(
3766 "knowsLanguage",
3767 ));
3768 }
3769 r#knows_language_property = Some({
3770 struct DeserializeWith(Vec<KnowsLanguageProperty>);
3771 impl<'de> Deserialize<'de> for DeserializeWith {
3772 fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
3773 where
3774 D: Deserializer<'de>,
3775 {
3776 Ok(DeserializeWith(serde_with::As::<
3777 serde_with::OneOrMany<serde_with::Same>,
3778 >::deserialize(deserializer)?))
3779 }
3780 }
3781 match map.next_value::<DeserializeWith>() {
3782 Ok(deserialize_with) => deserialize_with.0,
3783 Err(err) => {
3784 return Err(err);
3785 }
3786 }
3787 });
3788 }
3789 Field::MakesOffer => {
3790 if r#makes_offer_property.is_some() {
3791 return Err(<A::Error as de::Error>::duplicate_field(
3792 "makesOffer",
3793 ));
3794 }
3795 r#makes_offer_property = Some({
3796 struct DeserializeWith(Vec<MakesOfferProperty>);
3797 impl<'de> Deserialize<'de> for DeserializeWith {
3798 fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
3799 where
3800 D: Deserializer<'de>,
3801 {
3802 Ok(DeserializeWith(serde_with::As::<
3803 serde_with::OneOrMany<serde_with::Same>,
3804 >::deserialize(deserializer)?))
3805 }
3806 }
3807 match map.next_value::<DeserializeWith>() {
3808 Ok(deserialize_with) => deserialize_with.0,
3809 Err(err) => {
3810 return Err(err);
3811 }
3812 }
3813 });
3814 }
3815 Field::MemberOf => {
3816 if r#member_of_property.is_some() {
3817 return Err(<A::Error as de::Error>::duplicate_field(
3818 "memberOf",
3819 ));
3820 }
3821 r#member_of_property = Some({
3822 struct DeserializeWith(Vec<MemberOfProperty>);
3823 impl<'de> Deserialize<'de> for DeserializeWith {
3824 fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
3825 where
3826 D: Deserializer<'de>,
3827 {
3828 Ok(DeserializeWith(serde_with::As::<
3829 serde_with::OneOrMany<serde_with::Same>,
3830 >::deserialize(deserializer)?))
3831 }
3832 }
3833 match map.next_value::<DeserializeWith>() {
3834 Ok(deserialize_with) => deserialize_with.0,
3835 Err(err) => {
3836 return Err(err);
3837 }
3838 }
3839 });
3840 }
3841 Field::Naics => {
3842 if r#naics_property.is_some() {
3843 return Err(<A::Error as de::Error>::duplicate_field("naics"));
3844 }
3845 r#naics_property = Some({
3846 struct DeserializeWith(Vec<NaicsProperty>);
3847 impl<'de> Deserialize<'de> for DeserializeWith {
3848 fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
3849 where
3850 D: Deserializer<'de>,
3851 {
3852 Ok(DeserializeWith(serde_with::As::<
3853 serde_with::OneOrMany<serde_with::Same>,
3854 >::deserialize(deserializer)?))
3855 }
3856 }
3857 match map.next_value::<DeserializeWith>() {
3858 Ok(deserialize_with) => deserialize_with.0,
3859 Err(err) => {
3860 return Err(err);
3861 }
3862 }
3863 });
3864 }
3865 Field::Nationality => {
3866 if r#nationality_property.is_some() {
3867 return Err(<A::Error as de::Error>::duplicate_field(
3868 "nationality",
3869 ));
3870 }
3871 r#nationality_property = Some({
3872 struct DeserializeWith(Vec<NationalityProperty>);
3873 impl<'de> Deserialize<'de> for DeserializeWith {
3874 fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
3875 where
3876 D: Deserializer<'de>,
3877 {
3878 Ok(DeserializeWith(serde_with::As::<
3879 serde_with::OneOrMany<serde_with::Same>,
3880 >::deserialize(deserializer)?))
3881 }
3882 }
3883 match map.next_value::<DeserializeWith>() {
3884 Ok(deserialize_with) => deserialize_with.0,
3885 Err(err) => {
3886 return Err(err);
3887 }
3888 }
3889 });
3890 }
3891 Field::NetWorth => {
3892 if r#net_worth_property.is_some() {
3893 return Err(<A::Error as de::Error>::duplicate_field(
3894 "netWorth",
3895 ));
3896 }
3897 r#net_worth_property = Some({
3898 struct DeserializeWith(Vec<NetWorthProperty>);
3899 impl<'de> Deserialize<'de> for DeserializeWith {
3900 fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
3901 where
3902 D: Deserializer<'de>,
3903 {
3904 Ok(DeserializeWith(serde_with::As::<
3905 serde_with::OneOrMany<serde_with::Same>,
3906 >::deserialize(deserializer)?))
3907 }
3908 }
3909 match map.next_value::<DeserializeWith>() {
3910 Ok(deserialize_with) => deserialize_with.0,
3911 Err(err) => {
3912 return Err(err);
3913 }
3914 }
3915 });
3916 }
3917 Field::Owns => {
3918 if r#owns_property.is_some() {
3919 return Err(<A::Error as de::Error>::duplicate_field("owns"));
3920 }
3921 r#owns_property = Some({
3922 struct DeserializeWith(Vec<OwnsProperty>);
3923 impl<'de> Deserialize<'de> for DeserializeWith {
3924 fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
3925 where
3926 D: Deserializer<'de>,
3927 {
3928 Ok(DeserializeWith(serde_with::As::<
3929 serde_with::OneOrMany<serde_with::Same>,
3930 >::deserialize(deserializer)?))
3931 }
3932 }
3933 match map.next_value::<DeserializeWith>() {
3934 Ok(deserialize_with) => deserialize_with.0,
3935 Err(err) => {
3936 return Err(err);
3937 }
3938 }
3939 });
3940 }
3941 Field::Parent => {
3942 if r#parent_property.is_some() {
3943 return Err(<A::Error as de::Error>::duplicate_field("parent"));
3944 }
3945 r#parent_property = Some({
3946 struct DeserializeWith(Vec<ParentProperty>);
3947 impl<'de> Deserialize<'de> for DeserializeWith {
3948 fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
3949 where
3950 D: Deserializer<'de>,
3951 {
3952 Ok(DeserializeWith(serde_with::As::<
3953 serde_with::OneOrMany<serde_with::Same>,
3954 >::deserialize(deserializer)?))
3955 }
3956 }
3957 match map.next_value::<DeserializeWith>() {
3958 Ok(deserialize_with) => deserialize_with.0,
3959 Err(err) => {
3960 return Err(err);
3961 }
3962 }
3963 });
3964 }
3965 Field::Parents => {
3966 if r#parents_property.is_some() {
3967 return Err(<A::Error as de::Error>::duplicate_field(
3968 "parents",
3969 ));
3970 }
3971 r#parents_property = Some({
3972 struct DeserializeWith(Vec<ParentsProperty>);
3973 impl<'de> Deserialize<'de> for DeserializeWith {
3974 fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
3975 where
3976 D: Deserializer<'de>,
3977 {
3978 Ok(DeserializeWith(serde_with::As::<
3979 serde_with::OneOrMany<serde_with::Same>,
3980 >::deserialize(deserializer)?))
3981 }
3982 }
3983 match map.next_value::<DeserializeWith>() {
3984 Ok(deserialize_with) => deserialize_with.0,
3985 Err(err) => {
3986 return Err(err);
3987 }
3988 }
3989 });
3990 }
3991 Field::PerformerIn => {
3992 if r#performer_in_property.is_some() {
3993 return Err(<A::Error as de::Error>::duplicate_field(
3994 "performerIn",
3995 ));
3996 }
3997 r#performer_in_property = Some({
3998 struct DeserializeWith(Vec<PerformerInProperty>);
3999 impl<'de> Deserialize<'de> for DeserializeWith {
4000 fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
4001 where
4002 D: Deserializer<'de>,
4003 {
4004 Ok(DeserializeWith(serde_with::As::<
4005 serde_with::OneOrMany<serde_with::Same>,
4006 >::deserialize(deserializer)?))
4007 }
4008 }
4009 match map.next_value::<DeserializeWith>() {
4010 Ok(deserialize_with) => deserialize_with.0,
4011 Err(err) => {
4012 return Err(err);
4013 }
4014 }
4015 });
4016 }
4017 Field::PublishingPrinciples => {
4018 if r#publishing_principles_property.is_some() {
4019 return Err(<A::Error as de::Error>::duplicate_field(
4020 "publishingPrinciples",
4021 ));
4022 }
4023 r#publishing_principles_property = Some({
4024 struct DeserializeWith(Vec<PublishingPrinciplesProperty>);
4025 impl<'de> Deserialize<'de> for DeserializeWith {
4026 fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
4027 where
4028 D: Deserializer<'de>,
4029 {
4030 Ok(DeserializeWith(serde_with::As::<
4031 serde_with::OneOrMany<serde_with::Same>,
4032 >::deserialize(deserializer)?))
4033 }
4034 }
4035 match map.next_value::<DeserializeWith>() {
4036 Ok(deserialize_with) => deserialize_with.0,
4037 Err(err) => {
4038 return Err(err);
4039 }
4040 }
4041 });
4042 }
4043 Field::RelatedTo => {
4044 if r#related_to_property.is_some() {
4045 return Err(<A::Error as de::Error>::duplicate_field(
4046 "relatedTo",
4047 ));
4048 }
4049 r#related_to_property = Some({
4050 struct DeserializeWith(Vec<RelatedToProperty>);
4051 impl<'de> Deserialize<'de> for DeserializeWith {
4052 fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
4053 where
4054 D: Deserializer<'de>,
4055 {
4056 Ok(DeserializeWith(serde_with::As::<
4057 serde_with::OneOrMany<serde_with::Same>,
4058 >::deserialize(deserializer)?))
4059 }
4060 }
4061 match map.next_value::<DeserializeWith>() {
4062 Ok(deserialize_with) => deserialize_with.0,
4063 Err(err) => {
4064 return Err(err);
4065 }
4066 }
4067 });
4068 }
4069 Field::Seeks => {
4070 if r#seeks_property.is_some() {
4071 return Err(<A::Error as de::Error>::duplicate_field("seeks"));
4072 }
4073 r#seeks_property = Some({
4074 struct DeserializeWith(Vec<SeeksProperty>);
4075 impl<'de> Deserialize<'de> for DeserializeWith {
4076 fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
4077 where
4078 D: Deserializer<'de>,
4079 {
4080 Ok(DeserializeWith(serde_with::As::<
4081 serde_with::OneOrMany<serde_with::Same>,
4082 >::deserialize(deserializer)?))
4083 }
4084 }
4085 match map.next_value::<DeserializeWith>() {
4086 Ok(deserialize_with) => deserialize_with.0,
4087 Err(err) => {
4088 return Err(err);
4089 }
4090 }
4091 });
4092 }
4093 Field::Sibling => {
4094 if r#sibling_property.is_some() {
4095 return Err(<A::Error as de::Error>::duplicate_field(
4096 "sibling",
4097 ));
4098 }
4099 r#sibling_property = Some({
4100 struct DeserializeWith(Vec<SiblingProperty>);
4101 impl<'de> Deserialize<'de> for DeserializeWith {
4102 fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
4103 where
4104 D: Deserializer<'de>,
4105 {
4106 Ok(DeserializeWith(serde_with::As::<
4107 serde_with::OneOrMany<serde_with::Same>,
4108 >::deserialize(deserializer)?))
4109 }
4110 }
4111 match map.next_value::<DeserializeWith>() {
4112 Ok(deserialize_with) => deserialize_with.0,
4113 Err(err) => {
4114 return Err(err);
4115 }
4116 }
4117 });
4118 }
4119 Field::Siblings => {
4120 if r#siblings_property.is_some() {
4121 return Err(<A::Error as de::Error>::duplicate_field(
4122 "siblings",
4123 ));
4124 }
4125 r#siblings_property = Some({
4126 struct DeserializeWith(Vec<SiblingsProperty>);
4127 impl<'de> Deserialize<'de> for DeserializeWith {
4128 fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
4129 where
4130 D: Deserializer<'de>,
4131 {
4132 Ok(DeserializeWith(serde_with::As::<
4133 serde_with::OneOrMany<serde_with::Same>,
4134 >::deserialize(deserializer)?))
4135 }
4136 }
4137 match map.next_value::<DeserializeWith>() {
4138 Ok(deserialize_with) => deserialize_with.0,
4139 Err(err) => {
4140 return Err(err);
4141 }
4142 }
4143 });
4144 }
4145 Field::Sponsor => {
4146 if r#sponsor_property.is_some() {
4147 return Err(<A::Error as de::Error>::duplicate_field(
4148 "sponsor",
4149 ));
4150 }
4151 r#sponsor_property = Some({
4152 struct DeserializeWith(Vec<SponsorProperty>);
4153 impl<'de> Deserialize<'de> for DeserializeWith {
4154 fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
4155 where
4156 D: Deserializer<'de>,
4157 {
4158 Ok(DeserializeWith(serde_with::As::<
4159 serde_with::OneOrMany<serde_with::Same>,
4160 >::deserialize(deserializer)?))
4161 }
4162 }
4163 match map.next_value::<DeserializeWith>() {
4164 Ok(deserialize_with) => deserialize_with.0,
4165 Err(err) => {
4166 return Err(err);
4167 }
4168 }
4169 });
4170 }
4171 Field::Spouse => {
4172 if r#spouse_property.is_some() {
4173 return Err(<A::Error as de::Error>::duplicate_field("spouse"));
4174 }
4175 r#spouse_property = Some({
4176 struct DeserializeWith(Vec<SpouseProperty>);
4177 impl<'de> Deserialize<'de> for DeserializeWith {
4178 fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
4179 where
4180 D: Deserializer<'de>,
4181 {
4182 Ok(DeserializeWith(serde_with::As::<
4183 serde_with::OneOrMany<serde_with::Same>,
4184 >::deserialize(deserializer)?))
4185 }
4186 }
4187 match map.next_value::<DeserializeWith>() {
4188 Ok(deserialize_with) => deserialize_with.0,
4189 Err(err) => {
4190 return Err(err);
4191 }
4192 }
4193 });
4194 }
4195 Field::TaxId => {
4196 if r#tax_id_property.is_some() {
4197 return Err(<A::Error as de::Error>::duplicate_field("taxID"));
4198 }
4199 r#tax_id_property = Some({
4200 struct DeserializeWith(Vec<TaxIdProperty>);
4201 impl<'de> Deserialize<'de> for DeserializeWith {
4202 fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
4203 where
4204 D: Deserializer<'de>,
4205 {
4206 Ok(DeserializeWith(serde_with::As::<
4207 serde_with::OneOrMany<serde_with::Same>,
4208 >::deserialize(deserializer)?))
4209 }
4210 }
4211 match map.next_value::<DeserializeWith>() {
4212 Ok(deserialize_with) => deserialize_with.0,
4213 Err(err) => {
4214 return Err(err);
4215 }
4216 }
4217 });
4218 }
4219 Field::Telephone => {
4220 if r#telephone_property.is_some() {
4221 return Err(<A::Error as de::Error>::duplicate_field(
4222 "telephone",
4223 ));
4224 }
4225 r#telephone_property = Some({
4226 struct DeserializeWith(Vec<TelephoneProperty>);
4227 impl<'de> Deserialize<'de> for DeserializeWith {
4228 fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
4229 where
4230 D: Deserializer<'de>,
4231 {
4232 Ok(DeserializeWith(serde_with::As::<
4233 serde_with::OneOrMany<serde_with::Same>,
4234 >::deserialize(deserializer)?))
4235 }
4236 }
4237 match map.next_value::<DeserializeWith>() {
4238 Ok(deserialize_with) => deserialize_with.0,
4239 Err(err) => {
4240 return Err(err);
4241 }
4242 }
4243 });
4244 }
4245 Field::VatId => {
4246 if r#vat_id_property.is_some() {
4247 return Err(<A::Error as de::Error>::duplicate_field("vatID"));
4248 }
4249 r#vat_id_property = Some({
4250 struct DeserializeWith(Vec<VatIdProperty>);
4251 impl<'de> Deserialize<'de> for DeserializeWith {
4252 fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
4253 where
4254 D: Deserializer<'de>,
4255 {
4256 Ok(DeserializeWith(serde_with::As::<
4257 serde_with::OneOrMany<serde_with::Same>,
4258 >::deserialize(deserializer)?))
4259 }
4260 }
4261 match map.next_value::<DeserializeWith>() {
4262 Ok(deserialize_with) => deserialize_with.0,
4263 Err(err) => {
4264 return Err(err);
4265 }
4266 }
4267 });
4268 }
4269 Field::Weight => {
4270 if r#weight_property.is_some() {
4271 return Err(<A::Error as de::Error>::duplicate_field("weight"));
4272 }
4273 r#weight_property = Some({
4274 struct DeserializeWith(Vec<WeightProperty>);
4275 impl<'de> Deserialize<'de> for DeserializeWith {
4276 fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
4277 where
4278 D: Deserializer<'de>,
4279 {
4280 Ok(DeserializeWith(serde_with::As::<
4281 serde_with::OneOrMany<serde_with::Same>,
4282 >::deserialize(deserializer)?))
4283 }
4284 }
4285 match map.next_value::<DeserializeWith>() {
4286 Ok(deserialize_with) => deserialize_with.0,
4287 Err(err) => {
4288 return Err(err);
4289 }
4290 }
4291 });
4292 }
4293 Field::WorkLocation => {
4294 if r#work_location_property.is_some() {
4295 return Err(<A::Error as de::Error>::duplicate_field(
4296 "workLocation",
4297 ));
4298 }
4299 r#work_location_property = Some({
4300 struct DeserializeWith(Vec<WorkLocationProperty>);
4301 impl<'de> Deserialize<'de> for DeserializeWith {
4302 fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
4303 where
4304 D: Deserializer<'de>,
4305 {
4306 Ok(DeserializeWith(serde_with::As::<
4307 serde_with::OneOrMany<serde_with::Same>,
4308 >::deserialize(deserializer)?))
4309 }
4310 }
4311 match map.next_value::<DeserializeWith>() {
4312 Ok(deserialize_with) => deserialize_with.0,
4313 Err(err) => {
4314 return Err(err);
4315 }
4316 }
4317 });
4318 }
4319 Field::WorksFor => {
4320 if r#works_for_property.is_some() {
4321 return Err(<A::Error as de::Error>::duplicate_field(
4322 "worksFor",
4323 ));
4324 }
4325 r#works_for_property = Some({
4326 struct DeserializeWith(Vec<WorksForProperty>);
4327 impl<'de> Deserialize<'de> for DeserializeWith {
4328 fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
4329 where
4330 D: Deserializer<'de>,
4331 {
4332 Ok(DeserializeWith(serde_with::As::<
4333 serde_with::OneOrMany<serde_with::Same>,
4334 >::deserialize(deserializer)?))
4335 }
4336 }
4337 match map.next_value::<DeserializeWith>() {
4338 Ok(deserialize_with) => deserialize_with.0,
4339 Err(err) => {
4340 return Err(err);
4341 }
4342 }
4343 });
4344 }
4345 Field::AdditionalType => {
4346 if r#additional_type_property.is_some() {
4347 return Err(<A::Error as de::Error>::duplicate_field(
4348 "additionalType",
4349 ));
4350 }
4351 r#additional_type_property = Some({
4352 struct DeserializeWith(Vec<AdditionalTypeProperty>);
4353 impl<'de> Deserialize<'de> for DeserializeWith {
4354 fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
4355 where
4356 D: Deserializer<'de>,
4357 {
4358 Ok(DeserializeWith(serde_with::As::<
4359 serde_with::OneOrMany<serde_with::Same>,
4360 >::deserialize(deserializer)?))
4361 }
4362 }
4363 match map.next_value::<DeserializeWith>() {
4364 Ok(deserialize_with) => deserialize_with.0,
4365 Err(err) => {
4366 return Err(err);
4367 }
4368 }
4369 });
4370 }
4371 Field::AlternateName => {
4372 if r#alternate_name_property.is_some() {
4373 return Err(<A::Error as de::Error>::duplicate_field(
4374 "alternateName",
4375 ));
4376 }
4377 r#alternate_name_property = Some({
4378 struct DeserializeWith(Vec<AlternateNameProperty>);
4379 impl<'de> Deserialize<'de> for DeserializeWith {
4380 fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
4381 where
4382 D: Deserializer<'de>,
4383 {
4384 Ok(DeserializeWith(serde_with::As::<
4385 serde_with::OneOrMany<serde_with::Same>,
4386 >::deserialize(deserializer)?))
4387 }
4388 }
4389 match map.next_value::<DeserializeWith>() {
4390 Ok(deserialize_with) => deserialize_with.0,
4391 Err(err) => {
4392 return Err(err);
4393 }
4394 }
4395 });
4396 }
4397 Field::Description => {
4398 if r#description_property.is_some() {
4399 return Err(<A::Error as de::Error>::duplicate_field(
4400 "description",
4401 ));
4402 }
4403 r#description_property = Some({
4404 struct DeserializeWith(Vec<DescriptionProperty>);
4405 impl<'de> Deserialize<'de> for DeserializeWith {
4406 fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
4407 where
4408 D: Deserializer<'de>,
4409 {
4410 Ok(DeserializeWith(serde_with::As::<
4411 serde_with::OneOrMany<serde_with::Same>,
4412 >::deserialize(deserializer)?))
4413 }
4414 }
4415 match map.next_value::<DeserializeWith>() {
4416 Ok(deserialize_with) => deserialize_with.0,
4417 Err(err) => {
4418 return Err(err);
4419 }
4420 }
4421 });
4422 }
4423 Field::DisambiguatingDescription => {
4424 if r#disambiguating_description_property.is_some() {
4425 return Err(<A::Error as de::Error>::duplicate_field(
4426 "disambiguatingDescription",
4427 ));
4428 }
4429 r#disambiguating_description_property = Some({
4430 struct DeserializeWith(Vec<DisambiguatingDescriptionProperty>);
4431 impl<'de> Deserialize<'de> for DeserializeWith {
4432 fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
4433 where
4434 D: Deserializer<'de>,
4435 {
4436 Ok(DeserializeWith(serde_with::As::<
4437 serde_with::OneOrMany<serde_with::Same>,
4438 >::deserialize(deserializer)?))
4439 }
4440 }
4441 match map.next_value::<DeserializeWith>() {
4442 Ok(deserialize_with) => deserialize_with.0,
4443 Err(err) => {
4444 return Err(err);
4445 }
4446 }
4447 });
4448 }
4449 Field::Identifier => {
4450 if r#identifier_property.is_some() {
4451 return Err(<A::Error as de::Error>::duplicate_field(
4452 "identifier",
4453 ));
4454 }
4455 r#identifier_property = Some({
4456 struct DeserializeWith(Vec<IdentifierProperty>);
4457 impl<'de> Deserialize<'de> for DeserializeWith {
4458 fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
4459 where
4460 D: Deserializer<'de>,
4461 {
4462 Ok(DeserializeWith(serde_with::As::<
4463 serde_with::OneOrMany<serde_with::Same>,
4464 >::deserialize(deserializer)?))
4465 }
4466 }
4467 match map.next_value::<DeserializeWith>() {
4468 Ok(deserialize_with) => deserialize_with.0,
4469 Err(err) => {
4470 return Err(err);
4471 }
4472 }
4473 });
4474 }
4475 Field::Image => {
4476 if r#image_property.is_some() {
4477 return Err(<A::Error as de::Error>::duplicate_field("image"));
4478 }
4479 r#image_property = Some({
4480 struct DeserializeWith(Vec<ImageProperty>);
4481 impl<'de> Deserialize<'de> for DeserializeWith {
4482 fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
4483 where
4484 D: Deserializer<'de>,
4485 {
4486 Ok(DeserializeWith(serde_with::As::<
4487 serde_with::OneOrMany<serde_with::Same>,
4488 >::deserialize(deserializer)?))
4489 }
4490 }
4491 match map.next_value::<DeserializeWith>() {
4492 Ok(deserialize_with) => deserialize_with.0,
4493 Err(err) => {
4494 return Err(err);
4495 }
4496 }
4497 });
4498 }
4499 Field::MainEntityOfPage => {
4500 if r#main_entity_of_page_property.is_some() {
4501 return Err(<A::Error as de::Error>::duplicate_field(
4502 "mainEntityOfPage",
4503 ));
4504 }
4505 r#main_entity_of_page_property = Some({
4506 struct DeserializeWith(Vec<MainEntityOfPageProperty>);
4507 impl<'de> Deserialize<'de> for DeserializeWith {
4508 fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
4509 where
4510 D: Deserializer<'de>,
4511 {
4512 Ok(DeserializeWith(serde_with::As::<
4513 serde_with::OneOrMany<serde_with::Same>,
4514 >::deserialize(deserializer)?))
4515 }
4516 }
4517 match map.next_value::<DeserializeWith>() {
4518 Ok(deserialize_with) => deserialize_with.0,
4519 Err(err) => {
4520 return Err(err);
4521 }
4522 }
4523 });
4524 }
4525 Field::Name => {
4526 if r#name_property.is_some() {
4527 return Err(<A::Error as de::Error>::duplicate_field("name"));
4528 }
4529 r#name_property = Some({
4530 struct DeserializeWith(Vec<NameProperty>);
4531 impl<'de> Deserialize<'de> for DeserializeWith {
4532 fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
4533 where
4534 D: Deserializer<'de>,
4535 {
4536 Ok(DeserializeWith(serde_with::As::<
4537 serde_with::OneOrMany<serde_with::Same>,
4538 >::deserialize(deserializer)?))
4539 }
4540 }
4541 match map.next_value::<DeserializeWith>() {
4542 Ok(deserialize_with) => deserialize_with.0,
4543 Err(err) => {
4544 return Err(err);
4545 }
4546 }
4547 });
4548 }
4549 Field::PotentialAction => {
4550 if r#potential_action_property.is_some() {
4551 return Err(<A::Error as de::Error>::duplicate_field(
4552 "potentialAction",
4553 ));
4554 }
4555 r#potential_action_property = Some({
4556 struct DeserializeWith(Vec<PotentialActionProperty>);
4557 impl<'de> Deserialize<'de> for DeserializeWith {
4558 fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
4559 where
4560 D: Deserializer<'de>,
4561 {
4562 Ok(DeserializeWith(serde_with::As::<
4563 serde_with::OneOrMany<serde_with::Same>,
4564 >::deserialize(deserializer)?))
4565 }
4566 }
4567 match map.next_value::<DeserializeWith>() {
4568 Ok(deserialize_with) => deserialize_with.0,
4569 Err(err) => {
4570 return Err(err);
4571 }
4572 }
4573 });
4574 }
4575 Field::SameAs => {
4576 if r#same_as_property.is_some() {
4577 return Err(<A::Error as de::Error>::duplicate_field("sameAs"));
4578 }
4579 r#same_as_property = Some({
4580 struct DeserializeWith(Vec<SameAsProperty>);
4581 impl<'de> Deserialize<'de> for DeserializeWith {
4582 fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
4583 where
4584 D: Deserializer<'de>,
4585 {
4586 Ok(DeserializeWith(serde_with::As::<
4587 serde_with::OneOrMany<serde_with::Same>,
4588 >::deserialize(deserializer)?))
4589 }
4590 }
4591 match map.next_value::<DeserializeWith>() {
4592 Ok(deserialize_with) => deserialize_with.0,
4593 Err(err) => {
4594 return Err(err);
4595 }
4596 }
4597 });
4598 }
4599 Field::SubjectOf => {
4600 if r#subject_of_property.is_some() {
4601 return Err(<A::Error as de::Error>::duplicate_field(
4602 "subjectOf",
4603 ));
4604 }
4605 r#subject_of_property = Some({
4606 struct DeserializeWith(Vec<SubjectOfProperty>);
4607 impl<'de> Deserialize<'de> for DeserializeWith {
4608 fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
4609 where
4610 D: Deserializer<'de>,
4611 {
4612 Ok(DeserializeWith(serde_with::As::<
4613 serde_with::OneOrMany<serde_with::Same>,
4614 >::deserialize(deserializer)?))
4615 }
4616 }
4617 match map.next_value::<DeserializeWith>() {
4618 Ok(deserialize_with) => deserialize_with.0,
4619 Err(err) => {
4620 return Err(err);
4621 }
4622 }
4623 });
4624 }
4625 Field::Url => {
4626 if r#url_property.is_some() {
4627 return Err(<A::Error as de::Error>::duplicate_field("url"));
4628 }
4629 r#url_property = Some({
4630 struct DeserializeWith(Vec<UrlProperty>);
4631 impl<'de> Deserialize<'de> for DeserializeWith {
4632 fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
4633 where
4634 D: Deserializer<'de>,
4635 {
4636 Ok(DeserializeWith(serde_with::As::<
4637 serde_with::OneOrMany<serde_with::Same>,
4638 >::deserialize(deserializer)?))
4639 }
4640 }
4641 match map.next_value::<DeserializeWith>() {
4642 Ok(deserialize_with) => deserialize_with.0,
4643 Err(err) => {
4644 return Err(err);
4645 }
4646 }
4647 });
4648 }
4649 Field::Ignore => {
4650 let _ = map.next_value::<de::IgnoredAny>()?;
4651 }
4652 }
4653 }
4654 Ok(Person {
4655 r#additional_name: r#additional_name_property.unwrap_or_default(),
4656 r#address: r#address_property.unwrap_or_default(),
4657 r#affiliation: r#affiliation_property.unwrap_or_default(),
4658 r#agent_interaction_statistic: r#agent_interaction_statistic_property
4659 .unwrap_or_default(),
4660 r#alumni_of: r#alumni_of_property.unwrap_or_default(),
4661 r#award: r#award_property.unwrap_or_default(),
4662 r#awards: r#awards_property.unwrap_or_default(),
4663 r#birth_date: r#birth_date_property.unwrap_or_default(),
4664 r#birth_place: r#birth_place_property.unwrap_or_default(),
4665 r#brand: r#brand_property.unwrap_or_default(),
4666 r#call_sign: r#call_sign_property.unwrap_or_default(),
4667 r#children: r#children_property.unwrap_or_default(),
4668 r#colleague: r#colleague_property.unwrap_or_default(),
4669 r#colleagues: r#colleagues_property.unwrap_or_default(),
4670 r#contact_point: r#contact_point_property.unwrap_or_default(),
4671 r#contact_points: r#contact_points_property.unwrap_or_default(),
4672 r#death_date: r#death_date_property.unwrap_or_default(),
4673 r#death_place: r#death_place_property.unwrap_or_default(),
4674 r#duns: r#duns_property.unwrap_or_default(),
4675 r#email: r#email_property.unwrap_or_default(),
4676 r#family_name: r#family_name_property.unwrap_or_default(),
4677 r#fax_number: r#fax_number_property.unwrap_or_default(),
4678 r#follows: r#follows_property.unwrap_or_default(),
4679 r#funder: r#funder_property.unwrap_or_default(),
4680 r#funding: r#funding_property.unwrap_or_default(),
4681 r#gender: r#gender_property.unwrap_or_default(),
4682 r#given_name: r#given_name_property.unwrap_or_default(),
4683 r#global_location_number: r#global_location_number_property
4684 .unwrap_or_default(),
4685 r#has_credential: r#has_credential_property.unwrap_or_default(),
4686 r#has_occupation: r#has_occupation_property.unwrap_or_default(),
4687 r#has_offer_catalog: r#has_offer_catalog_property.unwrap_or_default(),
4688 r#has_pos: r#has_pos_property.unwrap_or_default(),
4689 r#height: r#height_property.unwrap_or_default(),
4690 r#home_location: r#home_location_property.unwrap_or_default(),
4691 r#honorific_prefix: r#honorific_prefix_property.unwrap_or_default(),
4692 r#honorific_suffix: r#honorific_suffix_property.unwrap_or_default(),
4693 r#interaction_statistic: r#interaction_statistic_property
4694 .unwrap_or_default(),
4695 r#isic_v_4: r#isic_v_4_property.unwrap_or_default(),
4696 r#job_title: r#job_title_property.unwrap_or_default(),
4697 r#knows: r#knows_property.unwrap_or_default(),
4698 r#knows_about: r#knows_about_property.unwrap_or_default(),
4699 r#knows_language: r#knows_language_property.unwrap_or_default(),
4700 r#makes_offer: r#makes_offer_property.unwrap_or_default(),
4701 r#member_of: r#member_of_property.unwrap_or_default(),
4702 r#naics: r#naics_property.unwrap_or_default(),
4703 r#nationality: r#nationality_property.unwrap_or_default(),
4704 r#net_worth: r#net_worth_property.unwrap_or_default(),
4705 r#owns: r#owns_property.unwrap_or_default(),
4706 r#parent: r#parent_property.unwrap_or_default(),
4707 r#parents: r#parents_property.unwrap_or_default(),
4708 r#performer_in: r#performer_in_property.unwrap_or_default(),
4709 r#publishing_principles: r#publishing_principles_property
4710 .unwrap_or_default(),
4711 r#related_to: r#related_to_property.unwrap_or_default(),
4712 r#seeks: r#seeks_property.unwrap_or_default(),
4713 r#sibling: r#sibling_property.unwrap_or_default(),
4714 r#siblings: r#siblings_property.unwrap_or_default(),
4715 r#sponsor: r#sponsor_property.unwrap_or_default(),
4716 r#spouse: r#spouse_property.unwrap_or_default(),
4717 r#tax_id: r#tax_id_property.unwrap_or_default(),
4718 r#telephone: r#telephone_property.unwrap_or_default(),
4719 r#vat_id: r#vat_id_property.unwrap_or_default(),
4720 r#weight: r#weight_property.unwrap_or_default(),
4721 r#work_location: r#work_location_property.unwrap_or_default(),
4722 r#works_for: r#works_for_property.unwrap_or_default(),
4723 r#additional_type: r#additional_type_property.unwrap_or_default(),
4724 r#alternate_name: r#alternate_name_property.unwrap_or_default(),
4725 r#description: r#description_property.unwrap_or_default(),
4726 r#disambiguating_description: r#disambiguating_description_property
4727 .unwrap_or_default(),
4728 r#identifier: r#identifier_property.unwrap_or_default(),
4729 r#image: r#image_property.unwrap_or_default(),
4730 r#main_entity_of_page: r#main_entity_of_page_property.unwrap_or_default(),
4731 r#name: r#name_property.unwrap_or_default(),
4732 r#potential_action: r#potential_action_property.unwrap_or_default(),
4733 r#same_as: r#same_as_property.unwrap_or_default(),
4734 r#subject_of: r#subject_of_property.unwrap_or_default(),
4735 r#url: r#url_property.unwrap_or_default(),
4736 })
4737 }
4738 }
4739 const FIELDS: &[&str] = &[
4740 "additionalName",
4741 "address",
4742 "affiliation",
4743 "agentInteractionStatistic",
4744 "alumniOf",
4745 "award",
4746 "awards",
4747 "birthDate",
4748 "birthPlace",
4749 "brand",
4750 "callSign",
4751 "children",
4752 "colleague",
4753 "colleagues",
4754 "contactPoint",
4755 "contactPoints",
4756 "deathDate",
4757 "deathPlace",
4758 "duns",
4759 "email",
4760 "familyName",
4761 "faxNumber",
4762 "follows",
4763 "funder",
4764 "funding",
4765 "gender",
4766 "givenName",
4767 "globalLocationNumber",
4768 "hasCredential",
4769 "hasOccupation",
4770 "hasOfferCatalog",
4771 "hasPOS",
4772 "height",
4773 "homeLocation",
4774 "honorificPrefix",
4775 "honorificSuffix",
4776 "interactionStatistic",
4777 "isicV4",
4778 "jobTitle",
4779 "knows",
4780 "knowsAbout",
4781 "knowsLanguage",
4782 "makesOffer",
4783 "memberOf",
4784 "naics",
4785 "nationality",
4786 "netWorth",
4787 "owns",
4788 "parent",
4789 "parents",
4790 "performerIn",
4791 "publishingPrinciples",
4792 "relatedTo",
4793 "seeks",
4794 "sibling",
4795 "siblings",
4796 "sponsor",
4797 "spouse",
4798 "taxID",
4799 "telephone",
4800 "vatID",
4801 "weight",
4802 "workLocation",
4803 "worksFor",
4804 "additionalType",
4805 "alternateName",
4806 "description",
4807 "disambiguatingDescription",
4808 "identifier",
4809 "image",
4810 "mainEntityOfPage",
4811 "name",
4812 "potentialAction",
4813 "sameAs",
4814 "subjectOf",
4815 "url",
4816 ];
4817 deserializer.deserialize_struct("Person", FIELDS, ClassVisitor)
4818 }
4819 }
4820}