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