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