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