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