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