1use super::*;
2#[cfg_attr(feature = "derive-debug", derive(Debug))]
4#[cfg_attr(feature = "derive-clone", derive(Clone))]
5pub struct Bakery {
6 pub r#accepts_reservations: Vec<AcceptsReservationsProperty>,
8 pub r#has_menu: Vec<HasMenuProperty>,
10 #[deprecated = "This schema is superseded by <https://schema.org/hasMenu>."]
12 pub r#menu: Vec<MenuProperty>,
13 pub r#serves_cuisine: Vec<ServesCuisineProperty>,
15 pub r#star_rating: Vec<StarRatingProperty>,
17 #[deprecated = "This schema is superseded by <https://schema.org/parentOrganization>."]
19 pub r#branch_of: Vec<BranchOfProperty>,
20 pub r#currencies_accepted: Vec<CurrenciesAcceptedProperty>,
22 pub r#opening_hours: Vec<OpeningHoursProperty>,
24 pub r#payment_accepted: Vec<PaymentAcceptedProperty>,
26 pub r#price_range: Vec<PriceRangeProperty>,
28 pub r#actionable_feedback_policy: Vec<ActionableFeedbackPolicyProperty>,
30 pub r#address: Vec<AddressProperty>,
32 pub r#agent_interaction_statistic: Vec<AgentInteractionStatisticProperty>,
34 pub r#aggregate_rating: Vec<AggregateRatingProperty>,
36 pub r#alumni: Vec<AlumniProperty>,
38 pub r#area_served: Vec<AreaServedProperty>,
40 pub r#award: Vec<AwardProperty>,
42 #[deprecated = "This schema is superseded by <https://schema.org/award>."]
44 pub r#awards: Vec<AwardsProperty>,
45 pub r#brand: Vec<BrandProperty>,
47 pub r#contact_point: Vec<ContactPointProperty>,
49 #[deprecated = "This schema is superseded by <https://schema.org/contactPoint>."]
51 pub r#contact_points: Vec<ContactPointsProperty>,
52 pub r#corrections_policy: Vec<CorrectionsPolicyProperty>,
54 pub r#department: Vec<DepartmentProperty>,
56 pub r#dissolution_date: Vec<DissolutionDateProperty>,
58 pub r#diversity_policy: Vec<DiversityPolicyProperty>,
60 pub r#diversity_staffing_report: Vec<DiversityStaffingReportProperty>,
62 pub r#duns: Vec<DunsProperty>,
64 pub r#email: Vec<EmailProperty>,
66 pub r#employee: Vec<EmployeeProperty>,
68 #[deprecated = "This schema is superseded by <https://schema.org/employee>."]
70 pub r#employees: Vec<EmployeesProperty>,
71 pub r#ethics_policy: Vec<EthicsPolicyProperty>,
73 pub r#event: Vec<EventProperty>,
75 #[deprecated = "This schema is superseded by <https://schema.org/event>."]
77 pub r#events: Vec<EventsProperty>,
78 pub r#fax_number: Vec<FaxNumberProperty>,
80 pub r#founder: Vec<FounderProperty>,
82 #[deprecated = "This schema is superseded by <https://schema.org/founder>."]
84 pub r#founders: Vec<FoundersProperty>,
85 pub r#founding_date: Vec<FoundingDateProperty>,
87 pub r#founding_location: Vec<FoundingLocationProperty>,
89 pub r#funder: Vec<FunderProperty>,
91 pub r#funding: Vec<FundingProperty>,
93 pub r#global_location_number: Vec<GlobalLocationNumberProperty>,
95 pub r#has_credential: Vec<HasCredentialProperty>,
97 pub r#has_merchant_return_policy: Vec<HasMerchantReturnPolicyProperty>,
99 pub r#has_offer_catalog: Vec<HasOfferCatalogProperty>,
101 pub r#has_pos: Vec<HasPosProperty>,
103 #[deprecated = "This schema is archived, see <https://schema.org/docs/attic.home.html>. This schema is superseded by <https://schema.org/hasMerchantReturnPolicy>."]
105 pub r#has_product_return_policy: Vec<HasProductReturnPolicyProperty>,
106 pub r#interaction_statistic: Vec<InteractionStatisticProperty>,
108 pub r#isic_v_4: Vec<IsicV4Property>,
110 pub r#iso_6523_code: Vec<Iso6523CodeProperty>,
112 pub r#keywords: Vec<KeywordsProperty>,
114 pub r#knows_about: Vec<KnowsAboutProperty>,
116 pub r#knows_language: Vec<KnowsLanguageProperty>,
118 pub r#legal_name: Vec<LegalNameProperty>,
120 pub r#lei_code: Vec<LeiCodeProperty>,
122 pub r#location: Vec<LocationProperty>,
124 pub r#logo: Vec<LogoProperty>,
126 pub r#makes_offer: Vec<MakesOfferProperty>,
128 pub r#member: Vec<MemberProperty>,
130 pub r#member_of: Vec<MemberOfProperty>,
132 #[deprecated = "This schema is superseded by <https://schema.org/member>."]
134 pub r#members: Vec<MembersProperty>,
135 pub r#naics: Vec<NaicsProperty>,
137 pub r#nonprofit_status: Vec<NonprofitStatusProperty>,
139 pub r#number_of_employees: Vec<NumberOfEmployeesProperty>,
141 pub r#ownership_funding_info: Vec<OwnershipFundingInfoProperty>,
143 pub r#owns: Vec<OwnsProperty>,
145 pub r#parent_organization: Vec<ParentOrganizationProperty>,
147 pub r#publishing_principles: Vec<PublishingPrinciplesProperty>,
149 pub r#review: Vec<ReviewProperty>,
151 #[deprecated = "This schema is superseded by <https://schema.org/review>."]
153 pub r#reviews: Vec<ReviewsProperty>,
154 pub r#seeks: Vec<SeeksProperty>,
156 #[deprecated = "This schema is superseded by <https://schema.org/areaServed>."]
158 pub r#service_area: Vec<ServiceAreaProperty>,
159 pub r#slogan: Vec<SloganProperty>,
161 pub r#sponsor: Vec<SponsorProperty>,
163 pub r#sub_organization: Vec<SubOrganizationProperty>,
165 pub r#tax_id: Vec<TaxIdProperty>,
167 pub r#telephone: Vec<TelephoneProperty>,
169 pub r#unnamed_sources_policy: Vec<UnnamedSourcesPolicyProperty>,
171 pub r#vat_id: Vec<VatIdProperty>,
173 pub r#additional_property: Vec<AdditionalPropertyProperty>,
175 pub r#amenity_feature: Vec<AmenityFeatureProperty>,
177 pub r#branch_code: Vec<BranchCodeProperty>,
179 #[deprecated = "This schema is superseded by <https://schema.org/containedInPlace>."]
181 pub r#contained_in: Vec<ContainedInProperty>,
182 pub r#contained_in_place: Vec<ContainedInPlaceProperty>,
184 pub r#contains_place: Vec<ContainsPlaceProperty>,
186 pub r#geo: Vec<GeoProperty>,
188 pub r#geo_contains: Vec<GeoContainsProperty>,
190 pub r#geo_covered_by: Vec<GeoCoveredByProperty>,
192 pub r#geo_covers: Vec<GeoCoversProperty>,
194 pub r#geo_crosses: Vec<GeoCrossesProperty>,
196 pub r#geo_disjoint: Vec<GeoDisjointProperty>,
198 pub r#geo_equals: Vec<GeoEqualsProperty>,
200 pub r#geo_intersects: Vec<GeoIntersectsProperty>,
202 pub r#geo_overlaps: Vec<GeoOverlapsProperty>,
204 pub r#geo_touches: Vec<GeoTouchesProperty>,
206 pub r#geo_within: Vec<GeoWithinProperty>,
208 pub r#has_drive_through_service: Vec<HasDriveThroughServiceProperty>,
210 pub r#has_map: Vec<HasMapProperty>,
212 pub r#is_accessible_for_free: Vec<IsAccessibleForFreeProperty>,
214 pub r#latitude: Vec<LatitudeProperty>,
216 pub r#longitude: Vec<LongitudeProperty>,
218 #[deprecated = "This schema is superseded by <https://schema.org/hasMap>."]
220 pub r#map: Vec<MapProperty>,
221 #[deprecated = "This schema is superseded by <https://schema.org/hasMap>."]
223 pub r#maps: Vec<MapsProperty>,
224 pub r#maximum_attendee_capacity: Vec<MaximumAttendeeCapacityProperty>,
226 pub r#opening_hours_specification: Vec<OpeningHoursSpecificationProperty>,
228 pub r#photo: Vec<PhotoProperty>,
230 #[deprecated = "This schema is superseded by <https://schema.org/photo>."]
232 pub r#photos: Vec<PhotosProperty>,
233 pub r#public_access: Vec<PublicAccessProperty>,
235 pub r#smoking_allowed: Vec<SmokingAllowedProperty>,
237 pub r#special_opening_hours_specification: Vec<SpecialOpeningHoursSpecificationProperty>,
239 pub r#tour_booking_page: Vec<TourBookingPageProperty>,
241 pub r#additional_type: Vec<AdditionalTypeProperty>,
243 pub r#alternate_name: Vec<AlternateNameProperty>,
245 pub r#description: Vec<DescriptionProperty>,
247 pub r#disambiguating_description: Vec<DisambiguatingDescriptionProperty>,
249 pub r#identifier: Vec<IdentifierProperty>,
251 pub r#image: Vec<ImageProperty>,
253 pub r#main_entity_of_page: Vec<MainEntityOfPageProperty>,
255 pub r#name: Vec<NameProperty>,
257 pub r#potential_action: Vec<PotentialActionProperty>,
259 pub r#same_as: Vec<SameAsProperty>,
261 pub r#subject_of: Vec<SubjectOfProperty>,
263 pub r#url: Vec<UrlProperty>,
265}
266pub trait BakeryTrait {}
268impl BakeryTrait for Bakery {}
269impl FoodEstablishmentTrait for Bakery {
270 fn get_accepts_reservations(&self) -> &[AcceptsReservationsProperty] {
271 self.r#accepts_reservations.as_slice()
272 }
273 fn take_accepts_reservations(&mut self) -> Vec<AcceptsReservationsProperty> {
274 std::mem::take(&mut self.r#accepts_reservations)
275 }
276 fn get_has_menu(&self) -> &[HasMenuProperty] {
277 self.r#has_menu.as_slice()
278 }
279 fn take_has_menu(&mut self) -> Vec<HasMenuProperty> {
280 std::mem::take(&mut self.r#has_menu)
281 }
282 fn get_menu(&self) -> &[MenuProperty] {
283 self.r#menu.as_slice()
284 }
285 fn take_menu(&mut self) -> Vec<MenuProperty> {
286 std::mem::take(&mut self.r#menu)
287 }
288 fn get_serves_cuisine(&self) -> &[ServesCuisineProperty] {
289 self.r#serves_cuisine.as_slice()
290 }
291 fn take_serves_cuisine(&mut self) -> Vec<ServesCuisineProperty> {
292 std::mem::take(&mut self.r#serves_cuisine)
293 }
294 fn get_star_rating(&self) -> &[StarRatingProperty] {
295 self.r#star_rating.as_slice()
296 }
297 fn take_star_rating(&mut self) -> Vec<StarRatingProperty> {
298 std::mem::take(&mut self.r#star_rating)
299 }
300}
301impl LocalBusinessTrait for Bakery {
302 fn get_branch_of(&self) -> &[BranchOfProperty] {
303 self.r#branch_of.as_slice()
304 }
305 fn take_branch_of(&mut self) -> Vec<BranchOfProperty> {
306 std::mem::take(&mut self.r#branch_of)
307 }
308 fn get_currencies_accepted(&self) -> &[CurrenciesAcceptedProperty] {
309 self.r#currencies_accepted.as_slice()
310 }
311 fn take_currencies_accepted(&mut self) -> Vec<CurrenciesAcceptedProperty> {
312 std::mem::take(&mut self.r#currencies_accepted)
313 }
314 fn get_opening_hours(&self) -> &[OpeningHoursProperty] {
315 self.r#opening_hours.as_slice()
316 }
317 fn take_opening_hours(&mut self) -> Vec<OpeningHoursProperty> {
318 std::mem::take(&mut self.r#opening_hours)
319 }
320 fn get_payment_accepted(&self) -> &[PaymentAcceptedProperty] {
321 self.r#payment_accepted.as_slice()
322 }
323 fn take_payment_accepted(&mut self) -> Vec<PaymentAcceptedProperty> {
324 std::mem::take(&mut self.r#payment_accepted)
325 }
326 fn get_price_range(&self) -> &[PriceRangeProperty] {
327 self.r#price_range.as_slice()
328 }
329 fn take_price_range(&mut self) -> Vec<PriceRangeProperty> {
330 std::mem::take(&mut self.r#price_range)
331 }
332}
333impl OrganizationTrait for Bakery {
334 fn get_actionable_feedback_policy(&self) -> &[ActionableFeedbackPolicyProperty] {
335 self.r#actionable_feedback_policy.as_slice()
336 }
337 fn take_actionable_feedback_policy(&mut self) -> Vec<ActionableFeedbackPolicyProperty> {
338 std::mem::take(&mut self.r#actionable_feedback_policy)
339 }
340 fn get_address(&self) -> &[AddressProperty] {
341 self.r#address.as_slice()
342 }
343 fn take_address(&mut self) -> Vec<AddressProperty> {
344 std::mem::take(&mut self.r#address)
345 }
346 fn get_agent_interaction_statistic(&self) -> &[AgentInteractionStatisticProperty] {
347 self.r#agent_interaction_statistic.as_slice()
348 }
349 fn take_agent_interaction_statistic(&mut self) -> Vec<AgentInteractionStatisticProperty> {
350 std::mem::take(&mut self.r#agent_interaction_statistic)
351 }
352 fn get_aggregate_rating(&self) -> &[AggregateRatingProperty] {
353 self.r#aggregate_rating.as_slice()
354 }
355 fn take_aggregate_rating(&mut self) -> Vec<AggregateRatingProperty> {
356 std::mem::take(&mut self.r#aggregate_rating)
357 }
358 fn get_alumni(&self) -> &[AlumniProperty] {
359 self.r#alumni.as_slice()
360 }
361 fn take_alumni(&mut self) -> Vec<AlumniProperty> {
362 std::mem::take(&mut self.r#alumni)
363 }
364 fn get_area_served(&self) -> &[AreaServedProperty] {
365 self.r#area_served.as_slice()
366 }
367 fn take_area_served(&mut self) -> Vec<AreaServedProperty> {
368 std::mem::take(&mut self.r#area_served)
369 }
370 fn get_award(&self) -> &[AwardProperty] {
371 self.r#award.as_slice()
372 }
373 fn take_award(&mut self) -> Vec<AwardProperty> {
374 std::mem::take(&mut self.r#award)
375 }
376 fn get_awards(&self) -> &[AwardsProperty] {
377 self.r#awards.as_slice()
378 }
379 fn take_awards(&mut self) -> Vec<AwardsProperty> {
380 std::mem::take(&mut self.r#awards)
381 }
382 fn get_brand(&self) -> &[BrandProperty] {
383 self.r#brand.as_slice()
384 }
385 fn take_brand(&mut self) -> Vec<BrandProperty> {
386 std::mem::take(&mut self.r#brand)
387 }
388 fn get_contact_point(&self) -> &[ContactPointProperty] {
389 self.r#contact_point.as_slice()
390 }
391 fn take_contact_point(&mut self) -> Vec<ContactPointProperty> {
392 std::mem::take(&mut self.r#contact_point)
393 }
394 fn get_contact_points(&self) -> &[ContactPointsProperty] {
395 self.r#contact_points.as_slice()
396 }
397 fn take_contact_points(&mut self) -> Vec<ContactPointsProperty> {
398 std::mem::take(&mut self.r#contact_points)
399 }
400 fn get_corrections_policy(&self) -> &[CorrectionsPolicyProperty] {
401 self.r#corrections_policy.as_slice()
402 }
403 fn take_corrections_policy(&mut self) -> Vec<CorrectionsPolicyProperty> {
404 std::mem::take(&mut self.r#corrections_policy)
405 }
406 fn get_department(&self) -> &[DepartmentProperty] {
407 self.r#department.as_slice()
408 }
409 fn take_department(&mut self) -> Vec<DepartmentProperty> {
410 std::mem::take(&mut self.r#department)
411 }
412 fn get_dissolution_date(&self) -> &[DissolutionDateProperty] {
413 self.r#dissolution_date.as_slice()
414 }
415 fn take_dissolution_date(&mut self) -> Vec<DissolutionDateProperty> {
416 std::mem::take(&mut self.r#dissolution_date)
417 }
418 fn get_diversity_policy(&self) -> &[DiversityPolicyProperty] {
419 self.r#diversity_policy.as_slice()
420 }
421 fn take_diversity_policy(&mut self) -> Vec<DiversityPolicyProperty> {
422 std::mem::take(&mut self.r#diversity_policy)
423 }
424 fn get_diversity_staffing_report(&self) -> &[DiversityStaffingReportProperty] {
425 self.r#diversity_staffing_report.as_slice()
426 }
427 fn take_diversity_staffing_report(&mut self) -> Vec<DiversityStaffingReportProperty> {
428 std::mem::take(&mut self.r#diversity_staffing_report)
429 }
430 fn get_duns(&self) -> &[DunsProperty] {
431 self.r#duns.as_slice()
432 }
433 fn take_duns(&mut self) -> Vec<DunsProperty> {
434 std::mem::take(&mut self.r#duns)
435 }
436 fn get_email(&self) -> &[EmailProperty] {
437 self.r#email.as_slice()
438 }
439 fn take_email(&mut self) -> Vec<EmailProperty> {
440 std::mem::take(&mut self.r#email)
441 }
442 fn get_employee(&self) -> &[EmployeeProperty] {
443 self.r#employee.as_slice()
444 }
445 fn take_employee(&mut self) -> Vec<EmployeeProperty> {
446 std::mem::take(&mut self.r#employee)
447 }
448 fn get_employees(&self) -> &[EmployeesProperty] {
449 self.r#employees.as_slice()
450 }
451 fn take_employees(&mut self) -> Vec<EmployeesProperty> {
452 std::mem::take(&mut self.r#employees)
453 }
454 fn get_ethics_policy(&self) -> &[EthicsPolicyProperty] {
455 self.r#ethics_policy.as_slice()
456 }
457 fn take_ethics_policy(&mut self) -> Vec<EthicsPolicyProperty> {
458 std::mem::take(&mut self.r#ethics_policy)
459 }
460 fn get_event(&self) -> &[EventProperty] {
461 self.r#event.as_slice()
462 }
463 fn take_event(&mut self) -> Vec<EventProperty> {
464 std::mem::take(&mut self.r#event)
465 }
466 fn get_events(&self) -> &[EventsProperty] {
467 self.r#events.as_slice()
468 }
469 fn take_events(&mut self) -> Vec<EventsProperty> {
470 std::mem::take(&mut self.r#events)
471 }
472 fn get_fax_number(&self) -> &[FaxNumberProperty] {
473 self.r#fax_number.as_slice()
474 }
475 fn take_fax_number(&mut self) -> Vec<FaxNumberProperty> {
476 std::mem::take(&mut self.r#fax_number)
477 }
478 fn get_founder(&self) -> &[FounderProperty] {
479 self.r#founder.as_slice()
480 }
481 fn take_founder(&mut self) -> Vec<FounderProperty> {
482 std::mem::take(&mut self.r#founder)
483 }
484 fn get_founders(&self) -> &[FoundersProperty] {
485 self.r#founders.as_slice()
486 }
487 fn take_founders(&mut self) -> Vec<FoundersProperty> {
488 std::mem::take(&mut self.r#founders)
489 }
490 fn get_founding_date(&self) -> &[FoundingDateProperty] {
491 self.r#founding_date.as_slice()
492 }
493 fn take_founding_date(&mut self) -> Vec<FoundingDateProperty> {
494 std::mem::take(&mut self.r#founding_date)
495 }
496 fn get_founding_location(&self) -> &[FoundingLocationProperty] {
497 self.r#founding_location.as_slice()
498 }
499 fn take_founding_location(&mut self) -> Vec<FoundingLocationProperty> {
500 std::mem::take(&mut self.r#founding_location)
501 }
502 fn get_funder(&self) -> &[FunderProperty] {
503 self.r#funder.as_slice()
504 }
505 fn take_funder(&mut self) -> Vec<FunderProperty> {
506 std::mem::take(&mut self.r#funder)
507 }
508 fn get_funding(&self) -> &[FundingProperty] {
509 self.r#funding.as_slice()
510 }
511 fn take_funding(&mut self) -> Vec<FundingProperty> {
512 std::mem::take(&mut self.r#funding)
513 }
514 fn get_global_location_number(&self) -> &[GlobalLocationNumberProperty] {
515 self.r#global_location_number.as_slice()
516 }
517 fn take_global_location_number(&mut self) -> Vec<GlobalLocationNumberProperty> {
518 std::mem::take(&mut self.r#global_location_number)
519 }
520 fn get_has_credential(&self) -> &[HasCredentialProperty] {
521 self.r#has_credential.as_slice()
522 }
523 fn take_has_credential(&mut self) -> Vec<HasCredentialProperty> {
524 std::mem::take(&mut self.r#has_credential)
525 }
526 fn get_has_merchant_return_policy(&self) -> &[HasMerchantReturnPolicyProperty] {
527 self.r#has_merchant_return_policy.as_slice()
528 }
529 fn take_has_merchant_return_policy(&mut self) -> Vec<HasMerchantReturnPolicyProperty> {
530 std::mem::take(&mut self.r#has_merchant_return_policy)
531 }
532 fn get_has_offer_catalog(&self) -> &[HasOfferCatalogProperty] {
533 self.r#has_offer_catalog.as_slice()
534 }
535 fn take_has_offer_catalog(&mut self) -> Vec<HasOfferCatalogProperty> {
536 std::mem::take(&mut self.r#has_offer_catalog)
537 }
538 fn get_has_pos(&self) -> &[HasPosProperty] {
539 self.r#has_pos.as_slice()
540 }
541 fn take_has_pos(&mut self) -> Vec<HasPosProperty> {
542 std::mem::take(&mut self.r#has_pos)
543 }
544 fn get_has_product_return_policy(&self) -> &[HasProductReturnPolicyProperty] {
545 self.r#has_product_return_policy.as_slice()
546 }
547 fn take_has_product_return_policy(&mut self) -> Vec<HasProductReturnPolicyProperty> {
548 std::mem::take(&mut self.r#has_product_return_policy)
549 }
550 fn get_interaction_statistic(&self) -> &[InteractionStatisticProperty] {
551 self.r#interaction_statistic.as_slice()
552 }
553 fn take_interaction_statistic(&mut self) -> Vec<InteractionStatisticProperty> {
554 std::mem::take(&mut self.r#interaction_statistic)
555 }
556 fn get_isic_v_4(&self) -> &[IsicV4Property] {
557 self.r#isic_v_4.as_slice()
558 }
559 fn take_isic_v_4(&mut self) -> Vec<IsicV4Property> {
560 std::mem::take(&mut self.r#isic_v_4)
561 }
562 fn get_iso_6523_code(&self) -> &[Iso6523CodeProperty] {
563 self.r#iso_6523_code.as_slice()
564 }
565 fn take_iso_6523_code(&mut self) -> Vec<Iso6523CodeProperty> {
566 std::mem::take(&mut self.r#iso_6523_code)
567 }
568 fn get_keywords(&self) -> &[KeywordsProperty] {
569 self.r#keywords.as_slice()
570 }
571 fn take_keywords(&mut self) -> Vec<KeywordsProperty> {
572 std::mem::take(&mut self.r#keywords)
573 }
574 fn get_knows_about(&self) -> &[KnowsAboutProperty] {
575 self.r#knows_about.as_slice()
576 }
577 fn take_knows_about(&mut self) -> Vec<KnowsAboutProperty> {
578 std::mem::take(&mut self.r#knows_about)
579 }
580 fn get_knows_language(&self) -> &[KnowsLanguageProperty] {
581 self.r#knows_language.as_slice()
582 }
583 fn take_knows_language(&mut self) -> Vec<KnowsLanguageProperty> {
584 std::mem::take(&mut self.r#knows_language)
585 }
586 fn get_legal_name(&self) -> &[LegalNameProperty] {
587 self.r#legal_name.as_slice()
588 }
589 fn take_legal_name(&mut self) -> Vec<LegalNameProperty> {
590 std::mem::take(&mut self.r#legal_name)
591 }
592 fn get_lei_code(&self) -> &[LeiCodeProperty] {
593 self.r#lei_code.as_slice()
594 }
595 fn take_lei_code(&mut self) -> Vec<LeiCodeProperty> {
596 std::mem::take(&mut self.r#lei_code)
597 }
598 fn get_location(&self) -> &[LocationProperty] {
599 self.r#location.as_slice()
600 }
601 fn take_location(&mut self) -> Vec<LocationProperty> {
602 std::mem::take(&mut self.r#location)
603 }
604 fn get_logo(&self) -> &[LogoProperty] {
605 self.r#logo.as_slice()
606 }
607 fn take_logo(&mut self) -> Vec<LogoProperty> {
608 std::mem::take(&mut self.r#logo)
609 }
610 fn get_makes_offer(&self) -> &[MakesOfferProperty] {
611 self.r#makes_offer.as_slice()
612 }
613 fn take_makes_offer(&mut self) -> Vec<MakesOfferProperty> {
614 std::mem::take(&mut self.r#makes_offer)
615 }
616 fn get_member(&self) -> &[MemberProperty] {
617 self.r#member.as_slice()
618 }
619 fn take_member(&mut self) -> Vec<MemberProperty> {
620 std::mem::take(&mut self.r#member)
621 }
622 fn get_member_of(&self) -> &[MemberOfProperty] {
623 self.r#member_of.as_slice()
624 }
625 fn take_member_of(&mut self) -> Vec<MemberOfProperty> {
626 std::mem::take(&mut self.r#member_of)
627 }
628 fn get_members(&self) -> &[MembersProperty] {
629 self.r#members.as_slice()
630 }
631 fn take_members(&mut self) -> Vec<MembersProperty> {
632 std::mem::take(&mut self.r#members)
633 }
634 fn get_naics(&self) -> &[NaicsProperty] {
635 self.r#naics.as_slice()
636 }
637 fn take_naics(&mut self) -> Vec<NaicsProperty> {
638 std::mem::take(&mut self.r#naics)
639 }
640 fn get_nonprofit_status(&self) -> &[NonprofitStatusProperty] {
641 self.r#nonprofit_status.as_slice()
642 }
643 fn take_nonprofit_status(&mut self) -> Vec<NonprofitStatusProperty> {
644 std::mem::take(&mut self.r#nonprofit_status)
645 }
646 fn get_number_of_employees(&self) -> &[NumberOfEmployeesProperty] {
647 self.r#number_of_employees.as_slice()
648 }
649 fn take_number_of_employees(&mut self) -> Vec<NumberOfEmployeesProperty> {
650 std::mem::take(&mut self.r#number_of_employees)
651 }
652 fn get_ownership_funding_info(&self) -> &[OwnershipFundingInfoProperty] {
653 self.r#ownership_funding_info.as_slice()
654 }
655 fn take_ownership_funding_info(&mut self) -> Vec<OwnershipFundingInfoProperty> {
656 std::mem::take(&mut self.r#ownership_funding_info)
657 }
658 fn get_owns(&self) -> &[OwnsProperty] {
659 self.r#owns.as_slice()
660 }
661 fn take_owns(&mut self) -> Vec<OwnsProperty> {
662 std::mem::take(&mut self.r#owns)
663 }
664 fn get_parent_organization(&self) -> &[ParentOrganizationProperty] {
665 self.r#parent_organization.as_slice()
666 }
667 fn take_parent_organization(&mut self) -> Vec<ParentOrganizationProperty> {
668 std::mem::take(&mut self.r#parent_organization)
669 }
670 fn get_publishing_principles(&self) -> &[PublishingPrinciplesProperty] {
671 self.r#publishing_principles.as_slice()
672 }
673 fn take_publishing_principles(&mut self) -> Vec<PublishingPrinciplesProperty> {
674 std::mem::take(&mut self.r#publishing_principles)
675 }
676 fn get_review(&self) -> &[ReviewProperty] {
677 self.r#review.as_slice()
678 }
679 fn take_review(&mut self) -> Vec<ReviewProperty> {
680 std::mem::take(&mut self.r#review)
681 }
682 fn get_reviews(&self) -> &[ReviewsProperty] {
683 self.r#reviews.as_slice()
684 }
685 fn take_reviews(&mut self) -> Vec<ReviewsProperty> {
686 std::mem::take(&mut self.r#reviews)
687 }
688 fn get_seeks(&self) -> &[SeeksProperty] {
689 self.r#seeks.as_slice()
690 }
691 fn take_seeks(&mut self) -> Vec<SeeksProperty> {
692 std::mem::take(&mut self.r#seeks)
693 }
694 fn get_service_area(&self) -> &[ServiceAreaProperty] {
695 self.r#service_area.as_slice()
696 }
697 fn take_service_area(&mut self) -> Vec<ServiceAreaProperty> {
698 std::mem::take(&mut self.r#service_area)
699 }
700 fn get_slogan(&self) -> &[SloganProperty] {
701 self.r#slogan.as_slice()
702 }
703 fn take_slogan(&mut self) -> Vec<SloganProperty> {
704 std::mem::take(&mut self.r#slogan)
705 }
706 fn get_sponsor(&self) -> &[SponsorProperty] {
707 self.r#sponsor.as_slice()
708 }
709 fn take_sponsor(&mut self) -> Vec<SponsorProperty> {
710 std::mem::take(&mut self.r#sponsor)
711 }
712 fn get_sub_organization(&self) -> &[SubOrganizationProperty] {
713 self.r#sub_organization.as_slice()
714 }
715 fn take_sub_organization(&mut self) -> Vec<SubOrganizationProperty> {
716 std::mem::take(&mut self.r#sub_organization)
717 }
718 fn get_tax_id(&self) -> &[TaxIdProperty] {
719 self.r#tax_id.as_slice()
720 }
721 fn take_tax_id(&mut self) -> Vec<TaxIdProperty> {
722 std::mem::take(&mut self.r#tax_id)
723 }
724 fn get_telephone(&self) -> &[TelephoneProperty] {
725 self.r#telephone.as_slice()
726 }
727 fn take_telephone(&mut self) -> Vec<TelephoneProperty> {
728 std::mem::take(&mut self.r#telephone)
729 }
730 fn get_unnamed_sources_policy(&self) -> &[UnnamedSourcesPolicyProperty] {
731 self.r#unnamed_sources_policy.as_slice()
732 }
733 fn take_unnamed_sources_policy(&mut self) -> Vec<UnnamedSourcesPolicyProperty> {
734 std::mem::take(&mut self.r#unnamed_sources_policy)
735 }
736 fn get_vat_id(&self) -> &[VatIdProperty] {
737 self.r#vat_id.as_slice()
738 }
739 fn take_vat_id(&mut self) -> Vec<VatIdProperty> {
740 std::mem::take(&mut self.r#vat_id)
741 }
742}
743impl PlaceTrait for Bakery {
744 fn get_additional_property(&self) -> &[AdditionalPropertyProperty] {
745 self.r#additional_property.as_slice()
746 }
747 fn take_additional_property(&mut self) -> Vec<AdditionalPropertyProperty> {
748 std::mem::take(&mut self.r#additional_property)
749 }
750 fn get_address(&self) -> &[AddressProperty] {
751 self.r#address.as_slice()
752 }
753 fn take_address(&mut self) -> Vec<AddressProperty> {
754 std::mem::take(&mut self.r#address)
755 }
756 fn get_aggregate_rating(&self) -> &[AggregateRatingProperty] {
757 self.r#aggregate_rating.as_slice()
758 }
759 fn take_aggregate_rating(&mut self) -> Vec<AggregateRatingProperty> {
760 std::mem::take(&mut self.r#aggregate_rating)
761 }
762 fn get_amenity_feature(&self) -> &[AmenityFeatureProperty] {
763 self.r#amenity_feature.as_slice()
764 }
765 fn take_amenity_feature(&mut self) -> Vec<AmenityFeatureProperty> {
766 std::mem::take(&mut self.r#amenity_feature)
767 }
768 fn get_branch_code(&self) -> &[BranchCodeProperty] {
769 self.r#branch_code.as_slice()
770 }
771 fn take_branch_code(&mut self) -> Vec<BranchCodeProperty> {
772 std::mem::take(&mut self.r#branch_code)
773 }
774 fn get_contained_in(&self) -> &[ContainedInProperty] {
775 self.r#contained_in.as_slice()
776 }
777 fn take_contained_in(&mut self) -> Vec<ContainedInProperty> {
778 std::mem::take(&mut self.r#contained_in)
779 }
780 fn get_contained_in_place(&self) -> &[ContainedInPlaceProperty] {
781 self.r#contained_in_place.as_slice()
782 }
783 fn take_contained_in_place(&mut self) -> Vec<ContainedInPlaceProperty> {
784 std::mem::take(&mut self.r#contained_in_place)
785 }
786 fn get_contains_place(&self) -> &[ContainsPlaceProperty] {
787 self.r#contains_place.as_slice()
788 }
789 fn take_contains_place(&mut self) -> Vec<ContainsPlaceProperty> {
790 std::mem::take(&mut self.r#contains_place)
791 }
792 fn get_event(&self) -> &[EventProperty] {
793 self.r#event.as_slice()
794 }
795 fn take_event(&mut self) -> Vec<EventProperty> {
796 std::mem::take(&mut self.r#event)
797 }
798 fn get_events(&self) -> &[EventsProperty] {
799 self.r#events.as_slice()
800 }
801 fn take_events(&mut self) -> Vec<EventsProperty> {
802 std::mem::take(&mut self.r#events)
803 }
804 fn get_fax_number(&self) -> &[FaxNumberProperty] {
805 self.r#fax_number.as_slice()
806 }
807 fn take_fax_number(&mut self) -> Vec<FaxNumberProperty> {
808 std::mem::take(&mut self.r#fax_number)
809 }
810 fn get_geo(&self) -> &[GeoProperty] {
811 self.r#geo.as_slice()
812 }
813 fn take_geo(&mut self) -> Vec<GeoProperty> {
814 std::mem::take(&mut self.r#geo)
815 }
816 fn get_geo_contains(&self) -> &[GeoContainsProperty] {
817 self.r#geo_contains.as_slice()
818 }
819 fn take_geo_contains(&mut self) -> Vec<GeoContainsProperty> {
820 std::mem::take(&mut self.r#geo_contains)
821 }
822 fn get_geo_covered_by(&self) -> &[GeoCoveredByProperty] {
823 self.r#geo_covered_by.as_slice()
824 }
825 fn take_geo_covered_by(&mut self) -> Vec<GeoCoveredByProperty> {
826 std::mem::take(&mut self.r#geo_covered_by)
827 }
828 fn get_geo_covers(&self) -> &[GeoCoversProperty] {
829 self.r#geo_covers.as_slice()
830 }
831 fn take_geo_covers(&mut self) -> Vec<GeoCoversProperty> {
832 std::mem::take(&mut self.r#geo_covers)
833 }
834 fn get_geo_crosses(&self) -> &[GeoCrossesProperty] {
835 self.r#geo_crosses.as_slice()
836 }
837 fn take_geo_crosses(&mut self) -> Vec<GeoCrossesProperty> {
838 std::mem::take(&mut self.r#geo_crosses)
839 }
840 fn get_geo_disjoint(&self) -> &[GeoDisjointProperty] {
841 self.r#geo_disjoint.as_slice()
842 }
843 fn take_geo_disjoint(&mut self) -> Vec<GeoDisjointProperty> {
844 std::mem::take(&mut self.r#geo_disjoint)
845 }
846 fn get_geo_equals(&self) -> &[GeoEqualsProperty] {
847 self.r#geo_equals.as_slice()
848 }
849 fn take_geo_equals(&mut self) -> Vec<GeoEqualsProperty> {
850 std::mem::take(&mut self.r#geo_equals)
851 }
852 fn get_geo_intersects(&self) -> &[GeoIntersectsProperty] {
853 self.r#geo_intersects.as_slice()
854 }
855 fn take_geo_intersects(&mut self) -> Vec<GeoIntersectsProperty> {
856 std::mem::take(&mut self.r#geo_intersects)
857 }
858 fn get_geo_overlaps(&self) -> &[GeoOverlapsProperty] {
859 self.r#geo_overlaps.as_slice()
860 }
861 fn take_geo_overlaps(&mut self) -> Vec<GeoOverlapsProperty> {
862 std::mem::take(&mut self.r#geo_overlaps)
863 }
864 fn get_geo_touches(&self) -> &[GeoTouchesProperty] {
865 self.r#geo_touches.as_slice()
866 }
867 fn take_geo_touches(&mut self) -> Vec<GeoTouchesProperty> {
868 std::mem::take(&mut self.r#geo_touches)
869 }
870 fn get_geo_within(&self) -> &[GeoWithinProperty] {
871 self.r#geo_within.as_slice()
872 }
873 fn take_geo_within(&mut self) -> Vec<GeoWithinProperty> {
874 std::mem::take(&mut self.r#geo_within)
875 }
876 fn get_global_location_number(&self) -> &[GlobalLocationNumberProperty] {
877 self.r#global_location_number.as_slice()
878 }
879 fn take_global_location_number(&mut self) -> Vec<GlobalLocationNumberProperty> {
880 std::mem::take(&mut self.r#global_location_number)
881 }
882 fn get_has_drive_through_service(&self) -> &[HasDriveThroughServiceProperty] {
883 self.r#has_drive_through_service.as_slice()
884 }
885 fn take_has_drive_through_service(&mut self) -> Vec<HasDriveThroughServiceProperty> {
886 std::mem::take(&mut self.r#has_drive_through_service)
887 }
888 fn get_has_map(&self) -> &[HasMapProperty] {
889 self.r#has_map.as_slice()
890 }
891 fn take_has_map(&mut self) -> Vec<HasMapProperty> {
892 std::mem::take(&mut self.r#has_map)
893 }
894 fn get_is_accessible_for_free(&self) -> &[IsAccessibleForFreeProperty] {
895 self.r#is_accessible_for_free.as_slice()
896 }
897 fn take_is_accessible_for_free(&mut self) -> Vec<IsAccessibleForFreeProperty> {
898 std::mem::take(&mut self.r#is_accessible_for_free)
899 }
900 fn get_isic_v_4(&self) -> &[IsicV4Property] {
901 self.r#isic_v_4.as_slice()
902 }
903 fn take_isic_v_4(&mut self) -> Vec<IsicV4Property> {
904 std::mem::take(&mut self.r#isic_v_4)
905 }
906 fn get_keywords(&self) -> &[KeywordsProperty] {
907 self.r#keywords.as_slice()
908 }
909 fn take_keywords(&mut self) -> Vec<KeywordsProperty> {
910 std::mem::take(&mut self.r#keywords)
911 }
912 fn get_latitude(&self) -> &[LatitudeProperty] {
913 self.r#latitude.as_slice()
914 }
915 fn take_latitude(&mut self) -> Vec<LatitudeProperty> {
916 std::mem::take(&mut self.r#latitude)
917 }
918 fn get_logo(&self) -> &[LogoProperty] {
919 self.r#logo.as_slice()
920 }
921 fn take_logo(&mut self) -> Vec<LogoProperty> {
922 std::mem::take(&mut self.r#logo)
923 }
924 fn get_longitude(&self) -> &[LongitudeProperty] {
925 self.r#longitude.as_slice()
926 }
927 fn take_longitude(&mut self) -> Vec<LongitudeProperty> {
928 std::mem::take(&mut self.r#longitude)
929 }
930 fn get_map(&self) -> &[MapProperty] {
931 self.r#map.as_slice()
932 }
933 fn take_map(&mut self) -> Vec<MapProperty> {
934 std::mem::take(&mut self.r#map)
935 }
936 fn get_maps(&self) -> &[MapsProperty] {
937 self.r#maps.as_slice()
938 }
939 fn take_maps(&mut self) -> Vec<MapsProperty> {
940 std::mem::take(&mut self.r#maps)
941 }
942 fn get_maximum_attendee_capacity(&self) -> &[MaximumAttendeeCapacityProperty] {
943 self.r#maximum_attendee_capacity.as_slice()
944 }
945 fn take_maximum_attendee_capacity(&mut self) -> Vec<MaximumAttendeeCapacityProperty> {
946 std::mem::take(&mut self.r#maximum_attendee_capacity)
947 }
948 fn get_opening_hours_specification(&self) -> &[OpeningHoursSpecificationProperty] {
949 self.r#opening_hours_specification.as_slice()
950 }
951 fn take_opening_hours_specification(&mut self) -> Vec<OpeningHoursSpecificationProperty> {
952 std::mem::take(&mut self.r#opening_hours_specification)
953 }
954 fn get_photo(&self) -> &[PhotoProperty] {
955 self.r#photo.as_slice()
956 }
957 fn take_photo(&mut self) -> Vec<PhotoProperty> {
958 std::mem::take(&mut self.r#photo)
959 }
960 fn get_photos(&self) -> &[PhotosProperty] {
961 self.r#photos.as_slice()
962 }
963 fn take_photos(&mut self) -> Vec<PhotosProperty> {
964 std::mem::take(&mut self.r#photos)
965 }
966 fn get_public_access(&self) -> &[PublicAccessProperty] {
967 self.r#public_access.as_slice()
968 }
969 fn take_public_access(&mut self) -> Vec<PublicAccessProperty> {
970 std::mem::take(&mut self.r#public_access)
971 }
972 fn get_review(&self) -> &[ReviewProperty] {
973 self.r#review.as_slice()
974 }
975 fn take_review(&mut self) -> Vec<ReviewProperty> {
976 std::mem::take(&mut self.r#review)
977 }
978 fn get_reviews(&self) -> &[ReviewsProperty] {
979 self.r#reviews.as_slice()
980 }
981 fn take_reviews(&mut self) -> Vec<ReviewsProperty> {
982 std::mem::take(&mut self.r#reviews)
983 }
984 fn get_slogan(&self) -> &[SloganProperty] {
985 self.r#slogan.as_slice()
986 }
987 fn take_slogan(&mut self) -> Vec<SloganProperty> {
988 std::mem::take(&mut self.r#slogan)
989 }
990 fn get_smoking_allowed(&self) -> &[SmokingAllowedProperty] {
991 self.r#smoking_allowed.as_slice()
992 }
993 fn take_smoking_allowed(&mut self) -> Vec<SmokingAllowedProperty> {
994 std::mem::take(&mut self.r#smoking_allowed)
995 }
996 fn get_special_opening_hours_specification(
997 &self,
998 ) -> &[SpecialOpeningHoursSpecificationProperty] {
999 self.r#special_opening_hours_specification.as_slice()
1000 }
1001 fn take_special_opening_hours_specification(
1002 &mut self,
1003 ) -> Vec<SpecialOpeningHoursSpecificationProperty> {
1004 std::mem::take(&mut self.r#special_opening_hours_specification)
1005 }
1006 fn get_telephone(&self) -> &[TelephoneProperty] {
1007 self.r#telephone.as_slice()
1008 }
1009 fn take_telephone(&mut self) -> Vec<TelephoneProperty> {
1010 std::mem::take(&mut self.r#telephone)
1011 }
1012 fn get_tour_booking_page(&self) -> &[TourBookingPageProperty] {
1013 self.r#tour_booking_page.as_slice()
1014 }
1015 fn take_tour_booking_page(&mut self) -> Vec<TourBookingPageProperty> {
1016 std::mem::take(&mut self.r#tour_booking_page)
1017 }
1018}
1019impl ThingTrait for Bakery {
1020 fn get_additional_type(&self) -> &[AdditionalTypeProperty] {
1021 self.r#additional_type.as_slice()
1022 }
1023 fn take_additional_type(&mut self) -> Vec<AdditionalTypeProperty> {
1024 std::mem::take(&mut self.r#additional_type)
1025 }
1026 fn get_alternate_name(&self) -> &[AlternateNameProperty] {
1027 self.r#alternate_name.as_slice()
1028 }
1029 fn take_alternate_name(&mut self) -> Vec<AlternateNameProperty> {
1030 std::mem::take(&mut self.r#alternate_name)
1031 }
1032 fn get_description(&self) -> &[DescriptionProperty] {
1033 self.r#description.as_slice()
1034 }
1035 fn take_description(&mut self) -> Vec<DescriptionProperty> {
1036 std::mem::take(&mut self.r#description)
1037 }
1038 fn get_disambiguating_description(&self) -> &[DisambiguatingDescriptionProperty] {
1039 self.r#disambiguating_description.as_slice()
1040 }
1041 fn take_disambiguating_description(&mut self) -> Vec<DisambiguatingDescriptionProperty> {
1042 std::mem::take(&mut self.r#disambiguating_description)
1043 }
1044 fn get_identifier(&self) -> &[IdentifierProperty] {
1045 self.r#identifier.as_slice()
1046 }
1047 fn take_identifier(&mut self) -> Vec<IdentifierProperty> {
1048 std::mem::take(&mut self.r#identifier)
1049 }
1050 fn get_image(&self) -> &[ImageProperty] {
1051 self.r#image.as_slice()
1052 }
1053 fn take_image(&mut self) -> Vec<ImageProperty> {
1054 std::mem::take(&mut self.r#image)
1055 }
1056 fn get_main_entity_of_page(&self) -> &[MainEntityOfPageProperty] {
1057 self.r#main_entity_of_page.as_slice()
1058 }
1059 fn take_main_entity_of_page(&mut self) -> Vec<MainEntityOfPageProperty> {
1060 std::mem::take(&mut self.r#main_entity_of_page)
1061 }
1062 fn get_name(&self) -> &[NameProperty] {
1063 self.r#name.as_slice()
1064 }
1065 fn take_name(&mut self) -> Vec<NameProperty> {
1066 std::mem::take(&mut self.r#name)
1067 }
1068 fn get_potential_action(&self) -> &[PotentialActionProperty] {
1069 self.r#potential_action.as_slice()
1070 }
1071 fn take_potential_action(&mut self) -> Vec<PotentialActionProperty> {
1072 std::mem::take(&mut self.r#potential_action)
1073 }
1074 fn get_same_as(&self) -> &[SameAsProperty] {
1075 self.r#same_as.as_slice()
1076 }
1077 fn take_same_as(&mut self) -> Vec<SameAsProperty> {
1078 std::mem::take(&mut self.r#same_as)
1079 }
1080 fn get_subject_of(&self) -> &[SubjectOfProperty] {
1081 self.r#subject_of.as_slice()
1082 }
1083 fn take_subject_of(&mut self) -> Vec<SubjectOfProperty> {
1084 std::mem::take(&mut self.r#subject_of)
1085 }
1086 fn get_url(&self) -> &[UrlProperty] {
1087 self.r#url.as_slice()
1088 }
1089 fn take_url(&mut self) -> Vec<UrlProperty> {
1090 std::mem::take(&mut self.r#url)
1091 }
1092}
1093#[cfg(feature = "serde")]
1094mod serde {
1095 use std::{fmt, fmt::Formatter};
1096
1097 use ::serde::{
1098 de, de::Visitor, ser::SerializeStruct, Deserialize, Deserializer, Serialize, Serializer,
1099 };
1100
1101 use super::*;
1102 impl Serialize for Bakery {
1103 fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
1104 where
1105 S: Serializer,
1106 {
1107 let len: usize = [
1108 !Vec::is_empty(&self.r#accepts_reservations) as usize,
1109 !Vec::is_empty(&self.r#has_menu) as usize,
1110 !Vec::is_empty(&self.r#menu) as usize,
1111 !Vec::is_empty(&self.r#serves_cuisine) as usize,
1112 !Vec::is_empty(&self.r#star_rating) as usize,
1113 !Vec::is_empty(&self.r#branch_of) as usize,
1114 !Vec::is_empty(&self.r#currencies_accepted) as usize,
1115 !Vec::is_empty(&self.r#opening_hours) as usize,
1116 !Vec::is_empty(&self.r#payment_accepted) as usize,
1117 !Vec::is_empty(&self.r#price_range) as usize,
1118 !Vec::is_empty(&self.r#actionable_feedback_policy) as usize,
1119 !Vec::is_empty(&self.r#address) as usize,
1120 !Vec::is_empty(&self.r#agent_interaction_statistic) as usize,
1121 !Vec::is_empty(&self.r#aggregate_rating) as usize,
1122 !Vec::is_empty(&self.r#alumni) as usize,
1123 !Vec::is_empty(&self.r#area_served) as usize,
1124 !Vec::is_empty(&self.r#award) as usize,
1125 !Vec::is_empty(&self.r#awards) as usize,
1126 !Vec::is_empty(&self.r#brand) as usize,
1127 !Vec::is_empty(&self.r#contact_point) as usize,
1128 !Vec::is_empty(&self.r#contact_points) as usize,
1129 !Vec::is_empty(&self.r#corrections_policy) as usize,
1130 !Vec::is_empty(&self.r#department) as usize,
1131 !Vec::is_empty(&self.r#dissolution_date) as usize,
1132 !Vec::is_empty(&self.r#diversity_policy) as usize,
1133 !Vec::is_empty(&self.r#diversity_staffing_report) as usize,
1134 !Vec::is_empty(&self.r#duns) as usize,
1135 !Vec::is_empty(&self.r#email) as usize,
1136 !Vec::is_empty(&self.r#employee) as usize,
1137 !Vec::is_empty(&self.r#employees) as usize,
1138 !Vec::is_empty(&self.r#ethics_policy) as usize,
1139 !Vec::is_empty(&self.r#event) as usize,
1140 !Vec::is_empty(&self.r#events) as usize,
1141 !Vec::is_empty(&self.r#fax_number) as usize,
1142 !Vec::is_empty(&self.r#founder) as usize,
1143 !Vec::is_empty(&self.r#founders) as usize,
1144 !Vec::is_empty(&self.r#founding_date) as usize,
1145 !Vec::is_empty(&self.r#founding_location) as usize,
1146 !Vec::is_empty(&self.r#funder) as usize,
1147 !Vec::is_empty(&self.r#funding) as usize,
1148 !Vec::is_empty(&self.r#global_location_number) as usize,
1149 !Vec::is_empty(&self.r#has_credential) as usize,
1150 !Vec::is_empty(&self.r#has_merchant_return_policy) as usize,
1151 !Vec::is_empty(&self.r#has_offer_catalog) as usize,
1152 !Vec::is_empty(&self.r#has_pos) as usize,
1153 !Vec::is_empty(&self.r#has_product_return_policy) as usize,
1154 !Vec::is_empty(&self.r#interaction_statistic) as usize,
1155 !Vec::is_empty(&self.r#isic_v_4) as usize,
1156 !Vec::is_empty(&self.r#iso_6523_code) as usize,
1157 !Vec::is_empty(&self.r#keywords) as usize,
1158 !Vec::is_empty(&self.r#knows_about) as usize,
1159 !Vec::is_empty(&self.r#knows_language) as usize,
1160 !Vec::is_empty(&self.r#legal_name) as usize,
1161 !Vec::is_empty(&self.r#lei_code) as usize,
1162 !Vec::is_empty(&self.r#location) as usize,
1163 !Vec::is_empty(&self.r#logo) as usize,
1164 !Vec::is_empty(&self.r#makes_offer) as usize,
1165 !Vec::is_empty(&self.r#member) as usize,
1166 !Vec::is_empty(&self.r#member_of) as usize,
1167 !Vec::is_empty(&self.r#members) as usize,
1168 !Vec::is_empty(&self.r#naics) as usize,
1169 !Vec::is_empty(&self.r#nonprofit_status) as usize,
1170 !Vec::is_empty(&self.r#number_of_employees) as usize,
1171 !Vec::is_empty(&self.r#ownership_funding_info) as usize,
1172 !Vec::is_empty(&self.r#owns) as usize,
1173 !Vec::is_empty(&self.r#parent_organization) as usize,
1174 !Vec::is_empty(&self.r#publishing_principles) as usize,
1175 !Vec::is_empty(&self.r#review) as usize,
1176 !Vec::is_empty(&self.r#reviews) as usize,
1177 !Vec::is_empty(&self.r#seeks) as usize,
1178 !Vec::is_empty(&self.r#service_area) as usize,
1179 !Vec::is_empty(&self.r#slogan) as usize,
1180 !Vec::is_empty(&self.r#sponsor) as usize,
1181 !Vec::is_empty(&self.r#sub_organization) as usize,
1182 !Vec::is_empty(&self.r#tax_id) as usize,
1183 !Vec::is_empty(&self.r#telephone) as usize,
1184 !Vec::is_empty(&self.r#unnamed_sources_policy) as usize,
1185 !Vec::is_empty(&self.r#vat_id) as usize,
1186 !Vec::is_empty(&self.r#additional_property) as usize,
1187 !Vec::is_empty(&self.r#amenity_feature) as usize,
1188 !Vec::is_empty(&self.r#branch_code) as usize,
1189 !Vec::is_empty(&self.r#contained_in) as usize,
1190 !Vec::is_empty(&self.r#contained_in_place) as usize,
1191 !Vec::is_empty(&self.r#contains_place) as usize,
1192 !Vec::is_empty(&self.r#geo) as usize,
1193 !Vec::is_empty(&self.r#geo_contains) as usize,
1194 !Vec::is_empty(&self.r#geo_covered_by) as usize,
1195 !Vec::is_empty(&self.r#geo_covers) as usize,
1196 !Vec::is_empty(&self.r#geo_crosses) as usize,
1197 !Vec::is_empty(&self.r#geo_disjoint) as usize,
1198 !Vec::is_empty(&self.r#geo_equals) as usize,
1199 !Vec::is_empty(&self.r#geo_intersects) as usize,
1200 !Vec::is_empty(&self.r#geo_overlaps) as usize,
1201 !Vec::is_empty(&self.r#geo_touches) as usize,
1202 !Vec::is_empty(&self.r#geo_within) as usize,
1203 !Vec::is_empty(&self.r#has_drive_through_service) as usize,
1204 !Vec::is_empty(&self.r#has_map) as usize,
1205 !Vec::is_empty(&self.r#is_accessible_for_free) as usize,
1206 !Vec::is_empty(&self.r#latitude) as usize,
1207 !Vec::is_empty(&self.r#longitude) as usize,
1208 !Vec::is_empty(&self.r#map) as usize,
1209 !Vec::is_empty(&self.r#maps) as usize,
1210 !Vec::is_empty(&self.r#maximum_attendee_capacity) as usize,
1211 !Vec::is_empty(&self.r#opening_hours_specification) as usize,
1212 !Vec::is_empty(&self.r#photo) as usize,
1213 !Vec::is_empty(&self.r#photos) as usize,
1214 !Vec::is_empty(&self.r#public_access) as usize,
1215 !Vec::is_empty(&self.r#smoking_allowed) as usize,
1216 !Vec::is_empty(&self.r#special_opening_hours_specification) as usize,
1217 !Vec::is_empty(&self.r#tour_booking_page) as usize,
1218 !Vec::is_empty(&self.r#additional_type) as usize,
1219 !Vec::is_empty(&self.r#alternate_name) as usize,
1220 !Vec::is_empty(&self.r#description) as usize,
1221 !Vec::is_empty(&self.r#disambiguating_description) as usize,
1222 !Vec::is_empty(&self.r#identifier) as usize,
1223 !Vec::is_empty(&self.r#image) as usize,
1224 !Vec::is_empty(&self.r#main_entity_of_page) as usize,
1225 !Vec::is_empty(&self.r#name) as usize,
1226 !Vec::is_empty(&self.r#potential_action) as usize,
1227 !Vec::is_empty(&self.r#same_as) as usize,
1228 !Vec::is_empty(&self.r#subject_of) as usize,
1229 !Vec::is_empty(&self.r#url) as usize,
1230 ]
1231 .iter()
1232 .sum();
1233 let mut serialize_struct = Serializer::serialize_struct(serializer, "Bakery", len)?;
1234 if !Vec::is_empty(&self.r#accepts_reservations) {
1235 serialize_struct.serialize_field("acceptsReservations", {
1236 struct SerializeWith<'a>(&'a Vec<AcceptsReservationsProperty>);
1237 impl<'a> Serialize for SerializeWith<'a> {
1238 fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
1239 where
1240 S: Serializer,
1241 {
1242 serde_with::As::<serde_with::OneOrMany<serde_with::Same>>::serialize(
1243 self.0, serializer,
1244 )
1245 }
1246 }
1247 &SerializeWith(&self.r#accepts_reservations)
1248 })?;
1249 } else {
1250 serialize_struct.skip_field("acceptsReservations")?;
1251 }
1252 if !Vec::is_empty(&self.r#has_menu) {
1253 serialize_struct.serialize_field("hasMenu", {
1254 struct SerializeWith<'a>(&'a Vec<HasMenuProperty>);
1255 impl<'a> Serialize for SerializeWith<'a> {
1256 fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
1257 where
1258 S: Serializer,
1259 {
1260 serde_with::As::<serde_with::OneOrMany<serde_with::Same>>::serialize(
1261 self.0, serializer,
1262 )
1263 }
1264 }
1265 &SerializeWith(&self.r#has_menu)
1266 })?;
1267 } else {
1268 serialize_struct.skip_field("hasMenu")?;
1269 }
1270 if !Vec::is_empty(&self.r#menu) {
1271 serialize_struct.serialize_field("menu", {
1272 struct SerializeWith<'a>(&'a Vec<MenuProperty>);
1273 impl<'a> Serialize for SerializeWith<'a> {
1274 fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
1275 where
1276 S: Serializer,
1277 {
1278 serde_with::As::<serde_with::OneOrMany<serde_with::Same>>::serialize(
1279 self.0, serializer,
1280 )
1281 }
1282 }
1283 &SerializeWith(&self.r#menu)
1284 })?;
1285 } else {
1286 serialize_struct.skip_field("menu")?;
1287 }
1288 if !Vec::is_empty(&self.r#serves_cuisine) {
1289 serialize_struct.serialize_field("servesCuisine", {
1290 struct SerializeWith<'a>(&'a Vec<ServesCuisineProperty>);
1291 impl<'a> Serialize for SerializeWith<'a> {
1292 fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
1293 where
1294 S: Serializer,
1295 {
1296 serde_with::As::<serde_with::OneOrMany<serde_with::Same>>::serialize(
1297 self.0, serializer,
1298 )
1299 }
1300 }
1301 &SerializeWith(&self.r#serves_cuisine)
1302 })?;
1303 } else {
1304 serialize_struct.skip_field("servesCuisine")?;
1305 }
1306 if !Vec::is_empty(&self.r#star_rating) {
1307 serialize_struct.serialize_field("starRating", {
1308 struct SerializeWith<'a>(&'a Vec<StarRatingProperty>);
1309 impl<'a> Serialize for SerializeWith<'a> {
1310 fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
1311 where
1312 S: Serializer,
1313 {
1314 serde_with::As::<serde_with::OneOrMany<serde_with::Same>>::serialize(
1315 self.0, serializer,
1316 )
1317 }
1318 }
1319 &SerializeWith(&self.r#star_rating)
1320 })?;
1321 } else {
1322 serialize_struct.skip_field("starRating")?;
1323 }
1324 if !Vec::is_empty(&self.r#branch_of) {
1325 serialize_struct.serialize_field("branchOf", {
1326 struct SerializeWith<'a>(&'a Vec<BranchOfProperty>);
1327 impl<'a> Serialize for SerializeWith<'a> {
1328 fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
1329 where
1330 S: Serializer,
1331 {
1332 serde_with::As::<serde_with::OneOrMany<serde_with::Same>>::serialize(
1333 self.0, serializer,
1334 )
1335 }
1336 }
1337 &SerializeWith(&self.r#branch_of)
1338 })?;
1339 } else {
1340 serialize_struct.skip_field("branchOf")?;
1341 }
1342 if !Vec::is_empty(&self.r#currencies_accepted) {
1343 serialize_struct.serialize_field("currenciesAccepted", {
1344 struct SerializeWith<'a>(&'a Vec<CurrenciesAcceptedProperty>);
1345 impl<'a> Serialize for SerializeWith<'a> {
1346 fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
1347 where
1348 S: Serializer,
1349 {
1350 serde_with::As::<serde_with::OneOrMany<serde_with::Same>>::serialize(
1351 self.0, serializer,
1352 )
1353 }
1354 }
1355 &SerializeWith(&self.r#currencies_accepted)
1356 })?;
1357 } else {
1358 serialize_struct.skip_field("currenciesAccepted")?;
1359 }
1360 if !Vec::is_empty(&self.r#opening_hours) {
1361 serialize_struct.serialize_field("openingHours", {
1362 struct SerializeWith<'a>(&'a Vec<OpeningHoursProperty>);
1363 impl<'a> Serialize for SerializeWith<'a> {
1364 fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
1365 where
1366 S: Serializer,
1367 {
1368 serde_with::As::<serde_with::OneOrMany<serde_with::Same>>::serialize(
1369 self.0, serializer,
1370 )
1371 }
1372 }
1373 &SerializeWith(&self.r#opening_hours)
1374 })?;
1375 } else {
1376 serialize_struct.skip_field("openingHours")?;
1377 }
1378 if !Vec::is_empty(&self.r#payment_accepted) {
1379 serialize_struct.serialize_field("paymentAccepted", {
1380 struct SerializeWith<'a>(&'a Vec<PaymentAcceptedProperty>);
1381 impl<'a> Serialize for SerializeWith<'a> {
1382 fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
1383 where
1384 S: Serializer,
1385 {
1386 serde_with::As::<serde_with::OneOrMany<serde_with::Same>>::serialize(
1387 self.0, serializer,
1388 )
1389 }
1390 }
1391 &SerializeWith(&self.r#payment_accepted)
1392 })?;
1393 } else {
1394 serialize_struct.skip_field("paymentAccepted")?;
1395 }
1396 if !Vec::is_empty(&self.r#price_range) {
1397 serialize_struct.serialize_field("priceRange", {
1398 struct SerializeWith<'a>(&'a Vec<PriceRangeProperty>);
1399 impl<'a> Serialize for SerializeWith<'a> {
1400 fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
1401 where
1402 S: Serializer,
1403 {
1404 serde_with::As::<serde_with::OneOrMany<serde_with::Same>>::serialize(
1405 self.0, serializer,
1406 )
1407 }
1408 }
1409 &SerializeWith(&self.r#price_range)
1410 })?;
1411 } else {
1412 serialize_struct.skip_field("priceRange")?;
1413 }
1414 if !Vec::is_empty(&self.r#actionable_feedback_policy) {
1415 serialize_struct.serialize_field("actionableFeedbackPolicy", {
1416 struct SerializeWith<'a>(&'a Vec<ActionableFeedbackPolicyProperty>);
1417 impl<'a> Serialize for SerializeWith<'a> {
1418 fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
1419 where
1420 S: Serializer,
1421 {
1422 serde_with::As::<serde_with::OneOrMany<serde_with::Same>>::serialize(
1423 self.0, serializer,
1424 )
1425 }
1426 }
1427 &SerializeWith(&self.r#actionable_feedback_policy)
1428 })?;
1429 } else {
1430 serialize_struct.skip_field("actionableFeedbackPolicy")?;
1431 }
1432 if !Vec::is_empty(&self.r#address) {
1433 serialize_struct.serialize_field("address", {
1434 struct SerializeWith<'a>(&'a Vec<AddressProperty>);
1435 impl<'a> Serialize for SerializeWith<'a> {
1436 fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
1437 where
1438 S: Serializer,
1439 {
1440 serde_with::As::<serde_with::OneOrMany<serde_with::Same>>::serialize(
1441 self.0, serializer,
1442 )
1443 }
1444 }
1445 &SerializeWith(&self.r#address)
1446 })?;
1447 } else {
1448 serialize_struct.skip_field("address")?;
1449 }
1450 if !Vec::is_empty(&self.r#agent_interaction_statistic) {
1451 serialize_struct.serialize_field("agentInteractionStatistic", {
1452 struct SerializeWith<'a>(&'a Vec<AgentInteractionStatisticProperty>);
1453 impl<'a> Serialize for SerializeWith<'a> {
1454 fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
1455 where
1456 S: Serializer,
1457 {
1458 serde_with::As::<serde_with::OneOrMany<serde_with::Same>>::serialize(
1459 self.0, serializer,
1460 )
1461 }
1462 }
1463 &SerializeWith(&self.r#agent_interaction_statistic)
1464 })?;
1465 } else {
1466 serialize_struct.skip_field("agentInteractionStatistic")?;
1467 }
1468 if !Vec::is_empty(&self.r#aggregate_rating) {
1469 serialize_struct.serialize_field("aggregateRating", {
1470 struct SerializeWith<'a>(&'a Vec<AggregateRatingProperty>);
1471 impl<'a> Serialize for SerializeWith<'a> {
1472 fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
1473 where
1474 S: Serializer,
1475 {
1476 serde_with::As::<serde_with::OneOrMany<serde_with::Same>>::serialize(
1477 self.0, serializer,
1478 )
1479 }
1480 }
1481 &SerializeWith(&self.r#aggregate_rating)
1482 })?;
1483 } else {
1484 serialize_struct.skip_field("aggregateRating")?;
1485 }
1486 if !Vec::is_empty(&self.r#alumni) {
1487 serialize_struct.serialize_field("alumni", {
1488 struct SerializeWith<'a>(&'a Vec<AlumniProperty>);
1489 impl<'a> Serialize for SerializeWith<'a> {
1490 fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
1491 where
1492 S: Serializer,
1493 {
1494 serde_with::As::<serde_with::OneOrMany<serde_with::Same>>::serialize(
1495 self.0, serializer,
1496 )
1497 }
1498 }
1499 &SerializeWith(&self.r#alumni)
1500 })?;
1501 } else {
1502 serialize_struct.skip_field("alumni")?;
1503 }
1504 if !Vec::is_empty(&self.r#area_served) {
1505 serialize_struct.serialize_field("areaServed", {
1506 struct SerializeWith<'a>(&'a Vec<AreaServedProperty>);
1507 impl<'a> Serialize for SerializeWith<'a> {
1508 fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
1509 where
1510 S: Serializer,
1511 {
1512 serde_with::As::<serde_with::OneOrMany<serde_with::Same>>::serialize(
1513 self.0, serializer,
1514 )
1515 }
1516 }
1517 &SerializeWith(&self.r#area_served)
1518 })?;
1519 } else {
1520 serialize_struct.skip_field("areaServed")?;
1521 }
1522 if !Vec::is_empty(&self.r#award) {
1523 serialize_struct.serialize_field("award", {
1524 struct SerializeWith<'a>(&'a Vec<AwardProperty>);
1525 impl<'a> Serialize for SerializeWith<'a> {
1526 fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
1527 where
1528 S: Serializer,
1529 {
1530 serde_with::As::<serde_with::OneOrMany<serde_with::Same>>::serialize(
1531 self.0, serializer,
1532 )
1533 }
1534 }
1535 &SerializeWith(&self.r#award)
1536 })?;
1537 } else {
1538 serialize_struct.skip_field("award")?;
1539 }
1540 if !Vec::is_empty(&self.r#awards) {
1541 serialize_struct.serialize_field("awards", {
1542 struct SerializeWith<'a>(&'a Vec<AwardsProperty>);
1543 impl<'a> Serialize for SerializeWith<'a> {
1544 fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
1545 where
1546 S: Serializer,
1547 {
1548 serde_with::As::<serde_with::OneOrMany<serde_with::Same>>::serialize(
1549 self.0, serializer,
1550 )
1551 }
1552 }
1553 &SerializeWith(&self.r#awards)
1554 })?;
1555 } else {
1556 serialize_struct.skip_field("awards")?;
1557 }
1558 if !Vec::is_empty(&self.r#brand) {
1559 serialize_struct.serialize_field("brand", {
1560 struct SerializeWith<'a>(&'a Vec<BrandProperty>);
1561 impl<'a> Serialize for SerializeWith<'a> {
1562 fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
1563 where
1564 S: Serializer,
1565 {
1566 serde_with::As::<serde_with::OneOrMany<serde_with::Same>>::serialize(
1567 self.0, serializer,
1568 )
1569 }
1570 }
1571 &SerializeWith(&self.r#brand)
1572 })?;
1573 } else {
1574 serialize_struct.skip_field("brand")?;
1575 }
1576 if !Vec::is_empty(&self.r#contact_point) {
1577 serialize_struct.serialize_field("contactPoint", {
1578 struct SerializeWith<'a>(&'a Vec<ContactPointProperty>);
1579 impl<'a> Serialize for SerializeWith<'a> {
1580 fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
1581 where
1582 S: Serializer,
1583 {
1584 serde_with::As::<serde_with::OneOrMany<serde_with::Same>>::serialize(
1585 self.0, serializer,
1586 )
1587 }
1588 }
1589 &SerializeWith(&self.r#contact_point)
1590 })?;
1591 } else {
1592 serialize_struct.skip_field("contactPoint")?;
1593 }
1594 if !Vec::is_empty(&self.r#contact_points) {
1595 serialize_struct.serialize_field("contactPoints", {
1596 struct SerializeWith<'a>(&'a Vec<ContactPointsProperty>);
1597 impl<'a> Serialize for SerializeWith<'a> {
1598 fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
1599 where
1600 S: Serializer,
1601 {
1602 serde_with::As::<serde_with::OneOrMany<serde_with::Same>>::serialize(
1603 self.0, serializer,
1604 )
1605 }
1606 }
1607 &SerializeWith(&self.r#contact_points)
1608 })?;
1609 } else {
1610 serialize_struct.skip_field("contactPoints")?;
1611 }
1612 if !Vec::is_empty(&self.r#corrections_policy) {
1613 serialize_struct.serialize_field("correctionsPolicy", {
1614 struct SerializeWith<'a>(&'a Vec<CorrectionsPolicyProperty>);
1615 impl<'a> Serialize for SerializeWith<'a> {
1616 fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
1617 where
1618 S: Serializer,
1619 {
1620 serde_with::As::<serde_with::OneOrMany<serde_with::Same>>::serialize(
1621 self.0, serializer,
1622 )
1623 }
1624 }
1625 &SerializeWith(&self.r#corrections_policy)
1626 })?;
1627 } else {
1628 serialize_struct.skip_field("correctionsPolicy")?;
1629 }
1630 if !Vec::is_empty(&self.r#department) {
1631 serialize_struct.serialize_field("department", {
1632 struct SerializeWith<'a>(&'a Vec<DepartmentProperty>);
1633 impl<'a> Serialize for SerializeWith<'a> {
1634 fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
1635 where
1636 S: Serializer,
1637 {
1638 serde_with::As::<serde_with::OneOrMany<serde_with::Same>>::serialize(
1639 self.0, serializer,
1640 )
1641 }
1642 }
1643 &SerializeWith(&self.r#department)
1644 })?;
1645 } else {
1646 serialize_struct.skip_field("department")?;
1647 }
1648 if !Vec::is_empty(&self.r#dissolution_date) {
1649 serialize_struct.serialize_field("dissolutionDate", {
1650 struct SerializeWith<'a>(&'a Vec<DissolutionDateProperty>);
1651 impl<'a> Serialize for SerializeWith<'a> {
1652 fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
1653 where
1654 S: Serializer,
1655 {
1656 serde_with::As::<serde_with::OneOrMany<serde_with::Same>>::serialize(
1657 self.0, serializer,
1658 )
1659 }
1660 }
1661 &SerializeWith(&self.r#dissolution_date)
1662 })?;
1663 } else {
1664 serialize_struct.skip_field("dissolutionDate")?;
1665 }
1666 if !Vec::is_empty(&self.r#diversity_policy) {
1667 serialize_struct.serialize_field("diversityPolicy", {
1668 struct SerializeWith<'a>(&'a Vec<DiversityPolicyProperty>);
1669 impl<'a> Serialize for SerializeWith<'a> {
1670 fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
1671 where
1672 S: Serializer,
1673 {
1674 serde_with::As::<serde_with::OneOrMany<serde_with::Same>>::serialize(
1675 self.0, serializer,
1676 )
1677 }
1678 }
1679 &SerializeWith(&self.r#diversity_policy)
1680 })?;
1681 } else {
1682 serialize_struct.skip_field("diversityPolicy")?;
1683 }
1684 if !Vec::is_empty(&self.r#diversity_staffing_report) {
1685 serialize_struct.serialize_field("diversityStaffingReport", {
1686 struct SerializeWith<'a>(&'a Vec<DiversityStaffingReportProperty>);
1687 impl<'a> Serialize for SerializeWith<'a> {
1688 fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
1689 where
1690 S: Serializer,
1691 {
1692 serde_with::As::<serde_with::OneOrMany<serde_with::Same>>::serialize(
1693 self.0, serializer,
1694 )
1695 }
1696 }
1697 &SerializeWith(&self.r#diversity_staffing_report)
1698 })?;
1699 } else {
1700 serialize_struct.skip_field("diversityStaffingReport")?;
1701 }
1702 if !Vec::is_empty(&self.r#duns) {
1703 serialize_struct.serialize_field("duns", {
1704 struct SerializeWith<'a>(&'a Vec<DunsProperty>);
1705 impl<'a> Serialize for SerializeWith<'a> {
1706 fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
1707 where
1708 S: Serializer,
1709 {
1710 serde_with::As::<serde_with::OneOrMany<serde_with::Same>>::serialize(
1711 self.0, serializer,
1712 )
1713 }
1714 }
1715 &SerializeWith(&self.r#duns)
1716 })?;
1717 } else {
1718 serialize_struct.skip_field("duns")?;
1719 }
1720 if !Vec::is_empty(&self.r#email) {
1721 serialize_struct.serialize_field("email", {
1722 struct SerializeWith<'a>(&'a Vec<EmailProperty>);
1723 impl<'a> Serialize for SerializeWith<'a> {
1724 fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
1725 where
1726 S: Serializer,
1727 {
1728 serde_with::As::<serde_with::OneOrMany<serde_with::Same>>::serialize(
1729 self.0, serializer,
1730 )
1731 }
1732 }
1733 &SerializeWith(&self.r#email)
1734 })?;
1735 } else {
1736 serialize_struct.skip_field("email")?;
1737 }
1738 if !Vec::is_empty(&self.r#employee) {
1739 serialize_struct.serialize_field("employee", {
1740 struct SerializeWith<'a>(&'a Vec<EmployeeProperty>);
1741 impl<'a> Serialize for SerializeWith<'a> {
1742 fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
1743 where
1744 S: Serializer,
1745 {
1746 serde_with::As::<serde_with::OneOrMany<serde_with::Same>>::serialize(
1747 self.0, serializer,
1748 )
1749 }
1750 }
1751 &SerializeWith(&self.r#employee)
1752 })?;
1753 } else {
1754 serialize_struct.skip_field("employee")?;
1755 }
1756 if !Vec::is_empty(&self.r#employees) {
1757 serialize_struct.serialize_field("employees", {
1758 struct SerializeWith<'a>(&'a Vec<EmployeesProperty>);
1759 impl<'a> Serialize for SerializeWith<'a> {
1760 fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
1761 where
1762 S: Serializer,
1763 {
1764 serde_with::As::<serde_with::OneOrMany<serde_with::Same>>::serialize(
1765 self.0, serializer,
1766 )
1767 }
1768 }
1769 &SerializeWith(&self.r#employees)
1770 })?;
1771 } else {
1772 serialize_struct.skip_field("employees")?;
1773 }
1774 if !Vec::is_empty(&self.r#ethics_policy) {
1775 serialize_struct.serialize_field("ethicsPolicy", {
1776 struct SerializeWith<'a>(&'a Vec<EthicsPolicyProperty>);
1777 impl<'a> Serialize for SerializeWith<'a> {
1778 fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
1779 where
1780 S: Serializer,
1781 {
1782 serde_with::As::<serde_with::OneOrMany<serde_with::Same>>::serialize(
1783 self.0, serializer,
1784 )
1785 }
1786 }
1787 &SerializeWith(&self.r#ethics_policy)
1788 })?;
1789 } else {
1790 serialize_struct.skip_field("ethicsPolicy")?;
1791 }
1792 if !Vec::is_empty(&self.r#event) {
1793 serialize_struct.serialize_field("event", {
1794 struct SerializeWith<'a>(&'a Vec<EventProperty>);
1795 impl<'a> Serialize for SerializeWith<'a> {
1796 fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
1797 where
1798 S: Serializer,
1799 {
1800 serde_with::As::<serde_with::OneOrMany<serde_with::Same>>::serialize(
1801 self.0, serializer,
1802 )
1803 }
1804 }
1805 &SerializeWith(&self.r#event)
1806 })?;
1807 } else {
1808 serialize_struct.skip_field("event")?;
1809 }
1810 if !Vec::is_empty(&self.r#events) {
1811 serialize_struct.serialize_field("events", {
1812 struct SerializeWith<'a>(&'a Vec<EventsProperty>);
1813 impl<'a> Serialize for SerializeWith<'a> {
1814 fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
1815 where
1816 S: Serializer,
1817 {
1818 serde_with::As::<serde_with::OneOrMany<serde_with::Same>>::serialize(
1819 self.0, serializer,
1820 )
1821 }
1822 }
1823 &SerializeWith(&self.r#events)
1824 })?;
1825 } else {
1826 serialize_struct.skip_field("events")?;
1827 }
1828 if !Vec::is_empty(&self.r#fax_number) {
1829 serialize_struct.serialize_field("faxNumber", {
1830 struct SerializeWith<'a>(&'a Vec<FaxNumberProperty>);
1831 impl<'a> Serialize for SerializeWith<'a> {
1832 fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
1833 where
1834 S: Serializer,
1835 {
1836 serde_with::As::<serde_with::OneOrMany<serde_with::Same>>::serialize(
1837 self.0, serializer,
1838 )
1839 }
1840 }
1841 &SerializeWith(&self.r#fax_number)
1842 })?;
1843 } else {
1844 serialize_struct.skip_field("faxNumber")?;
1845 }
1846 if !Vec::is_empty(&self.r#founder) {
1847 serialize_struct.serialize_field("founder", {
1848 struct SerializeWith<'a>(&'a Vec<FounderProperty>);
1849 impl<'a> Serialize for SerializeWith<'a> {
1850 fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
1851 where
1852 S: Serializer,
1853 {
1854 serde_with::As::<serde_with::OneOrMany<serde_with::Same>>::serialize(
1855 self.0, serializer,
1856 )
1857 }
1858 }
1859 &SerializeWith(&self.r#founder)
1860 })?;
1861 } else {
1862 serialize_struct.skip_field("founder")?;
1863 }
1864 if !Vec::is_empty(&self.r#founders) {
1865 serialize_struct.serialize_field("founders", {
1866 struct SerializeWith<'a>(&'a Vec<FoundersProperty>);
1867 impl<'a> Serialize for SerializeWith<'a> {
1868 fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
1869 where
1870 S: Serializer,
1871 {
1872 serde_with::As::<serde_with::OneOrMany<serde_with::Same>>::serialize(
1873 self.0, serializer,
1874 )
1875 }
1876 }
1877 &SerializeWith(&self.r#founders)
1878 })?;
1879 } else {
1880 serialize_struct.skip_field("founders")?;
1881 }
1882 if !Vec::is_empty(&self.r#founding_date) {
1883 serialize_struct.serialize_field("foundingDate", {
1884 struct SerializeWith<'a>(&'a Vec<FoundingDateProperty>);
1885 impl<'a> Serialize for SerializeWith<'a> {
1886 fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
1887 where
1888 S: Serializer,
1889 {
1890 serde_with::As::<serde_with::OneOrMany<serde_with::Same>>::serialize(
1891 self.0, serializer,
1892 )
1893 }
1894 }
1895 &SerializeWith(&self.r#founding_date)
1896 })?;
1897 } else {
1898 serialize_struct.skip_field("foundingDate")?;
1899 }
1900 if !Vec::is_empty(&self.r#founding_location) {
1901 serialize_struct.serialize_field("foundingLocation", {
1902 struct SerializeWith<'a>(&'a Vec<FoundingLocationProperty>);
1903 impl<'a> Serialize for SerializeWith<'a> {
1904 fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
1905 where
1906 S: Serializer,
1907 {
1908 serde_with::As::<serde_with::OneOrMany<serde_with::Same>>::serialize(
1909 self.0, serializer,
1910 )
1911 }
1912 }
1913 &SerializeWith(&self.r#founding_location)
1914 })?;
1915 } else {
1916 serialize_struct.skip_field("foundingLocation")?;
1917 }
1918 if !Vec::is_empty(&self.r#funder) {
1919 serialize_struct.serialize_field("funder", {
1920 struct SerializeWith<'a>(&'a Vec<FunderProperty>);
1921 impl<'a> Serialize for SerializeWith<'a> {
1922 fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
1923 where
1924 S: Serializer,
1925 {
1926 serde_with::As::<serde_with::OneOrMany<serde_with::Same>>::serialize(
1927 self.0, serializer,
1928 )
1929 }
1930 }
1931 &SerializeWith(&self.r#funder)
1932 })?;
1933 } else {
1934 serialize_struct.skip_field("funder")?;
1935 }
1936 if !Vec::is_empty(&self.r#funding) {
1937 serialize_struct.serialize_field("funding", {
1938 struct SerializeWith<'a>(&'a Vec<FundingProperty>);
1939 impl<'a> Serialize for SerializeWith<'a> {
1940 fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
1941 where
1942 S: Serializer,
1943 {
1944 serde_with::As::<serde_with::OneOrMany<serde_with::Same>>::serialize(
1945 self.0, serializer,
1946 )
1947 }
1948 }
1949 &SerializeWith(&self.r#funding)
1950 })?;
1951 } else {
1952 serialize_struct.skip_field("funding")?;
1953 }
1954 if !Vec::is_empty(&self.r#global_location_number) {
1955 serialize_struct.serialize_field("globalLocationNumber", {
1956 struct SerializeWith<'a>(&'a Vec<GlobalLocationNumberProperty>);
1957 impl<'a> Serialize for SerializeWith<'a> {
1958 fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
1959 where
1960 S: Serializer,
1961 {
1962 serde_with::As::<serde_with::OneOrMany<serde_with::Same>>::serialize(
1963 self.0, serializer,
1964 )
1965 }
1966 }
1967 &SerializeWith(&self.r#global_location_number)
1968 })?;
1969 } else {
1970 serialize_struct.skip_field("globalLocationNumber")?;
1971 }
1972 if !Vec::is_empty(&self.r#has_credential) {
1973 serialize_struct.serialize_field("hasCredential", {
1974 struct SerializeWith<'a>(&'a Vec<HasCredentialProperty>);
1975 impl<'a> Serialize for SerializeWith<'a> {
1976 fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
1977 where
1978 S: Serializer,
1979 {
1980 serde_with::As::<serde_with::OneOrMany<serde_with::Same>>::serialize(
1981 self.0, serializer,
1982 )
1983 }
1984 }
1985 &SerializeWith(&self.r#has_credential)
1986 })?;
1987 } else {
1988 serialize_struct.skip_field("hasCredential")?;
1989 }
1990 if !Vec::is_empty(&self.r#has_merchant_return_policy) {
1991 serialize_struct.serialize_field("hasMerchantReturnPolicy", {
1992 struct SerializeWith<'a>(&'a Vec<HasMerchantReturnPolicyProperty>);
1993 impl<'a> Serialize for SerializeWith<'a> {
1994 fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
1995 where
1996 S: Serializer,
1997 {
1998 serde_with::As::<serde_with::OneOrMany<serde_with::Same>>::serialize(
1999 self.0, serializer,
2000 )
2001 }
2002 }
2003 &SerializeWith(&self.r#has_merchant_return_policy)
2004 })?;
2005 } else {
2006 serialize_struct.skip_field("hasMerchantReturnPolicy")?;
2007 }
2008 if !Vec::is_empty(&self.r#has_offer_catalog) {
2009 serialize_struct.serialize_field("hasOfferCatalog", {
2010 struct SerializeWith<'a>(&'a Vec<HasOfferCatalogProperty>);
2011 impl<'a> Serialize for SerializeWith<'a> {
2012 fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
2013 where
2014 S: Serializer,
2015 {
2016 serde_with::As::<serde_with::OneOrMany<serde_with::Same>>::serialize(
2017 self.0, serializer,
2018 )
2019 }
2020 }
2021 &SerializeWith(&self.r#has_offer_catalog)
2022 })?;
2023 } else {
2024 serialize_struct.skip_field("hasOfferCatalog")?;
2025 }
2026 if !Vec::is_empty(&self.r#has_pos) {
2027 serialize_struct.serialize_field("hasPOS", {
2028 struct SerializeWith<'a>(&'a Vec<HasPosProperty>);
2029 impl<'a> Serialize for SerializeWith<'a> {
2030 fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
2031 where
2032 S: Serializer,
2033 {
2034 serde_with::As::<serde_with::OneOrMany<serde_with::Same>>::serialize(
2035 self.0, serializer,
2036 )
2037 }
2038 }
2039 &SerializeWith(&self.r#has_pos)
2040 })?;
2041 } else {
2042 serialize_struct.skip_field("hasPOS")?;
2043 }
2044 if !Vec::is_empty(&self.r#has_product_return_policy) {
2045 serialize_struct.serialize_field("hasProductReturnPolicy", {
2046 struct SerializeWith<'a>(&'a Vec<HasProductReturnPolicyProperty>);
2047 impl<'a> Serialize for SerializeWith<'a> {
2048 fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
2049 where
2050 S: Serializer,
2051 {
2052 serde_with::As::<serde_with::OneOrMany<serde_with::Same>>::serialize(
2053 self.0, serializer,
2054 )
2055 }
2056 }
2057 &SerializeWith(&self.r#has_product_return_policy)
2058 })?;
2059 } else {
2060 serialize_struct.skip_field("hasProductReturnPolicy")?;
2061 }
2062 if !Vec::is_empty(&self.r#interaction_statistic) {
2063 serialize_struct.serialize_field("interactionStatistic", {
2064 struct SerializeWith<'a>(&'a Vec<InteractionStatisticProperty>);
2065 impl<'a> Serialize for SerializeWith<'a> {
2066 fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
2067 where
2068 S: Serializer,
2069 {
2070 serde_with::As::<serde_with::OneOrMany<serde_with::Same>>::serialize(
2071 self.0, serializer,
2072 )
2073 }
2074 }
2075 &SerializeWith(&self.r#interaction_statistic)
2076 })?;
2077 } else {
2078 serialize_struct.skip_field("interactionStatistic")?;
2079 }
2080 if !Vec::is_empty(&self.r#isic_v_4) {
2081 serialize_struct.serialize_field("isicV4", {
2082 struct SerializeWith<'a>(&'a Vec<IsicV4Property>);
2083 impl<'a> Serialize for SerializeWith<'a> {
2084 fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
2085 where
2086 S: Serializer,
2087 {
2088 serde_with::As::<serde_with::OneOrMany<serde_with::Same>>::serialize(
2089 self.0, serializer,
2090 )
2091 }
2092 }
2093 &SerializeWith(&self.r#isic_v_4)
2094 })?;
2095 } else {
2096 serialize_struct.skip_field("isicV4")?;
2097 }
2098 if !Vec::is_empty(&self.r#iso_6523_code) {
2099 serialize_struct.serialize_field("iso6523Code", {
2100 struct SerializeWith<'a>(&'a Vec<Iso6523CodeProperty>);
2101 impl<'a> Serialize for SerializeWith<'a> {
2102 fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
2103 where
2104 S: Serializer,
2105 {
2106 serde_with::As::<serde_with::OneOrMany<serde_with::Same>>::serialize(
2107 self.0, serializer,
2108 )
2109 }
2110 }
2111 &SerializeWith(&self.r#iso_6523_code)
2112 })?;
2113 } else {
2114 serialize_struct.skip_field("iso6523Code")?;
2115 }
2116 if !Vec::is_empty(&self.r#keywords) {
2117 serialize_struct.serialize_field("keywords", {
2118 struct SerializeWith<'a>(&'a Vec<KeywordsProperty>);
2119 impl<'a> Serialize for SerializeWith<'a> {
2120 fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
2121 where
2122 S: Serializer,
2123 {
2124 serde_with::As::<serde_with::OneOrMany<serde_with::Same>>::serialize(
2125 self.0, serializer,
2126 )
2127 }
2128 }
2129 &SerializeWith(&self.r#keywords)
2130 })?;
2131 } else {
2132 serialize_struct.skip_field("keywords")?;
2133 }
2134 if !Vec::is_empty(&self.r#knows_about) {
2135 serialize_struct.serialize_field("knowsAbout", {
2136 struct SerializeWith<'a>(&'a Vec<KnowsAboutProperty>);
2137 impl<'a> Serialize for SerializeWith<'a> {
2138 fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
2139 where
2140 S: Serializer,
2141 {
2142 serde_with::As::<serde_with::OneOrMany<serde_with::Same>>::serialize(
2143 self.0, serializer,
2144 )
2145 }
2146 }
2147 &SerializeWith(&self.r#knows_about)
2148 })?;
2149 } else {
2150 serialize_struct.skip_field("knowsAbout")?;
2151 }
2152 if !Vec::is_empty(&self.r#knows_language) {
2153 serialize_struct.serialize_field("knowsLanguage", {
2154 struct SerializeWith<'a>(&'a Vec<KnowsLanguageProperty>);
2155 impl<'a> Serialize for SerializeWith<'a> {
2156 fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
2157 where
2158 S: Serializer,
2159 {
2160 serde_with::As::<serde_with::OneOrMany<serde_with::Same>>::serialize(
2161 self.0, serializer,
2162 )
2163 }
2164 }
2165 &SerializeWith(&self.r#knows_language)
2166 })?;
2167 } else {
2168 serialize_struct.skip_field("knowsLanguage")?;
2169 }
2170 if !Vec::is_empty(&self.r#legal_name) {
2171 serialize_struct.serialize_field("legalName", {
2172 struct SerializeWith<'a>(&'a Vec<LegalNameProperty>);
2173 impl<'a> Serialize for SerializeWith<'a> {
2174 fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
2175 where
2176 S: Serializer,
2177 {
2178 serde_with::As::<serde_with::OneOrMany<serde_with::Same>>::serialize(
2179 self.0, serializer,
2180 )
2181 }
2182 }
2183 &SerializeWith(&self.r#legal_name)
2184 })?;
2185 } else {
2186 serialize_struct.skip_field("legalName")?;
2187 }
2188 if !Vec::is_empty(&self.r#lei_code) {
2189 serialize_struct.serialize_field("leiCode", {
2190 struct SerializeWith<'a>(&'a Vec<LeiCodeProperty>);
2191 impl<'a> Serialize for SerializeWith<'a> {
2192 fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
2193 where
2194 S: Serializer,
2195 {
2196 serde_with::As::<serde_with::OneOrMany<serde_with::Same>>::serialize(
2197 self.0, serializer,
2198 )
2199 }
2200 }
2201 &SerializeWith(&self.r#lei_code)
2202 })?;
2203 } else {
2204 serialize_struct.skip_field("leiCode")?;
2205 }
2206 if !Vec::is_empty(&self.r#location) {
2207 serialize_struct.serialize_field("location", {
2208 struct SerializeWith<'a>(&'a Vec<LocationProperty>);
2209 impl<'a> Serialize for SerializeWith<'a> {
2210 fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
2211 where
2212 S: Serializer,
2213 {
2214 serde_with::As::<serde_with::OneOrMany<serde_with::Same>>::serialize(
2215 self.0, serializer,
2216 )
2217 }
2218 }
2219 &SerializeWith(&self.r#location)
2220 })?;
2221 } else {
2222 serialize_struct.skip_field("location")?;
2223 }
2224 if !Vec::is_empty(&self.r#logo) {
2225 serialize_struct.serialize_field("logo", {
2226 struct SerializeWith<'a>(&'a Vec<LogoProperty>);
2227 impl<'a> Serialize for SerializeWith<'a> {
2228 fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
2229 where
2230 S: Serializer,
2231 {
2232 serde_with::As::<serde_with::OneOrMany<serde_with::Same>>::serialize(
2233 self.0, serializer,
2234 )
2235 }
2236 }
2237 &SerializeWith(&self.r#logo)
2238 })?;
2239 } else {
2240 serialize_struct.skip_field("logo")?;
2241 }
2242 if !Vec::is_empty(&self.r#makes_offer) {
2243 serialize_struct.serialize_field("makesOffer", {
2244 struct SerializeWith<'a>(&'a Vec<MakesOfferProperty>);
2245 impl<'a> Serialize for SerializeWith<'a> {
2246 fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
2247 where
2248 S: Serializer,
2249 {
2250 serde_with::As::<serde_with::OneOrMany<serde_with::Same>>::serialize(
2251 self.0, serializer,
2252 )
2253 }
2254 }
2255 &SerializeWith(&self.r#makes_offer)
2256 })?;
2257 } else {
2258 serialize_struct.skip_field("makesOffer")?;
2259 }
2260 if !Vec::is_empty(&self.r#member) {
2261 serialize_struct.serialize_field("member", {
2262 struct SerializeWith<'a>(&'a Vec<MemberProperty>);
2263 impl<'a> Serialize for SerializeWith<'a> {
2264 fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
2265 where
2266 S: Serializer,
2267 {
2268 serde_with::As::<serde_with::OneOrMany<serde_with::Same>>::serialize(
2269 self.0, serializer,
2270 )
2271 }
2272 }
2273 &SerializeWith(&self.r#member)
2274 })?;
2275 } else {
2276 serialize_struct.skip_field("member")?;
2277 }
2278 if !Vec::is_empty(&self.r#member_of) {
2279 serialize_struct.serialize_field("memberOf", {
2280 struct SerializeWith<'a>(&'a Vec<MemberOfProperty>);
2281 impl<'a> Serialize for SerializeWith<'a> {
2282 fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
2283 where
2284 S: Serializer,
2285 {
2286 serde_with::As::<serde_with::OneOrMany<serde_with::Same>>::serialize(
2287 self.0, serializer,
2288 )
2289 }
2290 }
2291 &SerializeWith(&self.r#member_of)
2292 })?;
2293 } else {
2294 serialize_struct.skip_field("memberOf")?;
2295 }
2296 if !Vec::is_empty(&self.r#members) {
2297 serialize_struct.serialize_field("members", {
2298 struct SerializeWith<'a>(&'a Vec<MembersProperty>);
2299 impl<'a> Serialize for SerializeWith<'a> {
2300 fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
2301 where
2302 S: Serializer,
2303 {
2304 serde_with::As::<serde_with::OneOrMany<serde_with::Same>>::serialize(
2305 self.0, serializer,
2306 )
2307 }
2308 }
2309 &SerializeWith(&self.r#members)
2310 })?;
2311 } else {
2312 serialize_struct.skip_field("members")?;
2313 }
2314 if !Vec::is_empty(&self.r#naics) {
2315 serialize_struct.serialize_field("naics", {
2316 struct SerializeWith<'a>(&'a Vec<NaicsProperty>);
2317 impl<'a> Serialize for SerializeWith<'a> {
2318 fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
2319 where
2320 S: Serializer,
2321 {
2322 serde_with::As::<serde_with::OneOrMany<serde_with::Same>>::serialize(
2323 self.0, serializer,
2324 )
2325 }
2326 }
2327 &SerializeWith(&self.r#naics)
2328 })?;
2329 } else {
2330 serialize_struct.skip_field("naics")?;
2331 }
2332 if !Vec::is_empty(&self.r#nonprofit_status) {
2333 serialize_struct.serialize_field("nonprofitStatus", {
2334 struct SerializeWith<'a>(&'a Vec<NonprofitStatusProperty>);
2335 impl<'a> Serialize for SerializeWith<'a> {
2336 fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
2337 where
2338 S: Serializer,
2339 {
2340 serde_with::As::<serde_with::OneOrMany<serde_with::Same>>::serialize(
2341 self.0, serializer,
2342 )
2343 }
2344 }
2345 &SerializeWith(&self.r#nonprofit_status)
2346 })?;
2347 } else {
2348 serialize_struct.skip_field("nonprofitStatus")?;
2349 }
2350 if !Vec::is_empty(&self.r#number_of_employees) {
2351 serialize_struct.serialize_field("numberOfEmployees", {
2352 struct SerializeWith<'a>(&'a Vec<NumberOfEmployeesProperty>);
2353 impl<'a> Serialize for SerializeWith<'a> {
2354 fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
2355 where
2356 S: Serializer,
2357 {
2358 serde_with::As::<serde_with::OneOrMany<serde_with::Same>>::serialize(
2359 self.0, serializer,
2360 )
2361 }
2362 }
2363 &SerializeWith(&self.r#number_of_employees)
2364 })?;
2365 } else {
2366 serialize_struct.skip_field("numberOfEmployees")?;
2367 }
2368 if !Vec::is_empty(&self.r#ownership_funding_info) {
2369 serialize_struct.serialize_field("ownershipFundingInfo", {
2370 struct SerializeWith<'a>(&'a Vec<OwnershipFundingInfoProperty>);
2371 impl<'a> Serialize for SerializeWith<'a> {
2372 fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
2373 where
2374 S: Serializer,
2375 {
2376 serde_with::As::<serde_with::OneOrMany<serde_with::Same>>::serialize(
2377 self.0, serializer,
2378 )
2379 }
2380 }
2381 &SerializeWith(&self.r#ownership_funding_info)
2382 })?;
2383 } else {
2384 serialize_struct.skip_field("ownershipFundingInfo")?;
2385 }
2386 if !Vec::is_empty(&self.r#owns) {
2387 serialize_struct.serialize_field("owns", {
2388 struct SerializeWith<'a>(&'a Vec<OwnsProperty>);
2389 impl<'a> Serialize for SerializeWith<'a> {
2390 fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
2391 where
2392 S: Serializer,
2393 {
2394 serde_with::As::<serde_with::OneOrMany<serde_with::Same>>::serialize(
2395 self.0, serializer,
2396 )
2397 }
2398 }
2399 &SerializeWith(&self.r#owns)
2400 })?;
2401 } else {
2402 serialize_struct.skip_field("owns")?;
2403 }
2404 if !Vec::is_empty(&self.r#parent_organization) {
2405 serialize_struct.serialize_field("parentOrganization", {
2406 struct SerializeWith<'a>(&'a Vec<ParentOrganizationProperty>);
2407 impl<'a> Serialize for SerializeWith<'a> {
2408 fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
2409 where
2410 S: Serializer,
2411 {
2412 serde_with::As::<serde_with::OneOrMany<serde_with::Same>>::serialize(
2413 self.0, serializer,
2414 )
2415 }
2416 }
2417 &SerializeWith(&self.r#parent_organization)
2418 })?;
2419 } else {
2420 serialize_struct.skip_field("parentOrganization")?;
2421 }
2422 if !Vec::is_empty(&self.r#publishing_principles) {
2423 serialize_struct.serialize_field("publishingPrinciples", {
2424 struct SerializeWith<'a>(&'a Vec<PublishingPrinciplesProperty>);
2425 impl<'a> Serialize for SerializeWith<'a> {
2426 fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
2427 where
2428 S: Serializer,
2429 {
2430 serde_with::As::<serde_with::OneOrMany<serde_with::Same>>::serialize(
2431 self.0, serializer,
2432 )
2433 }
2434 }
2435 &SerializeWith(&self.r#publishing_principles)
2436 })?;
2437 } else {
2438 serialize_struct.skip_field("publishingPrinciples")?;
2439 }
2440 if !Vec::is_empty(&self.r#review) {
2441 serialize_struct.serialize_field("review", {
2442 struct SerializeWith<'a>(&'a Vec<ReviewProperty>);
2443 impl<'a> Serialize for SerializeWith<'a> {
2444 fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
2445 where
2446 S: Serializer,
2447 {
2448 serde_with::As::<serde_with::OneOrMany<serde_with::Same>>::serialize(
2449 self.0, serializer,
2450 )
2451 }
2452 }
2453 &SerializeWith(&self.r#review)
2454 })?;
2455 } else {
2456 serialize_struct.skip_field("review")?;
2457 }
2458 if !Vec::is_empty(&self.r#reviews) {
2459 serialize_struct.serialize_field("reviews", {
2460 struct SerializeWith<'a>(&'a Vec<ReviewsProperty>);
2461 impl<'a> Serialize for SerializeWith<'a> {
2462 fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
2463 where
2464 S: Serializer,
2465 {
2466 serde_with::As::<serde_with::OneOrMany<serde_with::Same>>::serialize(
2467 self.0, serializer,
2468 )
2469 }
2470 }
2471 &SerializeWith(&self.r#reviews)
2472 })?;
2473 } else {
2474 serialize_struct.skip_field("reviews")?;
2475 }
2476 if !Vec::is_empty(&self.r#seeks) {
2477 serialize_struct.serialize_field("seeks", {
2478 struct SerializeWith<'a>(&'a Vec<SeeksProperty>);
2479 impl<'a> Serialize for SerializeWith<'a> {
2480 fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
2481 where
2482 S: Serializer,
2483 {
2484 serde_with::As::<serde_with::OneOrMany<serde_with::Same>>::serialize(
2485 self.0, serializer,
2486 )
2487 }
2488 }
2489 &SerializeWith(&self.r#seeks)
2490 })?;
2491 } else {
2492 serialize_struct.skip_field("seeks")?;
2493 }
2494 if !Vec::is_empty(&self.r#service_area) {
2495 serialize_struct.serialize_field("serviceArea", {
2496 struct SerializeWith<'a>(&'a Vec<ServiceAreaProperty>);
2497 impl<'a> Serialize for SerializeWith<'a> {
2498 fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
2499 where
2500 S: Serializer,
2501 {
2502 serde_with::As::<serde_with::OneOrMany<serde_with::Same>>::serialize(
2503 self.0, serializer,
2504 )
2505 }
2506 }
2507 &SerializeWith(&self.r#service_area)
2508 })?;
2509 } else {
2510 serialize_struct.skip_field("serviceArea")?;
2511 }
2512 if !Vec::is_empty(&self.r#slogan) {
2513 serialize_struct.serialize_field("slogan", {
2514 struct SerializeWith<'a>(&'a Vec<SloganProperty>);
2515 impl<'a> Serialize for SerializeWith<'a> {
2516 fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
2517 where
2518 S: Serializer,
2519 {
2520 serde_with::As::<serde_with::OneOrMany<serde_with::Same>>::serialize(
2521 self.0, serializer,
2522 )
2523 }
2524 }
2525 &SerializeWith(&self.r#slogan)
2526 })?;
2527 } else {
2528 serialize_struct.skip_field("slogan")?;
2529 }
2530 if !Vec::is_empty(&self.r#sponsor) {
2531 serialize_struct.serialize_field("sponsor", {
2532 struct SerializeWith<'a>(&'a Vec<SponsorProperty>);
2533 impl<'a> Serialize for SerializeWith<'a> {
2534 fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
2535 where
2536 S: Serializer,
2537 {
2538 serde_with::As::<serde_with::OneOrMany<serde_with::Same>>::serialize(
2539 self.0, serializer,
2540 )
2541 }
2542 }
2543 &SerializeWith(&self.r#sponsor)
2544 })?;
2545 } else {
2546 serialize_struct.skip_field("sponsor")?;
2547 }
2548 if !Vec::is_empty(&self.r#sub_organization) {
2549 serialize_struct.serialize_field("subOrganization", {
2550 struct SerializeWith<'a>(&'a Vec<SubOrganizationProperty>);
2551 impl<'a> Serialize for SerializeWith<'a> {
2552 fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
2553 where
2554 S: Serializer,
2555 {
2556 serde_with::As::<serde_with::OneOrMany<serde_with::Same>>::serialize(
2557 self.0, serializer,
2558 )
2559 }
2560 }
2561 &SerializeWith(&self.r#sub_organization)
2562 })?;
2563 } else {
2564 serialize_struct.skip_field("subOrganization")?;
2565 }
2566 if !Vec::is_empty(&self.r#tax_id) {
2567 serialize_struct.serialize_field("taxID", {
2568 struct SerializeWith<'a>(&'a Vec<TaxIdProperty>);
2569 impl<'a> Serialize for SerializeWith<'a> {
2570 fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
2571 where
2572 S: Serializer,
2573 {
2574 serde_with::As::<serde_with::OneOrMany<serde_with::Same>>::serialize(
2575 self.0, serializer,
2576 )
2577 }
2578 }
2579 &SerializeWith(&self.r#tax_id)
2580 })?;
2581 } else {
2582 serialize_struct.skip_field("taxID")?;
2583 }
2584 if !Vec::is_empty(&self.r#telephone) {
2585 serialize_struct.serialize_field("telephone", {
2586 struct SerializeWith<'a>(&'a Vec<TelephoneProperty>);
2587 impl<'a> Serialize for SerializeWith<'a> {
2588 fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
2589 where
2590 S: Serializer,
2591 {
2592 serde_with::As::<serde_with::OneOrMany<serde_with::Same>>::serialize(
2593 self.0, serializer,
2594 )
2595 }
2596 }
2597 &SerializeWith(&self.r#telephone)
2598 })?;
2599 } else {
2600 serialize_struct.skip_field("telephone")?;
2601 }
2602 if !Vec::is_empty(&self.r#unnamed_sources_policy) {
2603 serialize_struct.serialize_field("unnamedSourcesPolicy", {
2604 struct SerializeWith<'a>(&'a Vec<UnnamedSourcesPolicyProperty>);
2605 impl<'a> Serialize for SerializeWith<'a> {
2606 fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
2607 where
2608 S: Serializer,
2609 {
2610 serde_with::As::<serde_with::OneOrMany<serde_with::Same>>::serialize(
2611 self.0, serializer,
2612 )
2613 }
2614 }
2615 &SerializeWith(&self.r#unnamed_sources_policy)
2616 })?;
2617 } else {
2618 serialize_struct.skip_field("unnamedSourcesPolicy")?;
2619 }
2620 if !Vec::is_empty(&self.r#vat_id) {
2621 serialize_struct.serialize_field("vatID", {
2622 struct SerializeWith<'a>(&'a Vec<VatIdProperty>);
2623 impl<'a> Serialize for SerializeWith<'a> {
2624 fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
2625 where
2626 S: Serializer,
2627 {
2628 serde_with::As::<serde_with::OneOrMany<serde_with::Same>>::serialize(
2629 self.0, serializer,
2630 )
2631 }
2632 }
2633 &SerializeWith(&self.r#vat_id)
2634 })?;
2635 } else {
2636 serialize_struct.skip_field("vatID")?;
2637 }
2638 if !Vec::is_empty(&self.r#additional_property) {
2639 serialize_struct.serialize_field("additionalProperty", {
2640 struct SerializeWith<'a>(&'a Vec<AdditionalPropertyProperty>);
2641 impl<'a> Serialize for SerializeWith<'a> {
2642 fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
2643 where
2644 S: Serializer,
2645 {
2646 serde_with::As::<serde_with::OneOrMany<serde_with::Same>>::serialize(
2647 self.0, serializer,
2648 )
2649 }
2650 }
2651 &SerializeWith(&self.r#additional_property)
2652 })?;
2653 } else {
2654 serialize_struct.skip_field("additionalProperty")?;
2655 }
2656 if !Vec::is_empty(&self.r#amenity_feature) {
2657 serialize_struct.serialize_field("amenityFeature", {
2658 struct SerializeWith<'a>(&'a Vec<AmenityFeatureProperty>);
2659 impl<'a> Serialize for SerializeWith<'a> {
2660 fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
2661 where
2662 S: Serializer,
2663 {
2664 serde_with::As::<serde_with::OneOrMany<serde_with::Same>>::serialize(
2665 self.0, serializer,
2666 )
2667 }
2668 }
2669 &SerializeWith(&self.r#amenity_feature)
2670 })?;
2671 } else {
2672 serialize_struct.skip_field("amenityFeature")?;
2673 }
2674 if !Vec::is_empty(&self.r#branch_code) {
2675 serialize_struct.serialize_field("branchCode", {
2676 struct SerializeWith<'a>(&'a Vec<BranchCodeProperty>);
2677 impl<'a> Serialize for SerializeWith<'a> {
2678 fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
2679 where
2680 S: Serializer,
2681 {
2682 serde_with::As::<serde_with::OneOrMany<serde_with::Same>>::serialize(
2683 self.0, serializer,
2684 )
2685 }
2686 }
2687 &SerializeWith(&self.r#branch_code)
2688 })?;
2689 } else {
2690 serialize_struct.skip_field("branchCode")?;
2691 }
2692 if !Vec::is_empty(&self.r#contained_in) {
2693 serialize_struct.serialize_field("containedIn", {
2694 struct SerializeWith<'a>(&'a Vec<ContainedInProperty>);
2695 impl<'a> Serialize for SerializeWith<'a> {
2696 fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
2697 where
2698 S: Serializer,
2699 {
2700 serde_with::As::<serde_with::OneOrMany<serde_with::Same>>::serialize(
2701 self.0, serializer,
2702 )
2703 }
2704 }
2705 &SerializeWith(&self.r#contained_in)
2706 })?;
2707 } else {
2708 serialize_struct.skip_field("containedIn")?;
2709 }
2710 if !Vec::is_empty(&self.r#contained_in_place) {
2711 serialize_struct.serialize_field("containedInPlace", {
2712 struct SerializeWith<'a>(&'a Vec<ContainedInPlaceProperty>);
2713 impl<'a> Serialize for SerializeWith<'a> {
2714 fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
2715 where
2716 S: Serializer,
2717 {
2718 serde_with::As::<serde_with::OneOrMany<serde_with::Same>>::serialize(
2719 self.0, serializer,
2720 )
2721 }
2722 }
2723 &SerializeWith(&self.r#contained_in_place)
2724 })?;
2725 } else {
2726 serialize_struct.skip_field("containedInPlace")?;
2727 }
2728 if !Vec::is_empty(&self.r#contains_place) {
2729 serialize_struct.serialize_field("containsPlace", {
2730 struct SerializeWith<'a>(&'a Vec<ContainsPlaceProperty>);
2731 impl<'a> Serialize for SerializeWith<'a> {
2732 fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
2733 where
2734 S: Serializer,
2735 {
2736 serde_with::As::<serde_with::OneOrMany<serde_with::Same>>::serialize(
2737 self.0, serializer,
2738 )
2739 }
2740 }
2741 &SerializeWith(&self.r#contains_place)
2742 })?;
2743 } else {
2744 serialize_struct.skip_field("containsPlace")?;
2745 }
2746 if !Vec::is_empty(&self.r#geo) {
2747 serialize_struct.serialize_field("geo", {
2748 struct SerializeWith<'a>(&'a Vec<GeoProperty>);
2749 impl<'a> Serialize for SerializeWith<'a> {
2750 fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
2751 where
2752 S: Serializer,
2753 {
2754 serde_with::As::<serde_with::OneOrMany<serde_with::Same>>::serialize(
2755 self.0, serializer,
2756 )
2757 }
2758 }
2759 &SerializeWith(&self.r#geo)
2760 })?;
2761 } else {
2762 serialize_struct.skip_field("geo")?;
2763 }
2764 if !Vec::is_empty(&self.r#geo_contains) {
2765 serialize_struct.serialize_field("geoContains", {
2766 struct SerializeWith<'a>(&'a Vec<GeoContainsProperty>);
2767 impl<'a> Serialize for SerializeWith<'a> {
2768 fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
2769 where
2770 S: Serializer,
2771 {
2772 serde_with::As::<serde_with::OneOrMany<serde_with::Same>>::serialize(
2773 self.0, serializer,
2774 )
2775 }
2776 }
2777 &SerializeWith(&self.r#geo_contains)
2778 })?;
2779 } else {
2780 serialize_struct.skip_field("geoContains")?;
2781 }
2782 if !Vec::is_empty(&self.r#geo_covered_by) {
2783 serialize_struct.serialize_field("geoCoveredBy", {
2784 struct SerializeWith<'a>(&'a Vec<GeoCoveredByProperty>);
2785 impl<'a> Serialize for SerializeWith<'a> {
2786 fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
2787 where
2788 S: Serializer,
2789 {
2790 serde_with::As::<serde_with::OneOrMany<serde_with::Same>>::serialize(
2791 self.0, serializer,
2792 )
2793 }
2794 }
2795 &SerializeWith(&self.r#geo_covered_by)
2796 })?;
2797 } else {
2798 serialize_struct.skip_field("geoCoveredBy")?;
2799 }
2800 if !Vec::is_empty(&self.r#geo_covers) {
2801 serialize_struct.serialize_field("geoCovers", {
2802 struct SerializeWith<'a>(&'a Vec<GeoCoversProperty>);
2803 impl<'a> Serialize for SerializeWith<'a> {
2804 fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
2805 where
2806 S: Serializer,
2807 {
2808 serde_with::As::<serde_with::OneOrMany<serde_with::Same>>::serialize(
2809 self.0, serializer,
2810 )
2811 }
2812 }
2813 &SerializeWith(&self.r#geo_covers)
2814 })?;
2815 } else {
2816 serialize_struct.skip_field("geoCovers")?;
2817 }
2818 if !Vec::is_empty(&self.r#geo_crosses) {
2819 serialize_struct.serialize_field("geoCrosses", {
2820 struct SerializeWith<'a>(&'a Vec<GeoCrossesProperty>);
2821 impl<'a> Serialize for SerializeWith<'a> {
2822 fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
2823 where
2824 S: Serializer,
2825 {
2826 serde_with::As::<serde_with::OneOrMany<serde_with::Same>>::serialize(
2827 self.0, serializer,
2828 )
2829 }
2830 }
2831 &SerializeWith(&self.r#geo_crosses)
2832 })?;
2833 } else {
2834 serialize_struct.skip_field("geoCrosses")?;
2835 }
2836 if !Vec::is_empty(&self.r#geo_disjoint) {
2837 serialize_struct.serialize_field("geoDisjoint", {
2838 struct SerializeWith<'a>(&'a Vec<GeoDisjointProperty>);
2839 impl<'a> Serialize for SerializeWith<'a> {
2840 fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
2841 where
2842 S: Serializer,
2843 {
2844 serde_with::As::<serde_with::OneOrMany<serde_with::Same>>::serialize(
2845 self.0, serializer,
2846 )
2847 }
2848 }
2849 &SerializeWith(&self.r#geo_disjoint)
2850 })?;
2851 } else {
2852 serialize_struct.skip_field("geoDisjoint")?;
2853 }
2854 if !Vec::is_empty(&self.r#geo_equals) {
2855 serialize_struct.serialize_field("geoEquals", {
2856 struct SerializeWith<'a>(&'a Vec<GeoEqualsProperty>);
2857 impl<'a> Serialize for SerializeWith<'a> {
2858 fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
2859 where
2860 S: Serializer,
2861 {
2862 serde_with::As::<serde_with::OneOrMany<serde_with::Same>>::serialize(
2863 self.0, serializer,
2864 )
2865 }
2866 }
2867 &SerializeWith(&self.r#geo_equals)
2868 })?;
2869 } else {
2870 serialize_struct.skip_field("geoEquals")?;
2871 }
2872 if !Vec::is_empty(&self.r#geo_intersects) {
2873 serialize_struct.serialize_field("geoIntersects", {
2874 struct SerializeWith<'a>(&'a Vec<GeoIntersectsProperty>);
2875 impl<'a> Serialize for SerializeWith<'a> {
2876 fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
2877 where
2878 S: Serializer,
2879 {
2880 serde_with::As::<serde_with::OneOrMany<serde_with::Same>>::serialize(
2881 self.0, serializer,
2882 )
2883 }
2884 }
2885 &SerializeWith(&self.r#geo_intersects)
2886 })?;
2887 } else {
2888 serialize_struct.skip_field("geoIntersects")?;
2889 }
2890 if !Vec::is_empty(&self.r#geo_overlaps) {
2891 serialize_struct.serialize_field("geoOverlaps", {
2892 struct SerializeWith<'a>(&'a Vec<GeoOverlapsProperty>);
2893 impl<'a> Serialize for SerializeWith<'a> {
2894 fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
2895 where
2896 S: Serializer,
2897 {
2898 serde_with::As::<serde_with::OneOrMany<serde_with::Same>>::serialize(
2899 self.0, serializer,
2900 )
2901 }
2902 }
2903 &SerializeWith(&self.r#geo_overlaps)
2904 })?;
2905 } else {
2906 serialize_struct.skip_field("geoOverlaps")?;
2907 }
2908 if !Vec::is_empty(&self.r#geo_touches) {
2909 serialize_struct.serialize_field("geoTouches", {
2910 struct SerializeWith<'a>(&'a Vec<GeoTouchesProperty>);
2911 impl<'a> Serialize for SerializeWith<'a> {
2912 fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
2913 where
2914 S: Serializer,
2915 {
2916 serde_with::As::<serde_with::OneOrMany<serde_with::Same>>::serialize(
2917 self.0, serializer,
2918 )
2919 }
2920 }
2921 &SerializeWith(&self.r#geo_touches)
2922 })?;
2923 } else {
2924 serialize_struct.skip_field("geoTouches")?;
2925 }
2926 if !Vec::is_empty(&self.r#geo_within) {
2927 serialize_struct.serialize_field("geoWithin", {
2928 struct SerializeWith<'a>(&'a Vec<GeoWithinProperty>);
2929 impl<'a> Serialize for SerializeWith<'a> {
2930 fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
2931 where
2932 S: Serializer,
2933 {
2934 serde_with::As::<serde_with::OneOrMany<serde_with::Same>>::serialize(
2935 self.0, serializer,
2936 )
2937 }
2938 }
2939 &SerializeWith(&self.r#geo_within)
2940 })?;
2941 } else {
2942 serialize_struct.skip_field("geoWithin")?;
2943 }
2944 if !Vec::is_empty(&self.r#has_drive_through_service) {
2945 serialize_struct.serialize_field("hasDriveThroughService", {
2946 struct SerializeWith<'a>(&'a Vec<HasDriveThroughServiceProperty>);
2947 impl<'a> Serialize for SerializeWith<'a> {
2948 fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
2949 where
2950 S: Serializer,
2951 {
2952 serde_with::As::<serde_with::OneOrMany<serde_with::Same>>::serialize(
2953 self.0, serializer,
2954 )
2955 }
2956 }
2957 &SerializeWith(&self.r#has_drive_through_service)
2958 })?;
2959 } else {
2960 serialize_struct.skip_field("hasDriveThroughService")?;
2961 }
2962 if !Vec::is_empty(&self.r#has_map) {
2963 serialize_struct.serialize_field("hasMap", {
2964 struct SerializeWith<'a>(&'a Vec<HasMapProperty>);
2965 impl<'a> Serialize for SerializeWith<'a> {
2966 fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
2967 where
2968 S: Serializer,
2969 {
2970 serde_with::As::<serde_with::OneOrMany<serde_with::Same>>::serialize(
2971 self.0, serializer,
2972 )
2973 }
2974 }
2975 &SerializeWith(&self.r#has_map)
2976 })?;
2977 } else {
2978 serialize_struct.skip_field("hasMap")?;
2979 }
2980 if !Vec::is_empty(&self.r#is_accessible_for_free) {
2981 serialize_struct.serialize_field("isAccessibleForFree", {
2982 struct SerializeWith<'a>(&'a Vec<IsAccessibleForFreeProperty>);
2983 impl<'a> Serialize for SerializeWith<'a> {
2984 fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
2985 where
2986 S: Serializer,
2987 {
2988 serde_with::As::<serde_with::OneOrMany<serde_with::Same>>::serialize(
2989 self.0, serializer,
2990 )
2991 }
2992 }
2993 &SerializeWith(&self.r#is_accessible_for_free)
2994 })?;
2995 } else {
2996 serialize_struct.skip_field("isAccessibleForFree")?;
2997 }
2998 if !Vec::is_empty(&self.r#latitude) {
2999 serialize_struct.serialize_field("latitude", {
3000 struct SerializeWith<'a>(&'a Vec<LatitudeProperty>);
3001 impl<'a> Serialize for SerializeWith<'a> {
3002 fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
3003 where
3004 S: Serializer,
3005 {
3006 serde_with::As::<serde_with::OneOrMany<serde_with::Same>>::serialize(
3007 self.0, serializer,
3008 )
3009 }
3010 }
3011 &SerializeWith(&self.r#latitude)
3012 })?;
3013 } else {
3014 serialize_struct.skip_field("latitude")?;
3015 }
3016 if !Vec::is_empty(&self.r#longitude) {
3017 serialize_struct.serialize_field("longitude", {
3018 struct SerializeWith<'a>(&'a Vec<LongitudeProperty>);
3019 impl<'a> Serialize for SerializeWith<'a> {
3020 fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
3021 where
3022 S: Serializer,
3023 {
3024 serde_with::As::<serde_with::OneOrMany<serde_with::Same>>::serialize(
3025 self.0, serializer,
3026 )
3027 }
3028 }
3029 &SerializeWith(&self.r#longitude)
3030 })?;
3031 } else {
3032 serialize_struct.skip_field("longitude")?;
3033 }
3034 if !Vec::is_empty(&self.r#map) {
3035 serialize_struct.serialize_field("map", {
3036 struct SerializeWith<'a>(&'a Vec<MapProperty>);
3037 impl<'a> Serialize for SerializeWith<'a> {
3038 fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
3039 where
3040 S: Serializer,
3041 {
3042 serde_with::As::<serde_with::OneOrMany<serde_with::Same>>::serialize(
3043 self.0, serializer,
3044 )
3045 }
3046 }
3047 &SerializeWith(&self.r#map)
3048 })?;
3049 } else {
3050 serialize_struct.skip_field("map")?;
3051 }
3052 if !Vec::is_empty(&self.r#maps) {
3053 serialize_struct.serialize_field("maps", {
3054 struct SerializeWith<'a>(&'a Vec<MapsProperty>);
3055 impl<'a> Serialize for SerializeWith<'a> {
3056 fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
3057 where
3058 S: Serializer,
3059 {
3060 serde_with::As::<serde_with::OneOrMany<serde_with::Same>>::serialize(
3061 self.0, serializer,
3062 )
3063 }
3064 }
3065 &SerializeWith(&self.r#maps)
3066 })?;
3067 } else {
3068 serialize_struct.skip_field("maps")?;
3069 }
3070 if !Vec::is_empty(&self.r#maximum_attendee_capacity) {
3071 serialize_struct.serialize_field("maximumAttendeeCapacity", {
3072 struct SerializeWith<'a>(&'a Vec<MaximumAttendeeCapacityProperty>);
3073 impl<'a> Serialize for SerializeWith<'a> {
3074 fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
3075 where
3076 S: Serializer,
3077 {
3078 serde_with::As::<serde_with::OneOrMany<serde_with::Same>>::serialize(
3079 self.0, serializer,
3080 )
3081 }
3082 }
3083 &SerializeWith(&self.r#maximum_attendee_capacity)
3084 })?;
3085 } else {
3086 serialize_struct.skip_field("maximumAttendeeCapacity")?;
3087 }
3088 if !Vec::is_empty(&self.r#opening_hours_specification) {
3089 serialize_struct.serialize_field("openingHoursSpecification", {
3090 struct SerializeWith<'a>(&'a Vec<OpeningHoursSpecificationProperty>);
3091 impl<'a> Serialize for SerializeWith<'a> {
3092 fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
3093 where
3094 S: Serializer,
3095 {
3096 serde_with::As::<serde_with::OneOrMany<serde_with::Same>>::serialize(
3097 self.0, serializer,
3098 )
3099 }
3100 }
3101 &SerializeWith(&self.r#opening_hours_specification)
3102 })?;
3103 } else {
3104 serialize_struct.skip_field("openingHoursSpecification")?;
3105 }
3106 if !Vec::is_empty(&self.r#photo) {
3107 serialize_struct.serialize_field("photo", {
3108 struct SerializeWith<'a>(&'a Vec<PhotoProperty>);
3109 impl<'a> Serialize for SerializeWith<'a> {
3110 fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
3111 where
3112 S: Serializer,
3113 {
3114 serde_with::As::<serde_with::OneOrMany<serde_with::Same>>::serialize(
3115 self.0, serializer,
3116 )
3117 }
3118 }
3119 &SerializeWith(&self.r#photo)
3120 })?;
3121 } else {
3122 serialize_struct.skip_field("photo")?;
3123 }
3124 if !Vec::is_empty(&self.r#photos) {
3125 serialize_struct.serialize_field("photos", {
3126 struct SerializeWith<'a>(&'a Vec<PhotosProperty>);
3127 impl<'a> Serialize for SerializeWith<'a> {
3128 fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
3129 where
3130 S: Serializer,
3131 {
3132 serde_with::As::<serde_with::OneOrMany<serde_with::Same>>::serialize(
3133 self.0, serializer,
3134 )
3135 }
3136 }
3137 &SerializeWith(&self.r#photos)
3138 })?;
3139 } else {
3140 serialize_struct.skip_field("photos")?;
3141 }
3142 if !Vec::is_empty(&self.r#public_access) {
3143 serialize_struct.serialize_field("publicAccess", {
3144 struct SerializeWith<'a>(&'a Vec<PublicAccessProperty>);
3145 impl<'a> Serialize for SerializeWith<'a> {
3146 fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
3147 where
3148 S: Serializer,
3149 {
3150 serde_with::As::<serde_with::OneOrMany<serde_with::Same>>::serialize(
3151 self.0, serializer,
3152 )
3153 }
3154 }
3155 &SerializeWith(&self.r#public_access)
3156 })?;
3157 } else {
3158 serialize_struct.skip_field("publicAccess")?;
3159 }
3160 if !Vec::is_empty(&self.r#smoking_allowed) {
3161 serialize_struct.serialize_field("smokingAllowed", {
3162 struct SerializeWith<'a>(&'a Vec<SmokingAllowedProperty>);
3163 impl<'a> Serialize for SerializeWith<'a> {
3164 fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
3165 where
3166 S: Serializer,
3167 {
3168 serde_with::As::<serde_with::OneOrMany<serde_with::Same>>::serialize(
3169 self.0, serializer,
3170 )
3171 }
3172 }
3173 &SerializeWith(&self.r#smoking_allowed)
3174 })?;
3175 } else {
3176 serialize_struct.skip_field("smokingAllowed")?;
3177 }
3178 if !Vec::is_empty(&self.r#special_opening_hours_specification) {
3179 serialize_struct.serialize_field("specialOpeningHoursSpecification", {
3180 struct SerializeWith<'a>(&'a Vec<SpecialOpeningHoursSpecificationProperty>);
3181 impl<'a> Serialize for SerializeWith<'a> {
3182 fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
3183 where
3184 S: Serializer,
3185 {
3186 serde_with::As::<serde_with::OneOrMany<serde_with::Same>>::serialize(
3187 self.0, serializer,
3188 )
3189 }
3190 }
3191 &SerializeWith(&self.r#special_opening_hours_specification)
3192 })?;
3193 } else {
3194 serialize_struct.skip_field("specialOpeningHoursSpecification")?;
3195 }
3196 if !Vec::is_empty(&self.r#tour_booking_page) {
3197 serialize_struct.serialize_field("tourBookingPage", {
3198 struct SerializeWith<'a>(&'a Vec<TourBookingPageProperty>);
3199 impl<'a> Serialize for SerializeWith<'a> {
3200 fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
3201 where
3202 S: Serializer,
3203 {
3204 serde_with::As::<serde_with::OneOrMany<serde_with::Same>>::serialize(
3205 self.0, serializer,
3206 )
3207 }
3208 }
3209 &SerializeWith(&self.r#tour_booking_page)
3210 })?;
3211 } else {
3212 serialize_struct.skip_field("tourBookingPage")?;
3213 }
3214 if !Vec::is_empty(&self.r#additional_type) {
3215 serialize_struct.serialize_field("additionalType", {
3216 struct SerializeWith<'a>(&'a Vec<AdditionalTypeProperty>);
3217 impl<'a> Serialize for SerializeWith<'a> {
3218 fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
3219 where
3220 S: Serializer,
3221 {
3222 serde_with::As::<serde_with::OneOrMany<serde_with::Same>>::serialize(
3223 self.0, serializer,
3224 )
3225 }
3226 }
3227 &SerializeWith(&self.r#additional_type)
3228 })?;
3229 } else {
3230 serialize_struct.skip_field("additionalType")?;
3231 }
3232 if !Vec::is_empty(&self.r#alternate_name) {
3233 serialize_struct.serialize_field("alternateName", {
3234 struct SerializeWith<'a>(&'a Vec<AlternateNameProperty>);
3235 impl<'a> Serialize for SerializeWith<'a> {
3236 fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
3237 where
3238 S: Serializer,
3239 {
3240 serde_with::As::<serde_with::OneOrMany<serde_with::Same>>::serialize(
3241 self.0, serializer,
3242 )
3243 }
3244 }
3245 &SerializeWith(&self.r#alternate_name)
3246 })?;
3247 } else {
3248 serialize_struct.skip_field("alternateName")?;
3249 }
3250 if !Vec::is_empty(&self.r#description) {
3251 serialize_struct.serialize_field("description", {
3252 struct SerializeWith<'a>(&'a Vec<DescriptionProperty>);
3253 impl<'a> Serialize for SerializeWith<'a> {
3254 fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
3255 where
3256 S: Serializer,
3257 {
3258 serde_with::As::<serde_with::OneOrMany<serde_with::Same>>::serialize(
3259 self.0, serializer,
3260 )
3261 }
3262 }
3263 &SerializeWith(&self.r#description)
3264 })?;
3265 } else {
3266 serialize_struct.skip_field("description")?;
3267 }
3268 if !Vec::is_empty(&self.r#disambiguating_description) {
3269 serialize_struct.serialize_field("disambiguatingDescription", {
3270 struct SerializeWith<'a>(&'a Vec<DisambiguatingDescriptionProperty>);
3271 impl<'a> Serialize for SerializeWith<'a> {
3272 fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
3273 where
3274 S: Serializer,
3275 {
3276 serde_with::As::<serde_with::OneOrMany<serde_with::Same>>::serialize(
3277 self.0, serializer,
3278 )
3279 }
3280 }
3281 &SerializeWith(&self.r#disambiguating_description)
3282 })?;
3283 } else {
3284 serialize_struct.skip_field("disambiguatingDescription")?;
3285 }
3286 if !Vec::is_empty(&self.r#identifier) {
3287 serialize_struct.serialize_field("identifier", {
3288 struct SerializeWith<'a>(&'a Vec<IdentifierProperty>);
3289 impl<'a> Serialize for SerializeWith<'a> {
3290 fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
3291 where
3292 S: Serializer,
3293 {
3294 serde_with::As::<serde_with::OneOrMany<serde_with::Same>>::serialize(
3295 self.0, serializer,
3296 )
3297 }
3298 }
3299 &SerializeWith(&self.r#identifier)
3300 })?;
3301 } else {
3302 serialize_struct.skip_field("identifier")?;
3303 }
3304 if !Vec::is_empty(&self.r#image) {
3305 serialize_struct.serialize_field("image", {
3306 struct SerializeWith<'a>(&'a Vec<ImageProperty>);
3307 impl<'a> Serialize for SerializeWith<'a> {
3308 fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
3309 where
3310 S: Serializer,
3311 {
3312 serde_with::As::<serde_with::OneOrMany<serde_with::Same>>::serialize(
3313 self.0, serializer,
3314 )
3315 }
3316 }
3317 &SerializeWith(&self.r#image)
3318 })?;
3319 } else {
3320 serialize_struct.skip_field("image")?;
3321 }
3322 if !Vec::is_empty(&self.r#main_entity_of_page) {
3323 serialize_struct.serialize_field("mainEntityOfPage", {
3324 struct SerializeWith<'a>(&'a Vec<MainEntityOfPageProperty>);
3325 impl<'a> Serialize for SerializeWith<'a> {
3326 fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
3327 where
3328 S: Serializer,
3329 {
3330 serde_with::As::<serde_with::OneOrMany<serde_with::Same>>::serialize(
3331 self.0, serializer,
3332 )
3333 }
3334 }
3335 &SerializeWith(&self.r#main_entity_of_page)
3336 })?;
3337 } else {
3338 serialize_struct.skip_field("mainEntityOfPage")?;
3339 }
3340 if !Vec::is_empty(&self.r#name) {
3341 serialize_struct.serialize_field("name", {
3342 struct SerializeWith<'a>(&'a Vec<NameProperty>);
3343 impl<'a> Serialize for SerializeWith<'a> {
3344 fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
3345 where
3346 S: Serializer,
3347 {
3348 serde_with::As::<serde_with::OneOrMany<serde_with::Same>>::serialize(
3349 self.0, serializer,
3350 )
3351 }
3352 }
3353 &SerializeWith(&self.r#name)
3354 })?;
3355 } else {
3356 serialize_struct.skip_field("name")?;
3357 }
3358 if !Vec::is_empty(&self.r#potential_action) {
3359 serialize_struct.serialize_field("potentialAction", {
3360 struct SerializeWith<'a>(&'a Vec<PotentialActionProperty>);
3361 impl<'a> Serialize for SerializeWith<'a> {
3362 fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
3363 where
3364 S: Serializer,
3365 {
3366 serde_with::As::<serde_with::OneOrMany<serde_with::Same>>::serialize(
3367 self.0, serializer,
3368 )
3369 }
3370 }
3371 &SerializeWith(&self.r#potential_action)
3372 })?;
3373 } else {
3374 serialize_struct.skip_field("potentialAction")?;
3375 }
3376 if !Vec::is_empty(&self.r#same_as) {
3377 serialize_struct.serialize_field("sameAs", {
3378 struct SerializeWith<'a>(&'a Vec<SameAsProperty>);
3379 impl<'a> Serialize for SerializeWith<'a> {
3380 fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
3381 where
3382 S: Serializer,
3383 {
3384 serde_with::As::<serde_with::OneOrMany<serde_with::Same>>::serialize(
3385 self.0, serializer,
3386 )
3387 }
3388 }
3389 &SerializeWith(&self.r#same_as)
3390 })?;
3391 } else {
3392 serialize_struct.skip_field("sameAs")?;
3393 }
3394 if !Vec::is_empty(&self.r#subject_of) {
3395 serialize_struct.serialize_field("subjectOf", {
3396 struct SerializeWith<'a>(&'a Vec<SubjectOfProperty>);
3397 impl<'a> Serialize for SerializeWith<'a> {
3398 fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
3399 where
3400 S: Serializer,
3401 {
3402 serde_with::As::<serde_with::OneOrMany<serde_with::Same>>::serialize(
3403 self.0, serializer,
3404 )
3405 }
3406 }
3407 &SerializeWith(&self.r#subject_of)
3408 })?;
3409 } else {
3410 serialize_struct.skip_field("subjectOf")?;
3411 }
3412 if !Vec::is_empty(&self.r#url) {
3413 serialize_struct.serialize_field("url", {
3414 struct SerializeWith<'a>(&'a Vec<UrlProperty>);
3415 impl<'a> Serialize for SerializeWith<'a> {
3416 fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
3417 where
3418 S: Serializer,
3419 {
3420 serde_with::As::<serde_with::OneOrMany<serde_with::Same>>::serialize(
3421 self.0, serializer,
3422 )
3423 }
3424 }
3425 &SerializeWith(&self.r#url)
3426 })?;
3427 } else {
3428 serialize_struct.skip_field("url")?;
3429 }
3430 serialize_struct.end()
3431 }
3432 }
3433 impl<'de> Deserialize<'de> for Bakery {
3434 fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
3435 where
3436 D: Deserializer<'de>,
3437 {
3438 enum Field {
3439 AcceptsReservations,
3440 HasMenu,
3441 Menu,
3442 ServesCuisine,
3443 StarRating,
3444 BranchOf,
3445 CurrenciesAccepted,
3446 OpeningHours,
3447 PaymentAccepted,
3448 PriceRange,
3449 ActionableFeedbackPolicy,
3450 Address,
3451 AgentInteractionStatistic,
3452 AggregateRating,
3453 Alumni,
3454 AreaServed,
3455 Award,
3456 Awards,
3457 Brand,
3458 ContactPoint,
3459 ContactPoints,
3460 CorrectionsPolicy,
3461 Department,
3462 DissolutionDate,
3463 DiversityPolicy,
3464 DiversityStaffingReport,
3465 Duns,
3466 Email,
3467 Employee,
3468 Employees,
3469 EthicsPolicy,
3470 Event,
3471 Events,
3472 FaxNumber,
3473 Founder,
3474 Founders,
3475 FoundingDate,
3476 FoundingLocation,
3477 Funder,
3478 Funding,
3479 GlobalLocationNumber,
3480 HasCredential,
3481 HasMerchantReturnPolicy,
3482 HasOfferCatalog,
3483 HasPos,
3484 HasProductReturnPolicy,
3485 InteractionStatistic,
3486 IsicV4,
3487 Iso6523Code,
3488 Keywords,
3489 KnowsAbout,
3490 KnowsLanguage,
3491 LegalName,
3492 LeiCode,
3493 Location,
3494 Logo,
3495 MakesOffer,
3496 Member,
3497 MemberOf,
3498 Members,
3499 Naics,
3500 NonprofitStatus,
3501 NumberOfEmployees,
3502 OwnershipFundingInfo,
3503 Owns,
3504 ParentOrganization,
3505 PublishingPrinciples,
3506 Review,
3507 Reviews,
3508 Seeks,
3509 ServiceArea,
3510 Slogan,
3511 Sponsor,
3512 SubOrganization,
3513 TaxId,
3514 Telephone,
3515 UnnamedSourcesPolicy,
3516 VatId,
3517 AdditionalProperty,
3518 AmenityFeature,
3519 BranchCode,
3520 ContainedIn,
3521 ContainedInPlace,
3522 ContainsPlace,
3523 Geo,
3524 GeoContains,
3525 GeoCoveredBy,
3526 GeoCovers,
3527 GeoCrosses,
3528 GeoDisjoint,
3529 GeoEquals,
3530 GeoIntersects,
3531 GeoOverlaps,
3532 GeoTouches,
3533 GeoWithin,
3534 HasDriveThroughService,
3535 HasMap,
3536 IsAccessibleForFree,
3537 Latitude,
3538 Longitude,
3539 Map,
3540 Maps,
3541 MaximumAttendeeCapacity,
3542 OpeningHoursSpecification,
3543 Photo,
3544 Photos,
3545 PublicAccess,
3546 SmokingAllowed,
3547 SpecialOpeningHoursSpecification,
3548 TourBookingPage,
3549 AdditionalType,
3550 AlternateName,
3551 Description,
3552 DisambiguatingDescription,
3553 Identifier,
3554 Image,
3555 MainEntityOfPage,
3556 Name,
3557 PotentialAction,
3558 SameAs,
3559 SubjectOf,
3560 Url,
3561 Ignore,
3562 }
3563 struct FieldVisitor;
3564 impl<'de> Visitor<'de> for FieldVisitor {
3565 type Value = Field;
3566 fn expecting(&self, formatter: &mut Formatter) -> fmt::Result {
3567 formatter.write_str("field identifier")
3568 }
3569 fn visit_str<E>(self, value: &str) -> Result<Self::Value, E>
3570 where
3571 E: de::Error,
3572 {
3573 match value {
3574 "acceptsReservations" => Ok(Field::AcceptsReservations),
3575 "hasMenu" => Ok(Field::HasMenu),
3576 "menu" => Ok(Field::Menu),
3577 "servesCuisine" => Ok(Field::ServesCuisine),
3578 "starRating" => Ok(Field::StarRating),
3579 "branchOf" => Ok(Field::BranchOf),
3580 "currenciesAccepted" => Ok(Field::CurrenciesAccepted),
3581 "openingHours" => Ok(Field::OpeningHours),
3582 "paymentAccepted" => Ok(Field::PaymentAccepted),
3583 "priceRange" => Ok(Field::PriceRange),
3584 "actionableFeedbackPolicy" => Ok(Field::ActionableFeedbackPolicy),
3585 "address" => Ok(Field::Address),
3586 "agentInteractionStatistic" => Ok(Field::AgentInteractionStatistic),
3587 "aggregateRating" => Ok(Field::AggregateRating),
3588 "alumni" => Ok(Field::Alumni),
3589 "areaServed" => Ok(Field::AreaServed),
3590 "award" => Ok(Field::Award),
3591 "awards" => Ok(Field::Awards),
3592 "brand" => Ok(Field::Brand),
3593 "contactPoint" => Ok(Field::ContactPoint),
3594 "contactPoints" => Ok(Field::ContactPoints),
3595 "correctionsPolicy" => Ok(Field::CorrectionsPolicy),
3596 "department" => Ok(Field::Department),
3597 "dissolutionDate" => Ok(Field::DissolutionDate),
3598 "diversityPolicy" => Ok(Field::DiversityPolicy),
3599 "diversityStaffingReport" => Ok(Field::DiversityStaffingReport),
3600 "duns" => Ok(Field::Duns),
3601 "email" => Ok(Field::Email),
3602 "employee" => Ok(Field::Employee),
3603 "employees" => Ok(Field::Employees),
3604 "ethicsPolicy" => Ok(Field::EthicsPolicy),
3605 "event" => Ok(Field::Event),
3606 "events" => Ok(Field::Events),
3607 "faxNumber" => Ok(Field::FaxNumber),
3608 "founder" => Ok(Field::Founder),
3609 "founders" => Ok(Field::Founders),
3610 "foundingDate" => Ok(Field::FoundingDate),
3611 "foundingLocation" => Ok(Field::FoundingLocation),
3612 "funder" => Ok(Field::Funder),
3613 "funding" => Ok(Field::Funding),
3614 "globalLocationNumber" => Ok(Field::GlobalLocationNumber),
3615 "hasCredential" => Ok(Field::HasCredential),
3616 "hasMerchantReturnPolicy" => Ok(Field::HasMerchantReturnPolicy),
3617 "hasOfferCatalog" => Ok(Field::HasOfferCatalog),
3618 "hasPOS" => Ok(Field::HasPos),
3619 "hasProductReturnPolicy" => Ok(Field::HasProductReturnPolicy),
3620 "interactionStatistic" => Ok(Field::InteractionStatistic),
3621 "isicV4" => Ok(Field::IsicV4),
3622 "iso6523Code" => Ok(Field::Iso6523Code),
3623 "keywords" => Ok(Field::Keywords),
3624 "knowsAbout" => Ok(Field::KnowsAbout),
3625 "knowsLanguage" => Ok(Field::KnowsLanguage),
3626 "legalName" => Ok(Field::LegalName),
3627 "leiCode" => Ok(Field::LeiCode),
3628 "location" => Ok(Field::Location),
3629 "logo" => Ok(Field::Logo),
3630 "makesOffer" => Ok(Field::MakesOffer),
3631 "member" => Ok(Field::Member),
3632 "memberOf" => Ok(Field::MemberOf),
3633 "members" => Ok(Field::Members),
3634 "naics" => Ok(Field::Naics),
3635 "nonprofitStatus" => Ok(Field::NonprofitStatus),
3636 "numberOfEmployees" => Ok(Field::NumberOfEmployees),
3637 "ownershipFundingInfo" => Ok(Field::OwnershipFundingInfo),
3638 "owns" => Ok(Field::Owns),
3639 "parentOrganization" => Ok(Field::ParentOrganization),
3640 "publishingPrinciples" => Ok(Field::PublishingPrinciples),
3641 "review" => Ok(Field::Review),
3642 "reviews" => Ok(Field::Reviews),
3643 "seeks" => Ok(Field::Seeks),
3644 "serviceArea" => Ok(Field::ServiceArea),
3645 "slogan" => Ok(Field::Slogan),
3646 "sponsor" => Ok(Field::Sponsor),
3647 "subOrganization" => Ok(Field::SubOrganization),
3648 "taxID" => Ok(Field::TaxId),
3649 "telephone" => Ok(Field::Telephone),
3650 "unnamedSourcesPolicy" => Ok(Field::UnnamedSourcesPolicy),
3651 "vatID" => Ok(Field::VatId),
3652 "additionalProperty" => Ok(Field::AdditionalProperty),
3653 "amenityFeature" => Ok(Field::AmenityFeature),
3654 "branchCode" => Ok(Field::BranchCode),
3655 "containedIn" => Ok(Field::ContainedIn),
3656 "containedInPlace" => Ok(Field::ContainedInPlace),
3657 "containsPlace" => Ok(Field::ContainsPlace),
3658 "geo" => Ok(Field::Geo),
3659 "geoContains" => Ok(Field::GeoContains),
3660 "geoCoveredBy" => Ok(Field::GeoCoveredBy),
3661 "geoCovers" => Ok(Field::GeoCovers),
3662 "geoCrosses" => Ok(Field::GeoCrosses),
3663 "geoDisjoint" => Ok(Field::GeoDisjoint),
3664 "geoEquals" => Ok(Field::GeoEquals),
3665 "geoIntersects" => Ok(Field::GeoIntersects),
3666 "geoOverlaps" => Ok(Field::GeoOverlaps),
3667 "geoTouches" => Ok(Field::GeoTouches),
3668 "geoWithin" => Ok(Field::GeoWithin),
3669 "hasDriveThroughService" => Ok(Field::HasDriveThroughService),
3670 "hasMap" => Ok(Field::HasMap),
3671 "isAccessibleForFree" => Ok(Field::IsAccessibleForFree),
3672 "latitude" => Ok(Field::Latitude),
3673 "longitude" => Ok(Field::Longitude),
3674 "map" => Ok(Field::Map),
3675 "maps" => Ok(Field::Maps),
3676 "maximumAttendeeCapacity" => Ok(Field::MaximumAttendeeCapacity),
3677 "openingHoursSpecification" => Ok(Field::OpeningHoursSpecification),
3678 "photo" => Ok(Field::Photo),
3679 "photos" => Ok(Field::Photos),
3680 "publicAccess" => Ok(Field::PublicAccess),
3681 "smokingAllowed" => Ok(Field::SmokingAllowed),
3682 "specialOpeningHoursSpecification" => {
3683 Ok(Field::SpecialOpeningHoursSpecification)
3684 }
3685 "tourBookingPage" => Ok(Field::TourBookingPage),
3686 "additionalType" => Ok(Field::AdditionalType),
3687 "alternateName" => Ok(Field::AlternateName),
3688 "description" => Ok(Field::Description),
3689 "disambiguatingDescription" => Ok(Field::DisambiguatingDescription),
3690 "identifier" => Ok(Field::Identifier),
3691 "image" => Ok(Field::Image),
3692 "mainEntityOfPage" => Ok(Field::MainEntityOfPage),
3693 "name" => Ok(Field::Name),
3694 "potentialAction" => Ok(Field::PotentialAction),
3695 "sameAs" => Ok(Field::SameAs),
3696 "subjectOf" => Ok(Field::SubjectOf),
3697 "url" => Ok(Field::Url),
3698 "id" | "type" => Ok(Field::Ignore),
3699 _ => Err(de::Error::unknown_field(value, FIELDS)),
3700 }
3701 }
3702 fn visit_bytes<E>(self, value: &[u8]) -> Result<Self::Value, E>
3703 where
3704 E: de::Error,
3705 {
3706 match value {
3707 b"acceptsReservations" => Ok(Field::AcceptsReservations),
3708 b"hasMenu" => Ok(Field::HasMenu),
3709 b"menu" => Ok(Field::Menu),
3710 b"servesCuisine" => Ok(Field::ServesCuisine),
3711 b"starRating" => Ok(Field::StarRating),
3712 b"branchOf" => Ok(Field::BranchOf),
3713 b"currenciesAccepted" => Ok(Field::CurrenciesAccepted),
3714 b"openingHours" => Ok(Field::OpeningHours),
3715 b"paymentAccepted" => Ok(Field::PaymentAccepted),
3716 b"priceRange" => Ok(Field::PriceRange),
3717 b"actionableFeedbackPolicy" => Ok(Field::ActionableFeedbackPolicy),
3718 b"address" => Ok(Field::Address),
3719 b"agentInteractionStatistic" => Ok(Field::AgentInteractionStatistic),
3720 b"aggregateRating" => Ok(Field::AggregateRating),
3721 b"alumni" => Ok(Field::Alumni),
3722 b"areaServed" => Ok(Field::AreaServed),
3723 b"award" => Ok(Field::Award),
3724 b"awards" => Ok(Field::Awards),
3725 b"brand" => Ok(Field::Brand),
3726 b"contactPoint" => Ok(Field::ContactPoint),
3727 b"contactPoints" => Ok(Field::ContactPoints),
3728 b"correctionsPolicy" => Ok(Field::CorrectionsPolicy),
3729 b"department" => Ok(Field::Department),
3730 b"dissolutionDate" => Ok(Field::DissolutionDate),
3731 b"diversityPolicy" => Ok(Field::DiversityPolicy),
3732 b"diversityStaffingReport" => Ok(Field::DiversityStaffingReport),
3733 b"duns" => Ok(Field::Duns),
3734 b"email" => Ok(Field::Email),
3735 b"employee" => Ok(Field::Employee),
3736 b"employees" => Ok(Field::Employees),
3737 b"ethicsPolicy" => Ok(Field::EthicsPolicy),
3738 b"event" => Ok(Field::Event),
3739 b"events" => Ok(Field::Events),
3740 b"faxNumber" => Ok(Field::FaxNumber),
3741 b"founder" => Ok(Field::Founder),
3742 b"founders" => Ok(Field::Founders),
3743 b"foundingDate" => Ok(Field::FoundingDate),
3744 b"foundingLocation" => Ok(Field::FoundingLocation),
3745 b"funder" => Ok(Field::Funder),
3746 b"funding" => Ok(Field::Funding),
3747 b"globalLocationNumber" => Ok(Field::GlobalLocationNumber),
3748 b"hasCredential" => Ok(Field::HasCredential),
3749 b"hasMerchantReturnPolicy" => Ok(Field::HasMerchantReturnPolicy),
3750 b"hasOfferCatalog" => Ok(Field::HasOfferCatalog),
3751 b"hasPOS" => Ok(Field::HasPos),
3752 b"hasProductReturnPolicy" => Ok(Field::HasProductReturnPolicy),
3753 b"interactionStatistic" => Ok(Field::InteractionStatistic),
3754 b"isicV4" => Ok(Field::IsicV4),
3755 b"iso6523Code" => Ok(Field::Iso6523Code),
3756 b"keywords" => Ok(Field::Keywords),
3757 b"knowsAbout" => Ok(Field::KnowsAbout),
3758 b"knowsLanguage" => Ok(Field::KnowsLanguage),
3759 b"legalName" => Ok(Field::LegalName),
3760 b"leiCode" => Ok(Field::LeiCode),
3761 b"location" => Ok(Field::Location),
3762 b"logo" => Ok(Field::Logo),
3763 b"makesOffer" => Ok(Field::MakesOffer),
3764 b"member" => Ok(Field::Member),
3765 b"memberOf" => Ok(Field::MemberOf),
3766 b"members" => Ok(Field::Members),
3767 b"naics" => Ok(Field::Naics),
3768 b"nonprofitStatus" => Ok(Field::NonprofitStatus),
3769 b"numberOfEmployees" => Ok(Field::NumberOfEmployees),
3770 b"ownershipFundingInfo" => Ok(Field::OwnershipFundingInfo),
3771 b"owns" => Ok(Field::Owns),
3772 b"parentOrganization" => Ok(Field::ParentOrganization),
3773 b"publishingPrinciples" => Ok(Field::PublishingPrinciples),
3774 b"review" => Ok(Field::Review),
3775 b"reviews" => Ok(Field::Reviews),
3776 b"seeks" => Ok(Field::Seeks),
3777 b"serviceArea" => Ok(Field::ServiceArea),
3778 b"slogan" => Ok(Field::Slogan),
3779 b"sponsor" => Ok(Field::Sponsor),
3780 b"subOrganization" => Ok(Field::SubOrganization),
3781 b"taxID" => Ok(Field::TaxId),
3782 b"telephone" => Ok(Field::Telephone),
3783 b"unnamedSourcesPolicy" => Ok(Field::UnnamedSourcesPolicy),
3784 b"vatID" => Ok(Field::VatId),
3785 b"additionalProperty" => Ok(Field::AdditionalProperty),
3786 b"amenityFeature" => Ok(Field::AmenityFeature),
3787 b"branchCode" => Ok(Field::BranchCode),
3788 b"containedIn" => Ok(Field::ContainedIn),
3789 b"containedInPlace" => Ok(Field::ContainedInPlace),
3790 b"containsPlace" => Ok(Field::ContainsPlace),
3791 b"geo" => Ok(Field::Geo),
3792 b"geoContains" => Ok(Field::GeoContains),
3793 b"geoCoveredBy" => Ok(Field::GeoCoveredBy),
3794 b"geoCovers" => Ok(Field::GeoCovers),
3795 b"geoCrosses" => Ok(Field::GeoCrosses),
3796 b"geoDisjoint" => Ok(Field::GeoDisjoint),
3797 b"geoEquals" => Ok(Field::GeoEquals),
3798 b"geoIntersects" => Ok(Field::GeoIntersects),
3799 b"geoOverlaps" => Ok(Field::GeoOverlaps),
3800 b"geoTouches" => Ok(Field::GeoTouches),
3801 b"geoWithin" => Ok(Field::GeoWithin),
3802 b"hasDriveThroughService" => Ok(Field::HasDriveThroughService),
3803 b"hasMap" => Ok(Field::HasMap),
3804 b"isAccessibleForFree" => Ok(Field::IsAccessibleForFree),
3805 b"latitude" => Ok(Field::Latitude),
3806 b"longitude" => Ok(Field::Longitude),
3807 b"map" => Ok(Field::Map),
3808 b"maps" => Ok(Field::Maps),
3809 b"maximumAttendeeCapacity" => Ok(Field::MaximumAttendeeCapacity),
3810 b"openingHoursSpecification" => Ok(Field::OpeningHoursSpecification),
3811 b"photo" => Ok(Field::Photo),
3812 b"photos" => Ok(Field::Photos),
3813 b"publicAccess" => Ok(Field::PublicAccess),
3814 b"smokingAllowed" => Ok(Field::SmokingAllowed),
3815 b"specialOpeningHoursSpecification" => {
3816 Ok(Field::SpecialOpeningHoursSpecification)
3817 }
3818 b"tourBookingPage" => Ok(Field::TourBookingPage),
3819 b"additionalType" => Ok(Field::AdditionalType),
3820 b"alternateName" => Ok(Field::AlternateName),
3821 b"description" => Ok(Field::Description),
3822 b"disambiguatingDescription" => Ok(Field::DisambiguatingDescription),
3823 b"identifier" => Ok(Field::Identifier),
3824 b"image" => Ok(Field::Image),
3825 b"mainEntityOfPage" => Ok(Field::MainEntityOfPage),
3826 b"name" => Ok(Field::Name),
3827 b"potentialAction" => Ok(Field::PotentialAction),
3828 b"sameAs" => Ok(Field::SameAs),
3829 b"subjectOf" => Ok(Field::SubjectOf),
3830 b"url" => Ok(Field::Url),
3831 b"id" | b"type" => Ok(Field::Ignore),
3832 _ => {
3833 let value = &String::from_utf8_lossy(value);
3834 Err(de::Error::unknown_field(value, FIELDS))
3835 }
3836 }
3837 }
3838 }
3839 impl<'de> Deserialize<'de> for Field {
3840 fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
3841 where
3842 D: Deserializer<'de>,
3843 {
3844 deserializer.deserialize_identifier(FieldVisitor)
3845 }
3846 }
3847 struct ClassVisitor;
3848 impl<'de> Visitor<'de> for ClassVisitor {
3849 type Value = Bakery;
3850 fn expecting(&self, formatter: &mut Formatter) -> fmt::Result {
3851 formatter.write_str("schema.org schema Bakery")
3852 }
3853 fn visit_map<A>(self, mut map: A) -> Result<Self::Value, A::Error>
3854 where
3855 A: de::MapAccess<'de>,
3856 {
3857 let mut r#accepts_reservations_property = None;
3858 let mut r#has_menu_property = None;
3859 let mut r#menu_property = None;
3860 let mut r#serves_cuisine_property = None;
3861 let mut r#star_rating_property = None;
3862 let mut r#branch_of_property = None;
3863 let mut r#currencies_accepted_property = None;
3864 let mut r#opening_hours_property = None;
3865 let mut r#payment_accepted_property = None;
3866 let mut r#price_range_property = None;
3867 let mut r#actionable_feedback_policy_property = None;
3868 let mut r#address_property = None;
3869 let mut r#agent_interaction_statistic_property = None;
3870 let mut r#aggregate_rating_property = None;
3871 let mut r#alumni_property = None;
3872 let mut r#area_served_property = None;
3873 let mut r#award_property = None;
3874 let mut r#awards_property = None;
3875 let mut r#brand_property = None;
3876 let mut r#contact_point_property = None;
3877 let mut r#contact_points_property = None;
3878 let mut r#corrections_policy_property = None;
3879 let mut r#department_property = None;
3880 let mut r#dissolution_date_property = None;
3881 let mut r#diversity_policy_property = None;
3882 let mut r#diversity_staffing_report_property = None;
3883 let mut r#duns_property = None;
3884 let mut r#email_property = None;
3885 let mut r#employee_property = None;
3886 let mut r#employees_property = None;
3887 let mut r#ethics_policy_property = None;
3888 let mut r#event_property = None;
3889 let mut r#events_property = None;
3890 let mut r#fax_number_property = None;
3891 let mut r#founder_property = None;
3892 let mut r#founders_property = None;
3893 let mut r#founding_date_property = None;
3894 let mut r#founding_location_property = None;
3895 let mut r#funder_property = None;
3896 let mut r#funding_property = None;
3897 let mut r#global_location_number_property = None;
3898 let mut r#has_credential_property = None;
3899 let mut r#has_merchant_return_policy_property = None;
3900 let mut r#has_offer_catalog_property = None;
3901 let mut r#has_pos_property = None;
3902 let mut r#has_product_return_policy_property = None;
3903 let mut r#interaction_statistic_property = None;
3904 let mut r#isic_v_4_property = None;
3905 let mut r#iso_6523_code_property = None;
3906 let mut r#keywords_property = None;
3907 let mut r#knows_about_property = None;
3908 let mut r#knows_language_property = None;
3909 let mut r#legal_name_property = None;
3910 let mut r#lei_code_property = None;
3911 let mut r#location_property = None;
3912 let mut r#logo_property = None;
3913 let mut r#makes_offer_property = None;
3914 let mut r#member_property = None;
3915 let mut r#member_of_property = None;
3916 let mut r#members_property = None;
3917 let mut r#naics_property = None;
3918 let mut r#nonprofit_status_property = None;
3919 let mut r#number_of_employees_property = None;
3920 let mut r#ownership_funding_info_property = None;
3921 let mut r#owns_property = None;
3922 let mut r#parent_organization_property = None;
3923 let mut r#publishing_principles_property = None;
3924 let mut r#review_property = None;
3925 let mut r#reviews_property = None;
3926 let mut r#seeks_property = None;
3927 let mut r#service_area_property = None;
3928 let mut r#slogan_property = None;
3929 let mut r#sponsor_property = None;
3930 let mut r#sub_organization_property = None;
3931 let mut r#tax_id_property = None;
3932 let mut r#telephone_property = None;
3933 let mut r#unnamed_sources_policy_property = None;
3934 let mut r#vat_id_property = None;
3935 let mut r#additional_property_property = None;
3936 let mut r#amenity_feature_property = None;
3937 let mut r#branch_code_property = None;
3938 let mut r#contained_in_property = None;
3939 let mut r#contained_in_place_property = None;
3940 let mut r#contains_place_property = None;
3941 let mut r#geo_property = None;
3942 let mut r#geo_contains_property = None;
3943 let mut r#geo_covered_by_property = None;
3944 let mut r#geo_covers_property = None;
3945 let mut r#geo_crosses_property = None;
3946 let mut r#geo_disjoint_property = None;
3947 let mut r#geo_equals_property = None;
3948 let mut r#geo_intersects_property = None;
3949 let mut r#geo_overlaps_property = None;
3950 let mut r#geo_touches_property = None;
3951 let mut r#geo_within_property = None;
3952 let mut r#has_drive_through_service_property = None;
3953 let mut r#has_map_property = None;
3954 let mut r#is_accessible_for_free_property = None;
3955 let mut r#latitude_property = None;
3956 let mut r#longitude_property = None;
3957 let mut r#map_property = None;
3958 let mut r#maps_property = None;
3959 let mut r#maximum_attendee_capacity_property = None;
3960 let mut r#opening_hours_specification_property = None;
3961 let mut r#photo_property = None;
3962 let mut r#photos_property = None;
3963 let mut r#public_access_property = None;
3964 let mut r#smoking_allowed_property = None;
3965 let mut r#special_opening_hours_specification_property = None;
3966 let mut r#tour_booking_page_property = None;
3967 let mut r#additional_type_property = None;
3968 let mut r#alternate_name_property = None;
3969 let mut r#description_property = None;
3970 let mut r#disambiguating_description_property = None;
3971 let mut r#identifier_property = None;
3972 let mut r#image_property = None;
3973 let mut r#main_entity_of_page_property = None;
3974 let mut r#name_property = None;
3975 let mut r#potential_action_property = None;
3976 let mut r#same_as_property = None;
3977 let mut r#subject_of_property = None;
3978 let mut r#url_property = None;
3979 while let Some(key) = map.next_key::<Field>()? {
3980 match key {
3981 Field::AcceptsReservations => {
3982 if r#accepts_reservations_property.is_some() {
3983 return Err(<A::Error as de::Error>::duplicate_field(
3984 "acceptsReservations",
3985 ));
3986 }
3987 r#accepts_reservations_property = Some({
3988 struct DeserializeWith(Vec<AcceptsReservationsProperty>);
3989 impl<'de> Deserialize<'de> for DeserializeWith {
3990 fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
3991 where
3992 D: Deserializer<'de>,
3993 {
3994 Ok(DeserializeWith(serde_with::As::<
3995 serde_with::OneOrMany<serde_with::Same>,
3996 >::deserialize(deserializer)?))
3997 }
3998 }
3999 match map.next_value::<DeserializeWith>() {
4000 Ok(deserialize_with) => deserialize_with.0,
4001 Err(err) => {
4002 return Err(err);
4003 }
4004 }
4005 });
4006 }
4007 Field::HasMenu => {
4008 if r#has_menu_property.is_some() {
4009 return Err(<A::Error as de::Error>::duplicate_field(
4010 "hasMenu",
4011 ));
4012 }
4013 r#has_menu_property = Some({
4014 struct DeserializeWith(Vec<HasMenuProperty>);
4015 impl<'de> Deserialize<'de> for DeserializeWith {
4016 fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
4017 where
4018 D: Deserializer<'de>,
4019 {
4020 Ok(DeserializeWith(serde_with::As::<
4021 serde_with::OneOrMany<serde_with::Same>,
4022 >::deserialize(deserializer)?))
4023 }
4024 }
4025 match map.next_value::<DeserializeWith>() {
4026 Ok(deserialize_with) => deserialize_with.0,
4027 Err(err) => {
4028 return Err(err);
4029 }
4030 }
4031 });
4032 }
4033 Field::Menu => {
4034 if r#menu_property.is_some() {
4035 return Err(<A::Error as de::Error>::duplicate_field("menu"));
4036 }
4037 r#menu_property = Some({
4038 struct DeserializeWith(Vec<MenuProperty>);
4039 impl<'de> Deserialize<'de> for DeserializeWith {
4040 fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
4041 where
4042 D: Deserializer<'de>,
4043 {
4044 Ok(DeserializeWith(serde_with::As::<
4045 serde_with::OneOrMany<serde_with::Same>,
4046 >::deserialize(deserializer)?))
4047 }
4048 }
4049 match map.next_value::<DeserializeWith>() {
4050 Ok(deserialize_with) => deserialize_with.0,
4051 Err(err) => {
4052 return Err(err);
4053 }
4054 }
4055 });
4056 }
4057 Field::ServesCuisine => {
4058 if r#serves_cuisine_property.is_some() {
4059 return Err(<A::Error as de::Error>::duplicate_field(
4060 "servesCuisine",
4061 ));
4062 }
4063 r#serves_cuisine_property = Some({
4064 struct DeserializeWith(Vec<ServesCuisineProperty>);
4065 impl<'de> Deserialize<'de> for DeserializeWith {
4066 fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
4067 where
4068 D: Deserializer<'de>,
4069 {
4070 Ok(DeserializeWith(serde_with::As::<
4071 serde_with::OneOrMany<serde_with::Same>,
4072 >::deserialize(deserializer)?))
4073 }
4074 }
4075 match map.next_value::<DeserializeWith>() {
4076 Ok(deserialize_with) => deserialize_with.0,
4077 Err(err) => {
4078 return Err(err);
4079 }
4080 }
4081 });
4082 }
4083 Field::StarRating => {
4084 if r#star_rating_property.is_some() {
4085 return Err(<A::Error as de::Error>::duplicate_field(
4086 "starRating",
4087 ));
4088 }
4089 r#star_rating_property = Some({
4090 struct DeserializeWith(Vec<StarRatingProperty>);
4091 impl<'de> Deserialize<'de> for DeserializeWith {
4092 fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
4093 where
4094 D: Deserializer<'de>,
4095 {
4096 Ok(DeserializeWith(serde_with::As::<
4097 serde_with::OneOrMany<serde_with::Same>,
4098 >::deserialize(deserializer)?))
4099 }
4100 }
4101 match map.next_value::<DeserializeWith>() {
4102 Ok(deserialize_with) => deserialize_with.0,
4103 Err(err) => {
4104 return Err(err);
4105 }
4106 }
4107 });
4108 }
4109 Field::BranchOf => {
4110 if r#branch_of_property.is_some() {
4111 return Err(<A::Error as de::Error>::duplicate_field(
4112 "branchOf",
4113 ));
4114 }
4115 r#branch_of_property = Some({
4116 struct DeserializeWith(Vec<BranchOfProperty>);
4117 impl<'de> Deserialize<'de> for DeserializeWith {
4118 fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
4119 where
4120 D: Deserializer<'de>,
4121 {
4122 Ok(DeserializeWith(serde_with::As::<
4123 serde_with::OneOrMany<serde_with::Same>,
4124 >::deserialize(deserializer)?))
4125 }
4126 }
4127 match map.next_value::<DeserializeWith>() {
4128 Ok(deserialize_with) => deserialize_with.0,
4129 Err(err) => {
4130 return Err(err);
4131 }
4132 }
4133 });
4134 }
4135 Field::CurrenciesAccepted => {
4136 if r#currencies_accepted_property.is_some() {
4137 return Err(<A::Error as de::Error>::duplicate_field(
4138 "currenciesAccepted",
4139 ));
4140 }
4141 r#currencies_accepted_property = Some({
4142 struct DeserializeWith(Vec<CurrenciesAcceptedProperty>);
4143 impl<'de> Deserialize<'de> for DeserializeWith {
4144 fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
4145 where
4146 D: Deserializer<'de>,
4147 {
4148 Ok(DeserializeWith(serde_with::As::<
4149 serde_with::OneOrMany<serde_with::Same>,
4150 >::deserialize(deserializer)?))
4151 }
4152 }
4153 match map.next_value::<DeserializeWith>() {
4154 Ok(deserialize_with) => deserialize_with.0,
4155 Err(err) => {
4156 return Err(err);
4157 }
4158 }
4159 });
4160 }
4161 Field::OpeningHours => {
4162 if r#opening_hours_property.is_some() {
4163 return Err(<A::Error as de::Error>::duplicate_field(
4164 "openingHours",
4165 ));
4166 }
4167 r#opening_hours_property = Some({
4168 struct DeserializeWith(Vec<OpeningHoursProperty>);
4169 impl<'de> Deserialize<'de> for DeserializeWith {
4170 fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
4171 where
4172 D: Deserializer<'de>,
4173 {
4174 Ok(DeserializeWith(serde_with::As::<
4175 serde_with::OneOrMany<serde_with::Same>,
4176 >::deserialize(deserializer)?))
4177 }
4178 }
4179 match map.next_value::<DeserializeWith>() {
4180 Ok(deserialize_with) => deserialize_with.0,
4181 Err(err) => {
4182 return Err(err);
4183 }
4184 }
4185 });
4186 }
4187 Field::PaymentAccepted => {
4188 if r#payment_accepted_property.is_some() {
4189 return Err(<A::Error as de::Error>::duplicate_field(
4190 "paymentAccepted",
4191 ));
4192 }
4193 r#payment_accepted_property = Some({
4194 struct DeserializeWith(Vec<PaymentAcceptedProperty>);
4195 impl<'de> Deserialize<'de> for DeserializeWith {
4196 fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
4197 where
4198 D: Deserializer<'de>,
4199 {
4200 Ok(DeserializeWith(serde_with::As::<
4201 serde_with::OneOrMany<serde_with::Same>,
4202 >::deserialize(deserializer)?))
4203 }
4204 }
4205 match map.next_value::<DeserializeWith>() {
4206 Ok(deserialize_with) => deserialize_with.0,
4207 Err(err) => {
4208 return Err(err);
4209 }
4210 }
4211 });
4212 }
4213 Field::PriceRange => {
4214 if r#price_range_property.is_some() {
4215 return Err(<A::Error as de::Error>::duplicate_field(
4216 "priceRange",
4217 ));
4218 }
4219 r#price_range_property = Some({
4220 struct DeserializeWith(Vec<PriceRangeProperty>);
4221 impl<'de> Deserialize<'de> for DeserializeWith {
4222 fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
4223 where
4224 D: Deserializer<'de>,
4225 {
4226 Ok(DeserializeWith(serde_with::As::<
4227 serde_with::OneOrMany<serde_with::Same>,
4228 >::deserialize(deserializer)?))
4229 }
4230 }
4231 match map.next_value::<DeserializeWith>() {
4232 Ok(deserialize_with) => deserialize_with.0,
4233 Err(err) => {
4234 return Err(err);
4235 }
4236 }
4237 });
4238 }
4239 Field::ActionableFeedbackPolicy => {
4240 if r#actionable_feedback_policy_property.is_some() {
4241 return Err(<A::Error as de::Error>::duplicate_field(
4242 "actionableFeedbackPolicy",
4243 ));
4244 }
4245 r#actionable_feedback_policy_property = Some({
4246 struct DeserializeWith(Vec<ActionableFeedbackPolicyProperty>);
4247 impl<'de> Deserialize<'de> for DeserializeWith {
4248 fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
4249 where
4250 D: Deserializer<'de>,
4251 {
4252 Ok(DeserializeWith(serde_with::As::<
4253 serde_with::OneOrMany<serde_with::Same>,
4254 >::deserialize(deserializer)?))
4255 }
4256 }
4257 match map.next_value::<DeserializeWith>() {
4258 Ok(deserialize_with) => deserialize_with.0,
4259 Err(err) => {
4260 return Err(err);
4261 }
4262 }
4263 });
4264 }
4265 Field::Address => {
4266 if r#address_property.is_some() {
4267 return Err(<A::Error as de::Error>::duplicate_field(
4268 "address",
4269 ));
4270 }
4271 r#address_property = Some({
4272 struct DeserializeWith(Vec<AddressProperty>);
4273 impl<'de> Deserialize<'de> for DeserializeWith {
4274 fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
4275 where
4276 D: Deserializer<'de>,
4277 {
4278 Ok(DeserializeWith(serde_with::As::<
4279 serde_with::OneOrMany<serde_with::Same>,
4280 >::deserialize(deserializer)?))
4281 }
4282 }
4283 match map.next_value::<DeserializeWith>() {
4284 Ok(deserialize_with) => deserialize_with.0,
4285 Err(err) => {
4286 return Err(err);
4287 }
4288 }
4289 });
4290 }
4291 Field::AgentInteractionStatistic => {
4292 if r#agent_interaction_statistic_property.is_some() {
4293 return Err(<A::Error as de::Error>::duplicate_field(
4294 "agentInteractionStatistic",
4295 ));
4296 }
4297 r#agent_interaction_statistic_property = Some({
4298 struct DeserializeWith(Vec<AgentInteractionStatisticProperty>);
4299 impl<'de> Deserialize<'de> for DeserializeWith {
4300 fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
4301 where
4302 D: Deserializer<'de>,
4303 {
4304 Ok(DeserializeWith(serde_with::As::<
4305 serde_with::OneOrMany<serde_with::Same>,
4306 >::deserialize(deserializer)?))
4307 }
4308 }
4309 match map.next_value::<DeserializeWith>() {
4310 Ok(deserialize_with) => deserialize_with.0,
4311 Err(err) => {
4312 return Err(err);
4313 }
4314 }
4315 });
4316 }
4317 Field::AggregateRating => {
4318 if r#aggregate_rating_property.is_some() {
4319 return Err(<A::Error as de::Error>::duplicate_field(
4320 "aggregateRating",
4321 ));
4322 }
4323 r#aggregate_rating_property = Some({
4324 struct DeserializeWith(Vec<AggregateRatingProperty>);
4325 impl<'de> Deserialize<'de> for DeserializeWith {
4326 fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
4327 where
4328 D: Deserializer<'de>,
4329 {
4330 Ok(DeserializeWith(serde_with::As::<
4331 serde_with::OneOrMany<serde_with::Same>,
4332 >::deserialize(deserializer)?))
4333 }
4334 }
4335 match map.next_value::<DeserializeWith>() {
4336 Ok(deserialize_with) => deserialize_with.0,
4337 Err(err) => {
4338 return Err(err);
4339 }
4340 }
4341 });
4342 }
4343 Field::Alumni => {
4344 if r#alumni_property.is_some() {
4345 return Err(<A::Error as de::Error>::duplicate_field("alumni"));
4346 }
4347 r#alumni_property = Some({
4348 struct DeserializeWith(Vec<AlumniProperty>);
4349 impl<'de> Deserialize<'de> for DeserializeWith {
4350 fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
4351 where
4352 D: Deserializer<'de>,
4353 {
4354 Ok(DeserializeWith(serde_with::As::<
4355 serde_with::OneOrMany<serde_with::Same>,
4356 >::deserialize(deserializer)?))
4357 }
4358 }
4359 match map.next_value::<DeserializeWith>() {
4360 Ok(deserialize_with) => deserialize_with.0,
4361 Err(err) => {
4362 return Err(err);
4363 }
4364 }
4365 });
4366 }
4367 Field::AreaServed => {
4368 if r#area_served_property.is_some() {
4369 return Err(<A::Error as de::Error>::duplicate_field(
4370 "areaServed",
4371 ));
4372 }
4373 r#area_served_property = Some({
4374 struct DeserializeWith(Vec<AreaServedProperty>);
4375 impl<'de> Deserialize<'de> for DeserializeWith {
4376 fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
4377 where
4378 D: Deserializer<'de>,
4379 {
4380 Ok(DeserializeWith(serde_with::As::<
4381 serde_with::OneOrMany<serde_with::Same>,
4382 >::deserialize(deserializer)?))
4383 }
4384 }
4385 match map.next_value::<DeserializeWith>() {
4386 Ok(deserialize_with) => deserialize_with.0,
4387 Err(err) => {
4388 return Err(err);
4389 }
4390 }
4391 });
4392 }
4393 Field::Award => {
4394 if r#award_property.is_some() {
4395 return Err(<A::Error as de::Error>::duplicate_field("award"));
4396 }
4397 r#award_property = Some({
4398 struct DeserializeWith(Vec<AwardProperty>);
4399 impl<'de> Deserialize<'de> for DeserializeWith {
4400 fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
4401 where
4402 D: Deserializer<'de>,
4403 {
4404 Ok(DeserializeWith(serde_with::As::<
4405 serde_with::OneOrMany<serde_with::Same>,
4406 >::deserialize(deserializer)?))
4407 }
4408 }
4409 match map.next_value::<DeserializeWith>() {
4410 Ok(deserialize_with) => deserialize_with.0,
4411 Err(err) => {
4412 return Err(err);
4413 }
4414 }
4415 });
4416 }
4417 Field::Awards => {
4418 if r#awards_property.is_some() {
4419 return Err(<A::Error as de::Error>::duplicate_field("awards"));
4420 }
4421 r#awards_property = Some({
4422 struct DeserializeWith(Vec<AwardsProperty>);
4423 impl<'de> Deserialize<'de> for DeserializeWith {
4424 fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
4425 where
4426 D: Deserializer<'de>,
4427 {
4428 Ok(DeserializeWith(serde_with::As::<
4429 serde_with::OneOrMany<serde_with::Same>,
4430 >::deserialize(deserializer)?))
4431 }
4432 }
4433 match map.next_value::<DeserializeWith>() {
4434 Ok(deserialize_with) => deserialize_with.0,
4435 Err(err) => {
4436 return Err(err);
4437 }
4438 }
4439 });
4440 }
4441 Field::Brand => {
4442 if r#brand_property.is_some() {
4443 return Err(<A::Error as de::Error>::duplicate_field("brand"));
4444 }
4445 r#brand_property = Some({
4446 struct DeserializeWith(Vec<BrandProperty>);
4447 impl<'de> Deserialize<'de> for DeserializeWith {
4448 fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
4449 where
4450 D: Deserializer<'de>,
4451 {
4452 Ok(DeserializeWith(serde_with::As::<
4453 serde_with::OneOrMany<serde_with::Same>,
4454 >::deserialize(deserializer)?))
4455 }
4456 }
4457 match map.next_value::<DeserializeWith>() {
4458 Ok(deserialize_with) => deserialize_with.0,
4459 Err(err) => {
4460 return Err(err);
4461 }
4462 }
4463 });
4464 }
4465 Field::ContactPoint => {
4466 if r#contact_point_property.is_some() {
4467 return Err(<A::Error as de::Error>::duplicate_field(
4468 "contactPoint",
4469 ));
4470 }
4471 r#contact_point_property = Some({
4472 struct DeserializeWith(Vec<ContactPointProperty>);
4473 impl<'de> Deserialize<'de> for DeserializeWith {
4474 fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
4475 where
4476 D: Deserializer<'de>,
4477 {
4478 Ok(DeserializeWith(serde_with::As::<
4479 serde_with::OneOrMany<serde_with::Same>,
4480 >::deserialize(deserializer)?))
4481 }
4482 }
4483 match map.next_value::<DeserializeWith>() {
4484 Ok(deserialize_with) => deserialize_with.0,
4485 Err(err) => {
4486 return Err(err);
4487 }
4488 }
4489 });
4490 }
4491 Field::ContactPoints => {
4492 if r#contact_points_property.is_some() {
4493 return Err(<A::Error as de::Error>::duplicate_field(
4494 "contactPoints",
4495 ));
4496 }
4497 r#contact_points_property = Some({
4498 struct DeserializeWith(Vec<ContactPointsProperty>);
4499 impl<'de> Deserialize<'de> for DeserializeWith {
4500 fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
4501 where
4502 D: Deserializer<'de>,
4503 {
4504 Ok(DeserializeWith(serde_with::As::<
4505 serde_with::OneOrMany<serde_with::Same>,
4506 >::deserialize(deserializer)?))
4507 }
4508 }
4509 match map.next_value::<DeserializeWith>() {
4510 Ok(deserialize_with) => deserialize_with.0,
4511 Err(err) => {
4512 return Err(err);
4513 }
4514 }
4515 });
4516 }
4517 Field::CorrectionsPolicy => {
4518 if r#corrections_policy_property.is_some() {
4519 return Err(<A::Error as de::Error>::duplicate_field(
4520 "correctionsPolicy",
4521 ));
4522 }
4523 r#corrections_policy_property = Some({
4524 struct DeserializeWith(Vec<CorrectionsPolicyProperty>);
4525 impl<'de> Deserialize<'de> for DeserializeWith {
4526 fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
4527 where
4528 D: Deserializer<'de>,
4529 {
4530 Ok(DeserializeWith(serde_with::As::<
4531 serde_with::OneOrMany<serde_with::Same>,
4532 >::deserialize(deserializer)?))
4533 }
4534 }
4535 match map.next_value::<DeserializeWith>() {
4536 Ok(deserialize_with) => deserialize_with.0,
4537 Err(err) => {
4538 return Err(err);
4539 }
4540 }
4541 });
4542 }
4543 Field::Department => {
4544 if r#department_property.is_some() {
4545 return Err(<A::Error as de::Error>::duplicate_field(
4546 "department",
4547 ));
4548 }
4549 r#department_property = Some({
4550 struct DeserializeWith(Vec<DepartmentProperty>);
4551 impl<'de> Deserialize<'de> for DeserializeWith {
4552 fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
4553 where
4554 D: Deserializer<'de>,
4555 {
4556 Ok(DeserializeWith(serde_with::As::<
4557 serde_with::OneOrMany<serde_with::Same>,
4558 >::deserialize(deserializer)?))
4559 }
4560 }
4561 match map.next_value::<DeserializeWith>() {
4562 Ok(deserialize_with) => deserialize_with.0,
4563 Err(err) => {
4564 return Err(err);
4565 }
4566 }
4567 });
4568 }
4569 Field::DissolutionDate => {
4570 if r#dissolution_date_property.is_some() {
4571 return Err(<A::Error as de::Error>::duplicate_field(
4572 "dissolutionDate",
4573 ));
4574 }
4575 r#dissolution_date_property = Some({
4576 struct DeserializeWith(Vec<DissolutionDateProperty>);
4577 impl<'de> Deserialize<'de> for DeserializeWith {
4578 fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
4579 where
4580 D: Deserializer<'de>,
4581 {
4582 Ok(DeserializeWith(serde_with::As::<
4583 serde_with::OneOrMany<serde_with::Same>,
4584 >::deserialize(deserializer)?))
4585 }
4586 }
4587 match map.next_value::<DeserializeWith>() {
4588 Ok(deserialize_with) => deserialize_with.0,
4589 Err(err) => {
4590 return Err(err);
4591 }
4592 }
4593 });
4594 }
4595 Field::DiversityPolicy => {
4596 if r#diversity_policy_property.is_some() {
4597 return Err(<A::Error as de::Error>::duplicate_field(
4598 "diversityPolicy",
4599 ));
4600 }
4601 r#diversity_policy_property = Some({
4602 struct DeserializeWith(Vec<DiversityPolicyProperty>);
4603 impl<'de> Deserialize<'de> for DeserializeWith {
4604 fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
4605 where
4606 D: Deserializer<'de>,
4607 {
4608 Ok(DeserializeWith(serde_with::As::<
4609 serde_with::OneOrMany<serde_with::Same>,
4610 >::deserialize(deserializer)?))
4611 }
4612 }
4613 match map.next_value::<DeserializeWith>() {
4614 Ok(deserialize_with) => deserialize_with.0,
4615 Err(err) => {
4616 return Err(err);
4617 }
4618 }
4619 });
4620 }
4621 Field::DiversityStaffingReport => {
4622 if r#diversity_staffing_report_property.is_some() {
4623 return Err(<A::Error as de::Error>::duplicate_field(
4624 "diversityStaffingReport",
4625 ));
4626 }
4627 r#diversity_staffing_report_property = Some({
4628 struct DeserializeWith(Vec<DiversityStaffingReportProperty>);
4629 impl<'de> Deserialize<'de> for DeserializeWith {
4630 fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
4631 where
4632 D: Deserializer<'de>,
4633 {
4634 Ok(DeserializeWith(serde_with::As::<
4635 serde_with::OneOrMany<serde_with::Same>,
4636 >::deserialize(deserializer)?))
4637 }
4638 }
4639 match map.next_value::<DeserializeWith>() {
4640 Ok(deserialize_with) => deserialize_with.0,
4641 Err(err) => {
4642 return Err(err);
4643 }
4644 }
4645 });
4646 }
4647 Field::Duns => {
4648 if r#duns_property.is_some() {
4649 return Err(<A::Error as de::Error>::duplicate_field("duns"));
4650 }
4651 r#duns_property = Some({
4652 struct DeserializeWith(Vec<DunsProperty>);
4653 impl<'de> Deserialize<'de> for DeserializeWith {
4654 fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
4655 where
4656 D: Deserializer<'de>,
4657 {
4658 Ok(DeserializeWith(serde_with::As::<
4659 serde_with::OneOrMany<serde_with::Same>,
4660 >::deserialize(deserializer)?))
4661 }
4662 }
4663 match map.next_value::<DeserializeWith>() {
4664 Ok(deserialize_with) => deserialize_with.0,
4665 Err(err) => {
4666 return Err(err);
4667 }
4668 }
4669 });
4670 }
4671 Field::Email => {
4672 if r#email_property.is_some() {
4673 return Err(<A::Error as de::Error>::duplicate_field("email"));
4674 }
4675 r#email_property = Some({
4676 struct DeserializeWith(Vec<EmailProperty>);
4677 impl<'de> Deserialize<'de> for DeserializeWith {
4678 fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
4679 where
4680 D: Deserializer<'de>,
4681 {
4682 Ok(DeserializeWith(serde_with::As::<
4683 serde_with::OneOrMany<serde_with::Same>,
4684 >::deserialize(deserializer)?))
4685 }
4686 }
4687 match map.next_value::<DeserializeWith>() {
4688 Ok(deserialize_with) => deserialize_with.0,
4689 Err(err) => {
4690 return Err(err);
4691 }
4692 }
4693 });
4694 }
4695 Field::Employee => {
4696 if r#employee_property.is_some() {
4697 return Err(<A::Error as de::Error>::duplicate_field(
4698 "employee",
4699 ));
4700 }
4701 r#employee_property = Some({
4702 struct DeserializeWith(Vec<EmployeeProperty>);
4703 impl<'de> Deserialize<'de> for DeserializeWith {
4704 fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
4705 where
4706 D: Deserializer<'de>,
4707 {
4708 Ok(DeserializeWith(serde_with::As::<
4709 serde_with::OneOrMany<serde_with::Same>,
4710 >::deserialize(deserializer)?))
4711 }
4712 }
4713 match map.next_value::<DeserializeWith>() {
4714 Ok(deserialize_with) => deserialize_with.0,
4715 Err(err) => {
4716 return Err(err);
4717 }
4718 }
4719 });
4720 }
4721 Field::Employees => {
4722 if r#employees_property.is_some() {
4723 return Err(<A::Error as de::Error>::duplicate_field(
4724 "employees",
4725 ));
4726 }
4727 r#employees_property = Some({
4728 struct DeserializeWith(Vec<EmployeesProperty>);
4729 impl<'de> Deserialize<'de> for DeserializeWith {
4730 fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
4731 where
4732 D: Deserializer<'de>,
4733 {
4734 Ok(DeserializeWith(serde_with::As::<
4735 serde_with::OneOrMany<serde_with::Same>,
4736 >::deserialize(deserializer)?))
4737 }
4738 }
4739 match map.next_value::<DeserializeWith>() {
4740 Ok(deserialize_with) => deserialize_with.0,
4741 Err(err) => {
4742 return Err(err);
4743 }
4744 }
4745 });
4746 }
4747 Field::EthicsPolicy => {
4748 if r#ethics_policy_property.is_some() {
4749 return Err(<A::Error as de::Error>::duplicate_field(
4750 "ethicsPolicy",
4751 ));
4752 }
4753 r#ethics_policy_property = Some({
4754 struct DeserializeWith(Vec<EthicsPolicyProperty>);
4755 impl<'de> Deserialize<'de> for DeserializeWith {
4756 fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
4757 where
4758 D: Deserializer<'de>,
4759 {
4760 Ok(DeserializeWith(serde_with::As::<
4761 serde_with::OneOrMany<serde_with::Same>,
4762 >::deserialize(deserializer)?))
4763 }
4764 }
4765 match map.next_value::<DeserializeWith>() {
4766 Ok(deserialize_with) => deserialize_with.0,
4767 Err(err) => {
4768 return Err(err);
4769 }
4770 }
4771 });
4772 }
4773 Field::Event => {
4774 if r#event_property.is_some() {
4775 return Err(<A::Error as de::Error>::duplicate_field("event"));
4776 }
4777 r#event_property = Some({
4778 struct DeserializeWith(Vec<EventProperty>);
4779 impl<'de> Deserialize<'de> for DeserializeWith {
4780 fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
4781 where
4782 D: Deserializer<'de>,
4783 {
4784 Ok(DeserializeWith(serde_with::As::<
4785 serde_with::OneOrMany<serde_with::Same>,
4786 >::deserialize(deserializer)?))
4787 }
4788 }
4789 match map.next_value::<DeserializeWith>() {
4790 Ok(deserialize_with) => deserialize_with.0,
4791 Err(err) => {
4792 return Err(err);
4793 }
4794 }
4795 });
4796 }
4797 Field::Events => {
4798 if r#events_property.is_some() {
4799 return Err(<A::Error as de::Error>::duplicate_field("events"));
4800 }
4801 r#events_property = Some({
4802 struct DeserializeWith(Vec<EventsProperty>);
4803 impl<'de> Deserialize<'de> for DeserializeWith {
4804 fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
4805 where
4806 D: Deserializer<'de>,
4807 {
4808 Ok(DeserializeWith(serde_with::As::<
4809 serde_with::OneOrMany<serde_with::Same>,
4810 >::deserialize(deserializer)?))
4811 }
4812 }
4813 match map.next_value::<DeserializeWith>() {
4814 Ok(deserialize_with) => deserialize_with.0,
4815 Err(err) => {
4816 return Err(err);
4817 }
4818 }
4819 });
4820 }
4821 Field::FaxNumber => {
4822 if r#fax_number_property.is_some() {
4823 return Err(<A::Error as de::Error>::duplicate_field(
4824 "faxNumber",
4825 ));
4826 }
4827 r#fax_number_property = Some({
4828 struct DeserializeWith(Vec<FaxNumberProperty>);
4829 impl<'de> Deserialize<'de> for DeserializeWith {
4830 fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
4831 where
4832 D: Deserializer<'de>,
4833 {
4834 Ok(DeserializeWith(serde_with::As::<
4835 serde_with::OneOrMany<serde_with::Same>,
4836 >::deserialize(deserializer)?))
4837 }
4838 }
4839 match map.next_value::<DeserializeWith>() {
4840 Ok(deserialize_with) => deserialize_with.0,
4841 Err(err) => {
4842 return Err(err);
4843 }
4844 }
4845 });
4846 }
4847 Field::Founder => {
4848 if r#founder_property.is_some() {
4849 return Err(<A::Error as de::Error>::duplicate_field(
4850 "founder",
4851 ));
4852 }
4853 r#founder_property = Some({
4854 struct DeserializeWith(Vec<FounderProperty>);
4855 impl<'de> Deserialize<'de> for DeserializeWith {
4856 fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
4857 where
4858 D: Deserializer<'de>,
4859 {
4860 Ok(DeserializeWith(serde_with::As::<
4861 serde_with::OneOrMany<serde_with::Same>,
4862 >::deserialize(deserializer)?))
4863 }
4864 }
4865 match map.next_value::<DeserializeWith>() {
4866 Ok(deserialize_with) => deserialize_with.0,
4867 Err(err) => {
4868 return Err(err);
4869 }
4870 }
4871 });
4872 }
4873 Field::Founders => {
4874 if r#founders_property.is_some() {
4875 return Err(<A::Error as de::Error>::duplicate_field(
4876 "founders",
4877 ));
4878 }
4879 r#founders_property = Some({
4880 struct DeserializeWith(Vec<FoundersProperty>);
4881 impl<'de> Deserialize<'de> for DeserializeWith {
4882 fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
4883 where
4884 D: Deserializer<'de>,
4885 {
4886 Ok(DeserializeWith(serde_with::As::<
4887 serde_with::OneOrMany<serde_with::Same>,
4888 >::deserialize(deserializer)?))
4889 }
4890 }
4891 match map.next_value::<DeserializeWith>() {
4892 Ok(deserialize_with) => deserialize_with.0,
4893 Err(err) => {
4894 return Err(err);
4895 }
4896 }
4897 });
4898 }
4899 Field::FoundingDate => {
4900 if r#founding_date_property.is_some() {
4901 return Err(<A::Error as de::Error>::duplicate_field(
4902 "foundingDate",
4903 ));
4904 }
4905 r#founding_date_property = Some({
4906 struct DeserializeWith(Vec<FoundingDateProperty>);
4907 impl<'de> Deserialize<'de> for DeserializeWith {
4908 fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
4909 where
4910 D: Deserializer<'de>,
4911 {
4912 Ok(DeserializeWith(serde_with::As::<
4913 serde_with::OneOrMany<serde_with::Same>,
4914 >::deserialize(deserializer)?))
4915 }
4916 }
4917 match map.next_value::<DeserializeWith>() {
4918 Ok(deserialize_with) => deserialize_with.0,
4919 Err(err) => {
4920 return Err(err);
4921 }
4922 }
4923 });
4924 }
4925 Field::FoundingLocation => {
4926 if r#founding_location_property.is_some() {
4927 return Err(<A::Error as de::Error>::duplicate_field(
4928 "foundingLocation",
4929 ));
4930 }
4931 r#founding_location_property = Some({
4932 struct DeserializeWith(Vec<FoundingLocationProperty>);
4933 impl<'de> Deserialize<'de> for DeserializeWith {
4934 fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
4935 where
4936 D: Deserializer<'de>,
4937 {
4938 Ok(DeserializeWith(serde_with::As::<
4939 serde_with::OneOrMany<serde_with::Same>,
4940 >::deserialize(deserializer)?))
4941 }
4942 }
4943 match map.next_value::<DeserializeWith>() {
4944 Ok(deserialize_with) => deserialize_with.0,
4945 Err(err) => {
4946 return Err(err);
4947 }
4948 }
4949 });
4950 }
4951 Field::Funder => {
4952 if r#funder_property.is_some() {
4953 return Err(<A::Error as de::Error>::duplicate_field("funder"));
4954 }
4955 r#funder_property = Some({
4956 struct DeserializeWith(Vec<FunderProperty>);
4957 impl<'de> Deserialize<'de> for DeserializeWith {
4958 fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
4959 where
4960 D: Deserializer<'de>,
4961 {
4962 Ok(DeserializeWith(serde_with::As::<
4963 serde_with::OneOrMany<serde_with::Same>,
4964 >::deserialize(deserializer)?))
4965 }
4966 }
4967 match map.next_value::<DeserializeWith>() {
4968 Ok(deserialize_with) => deserialize_with.0,
4969 Err(err) => {
4970 return Err(err);
4971 }
4972 }
4973 });
4974 }
4975 Field::Funding => {
4976 if r#funding_property.is_some() {
4977 return Err(<A::Error as de::Error>::duplicate_field(
4978 "funding",
4979 ));
4980 }
4981 r#funding_property = Some({
4982 struct DeserializeWith(Vec<FundingProperty>);
4983 impl<'de> Deserialize<'de> for DeserializeWith {
4984 fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
4985 where
4986 D: Deserializer<'de>,
4987 {
4988 Ok(DeserializeWith(serde_with::As::<
4989 serde_with::OneOrMany<serde_with::Same>,
4990 >::deserialize(deserializer)?))
4991 }
4992 }
4993 match map.next_value::<DeserializeWith>() {
4994 Ok(deserialize_with) => deserialize_with.0,
4995 Err(err) => {
4996 return Err(err);
4997 }
4998 }
4999 });
5000 }
5001 Field::GlobalLocationNumber => {
5002 if r#global_location_number_property.is_some() {
5003 return Err(<A::Error as de::Error>::duplicate_field(
5004 "globalLocationNumber",
5005 ));
5006 }
5007 r#global_location_number_property = Some({
5008 struct DeserializeWith(Vec<GlobalLocationNumberProperty>);
5009 impl<'de> Deserialize<'de> for DeserializeWith {
5010 fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
5011 where
5012 D: Deserializer<'de>,
5013 {
5014 Ok(DeserializeWith(serde_with::As::<
5015 serde_with::OneOrMany<serde_with::Same>,
5016 >::deserialize(deserializer)?))
5017 }
5018 }
5019 match map.next_value::<DeserializeWith>() {
5020 Ok(deserialize_with) => deserialize_with.0,
5021 Err(err) => {
5022 return Err(err);
5023 }
5024 }
5025 });
5026 }
5027 Field::HasCredential => {
5028 if r#has_credential_property.is_some() {
5029 return Err(<A::Error as de::Error>::duplicate_field(
5030 "hasCredential",
5031 ));
5032 }
5033 r#has_credential_property = Some({
5034 struct DeserializeWith(Vec<HasCredentialProperty>);
5035 impl<'de> Deserialize<'de> for DeserializeWith {
5036 fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
5037 where
5038 D: Deserializer<'de>,
5039 {
5040 Ok(DeserializeWith(serde_with::As::<
5041 serde_with::OneOrMany<serde_with::Same>,
5042 >::deserialize(deserializer)?))
5043 }
5044 }
5045 match map.next_value::<DeserializeWith>() {
5046 Ok(deserialize_with) => deserialize_with.0,
5047 Err(err) => {
5048 return Err(err);
5049 }
5050 }
5051 });
5052 }
5053 Field::HasMerchantReturnPolicy => {
5054 if r#has_merchant_return_policy_property.is_some() {
5055 return Err(<A::Error as de::Error>::duplicate_field(
5056 "hasMerchantReturnPolicy",
5057 ));
5058 }
5059 r#has_merchant_return_policy_property = Some({
5060 struct DeserializeWith(Vec<HasMerchantReturnPolicyProperty>);
5061 impl<'de> Deserialize<'de> for DeserializeWith {
5062 fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
5063 where
5064 D: Deserializer<'de>,
5065 {
5066 Ok(DeserializeWith(serde_with::As::<
5067 serde_with::OneOrMany<serde_with::Same>,
5068 >::deserialize(deserializer)?))
5069 }
5070 }
5071 match map.next_value::<DeserializeWith>() {
5072 Ok(deserialize_with) => deserialize_with.0,
5073 Err(err) => {
5074 return Err(err);
5075 }
5076 }
5077 });
5078 }
5079 Field::HasOfferCatalog => {
5080 if r#has_offer_catalog_property.is_some() {
5081 return Err(<A::Error as de::Error>::duplicate_field(
5082 "hasOfferCatalog",
5083 ));
5084 }
5085 r#has_offer_catalog_property = Some({
5086 struct DeserializeWith(Vec<HasOfferCatalogProperty>);
5087 impl<'de> Deserialize<'de> for DeserializeWith {
5088 fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
5089 where
5090 D: Deserializer<'de>,
5091 {
5092 Ok(DeserializeWith(serde_with::As::<
5093 serde_with::OneOrMany<serde_with::Same>,
5094 >::deserialize(deserializer)?))
5095 }
5096 }
5097 match map.next_value::<DeserializeWith>() {
5098 Ok(deserialize_with) => deserialize_with.0,
5099 Err(err) => {
5100 return Err(err);
5101 }
5102 }
5103 });
5104 }
5105 Field::HasPos => {
5106 if r#has_pos_property.is_some() {
5107 return Err(<A::Error as de::Error>::duplicate_field("hasPOS"));
5108 }
5109 r#has_pos_property = Some({
5110 struct DeserializeWith(Vec<HasPosProperty>);
5111 impl<'de> Deserialize<'de> for DeserializeWith {
5112 fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
5113 where
5114 D: Deserializer<'de>,
5115 {
5116 Ok(DeserializeWith(serde_with::As::<
5117 serde_with::OneOrMany<serde_with::Same>,
5118 >::deserialize(deserializer)?))
5119 }
5120 }
5121 match map.next_value::<DeserializeWith>() {
5122 Ok(deserialize_with) => deserialize_with.0,
5123 Err(err) => {
5124 return Err(err);
5125 }
5126 }
5127 });
5128 }
5129 Field::HasProductReturnPolicy => {
5130 if r#has_product_return_policy_property.is_some() {
5131 return Err(<A::Error as de::Error>::duplicate_field(
5132 "hasProductReturnPolicy",
5133 ));
5134 }
5135 r#has_product_return_policy_property = Some({
5136 struct DeserializeWith(Vec<HasProductReturnPolicyProperty>);
5137 impl<'de> Deserialize<'de> for DeserializeWith {
5138 fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
5139 where
5140 D: Deserializer<'de>,
5141 {
5142 Ok(DeserializeWith(serde_with::As::<
5143 serde_with::OneOrMany<serde_with::Same>,
5144 >::deserialize(deserializer)?))
5145 }
5146 }
5147 match map.next_value::<DeserializeWith>() {
5148 Ok(deserialize_with) => deserialize_with.0,
5149 Err(err) => {
5150 return Err(err);
5151 }
5152 }
5153 });
5154 }
5155 Field::InteractionStatistic => {
5156 if r#interaction_statistic_property.is_some() {
5157 return Err(<A::Error as de::Error>::duplicate_field(
5158 "interactionStatistic",
5159 ));
5160 }
5161 r#interaction_statistic_property = Some({
5162 struct DeserializeWith(Vec<InteractionStatisticProperty>);
5163 impl<'de> Deserialize<'de> for DeserializeWith {
5164 fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
5165 where
5166 D: Deserializer<'de>,
5167 {
5168 Ok(DeserializeWith(serde_with::As::<
5169 serde_with::OneOrMany<serde_with::Same>,
5170 >::deserialize(deserializer)?))
5171 }
5172 }
5173 match map.next_value::<DeserializeWith>() {
5174 Ok(deserialize_with) => deserialize_with.0,
5175 Err(err) => {
5176 return Err(err);
5177 }
5178 }
5179 });
5180 }
5181 Field::IsicV4 => {
5182 if r#isic_v_4_property.is_some() {
5183 return Err(<A::Error as de::Error>::duplicate_field("isicV4"));
5184 }
5185 r#isic_v_4_property = Some({
5186 struct DeserializeWith(Vec<IsicV4Property>);
5187 impl<'de> Deserialize<'de> for DeserializeWith {
5188 fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
5189 where
5190 D: Deserializer<'de>,
5191 {
5192 Ok(DeserializeWith(serde_with::As::<
5193 serde_with::OneOrMany<serde_with::Same>,
5194 >::deserialize(deserializer)?))
5195 }
5196 }
5197 match map.next_value::<DeserializeWith>() {
5198 Ok(deserialize_with) => deserialize_with.0,
5199 Err(err) => {
5200 return Err(err);
5201 }
5202 }
5203 });
5204 }
5205 Field::Iso6523Code => {
5206 if r#iso_6523_code_property.is_some() {
5207 return Err(<A::Error as de::Error>::duplicate_field(
5208 "iso6523Code",
5209 ));
5210 }
5211 r#iso_6523_code_property = Some({
5212 struct DeserializeWith(Vec<Iso6523CodeProperty>);
5213 impl<'de> Deserialize<'de> for DeserializeWith {
5214 fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
5215 where
5216 D: Deserializer<'de>,
5217 {
5218 Ok(DeserializeWith(serde_with::As::<
5219 serde_with::OneOrMany<serde_with::Same>,
5220 >::deserialize(deserializer)?))
5221 }
5222 }
5223 match map.next_value::<DeserializeWith>() {
5224 Ok(deserialize_with) => deserialize_with.0,
5225 Err(err) => {
5226 return Err(err);
5227 }
5228 }
5229 });
5230 }
5231 Field::Keywords => {
5232 if r#keywords_property.is_some() {
5233 return Err(<A::Error as de::Error>::duplicate_field(
5234 "keywords",
5235 ));
5236 }
5237 r#keywords_property = Some({
5238 struct DeserializeWith(Vec<KeywordsProperty>);
5239 impl<'de> Deserialize<'de> for DeserializeWith {
5240 fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
5241 where
5242 D: Deserializer<'de>,
5243 {
5244 Ok(DeserializeWith(serde_with::As::<
5245 serde_with::OneOrMany<serde_with::Same>,
5246 >::deserialize(deserializer)?))
5247 }
5248 }
5249 match map.next_value::<DeserializeWith>() {
5250 Ok(deserialize_with) => deserialize_with.0,
5251 Err(err) => {
5252 return Err(err);
5253 }
5254 }
5255 });
5256 }
5257 Field::KnowsAbout => {
5258 if r#knows_about_property.is_some() {
5259 return Err(<A::Error as de::Error>::duplicate_field(
5260 "knowsAbout",
5261 ));
5262 }
5263 r#knows_about_property = Some({
5264 struct DeserializeWith(Vec<KnowsAboutProperty>);
5265 impl<'de> Deserialize<'de> for DeserializeWith {
5266 fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
5267 where
5268 D: Deserializer<'de>,
5269 {
5270 Ok(DeserializeWith(serde_with::As::<
5271 serde_with::OneOrMany<serde_with::Same>,
5272 >::deserialize(deserializer)?))
5273 }
5274 }
5275 match map.next_value::<DeserializeWith>() {
5276 Ok(deserialize_with) => deserialize_with.0,
5277 Err(err) => {
5278 return Err(err);
5279 }
5280 }
5281 });
5282 }
5283 Field::KnowsLanguage => {
5284 if r#knows_language_property.is_some() {
5285 return Err(<A::Error as de::Error>::duplicate_field(
5286 "knowsLanguage",
5287 ));
5288 }
5289 r#knows_language_property = Some({
5290 struct DeserializeWith(Vec<KnowsLanguageProperty>);
5291 impl<'de> Deserialize<'de> for DeserializeWith {
5292 fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
5293 where
5294 D: Deserializer<'de>,
5295 {
5296 Ok(DeserializeWith(serde_with::As::<
5297 serde_with::OneOrMany<serde_with::Same>,
5298 >::deserialize(deserializer)?))
5299 }
5300 }
5301 match map.next_value::<DeserializeWith>() {
5302 Ok(deserialize_with) => deserialize_with.0,
5303 Err(err) => {
5304 return Err(err);
5305 }
5306 }
5307 });
5308 }
5309 Field::LegalName => {
5310 if r#legal_name_property.is_some() {
5311 return Err(<A::Error as de::Error>::duplicate_field(
5312 "legalName",
5313 ));
5314 }
5315 r#legal_name_property = Some({
5316 struct DeserializeWith(Vec<LegalNameProperty>);
5317 impl<'de> Deserialize<'de> for DeserializeWith {
5318 fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
5319 where
5320 D: Deserializer<'de>,
5321 {
5322 Ok(DeserializeWith(serde_with::As::<
5323 serde_with::OneOrMany<serde_with::Same>,
5324 >::deserialize(deserializer)?))
5325 }
5326 }
5327 match map.next_value::<DeserializeWith>() {
5328 Ok(deserialize_with) => deserialize_with.0,
5329 Err(err) => {
5330 return Err(err);
5331 }
5332 }
5333 });
5334 }
5335 Field::LeiCode => {
5336 if r#lei_code_property.is_some() {
5337 return Err(<A::Error as de::Error>::duplicate_field(
5338 "leiCode",
5339 ));
5340 }
5341 r#lei_code_property = Some({
5342 struct DeserializeWith(Vec<LeiCodeProperty>);
5343 impl<'de> Deserialize<'de> for DeserializeWith {
5344 fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
5345 where
5346 D: Deserializer<'de>,
5347 {
5348 Ok(DeserializeWith(serde_with::As::<
5349 serde_with::OneOrMany<serde_with::Same>,
5350 >::deserialize(deserializer)?))
5351 }
5352 }
5353 match map.next_value::<DeserializeWith>() {
5354 Ok(deserialize_with) => deserialize_with.0,
5355 Err(err) => {
5356 return Err(err);
5357 }
5358 }
5359 });
5360 }
5361 Field::Location => {
5362 if r#location_property.is_some() {
5363 return Err(<A::Error as de::Error>::duplicate_field(
5364 "location",
5365 ));
5366 }
5367 r#location_property = Some({
5368 struct DeserializeWith(Vec<LocationProperty>);
5369 impl<'de> Deserialize<'de> for DeserializeWith {
5370 fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
5371 where
5372 D: Deserializer<'de>,
5373 {
5374 Ok(DeserializeWith(serde_with::As::<
5375 serde_with::OneOrMany<serde_with::Same>,
5376 >::deserialize(deserializer)?))
5377 }
5378 }
5379 match map.next_value::<DeserializeWith>() {
5380 Ok(deserialize_with) => deserialize_with.0,
5381 Err(err) => {
5382 return Err(err);
5383 }
5384 }
5385 });
5386 }
5387 Field::Logo => {
5388 if r#logo_property.is_some() {
5389 return Err(<A::Error as de::Error>::duplicate_field("logo"));
5390 }
5391 r#logo_property = Some({
5392 struct DeserializeWith(Vec<LogoProperty>);
5393 impl<'de> Deserialize<'de> for DeserializeWith {
5394 fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
5395 where
5396 D: Deserializer<'de>,
5397 {
5398 Ok(DeserializeWith(serde_with::As::<
5399 serde_with::OneOrMany<serde_with::Same>,
5400 >::deserialize(deserializer)?))
5401 }
5402 }
5403 match map.next_value::<DeserializeWith>() {
5404 Ok(deserialize_with) => deserialize_with.0,
5405 Err(err) => {
5406 return Err(err);
5407 }
5408 }
5409 });
5410 }
5411 Field::MakesOffer => {
5412 if r#makes_offer_property.is_some() {
5413 return Err(<A::Error as de::Error>::duplicate_field(
5414 "makesOffer",
5415 ));
5416 }
5417 r#makes_offer_property = Some({
5418 struct DeserializeWith(Vec<MakesOfferProperty>);
5419 impl<'de> Deserialize<'de> for DeserializeWith {
5420 fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
5421 where
5422 D: Deserializer<'de>,
5423 {
5424 Ok(DeserializeWith(serde_with::As::<
5425 serde_with::OneOrMany<serde_with::Same>,
5426 >::deserialize(deserializer)?))
5427 }
5428 }
5429 match map.next_value::<DeserializeWith>() {
5430 Ok(deserialize_with) => deserialize_with.0,
5431 Err(err) => {
5432 return Err(err);
5433 }
5434 }
5435 });
5436 }
5437 Field::Member => {
5438 if r#member_property.is_some() {
5439 return Err(<A::Error as de::Error>::duplicate_field("member"));
5440 }
5441 r#member_property = Some({
5442 struct DeserializeWith(Vec<MemberProperty>);
5443 impl<'de> Deserialize<'de> for DeserializeWith {
5444 fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
5445 where
5446 D: Deserializer<'de>,
5447 {
5448 Ok(DeserializeWith(serde_with::As::<
5449 serde_with::OneOrMany<serde_with::Same>,
5450 >::deserialize(deserializer)?))
5451 }
5452 }
5453 match map.next_value::<DeserializeWith>() {
5454 Ok(deserialize_with) => deserialize_with.0,
5455 Err(err) => {
5456 return Err(err);
5457 }
5458 }
5459 });
5460 }
5461 Field::MemberOf => {
5462 if r#member_of_property.is_some() {
5463 return Err(<A::Error as de::Error>::duplicate_field(
5464 "memberOf",
5465 ));
5466 }
5467 r#member_of_property = Some({
5468 struct DeserializeWith(Vec<MemberOfProperty>);
5469 impl<'de> Deserialize<'de> for DeserializeWith {
5470 fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
5471 where
5472 D: Deserializer<'de>,
5473 {
5474 Ok(DeserializeWith(serde_with::As::<
5475 serde_with::OneOrMany<serde_with::Same>,
5476 >::deserialize(deserializer)?))
5477 }
5478 }
5479 match map.next_value::<DeserializeWith>() {
5480 Ok(deserialize_with) => deserialize_with.0,
5481 Err(err) => {
5482 return Err(err);
5483 }
5484 }
5485 });
5486 }
5487 Field::Members => {
5488 if r#members_property.is_some() {
5489 return Err(<A::Error as de::Error>::duplicate_field(
5490 "members",
5491 ));
5492 }
5493 r#members_property = Some({
5494 struct DeserializeWith(Vec<MembersProperty>);
5495 impl<'de> Deserialize<'de> for DeserializeWith {
5496 fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
5497 where
5498 D: Deserializer<'de>,
5499 {
5500 Ok(DeserializeWith(serde_with::As::<
5501 serde_with::OneOrMany<serde_with::Same>,
5502 >::deserialize(deserializer)?))
5503 }
5504 }
5505 match map.next_value::<DeserializeWith>() {
5506 Ok(deserialize_with) => deserialize_with.0,
5507 Err(err) => {
5508 return Err(err);
5509 }
5510 }
5511 });
5512 }
5513 Field::Naics => {
5514 if r#naics_property.is_some() {
5515 return Err(<A::Error as de::Error>::duplicate_field("naics"));
5516 }
5517 r#naics_property = Some({
5518 struct DeserializeWith(Vec<NaicsProperty>);
5519 impl<'de> Deserialize<'de> for DeserializeWith {
5520 fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
5521 where
5522 D: Deserializer<'de>,
5523 {
5524 Ok(DeserializeWith(serde_with::As::<
5525 serde_with::OneOrMany<serde_with::Same>,
5526 >::deserialize(deserializer)?))
5527 }
5528 }
5529 match map.next_value::<DeserializeWith>() {
5530 Ok(deserialize_with) => deserialize_with.0,
5531 Err(err) => {
5532 return Err(err);
5533 }
5534 }
5535 });
5536 }
5537 Field::NonprofitStatus => {
5538 if r#nonprofit_status_property.is_some() {
5539 return Err(<A::Error as de::Error>::duplicate_field(
5540 "nonprofitStatus",
5541 ));
5542 }
5543 r#nonprofit_status_property = Some({
5544 struct DeserializeWith(Vec<NonprofitStatusProperty>);
5545 impl<'de> Deserialize<'de> for DeserializeWith {
5546 fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
5547 where
5548 D: Deserializer<'de>,
5549 {
5550 Ok(DeserializeWith(serde_with::As::<
5551 serde_with::OneOrMany<serde_with::Same>,
5552 >::deserialize(deserializer)?))
5553 }
5554 }
5555 match map.next_value::<DeserializeWith>() {
5556 Ok(deserialize_with) => deserialize_with.0,
5557 Err(err) => {
5558 return Err(err);
5559 }
5560 }
5561 });
5562 }
5563 Field::NumberOfEmployees => {
5564 if r#number_of_employees_property.is_some() {
5565 return Err(<A::Error as de::Error>::duplicate_field(
5566 "numberOfEmployees",
5567 ));
5568 }
5569 r#number_of_employees_property = Some({
5570 struct DeserializeWith(Vec<NumberOfEmployeesProperty>);
5571 impl<'de> Deserialize<'de> for DeserializeWith {
5572 fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
5573 where
5574 D: Deserializer<'de>,
5575 {
5576 Ok(DeserializeWith(serde_with::As::<
5577 serde_with::OneOrMany<serde_with::Same>,
5578 >::deserialize(deserializer)?))
5579 }
5580 }
5581 match map.next_value::<DeserializeWith>() {
5582 Ok(deserialize_with) => deserialize_with.0,
5583 Err(err) => {
5584 return Err(err);
5585 }
5586 }
5587 });
5588 }
5589 Field::OwnershipFundingInfo => {
5590 if r#ownership_funding_info_property.is_some() {
5591 return Err(<A::Error as de::Error>::duplicate_field(
5592 "ownershipFundingInfo",
5593 ));
5594 }
5595 r#ownership_funding_info_property = Some({
5596 struct DeserializeWith(Vec<OwnershipFundingInfoProperty>);
5597 impl<'de> Deserialize<'de> for DeserializeWith {
5598 fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
5599 where
5600 D: Deserializer<'de>,
5601 {
5602 Ok(DeserializeWith(serde_with::As::<
5603 serde_with::OneOrMany<serde_with::Same>,
5604 >::deserialize(deserializer)?))
5605 }
5606 }
5607 match map.next_value::<DeserializeWith>() {
5608 Ok(deserialize_with) => deserialize_with.0,
5609 Err(err) => {
5610 return Err(err);
5611 }
5612 }
5613 });
5614 }
5615 Field::Owns => {
5616 if r#owns_property.is_some() {
5617 return Err(<A::Error as de::Error>::duplicate_field("owns"));
5618 }
5619 r#owns_property = Some({
5620 struct DeserializeWith(Vec<OwnsProperty>);
5621 impl<'de> Deserialize<'de> for DeserializeWith {
5622 fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
5623 where
5624 D: Deserializer<'de>,
5625 {
5626 Ok(DeserializeWith(serde_with::As::<
5627 serde_with::OneOrMany<serde_with::Same>,
5628 >::deserialize(deserializer)?))
5629 }
5630 }
5631 match map.next_value::<DeserializeWith>() {
5632 Ok(deserialize_with) => deserialize_with.0,
5633 Err(err) => {
5634 return Err(err);
5635 }
5636 }
5637 });
5638 }
5639 Field::ParentOrganization => {
5640 if r#parent_organization_property.is_some() {
5641 return Err(<A::Error as de::Error>::duplicate_field(
5642 "parentOrganization",
5643 ));
5644 }
5645 r#parent_organization_property = Some({
5646 struct DeserializeWith(Vec<ParentOrganizationProperty>);
5647 impl<'de> Deserialize<'de> for DeserializeWith {
5648 fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
5649 where
5650 D: Deserializer<'de>,
5651 {
5652 Ok(DeserializeWith(serde_with::As::<
5653 serde_with::OneOrMany<serde_with::Same>,
5654 >::deserialize(deserializer)?))
5655 }
5656 }
5657 match map.next_value::<DeserializeWith>() {
5658 Ok(deserialize_with) => deserialize_with.0,
5659 Err(err) => {
5660 return Err(err);
5661 }
5662 }
5663 });
5664 }
5665 Field::PublishingPrinciples => {
5666 if r#publishing_principles_property.is_some() {
5667 return Err(<A::Error as de::Error>::duplicate_field(
5668 "publishingPrinciples",
5669 ));
5670 }
5671 r#publishing_principles_property = Some({
5672 struct DeserializeWith(Vec<PublishingPrinciplesProperty>);
5673 impl<'de> Deserialize<'de> for DeserializeWith {
5674 fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
5675 where
5676 D: Deserializer<'de>,
5677 {
5678 Ok(DeserializeWith(serde_with::As::<
5679 serde_with::OneOrMany<serde_with::Same>,
5680 >::deserialize(deserializer)?))
5681 }
5682 }
5683 match map.next_value::<DeserializeWith>() {
5684 Ok(deserialize_with) => deserialize_with.0,
5685 Err(err) => {
5686 return Err(err);
5687 }
5688 }
5689 });
5690 }
5691 Field::Review => {
5692 if r#review_property.is_some() {
5693 return Err(<A::Error as de::Error>::duplicate_field("review"));
5694 }
5695 r#review_property = Some({
5696 struct DeserializeWith(Vec<ReviewProperty>);
5697 impl<'de> Deserialize<'de> for DeserializeWith {
5698 fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
5699 where
5700 D: Deserializer<'de>,
5701 {
5702 Ok(DeserializeWith(serde_with::As::<
5703 serde_with::OneOrMany<serde_with::Same>,
5704 >::deserialize(deserializer)?))
5705 }
5706 }
5707 match map.next_value::<DeserializeWith>() {
5708 Ok(deserialize_with) => deserialize_with.0,
5709 Err(err) => {
5710 return Err(err);
5711 }
5712 }
5713 });
5714 }
5715 Field::Reviews => {
5716 if r#reviews_property.is_some() {
5717 return Err(<A::Error as de::Error>::duplicate_field(
5718 "reviews",
5719 ));
5720 }
5721 r#reviews_property = Some({
5722 struct DeserializeWith(Vec<ReviewsProperty>);
5723 impl<'de> Deserialize<'de> for DeserializeWith {
5724 fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
5725 where
5726 D: Deserializer<'de>,
5727 {
5728 Ok(DeserializeWith(serde_with::As::<
5729 serde_with::OneOrMany<serde_with::Same>,
5730 >::deserialize(deserializer)?))
5731 }
5732 }
5733 match map.next_value::<DeserializeWith>() {
5734 Ok(deserialize_with) => deserialize_with.0,
5735 Err(err) => {
5736 return Err(err);
5737 }
5738 }
5739 });
5740 }
5741 Field::Seeks => {
5742 if r#seeks_property.is_some() {
5743 return Err(<A::Error as de::Error>::duplicate_field("seeks"));
5744 }
5745 r#seeks_property = Some({
5746 struct DeserializeWith(Vec<SeeksProperty>);
5747 impl<'de> Deserialize<'de> for DeserializeWith {
5748 fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
5749 where
5750 D: Deserializer<'de>,
5751 {
5752 Ok(DeserializeWith(serde_with::As::<
5753 serde_with::OneOrMany<serde_with::Same>,
5754 >::deserialize(deserializer)?))
5755 }
5756 }
5757 match map.next_value::<DeserializeWith>() {
5758 Ok(deserialize_with) => deserialize_with.0,
5759 Err(err) => {
5760 return Err(err);
5761 }
5762 }
5763 });
5764 }
5765 Field::ServiceArea => {
5766 if r#service_area_property.is_some() {
5767 return Err(<A::Error as de::Error>::duplicate_field(
5768 "serviceArea",
5769 ));
5770 }
5771 r#service_area_property = Some({
5772 struct DeserializeWith(Vec<ServiceAreaProperty>);
5773 impl<'de> Deserialize<'de> for DeserializeWith {
5774 fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
5775 where
5776 D: Deserializer<'de>,
5777 {
5778 Ok(DeserializeWith(serde_with::As::<
5779 serde_with::OneOrMany<serde_with::Same>,
5780 >::deserialize(deserializer)?))
5781 }
5782 }
5783 match map.next_value::<DeserializeWith>() {
5784 Ok(deserialize_with) => deserialize_with.0,
5785 Err(err) => {
5786 return Err(err);
5787 }
5788 }
5789 });
5790 }
5791 Field::Slogan => {
5792 if r#slogan_property.is_some() {
5793 return Err(<A::Error as de::Error>::duplicate_field("slogan"));
5794 }
5795 r#slogan_property = Some({
5796 struct DeserializeWith(Vec<SloganProperty>);
5797 impl<'de> Deserialize<'de> for DeserializeWith {
5798 fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
5799 where
5800 D: Deserializer<'de>,
5801 {
5802 Ok(DeserializeWith(serde_with::As::<
5803 serde_with::OneOrMany<serde_with::Same>,
5804 >::deserialize(deserializer)?))
5805 }
5806 }
5807 match map.next_value::<DeserializeWith>() {
5808 Ok(deserialize_with) => deserialize_with.0,
5809 Err(err) => {
5810 return Err(err);
5811 }
5812 }
5813 });
5814 }
5815 Field::Sponsor => {
5816 if r#sponsor_property.is_some() {
5817 return Err(<A::Error as de::Error>::duplicate_field(
5818 "sponsor",
5819 ));
5820 }
5821 r#sponsor_property = Some({
5822 struct DeserializeWith(Vec<SponsorProperty>);
5823 impl<'de> Deserialize<'de> for DeserializeWith {
5824 fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
5825 where
5826 D: Deserializer<'de>,
5827 {
5828 Ok(DeserializeWith(serde_with::As::<
5829 serde_with::OneOrMany<serde_with::Same>,
5830 >::deserialize(deserializer)?))
5831 }
5832 }
5833 match map.next_value::<DeserializeWith>() {
5834 Ok(deserialize_with) => deserialize_with.0,
5835 Err(err) => {
5836 return Err(err);
5837 }
5838 }
5839 });
5840 }
5841 Field::SubOrganization => {
5842 if r#sub_organization_property.is_some() {
5843 return Err(<A::Error as de::Error>::duplicate_field(
5844 "subOrganization",
5845 ));
5846 }
5847 r#sub_organization_property = Some({
5848 struct DeserializeWith(Vec<SubOrganizationProperty>);
5849 impl<'de> Deserialize<'de> for DeserializeWith {
5850 fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
5851 where
5852 D: Deserializer<'de>,
5853 {
5854 Ok(DeserializeWith(serde_with::As::<
5855 serde_with::OneOrMany<serde_with::Same>,
5856 >::deserialize(deserializer)?))
5857 }
5858 }
5859 match map.next_value::<DeserializeWith>() {
5860 Ok(deserialize_with) => deserialize_with.0,
5861 Err(err) => {
5862 return Err(err);
5863 }
5864 }
5865 });
5866 }
5867 Field::TaxId => {
5868 if r#tax_id_property.is_some() {
5869 return Err(<A::Error as de::Error>::duplicate_field("taxID"));
5870 }
5871 r#tax_id_property = Some({
5872 struct DeserializeWith(Vec<TaxIdProperty>);
5873 impl<'de> Deserialize<'de> for DeserializeWith {
5874 fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
5875 where
5876 D: Deserializer<'de>,
5877 {
5878 Ok(DeserializeWith(serde_with::As::<
5879 serde_with::OneOrMany<serde_with::Same>,
5880 >::deserialize(deserializer)?))
5881 }
5882 }
5883 match map.next_value::<DeserializeWith>() {
5884 Ok(deserialize_with) => deserialize_with.0,
5885 Err(err) => {
5886 return Err(err);
5887 }
5888 }
5889 });
5890 }
5891 Field::Telephone => {
5892 if r#telephone_property.is_some() {
5893 return Err(<A::Error as de::Error>::duplicate_field(
5894 "telephone",
5895 ));
5896 }
5897 r#telephone_property = Some({
5898 struct DeserializeWith(Vec<TelephoneProperty>);
5899 impl<'de> Deserialize<'de> for DeserializeWith {
5900 fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
5901 where
5902 D: Deserializer<'de>,
5903 {
5904 Ok(DeserializeWith(serde_with::As::<
5905 serde_with::OneOrMany<serde_with::Same>,
5906 >::deserialize(deserializer)?))
5907 }
5908 }
5909 match map.next_value::<DeserializeWith>() {
5910 Ok(deserialize_with) => deserialize_with.0,
5911 Err(err) => {
5912 return Err(err);
5913 }
5914 }
5915 });
5916 }
5917 Field::UnnamedSourcesPolicy => {
5918 if r#unnamed_sources_policy_property.is_some() {
5919 return Err(<A::Error as de::Error>::duplicate_field(
5920 "unnamedSourcesPolicy",
5921 ));
5922 }
5923 r#unnamed_sources_policy_property = Some({
5924 struct DeserializeWith(Vec<UnnamedSourcesPolicyProperty>);
5925 impl<'de> Deserialize<'de> for DeserializeWith {
5926 fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
5927 where
5928 D: Deserializer<'de>,
5929 {
5930 Ok(DeserializeWith(serde_with::As::<
5931 serde_with::OneOrMany<serde_with::Same>,
5932 >::deserialize(deserializer)?))
5933 }
5934 }
5935 match map.next_value::<DeserializeWith>() {
5936 Ok(deserialize_with) => deserialize_with.0,
5937 Err(err) => {
5938 return Err(err);
5939 }
5940 }
5941 });
5942 }
5943 Field::VatId => {
5944 if r#vat_id_property.is_some() {
5945 return Err(<A::Error as de::Error>::duplicate_field("vatID"));
5946 }
5947 r#vat_id_property = Some({
5948 struct DeserializeWith(Vec<VatIdProperty>);
5949 impl<'de> Deserialize<'de> for DeserializeWith {
5950 fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
5951 where
5952 D: Deserializer<'de>,
5953 {
5954 Ok(DeserializeWith(serde_with::As::<
5955 serde_with::OneOrMany<serde_with::Same>,
5956 >::deserialize(deserializer)?))
5957 }
5958 }
5959 match map.next_value::<DeserializeWith>() {
5960 Ok(deserialize_with) => deserialize_with.0,
5961 Err(err) => {
5962 return Err(err);
5963 }
5964 }
5965 });
5966 }
5967 Field::AdditionalProperty => {
5968 if r#additional_property_property.is_some() {
5969 return Err(<A::Error as de::Error>::duplicate_field(
5970 "additionalProperty",
5971 ));
5972 }
5973 r#additional_property_property = Some({
5974 struct DeserializeWith(Vec<AdditionalPropertyProperty>);
5975 impl<'de> Deserialize<'de> for DeserializeWith {
5976 fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
5977 where
5978 D: Deserializer<'de>,
5979 {
5980 Ok(DeserializeWith(serde_with::As::<
5981 serde_with::OneOrMany<serde_with::Same>,
5982 >::deserialize(deserializer)?))
5983 }
5984 }
5985 match map.next_value::<DeserializeWith>() {
5986 Ok(deserialize_with) => deserialize_with.0,
5987 Err(err) => {
5988 return Err(err);
5989 }
5990 }
5991 });
5992 }
5993 Field::AmenityFeature => {
5994 if r#amenity_feature_property.is_some() {
5995 return Err(<A::Error as de::Error>::duplicate_field(
5996 "amenityFeature",
5997 ));
5998 }
5999 r#amenity_feature_property = Some({
6000 struct DeserializeWith(Vec<AmenityFeatureProperty>);
6001 impl<'de> Deserialize<'de> for DeserializeWith {
6002 fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
6003 where
6004 D: Deserializer<'de>,
6005 {
6006 Ok(DeserializeWith(serde_with::As::<
6007 serde_with::OneOrMany<serde_with::Same>,
6008 >::deserialize(deserializer)?))
6009 }
6010 }
6011 match map.next_value::<DeserializeWith>() {
6012 Ok(deserialize_with) => deserialize_with.0,
6013 Err(err) => {
6014 return Err(err);
6015 }
6016 }
6017 });
6018 }
6019 Field::BranchCode => {
6020 if r#branch_code_property.is_some() {
6021 return Err(<A::Error as de::Error>::duplicate_field(
6022 "branchCode",
6023 ));
6024 }
6025 r#branch_code_property = Some({
6026 struct DeserializeWith(Vec<BranchCodeProperty>);
6027 impl<'de> Deserialize<'de> for DeserializeWith {
6028 fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
6029 where
6030 D: Deserializer<'de>,
6031 {
6032 Ok(DeserializeWith(serde_with::As::<
6033 serde_with::OneOrMany<serde_with::Same>,
6034 >::deserialize(deserializer)?))
6035 }
6036 }
6037 match map.next_value::<DeserializeWith>() {
6038 Ok(deserialize_with) => deserialize_with.0,
6039 Err(err) => {
6040 return Err(err);
6041 }
6042 }
6043 });
6044 }
6045 Field::ContainedIn => {
6046 if r#contained_in_property.is_some() {
6047 return Err(<A::Error as de::Error>::duplicate_field(
6048 "containedIn",
6049 ));
6050 }
6051 r#contained_in_property = Some({
6052 struct DeserializeWith(Vec<ContainedInProperty>);
6053 impl<'de> Deserialize<'de> for DeserializeWith {
6054 fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
6055 where
6056 D: Deserializer<'de>,
6057 {
6058 Ok(DeserializeWith(serde_with::As::<
6059 serde_with::OneOrMany<serde_with::Same>,
6060 >::deserialize(deserializer)?))
6061 }
6062 }
6063 match map.next_value::<DeserializeWith>() {
6064 Ok(deserialize_with) => deserialize_with.0,
6065 Err(err) => {
6066 return Err(err);
6067 }
6068 }
6069 });
6070 }
6071 Field::ContainedInPlace => {
6072 if r#contained_in_place_property.is_some() {
6073 return Err(<A::Error as de::Error>::duplicate_field(
6074 "containedInPlace",
6075 ));
6076 }
6077 r#contained_in_place_property = Some({
6078 struct DeserializeWith(Vec<ContainedInPlaceProperty>);
6079 impl<'de> Deserialize<'de> for DeserializeWith {
6080 fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
6081 where
6082 D: Deserializer<'de>,
6083 {
6084 Ok(DeserializeWith(serde_with::As::<
6085 serde_with::OneOrMany<serde_with::Same>,
6086 >::deserialize(deserializer)?))
6087 }
6088 }
6089 match map.next_value::<DeserializeWith>() {
6090 Ok(deserialize_with) => deserialize_with.0,
6091 Err(err) => {
6092 return Err(err);
6093 }
6094 }
6095 });
6096 }
6097 Field::ContainsPlace => {
6098 if r#contains_place_property.is_some() {
6099 return Err(<A::Error as de::Error>::duplicate_field(
6100 "containsPlace",
6101 ));
6102 }
6103 r#contains_place_property = Some({
6104 struct DeserializeWith(Vec<ContainsPlaceProperty>);
6105 impl<'de> Deserialize<'de> for DeserializeWith {
6106 fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
6107 where
6108 D: Deserializer<'de>,
6109 {
6110 Ok(DeserializeWith(serde_with::As::<
6111 serde_with::OneOrMany<serde_with::Same>,
6112 >::deserialize(deserializer)?))
6113 }
6114 }
6115 match map.next_value::<DeserializeWith>() {
6116 Ok(deserialize_with) => deserialize_with.0,
6117 Err(err) => {
6118 return Err(err);
6119 }
6120 }
6121 });
6122 }
6123 Field::Geo => {
6124 if r#geo_property.is_some() {
6125 return Err(<A::Error as de::Error>::duplicate_field("geo"));
6126 }
6127 r#geo_property = Some({
6128 struct DeserializeWith(Vec<GeoProperty>);
6129 impl<'de> Deserialize<'de> for DeserializeWith {
6130 fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
6131 where
6132 D: Deserializer<'de>,
6133 {
6134 Ok(DeserializeWith(serde_with::As::<
6135 serde_with::OneOrMany<serde_with::Same>,
6136 >::deserialize(deserializer)?))
6137 }
6138 }
6139 match map.next_value::<DeserializeWith>() {
6140 Ok(deserialize_with) => deserialize_with.0,
6141 Err(err) => {
6142 return Err(err);
6143 }
6144 }
6145 });
6146 }
6147 Field::GeoContains => {
6148 if r#geo_contains_property.is_some() {
6149 return Err(<A::Error as de::Error>::duplicate_field(
6150 "geoContains",
6151 ));
6152 }
6153 r#geo_contains_property = Some({
6154 struct DeserializeWith(Vec<GeoContainsProperty>);
6155 impl<'de> Deserialize<'de> for DeserializeWith {
6156 fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
6157 where
6158 D: Deserializer<'de>,
6159 {
6160 Ok(DeserializeWith(serde_with::As::<
6161 serde_with::OneOrMany<serde_with::Same>,
6162 >::deserialize(deserializer)?))
6163 }
6164 }
6165 match map.next_value::<DeserializeWith>() {
6166 Ok(deserialize_with) => deserialize_with.0,
6167 Err(err) => {
6168 return Err(err);
6169 }
6170 }
6171 });
6172 }
6173 Field::GeoCoveredBy => {
6174 if r#geo_covered_by_property.is_some() {
6175 return Err(<A::Error as de::Error>::duplicate_field(
6176 "geoCoveredBy",
6177 ));
6178 }
6179 r#geo_covered_by_property = Some({
6180 struct DeserializeWith(Vec<GeoCoveredByProperty>);
6181 impl<'de> Deserialize<'de> for DeserializeWith {
6182 fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
6183 where
6184 D: Deserializer<'de>,
6185 {
6186 Ok(DeserializeWith(serde_with::As::<
6187 serde_with::OneOrMany<serde_with::Same>,
6188 >::deserialize(deserializer)?))
6189 }
6190 }
6191 match map.next_value::<DeserializeWith>() {
6192 Ok(deserialize_with) => deserialize_with.0,
6193 Err(err) => {
6194 return Err(err);
6195 }
6196 }
6197 });
6198 }
6199 Field::GeoCovers => {
6200 if r#geo_covers_property.is_some() {
6201 return Err(<A::Error as de::Error>::duplicate_field(
6202 "geoCovers",
6203 ));
6204 }
6205 r#geo_covers_property = Some({
6206 struct DeserializeWith(Vec<GeoCoversProperty>);
6207 impl<'de> Deserialize<'de> for DeserializeWith {
6208 fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
6209 where
6210 D: Deserializer<'de>,
6211 {
6212 Ok(DeserializeWith(serde_with::As::<
6213 serde_with::OneOrMany<serde_with::Same>,
6214 >::deserialize(deserializer)?))
6215 }
6216 }
6217 match map.next_value::<DeserializeWith>() {
6218 Ok(deserialize_with) => deserialize_with.0,
6219 Err(err) => {
6220 return Err(err);
6221 }
6222 }
6223 });
6224 }
6225 Field::GeoCrosses => {
6226 if r#geo_crosses_property.is_some() {
6227 return Err(<A::Error as de::Error>::duplicate_field(
6228 "geoCrosses",
6229 ));
6230 }
6231 r#geo_crosses_property = Some({
6232 struct DeserializeWith(Vec<GeoCrossesProperty>);
6233 impl<'de> Deserialize<'de> for DeserializeWith {
6234 fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
6235 where
6236 D: Deserializer<'de>,
6237 {
6238 Ok(DeserializeWith(serde_with::As::<
6239 serde_with::OneOrMany<serde_with::Same>,
6240 >::deserialize(deserializer)?))
6241 }
6242 }
6243 match map.next_value::<DeserializeWith>() {
6244 Ok(deserialize_with) => deserialize_with.0,
6245 Err(err) => {
6246 return Err(err);
6247 }
6248 }
6249 });
6250 }
6251 Field::GeoDisjoint => {
6252 if r#geo_disjoint_property.is_some() {
6253 return Err(<A::Error as de::Error>::duplicate_field(
6254 "geoDisjoint",
6255 ));
6256 }
6257 r#geo_disjoint_property = Some({
6258 struct DeserializeWith(Vec<GeoDisjointProperty>);
6259 impl<'de> Deserialize<'de> for DeserializeWith {
6260 fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
6261 where
6262 D: Deserializer<'de>,
6263 {
6264 Ok(DeserializeWith(serde_with::As::<
6265 serde_with::OneOrMany<serde_with::Same>,
6266 >::deserialize(deserializer)?))
6267 }
6268 }
6269 match map.next_value::<DeserializeWith>() {
6270 Ok(deserialize_with) => deserialize_with.0,
6271 Err(err) => {
6272 return Err(err);
6273 }
6274 }
6275 });
6276 }
6277 Field::GeoEquals => {
6278 if r#geo_equals_property.is_some() {
6279 return Err(<A::Error as de::Error>::duplicate_field(
6280 "geoEquals",
6281 ));
6282 }
6283 r#geo_equals_property = Some({
6284 struct DeserializeWith(Vec<GeoEqualsProperty>);
6285 impl<'de> Deserialize<'de> for DeserializeWith {
6286 fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
6287 where
6288 D: Deserializer<'de>,
6289 {
6290 Ok(DeserializeWith(serde_with::As::<
6291 serde_with::OneOrMany<serde_with::Same>,
6292 >::deserialize(deserializer)?))
6293 }
6294 }
6295 match map.next_value::<DeserializeWith>() {
6296 Ok(deserialize_with) => deserialize_with.0,
6297 Err(err) => {
6298 return Err(err);
6299 }
6300 }
6301 });
6302 }
6303 Field::GeoIntersects => {
6304 if r#geo_intersects_property.is_some() {
6305 return Err(<A::Error as de::Error>::duplicate_field(
6306 "geoIntersects",
6307 ));
6308 }
6309 r#geo_intersects_property = Some({
6310 struct DeserializeWith(Vec<GeoIntersectsProperty>);
6311 impl<'de> Deserialize<'de> for DeserializeWith {
6312 fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
6313 where
6314 D: Deserializer<'de>,
6315 {
6316 Ok(DeserializeWith(serde_with::As::<
6317 serde_with::OneOrMany<serde_with::Same>,
6318 >::deserialize(deserializer)?))
6319 }
6320 }
6321 match map.next_value::<DeserializeWith>() {
6322 Ok(deserialize_with) => deserialize_with.0,
6323 Err(err) => {
6324 return Err(err);
6325 }
6326 }
6327 });
6328 }
6329 Field::GeoOverlaps => {
6330 if r#geo_overlaps_property.is_some() {
6331 return Err(<A::Error as de::Error>::duplicate_field(
6332 "geoOverlaps",
6333 ));
6334 }
6335 r#geo_overlaps_property = Some({
6336 struct DeserializeWith(Vec<GeoOverlapsProperty>);
6337 impl<'de> Deserialize<'de> for DeserializeWith {
6338 fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
6339 where
6340 D: Deserializer<'de>,
6341 {
6342 Ok(DeserializeWith(serde_with::As::<
6343 serde_with::OneOrMany<serde_with::Same>,
6344 >::deserialize(deserializer)?))
6345 }
6346 }
6347 match map.next_value::<DeserializeWith>() {
6348 Ok(deserialize_with) => deserialize_with.0,
6349 Err(err) => {
6350 return Err(err);
6351 }
6352 }
6353 });
6354 }
6355 Field::GeoTouches => {
6356 if r#geo_touches_property.is_some() {
6357 return Err(<A::Error as de::Error>::duplicate_field(
6358 "geoTouches",
6359 ));
6360 }
6361 r#geo_touches_property = Some({
6362 struct DeserializeWith(Vec<GeoTouchesProperty>);
6363 impl<'de> Deserialize<'de> for DeserializeWith {
6364 fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
6365 where
6366 D: Deserializer<'de>,
6367 {
6368 Ok(DeserializeWith(serde_with::As::<
6369 serde_with::OneOrMany<serde_with::Same>,
6370 >::deserialize(deserializer)?))
6371 }
6372 }
6373 match map.next_value::<DeserializeWith>() {
6374 Ok(deserialize_with) => deserialize_with.0,
6375 Err(err) => {
6376 return Err(err);
6377 }
6378 }
6379 });
6380 }
6381 Field::GeoWithin => {
6382 if r#geo_within_property.is_some() {
6383 return Err(<A::Error as de::Error>::duplicate_field(
6384 "geoWithin",
6385 ));
6386 }
6387 r#geo_within_property = Some({
6388 struct DeserializeWith(Vec<GeoWithinProperty>);
6389 impl<'de> Deserialize<'de> for DeserializeWith {
6390 fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
6391 where
6392 D: Deserializer<'de>,
6393 {
6394 Ok(DeserializeWith(serde_with::As::<
6395 serde_with::OneOrMany<serde_with::Same>,
6396 >::deserialize(deserializer)?))
6397 }
6398 }
6399 match map.next_value::<DeserializeWith>() {
6400 Ok(deserialize_with) => deserialize_with.0,
6401 Err(err) => {
6402 return Err(err);
6403 }
6404 }
6405 });
6406 }
6407 Field::HasDriveThroughService => {
6408 if r#has_drive_through_service_property.is_some() {
6409 return Err(<A::Error as de::Error>::duplicate_field(
6410 "hasDriveThroughService",
6411 ));
6412 }
6413 r#has_drive_through_service_property = Some({
6414 struct DeserializeWith(Vec<HasDriveThroughServiceProperty>);
6415 impl<'de> Deserialize<'de> for DeserializeWith {
6416 fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
6417 where
6418 D: Deserializer<'de>,
6419 {
6420 Ok(DeserializeWith(serde_with::As::<
6421 serde_with::OneOrMany<serde_with::Same>,
6422 >::deserialize(deserializer)?))
6423 }
6424 }
6425 match map.next_value::<DeserializeWith>() {
6426 Ok(deserialize_with) => deserialize_with.0,
6427 Err(err) => {
6428 return Err(err);
6429 }
6430 }
6431 });
6432 }
6433 Field::HasMap => {
6434 if r#has_map_property.is_some() {
6435 return Err(<A::Error as de::Error>::duplicate_field("hasMap"));
6436 }
6437 r#has_map_property = Some({
6438 struct DeserializeWith(Vec<HasMapProperty>);
6439 impl<'de> Deserialize<'de> for DeserializeWith {
6440 fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
6441 where
6442 D: Deserializer<'de>,
6443 {
6444 Ok(DeserializeWith(serde_with::As::<
6445 serde_with::OneOrMany<serde_with::Same>,
6446 >::deserialize(deserializer)?))
6447 }
6448 }
6449 match map.next_value::<DeserializeWith>() {
6450 Ok(deserialize_with) => deserialize_with.0,
6451 Err(err) => {
6452 return Err(err);
6453 }
6454 }
6455 });
6456 }
6457 Field::IsAccessibleForFree => {
6458 if r#is_accessible_for_free_property.is_some() {
6459 return Err(<A::Error as de::Error>::duplicate_field(
6460 "isAccessibleForFree",
6461 ));
6462 }
6463 r#is_accessible_for_free_property = Some({
6464 struct DeserializeWith(Vec<IsAccessibleForFreeProperty>);
6465 impl<'de> Deserialize<'de> for DeserializeWith {
6466 fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
6467 where
6468 D: Deserializer<'de>,
6469 {
6470 Ok(DeserializeWith(serde_with::As::<
6471 serde_with::OneOrMany<serde_with::Same>,
6472 >::deserialize(deserializer)?))
6473 }
6474 }
6475 match map.next_value::<DeserializeWith>() {
6476 Ok(deserialize_with) => deserialize_with.0,
6477 Err(err) => {
6478 return Err(err);
6479 }
6480 }
6481 });
6482 }
6483 Field::Latitude => {
6484 if r#latitude_property.is_some() {
6485 return Err(<A::Error as de::Error>::duplicate_field(
6486 "latitude",
6487 ));
6488 }
6489 r#latitude_property = Some({
6490 struct DeserializeWith(Vec<LatitudeProperty>);
6491 impl<'de> Deserialize<'de> for DeserializeWith {
6492 fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
6493 where
6494 D: Deserializer<'de>,
6495 {
6496 Ok(DeserializeWith(serde_with::As::<
6497 serde_with::OneOrMany<serde_with::Same>,
6498 >::deserialize(deserializer)?))
6499 }
6500 }
6501 match map.next_value::<DeserializeWith>() {
6502 Ok(deserialize_with) => deserialize_with.0,
6503 Err(err) => {
6504 return Err(err);
6505 }
6506 }
6507 });
6508 }
6509 Field::Longitude => {
6510 if r#longitude_property.is_some() {
6511 return Err(<A::Error as de::Error>::duplicate_field(
6512 "longitude",
6513 ));
6514 }
6515 r#longitude_property = Some({
6516 struct DeserializeWith(Vec<LongitudeProperty>);
6517 impl<'de> Deserialize<'de> for DeserializeWith {
6518 fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
6519 where
6520 D: Deserializer<'de>,
6521 {
6522 Ok(DeserializeWith(serde_with::As::<
6523 serde_with::OneOrMany<serde_with::Same>,
6524 >::deserialize(deserializer)?))
6525 }
6526 }
6527 match map.next_value::<DeserializeWith>() {
6528 Ok(deserialize_with) => deserialize_with.0,
6529 Err(err) => {
6530 return Err(err);
6531 }
6532 }
6533 });
6534 }
6535 Field::Map => {
6536 if r#map_property.is_some() {
6537 return Err(<A::Error as de::Error>::duplicate_field("map"));
6538 }
6539 r#map_property = Some({
6540 struct DeserializeWith(Vec<MapProperty>);
6541 impl<'de> Deserialize<'de> for DeserializeWith {
6542 fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
6543 where
6544 D: Deserializer<'de>,
6545 {
6546 Ok(DeserializeWith(serde_with::As::<
6547 serde_with::OneOrMany<serde_with::Same>,
6548 >::deserialize(deserializer)?))
6549 }
6550 }
6551 match map.next_value::<DeserializeWith>() {
6552 Ok(deserialize_with) => deserialize_with.0,
6553 Err(err) => {
6554 return Err(err);
6555 }
6556 }
6557 });
6558 }
6559 Field::Maps => {
6560 if r#maps_property.is_some() {
6561 return Err(<A::Error as de::Error>::duplicate_field("maps"));
6562 }
6563 r#maps_property = Some({
6564 struct DeserializeWith(Vec<MapsProperty>);
6565 impl<'de> Deserialize<'de> for DeserializeWith {
6566 fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
6567 where
6568 D: Deserializer<'de>,
6569 {
6570 Ok(DeserializeWith(serde_with::As::<
6571 serde_with::OneOrMany<serde_with::Same>,
6572 >::deserialize(deserializer)?))
6573 }
6574 }
6575 match map.next_value::<DeserializeWith>() {
6576 Ok(deserialize_with) => deserialize_with.0,
6577 Err(err) => {
6578 return Err(err);
6579 }
6580 }
6581 });
6582 }
6583 Field::MaximumAttendeeCapacity => {
6584 if r#maximum_attendee_capacity_property.is_some() {
6585 return Err(<A::Error as de::Error>::duplicate_field(
6586 "maximumAttendeeCapacity",
6587 ));
6588 }
6589 r#maximum_attendee_capacity_property = Some({
6590 struct DeserializeWith(Vec<MaximumAttendeeCapacityProperty>);
6591 impl<'de> Deserialize<'de> for DeserializeWith {
6592 fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
6593 where
6594 D: Deserializer<'de>,
6595 {
6596 Ok(DeserializeWith(serde_with::As::<
6597 serde_with::OneOrMany<serde_with::Same>,
6598 >::deserialize(deserializer)?))
6599 }
6600 }
6601 match map.next_value::<DeserializeWith>() {
6602 Ok(deserialize_with) => deserialize_with.0,
6603 Err(err) => {
6604 return Err(err);
6605 }
6606 }
6607 });
6608 }
6609 Field::OpeningHoursSpecification => {
6610 if r#opening_hours_specification_property.is_some() {
6611 return Err(<A::Error as de::Error>::duplicate_field(
6612 "openingHoursSpecification",
6613 ));
6614 }
6615 r#opening_hours_specification_property = Some({
6616 struct DeserializeWith(Vec<OpeningHoursSpecificationProperty>);
6617 impl<'de> Deserialize<'de> for DeserializeWith {
6618 fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
6619 where
6620 D: Deserializer<'de>,
6621 {
6622 Ok(DeserializeWith(serde_with::As::<
6623 serde_with::OneOrMany<serde_with::Same>,
6624 >::deserialize(deserializer)?))
6625 }
6626 }
6627 match map.next_value::<DeserializeWith>() {
6628 Ok(deserialize_with) => deserialize_with.0,
6629 Err(err) => {
6630 return Err(err);
6631 }
6632 }
6633 });
6634 }
6635 Field::Photo => {
6636 if r#photo_property.is_some() {
6637 return Err(<A::Error as de::Error>::duplicate_field("photo"));
6638 }
6639 r#photo_property = Some({
6640 struct DeserializeWith(Vec<PhotoProperty>);
6641 impl<'de> Deserialize<'de> for DeserializeWith {
6642 fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
6643 where
6644 D: Deserializer<'de>,
6645 {
6646 Ok(DeserializeWith(serde_with::As::<
6647 serde_with::OneOrMany<serde_with::Same>,
6648 >::deserialize(deserializer)?))
6649 }
6650 }
6651 match map.next_value::<DeserializeWith>() {
6652 Ok(deserialize_with) => deserialize_with.0,
6653 Err(err) => {
6654 return Err(err);
6655 }
6656 }
6657 });
6658 }
6659 Field::Photos => {
6660 if r#photos_property.is_some() {
6661 return Err(<A::Error as de::Error>::duplicate_field("photos"));
6662 }
6663 r#photos_property = Some({
6664 struct DeserializeWith(Vec<PhotosProperty>);
6665 impl<'de> Deserialize<'de> for DeserializeWith {
6666 fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
6667 where
6668 D: Deserializer<'de>,
6669 {
6670 Ok(DeserializeWith(serde_with::As::<
6671 serde_with::OneOrMany<serde_with::Same>,
6672 >::deserialize(deserializer)?))
6673 }
6674 }
6675 match map.next_value::<DeserializeWith>() {
6676 Ok(deserialize_with) => deserialize_with.0,
6677 Err(err) => {
6678 return Err(err);
6679 }
6680 }
6681 });
6682 }
6683 Field::PublicAccess => {
6684 if r#public_access_property.is_some() {
6685 return Err(<A::Error as de::Error>::duplicate_field(
6686 "publicAccess",
6687 ));
6688 }
6689 r#public_access_property = Some({
6690 struct DeserializeWith(Vec<PublicAccessProperty>);
6691 impl<'de> Deserialize<'de> for DeserializeWith {
6692 fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
6693 where
6694 D: Deserializer<'de>,
6695 {
6696 Ok(DeserializeWith(serde_with::As::<
6697 serde_with::OneOrMany<serde_with::Same>,
6698 >::deserialize(deserializer)?))
6699 }
6700 }
6701 match map.next_value::<DeserializeWith>() {
6702 Ok(deserialize_with) => deserialize_with.0,
6703 Err(err) => {
6704 return Err(err);
6705 }
6706 }
6707 });
6708 }
6709 Field::SmokingAllowed => {
6710 if r#smoking_allowed_property.is_some() {
6711 return Err(<A::Error as de::Error>::duplicate_field(
6712 "smokingAllowed",
6713 ));
6714 }
6715 r#smoking_allowed_property = Some({
6716 struct DeserializeWith(Vec<SmokingAllowedProperty>);
6717 impl<'de> Deserialize<'de> for DeserializeWith {
6718 fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
6719 where
6720 D: Deserializer<'de>,
6721 {
6722 Ok(DeserializeWith(serde_with::As::<
6723 serde_with::OneOrMany<serde_with::Same>,
6724 >::deserialize(deserializer)?))
6725 }
6726 }
6727 match map.next_value::<DeserializeWith>() {
6728 Ok(deserialize_with) => deserialize_with.0,
6729 Err(err) => {
6730 return Err(err);
6731 }
6732 }
6733 });
6734 }
6735 Field::SpecialOpeningHoursSpecification => {
6736 if r#special_opening_hours_specification_property.is_some() {
6737 return Err(<A::Error as de::Error>::duplicate_field(
6738 "specialOpeningHoursSpecification",
6739 ));
6740 }
6741 r#special_opening_hours_specification_property = Some({
6742 struct DeserializeWith(
6743 Vec<SpecialOpeningHoursSpecificationProperty>,
6744 );
6745 impl<'de> Deserialize<'de> for DeserializeWith {
6746 fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
6747 where
6748 D: Deserializer<'de>,
6749 {
6750 Ok(DeserializeWith(serde_with::As::<
6751 serde_with::OneOrMany<serde_with::Same>,
6752 >::deserialize(deserializer)?))
6753 }
6754 }
6755 match map.next_value::<DeserializeWith>() {
6756 Ok(deserialize_with) => deserialize_with.0,
6757 Err(err) => {
6758 return Err(err);
6759 }
6760 }
6761 });
6762 }
6763 Field::TourBookingPage => {
6764 if r#tour_booking_page_property.is_some() {
6765 return Err(<A::Error as de::Error>::duplicate_field(
6766 "tourBookingPage",
6767 ));
6768 }
6769 r#tour_booking_page_property = Some({
6770 struct DeserializeWith(Vec<TourBookingPageProperty>);
6771 impl<'de> Deserialize<'de> for DeserializeWith {
6772 fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
6773 where
6774 D: Deserializer<'de>,
6775 {
6776 Ok(DeserializeWith(serde_with::As::<
6777 serde_with::OneOrMany<serde_with::Same>,
6778 >::deserialize(deserializer)?))
6779 }
6780 }
6781 match map.next_value::<DeserializeWith>() {
6782 Ok(deserialize_with) => deserialize_with.0,
6783 Err(err) => {
6784 return Err(err);
6785 }
6786 }
6787 });
6788 }
6789 Field::AdditionalType => {
6790 if r#additional_type_property.is_some() {
6791 return Err(<A::Error as de::Error>::duplicate_field(
6792 "additionalType",
6793 ));
6794 }
6795 r#additional_type_property = Some({
6796 struct DeserializeWith(Vec<AdditionalTypeProperty>);
6797 impl<'de> Deserialize<'de> for DeserializeWith {
6798 fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
6799 where
6800 D: Deserializer<'de>,
6801 {
6802 Ok(DeserializeWith(serde_with::As::<
6803 serde_with::OneOrMany<serde_with::Same>,
6804 >::deserialize(deserializer)?))
6805 }
6806 }
6807 match map.next_value::<DeserializeWith>() {
6808 Ok(deserialize_with) => deserialize_with.0,
6809 Err(err) => {
6810 return Err(err);
6811 }
6812 }
6813 });
6814 }
6815 Field::AlternateName => {
6816 if r#alternate_name_property.is_some() {
6817 return Err(<A::Error as de::Error>::duplicate_field(
6818 "alternateName",
6819 ));
6820 }
6821 r#alternate_name_property = Some({
6822 struct DeserializeWith(Vec<AlternateNameProperty>);
6823 impl<'de> Deserialize<'de> for DeserializeWith {
6824 fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
6825 where
6826 D: Deserializer<'de>,
6827 {
6828 Ok(DeserializeWith(serde_with::As::<
6829 serde_with::OneOrMany<serde_with::Same>,
6830 >::deserialize(deserializer)?))
6831 }
6832 }
6833 match map.next_value::<DeserializeWith>() {
6834 Ok(deserialize_with) => deserialize_with.0,
6835 Err(err) => {
6836 return Err(err);
6837 }
6838 }
6839 });
6840 }
6841 Field::Description => {
6842 if r#description_property.is_some() {
6843 return Err(<A::Error as de::Error>::duplicate_field(
6844 "description",
6845 ));
6846 }
6847 r#description_property = Some({
6848 struct DeserializeWith(Vec<DescriptionProperty>);
6849 impl<'de> Deserialize<'de> for DeserializeWith {
6850 fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
6851 where
6852 D: Deserializer<'de>,
6853 {
6854 Ok(DeserializeWith(serde_with::As::<
6855 serde_with::OneOrMany<serde_with::Same>,
6856 >::deserialize(deserializer)?))
6857 }
6858 }
6859 match map.next_value::<DeserializeWith>() {
6860 Ok(deserialize_with) => deserialize_with.0,
6861 Err(err) => {
6862 return Err(err);
6863 }
6864 }
6865 });
6866 }
6867 Field::DisambiguatingDescription => {
6868 if r#disambiguating_description_property.is_some() {
6869 return Err(<A::Error as de::Error>::duplicate_field(
6870 "disambiguatingDescription",
6871 ));
6872 }
6873 r#disambiguating_description_property = Some({
6874 struct DeserializeWith(Vec<DisambiguatingDescriptionProperty>);
6875 impl<'de> Deserialize<'de> for DeserializeWith {
6876 fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
6877 where
6878 D: Deserializer<'de>,
6879 {
6880 Ok(DeserializeWith(serde_with::As::<
6881 serde_with::OneOrMany<serde_with::Same>,
6882 >::deserialize(deserializer)?))
6883 }
6884 }
6885 match map.next_value::<DeserializeWith>() {
6886 Ok(deserialize_with) => deserialize_with.0,
6887 Err(err) => {
6888 return Err(err);
6889 }
6890 }
6891 });
6892 }
6893 Field::Identifier => {
6894 if r#identifier_property.is_some() {
6895 return Err(<A::Error as de::Error>::duplicate_field(
6896 "identifier",
6897 ));
6898 }
6899 r#identifier_property = Some({
6900 struct DeserializeWith(Vec<IdentifierProperty>);
6901 impl<'de> Deserialize<'de> for DeserializeWith {
6902 fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
6903 where
6904 D: Deserializer<'de>,
6905 {
6906 Ok(DeserializeWith(serde_with::As::<
6907 serde_with::OneOrMany<serde_with::Same>,
6908 >::deserialize(deserializer)?))
6909 }
6910 }
6911 match map.next_value::<DeserializeWith>() {
6912 Ok(deserialize_with) => deserialize_with.0,
6913 Err(err) => {
6914 return Err(err);
6915 }
6916 }
6917 });
6918 }
6919 Field::Image => {
6920 if r#image_property.is_some() {
6921 return Err(<A::Error as de::Error>::duplicate_field("image"));
6922 }
6923 r#image_property = Some({
6924 struct DeserializeWith(Vec<ImageProperty>);
6925 impl<'de> Deserialize<'de> for DeserializeWith {
6926 fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
6927 where
6928 D: Deserializer<'de>,
6929 {
6930 Ok(DeserializeWith(serde_with::As::<
6931 serde_with::OneOrMany<serde_with::Same>,
6932 >::deserialize(deserializer)?))
6933 }
6934 }
6935 match map.next_value::<DeserializeWith>() {
6936 Ok(deserialize_with) => deserialize_with.0,
6937 Err(err) => {
6938 return Err(err);
6939 }
6940 }
6941 });
6942 }
6943 Field::MainEntityOfPage => {
6944 if r#main_entity_of_page_property.is_some() {
6945 return Err(<A::Error as de::Error>::duplicate_field(
6946 "mainEntityOfPage",
6947 ));
6948 }
6949 r#main_entity_of_page_property = Some({
6950 struct DeserializeWith(Vec<MainEntityOfPageProperty>);
6951 impl<'de> Deserialize<'de> for DeserializeWith {
6952 fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
6953 where
6954 D: Deserializer<'de>,
6955 {
6956 Ok(DeserializeWith(serde_with::As::<
6957 serde_with::OneOrMany<serde_with::Same>,
6958 >::deserialize(deserializer)?))
6959 }
6960 }
6961 match map.next_value::<DeserializeWith>() {
6962 Ok(deserialize_with) => deserialize_with.0,
6963 Err(err) => {
6964 return Err(err);
6965 }
6966 }
6967 });
6968 }
6969 Field::Name => {
6970 if r#name_property.is_some() {
6971 return Err(<A::Error as de::Error>::duplicate_field("name"));
6972 }
6973 r#name_property = Some({
6974 struct DeserializeWith(Vec<NameProperty>);
6975 impl<'de> Deserialize<'de> for DeserializeWith {
6976 fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
6977 where
6978 D: Deserializer<'de>,
6979 {
6980 Ok(DeserializeWith(serde_with::As::<
6981 serde_with::OneOrMany<serde_with::Same>,
6982 >::deserialize(deserializer)?))
6983 }
6984 }
6985 match map.next_value::<DeserializeWith>() {
6986 Ok(deserialize_with) => deserialize_with.0,
6987 Err(err) => {
6988 return Err(err);
6989 }
6990 }
6991 });
6992 }
6993 Field::PotentialAction => {
6994 if r#potential_action_property.is_some() {
6995 return Err(<A::Error as de::Error>::duplicate_field(
6996 "potentialAction",
6997 ));
6998 }
6999 r#potential_action_property = Some({
7000 struct DeserializeWith(Vec<PotentialActionProperty>);
7001 impl<'de> Deserialize<'de> for DeserializeWith {
7002 fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
7003 where
7004 D: Deserializer<'de>,
7005 {
7006 Ok(DeserializeWith(serde_with::As::<
7007 serde_with::OneOrMany<serde_with::Same>,
7008 >::deserialize(deserializer)?))
7009 }
7010 }
7011 match map.next_value::<DeserializeWith>() {
7012 Ok(deserialize_with) => deserialize_with.0,
7013 Err(err) => {
7014 return Err(err);
7015 }
7016 }
7017 });
7018 }
7019 Field::SameAs => {
7020 if r#same_as_property.is_some() {
7021 return Err(<A::Error as de::Error>::duplicate_field("sameAs"));
7022 }
7023 r#same_as_property = Some({
7024 struct DeserializeWith(Vec<SameAsProperty>);
7025 impl<'de> Deserialize<'de> for DeserializeWith {
7026 fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
7027 where
7028 D: Deserializer<'de>,
7029 {
7030 Ok(DeserializeWith(serde_with::As::<
7031 serde_with::OneOrMany<serde_with::Same>,
7032 >::deserialize(deserializer)?))
7033 }
7034 }
7035 match map.next_value::<DeserializeWith>() {
7036 Ok(deserialize_with) => deserialize_with.0,
7037 Err(err) => {
7038 return Err(err);
7039 }
7040 }
7041 });
7042 }
7043 Field::SubjectOf => {
7044 if r#subject_of_property.is_some() {
7045 return Err(<A::Error as de::Error>::duplicate_field(
7046 "subjectOf",
7047 ));
7048 }
7049 r#subject_of_property = Some({
7050 struct DeserializeWith(Vec<SubjectOfProperty>);
7051 impl<'de> Deserialize<'de> for DeserializeWith {
7052 fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
7053 where
7054 D: Deserializer<'de>,
7055 {
7056 Ok(DeserializeWith(serde_with::As::<
7057 serde_with::OneOrMany<serde_with::Same>,
7058 >::deserialize(deserializer)?))
7059 }
7060 }
7061 match map.next_value::<DeserializeWith>() {
7062 Ok(deserialize_with) => deserialize_with.0,
7063 Err(err) => {
7064 return Err(err);
7065 }
7066 }
7067 });
7068 }
7069 Field::Url => {
7070 if r#url_property.is_some() {
7071 return Err(<A::Error as de::Error>::duplicate_field("url"));
7072 }
7073 r#url_property = Some({
7074 struct DeserializeWith(Vec<UrlProperty>);
7075 impl<'de> Deserialize<'de> for DeserializeWith {
7076 fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
7077 where
7078 D: Deserializer<'de>,
7079 {
7080 Ok(DeserializeWith(serde_with::As::<
7081 serde_with::OneOrMany<serde_with::Same>,
7082 >::deserialize(deserializer)?))
7083 }
7084 }
7085 match map.next_value::<DeserializeWith>() {
7086 Ok(deserialize_with) => deserialize_with.0,
7087 Err(err) => {
7088 return Err(err);
7089 }
7090 }
7091 });
7092 }
7093 Field::Ignore => {
7094 let _ = map.next_value::<de::IgnoredAny>()?;
7095 }
7096 }
7097 }
7098 Ok(Bakery {
7099 r#accepts_reservations: r#accepts_reservations_property.unwrap_or_default(),
7100 r#has_menu: r#has_menu_property.unwrap_or_default(),
7101 r#menu: r#menu_property.unwrap_or_default(),
7102 r#serves_cuisine: r#serves_cuisine_property.unwrap_or_default(),
7103 r#star_rating: r#star_rating_property.unwrap_or_default(),
7104 r#branch_of: r#branch_of_property.unwrap_or_default(),
7105 r#currencies_accepted: r#currencies_accepted_property.unwrap_or_default(),
7106 r#opening_hours: r#opening_hours_property.unwrap_or_default(),
7107 r#payment_accepted: r#payment_accepted_property.unwrap_or_default(),
7108 r#price_range: r#price_range_property.unwrap_or_default(),
7109 r#actionable_feedback_policy: r#actionable_feedback_policy_property
7110 .unwrap_or_default(),
7111 r#address: r#address_property.unwrap_or_default(),
7112 r#agent_interaction_statistic: r#agent_interaction_statistic_property
7113 .unwrap_or_default(),
7114 r#aggregate_rating: r#aggregate_rating_property.unwrap_or_default(),
7115 r#alumni: r#alumni_property.unwrap_or_default(),
7116 r#area_served: r#area_served_property.unwrap_or_default(),
7117 r#award: r#award_property.unwrap_or_default(),
7118 r#awards: r#awards_property.unwrap_or_default(),
7119 r#brand: r#brand_property.unwrap_or_default(),
7120 r#contact_point: r#contact_point_property.unwrap_or_default(),
7121 r#contact_points: r#contact_points_property.unwrap_or_default(),
7122 r#corrections_policy: r#corrections_policy_property.unwrap_or_default(),
7123 r#department: r#department_property.unwrap_or_default(),
7124 r#dissolution_date: r#dissolution_date_property.unwrap_or_default(),
7125 r#diversity_policy: r#diversity_policy_property.unwrap_or_default(),
7126 r#diversity_staffing_report: r#diversity_staffing_report_property
7127 .unwrap_or_default(),
7128 r#duns: r#duns_property.unwrap_or_default(),
7129 r#email: r#email_property.unwrap_or_default(),
7130 r#employee: r#employee_property.unwrap_or_default(),
7131 r#employees: r#employees_property.unwrap_or_default(),
7132 r#ethics_policy: r#ethics_policy_property.unwrap_or_default(),
7133 r#event: r#event_property.unwrap_or_default(),
7134 r#events: r#events_property.unwrap_or_default(),
7135 r#fax_number: r#fax_number_property.unwrap_or_default(),
7136 r#founder: r#founder_property.unwrap_or_default(),
7137 r#founders: r#founders_property.unwrap_or_default(),
7138 r#founding_date: r#founding_date_property.unwrap_or_default(),
7139 r#founding_location: r#founding_location_property.unwrap_or_default(),
7140 r#funder: r#funder_property.unwrap_or_default(),
7141 r#funding: r#funding_property.unwrap_or_default(),
7142 r#global_location_number: r#global_location_number_property
7143 .unwrap_or_default(),
7144 r#has_credential: r#has_credential_property.unwrap_or_default(),
7145 r#has_merchant_return_policy: r#has_merchant_return_policy_property
7146 .unwrap_or_default(),
7147 r#has_offer_catalog: r#has_offer_catalog_property.unwrap_or_default(),
7148 r#has_pos: r#has_pos_property.unwrap_or_default(),
7149 r#has_product_return_policy: r#has_product_return_policy_property
7150 .unwrap_or_default(),
7151 r#interaction_statistic: r#interaction_statistic_property
7152 .unwrap_or_default(),
7153 r#isic_v_4: r#isic_v_4_property.unwrap_or_default(),
7154 r#iso_6523_code: r#iso_6523_code_property.unwrap_or_default(),
7155 r#keywords: r#keywords_property.unwrap_or_default(),
7156 r#knows_about: r#knows_about_property.unwrap_or_default(),
7157 r#knows_language: r#knows_language_property.unwrap_or_default(),
7158 r#legal_name: r#legal_name_property.unwrap_or_default(),
7159 r#lei_code: r#lei_code_property.unwrap_or_default(),
7160 r#location: r#location_property.unwrap_or_default(),
7161 r#logo: r#logo_property.unwrap_or_default(),
7162 r#makes_offer: r#makes_offer_property.unwrap_or_default(),
7163 r#member: r#member_property.unwrap_or_default(),
7164 r#member_of: r#member_of_property.unwrap_or_default(),
7165 r#members: r#members_property.unwrap_or_default(),
7166 r#naics: r#naics_property.unwrap_or_default(),
7167 r#nonprofit_status: r#nonprofit_status_property.unwrap_or_default(),
7168 r#number_of_employees: r#number_of_employees_property.unwrap_or_default(),
7169 r#ownership_funding_info: r#ownership_funding_info_property
7170 .unwrap_or_default(),
7171 r#owns: r#owns_property.unwrap_or_default(),
7172 r#parent_organization: r#parent_organization_property.unwrap_or_default(),
7173 r#publishing_principles: r#publishing_principles_property
7174 .unwrap_or_default(),
7175 r#review: r#review_property.unwrap_or_default(),
7176 r#reviews: r#reviews_property.unwrap_or_default(),
7177 r#seeks: r#seeks_property.unwrap_or_default(),
7178 r#service_area: r#service_area_property.unwrap_or_default(),
7179 r#slogan: r#slogan_property.unwrap_or_default(),
7180 r#sponsor: r#sponsor_property.unwrap_or_default(),
7181 r#sub_organization: r#sub_organization_property.unwrap_or_default(),
7182 r#tax_id: r#tax_id_property.unwrap_or_default(),
7183 r#telephone: r#telephone_property.unwrap_or_default(),
7184 r#unnamed_sources_policy: r#unnamed_sources_policy_property
7185 .unwrap_or_default(),
7186 r#vat_id: r#vat_id_property.unwrap_or_default(),
7187 r#additional_property: r#additional_property_property.unwrap_or_default(),
7188 r#amenity_feature: r#amenity_feature_property.unwrap_or_default(),
7189 r#branch_code: r#branch_code_property.unwrap_or_default(),
7190 r#contained_in: r#contained_in_property.unwrap_or_default(),
7191 r#contained_in_place: r#contained_in_place_property.unwrap_or_default(),
7192 r#contains_place: r#contains_place_property.unwrap_or_default(),
7193 r#geo: r#geo_property.unwrap_or_default(),
7194 r#geo_contains: r#geo_contains_property.unwrap_or_default(),
7195 r#geo_covered_by: r#geo_covered_by_property.unwrap_or_default(),
7196 r#geo_covers: r#geo_covers_property.unwrap_or_default(),
7197 r#geo_crosses: r#geo_crosses_property.unwrap_or_default(),
7198 r#geo_disjoint: r#geo_disjoint_property.unwrap_or_default(),
7199 r#geo_equals: r#geo_equals_property.unwrap_or_default(),
7200 r#geo_intersects: r#geo_intersects_property.unwrap_or_default(),
7201 r#geo_overlaps: r#geo_overlaps_property.unwrap_or_default(),
7202 r#geo_touches: r#geo_touches_property.unwrap_or_default(),
7203 r#geo_within: r#geo_within_property.unwrap_or_default(),
7204 r#has_drive_through_service: r#has_drive_through_service_property
7205 .unwrap_or_default(),
7206 r#has_map: r#has_map_property.unwrap_or_default(),
7207 r#is_accessible_for_free: r#is_accessible_for_free_property
7208 .unwrap_or_default(),
7209 r#latitude: r#latitude_property.unwrap_or_default(),
7210 r#longitude: r#longitude_property.unwrap_or_default(),
7211 r#map: r#map_property.unwrap_or_default(),
7212 r#maps: r#maps_property.unwrap_or_default(),
7213 r#maximum_attendee_capacity: r#maximum_attendee_capacity_property
7214 .unwrap_or_default(),
7215 r#opening_hours_specification: r#opening_hours_specification_property
7216 .unwrap_or_default(),
7217 r#photo: r#photo_property.unwrap_or_default(),
7218 r#photos: r#photos_property.unwrap_or_default(),
7219 r#public_access: r#public_access_property.unwrap_or_default(),
7220 r#smoking_allowed: r#smoking_allowed_property.unwrap_or_default(),
7221 r#special_opening_hours_specification:
7222 r#special_opening_hours_specification_property.unwrap_or_default(),
7223 r#tour_booking_page: r#tour_booking_page_property.unwrap_or_default(),
7224 r#additional_type: r#additional_type_property.unwrap_or_default(),
7225 r#alternate_name: r#alternate_name_property.unwrap_or_default(),
7226 r#description: r#description_property.unwrap_or_default(),
7227 r#disambiguating_description: r#disambiguating_description_property
7228 .unwrap_or_default(),
7229 r#identifier: r#identifier_property.unwrap_or_default(),
7230 r#image: r#image_property.unwrap_or_default(),
7231 r#main_entity_of_page: r#main_entity_of_page_property.unwrap_or_default(),
7232 r#name: r#name_property.unwrap_or_default(),
7233 r#potential_action: r#potential_action_property.unwrap_or_default(),
7234 r#same_as: r#same_as_property.unwrap_or_default(),
7235 r#subject_of: r#subject_of_property.unwrap_or_default(),
7236 r#url: r#url_property.unwrap_or_default(),
7237 })
7238 }
7239 }
7240 const FIELDS: &[&str] = &[
7241 "acceptsReservations",
7242 "hasMenu",
7243 "menu",
7244 "servesCuisine",
7245 "starRating",
7246 "branchOf",
7247 "currenciesAccepted",
7248 "openingHours",
7249 "paymentAccepted",
7250 "priceRange",
7251 "actionableFeedbackPolicy",
7252 "address",
7253 "agentInteractionStatistic",
7254 "aggregateRating",
7255 "alumni",
7256 "areaServed",
7257 "award",
7258 "awards",
7259 "brand",
7260 "contactPoint",
7261 "contactPoints",
7262 "correctionsPolicy",
7263 "department",
7264 "dissolutionDate",
7265 "diversityPolicy",
7266 "diversityStaffingReport",
7267 "duns",
7268 "email",
7269 "employee",
7270 "employees",
7271 "ethicsPolicy",
7272 "event",
7273 "events",
7274 "faxNumber",
7275 "founder",
7276 "founders",
7277 "foundingDate",
7278 "foundingLocation",
7279 "funder",
7280 "funding",
7281 "globalLocationNumber",
7282 "hasCredential",
7283 "hasMerchantReturnPolicy",
7284 "hasOfferCatalog",
7285 "hasPOS",
7286 "hasProductReturnPolicy",
7287 "interactionStatistic",
7288 "isicV4",
7289 "iso6523Code",
7290 "keywords",
7291 "knowsAbout",
7292 "knowsLanguage",
7293 "legalName",
7294 "leiCode",
7295 "location",
7296 "logo",
7297 "makesOffer",
7298 "member",
7299 "memberOf",
7300 "members",
7301 "naics",
7302 "nonprofitStatus",
7303 "numberOfEmployees",
7304 "ownershipFundingInfo",
7305 "owns",
7306 "parentOrganization",
7307 "publishingPrinciples",
7308 "review",
7309 "reviews",
7310 "seeks",
7311 "serviceArea",
7312 "slogan",
7313 "sponsor",
7314 "subOrganization",
7315 "taxID",
7316 "telephone",
7317 "unnamedSourcesPolicy",
7318 "vatID",
7319 "additionalProperty",
7320 "amenityFeature",
7321 "branchCode",
7322 "containedIn",
7323 "containedInPlace",
7324 "containsPlace",
7325 "geo",
7326 "geoContains",
7327 "geoCoveredBy",
7328 "geoCovers",
7329 "geoCrosses",
7330 "geoDisjoint",
7331 "geoEquals",
7332 "geoIntersects",
7333 "geoOverlaps",
7334 "geoTouches",
7335 "geoWithin",
7336 "hasDriveThroughService",
7337 "hasMap",
7338 "isAccessibleForFree",
7339 "latitude",
7340 "longitude",
7341 "map",
7342 "maps",
7343 "maximumAttendeeCapacity",
7344 "openingHoursSpecification",
7345 "photo",
7346 "photos",
7347 "publicAccess",
7348 "smokingAllowed",
7349 "specialOpeningHoursSpecification",
7350 "tourBookingPage",
7351 "additionalType",
7352 "alternateName",
7353 "description",
7354 "disambiguatingDescription",
7355 "identifier",
7356 "image",
7357 "mainEntityOfPage",
7358 "name",
7359 "potentialAction",
7360 "sameAs",
7361 "subjectOf",
7362 "url",
7363 ];
7364 deserializer.deserialize_struct("Bakery", FIELDS, ClassVisitor)
7365 }
7366 }
7367}