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