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