update typify (#452)

This commit is contained in:
Adam Leventhal 2023-05-02 13:55:50 -07:00 committed by GitHub
parent 1e356457b2
commit 6936ecc51a
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
4 changed files with 40 additions and 48 deletions

20
Cargo.lock generated
View File

@ -1284,7 +1284,7 @@ dependencies = [
"progenitor-macro", "progenitor-macro",
"project-root", "project-root",
"rand", "rand",
"regress 0.6.0", "regress",
"reqwest", "reqwest",
"rustfmt-wrapper", "rustfmt-wrapper",
"schemars", "schemars",
@ -1430,16 +1430,6 @@ version = "0.7.1"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "a5996294f19bd3aae0453a862ad728f60e6600695733dd5df01da90c54363a3c" checksum = "a5996294f19bd3aae0453a862ad728f60e6600695733dd5df01da90c54363a3c"
[[package]]
name = "regress"
version = "0.5.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "d995d590bd8ec096d1893f414bf3f5e8b0ee4c9eed9a5642b9766ef2c8e2e8e9"
dependencies = [
"hashbrown 0.13.2",
"memchr",
]
[[package]] [[package]]
name = "regress" name = "regress"
version = "0.6.0" version = "0.6.0"
@ -2198,7 +2188,7 @@ checksum = "dcf81ac59edc17cc8697ff311e8f5ef2d99fcbd9817b34cec66f90b6c3dfd987"
[[package]] [[package]]
name = "typify" name = "typify"
version = "0.0.12-dev" version = "0.0.12-dev"
source = "git+https://github.com/oxidecomputer/typify#4152a79d8e04cb9d8625c2fa0232f6aa657dbb24" source = "git+https://github.com/oxidecomputer/typify#70a5b06a0948f13264f7a27b2015c3814f90ca8a"
dependencies = [ dependencies = [
"typify-impl", "typify-impl",
"typify-macro", "typify-macro",
@ -2207,13 +2197,13 @@ dependencies = [
[[package]] [[package]]
name = "typify-impl" name = "typify-impl"
version = "0.0.12-dev" version = "0.0.12-dev"
source = "git+https://github.com/oxidecomputer/typify#4152a79d8e04cb9d8625c2fa0232f6aa657dbb24" source = "git+https://github.com/oxidecomputer/typify#70a5b06a0948f13264f7a27b2015c3814f90ca8a"
dependencies = [ dependencies = [
"heck", "heck",
"log", "log",
"proc-macro2", "proc-macro2",
"quote", "quote",
"regress 0.5.0", "regress",
"schemars", "schemars",
"serde_json", "serde_json",
"syn 2.0.15", "syn 2.0.15",
@ -2224,7 +2214,7 @@ dependencies = [
[[package]] [[package]]
name = "typify-macro" name = "typify-macro"
version = "0.0.12-dev" version = "0.0.12-dev"
source = "git+https://github.com/oxidecomputer/typify#4152a79d8e04cb9d8625c2fa0232f6aa657dbb24" source = "git+https://github.com/oxidecomputer/typify#70a5b06a0948f13264f7a27b2015c3814f90ca8a"
dependencies = [ dependencies = [
"proc-macro2", "proc-macro2",
"quote", "quote",

View File

@ -2486,7 +2486,7 @@ pub mod types {
} }
///An IPv4 subnet, including prefix and subnet mask ///An IPv4 subnet, including prefix and subnet mask
#[derive(Clone, Debug, Serialize)] #[derive(Clone, Debug, Eq, Hash, Ord, PartialEq, PartialOrd, Serialize)]
pub struct Ipv4Net(String); pub struct Ipv4Net(String);
impl std::ops::Deref for Ipv4Net { impl std::ops::Deref for Ipv4Net {
type Target = String; type Target = String;
@ -2582,7 +2582,7 @@ pub mod types {
} }
///An IPv6 subnet, including prefix and subnet mask ///An IPv6 subnet, including prefix and subnet mask
#[derive(Clone, Debug, Serialize)] #[derive(Clone, Debug, Eq, Hash, Ord, PartialEq, PartialOrd, Serialize)]
pub struct Ipv6Net(String); pub struct Ipv6Net(String);
impl std::ops::Deref for Ipv6Net { impl std::ops::Deref for Ipv6Net {
type Target = String; type Target = String;
@ -2678,7 +2678,7 @@ pub mod types {
///An inclusive-inclusive range of IP ports. The second port may be omitted ///An inclusive-inclusive range of IP ports. The second port may be omitted
/// to represent a single port /// to represent a single port
#[derive(Clone, Debug, Serialize)] #[derive(Clone, Debug, Eq, Hash, Ord, PartialEq, PartialOrd, Serialize)]
pub struct L4PortRange(String); pub struct L4PortRange(String);
impl std::ops::Deref for L4PortRange { impl std::ops::Deref for L4PortRange {
type Target = String; type Target = String;
@ -2752,7 +2752,7 @@ pub mod types {
} }
///A Media Access Control address, in EUI-48 format ///A Media Access Control address, in EUI-48 format
#[derive(Clone, Debug, Serialize)] #[derive(Clone, Debug, Eq, Hash, Ord, PartialEq, PartialOrd, Serialize)]
pub struct MacAddr(String); pub struct MacAddr(String);
impl std::ops::Deref for MacAddr { impl std::ops::Deref for MacAddr {
type Target = String; type Target = String;
@ -2869,7 +2869,7 @@ pub mod types {
///Names must begin with a lower case ASCII letter, be composed exclusively ///Names must begin with a lower case ASCII letter, be composed exclusively
/// of lowercase ASCII, uppercase ASCII, numbers, and '-', and may not end /// of lowercase ASCII, uppercase ASCII, numbers, and '-', and may not end
/// with a '-'. Names cannot be a UUID though they may contain a UUID. /// with a '-'. Names cannot be a UUID though they may contain a UUID.
#[derive(Clone, Debug, Serialize)] #[derive(Clone, Debug, Eq, Hash, Ord, PartialEq, PartialOrd, Serialize)]
pub struct Name(String); pub struct Name(String);
impl std::ops::Deref for Name { impl std::ops::Deref for Name {
type Target = String; type Target = String;
@ -3253,7 +3253,7 @@ pub mod types {
/// is used to identify its output. Nodes that depend on a given node /// is used to identify its output. Nodes that depend on a given node
/// (either directly or indirectly) can access the node's output using its /// (either directly or indirectly) can access the node's output using its
/// name. /// name.
#[derive(Clone, Debug, Deserialize, Serialize)] #[derive(Clone, Debug, Deserialize, Eq, Hash, Ord, PartialEq, PartialOrd, Serialize)]
pub struct NodeName(pub String); pub struct NodeName(pub String);
impl std::ops::Deref for NodeName { impl std::ops::Deref for NodeName {
type Target = String; type Target = String;
@ -3493,7 +3493,7 @@ pub mod types {
} }
///Passwords may be subject to additional constraints. ///Passwords may be subject to additional constraints.
#[derive(Clone, Debug, Serialize)] #[derive(Clone, Debug, Eq, Hash, Ord, PartialEq, PartialOrd, Serialize)]
pub struct Password(String); pub struct Password(String);
impl std::ops::Deref for Password { impl std::ops::Deref for Password {
type Target = String; type Target = String;
@ -3928,7 +3928,7 @@ pub mod types {
} }
///Role names consist of two string components separated by dot ("."). ///Role names consist of two string components separated by dot (".").
#[derive(Clone, Debug, Serialize)] #[derive(Clone, Debug, Eq, Hash, Ord, PartialEq, PartialOrd, Serialize)]
pub struct RoleName(String); pub struct RoleName(String);
impl std::ops::Deref for RoleName { impl std::ops::Deref for RoleName {
type Target = String; type Target = String;
@ -4438,7 +4438,7 @@ pub mod types {
} }
} }
#[derive(Clone, Debug, Serialize)] #[derive(Clone, Debug, Eq, Hash, Ord, PartialEq, PartialOrd, Serialize)]
pub struct SemverVersion(String); pub struct SemverVersion(String);
impl std::ops::Deref for SemverVersion { impl std::ops::Deref for SemverVersion {
type Target = String; type Target = String;
@ -5235,7 +5235,7 @@ pub mod types {
///Names are constructed by concatenating the target and metric names with ///Names are constructed by concatenating the target and metric names with
/// ':'. Target and metric names must be lowercase alphanumeric characters /// ':'. Target and metric names must be lowercase alphanumeric characters
/// with '_' separating words. /// with '_' separating words.
#[derive(Clone, Debug, Serialize)] #[derive(Clone, Debug, Eq, Hash, Ord, PartialEq, PartialOrd, Serialize)]
pub struct TimeseriesName(String); pub struct TimeseriesName(String);
impl std::ops::Deref for TimeseriesName { impl std::ops::Deref for TimeseriesName {
type Target = String; type Target = String;
@ -5697,7 +5697,7 @@ pub mod types {
///Names must begin with a lower case ASCII letter, be composed exclusively ///Names must begin with a lower case ASCII letter, be composed exclusively
/// of lowercase ASCII, uppercase ASCII, numbers, and '-', and may not end /// of lowercase ASCII, uppercase ASCII, numbers, and '-', and may not end
/// with a '-'. Names cannot be a UUID though they may contain a UUID. /// with a '-'. Names cannot be a UUID though they may contain a UUID.
#[derive(Clone, Debug, Serialize)] #[derive(Clone, Debug, Eq, Hash, Ord, PartialEq, PartialOrd, Serialize)]
pub struct UserId(String); pub struct UserId(String);
impl std::ops::Deref for UserId { impl std::ops::Deref for UserId {
type Target = String; type Target = String;

View File

@ -2506,7 +2506,7 @@ pub mod types {
} }
///An IPv4 subnet, including prefix and subnet mask ///An IPv4 subnet, including prefix and subnet mask
#[derive(Clone, Debug, JsonSchema, Serialize)] #[derive(Clone, Debug, Eq, Hash, JsonSchema, Ord, PartialEq, PartialOrd, Serialize)]
pub struct Ipv4Net(String); pub struct Ipv4Net(String);
impl std::ops::Deref for Ipv4Net { impl std::ops::Deref for Ipv4Net {
type Target = String; type Target = String;
@ -2602,7 +2602,7 @@ pub mod types {
} }
///An IPv6 subnet, including prefix and subnet mask ///An IPv6 subnet, including prefix and subnet mask
#[derive(Clone, Debug, JsonSchema, Serialize)] #[derive(Clone, Debug, Eq, Hash, JsonSchema, Ord, PartialEq, PartialOrd, Serialize)]
pub struct Ipv6Net(String); pub struct Ipv6Net(String);
impl std::ops::Deref for Ipv6Net { impl std::ops::Deref for Ipv6Net {
type Target = String; type Target = String;
@ -2698,7 +2698,7 @@ pub mod types {
///An inclusive-inclusive range of IP ports. The second port may be omitted ///An inclusive-inclusive range of IP ports. The second port may be omitted
/// to represent a single port /// to represent a single port
#[derive(Clone, Debug, JsonSchema, Serialize)] #[derive(Clone, Debug, Eq, Hash, JsonSchema, Ord, PartialEq, PartialOrd, Serialize)]
pub struct L4PortRange(String); pub struct L4PortRange(String);
impl std::ops::Deref for L4PortRange { impl std::ops::Deref for L4PortRange {
type Target = String; type Target = String;
@ -2772,7 +2772,7 @@ pub mod types {
} }
///A Media Access Control address, in EUI-48 format ///A Media Access Control address, in EUI-48 format
#[derive(Clone, Debug, JsonSchema, Serialize)] #[derive(Clone, Debug, Eq, Hash, JsonSchema, Ord, PartialEq, PartialOrd, Serialize)]
pub struct MacAddr(String); pub struct MacAddr(String);
impl std::ops::Deref for MacAddr { impl std::ops::Deref for MacAddr {
type Target = String; type Target = String;
@ -2889,7 +2889,7 @@ pub mod types {
///Names must begin with a lower case ASCII letter, be composed exclusively ///Names must begin with a lower case ASCII letter, be composed exclusively
/// of lowercase ASCII, uppercase ASCII, numbers, and '-', and may not end /// of lowercase ASCII, uppercase ASCII, numbers, and '-', and may not end
/// with a '-'. Names cannot be a UUID though they may contain a UUID. /// with a '-'. Names cannot be a UUID though they may contain a UUID.
#[derive(Clone, Debug, Hash, JsonSchema, Serialize)] #[derive(Clone, Debug, Eq, Hash, JsonSchema, Ord, PartialEq, PartialOrd, Serialize)]
pub struct Name(String); pub struct Name(String);
impl std::ops::Deref for Name { impl std::ops::Deref for Name {
type Target = String; type Target = String;
@ -3277,7 +3277,9 @@ pub mod types {
/// is used to identify its output. Nodes that depend on a given node /// is used to identify its output. Nodes that depend on a given node
/// (either directly or indirectly) can access the node's output using its /// (either directly or indirectly) can access the node's output using its
/// name. /// name.
#[derive(Clone, Debug, Deserialize, JsonSchema, Serialize)] #[derive(
Clone, Debug, Deserialize, Eq, Hash, JsonSchema, Ord, PartialEq, PartialOrd, Serialize,
)]
pub struct NodeName(pub String); pub struct NodeName(pub String);
impl std::ops::Deref for NodeName { impl std::ops::Deref for NodeName {
type Target = String; type Target = String;
@ -3519,7 +3521,7 @@ pub mod types {
} }
///Passwords may be subject to additional constraints. ///Passwords may be subject to additional constraints.
#[derive(Clone, Debug, JsonSchema, Serialize)] #[derive(Clone, Debug, Eq, Hash, JsonSchema, Ord, PartialEq, PartialOrd, Serialize)]
pub struct Password(String); pub struct Password(String);
impl std::ops::Deref for Password { impl std::ops::Deref for Password {
type Target = String; type Target = String;
@ -3958,7 +3960,7 @@ pub mod types {
} }
///Role names consist of two string components separated by dot ("."). ///Role names consist of two string components separated by dot (".").
#[derive(Clone, Debug, JsonSchema, Serialize)] #[derive(Clone, Debug, Eq, Hash, JsonSchema, Ord, PartialEq, PartialOrd, Serialize)]
pub struct RoleName(String); pub struct RoleName(String);
impl std::ops::Deref for RoleName { impl std::ops::Deref for RoleName {
type Target = String; type Target = String;
@ -4470,7 +4472,7 @@ pub mod types {
} }
} }
#[derive(Clone, Debug, JsonSchema, Serialize)] #[derive(Clone, Debug, Eq, Hash, JsonSchema, Ord, PartialEq, PartialOrd, Serialize)]
pub struct SemverVersion(String); pub struct SemverVersion(String);
impl std::ops::Deref for SemverVersion { impl std::ops::Deref for SemverVersion {
type Target = String; type Target = String;
@ -5277,7 +5279,7 @@ pub mod types {
///Names are constructed by concatenating the target and metric names with ///Names are constructed by concatenating the target and metric names with
/// ':'. Target and metric names must be lowercase alphanumeric characters /// ':'. Target and metric names must be lowercase alphanumeric characters
/// with '_' separating words. /// with '_' separating words.
#[derive(Clone, Debug, JsonSchema, Serialize)] #[derive(Clone, Debug, Eq, Hash, JsonSchema, Ord, PartialEq, PartialOrd, Serialize)]
pub struct TimeseriesName(String); pub struct TimeseriesName(String);
impl std::ops::Deref for TimeseriesName { impl std::ops::Deref for TimeseriesName {
type Target = String; type Target = String;
@ -5743,7 +5745,7 @@ pub mod types {
///Names must begin with a lower case ASCII letter, be composed exclusively ///Names must begin with a lower case ASCII letter, be composed exclusively
/// of lowercase ASCII, uppercase ASCII, numbers, and '-', and may not end /// of lowercase ASCII, uppercase ASCII, numbers, and '-', and may not end
/// with a '-'. Names cannot be a UUID though they may contain a UUID. /// with a '-'. Names cannot be a UUID though they may contain a UUID.
#[derive(Clone, Debug, JsonSchema, Serialize)] #[derive(Clone, Debug, Eq, Hash, JsonSchema, Ord, PartialEq, PartialOrd, Serialize)]
pub struct UserId(String); pub struct UserId(String);
impl std::ops::Deref for UserId { impl std::ops::Deref for UserId {
type Target = String; type Target = String;

View File

@ -2192,7 +2192,7 @@ pub mod types {
} }
///An IPv4 subnet, including prefix and subnet mask ///An IPv4 subnet, including prefix and subnet mask
#[derive(Clone, Debug, Serialize)] #[derive(Clone, Debug, Eq, Hash, Ord, PartialEq, PartialOrd, Serialize)]
pub struct Ipv4Net(String); pub struct Ipv4Net(String);
impl std::ops::Deref for Ipv4Net { impl std::ops::Deref for Ipv4Net {
type Target = String; type Target = String;
@ -2282,7 +2282,7 @@ pub mod types {
} }
///An IPv6 subnet, including prefix and subnet mask ///An IPv6 subnet, including prefix and subnet mask
#[derive(Clone, Debug, Serialize)] #[derive(Clone, Debug, Eq, Hash, Ord, PartialEq, PartialOrd, Serialize)]
pub struct Ipv6Net(String); pub struct Ipv6Net(String);
impl std::ops::Deref for Ipv6Net { impl std::ops::Deref for Ipv6Net {
type Target = String; type Target = String;
@ -2372,7 +2372,7 @@ pub mod types {
///An inclusive-inclusive range of IP ports. The second port may be omitted ///An inclusive-inclusive range of IP ports. The second port may be omitted
/// to represent a single port /// to represent a single port
#[derive(Clone, Debug, Serialize)] #[derive(Clone, Debug, Eq, Hash, Ord, PartialEq, PartialOrd, Serialize)]
pub struct L4PortRange(String); pub struct L4PortRange(String);
impl std::ops::Deref for L4PortRange { impl std::ops::Deref for L4PortRange {
type Target = String; type Target = String;
@ -2446,7 +2446,7 @@ pub mod types {
} }
///A Media Access Control address, in EUI-48 format ///A Media Access Control address, in EUI-48 format
#[derive(Clone, Debug, Serialize)] #[derive(Clone, Debug, Eq, Hash, Ord, PartialEq, PartialOrd, Serialize)]
pub struct MacAddr(String); pub struct MacAddr(String);
impl std::ops::Deref for MacAddr { impl std::ops::Deref for MacAddr {
type Target = String; type Target = String;
@ -2551,7 +2551,7 @@ pub mod types {
///Names must begin with a lower case ASCII letter, be composed exclusively ///Names must begin with a lower case ASCII letter, be composed exclusively
/// of lowercase ASCII, uppercase ASCII, numbers, and '-', and may not end /// of lowercase ASCII, uppercase ASCII, numbers, and '-', and may not end
/// with a '-'. Names cannot be a UUID though they may contain a UUID. /// with a '-'. Names cannot be a UUID though they may contain a UUID.
#[derive(Clone, Debug, Serialize)] #[derive(Clone, Debug, Eq, Hash, Ord, PartialEq, PartialOrd, Serialize)]
pub struct Name(String); pub struct Name(String);
impl std::ops::Deref for Name { impl std::ops::Deref for Name {
type Target = String; type Target = String;
@ -2911,7 +2911,7 @@ pub mod types {
/// is used to identify its output. Nodes that depend on a given node /// is used to identify its output. Nodes that depend on a given node
/// (either directly or indirectly) can access the node's output using its /// (either directly or indirectly) can access the node's output using its
/// name. /// name.
#[derive(Clone, Debug, Deserialize, Serialize)] #[derive(Clone, Debug, Deserialize, Eq, Hash, Ord, PartialEq, PartialOrd, Serialize)]
pub struct NodeName(pub String); pub struct NodeName(pub String);
impl std::ops::Deref for NodeName { impl std::ops::Deref for NodeName {
type Target = String; type Target = String;
@ -3115,7 +3115,7 @@ pub mod types {
} }
///Passwords may be subject to additional constraints. ///Passwords may be subject to additional constraints.
#[derive(Clone, Debug, Serialize)] #[derive(Clone, Debug, Eq, Hash, Ord, PartialEq, PartialOrd, Serialize)]
pub struct Password(String); pub struct Password(String);
impl std::ops::Deref for Password { impl std::ops::Deref for Password {
type Target = String; type Target = String;
@ -3484,7 +3484,7 @@ pub mod types {
} }
///Role names consist of two string components separated by dot ("."). ///Role names consist of two string components separated by dot (".").
#[derive(Clone, Debug, Serialize)] #[derive(Clone, Debug, Eq, Hash, Ord, PartialEq, PartialOrd, Serialize)]
pub struct RoleName(String); pub struct RoleName(String);
impl std::ops::Deref for RoleName { impl std::ops::Deref for RoleName {
type Target = String; type Target = String;
@ -3940,7 +3940,7 @@ pub mod types {
} }
} }
#[derive(Clone, Debug, Serialize)] #[derive(Clone, Debug, Eq, Hash, Ord, PartialEq, PartialOrd, Serialize)]
pub struct SemverVersion(String); pub struct SemverVersion(String);
impl std::ops::Deref for SemverVersion { impl std::ops::Deref for SemverVersion {
type Target = String; type Target = String;
@ -4629,7 +4629,7 @@ pub mod types {
///Names are constructed by concatenating the target and metric names with ///Names are constructed by concatenating the target and metric names with
/// ':'. Target and metric names must be lowercase alphanumeric characters /// ':'. Target and metric names must be lowercase alphanumeric characters
/// with '_' separating words. /// with '_' separating words.
#[derive(Clone, Debug, Serialize)] #[derive(Clone, Debug, Eq, Hash, Ord, PartialEq, PartialOrd, Serialize)]
pub struct TimeseriesName(String); pub struct TimeseriesName(String);
impl std::ops::Deref for TimeseriesName { impl std::ops::Deref for TimeseriesName {
type Target = String; type Target = String;
@ -5031,7 +5031,7 @@ pub mod types {
///Names must begin with a lower case ASCII letter, be composed exclusively ///Names must begin with a lower case ASCII letter, be composed exclusively
/// of lowercase ASCII, uppercase ASCII, numbers, and '-', and may not end /// of lowercase ASCII, uppercase ASCII, numbers, and '-', and may not end
/// with a '-'. Names cannot be a UUID though they may contain a UUID. /// with a '-'. Names cannot be a UUID though they may contain a UUID.
#[derive(Clone, Debug, Serialize)] #[derive(Clone, Debug, Eq, Hash, Ord, PartialEq, PartialOrd, Serialize)]
pub struct UserId(String); pub struct UserId(String);
impl std::ops::Deref for UserId { impl std::ops::Deref for UserId {
type Target = String; type Target = String;