Skip to content

Commit b9b3cd1

Browse files
authored
fix: Support the enumn crate in all public enums (#264)
1 parent 6b82665 commit b9b3cd1

File tree

1 file changed

+18
-1
lines changed

1 file changed

+18
-1
lines changed

common/src/lib.rs

+18-1
Original file line numberDiff line numberDiff line change
@@ -43,6 +43,7 @@ pub use geometry::{Affine, Point, Rect, Size, Vec2};
4343
/// of [`Role::Unknown`]). This is more efficient in serialization formats
4444
/// where integers use a variable-length encoding.
4545
#[derive(Clone, Copy, Debug, PartialEq, Eq, PartialOrd, Ord, Hash)]
46+
#[cfg_attr(feature = "enumn", derive(enumn::N))]
4647
#[cfg_attr(feature = "serde", derive(Serialize, Deserialize))]
4748
#[cfg_attr(feature = "schemars", derive(JsonSchema))]
4849
#[cfg_attr(feature = "serde", serde(rename_all = "camelCase"))]
@@ -264,7 +265,8 @@ impl Default for Role {
264265
/// In contrast to [`DefaultActionVerb`], these describe what happens to the
265266
/// object, e.g. "focus".
266267
#[derive(Clone, Copy, Debug, PartialEq, Eq, PartialOrd, Ord, Hash)]
267-
#[cfg_attr(feature = "serde", derive(Serialize, Deserialize, enumn::N))]
268+
#[cfg_attr(feature = "enumn", derive(enumn::N))]
269+
#[cfg_attr(feature = "serde", derive(Serialize, Deserialize))]
268270
#[cfg_attr(feature = "schemars", derive(JsonSchema))]
269271
#[cfg_attr(feature = "serde", serde(rename_all = "camelCase"))]
270272
#[repr(u8)]
@@ -434,6 +436,7 @@ impl JsonSchema for Actions {
434436
}
435437

436438
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash)]
439+
#[cfg_attr(feature = "enumn", derive(enumn::N))]
437440
#[cfg_attr(feature = "serde", derive(Serialize, Deserialize))]
438441
#[cfg_attr(feature = "schemars", derive(JsonSchema))]
439442
#[cfg_attr(feature = "serde", serde(rename_all = "camelCase"))]
@@ -446,6 +449,7 @@ pub enum Orientation {
446449
}
447450

448451
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash)]
452+
#[cfg_attr(feature = "enumn", derive(enumn::N))]
449453
#[cfg_attr(feature = "serde", derive(Serialize, Deserialize))]
450454
#[cfg_attr(feature = "schemars", derive(JsonSchema))]
451455
#[cfg_attr(feature = "serde", serde(rename_all = "camelCase"))]
@@ -470,6 +474,7 @@ pub enum NameFrom {
470474
}
471475

472476
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash)]
477+
#[cfg_attr(feature = "enumn", derive(enumn::N))]
473478
#[cfg_attr(feature = "serde", derive(Serialize, Deserialize))]
474479
#[cfg_attr(feature = "schemars", derive(JsonSchema))]
475480
#[cfg_attr(feature = "serde", serde(rename_all = "camelCase"))]
@@ -488,6 +493,7 @@ pub enum DescriptionFrom {
488493
}
489494

490495
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash)]
496+
#[cfg_attr(feature = "enumn", derive(enumn::N))]
491497
#[cfg_attr(feature = "serde", derive(Serialize, Deserialize))]
492498
#[cfg_attr(feature = "schemars", derive(JsonSchema))]
493499
#[cfg_attr(feature = "serde", serde(rename_all = "camelCase"))]
@@ -504,6 +510,7 @@ pub enum TextDirection {
504510
///
505511
/// [`aria-invalid`]: https://www.w3.org/TR/wai-aria-1.1/#aria-invalid
506512
#[derive(Clone, Copy, Debug, PartialEq, Eq)]
513+
#[cfg_attr(feature = "enumn", derive(enumn::N))]
507514
#[cfg_attr(feature = "serde", derive(Serialize, Deserialize))]
508515
#[cfg_attr(feature = "schemars", derive(JsonSchema))]
509516
#[cfg_attr(feature = "serde", serde(rename_all = "camelCase"))]
@@ -515,6 +522,7 @@ pub enum Invalid {
515522
}
516523

517524
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash)]
525+
#[cfg_attr(feature = "enumn", derive(enumn::N))]
518526
#[cfg_attr(feature = "serde", derive(Serialize, Deserialize))]
519527
#[cfg_attr(feature = "schemars", derive(JsonSchema))]
520528
#[cfg_attr(feature = "serde", serde(rename_all = "camelCase"))]
@@ -532,6 +540,7 @@ pub enum CheckedState {
532540
/// object, e.g. "press", not what happens to the object as a result.
533541
/// Only one verb can be used at a time to describe the default action.
534542
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash)]
543+
#[cfg_attr(feature = "enumn", derive(enumn::N))]
535544
#[cfg_attr(feature = "serde", derive(Serialize, Deserialize))]
536545
#[cfg_attr(feature = "schemars", derive(JsonSchema))]
537546
#[cfg_attr(feature = "serde", serde(rename_all = "camelCase"))]
@@ -553,6 +562,7 @@ pub enum DefaultActionVerb {
553562
}
554563

