1use serde::{Deserialize, Serialize};
4
5#[derive(Debug, Clone, Eq, PartialEq)]
7pub enum Appliances {
8 BarFridge,
10
11 BuiltInElectricOven,
13
14 BuiltInElectricRange,
16
17 BuiltInFreezer,
19
20 BuiltInGasOven,
22
23 BuiltInGasRange,
25
26 BuiltInRange,
28
29 BuiltInRefrigerator,
31
32 ConvectionOven,
34
35 Cooktop,
37
38 Dishwasher,
40
41 Disposal,
43
44 DoubleOven,
46
47 DownDraft,
49
50 Dryer,
52
53 ElectricCooktop,
55
56 ElectricOven,
58
59 ElectricRange,
61
62 ElectricWaterHeater,
64
65 ENERGYSTARQualifiedAppliances,
67
68 ENERGYSTARQualifiedDishwasher,
70
71 ENERGYSTARQualifiedDryer,
73
74 ENERGYSTARQualifiedFreezer,
76
77 ENERGYSTARQualifiedRefrigerator,
79
80 ENERGYSTARQualifiedWasher,
82
83 ENERGYSTARQualifiedWaterHeater,
85
86 ExhaustFan,
88
89 FreeStandingElectricOven,
91
92 FreeStandingElectricRange,
94
95 FreeStandingFreezer,
97
98 FreeStandingGasOven,
100
101 FreeStandingGasRange,
103
104 FreeStandingRange,
106
107 FreeStandingRefrigerator,
109
110 Freezer,
112
113 GasCooktop,
115
116 GasOven,
118
119 GasRange,
121
122 GasWaterHeater,
124
125 Humidifier,
127
128 IceMaker,
130
131 IndoorGrill,
133
134 InductionCooktop,
136
137 InstantHotWater,
139
140 Microwave,
142
143 None,
145
146 Other,
148
149 Oven,
151
152 PlumbedForIceMaker,
154
155 PortableDishwasher,
157
158 PropaneCooktop,
160
161 Range,
163
164 RangeHood,
166
167 Refrigerator,
169
170 SelfCleaningOven,
172
173 SolarHotWater,
175
176 StainlessSteelAppliances,
178
179 TanklessWaterHeater,
181
182 TrashCompactor,
184
185 VentedExhaustFan,
187
188 WarmingDrawer,
190
191 Washer,
193
194 WasherDryer,
196
197 WasherDryerStacked,
199
200 WaterHeater,
202
203 WaterPurifier,
205
206 WaterPurifierOwned,
208
209 WaterPurifierRented,
211
212 WaterSoftener,
214
215 WaterSoftenerOwned,
217
218 WaterSoftenerRented,
220
221 WineCooler,
223
224 WineRefrigerator,
226
227 OpenEnumeration(String),
229}
230
231impl crate::ResoEnumeration for Appliances {
232 fn from_str(s: &str) -> Appliances {
233 match s {
234 "Bar Fridge" => Appliances::BarFridge,
235
236 "Built-In Electric Oven" => Appliances::BuiltInElectricOven,
237
238 "Built-In Electric Range" => Appliances::BuiltInElectricRange,
239
240 "Built-In Freezer" => Appliances::BuiltInFreezer,
241
242 "Built-In Gas Oven" => Appliances::BuiltInGasOven,
243
244 "Built-In Gas Range" => Appliances::BuiltInGasRange,
245
246 "Built-In Range" => Appliances::BuiltInRange,
247
248 "Built-In Refrigerator" => Appliances::BuiltInRefrigerator,
249
250 "Convection Oven" => Appliances::ConvectionOven,
251
252 "Cooktop" => Appliances::Cooktop,
253
254 "Dishwasher" => Appliances::Dishwasher,
255
256 "Disposal" => Appliances::Disposal,
257
258 "Double Oven" => Appliances::DoubleOven,
259
260 "Down Draft" => Appliances::DownDraft,
261
262 "Dryer" => Appliances::Dryer,
263
264 "Electric Cooktop" => Appliances::ElectricCooktop,
265
266 "Electric Oven" => Appliances::ElectricOven,
267
268 "Electric Range" => Appliances::ElectricRange,
269
270 "Electric Water Heater" => Appliances::ElectricWaterHeater,
271
272 "ENERGY STAR Qualified Appliances" => Appliances::ENERGYSTARQualifiedAppliances,
273
274 "ENERGY STAR Qualified Dishwasher" => Appliances::ENERGYSTARQualifiedDishwasher,
275
276 "ENERGY STAR Qualified Dryer" => Appliances::ENERGYSTARQualifiedDryer,
277
278 "ENERGY STAR Qualified Freezer" => Appliances::ENERGYSTARQualifiedFreezer,
279
280 "ENERGY STAR Qualified Refrigerator" => Appliances::ENERGYSTARQualifiedRefrigerator,
281
282 "ENERGY STAR Qualified Washer" => Appliances::ENERGYSTARQualifiedWasher,
283
284 "ENERGY STAR Qualified Water Heater" => Appliances::ENERGYSTARQualifiedWaterHeater,
285
286 "Exhaust Fan" => Appliances::ExhaustFan,
287
288 "Free-Standing Electric Oven" => Appliances::FreeStandingElectricOven,
289
290 "Free-Standing Electric Range" => Appliances::FreeStandingElectricRange,
291
292 "Free-Standing Freezer" => Appliances::FreeStandingFreezer,
293
294 "Free-Standing Gas Oven" => Appliances::FreeStandingGasOven,
295
296 "Free-Standing Gas Range" => Appliances::FreeStandingGasRange,
297
298 "Free-Standing Range" => Appliances::FreeStandingRange,
299
300 "Free-Standing Refrigerator" => Appliances::FreeStandingRefrigerator,
301
302 "Freezer" => Appliances::Freezer,
303
304 "Gas Cooktop" => Appliances::GasCooktop,
305
306 "Gas Oven" => Appliances::GasOven,
307
308 "Gas Range" => Appliances::GasRange,
309
310 "Gas Water Heater" => Appliances::GasWaterHeater,
311
312 "Humidifier" => Appliances::Humidifier,
313
314 "Ice Maker" => Appliances::IceMaker,
315
316 "Indoor Grill" => Appliances::IndoorGrill,
317
318 "Induction Cooktop" => Appliances::InductionCooktop,
319
320 "Instant Hot Water" => Appliances::InstantHotWater,
321
322 "Microwave" => Appliances::Microwave,
323
324 "None" => Appliances::None,
325
326 "Other" => Appliances::Other,
327
328 "Oven" => Appliances::Oven,
329
330 "Plumbed For Ice Maker" => Appliances::PlumbedForIceMaker,
331
332 "Portable Dishwasher" => Appliances::PortableDishwasher,
333
334 "Propane Cooktop" => Appliances::PropaneCooktop,
335
336 "Range" => Appliances::Range,
337
338 "Range Hood" => Appliances::RangeHood,
339
340 "Refrigerator" => Appliances::Refrigerator,
341
342 "Self Cleaning Oven" => Appliances::SelfCleaningOven,
343
344 "Solar Hot Water" => Appliances::SolarHotWater,
345
346 "Stainless Steel Appliance(s)" => Appliances::StainlessSteelAppliances,
347
348 "Tankless Water Heater" => Appliances::TanklessWaterHeater,
349
350 "Trash Compactor" => Appliances::TrashCompactor,
351
352 "Vented Exhaust Fan" => Appliances::VentedExhaustFan,
353
354 "Warming Drawer" => Appliances::WarmingDrawer,
355
356 "Washer" => Appliances::Washer,
357
358 "Washer/Dryer" => Appliances::WasherDryer,
359
360 "Washer/Dryer Stacked" => Appliances::WasherDryerStacked,
361
362 "Water Heater" => Appliances::WaterHeater,
363
364 "Water Purifier" => Appliances::WaterPurifier,
365
366 "Water Purifier Owned" => Appliances::WaterPurifierOwned,
367
368 "Water Purifier Rented" => Appliances::WaterPurifierRented,
369
370 "Water Softener" => Appliances::WaterSoftener,
371
372 "Water Softener Owned" => Appliances::WaterSoftenerOwned,
373
374 "Water Softener Rented" => Appliances::WaterSoftenerRented,
375
376 "Wine Cooler" => Appliances::WineCooler,
377
378 "Wine Refrigerator" => Appliances::WineRefrigerator,
379
380 _ => Appliances::OpenEnumeration(s.into()),
381 }
382 }
383
384 fn from_string(s: String) -> Appliances {
385 match s.as_ref() {
386 "Bar Fridge" => Appliances::BarFridge,
387
388 "Built-In Electric Oven" => Appliances::BuiltInElectricOven,
389
390 "Built-In Electric Range" => Appliances::BuiltInElectricRange,
391
392 "Built-In Freezer" => Appliances::BuiltInFreezer,
393
394 "Built-In Gas Oven" => Appliances::BuiltInGasOven,
395
396 "Built-In Gas Range" => Appliances::BuiltInGasRange,
397
398 "Built-In Range" => Appliances::BuiltInRange,
399
400 "Built-In Refrigerator" => Appliances::BuiltInRefrigerator,
401
402 "Convection Oven" => Appliances::ConvectionOven,
403
404 "Cooktop" => Appliances::Cooktop,
405
406 "Dishwasher" => Appliances::Dishwasher,
407
408 "Disposal" => Appliances::Disposal,
409
410 "Double Oven" => Appliances::DoubleOven,
411
412 "Down Draft" => Appliances::DownDraft,
413
414 "Dryer" => Appliances::Dryer,
415
416 "Electric Cooktop" => Appliances::ElectricCooktop,
417
418 "Electric Oven" => Appliances::ElectricOven,
419
420 "Electric Range" => Appliances::ElectricRange,
421
422 "Electric Water Heater" => Appliances::ElectricWaterHeater,
423
424 "ENERGY STAR Qualified Appliances" => Appliances::ENERGYSTARQualifiedAppliances,
425
426 "ENERGY STAR Qualified Dishwasher" => Appliances::ENERGYSTARQualifiedDishwasher,
427
428 "ENERGY STAR Qualified Dryer" => Appliances::ENERGYSTARQualifiedDryer,
429
430 "ENERGY STAR Qualified Freezer" => Appliances::ENERGYSTARQualifiedFreezer,
431
432 "ENERGY STAR Qualified Refrigerator" => Appliances::ENERGYSTARQualifiedRefrigerator,
433
434 "ENERGY STAR Qualified Washer" => Appliances::ENERGYSTARQualifiedWasher,
435
436 "ENERGY STAR Qualified Water Heater" => Appliances::ENERGYSTARQualifiedWaterHeater,
437
438 "Exhaust Fan" => Appliances::ExhaustFan,
439
440 "Free-Standing Electric Oven" => Appliances::FreeStandingElectricOven,
441
442 "Free-Standing Electric Range" => Appliances::FreeStandingElectricRange,
443
444 "Free-Standing Freezer" => Appliances::FreeStandingFreezer,
445
446 "Free-Standing Gas Oven" => Appliances::FreeStandingGasOven,
447
448 "Free-Standing Gas Range" => Appliances::FreeStandingGasRange,
449
450 "Free-Standing Range" => Appliances::FreeStandingRange,
451
452 "Free-Standing Refrigerator" => Appliances::FreeStandingRefrigerator,
453
454 "Freezer" => Appliances::Freezer,
455
456 "Gas Cooktop" => Appliances::GasCooktop,
457
458 "Gas Oven" => Appliances::GasOven,
459
460 "Gas Range" => Appliances::GasRange,
461
462 "Gas Water Heater" => Appliances::GasWaterHeater,
463
464 "Humidifier" => Appliances::Humidifier,
465
466 "Ice Maker" => Appliances::IceMaker,
467
468 "Indoor Grill" => Appliances::IndoorGrill,
469
470 "Induction Cooktop" => Appliances::InductionCooktop,
471
472 "Instant Hot Water" => Appliances::InstantHotWater,
473
474 "Microwave" => Appliances::Microwave,
475
476 "None" => Appliances::None,
477
478 "Other" => Appliances::Other,
479
480 "Oven" => Appliances::Oven,
481
482 "Plumbed For Ice Maker" => Appliances::PlumbedForIceMaker,
483
484 "Portable Dishwasher" => Appliances::PortableDishwasher,
485
486 "Propane Cooktop" => Appliances::PropaneCooktop,
487
488 "Range" => Appliances::Range,
489
490 "Range Hood" => Appliances::RangeHood,
491
492 "Refrigerator" => Appliances::Refrigerator,
493
494 "Self Cleaning Oven" => Appliances::SelfCleaningOven,
495
496 "Solar Hot Water" => Appliances::SolarHotWater,
497
498 "Stainless Steel Appliance(s)" => Appliances::StainlessSteelAppliances,
499
500 "Tankless Water Heater" => Appliances::TanklessWaterHeater,
501
502 "Trash Compactor" => Appliances::TrashCompactor,
503
504 "Vented Exhaust Fan" => Appliances::VentedExhaustFan,
505
506 "Warming Drawer" => Appliances::WarmingDrawer,
507
508 "Washer" => Appliances::Washer,
509
510 "Washer/Dryer" => Appliances::WasherDryer,
511
512 "Washer/Dryer Stacked" => Appliances::WasherDryerStacked,
513
514 "Water Heater" => Appliances::WaterHeater,
515
516 "Water Purifier" => Appliances::WaterPurifier,
517
518 "Water Purifier Owned" => Appliances::WaterPurifierOwned,
519
520 "Water Purifier Rented" => Appliances::WaterPurifierRented,
521
522 "Water Softener" => Appliances::WaterSoftener,
523
524 "Water Softener Owned" => Appliances::WaterSoftenerOwned,
525
526 "Water Softener Rented" => Appliances::WaterSoftenerRented,
527
528 "Wine Cooler" => Appliances::WineCooler,
529
530 "Wine Refrigerator" => Appliances::WineRefrigerator,
531
532 _ => Appliances::OpenEnumeration(s),
533 }
534 }
535
536 fn to_str(&self) -> &str {
537 match self {
538 Appliances::BarFridge => "Bar Fridge",
539
540 Appliances::BuiltInElectricOven => "Built-In Electric Oven",
541
542 Appliances::BuiltInElectricRange => "Built-In Electric Range",
543
544 Appliances::BuiltInFreezer => "Built-In Freezer",
545
546 Appliances::BuiltInGasOven => "Built-In Gas Oven",
547
548 Appliances::BuiltInGasRange => "Built-In Gas Range",
549
550 Appliances::BuiltInRange => "Built-In Range",
551
552 Appliances::BuiltInRefrigerator => "Built-In Refrigerator",
553
554 Appliances::ConvectionOven => "Convection Oven",
555
556 Appliances::Cooktop => "Cooktop",
557
558 Appliances::Dishwasher => "Dishwasher",
559
560 Appliances::Disposal => "Disposal",
561
562 Appliances::DoubleOven => "Double Oven",
563
564 Appliances::DownDraft => "Down Draft",
565
566 Appliances::Dryer => "Dryer",
567
568 Appliances::ElectricCooktop => "Electric Cooktop",
569
570 Appliances::ElectricOven => "Electric Oven",
571
572 Appliances::ElectricRange => "Electric Range",
573
574 Appliances::ElectricWaterHeater => "Electric Water Heater",
575
576 Appliances::ENERGYSTARQualifiedAppliances => "ENERGY STAR Qualified Appliances",
577
578 Appliances::ENERGYSTARQualifiedDishwasher => "ENERGY STAR Qualified Dishwasher",
579
580 Appliances::ENERGYSTARQualifiedDryer => "ENERGY STAR Qualified Dryer",
581
582 Appliances::ENERGYSTARQualifiedFreezer => "ENERGY STAR Qualified Freezer",
583
584 Appliances::ENERGYSTARQualifiedRefrigerator => "ENERGY STAR Qualified Refrigerator",
585
586 Appliances::ENERGYSTARQualifiedWasher => "ENERGY STAR Qualified Washer",
587
588 Appliances::ENERGYSTARQualifiedWaterHeater => "ENERGY STAR Qualified Water Heater",
589
590 Appliances::ExhaustFan => "Exhaust Fan",
591
592 Appliances::FreeStandingElectricOven => "Free-Standing Electric Oven",
593
594 Appliances::FreeStandingElectricRange => "Free-Standing Electric Range",
595
596 Appliances::FreeStandingFreezer => "Free-Standing Freezer",
597
598 Appliances::FreeStandingGasOven => "Free-Standing Gas Oven",
599
600 Appliances::FreeStandingGasRange => "Free-Standing Gas Range",
601
602 Appliances::FreeStandingRange => "Free-Standing Range",
603
604 Appliances::FreeStandingRefrigerator => "Free-Standing Refrigerator",
605
606 Appliances::Freezer => "Freezer",
607
608 Appliances::GasCooktop => "Gas Cooktop",
609
610 Appliances::GasOven => "Gas Oven",
611
612 Appliances::GasRange => "Gas Range",
613
614 Appliances::GasWaterHeater => "Gas Water Heater",
615
616 Appliances::Humidifier => "Humidifier",
617
618 Appliances::IceMaker => "Ice Maker",
619
620 Appliances::IndoorGrill => "Indoor Grill",
621
622 Appliances::InductionCooktop => "Induction Cooktop",
623
624 Appliances::InstantHotWater => "Instant Hot Water",
625
626 Appliances::Microwave => "Microwave",
627
628 Appliances::None => "None",
629
630 Appliances::Other => "Other",
631
632 Appliances::Oven => "Oven",
633
634 Appliances::PlumbedForIceMaker => "Plumbed For Ice Maker",
635
636 Appliances::PortableDishwasher => "Portable Dishwasher",
637
638 Appliances::PropaneCooktop => "Propane Cooktop",
639
640 Appliances::Range => "Range",
641
642 Appliances::RangeHood => "Range Hood",
643
644 Appliances::Refrigerator => "Refrigerator",
645
646 Appliances::SelfCleaningOven => "Self Cleaning Oven",
647
648 Appliances::SolarHotWater => "Solar Hot Water",
649
650 Appliances::StainlessSteelAppliances => "Stainless Steel Appliance(s)",
651
652 Appliances::TanklessWaterHeater => "Tankless Water Heater",
653
654 Appliances::TrashCompactor => "Trash Compactor",
655
656 Appliances::VentedExhaustFan => "Vented Exhaust Fan",
657
658 Appliances::WarmingDrawer => "Warming Drawer",
659
660 Appliances::Washer => "Washer",
661
662 Appliances::WasherDryer => "Washer/Dryer",
663
664 Appliances::WasherDryerStacked => "Washer/Dryer Stacked",
665
666 Appliances::WaterHeater => "Water Heater",
667
668 Appliances::WaterPurifier => "Water Purifier",
669
670 Appliances::WaterPurifierOwned => "Water Purifier Owned",
671
672 Appliances::WaterPurifierRented => "Water Purifier Rented",
673
674 Appliances::WaterSoftener => "Water Softener",
675
676 Appliances::WaterSoftenerOwned => "Water Softener Owned",
677
678 Appliances::WaterSoftenerRented => "Water Softener Rented",
679
680 Appliances::WineCooler => "Wine Cooler",
681
682 Appliances::WineRefrigerator => "Wine Refrigerator",
683
684 Appliances::OpenEnumeration(ref s) => s,
685 }
686 }
687
688 fn into_string(self) -> String {
689 match self {
690 Appliances::BarFridge => "Bar Fridge".into(),
691
692 Appliances::BuiltInElectricOven => "Built-In Electric Oven".into(),
693
694 Appliances::BuiltInElectricRange => "Built-In Electric Range".into(),
695
696 Appliances::BuiltInFreezer => "Built-In Freezer".into(),
697
698 Appliances::BuiltInGasOven => "Built-In Gas Oven".into(),
699
700 Appliances::BuiltInGasRange => "Built-In Gas Range".into(),
701
702 Appliances::BuiltInRange => "Built-In Range".into(),
703
704 Appliances::BuiltInRefrigerator => "Built-In Refrigerator".into(),
705
706 Appliances::ConvectionOven => "Convection Oven".into(),
707
708 Appliances::Cooktop => "Cooktop".into(),
709
710 Appliances::Dishwasher => "Dishwasher".into(),
711
712 Appliances::Disposal => "Disposal".into(),
713
714 Appliances::DoubleOven => "Double Oven".into(),
715
716 Appliances::DownDraft => "Down Draft".into(),
717
718 Appliances::Dryer => "Dryer".into(),
719
720 Appliances::ElectricCooktop => "Electric Cooktop".into(),
721
722 Appliances::ElectricOven => "Electric Oven".into(),
723
724 Appliances::ElectricRange => "Electric Range".into(),
725
726 Appliances::ElectricWaterHeater => "Electric Water Heater".into(),
727
728 Appliances::ENERGYSTARQualifiedAppliances => "ENERGY STAR Qualified Appliances".into(),
729
730 Appliances::ENERGYSTARQualifiedDishwasher => "ENERGY STAR Qualified Dishwasher".into(),
731
732 Appliances::ENERGYSTARQualifiedDryer => "ENERGY STAR Qualified Dryer".into(),
733
734 Appliances::ENERGYSTARQualifiedFreezer => "ENERGY STAR Qualified Freezer".into(),
735
736 Appliances::ENERGYSTARQualifiedRefrigerator => {
737 "ENERGY STAR Qualified Refrigerator".into()
738 }
739
740 Appliances::ENERGYSTARQualifiedWasher => "ENERGY STAR Qualified Washer".into(),
741
742 Appliances::ENERGYSTARQualifiedWaterHeater => {
743 "ENERGY STAR Qualified Water Heater".into()
744 }
745
746 Appliances::ExhaustFan => "Exhaust Fan".into(),
747
748 Appliances::FreeStandingElectricOven => "Free-Standing Electric Oven".into(),
749
750 Appliances::FreeStandingElectricRange => "Free-Standing Electric Range".into(),
751
752 Appliances::FreeStandingFreezer => "Free-Standing Freezer".into(),
753
754 Appliances::FreeStandingGasOven => "Free-Standing Gas Oven".into(),
755
756 Appliances::FreeStandingGasRange => "Free-Standing Gas Range".into(),
757
758 Appliances::FreeStandingRange => "Free-Standing Range".into(),
759
760 Appliances::FreeStandingRefrigerator => "Free-Standing Refrigerator".into(),
761
762 Appliances::Freezer => "Freezer".into(),
763
764 Appliances::GasCooktop => "Gas Cooktop".into(),
765
766 Appliances::GasOven => "Gas Oven".into(),
767
768 Appliances::GasRange => "Gas Range".into(),
769
770 Appliances::GasWaterHeater => "Gas Water Heater".into(),
771
772 Appliances::Humidifier => "Humidifier".into(),
773
774 Appliances::IceMaker => "Ice Maker".into(),
775
776 Appliances::IndoorGrill => "Indoor Grill".into(),
777
778 Appliances::InductionCooktop => "Induction Cooktop".into(),
779
780 Appliances::InstantHotWater => "Instant Hot Water".into(),
781
782 Appliances::Microwave => "Microwave".into(),
783
784 Appliances::None => "None".into(),
785
786 Appliances::Other => "Other".into(),
787
788 Appliances::Oven => "Oven".into(),
789
790 Appliances::PlumbedForIceMaker => "Plumbed For Ice Maker".into(),
791
792 Appliances::PortableDishwasher => "Portable Dishwasher".into(),
793
794 Appliances::PropaneCooktop => "Propane Cooktop".into(),
795
796 Appliances::Range => "Range".into(),
797
798 Appliances::RangeHood => "Range Hood".into(),
799
800 Appliances::Refrigerator => "Refrigerator".into(),
801
802 Appliances::SelfCleaningOven => "Self Cleaning Oven".into(),
803
804 Appliances::SolarHotWater => "Solar Hot Water".into(),
805
806 Appliances::StainlessSteelAppliances => "Stainless Steel Appliance(s)".into(),
807
808 Appliances::TanklessWaterHeater => "Tankless Water Heater".into(),
809
810 Appliances::TrashCompactor => "Trash Compactor".into(),
811
812 Appliances::VentedExhaustFan => "Vented Exhaust Fan".into(),
813
814 Appliances::WarmingDrawer => "Warming Drawer".into(),
815
816 Appliances::Washer => "Washer".into(),
817
818 Appliances::WasherDryer => "Washer/Dryer".into(),
819
820 Appliances::WasherDryerStacked => "Washer/Dryer Stacked".into(),
821
822 Appliances::WaterHeater => "Water Heater".into(),
823
824 Appliances::WaterPurifier => "Water Purifier".into(),
825
826 Appliances::WaterPurifierOwned => "Water Purifier Owned".into(),
827
828 Appliances::WaterPurifierRented => "Water Purifier Rented".into(),
829
830 Appliances::WaterSoftener => "Water Softener".into(),
831
832 Appliances::WaterSoftenerOwned => "Water Softener Owned".into(),
833
834 Appliances::WaterSoftenerRented => "Water Softener Rented".into(),
835
836 Appliances::WineCooler => "Wine Cooler".into(),
837
838 Appliances::WineRefrigerator => "Wine Refrigerator".into(),
839
840 Appliances::OpenEnumeration(s) => s,
841 }
842 }
843
844 fn fallback_value(&self) -> Option<&str> {
845 match self {
846 Appliances::OpenEnumeration(ref s) => Some(s),
847 _ => None,
848 }
849 }
850}
851
852impl From<String> for Appliances {
853 fn from(s: String) -> Appliances {
854 match s.as_ref() {
855 "Bar Fridge" => Appliances::BarFridge,
856
857 "Built-In Electric Oven" => Appliances::BuiltInElectricOven,
858
859 "Built-In Electric Range" => Appliances::BuiltInElectricRange,
860
861 "Built-In Freezer" => Appliances::BuiltInFreezer,
862
863 "Built-In Gas Oven" => Appliances::BuiltInGasOven,
864
865 "Built-In Gas Range" => Appliances::BuiltInGasRange,
866
867 "Built-In Range" => Appliances::BuiltInRange,
868
869 "Built-In Refrigerator" => Appliances::BuiltInRefrigerator,
870
871 "Convection Oven" => Appliances::ConvectionOven,
872
873 "Cooktop" => Appliances::Cooktop,
874
875 "Dishwasher" => Appliances::Dishwasher,
876
877 "Disposal" => Appliances::Disposal,
878
879 "Double Oven" => Appliances::DoubleOven,
880
881 "Down Draft" => Appliances::DownDraft,
882
883 "Dryer" => Appliances::Dryer,
884
885 "Electric Cooktop" => Appliances::ElectricCooktop,
886
887 "Electric Oven" => Appliances::ElectricOven,
888
889 "Electric Range" => Appliances::ElectricRange,
890
891 "Electric Water Heater" => Appliances::ElectricWaterHeater,
892
893 "ENERGY STAR Qualified Appliances" => Appliances::ENERGYSTARQualifiedAppliances,
894
895 "ENERGY STAR Qualified Dishwasher" => Appliances::ENERGYSTARQualifiedDishwasher,
896
897 "ENERGY STAR Qualified Dryer" => Appliances::ENERGYSTARQualifiedDryer,
898
899 "ENERGY STAR Qualified Freezer" => Appliances::ENERGYSTARQualifiedFreezer,
900
901 "ENERGY STAR Qualified Refrigerator" => Appliances::ENERGYSTARQualifiedRefrigerator,
902
903 "ENERGY STAR Qualified Washer" => Appliances::ENERGYSTARQualifiedWasher,
904
905 "ENERGY STAR Qualified Water Heater" => Appliances::ENERGYSTARQualifiedWaterHeater,
906
907 "Exhaust Fan" => Appliances::ExhaustFan,
908
909 "Free-Standing Electric Oven" => Appliances::FreeStandingElectricOven,
910
911 "Free-Standing Electric Range" => Appliances::FreeStandingElectricRange,
912
913 "Free-Standing Freezer" => Appliances::FreeStandingFreezer,
914
915 "Free-Standing Gas Oven" => Appliances::FreeStandingGasOven,
916
917 "Free-Standing Gas Range" => Appliances::FreeStandingGasRange,
918
919 "Free-Standing Range" => Appliances::FreeStandingRange,
920
921 "Free-Standing Refrigerator" => Appliances::FreeStandingRefrigerator,
922
923 "Freezer" => Appliances::Freezer,
924
925 "Gas Cooktop" => Appliances::GasCooktop,
926
927 "Gas Oven" => Appliances::GasOven,
928
929 "Gas Range" => Appliances::GasRange,
930
931 "Gas Water Heater" => Appliances::GasWaterHeater,
932
933 "Humidifier" => Appliances::Humidifier,
934
935 "Ice Maker" => Appliances::IceMaker,
936
937 "Indoor Grill" => Appliances::IndoorGrill,
938
939 "Induction Cooktop" => Appliances::InductionCooktop,
940
941 "Instant Hot Water" => Appliances::InstantHotWater,
942
943 "Microwave" => Appliances::Microwave,
944
945 "None" => Appliances::None,
946
947 "Other" => Appliances::Other,
948
949 "Oven" => Appliances::Oven,
950
951 "Plumbed For Ice Maker" => Appliances::PlumbedForIceMaker,
952
953 "Portable Dishwasher" => Appliances::PortableDishwasher,
954
955 "Propane Cooktop" => Appliances::PropaneCooktop,
956
957 "Range" => Appliances::Range,
958
959 "Range Hood" => Appliances::RangeHood,
960
961 "Refrigerator" => Appliances::Refrigerator,
962
963 "Self Cleaning Oven" => Appliances::SelfCleaningOven,
964
965 "Solar Hot Water" => Appliances::SolarHotWater,
966
967 "Stainless Steel Appliance(s)" => Appliances::StainlessSteelAppliances,
968
969 "Tankless Water Heater" => Appliances::TanklessWaterHeater,
970
971 "Trash Compactor" => Appliances::TrashCompactor,
972
973 "Vented Exhaust Fan" => Appliances::VentedExhaustFan,
974
975 "Warming Drawer" => Appliances::WarmingDrawer,
976
977 "Washer" => Appliances::Washer,
978
979 "Washer/Dryer" => Appliances::WasherDryer,
980
981 "Washer/Dryer Stacked" => Appliances::WasherDryerStacked,
982
983 "Water Heater" => Appliances::WaterHeater,
984
985 "Water Purifier" => Appliances::WaterPurifier,
986
987 "Water Purifier Owned" => Appliances::WaterPurifierOwned,
988
989 "Water Purifier Rented" => Appliances::WaterPurifierRented,
990
991 "Water Softener" => Appliances::WaterSoftener,
992
993 "Water Softener Owned" => Appliances::WaterSoftenerOwned,
994
995 "Water Softener Rented" => Appliances::WaterSoftenerRented,
996
997 "Wine Cooler" => Appliances::WineCooler,
998
999 "Wine Refrigerator" => Appliances::WineRefrigerator,
1000
1001 _ => Appliances::OpenEnumeration(s),
1002 }
1003 }
1004}
1005
1006impl From<&str> for Appliances {
1007 fn from(s: &str) -> Appliances {
1008 match s {
1009 "Bar Fridge" => Appliances::BarFridge,
1010
1011 "Built-In Electric Oven" => Appliances::BuiltInElectricOven,
1012
1013 "Built-In Electric Range" => Appliances::BuiltInElectricRange,
1014
1015 "Built-In Freezer" => Appliances::BuiltInFreezer,
1016
1017 "Built-In Gas Oven" => Appliances::BuiltInGasOven,
1018
1019 "Built-In Gas Range" => Appliances::BuiltInGasRange,
1020
1021 "Built-In Range" => Appliances::BuiltInRange,
1022
1023 "Built-In Refrigerator" => Appliances::BuiltInRefrigerator,
1024
1025 "Convection Oven" => Appliances::ConvectionOven,
1026
1027 "Cooktop" => Appliances::Cooktop,
1028
1029 "Dishwasher" => Appliances::Dishwasher,
1030
1031 "Disposal" => Appliances::Disposal,
1032
1033 "Double Oven" => Appliances::DoubleOven,
1034
1035 "Down Draft" => Appliances::DownDraft,
1036
1037 "Dryer" => Appliances::Dryer,
1038
1039 "Electric Cooktop" => Appliances::ElectricCooktop,
1040
1041 "Electric Oven" => Appliances::ElectricOven,
1042
1043 "Electric Range" => Appliances::ElectricRange,
1044
1045 "Electric Water Heater" => Appliances::ElectricWaterHeater,
1046
1047 "ENERGY STAR Qualified Appliances" => Appliances::ENERGYSTARQualifiedAppliances,
1048
1049 "ENERGY STAR Qualified Dishwasher" => Appliances::ENERGYSTARQualifiedDishwasher,
1050
1051 "ENERGY STAR Qualified Dryer" => Appliances::ENERGYSTARQualifiedDryer,
1052
1053 "ENERGY STAR Qualified Freezer" => Appliances::ENERGYSTARQualifiedFreezer,
1054
1055 "ENERGY STAR Qualified Refrigerator" => Appliances::ENERGYSTARQualifiedRefrigerator,
1056
1057 "ENERGY STAR Qualified Washer" => Appliances::ENERGYSTARQualifiedWasher,
1058
1059 "ENERGY STAR Qualified Water Heater" => Appliances::ENERGYSTARQualifiedWaterHeater,
1060
1061 "Exhaust Fan" => Appliances::ExhaustFan,
1062
1063 "Free-Standing Electric Oven" => Appliances::FreeStandingElectricOven,
1064
1065 "Free-Standing Electric Range" => Appliances::FreeStandingElectricRange,
1066
1067 "Free-Standing Freezer" => Appliances::FreeStandingFreezer,
1068
1069 "Free-Standing Gas Oven" => Appliances::FreeStandingGasOven,
1070
1071 "Free-Standing Gas Range" => Appliances::FreeStandingGasRange,
1072
1073 "Free-Standing Range" => Appliances::FreeStandingRange,
1074
1075 "Free-Standing Refrigerator" => Appliances::FreeStandingRefrigerator,
1076
1077 "Freezer" => Appliances::Freezer,
1078
1079 "Gas Cooktop" => Appliances::GasCooktop,
1080
1081 "Gas Oven" => Appliances::GasOven,
1082
1083 "Gas Range" => Appliances::GasRange,
1084
1085 "Gas Water Heater" => Appliances::GasWaterHeater,
1086
1087 "Humidifier" => Appliances::Humidifier,
1088
1089 "Ice Maker" => Appliances::IceMaker,
1090
1091 "Indoor Grill" => Appliances::IndoorGrill,
1092
1093 "Induction Cooktop" => Appliances::InductionCooktop,
1094
1095 "Instant Hot Water" => Appliances::InstantHotWater,
1096
1097 "Microwave" => Appliances::Microwave,
1098
1099 "None" => Appliances::None,
1100
1101 "Other" => Appliances::Other,
1102
1103 "Oven" => Appliances::Oven,
1104
1105 "Plumbed For Ice Maker" => Appliances::PlumbedForIceMaker,
1106
1107 "Portable Dishwasher" => Appliances::PortableDishwasher,
1108
1109 "Propane Cooktop" => Appliances::PropaneCooktop,
1110
1111 "Range" => Appliances::Range,
1112
1113 "Range Hood" => Appliances::RangeHood,
1114
1115 "Refrigerator" => Appliances::Refrigerator,
1116
1117 "Self Cleaning Oven" => Appliances::SelfCleaningOven,
1118
1119 "Solar Hot Water" => Appliances::SolarHotWater,
1120
1121 "Stainless Steel Appliance(s)" => Appliances::StainlessSteelAppliances,
1122
1123 "Tankless Water Heater" => Appliances::TanklessWaterHeater,
1124
1125 "Trash Compactor" => Appliances::TrashCompactor,
1126
1127 "Vented Exhaust Fan" => Appliances::VentedExhaustFan,
1128
1129 "Warming Drawer" => Appliances::WarmingDrawer,
1130
1131 "Washer" => Appliances::Washer,
1132
1133 "Washer/Dryer" => Appliances::WasherDryer,
1134
1135 "Washer/Dryer Stacked" => Appliances::WasherDryerStacked,
1136
1137 "Water Heater" => Appliances::WaterHeater,
1138
1139 "Water Purifier" => Appliances::WaterPurifier,
1140
1141 "Water Purifier Owned" => Appliances::WaterPurifierOwned,
1142
1143 "Water Purifier Rented" => Appliances::WaterPurifierRented,
1144
1145 "Water Softener" => Appliances::WaterSoftener,
1146
1147 "Water Softener Owned" => Appliances::WaterSoftenerOwned,
1148
1149 "Water Softener Rented" => Appliances::WaterSoftenerRented,
1150
1151 "Wine Cooler" => Appliances::WineCooler,
1152
1153 "Wine Refrigerator" => Appliances::WineRefrigerator,
1154
1155 _ => Appliances::OpenEnumeration(s.into()),
1156 }
1157 }
1158}
1159
1160impl<'a> From<&'a Appliances> for &'a str {
1161 fn from(s: &'a Appliances) -> &'a str {
1162 match s {
1163 Appliances::BarFridge => "Bar Fridge",
1164
1165 Appliances::BuiltInElectricOven => "Built-In Electric Oven",
1166
1167 Appliances::BuiltInElectricRange => "Built-In Electric Range",
1168
1169 Appliances::BuiltInFreezer => "Built-In Freezer",
1170
1171 Appliances::BuiltInGasOven => "Built-In Gas Oven",
1172
1173 Appliances::BuiltInGasRange => "Built-In Gas Range",
1174
1175 Appliances::BuiltInRange => "Built-In Range",
1176
1177 Appliances::BuiltInRefrigerator => "Built-In Refrigerator",
1178
1179 Appliances::ConvectionOven => "Convection Oven",
1180
1181 Appliances::Cooktop => "Cooktop",
1182
1183 Appliances::Dishwasher => "Dishwasher",
1184
1185 Appliances::Disposal => "Disposal",
1186
1187 Appliances::DoubleOven => "Double Oven",
1188
1189 Appliances::DownDraft => "Down Draft",
1190
1191 Appliances::Dryer => "Dryer",
1192
1193 Appliances::ElectricCooktop => "Electric Cooktop",
1194
1195 Appliances::ElectricOven => "Electric Oven",
1196
1197 Appliances::ElectricRange => "Electric Range",
1198
1199 Appliances::ElectricWaterHeater => "Electric Water Heater",
1200
1201 Appliances::ENERGYSTARQualifiedAppliances => "ENERGY STAR Qualified Appliances",
1202
1203 Appliances::ENERGYSTARQualifiedDishwasher => "ENERGY STAR Qualified Dishwasher",
1204
1205 Appliances::ENERGYSTARQualifiedDryer => "ENERGY STAR Qualified Dryer",
1206
1207 Appliances::ENERGYSTARQualifiedFreezer => "ENERGY STAR Qualified Freezer",
1208
1209 Appliances::ENERGYSTARQualifiedRefrigerator => "ENERGY STAR Qualified Refrigerator",
1210
1211 Appliances::ENERGYSTARQualifiedWasher => "ENERGY STAR Qualified Washer",
1212
1213 Appliances::ENERGYSTARQualifiedWaterHeater => "ENERGY STAR Qualified Water Heater",
1214
1215 Appliances::ExhaustFan => "Exhaust Fan",
1216
1217 Appliances::FreeStandingElectricOven => "Free-Standing Electric Oven",
1218
1219 Appliances::FreeStandingElectricRange => "Free-Standing Electric Range",
1220
1221 Appliances::FreeStandingFreezer => "Free-Standing Freezer",
1222
1223 Appliances::FreeStandingGasOven => "Free-Standing Gas Oven",
1224
1225 Appliances::FreeStandingGasRange => "Free-Standing Gas Range",
1226
1227 Appliances::FreeStandingRange => "Free-Standing Range",
1228
1229 Appliances::FreeStandingRefrigerator => "Free-Standing Refrigerator",
1230
1231 Appliances::Freezer => "Freezer",
1232
1233 Appliances::GasCooktop => "Gas Cooktop",
1234
1235 Appliances::GasOven => "Gas Oven",
1236
1237 Appliances::GasRange => "Gas Range",
1238
1239 Appliances::GasWaterHeater => "Gas Water Heater",
1240
1241 Appliances::Humidifier => "Humidifier",
1242
1243 Appliances::IceMaker => "Ice Maker",
1244
1245 Appliances::IndoorGrill => "Indoor Grill",
1246
1247 Appliances::InductionCooktop => "Induction Cooktop",
1248
1249 Appliances::InstantHotWater => "Instant Hot Water",
1250
1251 Appliances::Microwave => "Microwave",
1252
1253 Appliances::None => "None",
1254
1255 Appliances::Other => "Other",
1256
1257 Appliances::Oven => "Oven",
1258
1259 Appliances::PlumbedForIceMaker => "Plumbed For Ice Maker",
1260
1261 Appliances::PortableDishwasher => "Portable Dishwasher",
1262
1263 Appliances::PropaneCooktop => "Propane Cooktop",
1264
1265 Appliances::Range => "Range",
1266
1267 Appliances::RangeHood => "Range Hood",
1268
1269 Appliances::Refrigerator => "Refrigerator",
1270
1271 Appliances::SelfCleaningOven => "Self Cleaning Oven",
1272
1273 Appliances::SolarHotWater => "Solar Hot Water",
1274
1275 Appliances::StainlessSteelAppliances => "Stainless Steel Appliance(s)",
1276
1277 Appliances::TanklessWaterHeater => "Tankless Water Heater",
1278
1279 Appliances::TrashCompactor => "Trash Compactor",
1280
1281 Appliances::VentedExhaustFan => "Vented Exhaust Fan",
1282
1283 Appliances::WarmingDrawer => "Warming Drawer",
1284
1285 Appliances::Washer => "Washer",
1286
1287 Appliances::WasherDryer => "Washer/Dryer",
1288
1289 Appliances::WasherDryerStacked => "Washer/Dryer Stacked",
1290
1291 Appliances::WaterHeater => "Water Heater",
1292
1293 Appliances::WaterPurifier => "Water Purifier",
1294
1295 Appliances::WaterPurifierOwned => "Water Purifier Owned",
1296
1297 Appliances::WaterPurifierRented => "Water Purifier Rented",
1298
1299 Appliances::WaterSoftener => "Water Softener",
1300
1301 Appliances::WaterSoftenerOwned => "Water Softener Owned",
1302
1303 Appliances::WaterSoftenerRented => "Water Softener Rented",
1304
1305 Appliances::WineCooler => "Wine Cooler",
1306
1307 Appliances::WineRefrigerator => "Wine Refrigerator",
1308
1309 Appliances::OpenEnumeration(s) => s,
1310 }
1311 }
1312}
1313
1314impl Serialize for Appliances {
1315 fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
1316 where
1317 S: serde::Serializer,
1318 {
1319 serializer.serialize_str(self.into())
1320 }
1321}
1322
1323impl<'de> Deserialize<'de> for Appliances {
1324 fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
1325 where
1326 D: serde::Deserializer<'de>,
1327 {
1328 let s = String::deserialize(deserializer)?;
1329 Ok(From::from(s))
1330 }
1331}