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