1use super::*;
2#[cfg_attr(feature = "derive-debug", derive(Debug))]
4#[cfg_attr(feature = "derive-clone", derive(Clone))]
5pub struct SocialEvent {
6 pub r#about: Vec<AboutProperty>,
8 pub r#actor: Vec<ActorProperty>,
10 pub r#aggregate_rating: Vec<AggregateRatingProperty>,
12 pub r#attendee: Vec<AttendeeProperty>,
14 #[deprecated = "This schema is superseded by <https://schema.org/attendee>."]
16 pub r#attendees: Vec<AttendeesProperty>,
17 pub r#audience: Vec<AudienceProperty>,
19 pub r#composer: Vec<ComposerProperty>,
21 pub r#contributor: Vec<ContributorProperty>,
23 pub r#director: Vec<DirectorProperty>,
25 pub r#door_time: Vec<DoorTimeProperty>,
27 pub r#duration: Vec<DurationProperty>,
29 pub r#end_date: Vec<EndDateProperty>,
31 pub r#event_attendance_mode: Vec<EventAttendanceModeProperty>,
33 pub r#event_schedule: Vec<EventScheduleProperty>,
35 pub r#event_status: Vec<EventStatusProperty>,
37 pub r#funder: Vec<FunderProperty>,
39 pub r#funding: Vec<FundingProperty>,
41 pub r#in_language: Vec<InLanguageProperty>,
43 pub r#is_accessible_for_free: Vec<IsAccessibleForFreeProperty>,
45 pub r#keywords: Vec<KeywordsProperty>,
47 pub r#location: Vec<LocationProperty>,
49 pub r#maximum_attendee_capacity: Vec<MaximumAttendeeCapacityProperty>,
51 pub r#maximum_physical_attendee_capacity: Vec<MaximumPhysicalAttendeeCapacityProperty>,
53 pub r#maximum_virtual_attendee_capacity: Vec<MaximumVirtualAttendeeCapacityProperty>,
55 pub r#offers: Vec<OffersProperty>,
57 pub r#organizer: Vec<OrganizerProperty>,
59 pub r#performer: Vec<PerformerProperty>,
61 #[deprecated = "This schema is superseded by <https://schema.org/performer>."]
63 pub r#performers: Vec<PerformersProperty>,
64 pub r#previous_start_date: Vec<PreviousStartDateProperty>,
66 pub r#recorded_in: Vec<RecordedInProperty>,
68 pub r#remaining_attendee_capacity: Vec<RemainingAttendeeCapacityProperty>,
70 pub r#review: Vec<ReviewProperty>,
72 pub r#sponsor: Vec<SponsorProperty>,
74 pub r#start_date: Vec<StartDateProperty>,
76 pub r#sub_event: Vec<SubEventProperty>,
78 #[deprecated = "This schema is superseded by <https://schema.org/subEvent>."]
80 pub r#sub_events: Vec<SubEventsProperty>,
81 pub r#super_event: Vec<SuperEventProperty>,
83 pub r#translator: Vec<TranslatorProperty>,
85 pub r#typical_age_range: Vec<TypicalAgeRangeProperty>,
87 pub r#work_featured: Vec<WorkFeaturedProperty>,
89 pub r#work_performed: Vec<WorkPerformedProperty>,
91 pub r#additional_type: Vec<AdditionalTypeProperty>,
93 pub r#alternate_name: Vec<AlternateNameProperty>,
95 pub r#description: Vec<DescriptionProperty>,
97 pub r#disambiguating_description: Vec<DisambiguatingDescriptionProperty>,
99 pub r#identifier: Vec<IdentifierProperty>,
101 pub r#image: Vec<ImageProperty>,
103 pub r#main_entity_of_page: Vec<MainEntityOfPageProperty>,
105 pub r#name: Vec<NameProperty>,
107 pub r#potential_action: Vec<PotentialActionProperty>,
109 pub r#same_as: Vec<SameAsProperty>,
111 pub r#subject_of: Vec<SubjectOfProperty>,
113 pub r#url: Vec<UrlProperty>,
115}
116pub trait SocialEventTrait {}
118impl SocialEventTrait for SocialEvent {}
119impl EventTrait for SocialEvent {
120 fn get_about(&self) -> &[AboutProperty] {
121 self.r#about.as_slice()
122 }
123 fn take_about(&mut self) -> Vec<AboutProperty> {
124 std::mem::take(&mut self.r#about)
125 }
126 fn get_actor(&self) -> &[ActorProperty] {
127 self.r#actor.as_slice()
128 }
129 fn take_actor(&mut self) -> Vec<ActorProperty> {
130 std::mem::take(&mut self.r#actor)
131 }
132 fn get_aggregate_rating(&self) -> &[AggregateRatingProperty] {
133 self.r#aggregate_rating.as_slice()
134 }
135 fn take_aggregate_rating(&mut self) -> Vec<AggregateRatingProperty> {
136 std::mem::take(&mut self.r#aggregate_rating)
137 }
138 fn get_attendee(&self) -> &[AttendeeProperty] {
139 self.r#attendee.as_slice()
140 }
141 fn take_attendee(&mut self) -> Vec<AttendeeProperty> {
142 std::mem::take(&mut self.r#attendee)
143 }
144 fn get_attendees(&self) -> &[AttendeesProperty] {
145 self.r#attendees.as_slice()
146 }
147 fn take_attendees(&mut self) -> Vec<AttendeesProperty> {
148 std::mem::take(&mut self.r#attendees)
149 }
150 fn get_audience(&self) -> &[AudienceProperty] {
151 self.r#audience.as_slice()
152 }
153 fn take_audience(&mut self) -> Vec<AudienceProperty> {
154 std::mem::take(&mut self.r#audience)
155 }
156 fn get_composer(&self) -> &[ComposerProperty] {
157 self.r#composer.as_slice()
158 }
159 fn take_composer(&mut self) -> Vec<ComposerProperty> {
160 std::mem::take(&mut self.r#composer)
161 }
162 fn get_contributor(&self) -> &[ContributorProperty] {
163 self.r#contributor.as_slice()
164 }
165 fn take_contributor(&mut self) -> Vec<ContributorProperty> {
166 std::mem::take(&mut self.r#contributor)
167 }
168 fn get_director(&self) -> &[DirectorProperty] {
169 self.r#director.as_slice()
170 }
171 fn take_director(&mut self) -> Vec<DirectorProperty> {
172 std::mem::take(&mut self.r#director)
173 }
174 fn get_door_time(&self) -> &[DoorTimeProperty] {
175 self.r#door_time.as_slice()
176 }
177 fn take_door_time(&mut self) -> Vec<DoorTimeProperty> {
178 std::mem::take(&mut self.r#door_time)
179 }
180 fn get_duration(&self) -> &[DurationProperty] {
181 self.r#duration.as_slice()
182 }
183 fn take_duration(&mut self) -> Vec<DurationProperty> {
184 std::mem::take(&mut self.r#duration)
185 }
186 fn get_end_date(&self) -> &[EndDateProperty] {
187 self.r#end_date.as_slice()
188 }
189 fn take_end_date(&mut self) -> Vec<EndDateProperty> {
190 std::mem::take(&mut self.r#end_date)
191 }
192 fn get_event_attendance_mode(&self) -> &[EventAttendanceModeProperty] {
193 self.r#event_attendance_mode.as_slice()
194 }
195 fn take_event_attendance_mode(&mut self) -> Vec<EventAttendanceModeProperty> {
196 std::mem::take(&mut self.r#event_attendance_mode)
197 }
198 fn get_event_schedule(&self) -> &[EventScheduleProperty] {
199 self.r#event_schedule.as_slice()
200 }
201 fn take_event_schedule(&mut self) -> Vec<EventScheduleProperty> {
202 std::mem::take(&mut self.r#event_schedule)
203 }
204 fn get_event_status(&self) -> &[EventStatusProperty] {
205 self.r#event_status.as_slice()
206 }
207 fn take_event_status(&mut self) -> Vec<EventStatusProperty> {
208 std::mem::take(&mut self.r#event_status)
209 }
210 fn get_funder(&self) -> &[FunderProperty] {
211 self.r#funder.as_slice()
212 }
213 fn take_funder(&mut self) -> Vec<FunderProperty> {
214 std::mem::take(&mut self.r#funder)
215 }
216 fn get_funding(&self) -> &[FundingProperty] {
217 self.r#funding.as_slice()
218 }
219 fn take_funding(&mut self) -> Vec<FundingProperty> {
220 std::mem::take(&mut self.r#funding)
221 }
222 fn get_in_language(&self) -> &[InLanguageProperty] {
223 self.r#in_language.as_slice()
224 }
225 fn take_in_language(&mut self) -> Vec<InLanguageProperty> {
226 std::mem::take(&mut self.r#in_language)
227 }
228 fn get_is_accessible_for_free(&self) -> &[IsAccessibleForFreeProperty] {
229 self.r#is_accessible_for_free.as_slice()
230 }
231 fn take_is_accessible_for_free(&mut self) -> Vec<IsAccessibleForFreeProperty> {
232 std::mem::take(&mut self.r#is_accessible_for_free)
233 }
234 fn get_keywords(&self) -> &[KeywordsProperty] {
235 self.r#keywords.as_slice()
236 }
237 fn take_keywords(&mut self) -> Vec<KeywordsProperty> {
238 std::mem::take(&mut self.r#keywords)
239 }
240 fn get_location(&self) -> &[LocationProperty] {
241 self.r#location.as_slice()
242 }
243 fn take_location(&mut self) -> Vec<LocationProperty> {
244 std::mem::take(&mut self.r#location)
245 }
246 fn get_maximum_attendee_capacity(&self) -> &[MaximumAttendeeCapacityProperty] {
247 self.r#maximum_attendee_capacity.as_slice()
248 }
249 fn take_maximum_attendee_capacity(&mut self) -> Vec<MaximumAttendeeCapacityProperty> {
250 std::mem::take(&mut self.r#maximum_attendee_capacity)
251 }
252 fn get_maximum_physical_attendee_capacity(&self) -> &[MaximumPhysicalAttendeeCapacityProperty] {
253 self.r#maximum_physical_attendee_capacity.as_slice()
254 }
255 fn take_maximum_physical_attendee_capacity(
256 &mut self,
257 ) -> Vec<MaximumPhysicalAttendeeCapacityProperty> {
258 std::mem::take(&mut self.r#maximum_physical_attendee_capacity)
259 }
260 fn get_maximum_virtual_attendee_capacity(&self) -> &[MaximumVirtualAttendeeCapacityProperty] {
261 self.r#maximum_virtual_attendee_capacity.as_slice()
262 }
263 fn take_maximum_virtual_attendee_capacity(
264 &mut self,
265 ) -> Vec<MaximumVirtualAttendeeCapacityProperty> {
266 std::mem::take(&mut self.r#maximum_virtual_attendee_capacity)
267 }
268 fn get_offers(&self) -> &[OffersProperty] {
269 self.r#offers.as_slice()
270 }
271 fn take_offers(&mut self) -> Vec<OffersProperty> {
272 std::mem::take(&mut self.r#offers)
273 }
274 fn get_organizer(&self) -> &[OrganizerProperty] {
275 self.r#organizer.as_slice()
276 }
277 fn take_organizer(&mut self) -> Vec<OrganizerProperty> {
278 std::mem::take(&mut self.r#organizer)
279 }
280 fn get_performer(&self) -> &[PerformerProperty] {
281 self.r#performer.as_slice()
282 }
283 fn take_performer(&mut self) -> Vec<PerformerProperty> {
284 std::mem::take(&mut self.r#performer)
285 }
286 fn get_performers(&self) -> &[PerformersProperty] {
287 self.r#performers.as_slice()
288 }
289 fn take_performers(&mut self) -> Vec<PerformersProperty> {
290 std::mem::take(&mut self.r#performers)
291 }
292 fn get_previous_start_date(&self) -> &[PreviousStartDateProperty] {
293 self.r#previous_start_date.as_slice()
294 }
295 fn take_previous_start_date(&mut self) -> Vec<PreviousStartDateProperty> {
296 std::mem::take(&mut self.r#previous_start_date)
297 }
298 fn get_recorded_in(&self) -> &[RecordedInProperty] {
299 self.r#recorded_in.as_slice()
300 }
301 fn take_recorded_in(&mut self) -> Vec<RecordedInProperty> {
302 std::mem::take(&mut self.r#recorded_in)
303 }
304 fn get_remaining_attendee_capacity(&self) -> &[RemainingAttendeeCapacityProperty] {
305 self.r#remaining_attendee_capacity.as_slice()
306 }
307 fn take_remaining_attendee_capacity(&mut self) -> Vec<RemainingAttendeeCapacityProperty> {
308 std::mem::take(&mut self.r#remaining_attendee_capacity)
309 }
310 fn get_review(&self) -> &[ReviewProperty] {
311 self.r#review.as_slice()
312 }
313 fn take_review(&mut self) -> Vec<ReviewProperty> {
314 std::mem::take(&mut self.r#review)
315 }
316 fn get_sponsor(&self) -> &[SponsorProperty] {
317 self.r#sponsor.as_slice()
318 }
319 fn take_sponsor(&mut self) -> Vec<SponsorProperty> {
320 std::mem::take(&mut self.r#sponsor)
321 }
322 fn get_start_date(&self) -> &[StartDateProperty] {
323 self.r#start_date.as_slice()
324 }
325 fn take_start_date(&mut self) -> Vec<StartDateProperty> {
326 std::mem::take(&mut self.r#start_date)
327 }
328 fn get_sub_event(&self) -> &[SubEventProperty] {
329 self.r#sub_event.as_slice()
330 }
331 fn take_sub_event(&mut self) -> Vec<SubEventProperty> {
332 std::mem::take(&mut self.r#sub_event)
333 }
334 fn get_sub_events(&self) -> &[SubEventsProperty] {
335 self.r#sub_events.as_slice()
336 }
337 fn take_sub_events(&mut self) -> Vec<SubEventsProperty> {
338 std::mem::take(&mut self.r#sub_events)
339 }
340 fn get_super_event(&self) -> &[SuperEventProperty] {
341 self.r#super_event.as_slice()
342 }
343 fn take_super_event(&mut self) -> Vec<SuperEventProperty> {
344 std::mem::take(&mut self.r#super_event)
345 }
346 fn get_translator(&self) -> &[TranslatorProperty] {
347 self.r#translator.as_slice()
348 }
349 fn take_translator(&mut self) -> Vec<TranslatorProperty> {
350 std::mem::take(&mut self.r#translator)
351 }
352 fn get_typical_age_range(&self) -> &[TypicalAgeRangeProperty] {
353 self.r#typical_age_range.as_slice()
354 }
355 fn take_typical_age_range(&mut self) -> Vec<TypicalAgeRangeProperty> {
356 std::mem::take(&mut self.r#typical_age_range)
357 }
358 fn get_work_featured(&self) -> &[WorkFeaturedProperty] {
359 self.r#work_featured.as_slice()
360 }
361 fn take_work_featured(&mut self) -> Vec<WorkFeaturedProperty> {
362 std::mem::take(&mut self.r#work_featured)
363 }
364 fn get_work_performed(&self) -> &[WorkPerformedProperty] {
365 self.r#work_performed.as_slice()
366 }
367 fn take_work_performed(&mut self) -> Vec<WorkPerformedProperty> {
368 std::mem::take(&mut self.r#work_performed)
369 }
370}
371impl ThingTrait for SocialEvent {
372 fn get_additional_type(&self) -> &[AdditionalTypeProperty] {
373 self.r#additional_type.as_slice()
374 }
375 fn take_additional_type(&mut self) -> Vec<AdditionalTypeProperty> {
376 std::mem::take(&mut self.r#additional_type)
377 }
378 fn get_alternate_name(&self) -> &[AlternateNameProperty] {
379 self.r#alternate_name.as_slice()
380 }
381 fn take_alternate_name(&mut self) -> Vec<AlternateNameProperty> {
382 std::mem::take(&mut self.r#alternate_name)
383 }
384 fn get_description(&self) -> &[DescriptionProperty] {
385 self.r#description.as_slice()
386 }
387 fn take_description(&mut self) -> Vec<DescriptionProperty> {
388 std::mem::take(&mut self.r#description)
389 }
390 fn get_disambiguating_description(&self) -> &[DisambiguatingDescriptionProperty] {
391 self.r#disambiguating_description.as_slice()
392 }
393 fn take_disambiguating_description(&mut self) -> Vec<DisambiguatingDescriptionProperty> {
394 std::mem::take(&mut self.r#disambiguating_description)
395 }
396 fn get_identifier(&self) -> &[IdentifierProperty] {
397 self.r#identifier.as_slice()
398 }
399 fn take_identifier(&mut self) -> Vec<IdentifierProperty> {
400 std::mem::take(&mut self.r#identifier)
401 }
402 fn get_image(&self) -> &[ImageProperty] {
403 self.r#image.as_slice()
404 }
405 fn take_image(&mut self) -> Vec<ImageProperty> {
406 std::mem::take(&mut self.r#image)
407 }
408 fn get_main_entity_of_page(&self) -> &[MainEntityOfPageProperty] {
409 self.r#main_entity_of_page.as_slice()
410 }
411 fn take_main_entity_of_page(&mut self) -> Vec<MainEntityOfPageProperty> {
412 std::mem::take(&mut self.r#main_entity_of_page)
413 }
414 fn get_name(&self) -> &[NameProperty] {
415 self.r#name.as_slice()
416 }
417 fn take_name(&mut self) -> Vec<NameProperty> {
418 std::mem::take(&mut self.r#name)
419 }
420 fn get_potential_action(&self) -> &[PotentialActionProperty] {
421 self.r#potential_action.as_slice()
422 }
423 fn take_potential_action(&mut self) -> Vec<PotentialActionProperty> {
424 std::mem::take(&mut self.r#potential_action)
425 }
426 fn get_same_as(&self) -> &[SameAsProperty] {
427 self.r#same_as.as_slice()
428 }
429 fn take_same_as(&mut self) -> Vec<SameAsProperty> {
430 std::mem::take(&mut self.r#same_as)
431 }
432 fn get_subject_of(&self) -> &[SubjectOfProperty] {
433 self.r#subject_of.as_slice()
434 }
435 fn take_subject_of(&mut self) -> Vec<SubjectOfProperty> {
436 std::mem::take(&mut self.r#subject_of)
437 }
438 fn get_url(&self) -> &[UrlProperty] {
439 self.r#url.as_slice()
440 }
441 fn take_url(&mut self) -> Vec<UrlProperty> {
442 std::mem::take(&mut self.r#url)
443 }
444}
445#[cfg(feature = "serde")]
446mod serde {
447 use std::{fmt, fmt::Formatter};
448
449 use ::serde::{
450 de, de::Visitor, ser::SerializeStruct, Deserialize, Deserializer, Serialize, Serializer,
451 };
452
453 use super::*;
454 impl Serialize for SocialEvent {
455 fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
456 where
457 S: Serializer,
458 {
459 let len: usize = [
460 !Vec::is_empty(&self.r#about) as usize,
461 !Vec::is_empty(&self.r#actor) as usize,
462 !Vec::is_empty(&self.r#aggregate_rating) as usize,
463 !Vec::is_empty(&self.r#attendee) as usize,
464 !Vec::is_empty(&self.r#attendees) as usize,
465 !Vec::is_empty(&self.r#audience) as usize,
466 !Vec::is_empty(&self.r#composer) as usize,
467 !Vec::is_empty(&self.r#contributor) as usize,
468 !Vec::is_empty(&self.r#director) as usize,
469 !Vec::is_empty(&self.r#door_time) as usize,
470 !Vec::is_empty(&self.r#duration) as usize,
471 !Vec::is_empty(&self.r#end_date) as usize,
472 !Vec::is_empty(&self.r#event_attendance_mode) as usize,
473 !Vec::is_empty(&self.r#event_schedule) as usize,
474 !Vec::is_empty(&self.r#event_status) as usize,
475 !Vec::is_empty(&self.r#funder) as usize,
476 !Vec::is_empty(&self.r#funding) as usize,
477 !Vec::is_empty(&self.r#in_language) as usize,
478 !Vec::is_empty(&self.r#is_accessible_for_free) as usize,
479 !Vec::is_empty(&self.r#keywords) as usize,
480 !Vec::is_empty(&self.r#location) as usize,
481 !Vec::is_empty(&self.r#maximum_attendee_capacity) as usize,
482 !Vec::is_empty(&self.r#maximum_physical_attendee_capacity) as usize,
483 !Vec::is_empty(&self.r#maximum_virtual_attendee_capacity) as usize,
484 !Vec::is_empty(&self.r#offers) as usize,
485 !Vec::is_empty(&self.r#organizer) as usize,
486 !Vec::is_empty(&self.r#performer) as usize,
487 !Vec::is_empty(&self.r#performers) as usize,
488 !Vec::is_empty(&self.r#previous_start_date) as usize,
489 !Vec::is_empty(&self.r#recorded_in) as usize,
490 !Vec::is_empty(&self.r#remaining_attendee_capacity) as usize,
491 !Vec::is_empty(&self.r#review) as usize,
492 !Vec::is_empty(&self.r#sponsor) as usize,
493 !Vec::is_empty(&self.r#start_date) as usize,
494 !Vec::is_empty(&self.r#sub_event) as usize,
495 !Vec::is_empty(&self.r#sub_events) as usize,
496 !Vec::is_empty(&self.r#super_event) as usize,
497 !Vec::is_empty(&self.r#translator) as usize,
498 !Vec::is_empty(&self.r#typical_age_range) as usize,
499 !Vec::is_empty(&self.r#work_featured) as usize,
500 !Vec::is_empty(&self.r#work_performed) as usize,
501 !Vec::is_empty(&self.r#additional_type) as usize,
502 !Vec::is_empty(&self.r#alternate_name) as usize,
503 !Vec::is_empty(&self.r#description) as usize,
504 !Vec::is_empty(&self.r#disambiguating_description) as usize,
505 !Vec::is_empty(&self.r#identifier) as usize,
506 !Vec::is_empty(&self.r#image) as usize,
507 !Vec::is_empty(&self.r#main_entity_of_page) as usize,
508 !Vec::is_empty(&self.r#name) as usize,
509 !Vec::is_empty(&self.r#potential_action) as usize,
510 !Vec::is_empty(&self.r#same_as) as usize,
511 !Vec::is_empty(&self.r#subject_of) as usize,
512 !Vec::is_empty(&self.r#url) as usize,
513 ]
514 .iter()
515 .sum();
516 let mut serialize_struct =
517 Serializer::serialize_struct(serializer, "SocialEvent", len)?;
518 if !Vec::is_empty(&self.r#about) {
519 serialize_struct.serialize_field("about", {
520 struct SerializeWith<'a>(&'a Vec<AboutProperty>);
521 impl<'a> Serialize for SerializeWith<'a> {
522 fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
523 where
524 S: Serializer,
525 {
526 serde_with::As::<serde_with::OneOrMany<serde_with::Same>>::serialize(
527 self.0, serializer,
528 )
529 }
530 }
531 &SerializeWith(&self.r#about)
532 })?;
533 } else {
534 serialize_struct.skip_field("about")?;
535 }
536 if !Vec::is_empty(&self.r#actor) {
537 serialize_struct.serialize_field("actor", {
538 struct SerializeWith<'a>(&'a Vec<ActorProperty>);
539 impl<'a> Serialize for SerializeWith<'a> {
540 fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
541 where
542 S: Serializer,
543 {
544 serde_with::As::<serde_with::OneOrMany<serde_with::Same>>::serialize(
545 self.0, serializer,
546 )
547 }
548 }
549 &SerializeWith(&self.r#actor)
550 })?;
551 } else {
552 serialize_struct.skip_field("actor")?;
553 }
554 if !Vec::is_empty(&self.r#aggregate_rating) {
555 serialize_struct.serialize_field("aggregateRating", {
556 struct SerializeWith<'a>(&'a Vec<AggregateRatingProperty>);
557 impl<'a> Serialize for SerializeWith<'a> {
558 fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
559 where
560 S: Serializer,
561 {
562 serde_with::As::<serde_with::OneOrMany<serde_with::Same>>::serialize(
563 self.0, serializer,
564 )
565 }
566 }
567 &SerializeWith(&self.r#aggregate_rating)
568 })?;
569 } else {
570 serialize_struct.skip_field("aggregateRating")?;
571 }
572 if !Vec::is_empty(&self.r#attendee) {
573 serialize_struct.serialize_field("attendee", {
574 struct SerializeWith<'a>(&'a Vec<AttendeeProperty>);
575 impl<'a> Serialize for SerializeWith<'a> {
576 fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
577 where
578 S: Serializer,
579 {
580 serde_with::As::<serde_with::OneOrMany<serde_with::Same>>::serialize(
581 self.0, serializer,
582 )
583 }
584 }
585 &SerializeWith(&self.r#attendee)
586 })?;
587 } else {
588 serialize_struct.skip_field("attendee")?;
589 }
590 if !Vec::is_empty(&self.r#attendees) {
591 serialize_struct.serialize_field("attendees", {
592 struct SerializeWith<'a>(&'a Vec<AttendeesProperty>);
593 impl<'a> Serialize for SerializeWith<'a> {
594 fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
595 where
596 S: Serializer,
597 {
598 serde_with::As::<serde_with::OneOrMany<serde_with::Same>>::serialize(
599 self.0, serializer,
600 )
601 }
602 }
603 &SerializeWith(&self.r#attendees)
604 })?;
605 } else {
606 serialize_struct.skip_field("attendees")?;
607 }
608 if !Vec::is_empty(&self.r#audience) {
609 serialize_struct.serialize_field("audience", {
610 struct SerializeWith<'a>(&'a Vec<AudienceProperty>);
611 impl<'a> Serialize for SerializeWith<'a> {
612 fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
613 where
614 S: Serializer,
615 {
616 serde_with::As::<serde_with::OneOrMany<serde_with::Same>>::serialize(
617 self.0, serializer,
618 )
619 }
620 }
621 &SerializeWith(&self.r#audience)
622 })?;
623 } else {
624 serialize_struct.skip_field("audience")?;
625 }
626 if !Vec::is_empty(&self.r#composer) {
627 serialize_struct.serialize_field("composer", {
628 struct SerializeWith<'a>(&'a Vec<ComposerProperty>);
629 impl<'a> Serialize for SerializeWith<'a> {
630 fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
631 where
632 S: Serializer,
633 {
634 serde_with::As::<serde_with::OneOrMany<serde_with::Same>>::serialize(
635 self.0, serializer,
636 )
637 }
638 }
639 &SerializeWith(&self.r#composer)
640 })?;
641 } else {
642 serialize_struct.skip_field("composer")?;
643 }
644 if !Vec::is_empty(&self.r#contributor) {
645 serialize_struct.serialize_field("contributor", {
646 struct SerializeWith<'a>(&'a Vec<ContributorProperty>);
647 impl<'a> Serialize for SerializeWith<'a> {
648 fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
649 where
650 S: Serializer,
651 {
652 serde_with::As::<serde_with::OneOrMany<serde_with::Same>>::serialize(
653 self.0, serializer,
654 )
655 }
656 }
657 &SerializeWith(&self.r#contributor)
658 })?;
659 } else {
660 serialize_struct.skip_field("contributor")?;
661 }
662 if !Vec::is_empty(&self.r#director) {
663 serialize_struct.serialize_field("director", {
664 struct SerializeWith<'a>(&'a Vec<DirectorProperty>);
665 impl<'a> Serialize for SerializeWith<'a> {
666 fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
667 where
668 S: Serializer,
669 {
670 serde_with::As::<serde_with::OneOrMany<serde_with::Same>>::serialize(
671 self.0, serializer,
672 )
673 }
674 }
675 &SerializeWith(&self.r#director)
676 })?;
677 } else {
678 serialize_struct.skip_field("director")?;
679 }
680 if !Vec::is_empty(&self.r#door_time) {
681 serialize_struct.serialize_field("doorTime", {
682 struct SerializeWith<'a>(&'a Vec<DoorTimeProperty>);
683 impl<'a> Serialize for SerializeWith<'a> {
684 fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
685 where
686 S: Serializer,
687 {
688 serde_with::As::<serde_with::OneOrMany<serde_with::Same>>::serialize(
689 self.0, serializer,
690 )
691 }
692 }
693 &SerializeWith(&self.r#door_time)
694 })?;
695 } else {
696 serialize_struct.skip_field("doorTime")?;
697 }
698 if !Vec::is_empty(&self.r#duration) {
699 serialize_struct.serialize_field("duration", {
700 struct SerializeWith<'a>(&'a Vec<DurationProperty>);
701 impl<'a> Serialize for SerializeWith<'a> {
702 fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
703 where
704 S: Serializer,
705 {
706 serde_with::As::<serde_with::OneOrMany<serde_with::Same>>::serialize(
707 self.0, serializer,
708 )
709 }
710 }
711 &SerializeWith(&self.r#duration)
712 })?;
713 } else {
714 serialize_struct.skip_field("duration")?;
715 }
716 if !Vec::is_empty(&self.r#end_date) {
717 serialize_struct.serialize_field("endDate", {
718 struct SerializeWith<'a>(&'a Vec<EndDateProperty>);
719 impl<'a> Serialize for SerializeWith<'a> {
720 fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
721 where
722 S: Serializer,
723 {
724 serde_with::As::<serde_with::OneOrMany<serde_with::Same>>::serialize(
725 self.0, serializer,
726 )
727 }
728 }
729 &SerializeWith(&self.r#end_date)
730 })?;
731 } else {
732 serialize_struct.skip_field("endDate")?;
733 }
734 if !Vec::is_empty(&self.r#event_attendance_mode) {
735 serialize_struct.serialize_field("eventAttendanceMode", {
736 struct SerializeWith<'a>(&'a Vec<EventAttendanceModeProperty>);
737 impl<'a> Serialize for SerializeWith<'a> {
738 fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
739 where
740 S: Serializer,
741 {
742 serde_with::As::<serde_with::OneOrMany<serde_with::Same>>::serialize(
743 self.0, serializer,
744 )
745 }
746 }
747 &SerializeWith(&self.r#event_attendance_mode)
748 })?;
749 } else {
750 serialize_struct.skip_field("eventAttendanceMode")?;
751 }
752 if !Vec::is_empty(&self.r#event_schedule) {
753 serialize_struct.serialize_field("eventSchedule", {
754 struct SerializeWith<'a>(&'a Vec<EventScheduleProperty>);
755 impl<'a> Serialize for SerializeWith<'a> {
756 fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
757 where
758 S: Serializer,
759 {
760 serde_with::As::<serde_with::OneOrMany<serde_with::Same>>::serialize(
761 self.0, serializer,
762 )
763 }
764 }
765 &SerializeWith(&self.r#event_schedule)
766 })?;
767 } else {
768 serialize_struct.skip_field("eventSchedule")?;
769 }
770 if !Vec::is_empty(&self.r#event_status) {
771 serialize_struct.serialize_field("eventStatus", {
772 struct SerializeWith<'a>(&'a Vec<EventStatusProperty>);
773 impl<'a> Serialize for SerializeWith<'a> {
774 fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
775 where
776 S: Serializer,
777 {
778 serde_with::As::<serde_with::OneOrMany<serde_with::Same>>::serialize(
779 self.0, serializer,
780 )
781 }
782 }
783 &SerializeWith(&self.r#event_status)
784 })?;
785 } else {
786 serialize_struct.skip_field("eventStatus")?;
787 }
788 if !Vec::is_empty(&self.r#funder) {
789 serialize_struct.serialize_field("funder", {
790 struct SerializeWith<'a>(&'a Vec<FunderProperty>);
791 impl<'a> Serialize for SerializeWith<'a> {
792 fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
793 where
794 S: Serializer,
795 {
796 serde_with::As::<serde_with::OneOrMany<serde_with::Same>>::serialize(
797 self.0, serializer,
798 )
799 }
800 }
801 &SerializeWith(&self.r#funder)
802 })?;
803 } else {
804 serialize_struct.skip_field("funder")?;
805 }
806 if !Vec::is_empty(&self.r#funding) {
807 serialize_struct.serialize_field("funding", {
808 struct SerializeWith<'a>(&'a Vec<FundingProperty>);
809 impl<'a> Serialize for SerializeWith<'a> {
810 fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
811 where
812 S: Serializer,
813 {
814 serde_with::As::<serde_with::OneOrMany<serde_with::Same>>::serialize(
815 self.0, serializer,
816 )
817 }
818 }
819 &SerializeWith(&self.r#funding)
820 })?;
821 } else {
822 serialize_struct.skip_field("funding")?;
823 }
824 if !Vec::is_empty(&self.r#in_language) {
825 serialize_struct.serialize_field("inLanguage", {
826 struct SerializeWith<'a>(&'a Vec<InLanguageProperty>);
827 impl<'a> Serialize for SerializeWith<'a> {
828 fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
829 where
830 S: Serializer,
831 {
832 serde_with::As::<serde_with::OneOrMany<serde_with::Same>>::serialize(
833 self.0, serializer,
834 )
835 }
836 }
837 &SerializeWith(&self.r#in_language)
838 })?;
839 } else {
840 serialize_struct.skip_field("inLanguage")?;
841 }
842 if !Vec::is_empty(&self.r#is_accessible_for_free) {
843 serialize_struct.serialize_field("isAccessibleForFree", {
844 struct SerializeWith<'a>(&'a Vec<IsAccessibleForFreeProperty>);
845 impl<'a> Serialize for SerializeWith<'a> {
846 fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
847 where
848 S: Serializer,
849 {
850 serde_with::As::<serde_with::OneOrMany<serde_with::Same>>::serialize(
851 self.0, serializer,
852 )
853 }
854 }
855 &SerializeWith(&self.r#is_accessible_for_free)
856 })?;
857 } else {
858 serialize_struct.skip_field("isAccessibleForFree")?;
859 }
860 if !Vec::is_empty(&self.r#keywords) {
861 serialize_struct.serialize_field("keywords", {
862 struct SerializeWith<'a>(&'a Vec<KeywordsProperty>);
863 impl<'a> Serialize for SerializeWith<'a> {
864 fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
865 where
866 S: Serializer,
867 {
868 serde_with::As::<serde_with::OneOrMany<serde_with::Same>>::serialize(
869 self.0, serializer,
870 )
871 }
872 }
873 &SerializeWith(&self.r#keywords)
874 })?;
875 } else {
876 serialize_struct.skip_field("keywords")?;
877 }
878 if !Vec::is_empty(&self.r#location) {
879 serialize_struct.serialize_field("location", {
880 struct SerializeWith<'a>(&'a Vec<LocationProperty>);
881 impl<'a> Serialize for SerializeWith<'a> {
882 fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
883 where
884 S: Serializer,
885 {
886 serde_with::As::<serde_with::OneOrMany<serde_with::Same>>::serialize(
887 self.0, serializer,
888 )
889 }
890 }
891 &SerializeWith(&self.r#location)
892 })?;
893 } else {
894 serialize_struct.skip_field("location")?;
895 }
896 if !Vec::is_empty(&self.r#maximum_attendee_capacity) {
897 serialize_struct.serialize_field("maximumAttendeeCapacity", {
898 struct SerializeWith<'a>(&'a Vec<MaximumAttendeeCapacityProperty>);
899 impl<'a> Serialize for SerializeWith<'a> {
900 fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
901 where
902 S: Serializer,
903 {
904 serde_with::As::<serde_with::OneOrMany<serde_with::Same>>::serialize(
905 self.0, serializer,
906 )
907 }
908 }
909 &SerializeWith(&self.r#maximum_attendee_capacity)
910 })?;
911 } else {
912 serialize_struct.skip_field("maximumAttendeeCapacity")?;
913 }
914 if !Vec::is_empty(&self.r#maximum_physical_attendee_capacity) {
915 serialize_struct.serialize_field("maximumPhysicalAttendeeCapacity", {
916 struct SerializeWith<'a>(&'a Vec<MaximumPhysicalAttendeeCapacityProperty>);
917 impl<'a> Serialize for SerializeWith<'a> {
918 fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
919 where
920 S: Serializer,
921 {
922 serde_with::As::<serde_with::OneOrMany<serde_with::Same>>::serialize(
923 self.0, serializer,
924 )
925 }
926 }
927 &SerializeWith(&self.r#maximum_physical_attendee_capacity)
928 })?;
929 } else {
930 serialize_struct.skip_field("maximumPhysicalAttendeeCapacity")?;
931 }
932 if !Vec::is_empty(&self.r#maximum_virtual_attendee_capacity) {
933 serialize_struct.serialize_field("maximumVirtualAttendeeCapacity", {
934 struct SerializeWith<'a>(&'a Vec<MaximumVirtualAttendeeCapacityProperty>);
935 impl<'a> Serialize for SerializeWith<'a> {
936 fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
937 where
938 S: Serializer,
939 {
940 serde_with::As::<serde_with::OneOrMany<serde_with::Same>>::serialize(
941 self.0, serializer,
942 )
943 }
944 }
945 &SerializeWith(&self.r#maximum_virtual_attendee_capacity)
946 })?;
947 } else {
948 serialize_struct.skip_field("maximumVirtualAttendeeCapacity")?;
949 }
950 if !Vec::is_empty(&self.r#offers) {
951 serialize_struct.serialize_field("offers", {
952 struct SerializeWith<'a>(&'a Vec<OffersProperty>);
953 impl<'a> Serialize for SerializeWith<'a> {
954 fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
955 where
956 S: Serializer,
957 {
958 serde_with::As::<serde_with::OneOrMany<serde_with::Same>>::serialize(
959 self.0, serializer,
960 )
961 }
962 }
963 &SerializeWith(&self.r#offers)
964 })?;
965 } else {
966 serialize_struct.skip_field("offers")?;
967 }
968 if !Vec::is_empty(&self.r#organizer) {
969 serialize_struct.serialize_field("organizer", {
970 struct SerializeWith<'a>(&'a Vec<OrganizerProperty>);
971 impl<'a> Serialize for SerializeWith<'a> {
972 fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
973 where
974 S: Serializer,
975 {
976 serde_with::As::<serde_with::OneOrMany<serde_with::Same>>::serialize(
977 self.0, serializer,
978 )
979 }
980 }
981 &SerializeWith(&self.r#organizer)
982 })?;
983 } else {
984 serialize_struct.skip_field("organizer")?;
985 }
986 if !Vec::is_empty(&self.r#performer) {
987 serialize_struct.serialize_field("performer", {
988 struct SerializeWith<'a>(&'a Vec<PerformerProperty>);
989 impl<'a> Serialize for SerializeWith<'a> {
990 fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
991 where
992 S: Serializer,
993 {
994 serde_with::As::<serde_with::OneOrMany<serde_with::Same>>::serialize(
995 self.0, serializer,
996 )
997 }
998 }
999 &SerializeWith(&self.r#performer)
1000 })?;
1001 } else {
1002 serialize_struct.skip_field("performer")?;
1003 }
1004 if !Vec::is_empty(&self.r#performers) {
1005 serialize_struct.serialize_field("performers", {
1006 struct SerializeWith<'a>(&'a Vec<PerformersProperty>);
1007 impl<'a> Serialize for SerializeWith<'a> {
1008 fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
1009 where
1010 S: Serializer,
1011 {
1012 serde_with::As::<serde_with::OneOrMany<serde_with::Same>>::serialize(
1013 self.0, serializer,
1014 )
1015 }
1016 }
1017 &SerializeWith(&self.r#performers)
1018 })?;
1019 } else {
1020 serialize_struct.skip_field("performers")?;
1021 }
1022 if !Vec::is_empty(&self.r#previous_start_date) {
1023 serialize_struct.serialize_field("previousStartDate", {
1024 struct SerializeWith<'a>(&'a Vec<PreviousStartDateProperty>);
1025 impl<'a> Serialize for SerializeWith<'a> {
1026 fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
1027 where
1028 S: Serializer,
1029 {
1030 serde_with::As::<serde_with::OneOrMany<serde_with::Same>>::serialize(
1031 self.0, serializer,
1032 )
1033 }
1034 }
1035 &SerializeWith(&self.r#previous_start_date)
1036 })?;
1037 } else {
1038 serialize_struct.skip_field("previousStartDate")?;
1039 }
1040 if !Vec::is_empty(&self.r#recorded_in) {
1041 serialize_struct.serialize_field("recordedIn", {
1042 struct SerializeWith<'a>(&'a Vec<RecordedInProperty>);
1043 impl<'a> Serialize for SerializeWith<'a> {
1044 fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
1045 where
1046 S: Serializer,
1047 {
1048 serde_with::As::<serde_with::OneOrMany<serde_with::Same>>::serialize(
1049 self.0, serializer,
1050 )
1051 }
1052 }
1053 &SerializeWith(&self.r#recorded_in)
1054 })?;
1055 } else {
1056 serialize_struct.skip_field("recordedIn")?;
1057 }
1058 if !Vec::is_empty(&self.r#remaining_attendee_capacity) {
1059 serialize_struct.serialize_field("remainingAttendeeCapacity", {
1060 struct SerializeWith<'a>(&'a Vec<RemainingAttendeeCapacityProperty>);
1061 impl<'a> Serialize for SerializeWith<'a> {
1062 fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
1063 where
1064 S: Serializer,
1065 {
1066 serde_with::As::<serde_with::OneOrMany<serde_with::Same>>::serialize(
1067 self.0, serializer,
1068 )
1069 }
1070 }
1071 &SerializeWith(&self.r#remaining_attendee_capacity)
1072 })?;
1073 } else {
1074 serialize_struct.skip_field("remainingAttendeeCapacity")?;
1075 }
1076 if !Vec::is_empty(&self.r#review) {
1077 serialize_struct.serialize_field("review", {
1078 struct SerializeWith<'a>(&'a Vec<ReviewProperty>);
1079 impl<'a> Serialize for SerializeWith<'a> {
1080 fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
1081 where
1082 S: Serializer,
1083 {
1084 serde_with::As::<serde_with::OneOrMany<serde_with::Same>>::serialize(
1085 self.0, serializer,
1086 )
1087 }
1088 }
1089 &SerializeWith(&self.r#review)
1090 })?;
1091 } else {
1092 serialize_struct.skip_field("review")?;
1093 }
1094 if !Vec::is_empty(&self.r#sponsor) {
1095 serialize_struct.serialize_field("sponsor", {
1096 struct SerializeWith<'a>(&'a Vec<SponsorProperty>);
1097 impl<'a> Serialize for SerializeWith<'a> {
1098 fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
1099 where
1100 S: Serializer,
1101 {
1102 serde_with::As::<serde_with::OneOrMany<serde_with::Same>>::serialize(
1103 self.0, serializer,
1104 )
1105 }
1106 }
1107 &SerializeWith(&self.r#sponsor)
1108 })?;
1109 } else {
1110 serialize_struct.skip_field("sponsor")?;
1111 }
1112 if !Vec::is_empty(&self.r#start_date) {
1113 serialize_struct.serialize_field("startDate", {
1114 struct SerializeWith<'a>(&'a Vec<StartDateProperty>);
1115 impl<'a> Serialize for SerializeWith<'a> {
1116 fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
1117 where
1118 S: Serializer,
1119 {
1120 serde_with::As::<serde_with::OneOrMany<serde_with::Same>>::serialize(
1121 self.0, serializer,
1122 )
1123 }
1124 }
1125 &SerializeWith(&self.r#start_date)
1126 })?;
1127 } else {
1128 serialize_struct.skip_field("startDate")?;
1129 }
1130 if !Vec::is_empty(&self.r#sub_event) {
1131 serialize_struct.serialize_field("subEvent", {
1132 struct SerializeWith<'a>(&'a Vec<SubEventProperty>);
1133 impl<'a> Serialize for SerializeWith<'a> {
1134 fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
1135 where
1136 S: Serializer,
1137 {
1138 serde_with::As::<serde_with::OneOrMany<serde_with::Same>>::serialize(
1139 self.0, serializer,
1140 )
1141 }
1142 }
1143 &SerializeWith(&self.r#sub_event)
1144 })?;
1145 } else {
1146 serialize_struct.skip_field("subEvent")?;
1147 }
1148 if !Vec::is_empty(&self.r#sub_events) {
1149 serialize_struct.serialize_field("subEvents", {
1150 struct SerializeWith<'a>(&'a Vec<SubEventsProperty>);
1151 impl<'a> Serialize for SerializeWith<'a> {
1152 fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
1153 where
1154 S: Serializer,
1155 {
1156 serde_with::As::<serde_with::OneOrMany<serde_with::Same>>::serialize(
1157 self.0, serializer,
1158 )
1159 }
1160 }
1161 &SerializeWith(&self.r#sub_events)
1162 })?;
1163 } else {
1164 serialize_struct.skip_field("subEvents")?;
1165 }
1166 if !Vec::is_empty(&self.r#super_event) {
1167 serialize_struct.serialize_field("superEvent", {
1168 struct SerializeWith<'a>(&'a Vec<SuperEventProperty>);
1169 impl<'a> Serialize for SerializeWith<'a> {
1170 fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
1171 where
1172 S: Serializer,
1173 {
1174 serde_with::As::<serde_with::OneOrMany<serde_with::Same>>::serialize(
1175 self.0, serializer,
1176 )
1177 }
1178 }
1179 &SerializeWith(&self.r#super_event)
1180 })?;
1181 } else {
1182 serialize_struct.skip_field("superEvent")?;
1183 }
1184 if !Vec::is_empty(&self.r#translator) {
1185 serialize_struct.serialize_field("translator", {
1186 struct SerializeWith<'a>(&'a Vec<TranslatorProperty>);
1187 impl<'a> Serialize for SerializeWith<'a> {
1188 fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
1189 where
1190 S: Serializer,
1191 {
1192 serde_with::As::<serde_with::OneOrMany<serde_with::Same>>::serialize(
1193 self.0, serializer,
1194 )
1195 }
1196 }
1197 &SerializeWith(&self.r#translator)
1198 })?;
1199 } else {
1200 serialize_struct.skip_field("translator")?;
1201 }
1202 if !Vec::is_empty(&self.r#typical_age_range) {
1203 serialize_struct.serialize_field("typicalAgeRange", {
1204 struct SerializeWith<'a>(&'a Vec<TypicalAgeRangeProperty>);
1205 impl<'a> Serialize for SerializeWith<'a> {
1206 fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
1207 where
1208 S: Serializer,
1209 {
1210 serde_with::As::<serde_with::OneOrMany<serde_with::Same>>::serialize(
1211 self.0, serializer,
1212 )
1213 }
1214 }
1215 &SerializeWith(&self.r#typical_age_range)
1216 })?;
1217 } else {
1218 serialize_struct.skip_field("typicalAgeRange")?;
1219 }
1220 if !Vec::is_empty(&self.r#work_featured) {
1221 serialize_struct.serialize_field("workFeatured", {
1222 struct SerializeWith<'a>(&'a Vec<WorkFeaturedProperty>);
1223 impl<'a> Serialize for SerializeWith<'a> {
1224 fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
1225 where
1226 S: Serializer,
1227 {
1228 serde_with::As::<serde_with::OneOrMany<serde_with::Same>>::serialize(
1229 self.0, serializer,
1230 )
1231 }
1232 }
1233 &SerializeWith(&self.r#work_featured)
1234 })?;
1235 } else {
1236 serialize_struct.skip_field("workFeatured")?;
1237 }
1238 if !Vec::is_empty(&self.r#work_performed) {
1239 serialize_struct.serialize_field("workPerformed", {
1240 struct SerializeWith<'a>(&'a Vec<WorkPerformedProperty>);
1241 impl<'a> Serialize for SerializeWith<'a> {
1242 fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
1243 where
1244 S: Serializer,
1245 {
1246 serde_with::As::<serde_with::OneOrMany<serde_with::Same>>::serialize(
1247 self.0, serializer,
1248 )
1249 }
1250 }
1251 &SerializeWith(&self.r#work_performed)
1252 })?;
1253 } else {
1254 serialize_struct.skip_field("workPerformed")?;
1255 }
1256 if !Vec::is_empty(&self.r#additional_type) {
1257 serialize_struct.serialize_field("additionalType", {
1258 struct SerializeWith<'a>(&'a Vec<AdditionalTypeProperty>);
1259 impl<'a> Serialize for SerializeWith<'a> {
1260 fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
1261 where
1262 S: Serializer,
1263 {
1264 serde_with::As::<serde_with::OneOrMany<serde_with::Same>>::serialize(
1265 self.0, serializer,
1266 )
1267 }
1268 }
1269 &SerializeWith(&self.r#additional_type)
1270 })?;
1271 } else {
1272 serialize_struct.skip_field("additionalType")?;
1273 }
1274 if !Vec::is_empty(&self.r#alternate_name) {
1275 serialize_struct.serialize_field("alternateName", {
1276 struct SerializeWith<'a>(&'a Vec<AlternateNameProperty>);
1277 impl<'a> Serialize for SerializeWith<'a> {
1278 fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
1279 where
1280 S: Serializer,
1281 {
1282 serde_with::As::<serde_with::OneOrMany<serde_with::Same>>::serialize(
1283 self.0, serializer,
1284 )
1285 }
1286 }
1287 &SerializeWith(&self.r#alternate_name)
1288 })?;
1289 } else {
1290 serialize_struct.skip_field("alternateName")?;
1291 }
1292 if !Vec::is_empty(&self.r#description) {
1293 serialize_struct.serialize_field("description", {
1294 struct SerializeWith<'a>(&'a Vec<DescriptionProperty>);
1295 impl<'a> Serialize for SerializeWith<'a> {
1296 fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
1297 where
1298 S: Serializer,
1299 {
1300 serde_with::As::<serde_with::OneOrMany<serde_with::Same>>::serialize(
1301 self.0, serializer,
1302 )
1303 }
1304 }
1305 &SerializeWith(&self.r#description)
1306 })?;
1307 } else {
1308 serialize_struct.skip_field("description")?;
1309 }
1310 if !Vec::is_empty(&self.r#disambiguating_description) {
1311 serialize_struct.serialize_field("disambiguatingDescription", {
1312 struct SerializeWith<'a>(&'a Vec<DisambiguatingDescriptionProperty>);
1313 impl<'a> Serialize for SerializeWith<'a> {
1314 fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
1315 where
1316 S: Serializer,
1317 {
1318 serde_with::As::<serde_with::OneOrMany<serde_with::Same>>::serialize(
1319 self.0, serializer,
1320 )
1321 }
1322 }
1323 &SerializeWith(&self.r#disambiguating_description)
1324 })?;
1325 } else {
1326 serialize_struct.skip_field("disambiguatingDescription")?;
1327 }
1328 if !Vec::is_empty(&self.r#identifier) {
1329 serialize_struct.serialize_field("identifier", {
1330 struct SerializeWith<'a>(&'a Vec<IdentifierProperty>);
1331 impl<'a> Serialize for SerializeWith<'a> {
1332 fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
1333 where
1334 S: Serializer,
1335 {
1336 serde_with::As::<serde_with::OneOrMany<serde_with::Same>>::serialize(
1337 self.0, serializer,
1338 )
1339 }
1340 }
1341 &SerializeWith(&self.r#identifier)
1342 })?;
1343 } else {
1344 serialize_struct.skip_field("identifier")?;
1345 }
1346 if !Vec::is_empty(&self.r#image) {
1347 serialize_struct.serialize_field("image", {
1348 struct SerializeWith<'a>(&'a Vec<ImageProperty>);
1349 impl<'a> Serialize for SerializeWith<'a> {
1350 fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
1351 where
1352 S: Serializer,
1353 {
1354 serde_with::As::<serde_with::OneOrMany<serde_with::Same>>::serialize(
1355 self.0, serializer,
1356 )
1357 }
1358 }
1359 &SerializeWith(&self.r#image)
1360 })?;
1361 } else {
1362 serialize_struct.skip_field("image")?;
1363 }
1364 if !Vec::is_empty(&self.r#main_entity_of_page) {
1365 serialize_struct.serialize_field("mainEntityOfPage", {
1366 struct SerializeWith<'a>(&'a Vec<MainEntityOfPageProperty>);
1367 impl<'a> Serialize for SerializeWith<'a> {
1368 fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
1369 where
1370 S: Serializer,
1371 {
1372 serde_with::As::<serde_with::OneOrMany<serde_with::Same>>::serialize(
1373 self.0, serializer,
1374 )
1375 }
1376 }
1377 &SerializeWith(&self.r#main_entity_of_page)
1378 })?;
1379 } else {
1380 serialize_struct.skip_field("mainEntityOfPage")?;
1381 }
1382 if !Vec::is_empty(&self.r#name) {
1383 serialize_struct.serialize_field("name", {
1384 struct SerializeWith<'a>(&'a Vec<NameProperty>);
1385 impl<'a> Serialize for SerializeWith<'a> {
1386 fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
1387 where
1388 S: Serializer,
1389 {
1390 serde_with::As::<serde_with::OneOrMany<serde_with::Same>>::serialize(
1391 self.0, serializer,
1392 )
1393 }
1394 }
1395 &SerializeWith(&self.r#name)
1396 })?;
1397 } else {
1398 serialize_struct.skip_field("name")?;
1399 }
1400 if !Vec::is_empty(&self.r#potential_action) {
1401 serialize_struct.serialize_field("potentialAction", {
1402 struct SerializeWith<'a>(&'a Vec<PotentialActionProperty>);
1403 impl<'a> Serialize for SerializeWith<'a> {
1404 fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
1405 where
1406 S: Serializer,
1407 {
1408 serde_with::As::<serde_with::OneOrMany<serde_with::Same>>::serialize(
1409 self.0, serializer,
1410 )
1411 }
1412 }
1413 &SerializeWith(&self.r#potential_action)
1414 })?;
1415 } else {
1416 serialize_struct.skip_field("potentialAction")?;
1417 }
1418 if !Vec::is_empty(&self.r#same_as) {
1419 serialize_struct.serialize_field("sameAs", {
1420 struct SerializeWith<'a>(&'a Vec<SameAsProperty>);
1421 impl<'a> Serialize for SerializeWith<'a> {
1422 fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
1423 where
1424 S: Serializer,
1425 {
1426 serde_with::As::<serde_with::OneOrMany<serde_with::Same>>::serialize(
1427 self.0, serializer,
1428 )
1429 }
1430 }
1431 &SerializeWith(&self.r#same_as)
1432 })?;
1433 } else {
1434 serialize_struct.skip_field("sameAs")?;
1435 }
1436 if !Vec::is_empty(&self.r#subject_of) {
1437 serialize_struct.serialize_field("subjectOf", {
1438 struct SerializeWith<'a>(&'a Vec<SubjectOfProperty>);
1439 impl<'a> Serialize for SerializeWith<'a> {
1440 fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
1441 where
1442 S: Serializer,
1443 {
1444 serde_with::As::<serde_with::OneOrMany<serde_with::Same>>::serialize(
1445 self.0, serializer,
1446 )
1447 }
1448 }
1449 &SerializeWith(&self.r#subject_of)
1450 })?;
1451 } else {
1452 serialize_struct.skip_field("subjectOf")?;
1453 }
1454 if !Vec::is_empty(&self.r#url) {
1455 serialize_struct.serialize_field("url", {
1456 struct SerializeWith<'a>(&'a Vec<UrlProperty>);
1457 impl<'a> Serialize for SerializeWith<'a> {
1458 fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
1459 where
1460 S: Serializer,
1461 {
1462 serde_with::As::<serde_with::OneOrMany<serde_with::Same>>::serialize(
1463 self.0, serializer,
1464 )
1465 }
1466 }
1467 &SerializeWith(&self.r#url)
1468 })?;
1469 } else {
1470 serialize_struct.skip_field("url")?;
1471 }
1472 serialize_struct.end()
1473 }
1474 }
1475 impl<'de> Deserialize<'de> for SocialEvent {
1476 fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
1477 where
1478 D: Deserializer<'de>,
1479 {
1480 enum Field {
1481 About,
1482 Actor,
1483 AggregateRating,
1484 Attendee,
1485 Attendees,
1486 Audience,
1487 Composer,
1488 Contributor,
1489 Director,
1490 DoorTime,
1491 Duration,
1492 EndDate,
1493 EventAttendanceMode,
1494 EventSchedule,
1495 EventStatus,
1496 Funder,
1497 Funding,
1498 InLanguage,
1499 IsAccessibleForFree,
1500 Keywords,
1501 Location,
1502 MaximumAttendeeCapacity,
1503 MaximumPhysicalAttendeeCapacity,
1504 MaximumVirtualAttendeeCapacity,
1505 Offers,
1506 Organizer,
1507 Performer,
1508 Performers,
1509 PreviousStartDate,
1510 RecordedIn,
1511 RemainingAttendeeCapacity,
1512 Review,
1513 Sponsor,
1514 StartDate,
1515 SubEvent,
1516 SubEvents,
1517 SuperEvent,
1518 Translator,
1519 TypicalAgeRange,
1520 WorkFeatured,
1521 WorkPerformed,
1522 AdditionalType,
1523 AlternateName,
1524 Description,
1525 DisambiguatingDescription,
1526 Identifier,
1527 Image,
1528 MainEntityOfPage,
1529 Name,
1530 PotentialAction,
1531 SameAs,
1532 SubjectOf,
1533 Url,
1534 Ignore,
1535 }
1536 struct FieldVisitor;
1537 impl<'de> Visitor<'de> for FieldVisitor {
1538 type Value = Field;
1539 fn expecting(&self, formatter: &mut Formatter) -> fmt::Result {
1540 formatter.write_str("field identifier")
1541 }
1542 fn visit_str<E>(self, value: &str) -> Result<Self::Value, E>
1543 where
1544 E: de::Error,
1545 {
1546 match value {
1547 "about" => Ok(Field::About),
1548 "actor" => Ok(Field::Actor),
1549 "aggregateRating" => Ok(Field::AggregateRating),
1550 "attendee" => Ok(Field::Attendee),
1551 "attendees" => Ok(Field::Attendees),
1552 "audience" => Ok(Field::Audience),
1553 "composer" => Ok(Field::Composer),
1554 "contributor" => Ok(Field::Contributor),
1555 "director" => Ok(Field::Director),
1556 "doorTime" => Ok(Field::DoorTime),
1557 "duration" => Ok(Field::Duration),
1558 "endDate" => Ok(Field::EndDate),
1559 "eventAttendanceMode" => Ok(Field::EventAttendanceMode),
1560 "eventSchedule" => Ok(Field::EventSchedule),
1561 "eventStatus" => Ok(Field::EventStatus),
1562 "funder" => Ok(Field::Funder),
1563 "funding" => Ok(Field::Funding),
1564 "inLanguage" => Ok(Field::InLanguage),
1565 "isAccessibleForFree" => Ok(Field::IsAccessibleForFree),
1566 "keywords" => Ok(Field::Keywords),
1567 "location" => Ok(Field::Location),
1568 "maximumAttendeeCapacity" => Ok(Field::MaximumAttendeeCapacity),
1569 "maximumPhysicalAttendeeCapacity" => {
1570 Ok(Field::MaximumPhysicalAttendeeCapacity)
1571 }
1572 "maximumVirtualAttendeeCapacity" => {
1573 Ok(Field::MaximumVirtualAttendeeCapacity)
1574 }
1575 "offers" => Ok(Field::Offers),
1576 "organizer" => Ok(Field::Organizer),
1577 "performer" => Ok(Field::Performer),
1578 "performers" => Ok(Field::Performers),
1579 "previousStartDate" => Ok(Field::PreviousStartDate),
1580 "recordedIn" => Ok(Field::RecordedIn),
1581 "remainingAttendeeCapacity" => Ok(Field::RemainingAttendeeCapacity),
1582 "review" => Ok(Field::Review),
1583 "sponsor" => Ok(Field::Sponsor),
1584 "startDate" => Ok(Field::StartDate),
1585 "subEvent" => Ok(Field::SubEvent),
1586 "subEvents" => Ok(Field::SubEvents),
1587 "superEvent" => Ok(Field::SuperEvent),
1588 "translator" => Ok(Field::Translator),
1589 "typicalAgeRange" => Ok(Field::TypicalAgeRange),
1590 "workFeatured" => Ok(Field::WorkFeatured),
1591 "workPerformed" => Ok(Field::WorkPerformed),
1592 "additionalType" => Ok(Field::AdditionalType),
1593 "alternateName" => Ok(Field::AlternateName),
1594 "description" => Ok(Field::Description),
1595 "disambiguatingDescription" => Ok(Field::DisambiguatingDescription),
1596 "identifier" => Ok(Field::Identifier),
1597 "image" => Ok(Field::Image),
1598 "mainEntityOfPage" => Ok(Field::MainEntityOfPage),
1599 "name" => Ok(Field::Name),
1600 "potentialAction" => Ok(Field::PotentialAction),
1601 "sameAs" => Ok(Field::SameAs),
1602 "subjectOf" => Ok(Field::SubjectOf),
1603 "url" => Ok(Field::Url),
1604 "id" | "type" => Ok(Field::Ignore),
1605 _ => Err(de::Error::unknown_field(value, FIELDS)),
1606 }
1607 }
1608 fn visit_bytes<E>(self, value: &[u8]) -> Result<Self::Value, E>
1609 where
1610 E: de::Error,
1611 {
1612 match value {
1613 b"about" => Ok(Field::About),
1614 b"actor" => Ok(Field::Actor),
1615 b"aggregateRating" => Ok(Field::AggregateRating),
1616 b"attendee" => Ok(Field::Attendee),
1617 b"attendees" => Ok(Field::Attendees),
1618 b"audience" => Ok(Field::Audience),
1619 b"composer" => Ok(Field::Composer),
1620 b"contributor" => Ok(Field::Contributor),
1621 b"director" => Ok(Field::Director),
1622 b"doorTime" => Ok(Field::DoorTime),
1623 b"duration" => Ok(Field::Duration),
1624 b"endDate" => Ok(Field::EndDate),
1625 b"eventAttendanceMode" => Ok(Field::EventAttendanceMode),
1626 b"eventSchedule" => Ok(Field::EventSchedule),
1627 b"eventStatus" => Ok(Field::EventStatus),
1628 b"funder" => Ok(Field::Funder),
1629 b"funding" => Ok(Field::Funding),
1630 b"inLanguage" => Ok(Field::InLanguage),
1631 b"isAccessibleForFree" => Ok(Field::IsAccessibleForFree),
1632 b"keywords" => Ok(Field::Keywords),
1633 b"location" => Ok(Field::Location),
1634 b"maximumAttendeeCapacity" => Ok(Field::MaximumAttendeeCapacity),
1635 b"maximumPhysicalAttendeeCapacity" => {
1636 Ok(Field::MaximumPhysicalAttendeeCapacity)
1637 }
1638 b"maximumVirtualAttendeeCapacity" => {
1639 Ok(Field::MaximumVirtualAttendeeCapacity)
1640 }
1641 b"offers" => Ok(Field::Offers),
1642 b"organizer" => Ok(Field::Organizer),
1643 b"performer" => Ok(Field::Performer),
1644 b"performers" => Ok(Field::Performers),
1645 b"previousStartDate" => Ok(Field::PreviousStartDate),
1646 b"recordedIn" => Ok(Field::RecordedIn),
1647 b"remainingAttendeeCapacity" => Ok(Field::RemainingAttendeeCapacity),
1648 b"review" => Ok(Field::Review),
1649 b"sponsor" => Ok(Field::Sponsor),
1650 b"startDate" => Ok(Field::StartDate),
1651 b"subEvent" => Ok(Field::SubEvent),
1652 b"subEvents" => Ok(Field::SubEvents),
1653 b"superEvent" => Ok(Field::SuperEvent),
1654 b"translator" => Ok(Field::Translator),
1655 b"typicalAgeRange" => Ok(Field::TypicalAgeRange),
1656 b"workFeatured" => Ok(Field::WorkFeatured),
1657 b"workPerformed" => Ok(Field::WorkPerformed),
1658 b"additionalType" => Ok(Field::AdditionalType),
1659 b"alternateName" => Ok(Field::AlternateName),
1660 b"description" => Ok(Field::Description),
1661 b"disambiguatingDescription" => Ok(Field::DisambiguatingDescription),
1662 b"identifier" => Ok(Field::Identifier),
1663 b"image" => Ok(Field::Image),
1664 b"mainEntityOfPage" => Ok(Field::MainEntityOfPage),
1665 b"name" => Ok(Field::Name),
1666 b"potentialAction" => Ok(Field::PotentialAction),
1667 b"sameAs" => Ok(Field::SameAs),
1668 b"subjectOf" => Ok(Field::SubjectOf),
1669 b"url" => Ok(Field::Url),
1670 b"id" | b"type" => Ok(Field::Ignore),
1671 _ => {
1672 let value = &String::from_utf8_lossy(value);
1673 Err(de::Error::unknown_field(value, FIELDS))
1674 }
1675 }
1676 }
1677 }
1678 impl<'de> Deserialize<'de> for Field {
1679 fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
1680 where
1681 D: Deserializer<'de>,
1682 {
1683 deserializer.deserialize_identifier(FieldVisitor)
1684 }
1685 }
1686 struct ClassVisitor;
1687 impl<'de> Visitor<'de> for ClassVisitor {
1688 type Value = SocialEvent;
1689 fn expecting(&self, formatter: &mut Formatter) -> fmt::Result {
1690 formatter.write_str("schema.org schema SocialEvent")
1691 }
1692 fn visit_map<A>(self, mut map: A) -> Result<Self::Value, A::Error>
1693 where
1694 A: de::MapAccess<'de>,
1695 {
1696 let mut r#about_property = None;
1697 let mut r#actor_property = None;
1698 let mut r#aggregate_rating_property = None;
1699 let mut r#attendee_property = None;
1700 let mut r#attendees_property = None;
1701 let mut r#audience_property = None;
1702 let mut r#composer_property = None;
1703 let mut r#contributor_property = None;
1704 let mut r#director_property = None;
1705 let mut r#door_time_property = None;
1706 let mut r#duration_property = None;
1707 let mut r#end_date_property = None;
1708 let mut r#event_attendance_mode_property = None;
1709 let mut r#event_schedule_property = None;
1710 let mut r#event_status_property = None;
1711 let mut r#funder_property = None;
1712 let mut r#funding_property = None;
1713 let mut r#in_language_property = None;
1714 let mut r#is_accessible_for_free_property = None;
1715 let mut r#keywords_property = None;
1716 let mut r#location_property = None;
1717 let mut r#maximum_attendee_capacity_property = None;
1718 let mut r#maximum_physical_attendee_capacity_property = None;
1719 let mut r#maximum_virtual_attendee_capacity_property = None;
1720 let mut r#offers_property = None;
1721 let mut r#organizer_property = None;
1722 let mut r#performer_property = None;
1723 let mut r#performers_property = None;
1724 let mut r#previous_start_date_property = None;
1725 let mut r#recorded_in_property = None;
1726 let mut r#remaining_attendee_capacity_property = None;
1727 let mut r#review_property = None;
1728 let mut r#sponsor_property = None;
1729 let mut r#start_date_property = None;
1730 let mut r#sub_event_property = None;
1731 let mut r#sub_events_property = None;
1732 let mut r#super_event_property = None;
1733 let mut r#translator_property = None;
1734 let mut r#typical_age_range_property = None;
1735 let mut r#work_featured_property = None;
1736 let mut r#work_performed_property = None;
1737 let mut r#additional_type_property = None;
1738 let mut r#alternate_name_property = None;
1739 let mut r#description_property = None;
1740 let mut r#disambiguating_description_property = None;
1741 let mut r#identifier_property = None;
1742 let mut r#image_property = None;
1743 let mut r#main_entity_of_page_property = None;
1744 let mut r#name_property = None;
1745 let mut r#potential_action_property = None;
1746 let mut r#same_as_property = None;
1747 let mut r#subject_of_property = None;
1748 let mut r#url_property = None;
1749 while let Some(key) = map.next_key::<Field>()? {
1750 match key {
1751 Field::About => {
1752 if r#about_property.is_some() {
1753 return Err(<A::Error as de::Error>::duplicate_field("about"));
1754 }
1755 r#about_property = Some({
1756 struct DeserializeWith(Vec<AboutProperty>);
1757 impl<'de> Deserialize<'de> for DeserializeWith {
1758 fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
1759 where
1760 D: Deserializer<'de>,
1761 {
1762 Ok(DeserializeWith(serde_with::As::<
1763 serde_with::OneOrMany<serde_with::Same>,
1764 >::deserialize(deserializer)?))
1765 }
1766 }
1767 match map.next_value::<DeserializeWith>() {
1768 Ok(deserialize_with) => deserialize_with.0,
1769 Err(err) => {
1770 return Err(err);
1771 }
1772 }
1773 });
1774 }
1775 Field::Actor => {
1776 if r#actor_property.is_some() {
1777 return Err(<A::Error as de::Error>::duplicate_field("actor"));
1778 }
1779 r#actor_property = Some({
1780 struct DeserializeWith(Vec<ActorProperty>);
1781 impl<'de> Deserialize<'de> for DeserializeWith {
1782 fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
1783 where
1784 D: Deserializer<'de>,
1785 {
1786 Ok(DeserializeWith(serde_with::As::<
1787 serde_with::OneOrMany<serde_with::Same>,
1788 >::deserialize(deserializer)?))
1789 }
1790 }
1791 match map.next_value::<DeserializeWith>() {
1792 Ok(deserialize_with) => deserialize_with.0,
1793 Err(err) => {
1794 return Err(err);
1795 }
1796 }
1797 });
1798 }
1799 Field::AggregateRating => {
1800 if r#aggregate_rating_property.is_some() {
1801 return Err(<A::Error as de::Error>::duplicate_field(
1802 "aggregateRating",
1803 ));
1804 }
1805 r#aggregate_rating_property = Some({
1806 struct DeserializeWith(Vec<AggregateRatingProperty>);
1807 impl<'de> Deserialize<'de> for DeserializeWith {
1808 fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
1809 where
1810 D: Deserializer<'de>,
1811 {
1812 Ok(DeserializeWith(serde_with::As::<
1813 serde_with::OneOrMany<serde_with::Same>,
1814 >::deserialize(deserializer)?))
1815 }
1816 }
1817 match map.next_value::<DeserializeWith>() {
1818 Ok(deserialize_with) => deserialize_with.0,
1819 Err(err) => {
1820 return Err(err);
1821 }
1822 }
1823 });
1824 }
1825 Field::Attendee => {
1826 if r#attendee_property.is_some() {
1827 return Err(<A::Error as de::Error>::duplicate_field(
1828 "attendee",
1829 ));
1830 }
1831 r#attendee_property = Some({
1832 struct DeserializeWith(Vec<AttendeeProperty>);
1833 impl<'de> Deserialize<'de> for DeserializeWith {
1834 fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
1835 where
1836 D: Deserializer<'de>,
1837 {
1838 Ok(DeserializeWith(serde_with::As::<
1839 serde_with::OneOrMany<serde_with::Same>,
1840 >::deserialize(deserializer)?))
1841 }
1842 }
1843 match map.next_value::<DeserializeWith>() {
1844 Ok(deserialize_with) => deserialize_with.0,
1845 Err(err) => {
1846 return Err(err);
1847 }
1848 }
1849 });
1850 }
1851 Field::Attendees => {
1852 if r#attendees_property.is_some() {
1853 return Err(<A::Error as de::Error>::duplicate_field(
1854 "attendees",
1855 ));
1856 }
1857 r#attendees_property = Some({
1858 struct DeserializeWith(Vec<AttendeesProperty>);
1859 impl<'de> Deserialize<'de> for DeserializeWith {
1860 fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
1861 where
1862 D: Deserializer<'de>,
1863 {
1864 Ok(DeserializeWith(serde_with::As::<
1865 serde_with::OneOrMany<serde_with::Same>,
1866 >::deserialize(deserializer)?))
1867 }
1868 }
1869 match map.next_value::<DeserializeWith>() {
1870 Ok(deserialize_with) => deserialize_with.0,
1871 Err(err) => {
1872 return Err(err);
1873 }
1874 }
1875 });
1876 }
1877 Field::Audience => {
1878 if r#audience_property.is_some() {
1879 return Err(<A::Error as de::Error>::duplicate_field(
1880 "audience",
1881 ));
1882 }
1883 r#audience_property = Some({
1884 struct DeserializeWith(Vec<AudienceProperty>);
1885 impl<'de> Deserialize<'de> for DeserializeWith {
1886 fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
1887 where
1888 D: Deserializer<'de>,
1889 {
1890 Ok(DeserializeWith(serde_with::As::<
1891 serde_with::OneOrMany<serde_with::Same>,
1892 >::deserialize(deserializer)?))
1893 }
1894 }
1895 match map.next_value::<DeserializeWith>() {
1896 Ok(deserialize_with) => deserialize_with.0,
1897 Err(err) => {
1898 return Err(err);
1899 }
1900 }
1901 });
1902 }
1903 Field::Composer => {
1904 if r#composer_property.is_some() {
1905 return Err(<A::Error as de::Error>::duplicate_field(
1906 "composer",
1907 ));
1908 }
1909 r#composer_property = Some({
1910 struct DeserializeWith(Vec<ComposerProperty>);
1911 impl<'de> Deserialize<'de> for DeserializeWith {
1912 fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
1913 where
1914 D: Deserializer<'de>,
1915 {
1916 Ok(DeserializeWith(serde_with::As::<
1917 serde_with::OneOrMany<serde_with::Same>,
1918 >::deserialize(deserializer)?))
1919 }
1920 }
1921 match map.next_value::<DeserializeWith>() {
1922 Ok(deserialize_with) => deserialize_with.0,
1923 Err(err) => {
1924 return Err(err);
1925 }
1926 }
1927 });
1928 }
1929 Field::Contributor => {
1930 if r#contributor_property.is_some() {
1931 return Err(<A::Error as de::Error>::duplicate_field(
1932 "contributor",
1933 ));
1934 }
1935 r#contributor_property = Some({
1936 struct DeserializeWith(Vec<ContributorProperty>);
1937 impl<'de> Deserialize<'de> for DeserializeWith {
1938 fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
1939 where
1940 D: Deserializer<'de>,
1941 {
1942 Ok(DeserializeWith(serde_with::As::<
1943 serde_with::OneOrMany<serde_with::Same>,
1944 >::deserialize(deserializer)?))
1945 }
1946 }
1947 match map.next_value::<DeserializeWith>() {
1948 Ok(deserialize_with) => deserialize_with.0,
1949 Err(err) => {
1950 return Err(err);
1951 }
1952 }
1953 });
1954 }
1955 Field::Director => {
1956 if r#director_property.is_some() {
1957 return Err(<A::Error as de::Error>::duplicate_field(
1958 "director",
1959 ));
1960 }
1961 r#director_property = Some({
1962 struct DeserializeWith(Vec<DirectorProperty>);
1963 impl<'de> Deserialize<'de> for DeserializeWith {
1964 fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
1965 where
1966 D: Deserializer<'de>,
1967 {
1968 Ok(DeserializeWith(serde_with::As::<
1969 serde_with::OneOrMany<serde_with::Same>,
1970 >::deserialize(deserializer)?))
1971 }
1972 }
1973 match map.next_value::<DeserializeWith>() {
1974 Ok(deserialize_with) => deserialize_with.0,
1975 Err(err) => {
1976 return Err(err);
1977 }
1978 }
1979 });
1980 }
1981 Field::DoorTime => {
1982 if r#door_time_property.is_some() {
1983 return Err(<A::Error as de::Error>::duplicate_field(
1984 "doorTime",
1985 ));
1986 }
1987 r#door_time_property = Some({
1988 struct DeserializeWith(Vec<DoorTimeProperty>);
1989 impl<'de> Deserialize<'de> for DeserializeWith {
1990 fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
1991 where
1992 D: Deserializer<'de>,
1993 {
1994 Ok(DeserializeWith(serde_with::As::<
1995 serde_with::OneOrMany<serde_with::Same>,
1996 >::deserialize(deserializer)?))
1997 }
1998 }
1999 match map.next_value::<DeserializeWith>() {
2000 Ok(deserialize_with) => deserialize_with.0,
2001 Err(err) => {
2002 return Err(err);
2003 }
2004 }
2005 });
2006 }
2007 Field::Duration => {
2008 if r#duration_property.is_some() {
2009 return Err(<A::Error as de::Error>::duplicate_field(
2010 "duration",
2011 ));
2012 }
2013 r#duration_property = Some({
2014 struct DeserializeWith(Vec<DurationProperty>);
2015 impl<'de> Deserialize<'de> for DeserializeWith {
2016 fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
2017 where
2018 D: Deserializer<'de>,
2019 {
2020 Ok(DeserializeWith(serde_with::As::<
2021 serde_with::OneOrMany<serde_with::Same>,
2022 >::deserialize(deserializer)?))
2023 }
2024 }
2025 match map.next_value::<DeserializeWith>() {
2026 Ok(deserialize_with) => deserialize_with.0,
2027 Err(err) => {
2028 return Err(err);
2029 }
2030 }
2031 });
2032 }
2033 Field::EndDate => {
2034 if r#end_date_property.is_some() {
2035 return Err(<A::Error as de::Error>::duplicate_field(
2036 "endDate",
2037 ));
2038 }
2039 r#end_date_property = Some({
2040 struct DeserializeWith(Vec<EndDateProperty>);
2041 impl<'de> Deserialize<'de> for DeserializeWith {
2042 fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
2043 where
2044 D: Deserializer<'de>,
2045 {
2046 Ok(DeserializeWith(serde_with::As::<
2047 serde_with::OneOrMany<serde_with::Same>,
2048 >::deserialize(deserializer)?))
2049 }
2050 }
2051 match map.next_value::<DeserializeWith>() {
2052 Ok(deserialize_with) => deserialize_with.0,
2053 Err(err) => {
2054 return Err(err);
2055 }
2056 }
2057 });
2058 }
2059 Field::EventAttendanceMode => {
2060 if r#event_attendance_mode_property.is_some() {
2061 return Err(<A::Error as de::Error>::duplicate_field(
2062 "eventAttendanceMode",
2063 ));
2064 }
2065 r#event_attendance_mode_property = Some({
2066 struct DeserializeWith(Vec<EventAttendanceModeProperty>);
2067 impl<'de> Deserialize<'de> for DeserializeWith {
2068 fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
2069 where
2070 D: Deserializer<'de>,
2071 {
2072 Ok(DeserializeWith(serde_with::As::<
2073 serde_with::OneOrMany<serde_with::Same>,
2074 >::deserialize(deserializer)?))
2075 }
2076 }
2077 match map.next_value::<DeserializeWith>() {
2078 Ok(deserialize_with) => deserialize_with.0,
2079 Err(err) => {
2080 return Err(err);
2081 }
2082 }
2083 });
2084 }
2085 Field::EventSchedule => {
2086 if r#event_schedule_property.is_some() {
2087 return Err(<A::Error as de::Error>::duplicate_field(
2088 "eventSchedule",
2089 ));
2090 }
2091 r#event_schedule_property = Some({
2092 struct DeserializeWith(Vec<EventScheduleProperty>);
2093 impl<'de> Deserialize<'de> for DeserializeWith {
2094 fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
2095 where
2096 D: Deserializer<'de>,
2097 {
2098 Ok(DeserializeWith(serde_with::As::<
2099 serde_with::OneOrMany<serde_with::Same>,
2100 >::deserialize(deserializer)?))
2101 }
2102 }
2103 match map.next_value::<DeserializeWith>() {
2104 Ok(deserialize_with) => deserialize_with.0,
2105 Err(err) => {
2106 return Err(err);
2107 }
2108 }
2109 });
2110 }
2111 Field::EventStatus => {
2112 if r#event_status_property.is_some() {
2113 return Err(<A::Error as de::Error>::duplicate_field(
2114 "eventStatus",
2115 ));
2116 }
2117 r#event_status_property = Some({
2118 struct DeserializeWith(Vec<EventStatusProperty>);
2119 impl<'de> Deserialize<'de> for DeserializeWith {
2120 fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
2121 where
2122 D: Deserializer<'de>,
2123 {
2124 Ok(DeserializeWith(serde_with::As::<
2125 serde_with::OneOrMany<serde_with::Same>,
2126 >::deserialize(deserializer)?))
2127 }
2128 }
2129 match map.next_value::<DeserializeWith>() {
2130 Ok(deserialize_with) => deserialize_with.0,
2131 Err(err) => {
2132 return Err(err);
2133 }
2134 }
2135 });
2136 }
2137 Field::Funder => {
2138 if r#funder_property.is_some() {
2139 return Err(<A::Error as de::Error>::duplicate_field("funder"));
2140 }
2141 r#funder_property = Some({
2142 struct DeserializeWith(Vec<FunderProperty>);
2143 impl<'de> Deserialize<'de> for DeserializeWith {
2144 fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
2145 where
2146 D: Deserializer<'de>,
2147 {
2148 Ok(DeserializeWith(serde_with::As::<
2149 serde_with::OneOrMany<serde_with::Same>,
2150 >::deserialize(deserializer)?))
2151 }
2152 }
2153 match map.next_value::<DeserializeWith>() {
2154 Ok(deserialize_with) => deserialize_with.0,
2155 Err(err) => {
2156 return Err(err);
2157 }
2158 }
2159 });
2160 }
2161 Field::Funding => {
2162 if r#funding_property.is_some() {
2163 return Err(<A::Error as de::Error>::duplicate_field(
2164 "funding",
2165 ));
2166 }
2167 r#funding_property = Some({
2168 struct DeserializeWith(Vec<FundingProperty>);
2169 impl<'de> Deserialize<'de> for DeserializeWith {
2170 fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
2171 where
2172 D: Deserializer<'de>,
2173 {
2174 Ok(DeserializeWith(serde_with::As::<
2175 serde_with::OneOrMany<serde_with::Same>,
2176 >::deserialize(deserializer)?))
2177 }
2178 }
2179 match map.next_value::<DeserializeWith>() {
2180 Ok(deserialize_with) => deserialize_with.0,
2181 Err(err) => {
2182 return Err(err);
2183 }
2184 }
2185 });
2186 }
2187 Field::InLanguage => {
2188 if r#in_language_property.is_some() {
2189 return Err(<A::Error as de::Error>::duplicate_field(
2190 "inLanguage",
2191 ));
2192 }
2193 r#in_language_property = Some({
2194 struct DeserializeWith(Vec<InLanguageProperty>);
2195 impl<'de> Deserialize<'de> for DeserializeWith {
2196 fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
2197 where
2198 D: Deserializer<'de>,
2199 {
2200 Ok(DeserializeWith(serde_with::As::<
2201 serde_with::OneOrMany<serde_with::Same>,
2202 >::deserialize(deserializer)?))
2203 }
2204 }
2205 match map.next_value::<DeserializeWith>() {
2206 Ok(deserialize_with) => deserialize_with.0,
2207 Err(err) => {
2208 return Err(err);
2209 }
2210 }
2211 });
2212 }
2213 Field::IsAccessibleForFree => {
2214 if r#is_accessible_for_free_property.is_some() {
2215 return Err(<A::Error as de::Error>::duplicate_field(
2216 "isAccessibleForFree",
2217 ));
2218 }
2219 r#is_accessible_for_free_property = Some({
2220 struct DeserializeWith(Vec<IsAccessibleForFreeProperty>);
2221 impl<'de> Deserialize<'de> for DeserializeWith {
2222 fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
2223 where
2224 D: Deserializer<'de>,
2225 {
2226 Ok(DeserializeWith(serde_with::As::<
2227 serde_with::OneOrMany<serde_with::Same>,
2228 >::deserialize(deserializer)?))
2229 }
2230 }
2231 match map.next_value::<DeserializeWith>() {
2232 Ok(deserialize_with) => deserialize_with.0,
2233 Err(err) => {
2234 return Err(err);
2235 }
2236 }
2237 });
2238 }
2239 Field::Keywords => {
2240 if r#keywords_property.is_some() {
2241 return Err(<A::Error as de::Error>::duplicate_field(
2242 "keywords",
2243 ));
2244 }
2245 r#keywords_property = Some({
2246 struct DeserializeWith(Vec<KeywordsProperty>);
2247 impl<'de> Deserialize<'de> for DeserializeWith {
2248 fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
2249 where
2250 D: Deserializer<'de>,
2251 {
2252 Ok(DeserializeWith(serde_with::As::<
2253 serde_with::OneOrMany<serde_with::Same>,
2254 >::deserialize(deserializer)?))
2255 }
2256 }
2257 match map.next_value::<DeserializeWith>() {
2258 Ok(deserialize_with) => deserialize_with.0,
2259 Err(err) => {
2260 return Err(err);
2261 }
2262 }
2263 });
2264 }
2265 Field::Location => {
2266 if r#location_property.is_some() {
2267 return Err(<A::Error as de::Error>::duplicate_field(
2268 "location",
2269 ));
2270 }
2271 r#location_property = Some({
2272 struct DeserializeWith(Vec<LocationProperty>);
2273 impl<'de> Deserialize<'de> for DeserializeWith {
2274 fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
2275 where
2276 D: Deserializer<'de>,
2277 {
2278 Ok(DeserializeWith(serde_with::As::<
2279 serde_with::OneOrMany<serde_with::Same>,
2280 >::deserialize(deserializer)?))
2281 }
2282 }
2283 match map.next_value::<DeserializeWith>() {
2284 Ok(deserialize_with) => deserialize_with.0,
2285 Err(err) => {
2286 return Err(err);
2287 }
2288 }
2289 });
2290 }
2291 Field::MaximumAttendeeCapacity => {
2292 if r#maximum_attendee_capacity_property.is_some() {
2293 return Err(<A::Error as de::Error>::duplicate_field(
2294 "maximumAttendeeCapacity",
2295 ));
2296 }
2297 r#maximum_attendee_capacity_property = Some({
2298 struct DeserializeWith(Vec<MaximumAttendeeCapacityProperty>);
2299 impl<'de> Deserialize<'de> for DeserializeWith {
2300 fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
2301 where
2302 D: Deserializer<'de>,
2303 {
2304 Ok(DeserializeWith(serde_with::As::<
2305 serde_with::OneOrMany<serde_with::Same>,
2306 >::deserialize(deserializer)?))
2307 }
2308 }
2309 match map.next_value::<DeserializeWith>() {
2310 Ok(deserialize_with) => deserialize_with.0,
2311 Err(err) => {
2312 return Err(err);
2313 }
2314 }
2315 });
2316 }
2317 Field::MaximumPhysicalAttendeeCapacity => {
2318 if r#maximum_physical_attendee_capacity_property.is_some() {
2319 return Err(<A::Error as de::Error>::duplicate_field(
2320 "maximumPhysicalAttendeeCapacity",
2321 ));
2322 }
2323 r#maximum_physical_attendee_capacity_property = Some({
2324 struct DeserializeWith(
2325 Vec<MaximumPhysicalAttendeeCapacityProperty>,
2326 );
2327 impl<'de> Deserialize<'de> for DeserializeWith {
2328 fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
2329 where
2330 D: Deserializer<'de>,
2331 {
2332 Ok(DeserializeWith(serde_with::As::<
2333 serde_with::OneOrMany<serde_with::Same>,
2334 >::deserialize(deserializer)?))
2335 }
2336 }
2337 match map.next_value::<DeserializeWith>() {
2338 Ok(deserialize_with) => deserialize_with.0,
2339 Err(err) => {
2340 return Err(err);
2341 }
2342 }
2343 });
2344 }
2345 Field::MaximumVirtualAttendeeCapacity => {
2346 if r#maximum_virtual_attendee_capacity_property.is_some() {
2347 return Err(<A::Error as de::Error>::duplicate_field(
2348 "maximumVirtualAttendeeCapacity",
2349 ));
2350 }
2351 r#maximum_virtual_attendee_capacity_property = Some({
2352 struct DeserializeWith(
2353 Vec<MaximumVirtualAttendeeCapacityProperty>,
2354 );
2355 impl<'de> Deserialize<'de> for DeserializeWith {
2356 fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
2357 where
2358 D: Deserializer<'de>,
2359 {
2360 Ok(DeserializeWith(serde_with::As::<
2361 serde_with::OneOrMany<serde_with::Same>,
2362 >::deserialize(deserializer)?))
2363 }
2364 }
2365 match map.next_value::<DeserializeWith>() {
2366 Ok(deserialize_with) => deserialize_with.0,
2367 Err(err) => {
2368 return Err(err);
2369 }
2370 }
2371 });
2372 }
2373 Field::Offers => {
2374 if r#offers_property.is_some() {
2375 return Err(<A::Error as de::Error>::duplicate_field("offers"));
2376 }
2377 r#offers_property = Some({
2378 struct DeserializeWith(Vec<OffersProperty>);
2379 impl<'de> Deserialize<'de> for DeserializeWith {
2380 fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
2381 where
2382 D: Deserializer<'de>,
2383 {
2384 Ok(DeserializeWith(serde_with::As::<
2385 serde_with::OneOrMany<serde_with::Same>,
2386 >::deserialize(deserializer)?))
2387 }
2388 }
2389 match map.next_value::<DeserializeWith>() {
2390 Ok(deserialize_with) => deserialize_with.0,
2391 Err(err) => {
2392 return Err(err);
2393 }
2394 }
2395 });
2396 }
2397 Field::Organizer => {
2398 if r#organizer_property.is_some() {
2399 return Err(<A::Error as de::Error>::duplicate_field(
2400 "organizer",
2401 ));
2402 }
2403 r#organizer_property = Some({
2404 struct DeserializeWith(Vec<OrganizerProperty>);
2405 impl<'de> Deserialize<'de> for DeserializeWith {
2406 fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
2407 where
2408 D: Deserializer<'de>,
2409 {
2410 Ok(DeserializeWith(serde_with::As::<
2411 serde_with::OneOrMany<serde_with::Same>,
2412 >::deserialize(deserializer)?))
2413 }
2414 }
2415 match map.next_value::<DeserializeWith>() {
2416 Ok(deserialize_with) => deserialize_with.0,
2417 Err(err) => {
2418 return Err(err);
2419 }
2420 }
2421 });
2422 }
2423 Field::Performer => {
2424 if r#performer_property.is_some() {
2425 return Err(<A::Error as de::Error>::duplicate_field(
2426 "performer",
2427 ));
2428 }
2429 r#performer_property = Some({
2430 struct DeserializeWith(Vec<PerformerProperty>);
2431 impl<'de> Deserialize<'de> for DeserializeWith {
2432 fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
2433 where
2434 D: Deserializer<'de>,
2435 {
2436 Ok(DeserializeWith(serde_with::As::<
2437 serde_with::OneOrMany<serde_with::Same>,
2438 >::deserialize(deserializer)?))
2439 }
2440 }
2441 match map.next_value::<DeserializeWith>() {
2442 Ok(deserialize_with) => deserialize_with.0,
2443 Err(err) => {
2444 return Err(err);
2445 }
2446 }
2447 });
2448 }
2449 Field::Performers => {
2450 if r#performers_property.is_some() {
2451 return Err(<A::Error as de::Error>::duplicate_field(
2452 "performers",
2453 ));
2454 }
2455 r#performers_property = Some({
2456 struct DeserializeWith(Vec<PerformersProperty>);
2457 impl<'de> Deserialize<'de> for DeserializeWith {
2458 fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
2459 where
2460 D: Deserializer<'de>,
2461 {
2462 Ok(DeserializeWith(serde_with::As::<
2463 serde_with::OneOrMany<serde_with::Same>,
2464 >::deserialize(deserializer)?))
2465 }
2466 }
2467 match map.next_value::<DeserializeWith>() {
2468 Ok(deserialize_with) => deserialize_with.0,
2469 Err(err) => {
2470 return Err(err);
2471 }
2472 }
2473 });
2474 }
2475 Field::PreviousStartDate => {
2476 if r#previous_start_date_property.is_some() {
2477 return Err(<A::Error as de::Error>::duplicate_field(
2478 "previousStartDate",
2479 ));
2480 }
2481 r#previous_start_date_property = Some({
2482 struct DeserializeWith(Vec<PreviousStartDateProperty>);
2483 impl<'de> Deserialize<'de> for DeserializeWith {
2484 fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
2485 where
2486 D: Deserializer<'de>,
2487 {
2488 Ok(DeserializeWith(serde_with::As::<
2489 serde_with::OneOrMany<serde_with::Same>,
2490 >::deserialize(deserializer)?))
2491 }
2492 }
2493 match map.next_value::<DeserializeWith>() {
2494 Ok(deserialize_with) => deserialize_with.0,
2495 Err(err) => {
2496 return Err(err);
2497 }
2498 }
2499 });
2500 }
2501 Field::RecordedIn => {
2502 if r#recorded_in_property.is_some() {
2503 return Err(<A::Error as de::Error>::duplicate_field(
2504 "recordedIn",
2505 ));
2506 }
2507 r#recorded_in_property = Some({
2508 struct DeserializeWith(Vec<RecordedInProperty>);
2509 impl<'de> Deserialize<'de> for DeserializeWith {
2510 fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
2511 where
2512 D: Deserializer<'de>,
2513 {
2514 Ok(DeserializeWith(serde_with::As::<
2515 serde_with::OneOrMany<serde_with::Same>,
2516 >::deserialize(deserializer)?))
2517 }
2518 }
2519 match map.next_value::<DeserializeWith>() {
2520 Ok(deserialize_with) => deserialize_with.0,
2521 Err(err) => {
2522 return Err(err);
2523 }
2524 }
2525 });
2526 }
2527 Field::RemainingAttendeeCapacity => {
2528 if r#remaining_attendee_capacity_property.is_some() {
2529 return Err(<A::Error as de::Error>::duplicate_field(
2530 "remainingAttendeeCapacity",
2531 ));
2532 }
2533 r#remaining_attendee_capacity_property = Some({
2534 struct DeserializeWith(Vec<RemainingAttendeeCapacityProperty>);
2535 impl<'de> Deserialize<'de> for DeserializeWith {
2536 fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
2537 where
2538 D: Deserializer<'de>,
2539 {
2540 Ok(DeserializeWith(serde_with::As::<
2541 serde_with::OneOrMany<serde_with::Same>,
2542 >::deserialize(deserializer)?))
2543 }
2544 }
2545 match map.next_value::<DeserializeWith>() {
2546 Ok(deserialize_with) => deserialize_with.0,
2547 Err(err) => {
2548 return Err(err);
2549 }
2550 }
2551 });
2552 }
2553 Field::Review => {
2554 if r#review_property.is_some() {
2555 return Err(<A::Error as de::Error>::duplicate_field("review"));
2556 }
2557 r#review_property = Some({
2558 struct DeserializeWith(Vec<ReviewProperty>);
2559 impl<'de> Deserialize<'de> for DeserializeWith {
2560 fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
2561 where
2562 D: Deserializer<'de>,
2563 {
2564 Ok(DeserializeWith(serde_with::As::<
2565 serde_with::OneOrMany<serde_with::Same>,
2566 >::deserialize(deserializer)?))
2567 }
2568 }
2569 match map.next_value::<DeserializeWith>() {
2570 Ok(deserialize_with) => deserialize_with.0,
2571 Err(err) => {
2572 return Err(err);
2573 }
2574 }
2575 });
2576 }
2577 Field::Sponsor => {
2578 if r#sponsor_property.is_some() {
2579 return Err(<A::Error as de::Error>::duplicate_field(
2580 "sponsor",
2581 ));
2582 }
2583 r#sponsor_property = Some({
2584 struct DeserializeWith(Vec<SponsorProperty>);
2585 impl<'de> Deserialize<'de> for DeserializeWith {
2586 fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
2587 where
2588 D: Deserializer<'de>,
2589 {
2590 Ok(DeserializeWith(serde_with::As::<
2591 serde_with::OneOrMany<serde_with::Same>,
2592 >::deserialize(deserializer)?))
2593 }
2594 }
2595 match map.next_value::<DeserializeWith>() {
2596 Ok(deserialize_with) => deserialize_with.0,
2597 Err(err) => {
2598 return Err(err);
2599 }
2600 }
2601 });
2602 }
2603 Field::StartDate => {
2604 if r#start_date_property.is_some() {
2605 return Err(<A::Error as de::Error>::duplicate_field(
2606 "startDate",
2607 ));
2608 }
2609 r#start_date_property = Some({
2610 struct DeserializeWith(Vec<StartDateProperty>);
2611 impl<'de> Deserialize<'de> for DeserializeWith {
2612 fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
2613 where
2614 D: Deserializer<'de>,
2615 {
2616 Ok(DeserializeWith(serde_with::As::<
2617 serde_with::OneOrMany<serde_with::Same>,
2618 >::deserialize(deserializer)?))
2619 }
2620 }
2621 match map.next_value::<DeserializeWith>() {
2622 Ok(deserialize_with) => deserialize_with.0,
2623 Err(err) => {
2624 return Err(err);
2625 }
2626 }
2627 });
2628 }
2629 Field::SubEvent => {
2630 if r#sub_event_property.is_some() {
2631 return Err(<A::Error as de::Error>::duplicate_field(
2632 "subEvent",
2633 ));
2634 }
2635 r#sub_event_property = Some({
2636 struct DeserializeWith(Vec<SubEventProperty>);
2637 impl<'de> Deserialize<'de> for DeserializeWith {
2638 fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
2639 where
2640 D: Deserializer<'de>,
2641 {
2642 Ok(DeserializeWith(serde_with::As::<
2643 serde_with::OneOrMany<serde_with::Same>,
2644 >::deserialize(deserializer)?))
2645 }
2646 }
2647 match map.next_value::<DeserializeWith>() {
2648 Ok(deserialize_with) => deserialize_with.0,
2649 Err(err) => {
2650 return Err(err);
2651 }
2652 }
2653 });
2654 }
2655 Field::SubEvents => {
2656 if r#sub_events_property.is_some() {
2657 return Err(<A::Error as de::Error>::duplicate_field(
2658 "subEvents",
2659 ));
2660 }
2661 r#sub_events_property = Some({
2662 struct DeserializeWith(Vec<SubEventsProperty>);
2663 impl<'de> Deserialize<'de> for DeserializeWith {
2664 fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
2665 where
2666 D: Deserializer<'de>,
2667 {
2668 Ok(DeserializeWith(serde_with::As::<
2669 serde_with::OneOrMany<serde_with::Same>,
2670 >::deserialize(deserializer)?))
2671 }
2672 }
2673 match map.next_value::<DeserializeWith>() {
2674 Ok(deserialize_with) => deserialize_with.0,
2675 Err(err) => {
2676 return Err(err);
2677 }
2678 }
2679 });
2680 }
2681 Field::SuperEvent => {
2682 if r#super_event_property.is_some() {
2683 return Err(<A::Error as de::Error>::duplicate_field(
2684 "superEvent",
2685 ));
2686 }
2687 r#super_event_property = Some({
2688 struct DeserializeWith(Vec<SuperEventProperty>);
2689 impl<'de> Deserialize<'de> for DeserializeWith {
2690 fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
2691 where
2692 D: Deserializer<'de>,
2693 {
2694 Ok(DeserializeWith(serde_with::As::<
2695 serde_with::OneOrMany<serde_with::Same>,
2696 >::deserialize(deserializer)?))
2697 }
2698 }
2699 match map.next_value::<DeserializeWith>() {
2700 Ok(deserialize_with) => deserialize_with.0,
2701 Err(err) => {
2702 return Err(err);
2703 }
2704 }
2705 });
2706 }
2707 Field::Translator => {
2708 if r#translator_property.is_some() {
2709 return Err(<A::Error as de::Error>::duplicate_field(
2710 "translator",
2711 ));
2712 }
2713 r#translator_property = Some({
2714 struct DeserializeWith(Vec<TranslatorProperty>);
2715 impl<'de> Deserialize<'de> for DeserializeWith {
2716 fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
2717 where
2718 D: Deserializer<'de>,
2719 {
2720 Ok(DeserializeWith(serde_with::As::<
2721 serde_with::OneOrMany<serde_with::Same>,
2722 >::deserialize(deserializer)?))
2723 }
2724 }
2725 match map.next_value::<DeserializeWith>() {
2726 Ok(deserialize_with) => deserialize_with.0,
2727 Err(err) => {
2728 return Err(err);
2729 }
2730 }
2731 });
2732 }
2733 Field::TypicalAgeRange => {
2734 if r#typical_age_range_property.is_some() {
2735 return Err(<A::Error as de::Error>::duplicate_field(
2736 "typicalAgeRange",
2737 ));
2738 }
2739 r#typical_age_range_property = Some({
2740 struct DeserializeWith(Vec<TypicalAgeRangeProperty>);
2741 impl<'de> Deserialize<'de> for DeserializeWith {
2742 fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
2743 where
2744 D: Deserializer<'de>,
2745 {
2746 Ok(DeserializeWith(serde_with::As::<
2747 serde_with::OneOrMany<serde_with::Same>,
2748 >::deserialize(deserializer)?))
2749 }
2750 }
2751 match map.next_value::<DeserializeWith>() {
2752 Ok(deserialize_with) => deserialize_with.0,
2753 Err(err) => {
2754 return Err(err);
2755 }
2756 }
2757 });
2758 }
2759 Field::WorkFeatured => {
2760 if r#work_featured_property.is_some() {
2761 return Err(<A::Error as de::Error>::duplicate_field(
2762 "workFeatured",
2763 ));
2764 }
2765 r#work_featured_property = Some({
2766 struct DeserializeWith(Vec<WorkFeaturedProperty>);
2767 impl<'de> Deserialize<'de> for DeserializeWith {
2768 fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
2769 where
2770 D: Deserializer<'de>,
2771 {
2772 Ok(DeserializeWith(serde_with::As::<
2773 serde_with::OneOrMany<serde_with::Same>,
2774 >::deserialize(deserializer)?))
2775 }
2776 }
2777 match map.next_value::<DeserializeWith>() {
2778 Ok(deserialize_with) => deserialize_with.0,
2779 Err(err) => {
2780 return Err(err);
2781 }
2782 }
2783 });
2784 }
2785 Field::WorkPerformed => {
2786 if r#work_performed_property.is_some() {
2787 return Err(<A::Error as de::Error>::duplicate_field(
2788 "workPerformed",
2789 ));
2790 }
2791 r#work_performed_property = Some({
2792 struct DeserializeWith(Vec<WorkPerformedProperty>);
2793 impl<'de> Deserialize<'de> for DeserializeWith {
2794 fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
2795 where
2796 D: Deserializer<'de>,
2797 {
2798 Ok(DeserializeWith(serde_with::As::<
2799 serde_with::OneOrMany<serde_with::Same>,
2800 >::deserialize(deserializer)?))
2801 }
2802 }
2803 match map.next_value::<DeserializeWith>() {
2804 Ok(deserialize_with) => deserialize_with.0,
2805 Err(err) => {
2806 return Err(err);
2807 }
2808 }
2809 });
2810 }
2811 Field::AdditionalType => {
2812 if r#additional_type_property.is_some() {
2813 return Err(<A::Error as de::Error>::duplicate_field(
2814 "additionalType",
2815 ));
2816 }
2817 r#additional_type_property = Some({
2818 struct DeserializeWith(Vec<AdditionalTypeProperty>);
2819 impl<'de> Deserialize<'de> for DeserializeWith {
2820 fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
2821 where
2822 D: Deserializer<'de>,
2823 {
2824 Ok(DeserializeWith(serde_with::As::<
2825 serde_with::OneOrMany<serde_with::Same>,
2826 >::deserialize(deserializer)?))
2827 }
2828 }
2829 match map.next_value::<DeserializeWith>() {
2830 Ok(deserialize_with) => deserialize_with.0,
2831 Err(err) => {
2832 return Err(err);
2833 }
2834 }
2835 });
2836 }
2837 Field::AlternateName => {
2838 if r#alternate_name_property.is_some() {
2839 return Err(<A::Error as de::Error>::duplicate_field(
2840 "alternateName",
2841 ));
2842 }
2843 r#alternate_name_property = Some({
2844 struct DeserializeWith(Vec<AlternateNameProperty>);
2845 impl<'de> Deserialize<'de> for DeserializeWith {
2846 fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
2847 where
2848 D: Deserializer<'de>,
2849 {
2850 Ok(DeserializeWith(serde_with::As::<
2851 serde_with::OneOrMany<serde_with::Same>,
2852 >::deserialize(deserializer)?))
2853 }
2854 }
2855 match map.next_value::<DeserializeWith>() {
2856 Ok(deserialize_with) => deserialize_with.0,
2857 Err(err) => {
2858 return Err(err);
2859 }
2860 }
2861 });
2862 }
2863 Field::Description => {
2864 if r#description_property.is_some() {
2865 return Err(<A::Error as de::Error>::duplicate_field(
2866 "description",
2867 ));
2868 }
2869 r#description_property = Some({
2870 struct DeserializeWith(Vec<DescriptionProperty>);
2871 impl<'de> Deserialize<'de> for DeserializeWith {
2872 fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
2873 where
2874 D: Deserializer<'de>,
2875 {
2876 Ok(DeserializeWith(serde_with::As::<
2877 serde_with::OneOrMany<serde_with::Same>,
2878 >::deserialize(deserializer)?))
2879 }
2880 }
2881 match map.next_value::<DeserializeWith>() {
2882 Ok(deserialize_with) => deserialize_with.0,
2883 Err(err) => {
2884 return Err(err);
2885 }
2886 }
2887 });
2888 }
2889 Field::DisambiguatingDescription => {
2890 if r#disambiguating_description_property.is_some() {
2891 return Err(<A::Error as de::Error>::duplicate_field(
2892 "disambiguatingDescription",
2893 ));
2894 }
2895 r#disambiguating_description_property = Some({
2896 struct DeserializeWith(Vec<DisambiguatingDescriptionProperty>);
2897 impl<'de> Deserialize<'de> for DeserializeWith {
2898 fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
2899 where
2900 D: Deserializer<'de>,
2901 {
2902 Ok(DeserializeWith(serde_with::As::<
2903 serde_with::OneOrMany<serde_with::Same>,
2904 >::deserialize(deserializer)?))
2905 }
2906 }
2907 match map.next_value::<DeserializeWith>() {
2908 Ok(deserialize_with) => deserialize_with.0,
2909 Err(err) => {
2910 return Err(err);
2911 }
2912 }
2913 });
2914 }
2915 Field::Identifier => {
2916 if r#identifier_property.is_some() {
2917 return Err(<A::Error as de::Error>::duplicate_field(
2918 "identifier",
2919 ));
2920 }
2921 r#identifier_property = Some({
2922 struct DeserializeWith(Vec<IdentifierProperty>);
2923 impl<'de> Deserialize<'de> for DeserializeWith {
2924 fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
2925 where
2926 D: Deserializer<'de>,
2927 {
2928 Ok(DeserializeWith(serde_with::As::<
2929 serde_with::OneOrMany<serde_with::Same>,
2930 >::deserialize(deserializer)?))
2931 }
2932 }
2933 match map.next_value::<DeserializeWith>() {
2934 Ok(deserialize_with) => deserialize_with.0,
2935 Err(err) => {
2936 return Err(err);
2937 }
2938 }
2939 });
2940 }
2941 Field::Image => {
2942 if r#image_property.is_some() {
2943 return Err(<A::Error as de::Error>::duplicate_field("image"));
2944 }
2945 r#image_property = Some({
2946 struct DeserializeWith(Vec<ImageProperty>);
2947 impl<'de> Deserialize<'de> for DeserializeWith {
2948 fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
2949 where
2950 D: Deserializer<'de>,
2951 {
2952 Ok(DeserializeWith(serde_with::As::<
2953 serde_with::OneOrMany<serde_with::Same>,
2954 >::deserialize(deserializer)?))
2955 }
2956 }
2957 match map.next_value::<DeserializeWith>() {
2958 Ok(deserialize_with) => deserialize_with.0,
2959 Err(err) => {
2960 return Err(err);
2961 }
2962 }
2963 });
2964 }
2965 Field::MainEntityOfPage => {
2966 if r#main_entity_of_page_property.is_some() {
2967 return Err(<A::Error as de::Error>::duplicate_field(
2968 "mainEntityOfPage",
2969 ));
2970 }
2971 r#main_entity_of_page_property = Some({
2972 struct DeserializeWith(Vec<MainEntityOfPageProperty>);
2973 impl<'de> Deserialize<'de> for DeserializeWith {
2974 fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
2975 where
2976 D: Deserializer<'de>,
2977 {
2978 Ok(DeserializeWith(serde_with::As::<
2979 serde_with::OneOrMany<serde_with::Same>,
2980 >::deserialize(deserializer)?))
2981 }
2982 }
2983 match map.next_value::<DeserializeWith>() {
2984 Ok(deserialize_with) => deserialize_with.0,
2985 Err(err) => {
2986 return Err(err);
2987 }
2988 }
2989 });
2990 }
2991 Field::Name => {
2992 if r#name_property.is_some() {
2993 return Err(<A::Error as de::Error>::duplicate_field("name"));
2994 }
2995 r#name_property = Some({
2996 struct DeserializeWith(Vec<NameProperty>);
2997 impl<'de> Deserialize<'de> for DeserializeWith {
2998 fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
2999 where
3000 D: Deserializer<'de>,
3001 {
3002 Ok(DeserializeWith(serde_with::As::<
3003 serde_with::OneOrMany<serde_with::Same>,
3004 >::deserialize(deserializer)?))
3005 }
3006 }
3007 match map.next_value::<DeserializeWith>() {
3008 Ok(deserialize_with) => deserialize_with.0,
3009 Err(err) => {
3010 return Err(err);
3011 }
3012 }
3013 });
3014 }
3015 Field::PotentialAction => {
3016 if r#potential_action_property.is_some() {
3017 return Err(<A::Error as de::Error>::duplicate_field(
3018 "potentialAction",
3019 ));
3020 }
3021 r#potential_action_property = Some({
3022 struct DeserializeWith(Vec<PotentialActionProperty>);
3023 impl<'de> Deserialize<'de> for DeserializeWith {
3024 fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
3025 where
3026 D: Deserializer<'de>,
3027 {
3028 Ok(DeserializeWith(serde_with::As::<
3029 serde_with::OneOrMany<serde_with::Same>,
3030 >::deserialize(deserializer)?))
3031 }
3032 }
3033 match map.next_value::<DeserializeWith>() {
3034 Ok(deserialize_with) => deserialize_with.0,
3035 Err(err) => {
3036 return Err(err);
3037 }
3038 }
3039 });
3040 }
3041 Field::SameAs => {
3042 if r#same_as_property.is_some() {
3043 return Err(<A::Error as de::Error>::duplicate_field("sameAs"));
3044 }
3045 r#same_as_property = Some({
3046 struct DeserializeWith(Vec<SameAsProperty>);
3047 impl<'de> Deserialize<'de> for DeserializeWith {
3048 fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
3049 where
3050 D: Deserializer<'de>,
3051 {
3052 Ok(DeserializeWith(serde_with::As::<
3053 serde_with::OneOrMany<serde_with::Same>,
3054 >::deserialize(deserializer)?))
3055 }
3056 }
3057 match map.next_value::<DeserializeWith>() {
3058 Ok(deserialize_with) => deserialize_with.0,
3059 Err(err) => {
3060 return Err(err);
3061 }
3062 }
3063 });
3064 }
3065 Field::SubjectOf => {
3066 if r#subject_of_property.is_some() {
3067 return Err(<A::Error as de::Error>::duplicate_field(
3068 "subjectOf",
3069 ));
3070 }
3071 r#subject_of_property = Some({
3072 struct DeserializeWith(Vec<SubjectOfProperty>);
3073 impl<'de> Deserialize<'de> for DeserializeWith {
3074 fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
3075 where
3076 D: Deserializer<'de>,
3077 {
3078 Ok(DeserializeWith(serde_with::As::<
3079 serde_with::OneOrMany<serde_with::Same>,
3080 >::deserialize(deserializer)?))
3081 }
3082 }
3083 match map.next_value::<DeserializeWith>() {
3084 Ok(deserialize_with) => deserialize_with.0,
3085 Err(err) => {
3086 return Err(err);
3087 }
3088 }
3089 });
3090 }
3091 Field::Url => {
3092 if r#url_property.is_some() {
3093 return Err(<A::Error as de::Error>::duplicate_field("url"));
3094 }
3095 r#url_property = Some({
3096 struct DeserializeWith(Vec<UrlProperty>);
3097 impl<'de> Deserialize<'de> for DeserializeWith {
3098 fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
3099 where
3100 D: Deserializer<'de>,
3101 {
3102 Ok(DeserializeWith(serde_with::As::<
3103 serde_with::OneOrMany<serde_with::Same>,
3104 >::deserialize(deserializer)?))
3105 }
3106 }
3107 match map.next_value::<DeserializeWith>() {
3108 Ok(deserialize_with) => deserialize_with.0,
3109 Err(err) => {
3110 return Err(err);
3111 }
3112 }
3113 });
3114 }
3115 Field::Ignore => {
3116 let _ = map.next_value::<de::IgnoredAny>()?;
3117 }
3118 }
3119 }
3120 Ok(SocialEvent {
3121 r#about: r#about_property.unwrap_or_default(),
3122 r#actor: r#actor_property.unwrap_or_default(),
3123 r#aggregate_rating: r#aggregate_rating_property.unwrap_or_default(),
3124 r#attendee: r#attendee_property.unwrap_or_default(),
3125 r#attendees: r#attendees_property.unwrap_or_default(),
3126 r#audience: r#audience_property.unwrap_or_default(),
3127 r#composer: r#composer_property.unwrap_or_default(),
3128 r#contributor: r#contributor_property.unwrap_or_default(),
3129 r#director: r#director_property.unwrap_or_default(),
3130 r#door_time: r#door_time_property.unwrap_or_default(),
3131 r#duration: r#duration_property.unwrap_or_default(),
3132 r#end_date: r#end_date_property.unwrap_or_default(),
3133 r#event_attendance_mode: r#event_attendance_mode_property
3134 .unwrap_or_default(),
3135 r#event_schedule: r#event_schedule_property.unwrap_or_default(),
3136 r#event_status: r#event_status_property.unwrap_or_default(),
3137 r#funder: r#funder_property.unwrap_or_default(),
3138 r#funding: r#funding_property.unwrap_or_default(),
3139 r#in_language: r#in_language_property.unwrap_or_default(),
3140 r#is_accessible_for_free: r#is_accessible_for_free_property
3141 .unwrap_or_default(),
3142 r#keywords: r#keywords_property.unwrap_or_default(),
3143 r#location: r#location_property.unwrap_or_default(),
3144 r#maximum_attendee_capacity: r#maximum_attendee_capacity_property
3145 .unwrap_or_default(),
3146 r#maximum_physical_attendee_capacity:
3147 r#maximum_physical_attendee_capacity_property.unwrap_or_default(),
3148 r#maximum_virtual_attendee_capacity:
3149 r#maximum_virtual_attendee_capacity_property.unwrap_or_default(),
3150 r#offers: r#offers_property.unwrap_or_default(),
3151 r#organizer: r#organizer_property.unwrap_or_default(),
3152 r#performer: r#performer_property.unwrap_or_default(),
3153 r#performers: r#performers_property.unwrap_or_default(),
3154 r#previous_start_date: r#previous_start_date_property.unwrap_or_default(),
3155 r#recorded_in: r#recorded_in_property.unwrap_or_default(),
3156 r#remaining_attendee_capacity: r#remaining_attendee_capacity_property
3157 .unwrap_or_default(),
3158 r#review: r#review_property.unwrap_or_default(),
3159 r#sponsor: r#sponsor_property.unwrap_or_default(),
3160 r#start_date: r#start_date_property.unwrap_or_default(),
3161 r#sub_event: r#sub_event_property.unwrap_or_default(),
3162 r#sub_events: r#sub_events_property.unwrap_or_default(),
3163 r#super_event: r#super_event_property.unwrap_or_default(),
3164 r#translator: r#translator_property.unwrap_or_default(),
3165 r#typical_age_range: r#typical_age_range_property.unwrap_or_default(),
3166 r#work_featured: r#work_featured_property.unwrap_or_default(),
3167 r#work_performed: r#work_performed_property.unwrap_or_default(),
3168 r#additional_type: r#additional_type_property.unwrap_or_default(),
3169 r#alternate_name: r#alternate_name_property.unwrap_or_default(),
3170 r#description: r#description_property.unwrap_or_default(),
3171 r#disambiguating_description: r#disambiguating_description_property
3172 .unwrap_or_default(),
3173 r#identifier: r#identifier_property.unwrap_or_default(),
3174 r#image: r#image_property.unwrap_or_default(),
3175 r#main_entity_of_page: r#main_entity_of_page_property.unwrap_or_default(),
3176 r#name: r#name_property.unwrap_or_default(),
3177 r#potential_action: r#potential_action_property.unwrap_or_default(),
3178 r#same_as: r#same_as_property.unwrap_or_default(),
3179 r#subject_of: r#subject_of_property.unwrap_or_default(),
3180 r#url: r#url_property.unwrap_or_default(),
3181 })
3182 }
3183 }
3184 const FIELDS: &[&str] = &[
3185 "about",
3186 "actor",
3187 "aggregateRating",
3188 "attendee",
3189 "attendees",
3190 "audience",
3191 "composer",
3192 "contributor",
3193 "director",
3194 "doorTime",
3195 "duration",
3196 "endDate",
3197 "eventAttendanceMode",
3198 "eventSchedule",
3199 "eventStatus",
3200 "funder",
3201 "funding",
3202 "inLanguage",
3203 "isAccessibleForFree",
3204 "keywords",
3205 "location",
3206 "maximumAttendeeCapacity",
3207 "maximumPhysicalAttendeeCapacity",
3208 "maximumVirtualAttendeeCapacity",
3209 "offers",
3210 "organizer",
3211 "performer",
3212 "performers",
3213 "previousStartDate",
3214 "recordedIn",
3215 "remainingAttendeeCapacity",
3216 "review",
3217 "sponsor",
3218 "startDate",
3219 "subEvent",
3220 "subEvents",
3221 "superEvent",
3222 "translator",
3223 "typicalAgeRange",
3224 "workFeatured",
3225 "workPerformed",
3226 "additionalType",
3227 "alternateName",
3228 "description",
3229 "disambiguatingDescription",
3230 "identifier",
3231 "image",
3232 "mainEntityOfPage",
3233 "name",
3234 "potentialAction",
3235 "sameAs",
3236 "subjectOf",
3237 "url",
3238 ];
3239 deserializer.deserialize_struct("SocialEvent", FIELDS, ClassVisitor)
3240 }
3241 }
3242}