1use super::*;
2#[cfg_attr(feature = "derive-debug", derive(Debug))]
4#[cfg_attr(feature = "derive-clone", derive(Clone))]
5pub struct WebSite {
6 pub r#issn: Vec<IssnProperty>,
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 WebSiteTrait {
266 fn get_issn(&self) -> &[IssnProperty];
268 fn take_issn(&mut self) -> Vec<IssnProperty>;
270}
271impl WebSiteTrait for WebSite {
272 fn get_issn(&self) -> &[IssnProperty] {
273 self.r#issn.as_slice()
274 }
275 fn take_issn(&mut self) -> Vec<IssnProperty> {
276 std::mem::take(&mut self.r#issn)
277 }
278}
279impl CreativeWorkTrait for WebSite {
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 WebSite {
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 WebSite {
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#issn) 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, "WebSite", len)?;
1178 if !Vec::is_empty(&self.r#issn) {
1179 serialize_struct.serialize_field("issn", {
1180 struct SerializeWith<'a>(&'a Vec<IssnProperty>);
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#issn)
1192 })?;
1193 } else {
1194 serialize_struct.skip_field("issn")?;
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 WebSite {
3450 fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
3451 where
3452 D: Deserializer<'de>,
3453 {
3454 enum Field {
3455 Issn,
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 "issn" => Ok(Field::Issn),
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"issn" => Ok(Field::Issn),
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 = WebSite;
3874 fn expecting(&self, formatter: &mut Formatter) -> fmt::Result {
3875 formatter.write_str("schema.org schema WebSite")
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#issn_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::Issn => {
4010 if r#issn_property.is_some() {
4011 return Err(<A::Error as de::Error>::duplicate_field("issn"));
4012 }
4013 r#issn_property = Some({
4014 struct DeserializeWith(Vec<IssnProperty>);
4015 impl<'de> Deserialize<'de> for DeserializeWith {
4016 fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
4017 where
4018 D: Deserializer<'de>,
4019 {
4020 Ok(DeserializeWith(serde_with::As::<
4021 serde_with::OneOrMany<serde_with::Same>,
4022 >::deserialize(deserializer)?))
4023 }
4024 }
4025 match map.next_value::<DeserializeWith>() {
4026 Ok(deserialize_with) => deserialize_with.0,
4027 Err(err) => {
4028 return Err(err);
4029 }
4030 }
4031 });
4032 }
4033 Field::About => {
4034 if r#about_property.is_some() {
4035 return Err(<A::Error as de::Error>::duplicate_field("about"));
4036 }
4037 r#about_property = Some({
4038 struct DeserializeWith(Vec<AboutProperty>);
4039 impl<'de> Deserialize<'de> for DeserializeWith {
4040 fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
4041 where
4042 D: Deserializer<'de>,
4043 {
4044 Ok(DeserializeWith(serde_with::As::<
4045 serde_with::OneOrMany<serde_with::Same>,
4046 >::deserialize(deserializer)?))
4047 }
4048 }
4049 match map.next_value::<DeserializeWith>() {
4050 Ok(deserialize_with) => deserialize_with.0,
4051 Err(err) => {
4052 return Err(err);
4053 }
4054 }
4055 });
4056 }
4057 Field::Abstract => {
4058 if r#abstract_property.is_some() {
4059 return Err(<A::Error as de::Error>::duplicate_field(
4060 "abstract",
4061 ));
4062 }
4063 r#abstract_property = Some({
4064 struct DeserializeWith(Vec<AbstractProperty>);
4065 impl<'de> Deserialize<'de> for DeserializeWith {
4066 fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
4067 where
4068 D: Deserializer<'de>,
4069 {
4070 Ok(DeserializeWith(serde_with::As::<
4071 serde_with::OneOrMany<serde_with::Same>,
4072 >::deserialize(deserializer)?))
4073 }
4074 }
4075 match map.next_value::<DeserializeWith>() {
4076 Ok(deserialize_with) => deserialize_with.0,
4077 Err(err) => {
4078 return Err(err);
4079 }
4080 }
4081 });
4082 }
4083 Field::AccessMode => {
4084 if r#access_mode_property.is_some() {
4085 return Err(<A::Error as de::Error>::duplicate_field(
4086 "accessMode",
4087 ));
4088 }
4089 r#access_mode_property = Some({
4090 struct DeserializeWith(Vec<AccessModeProperty>);
4091 impl<'de> Deserialize<'de> for DeserializeWith {
4092 fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
4093 where
4094 D: Deserializer<'de>,
4095 {
4096 Ok(DeserializeWith(serde_with::As::<
4097 serde_with::OneOrMany<serde_with::Same>,
4098 >::deserialize(deserializer)?))
4099 }
4100 }
4101 match map.next_value::<DeserializeWith>() {
4102 Ok(deserialize_with) => deserialize_with.0,
4103 Err(err) => {
4104 return Err(err);
4105 }
4106 }
4107 });
4108 }
4109 Field::AccessModeSufficient => {
4110 if r#access_mode_sufficient_property.is_some() {
4111 return Err(<A::Error as de::Error>::duplicate_field(
4112 "accessModeSufficient",
4113 ));
4114 }
4115 r#access_mode_sufficient_property = Some({
4116 struct DeserializeWith(Vec<AccessModeSufficientProperty>);
4117 impl<'de> Deserialize<'de> for DeserializeWith {
4118 fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
4119 where
4120 D: Deserializer<'de>,
4121 {
4122 Ok(DeserializeWith(serde_with::As::<
4123 serde_with::OneOrMany<serde_with::Same>,
4124 >::deserialize(deserializer)?))
4125 }
4126 }
4127 match map.next_value::<DeserializeWith>() {
4128 Ok(deserialize_with) => deserialize_with.0,
4129 Err(err) => {
4130 return Err(err);
4131 }
4132 }
4133 });
4134 }
4135 Field::AccessibilityApi => {
4136 if r#accessibility_api_property.is_some() {
4137 return Err(<A::Error as de::Error>::duplicate_field(
4138 "accessibilityAPI",
4139 ));
4140 }
4141 r#accessibility_api_property = Some({
4142 struct DeserializeWith(Vec<AccessibilityApiProperty>);
4143 impl<'de> Deserialize<'de> for DeserializeWith {
4144 fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
4145 where
4146 D: Deserializer<'de>,
4147 {
4148 Ok(DeserializeWith(serde_with::As::<
4149 serde_with::OneOrMany<serde_with::Same>,
4150 >::deserialize(deserializer)?))
4151 }
4152 }
4153 match map.next_value::<DeserializeWith>() {
4154 Ok(deserialize_with) => deserialize_with.0,
4155 Err(err) => {
4156 return Err(err);
4157 }
4158 }
4159 });
4160 }
4161 Field::AccessibilityControl => {
4162 if r#accessibility_control_property.is_some() {
4163 return Err(<A::Error as de::Error>::duplicate_field(
4164 "accessibilityControl",
4165 ));
4166 }
4167 r#accessibility_control_property = Some({
4168 struct DeserializeWith(Vec<AccessibilityControlProperty>);
4169 impl<'de> Deserialize<'de> for DeserializeWith {
4170 fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
4171 where
4172 D: Deserializer<'de>,
4173 {
4174 Ok(DeserializeWith(serde_with::As::<
4175 serde_with::OneOrMany<serde_with::Same>,
4176 >::deserialize(deserializer)?))
4177 }
4178 }
4179 match map.next_value::<DeserializeWith>() {
4180 Ok(deserialize_with) => deserialize_with.0,
4181 Err(err) => {
4182 return Err(err);
4183 }
4184 }
4185 });
4186 }
4187 Field::AccessibilityFeature => {
4188 if r#accessibility_feature_property.is_some() {
4189 return Err(<A::Error as de::Error>::duplicate_field(
4190 "accessibilityFeature",
4191 ));
4192 }
4193 r#accessibility_feature_property = Some({
4194 struct DeserializeWith(Vec<AccessibilityFeatureProperty>);
4195 impl<'de> Deserialize<'de> for DeserializeWith {
4196 fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
4197 where
4198 D: Deserializer<'de>,
4199 {
4200 Ok(DeserializeWith(serde_with::As::<
4201 serde_with::OneOrMany<serde_with::Same>,
4202 >::deserialize(deserializer)?))
4203 }
4204 }
4205 match map.next_value::<DeserializeWith>() {
4206 Ok(deserialize_with) => deserialize_with.0,
4207 Err(err) => {
4208 return Err(err);
4209 }
4210 }
4211 });
4212 }
4213 Field::AccessibilityHazard => {
4214 if r#accessibility_hazard_property.is_some() {
4215 return Err(<A::Error as de::Error>::duplicate_field(
4216 "accessibilityHazard",
4217 ));
4218 }
4219 r#accessibility_hazard_property = Some({
4220 struct DeserializeWith(Vec<AccessibilityHazardProperty>);
4221 impl<'de> Deserialize<'de> for DeserializeWith {
4222 fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
4223 where
4224 D: Deserializer<'de>,
4225 {
4226 Ok(DeserializeWith(serde_with::As::<
4227 serde_with::OneOrMany<serde_with::Same>,
4228 >::deserialize(deserializer)?))
4229 }
4230 }
4231 match map.next_value::<DeserializeWith>() {
4232 Ok(deserialize_with) => deserialize_with.0,
4233 Err(err) => {
4234 return Err(err);
4235 }
4236 }
4237 });
4238 }
4239 Field::AccessibilitySummary => {
4240 if r#accessibility_summary_property.is_some() {
4241 return Err(<A::Error as de::Error>::duplicate_field(
4242 "accessibilitySummary",
4243 ));
4244 }
4245 r#accessibility_summary_property = Some({
4246 struct DeserializeWith(Vec<AccessibilitySummaryProperty>);
4247 impl<'de> Deserialize<'de> for DeserializeWith {
4248 fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
4249 where
4250 D: Deserializer<'de>,
4251 {
4252 Ok(DeserializeWith(serde_with::As::<
4253 serde_with::OneOrMany<serde_with::Same>,
4254 >::deserialize(deserializer)?))
4255 }
4256 }
4257 match map.next_value::<DeserializeWith>() {
4258 Ok(deserialize_with) => deserialize_with.0,
4259 Err(err) => {
4260 return Err(err);
4261 }
4262 }
4263 });
4264 }
4265 Field::AccountablePerson => {
4266 if r#accountable_person_property.is_some() {
4267 return Err(<A::Error as de::Error>::duplicate_field(
4268 "accountablePerson",
4269 ));
4270 }
4271 r#accountable_person_property = Some({
4272 struct DeserializeWith(Vec<AccountablePersonProperty>);
4273 impl<'de> Deserialize<'de> for DeserializeWith {
4274 fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
4275 where
4276 D: Deserializer<'de>,
4277 {
4278 Ok(DeserializeWith(serde_with::As::<
4279 serde_with::OneOrMany<serde_with::Same>,
4280 >::deserialize(deserializer)?))
4281 }
4282 }
4283 match map.next_value::<DeserializeWith>() {
4284 Ok(deserialize_with) => deserialize_with.0,
4285 Err(err) => {
4286 return Err(err);
4287 }
4288 }
4289 });
4290 }
4291 Field::AcquireLicensePage => {
4292 if r#acquire_license_page_property.is_some() {
4293 return Err(<A::Error as de::Error>::duplicate_field(
4294 "acquireLicensePage",
4295 ));
4296 }
4297 r#acquire_license_page_property = Some({
4298 struct DeserializeWith(Vec<AcquireLicensePageProperty>);
4299 impl<'de> Deserialize<'de> for DeserializeWith {
4300 fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
4301 where
4302 D: Deserializer<'de>,
4303 {
4304 Ok(DeserializeWith(serde_with::As::<
4305 serde_with::OneOrMany<serde_with::Same>,
4306 >::deserialize(deserializer)?))
4307 }
4308 }
4309 match map.next_value::<DeserializeWith>() {
4310 Ok(deserialize_with) => deserialize_with.0,
4311 Err(err) => {
4312 return Err(err);
4313 }
4314 }
4315 });
4316 }
4317 Field::AggregateRating => {
4318 if r#aggregate_rating_property.is_some() {
4319 return Err(<A::Error as de::Error>::duplicate_field(
4320 "aggregateRating",
4321 ));
4322 }
4323 r#aggregate_rating_property = Some({
4324 struct DeserializeWith(Vec<AggregateRatingProperty>);
4325 impl<'de> Deserialize<'de> for DeserializeWith {
4326 fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
4327 where
4328 D: Deserializer<'de>,
4329 {
4330 Ok(DeserializeWith(serde_with::As::<
4331 serde_with::OneOrMany<serde_with::Same>,
4332 >::deserialize(deserializer)?))
4333 }
4334 }
4335 match map.next_value::<DeserializeWith>() {
4336 Ok(deserialize_with) => deserialize_with.0,
4337 Err(err) => {
4338 return Err(err);
4339 }
4340 }
4341 });
4342 }
4343 Field::AlternativeHeadline => {
4344 if r#alternative_headline_property.is_some() {
4345 return Err(<A::Error as de::Error>::duplicate_field(
4346 "alternativeHeadline",
4347 ));
4348 }
4349 r#alternative_headline_property = Some({
4350 struct DeserializeWith(Vec<AlternativeHeadlineProperty>);
4351 impl<'de> Deserialize<'de> for DeserializeWith {
4352 fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
4353 where
4354 D: Deserializer<'de>,
4355 {
4356 Ok(DeserializeWith(serde_with::As::<
4357 serde_with::OneOrMany<serde_with::Same>,
4358 >::deserialize(deserializer)?))
4359 }
4360 }
4361 match map.next_value::<DeserializeWith>() {
4362 Ok(deserialize_with) => deserialize_with.0,
4363 Err(err) => {
4364 return Err(err);
4365 }
4366 }
4367 });
4368 }
4369 Field::ArchivedAt => {
4370 if r#archived_at_property.is_some() {
4371 return Err(<A::Error as de::Error>::duplicate_field(
4372 "archivedAt",
4373 ));
4374 }
4375 r#archived_at_property = Some({
4376 struct DeserializeWith(Vec<ArchivedAtProperty>);
4377 impl<'de> Deserialize<'de> for DeserializeWith {
4378 fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
4379 where
4380 D: Deserializer<'de>,
4381 {
4382 Ok(DeserializeWith(serde_with::As::<
4383 serde_with::OneOrMany<serde_with::Same>,
4384 >::deserialize(deserializer)?))
4385 }
4386 }
4387 match map.next_value::<DeserializeWith>() {
4388 Ok(deserialize_with) => deserialize_with.0,
4389 Err(err) => {
4390 return Err(err);
4391 }
4392 }
4393 });
4394 }
4395 Field::Assesses => {
4396 if r#assesses_property.is_some() {
4397 return Err(<A::Error as de::Error>::duplicate_field(
4398 "assesses",
4399 ));
4400 }
4401 r#assesses_property = Some({
4402 struct DeserializeWith(Vec<AssessesProperty>);
4403 impl<'de> Deserialize<'de> for DeserializeWith {
4404 fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
4405 where
4406 D: Deserializer<'de>,
4407 {
4408 Ok(DeserializeWith(serde_with::As::<
4409 serde_with::OneOrMany<serde_with::Same>,
4410 >::deserialize(deserializer)?))
4411 }
4412 }
4413 match map.next_value::<DeserializeWith>() {
4414 Ok(deserialize_with) => deserialize_with.0,
4415 Err(err) => {
4416 return Err(err);
4417 }
4418 }
4419 });
4420 }
4421 Field::AssociatedMedia => {
4422 if r#associated_media_property.is_some() {
4423 return Err(<A::Error as de::Error>::duplicate_field(
4424 "associatedMedia",
4425 ));
4426 }
4427 r#associated_media_property = Some({
4428 struct DeserializeWith(Vec<AssociatedMediaProperty>);
4429 impl<'de> Deserialize<'de> for DeserializeWith {
4430 fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
4431 where
4432 D: Deserializer<'de>,
4433 {
4434 Ok(DeserializeWith(serde_with::As::<
4435 serde_with::OneOrMany<serde_with::Same>,
4436 >::deserialize(deserializer)?))
4437 }
4438 }
4439 match map.next_value::<DeserializeWith>() {
4440 Ok(deserialize_with) => deserialize_with.0,
4441 Err(err) => {
4442 return Err(err);
4443 }
4444 }
4445 });
4446 }
4447 Field::Audience => {
4448 if r#audience_property.is_some() {
4449 return Err(<A::Error as de::Error>::duplicate_field(
4450 "audience",
4451 ));
4452 }
4453 r#audience_property = Some({
4454 struct DeserializeWith(Vec<AudienceProperty>);
4455 impl<'de> Deserialize<'de> for DeserializeWith {
4456 fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
4457 where
4458 D: Deserializer<'de>,
4459 {
4460 Ok(DeserializeWith(serde_with::As::<
4461 serde_with::OneOrMany<serde_with::Same>,
4462 >::deserialize(deserializer)?))
4463 }
4464 }
4465 match map.next_value::<DeserializeWith>() {
4466 Ok(deserialize_with) => deserialize_with.0,
4467 Err(err) => {
4468 return Err(err);
4469 }
4470 }
4471 });
4472 }
4473 Field::Audio => {
4474 if r#audio_property.is_some() {
4475 return Err(<A::Error as de::Error>::duplicate_field("audio"));
4476 }
4477 r#audio_property = Some({
4478 struct DeserializeWith(Vec<AudioProperty>);
4479 impl<'de> Deserialize<'de> for DeserializeWith {
4480 fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
4481 where
4482 D: Deserializer<'de>,
4483 {
4484 Ok(DeserializeWith(serde_with::As::<
4485 serde_with::OneOrMany<serde_with::Same>,
4486 >::deserialize(deserializer)?))
4487 }
4488 }
4489 match map.next_value::<DeserializeWith>() {
4490 Ok(deserialize_with) => deserialize_with.0,
4491 Err(err) => {
4492 return Err(err);
4493 }
4494 }
4495 });
4496 }
4497 Field::Author => {
4498 if r#author_property.is_some() {
4499 return Err(<A::Error as de::Error>::duplicate_field("author"));
4500 }
4501 r#author_property = Some({
4502 struct DeserializeWith(Vec<AuthorProperty>);
4503 impl<'de> Deserialize<'de> for DeserializeWith {
4504 fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
4505 where
4506 D: Deserializer<'de>,
4507 {
4508 Ok(DeserializeWith(serde_with::As::<
4509 serde_with::OneOrMany<serde_with::Same>,
4510 >::deserialize(deserializer)?))
4511 }
4512 }
4513 match map.next_value::<DeserializeWith>() {
4514 Ok(deserialize_with) => deserialize_with.0,
4515 Err(err) => {
4516 return Err(err);
4517 }
4518 }
4519 });
4520 }
4521 Field::Award => {
4522 if r#award_property.is_some() {
4523 return Err(<A::Error as de::Error>::duplicate_field("award"));
4524 }
4525 r#award_property = Some({
4526 struct DeserializeWith(Vec<AwardProperty>);
4527 impl<'de> Deserialize<'de> for DeserializeWith {
4528 fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
4529 where
4530 D: Deserializer<'de>,
4531 {
4532 Ok(DeserializeWith(serde_with::As::<
4533 serde_with::OneOrMany<serde_with::Same>,
4534 >::deserialize(deserializer)?))
4535 }
4536 }
4537 match map.next_value::<DeserializeWith>() {
4538 Ok(deserialize_with) => deserialize_with.0,
4539 Err(err) => {
4540 return Err(err);
4541 }
4542 }
4543 });
4544 }
4545 Field::Awards => {
4546 if r#awards_property.is_some() {
4547 return Err(<A::Error as de::Error>::duplicate_field("awards"));
4548 }
4549 r#awards_property = Some({
4550 struct DeserializeWith(Vec<AwardsProperty>);
4551 impl<'de> Deserialize<'de> for DeserializeWith {
4552 fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
4553 where
4554 D: Deserializer<'de>,
4555 {
4556 Ok(DeserializeWith(serde_with::As::<
4557 serde_with::OneOrMany<serde_with::Same>,
4558 >::deserialize(deserializer)?))
4559 }
4560 }
4561 match map.next_value::<DeserializeWith>() {
4562 Ok(deserialize_with) => deserialize_with.0,
4563 Err(err) => {
4564 return Err(err);
4565 }
4566 }
4567 });
4568 }
4569 Field::Character => {
4570 if r#character_property.is_some() {
4571 return Err(<A::Error as de::Error>::duplicate_field(
4572 "character",
4573 ));
4574 }
4575 r#character_property = Some({
4576 struct DeserializeWith(Vec<CharacterProperty>);
4577 impl<'de> Deserialize<'de> for DeserializeWith {
4578 fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
4579 where
4580 D: Deserializer<'de>,
4581 {
4582 Ok(DeserializeWith(serde_with::As::<
4583 serde_with::OneOrMany<serde_with::Same>,
4584 >::deserialize(deserializer)?))
4585 }
4586 }
4587 match map.next_value::<DeserializeWith>() {
4588 Ok(deserialize_with) => deserialize_with.0,
4589 Err(err) => {
4590 return Err(err);
4591 }
4592 }
4593 });
4594 }
4595 Field::Citation => {
4596 if r#citation_property.is_some() {
4597 return Err(<A::Error as de::Error>::duplicate_field(
4598 "citation",
4599 ));
4600 }
4601 r#citation_property = Some({
4602 struct DeserializeWith(Vec<CitationProperty>);
4603 impl<'de> Deserialize<'de> for DeserializeWith {
4604 fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
4605 where
4606 D: Deserializer<'de>,
4607 {
4608 Ok(DeserializeWith(serde_with::As::<
4609 serde_with::OneOrMany<serde_with::Same>,
4610 >::deserialize(deserializer)?))
4611 }
4612 }
4613 match map.next_value::<DeserializeWith>() {
4614 Ok(deserialize_with) => deserialize_with.0,
4615 Err(err) => {
4616 return Err(err);
4617 }
4618 }
4619 });
4620 }
4621 Field::Comment => {
4622 if r#comment_property.is_some() {
4623 return Err(<A::Error as de::Error>::duplicate_field(
4624 "comment",
4625 ));
4626 }
4627 r#comment_property = Some({
4628 struct DeserializeWith(Vec<CommentProperty>);
4629 impl<'de> Deserialize<'de> for DeserializeWith {
4630 fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
4631 where
4632 D: Deserializer<'de>,
4633 {
4634 Ok(DeserializeWith(serde_with::As::<
4635 serde_with::OneOrMany<serde_with::Same>,
4636 >::deserialize(deserializer)?))
4637 }
4638 }
4639 match map.next_value::<DeserializeWith>() {
4640 Ok(deserialize_with) => deserialize_with.0,
4641 Err(err) => {
4642 return Err(err);
4643 }
4644 }
4645 });
4646 }
4647 Field::CommentCount => {
4648 if r#comment_count_property.is_some() {
4649 return Err(<A::Error as de::Error>::duplicate_field(
4650 "commentCount",
4651 ));
4652 }
4653 r#comment_count_property = Some({
4654 struct DeserializeWith(Vec<CommentCountProperty>);
4655 impl<'de> Deserialize<'de> for DeserializeWith {
4656 fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
4657 where
4658 D: Deserializer<'de>,
4659 {
4660 Ok(DeserializeWith(serde_with::As::<
4661 serde_with::OneOrMany<serde_with::Same>,
4662 >::deserialize(deserializer)?))
4663 }
4664 }
4665 match map.next_value::<DeserializeWith>() {
4666 Ok(deserialize_with) => deserialize_with.0,
4667 Err(err) => {
4668 return Err(err);
4669 }
4670 }
4671 });
4672 }
4673 Field::ConditionsOfAccess => {
4674 if r#conditions_of_access_property.is_some() {
4675 return Err(<A::Error as de::Error>::duplicate_field(
4676 "conditionsOfAccess",
4677 ));
4678 }
4679 r#conditions_of_access_property = Some({
4680 struct DeserializeWith(Vec<ConditionsOfAccessProperty>);
4681 impl<'de> Deserialize<'de> for DeserializeWith {
4682 fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
4683 where
4684 D: Deserializer<'de>,
4685 {
4686 Ok(DeserializeWith(serde_with::As::<
4687 serde_with::OneOrMany<serde_with::Same>,
4688 >::deserialize(deserializer)?))
4689 }
4690 }
4691 match map.next_value::<DeserializeWith>() {
4692 Ok(deserialize_with) => deserialize_with.0,
4693 Err(err) => {
4694 return Err(err);
4695 }
4696 }
4697 });
4698 }
4699 Field::ContentLocation => {
4700 if r#content_location_property.is_some() {
4701 return Err(<A::Error as de::Error>::duplicate_field(
4702 "contentLocation",
4703 ));
4704 }
4705 r#content_location_property = Some({
4706 struct DeserializeWith(Vec<ContentLocationProperty>);
4707 impl<'de> Deserialize<'de> for DeserializeWith {
4708 fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
4709 where
4710 D: Deserializer<'de>,
4711 {
4712 Ok(DeserializeWith(serde_with::As::<
4713 serde_with::OneOrMany<serde_with::Same>,
4714 >::deserialize(deserializer)?))
4715 }
4716 }
4717 match map.next_value::<DeserializeWith>() {
4718 Ok(deserialize_with) => deserialize_with.0,
4719 Err(err) => {
4720 return Err(err);
4721 }
4722 }
4723 });
4724 }
4725 Field::ContentRating => {
4726 if r#content_rating_property.is_some() {
4727 return Err(<A::Error as de::Error>::duplicate_field(
4728 "contentRating",
4729 ));
4730 }
4731 r#content_rating_property = Some({
4732 struct DeserializeWith(Vec<ContentRatingProperty>);
4733 impl<'de> Deserialize<'de> for DeserializeWith {
4734 fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
4735 where
4736 D: Deserializer<'de>,
4737 {
4738 Ok(DeserializeWith(serde_with::As::<
4739 serde_with::OneOrMany<serde_with::Same>,
4740 >::deserialize(deserializer)?))
4741 }
4742 }
4743 match map.next_value::<DeserializeWith>() {
4744 Ok(deserialize_with) => deserialize_with.0,
4745 Err(err) => {
4746 return Err(err);
4747 }
4748 }
4749 });
4750 }
4751 Field::ContentReferenceTime => {
4752 if r#content_reference_time_property.is_some() {
4753 return Err(<A::Error as de::Error>::duplicate_field(
4754 "contentReferenceTime",
4755 ));
4756 }
4757 r#content_reference_time_property = Some({
4758 struct DeserializeWith(Vec<ContentReferenceTimeProperty>);
4759 impl<'de> Deserialize<'de> for DeserializeWith {
4760 fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
4761 where
4762 D: Deserializer<'de>,
4763 {
4764 Ok(DeserializeWith(serde_with::As::<
4765 serde_with::OneOrMany<serde_with::Same>,
4766 >::deserialize(deserializer)?))
4767 }
4768 }
4769 match map.next_value::<DeserializeWith>() {
4770 Ok(deserialize_with) => deserialize_with.0,
4771 Err(err) => {
4772 return Err(err);
4773 }
4774 }
4775 });
4776 }
4777 Field::Contributor => {
4778 if r#contributor_property.is_some() {
4779 return Err(<A::Error as de::Error>::duplicate_field(
4780 "contributor",
4781 ));
4782 }
4783 r#contributor_property = Some({
4784 struct DeserializeWith(Vec<ContributorProperty>);
4785 impl<'de> Deserialize<'de> for DeserializeWith {
4786 fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
4787 where
4788 D: Deserializer<'de>,
4789 {
4790 Ok(DeserializeWith(serde_with::As::<
4791 serde_with::OneOrMany<serde_with::Same>,
4792 >::deserialize(deserializer)?))
4793 }
4794 }
4795 match map.next_value::<DeserializeWith>() {
4796 Ok(deserialize_with) => deserialize_with.0,
4797 Err(err) => {
4798 return Err(err);
4799 }
4800 }
4801 });
4802 }
4803 Field::CopyrightHolder => {
4804 if r#copyright_holder_property.is_some() {
4805 return Err(<A::Error as de::Error>::duplicate_field(
4806 "copyrightHolder",
4807 ));
4808 }
4809 r#copyright_holder_property = Some({
4810 struct DeserializeWith(Vec<CopyrightHolderProperty>);
4811 impl<'de> Deserialize<'de> for DeserializeWith {
4812 fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
4813 where
4814 D: Deserializer<'de>,
4815 {
4816 Ok(DeserializeWith(serde_with::As::<
4817 serde_with::OneOrMany<serde_with::Same>,
4818 >::deserialize(deserializer)?))
4819 }
4820 }
4821 match map.next_value::<DeserializeWith>() {
4822 Ok(deserialize_with) => deserialize_with.0,
4823 Err(err) => {
4824 return Err(err);
4825 }
4826 }
4827 });
4828 }
4829 Field::CopyrightNotice => {
4830 if r#copyright_notice_property.is_some() {
4831 return Err(<A::Error as de::Error>::duplicate_field(
4832 "copyrightNotice",
4833 ));
4834 }
4835 r#copyright_notice_property = Some({
4836 struct DeserializeWith(Vec<CopyrightNoticeProperty>);
4837 impl<'de> Deserialize<'de> for DeserializeWith {
4838 fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
4839 where
4840 D: Deserializer<'de>,
4841 {
4842 Ok(DeserializeWith(serde_with::As::<
4843 serde_with::OneOrMany<serde_with::Same>,
4844 >::deserialize(deserializer)?))
4845 }
4846 }
4847 match map.next_value::<DeserializeWith>() {
4848 Ok(deserialize_with) => deserialize_with.0,
4849 Err(err) => {
4850 return Err(err);
4851 }
4852 }
4853 });
4854 }
4855 Field::CopyrightYear => {
4856 if r#copyright_year_property.is_some() {
4857 return Err(<A::Error as de::Error>::duplicate_field(
4858 "copyrightYear",
4859 ));
4860 }
4861 r#copyright_year_property = Some({
4862 struct DeserializeWith(Vec<CopyrightYearProperty>);
4863 impl<'de> Deserialize<'de> for DeserializeWith {
4864 fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
4865 where
4866 D: Deserializer<'de>,
4867 {
4868 Ok(DeserializeWith(serde_with::As::<
4869 serde_with::OneOrMany<serde_with::Same>,
4870 >::deserialize(deserializer)?))
4871 }
4872 }
4873 match map.next_value::<DeserializeWith>() {
4874 Ok(deserialize_with) => deserialize_with.0,
4875 Err(err) => {
4876 return Err(err);
4877 }
4878 }
4879 });
4880 }
4881 Field::Correction => {
4882 if r#correction_property.is_some() {
4883 return Err(<A::Error as de::Error>::duplicate_field(
4884 "correction",
4885 ));
4886 }
4887 r#correction_property = Some({
4888 struct DeserializeWith(Vec<CorrectionProperty>);
4889 impl<'de> Deserialize<'de> for DeserializeWith {
4890 fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
4891 where
4892 D: Deserializer<'de>,
4893 {
4894 Ok(DeserializeWith(serde_with::As::<
4895 serde_with::OneOrMany<serde_with::Same>,
4896 >::deserialize(deserializer)?))
4897 }
4898 }
4899 match map.next_value::<DeserializeWith>() {
4900 Ok(deserialize_with) => deserialize_with.0,
4901 Err(err) => {
4902 return Err(err);
4903 }
4904 }
4905 });
4906 }
4907 Field::CountryOfOrigin => {
4908 if r#country_of_origin_property.is_some() {
4909 return Err(<A::Error as de::Error>::duplicate_field(
4910 "countryOfOrigin",
4911 ));
4912 }
4913 r#country_of_origin_property = Some({
4914 struct DeserializeWith(Vec<CountryOfOriginProperty>);
4915 impl<'de> Deserialize<'de> for DeserializeWith {
4916 fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
4917 where
4918 D: Deserializer<'de>,
4919 {
4920 Ok(DeserializeWith(serde_with::As::<
4921 serde_with::OneOrMany<serde_with::Same>,
4922 >::deserialize(deserializer)?))
4923 }
4924 }
4925 match map.next_value::<DeserializeWith>() {
4926 Ok(deserialize_with) => deserialize_with.0,
4927 Err(err) => {
4928 return Err(err);
4929 }
4930 }
4931 });
4932 }
4933 Field::CreativeWorkStatus => {
4934 if r#creative_work_status_property.is_some() {
4935 return Err(<A::Error as de::Error>::duplicate_field(
4936 "creativeWorkStatus",
4937 ));
4938 }
4939 r#creative_work_status_property = Some({
4940 struct DeserializeWith(Vec<CreativeWorkStatusProperty>);
4941 impl<'de> Deserialize<'de> for DeserializeWith {
4942 fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
4943 where
4944 D: Deserializer<'de>,
4945 {
4946 Ok(DeserializeWith(serde_with::As::<
4947 serde_with::OneOrMany<serde_with::Same>,
4948 >::deserialize(deserializer)?))
4949 }
4950 }
4951 match map.next_value::<DeserializeWith>() {
4952 Ok(deserialize_with) => deserialize_with.0,
4953 Err(err) => {
4954 return Err(err);
4955 }
4956 }
4957 });
4958 }
4959 Field::Creator => {
4960 if r#creator_property.is_some() {
4961 return Err(<A::Error as de::Error>::duplicate_field(
4962 "creator",
4963 ));
4964 }
4965 r#creator_property = Some({
4966 struct DeserializeWith(Vec<CreatorProperty>);
4967 impl<'de> Deserialize<'de> for DeserializeWith {
4968 fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
4969 where
4970 D: Deserializer<'de>,
4971 {
4972 Ok(DeserializeWith(serde_with::As::<
4973 serde_with::OneOrMany<serde_with::Same>,
4974 >::deserialize(deserializer)?))
4975 }
4976 }
4977 match map.next_value::<DeserializeWith>() {
4978 Ok(deserialize_with) => deserialize_with.0,
4979 Err(err) => {
4980 return Err(err);
4981 }
4982 }
4983 });
4984 }
4985 Field::CreditText => {
4986 if r#credit_text_property.is_some() {
4987 return Err(<A::Error as de::Error>::duplicate_field(
4988 "creditText",
4989 ));
4990 }
4991 r#credit_text_property = Some({
4992 struct DeserializeWith(Vec<CreditTextProperty>);
4993 impl<'de> Deserialize<'de> for DeserializeWith {
4994 fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
4995 where
4996 D: Deserializer<'de>,
4997 {
4998 Ok(DeserializeWith(serde_with::As::<
4999 serde_with::OneOrMany<serde_with::Same>,
5000 >::deserialize(deserializer)?))
5001 }
5002 }
5003 match map.next_value::<DeserializeWith>() {
5004 Ok(deserialize_with) => deserialize_with.0,
5005 Err(err) => {
5006 return Err(err);
5007 }
5008 }
5009 });
5010 }
5011 Field::DateCreated => {
5012 if r#date_created_property.is_some() {
5013 return Err(<A::Error as de::Error>::duplicate_field(
5014 "dateCreated",
5015 ));
5016 }
5017 r#date_created_property = Some({
5018 struct DeserializeWith(Vec<DateCreatedProperty>);
5019 impl<'de> Deserialize<'de> for DeserializeWith {
5020 fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
5021 where
5022 D: Deserializer<'de>,
5023 {
5024 Ok(DeserializeWith(serde_with::As::<
5025 serde_with::OneOrMany<serde_with::Same>,
5026 >::deserialize(deserializer)?))
5027 }
5028 }
5029 match map.next_value::<DeserializeWith>() {
5030 Ok(deserialize_with) => deserialize_with.0,
5031 Err(err) => {
5032 return Err(err);
5033 }
5034 }
5035 });
5036 }
5037 Field::DateModified => {
5038 if r#date_modified_property.is_some() {
5039 return Err(<A::Error as de::Error>::duplicate_field(
5040 "dateModified",
5041 ));
5042 }
5043 r#date_modified_property = Some({
5044 struct DeserializeWith(Vec<DateModifiedProperty>);
5045 impl<'de> Deserialize<'de> for DeserializeWith {
5046 fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
5047 where
5048 D: Deserializer<'de>,
5049 {
5050 Ok(DeserializeWith(serde_with::As::<
5051 serde_with::OneOrMany<serde_with::Same>,
5052 >::deserialize(deserializer)?))
5053 }
5054 }
5055 match map.next_value::<DeserializeWith>() {
5056 Ok(deserialize_with) => deserialize_with.0,
5057 Err(err) => {
5058 return Err(err);
5059 }
5060 }
5061 });
5062 }
5063 Field::DatePublished => {
5064 if r#date_published_property.is_some() {
5065 return Err(<A::Error as de::Error>::duplicate_field(
5066 "datePublished",
5067 ));
5068 }
5069 r#date_published_property = Some({
5070 struct DeserializeWith(Vec<DatePublishedProperty>);
5071 impl<'de> Deserialize<'de> for DeserializeWith {
5072 fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
5073 where
5074 D: Deserializer<'de>,
5075 {
5076 Ok(DeserializeWith(serde_with::As::<
5077 serde_with::OneOrMany<serde_with::Same>,
5078 >::deserialize(deserializer)?))
5079 }
5080 }
5081 match map.next_value::<DeserializeWith>() {
5082 Ok(deserialize_with) => deserialize_with.0,
5083 Err(err) => {
5084 return Err(err);
5085 }
5086 }
5087 });
5088 }
5089 Field::DiscussionUrl => {
5090 if r#discussion_url_property.is_some() {
5091 return Err(<A::Error as de::Error>::duplicate_field(
5092 "discussionUrl",
5093 ));
5094 }
5095 r#discussion_url_property = Some({
5096 struct DeserializeWith(Vec<DiscussionUrlProperty>);
5097 impl<'de> Deserialize<'de> for DeserializeWith {
5098 fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
5099 where
5100 D: Deserializer<'de>,
5101 {
5102 Ok(DeserializeWith(serde_with::As::<
5103 serde_with::OneOrMany<serde_with::Same>,
5104 >::deserialize(deserializer)?))
5105 }
5106 }
5107 match map.next_value::<DeserializeWith>() {
5108 Ok(deserialize_with) => deserialize_with.0,
5109 Err(err) => {
5110 return Err(err);
5111 }
5112 }
5113 });
5114 }
5115 Field::EditEidr => {
5116 if r#edit_eidr_property.is_some() {
5117 return Err(<A::Error as de::Error>::duplicate_field(
5118 "editEIDR",
5119 ));
5120 }
5121 r#edit_eidr_property = Some({
5122 struct DeserializeWith(Vec<EditEidrProperty>);
5123 impl<'de> Deserialize<'de> for DeserializeWith {
5124 fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
5125 where
5126 D: Deserializer<'de>,
5127 {
5128 Ok(DeserializeWith(serde_with::As::<
5129 serde_with::OneOrMany<serde_with::Same>,
5130 >::deserialize(deserializer)?))
5131 }
5132 }
5133 match map.next_value::<DeserializeWith>() {
5134 Ok(deserialize_with) => deserialize_with.0,
5135 Err(err) => {
5136 return Err(err);
5137 }
5138 }
5139 });
5140 }
5141 Field::Editor => {
5142 if r#editor_property.is_some() {
5143 return Err(<A::Error as de::Error>::duplicate_field("editor"));
5144 }
5145 r#editor_property = Some({
5146 struct DeserializeWith(Vec<EditorProperty>);
5147 impl<'de> Deserialize<'de> for DeserializeWith {
5148 fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
5149 where
5150 D: Deserializer<'de>,
5151 {
5152 Ok(DeserializeWith(serde_with::As::<
5153 serde_with::OneOrMany<serde_with::Same>,
5154 >::deserialize(deserializer)?))
5155 }
5156 }
5157 match map.next_value::<DeserializeWith>() {
5158 Ok(deserialize_with) => deserialize_with.0,
5159 Err(err) => {
5160 return Err(err);
5161 }
5162 }
5163 });
5164 }
5165 Field::EducationalAlignment => {
5166 if r#educational_alignment_property.is_some() {
5167 return Err(<A::Error as de::Error>::duplicate_field(
5168 "educationalAlignment",
5169 ));
5170 }
5171 r#educational_alignment_property = Some({
5172 struct DeserializeWith(Vec<EducationalAlignmentProperty>);
5173 impl<'de> Deserialize<'de> for DeserializeWith {
5174 fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
5175 where
5176 D: Deserializer<'de>,
5177 {
5178 Ok(DeserializeWith(serde_with::As::<
5179 serde_with::OneOrMany<serde_with::Same>,
5180 >::deserialize(deserializer)?))
5181 }
5182 }
5183 match map.next_value::<DeserializeWith>() {
5184 Ok(deserialize_with) => deserialize_with.0,
5185 Err(err) => {
5186 return Err(err);
5187 }
5188 }
5189 });
5190 }
5191 Field::EducationalLevel => {
5192 if r#educational_level_property.is_some() {
5193 return Err(<A::Error as de::Error>::duplicate_field(
5194 "educationalLevel",
5195 ));
5196 }
5197 r#educational_level_property = Some({
5198 struct DeserializeWith(Vec<EducationalLevelProperty>);
5199 impl<'de> Deserialize<'de> for DeserializeWith {
5200 fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
5201 where
5202 D: Deserializer<'de>,
5203 {
5204 Ok(DeserializeWith(serde_with::As::<
5205 serde_with::OneOrMany<serde_with::Same>,
5206 >::deserialize(deserializer)?))
5207 }
5208 }
5209 match map.next_value::<DeserializeWith>() {
5210 Ok(deserialize_with) => deserialize_with.0,
5211 Err(err) => {
5212 return Err(err);
5213 }
5214 }
5215 });
5216 }
5217 Field::EducationalUse => {
5218 if r#educational_use_property.is_some() {
5219 return Err(<A::Error as de::Error>::duplicate_field(
5220 "educationalUse",
5221 ));
5222 }
5223 r#educational_use_property = Some({
5224 struct DeserializeWith(Vec<EducationalUseProperty>);
5225 impl<'de> Deserialize<'de> for DeserializeWith {
5226 fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
5227 where
5228 D: Deserializer<'de>,
5229 {
5230 Ok(DeserializeWith(serde_with::As::<
5231 serde_with::OneOrMany<serde_with::Same>,
5232 >::deserialize(deserializer)?))
5233 }
5234 }
5235 match map.next_value::<DeserializeWith>() {
5236 Ok(deserialize_with) => deserialize_with.0,
5237 Err(err) => {
5238 return Err(err);
5239 }
5240 }
5241 });
5242 }
5243 Field::Encoding => {
5244 if r#encoding_property.is_some() {
5245 return Err(<A::Error as de::Error>::duplicate_field(
5246 "encoding",
5247 ));
5248 }
5249 r#encoding_property = Some({
5250 struct DeserializeWith(Vec<EncodingProperty>);
5251 impl<'de> Deserialize<'de> for DeserializeWith {
5252 fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
5253 where
5254 D: Deserializer<'de>,
5255 {
5256 Ok(DeserializeWith(serde_with::As::<
5257 serde_with::OneOrMany<serde_with::Same>,
5258 >::deserialize(deserializer)?))
5259 }
5260 }
5261 match map.next_value::<DeserializeWith>() {
5262 Ok(deserialize_with) => deserialize_with.0,
5263 Err(err) => {
5264 return Err(err);
5265 }
5266 }
5267 });
5268 }
5269 Field::EncodingFormat => {
5270 if r#encoding_format_property.is_some() {
5271 return Err(<A::Error as de::Error>::duplicate_field(
5272 "encodingFormat",
5273 ));
5274 }
5275 r#encoding_format_property = Some({
5276 struct DeserializeWith(Vec<EncodingFormatProperty>);
5277 impl<'de> Deserialize<'de> for DeserializeWith {
5278 fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
5279 where
5280 D: Deserializer<'de>,
5281 {
5282 Ok(DeserializeWith(serde_with::As::<
5283 serde_with::OneOrMany<serde_with::Same>,
5284 >::deserialize(deserializer)?))
5285 }
5286 }
5287 match map.next_value::<DeserializeWith>() {
5288 Ok(deserialize_with) => deserialize_with.0,
5289 Err(err) => {
5290 return Err(err);
5291 }
5292 }
5293 });
5294 }
5295 Field::Encodings => {
5296 if r#encodings_property.is_some() {
5297 return Err(<A::Error as de::Error>::duplicate_field(
5298 "encodings",
5299 ));
5300 }
5301 r#encodings_property = Some({
5302 struct DeserializeWith(Vec<EncodingsProperty>);
5303 impl<'de> Deserialize<'de> for DeserializeWith {
5304 fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
5305 where
5306 D: Deserializer<'de>,
5307 {
5308 Ok(DeserializeWith(serde_with::As::<
5309 serde_with::OneOrMany<serde_with::Same>,
5310 >::deserialize(deserializer)?))
5311 }
5312 }
5313 match map.next_value::<DeserializeWith>() {
5314 Ok(deserialize_with) => deserialize_with.0,
5315 Err(err) => {
5316 return Err(err);
5317 }
5318 }
5319 });
5320 }
5321 Field::ExampleOfWork => {
5322 if r#example_of_work_property.is_some() {
5323 return Err(<A::Error as de::Error>::duplicate_field(
5324 "exampleOfWork",
5325 ));
5326 }
5327 r#example_of_work_property = Some({
5328 struct DeserializeWith(Vec<ExampleOfWorkProperty>);
5329 impl<'de> Deserialize<'de> for DeserializeWith {
5330 fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
5331 where
5332 D: Deserializer<'de>,
5333 {
5334 Ok(DeserializeWith(serde_with::As::<
5335 serde_with::OneOrMany<serde_with::Same>,
5336 >::deserialize(deserializer)?))
5337 }
5338 }
5339 match map.next_value::<DeserializeWith>() {
5340 Ok(deserialize_with) => deserialize_with.0,
5341 Err(err) => {
5342 return Err(err);
5343 }
5344 }
5345 });
5346 }
5347 Field::Expires => {
5348 if r#expires_property.is_some() {
5349 return Err(<A::Error as de::Error>::duplicate_field(
5350 "expires",
5351 ));
5352 }
5353 r#expires_property = Some({
5354 struct DeserializeWith(Vec<ExpiresProperty>);
5355 impl<'de> Deserialize<'de> for DeserializeWith {
5356 fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
5357 where
5358 D: Deserializer<'de>,
5359 {
5360 Ok(DeserializeWith(serde_with::As::<
5361 serde_with::OneOrMany<serde_with::Same>,
5362 >::deserialize(deserializer)?))
5363 }
5364 }
5365 match map.next_value::<DeserializeWith>() {
5366 Ok(deserialize_with) => deserialize_with.0,
5367 Err(err) => {
5368 return Err(err);
5369 }
5370 }
5371 });
5372 }
5373 Field::FileFormat => {
5374 if r#file_format_property.is_some() {
5375 return Err(<A::Error as de::Error>::duplicate_field(
5376 "fileFormat",
5377 ));
5378 }
5379 r#file_format_property = Some({
5380 struct DeserializeWith(Vec<FileFormatProperty>);
5381 impl<'de> Deserialize<'de> for DeserializeWith {
5382 fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
5383 where
5384 D: Deserializer<'de>,
5385 {
5386 Ok(DeserializeWith(serde_with::As::<
5387 serde_with::OneOrMany<serde_with::Same>,
5388 >::deserialize(deserializer)?))
5389 }
5390 }
5391 match map.next_value::<DeserializeWith>() {
5392 Ok(deserialize_with) => deserialize_with.0,
5393 Err(err) => {
5394 return Err(err);
5395 }
5396 }
5397 });
5398 }
5399 Field::Funder => {
5400 if r#funder_property.is_some() {
5401 return Err(<A::Error as de::Error>::duplicate_field("funder"));
5402 }
5403 r#funder_property = Some({
5404 struct DeserializeWith(Vec<FunderProperty>);
5405 impl<'de> Deserialize<'de> for DeserializeWith {
5406 fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
5407 where
5408 D: Deserializer<'de>,
5409 {
5410 Ok(DeserializeWith(serde_with::As::<
5411 serde_with::OneOrMany<serde_with::Same>,
5412 >::deserialize(deserializer)?))
5413 }
5414 }
5415 match map.next_value::<DeserializeWith>() {
5416 Ok(deserialize_with) => deserialize_with.0,
5417 Err(err) => {
5418 return Err(err);
5419 }
5420 }
5421 });
5422 }
5423 Field::Funding => {
5424 if r#funding_property.is_some() {
5425 return Err(<A::Error as de::Error>::duplicate_field(
5426 "funding",
5427 ));
5428 }
5429 r#funding_property = Some({
5430 struct DeserializeWith(Vec<FundingProperty>);
5431 impl<'de> Deserialize<'de> for DeserializeWith {
5432 fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
5433 where
5434 D: Deserializer<'de>,
5435 {
5436 Ok(DeserializeWith(serde_with::As::<
5437 serde_with::OneOrMany<serde_with::Same>,
5438 >::deserialize(deserializer)?))
5439 }
5440 }
5441 match map.next_value::<DeserializeWith>() {
5442 Ok(deserialize_with) => deserialize_with.0,
5443 Err(err) => {
5444 return Err(err);
5445 }
5446 }
5447 });
5448 }
5449 Field::Genre => {
5450 if r#genre_property.is_some() {
5451 return Err(<A::Error as de::Error>::duplicate_field("genre"));
5452 }
5453 r#genre_property = Some({
5454 struct DeserializeWith(Vec<GenreProperty>);
5455 impl<'de> Deserialize<'de> for DeserializeWith {
5456 fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
5457 where
5458 D: Deserializer<'de>,
5459 {
5460 Ok(DeserializeWith(serde_with::As::<
5461 serde_with::OneOrMany<serde_with::Same>,
5462 >::deserialize(deserializer)?))
5463 }
5464 }
5465 match map.next_value::<DeserializeWith>() {
5466 Ok(deserialize_with) => deserialize_with.0,
5467 Err(err) => {
5468 return Err(err);
5469 }
5470 }
5471 });
5472 }
5473 Field::HasPart => {
5474 if r#has_part_property.is_some() {
5475 return Err(<A::Error as de::Error>::duplicate_field(
5476 "hasPart",
5477 ));
5478 }
5479 r#has_part_property = Some({
5480 struct DeserializeWith(Vec<HasPartProperty>);
5481 impl<'de> Deserialize<'de> for DeserializeWith {
5482 fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
5483 where
5484 D: Deserializer<'de>,
5485 {
5486 Ok(DeserializeWith(serde_with::As::<
5487 serde_with::OneOrMany<serde_with::Same>,
5488 >::deserialize(deserializer)?))
5489 }
5490 }
5491 match map.next_value::<DeserializeWith>() {
5492 Ok(deserialize_with) => deserialize_with.0,
5493 Err(err) => {
5494 return Err(err);
5495 }
5496 }
5497 });
5498 }
5499 Field::Headline => {
5500 if r#headline_property.is_some() {
5501 return Err(<A::Error as de::Error>::duplicate_field(
5502 "headline",
5503 ));
5504 }
5505 r#headline_property = Some({
5506 struct DeserializeWith(Vec<HeadlineProperty>);
5507 impl<'de> Deserialize<'de> for DeserializeWith {
5508 fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
5509 where
5510 D: Deserializer<'de>,
5511 {
5512 Ok(DeserializeWith(serde_with::As::<
5513 serde_with::OneOrMany<serde_with::Same>,
5514 >::deserialize(deserializer)?))
5515 }
5516 }
5517 match map.next_value::<DeserializeWith>() {
5518 Ok(deserialize_with) => deserialize_with.0,
5519 Err(err) => {
5520 return Err(err);
5521 }
5522 }
5523 });
5524 }
5525 Field::InLanguage => {
5526 if r#in_language_property.is_some() {
5527 return Err(<A::Error as de::Error>::duplicate_field(
5528 "inLanguage",
5529 ));
5530 }
5531 r#in_language_property = Some({
5532 struct DeserializeWith(Vec<InLanguageProperty>);
5533 impl<'de> Deserialize<'de> for DeserializeWith {
5534 fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
5535 where
5536 D: Deserializer<'de>,
5537 {
5538 Ok(DeserializeWith(serde_with::As::<
5539 serde_with::OneOrMany<serde_with::Same>,
5540 >::deserialize(deserializer)?))
5541 }
5542 }
5543 match map.next_value::<DeserializeWith>() {
5544 Ok(deserialize_with) => deserialize_with.0,
5545 Err(err) => {
5546 return Err(err);
5547 }
5548 }
5549 });
5550 }
5551 Field::InteractionStatistic => {
5552 if r#interaction_statistic_property.is_some() {
5553 return Err(<A::Error as de::Error>::duplicate_field(
5554 "interactionStatistic",
5555 ));
5556 }
5557 r#interaction_statistic_property = Some({
5558 struct DeserializeWith(Vec<InteractionStatisticProperty>);
5559 impl<'de> Deserialize<'de> for DeserializeWith {
5560 fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
5561 where
5562 D: Deserializer<'de>,
5563 {
5564 Ok(DeserializeWith(serde_with::As::<
5565 serde_with::OneOrMany<serde_with::Same>,
5566 >::deserialize(deserializer)?))
5567 }
5568 }
5569 match map.next_value::<DeserializeWith>() {
5570 Ok(deserialize_with) => deserialize_with.0,
5571 Err(err) => {
5572 return Err(err);
5573 }
5574 }
5575 });
5576 }
5577 Field::InteractivityType => {
5578 if r#interactivity_type_property.is_some() {
5579 return Err(<A::Error as de::Error>::duplicate_field(
5580 "interactivityType",
5581 ));
5582 }
5583 r#interactivity_type_property = Some({
5584 struct DeserializeWith(Vec<InteractivityTypeProperty>);
5585 impl<'de> Deserialize<'de> for DeserializeWith {
5586 fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
5587 where
5588 D: Deserializer<'de>,
5589 {
5590 Ok(DeserializeWith(serde_with::As::<
5591 serde_with::OneOrMany<serde_with::Same>,
5592 >::deserialize(deserializer)?))
5593 }
5594 }
5595 match map.next_value::<DeserializeWith>() {
5596 Ok(deserialize_with) => deserialize_with.0,
5597 Err(err) => {
5598 return Err(err);
5599 }
5600 }
5601 });
5602 }
5603 Field::InterpretedAsClaim => {
5604 if r#interpreted_as_claim_property.is_some() {
5605 return Err(<A::Error as de::Error>::duplicate_field(
5606 "interpretedAsClaim",
5607 ));
5608 }
5609 r#interpreted_as_claim_property = Some({
5610 struct DeserializeWith(Vec<InterpretedAsClaimProperty>);
5611 impl<'de> Deserialize<'de> for DeserializeWith {
5612 fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
5613 where
5614 D: Deserializer<'de>,
5615 {
5616 Ok(DeserializeWith(serde_with::As::<
5617 serde_with::OneOrMany<serde_with::Same>,
5618 >::deserialize(deserializer)?))
5619 }
5620 }
5621 match map.next_value::<DeserializeWith>() {
5622 Ok(deserialize_with) => deserialize_with.0,
5623 Err(err) => {
5624 return Err(err);
5625 }
5626 }
5627 });
5628 }
5629 Field::IsAccessibleForFree => {
5630 if r#is_accessible_for_free_property.is_some() {
5631 return Err(<A::Error as de::Error>::duplicate_field(
5632 "isAccessibleForFree",
5633 ));
5634 }
5635 r#is_accessible_for_free_property = Some({
5636 struct DeserializeWith(Vec<IsAccessibleForFreeProperty>);
5637 impl<'de> Deserialize<'de> for DeserializeWith {
5638 fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
5639 where
5640 D: Deserializer<'de>,
5641 {
5642 Ok(DeserializeWith(serde_with::As::<
5643 serde_with::OneOrMany<serde_with::Same>,
5644 >::deserialize(deserializer)?))
5645 }
5646 }
5647 match map.next_value::<DeserializeWith>() {
5648 Ok(deserialize_with) => deserialize_with.0,
5649 Err(err) => {
5650 return Err(err);
5651 }
5652 }
5653 });
5654 }
5655 Field::IsBasedOn => {
5656 if r#is_based_on_property.is_some() {
5657 return Err(<A::Error as de::Error>::duplicate_field(
5658 "isBasedOn",
5659 ));
5660 }
5661 r#is_based_on_property = Some({
5662 struct DeserializeWith(Vec<IsBasedOnProperty>);
5663 impl<'de> Deserialize<'de> for DeserializeWith {
5664 fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
5665 where
5666 D: Deserializer<'de>,
5667 {
5668 Ok(DeserializeWith(serde_with::As::<
5669 serde_with::OneOrMany<serde_with::Same>,
5670 >::deserialize(deserializer)?))
5671 }
5672 }
5673 match map.next_value::<DeserializeWith>() {
5674 Ok(deserialize_with) => deserialize_with.0,
5675 Err(err) => {
5676 return Err(err);
5677 }
5678 }
5679 });
5680 }
5681 Field::IsBasedOnUrl => {
5682 if r#is_based_on_url_property.is_some() {
5683 return Err(<A::Error as de::Error>::duplicate_field(
5684 "isBasedOnUrl",
5685 ));
5686 }
5687 r#is_based_on_url_property = Some({
5688 struct DeserializeWith(Vec<IsBasedOnUrlProperty>);
5689 impl<'de> Deserialize<'de> for DeserializeWith {
5690 fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
5691 where
5692 D: Deserializer<'de>,
5693 {
5694 Ok(DeserializeWith(serde_with::As::<
5695 serde_with::OneOrMany<serde_with::Same>,
5696 >::deserialize(deserializer)?))
5697 }
5698 }
5699 match map.next_value::<DeserializeWith>() {
5700 Ok(deserialize_with) => deserialize_with.0,
5701 Err(err) => {
5702 return Err(err);
5703 }
5704 }
5705 });
5706 }
5707 Field::IsFamilyFriendly => {
5708 if r#is_family_friendly_property.is_some() {
5709 return Err(<A::Error as de::Error>::duplicate_field(
5710 "isFamilyFriendly",
5711 ));
5712 }
5713 r#is_family_friendly_property = Some({
5714 struct DeserializeWith(Vec<IsFamilyFriendlyProperty>);
5715 impl<'de> Deserialize<'de> for DeserializeWith {
5716 fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
5717 where
5718 D: Deserializer<'de>,
5719 {
5720 Ok(DeserializeWith(serde_with::As::<
5721 serde_with::OneOrMany<serde_with::Same>,
5722 >::deserialize(deserializer)?))
5723 }
5724 }
5725 match map.next_value::<DeserializeWith>() {
5726 Ok(deserialize_with) => deserialize_with.0,
5727 Err(err) => {
5728 return Err(err);
5729 }
5730 }
5731 });
5732 }
5733 Field::IsPartOf => {
5734 if r#is_part_of_property.is_some() {
5735 return Err(<A::Error as de::Error>::duplicate_field(
5736 "isPartOf",
5737 ));
5738 }
5739 r#is_part_of_property = Some({
5740 struct DeserializeWith(Vec<IsPartOfProperty>);
5741 impl<'de> Deserialize<'de> for DeserializeWith {
5742 fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
5743 where
5744 D: Deserializer<'de>,
5745 {
5746 Ok(DeserializeWith(serde_with::As::<
5747 serde_with::OneOrMany<serde_with::Same>,
5748 >::deserialize(deserializer)?))
5749 }
5750 }
5751 match map.next_value::<DeserializeWith>() {
5752 Ok(deserialize_with) => deserialize_with.0,
5753 Err(err) => {
5754 return Err(err);
5755 }
5756 }
5757 });
5758 }
5759 Field::Keywords => {
5760 if r#keywords_property.is_some() {
5761 return Err(<A::Error as de::Error>::duplicate_field(
5762 "keywords",
5763 ));
5764 }
5765 r#keywords_property = Some({
5766 struct DeserializeWith(Vec<KeywordsProperty>);
5767 impl<'de> Deserialize<'de> for DeserializeWith {
5768 fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
5769 where
5770 D: Deserializer<'de>,
5771 {
5772 Ok(DeserializeWith(serde_with::As::<
5773 serde_with::OneOrMany<serde_with::Same>,
5774 >::deserialize(deserializer)?))
5775 }
5776 }
5777 match map.next_value::<DeserializeWith>() {
5778 Ok(deserialize_with) => deserialize_with.0,
5779 Err(err) => {
5780 return Err(err);
5781 }
5782 }
5783 });
5784 }
5785 Field::LearningResourceType => {
5786 if r#learning_resource_type_property.is_some() {
5787 return Err(<A::Error as de::Error>::duplicate_field(
5788 "learningResourceType",
5789 ));
5790 }
5791 r#learning_resource_type_property = Some({
5792 struct DeserializeWith(Vec<LearningResourceTypeProperty>);
5793 impl<'de> Deserialize<'de> for DeserializeWith {
5794 fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
5795 where
5796 D: Deserializer<'de>,
5797 {
5798 Ok(DeserializeWith(serde_with::As::<
5799 serde_with::OneOrMany<serde_with::Same>,
5800 >::deserialize(deserializer)?))
5801 }
5802 }
5803 match map.next_value::<DeserializeWith>() {
5804 Ok(deserialize_with) => deserialize_with.0,
5805 Err(err) => {
5806 return Err(err);
5807 }
5808 }
5809 });
5810 }
5811 Field::License => {
5812 if r#license_property.is_some() {
5813 return Err(<A::Error as de::Error>::duplicate_field(
5814 "license",
5815 ));
5816 }
5817 r#license_property = Some({
5818 struct DeserializeWith(Vec<LicenseProperty>);
5819 impl<'de> Deserialize<'de> for DeserializeWith {
5820 fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
5821 where
5822 D: Deserializer<'de>,
5823 {
5824 Ok(DeserializeWith(serde_with::As::<
5825 serde_with::OneOrMany<serde_with::Same>,
5826 >::deserialize(deserializer)?))
5827 }
5828 }
5829 match map.next_value::<DeserializeWith>() {
5830 Ok(deserialize_with) => deserialize_with.0,
5831 Err(err) => {
5832 return Err(err);
5833 }
5834 }
5835 });
5836 }
5837 Field::LocationCreated => {
5838 if r#location_created_property.is_some() {
5839 return Err(<A::Error as de::Error>::duplicate_field(
5840 "locationCreated",
5841 ));
5842 }
5843 r#location_created_property = Some({
5844 struct DeserializeWith(Vec<LocationCreatedProperty>);
5845 impl<'de> Deserialize<'de> for DeserializeWith {
5846 fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
5847 where
5848 D: Deserializer<'de>,
5849 {
5850 Ok(DeserializeWith(serde_with::As::<
5851 serde_with::OneOrMany<serde_with::Same>,
5852 >::deserialize(deserializer)?))
5853 }
5854 }
5855 match map.next_value::<DeserializeWith>() {
5856 Ok(deserialize_with) => deserialize_with.0,
5857 Err(err) => {
5858 return Err(err);
5859 }
5860 }
5861 });
5862 }
5863 Field::MainEntity => {
5864 if r#main_entity_property.is_some() {
5865 return Err(<A::Error as de::Error>::duplicate_field(
5866 "mainEntity",
5867 ));
5868 }
5869 r#main_entity_property = Some({
5870 struct DeserializeWith(Vec<MainEntityProperty>);
5871 impl<'de> Deserialize<'de> for DeserializeWith {
5872 fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
5873 where
5874 D: Deserializer<'de>,
5875 {
5876 Ok(DeserializeWith(serde_with::As::<
5877 serde_with::OneOrMany<serde_with::Same>,
5878 >::deserialize(deserializer)?))
5879 }
5880 }
5881 match map.next_value::<DeserializeWith>() {
5882 Ok(deserialize_with) => deserialize_with.0,
5883 Err(err) => {
5884 return Err(err);
5885 }
5886 }
5887 });
5888 }
5889 Field::Maintainer => {
5890 if r#maintainer_property.is_some() {
5891 return Err(<A::Error as de::Error>::duplicate_field(
5892 "maintainer",
5893 ));
5894 }
5895 r#maintainer_property = Some({
5896 struct DeserializeWith(Vec<MaintainerProperty>);
5897 impl<'de> Deserialize<'de> for DeserializeWith {
5898 fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
5899 where
5900 D: Deserializer<'de>,
5901 {
5902 Ok(DeserializeWith(serde_with::As::<
5903 serde_with::OneOrMany<serde_with::Same>,
5904 >::deserialize(deserializer)?))
5905 }
5906 }
5907 match map.next_value::<DeserializeWith>() {
5908 Ok(deserialize_with) => deserialize_with.0,
5909 Err(err) => {
5910 return Err(err);
5911 }
5912 }
5913 });
5914 }
5915 Field::Material => {
5916 if r#material_property.is_some() {
5917 return Err(<A::Error as de::Error>::duplicate_field(
5918 "material",
5919 ));
5920 }
5921 r#material_property = Some({
5922 struct DeserializeWith(Vec<MaterialProperty>);
5923 impl<'de> Deserialize<'de> for DeserializeWith {
5924 fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
5925 where
5926 D: Deserializer<'de>,
5927 {
5928 Ok(DeserializeWith(serde_with::As::<
5929 serde_with::OneOrMany<serde_with::Same>,
5930 >::deserialize(deserializer)?))
5931 }
5932 }
5933 match map.next_value::<DeserializeWith>() {
5934 Ok(deserialize_with) => deserialize_with.0,
5935 Err(err) => {
5936 return Err(err);
5937 }
5938 }
5939 });
5940 }
5941 Field::MaterialExtent => {
5942 if r#material_extent_property.is_some() {
5943 return Err(<A::Error as de::Error>::duplicate_field(
5944 "materialExtent",
5945 ));
5946 }
5947 r#material_extent_property = Some({
5948 struct DeserializeWith(Vec<MaterialExtentProperty>);
5949 impl<'de> Deserialize<'de> for DeserializeWith {
5950 fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
5951 where
5952 D: Deserializer<'de>,
5953 {
5954 Ok(DeserializeWith(serde_with::As::<
5955 serde_with::OneOrMany<serde_with::Same>,
5956 >::deserialize(deserializer)?))
5957 }
5958 }
5959 match map.next_value::<DeserializeWith>() {
5960 Ok(deserialize_with) => deserialize_with.0,
5961 Err(err) => {
5962 return Err(err);
5963 }
5964 }
5965 });
5966 }
5967 Field::Mentions => {
5968 if r#mentions_property.is_some() {
5969 return Err(<A::Error as de::Error>::duplicate_field(
5970 "mentions",
5971 ));
5972 }
5973 r#mentions_property = Some({
5974 struct DeserializeWith(Vec<MentionsProperty>);
5975 impl<'de> Deserialize<'de> for DeserializeWith {
5976 fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
5977 where
5978 D: Deserializer<'de>,
5979 {
5980 Ok(DeserializeWith(serde_with::As::<
5981 serde_with::OneOrMany<serde_with::Same>,
5982 >::deserialize(deserializer)?))
5983 }
5984 }
5985 match map.next_value::<DeserializeWith>() {
5986 Ok(deserialize_with) => deserialize_with.0,
5987 Err(err) => {
5988 return Err(err);
5989 }
5990 }
5991 });
5992 }
5993 Field::Offers => {
5994 if r#offers_property.is_some() {
5995 return Err(<A::Error as de::Error>::duplicate_field("offers"));
5996 }
5997 r#offers_property = Some({
5998 struct DeserializeWith(Vec<OffersProperty>);
5999 impl<'de> Deserialize<'de> for DeserializeWith {
6000 fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
6001 where
6002 D: Deserializer<'de>,
6003 {
6004 Ok(DeserializeWith(serde_with::As::<
6005 serde_with::OneOrMany<serde_with::Same>,
6006 >::deserialize(deserializer)?))
6007 }
6008 }
6009 match map.next_value::<DeserializeWith>() {
6010 Ok(deserialize_with) => deserialize_with.0,
6011 Err(err) => {
6012 return Err(err);
6013 }
6014 }
6015 });
6016 }
6017 Field::Pattern => {
6018 if r#pattern_property.is_some() {
6019 return Err(<A::Error as de::Error>::duplicate_field(
6020 "pattern",
6021 ));
6022 }
6023 r#pattern_property = Some({
6024 struct DeserializeWith(Vec<PatternProperty>);
6025 impl<'de> Deserialize<'de> for DeserializeWith {
6026 fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
6027 where
6028 D: Deserializer<'de>,
6029 {
6030 Ok(DeserializeWith(serde_with::As::<
6031 serde_with::OneOrMany<serde_with::Same>,
6032 >::deserialize(deserializer)?))
6033 }
6034 }
6035 match map.next_value::<DeserializeWith>() {
6036 Ok(deserialize_with) => deserialize_with.0,
6037 Err(err) => {
6038 return Err(err);
6039 }
6040 }
6041 });
6042 }
6043 Field::Position => {
6044 if r#position_property.is_some() {
6045 return Err(<A::Error as de::Error>::duplicate_field(
6046 "position",
6047 ));
6048 }
6049 r#position_property = Some({
6050 struct DeserializeWith(Vec<PositionProperty>);
6051 impl<'de> Deserialize<'de> for DeserializeWith {
6052 fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
6053 where
6054 D: Deserializer<'de>,
6055 {
6056 Ok(DeserializeWith(serde_with::As::<
6057 serde_with::OneOrMany<serde_with::Same>,
6058 >::deserialize(deserializer)?))
6059 }
6060 }
6061 match map.next_value::<DeserializeWith>() {
6062 Ok(deserialize_with) => deserialize_with.0,
6063 Err(err) => {
6064 return Err(err);
6065 }
6066 }
6067 });
6068 }
6069 Field::Producer => {
6070 if r#producer_property.is_some() {
6071 return Err(<A::Error as de::Error>::duplicate_field(
6072 "producer",
6073 ));
6074 }
6075 r#producer_property = Some({
6076 struct DeserializeWith(Vec<ProducerProperty>);
6077 impl<'de> Deserialize<'de> for DeserializeWith {
6078 fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
6079 where
6080 D: Deserializer<'de>,
6081 {
6082 Ok(DeserializeWith(serde_with::As::<
6083 serde_with::OneOrMany<serde_with::Same>,
6084 >::deserialize(deserializer)?))
6085 }
6086 }
6087 match map.next_value::<DeserializeWith>() {
6088 Ok(deserialize_with) => deserialize_with.0,
6089 Err(err) => {
6090 return Err(err);
6091 }
6092 }
6093 });
6094 }
6095 Field::Provider => {
6096 if r#provider_property.is_some() {
6097 return Err(<A::Error as de::Error>::duplicate_field(
6098 "provider",
6099 ));
6100 }
6101 r#provider_property = Some({
6102 struct DeserializeWith(Vec<ProviderProperty>);
6103 impl<'de> Deserialize<'de> for DeserializeWith {
6104 fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
6105 where
6106 D: Deserializer<'de>,
6107 {
6108 Ok(DeserializeWith(serde_with::As::<
6109 serde_with::OneOrMany<serde_with::Same>,
6110 >::deserialize(deserializer)?))
6111 }
6112 }
6113 match map.next_value::<DeserializeWith>() {
6114 Ok(deserialize_with) => deserialize_with.0,
6115 Err(err) => {
6116 return Err(err);
6117 }
6118 }
6119 });
6120 }
6121 Field::Publication => {
6122 if r#publication_property.is_some() {
6123 return Err(<A::Error as de::Error>::duplicate_field(
6124 "publication",
6125 ));
6126 }
6127 r#publication_property = Some({
6128 struct DeserializeWith(Vec<PublicationProperty>);
6129 impl<'de> Deserialize<'de> for DeserializeWith {
6130 fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
6131 where
6132 D: Deserializer<'de>,
6133 {
6134 Ok(DeserializeWith(serde_with::As::<
6135 serde_with::OneOrMany<serde_with::Same>,
6136 >::deserialize(deserializer)?))
6137 }
6138 }
6139 match map.next_value::<DeserializeWith>() {
6140 Ok(deserialize_with) => deserialize_with.0,
6141 Err(err) => {
6142 return Err(err);
6143 }
6144 }
6145 });
6146 }
6147 Field::Publisher => {
6148 if r#publisher_property.is_some() {
6149 return Err(<A::Error as de::Error>::duplicate_field(
6150 "publisher",
6151 ));
6152 }
6153 r#publisher_property = Some({
6154 struct DeserializeWith(Vec<PublisherProperty>);
6155 impl<'de> Deserialize<'de> for DeserializeWith {
6156 fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
6157 where
6158 D: Deserializer<'de>,
6159 {
6160 Ok(DeserializeWith(serde_with::As::<
6161 serde_with::OneOrMany<serde_with::Same>,
6162 >::deserialize(deserializer)?))
6163 }
6164 }
6165 match map.next_value::<DeserializeWith>() {
6166 Ok(deserialize_with) => deserialize_with.0,
6167 Err(err) => {
6168 return Err(err);
6169 }
6170 }
6171 });
6172 }
6173 Field::PublisherImprint => {
6174 if r#publisher_imprint_property.is_some() {
6175 return Err(<A::Error as de::Error>::duplicate_field(
6176 "publisherImprint",
6177 ));
6178 }
6179 r#publisher_imprint_property = Some({
6180 struct DeserializeWith(Vec<PublisherImprintProperty>);
6181 impl<'de> Deserialize<'de> for DeserializeWith {
6182 fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
6183 where
6184 D: Deserializer<'de>,
6185 {
6186 Ok(DeserializeWith(serde_with::As::<
6187 serde_with::OneOrMany<serde_with::Same>,
6188 >::deserialize(deserializer)?))
6189 }
6190 }
6191 match map.next_value::<DeserializeWith>() {
6192 Ok(deserialize_with) => deserialize_with.0,
6193 Err(err) => {
6194 return Err(err);
6195 }
6196 }
6197 });
6198 }
6199 Field::PublishingPrinciples => {
6200 if r#publishing_principles_property.is_some() {
6201 return Err(<A::Error as de::Error>::duplicate_field(
6202 "publishingPrinciples",
6203 ));
6204 }
6205 r#publishing_principles_property = Some({
6206 struct DeserializeWith(Vec<PublishingPrinciplesProperty>);
6207 impl<'de> Deserialize<'de> for DeserializeWith {
6208 fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
6209 where
6210 D: Deserializer<'de>,
6211 {
6212 Ok(DeserializeWith(serde_with::As::<
6213 serde_with::OneOrMany<serde_with::Same>,
6214 >::deserialize(deserializer)?))
6215 }
6216 }
6217 match map.next_value::<DeserializeWith>() {
6218 Ok(deserialize_with) => deserialize_with.0,
6219 Err(err) => {
6220 return Err(err);
6221 }
6222 }
6223 });
6224 }
6225 Field::RecordedAt => {
6226 if r#recorded_at_property.is_some() {
6227 return Err(<A::Error as de::Error>::duplicate_field(
6228 "recordedAt",
6229 ));
6230 }
6231 r#recorded_at_property = Some({
6232 struct DeserializeWith(Vec<RecordedAtProperty>);
6233 impl<'de> Deserialize<'de> for DeserializeWith {
6234 fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
6235 where
6236 D: Deserializer<'de>,
6237 {
6238 Ok(DeserializeWith(serde_with::As::<
6239 serde_with::OneOrMany<serde_with::Same>,
6240 >::deserialize(deserializer)?))
6241 }
6242 }
6243 match map.next_value::<DeserializeWith>() {
6244 Ok(deserialize_with) => deserialize_with.0,
6245 Err(err) => {
6246 return Err(err);
6247 }
6248 }
6249 });
6250 }
6251 Field::ReleasedEvent => {
6252 if r#released_event_property.is_some() {
6253 return Err(<A::Error as de::Error>::duplicate_field(
6254 "releasedEvent",
6255 ));
6256 }
6257 r#released_event_property = Some({
6258 struct DeserializeWith(Vec<ReleasedEventProperty>);
6259 impl<'de> Deserialize<'de> for DeserializeWith {
6260 fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
6261 where
6262 D: Deserializer<'de>,
6263 {
6264 Ok(DeserializeWith(serde_with::As::<
6265 serde_with::OneOrMany<serde_with::Same>,
6266 >::deserialize(deserializer)?))
6267 }
6268 }
6269 match map.next_value::<DeserializeWith>() {
6270 Ok(deserialize_with) => deserialize_with.0,
6271 Err(err) => {
6272 return Err(err);
6273 }
6274 }
6275 });
6276 }
6277 Field::Review => {
6278 if r#review_property.is_some() {
6279 return Err(<A::Error as de::Error>::duplicate_field("review"));
6280 }
6281 r#review_property = Some({
6282 struct DeserializeWith(Vec<ReviewProperty>);
6283 impl<'de> Deserialize<'de> for DeserializeWith {
6284 fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
6285 where
6286 D: Deserializer<'de>,
6287 {
6288 Ok(DeserializeWith(serde_with::As::<
6289 serde_with::OneOrMany<serde_with::Same>,
6290 >::deserialize(deserializer)?))
6291 }
6292 }
6293 match map.next_value::<DeserializeWith>() {
6294 Ok(deserialize_with) => deserialize_with.0,
6295 Err(err) => {
6296 return Err(err);
6297 }
6298 }
6299 });
6300 }
6301 Field::Reviews => {
6302 if r#reviews_property.is_some() {
6303 return Err(<A::Error as de::Error>::duplicate_field(
6304 "reviews",
6305 ));
6306 }
6307 r#reviews_property = Some({
6308 struct DeserializeWith(Vec<ReviewsProperty>);
6309 impl<'de> Deserialize<'de> for DeserializeWith {
6310 fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
6311 where
6312 D: Deserializer<'de>,
6313 {
6314 Ok(DeserializeWith(serde_with::As::<
6315 serde_with::OneOrMany<serde_with::Same>,
6316 >::deserialize(deserializer)?))
6317 }
6318 }
6319 match map.next_value::<DeserializeWith>() {
6320 Ok(deserialize_with) => deserialize_with.0,
6321 Err(err) => {
6322 return Err(err);
6323 }
6324 }
6325 });
6326 }
6327 Field::SchemaVersion => {
6328 if r#schema_version_property.is_some() {
6329 return Err(<A::Error as de::Error>::duplicate_field(
6330 "schemaVersion",
6331 ));
6332 }
6333 r#schema_version_property = Some({
6334 struct DeserializeWith(Vec<SchemaVersionProperty>);
6335 impl<'de> Deserialize<'de> for DeserializeWith {
6336 fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
6337 where
6338 D: Deserializer<'de>,
6339 {
6340 Ok(DeserializeWith(serde_with::As::<
6341 serde_with::OneOrMany<serde_with::Same>,
6342 >::deserialize(deserializer)?))
6343 }
6344 }
6345 match map.next_value::<DeserializeWith>() {
6346 Ok(deserialize_with) => deserialize_with.0,
6347 Err(err) => {
6348 return Err(err);
6349 }
6350 }
6351 });
6352 }
6353 Field::SdDatePublished => {
6354 if r#sd_date_published_property.is_some() {
6355 return Err(<A::Error as de::Error>::duplicate_field(
6356 "sdDatePublished",
6357 ));
6358 }
6359 r#sd_date_published_property = Some({
6360 struct DeserializeWith(Vec<SdDatePublishedProperty>);
6361 impl<'de> Deserialize<'de> for DeserializeWith {
6362 fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
6363 where
6364 D: Deserializer<'de>,
6365 {
6366 Ok(DeserializeWith(serde_with::As::<
6367 serde_with::OneOrMany<serde_with::Same>,
6368 >::deserialize(deserializer)?))
6369 }
6370 }
6371 match map.next_value::<DeserializeWith>() {
6372 Ok(deserialize_with) => deserialize_with.0,
6373 Err(err) => {
6374 return Err(err);
6375 }
6376 }
6377 });
6378 }
6379 Field::SdLicense => {
6380 if r#sd_license_property.is_some() {
6381 return Err(<A::Error as de::Error>::duplicate_field(
6382 "sdLicense",
6383 ));
6384 }
6385 r#sd_license_property = Some({
6386 struct DeserializeWith(Vec<SdLicenseProperty>);
6387 impl<'de> Deserialize<'de> for DeserializeWith {
6388 fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
6389 where
6390 D: Deserializer<'de>,
6391 {
6392 Ok(DeserializeWith(serde_with::As::<
6393 serde_with::OneOrMany<serde_with::Same>,
6394 >::deserialize(deserializer)?))
6395 }
6396 }
6397 match map.next_value::<DeserializeWith>() {
6398 Ok(deserialize_with) => deserialize_with.0,
6399 Err(err) => {
6400 return Err(err);
6401 }
6402 }
6403 });
6404 }
6405 Field::SdPublisher => {
6406 if r#sd_publisher_property.is_some() {
6407 return Err(<A::Error as de::Error>::duplicate_field(
6408 "sdPublisher",
6409 ));
6410 }
6411 r#sd_publisher_property = Some({
6412 struct DeserializeWith(Vec<SdPublisherProperty>);
6413 impl<'de> Deserialize<'de> for DeserializeWith {
6414 fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
6415 where
6416 D: Deserializer<'de>,
6417 {
6418 Ok(DeserializeWith(serde_with::As::<
6419 serde_with::OneOrMany<serde_with::Same>,
6420 >::deserialize(deserializer)?))
6421 }
6422 }
6423 match map.next_value::<DeserializeWith>() {
6424 Ok(deserialize_with) => deserialize_with.0,
6425 Err(err) => {
6426 return Err(err);
6427 }
6428 }
6429 });
6430 }
6431 Field::Size => {
6432 if r#size_property.is_some() {
6433 return Err(<A::Error as de::Error>::duplicate_field("size"));
6434 }
6435 r#size_property = Some({
6436 struct DeserializeWith(Vec<SizeProperty>);
6437 impl<'de> Deserialize<'de> for DeserializeWith {
6438 fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
6439 where
6440 D: Deserializer<'de>,
6441 {
6442 Ok(DeserializeWith(serde_with::As::<
6443 serde_with::OneOrMany<serde_with::Same>,
6444 >::deserialize(deserializer)?))
6445 }
6446 }
6447 match map.next_value::<DeserializeWith>() {
6448 Ok(deserialize_with) => deserialize_with.0,
6449 Err(err) => {
6450 return Err(err);
6451 }
6452 }
6453 });
6454 }
6455 Field::SourceOrganization => {
6456 if r#source_organization_property.is_some() {
6457 return Err(<A::Error as de::Error>::duplicate_field(
6458 "sourceOrganization",
6459 ));
6460 }
6461 r#source_organization_property = Some({
6462 struct DeserializeWith(Vec<SourceOrganizationProperty>);
6463 impl<'de> Deserialize<'de> for DeserializeWith {
6464 fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
6465 where
6466 D: Deserializer<'de>,
6467 {
6468 Ok(DeserializeWith(serde_with::As::<
6469 serde_with::OneOrMany<serde_with::Same>,
6470 >::deserialize(deserializer)?))
6471 }
6472 }
6473 match map.next_value::<DeserializeWith>() {
6474 Ok(deserialize_with) => deserialize_with.0,
6475 Err(err) => {
6476 return Err(err);
6477 }
6478 }
6479 });
6480 }
6481 Field::Spatial => {
6482 if r#spatial_property.is_some() {
6483 return Err(<A::Error as de::Error>::duplicate_field(
6484 "spatial",
6485 ));
6486 }
6487 r#spatial_property = Some({
6488 struct DeserializeWith(Vec<SpatialProperty>);
6489 impl<'de> Deserialize<'de> for DeserializeWith {
6490 fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
6491 where
6492 D: Deserializer<'de>,
6493 {
6494 Ok(DeserializeWith(serde_with::As::<
6495 serde_with::OneOrMany<serde_with::Same>,
6496 >::deserialize(deserializer)?))
6497 }
6498 }
6499 match map.next_value::<DeserializeWith>() {
6500 Ok(deserialize_with) => deserialize_with.0,
6501 Err(err) => {
6502 return Err(err);
6503 }
6504 }
6505 });
6506 }
6507 Field::SpatialCoverage => {
6508 if r#spatial_coverage_property.is_some() {
6509 return Err(<A::Error as de::Error>::duplicate_field(
6510 "spatialCoverage",
6511 ));
6512 }
6513 r#spatial_coverage_property = Some({
6514 struct DeserializeWith(Vec<SpatialCoverageProperty>);
6515 impl<'de> Deserialize<'de> for DeserializeWith {
6516 fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
6517 where
6518 D: Deserializer<'de>,
6519 {
6520 Ok(DeserializeWith(serde_with::As::<
6521 serde_with::OneOrMany<serde_with::Same>,
6522 >::deserialize(deserializer)?))
6523 }
6524 }
6525 match map.next_value::<DeserializeWith>() {
6526 Ok(deserialize_with) => deserialize_with.0,
6527 Err(err) => {
6528 return Err(err);
6529 }
6530 }
6531 });
6532 }
6533 Field::Sponsor => {
6534 if r#sponsor_property.is_some() {
6535 return Err(<A::Error as de::Error>::duplicate_field(
6536 "sponsor",
6537 ));
6538 }
6539 r#sponsor_property = Some({
6540 struct DeserializeWith(Vec<SponsorProperty>);
6541 impl<'de> Deserialize<'de> for DeserializeWith {
6542 fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
6543 where
6544 D: Deserializer<'de>,
6545 {
6546 Ok(DeserializeWith(serde_with::As::<
6547 serde_with::OneOrMany<serde_with::Same>,
6548 >::deserialize(deserializer)?))
6549 }
6550 }
6551 match map.next_value::<DeserializeWith>() {
6552 Ok(deserialize_with) => deserialize_with.0,
6553 Err(err) => {
6554 return Err(err);
6555 }
6556 }
6557 });
6558 }
6559 Field::Teaches => {
6560 if r#teaches_property.is_some() {
6561 return Err(<A::Error as de::Error>::duplicate_field(
6562 "teaches",
6563 ));
6564 }
6565 r#teaches_property = Some({
6566 struct DeserializeWith(Vec<TeachesProperty>);
6567 impl<'de> Deserialize<'de> for DeserializeWith {
6568 fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
6569 where
6570 D: Deserializer<'de>,
6571 {
6572 Ok(DeserializeWith(serde_with::As::<
6573 serde_with::OneOrMany<serde_with::Same>,
6574 >::deserialize(deserializer)?))
6575 }
6576 }
6577 match map.next_value::<DeserializeWith>() {
6578 Ok(deserialize_with) => deserialize_with.0,
6579 Err(err) => {
6580 return Err(err);
6581 }
6582 }
6583 });
6584 }
6585 Field::Temporal => {
6586 if r#temporal_property.is_some() {
6587 return Err(<A::Error as de::Error>::duplicate_field(
6588 "temporal",
6589 ));
6590 }
6591 r#temporal_property = Some({
6592 struct DeserializeWith(Vec<TemporalProperty>);
6593 impl<'de> Deserialize<'de> for DeserializeWith {
6594 fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
6595 where
6596 D: Deserializer<'de>,
6597 {
6598 Ok(DeserializeWith(serde_with::As::<
6599 serde_with::OneOrMany<serde_with::Same>,
6600 >::deserialize(deserializer)?))
6601 }
6602 }
6603 match map.next_value::<DeserializeWith>() {
6604 Ok(deserialize_with) => deserialize_with.0,
6605 Err(err) => {
6606 return Err(err);
6607 }
6608 }
6609 });
6610 }
6611 Field::TemporalCoverage => {
6612 if r#temporal_coverage_property.is_some() {
6613 return Err(<A::Error as de::Error>::duplicate_field(
6614 "temporalCoverage",
6615 ));
6616 }
6617 r#temporal_coverage_property = Some({
6618 struct DeserializeWith(Vec<TemporalCoverageProperty>);
6619 impl<'de> Deserialize<'de> for DeserializeWith {
6620 fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
6621 where
6622 D: Deserializer<'de>,
6623 {
6624 Ok(DeserializeWith(serde_with::As::<
6625 serde_with::OneOrMany<serde_with::Same>,
6626 >::deserialize(deserializer)?))
6627 }
6628 }
6629 match map.next_value::<DeserializeWith>() {
6630 Ok(deserialize_with) => deserialize_with.0,
6631 Err(err) => {
6632 return Err(err);
6633 }
6634 }
6635 });
6636 }
6637 Field::Text => {
6638 if r#text_property.is_some() {
6639 return Err(<A::Error as de::Error>::duplicate_field("text"));
6640 }
6641 r#text_property = Some({
6642 struct DeserializeWith(Vec<TextProperty>);
6643 impl<'de> Deserialize<'de> for DeserializeWith {
6644 fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
6645 where
6646 D: Deserializer<'de>,
6647 {
6648 Ok(DeserializeWith(serde_with::As::<
6649 serde_with::OneOrMany<serde_with::Same>,
6650 >::deserialize(deserializer)?))
6651 }
6652 }
6653 match map.next_value::<DeserializeWith>() {
6654 Ok(deserialize_with) => deserialize_with.0,
6655 Err(err) => {
6656 return Err(err);
6657 }
6658 }
6659 });
6660 }
6661 Field::Thumbnail => {
6662 if r#thumbnail_property.is_some() {
6663 return Err(<A::Error as de::Error>::duplicate_field(
6664 "thumbnail",
6665 ));
6666 }
6667 r#thumbnail_property = Some({
6668 struct DeserializeWith(Vec<ThumbnailProperty>);
6669 impl<'de> Deserialize<'de> for DeserializeWith {
6670 fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
6671 where
6672 D: Deserializer<'de>,
6673 {
6674 Ok(DeserializeWith(serde_with::As::<
6675 serde_with::OneOrMany<serde_with::Same>,
6676 >::deserialize(deserializer)?))
6677 }
6678 }
6679 match map.next_value::<DeserializeWith>() {
6680 Ok(deserialize_with) => deserialize_with.0,
6681 Err(err) => {
6682 return Err(err);
6683 }
6684 }
6685 });
6686 }
6687 Field::ThumbnailUrl => {
6688 if r#thumbnail_url_property.is_some() {
6689 return Err(<A::Error as de::Error>::duplicate_field(
6690 "thumbnailUrl",
6691 ));
6692 }
6693 r#thumbnail_url_property = Some({
6694 struct DeserializeWith(Vec<ThumbnailUrlProperty>);
6695 impl<'de> Deserialize<'de> for DeserializeWith {
6696 fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
6697 where
6698 D: Deserializer<'de>,
6699 {
6700 Ok(DeserializeWith(serde_with::As::<
6701 serde_with::OneOrMany<serde_with::Same>,
6702 >::deserialize(deserializer)?))
6703 }
6704 }
6705 match map.next_value::<DeserializeWith>() {
6706 Ok(deserialize_with) => deserialize_with.0,
6707 Err(err) => {
6708 return Err(err);
6709 }
6710 }
6711 });
6712 }
6713 Field::TimeRequired => {
6714 if r#time_required_property.is_some() {
6715 return Err(<A::Error as de::Error>::duplicate_field(
6716 "timeRequired",
6717 ));
6718 }
6719 r#time_required_property = Some({
6720 struct DeserializeWith(Vec<TimeRequiredProperty>);
6721 impl<'de> Deserialize<'de> for DeserializeWith {
6722 fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
6723 where
6724 D: Deserializer<'de>,
6725 {
6726 Ok(DeserializeWith(serde_with::As::<
6727 serde_with::OneOrMany<serde_with::Same>,
6728 >::deserialize(deserializer)?))
6729 }
6730 }
6731 match map.next_value::<DeserializeWith>() {
6732 Ok(deserialize_with) => deserialize_with.0,
6733 Err(err) => {
6734 return Err(err);
6735 }
6736 }
6737 });
6738 }
6739 Field::TranslationOfWork => {
6740 if r#translation_of_work_property.is_some() {
6741 return Err(<A::Error as de::Error>::duplicate_field(
6742 "translationOfWork",
6743 ));
6744 }
6745 r#translation_of_work_property = Some({
6746 struct DeserializeWith(Vec<TranslationOfWorkProperty>);
6747 impl<'de> Deserialize<'de> for DeserializeWith {
6748 fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
6749 where
6750 D: Deserializer<'de>,
6751 {
6752 Ok(DeserializeWith(serde_with::As::<
6753 serde_with::OneOrMany<serde_with::Same>,
6754 >::deserialize(deserializer)?))
6755 }
6756 }
6757 match map.next_value::<DeserializeWith>() {
6758 Ok(deserialize_with) => deserialize_with.0,
6759 Err(err) => {
6760 return Err(err);
6761 }
6762 }
6763 });
6764 }
6765 Field::Translator => {
6766 if r#translator_property.is_some() {
6767 return Err(<A::Error as de::Error>::duplicate_field(
6768 "translator",
6769 ));
6770 }
6771 r#translator_property = Some({
6772 struct DeserializeWith(Vec<TranslatorProperty>);
6773 impl<'de> Deserialize<'de> for DeserializeWith {
6774 fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
6775 where
6776 D: Deserializer<'de>,
6777 {
6778 Ok(DeserializeWith(serde_with::As::<
6779 serde_with::OneOrMany<serde_with::Same>,
6780 >::deserialize(deserializer)?))
6781 }
6782 }
6783 match map.next_value::<DeserializeWith>() {
6784 Ok(deserialize_with) => deserialize_with.0,
6785 Err(err) => {
6786 return Err(err);
6787 }
6788 }
6789 });
6790 }
6791 Field::TypicalAgeRange => {
6792 if r#typical_age_range_property.is_some() {
6793 return Err(<A::Error as de::Error>::duplicate_field(
6794 "typicalAgeRange",
6795 ));
6796 }
6797 r#typical_age_range_property = Some({
6798 struct DeserializeWith(Vec<TypicalAgeRangeProperty>);
6799 impl<'de> Deserialize<'de> for DeserializeWith {
6800 fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
6801 where
6802 D: Deserializer<'de>,
6803 {
6804 Ok(DeserializeWith(serde_with::As::<
6805 serde_with::OneOrMany<serde_with::Same>,
6806 >::deserialize(deserializer)?))
6807 }
6808 }
6809 match map.next_value::<DeserializeWith>() {
6810 Ok(deserialize_with) => deserialize_with.0,
6811 Err(err) => {
6812 return Err(err);
6813 }
6814 }
6815 });
6816 }
6817 Field::UsageInfo => {
6818 if r#usage_info_property.is_some() {
6819 return Err(<A::Error as de::Error>::duplicate_field(
6820 "usageInfo",
6821 ));
6822 }
6823 r#usage_info_property = Some({
6824 struct DeserializeWith(Vec<UsageInfoProperty>);
6825 impl<'de> Deserialize<'de> for DeserializeWith {
6826 fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
6827 where
6828 D: Deserializer<'de>,
6829 {
6830 Ok(DeserializeWith(serde_with::As::<
6831 serde_with::OneOrMany<serde_with::Same>,
6832 >::deserialize(deserializer)?))
6833 }
6834 }
6835 match map.next_value::<DeserializeWith>() {
6836 Ok(deserialize_with) => deserialize_with.0,
6837 Err(err) => {
6838 return Err(err);
6839 }
6840 }
6841 });
6842 }
6843 Field::Version => {
6844 if r#version_property.is_some() {
6845 return Err(<A::Error as de::Error>::duplicate_field(
6846 "version",
6847 ));
6848 }
6849 r#version_property = Some({
6850 struct DeserializeWith(Vec<VersionProperty>);
6851 impl<'de> Deserialize<'de> for DeserializeWith {
6852 fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
6853 where
6854 D: Deserializer<'de>,
6855 {
6856 Ok(DeserializeWith(serde_with::As::<
6857 serde_with::OneOrMany<serde_with::Same>,
6858 >::deserialize(deserializer)?))
6859 }
6860 }
6861 match map.next_value::<DeserializeWith>() {
6862 Ok(deserialize_with) => deserialize_with.0,
6863 Err(err) => {
6864 return Err(err);
6865 }
6866 }
6867 });
6868 }
6869 Field::Video => {
6870 if r#video_property.is_some() {
6871 return Err(<A::Error as de::Error>::duplicate_field("video"));
6872 }
6873 r#video_property = Some({
6874 struct DeserializeWith(Vec<VideoProperty>);
6875 impl<'de> Deserialize<'de> for DeserializeWith {
6876 fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
6877 where
6878 D: Deserializer<'de>,
6879 {
6880 Ok(DeserializeWith(serde_with::As::<
6881 serde_with::OneOrMany<serde_with::Same>,
6882 >::deserialize(deserializer)?))
6883 }
6884 }
6885 match map.next_value::<DeserializeWith>() {
6886 Ok(deserialize_with) => deserialize_with.0,
6887 Err(err) => {
6888 return Err(err);
6889 }
6890 }
6891 });
6892 }
6893 Field::WorkExample => {
6894 if r#work_example_property.is_some() {
6895 return Err(<A::Error as de::Error>::duplicate_field(
6896 "workExample",
6897 ));
6898 }
6899 r#work_example_property = Some({
6900 struct DeserializeWith(Vec<WorkExampleProperty>);
6901 impl<'de> Deserialize<'de> for DeserializeWith {
6902 fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
6903 where
6904 D: Deserializer<'de>,
6905 {
6906 Ok(DeserializeWith(serde_with::As::<
6907 serde_with::OneOrMany<serde_with::Same>,
6908 >::deserialize(deserializer)?))
6909 }
6910 }
6911 match map.next_value::<DeserializeWith>() {
6912 Ok(deserialize_with) => deserialize_with.0,
6913 Err(err) => {
6914 return Err(err);
6915 }
6916 }
6917 });
6918 }
6919 Field::WorkTranslation => {
6920 if r#work_translation_property.is_some() {
6921 return Err(<A::Error as de::Error>::duplicate_field(
6922 "workTranslation",
6923 ));
6924 }
6925 r#work_translation_property = Some({
6926 struct DeserializeWith(Vec<WorkTranslationProperty>);
6927 impl<'de> Deserialize<'de> for DeserializeWith {
6928 fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
6929 where
6930 D: Deserializer<'de>,
6931 {
6932 Ok(DeserializeWith(serde_with::As::<
6933 serde_with::OneOrMany<serde_with::Same>,
6934 >::deserialize(deserializer)?))
6935 }
6936 }
6937 match map.next_value::<DeserializeWith>() {
6938 Ok(deserialize_with) => deserialize_with.0,
6939 Err(err) => {
6940 return Err(err);
6941 }
6942 }
6943 });
6944 }
6945 Field::AdditionalType => {
6946 if r#additional_type_property.is_some() {
6947 return Err(<A::Error as de::Error>::duplicate_field(
6948 "additionalType",
6949 ));
6950 }
6951 r#additional_type_property = Some({
6952 struct DeserializeWith(Vec<AdditionalTypeProperty>);
6953 impl<'de> Deserialize<'de> for DeserializeWith {
6954 fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
6955 where
6956 D: Deserializer<'de>,
6957 {
6958 Ok(DeserializeWith(serde_with::As::<
6959 serde_with::OneOrMany<serde_with::Same>,
6960 >::deserialize(deserializer)?))
6961 }
6962 }
6963 match map.next_value::<DeserializeWith>() {
6964 Ok(deserialize_with) => deserialize_with.0,
6965 Err(err) => {
6966 return Err(err);
6967 }
6968 }
6969 });
6970 }
6971 Field::AlternateName => {
6972 if r#alternate_name_property.is_some() {
6973 return Err(<A::Error as de::Error>::duplicate_field(
6974 "alternateName",
6975 ));
6976 }
6977 r#alternate_name_property = Some({
6978 struct DeserializeWith(Vec<AlternateNameProperty>);
6979 impl<'de> Deserialize<'de> for DeserializeWith {
6980 fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
6981 where
6982 D: Deserializer<'de>,
6983 {
6984 Ok(DeserializeWith(serde_with::As::<
6985 serde_with::OneOrMany<serde_with::Same>,
6986 >::deserialize(deserializer)?))
6987 }
6988 }
6989 match map.next_value::<DeserializeWith>() {
6990 Ok(deserialize_with) => deserialize_with.0,
6991 Err(err) => {
6992 return Err(err);
6993 }
6994 }
6995 });
6996 }
6997 Field::Description => {
6998 if r#description_property.is_some() {
6999 return Err(<A::Error as de::Error>::duplicate_field(
7000 "description",
7001 ));
7002 }
7003 r#description_property = Some({
7004 struct DeserializeWith(Vec<DescriptionProperty>);
7005 impl<'de> Deserialize<'de> for DeserializeWith {
7006 fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
7007 where
7008 D: Deserializer<'de>,
7009 {
7010 Ok(DeserializeWith(serde_with::As::<
7011 serde_with::OneOrMany<serde_with::Same>,
7012 >::deserialize(deserializer)?))
7013 }
7014 }
7015 match map.next_value::<DeserializeWith>() {
7016 Ok(deserialize_with) => deserialize_with.0,
7017 Err(err) => {
7018 return Err(err);
7019 }
7020 }
7021 });
7022 }
7023 Field::DisambiguatingDescription => {
7024 if r#disambiguating_description_property.is_some() {
7025 return Err(<A::Error as de::Error>::duplicate_field(
7026 "disambiguatingDescription",
7027 ));
7028 }
7029 r#disambiguating_description_property = Some({
7030 struct DeserializeWith(Vec<DisambiguatingDescriptionProperty>);
7031 impl<'de> Deserialize<'de> for DeserializeWith {
7032 fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
7033 where
7034 D: Deserializer<'de>,
7035 {
7036 Ok(DeserializeWith(serde_with::As::<
7037 serde_with::OneOrMany<serde_with::Same>,
7038 >::deserialize(deserializer)?))
7039 }
7040 }
7041 match map.next_value::<DeserializeWith>() {
7042 Ok(deserialize_with) => deserialize_with.0,
7043 Err(err) => {
7044 return Err(err);
7045 }
7046 }
7047 });
7048 }
7049 Field::Identifier => {
7050 if r#identifier_property.is_some() {
7051 return Err(<A::Error as de::Error>::duplicate_field(
7052 "identifier",
7053 ));
7054 }
7055 r#identifier_property = Some({
7056 struct DeserializeWith(Vec<IdentifierProperty>);
7057 impl<'de> Deserialize<'de> for DeserializeWith {
7058 fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
7059 where
7060 D: Deserializer<'de>,
7061 {
7062 Ok(DeserializeWith(serde_with::As::<
7063 serde_with::OneOrMany<serde_with::Same>,
7064 >::deserialize(deserializer)?))
7065 }
7066 }
7067 match map.next_value::<DeserializeWith>() {
7068 Ok(deserialize_with) => deserialize_with.0,
7069 Err(err) => {
7070 return Err(err);
7071 }
7072 }
7073 });
7074 }
7075 Field::Image => {
7076 if r#image_property.is_some() {
7077 return Err(<A::Error as de::Error>::duplicate_field("image"));
7078 }
7079 r#image_property = Some({
7080 struct DeserializeWith(Vec<ImageProperty>);
7081 impl<'de> Deserialize<'de> for DeserializeWith {
7082 fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
7083 where
7084 D: Deserializer<'de>,
7085 {
7086 Ok(DeserializeWith(serde_with::As::<
7087 serde_with::OneOrMany<serde_with::Same>,
7088 >::deserialize(deserializer)?))
7089 }
7090 }
7091 match map.next_value::<DeserializeWith>() {
7092 Ok(deserialize_with) => deserialize_with.0,
7093 Err(err) => {
7094 return Err(err);
7095 }
7096 }
7097 });
7098 }
7099 Field::MainEntityOfPage => {
7100 if r#main_entity_of_page_property.is_some() {
7101 return Err(<A::Error as de::Error>::duplicate_field(
7102 "mainEntityOfPage",
7103 ));
7104 }
7105 r#main_entity_of_page_property = Some({
7106 struct DeserializeWith(Vec<MainEntityOfPageProperty>);
7107 impl<'de> Deserialize<'de> for DeserializeWith {
7108 fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
7109 where
7110 D: Deserializer<'de>,
7111 {
7112 Ok(DeserializeWith(serde_with::As::<
7113 serde_with::OneOrMany<serde_with::Same>,
7114 >::deserialize(deserializer)?))
7115 }
7116 }
7117 match map.next_value::<DeserializeWith>() {
7118 Ok(deserialize_with) => deserialize_with.0,
7119 Err(err) => {
7120 return Err(err);
7121 }
7122 }
7123 });
7124 }
7125 Field::Name => {
7126 if r#name_property.is_some() {
7127 return Err(<A::Error as de::Error>::duplicate_field("name"));
7128 }
7129 r#name_property = Some({
7130 struct DeserializeWith(Vec<NameProperty>);
7131 impl<'de> Deserialize<'de> for DeserializeWith {
7132 fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
7133 where
7134 D: Deserializer<'de>,
7135 {
7136 Ok(DeserializeWith(serde_with::As::<
7137 serde_with::OneOrMany<serde_with::Same>,
7138 >::deserialize(deserializer)?))
7139 }
7140 }
7141 match map.next_value::<DeserializeWith>() {
7142 Ok(deserialize_with) => deserialize_with.0,
7143 Err(err) => {
7144 return Err(err);
7145 }
7146 }
7147 });
7148 }
7149 Field::PotentialAction => {
7150 if r#potential_action_property.is_some() {
7151 return Err(<A::Error as de::Error>::duplicate_field(
7152 "potentialAction",
7153 ));
7154 }
7155 r#potential_action_property = Some({
7156 struct DeserializeWith(Vec<PotentialActionProperty>);
7157 impl<'de> Deserialize<'de> for DeserializeWith {
7158 fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
7159 where
7160 D: Deserializer<'de>,
7161 {
7162 Ok(DeserializeWith(serde_with::As::<
7163 serde_with::OneOrMany<serde_with::Same>,
7164 >::deserialize(deserializer)?))
7165 }
7166 }
7167 match map.next_value::<DeserializeWith>() {
7168 Ok(deserialize_with) => deserialize_with.0,
7169 Err(err) => {
7170 return Err(err);
7171 }
7172 }
7173 });
7174 }
7175 Field::SameAs => {
7176 if r#same_as_property.is_some() {
7177 return Err(<A::Error as de::Error>::duplicate_field("sameAs"));
7178 }
7179 r#same_as_property = Some({
7180 struct DeserializeWith(Vec<SameAsProperty>);
7181 impl<'de> Deserialize<'de> for DeserializeWith {
7182 fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
7183 where
7184 D: Deserializer<'de>,
7185 {
7186 Ok(DeserializeWith(serde_with::As::<
7187 serde_with::OneOrMany<serde_with::Same>,
7188 >::deserialize(deserializer)?))
7189 }
7190 }
7191 match map.next_value::<DeserializeWith>() {
7192 Ok(deserialize_with) => deserialize_with.0,
7193 Err(err) => {
7194 return Err(err);
7195 }
7196 }
7197 });
7198 }
7199 Field::SubjectOf => {
7200 if r#subject_of_property.is_some() {
7201 return Err(<A::Error as de::Error>::duplicate_field(
7202 "subjectOf",
7203 ));
7204 }
7205 r#subject_of_property = Some({
7206 struct DeserializeWith(Vec<SubjectOfProperty>);
7207 impl<'de> Deserialize<'de> for DeserializeWith {
7208 fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
7209 where
7210 D: Deserializer<'de>,
7211 {
7212 Ok(DeserializeWith(serde_with::As::<
7213 serde_with::OneOrMany<serde_with::Same>,
7214 >::deserialize(deserializer)?))
7215 }
7216 }
7217 match map.next_value::<DeserializeWith>() {
7218 Ok(deserialize_with) => deserialize_with.0,
7219 Err(err) => {
7220 return Err(err);
7221 }
7222 }
7223 });
7224 }
7225 Field::Url => {
7226 if r#url_property.is_some() {
7227 return Err(<A::Error as de::Error>::duplicate_field("url"));
7228 }
7229 r#url_property = Some({
7230 struct DeserializeWith(Vec<UrlProperty>);
7231 impl<'de> Deserialize<'de> for DeserializeWith {
7232 fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
7233 where
7234 D: Deserializer<'de>,
7235 {
7236 Ok(DeserializeWith(serde_with::As::<
7237 serde_with::OneOrMany<serde_with::Same>,
7238 >::deserialize(deserializer)?))
7239 }
7240 }
7241 match map.next_value::<DeserializeWith>() {
7242 Ok(deserialize_with) => deserialize_with.0,
7243 Err(err) => {
7244 return Err(err);
7245 }
7246 }
7247 });
7248 }
7249 Field::Ignore => {
7250 let _ = map.next_value::<de::IgnoredAny>()?;
7251 }
7252 }
7253 }
7254 Ok(WebSite {
7255 r#issn: r#issn_property.unwrap_or_default(),
7256 r#about: r#about_property.unwrap_or_default(),
7257 r#abstract: r#abstract_property.unwrap_or_default(),
7258 r#access_mode: r#access_mode_property.unwrap_or_default(),
7259 r#access_mode_sufficient: r#access_mode_sufficient_property
7260 .unwrap_or_default(),
7261 r#accessibility_api: r#accessibility_api_property.unwrap_or_default(),
7262 r#accessibility_control: r#accessibility_control_property
7263 .unwrap_or_default(),
7264 r#accessibility_feature: r#accessibility_feature_property
7265 .unwrap_or_default(),
7266 r#accessibility_hazard: r#accessibility_hazard_property.unwrap_or_default(),
7267 r#accessibility_summary: r#accessibility_summary_property
7268 .unwrap_or_default(),
7269 r#accountable_person: r#accountable_person_property.unwrap_or_default(),
7270 r#acquire_license_page: r#acquire_license_page_property.unwrap_or_default(),
7271 r#aggregate_rating: r#aggregate_rating_property.unwrap_or_default(),
7272 r#alternative_headline: r#alternative_headline_property.unwrap_or_default(),
7273 r#archived_at: r#archived_at_property.unwrap_or_default(),
7274 r#assesses: r#assesses_property.unwrap_or_default(),
7275 r#associated_media: r#associated_media_property.unwrap_or_default(),
7276 r#audience: r#audience_property.unwrap_or_default(),
7277 r#audio: r#audio_property.unwrap_or_default(),
7278 r#author: r#author_property.unwrap_or_default(),
7279 r#award: r#award_property.unwrap_or_default(),
7280 r#awards: r#awards_property.unwrap_or_default(),
7281 r#character: r#character_property.unwrap_or_default(),
7282 r#citation: r#citation_property.unwrap_or_default(),
7283 r#comment: r#comment_property.unwrap_or_default(),
7284 r#comment_count: r#comment_count_property.unwrap_or_default(),
7285 r#conditions_of_access: r#conditions_of_access_property.unwrap_or_default(),
7286 r#content_location: r#content_location_property.unwrap_or_default(),
7287 r#content_rating: r#content_rating_property.unwrap_or_default(),
7288 r#content_reference_time: r#content_reference_time_property
7289 .unwrap_or_default(),
7290 r#contributor: r#contributor_property.unwrap_or_default(),
7291 r#copyright_holder: r#copyright_holder_property.unwrap_or_default(),
7292 r#copyright_notice: r#copyright_notice_property.unwrap_or_default(),
7293 r#copyright_year: r#copyright_year_property.unwrap_or_default(),
7294 r#correction: r#correction_property.unwrap_or_default(),
7295 r#country_of_origin: r#country_of_origin_property.unwrap_or_default(),
7296 r#creative_work_status: r#creative_work_status_property.unwrap_or_default(),
7297 r#creator: r#creator_property.unwrap_or_default(),
7298 r#credit_text: r#credit_text_property.unwrap_or_default(),
7299 r#date_created: r#date_created_property.unwrap_or_default(),
7300 r#date_modified: r#date_modified_property.unwrap_or_default(),
7301 r#date_published: r#date_published_property.unwrap_or_default(),
7302 r#discussion_url: r#discussion_url_property.unwrap_or_default(),
7303 r#edit_eidr: r#edit_eidr_property.unwrap_or_default(),
7304 r#editor: r#editor_property.unwrap_or_default(),
7305 r#educational_alignment: r#educational_alignment_property
7306 .unwrap_or_default(),
7307 r#educational_level: r#educational_level_property.unwrap_or_default(),
7308 r#educational_use: r#educational_use_property.unwrap_or_default(),
7309 r#encoding: r#encoding_property.unwrap_or_default(),
7310 r#encoding_format: r#encoding_format_property.unwrap_or_default(),
7311 r#encodings: r#encodings_property.unwrap_or_default(),
7312 r#example_of_work: r#example_of_work_property.unwrap_or_default(),
7313 r#expires: r#expires_property.unwrap_or_default(),
7314 r#file_format: r#file_format_property.unwrap_or_default(),
7315 r#funder: r#funder_property.unwrap_or_default(),
7316 r#funding: r#funding_property.unwrap_or_default(),
7317 r#genre: r#genre_property.unwrap_or_default(),
7318 r#has_part: r#has_part_property.unwrap_or_default(),
7319 r#headline: r#headline_property.unwrap_or_default(),
7320 r#in_language: r#in_language_property.unwrap_or_default(),
7321 r#interaction_statistic: r#interaction_statistic_property
7322 .unwrap_or_default(),
7323 r#interactivity_type: r#interactivity_type_property.unwrap_or_default(),
7324 r#interpreted_as_claim: r#interpreted_as_claim_property.unwrap_or_default(),
7325 r#is_accessible_for_free: r#is_accessible_for_free_property
7326 .unwrap_or_default(),
7327 r#is_based_on: r#is_based_on_property.unwrap_or_default(),
7328 r#is_based_on_url: r#is_based_on_url_property.unwrap_or_default(),
7329 r#is_family_friendly: r#is_family_friendly_property.unwrap_or_default(),
7330 r#is_part_of: r#is_part_of_property.unwrap_or_default(),
7331 r#keywords: r#keywords_property.unwrap_or_default(),
7332 r#learning_resource_type: r#learning_resource_type_property
7333 .unwrap_or_default(),
7334 r#license: r#license_property.unwrap_or_default(),
7335 r#location_created: r#location_created_property.unwrap_or_default(),
7336 r#main_entity: r#main_entity_property.unwrap_or_default(),
7337 r#maintainer: r#maintainer_property.unwrap_or_default(),
7338 r#material: r#material_property.unwrap_or_default(),
7339 r#material_extent: r#material_extent_property.unwrap_or_default(),
7340 r#mentions: r#mentions_property.unwrap_or_default(),
7341 r#offers: r#offers_property.unwrap_or_default(),
7342 r#pattern: r#pattern_property.unwrap_or_default(),
7343 r#position: r#position_property.unwrap_or_default(),
7344 r#producer: r#producer_property.unwrap_or_default(),
7345 r#provider: r#provider_property.unwrap_or_default(),
7346 r#publication: r#publication_property.unwrap_or_default(),
7347 r#publisher: r#publisher_property.unwrap_or_default(),
7348 r#publisher_imprint: r#publisher_imprint_property.unwrap_or_default(),
7349 r#publishing_principles: r#publishing_principles_property
7350 .unwrap_or_default(),
7351 r#recorded_at: r#recorded_at_property.unwrap_or_default(),
7352 r#released_event: r#released_event_property.unwrap_or_default(),
7353 r#review: r#review_property.unwrap_or_default(),
7354 r#reviews: r#reviews_property.unwrap_or_default(),
7355 r#schema_version: r#schema_version_property.unwrap_or_default(),
7356 r#sd_date_published: r#sd_date_published_property.unwrap_or_default(),
7357 r#sd_license: r#sd_license_property.unwrap_or_default(),
7358 r#sd_publisher: r#sd_publisher_property.unwrap_or_default(),
7359 r#size: r#size_property.unwrap_or_default(),
7360 r#source_organization: r#source_organization_property.unwrap_or_default(),
7361 r#spatial: r#spatial_property.unwrap_or_default(),
7362 r#spatial_coverage: r#spatial_coverage_property.unwrap_or_default(),
7363 r#sponsor: r#sponsor_property.unwrap_or_default(),
7364 r#teaches: r#teaches_property.unwrap_or_default(),
7365 r#temporal: r#temporal_property.unwrap_or_default(),
7366 r#temporal_coverage: r#temporal_coverage_property.unwrap_or_default(),
7367 r#text: r#text_property.unwrap_or_default(),
7368 r#thumbnail: r#thumbnail_property.unwrap_or_default(),
7369 r#thumbnail_url: r#thumbnail_url_property.unwrap_or_default(),
7370 r#time_required: r#time_required_property.unwrap_or_default(),
7371 r#translation_of_work: r#translation_of_work_property.unwrap_or_default(),
7372 r#translator: r#translator_property.unwrap_or_default(),
7373 r#typical_age_range: r#typical_age_range_property.unwrap_or_default(),
7374 r#usage_info: r#usage_info_property.unwrap_or_default(),
7375 r#version: r#version_property.unwrap_or_default(),
7376 r#video: r#video_property.unwrap_or_default(),
7377 r#work_example: r#work_example_property.unwrap_or_default(),
7378 r#work_translation: r#work_translation_property.unwrap_or_default(),
7379 r#additional_type: r#additional_type_property.unwrap_or_default(),
7380 r#alternate_name: r#alternate_name_property.unwrap_or_default(),
7381 r#description: r#description_property.unwrap_or_default(),
7382 r#disambiguating_description: r#disambiguating_description_property
7383 .unwrap_or_default(),
7384 r#identifier: r#identifier_property.unwrap_or_default(),
7385 r#image: r#image_property.unwrap_or_default(),
7386 r#main_entity_of_page: r#main_entity_of_page_property.unwrap_or_default(),
7387 r#name: r#name_property.unwrap_or_default(),
7388 r#potential_action: r#potential_action_property.unwrap_or_default(),
7389 r#same_as: r#same_as_property.unwrap_or_default(),
7390 r#subject_of: r#subject_of_property.unwrap_or_default(),
7391 r#url: r#url_property.unwrap_or_default(),
7392 })
7393 }
7394 }
7395 const FIELDS: &[&str] = &[
7396 "issn",
7397 "about",
7398 "abstract",
7399 "accessMode",
7400 "accessModeSufficient",
7401 "accessibilityAPI",
7402 "accessibilityControl",
7403 "accessibilityFeature",
7404 "accessibilityHazard",
7405 "accessibilitySummary",
7406 "accountablePerson",
7407 "acquireLicensePage",
7408 "aggregateRating",
7409 "alternativeHeadline",
7410 "archivedAt",
7411 "assesses",
7412 "associatedMedia",
7413 "audience",
7414 "audio",
7415 "author",
7416 "award",
7417 "awards",
7418 "character",
7419 "citation",
7420 "comment",
7421 "commentCount",
7422 "conditionsOfAccess",
7423 "contentLocation",
7424 "contentRating",
7425 "contentReferenceTime",
7426 "contributor",
7427 "copyrightHolder",
7428 "copyrightNotice",
7429 "copyrightYear",
7430 "correction",
7431 "countryOfOrigin",
7432 "creativeWorkStatus",
7433 "creator",
7434 "creditText",
7435 "dateCreated",
7436 "dateModified",
7437 "datePublished",
7438 "discussionUrl",
7439 "editEIDR",
7440 "editor",
7441 "educationalAlignment",
7442 "educationalLevel",
7443 "educationalUse",
7444 "encoding",
7445 "encodingFormat",
7446 "encodings",
7447 "exampleOfWork",
7448 "expires",
7449 "fileFormat",
7450 "funder",
7451 "funding",
7452 "genre",
7453 "hasPart",
7454 "headline",
7455 "inLanguage",
7456 "interactionStatistic",
7457 "interactivityType",
7458 "interpretedAsClaim",
7459 "isAccessibleForFree",
7460 "isBasedOn",
7461 "isBasedOnUrl",
7462 "isFamilyFriendly",
7463 "isPartOf",
7464 "keywords",
7465 "learningResourceType",
7466 "license",
7467 "locationCreated",
7468 "mainEntity",
7469 "maintainer",
7470 "material",
7471 "materialExtent",
7472 "mentions",
7473 "offers",
7474 "pattern",
7475 "position",
7476 "producer",
7477 "provider",
7478 "publication",
7479 "publisher",
7480 "publisherImprint",
7481 "publishingPrinciples",
7482 "recordedAt",
7483 "releasedEvent",
7484 "review",
7485 "reviews",
7486 "schemaVersion",
7487 "sdDatePublished",
7488 "sdLicense",
7489 "sdPublisher",
7490 "size",
7491 "sourceOrganization",
7492 "spatial",
7493 "spatialCoverage",
7494 "sponsor",
7495 "teaches",
7496 "temporal",
7497 "temporalCoverage",
7498 "text",
7499 "thumbnail",
7500 "thumbnailUrl",
7501 "timeRequired",
7502 "translationOfWork",
7503 "translator",
7504 "typicalAgeRange",
7505 "usageInfo",
7506 "version",
7507 "video",
7508 "workExample",
7509 "workTranslation",
7510 "additionalType",
7511 "alternateName",
7512 "description",
7513 "disambiguatingDescription",
7514 "identifier",
7515 "image",
7516 "mainEntityOfPage",
7517 "name",
7518 "potentialAction",
7519 "sameAs",
7520 "subjectOf",
7521 "url",
7522 ];
7523 deserializer.deserialize_struct("WebSite", FIELDS, ClassVisitor)
7524 }
7525 }
7526}