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