555564
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash)]
565+
#[cfg_attr(feature = "enumn", derive(enumn::N))]
556566
#[cfg_attr(feature = "serde", derive(Serialize, Deserialize))]
557567
#[cfg_attr(feature = "schemars", derive(JsonSchema))]
558568
#[cfg_attr(feature = "serde", serde(rename_all = "camelCase"))]
@@ -565,6 +575,7 @@ pub enum SortDirection {
565575
}
566576

567577
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash)]
578+
#[cfg_attr(feature = "enumn", derive(enumn::N))]
568579
#[cfg_attr(feature = "serde", derive(Serialize, Deserialize))]
569580
#[cfg_attr(feature = "schemars", derive(JsonSchema))]
570581
#[cfg_attr(feature = "serde", serde(rename_all = "camelCase"))]
@@ -580,6 +591,7 @@ pub enum AriaCurrent {
580591
}
581592

582593
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash)]
594+
#[cfg_attr(feature = "enumn", derive(enumn::N))]
583595
#[cfg_attr(feature = "serde", derive(Serialize, Deserialize))]
584596
#[cfg_attr(feature = "schemars", derive(JsonSchema))]
585597
#[cfg_attr(feature = "serde", serde(rename_all = "camelCase"))]
@@ -591,6 +603,7 @@ pub enum Live {
591603
}
592604

593605
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash)]
606+
#[cfg_attr(feature = "enumn", derive(enumn::N))]
594607
#[cfg_attr(feature = "serde", derive(Serialize, Deserialize))]
595608
#[cfg_attr(feature = "schemars", derive(JsonSchema))]
596609
#[cfg_attr(feature = "serde", serde(rename_all = "camelCase"))]
@@ -605,6 +618,7 @@ pub enum HasPopup {
605618
}
606619

607620
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash)]
621+
#[cfg_attr(feature = "enumn", derive(enumn::N))]
608622
#[cfg_attr(feature = "serde", derive(Serialize, Deserialize))]
609623
#[cfg_attr(feature = "schemars", derive(JsonSchema))]
610624
#[cfg_attr(feature = "serde", serde(rename_all = "camelCase"))]
@@ -620,6 +634,7 @@ pub enum ListStyle {
620634
}
621635

622636
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash)]
637+
#[cfg_attr(feature = "enumn", derive(enumn::N))]
623638
#[cfg_attr(feature = "serde", derive(Serialize, Deserialize))]
624639
#[cfg_attr(feature = "schemars", derive(JsonSchema))]
625640
#[cfg_attr(feature = "serde", serde(rename_all = "camelCase"))]
@@ -632,6 +647,7 @@ pub enum TextAlign {
632647
}
633648

634649
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash)]
650+
#[cfg_attr(feature = "enumn", derive(enumn::N))]
635651
#[cfg_attr(feature = "serde", derive(Serialize, Deserialize))]
636652
#[cfg_attr(feature = "schemars", derive(JsonSchema))]
637653
#[cfg_attr(feature = "serde", serde(rename_all = "camelCase"))]
@@ -642,6 +658,7 @@ pub enum VerticalOffset {
642658
}
643659

644660
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash)]
661+
#[cfg_attr(feature = "enumn", derive(enumn::N))]
645662
#[cfg_attr(feature = "serde", derive(Serialize, Deserialize))]
646663
#[cfg_attr(feature = "schemars", derive(JsonSchema))]
647664
#[cfg_attr(feature = "serde", serde(rename_all = "camelCase"))]

0 commit comments

Comments
 (0)