eio_okta_data/
lib.rs

1#![allow(non_camel_case_types)]
2
3#[cfg(feature = "comparable")]
4pub mod comparable;
5
6pub mod v2024_07_0;
7pub use v2024_07_0 as current;
8
9macro_rules! impl_from {
10  ($from:ty => $into:ty as $field:ident) => {
11    impl From<$from> for $into {
12      fn from(value: $from) -> Self {
13        value.$field
14      }
15    }
16  };
17}
18
19pub(crate) use impl_from;
20
21macro_rules! impl_as_ref {
22  ($self:ty) => {
23    impl AsRef<$self> for $self {
24      fn as_ref(&self) -> &$self {
25        &self
26      }
27    }
28  };
29  ($self:ty => $referent:ty as $field:ident) => {
30    impl AsRef<$referent> for $self {
31      fn as_ref(&self) -> &$referent {
32        self.$field.as_ref()
33      }
34    }
35  };
36}
37
38pub(crate) use impl_as_ref;
39
40#[macro_use]
41pub(crate) extern crate macro_rules_attribute;
42pub(crate) use macro_rules_attribute::apply;
43pub(crate) use macro_rules_attribute::attribute_alias;
44
45attribute_alias! {
46  #[apply(structs)] =
47    #[derive(crate::macro_rules_attribute::Custom)]
48    #[cfg_attr(feature = "educe", derive(::educe::Educe))]
49    #[cfg_attr(feature = "educe", educe(Debug, Clone, PartialEq, Eq, Hash))]
50    #[cfg_attr(feature = "arbitrary",  derive(::arbitrary::Arbitrary))]
51    #[cfg_attr(feature = "builder",    derive(::bon::Builder))]
52    #[cfg_attr(feature = "builder",    builder(on(String, into)))]
53    #[cfg_attr(feature = "comparable", derive(::comparable::Comparable))]
54    #[cfg_attr(feature = "dummy",      derive(::fake::Dummy))]
55    #[cfg_attr(feature = "proptest",   derive(::proptest_derive::Arbitrary))]
56    #[cfg_attr(feature = "schemars",   derive(::schemars::JsonSchema))]
57    #[cfg_attr(feature = "serde",      derive(::serde::Deserialize))]
58    #[cfg_attr(feature = "serde",      derive(::serde::Serialize))]
59    #[cfg_attr(feature = "patch",      derive(::struct_patch::Patch))]
60    #[cfg_attr(feature = "validate",   derive(::validator::Validate))]
61    #[cfg_attr(all(feature = "patch", feature = "educe"),      patch(attribute(derive(::educe::Educe))))]
62    #[cfg_attr(all(feature = "patch", feature = "educe"),      patch(attribute(educe(Debug, Clone, PartialEq, Hash, Default))))]
63    #[cfg_attr(all(feature = "patch", feature = "builder"),    patch(attribute(derive(::bon::Builder))))]
64    #[cfg_attr(all(feature = "patch", feature = "builder"),    patch(attribute(builder(on(String, into)))))]
65    #[cfg_attr(all(feature = "patch", feature = "schemars"),   patch(attribute(derive(::schemars::JsonSchema))))]
66    #[cfg_attr(all(feature = "patch", feature = "serde"),      patch(attribute(derive(::serde::Deserialize))))]
67    #[cfg_attr(all(feature = "patch", feature = "serde"),      patch(attribute(derive(::serde::Serialize))))]
68    #[cfg_attr(all(feature = "patch", feature = "validate"),   patch(attribute(derive(::validator::Validate))))]
69    #[cfg_attr(all(feature = "patch", feature = "comparable"), patch(attribute(derive(::comparable::Comparable))))]
70  ;
71
72  #[apply(structs_with_args)] =
73    #[crate::apply(crate::structs)]
74    #[cfg_attr(feature = "clap",         derive(::clap::Args))]
75  ;
76
77  // #[apply(structs_with_parser)] =
78  //   #[crate::apply(crate::structs)]
79  //   #[cfg_attr(feature = "clap",         derive(::clap::Parser))]
80  // ;
81
82  #[apply(enums)] =
83    #[cfg_attr(feature = "educe",      derive(::educe::Educe))]
84    #[cfg_attr(feature = "educe",      educe(Debug, Clone, PartialEq, Eq, Hash))]
85    #[cfg_attr(feature = "arbitrary",  derive(::arbitrary::Arbitrary))]
86    #[cfg_attr(feature = "clap",       derive(::clap::ValueEnum))]
87    #[cfg_attr(feature = "comparable", derive(::comparable::Comparable))]
88    #[cfg_attr(feature = "dummy",      derive(::fake::Dummy))]
89    #[cfg_attr(feature = "proptest",   derive(::proptest_derive::Arbitrary))]
90    #[cfg_attr(feature = "schemars",   derive(::schemars::JsonSchema))]
91    #[cfg_attr(feature = "serde",      derive(::serde::Deserialize))]
92    #[cfg_attr(feature = "serde",      derive(::serde::Serialize))]
93    #[cfg_attr(feature = "strum",      derive(::strum::AsRefStr))]
94    #[cfg_attr(feature = "strum",      derive(::strum::Display))]
95    #[cfg_attr(feature = "strum",      derive(::strum::EnumCount))]
96    #[cfg_attr(feature = "strum",      derive(::strum::EnumDiscriminants))]
97    #[cfg_attr(feature = "strum",      derive(::strum::EnumIs))]
98    #[cfg_attr(feature = "strum",      derive(::strum::EnumIter))]
99    #[cfg_attr(feature = "strum",      derive(::strum::EnumMessage))]
100    #[cfg_attr(feature = "strum",      derive(::strum::EnumProperty))]
101    #[cfg_attr(feature = "strum",      derive(::strum::EnumString))]
102    #[cfg_attr(feature = "strum",      derive(::strum::EnumTryAs))]
103    #[cfg_attr(feature = "strum",      derive(::strum::FromRepr))]
104    #[cfg_attr(feature = "strum",      derive(::strum::IntoStaticStr))]
105    #[cfg_attr(feature = "strum",      derive(::strum::VariantArray))]
106    #[cfg_attr(feature = "strum",      derive(::strum::VariantNames))]
107  ;
108
109  // #[apply(errors)] =
110  //   #[cfg_attr(feature = "educe",      derive(::educe::Educe))]
111  //   #[cfg_attr(feature = "educe",      educe(Debug))]
112  //   #[cfg_attr(feature = "errors",     derive(::thiserror::Error))]
113  //   #[cfg_attr(feature = "diagnostic", derive(::miette::Diagnostic))]
114  // ;
115
116}
117
118#[cfg(feature = "dummy")]
119pub(crate) mod fake;
120
121#[cfg(feature = "proptest")]
122pub(crate) mod strategy;
123
124#[cfg(test)]
125pub(crate) mod testing;