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