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