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