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