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