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