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