1use super::*;
2#[cfg_attr(feature = "derive-debug", derive(Debug))]
4#[cfg_attr(feature = "derive-clone", derive(Clone))]
5pub struct Motorcycle {
6 pub r#additional_property: Vec<AdditionalPropertyProperty>,
8 pub r#aggregate_rating: Vec<AggregateRatingProperty>,
10 pub r#asin: Vec<AsinProperty>,
12 pub r#audience: Vec<AudienceProperty>,
14 pub r#award: Vec<AwardProperty>,
16 #[deprecated = "This schema is superseded by <https://schema.org/award>."]
18 pub r#awards: Vec<AwardsProperty>,
19 pub r#brand: Vec<BrandProperty>,
21 pub r#category: Vec<CategoryProperty>,
23 pub r#color: Vec<ColorProperty>,
25 pub r#country_of_assembly: Vec<CountryOfAssemblyProperty>,
27 pub r#country_of_last_processing: Vec<CountryOfLastProcessingProperty>,
29 pub r#country_of_origin: Vec<CountryOfOriginProperty>,
31 pub r#depth: Vec<DepthProperty>,
33 pub r#funding: Vec<FundingProperty>,
35 pub r#gtin: Vec<GtinProperty>,
37 pub r#gtin_12: Vec<Gtin12Property>,
39 pub r#gtin_13: Vec<Gtin13Property>,
41 pub r#gtin_14: Vec<Gtin14Property>,
43 pub r#gtin_8: Vec<Gtin8Property>,
45 pub r#has_adult_consideration: Vec<HasAdultConsiderationProperty>,
47 pub r#has_energy_consumption_details: Vec<HasEnergyConsumptionDetailsProperty>,
49 pub r#has_measurement: Vec<HasMeasurementProperty>,
51 pub r#has_merchant_return_policy: Vec<HasMerchantReturnPolicyProperty>,
53 #[deprecated = "This schema is archived, see <https://schema.org/docs/attic.home.html>. This schema is superseded by <https://schema.org/hasMerchantReturnPolicy>."]
55 pub r#has_product_return_policy: Vec<HasProductReturnPolicyProperty>,
56 pub r#height: Vec<HeightProperty>,
58 pub r#in_product_group_with_id: Vec<InProductGroupWithIdProperty>,
60 pub r#is_accessory_or_spare_part_for: Vec<IsAccessoryOrSparePartForProperty>,
62 pub r#is_consumable_for: Vec<IsConsumableForProperty>,
64 pub r#is_family_friendly: Vec<IsFamilyFriendlyProperty>,
66 pub r#is_related_to: Vec<IsRelatedToProperty>,
68 pub r#is_similar_to: Vec<IsSimilarToProperty>,
70 pub r#is_variant_of: Vec<IsVariantOfProperty>,
72 pub r#item_condition: Vec<ItemConditionProperty>,
74 pub r#keywords: Vec<KeywordsProperty>,
76 pub r#logo: Vec<LogoProperty>,
78 pub r#manufacturer: Vec<ManufacturerProperty>,
80 pub r#material: Vec<MaterialProperty>,
82 pub r#mobile_url: Vec<MobileUrlProperty>,
84 pub r#model: Vec<ModelProperty>,
86 pub r#mpn: Vec<MpnProperty>,
88 pub r#negative_notes: Vec<NegativeNotesProperty>,
90 pub r#nsn: Vec<NsnProperty>,
92 pub r#offers: Vec<OffersProperty>,
94 pub r#pattern: Vec<PatternProperty>,
96 pub r#positive_notes: Vec<PositiveNotesProperty>,
98 pub r#product_id: Vec<ProductIdProperty>,
100 pub r#production_date: Vec<ProductionDateProperty>,
102 pub r#purchase_date: Vec<PurchaseDateProperty>,
104 pub r#release_date: Vec<ReleaseDateProperty>,
106 pub r#review: Vec<ReviewProperty>,
108 #[deprecated = "This schema is superseded by <https://schema.org/review>."]
110 pub r#reviews: Vec<ReviewsProperty>,
111 pub r#size: Vec<SizeProperty>,
113 pub r#sku: Vec<SkuProperty>,
115 pub r#slogan: Vec<SloganProperty>,
117 pub r#weight: Vec<WeightProperty>,
119 pub r#width: Vec<WidthProperty>,
121 pub r#additional_type: Vec<AdditionalTypeProperty>,
123 pub r#alternate_name: Vec<AlternateNameProperty>,
125 pub r#description: Vec<DescriptionProperty>,
127 pub r#disambiguating_description: Vec<DisambiguatingDescriptionProperty>,
129 pub r#identifier: Vec<IdentifierProperty>,
131 pub r#image: Vec<ImageProperty>,
133 pub r#main_entity_of_page: Vec<MainEntityOfPageProperty>,
135 pub r#name: Vec<NameProperty>,
137 pub r#potential_action: Vec<PotentialActionProperty>,
139 pub r#same_as: Vec<SameAsProperty>,
141 pub r#subject_of: Vec<SubjectOfProperty>,
143 pub r#url: Vec<UrlProperty>,
145 pub r#acceleration_time: Vec<AccelerationTimeProperty>,
147 pub r#body_type: Vec<BodyTypeProperty>,
149 pub r#call_sign: Vec<CallSignProperty>,
151 pub r#cargo_volume: Vec<CargoVolumeProperty>,
153 pub r#date_vehicle_first_registered: Vec<DateVehicleFirstRegisteredProperty>,
155 pub r#drive_wheel_configuration: Vec<DriveWheelConfigurationProperty>,
157 pub r#emissions_co_2: Vec<EmissionsCo2Property>,
159 pub r#fuel_capacity: Vec<FuelCapacityProperty>,
161 pub r#fuel_consumption: Vec<FuelConsumptionProperty>,
163 pub r#fuel_efficiency: Vec<FuelEfficiencyProperty>,
165 pub r#fuel_type: Vec<FuelTypeProperty>,
167 pub r#known_vehicle_damages: Vec<KnownVehicleDamagesProperty>,
169 pub r#meets_emission_standard: Vec<MeetsEmissionStandardProperty>,
171 pub r#mileage_from_odometer: Vec<MileageFromOdometerProperty>,
173 pub r#model_date: Vec<ModelDateProperty>,
175 pub r#number_of_airbags: Vec<NumberOfAirbagsProperty>,
177 pub r#number_of_axles: Vec<NumberOfAxlesProperty>,
179 pub r#number_of_doors: Vec<NumberOfDoorsProperty>,
181 pub r#number_of_forward_gears: Vec<NumberOfForwardGearsProperty>,
183 pub r#number_of_previous_owners: Vec<NumberOfPreviousOwnersProperty>,
185 pub r#payload: Vec<PayloadProperty>,
187 pub r#seating_capacity: Vec<SeatingCapacityProperty>,
189 pub r#speed: Vec<SpeedProperty>,
191 pub r#steering_position: Vec<SteeringPositionProperty>,
193 #[deprecated = "This schema is archived, see <https://schema.org/docs/attic.home.html>."]
195 pub r#stupid_property: Vec<StupidPropertyProperty>,
196 pub r#tongue_weight: Vec<TongueWeightProperty>,
198 pub r#trailer_weight: Vec<TrailerWeightProperty>,
200 pub r#vehicle_configuration: Vec<VehicleConfigurationProperty>,
202 pub r#vehicle_engine: Vec<VehicleEngineProperty>,
204 pub r#vehicle_identification_number: Vec<VehicleIdentificationNumberProperty>,
206 pub r#vehicle_interior_color: Vec<VehicleInteriorColorProperty>,
208 pub r#vehicle_interior_type: Vec<VehicleInteriorTypeProperty>,
210 pub r#vehicle_model_date: Vec<VehicleModelDateProperty>,
212 pub r#vehicle_seating_capacity: Vec<VehicleSeatingCapacityProperty>,
214 pub r#vehicle_special_usage: Vec<VehicleSpecialUsageProperty>,
216 pub r#vehicle_transmission: Vec<VehicleTransmissionProperty>,
218 pub r#weight_total: Vec<WeightTotalProperty>,
220 pub r#wheelbase: Vec<WheelbaseProperty>,
222}
223pub trait MotorcycleTrait {}
225impl MotorcycleTrait for Motorcycle {}
226impl ProductTrait for Motorcycle {
227 fn get_additional_property(&self) -> &[AdditionalPropertyProperty] {
228 self.r#additional_property.as_slice()
229 }
230 fn take_additional_property(&mut self) -> Vec<AdditionalPropertyProperty> {
231 std::mem::take(&mut self.r#additional_property)
232 }
233 fn get_aggregate_rating(&self) -> &[AggregateRatingProperty] {
234 self.r#aggregate_rating.as_slice()
235 }
236 fn take_aggregate_rating(&mut self) -> Vec<AggregateRatingProperty> {
237 std::mem::take(&mut self.r#aggregate_rating)
238 }
239 fn get_asin(&self) -> &[AsinProperty] {
240 self.r#asin.as_slice()
241 }
242 fn take_asin(&mut self) -> Vec<AsinProperty> {
243 std::mem::take(&mut self.r#asin)
244 }
245 fn get_audience(&self) -> &[AudienceProperty] {
246 self.r#audience.as_slice()
247 }
248 fn take_audience(&mut self) -> Vec<AudienceProperty> {
249 std::mem::take(&mut self.r#audience)
250 }
251 fn get_award(&self) -> &[AwardProperty] {
252 self.r#award.as_slice()
253 }
254 fn take_award(&mut self) -> Vec<AwardProperty> {
255 std::mem::take(&mut self.r#award)
256 }
257 fn get_awards(&self) -> &[AwardsProperty] {
258 self.r#awards.as_slice()
259 }
260 fn take_awards(&mut self) -> Vec<AwardsProperty> {
261 std::mem::take(&mut self.r#awards)
262 }
263 fn get_brand(&self) -> &[BrandProperty] {
264 self.r#brand.as_slice()
265 }
266 fn take_brand(&mut self) -> Vec<BrandProperty> {
267 std::mem::take(&mut self.r#brand)
268 }
269 fn get_category(&self) -> &[CategoryProperty] {
270 self.r#category.as_slice()
271 }
272 fn take_category(&mut self) -> Vec<CategoryProperty> {
273 std::mem::take(&mut self.r#category)
274 }
275 fn get_color(&self) -> &[ColorProperty] {
276 self.r#color.as_slice()
277 }
278 fn take_color(&mut self) -> Vec<ColorProperty> {
279 std::mem::take(&mut self.r#color)
280 }
281 fn get_country_of_assembly(&self) -> &[CountryOfAssemblyProperty] {
282 self.r#country_of_assembly.as_slice()
283 }
284 fn take_country_of_assembly(&mut self) -> Vec<CountryOfAssemblyProperty> {
285 std::mem::take(&mut self.r#country_of_assembly)
286 }
287 fn get_country_of_last_processing(&self) -> &[CountryOfLastProcessingProperty] {
288 self.r#country_of_last_processing.as_slice()
289 }
290 fn take_country_of_last_processing(&mut self) -> Vec<CountryOfLastProcessingProperty> {
291 std::mem::take(&mut self.r#country_of_last_processing)
292 }
293 fn get_country_of_origin(&self) -> &[CountryOfOriginProperty] {
294 self.r#country_of_origin.as_slice()
295 }
296 fn take_country_of_origin(&mut self) -> Vec<CountryOfOriginProperty> {
297 std::mem::take(&mut self.r#country_of_origin)
298 }
299 fn get_depth(&self) -> &[DepthProperty] {
300 self.r#depth.as_slice()
301 }
302 fn take_depth(&mut self) -> Vec<DepthProperty> {
303 std::mem::take(&mut self.r#depth)
304 }
305 fn get_funding(&self) -> &[FundingProperty] {
306 self.r#funding.as_slice()
307 }
308 fn take_funding(&mut self) -> Vec<FundingProperty> {
309 std::mem::take(&mut self.r#funding)
310 }
311 fn get_gtin(&self) -> &[GtinProperty] {
312 self.r#gtin.as_slice()
313 }
314 fn take_gtin(&mut self) -> Vec<GtinProperty> {
315 std::mem::take(&mut self.r#gtin)
316 }
317 fn get_gtin_12(&self) -> &[Gtin12Property] {
318 self.r#gtin_12.as_slice()
319 }
320 fn take_gtin_12(&mut self) -> Vec<Gtin12Property> {
321 std::mem::take(&mut self.r#gtin_12)
322 }
323 fn get_gtin_13(&self) -> &[Gtin13Property] {
324 self.r#gtin_13.as_slice()
325 }
326 fn take_gtin_13(&mut self) -> Vec<Gtin13Property> {
327 std::mem::take(&mut self.r#gtin_13)
328 }
329 fn get_gtin_14(&self) -> &[Gtin14Property] {
330 self.r#gtin_14.as_slice()
331 }
332 fn take_gtin_14(&mut self) -> Vec<Gtin14Property> {
333 std::mem::take(&mut self.r#gtin_14)
334 }
335 fn get_gtin_8(&self) -> &[Gtin8Property] {
336 self.r#gtin_8.as_slice()
337 }
338 fn take_gtin_8(&mut self) -> Vec<Gtin8Property> {
339 std::mem::take(&mut self.r#gtin_8)
340 }
341 fn get_has_adult_consideration(&self) -> &[HasAdultConsiderationProperty] {
342 self.r#has_adult_consideration.as_slice()
343 }
344 fn take_has_adult_consideration(&mut self) -> Vec<HasAdultConsiderationProperty> {
345 std::mem::take(&mut self.r#has_adult_consideration)
346 }
347 fn get_has_energy_consumption_details(&self) -> &[HasEnergyConsumptionDetailsProperty] {
348 self.r#has_energy_consumption_details.as_slice()
349 }
350 fn take_has_energy_consumption_details(&mut self) -> Vec<HasEnergyConsumptionDetailsProperty> {
351 std::mem::take(&mut self.r#has_energy_consumption_details)
352 }
353 fn get_has_measurement(&self) -> &[HasMeasurementProperty] {
354 self.r#has_measurement.as_slice()
355 }
356 fn take_has_measurement(&mut self) -> Vec<HasMeasurementProperty> {
357 std::mem::take(&mut self.r#has_measurement)
358 }
359 fn get_has_merchant_return_policy(&self) -> &[HasMerchantReturnPolicyProperty] {
360 self.r#has_merchant_return_policy.as_slice()
361 }
362 fn take_has_merchant_return_policy(&mut self) -> Vec<HasMerchantReturnPolicyProperty> {
363 std::mem::take(&mut self.r#has_merchant_return_policy)
364 }
365 fn get_has_product_return_policy(&self) -> &[HasProductReturnPolicyProperty] {
366 self.r#has_product_return_policy.as_slice()
367 }
368 fn take_has_product_return_policy(&mut self) -> Vec<HasProductReturnPolicyProperty> {
369 std::mem::take(&mut self.r#has_product_return_policy)
370 }
371 fn get_height(&self) -> &[HeightProperty] {
372 self.r#height.as_slice()
373 }
374 fn take_height(&mut self) -> Vec<HeightProperty> {
375 std::mem::take(&mut self.r#height)
376 }
377 fn get_in_product_group_with_id(&self) -> &[InProductGroupWithIdProperty] {
378 self.r#in_product_group_with_id.as_slice()
379 }
380 fn take_in_product_group_with_id(&mut self) -> Vec<InProductGroupWithIdProperty> {
381 std::mem::take(&mut self.r#in_product_group_with_id)
382 }
383 fn get_is_accessory_or_spare_part_for(&self) -> &[IsAccessoryOrSparePartForProperty] {
384 self.r#is_accessory_or_spare_part_for.as_slice()
385 }
386 fn take_is_accessory_or_spare_part_for(&mut self) -> Vec<IsAccessoryOrSparePartForProperty> {
387 std::mem::take(&mut self.r#is_accessory_or_spare_part_for)
388 }
389 fn get_is_consumable_for(&self) -> &[IsConsumableForProperty] {
390 self.r#is_consumable_for.as_slice()
391 }
392 fn take_is_consumable_for(&mut self) -> Vec<IsConsumableForProperty> {
393 std::mem::take(&mut self.r#is_consumable_for)
394 }
395 fn get_is_family_friendly(&self) -> &[IsFamilyFriendlyProperty] {
396 self.r#is_family_friendly.as_slice()
397 }
398 fn take_is_family_friendly(&mut self) -> Vec<IsFamilyFriendlyProperty> {
399 std::mem::take(&mut self.r#is_family_friendly)
400 }
401 fn get_is_related_to(&self) -> &[IsRelatedToProperty] {
402 self.r#is_related_to.as_slice()
403 }
404 fn take_is_related_to(&mut self) -> Vec<IsRelatedToProperty> {
405 std::mem::take(&mut self.r#is_related_to)
406 }
407 fn get_is_similar_to(&self) -> &[IsSimilarToProperty] {
408 self.r#is_similar_to.as_slice()
409 }
410 fn take_is_similar_to(&mut self) -> Vec<IsSimilarToProperty> {
411 std::mem::take(&mut self.r#is_similar_to)
412 }
413 fn get_is_variant_of(&self) -> &[IsVariantOfProperty] {
414 self.r#is_variant_of.as_slice()
415 }
416 fn take_is_variant_of(&mut self) -> Vec<IsVariantOfProperty> {
417 std::mem::take(&mut self.r#is_variant_of)
418 }
419 fn get_item_condition(&self) -> &[ItemConditionProperty] {
420 self.r#item_condition.as_slice()
421 }
422 fn take_item_condition(&mut self) -> Vec<ItemConditionProperty> {
423 std::mem::take(&mut self.r#item_condition)
424 }
425 fn get_keywords(&self) -> &[KeywordsProperty] {
426 self.r#keywords.as_slice()
427 }
428 fn take_keywords(&mut self) -> Vec<KeywordsProperty> {
429 std::mem::take(&mut self.r#keywords)
430 }
431 fn get_logo(&self) -> &[LogoProperty] {
432 self.r#logo.as_slice()
433 }
434 fn take_logo(&mut self) -> Vec<LogoProperty> {
435 std::mem::take(&mut self.r#logo)
436 }
437 fn get_manufacturer(&self) -> &[ManufacturerProperty] {
438 self.r#manufacturer.as_slice()
439 }
440 fn take_manufacturer(&mut self) -> Vec<ManufacturerProperty> {
441 std::mem::take(&mut self.r#manufacturer)
442 }
443 fn get_material(&self) -> &[MaterialProperty] {
444 self.r#material.as_slice()
445 }
446 fn take_material(&mut self) -> Vec<MaterialProperty> {
447 std::mem::take(&mut self.r#material)
448 }
449 fn get_mobile_url(&self) -> &[MobileUrlProperty] {
450 self.r#mobile_url.as_slice()
451 }
452 fn take_mobile_url(&mut self) -> Vec<MobileUrlProperty> {
453 std::mem::take(&mut self.r#mobile_url)
454 }
455 fn get_model(&self) -> &[ModelProperty] {
456 self.r#model.as_slice()
457 }
458 fn take_model(&mut self) -> Vec<ModelProperty> {
459 std::mem::take(&mut self.r#model)
460 }
461 fn get_mpn(&self) -> &[MpnProperty] {
462 self.r#mpn.as_slice()
463 }
464 fn take_mpn(&mut self) -> Vec<MpnProperty> {
465 std::mem::take(&mut self.r#mpn)
466 }
467 fn get_negative_notes(&self) -> &[NegativeNotesProperty] {
468 self.r#negative_notes.as_slice()
469 }
470 fn take_negative_notes(&mut self) -> Vec<NegativeNotesProperty> {
471 std::mem::take(&mut self.r#negative_notes)
472 }
473 fn get_nsn(&self) -> &[NsnProperty] {
474 self.r#nsn.as_slice()
475 }
476 fn take_nsn(&mut self) -> Vec<NsnProperty> {
477 std::mem::take(&mut self.r#nsn)
478 }
479 fn get_offers(&self) -> &[OffersProperty] {
480 self.r#offers.as_slice()
481 }
482 fn take_offers(&mut self) -> Vec<OffersProperty> {
483 std::mem::take(&mut self.r#offers)
484 }
485 fn get_pattern(&self) -> &[PatternProperty] {
486 self.r#pattern.as_slice()
487 }
488 fn take_pattern(&mut self) -> Vec<PatternProperty> {
489 std::mem::take(&mut self.r#pattern)
490 }
491 fn get_positive_notes(&self) -> &[PositiveNotesProperty] {
492 self.r#positive_notes.as_slice()
493 }
494 fn take_positive_notes(&mut self) -> Vec<PositiveNotesProperty> {
495 std::mem::take(&mut self.r#positive_notes)
496 }
497 fn get_product_id(&self) -> &[ProductIdProperty] {
498 self.r#product_id.as_slice()
499 }
500 fn take_product_id(&mut self) -> Vec<ProductIdProperty> {
501 std::mem::take(&mut self.r#product_id)
502 }
503 fn get_production_date(&self) -> &[ProductionDateProperty] {
504 self.r#production_date.as_slice()
505 }
506 fn take_production_date(&mut self) -> Vec<ProductionDateProperty> {
507 std::mem::take(&mut self.r#production_date)
508 }
509 fn get_purchase_date(&self) -> &[PurchaseDateProperty] {
510 self.r#purchase_date.as_slice()
511 }
512 fn take_purchase_date(&mut self) -> Vec<PurchaseDateProperty> {
513 std::mem::take(&mut self.r#purchase_date)
514 }
515 fn get_release_date(&self) -> &[ReleaseDateProperty] {
516 self.r#release_date.as_slice()
517 }
518 fn take_release_date(&mut self) -> Vec<ReleaseDateProperty> {
519 std::mem::take(&mut self.r#release_date)
520 }
521 fn get_review(&self) -> &[ReviewProperty] {
522 self.r#review.as_slice()
523 }
524 fn take_review(&mut self) -> Vec<ReviewProperty> {
525 std::mem::take(&mut self.r#review)
526 }
527 fn get_reviews(&self) -> &[ReviewsProperty] {
528 self.r#reviews.as_slice()
529 }
530 fn take_reviews(&mut self) -> Vec<ReviewsProperty> {
531 std::mem::take(&mut self.r#reviews)
532 }
533 fn get_size(&self) -> &[SizeProperty] {
534 self.r#size.as_slice()
535 }
536 fn take_size(&mut self) -> Vec<SizeProperty> {
537 std::mem::take(&mut self.r#size)
538 }
539 fn get_sku(&self) -> &[SkuProperty] {
540 self.r#sku.as_slice()
541 }
542 fn take_sku(&mut self) -> Vec<SkuProperty> {
543 std::mem::take(&mut self.r#sku)
544 }
545 fn get_slogan(&self) -> &[SloganProperty] {
546 self.r#slogan.as_slice()
547 }
548 fn take_slogan(&mut self) -> Vec<SloganProperty> {
549 std::mem::take(&mut self.r#slogan)
550 }
551 fn get_weight(&self) -> &[WeightProperty] {
552 self.r#weight.as_slice()
553 }
554 fn take_weight(&mut self) -> Vec<WeightProperty> {
555 std::mem::take(&mut self.r#weight)
556 }
557 fn get_width(&self) -> &[WidthProperty] {
558 self.r#width.as_slice()
559 }
560 fn take_width(&mut self) -> Vec<WidthProperty> {
561 std::mem::take(&mut self.r#width)
562 }
563}
564impl ThingTrait for Motorcycle {
565 fn get_additional_type(&self) -> &[AdditionalTypeProperty] {
566 self.r#additional_type.as_slice()
567 }
568 fn take_additional_type(&mut self) -> Vec<AdditionalTypeProperty> {
569 std::mem::take(&mut self.r#additional_type)
570 }
571 fn get_alternate_name(&self) -> &[AlternateNameProperty] {
572 self.r#alternate_name.as_slice()
573 }
574 fn take_alternate_name(&mut self) -> Vec<AlternateNameProperty> {
575 std::mem::take(&mut self.r#alternate_name)
576 }
577 fn get_description(&self) -> &[DescriptionProperty] {
578 self.r#description.as_slice()
579 }
580 fn take_description(&mut self) -> Vec<DescriptionProperty> {
581 std::mem::take(&mut self.r#description)
582 }
583 fn get_disambiguating_description(&self) -> &[DisambiguatingDescriptionProperty] {
584 self.r#disambiguating_description.as_slice()
585 }
586 fn take_disambiguating_description(&mut self) -> Vec<DisambiguatingDescriptionProperty> {
587 std::mem::take(&mut self.r#disambiguating_description)
588 }
589 fn get_identifier(&self) -> &[IdentifierProperty] {
590 self.r#identifier.as_slice()
591 }
592 fn take_identifier(&mut self) -> Vec<IdentifierProperty> {
593 std::mem::take(&mut self.r#identifier)
594 }
595 fn get_image(&self) -> &[ImageProperty] {
596 self.r#image.as_slice()
597 }
598 fn take_image(&mut self) -> Vec<ImageProperty> {
599 std::mem::take(&mut self.r#image)
600 }
601 fn get_main_entity_of_page(&self) -> &[MainEntityOfPageProperty] {
602 self.r#main_entity_of_page.as_slice()
603 }
604 fn take_main_entity_of_page(&mut self) -> Vec<MainEntityOfPageProperty> {
605 std::mem::take(&mut self.r#main_entity_of_page)
606 }
607 fn get_name(&self) -> &[NameProperty] {
608 self.r#name.as_slice()
609 }
610 fn take_name(&mut self) -> Vec<NameProperty> {
611 std::mem::take(&mut self.r#name)
612 }
613 fn get_potential_action(&self) -> &[PotentialActionProperty] {
614 self.r#potential_action.as_slice()
615 }
616 fn take_potential_action(&mut self) -> Vec<PotentialActionProperty> {
617 std::mem::take(&mut self.r#potential_action)
618 }
619 fn get_same_as(&self) -> &[SameAsProperty] {
620 self.r#same_as.as_slice()
621 }
622 fn take_same_as(&mut self) -> Vec<SameAsProperty> {
623 std::mem::take(&mut self.r#same_as)
624 }
625 fn get_subject_of(&self) -> &[SubjectOfProperty] {
626 self.r#subject_of.as_slice()
627 }
628 fn take_subject_of(&mut self) -> Vec<SubjectOfProperty> {
629 std::mem::take(&mut self.r#subject_of)
630 }
631 fn get_url(&self) -> &[UrlProperty] {
632 self.r#url.as_slice()
633 }
634 fn take_url(&mut self) -> Vec<UrlProperty> {
635 std::mem::take(&mut self.r#url)
636 }
637}
638impl VehicleTrait for Motorcycle {
639 fn get_acceleration_time(&self) -> &[AccelerationTimeProperty] {
640 self.r#acceleration_time.as_slice()
641 }
642 fn take_acceleration_time(&mut self) -> Vec<AccelerationTimeProperty> {
643 std::mem::take(&mut self.r#acceleration_time)
644 }
645 fn get_body_type(&self) -> &[BodyTypeProperty] {
646 self.r#body_type.as_slice()
647 }
648 fn take_body_type(&mut self) -> Vec<BodyTypeProperty> {
649 std::mem::take(&mut self.r#body_type)
650 }
651 fn get_call_sign(&self) -> &[CallSignProperty] {
652 self.r#call_sign.as_slice()
653 }
654 fn take_call_sign(&mut self) -> Vec<CallSignProperty> {
655 std::mem::take(&mut self.r#call_sign)
656 }
657 fn get_cargo_volume(&self) -> &[CargoVolumeProperty] {
658 self.r#cargo_volume.as_slice()
659 }
660 fn take_cargo_volume(&mut self) -> Vec<CargoVolumeProperty> {
661 std::mem::take(&mut self.r#cargo_volume)
662 }
663 fn get_date_vehicle_first_registered(&self) -> &[DateVehicleFirstRegisteredProperty] {
664 self.r#date_vehicle_first_registered.as_slice()
665 }
666 fn take_date_vehicle_first_registered(&mut self) -> Vec<DateVehicleFirstRegisteredProperty> {
667 std::mem::take(&mut self.r#date_vehicle_first_registered)
668 }
669 fn get_drive_wheel_configuration(&self) -> &[DriveWheelConfigurationProperty] {
670 self.r#drive_wheel_configuration.as_slice()
671 }
672 fn take_drive_wheel_configuration(&mut self) -> Vec<DriveWheelConfigurationProperty> {
673 std::mem::take(&mut self.r#drive_wheel_configuration)
674 }
675 fn get_emissions_co_2(&self) -> &[EmissionsCo2Property] {
676 self.r#emissions_co_2.as_slice()
677 }
678 fn take_emissions_co_2(&mut self) -> Vec<EmissionsCo2Property> {
679 std::mem::take(&mut self.r#emissions_co_2)
680 }
681 fn get_fuel_capacity(&self) -> &[FuelCapacityProperty] {
682 self.r#fuel_capacity.as_slice()
683 }
684 fn take_fuel_capacity(&mut self) -> Vec<FuelCapacityProperty> {
685 std::mem::take(&mut self.r#fuel_capacity)
686 }
687 fn get_fuel_consumption(&self) -> &[FuelConsumptionProperty] {
688 self.r#fuel_consumption.as_slice()
689 }
690 fn take_fuel_consumption(&mut self) -> Vec<FuelConsumptionProperty> {
691 std::mem::take(&mut self.r#fuel_consumption)
692 }
693 fn get_fuel_efficiency(&self) -> &[FuelEfficiencyProperty] {
694 self.r#fuel_efficiency.as_slice()
695 }
696 fn take_fuel_efficiency(&mut self) -> Vec<FuelEfficiencyProperty> {
697 std::mem::take(&mut self.r#fuel_efficiency)
698 }
699 fn get_fuel_type(&self) -> &[FuelTypeProperty] {
700 self.r#fuel_type.as_slice()
701 }
702 fn take_fuel_type(&mut self) -> Vec<FuelTypeProperty> {
703 std::mem::take(&mut self.r#fuel_type)
704 }
705 fn get_known_vehicle_damages(&self) -> &[KnownVehicleDamagesProperty] {
706 self.r#known_vehicle_damages.as_slice()
707 }
708 fn take_known_vehicle_damages(&mut self) -> Vec<KnownVehicleDamagesProperty> {
709 std::mem::take(&mut self.r#known_vehicle_damages)
710 }
711 fn get_meets_emission_standard(&self) -> &[MeetsEmissionStandardProperty] {
712 self.r#meets_emission_standard.as_slice()
713 }
714 fn take_meets_emission_standard(&mut self) -> Vec<MeetsEmissionStandardProperty> {
715 std::mem::take(&mut self.r#meets_emission_standard)
716 }
717 fn get_mileage_from_odometer(&self) -> &[MileageFromOdometerProperty] {
718 self.r#mileage_from_odometer.as_slice()
719 }
720 fn take_mileage_from_odometer(&mut self) -> Vec<MileageFromOdometerProperty> {
721 std::mem::take(&mut self.r#mileage_from_odometer)
722 }
723 fn get_model_date(&self) -> &[ModelDateProperty] {
724 self.r#model_date.as_slice()
725 }
726 fn take_model_date(&mut self) -> Vec<ModelDateProperty> {
727 std::mem::take(&mut self.r#model_date)
728 }
729 fn get_number_of_airbags(&self) -> &[NumberOfAirbagsProperty] {
730 self.r#number_of_airbags.as_slice()
731 }
732 fn take_number_of_airbags(&mut self) -> Vec<NumberOfAirbagsProperty> {
733 std::mem::take(&mut self.r#number_of_airbags)
734 }
735 fn get_number_of_axles(&self) -> &[NumberOfAxlesProperty] {
736 self.r#number_of_axles.as_slice()
737 }
738 fn take_number_of_axles(&mut self) -> Vec<NumberOfAxlesProperty> {
739 std::mem::take(&mut self.r#number_of_axles)
740 }
741 fn get_number_of_doors(&self) -> &[NumberOfDoorsProperty] {
742 self.r#number_of_doors.as_slice()
743 }
744 fn take_number_of_doors(&mut self) -> Vec<NumberOfDoorsProperty> {
745 std::mem::take(&mut self.r#number_of_doors)
746 }
747 fn get_number_of_forward_gears(&self) -> &[NumberOfForwardGearsProperty] {
748 self.r#number_of_forward_gears.as_slice()
749 }
750 fn take_number_of_forward_gears(&mut self) -> Vec<NumberOfForwardGearsProperty> {
751 std::mem::take(&mut self.r#number_of_forward_gears)
752 }
753 fn get_number_of_previous_owners(&self) -> &[NumberOfPreviousOwnersProperty] {
754 self.r#number_of_previous_owners.as_slice()
755 }
756 fn take_number_of_previous_owners(&mut self) -> Vec<NumberOfPreviousOwnersProperty> {
757 std::mem::take(&mut self.r#number_of_previous_owners)
758 }
759 fn get_payload(&self) -> &[PayloadProperty] {
760 self.r#payload.as_slice()
761 }
762 fn take_payload(&mut self) -> Vec<PayloadProperty> {
763 std::mem::take(&mut self.r#payload)
764 }
765 fn get_production_date(&self) -> &[ProductionDateProperty] {
766 self.r#production_date.as_slice()
767 }
768 fn take_production_date(&mut self) -> Vec<ProductionDateProperty> {
769 std::mem::take(&mut self.r#production_date)
770 }
771 fn get_purchase_date(&self) -> &[PurchaseDateProperty] {
772 self.r#purchase_date.as_slice()
773 }
774 fn take_purchase_date(&mut self) -> Vec<PurchaseDateProperty> {
775 std::mem::take(&mut self.r#purchase_date)
776 }
777 fn get_seating_capacity(&self) -> &[SeatingCapacityProperty] {
778 self.r#seating_capacity.as_slice()
779 }
780 fn take_seating_capacity(&mut self) -> Vec<SeatingCapacityProperty> {
781 std::mem::take(&mut self.r#seating_capacity)
782 }
783 fn get_speed(&self) -> &[SpeedProperty] {
784 self.r#speed.as_slice()
785 }
786 fn take_speed(&mut self) -> Vec<SpeedProperty> {
787 std::mem::take(&mut self.r#speed)
788 }
789 fn get_steering_position(&self) -> &[SteeringPositionProperty] {
790 self.r#steering_position.as_slice()
791 }
792 fn take_steering_position(&mut self) -> Vec<SteeringPositionProperty> {
793 std::mem::take(&mut self.r#steering_position)
794 }
795 fn get_stupid_property(&self) -> &[StupidPropertyProperty] {
796 self.r#stupid_property.as_slice()
797 }
798 fn take_stupid_property(&mut self) -> Vec<StupidPropertyProperty> {
799 std::mem::take(&mut self.r#stupid_property)
800 }
801 fn get_tongue_weight(&self) -> &[TongueWeightProperty] {
802 self.r#tongue_weight.as_slice()
803 }
804 fn take_tongue_weight(&mut self) -> Vec<TongueWeightProperty> {
805 std::mem::take(&mut self.r#tongue_weight)
806 }
807 fn get_trailer_weight(&self) -> &[TrailerWeightProperty] {
808 self.r#trailer_weight.as_slice()
809 }
810 fn take_trailer_weight(&mut self) -> Vec<TrailerWeightProperty> {
811 std::mem::take(&mut self.r#trailer_weight)
812 }
813 fn get_vehicle_configuration(&self) -> &[VehicleConfigurationProperty] {
814 self.r#vehicle_configuration.as_slice()
815 }
816 fn take_vehicle_configuration(&mut self) -> Vec<VehicleConfigurationProperty> {
817 std::mem::take(&mut self.r#vehicle_configuration)
818 }
819 fn get_vehicle_engine(&self) -> &[VehicleEngineProperty] {
820 self.r#vehicle_engine.as_slice()
821 }
822 fn take_vehicle_engine(&mut self) -> Vec<VehicleEngineProperty> {
823 std::mem::take(&mut self.r#vehicle_engine)
824 }
825 fn get_vehicle_identification_number(&self) -> &[VehicleIdentificationNumberProperty] {
826 self.r#vehicle_identification_number.as_slice()
827 }
828 fn take_vehicle_identification_number(&mut self) -> Vec<VehicleIdentificationNumberProperty> {
829 std::mem::take(&mut self.r#vehicle_identification_number)
830 }
831 fn get_vehicle_interior_color(&self) -> &[VehicleInteriorColorProperty] {
832 self.r#vehicle_interior_color.as_slice()
833 }
834 fn take_vehicle_interior_color(&mut self) -> Vec<VehicleInteriorColorProperty> {
835 std::mem::take(&mut self.r#vehicle_interior_color)
836 }
837 fn get_vehicle_interior_type(&self) -> &[VehicleInteriorTypeProperty] {
838 self.r#vehicle_interior_type.as_slice()
839 }
840 fn take_vehicle_interior_type(&mut self) -> Vec<VehicleInteriorTypeProperty> {
841 std::mem::take(&mut self.r#vehicle_interior_type)
842 }
843 fn get_vehicle_model_date(&self) -> &[VehicleModelDateProperty] {
844 self.r#vehicle_model_date.as_slice()
845 }
846 fn take_vehicle_model_date(&mut self) -> Vec<VehicleModelDateProperty> {
847 std::mem::take(&mut self.r#vehicle_model_date)
848 }
849 fn get_vehicle_seating_capacity(&self) -> &[VehicleSeatingCapacityProperty] {
850 self.r#vehicle_seating_capacity.as_slice()
851 }
852 fn take_vehicle_seating_capacity(&mut self) -> Vec<VehicleSeatingCapacityProperty> {
853 std::mem::take(&mut self.r#vehicle_seating_capacity)
854 }
855 fn get_vehicle_special_usage(&self) -> &[VehicleSpecialUsageProperty] {
856 self.r#vehicle_special_usage.as_slice()
857 }
858 fn take_vehicle_special_usage(&mut self) -> Vec<VehicleSpecialUsageProperty> {
859 std::mem::take(&mut self.r#vehicle_special_usage)
860 }
861 fn get_vehicle_transmission(&self) -> &[VehicleTransmissionProperty] {
862 self.r#vehicle_transmission.as_slice()
863 }
864 fn take_vehicle_transmission(&mut self) -> Vec<VehicleTransmissionProperty> {
865 std::mem::take(&mut self.r#vehicle_transmission)
866 }
867 fn get_weight_total(&self) -> &[WeightTotalProperty] {
868 self.r#weight_total.as_slice()
869 }
870 fn take_weight_total(&mut self) -> Vec<WeightTotalProperty> {
871 std::mem::take(&mut self.r#weight_total)
872 }
873 fn get_wheelbase(&self) -> &[WheelbaseProperty] {
874 self.r#wheelbase.as_slice()
875 }
876 fn take_wheelbase(&mut self) -> Vec<WheelbaseProperty> {
877 std::mem::take(&mut self.r#wheelbase)
878 }
879}
880#[cfg(feature = "serde")]
881mod serde {
882 use std::{fmt, fmt::Formatter};
883
884 use ::serde::{
885 de, de::Visitor, ser::SerializeStruct, Deserialize, Deserializer, Serialize, Serializer,
886 };
887
888 use super::*;
889 impl Serialize for Motorcycle {
890 fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
891 where
892 S: Serializer,
893 {
894 let len: usize = [
895 !Vec::is_empty(&self.r#additional_property) as usize,
896 !Vec::is_empty(&self.r#aggregate_rating) as usize,
897 !Vec::is_empty(&self.r#asin) as usize,
898 !Vec::is_empty(&self.r#audience) as usize,
899 !Vec::is_empty(&self.r#award) as usize,
900 !Vec::is_empty(&self.r#awards) as usize,
901 !Vec::is_empty(&self.r#brand) as usize,
902 !Vec::is_empty(&self.r#category) as usize,
903 !Vec::is_empty(&self.r#color) as usize,
904 !Vec::is_empty(&self.r#country_of_assembly) as usize,
905 !Vec::is_empty(&self.r#country_of_last_processing) as usize,
906 !Vec::is_empty(&self.r#country_of_origin) as usize,
907 !Vec::is_empty(&self.r#depth) as usize,
908 !Vec::is_empty(&self.r#funding) as usize,
909 !Vec::is_empty(&self.r#gtin) as usize,
910 !Vec::is_empty(&self.r#gtin_12) as usize,
911 !Vec::is_empty(&self.r#gtin_13) as usize,
912 !Vec::is_empty(&self.r#gtin_14) as usize,
913 !Vec::is_empty(&self.r#gtin_8) as usize,
914 !Vec::is_empty(&self.r#has_adult_consideration) as usize,
915 !Vec::is_empty(&self.r#has_energy_consumption_details) as usize,
916 !Vec::is_empty(&self.r#has_measurement) as usize,
917 !Vec::is_empty(&self.r#has_merchant_return_policy) as usize,
918 !Vec::is_empty(&self.r#has_product_return_policy) as usize,
919 !Vec::is_empty(&self.r#height) as usize,
920 !Vec::is_empty(&self.r#in_product_group_with_id) as usize,
921 !Vec::is_empty(&self.r#is_accessory_or_spare_part_for) as usize,
922 !Vec::is_empty(&self.r#is_consumable_for) as usize,
923 !Vec::is_empty(&self.r#is_family_friendly) as usize,
924 !Vec::is_empty(&self.r#is_related_to) as usize,
925 !Vec::is_empty(&self.r#is_similar_to) as usize,
926 !Vec::is_empty(&self.r#is_variant_of) as usize,
927 !Vec::is_empty(&self.r#item_condition) as usize,
928 !Vec::is_empty(&self.r#keywords) as usize,
929 !Vec::is_empty(&self.r#logo) as usize,
930 !Vec::is_empty(&self.r#manufacturer) as usize,
931 !Vec::is_empty(&self.r#material) as usize,
932 !Vec::is_empty(&self.r#mobile_url) as usize,
933 !Vec::is_empty(&self.r#model) as usize,
934 !Vec::is_empty(&self.r#mpn) as usize,
935 !Vec::is_empty(&self.r#negative_notes) as usize,
936 !Vec::is_empty(&self.r#nsn) as usize,
937 !Vec::is_empty(&self.r#offers) as usize,
938 !Vec::is_empty(&self.r#pattern) as usize,
939 !Vec::is_empty(&self.r#positive_notes) as usize,
940 !Vec::is_empty(&self.r#product_id) as usize,
941 !Vec::is_empty(&self.r#production_date) as usize,
942 !Vec::is_empty(&self.r#purchase_date) as usize,
943 !Vec::is_empty(&self.r#release_date) as usize,
944 !Vec::is_empty(&self.r#review) as usize,
945 !Vec::is_empty(&self.r#reviews) as usize,
946 !Vec::is_empty(&self.r#size) as usize,
947 !Vec::is_empty(&self.r#sku) as usize,
948 !Vec::is_empty(&self.r#slogan) as usize,
949 !Vec::is_empty(&self.r#weight) as usize,
950 !Vec::is_empty(&self.r#width) as usize,
951 !Vec::is_empty(&self.r#additional_type) as usize,
952 !Vec::is_empty(&self.r#alternate_name) as usize,
953 !Vec::is_empty(&self.r#description) as usize,
954 !Vec::is_empty(&self.r#disambiguating_description) as usize,
955 !Vec::is_empty(&self.r#identifier) as usize,
956 !Vec::is_empty(&self.r#image) as usize,
957 !Vec::is_empty(&self.r#main_entity_of_page) as usize,
958 !Vec::is_empty(&self.r#name) as usize,
959 !Vec::is_empty(&self.r#potential_action) as usize,
960 !Vec::is_empty(&self.r#same_as) as usize,
961 !Vec::is_empty(&self.r#subject_of) as usize,
962 !Vec::is_empty(&self.r#url) as usize,
963 !Vec::is_empty(&self.r#acceleration_time) as usize,
964 !Vec::is_empty(&self.r#body_type) as usize,
965 !Vec::is_empty(&self.r#call_sign) as usize,
966 !Vec::is_empty(&self.r#cargo_volume) as usize,
967 !Vec::is_empty(&self.r#date_vehicle_first_registered) as usize,
968 !Vec::is_empty(&self.r#drive_wheel_configuration) as usize,
969 !Vec::is_empty(&self.r#emissions_co_2) as usize,
970 !Vec::is_empty(&self.r#fuel_capacity) as usize,
971 !Vec::is_empty(&self.r#fuel_consumption) as usize,
972 !Vec::is_empty(&self.r#fuel_efficiency) as usize,
973 !Vec::is_empty(&self.r#fuel_type) as usize,
974 !Vec::is_empty(&self.r#known_vehicle_damages) as usize,
975 !Vec::is_empty(&self.r#meets_emission_standard) as usize,
976 !Vec::is_empty(&self.r#mileage_from_odometer) as usize,
977 !Vec::is_empty(&self.r#model_date) as usize,
978 !Vec::is_empty(&self.r#number_of_airbags) as usize,
979 !Vec::is_empty(&self.r#number_of_axles) as usize,
980 !Vec::is_empty(&self.r#number_of_doors) as usize,
981 !Vec::is_empty(&self.r#number_of_forward_gears) as usize,
982 !Vec::is_empty(&self.r#number_of_previous_owners) as usize,
983 !Vec::is_empty(&self.r#payload) as usize,
984 !Vec::is_empty(&self.r#seating_capacity) as usize,
985 !Vec::is_empty(&self.r#speed) as usize,
986 !Vec::is_empty(&self.r#steering_position) as usize,
987 !Vec::is_empty(&self.r#stupid_property) as usize,
988 !Vec::is_empty(&self.r#tongue_weight) as usize,
989 !Vec::is_empty(&self.r#trailer_weight) as usize,
990 !Vec::is_empty(&self.r#vehicle_configuration) as usize,
991 !Vec::is_empty(&self.r#vehicle_engine) as usize,
992 !Vec::is_empty(&self.r#vehicle_identification_number) as usize,
993 !Vec::is_empty(&self.r#vehicle_interior_color) as usize,
994 !Vec::is_empty(&self.r#vehicle_interior_type) as usize,
995 !Vec::is_empty(&self.r#vehicle_model_date) as usize,
996 !Vec::is_empty(&self.r#vehicle_seating_capacity) as usize,
997 !Vec::is_empty(&self.r#vehicle_special_usage) as usize,
998 !Vec::is_empty(&self.r#vehicle_transmission) as usize,
999 !Vec::is_empty(&self.r#weight_total) as usize,
1000 !Vec::is_empty(&self.r#wheelbase) as usize,
1001 ]
1002 .iter()
1003 .sum();
1004 let mut serialize_struct = Serializer::serialize_struct(serializer, "Motorcycle", len)?;
1005 if !Vec::is_empty(&self.r#additional_property) {
1006 serialize_struct.serialize_field("additionalProperty", {
1007 struct SerializeWith<'a>(&'a Vec<AdditionalPropertyProperty>);
1008 impl<'a> Serialize for SerializeWith<'a> {
1009 fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
1010 where
1011 S: Serializer,
1012 {
1013 serde_with::As::<serde_with::OneOrMany<serde_with::Same>>::serialize(
1014 self.0, serializer,
1015 )
1016 }
1017 }
1018 &SerializeWith(&self.r#additional_property)
1019 })?;
1020 } else {
1021 serialize_struct.skip_field("additionalProperty")?;
1022 }
1023 if !Vec::is_empty(&self.r#aggregate_rating) {
1024 serialize_struct.serialize_field("aggregateRating", {
1025 struct SerializeWith<'a>(&'a Vec<AggregateRatingProperty>);
1026 impl<'a> Serialize for SerializeWith<'a> {
1027 fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
1028 where
1029 S: Serializer,
1030 {
1031 serde_with::As::<serde_with::OneOrMany<serde_with::Same>>::serialize(
1032 self.0, serializer,
1033 )
1034 }
1035 }
1036 &SerializeWith(&self.r#aggregate_rating)
1037 })?;
1038 } else {
1039 serialize_struct.skip_field("aggregateRating")?;
1040 }
1041 if !Vec::is_empty(&self.r#asin) {
1042 serialize_struct.serialize_field("asin", {
1043 struct SerializeWith<'a>(&'a Vec<AsinProperty>);
1044 impl<'a> Serialize for SerializeWith<'a> {
1045 fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
1046 where
1047 S: Serializer,
1048 {
1049 serde_with::As::<serde_with::OneOrMany<serde_with::Same>>::serialize(
1050 self.0, serializer,
1051 )
1052 }
1053 }
1054 &SerializeWith(&self.r#asin)
1055 })?;
1056 } else {
1057 serialize_struct.skip_field("asin")?;
1058 }
1059 if !Vec::is_empty(&self.r#audience) {
1060 serialize_struct.serialize_field("audience", {
1061 struct SerializeWith<'a>(&'a Vec<AudienceProperty>);
1062 impl<'a> Serialize for SerializeWith<'a> {
1063 fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
1064 where
1065 S: Serializer,
1066 {
1067 serde_with::As::<serde_with::OneOrMany<serde_with::Same>>::serialize(
1068 self.0, serializer,
1069 )
1070 }
1071 }
1072 &SerializeWith(&self.r#audience)
1073 })?;
1074 } else {
1075 serialize_struct.skip_field("audience")?;
1076 }
1077 if !Vec::is_empty(&self.r#award) {
1078 serialize_struct.serialize_field("award", {
1079 struct SerializeWith<'a>(&'a Vec<AwardProperty>);
1080 impl<'a> Serialize for SerializeWith<'a> {
1081 fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
1082 where
1083 S: Serializer,
1084 {
1085 serde_with::As::<serde_with::OneOrMany<serde_with::Same>>::serialize(
1086 self.0, serializer,
1087 )
1088 }
1089 }
1090 &SerializeWith(&self.r#award)
1091 })?;
1092 } else {
1093 serialize_struct.skip_field("award")?;
1094 }
1095 if !Vec::is_empty(&self.r#awards) {
1096 serialize_struct.serialize_field("awards", {
1097 struct SerializeWith<'a>(&'a Vec<AwardsProperty>);
1098 impl<'a> Serialize for SerializeWith<'a> {
1099 fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
1100 where
1101 S: Serializer,
1102 {
1103 serde_with::As::<serde_with::OneOrMany<serde_with::Same>>::serialize(
1104 self.0, serializer,
1105 )
1106 }
1107 }
1108 &SerializeWith(&self.r#awards)
1109 })?;
1110 } else {
1111 serialize_struct.skip_field("awards")?;
1112 }
1113 if !Vec::is_empty(&self.r#brand) {
1114 serialize_struct.serialize_field("brand", {
1115 struct SerializeWith<'a>(&'a Vec<BrandProperty>);
1116 impl<'a> Serialize for SerializeWith<'a> {
1117 fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
1118 where
1119 S: Serializer,
1120 {
1121 serde_with::As::<serde_with::OneOrMany<serde_with::Same>>::serialize(
1122 self.0, serializer,
1123 )
1124 }
1125 }
1126 &SerializeWith(&self.r#brand)
1127 })?;
1128 } else {
1129 serialize_struct.skip_field("brand")?;
1130 }
1131 if !Vec::is_empty(&self.r#category) {
1132 serialize_struct.serialize_field("category", {
1133 struct SerializeWith<'a>(&'a Vec<CategoryProperty>);
1134 impl<'a> Serialize for SerializeWith<'a> {
1135 fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
1136 where
1137 S: Serializer,
1138 {
1139 serde_with::As::<serde_with::OneOrMany<serde_with::Same>>::serialize(
1140 self.0, serializer,
1141 )
1142 }
1143 }
1144 &SerializeWith(&self.r#category)
1145 })?;
1146 } else {
1147 serialize_struct.skip_field("category")?;
1148 }
1149 if !Vec::is_empty(&self.r#color) {
1150 serialize_struct.serialize_field("color", {
1151 struct SerializeWith<'a>(&'a Vec<ColorProperty>);
1152 impl<'a> Serialize for SerializeWith<'a> {
1153 fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
1154 where
1155 S: Serializer,
1156 {
1157 serde_with::As::<serde_with::OneOrMany<serde_with::Same>>::serialize(
1158 self.0, serializer,
1159 )
1160 }
1161 }
1162 &SerializeWith(&self.r#color)
1163 })?;
1164 } else {
1165 serialize_struct.skip_field("color")?;
1166 }
1167 if !Vec::is_empty(&self.r#country_of_assembly) {
1168 serialize_struct.serialize_field("countryOfAssembly", {
1169 struct SerializeWith<'a>(&'a Vec<CountryOfAssemblyProperty>);
1170 impl<'a> Serialize for SerializeWith<'a> {
1171 fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
1172 where
1173 S: Serializer,
1174 {
1175 serde_with::As::<serde_with::OneOrMany<serde_with::Same>>::serialize(
1176 self.0, serializer,
1177 )
1178 }
1179 }
1180 &SerializeWith(&self.r#country_of_assembly)
1181 })?;
1182 } else {
1183 serialize_struct.skip_field("countryOfAssembly")?;
1184 }
1185 if !Vec::is_empty(&self.r#country_of_last_processing) {
1186 serialize_struct.serialize_field("countryOfLastProcessing", {
1187 struct SerializeWith<'a>(&'a Vec<CountryOfLastProcessingProperty>);
1188 impl<'a> Serialize for SerializeWith<'a> {
1189 fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
1190 where
1191 S: Serializer,
1192 {
1193 serde_with::As::<serde_with::OneOrMany<serde_with::Same>>::serialize(
1194 self.0, serializer,
1195 )
1196 }
1197 }
1198 &SerializeWith(&self.r#country_of_last_processing)
1199 })?;
1200 } else {
1201 serialize_struct.skip_field("countryOfLastProcessing")?;
1202 }
1203 if !Vec::is_empty(&self.r#country_of_origin) {
1204 serialize_struct.serialize_field("countryOfOrigin", {
1205 struct SerializeWith<'a>(&'a Vec<CountryOfOriginProperty>);
1206 impl<'a> Serialize for SerializeWith<'a> {
1207 fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
1208 where
1209 S: Serializer,
1210 {
1211 serde_with::As::<serde_with::OneOrMany<serde_with::Same>>::serialize(
1212 self.0, serializer,
1213 )
1214 }
1215 }
1216 &SerializeWith(&self.r#country_of_origin)
1217 })?;
1218 } else {
1219 serialize_struct.skip_field("countryOfOrigin")?;
1220 }
1221 if !Vec::is_empty(&self.r#depth) {
1222 serialize_struct.serialize_field("depth", {
1223 struct SerializeWith<'a>(&'a Vec<DepthProperty>);
1224 impl<'a> Serialize for SerializeWith<'a> {
1225 fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
1226 where
1227 S: Serializer,
1228 {
1229 serde_with::As::<serde_with::OneOrMany<serde_with::Same>>::serialize(
1230 self.0, serializer,
1231 )
1232 }
1233 }
1234 &SerializeWith(&self.r#depth)
1235 })?;
1236 } else {
1237 serialize_struct.skip_field("depth")?;
1238 }
1239 if !Vec::is_empty(&self.r#funding) {
1240 serialize_struct.serialize_field("funding", {
1241 struct SerializeWith<'a>(&'a Vec<FundingProperty>);
1242 impl<'a> Serialize for SerializeWith<'a> {
1243 fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
1244 where
1245 S: Serializer,
1246 {
1247 serde_with::As::<serde_with::OneOrMany<serde_with::Same>>::serialize(
1248 self.0, serializer,
1249 )
1250 }
1251 }
1252 &SerializeWith(&self.r#funding)
1253 })?;
1254 } else {
1255 serialize_struct.skip_field("funding")?;
1256 }
1257 if !Vec::is_empty(&self.r#gtin) {
1258 serialize_struct.serialize_field("gtin", {
1259 struct SerializeWith<'a>(&'a Vec<GtinProperty>);
1260 impl<'a> Serialize for SerializeWith<'a> {
1261 fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
1262 where
1263 S: Serializer,
1264 {
1265 serde_with::As::<serde_with::OneOrMany<serde_with::Same>>::serialize(
1266 self.0, serializer,
1267 )
1268 }
1269 }
1270 &SerializeWith(&self.r#gtin)
1271 })?;
1272 } else {
1273 serialize_struct.skip_field("gtin")?;
1274 }
1275 if !Vec::is_empty(&self.r#gtin_12) {
1276 serialize_struct.serialize_field("gtin12", {
1277 struct SerializeWith<'a>(&'a Vec<Gtin12Property>);
1278 impl<'a> Serialize for SerializeWith<'a> {
1279 fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
1280 where
1281 S: Serializer,
1282 {
1283 serde_with::As::<serde_with::OneOrMany<serde_with::Same>>::serialize(
1284 self.0, serializer,
1285 )
1286 }
1287 }
1288 &SerializeWith(&self.r#gtin_12)
1289 })?;
1290 } else {
1291 serialize_struct.skip_field("gtin12")?;
1292 }
1293 if !Vec::is_empty(&self.r#gtin_13) {
1294 serialize_struct.serialize_field("gtin13", {
1295 struct SerializeWith<'a>(&'a Vec<Gtin13Property>);
1296 impl<'a> Serialize for SerializeWith<'a> {
1297 fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
1298 where
1299 S: Serializer,
1300 {
1301 serde_with::As::<serde_with::OneOrMany<serde_with::Same>>::serialize(
1302 self.0, serializer,
1303 )
1304 }
1305 }
1306 &SerializeWith(&self.r#gtin_13)
1307 })?;
1308 } else {
1309 serialize_struct.skip_field("gtin13")?;
1310 }
1311 if !Vec::is_empty(&self.r#gtin_14) {
1312 serialize_struct.serialize_field("gtin14", {
1313 struct SerializeWith<'a>(&'a Vec<Gtin14Property>);
1314 impl<'a> Serialize for SerializeWith<'a> {
1315 fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
1316 where
1317 S: Serializer,
1318 {
1319 serde_with::As::<serde_with::OneOrMany<serde_with::Same>>::serialize(
1320 self.0, serializer,
1321 )
1322 }
1323 }
1324 &SerializeWith(&self.r#gtin_14)
1325 })?;
1326 } else {
1327 serialize_struct.skip_field("gtin14")?;
1328 }
1329 if !Vec::is_empty(&self.r#gtin_8) {
1330 serialize_struct.serialize_field("gtin8", {
1331 struct SerializeWith<'a>(&'a Vec<Gtin8Property>);
1332 impl<'a> Serialize for SerializeWith<'a> {
1333 fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
1334 where
1335 S: Serializer,
1336 {
1337 serde_with::As::<serde_with::OneOrMany<serde_with::Same>>::serialize(
1338 self.0, serializer,
1339 )
1340 }
1341 }
1342 &SerializeWith(&self.r#gtin_8)
1343 })?;
1344 } else {
1345 serialize_struct.skip_field("gtin8")?;
1346 }
1347 if !Vec::is_empty(&self.r#has_adult_consideration) {
1348 serialize_struct.serialize_field("hasAdultConsideration", {
1349 struct SerializeWith<'a>(&'a Vec<HasAdultConsiderationProperty>);
1350 impl<'a> Serialize for SerializeWith<'a> {
1351 fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
1352 where
1353 S: Serializer,
1354 {
1355 serde_with::As::<serde_with::OneOrMany<serde_with::Same>>::serialize(
1356 self.0, serializer,
1357 )
1358 }
1359 }
1360 &SerializeWith(&self.r#has_adult_consideration)
1361 })?;
1362 } else {
1363 serialize_struct.skip_field("hasAdultConsideration")?;
1364 }
1365 if !Vec::is_empty(&self.r#has_energy_consumption_details) {
1366 serialize_struct.serialize_field("hasEnergyConsumptionDetails", {
1367 struct SerializeWith<'a>(&'a Vec<HasEnergyConsumptionDetailsProperty>);
1368 impl<'a> Serialize for SerializeWith<'a> {
1369 fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
1370 where
1371 S: Serializer,
1372 {
1373 serde_with::As::<serde_with::OneOrMany<serde_with::Same>>::serialize(
1374 self.0, serializer,
1375 )
1376 }
1377 }
1378 &SerializeWith(&self.r#has_energy_consumption_details)
1379 })?;
1380 } else {
1381 serialize_struct.skip_field("hasEnergyConsumptionDetails")?;
1382 }
1383 if !Vec::is_empty(&self.r#has_measurement) {
1384 serialize_struct.serialize_field("hasMeasurement", {
1385 struct SerializeWith<'a>(&'a Vec<HasMeasurementProperty>);
1386 impl<'a> Serialize for SerializeWith<'a> {
1387 fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
1388 where
1389 S: Serializer,
1390 {
1391 serde_with::As::<serde_with::OneOrMany<serde_with::Same>>::serialize(
1392 self.0, serializer,
1393 )
1394 }
1395 }
1396 &SerializeWith(&self.r#has_measurement)
1397 })?;
1398 } else {
1399 serialize_struct.skip_field("hasMeasurement")?;
1400 }
1401 if !Vec::is_empty(&self.r#has_merchant_return_policy) {
1402 serialize_struct.serialize_field("hasMerchantReturnPolicy", {
1403 struct SerializeWith<'a>(&'a Vec<HasMerchantReturnPolicyProperty>);
1404 impl<'a> Serialize for SerializeWith<'a> {
1405 fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
1406 where
1407 S: Serializer,
1408 {
1409 serde_with::As::<serde_with::OneOrMany<serde_with::Same>>::serialize(
1410 self.0, serializer,
1411 )
1412 }
1413 }
1414 &SerializeWith(&self.r#has_merchant_return_policy)
1415 })?;
1416 } else {
1417 serialize_struct.skip_field("hasMerchantReturnPolicy")?;
1418 }
1419 if !Vec::is_empty(&self.r#has_product_return_policy) {
1420 serialize_struct.serialize_field("hasProductReturnPolicy", {
1421 struct SerializeWith<'a>(&'a Vec<HasProductReturnPolicyProperty>);
1422 impl<'a> Serialize for SerializeWith<'a> {
1423 fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
1424 where
1425 S: Serializer,
1426 {
1427 serde_with::As::<serde_with::OneOrMany<serde_with::Same>>::serialize(
1428 self.0, serializer,
1429 )
1430 }
1431 }
1432 &SerializeWith(&self.r#has_product_return_policy)
1433 })?;
1434 } else {
1435 serialize_struct.skip_field("hasProductReturnPolicy")?;
1436 }
1437 if !Vec::is_empty(&self.r#height) {
1438 serialize_struct.serialize_field("height", {
1439 struct SerializeWith<'a>(&'a Vec<HeightProperty>);
1440 impl<'a> Serialize for SerializeWith<'a> {
1441 fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
1442 where
1443 S: Serializer,
1444 {
1445 serde_with::As::<serde_with::OneOrMany<serde_with::Same>>::serialize(
1446 self.0, serializer,
1447 )
1448 }
1449 }
1450 &SerializeWith(&self.r#height)
1451 })?;
1452 } else {
1453 serialize_struct.skip_field("height")?;
1454 }
1455 if !Vec::is_empty(&self.r#in_product_group_with_id) {
1456 serialize_struct.serialize_field("inProductGroupWithID", {
1457 struct SerializeWith<'a>(&'a Vec<InProductGroupWithIdProperty>);
1458 impl<'a> Serialize for SerializeWith<'a> {
1459 fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
1460 where
1461 S: Serializer,
1462 {
1463 serde_with::As::<serde_with::OneOrMany<serde_with::Same>>::serialize(
1464 self.0, serializer,
1465 )
1466 }
1467 }
1468 &SerializeWith(&self.r#in_product_group_with_id)
1469 })?;
1470 } else {
1471 serialize_struct.skip_field("inProductGroupWithID")?;
1472 }
1473 if !Vec::is_empty(&self.r#is_accessory_or_spare_part_for) {
1474 serialize_struct.serialize_field("isAccessoryOrSparePartFor", {
1475 struct SerializeWith<'a>(&'a Vec<IsAccessoryOrSparePartForProperty>);
1476 impl<'a> Serialize for SerializeWith<'a> {
1477 fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
1478 where
1479 S: Serializer,
1480 {
1481 serde_with::As::<serde_with::OneOrMany<serde_with::Same>>::serialize(
1482 self.0, serializer,
1483 )
1484 }
1485 }
1486 &SerializeWith(&self.r#is_accessory_or_spare_part_for)
1487 })?;
1488 } else {
1489 serialize_struct.skip_field("isAccessoryOrSparePartFor")?;
1490 }
1491 if !Vec::is_empty(&self.r#is_consumable_for) {
1492 serialize_struct.serialize_field("isConsumableFor", {
1493 struct SerializeWith<'a>(&'a Vec<IsConsumableForProperty>);
1494 impl<'a> Serialize for SerializeWith<'a> {
1495 fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
1496 where
1497 S: Serializer,
1498 {
1499 serde_with::As::<serde_with::OneOrMany<serde_with::Same>>::serialize(
1500 self.0, serializer,
1501 )
1502 }
1503 }
1504 &SerializeWith(&self.r#is_consumable_for)
1505 })?;
1506 } else {
1507 serialize_struct.skip_field("isConsumableFor")?;
1508 }
1509 if !Vec::is_empty(&self.r#is_family_friendly) {
1510 serialize_struct.serialize_field("isFamilyFriendly", {
1511 struct SerializeWith<'a>(&'a Vec<IsFamilyFriendlyProperty>);
1512 impl<'a> Serialize for SerializeWith<'a> {
1513 fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
1514 where
1515 S: Serializer,
1516 {
1517 serde_with::As::<serde_with::OneOrMany<serde_with::Same>>::serialize(
1518 self.0, serializer,
1519 )
1520 }
1521 }
1522 &SerializeWith(&self.r#is_family_friendly)
1523 })?;
1524 } else {
1525 serialize_struct.skip_field("isFamilyFriendly")?;
1526 }
1527 if !Vec::is_empty(&self.r#is_related_to) {
1528 serialize_struct.serialize_field("isRelatedTo", {
1529 struct SerializeWith<'a>(&'a Vec<IsRelatedToProperty>);
1530 impl<'a> Serialize for SerializeWith<'a> {
1531 fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
1532 where
1533 S: Serializer,
1534 {
1535 serde_with::As::<serde_with::OneOrMany<serde_with::Same>>::serialize(
1536 self.0, serializer,
1537 )
1538 }
1539 }
1540 &SerializeWith(&self.r#is_related_to)
1541 })?;
1542 } else {
1543 serialize_struct.skip_field("isRelatedTo")?;
1544 }
1545 if !Vec::is_empty(&self.r#is_similar_to) {
1546 serialize_struct.serialize_field("isSimilarTo", {
1547 struct SerializeWith<'a>(&'a Vec<IsSimilarToProperty>);
1548 impl<'a> Serialize for SerializeWith<'a> {
1549 fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
1550 where
1551 S: Serializer,
1552 {
1553 serde_with::As::<serde_with::OneOrMany<serde_with::Same>>::serialize(
1554 self.0, serializer,
1555 )
1556 }
1557 }
1558 &SerializeWith(&self.r#is_similar_to)
1559 })?;
1560 } else {
1561 serialize_struct.skip_field("isSimilarTo")?;
1562 }
1563 if !Vec::is_empty(&self.r#is_variant_of) {
1564 serialize_struct.serialize_field("isVariantOf", {
1565 struct SerializeWith<'a>(&'a Vec<IsVariantOfProperty>);
1566 impl<'a> Serialize for SerializeWith<'a> {
1567 fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
1568 where
1569 S: Serializer,
1570 {
1571 serde_with::As::<serde_with::OneOrMany<serde_with::Same>>::serialize(
1572 self.0, serializer,
1573 )
1574 }
1575 }
1576 &SerializeWith(&self.r#is_variant_of)
1577 })?;
1578 } else {
1579 serialize_struct.skip_field("isVariantOf")?;
1580 }
1581 if !Vec::is_empty(&self.r#item_condition) {
1582 serialize_struct.serialize_field("itemCondition", {
1583 struct SerializeWith<'a>(&'a Vec<ItemConditionProperty>);
1584 impl<'a> Serialize for SerializeWith<'a> {
1585 fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
1586 where
1587 S: Serializer,
1588 {
1589 serde_with::As::<serde_with::OneOrMany<serde_with::Same>>::serialize(
1590 self.0, serializer,
1591 )
1592 }
1593 }
1594 &SerializeWith(&self.r#item_condition)
1595 })?;
1596 } else {
1597 serialize_struct.skip_field("itemCondition")?;
1598 }
1599 if !Vec::is_empty(&self.r#keywords) {
1600 serialize_struct.serialize_field("keywords", {
1601 struct SerializeWith<'a>(&'a Vec<KeywordsProperty>);
1602 impl<'a> Serialize for SerializeWith<'a> {
1603 fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
1604 where
1605 S: Serializer,
1606 {
1607 serde_with::As::<serde_with::OneOrMany<serde_with::Same>>::serialize(
1608 self.0, serializer,
1609 )
1610 }
1611 }
1612 &SerializeWith(&self.r#keywords)
1613 })?;
1614 } else {
1615 serialize_struct.skip_field("keywords")?;
1616 }
1617 if !Vec::is_empty(&self.r#logo) {
1618 serialize_struct.serialize_field("logo", {
1619 struct SerializeWith<'a>(&'a Vec<LogoProperty>);
1620 impl<'a> Serialize for SerializeWith<'a> {
1621 fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
1622 where
1623 S: Serializer,
1624 {
1625 serde_with::As::<serde_with::OneOrMany<serde_with::Same>>::serialize(
1626 self.0, serializer,
1627 )
1628 }
1629 }
1630 &SerializeWith(&self.r#logo)
1631 })?;
1632 } else {
1633 serialize_struct.skip_field("logo")?;
1634 }
1635 if !Vec::is_empty(&self.r#manufacturer) {
1636 serialize_struct.serialize_field("manufacturer", {
1637 struct SerializeWith<'a>(&'a Vec<ManufacturerProperty>);
1638 impl<'a> Serialize for SerializeWith<'a> {
1639 fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
1640 where
1641 S: Serializer,
1642 {
1643 serde_with::As::<serde_with::OneOrMany<serde_with::Same>>::serialize(
1644 self.0, serializer,
1645 )
1646 }
1647 }
1648 &SerializeWith(&self.r#manufacturer)
1649 })?;
1650 } else {
1651 serialize_struct.skip_field("manufacturer")?;
1652 }
1653 if !Vec::is_empty(&self.r#material) {
1654 serialize_struct.serialize_field("material", {
1655 struct SerializeWith<'a>(&'a Vec<MaterialProperty>);
1656 impl<'a> Serialize for SerializeWith<'a> {
1657 fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
1658 where
1659 S: Serializer,
1660 {
1661 serde_with::As::<serde_with::OneOrMany<serde_with::Same>>::serialize(
1662 self.0, serializer,
1663 )
1664 }
1665 }
1666 &SerializeWith(&self.r#material)
1667 })?;
1668 } else {
1669 serialize_struct.skip_field("material")?;
1670 }
1671 if !Vec::is_empty(&self.r#mobile_url) {
1672 serialize_struct.serialize_field("mobileUrl", {
1673 struct SerializeWith<'a>(&'a Vec<MobileUrlProperty>);
1674 impl<'a> Serialize for SerializeWith<'a> {
1675 fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
1676 where
1677 S: Serializer,
1678 {
1679 serde_with::As::<serde_with::OneOrMany<serde_with::Same>>::serialize(
1680 self.0, serializer,
1681 )
1682 }
1683 }
1684 &SerializeWith(&self.r#mobile_url)
1685 })?;
1686 } else {
1687 serialize_struct.skip_field("mobileUrl")?;
1688 }
1689 if !Vec::is_empty(&self.r#model) {
1690 serialize_struct.serialize_field("model", {
1691 struct SerializeWith<'a>(&'a Vec<ModelProperty>);
1692 impl<'a> Serialize for SerializeWith<'a> {
1693 fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
1694 where
1695 S: Serializer,
1696 {
1697 serde_with::As::<serde_with::OneOrMany<serde_with::Same>>::serialize(
1698 self.0, serializer,
1699 )
1700 }
1701 }
1702 &SerializeWith(&self.r#model)
1703 })?;
1704 } else {
1705 serialize_struct.skip_field("model")?;
1706 }
1707 if !Vec::is_empty(&self.r#mpn) {
1708 serialize_struct.serialize_field("mpn", {
1709 struct SerializeWith<'a>(&'a Vec<MpnProperty>);
1710 impl<'a> Serialize for SerializeWith<'a> {
1711 fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
1712 where
1713 S: Serializer,
1714 {
1715 serde_with::As::<serde_with::OneOrMany<serde_with::Same>>::serialize(
1716 self.0, serializer,
1717 )
1718 }
1719 }
1720 &SerializeWith(&self.r#mpn)
1721 })?;
1722 } else {
1723 serialize_struct.skip_field("mpn")?;
1724 }
1725 if !Vec::is_empty(&self.r#negative_notes) {
1726 serialize_struct.serialize_field("negativeNotes", {
1727 struct SerializeWith<'a>(&'a Vec<NegativeNotesProperty>);
1728 impl<'a> Serialize for SerializeWith<'a> {
1729 fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
1730 where
1731 S: Serializer,
1732 {
1733 serde_with::As::<serde_with::OneOrMany<serde_with::Same>>::serialize(
1734 self.0, serializer,
1735 )
1736 }
1737 }
1738 &SerializeWith(&self.r#negative_notes)
1739 })?;
1740 } else {
1741 serialize_struct.skip_field("negativeNotes")?;
1742 }
1743 if !Vec::is_empty(&self.r#nsn) {
1744 serialize_struct.serialize_field("nsn", {
1745 struct SerializeWith<'a>(&'a Vec<NsnProperty>);
1746 impl<'a> Serialize for SerializeWith<'a> {
1747 fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
1748 where
1749 S: Serializer,
1750 {
1751 serde_with::As::<serde_with::OneOrMany<serde_with::Same>>::serialize(
1752 self.0, serializer,
1753 )
1754 }
1755 }
1756 &SerializeWith(&self.r#nsn)
1757 })?;
1758 } else {
1759 serialize_struct.skip_field("nsn")?;
1760 }
1761 if !Vec::is_empty(&self.r#offers) {
1762 serialize_struct.serialize_field("offers", {
1763 struct SerializeWith<'a>(&'a Vec<OffersProperty>);
1764 impl<'a> Serialize for SerializeWith<'a> {
1765 fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
1766 where
1767 S: Serializer,
1768 {
1769 serde_with::As::<serde_with::OneOrMany<serde_with::Same>>::serialize(
1770 self.0, serializer,
1771 )
1772 }
1773 }
1774 &SerializeWith(&self.r#offers)
1775 })?;
1776 } else {
1777 serialize_struct.skip_field("offers")?;
1778 }
1779 if !Vec::is_empty(&self.r#pattern) {
1780 serialize_struct.serialize_field("pattern", {
1781 struct SerializeWith<'a>(&'a Vec<PatternProperty>);
1782 impl<'a> Serialize for SerializeWith<'a> {
1783 fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
1784 where
1785 S: Serializer,
1786 {
1787 serde_with::As::<serde_with::OneOrMany<serde_with::Same>>::serialize(
1788 self.0, serializer,
1789 )
1790 }
1791 }
1792 &SerializeWith(&self.r#pattern)
1793 })?;
1794 } else {
1795 serialize_struct.skip_field("pattern")?;
1796 }
1797 if !Vec::is_empty(&self.r#positive_notes) {
1798 serialize_struct.serialize_field("positiveNotes", {
1799 struct SerializeWith<'a>(&'a Vec<PositiveNotesProperty>);
1800 impl<'a> Serialize for SerializeWith<'a> {
1801 fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
1802 where
1803 S: Serializer,
1804 {
1805 serde_with::As::<serde_with::OneOrMany<serde_with::Same>>::serialize(
1806 self.0, serializer,
1807 )
1808 }
1809 }
1810 &SerializeWith(&self.r#positive_notes)
1811 })?;
1812 } else {
1813 serialize_struct.skip_field("positiveNotes")?;
1814 }
1815 if !Vec::is_empty(&self.r#product_id) {
1816 serialize_struct.serialize_field("productID", {
1817 struct SerializeWith<'a>(&'a Vec<ProductIdProperty>);
1818 impl<'a> Serialize for SerializeWith<'a> {
1819 fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
1820 where
1821 S: Serializer,
1822 {
1823 serde_with::As::<serde_with::OneOrMany<serde_with::Same>>::serialize(
1824 self.0, serializer,
1825 )
1826 }
1827 }
1828 &SerializeWith(&self.r#product_id)
1829 })?;
1830 } else {
1831 serialize_struct.skip_field("productID")?;
1832 }
1833 if !Vec::is_empty(&self.r#production_date) {
1834 serialize_struct.serialize_field("productionDate", {
1835 struct SerializeWith<'a>(&'a Vec<ProductionDateProperty>);
1836 impl<'a> Serialize for SerializeWith<'a> {
1837 fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
1838 where
1839 S: Serializer,
1840 {
1841 serde_with::As::<serde_with::OneOrMany<serde_with::Same>>::serialize(
1842 self.0, serializer,
1843 )
1844 }
1845 }
1846 &SerializeWith(&self.r#production_date)
1847 })?;
1848 } else {
1849 serialize_struct.skip_field("productionDate")?;
1850 }
1851 if !Vec::is_empty(&self.r#purchase_date) {
1852 serialize_struct.serialize_field("purchaseDate", {
1853 struct SerializeWith<'a>(&'a Vec<PurchaseDateProperty>);
1854 impl<'a> Serialize for SerializeWith<'a> {
1855 fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
1856 where
1857 S: Serializer,
1858 {
1859 serde_with::As::<serde_with::OneOrMany<serde_with::Same>>::serialize(
1860 self.0, serializer,
1861 )
1862 }
1863 }
1864 &SerializeWith(&self.r#purchase_date)
1865 })?;
1866 } else {
1867 serialize_struct.skip_field("purchaseDate")?;
1868 }
1869 if !Vec::is_empty(&self.r#release_date) {
1870 serialize_struct.serialize_field("releaseDate", {
1871 struct SerializeWith<'a>(&'a Vec<ReleaseDateProperty>);
1872 impl<'a> Serialize for SerializeWith<'a> {
1873 fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
1874 where
1875 S: Serializer,
1876 {
1877 serde_with::As::<serde_with::OneOrMany<serde_with::Same>>::serialize(
1878 self.0, serializer,
1879 )
1880 }
1881 }
1882 &SerializeWith(&self.r#release_date)
1883 })?;
1884 } else {
1885 serialize_struct.skip_field("releaseDate")?;
1886 }
1887 if !Vec::is_empty(&self.r#review) {
1888 serialize_struct.serialize_field("review", {
1889 struct SerializeWith<'a>(&'a Vec<ReviewProperty>);
1890 impl<'a> Serialize for SerializeWith<'a> {
1891 fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
1892 where
1893 S: Serializer,
1894 {
1895 serde_with::As::<serde_with::OneOrMany<serde_with::Same>>::serialize(
1896 self.0, serializer,
1897 )
1898 }
1899 }
1900 &SerializeWith(&self.r#review)
1901 })?;
1902 } else {
1903 serialize_struct.skip_field("review")?;
1904 }
1905 if !Vec::is_empty(&self.r#reviews) {
1906 serialize_struct.serialize_field("reviews", {
1907 struct SerializeWith<'a>(&'a Vec<ReviewsProperty>);
1908 impl<'a> Serialize for SerializeWith<'a> {
1909 fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
1910 where
1911 S: Serializer,
1912 {
1913 serde_with::As::<serde_with::OneOrMany<serde_with::Same>>::serialize(
1914 self.0, serializer,
1915 )
1916 }
1917 }
1918 &SerializeWith(&self.r#reviews)
1919 })?;
1920 } else {
1921 serialize_struct.skip_field("reviews")?;
1922 }
1923 if !Vec::is_empty(&self.r#size) {
1924 serialize_struct.serialize_field("size", {
1925 struct SerializeWith<'a>(&'a Vec<SizeProperty>);
1926 impl<'a> Serialize for SerializeWith<'a> {
1927 fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
1928 where
1929 S: Serializer,
1930 {
1931 serde_with::As::<serde_with::OneOrMany<serde_with::Same>>::serialize(
1932 self.0, serializer,
1933 )
1934 }
1935 }
1936 &SerializeWith(&self.r#size)
1937 })?;
1938 } else {
1939 serialize_struct.skip_field("size")?;
1940 }
1941 if !Vec::is_empty(&self.r#sku) {
1942 serialize_struct.serialize_field("sku", {
1943 struct SerializeWith<'a>(&'a Vec<SkuProperty>);
1944 impl<'a> Serialize for SerializeWith<'a> {
1945 fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
1946 where
1947 S: Serializer,
1948 {
1949 serde_with::As::<serde_with::OneOrMany<serde_with::Same>>::serialize(
1950 self.0, serializer,
1951 )
1952 }
1953 }
1954 &SerializeWith(&self.r#sku)
1955 })?;
1956 } else {
1957 serialize_struct.skip_field("sku")?;
1958 }
1959 if !Vec::is_empty(&self.r#slogan) {
1960 serialize_struct.serialize_field("slogan", {
1961 struct SerializeWith<'a>(&'a Vec<SloganProperty>);
1962 impl<'a> Serialize for SerializeWith<'a> {
1963 fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
1964 where
1965 S: Serializer,
1966 {
1967 serde_with::As::<serde_with::OneOrMany<serde_with::Same>>::serialize(
1968 self.0, serializer,
1969 )
1970 }
1971 }
1972 &SerializeWith(&self.r#slogan)
1973 })?;
1974 } else {
1975 serialize_struct.skip_field("slogan")?;
1976 }
1977 if !Vec::is_empty(&self.r#weight) {
1978 serialize_struct.serialize_field("weight", {
1979 struct SerializeWith<'a>(&'a Vec<WeightProperty>);
1980 impl<'a> Serialize for SerializeWith<'a> {
1981 fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
1982 where
1983 S: Serializer,
1984 {
1985 serde_with::As::<serde_with::OneOrMany<serde_with::Same>>::serialize(
1986 self.0, serializer,
1987 )
1988 }
1989 }
1990 &SerializeWith(&self.r#weight)
1991 })?;
1992 } else {
1993 serialize_struct.skip_field("weight")?;
1994 }
1995 if !Vec::is_empty(&self.r#width) {
1996 serialize_struct.serialize_field("width", {
1997 struct SerializeWith<'a>(&'a Vec<WidthProperty>);
1998 impl<'a> Serialize for SerializeWith<'a> {
1999 fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
2000 where
2001 S: Serializer,
2002 {
2003 serde_with::As::<serde_with::OneOrMany<serde_with::Same>>::serialize(
2004 self.0, serializer,
2005 )
2006 }
2007 }
2008 &SerializeWith(&self.r#width)
2009 })?;
2010 } else {
2011 serialize_struct.skip_field("width")?;
2012 }
2013 if !Vec::is_empty(&self.r#additional_type) {
2014 serialize_struct.serialize_field("additionalType", {
2015 struct SerializeWith<'a>(&'a Vec<AdditionalTypeProperty>);
2016 impl<'a> Serialize for SerializeWith<'a> {
2017 fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
2018 where
2019 S: Serializer,
2020 {
2021 serde_with::As::<serde_with::OneOrMany<serde_with::Same>>::serialize(
2022 self.0, serializer,
2023 )
2024 }
2025 }
2026 &SerializeWith(&self.r#additional_type)
2027 })?;
2028 } else {
2029 serialize_struct.skip_field("additionalType")?;
2030 }
2031 if !Vec::is_empty(&self.r#alternate_name) {
2032 serialize_struct.serialize_field("alternateName", {
2033 struct SerializeWith<'a>(&'a Vec<AlternateNameProperty>);
2034 impl<'a> Serialize for SerializeWith<'a> {
2035 fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
2036 where
2037 S: Serializer,
2038 {
2039 serde_with::As::<serde_with::OneOrMany<serde_with::Same>>::serialize(
2040 self.0, serializer,
2041 )
2042 }
2043 }
2044 &SerializeWith(&self.r#alternate_name)
2045 })?;
2046 } else {
2047 serialize_struct.skip_field("alternateName")?;
2048 }
2049 if !Vec::is_empty(&self.r#description) {
2050 serialize_struct.serialize_field("description", {
2051 struct SerializeWith<'a>(&'a Vec<DescriptionProperty>);
2052 impl<'a> Serialize for SerializeWith<'a> {
2053 fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
2054 where
2055 S: Serializer,
2056 {
2057 serde_with::As::<serde_with::OneOrMany<serde_with::Same>>::serialize(
2058 self.0, serializer,
2059 )
2060 }
2061 }
2062 &SerializeWith(&self.r#description)
2063 })?;
2064 } else {
2065 serialize_struct.skip_field("description")?;
2066 }
2067 if !Vec::is_empty(&self.r#disambiguating_description) {
2068 serialize_struct.serialize_field("disambiguatingDescription", {
2069 struct SerializeWith<'a>(&'a Vec<DisambiguatingDescriptionProperty>);
2070 impl<'a> Serialize for SerializeWith<'a> {
2071 fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
2072 where
2073 S: Serializer,
2074 {
2075 serde_with::As::<serde_with::OneOrMany<serde_with::Same>>::serialize(
2076 self.0, serializer,
2077 )
2078 }
2079 }
2080 &SerializeWith(&self.r#disambiguating_description)
2081 })?;
2082 } else {
2083 serialize_struct.skip_field("disambiguatingDescription")?;
2084 }
2085 if !Vec::is_empty(&self.r#identifier) {
2086 serialize_struct.serialize_field("identifier", {
2087 struct SerializeWith<'a>(&'a Vec<IdentifierProperty>);
2088 impl<'a> Serialize for SerializeWith<'a> {
2089 fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
2090 where
2091 S: Serializer,
2092 {
2093 serde_with::As::<serde_with::OneOrMany<serde_with::Same>>::serialize(
2094 self.0, serializer,
2095 )
2096 }
2097 }
2098 &SerializeWith(&self.r#identifier)
2099 })?;
2100 } else {
2101 serialize_struct.skip_field("identifier")?;
2102 }
2103 if !Vec::is_empty(&self.r#image) {
2104 serialize_struct.serialize_field("image", {
2105 struct SerializeWith<'a>(&'a Vec<ImageProperty>);
2106 impl<'a> Serialize for SerializeWith<'a> {
2107 fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
2108 where
2109 S: Serializer,
2110 {
2111 serde_with::As::<serde_with::OneOrMany<serde_with::Same>>::serialize(
2112 self.0, serializer,
2113 )
2114 }
2115 }
2116 &SerializeWith(&self.r#image)
2117 })?;
2118 } else {
2119 serialize_struct.skip_field("image")?;
2120 }
2121 if !Vec::is_empty(&self.r#main_entity_of_page) {
2122 serialize_struct.serialize_field("mainEntityOfPage", {
2123 struct SerializeWith<'a>(&'a Vec<MainEntityOfPageProperty>);
2124 impl<'a> Serialize for SerializeWith<'a> {
2125 fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
2126 where
2127 S: Serializer,
2128 {
2129 serde_with::As::<serde_with::OneOrMany<serde_with::Same>>::serialize(
2130 self.0, serializer,
2131 )
2132 }
2133 }
2134 &SerializeWith(&self.r#main_entity_of_page)
2135 })?;
2136 } else {
2137 serialize_struct.skip_field("mainEntityOfPage")?;
2138 }
2139 if !Vec::is_empty(&self.r#name) {
2140 serialize_struct.serialize_field("name", {
2141 struct SerializeWith<'a>(&'a Vec<NameProperty>);
2142 impl<'a> Serialize for SerializeWith<'a> {
2143 fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
2144 where
2145 S: Serializer,
2146 {
2147 serde_with::As::<serde_with::OneOrMany<serde_with::Same>>::serialize(
2148 self.0, serializer,
2149 )
2150 }
2151 }
2152 &SerializeWith(&self.r#name)
2153 })?;
2154 } else {
2155 serialize_struct.skip_field("name")?;
2156 }
2157 if !Vec::is_empty(&self.r#potential_action) {
2158 serialize_struct.serialize_field("potentialAction", {
2159 struct SerializeWith<'a>(&'a Vec<PotentialActionProperty>);
2160 impl<'a> Serialize for SerializeWith<'a> {
2161 fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
2162 where
2163 S: Serializer,
2164 {
2165 serde_with::As::<serde_with::OneOrMany<serde_with::Same>>::serialize(
2166 self.0, serializer,
2167 )
2168 }
2169 }
2170 &SerializeWith(&self.r#potential_action)
2171 })?;
2172 } else {
2173 serialize_struct.skip_field("potentialAction")?;
2174 }
2175 if !Vec::is_empty(&self.r#same_as) {
2176 serialize_struct.serialize_field("sameAs", {
2177 struct SerializeWith<'a>(&'a Vec<SameAsProperty>);
2178 impl<'a> Serialize for SerializeWith<'a> {
2179 fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
2180 where
2181 S: Serializer,
2182 {
2183 serde_with::As::<serde_with::OneOrMany<serde_with::Same>>::serialize(
2184 self.0, serializer,
2185 )
2186 }
2187 }
2188 &SerializeWith(&self.r#same_as)
2189 })?;
2190 } else {
2191 serialize_struct.skip_field("sameAs")?;
2192 }
2193 if !Vec::is_empty(&self.r#subject_of) {
2194 serialize_struct.serialize_field("subjectOf", {
2195 struct SerializeWith<'a>(&'a Vec<SubjectOfProperty>);
2196 impl<'a> Serialize for SerializeWith<'a> {
2197 fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
2198 where
2199 S: Serializer,
2200 {
2201 serde_with::As::<serde_with::OneOrMany<serde_with::Same>>::serialize(
2202 self.0, serializer,
2203 )
2204 }
2205 }
2206 &SerializeWith(&self.r#subject_of)
2207 })?;
2208 } else {
2209 serialize_struct.skip_field("subjectOf")?;
2210 }
2211 if !Vec::is_empty(&self.r#url) {
2212 serialize_struct.serialize_field("url", {
2213 struct SerializeWith<'a>(&'a Vec<UrlProperty>);
2214 impl<'a> Serialize for SerializeWith<'a> {
2215 fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
2216 where
2217 S: Serializer,
2218 {
2219 serde_with::As::<serde_with::OneOrMany<serde_with::Same>>::serialize(
2220 self.0, serializer,
2221 )
2222 }
2223 }
2224 &SerializeWith(&self.r#url)
2225 })?;
2226 } else {
2227 serialize_struct.skip_field("url")?;
2228 }
2229 if !Vec::is_empty(&self.r#acceleration_time) {
2230 serialize_struct.serialize_field("accelerationTime", {
2231 struct SerializeWith<'a>(&'a Vec<AccelerationTimeProperty>);
2232 impl<'a> Serialize for SerializeWith<'a> {
2233 fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
2234 where
2235 S: Serializer,
2236 {
2237 serde_with::As::<serde_with::OneOrMany<serde_with::Same>>::serialize(
2238 self.0, serializer,
2239 )
2240 }
2241 }
2242 &SerializeWith(&self.r#acceleration_time)
2243 })?;
2244 } else {
2245 serialize_struct.skip_field("accelerationTime")?;
2246 }
2247 if !Vec::is_empty(&self.r#body_type) {
2248 serialize_struct.serialize_field("bodyType", {
2249 struct SerializeWith<'a>(&'a Vec<BodyTypeProperty>);
2250 impl<'a> Serialize for SerializeWith<'a> {
2251 fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
2252 where
2253 S: Serializer,
2254 {
2255 serde_with::As::<serde_with::OneOrMany<serde_with::Same>>::serialize(
2256 self.0, serializer,
2257 )
2258 }
2259 }
2260 &SerializeWith(&self.r#body_type)
2261 })?;
2262 } else {
2263 serialize_struct.skip_field("bodyType")?;
2264 }
2265 if !Vec::is_empty(&self.r#call_sign) {
2266 serialize_struct.serialize_field("callSign", {
2267 struct SerializeWith<'a>(&'a Vec<CallSignProperty>);
2268 impl<'a> Serialize for SerializeWith<'a> {
2269 fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
2270 where
2271 S: Serializer,
2272 {
2273 serde_with::As::<serde_with::OneOrMany<serde_with::Same>>::serialize(
2274 self.0, serializer,
2275 )
2276 }
2277 }
2278 &SerializeWith(&self.r#call_sign)
2279 })?;
2280 } else {
2281 serialize_struct.skip_field("callSign")?;
2282 }
2283 if !Vec::is_empty(&self.r#cargo_volume) {
2284 serialize_struct.serialize_field("cargoVolume", {
2285 struct SerializeWith<'a>(&'a Vec<CargoVolumeProperty>);
2286 impl<'a> Serialize for SerializeWith<'a> {
2287 fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
2288 where
2289 S: Serializer,
2290 {
2291 serde_with::As::<serde_with::OneOrMany<serde_with::Same>>::serialize(
2292 self.0, serializer,
2293 )
2294 }
2295 }
2296 &SerializeWith(&self.r#cargo_volume)
2297 })?;
2298 } else {
2299 serialize_struct.skip_field("cargoVolume")?;
2300 }
2301 if !Vec::is_empty(&self.r#date_vehicle_first_registered) {
2302 serialize_struct.serialize_field("dateVehicleFirstRegistered", {
2303 struct SerializeWith<'a>(&'a Vec<DateVehicleFirstRegisteredProperty>);
2304 impl<'a> Serialize for SerializeWith<'a> {
2305 fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
2306 where
2307 S: Serializer,
2308 {
2309 serde_with::As::<serde_with::OneOrMany<serde_with::Same>>::serialize(
2310 self.0, serializer,
2311 )
2312 }
2313 }
2314 &SerializeWith(&self.r#date_vehicle_first_registered)
2315 })?;
2316 } else {
2317 serialize_struct.skip_field("dateVehicleFirstRegistered")?;
2318 }
2319 if !Vec::is_empty(&self.r#drive_wheel_configuration) {
2320 serialize_struct.serialize_field("driveWheelConfiguration", {
2321 struct SerializeWith<'a>(&'a Vec<DriveWheelConfigurationProperty>);
2322 impl<'a> Serialize for SerializeWith<'a> {
2323 fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
2324 where
2325 S: Serializer,
2326 {
2327 serde_with::As::<serde_with::OneOrMany<serde_with::Same>>::serialize(
2328 self.0, serializer,
2329 )
2330 }
2331 }
2332 &SerializeWith(&self.r#drive_wheel_configuration)
2333 })?;
2334 } else {
2335 serialize_struct.skip_field("driveWheelConfiguration")?;
2336 }
2337 if !Vec::is_empty(&self.r#emissions_co_2) {
2338 serialize_struct.serialize_field("emissionsCO2", {
2339 struct SerializeWith<'a>(&'a Vec<EmissionsCo2Property>);
2340 impl<'a> Serialize for SerializeWith<'a> {
2341 fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
2342 where
2343 S: Serializer,
2344 {
2345 serde_with::As::<serde_with::OneOrMany<serde_with::Same>>::serialize(
2346 self.0, serializer,
2347 )
2348 }
2349 }
2350 &SerializeWith(&self.r#emissions_co_2)
2351 })?;
2352 } else {
2353 serialize_struct.skip_field("emissionsCO2")?;
2354 }
2355 if !Vec::is_empty(&self.r#fuel_capacity) {
2356 serialize_struct.serialize_field("fuelCapacity", {
2357 struct SerializeWith<'a>(&'a Vec<FuelCapacityProperty>);
2358 impl<'a> Serialize for SerializeWith<'a> {
2359 fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
2360 where
2361 S: Serializer,
2362 {
2363 serde_with::As::<serde_with::OneOrMany<serde_with::Same>>::serialize(
2364 self.0, serializer,
2365 )
2366 }
2367 }
2368 &SerializeWith(&self.r#fuel_capacity)
2369 })?;
2370 } else {
2371 serialize_struct.skip_field("fuelCapacity")?;
2372 }
2373 if !Vec::is_empty(&self.r#fuel_consumption) {
2374 serialize_struct.serialize_field("fuelConsumption", {
2375 struct SerializeWith<'a>(&'a Vec<FuelConsumptionProperty>);
2376 impl<'a> Serialize for SerializeWith<'a> {
2377 fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
2378 where
2379 S: Serializer,
2380 {
2381 serde_with::As::<serde_with::OneOrMany<serde_with::Same>>::serialize(
2382 self.0, serializer,
2383 )
2384 }
2385 }
2386 &SerializeWith(&self.r#fuel_consumption)
2387 })?;
2388 } else {
2389 serialize_struct.skip_field("fuelConsumption")?;
2390 }
2391 if !Vec::is_empty(&self.r#fuel_efficiency) {
2392 serialize_struct.serialize_field("fuelEfficiency", {
2393 struct SerializeWith<'a>(&'a Vec<FuelEfficiencyProperty>);
2394 impl<'a> Serialize for SerializeWith<'a> {
2395 fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
2396 where
2397 S: Serializer,
2398 {
2399 serde_with::As::<serde_with::OneOrMany<serde_with::Same>>::serialize(
2400 self.0, serializer,
2401 )
2402 }
2403 }
2404 &SerializeWith(&self.r#fuel_efficiency)
2405 })?;
2406 } else {
2407 serialize_struct.skip_field("fuelEfficiency")?;
2408 }
2409 if !Vec::is_empty(&self.r#fuel_type) {
2410 serialize_struct.serialize_field("fuelType", {
2411 struct SerializeWith<'a>(&'a Vec<FuelTypeProperty>);
2412 impl<'a> Serialize for SerializeWith<'a> {
2413 fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
2414 where
2415 S: Serializer,
2416 {
2417 serde_with::As::<serde_with::OneOrMany<serde_with::Same>>::serialize(
2418 self.0, serializer,
2419 )
2420 }
2421 }
2422 &SerializeWith(&self.r#fuel_type)
2423 })?;
2424 } else {
2425 serialize_struct.skip_field("fuelType")?;
2426 }
2427 if !Vec::is_empty(&self.r#known_vehicle_damages) {
2428 serialize_struct.serialize_field("knownVehicleDamages", {
2429 struct SerializeWith<'a>(&'a Vec<KnownVehicleDamagesProperty>);
2430 impl<'a> Serialize for SerializeWith<'a> {
2431 fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
2432 where
2433 S: Serializer,
2434 {
2435 serde_with::As::<serde_with::OneOrMany<serde_with::Same>>::serialize(
2436 self.0, serializer,
2437 )
2438 }
2439 }
2440 &SerializeWith(&self.r#known_vehicle_damages)
2441 })?;
2442 } else {
2443 serialize_struct.skip_field("knownVehicleDamages")?;
2444 }
2445 if !Vec::is_empty(&self.r#meets_emission_standard) {
2446 serialize_struct.serialize_field("meetsEmissionStandard", {
2447 struct SerializeWith<'a>(&'a Vec<MeetsEmissionStandardProperty>);
2448 impl<'a> Serialize for SerializeWith<'a> {
2449 fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
2450 where
2451 S: Serializer,
2452 {
2453 serde_with::As::<serde_with::OneOrMany<serde_with::Same>>::serialize(
2454 self.0, serializer,
2455 )
2456 }
2457 }
2458 &SerializeWith(&self.r#meets_emission_standard)
2459 })?;
2460 } else {
2461 serialize_struct.skip_field("meetsEmissionStandard")?;
2462 }
2463 if !Vec::is_empty(&self.r#mileage_from_odometer) {
2464 serialize_struct.serialize_field("mileageFromOdometer", {
2465 struct SerializeWith<'a>(&'a Vec<MileageFromOdometerProperty>);
2466 impl<'a> Serialize for SerializeWith<'a> {
2467 fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
2468 where
2469 S: Serializer,
2470 {
2471 serde_with::As::<serde_with::OneOrMany<serde_with::Same>>::serialize(
2472 self.0, serializer,
2473 )
2474 }
2475 }
2476 &SerializeWith(&self.r#mileage_from_odometer)
2477 })?;
2478 } else {
2479 serialize_struct.skip_field("mileageFromOdometer")?;
2480 }
2481 if !Vec::is_empty(&self.r#model_date) {
2482 serialize_struct.serialize_field("modelDate", {
2483 struct SerializeWith<'a>(&'a Vec<ModelDateProperty>);
2484 impl<'a> Serialize for SerializeWith<'a> {
2485 fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
2486 where
2487 S: Serializer,
2488 {
2489 serde_with::As::<serde_with::OneOrMany<serde_with::Same>>::serialize(
2490 self.0, serializer,
2491 )
2492 }
2493 }
2494 &SerializeWith(&self.r#model_date)
2495 })?;
2496 } else {
2497 serialize_struct.skip_field("modelDate")?;
2498 }
2499 if !Vec::is_empty(&self.r#number_of_airbags) {
2500 serialize_struct.serialize_field("numberOfAirbags", {
2501 struct SerializeWith<'a>(&'a Vec<NumberOfAirbagsProperty>);
2502 impl<'a> Serialize for SerializeWith<'a> {
2503 fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
2504 where
2505 S: Serializer,
2506 {
2507 serde_with::As::<serde_with::OneOrMany<serde_with::Same>>::serialize(
2508 self.0, serializer,
2509 )
2510 }
2511 }
2512 &SerializeWith(&self.r#number_of_airbags)
2513 })?;
2514 } else {
2515 serialize_struct.skip_field("numberOfAirbags")?;
2516 }
2517 if !Vec::is_empty(&self.r#number_of_axles) {
2518 serialize_struct.serialize_field("numberOfAxles", {
2519 struct SerializeWith<'a>(&'a Vec<NumberOfAxlesProperty>);
2520 impl<'a> Serialize for SerializeWith<'a> {
2521 fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
2522 where
2523 S: Serializer,
2524 {
2525 serde_with::As::<serde_with::OneOrMany<serde_with::Same>>::serialize(
2526 self.0, serializer,
2527 )
2528 }
2529 }
2530 &SerializeWith(&self.r#number_of_axles)
2531 })?;
2532 } else {
2533 serialize_struct.skip_field("numberOfAxles")?;
2534 }
2535 if !Vec::is_empty(&self.r#number_of_doors) {
2536 serialize_struct.serialize_field("numberOfDoors", {
2537 struct SerializeWith<'a>(&'a Vec<NumberOfDoorsProperty>);
2538 impl<'a> Serialize for SerializeWith<'a> {
2539 fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
2540 where
2541 S: Serializer,
2542 {
2543 serde_with::As::<serde_with::OneOrMany<serde_with::Same>>::serialize(
2544 self.0, serializer,
2545 )
2546 }
2547 }
2548 &SerializeWith(&self.r#number_of_doors)
2549 })?;
2550 } else {
2551 serialize_struct.skip_field("numberOfDoors")?;
2552 }
2553 if !Vec::is_empty(&self.r#number_of_forward_gears) {
2554 serialize_struct.serialize_field("numberOfForwardGears", {
2555 struct SerializeWith<'a>(&'a Vec<NumberOfForwardGearsProperty>);
2556 impl<'a> Serialize for SerializeWith<'a> {
2557 fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
2558 where
2559 S: Serializer,
2560 {
2561 serde_with::As::<serde_with::OneOrMany<serde_with::Same>>::serialize(
2562 self.0, serializer,
2563 )
2564 }
2565 }
2566 &SerializeWith(&self.r#number_of_forward_gears)
2567 })?;
2568 } else {
2569 serialize_struct.skip_field("numberOfForwardGears")?;
2570 }
2571 if !Vec::is_empty(&self.r#number_of_previous_owners) {
2572 serialize_struct.serialize_field("numberOfPreviousOwners", {
2573 struct SerializeWith<'a>(&'a Vec<NumberOfPreviousOwnersProperty>);
2574 impl<'a> Serialize for SerializeWith<'a> {
2575 fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
2576 where
2577 S: Serializer,
2578 {
2579 serde_with::As::<serde_with::OneOrMany<serde_with::Same>>::serialize(
2580 self.0, serializer,
2581 )
2582 }
2583 }
2584 &SerializeWith(&self.r#number_of_previous_owners)
2585 })?;
2586 } else {
2587 serialize_struct.skip_field("numberOfPreviousOwners")?;
2588 }
2589 if !Vec::is_empty(&self.r#payload) {
2590 serialize_struct.serialize_field("payload", {
2591 struct SerializeWith<'a>(&'a Vec<PayloadProperty>);
2592 impl<'a> Serialize for SerializeWith<'a> {
2593 fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
2594 where
2595 S: Serializer,
2596 {
2597 serde_with::As::<serde_with::OneOrMany<serde_with::Same>>::serialize(
2598 self.0, serializer,
2599 )
2600 }
2601 }
2602 &SerializeWith(&self.r#payload)
2603 })?;
2604 } else {
2605 serialize_struct.skip_field("payload")?;
2606 }
2607 if !Vec::is_empty(&self.r#seating_capacity) {
2608 serialize_struct.serialize_field("seatingCapacity", {
2609 struct SerializeWith<'a>(&'a Vec<SeatingCapacityProperty>);
2610 impl<'a> Serialize for SerializeWith<'a> {
2611 fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
2612 where
2613 S: Serializer,
2614 {
2615 serde_with::As::<serde_with::OneOrMany<serde_with::Same>>::serialize(
2616 self.0, serializer,
2617 )
2618 }
2619 }
2620 &SerializeWith(&self.r#seating_capacity)
2621 })?;
2622 } else {
2623 serialize_struct.skip_field("seatingCapacity")?;
2624 }
2625 if !Vec::is_empty(&self.r#speed) {
2626 serialize_struct.serialize_field("speed", {
2627 struct SerializeWith<'a>(&'a Vec<SpeedProperty>);
2628 impl<'a> Serialize for SerializeWith<'a> {
2629 fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
2630 where
2631 S: Serializer,
2632 {
2633 serde_with::As::<serde_with::OneOrMany<serde_with::Same>>::serialize(
2634 self.0, serializer,
2635 )
2636 }
2637 }
2638 &SerializeWith(&self.r#speed)
2639 })?;
2640 } else {
2641 serialize_struct.skip_field("speed")?;
2642 }
2643 if !Vec::is_empty(&self.r#steering_position) {
2644 serialize_struct.serialize_field("steeringPosition", {
2645 struct SerializeWith<'a>(&'a Vec<SteeringPositionProperty>);
2646 impl<'a> Serialize for SerializeWith<'a> {
2647 fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
2648 where
2649 S: Serializer,
2650 {
2651 serde_with::As::<serde_with::OneOrMany<serde_with::Same>>::serialize(
2652 self.0, serializer,
2653 )
2654 }
2655 }
2656 &SerializeWith(&self.r#steering_position)
2657 })?;
2658 } else {
2659 serialize_struct.skip_field("steeringPosition")?;
2660 }
2661 if !Vec::is_empty(&self.r#stupid_property) {
2662 serialize_struct.serialize_field("stupidProperty", {
2663 struct SerializeWith<'a>(&'a Vec<StupidPropertyProperty>);
2664 impl<'a> Serialize for SerializeWith<'a> {
2665 fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
2666 where
2667 S: Serializer,
2668 {
2669 serde_with::As::<serde_with::OneOrMany<serde_with::Same>>::serialize(
2670 self.0, serializer,
2671 )
2672 }
2673 }
2674 &SerializeWith(&self.r#stupid_property)
2675 })?;
2676 } else {
2677 serialize_struct.skip_field("stupidProperty")?;
2678 }
2679 if !Vec::is_empty(&self.r#tongue_weight) {
2680 serialize_struct.serialize_field("tongueWeight", {
2681 struct SerializeWith<'a>(&'a Vec<TongueWeightProperty>);
2682 impl<'a> Serialize for SerializeWith<'a> {
2683 fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
2684 where
2685 S: Serializer,
2686 {
2687 serde_with::As::<serde_with::OneOrMany<serde_with::Same>>::serialize(
2688 self.0, serializer,
2689 )
2690 }
2691 }
2692 &SerializeWith(&self.r#tongue_weight)
2693 })?;
2694 } else {
2695 serialize_struct.skip_field("tongueWeight")?;
2696 }
2697 if !Vec::is_empty(&self.r#trailer_weight) {
2698 serialize_struct.serialize_field("trailerWeight", {
2699 struct SerializeWith<'a>(&'a Vec<TrailerWeightProperty>);
2700 impl<'a> Serialize for SerializeWith<'a> {
2701 fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
2702 where
2703 S: Serializer,
2704 {
2705 serde_with::As::<serde_with::OneOrMany<serde_with::Same>>::serialize(
2706 self.0, serializer,
2707 )
2708 }
2709 }
2710 &SerializeWith(&self.r#trailer_weight)
2711 })?;
2712 } else {
2713 serialize_struct.skip_field("trailerWeight")?;
2714 }
2715 if !Vec::is_empty(&self.r#vehicle_configuration) {
2716 serialize_struct.serialize_field("vehicleConfiguration", {
2717 struct SerializeWith<'a>(&'a Vec<VehicleConfigurationProperty>);
2718 impl<'a> Serialize for SerializeWith<'a> {
2719 fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
2720 where
2721 S: Serializer,
2722 {
2723 serde_with::As::<serde_with::OneOrMany<serde_with::Same>>::serialize(
2724 self.0, serializer,
2725 )
2726 }
2727 }
2728 &SerializeWith(&self.r#vehicle_configuration)
2729 })?;
2730 } else {
2731 serialize_struct.skip_field("vehicleConfiguration")?;
2732 }
2733 if !Vec::is_empty(&self.r#vehicle_engine) {
2734 serialize_struct.serialize_field("vehicleEngine", {
2735 struct SerializeWith<'a>(&'a Vec<VehicleEngineProperty>);
2736 impl<'a> Serialize for SerializeWith<'a> {
2737 fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
2738 where
2739 S: Serializer,
2740 {
2741 serde_with::As::<serde_with::OneOrMany<serde_with::Same>>::serialize(
2742 self.0, serializer,
2743 )
2744 }
2745 }
2746 &SerializeWith(&self.r#vehicle_engine)
2747 })?;
2748 } else {
2749 serialize_struct.skip_field("vehicleEngine")?;
2750 }
2751 if !Vec::is_empty(&self.r#vehicle_identification_number) {
2752 serialize_struct.serialize_field("vehicleIdentificationNumber", {
2753 struct SerializeWith<'a>(&'a Vec<VehicleIdentificationNumberProperty>);
2754 impl<'a> Serialize for SerializeWith<'a> {
2755 fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
2756 where
2757 S: Serializer,
2758 {
2759 serde_with::As::<serde_with::OneOrMany<serde_with::Same>>::serialize(
2760 self.0, serializer,
2761 )
2762 }
2763 }
2764 &SerializeWith(&self.r#vehicle_identification_number)
2765 })?;
2766 } else {
2767 serialize_struct.skip_field("vehicleIdentificationNumber")?;
2768 }
2769 if !Vec::is_empty(&self.r#vehicle_interior_color) {
2770 serialize_struct.serialize_field("vehicleInteriorColor", {
2771 struct SerializeWith<'a>(&'a Vec<VehicleInteriorColorProperty>);
2772 impl<'a> Serialize for SerializeWith<'a> {
2773 fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
2774 where
2775 S: Serializer,
2776 {
2777 serde_with::As::<serde_with::OneOrMany<serde_with::Same>>::serialize(
2778 self.0, serializer,
2779 )
2780 }
2781 }
2782 &SerializeWith(&self.r#vehicle_interior_color)
2783 })?;
2784 } else {
2785 serialize_struct.skip_field("vehicleInteriorColor")?;
2786 }
2787 if !Vec::is_empty(&self.r#vehicle_interior_type) {
2788 serialize_struct.serialize_field("vehicleInteriorType", {
2789 struct SerializeWith<'a>(&'a Vec<VehicleInteriorTypeProperty>);
2790 impl<'a> Serialize for SerializeWith<'a> {
2791 fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
2792 where
2793 S: Serializer,
2794 {
2795 serde_with::As::<serde_with::OneOrMany<serde_with::Same>>::serialize(
2796 self.0, serializer,
2797 )
2798 }
2799 }
2800 &SerializeWith(&self.r#vehicle_interior_type)
2801 })?;
2802 } else {
2803 serialize_struct.skip_field("vehicleInteriorType")?;
2804 }
2805 if !Vec::is_empty(&self.r#vehicle_model_date) {
2806 serialize_struct.serialize_field("vehicleModelDate", {
2807 struct SerializeWith<'a>(&'a Vec<VehicleModelDateProperty>);
2808 impl<'a> Serialize for SerializeWith<'a> {
2809 fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
2810 where
2811 S: Serializer,
2812 {
2813 serde_with::As::<serde_with::OneOrMany<serde_with::Same>>::serialize(
2814 self.0, serializer,
2815 )
2816 }
2817 }
2818 &SerializeWith(&self.r#vehicle_model_date)
2819 })?;
2820 } else {
2821 serialize_struct.skip_field("vehicleModelDate")?;
2822 }
2823 if !Vec::is_empty(&self.r#vehicle_seating_capacity) {
2824 serialize_struct.serialize_field("vehicleSeatingCapacity", {
2825 struct SerializeWith<'a>(&'a Vec<VehicleSeatingCapacityProperty>);
2826 impl<'a> Serialize for SerializeWith<'a> {
2827 fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
2828 where
2829 S: Serializer,
2830 {
2831 serde_with::As::<serde_with::OneOrMany<serde_with::Same>>::serialize(
2832 self.0, serializer,
2833 )
2834 }
2835 }
2836 &SerializeWith(&self.r#vehicle_seating_capacity)
2837 })?;
2838 } else {
2839 serialize_struct.skip_field("vehicleSeatingCapacity")?;
2840 }
2841 if !Vec::is_empty(&self.r#vehicle_special_usage) {
2842 serialize_struct.serialize_field("vehicleSpecialUsage", {
2843 struct SerializeWith<'a>(&'a Vec<VehicleSpecialUsageProperty>);
2844 impl<'a> Serialize for SerializeWith<'a> {
2845 fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
2846 where
2847 S: Serializer,
2848 {
2849 serde_with::As::<serde_with::OneOrMany<serde_with::Same>>::serialize(
2850 self.0, serializer,
2851 )
2852 }
2853 }
2854 &SerializeWith(&self.r#vehicle_special_usage)
2855 })?;
2856 } else {
2857 serialize_struct.skip_field("vehicleSpecialUsage")?;
2858 }
2859 if !Vec::is_empty(&self.r#vehicle_transmission) {
2860 serialize_struct.serialize_field("vehicleTransmission", {
2861 struct SerializeWith<'a>(&'a Vec<VehicleTransmissionProperty>);
2862 impl<'a> Serialize for SerializeWith<'a> {
2863 fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
2864 where
2865 S: Serializer,
2866 {
2867 serde_with::As::<serde_with::OneOrMany<serde_with::Same>>::serialize(
2868 self.0, serializer,
2869 )
2870 }
2871 }
2872 &SerializeWith(&self.r#vehicle_transmission)
2873 })?;
2874 } else {
2875 serialize_struct.skip_field("vehicleTransmission")?;
2876 }
2877 if !Vec::is_empty(&self.r#weight_total) {
2878 serialize_struct.serialize_field("weightTotal", {
2879 struct SerializeWith<'a>(&'a Vec<WeightTotalProperty>);
2880 impl<'a> Serialize for SerializeWith<'a> {
2881 fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
2882 where
2883 S: Serializer,
2884 {
2885 serde_with::As::<serde_with::OneOrMany<serde_with::Same>>::serialize(
2886 self.0, serializer,
2887 )
2888 }
2889 }
2890 &SerializeWith(&self.r#weight_total)
2891 })?;
2892 } else {
2893 serialize_struct.skip_field("weightTotal")?;
2894 }
2895 if !Vec::is_empty(&self.r#wheelbase) {
2896 serialize_struct.serialize_field("wheelbase", {
2897 struct SerializeWith<'a>(&'a Vec<WheelbaseProperty>);
2898 impl<'a> Serialize for SerializeWith<'a> {
2899 fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
2900 where
2901 S: Serializer,
2902 {
2903 serde_with::As::<serde_with::OneOrMany<serde_with::Same>>::serialize(
2904 self.0, serializer,
2905 )
2906 }
2907 }
2908 &SerializeWith(&self.r#wheelbase)
2909 })?;
2910 } else {
2911 serialize_struct.skip_field("wheelbase")?;
2912 }
2913 serialize_struct.end()
2914 }
2915 }
2916 impl<'de> Deserialize<'de> for Motorcycle {
2917 fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
2918 where
2919 D: Deserializer<'de>,
2920 {
2921 enum Field {
2922 AdditionalProperty,
2923 AggregateRating,
2924 Asin,
2925 Audience,
2926 Award,
2927 Awards,
2928 Brand,
2929 Category,
2930 Color,
2931 CountryOfAssembly,
2932 CountryOfLastProcessing,
2933 CountryOfOrigin,
2934 Depth,
2935 Funding,
2936 Gtin,
2937 Gtin12,
2938 Gtin13,
2939 Gtin14,
2940 Gtin8,
2941 HasAdultConsideration,
2942 HasEnergyConsumptionDetails,
2943 HasMeasurement,
2944 HasMerchantReturnPolicy,
2945 HasProductReturnPolicy,
2946 Height,
2947 InProductGroupWithId,
2948 IsAccessoryOrSparePartFor,
2949 IsConsumableFor,
2950 IsFamilyFriendly,
2951 IsRelatedTo,
2952 IsSimilarTo,
2953 IsVariantOf,
2954 ItemCondition,
2955 Keywords,
2956 Logo,
2957 Manufacturer,
2958 Material,
2959 MobileUrl,
2960 Model,
2961 Mpn,
2962 NegativeNotes,
2963 Nsn,
2964 Offers,
2965 Pattern,
2966 PositiveNotes,
2967 ProductId,
2968 ProductionDate,
2969 PurchaseDate,
2970 ReleaseDate,
2971 Review,
2972 Reviews,
2973 Size,
2974 Sku,
2975 Slogan,
2976 Weight,
2977 Width,
2978 AdditionalType,
2979 AlternateName,
2980 Description,
2981 DisambiguatingDescription,
2982 Identifier,
2983 Image,
2984 MainEntityOfPage,
2985 Name,
2986 PotentialAction,
2987 SameAs,
2988 SubjectOf,
2989 Url,
2990 AccelerationTime,
2991 BodyType,
2992 CallSign,
2993 CargoVolume,
2994 DateVehicleFirstRegistered,
2995 DriveWheelConfiguration,
2996 EmissionsCo2,
2997 FuelCapacity,
2998 FuelConsumption,
2999 FuelEfficiency,
3000 FuelType,
3001 KnownVehicleDamages,
3002 MeetsEmissionStandard,
3003 MileageFromOdometer,
3004 ModelDate,
3005 NumberOfAirbags,
3006 NumberOfAxles,
3007 NumberOfDoors,
3008 NumberOfForwardGears,
3009 NumberOfPreviousOwners,
3010 Payload,
3011 SeatingCapacity,
3012 Speed,
3013 SteeringPosition,
3014 StupidProperty,
3015 TongueWeight,
3016 TrailerWeight,
3017 VehicleConfiguration,
3018 VehicleEngine,
3019 VehicleIdentificationNumber,
3020 VehicleInteriorColor,
3021 VehicleInteriorType,
3022 VehicleModelDate,
3023 VehicleSeatingCapacity,
3024 VehicleSpecialUsage,
3025 VehicleTransmission,
3026 WeightTotal,
3027 Wheelbase,
3028 Ignore,
3029 }
3030 struct FieldVisitor;
3031 impl<'de> Visitor<'de> for FieldVisitor {
3032 type Value = Field;
3033 fn expecting(&self, formatter: &mut Formatter) -> fmt::Result {
3034 formatter.write_str("field identifier")
3035 }
3036 fn visit_str<E>(self, value: &str) -> Result<Self::Value, E>
3037 where
3038 E: de::Error,
3039 {
3040 match value {
3041 "additionalProperty" => Ok(Field::AdditionalProperty),
3042 "aggregateRating" => Ok(Field::AggregateRating),
3043 "asin" => Ok(Field::Asin),
3044 "audience" => Ok(Field::Audience),
3045 "award" => Ok(Field::Award),
3046 "awards" => Ok(Field::Awards),
3047 "brand" => Ok(Field::Brand),
3048 "category" => Ok(Field::Category),
3049 "color" => Ok(Field::Color),
3050 "countryOfAssembly" => Ok(Field::CountryOfAssembly),
3051 "countryOfLastProcessing" => Ok(Field::CountryOfLastProcessing),
3052 "countryOfOrigin" => Ok(Field::CountryOfOrigin),
3053 "depth" => Ok(Field::Depth),
3054 "funding" => Ok(Field::Funding),
3055 "gtin" => Ok(Field::Gtin),
3056 "gtin12" => Ok(Field::Gtin12),
3057 "gtin13" => Ok(Field::Gtin13),
3058 "gtin14" => Ok(Field::Gtin14),
3059 "gtin8" => Ok(Field::Gtin8),
3060 "hasAdultConsideration" => Ok(Field::HasAdultConsideration),
3061 "hasEnergyConsumptionDetails" => Ok(Field::HasEnergyConsumptionDetails),
3062 "hasMeasurement" => Ok(Field::HasMeasurement),
3063 "hasMerchantReturnPolicy" => Ok(Field::HasMerchantReturnPolicy),
3064 "hasProductReturnPolicy" => Ok(Field::HasProductReturnPolicy),
3065 "height" => Ok(Field::Height),
3066 "inProductGroupWithID" => Ok(Field::InProductGroupWithId),
3067 "isAccessoryOrSparePartFor" => Ok(Field::IsAccessoryOrSparePartFor),
3068 "isConsumableFor" => Ok(Field::IsConsumableFor),
3069 "isFamilyFriendly" => Ok(Field::IsFamilyFriendly),
3070 "isRelatedTo" => Ok(Field::IsRelatedTo),
3071 "isSimilarTo" => Ok(Field::IsSimilarTo),
3072 "isVariantOf" => Ok(Field::IsVariantOf),
3073 "itemCondition" => Ok(Field::ItemCondition),
3074 "keywords" => Ok(Field::Keywords),
3075 "logo" => Ok(Field::Logo),
3076 "manufacturer" => Ok(Field::Manufacturer),
3077 "material" => Ok(Field::Material),
3078 "mobileUrl" => Ok(Field::MobileUrl),
3079 "model" => Ok(Field::Model),
3080 "mpn" => Ok(Field::Mpn),
3081 "negativeNotes" => Ok(Field::NegativeNotes),
3082 "nsn" => Ok(Field::Nsn),
3083 "offers" => Ok(Field::Offers),
3084 "pattern" => Ok(Field::Pattern),
3085 "positiveNotes" => Ok(Field::PositiveNotes),
3086 "productID" => Ok(Field::ProductId),
3087 "productionDate" => Ok(Field::ProductionDate),
3088 "purchaseDate" => Ok(Field::PurchaseDate),
3089 "releaseDate" => Ok(Field::ReleaseDate),
3090 "review" => Ok(Field::Review),
3091 "reviews" => Ok(Field::Reviews),
3092 "size" => Ok(Field::Size),
3093 "sku" => Ok(Field::Sku),
3094 "slogan" => Ok(Field::Slogan),
3095 "weight" => Ok(Field::Weight),
3096 "width" => Ok(Field::Width),
3097 "additionalType" => Ok(Field::AdditionalType),
3098 "alternateName" => Ok(Field::AlternateName),
3099 "description" => Ok(Field::Description),
3100 "disambiguatingDescription" => Ok(Field::DisambiguatingDescription),
3101 "identifier" => Ok(Field::Identifier),
3102 "image" => Ok(Field::Image),
3103 "mainEntityOfPage" => Ok(Field::MainEntityOfPage),
3104 "name" => Ok(Field::Name),
3105 "potentialAction" => Ok(Field::PotentialAction),
3106 "sameAs" => Ok(Field::SameAs),
3107 "subjectOf" => Ok(Field::SubjectOf),
3108 "url" => Ok(Field::Url),
3109 "accelerationTime" => Ok(Field::AccelerationTime),
3110 "bodyType" => Ok(Field::BodyType),
3111 "callSign" => Ok(Field::CallSign),
3112 "cargoVolume" => Ok(Field::CargoVolume),
3113 "dateVehicleFirstRegistered" => Ok(Field::DateVehicleFirstRegistered),
3114 "driveWheelConfiguration" => Ok(Field::DriveWheelConfiguration),
3115 "emissionsCO2" => Ok(Field::EmissionsCo2),
3116 "fuelCapacity" => Ok(Field::FuelCapacity),
3117 "fuelConsumption" => Ok(Field::FuelConsumption),
3118 "fuelEfficiency" => Ok(Field::FuelEfficiency),
3119 "fuelType" => Ok(Field::FuelType),
3120 "knownVehicleDamages" => Ok(Field::KnownVehicleDamages),
3121 "meetsEmissionStandard" => Ok(Field::MeetsEmissionStandard),
3122 "mileageFromOdometer" => Ok(Field::MileageFromOdometer),
3123 "modelDate" => Ok(Field::ModelDate),
3124 "numberOfAirbags" => Ok(Field::NumberOfAirbags),
3125 "numberOfAxles" => Ok(Field::NumberOfAxles),
3126 "numberOfDoors" => Ok(Field::NumberOfDoors),
3127 "numberOfForwardGears" => Ok(Field::NumberOfForwardGears),
3128 "numberOfPreviousOwners" => Ok(Field::NumberOfPreviousOwners),
3129 "payload" => Ok(Field::Payload),
3130 "seatingCapacity" => Ok(Field::SeatingCapacity),
3131 "speed" => Ok(Field::Speed),
3132 "steeringPosition" => Ok(Field::SteeringPosition),
3133 "stupidProperty" => Ok(Field::StupidProperty),
3134 "tongueWeight" => Ok(Field::TongueWeight),
3135 "trailerWeight" => Ok(Field::TrailerWeight),
3136 "vehicleConfiguration" => Ok(Field::VehicleConfiguration),
3137 "vehicleEngine" => Ok(Field::VehicleEngine),
3138 "vehicleIdentificationNumber" => Ok(Field::VehicleIdentificationNumber),
3139 "vehicleInteriorColor" => Ok(Field::VehicleInteriorColor),
3140 "vehicleInteriorType" => Ok(Field::VehicleInteriorType),
3141 "vehicleModelDate" => Ok(Field::VehicleModelDate),
3142 "vehicleSeatingCapacity" => Ok(Field::VehicleSeatingCapacity),
3143 "vehicleSpecialUsage" => Ok(Field::VehicleSpecialUsage),
3144 "vehicleTransmission" => Ok(Field::VehicleTransmission),
3145 "weightTotal" => Ok(Field::WeightTotal),
3146 "wheelbase" => Ok(Field::Wheelbase),
3147 "id" | "type" => Ok(Field::Ignore),
3148 _ => Err(de::Error::unknown_field(value, FIELDS)),
3149 }
3150 }
3151 fn visit_bytes<E>(self, value: &[u8]) -> Result<Self::Value, E>
3152 where
3153 E: de::Error,
3154 {
3155 match value {
3156 b"additionalProperty" => Ok(Field::AdditionalProperty),
3157 b"aggregateRating" => Ok(Field::AggregateRating),
3158 b"asin" => Ok(Field::Asin),
3159 b"audience" => Ok(Field::Audience),
3160 b"award" => Ok(Field::Award),
3161 b"awards" => Ok(Field::Awards),
3162 b"brand" => Ok(Field::Brand),
3163 b"category" => Ok(Field::Category),
3164 b"color" => Ok(Field::Color),
3165 b"countryOfAssembly" => Ok(Field::CountryOfAssembly),
3166 b"countryOfLastProcessing" => Ok(Field::CountryOfLastProcessing),
3167 b"countryOfOrigin" => Ok(Field::CountryOfOrigin),
3168 b"depth" => Ok(Field::Depth),
3169 b"funding" => Ok(Field::Funding),
3170 b"gtin" => Ok(Field::Gtin),
3171 b"gtin12" => Ok(Field::Gtin12),
3172 b"gtin13" => Ok(Field::Gtin13),
3173 b"gtin14" => Ok(Field::Gtin14),
3174 b"gtin8" => Ok(Field::Gtin8),
3175 b"hasAdultConsideration" => Ok(Field::HasAdultConsideration),
3176 b"hasEnergyConsumptionDetails" => Ok(Field::HasEnergyConsumptionDetails),
3177 b"hasMeasurement" => Ok(Field::HasMeasurement),
3178 b"hasMerchantReturnPolicy" => Ok(Field::HasMerchantReturnPolicy),
3179 b"hasProductReturnPolicy" => Ok(Field::HasProductReturnPolicy),
3180 b"height" => Ok(Field::Height),
3181 b"inProductGroupWithID" => Ok(Field::InProductGroupWithId),
3182 b"isAccessoryOrSparePartFor" => Ok(Field::IsAccessoryOrSparePartFor),
3183 b"isConsumableFor" => Ok(Field::IsConsumableFor),
3184 b"isFamilyFriendly" => Ok(Field::IsFamilyFriendly),
3185 b"isRelatedTo" => Ok(Field::IsRelatedTo),
3186 b"isSimilarTo" => Ok(Field::IsSimilarTo),
3187 b"isVariantOf" => Ok(Field::IsVariantOf),
3188 b"itemCondition" => Ok(Field::ItemCondition),
3189 b"keywords" => Ok(Field::Keywords),
3190 b"logo" => Ok(Field::Logo),
3191 b"manufacturer" => Ok(Field::Manufacturer),
3192 b"material" => Ok(Field::Material),
3193 b"mobileUrl" => Ok(Field::MobileUrl),
3194 b"model" => Ok(Field::Model),
3195 b"mpn" => Ok(Field::Mpn),
3196 b"negativeNotes" => Ok(Field::NegativeNotes),
3197 b"nsn" => Ok(Field::Nsn),
3198 b"offers" => Ok(Field::Offers),
3199 b"pattern" => Ok(Field::Pattern),
3200 b"positiveNotes" => Ok(Field::PositiveNotes),
3201 b"productID" => Ok(Field::ProductId),
3202 b"productionDate" => Ok(Field::ProductionDate),
3203 b"purchaseDate" => Ok(Field::PurchaseDate),
3204 b"releaseDate" => Ok(Field::ReleaseDate),
3205 b"review" => Ok(Field::Review),
3206 b"reviews" => Ok(Field::Reviews),
3207 b"size" => Ok(Field::Size),
3208 b"sku" => Ok(Field::Sku),
3209 b"slogan" => Ok(Field::Slogan),
3210 b"weight" => Ok(Field::Weight),
3211 b"width" => Ok(Field::Width),
3212 b"additionalType" => Ok(Field::AdditionalType),
3213 b"alternateName" => Ok(Field::AlternateName),
3214 b"description" => Ok(Field::Description),
3215 b"disambiguatingDescription" => Ok(Field::DisambiguatingDescription),
3216 b"identifier" => Ok(Field::Identifier),
3217 b"image" => Ok(Field::Image),
3218 b"mainEntityOfPage" => Ok(Field::MainEntityOfPage),
3219 b"name" => Ok(Field::Name),
3220 b"potentialAction" => Ok(Field::PotentialAction),
3221 b"sameAs" => Ok(Field::SameAs),
3222 b"subjectOf" => Ok(Field::SubjectOf),
3223 b"url" => Ok(Field::Url),
3224 b"accelerationTime" => Ok(Field::AccelerationTime),
3225 b"bodyType" => Ok(Field::BodyType),
3226 b"callSign" => Ok(Field::CallSign),
3227 b"cargoVolume" => Ok(Field::CargoVolume),
3228 b"dateVehicleFirstRegistered" => Ok(Field::DateVehicleFirstRegistered),
3229 b"driveWheelConfiguration" => Ok(Field::DriveWheelConfiguration),
3230 b"emissionsCO2" => Ok(Field::EmissionsCo2),
3231 b"fuelCapacity" => Ok(Field::FuelCapacity),
3232 b"fuelConsumption" => Ok(Field::FuelConsumption),
3233 b"fuelEfficiency" => Ok(Field::FuelEfficiency),
3234 b"fuelType" => Ok(Field::FuelType),
3235 b"knownVehicleDamages" => Ok(Field::KnownVehicleDamages),
3236 b"meetsEmissionStandard" => Ok(Field::MeetsEmissionStandard),
3237 b"mileageFromOdometer" => Ok(Field::MileageFromOdometer),
3238 b"modelDate" => Ok(Field::ModelDate),
3239 b"numberOfAirbags" => Ok(Field::NumberOfAirbags),
3240 b"numberOfAxles" => Ok(Field::NumberOfAxles),
3241 b"numberOfDoors" => Ok(Field::NumberOfDoors),
3242 b"numberOfForwardGears" => Ok(Field::NumberOfForwardGears),
3243 b"numberOfPreviousOwners" => Ok(Field::NumberOfPreviousOwners),
3244 b"payload" => Ok(Field::Payload),
3245 b"seatingCapacity" => Ok(Field::SeatingCapacity),
3246 b"speed" => Ok(Field::Speed),
3247 b"steeringPosition" => Ok(Field::SteeringPosition),
3248 b"stupidProperty" => Ok(Field::StupidProperty),
3249 b"tongueWeight" => Ok(Field::TongueWeight),
3250 b"trailerWeight" => Ok(Field::TrailerWeight),
3251 b"vehicleConfiguration" => Ok(Field::VehicleConfiguration),
3252 b"vehicleEngine" => Ok(Field::VehicleEngine),
3253 b"vehicleIdentificationNumber" => Ok(Field::VehicleIdentificationNumber),
3254 b"vehicleInteriorColor" => Ok(Field::VehicleInteriorColor),
3255 b"vehicleInteriorType" => Ok(Field::VehicleInteriorType),
3256 b"vehicleModelDate" => Ok(Field::VehicleModelDate),
3257 b"vehicleSeatingCapacity" => Ok(Field::VehicleSeatingCapacity),
3258 b"vehicleSpecialUsage" => Ok(Field::VehicleSpecialUsage),
3259 b"vehicleTransmission" => Ok(Field::VehicleTransmission),
3260 b"weightTotal" => Ok(Field::WeightTotal),
3261 b"wheelbase" => Ok(Field::Wheelbase),
3262 b"id" | b"type" => Ok(Field::Ignore),
3263 _ => {
3264 let value = &String::from_utf8_lossy(value);
3265 Err(de::Error::unknown_field(value, FIELDS))
3266 }
3267 }
3268 }
3269 }
3270 impl<'de> Deserialize<'de> for Field {
3271 fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
3272 where
3273 D: Deserializer<'de>,
3274 {
3275 deserializer.deserialize_identifier(FieldVisitor)
3276 }
3277 }
3278 struct ClassVisitor;
3279 impl<'de> Visitor<'de> for ClassVisitor {
3280 type Value = Motorcycle;
3281 fn expecting(&self, formatter: &mut Formatter) -> fmt::Result {
3282 formatter.write_str("schema.org schema Motorcycle")
3283 }
3284 fn visit_map<A>(self, mut map: A) -> Result<Self::Value, A::Error>
3285 where
3286 A: de::MapAccess<'de>,
3287 {
3288 let mut r#additional_property_property = None;
3289 let mut r#aggregate_rating_property = None;
3290 let mut r#asin_property = None;
3291 let mut r#audience_property = None;
3292 let mut r#award_property = None;
3293 let mut r#awards_property = None;
3294 let mut r#brand_property = None;
3295 let mut r#category_property = None;
3296 let mut r#color_property = None;
3297 let mut r#country_of_assembly_property = None;
3298 let mut r#country_of_last_processing_property = None;
3299 let mut r#country_of_origin_property = None;
3300 let mut r#depth_property = None;
3301 let mut r#funding_property = None;
3302 let mut r#gtin_property = None;
3303 let mut r#gtin_12_property = None;
3304 let mut r#gtin_13_property = None;
3305 let mut r#gtin_14_property = None;
3306 let mut r#gtin_8_property = None;
3307 let mut r#has_adult_consideration_property = None;
3308 let mut r#has_energy_consumption_details_property = None;
3309 let mut r#has_measurement_property = None;
3310 let mut r#has_merchant_return_policy_property = None;
3311 let mut r#has_product_return_policy_property = None;
3312 let mut r#height_property = None;
3313 let mut r#in_product_group_with_id_property = None;
3314 let mut r#is_accessory_or_spare_part_for_property = None;
3315 let mut r#is_consumable_for_property = None;
3316 let mut r#is_family_friendly_property = None;
3317 let mut r#is_related_to_property = None;
3318 let mut r#is_similar_to_property = None;
3319 let mut r#is_variant_of_property = None;
3320 let mut r#item_condition_property = None;
3321 let mut r#keywords_property = None;
3322 let mut r#logo_property = None;
3323 let mut r#manufacturer_property = None;
3324 let mut r#material_property = None;
3325 let mut r#mobile_url_property = None;
3326 let mut r#model_property = None;
3327 let mut r#mpn_property = None;
3328 let mut r#negative_notes_property = None;
3329 let mut r#nsn_property = None;
3330 let mut r#offers_property = None;
3331 let mut r#pattern_property = None;
3332 let mut r#positive_notes_property = None;
3333 let mut r#product_id_property = None;
3334 let mut r#production_date_property = None;
3335 let mut r#purchase_date_property = None;
3336 let mut r#release_date_property = None;
3337 let mut r#review_property = None;
3338 let mut r#reviews_property = None;
3339 let mut r#size_property = None;
3340 let mut r#sku_property = None;
3341 let mut r#slogan_property = None;
3342 let mut r#weight_property = None;
3343 let mut r#width_property = None;
3344 let mut r#additional_type_property = None;
3345 let mut r#alternate_name_property = None;
3346 let mut r#description_property = None;
3347 let mut r#disambiguating_description_property = None;
3348 let mut r#identifier_property = None;
3349 let mut r#image_property = None;
3350 let mut r#main_entity_of_page_property = None;
3351 let mut r#name_property = None;
3352 let mut r#potential_action_property = None;
3353 let mut r#same_as_property = None;
3354 let mut r#subject_of_property = None;
3355 let mut r#url_property = None;
3356 let mut r#acceleration_time_property = None;
3357 let mut r#body_type_property = None;
3358 let mut r#call_sign_property = None;
3359 let mut r#cargo_volume_property = None;
3360 let mut r#date_vehicle_first_registered_property = None;
3361 let mut r#drive_wheel_configuration_property = None;
3362 let mut r#emissions_co_2_property = None;
3363 let mut r#fuel_capacity_property = None;
3364 let mut r#fuel_consumption_property = None;
3365 let mut r#fuel_efficiency_property = None;
3366 let mut r#fuel_type_property = None;
3367 let mut r#known_vehicle_damages_property = None;
3368 let mut r#meets_emission_standard_property = None;
3369 let mut r#mileage_from_odometer_property = None;
3370 let mut r#model_date_property = None;
3371 let mut r#number_of_airbags_property = None;
3372 let mut r#number_of_axles_property = None;
3373 let mut r#number_of_doors_property = None;
3374 let mut r#number_of_forward_gears_property = None;
3375 let mut r#number_of_previous_owners_property = None;
3376 let mut r#payload_property = None;
3377 let mut r#seating_capacity_property = None;
3378 let mut r#speed_property = None;
3379 let mut r#steering_position_property = None;
3380 let mut r#stupid_property_property = None;
3381 let mut r#tongue_weight_property = None;
3382 let mut r#trailer_weight_property = None;
3383 let mut r#vehicle_configuration_property = None;
3384 let mut r#vehicle_engine_property = None;
3385 let mut r#vehicle_identification_number_property = None;
3386 let mut r#vehicle_interior_color_property = None;
3387 let mut r#vehicle_interior_type_property = None;
3388 let mut r#vehicle_model_date_property = None;
3389 let mut r#vehicle_seating_capacity_property = None;
3390 let mut r#vehicle_special_usage_property = None;
3391 let mut r#vehicle_transmission_property = None;
3392 let mut r#weight_total_property = None;
3393 let mut r#wheelbase_property = None;
3394 while let Some(key) = map.next_key::<Field>()? {
3395 match key {
3396 Field::AdditionalProperty => {
3397 if r#additional_property_property.is_some() {
3398 return Err(<A::Error as de::Error>::duplicate_field(
3399 "additionalProperty",
3400 ));
3401 }
3402 r#additional_property_property = Some({
3403 struct DeserializeWith(Vec<AdditionalPropertyProperty>);
3404 impl<'de> Deserialize<'de> for DeserializeWith {
3405 fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
3406 where
3407 D: Deserializer<'de>,
3408 {
3409 Ok(DeserializeWith(serde_with::As::<
3410 serde_with::OneOrMany<serde_with::Same>,
3411 >::deserialize(deserializer)?))
3412 }
3413 }
3414 match map.next_value::<DeserializeWith>() {
3415 Ok(deserialize_with) => deserialize_with.0,
3416 Err(err) => {
3417 return Err(err);
3418 }
3419 }
3420 });
3421 }
3422 Field::AggregateRating => {
3423 if r#aggregate_rating_property.is_some() {
3424 return Err(<A::Error as de::Error>::duplicate_field(
3425 "aggregateRating",
3426 ));
3427 }
3428 r#aggregate_rating_property = Some({
3429 struct DeserializeWith(Vec<AggregateRatingProperty>);
3430 impl<'de> Deserialize<'de> for DeserializeWith {
3431 fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
3432 where
3433 D: Deserializer<'de>,
3434 {
3435 Ok(DeserializeWith(serde_with::As::<
3436 serde_with::OneOrMany<serde_with::Same>,
3437 >::deserialize(deserializer)?))
3438 }
3439 }
3440 match map.next_value::<DeserializeWith>() {
3441 Ok(deserialize_with) => deserialize_with.0,
3442 Err(err) => {
3443 return Err(err);
3444 }
3445 }
3446 });
3447 }
3448 Field::Asin => {
3449 if r#asin_property.is_some() {
3450 return Err(<A::Error as de::Error>::duplicate_field("asin"));
3451 }
3452 r#asin_property = Some({
3453 struct DeserializeWith(Vec<AsinProperty>);
3454 impl<'de> Deserialize<'de> for DeserializeWith {
3455 fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
3456 where
3457 D: Deserializer<'de>,
3458 {
3459 Ok(DeserializeWith(serde_with::As::<
3460 serde_with::OneOrMany<serde_with::Same>,
3461 >::deserialize(deserializer)?))
3462 }
3463 }
3464 match map.next_value::<DeserializeWith>() {
3465 Ok(deserialize_with) => deserialize_with.0,
3466 Err(err) => {
3467 return Err(err);
3468 }
3469 }
3470 });
3471 }
3472 Field::Audience => {
3473 if r#audience_property.is_some() {
3474 return Err(<A::Error as de::Error>::duplicate_field(
3475 "audience",
3476 ));
3477 }
3478 r#audience_property = Some({
3479 struct DeserializeWith(Vec<AudienceProperty>);
3480 impl<'de> Deserialize<'de> for DeserializeWith {
3481 fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
3482 where
3483 D: Deserializer<'de>,
3484 {
3485 Ok(DeserializeWith(serde_with::As::<
3486 serde_with::OneOrMany<serde_with::Same>,
3487 >::deserialize(deserializer)?))
3488 }
3489 }
3490 match map.next_value::<DeserializeWith>() {
3491 Ok(deserialize_with) => deserialize_with.0,
3492 Err(err) => {
3493 return Err(err);
3494 }
3495 }
3496 });
3497 }
3498 Field::Award => {
3499 if r#award_property.is_some() {
3500 return Err(<A::Error as de::Error>::duplicate_field("award"));
3501 }
3502 r#award_property = Some({
3503 struct DeserializeWith(Vec<AwardProperty>);
3504 impl<'de> Deserialize<'de> for DeserializeWith {
3505 fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
3506 where
3507 D: Deserializer<'de>,
3508 {
3509 Ok(DeserializeWith(serde_with::As::<
3510 serde_with::OneOrMany<serde_with::Same>,
3511 >::deserialize(deserializer)?))
3512 }
3513 }
3514 match map.next_value::<DeserializeWith>() {
3515 Ok(deserialize_with) => deserialize_with.0,
3516 Err(err) => {
3517 return Err(err);
3518 }
3519 }
3520 });
3521 }
3522 Field::Awards => {
3523 if r#awards_property.is_some() {
3524 return Err(<A::Error as de::Error>::duplicate_field("awards"));
3525 }
3526 r#awards_property = Some({
3527 struct DeserializeWith(Vec<AwardsProperty>);
3528 impl<'de> Deserialize<'de> for DeserializeWith {
3529 fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
3530 where
3531 D: Deserializer<'de>,
3532 {
3533 Ok(DeserializeWith(serde_with::As::<
3534 serde_with::OneOrMany<serde_with::Same>,
3535 >::deserialize(deserializer)?))
3536 }
3537 }
3538 match map.next_value::<DeserializeWith>() {
3539 Ok(deserialize_with) => deserialize_with.0,
3540 Err(err) => {
3541 return Err(err);
3542 }
3543 }
3544 });
3545 }
3546 Field::Brand => {
3547 if r#brand_property.is_some() {
3548 return Err(<A::Error as de::Error>::duplicate_field("brand"));
3549 }
3550 r#brand_property = Some({
3551 struct DeserializeWith(Vec<BrandProperty>);
3552 impl<'de> Deserialize<'de> for DeserializeWith {
3553 fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
3554 where
3555 D: Deserializer<'de>,
3556 {
3557 Ok(DeserializeWith(serde_with::As::<
3558 serde_with::OneOrMany<serde_with::Same>,
3559 >::deserialize(deserializer)?))
3560 }
3561 }
3562 match map.next_value::<DeserializeWith>() {
3563 Ok(deserialize_with) => deserialize_with.0,
3564 Err(err) => {
3565 return Err(err);
3566 }
3567 }
3568 });
3569 }
3570 Field::Category => {
3571 if r#category_property.is_some() {
3572 return Err(<A::Error as de::Error>::duplicate_field(
3573 "category",
3574 ));
3575 }
3576 r#category_property = Some({
3577 struct DeserializeWith(Vec<CategoryProperty>);
3578 impl<'de> Deserialize<'de> for DeserializeWith {
3579 fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
3580 where
3581 D: Deserializer<'de>,
3582 {
3583 Ok(DeserializeWith(serde_with::As::<
3584 serde_with::OneOrMany<serde_with::Same>,
3585 >::deserialize(deserializer)?))
3586 }
3587 }
3588 match map.next_value::<DeserializeWith>() {
3589 Ok(deserialize_with) => deserialize_with.0,
3590 Err(err) => {
3591 return Err(err);
3592 }
3593 }
3594 });
3595 }
3596 Field::Color => {
3597 if r#color_property.is_some() {
3598 return Err(<A::Error as de::Error>::duplicate_field("color"));
3599 }
3600 r#color_property = Some({
3601 struct DeserializeWith(Vec<ColorProperty>);
3602 impl<'de> Deserialize<'de> for DeserializeWith {
3603 fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
3604 where
3605 D: Deserializer<'de>,
3606 {
3607 Ok(DeserializeWith(serde_with::As::<
3608 serde_with::OneOrMany<serde_with::Same>,
3609 >::deserialize(deserializer)?))
3610 }
3611 }
3612 match map.next_value::<DeserializeWith>() {
3613 Ok(deserialize_with) => deserialize_with.0,
3614 Err(err) => {
3615 return Err(err);
3616 }
3617 }
3618 });
3619 }
3620 Field::CountryOfAssembly => {
3621 if r#country_of_assembly_property.is_some() {
3622 return Err(<A::Error as de::Error>::duplicate_field(
3623 "countryOfAssembly",
3624 ));
3625 }
3626 r#country_of_assembly_property = Some({
3627 struct DeserializeWith(Vec<CountryOfAssemblyProperty>);
3628 impl<'de> Deserialize<'de> for DeserializeWith {
3629 fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
3630 where
3631 D: Deserializer<'de>,
3632 {
3633 Ok(DeserializeWith(serde_with::As::<
3634 serde_with::OneOrMany<serde_with::Same>,
3635 >::deserialize(deserializer)?))
3636 }
3637 }
3638 match map.next_value::<DeserializeWith>() {
3639 Ok(deserialize_with) => deserialize_with.0,
3640 Err(err) => {
3641 return Err(err);
3642 }
3643 }
3644 });
3645 }
3646 Field::CountryOfLastProcessing => {
3647 if r#country_of_last_processing_property.is_some() {
3648 return Err(<A::Error as de::Error>::duplicate_field(
3649 "countryOfLastProcessing",
3650 ));
3651 }
3652 r#country_of_last_processing_property = Some({
3653 struct DeserializeWith(Vec<CountryOfLastProcessingProperty>);
3654 impl<'de> Deserialize<'de> for DeserializeWith {
3655 fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
3656 where
3657 D: Deserializer<'de>,
3658 {
3659 Ok(DeserializeWith(serde_with::As::<
3660 serde_with::OneOrMany<serde_with::Same>,
3661 >::deserialize(deserializer)?))
3662 }
3663 }
3664 match map.next_value::<DeserializeWith>() {
3665 Ok(deserialize_with) => deserialize_with.0,
3666 Err(err) => {
3667 return Err(err);
3668 }
3669 }
3670 });
3671 }
3672 Field::CountryOfOrigin => {
3673 if r#country_of_origin_property.is_some() {
3674 return Err(<A::Error as de::Error>::duplicate_field(
3675 "countryOfOrigin",
3676 ));
3677 }
3678 r#country_of_origin_property = Some({
3679 struct DeserializeWith(Vec<CountryOfOriginProperty>);
3680 impl<'de> Deserialize<'de> for DeserializeWith {
3681 fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
3682 where
3683 D: Deserializer<'de>,
3684 {
3685 Ok(DeserializeWith(serde_with::As::<
3686 serde_with::OneOrMany<serde_with::Same>,
3687 >::deserialize(deserializer)?))
3688 }
3689 }
3690 match map.next_value::<DeserializeWith>() {
3691 Ok(deserialize_with) => deserialize_with.0,
3692 Err(err) => {
3693 return Err(err);
3694 }
3695 }
3696 });
3697 }
3698 Field::Depth => {
3699 if r#depth_property.is_some() {
3700 return Err(<A::Error as de::Error>::duplicate_field("depth"));
3701 }
3702 r#depth_property = Some({
3703 struct DeserializeWith(Vec<DepthProperty>);
3704 impl<'de> Deserialize<'de> for DeserializeWith {
3705 fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
3706 where
3707 D: Deserializer<'de>,
3708 {
3709 Ok(DeserializeWith(serde_with::As::<
3710 serde_with::OneOrMany<serde_with::Same>,
3711 >::deserialize(deserializer)?))
3712 }
3713 }
3714 match map.next_value::<DeserializeWith>() {
3715 Ok(deserialize_with) => deserialize_with.0,
3716 Err(err) => {
3717 return Err(err);
3718 }
3719 }
3720 });
3721 }
3722 Field::Funding => {
3723 if r#funding_property.is_some() {
3724 return Err(<A::Error as de::Error>::duplicate_field(
3725 "funding",
3726 ));
3727 }
3728 r#funding_property = Some({
3729 struct DeserializeWith(Vec<FundingProperty>);
3730 impl<'de> Deserialize<'de> for DeserializeWith {
3731 fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
3732 where
3733 D: Deserializer<'de>,
3734 {
3735 Ok(DeserializeWith(serde_with::As::<
3736 serde_with::OneOrMany<serde_with::Same>,
3737 >::deserialize(deserializer)?))
3738 }
3739 }
3740 match map.next_value::<DeserializeWith>() {
3741 Ok(deserialize_with) => deserialize_with.0,
3742 Err(err) => {
3743 return Err(err);
3744 }
3745 }
3746 });
3747 }
3748 Field::Gtin => {
3749 if r#gtin_property.is_some() {
3750 return Err(<A::Error as de::Error>::duplicate_field("gtin"));
3751 }
3752 r#gtin_property = Some({
3753 struct DeserializeWith(Vec<GtinProperty>);
3754 impl<'de> Deserialize<'de> for DeserializeWith {
3755 fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
3756 where
3757 D: Deserializer<'de>,
3758 {
3759 Ok(DeserializeWith(serde_with::As::<
3760 serde_with::OneOrMany<serde_with::Same>,
3761 >::deserialize(deserializer)?))
3762 }
3763 }
3764 match map.next_value::<DeserializeWith>() {
3765 Ok(deserialize_with) => deserialize_with.0,
3766 Err(err) => {
3767 return Err(err);
3768 }
3769 }
3770 });
3771 }
3772 Field::Gtin12 => {
3773 if r#gtin_12_property.is_some() {
3774 return Err(<A::Error as de::Error>::duplicate_field("gtin12"));
3775 }
3776 r#gtin_12_property = Some({
3777 struct DeserializeWith(Vec<Gtin12Property>);
3778 impl<'de> Deserialize<'de> for DeserializeWith {
3779 fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
3780 where
3781 D: Deserializer<'de>,
3782 {
3783 Ok(DeserializeWith(serde_with::As::<
3784 serde_with::OneOrMany<serde_with::Same>,
3785 >::deserialize(deserializer)?))
3786 }
3787 }
3788 match map.next_value::<DeserializeWith>() {
3789 Ok(deserialize_with) => deserialize_with.0,
3790 Err(err) => {
3791 return Err(err);
3792 }
3793 }
3794 });
3795 }
3796 Field::Gtin13 => {
3797 if r#gtin_13_property.is_some() {
3798 return Err(<A::Error as de::Error>::duplicate_field("gtin13"));
3799 }
3800 r#gtin_13_property = Some({
3801 struct DeserializeWith(Vec<Gtin13Property>);
3802 impl<'de> Deserialize<'de> for DeserializeWith {
3803 fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
3804 where
3805 D: Deserializer<'de>,
3806 {
3807 Ok(DeserializeWith(serde_with::As::<
3808 serde_with::OneOrMany<serde_with::Same>,
3809 >::deserialize(deserializer)?))
3810 }
3811 }
3812 match map.next_value::<DeserializeWith>() {
3813 Ok(deserialize_with) => deserialize_with.0,
3814 Err(err) => {
3815 return Err(err);
3816 }
3817 }
3818 });
3819 }
3820 Field::Gtin14 => {
3821 if r#gtin_14_property.is_some() {
3822 return Err(<A::Error as de::Error>::duplicate_field("gtin14"));
3823 }
3824 r#gtin_14_property = Some({
3825 struct DeserializeWith(Vec<Gtin14Property>);
3826 impl<'de> Deserialize<'de> for DeserializeWith {
3827 fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
3828 where
3829 D: Deserializer<'de>,
3830 {
3831 Ok(DeserializeWith(serde_with::As::<
3832 serde_with::OneOrMany<serde_with::Same>,
3833 >::deserialize(deserializer)?))
3834 }
3835 }
3836 match map.next_value::<DeserializeWith>() {
3837 Ok(deserialize_with) => deserialize_with.0,
3838 Err(err) => {
3839 return Err(err);
3840 }
3841 }
3842 });
3843 }
3844 Field::Gtin8 => {
3845 if r#gtin_8_property.is_some() {
3846 return Err(<A::Error as de::Error>::duplicate_field("gtin8"));
3847 }
3848 r#gtin_8_property = Some({
3849 struct DeserializeWith(Vec<Gtin8Property>);
3850 impl<'de> Deserialize<'de> for DeserializeWith {
3851 fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
3852 where
3853 D: Deserializer<'de>,
3854 {
3855 Ok(DeserializeWith(serde_with::As::<
3856 serde_with::OneOrMany<serde_with::Same>,
3857 >::deserialize(deserializer)?))
3858 }
3859 }
3860 match map.next_value::<DeserializeWith>() {
3861 Ok(deserialize_with) => deserialize_with.0,
3862 Err(err) => {
3863 return Err(err);
3864 }
3865 }
3866 });
3867 }
3868 Field::HasAdultConsideration => {
3869 if r#has_adult_consideration_property.is_some() {
3870 return Err(<A::Error as de::Error>::duplicate_field(
3871 "hasAdultConsideration",
3872 ));
3873 }
3874 r#has_adult_consideration_property = Some({
3875 struct DeserializeWith(Vec<HasAdultConsiderationProperty>);
3876 impl<'de> Deserialize<'de> for DeserializeWith {
3877 fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
3878 where
3879 D: Deserializer<'de>,
3880 {
3881 Ok(DeserializeWith(serde_with::As::<
3882 serde_with::OneOrMany<serde_with::Same>,
3883 >::deserialize(deserializer)?))
3884 }
3885 }
3886 match map.next_value::<DeserializeWith>() {
3887 Ok(deserialize_with) => deserialize_with.0,
3888 Err(err) => {
3889 return Err(err);
3890 }
3891 }
3892 });
3893 }
3894 Field::HasEnergyConsumptionDetails => {
3895 if r#has_energy_consumption_details_property.is_some() {
3896 return Err(<A::Error as de::Error>::duplicate_field(
3897 "hasEnergyConsumptionDetails",
3898 ));
3899 }
3900 r#has_energy_consumption_details_property = Some({
3901 struct DeserializeWith(
3902 Vec<HasEnergyConsumptionDetailsProperty>,
3903 );
3904 impl<'de> Deserialize<'de> for DeserializeWith {
3905 fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
3906 where
3907 D: Deserializer<'de>,
3908 {
3909 Ok(DeserializeWith(serde_with::As::<
3910 serde_with::OneOrMany<serde_with::Same>,
3911 >::deserialize(deserializer)?))
3912 }
3913 }
3914 match map.next_value::<DeserializeWith>() {
3915 Ok(deserialize_with) => deserialize_with.0,
3916 Err(err) => {
3917 return Err(err);
3918 }
3919 }
3920 });
3921 }
3922 Field::HasMeasurement => {
3923 if r#has_measurement_property.is_some() {
3924 return Err(<A::Error as de::Error>::duplicate_field(
3925 "hasMeasurement",
3926 ));
3927 }
3928 r#has_measurement_property = Some({
3929 struct DeserializeWith(Vec<HasMeasurementProperty>);
3930 impl<'de> Deserialize<'de> for DeserializeWith {
3931 fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
3932 where
3933 D: Deserializer<'de>,
3934 {
3935 Ok(DeserializeWith(serde_with::As::<
3936 serde_with::OneOrMany<serde_with::Same>,
3937 >::deserialize(deserializer)?))
3938 }
3939 }
3940 match map.next_value::<DeserializeWith>() {
3941 Ok(deserialize_with) => deserialize_with.0,
3942 Err(err) => {
3943 return Err(err);
3944 }
3945 }
3946 });
3947 }
3948 Field::HasMerchantReturnPolicy => {
3949 if r#has_merchant_return_policy_property.is_some() {
3950 return Err(<A::Error as de::Error>::duplicate_field(
3951 "hasMerchantReturnPolicy",
3952 ));
3953 }
3954 r#has_merchant_return_policy_property = Some({
3955 struct DeserializeWith(Vec<HasMerchantReturnPolicyProperty>);
3956 impl<'de> Deserialize<'de> for DeserializeWith {
3957 fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
3958 where
3959 D: Deserializer<'de>,
3960 {
3961 Ok(DeserializeWith(serde_with::As::<
3962 serde_with::OneOrMany<serde_with::Same>,
3963 >::deserialize(deserializer)?))
3964 }
3965 }
3966 match map.next_value::<DeserializeWith>() {
3967 Ok(deserialize_with) => deserialize_with.0,
3968 Err(err) => {
3969 return Err(err);
3970 }
3971 }
3972 });
3973 }
3974 Field::HasProductReturnPolicy => {
3975 if r#has_product_return_policy_property.is_some() {
3976 return Err(<A::Error as de::Error>::duplicate_field(
3977 "hasProductReturnPolicy",
3978 ));
3979 }
3980 r#has_product_return_policy_property = Some({
3981 struct DeserializeWith(Vec<HasProductReturnPolicyProperty>);
3982 impl<'de> Deserialize<'de> for DeserializeWith {
3983 fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
3984 where
3985 D: Deserializer<'de>,
3986 {
3987 Ok(DeserializeWith(serde_with::As::<
3988 serde_with::OneOrMany<serde_with::Same>,
3989 >::deserialize(deserializer)?))
3990 }
3991 }
3992 match map.next_value::<DeserializeWith>() {
3993 Ok(deserialize_with) => deserialize_with.0,
3994 Err(err) => {
3995 return Err(err);
3996 }
3997 }
3998 });
3999 }
4000 Field::Height => {
4001 if r#height_property.is_some() {
4002 return Err(<A::Error as de::Error>::duplicate_field("height"));
4003 }
4004 r#height_property = Some({
4005 struct DeserializeWith(Vec<HeightProperty>);
4006 impl<'de> Deserialize<'de> for DeserializeWith {
4007 fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
4008 where
4009 D: Deserializer<'de>,
4010 {
4011 Ok(DeserializeWith(serde_with::As::<
4012 serde_with::OneOrMany<serde_with::Same>,
4013 >::deserialize(deserializer)?))
4014 }
4015 }
4016 match map.next_value::<DeserializeWith>() {
4017 Ok(deserialize_with) => deserialize_with.0,
4018 Err(err) => {
4019 return Err(err);
4020 }
4021 }
4022 });
4023 }
4024 Field::InProductGroupWithId => {
4025 if r#in_product_group_with_id_property.is_some() {
4026 return Err(<A::Error as de::Error>::duplicate_field(
4027 "inProductGroupWithID",
4028 ));
4029 }
4030 r#in_product_group_with_id_property = Some({
4031 struct DeserializeWith(Vec<InProductGroupWithIdProperty>);
4032 impl<'de> Deserialize<'de> for DeserializeWith {
4033 fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
4034 where
4035 D: Deserializer<'de>,
4036 {
4037 Ok(DeserializeWith(serde_with::As::<
4038 serde_with::OneOrMany<serde_with::Same>,
4039 >::deserialize(deserializer)?))
4040 }
4041 }
4042 match map.next_value::<DeserializeWith>() {
4043 Ok(deserialize_with) => deserialize_with.0,
4044 Err(err) => {
4045 return Err(err);
4046 }
4047 }
4048 });
4049 }
4050 Field::IsAccessoryOrSparePartFor => {
4051 if r#is_accessory_or_spare_part_for_property.is_some() {
4052 return Err(<A::Error as de::Error>::duplicate_field(
4053 "isAccessoryOrSparePartFor",
4054 ));
4055 }
4056 r#is_accessory_or_spare_part_for_property = Some({
4057 struct DeserializeWith(Vec<IsAccessoryOrSparePartForProperty>);
4058 impl<'de> Deserialize<'de> for DeserializeWith {
4059 fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
4060 where
4061 D: Deserializer<'de>,
4062 {
4063 Ok(DeserializeWith(serde_with::As::<
4064 serde_with::OneOrMany<serde_with::Same>,
4065 >::deserialize(deserializer)?))
4066 }
4067 }
4068 match map.next_value::<DeserializeWith>() {
4069 Ok(deserialize_with) => deserialize_with.0,
4070 Err(err) => {
4071 return Err(err);
4072 }
4073 }
4074 });
4075 }
4076 Field::IsConsumableFor => {
4077 if r#is_consumable_for_property.is_some() {
4078 return Err(<A::Error as de::Error>::duplicate_field(
4079 "isConsumableFor",
4080 ));
4081 }
4082 r#is_consumable_for_property = Some({
4083 struct DeserializeWith(Vec<IsConsumableForProperty>);
4084 impl<'de> Deserialize<'de> for DeserializeWith {
4085 fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
4086 where
4087 D: Deserializer<'de>,
4088 {
4089 Ok(DeserializeWith(serde_with::As::<
4090 serde_with::OneOrMany<serde_with::Same>,
4091 >::deserialize(deserializer)?))
4092 }
4093 }
4094 match map.next_value::<DeserializeWith>() {
4095 Ok(deserialize_with) => deserialize_with.0,
4096 Err(err) => {
4097 return Err(err);
4098 }
4099 }
4100 });
4101 }
4102 Field::IsFamilyFriendly => {
4103 if r#is_family_friendly_property.is_some() {
4104 return Err(<A::Error as de::Error>::duplicate_field(
4105 "isFamilyFriendly",
4106 ));
4107 }
4108 r#is_family_friendly_property = Some({
4109 struct DeserializeWith(Vec<IsFamilyFriendlyProperty>);
4110 impl<'de> Deserialize<'de> for DeserializeWith {
4111 fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
4112 where
4113 D: Deserializer<'de>,
4114 {
4115 Ok(DeserializeWith(serde_with::As::<
4116 serde_with::OneOrMany<serde_with::Same>,
4117 >::deserialize(deserializer)?))
4118 }
4119 }
4120 match map.next_value::<DeserializeWith>() {
4121 Ok(deserialize_with) => deserialize_with.0,
4122 Err(err) => {
4123 return Err(err);
4124 }
4125 }
4126 });
4127 }
4128 Field::IsRelatedTo => {
4129 if r#is_related_to_property.is_some() {
4130 return Err(<A::Error as de::Error>::duplicate_field(
4131 "isRelatedTo",
4132 ));
4133 }
4134 r#is_related_to_property = Some({
4135 struct DeserializeWith(Vec<IsRelatedToProperty>);
4136 impl<'de> Deserialize<'de> for DeserializeWith {
4137 fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
4138 where
4139 D: Deserializer<'de>,
4140 {
4141 Ok(DeserializeWith(serde_with::As::<
4142 serde_with::OneOrMany<serde_with::Same>,
4143 >::deserialize(deserializer)?))
4144 }
4145 }
4146 match map.next_value::<DeserializeWith>() {
4147 Ok(deserialize_with) => deserialize_with.0,
4148 Err(err) => {
4149 return Err(err);
4150 }
4151 }
4152 });
4153 }
4154 Field::IsSimilarTo => {
4155 if r#is_similar_to_property.is_some() {
4156 return Err(<A::Error as de::Error>::duplicate_field(
4157 "isSimilarTo",
4158 ));
4159 }
4160 r#is_similar_to_property = Some({
4161 struct DeserializeWith(Vec<IsSimilarToProperty>);
4162 impl<'de> Deserialize<'de> for DeserializeWith {
4163 fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
4164 where
4165 D: Deserializer<'de>,
4166 {
4167 Ok(DeserializeWith(serde_with::As::<
4168 serde_with::OneOrMany<serde_with::Same>,
4169 >::deserialize(deserializer)?))
4170 }
4171 }
4172 match map.next_value::<DeserializeWith>() {
4173 Ok(deserialize_with) => deserialize_with.0,
4174 Err(err) => {
4175 return Err(err);
4176 }
4177 }
4178 });
4179 }
4180 Field::IsVariantOf => {
4181 if r#is_variant_of_property.is_some() {
4182 return Err(<A::Error as de::Error>::duplicate_field(
4183 "isVariantOf",
4184 ));
4185 }
4186 r#is_variant_of_property = Some({
4187 struct DeserializeWith(Vec<IsVariantOfProperty>);
4188 impl<'de> Deserialize<'de> for DeserializeWith {
4189 fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
4190 where
4191 D: Deserializer<'de>,
4192 {
4193 Ok(DeserializeWith(serde_with::As::<
4194 serde_with::OneOrMany<serde_with::Same>,
4195 >::deserialize(deserializer)?))
4196 }
4197 }
4198 match map.next_value::<DeserializeWith>() {
4199 Ok(deserialize_with) => deserialize_with.0,
4200 Err(err) => {
4201 return Err(err);
4202 }
4203 }
4204 });
4205 }
4206 Field::ItemCondition => {
4207 if r#item_condition_property.is_some() {
4208 return Err(<A::Error as de::Error>::duplicate_field(
4209 "itemCondition",
4210 ));
4211 }
4212 r#item_condition_property = Some({
4213 struct DeserializeWith(Vec<ItemConditionProperty>);
4214 impl<'de> Deserialize<'de> for DeserializeWith {
4215 fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
4216 where
4217 D: Deserializer<'de>,
4218 {
4219 Ok(DeserializeWith(serde_with::As::<
4220 serde_with::OneOrMany<serde_with::Same>,
4221 >::deserialize(deserializer)?))
4222 }
4223 }
4224 match map.next_value::<DeserializeWith>() {
4225 Ok(deserialize_with) => deserialize_with.0,
4226 Err(err) => {
4227 return Err(err);
4228 }
4229 }
4230 });
4231 }
4232 Field::Keywords => {
4233 if r#keywords_property.is_some() {
4234 return Err(<A::Error as de::Error>::duplicate_field(
4235 "keywords",
4236 ));
4237 }
4238 r#keywords_property = Some({
4239 struct DeserializeWith(Vec<KeywordsProperty>);
4240 impl<'de> Deserialize<'de> for DeserializeWith {
4241 fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
4242 where
4243 D: Deserializer<'de>,
4244 {
4245 Ok(DeserializeWith(serde_with::As::<
4246 serde_with::OneOrMany<serde_with::Same>,
4247 >::deserialize(deserializer)?))
4248 }
4249 }
4250 match map.next_value::<DeserializeWith>() {
4251 Ok(deserialize_with) => deserialize_with.0,
4252 Err(err) => {
4253 return Err(err);
4254 }
4255 }
4256 });
4257 }
4258 Field::Logo => {
4259 if r#logo_property.is_some() {
4260 return Err(<A::Error as de::Error>::duplicate_field("logo"));
4261 }
4262 r#logo_property = Some({
4263 struct DeserializeWith(Vec<LogoProperty>);
4264 impl<'de> Deserialize<'de> for DeserializeWith {
4265 fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
4266 where
4267 D: Deserializer<'de>,
4268 {
4269 Ok(DeserializeWith(serde_with::As::<
4270 serde_with::OneOrMany<serde_with::Same>,
4271 >::deserialize(deserializer)?))
4272 }
4273 }
4274 match map.next_value::<DeserializeWith>() {
4275 Ok(deserialize_with) => deserialize_with.0,
4276 Err(err) => {
4277 return Err(err);
4278 }
4279 }
4280 });
4281 }
4282 Field::Manufacturer => {
4283 if r#manufacturer_property.is_some() {
4284 return Err(<A::Error as de::Error>::duplicate_field(
4285 "manufacturer",
4286 ));
4287 }
4288 r#manufacturer_property = Some({
4289 struct DeserializeWith(Vec<ManufacturerProperty>);
4290 impl<'de> Deserialize<'de> for DeserializeWith {
4291 fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
4292 where
4293 D: Deserializer<'de>,
4294 {
4295 Ok(DeserializeWith(serde_with::As::<
4296 serde_with::OneOrMany<serde_with::Same>,
4297 >::deserialize(deserializer)?))
4298 }
4299 }
4300 match map.next_value::<DeserializeWith>() {
4301 Ok(deserialize_with) => deserialize_with.0,
4302 Err(err) => {
4303 return Err(err);
4304 }
4305 }
4306 });
4307 }
4308 Field::Material => {
4309 if r#material_property.is_some() {
4310 return Err(<A::Error as de::Error>::duplicate_field(
4311 "material",
4312 ));
4313 }
4314 r#material_property = Some({
4315 struct DeserializeWith(Vec<MaterialProperty>);
4316 impl<'de> Deserialize<'de> for DeserializeWith {
4317 fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
4318 where
4319 D: Deserializer<'de>,
4320 {
4321 Ok(DeserializeWith(serde_with::As::<
4322 serde_with::OneOrMany<serde_with::Same>,
4323 >::deserialize(deserializer)?))
4324 }
4325 }
4326 match map.next_value::<DeserializeWith>() {
4327 Ok(deserialize_with) => deserialize_with.0,
4328 Err(err) => {
4329 return Err(err);
4330 }
4331 }
4332 });
4333 }
4334 Field::MobileUrl => {
4335 if r#mobile_url_property.is_some() {
4336 return Err(<A::Error as de::Error>::duplicate_field(
4337 "mobileUrl",
4338 ));
4339 }
4340 r#mobile_url_property = Some({
4341 struct DeserializeWith(Vec<MobileUrlProperty>);
4342 impl<'de> Deserialize<'de> for DeserializeWith {
4343 fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
4344 where
4345 D: Deserializer<'de>,
4346 {
4347 Ok(DeserializeWith(serde_with::As::<
4348 serde_with::OneOrMany<serde_with::Same>,
4349 >::deserialize(deserializer)?))
4350 }
4351 }
4352 match map.next_value::<DeserializeWith>() {
4353 Ok(deserialize_with) => deserialize_with.0,
4354 Err(err) => {
4355 return Err(err);
4356 }
4357 }
4358 });
4359 }
4360 Field::Model => {
4361 if r#model_property.is_some() {
4362 return Err(<A::Error as de::Error>::duplicate_field("model"));
4363 }
4364 r#model_property = Some({
4365 struct DeserializeWith(Vec<ModelProperty>);
4366 impl<'de> Deserialize<'de> for DeserializeWith {
4367 fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
4368 where
4369 D: Deserializer<'de>,
4370 {
4371 Ok(DeserializeWith(serde_with::As::<
4372 serde_with::OneOrMany<serde_with::Same>,
4373 >::deserialize(deserializer)?))
4374 }
4375 }
4376 match map.next_value::<DeserializeWith>() {
4377 Ok(deserialize_with) => deserialize_with.0,
4378 Err(err) => {
4379 return Err(err);
4380 }
4381 }
4382 });
4383 }
4384 Field::Mpn => {
4385 if r#mpn_property.is_some() {
4386 return Err(<A::Error as de::Error>::duplicate_field("mpn"));
4387 }
4388 r#mpn_property = Some({
4389 struct DeserializeWith(Vec<MpnProperty>);
4390 impl<'de> Deserialize<'de> for DeserializeWith {
4391 fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
4392 where
4393 D: Deserializer<'de>,
4394 {
4395 Ok(DeserializeWith(serde_with::As::<
4396 serde_with::OneOrMany<serde_with::Same>,
4397 >::deserialize(deserializer)?))
4398 }
4399 }
4400 match map.next_value::<DeserializeWith>() {
4401 Ok(deserialize_with) => deserialize_with.0,
4402 Err(err) => {
4403 return Err(err);
4404 }
4405 }
4406 });
4407 }
4408 Field::NegativeNotes => {
4409 if r#negative_notes_property.is_some() {
4410 return Err(<A::Error as de::Error>::duplicate_field(
4411 "negativeNotes",
4412 ));
4413 }
4414 r#negative_notes_property = Some({
4415 struct DeserializeWith(Vec<NegativeNotesProperty>);
4416 impl<'de> Deserialize<'de> for DeserializeWith {
4417 fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
4418 where
4419 D: Deserializer<'de>,
4420 {
4421 Ok(DeserializeWith(serde_with::As::<
4422 serde_with::OneOrMany<serde_with::Same>,
4423 >::deserialize(deserializer)?))
4424 }
4425 }
4426 match map.next_value::<DeserializeWith>() {
4427 Ok(deserialize_with) => deserialize_with.0,
4428 Err(err) => {
4429 return Err(err);
4430 }
4431 }
4432 });
4433 }
4434 Field::Nsn => {
4435 if r#nsn_property.is_some() {
4436 return Err(<A::Error as de::Error>::duplicate_field("nsn"));
4437 }
4438 r#nsn_property = Some({
4439 struct DeserializeWith(Vec<NsnProperty>);
4440 impl<'de> Deserialize<'de> for DeserializeWith {
4441 fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
4442 where
4443 D: Deserializer<'de>,
4444 {
4445 Ok(DeserializeWith(serde_with::As::<
4446 serde_with::OneOrMany<serde_with::Same>,
4447 >::deserialize(deserializer)?))
4448 }
4449 }
4450 match map.next_value::<DeserializeWith>() {
4451 Ok(deserialize_with) => deserialize_with.0,
4452 Err(err) => {
4453 return Err(err);
4454 }
4455 }
4456 });
4457 }
4458 Field::Offers => {
4459 if r#offers_property.is_some() {
4460 return Err(<A::Error as de::Error>::duplicate_field("offers"));
4461 }
4462 r#offers_property = Some({
4463 struct DeserializeWith(Vec<OffersProperty>);
4464 impl<'de> Deserialize<'de> for DeserializeWith {
4465 fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
4466 where
4467 D: Deserializer<'de>,
4468 {
4469 Ok(DeserializeWith(serde_with::As::<
4470 serde_with::OneOrMany<serde_with::Same>,
4471 >::deserialize(deserializer)?))
4472 }
4473 }
4474 match map.next_value::<DeserializeWith>() {
4475 Ok(deserialize_with) => deserialize_with.0,
4476 Err(err) => {
4477 return Err(err);
4478 }
4479 }
4480 });
4481 }
4482 Field::Pattern => {
4483 if r#pattern_property.is_some() {
4484 return Err(<A::Error as de::Error>::duplicate_field(
4485 "pattern",
4486 ));
4487 }
4488 r#pattern_property = Some({
4489 struct DeserializeWith(Vec<PatternProperty>);
4490 impl<'de> Deserialize<'de> for DeserializeWith {
4491 fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
4492 where
4493 D: Deserializer<'de>,
4494 {
4495 Ok(DeserializeWith(serde_with::As::<
4496 serde_with::OneOrMany<serde_with::Same>,
4497 >::deserialize(deserializer)?))
4498 }
4499 }
4500 match map.next_value::<DeserializeWith>() {
4501 Ok(deserialize_with) => deserialize_with.0,
4502 Err(err) => {
4503 return Err(err);
4504 }
4505 }
4506 });
4507 }
4508 Field::PositiveNotes => {
4509 if r#positive_notes_property.is_some() {
4510 return Err(<A::Error as de::Error>::duplicate_field(
4511 "positiveNotes",
4512 ));
4513 }
4514 r#positive_notes_property = Some({
4515 struct DeserializeWith(Vec<PositiveNotesProperty>);
4516 impl<'de> Deserialize<'de> for DeserializeWith {
4517 fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
4518 where
4519 D: Deserializer<'de>,
4520 {
4521 Ok(DeserializeWith(serde_with::As::<
4522 serde_with::OneOrMany<serde_with::Same>,
4523 >::deserialize(deserializer)?))
4524 }
4525 }
4526 match map.next_value::<DeserializeWith>() {
4527 Ok(deserialize_with) => deserialize_with.0,
4528 Err(err) => {
4529 return Err(err);
4530 }
4531 }
4532 });
4533 }
4534 Field::ProductId => {
4535 if r#product_id_property.is_some() {
4536 return Err(<A::Error as de::Error>::duplicate_field(
4537 "productID",
4538 ));
4539 }
4540 r#product_id_property = Some({
4541 struct DeserializeWith(Vec<ProductIdProperty>);
4542 impl<'de> Deserialize<'de> for DeserializeWith {
4543 fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
4544 where
4545 D: Deserializer<'de>,
4546 {
4547 Ok(DeserializeWith(serde_with::As::<
4548 serde_with::OneOrMany<serde_with::Same>,
4549 >::deserialize(deserializer)?))
4550 }
4551 }
4552 match map.next_value::<DeserializeWith>() {
4553 Ok(deserialize_with) => deserialize_with.0,
4554 Err(err) => {
4555 return Err(err);
4556 }
4557 }
4558 });
4559 }
4560 Field::ProductionDate => {
4561 if r#production_date_property.is_some() {
4562 return Err(<A::Error as de::Error>::duplicate_field(
4563 "productionDate",
4564 ));
4565 }
4566 r#production_date_property = Some({
4567 struct DeserializeWith(Vec<ProductionDateProperty>);
4568 impl<'de> Deserialize<'de> for DeserializeWith {
4569 fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
4570 where
4571 D: Deserializer<'de>,
4572 {
4573 Ok(DeserializeWith(serde_with::As::<
4574 serde_with::OneOrMany<serde_with::Same>,
4575 >::deserialize(deserializer)?))
4576 }
4577 }
4578 match map.next_value::<DeserializeWith>() {
4579 Ok(deserialize_with) => deserialize_with.0,
4580 Err(err) => {
4581 return Err(err);
4582 }
4583 }
4584 });
4585 }
4586 Field::PurchaseDate => {
4587 if r#purchase_date_property.is_some() {
4588 return Err(<A::Error as de::Error>::duplicate_field(
4589 "purchaseDate",
4590 ));
4591 }
4592 r#purchase_date_property = Some({
4593 struct DeserializeWith(Vec<PurchaseDateProperty>);
4594 impl<'de> Deserialize<'de> for DeserializeWith {
4595 fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
4596 where
4597 D: Deserializer<'de>,
4598 {
4599 Ok(DeserializeWith(serde_with::As::<
4600 serde_with::OneOrMany<serde_with::Same>,
4601 >::deserialize(deserializer)?))
4602 }
4603 }
4604 match map.next_value::<DeserializeWith>() {
4605 Ok(deserialize_with) => deserialize_with.0,
4606 Err(err) => {
4607 return Err(err);
4608 }
4609 }
4610 });
4611 }
4612 Field::ReleaseDate => {
4613 if r#release_date_property.is_some() {
4614 return Err(<A::Error as de::Error>::duplicate_field(
4615 "releaseDate",
4616 ));
4617 }
4618 r#release_date_property = Some({
4619 struct DeserializeWith(Vec<ReleaseDateProperty>);
4620 impl<'de> Deserialize<'de> for DeserializeWith {
4621 fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
4622 where
4623 D: Deserializer<'de>,
4624 {
4625 Ok(DeserializeWith(serde_with::As::<
4626 serde_with::OneOrMany<serde_with::Same>,
4627 >::deserialize(deserializer)?))
4628 }
4629 }
4630 match map.next_value::<DeserializeWith>() {
4631 Ok(deserialize_with) => deserialize_with.0,
4632 Err(err) => {
4633 return Err(err);
4634 }
4635 }
4636 });
4637 }
4638 Field::Review => {
4639 if r#review_property.is_some() {
4640 return Err(<A::Error as de::Error>::duplicate_field("review"));
4641 }
4642 r#review_property = Some({
4643 struct DeserializeWith(Vec<ReviewProperty>);
4644 impl<'de> Deserialize<'de> for DeserializeWith {
4645 fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
4646 where
4647 D: Deserializer<'de>,
4648 {
4649 Ok(DeserializeWith(serde_with::As::<
4650 serde_with::OneOrMany<serde_with::Same>,
4651 >::deserialize(deserializer)?))
4652 }
4653 }
4654 match map.next_value::<DeserializeWith>() {
4655 Ok(deserialize_with) => deserialize_with.0,
4656 Err(err) => {
4657 return Err(err);
4658 }
4659 }
4660 });
4661 }
4662 Field::Reviews => {
4663 if r#reviews_property.is_some() {
4664 return Err(<A::Error as de::Error>::duplicate_field(
4665 "reviews",
4666 ));
4667 }
4668 r#reviews_property = Some({
4669 struct DeserializeWith(Vec<ReviewsProperty>);
4670 impl<'de> Deserialize<'de> for DeserializeWith {
4671 fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
4672 where
4673 D: Deserializer<'de>,
4674 {
4675 Ok(DeserializeWith(serde_with::As::<
4676 serde_with::OneOrMany<serde_with::Same>,
4677 >::deserialize(deserializer)?))
4678 }
4679 }
4680 match map.next_value::<DeserializeWith>() {
4681 Ok(deserialize_with) => deserialize_with.0,
4682 Err(err) => {
4683 return Err(err);
4684 }
4685 }
4686 });
4687 }
4688 Field::Size => {
4689 if r#size_property.is_some() {
4690 return Err(<A::Error as de::Error>::duplicate_field("size"));
4691 }
4692 r#size_property = Some({
4693 struct DeserializeWith(Vec<SizeProperty>);
4694 impl<'de> Deserialize<'de> for DeserializeWith {
4695 fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
4696 where
4697 D: Deserializer<'de>,
4698 {
4699 Ok(DeserializeWith(serde_with::As::<
4700 serde_with::OneOrMany<serde_with::Same>,
4701 >::deserialize(deserializer)?))
4702 }
4703 }
4704 match map.next_value::<DeserializeWith>() {
4705 Ok(deserialize_with) => deserialize_with.0,
4706 Err(err) => {
4707 return Err(err);
4708 }
4709 }
4710 });
4711 }
4712 Field::Sku => {
4713 if r#sku_property.is_some() {
4714 return Err(<A::Error as de::Error>::duplicate_field("sku"));
4715 }
4716 r#sku_property = Some({
4717 struct DeserializeWith(Vec<SkuProperty>);
4718 impl<'de> Deserialize<'de> for DeserializeWith {
4719 fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
4720 where
4721 D: Deserializer<'de>,
4722 {
4723 Ok(DeserializeWith(serde_with::As::<
4724 serde_with::OneOrMany<serde_with::Same>,
4725 >::deserialize(deserializer)?))
4726 }
4727 }
4728 match map.next_value::<DeserializeWith>() {
4729 Ok(deserialize_with) => deserialize_with.0,
4730 Err(err) => {
4731 return Err(err);
4732 }
4733 }
4734 });
4735 }
4736 Field::Slogan => {
4737 if r#slogan_property.is_some() {
4738 return Err(<A::Error as de::Error>::duplicate_field("slogan"));
4739 }
4740 r#slogan_property = Some({
4741 struct DeserializeWith(Vec<SloganProperty>);
4742 impl<'de> Deserialize<'de> for DeserializeWith {
4743 fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
4744 where
4745 D: Deserializer<'de>,
4746 {
4747 Ok(DeserializeWith(serde_with::As::<
4748 serde_with::OneOrMany<serde_with::Same>,
4749 >::deserialize(deserializer)?))
4750 }
4751 }
4752 match map.next_value::<DeserializeWith>() {
4753 Ok(deserialize_with) => deserialize_with.0,
4754 Err(err) => {
4755 return Err(err);
4756 }
4757 }
4758 });
4759 }
4760 Field::Weight => {
4761 if r#weight_property.is_some() {
4762 return Err(<A::Error as de::Error>::duplicate_field("weight"));
4763 }
4764 r#weight_property = Some({
4765 struct DeserializeWith(Vec<WeightProperty>);
4766 impl<'de> Deserialize<'de> for DeserializeWith {
4767 fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
4768 where
4769 D: Deserializer<'de>,
4770 {
4771 Ok(DeserializeWith(serde_with::As::<
4772 serde_with::OneOrMany<serde_with::Same>,
4773 >::deserialize(deserializer)?))
4774 }
4775 }
4776 match map.next_value::<DeserializeWith>() {
4777 Ok(deserialize_with) => deserialize_with.0,
4778 Err(err) => {
4779 return Err(err);
4780 }
4781 }
4782 });
4783 }
4784 Field::Width => {
4785 if r#width_property.is_some() {
4786 return Err(<A::Error as de::Error>::duplicate_field("width"));
4787 }
4788 r#width_property = Some({
4789 struct DeserializeWith(Vec<WidthProperty>);
4790 impl<'de> Deserialize<'de> for DeserializeWith {
4791 fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
4792 where
4793 D: Deserializer<'de>,
4794 {
4795 Ok(DeserializeWith(serde_with::As::<
4796 serde_with::OneOrMany<serde_with::Same>,
4797 >::deserialize(deserializer)?))
4798 }
4799 }
4800 match map.next_value::<DeserializeWith>() {
4801 Ok(deserialize_with) => deserialize_with.0,
4802 Err(err) => {
4803 return Err(err);
4804 }
4805 }
4806 });
4807 }
4808 Field::AdditionalType => {
4809 if r#additional_type_property.is_some() {
4810 return Err(<A::Error as de::Error>::duplicate_field(
4811 "additionalType",
4812 ));
4813 }
4814 r#additional_type_property = Some({
4815 struct DeserializeWith(Vec<AdditionalTypeProperty>);
4816 impl<'de> Deserialize<'de> for DeserializeWith {
4817 fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
4818 where
4819 D: Deserializer<'de>,
4820 {
4821 Ok(DeserializeWith(serde_with::As::<
4822 serde_with::OneOrMany<serde_with::Same>,
4823 >::deserialize(deserializer)?))
4824 }
4825 }
4826 match map.next_value::<DeserializeWith>() {
4827 Ok(deserialize_with) => deserialize_with.0,
4828 Err(err) => {
4829 return Err(err);
4830 }
4831 }
4832 });
4833 }
4834 Field::AlternateName => {
4835 if r#alternate_name_property.is_some() {
4836 return Err(<A::Error as de::Error>::duplicate_field(
4837 "alternateName",
4838 ));
4839 }
4840 r#alternate_name_property = Some({
4841 struct DeserializeWith(Vec<AlternateNameProperty>);
4842 impl<'de> Deserialize<'de> for DeserializeWith {
4843 fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
4844 where
4845 D: Deserializer<'de>,
4846 {
4847 Ok(DeserializeWith(serde_with::As::<
4848 serde_with::OneOrMany<serde_with::Same>,
4849 >::deserialize(deserializer)?))
4850 }
4851 }
4852 match map.next_value::<DeserializeWith>() {
4853 Ok(deserialize_with) => deserialize_with.0,
4854 Err(err) => {
4855 return Err(err);
4856 }
4857 }
4858 });
4859 }
4860 Field::Description => {
4861 if r#description_property.is_some() {
4862 return Err(<A::Error as de::Error>::duplicate_field(
4863 "description",
4864 ));
4865 }
4866 r#description_property = Some({
4867 struct DeserializeWith(Vec<DescriptionProperty>);
4868 impl<'de> Deserialize<'de> for DeserializeWith {
4869 fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
4870 where
4871 D: Deserializer<'de>,
4872 {
4873 Ok(DeserializeWith(serde_with::As::<
4874 serde_with::OneOrMany<serde_with::Same>,
4875 >::deserialize(deserializer)?))
4876 }
4877 }
4878 match map.next_value::<DeserializeWith>() {
4879 Ok(deserialize_with) => deserialize_with.0,
4880 Err(err) => {
4881 return Err(err);
4882 }
4883 }
4884 });
4885 }
4886 Field::DisambiguatingDescription => {
4887 if r#disambiguating_description_property.is_some() {
4888 return Err(<A::Error as de::Error>::duplicate_field(
4889 "disambiguatingDescription",
4890 ));
4891 }
4892 r#disambiguating_description_property = Some({
4893 struct DeserializeWith(Vec<DisambiguatingDescriptionProperty>);
4894 impl<'de> Deserialize<'de> for DeserializeWith {
4895 fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
4896 where
4897 D: Deserializer<'de>,
4898 {
4899 Ok(DeserializeWith(serde_with::As::<
4900 serde_with::OneOrMany<serde_with::Same>,
4901 >::deserialize(deserializer)?))
4902 }
4903 }
4904 match map.next_value::<DeserializeWith>() {
4905 Ok(deserialize_with) => deserialize_with.0,
4906 Err(err) => {
4907 return Err(err);
4908 }
4909 }
4910 });
4911 }
4912 Field::Identifier => {
4913 if r#identifier_property.is_some() {
4914 return Err(<A::Error as de::Error>::duplicate_field(
4915 "identifier",
4916 ));
4917 }
4918 r#identifier_property = Some({
4919 struct DeserializeWith(Vec<IdentifierProperty>);
4920 impl<'de> Deserialize<'de> for DeserializeWith {
4921 fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
4922 where
4923 D: Deserializer<'de>,
4924 {
4925 Ok(DeserializeWith(serde_with::As::<
4926 serde_with::OneOrMany<serde_with::Same>,
4927 >::deserialize(deserializer)?))
4928 }
4929 }
4930 match map.next_value::<DeserializeWith>() {
4931 Ok(deserialize_with) => deserialize_with.0,
4932 Err(err) => {
4933 return Err(err);
4934 }
4935 }
4936 });
4937 }
4938 Field::Image => {
4939 if r#image_property.is_some() {
4940 return Err(<A::Error as de::Error>::duplicate_field("image"));
4941 }
4942 r#image_property = Some({
4943 struct DeserializeWith(Vec<ImageProperty>);
4944 impl<'de> Deserialize<'de> for DeserializeWith {
4945 fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
4946 where
4947 D: Deserializer<'de>,
4948 {
4949 Ok(DeserializeWith(serde_with::As::<
4950 serde_with::OneOrMany<serde_with::Same>,
4951 >::deserialize(deserializer)?))
4952 }
4953 }
4954 match map.next_value::<DeserializeWith>() {
4955 Ok(deserialize_with) => deserialize_with.0,
4956 Err(err) => {
4957 return Err(err);
4958 }
4959 }
4960 });
4961 }
4962 Field::MainEntityOfPage => {
4963 if r#main_entity_of_page_property.is_some() {
4964 return Err(<A::Error as de::Error>::duplicate_field(
4965 "mainEntityOfPage",
4966 ));
4967 }
4968 r#main_entity_of_page_property = Some({
4969 struct DeserializeWith(Vec<MainEntityOfPageProperty>);
4970 impl<'de> Deserialize<'de> for DeserializeWith {
4971 fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
4972 where
4973 D: Deserializer<'de>,
4974 {
4975 Ok(DeserializeWith(serde_with::As::<
4976 serde_with::OneOrMany<serde_with::Same>,
4977 >::deserialize(deserializer)?))
4978 }
4979 }
4980 match map.next_value::<DeserializeWith>() {
4981 Ok(deserialize_with) => deserialize_with.0,
4982 Err(err) => {
4983 return Err(err);
4984 }
4985 }
4986 });
4987 }
4988 Field::Name => {
4989 if r#name_property.is_some() {
4990 return Err(<A::Error as de::Error>::duplicate_field("name"));
4991 }
4992 r#name_property = Some({
4993 struct DeserializeWith(Vec<NameProperty>);
4994 impl<'de> Deserialize<'de> for DeserializeWith {
4995 fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
4996 where
4997 D: Deserializer<'de>,
4998 {
4999 Ok(DeserializeWith(serde_with::As::<
5000 serde_with::OneOrMany<serde_with::Same>,
5001 >::deserialize(deserializer)?))
5002 }
5003 }
5004 match map.next_value::<DeserializeWith>() {
5005 Ok(deserialize_with) => deserialize_with.0,
5006 Err(err) => {
5007 return Err(err);
5008 }
5009 }
5010 });
5011 }
5012 Field::PotentialAction => {
5013 if r#potential_action_property.is_some() {
5014 return Err(<A::Error as de::Error>::duplicate_field(
5015 "potentialAction",
5016 ));
5017 }
5018 r#potential_action_property = Some({
5019 struct DeserializeWith(Vec<PotentialActionProperty>);
5020 impl<'de> Deserialize<'de> for DeserializeWith {
5021 fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
5022 where
5023 D: Deserializer<'de>,
5024 {
5025 Ok(DeserializeWith(serde_with::As::<
5026 serde_with::OneOrMany<serde_with::Same>,
5027 >::deserialize(deserializer)?))
5028 }
5029 }
5030 match map.next_value::<DeserializeWith>() {
5031 Ok(deserialize_with) => deserialize_with.0,
5032 Err(err) => {
5033 return Err(err);
5034 }
5035 }
5036 });
5037 }
5038 Field::SameAs => {
5039 if r#same_as_property.is_some() {
5040 return Err(<A::Error as de::Error>::duplicate_field("sameAs"));
5041 }
5042 r#same_as_property = Some({
5043 struct DeserializeWith(Vec<SameAsProperty>);
5044 impl<'de> Deserialize<'de> for DeserializeWith {
5045 fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
5046 where
5047 D: Deserializer<'de>,
5048 {
5049 Ok(DeserializeWith(serde_with::As::<
5050 serde_with::OneOrMany<serde_with::Same>,
5051 >::deserialize(deserializer)?))
5052 }
5053 }
5054 match map.next_value::<DeserializeWith>() {
5055 Ok(deserialize_with) => deserialize_with.0,
5056 Err(err) => {
5057 return Err(err);
5058 }
5059 }
5060 });
5061 }
5062 Field::SubjectOf => {
5063 if r#subject_of_property.is_some() {
5064 return Err(<A::Error as de::Error>::duplicate_field(
5065 "subjectOf",
5066 ));
5067 }
5068 r#subject_of_property = Some({
5069 struct DeserializeWith(Vec<SubjectOfProperty>);
5070 impl<'de> Deserialize<'de> for DeserializeWith {
5071 fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
5072 where
5073 D: Deserializer<'de>,
5074 {
5075 Ok(DeserializeWith(serde_with::As::<
5076 serde_with::OneOrMany<serde_with::Same>,
5077 >::deserialize(deserializer)?))
5078 }
5079 }
5080 match map.next_value::<DeserializeWith>() {
5081 Ok(deserialize_with) => deserialize_with.0,
5082 Err(err) => {
5083 return Err(err);
5084 }
5085 }
5086 });
5087 }
5088 Field::Url => {
5089 if r#url_property.is_some() {
5090 return Err(<A::Error as de::Error>::duplicate_field("url"));
5091 }
5092 r#url_property = Some({
5093 struct DeserializeWith(Vec<UrlProperty>);
5094 impl<'de> Deserialize<'de> for DeserializeWith {
5095 fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
5096 where
5097 D: Deserializer<'de>,
5098 {
5099 Ok(DeserializeWith(serde_with::As::<
5100 serde_with::OneOrMany<serde_with::Same>,
5101 >::deserialize(deserializer)?))
5102 }
5103 }
5104 match map.next_value::<DeserializeWith>() {
5105 Ok(deserialize_with) => deserialize_with.0,
5106 Err(err) => {
5107 return Err(err);
5108 }
5109 }
5110 });
5111 }
5112 Field::AccelerationTime => {
5113 if r#acceleration_time_property.is_some() {
5114 return Err(<A::Error as de::Error>::duplicate_field(
5115 "accelerationTime",
5116 ));
5117 }
5118 r#acceleration_time_property = Some({
5119 struct DeserializeWith(Vec<AccelerationTimeProperty>);
5120 impl<'de> Deserialize<'de> for DeserializeWith {
5121 fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
5122 where
5123 D: Deserializer<'de>,
5124 {
5125 Ok(DeserializeWith(serde_with::As::<
5126 serde_with::OneOrMany<serde_with::Same>,
5127 >::deserialize(deserializer)?))
5128 }
5129 }
5130 match map.next_value::<DeserializeWith>() {
5131 Ok(deserialize_with) => deserialize_with.0,
5132 Err(err) => {
5133 return Err(err);
5134 }
5135 }
5136 });
5137 }
5138 Field::BodyType => {
5139 if r#body_type_property.is_some() {
5140 return Err(<A::Error as de::Error>::duplicate_field(
5141 "bodyType",
5142 ));
5143 }
5144 r#body_type_property = Some({
5145 struct DeserializeWith(Vec<BodyTypeProperty>);
5146 impl<'de> Deserialize<'de> for DeserializeWith {
5147 fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
5148 where
5149 D: Deserializer<'de>,
5150 {
5151 Ok(DeserializeWith(serde_with::As::<
5152 serde_with::OneOrMany<serde_with::Same>,
5153 >::deserialize(deserializer)?))
5154 }
5155 }
5156 match map.next_value::<DeserializeWith>() {
5157 Ok(deserialize_with) => deserialize_with.0,
5158 Err(err) => {
5159 return Err(err);
5160 }
5161 }
5162 });
5163 }
5164 Field::CallSign => {
5165 if r#call_sign_property.is_some() {
5166 return Err(<A::Error as de::Error>::duplicate_field(
5167 "callSign",
5168 ));
5169 }
5170 r#call_sign_property = Some({
5171 struct DeserializeWith(Vec<CallSignProperty>);
5172 impl<'de> Deserialize<'de> for DeserializeWith {
5173 fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
5174 where
5175 D: Deserializer<'de>,
5176 {
5177 Ok(DeserializeWith(serde_with::As::<
5178 serde_with::OneOrMany<serde_with::Same>,
5179 >::deserialize(deserializer)?))
5180 }
5181 }
5182 match map.next_value::<DeserializeWith>() {
5183 Ok(deserialize_with) => deserialize_with.0,
5184 Err(err) => {
5185 return Err(err);
5186 }
5187 }
5188 });
5189 }
5190 Field::CargoVolume => {
5191 if r#cargo_volume_property.is_some() {
5192 return Err(<A::Error as de::Error>::duplicate_field(
5193 "cargoVolume",
5194 ));
5195 }
5196 r#cargo_volume_property = Some({
5197 struct DeserializeWith(Vec<CargoVolumeProperty>);
5198 impl<'de> Deserialize<'de> for DeserializeWith {
5199 fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
5200 where
5201 D: Deserializer<'de>,
5202 {
5203 Ok(DeserializeWith(serde_with::As::<
5204 serde_with::OneOrMany<serde_with::Same>,
5205 >::deserialize(deserializer)?))
5206 }
5207 }
5208 match map.next_value::<DeserializeWith>() {
5209 Ok(deserialize_with) => deserialize_with.0,
5210 Err(err) => {
5211 return Err(err);
5212 }
5213 }
5214 });
5215 }
5216 Field::DateVehicleFirstRegistered => {
5217 if r#date_vehicle_first_registered_property.is_some() {
5218 return Err(<A::Error as de::Error>::duplicate_field(
5219 "dateVehicleFirstRegistered",
5220 ));
5221 }
5222 r#date_vehicle_first_registered_property = Some({
5223 struct DeserializeWith(Vec<DateVehicleFirstRegisteredProperty>);
5224 impl<'de> Deserialize<'de> for DeserializeWith {
5225 fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
5226 where
5227 D: Deserializer<'de>,
5228 {
5229 Ok(DeserializeWith(serde_with::As::<
5230 serde_with::OneOrMany<serde_with::Same>,
5231 >::deserialize(deserializer)?))
5232 }
5233 }
5234 match map.next_value::<DeserializeWith>() {
5235 Ok(deserialize_with) => deserialize_with.0,
5236 Err(err) => {
5237 return Err(err);
5238 }
5239 }
5240 });
5241 }
5242 Field::DriveWheelConfiguration => {
5243 if r#drive_wheel_configuration_property.is_some() {
5244 return Err(<A::Error as de::Error>::duplicate_field(
5245 "driveWheelConfiguration",
5246 ));
5247 }
5248 r#drive_wheel_configuration_property = Some({
5249 struct DeserializeWith(Vec<DriveWheelConfigurationProperty>);
5250 impl<'de> Deserialize<'de> for DeserializeWith {
5251 fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
5252 where
5253 D: Deserializer<'de>,
5254 {
5255 Ok(DeserializeWith(serde_with::As::<
5256 serde_with::OneOrMany<serde_with::Same>,
5257 >::deserialize(deserializer)?))
5258 }
5259 }
5260 match map.next_value::<DeserializeWith>() {
5261 Ok(deserialize_with) => deserialize_with.0,
5262 Err(err) => {
5263 return Err(err);
5264 }
5265 }
5266 });
5267 }
5268 Field::EmissionsCo2 => {
5269 if r#emissions_co_2_property.is_some() {
5270 return Err(<A::Error as de::Error>::duplicate_field(
5271 "emissionsCO2",
5272 ));
5273 }
5274 r#emissions_co_2_property = Some({
5275 struct DeserializeWith(Vec<EmissionsCo2Property>);
5276 impl<'de> Deserialize<'de> for DeserializeWith {
5277 fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
5278 where
5279 D: Deserializer<'de>,
5280 {
5281 Ok(DeserializeWith(serde_with::As::<
5282 serde_with::OneOrMany<serde_with::Same>,
5283 >::deserialize(deserializer)?))
5284 }
5285 }
5286 match map.next_value::<DeserializeWith>() {
5287 Ok(deserialize_with) => deserialize_with.0,
5288 Err(err) => {
5289 return Err(err);
5290 }
5291 }
5292 });
5293 }
5294 Field::FuelCapacity => {
5295 if r#fuel_capacity_property.is_some() {
5296 return Err(<A::Error as de::Error>::duplicate_field(
5297 "fuelCapacity",
5298 ));
5299 }
5300 r#fuel_capacity_property = Some({
5301 struct DeserializeWith(Vec<FuelCapacityProperty>);
5302 impl<'de> Deserialize<'de> for DeserializeWith {
5303 fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
5304 where
5305 D: Deserializer<'de>,
5306 {
5307 Ok(DeserializeWith(serde_with::As::<
5308 serde_with::OneOrMany<serde_with::Same>,
5309 >::deserialize(deserializer)?))
5310 }
5311 }
5312 match map.next_value::<DeserializeWith>() {
5313 Ok(deserialize_with) => deserialize_with.0,
5314 Err(err) => {
5315 return Err(err);
5316 }
5317 }
5318 });
5319 }
5320 Field::FuelConsumption => {
5321 if r#fuel_consumption_property.is_some() {
5322 return Err(<A::Error as de::Error>::duplicate_field(
5323 "fuelConsumption",
5324 ));
5325 }
5326 r#fuel_consumption_property = Some({
5327 struct DeserializeWith(Vec<FuelConsumptionProperty>);
5328 impl<'de> Deserialize<'de> for DeserializeWith {
5329 fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
5330 where
5331 D: Deserializer<'de>,
5332 {
5333 Ok(DeserializeWith(serde_with::As::<
5334 serde_with::OneOrMany<serde_with::Same>,
5335 >::deserialize(deserializer)?))
5336 }
5337 }
5338 match map.next_value::<DeserializeWith>() {
5339 Ok(deserialize_with) => deserialize_with.0,
5340 Err(err) => {
5341 return Err(err);
5342 }
5343 }
5344 });
5345 }
5346 Field::FuelEfficiency => {
5347 if r#fuel_efficiency_property.is_some() {
5348 return Err(<A::Error as de::Error>::duplicate_field(
5349 "fuelEfficiency",
5350 ));
5351 }
5352 r#fuel_efficiency_property = Some({
5353 struct DeserializeWith(Vec<FuelEfficiencyProperty>);
5354 impl<'de> Deserialize<'de> for DeserializeWith {
5355 fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
5356 where
5357 D: Deserializer<'de>,
5358 {
5359 Ok(DeserializeWith(serde_with::As::<
5360 serde_with::OneOrMany<serde_with::Same>,
5361 >::deserialize(deserializer)?))
5362 }
5363 }
5364 match map.next_value::<DeserializeWith>() {
5365 Ok(deserialize_with) => deserialize_with.0,
5366 Err(err) => {
5367 return Err(err);
5368 }
5369 }
5370 });
5371 }
5372 Field::FuelType => {
5373 if r#fuel_type_property.is_some() {
5374 return Err(<A::Error as de::Error>::duplicate_field(
5375 "fuelType",
5376 ));
5377 }
5378 r#fuel_type_property = Some({
5379 struct DeserializeWith(Vec<FuelTypeProperty>);
5380 impl<'de> Deserialize<'de> for DeserializeWith {
5381 fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
5382 where
5383 D: Deserializer<'de>,
5384 {
5385 Ok(DeserializeWith(serde_with::As::<
5386 serde_with::OneOrMany<serde_with::Same>,
5387 >::deserialize(deserializer)?))
5388 }
5389 }
5390 match map.next_value::<DeserializeWith>() {
5391 Ok(deserialize_with) => deserialize_with.0,
5392 Err(err) => {
5393 return Err(err);
5394 }
5395 }
5396 });
5397 }
5398 Field::KnownVehicleDamages => {
5399 if r#known_vehicle_damages_property.is_some() {
5400 return Err(<A::Error as de::Error>::duplicate_field(
5401 "knownVehicleDamages",
5402 ));
5403 }
5404 r#known_vehicle_damages_property = Some({
5405 struct DeserializeWith(Vec<KnownVehicleDamagesProperty>);
5406 impl<'de> Deserialize<'de> for DeserializeWith {
5407 fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
5408 where
5409 D: Deserializer<'de>,
5410 {
5411 Ok(DeserializeWith(serde_with::As::<
5412 serde_with::OneOrMany<serde_with::Same>,
5413 >::deserialize(deserializer)?))
5414 }
5415 }
5416 match map.next_value::<DeserializeWith>() {
5417 Ok(deserialize_with) => deserialize_with.0,
5418 Err(err) => {
5419 return Err(err);
5420 }
5421 }
5422 });
5423 }
5424 Field::MeetsEmissionStandard => {
5425 if r#meets_emission_standard_property.is_some() {
5426 return Err(<A::Error as de::Error>::duplicate_field(
5427 "meetsEmissionStandard",
5428 ));
5429 }
5430 r#meets_emission_standard_property = Some({
5431 struct DeserializeWith(Vec<MeetsEmissionStandardProperty>);
5432 impl<'de> Deserialize<'de> for DeserializeWith {
5433 fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
5434 where
5435 D: Deserializer<'de>,
5436 {
5437 Ok(DeserializeWith(serde_with::As::<
5438 serde_with::OneOrMany<serde_with::Same>,
5439 >::deserialize(deserializer)?))
5440 }
5441 }
5442 match map.next_value::<DeserializeWith>() {
5443 Ok(deserialize_with) => deserialize_with.0,
5444 Err(err) => {
5445 return Err(err);
5446 }
5447 }
5448 });
5449 }
5450 Field::MileageFromOdometer => {
5451 if r#mileage_from_odometer_property.is_some() {
5452 return Err(<A::Error as de::Error>::duplicate_field(
5453 "mileageFromOdometer",
5454 ));
5455 }
5456 r#mileage_from_odometer_property = Some({
5457 struct DeserializeWith(Vec<MileageFromOdometerProperty>);
5458 impl<'de> Deserialize<'de> for DeserializeWith {
5459 fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
5460 where
5461 D: Deserializer<'de>,
5462 {
5463 Ok(DeserializeWith(serde_with::As::<
5464 serde_with::OneOrMany<serde_with::Same>,
5465 >::deserialize(deserializer)?))
5466 }
5467 }
5468 match map.next_value::<DeserializeWith>() {
5469 Ok(deserialize_with) => deserialize_with.0,
5470 Err(err) => {
5471 return Err(err);
5472 }
5473 }
5474 });
5475 }
5476 Field::ModelDate => {
5477 if r#model_date_property.is_some() {
5478 return Err(<A::Error as de::Error>::duplicate_field(
5479 "modelDate",
5480 ));
5481 }
5482 r#model_date_property = Some({
5483 struct DeserializeWith(Vec<ModelDateProperty>);
5484 impl<'de> Deserialize<'de> for DeserializeWith {
5485 fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
5486 where
5487 D: Deserializer<'de>,
5488 {
5489 Ok(DeserializeWith(serde_with::As::<
5490 serde_with::OneOrMany<serde_with::Same>,
5491 >::deserialize(deserializer)?))
5492 }
5493 }
5494 match map.next_value::<DeserializeWith>() {
5495 Ok(deserialize_with) => deserialize_with.0,
5496 Err(err) => {
5497 return Err(err);
5498 }
5499 }
5500 });
5501 }
5502 Field::NumberOfAirbags => {
5503 if r#number_of_airbags_property.is_some() {
5504 return Err(<A::Error as de::Error>::duplicate_field(
5505 "numberOfAirbags",
5506 ));
5507 }
5508 r#number_of_airbags_property = Some({
5509 struct DeserializeWith(Vec<NumberOfAirbagsProperty>);
5510 impl<'de> Deserialize<'de> for DeserializeWith {
5511 fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
5512 where
5513 D: Deserializer<'de>,
5514 {
5515 Ok(DeserializeWith(serde_with::As::<
5516 serde_with::OneOrMany<serde_with::Same>,
5517 >::deserialize(deserializer)?))
5518 }
5519 }
5520 match map.next_value::<DeserializeWith>() {
5521 Ok(deserialize_with) => deserialize_with.0,
5522 Err(err) => {
5523 return Err(err);
5524 }
5525 }
5526 });
5527 }
5528 Field::NumberOfAxles => {
5529 if r#number_of_axles_property.is_some() {
5530 return Err(<A::Error as de::Error>::duplicate_field(
5531 "numberOfAxles",
5532 ));
5533 }
5534 r#number_of_axles_property = Some({
5535 struct DeserializeWith(Vec<NumberOfAxlesProperty>);
5536 impl<'de> Deserialize<'de> for DeserializeWith {
5537 fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
5538 where
5539 D: Deserializer<'de>,
5540 {
5541 Ok(DeserializeWith(serde_with::As::<
5542 serde_with::OneOrMany<serde_with::Same>,
5543 >::deserialize(deserializer)?))
5544 }
5545 }
5546 match map.next_value::<DeserializeWith>() {
5547 Ok(deserialize_with) => deserialize_with.0,
5548 Err(err) => {
5549 return Err(err);
5550 }
5551 }
5552 });
5553 }
5554 Field::NumberOfDoors => {
5555 if r#number_of_doors_property.is_some() {
5556 return Err(<A::Error as de::Error>::duplicate_field(
5557 "numberOfDoors",
5558 ));
5559 }
5560 r#number_of_doors_property = Some({
5561 struct DeserializeWith(Vec<NumberOfDoorsProperty>);
5562 impl<'de> Deserialize<'de> for DeserializeWith {
5563 fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
5564 where
5565 D: Deserializer<'de>,
5566 {
5567 Ok(DeserializeWith(serde_with::As::<
5568 serde_with::OneOrMany<serde_with::Same>,
5569 >::deserialize(deserializer)?))
5570 }
5571 }
5572 match map.next_value::<DeserializeWith>() {
5573 Ok(deserialize_with) => deserialize_with.0,
5574 Err(err) => {
5575 return Err(err);
5576 }
5577 }
5578 });
5579 }
5580 Field::NumberOfForwardGears => {
5581 if r#number_of_forward_gears_property.is_some() {
5582 return Err(<A::Error as de::Error>::duplicate_field(
5583 "numberOfForwardGears",
5584 ));
5585 }
5586 r#number_of_forward_gears_property = Some({
5587 struct DeserializeWith(Vec<NumberOfForwardGearsProperty>);
5588 impl<'de> Deserialize<'de> for DeserializeWith {
5589 fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
5590 where
5591 D: Deserializer<'de>,
5592 {
5593 Ok(DeserializeWith(serde_with::As::<
5594 serde_with::OneOrMany<serde_with::Same>,
5595 >::deserialize(deserializer)?))
5596 }
5597 }
5598 match map.next_value::<DeserializeWith>() {
5599 Ok(deserialize_with) => deserialize_with.0,
5600 Err(err) => {
5601 return Err(err);
5602 }
5603 }
5604 });
5605 }
5606 Field::NumberOfPreviousOwners => {
5607 if r#number_of_previous_owners_property.is_some() {
5608 return Err(<A::Error as de::Error>::duplicate_field(
5609 "numberOfPreviousOwners",
5610 ));
5611 }
5612 r#number_of_previous_owners_property = Some({
5613 struct DeserializeWith(Vec<NumberOfPreviousOwnersProperty>);
5614 impl<'de> Deserialize<'de> for DeserializeWith {
5615 fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
5616 where
5617 D: Deserializer<'de>,
5618 {
5619 Ok(DeserializeWith(serde_with::As::<
5620 serde_with::OneOrMany<serde_with::Same>,
5621 >::deserialize(deserializer)?))
5622 }
5623 }
5624 match map.next_value::<DeserializeWith>() {
5625 Ok(deserialize_with) => deserialize_with.0,
5626 Err(err) => {
5627 return Err(err);
5628 }
5629 }
5630 });
5631 }
5632 Field::Payload => {
5633 if r#payload_property.is_some() {
5634 return Err(<A::Error as de::Error>::duplicate_field(
5635 "payload",
5636 ));
5637 }
5638 r#payload_property = Some({
5639 struct DeserializeWith(Vec<PayloadProperty>);
5640 impl<'de> Deserialize<'de> for DeserializeWith {
5641 fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
5642 where
5643 D: Deserializer<'de>,
5644 {
5645 Ok(DeserializeWith(serde_with::As::<
5646 serde_with::OneOrMany<serde_with::Same>,
5647 >::deserialize(deserializer)?))
5648 }
5649 }
5650 match map.next_value::<DeserializeWith>() {
5651 Ok(deserialize_with) => deserialize_with.0,
5652 Err(err) => {
5653 return Err(err);
5654 }
5655 }
5656 });
5657 }
5658 Field::SeatingCapacity => {
5659 if r#seating_capacity_property.is_some() {
5660 return Err(<A::Error as de::Error>::duplicate_field(
5661 "seatingCapacity",
5662 ));
5663 }
5664 r#seating_capacity_property = Some({
5665 struct DeserializeWith(Vec<SeatingCapacityProperty>);
5666 impl<'de> Deserialize<'de> for DeserializeWith {
5667 fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
5668 where
5669 D: Deserializer<'de>,
5670 {
5671 Ok(DeserializeWith(serde_with::As::<
5672 serde_with::OneOrMany<serde_with::Same>,
5673 >::deserialize(deserializer)?))
5674 }
5675 }
5676 match map.next_value::<DeserializeWith>() {
5677 Ok(deserialize_with) => deserialize_with.0,
5678 Err(err) => {
5679 return Err(err);
5680 }
5681 }
5682 });
5683 }
5684 Field::Speed => {
5685 if r#speed_property.is_some() {
5686 return Err(<A::Error as de::Error>::duplicate_field("speed"));
5687 }
5688 r#speed_property = Some({
5689 struct DeserializeWith(Vec<SpeedProperty>);
5690 impl<'de> Deserialize<'de> for DeserializeWith {
5691 fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
5692 where
5693 D: Deserializer<'de>,
5694 {
5695 Ok(DeserializeWith(serde_with::As::<
5696 serde_with::OneOrMany<serde_with::Same>,
5697 >::deserialize(deserializer)?))
5698 }
5699 }
5700 match map.next_value::<DeserializeWith>() {
5701 Ok(deserialize_with) => deserialize_with.0,
5702 Err(err) => {
5703 return Err(err);
5704 }
5705 }
5706 });
5707 }
5708 Field::SteeringPosition => {
5709 if r#steering_position_property.is_some() {
5710 return Err(<A::Error as de::Error>::duplicate_field(
5711 "steeringPosition",
5712 ));
5713 }
5714 r#steering_position_property = Some({
5715 struct DeserializeWith(Vec<SteeringPositionProperty>);
5716 impl<'de> Deserialize<'de> for DeserializeWith {
5717 fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
5718 where
5719 D: Deserializer<'de>,
5720 {
5721 Ok(DeserializeWith(serde_with::As::<
5722 serde_with::OneOrMany<serde_with::Same>,
5723 >::deserialize(deserializer)?))
5724 }
5725 }
5726 match map.next_value::<DeserializeWith>() {
5727 Ok(deserialize_with) => deserialize_with.0,
5728 Err(err) => {
5729 return Err(err);
5730 }
5731 }
5732 });
5733 }
5734 Field::StupidProperty => {
5735 if r#stupid_property_property.is_some() {
5736 return Err(<A::Error as de::Error>::duplicate_field(
5737 "stupidProperty",
5738 ));
5739 }
5740 r#stupid_property_property = Some({
5741 struct DeserializeWith(Vec<StupidPropertyProperty>);
5742 impl<'de> Deserialize<'de> for DeserializeWith {
5743 fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
5744 where
5745 D: Deserializer<'de>,
5746 {
5747 Ok(DeserializeWith(serde_with::As::<
5748 serde_with::OneOrMany<serde_with::Same>,
5749 >::deserialize(deserializer)?))
5750 }
5751 }
5752 match map.next_value::<DeserializeWith>() {
5753 Ok(deserialize_with) => deserialize_with.0,
5754 Err(err) => {
5755 return Err(err);
5756 }
5757 }
5758 });
5759 }
5760 Field::TongueWeight => {
5761 if r#tongue_weight_property.is_some() {
5762 return Err(<A::Error as de::Error>::duplicate_field(
5763 "tongueWeight",
5764 ));
5765 }
5766 r#tongue_weight_property = Some({
5767 struct DeserializeWith(Vec<TongueWeightProperty>);
5768 impl<'de> Deserialize<'de> for DeserializeWith {
5769 fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
5770 where
5771 D: Deserializer<'de>,
5772 {
5773 Ok(DeserializeWith(serde_with::As::<
5774 serde_with::OneOrMany<serde_with::Same>,
5775 >::deserialize(deserializer)?))
5776 }
5777 }
5778 match map.next_value::<DeserializeWith>() {
5779 Ok(deserialize_with) => deserialize_with.0,
5780 Err(err) => {
5781 return Err(err);
5782 }
5783 }
5784 });
5785 }
5786 Field::TrailerWeight => {
5787 if r#trailer_weight_property.is_some() {
5788 return Err(<A::Error as de::Error>::duplicate_field(
5789 "trailerWeight",
5790 ));
5791 }
5792 r#trailer_weight_property = Some({
5793 struct DeserializeWith(Vec<TrailerWeightProperty>);
5794 impl<'de> Deserialize<'de> for DeserializeWith {
5795 fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
5796 where
5797 D: Deserializer<'de>,
5798 {
5799 Ok(DeserializeWith(serde_with::As::<
5800 serde_with::OneOrMany<serde_with::Same>,
5801 >::deserialize(deserializer)?))
5802 }
5803 }
5804 match map.next_value::<DeserializeWith>() {
5805 Ok(deserialize_with) => deserialize_with.0,
5806 Err(err) => {
5807 return Err(err);
5808 }
5809 }
5810 });
5811 }
5812 Field::VehicleConfiguration => {
5813 if r#vehicle_configuration_property.is_some() {
5814 return Err(<A::Error as de::Error>::duplicate_field(
5815 "vehicleConfiguration",
5816 ));
5817 }
5818 r#vehicle_configuration_property = Some({
5819 struct DeserializeWith(Vec<VehicleConfigurationProperty>);
5820 impl<'de> Deserialize<'de> for DeserializeWith {
5821 fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
5822 where
5823 D: Deserializer<'de>,
5824 {
5825 Ok(DeserializeWith(serde_with::As::<
5826 serde_with::OneOrMany<serde_with::Same>,
5827 >::deserialize(deserializer)?))
5828 }
5829 }
5830 match map.next_value::<DeserializeWith>() {
5831 Ok(deserialize_with) => deserialize_with.0,
5832 Err(err) => {
5833 return Err(err);
5834 }
5835 }
5836 });
5837 }
5838 Field::VehicleEngine => {
5839 if r#vehicle_engine_property.is_some() {
5840 return Err(<A::Error as de::Error>::duplicate_field(
5841 "vehicleEngine",
5842 ));
5843 }
5844 r#vehicle_engine_property = Some({
5845 struct DeserializeWith(Vec<VehicleEngineProperty>);
5846 impl<'de> Deserialize<'de> for DeserializeWith {
5847 fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
5848 where
5849 D: Deserializer<'de>,
5850 {
5851 Ok(DeserializeWith(serde_with::As::<
5852 serde_with::OneOrMany<serde_with::Same>,
5853 >::deserialize(deserializer)?))
5854 }
5855 }
5856 match map.next_value::<DeserializeWith>() {
5857 Ok(deserialize_with) => deserialize_with.0,
5858 Err(err) => {
5859 return Err(err);
5860 }
5861 }
5862 });
5863 }
5864 Field::VehicleIdentificationNumber => {
5865 if r#vehicle_identification_number_property.is_some() {
5866 return Err(<A::Error as de::Error>::duplicate_field(
5867 "vehicleIdentificationNumber",
5868 ));
5869 }
5870 r#vehicle_identification_number_property = Some({
5871 struct DeserializeWith(
5872 Vec<VehicleIdentificationNumberProperty>,
5873 );
5874 impl<'de> Deserialize<'de> for DeserializeWith {
5875 fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
5876 where
5877 D: Deserializer<'de>,
5878 {
5879 Ok(DeserializeWith(serde_with::As::<
5880 serde_with::OneOrMany<serde_with::Same>,
5881 >::deserialize(deserializer)?))
5882 }
5883 }
5884 match map.next_value::<DeserializeWith>() {
5885 Ok(deserialize_with) => deserialize_with.0,
5886 Err(err) => {
5887 return Err(err);
5888 }
5889 }
5890 });
5891 }
5892 Field::VehicleInteriorColor => {
5893 if r#vehicle_interior_color_property.is_some() {
5894 return Err(<A::Error as de::Error>::duplicate_field(
5895 "vehicleInteriorColor",
5896 ));
5897 }
5898 r#vehicle_interior_color_property = Some({
5899 struct DeserializeWith(Vec<VehicleInteriorColorProperty>);
5900 impl<'de> Deserialize<'de> for DeserializeWith {
5901 fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
5902 where
5903 D: Deserializer<'de>,
5904 {
5905 Ok(DeserializeWith(serde_with::As::<
5906 serde_with::OneOrMany<serde_with::Same>,
5907 >::deserialize(deserializer)?))
5908 }
5909 }
5910 match map.next_value::<DeserializeWith>() {
5911 Ok(deserialize_with) => deserialize_with.0,
5912 Err(err) => {
5913 return Err(err);
5914 }
5915 }
5916 });
5917 }
5918 Field::VehicleInteriorType => {
5919 if r#vehicle_interior_type_property.is_some() {
5920 return Err(<A::Error as de::Error>::duplicate_field(
5921 "vehicleInteriorType",
5922 ));
5923 }
5924 r#vehicle_interior_type_property = Some({
5925 struct DeserializeWith(Vec<VehicleInteriorTypeProperty>);
5926 impl<'de> Deserialize<'de> for DeserializeWith {
5927 fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
5928 where
5929 D: Deserializer<'de>,
5930 {
5931 Ok(DeserializeWith(serde_with::As::<
5932 serde_with::OneOrMany<serde_with::Same>,
5933 >::deserialize(deserializer)?))
5934 }
5935 }
5936 match map.next_value::<DeserializeWith>() {
5937 Ok(deserialize_with) => deserialize_with.0,
5938 Err(err) => {
5939 return Err(err);
5940 }
5941 }
5942 });
5943 }
5944 Field::VehicleModelDate => {
5945 if r#vehicle_model_date_property.is_some() {
5946 return Err(<A::Error as de::Error>::duplicate_field(
5947 "vehicleModelDate",
5948 ));
5949 }
5950 r#vehicle_model_date_property = Some({
5951 struct DeserializeWith(Vec<VehicleModelDateProperty>);
5952 impl<'de> Deserialize<'de> for DeserializeWith {
5953 fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
5954 where
5955 D: Deserializer<'de>,
5956 {
5957 Ok(DeserializeWith(serde_with::As::<
5958 serde_with::OneOrMany<serde_with::Same>,
5959 >::deserialize(deserializer)?))
5960 }
5961 }
5962 match map.next_value::<DeserializeWith>() {
5963 Ok(deserialize_with) => deserialize_with.0,
5964 Err(err) => {
5965 return Err(err);
5966 }
5967 }
5968 });
5969 }
5970 Field::VehicleSeatingCapacity => {
5971 if r#vehicle_seating_capacity_property.is_some() {
5972 return Err(<A::Error as de::Error>::duplicate_field(
5973 "vehicleSeatingCapacity",
5974 ));
5975 }
5976 r#vehicle_seating_capacity_property = Some({
5977 struct DeserializeWith(Vec<VehicleSeatingCapacityProperty>);
5978 impl<'de> Deserialize<'de> for DeserializeWith {
5979 fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
5980 where
5981 D: Deserializer<'de>,
5982 {
5983 Ok(DeserializeWith(serde_with::As::<
5984 serde_with::OneOrMany<serde_with::Same>,
5985 >::deserialize(deserializer)?))
5986 }
5987 }
5988 match map.next_value::<DeserializeWith>() {
5989 Ok(deserialize_with) => deserialize_with.0,
5990 Err(err) => {
5991 return Err(err);
5992 }
5993 }
5994 });
5995 }
5996 Field::VehicleSpecialUsage => {
5997 if r#vehicle_special_usage_property.is_some() {
5998 return Err(<A::Error as de::Error>::duplicate_field(
5999 "vehicleSpecialUsage",
6000 ));
6001 }
6002 r#vehicle_special_usage_property = Some({
6003 struct DeserializeWith(Vec<VehicleSpecialUsageProperty>);
6004 impl<'de> Deserialize<'de> for DeserializeWith {
6005 fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
6006 where
6007 D: Deserializer<'de>,
6008 {
6009 Ok(DeserializeWith(serde_with::As::<
6010 serde_with::OneOrMany<serde_with::Same>,
6011 >::deserialize(deserializer)?))
6012 }
6013 }
6014 match map.next_value::<DeserializeWith>() {
6015 Ok(deserialize_with) => deserialize_with.0,
6016 Err(err) => {
6017 return Err(err);
6018 }
6019 }
6020 });
6021 }
6022 Field::VehicleTransmission => {
6023 if r#vehicle_transmission_property.is_some() {
6024 return Err(<A::Error as de::Error>::duplicate_field(
6025 "vehicleTransmission",
6026 ));
6027 }
6028 r#vehicle_transmission_property = Some({
6029 struct DeserializeWith(Vec<VehicleTransmissionProperty>);
6030 impl<'de> Deserialize<'de> for DeserializeWith {
6031 fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
6032 where
6033 D: Deserializer<'de>,
6034 {
6035 Ok(DeserializeWith(serde_with::As::<
6036 serde_with::OneOrMany<serde_with::Same>,
6037 >::deserialize(deserializer)?))
6038 }
6039 }
6040 match map.next_value::<DeserializeWith>() {
6041 Ok(deserialize_with) => deserialize_with.0,
6042 Err(err) => {
6043 return Err(err);
6044 }
6045 }
6046 });
6047 }
6048 Field::WeightTotal => {
6049 if r#weight_total_property.is_some() {
6050 return Err(<A::Error as de::Error>::duplicate_field(
6051 "weightTotal",
6052 ));
6053 }
6054 r#weight_total_property = Some({
6055 struct DeserializeWith(Vec<WeightTotalProperty>);
6056 impl<'de> Deserialize<'de> for DeserializeWith {
6057 fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
6058 where
6059 D: Deserializer<'de>,
6060 {
6061 Ok(DeserializeWith(serde_with::As::<
6062 serde_with::OneOrMany<serde_with::Same>,
6063 >::deserialize(deserializer)?))
6064 }
6065 }
6066 match map.next_value::<DeserializeWith>() {
6067 Ok(deserialize_with) => deserialize_with.0,
6068 Err(err) => {
6069 return Err(err);
6070 }
6071 }
6072 });
6073 }
6074 Field::Wheelbase => {
6075 if r#wheelbase_property.is_some() {
6076 return Err(<A::Error as de::Error>::duplicate_field(
6077 "wheelbase",
6078 ));
6079 }
6080 r#wheelbase_property = Some({
6081 struct DeserializeWith(Vec<WheelbaseProperty>);
6082 impl<'de> Deserialize<'de> for DeserializeWith {
6083 fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
6084 where
6085 D: Deserializer<'de>,
6086 {
6087 Ok(DeserializeWith(serde_with::As::<
6088 serde_with::OneOrMany<serde_with::Same>,
6089 >::deserialize(deserializer)?))
6090 }
6091 }
6092 match map.next_value::<DeserializeWith>() {
6093 Ok(deserialize_with) => deserialize_with.0,
6094 Err(err) => {
6095 return Err(err);
6096 }
6097 }
6098 });
6099 }
6100 Field::Ignore => {
6101 let _ = map.next_value::<de::IgnoredAny>()?;
6102 }
6103 }
6104 }
6105 Ok(Motorcycle {
6106 r#additional_property: r#additional_property_property.unwrap_or_default(),
6107 r#aggregate_rating: r#aggregate_rating_property.unwrap_or_default(),
6108 r#asin: r#asin_property.unwrap_or_default(),
6109 r#audience: r#audience_property.unwrap_or_default(),
6110 r#award: r#award_property.unwrap_or_default(),
6111 r#awards: r#awards_property.unwrap_or_default(),
6112 r#brand: r#brand_property.unwrap_or_default(),
6113 r#category: r#category_property.unwrap_or_default(),
6114 r#color: r#color_property.unwrap_or_default(),
6115 r#country_of_assembly: r#country_of_assembly_property.unwrap_or_default(),
6116 r#country_of_last_processing: r#country_of_last_processing_property
6117 .unwrap_or_default(),
6118 r#country_of_origin: r#country_of_origin_property.unwrap_or_default(),
6119 r#depth: r#depth_property.unwrap_or_default(),
6120 r#funding: r#funding_property.unwrap_or_default(),
6121 r#gtin: r#gtin_property.unwrap_or_default(),
6122 r#gtin_12: r#gtin_12_property.unwrap_or_default(),
6123 r#gtin_13: r#gtin_13_property.unwrap_or_default(),
6124 r#gtin_14: r#gtin_14_property.unwrap_or_default(),
6125 r#gtin_8: r#gtin_8_property.unwrap_or_default(),
6126 r#has_adult_consideration: r#has_adult_consideration_property
6127 .unwrap_or_default(),
6128 r#has_energy_consumption_details: r#has_energy_consumption_details_property
6129 .unwrap_or_default(),
6130 r#has_measurement: r#has_measurement_property.unwrap_or_default(),
6131 r#has_merchant_return_policy: r#has_merchant_return_policy_property
6132 .unwrap_or_default(),
6133 r#has_product_return_policy: r#has_product_return_policy_property
6134 .unwrap_or_default(),
6135 r#height: r#height_property.unwrap_or_default(),
6136 r#in_product_group_with_id: r#in_product_group_with_id_property
6137 .unwrap_or_default(),
6138 r#is_accessory_or_spare_part_for: r#is_accessory_or_spare_part_for_property
6139 .unwrap_or_default(),
6140 r#is_consumable_for: r#is_consumable_for_property.unwrap_or_default(),
6141 r#is_family_friendly: r#is_family_friendly_property.unwrap_or_default(),
6142 r#is_related_to: r#is_related_to_property.unwrap_or_default(),
6143 r#is_similar_to: r#is_similar_to_property.unwrap_or_default(),
6144 r#is_variant_of: r#is_variant_of_property.unwrap_or_default(),
6145 r#item_condition: r#item_condition_property.unwrap_or_default(),
6146 r#keywords: r#keywords_property.unwrap_or_default(),
6147 r#logo: r#logo_property.unwrap_or_default(),
6148 r#manufacturer: r#manufacturer_property.unwrap_or_default(),
6149 r#material: r#material_property.unwrap_or_default(),
6150 r#mobile_url: r#mobile_url_property.unwrap_or_default(),
6151 r#model: r#model_property.unwrap_or_default(),
6152 r#mpn: r#mpn_property.unwrap_or_default(),
6153 r#negative_notes: r#negative_notes_property.unwrap_or_default(),
6154 r#nsn: r#nsn_property.unwrap_or_default(),
6155 r#offers: r#offers_property.unwrap_or_default(),
6156 r#pattern: r#pattern_property.unwrap_or_default(),
6157 r#positive_notes: r#positive_notes_property.unwrap_or_default(),
6158 r#product_id: r#product_id_property.unwrap_or_default(),
6159 r#production_date: r#production_date_property.unwrap_or_default(),
6160 r#purchase_date: r#purchase_date_property.unwrap_or_default(),
6161 r#release_date: r#release_date_property.unwrap_or_default(),
6162 r#review: r#review_property.unwrap_or_default(),
6163 r#reviews: r#reviews_property.unwrap_or_default(),
6164 r#size: r#size_property.unwrap_or_default(),
6165 r#sku: r#sku_property.unwrap_or_default(),
6166 r#slogan: r#slogan_property.unwrap_or_default(),
6167 r#weight: r#weight_property.unwrap_or_default(),
6168 r#width: r#width_property.unwrap_or_default(),
6169 r#additional_type: r#additional_type_property.unwrap_or_default(),
6170 r#alternate_name: r#alternate_name_property.unwrap_or_default(),
6171 r#description: r#description_property.unwrap_or_default(),
6172 r#disambiguating_description: r#disambiguating_description_property
6173 .unwrap_or_default(),
6174 r#identifier: r#identifier_property.unwrap_or_default(),
6175 r#image: r#image_property.unwrap_or_default(),
6176 r#main_entity_of_page: r#main_entity_of_page_property.unwrap_or_default(),
6177 r#name: r#name_property.unwrap_or_default(),
6178 r#potential_action: r#potential_action_property.unwrap_or_default(),
6179 r#same_as: r#same_as_property.unwrap_or_default(),
6180 r#subject_of: r#subject_of_property.unwrap_or_default(),
6181 r#url: r#url_property.unwrap_or_default(),
6182 r#acceleration_time: r#acceleration_time_property.unwrap_or_default(),
6183 r#body_type: r#body_type_property.unwrap_or_default(),
6184 r#call_sign: r#call_sign_property.unwrap_or_default(),
6185 r#cargo_volume: r#cargo_volume_property.unwrap_or_default(),
6186 r#date_vehicle_first_registered: r#date_vehicle_first_registered_property
6187 .unwrap_or_default(),
6188 r#drive_wheel_configuration: r#drive_wheel_configuration_property
6189 .unwrap_or_default(),
6190 r#emissions_co_2: r#emissions_co_2_property.unwrap_or_default(),
6191 r#fuel_capacity: r#fuel_capacity_property.unwrap_or_default(),
6192 r#fuel_consumption: r#fuel_consumption_property.unwrap_or_default(),
6193 r#fuel_efficiency: r#fuel_efficiency_property.unwrap_or_default(),
6194 r#fuel_type: r#fuel_type_property.unwrap_or_default(),
6195 r#known_vehicle_damages: r#known_vehicle_damages_property
6196 .unwrap_or_default(),
6197 r#meets_emission_standard: r#meets_emission_standard_property
6198 .unwrap_or_default(),
6199 r#mileage_from_odometer: r#mileage_from_odometer_property
6200 .unwrap_or_default(),
6201 r#model_date: r#model_date_property.unwrap_or_default(),
6202 r#number_of_airbags: r#number_of_airbags_property.unwrap_or_default(),
6203 r#number_of_axles: r#number_of_axles_property.unwrap_or_default(),
6204 r#number_of_doors: r#number_of_doors_property.unwrap_or_default(),
6205 r#number_of_forward_gears: r#number_of_forward_gears_property
6206 .unwrap_or_default(),
6207 r#number_of_previous_owners: r#number_of_previous_owners_property
6208 .unwrap_or_default(),
6209 r#payload: r#payload_property.unwrap_or_default(),
6210 r#seating_capacity: r#seating_capacity_property.unwrap_or_default(),
6211 r#speed: r#speed_property.unwrap_or_default(),
6212 r#steering_position: r#steering_position_property.unwrap_or_default(),
6213 r#stupid_property: r#stupid_property_property.unwrap_or_default(),
6214 r#tongue_weight: r#tongue_weight_property.unwrap_or_default(),
6215 r#trailer_weight: r#trailer_weight_property.unwrap_or_default(),
6216 r#vehicle_configuration: r#vehicle_configuration_property
6217 .unwrap_or_default(),
6218 r#vehicle_engine: r#vehicle_engine_property.unwrap_or_default(),
6219 r#vehicle_identification_number: r#vehicle_identification_number_property
6220 .unwrap_or_default(),
6221 r#vehicle_interior_color: r#vehicle_interior_color_property
6222 .unwrap_or_default(),
6223 r#vehicle_interior_type: r#vehicle_interior_type_property
6224 .unwrap_or_default(),
6225 r#vehicle_model_date: r#vehicle_model_date_property.unwrap_or_default(),
6226 r#vehicle_seating_capacity: r#vehicle_seating_capacity_property
6227 .unwrap_or_default(),
6228 r#vehicle_special_usage: r#vehicle_special_usage_property
6229 .unwrap_or_default(),
6230 r#vehicle_transmission: r#vehicle_transmission_property.unwrap_or_default(),
6231 r#weight_total: r#weight_total_property.unwrap_or_default(),
6232 r#wheelbase: r#wheelbase_property.unwrap_or_default(),
6233 })
6234 }
6235 }
6236 const FIELDS: &[&str] = &[
6237 "additionalProperty",
6238 "aggregateRating",
6239 "asin",
6240 "audience",
6241 "award",
6242 "awards",
6243 "brand",
6244 "category",
6245 "color",
6246 "countryOfAssembly",
6247 "countryOfLastProcessing",
6248 "countryOfOrigin",
6249 "depth",
6250 "funding",
6251 "gtin",
6252 "gtin12",
6253 "gtin13",
6254 "gtin14",
6255 "gtin8",
6256 "hasAdultConsideration",
6257 "hasEnergyConsumptionDetails",
6258 "hasMeasurement",
6259 "hasMerchantReturnPolicy",
6260 "hasProductReturnPolicy",
6261 "height",
6262 "inProductGroupWithID",
6263 "isAccessoryOrSparePartFor",
6264 "isConsumableFor",
6265 "isFamilyFriendly",
6266 "isRelatedTo",
6267 "isSimilarTo",
6268 "isVariantOf",
6269 "itemCondition",
6270 "keywords",
6271 "logo",
6272 "manufacturer",
6273 "material",
6274 "mobileUrl",
6275 "model",
6276 "mpn",
6277 "negativeNotes",
6278 "nsn",
6279 "offers",
6280 "pattern",
6281 "positiveNotes",
6282 "productID",
6283 "productionDate",
6284 "purchaseDate",
6285 "releaseDate",
6286 "review",
6287 "reviews",
6288 "size",
6289 "sku",
6290 "slogan",
6291 "weight",
6292 "width",
6293 "additionalType",
6294 "alternateName",
6295 "description",
6296 "disambiguatingDescription",
6297 "identifier",
6298 "image",
6299 "mainEntityOfPage",
6300 "name",
6301 "potentialAction",
6302 "sameAs",
6303 "subjectOf",
6304 "url",
6305 "accelerationTime",
6306 "bodyType",
6307 "callSign",
6308 "cargoVolume",
6309 "dateVehicleFirstRegistered",
6310 "driveWheelConfiguration",
6311 "emissionsCO2",
6312 "fuelCapacity",
6313 "fuelConsumption",
6314 "fuelEfficiency",
6315 "fuelType",
6316 "knownVehicleDamages",
6317 "meetsEmissionStandard",
6318 "mileageFromOdometer",
6319 "modelDate",
6320 "numberOfAirbags",
6321 "numberOfAxles",
6322 "numberOfDoors",
6323 "numberOfForwardGears",
6324 "numberOfPreviousOwners",
6325 "payload",
6326 "seatingCapacity",
6327 "speed",
6328 "steeringPosition",
6329 "stupidProperty",
6330 "tongueWeight",
6331 "trailerWeight",
6332 "vehicleConfiguration",
6333 "vehicleEngine",
6334 "vehicleIdentificationNumber",
6335 "vehicleInteriorColor",
6336 "vehicleInteriorType",
6337 "vehicleModelDate",
6338 "vehicleSeatingCapacity",
6339 "vehicleSpecialUsage",
6340 "vehicleTransmission",
6341 "weightTotal",
6342 "wheelbase",
6343 ];
6344 deserializer.deserialize_struct("Motorcycle", FIELDS, ClassVisitor)
6345 }
6346 }
6347}