Skip to content

Commit

Permalink
chore!: rename "Tuple<T0, T1, T2...>" -> "(T0, T1, T2...)" (`sche…
Browse files Browse the repository at this point in the history
…ma::Declaration`) (#234)
  • Loading branch information
dj8yfo committed Sep 26, 2023
1 parent 499f446 commit 63cf36d
Show file tree
Hide file tree
Showing 7 changed files with 31 additions and 27 deletions.
26 changes: 15 additions & 11 deletions borsh/src/schema.rs
Original file line number Diff line number Diff line change
Expand Up @@ -667,7 +667,11 @@ macro_rules! impl_tuple {

fn declaration() -> Declaration {
let params = vec![$($name::declaration()),+];
format!(r#"Tuple<{}>"#, params.join(", "))
if params.len() == 1 {
format!(r#"({},)"#, params[0])
} else {
format!(r#"({})"#, params.join(", "))
}
}
}
};
Expand Down Expand Up @@ -817,10 +821,10 @@ mod tests {
let actual_name = <(u64, core::num::NonZeroU16, String)>::declaration();
let mut actual_defs = map!();
<(u64, core::num::NonZeroU16, String)>::add_definitions_recursively(&mut actual_defs);
assert_eq!("Tuple<u64, NonZeroU16, String>", actual_name);
assert_eq!("(u64, NonZeroU16, String)", actual_name);
assert_eq!(
map! {
"Tuple<u64, NonZeroU16, String>" => Definition::Tuple {
"(u64, NonZeroU16, String)" => Definition::Tuple {
elements: vec![
"u64".to_string(),
"NonZeroU16".to_string(),
Expand All @@ -845,15 +849,15 @@ mod tests {
let actual_name = <(u64, (u8, bool), String)>::declaration();
let mut actual_defs = map!();
<(u64, (u8, bool), String)>::add_definitions_recursively(&mut actual_defs);
assert_eq!("Tuple<u64, Tuple<u8, bool>, String>", actual_name);
assert_eq!("(u64, (u8, bool), String)", actual_name);
assert_eq!(
map! {
"Tuple<u64, Tuple<u8, bool>, String>" => Definition::Tuple { elements: vec![
"(u64, (u8, bool), String)" => Definition::Tuple { elements: vec![
"u64".to_string(),
"Tuple<u8, bool>".to_string(),
"(u8, bool)".to_string(),
"String".to_string(),
]},
"Tuple<u8, bool>" => Definition::Tuple { elements: vec![ "u8".to_string(), "bool".to_string()]},
"(u8, bool)" => Definition::Tuple { elements: vec![ "u8".to_string(), "bool".to_string()]},
"u64" => Definition::Primitive(8),
"u8" => Definition::Primitive(1),
"bool" => Definition::Primitive(1),
Expand All @@ -879,9 +883,9 @@ mod tests {
"HashMap<u64, String>" => Definition::Sequence {
length_width: Definition::DEFAULT_LENGTH_WIDTH,
length_range: Definition::DEFAULT_LENGTH_RANGE,
elements: "Tuple<u64, String>".to_string(),
elements: "(u64, String)".to_string(),
} ,
"Tuple<u64, String>" => Definition::Tuple {
"(u64, String)" => Definition::Tuple {
elements: vec![ "u64".to_string(), "String".to_string()],
},
"u64" => Definition::Primitive(8),
Expand Down Expand Up @@ -933,9 +937,9 @@ mod tests {
"BTreeMap<u64, String>" => Definition::Sequence {
length_width: Definition::DEFAULT_LENGTH_WIDTH,
length_range: Definition::DEFAULT_LENGTH_RANGE,
elements: "Tuple<u64, String>".to_string(),
elements: "(u64, String)".to_string(),
} ,
"Tuple<u64, String>" => Definition::Tuple { elements: vec![ "u64".to_string(), "String".to_string()]},
"(u64, String)" => Definition::Tuple { elements: vec![ "u64".to_string(), "String".to_string()]},
"u64" => Definition::Primitive(8),
"String" => Definition::Sequence {
length_width: Definition::DEFAULT_LENGTH_WIDTH,
Expand Down
4 changes: 2 additions & 2 deletions borsh/tests/test_schema_enums.rs
Original file line number Diff line number Diff line change
Expand Up @@ -286,9 +286,9 @@ fn common_map() -> BTreeMap<String, Definition> {
"BTreeMap<u32, u16>" => Definition::Sequence {
length_width: Definition::DEFAULT_LENGTH_WIDTH,
length_range: Definition::DEFAULT_LENGTH_RANGE,
elements: "Tuple<u32, u16>".to_string(),
elements: "(u32, u16)".to_string(),
},
"Tuple<u32, u16>" => Definition::Tuple { elements: vec!["u32".to_string(), "u16".to_string()]},
"(u32, u16)" => Definition::Tuple { elements: vec!["u32".to_string(), "u16".to_string()]},
"u32" => Definition::Primitive(4),
"i8" => Definition::Primitive(1),
"u16" => Definition::Primitive(2),
Expand Down
4 changes: 2 additions & 2 deletions borsh/tests/test_schema_nested.rs
Original file line number Diff line number Diff line change
Expand Up @@ -97,7 +97,7 @@ pub fn duplicated_instantiations() {
"HashMap<u64, String>" => Definition::Sequence {
length_width: Definition::DEFAULT_LENGTH_WIDTH,
length_range: Definition::DEFAULT_LENGTH_RANGE,
elements: "Tuple<u64, String>".to_string(),
elements: "(u64, String)".to_string(),
},
"Oil<u64, String>" => Definition::Struct { fields: Fields::NamedFields(vec![("seeds".to_string(), "HashMap<u64, String>".to_string()), ("liquid".to_string(), "Option<u64>".to_string())])},
"Option<String>" => Definition::Enum {
Expand All @@ -115,7 +115,7 @@ pub fn duplicated_instantiations() {
]
},
"Tomatoes" => Definition::Struct {fields: Fields::Empty},
"Tuple<u64, String>" => Definition::Tuple {elements: vec!["u64".to_string(), "String".to_string()]},
"(u64, String)" => Definition::Tuple {elements: vec!["u64".to_string(), "String".to_string()]},
"Wrapper<String>" => Definition::Struct{ fields: Fields::NamedFields(vec![("foo".to_string(), "Option<String>".to_string()), ("bar".to_string(), "A<String, String>".to_string())])},
"u64" => Definition::Primitive(8),
"()" => Definition::Primitive(0),
Expand Down
4 changes: 2 additions & 2 deletions borsh/tests/test_schema_recursive.rs
Original file line number Diff line number Diff line change
Expand Up @@ -62,9 +62,9 @@ pub fn recursive_struct_schema() {
"BTreeMap<String, CRecC>" => Definition::Sequence {
length_width: Definition::DEFAULT_LENGTH_WIDTH,
length_range: Definition::DEFAULT_LENGTH_RANGE,
elements: "Tuple<String, CRecC>".to_string(),
elements: "(String, CRecC)".to_string(),
},
"Tuple<String, CRecC>" => Definition::Tuple {elements: vec!["String".to_string(), "CRecC".to_string()]},
"(String, CRecC)" => Definition::Tuple {elements: vec!["String".to_string(), "CRecC".to_string()]},
"String" => Definition::Sequence {
length_width: Definition::DEFAULT_LENGTH_WIDTH,
length_range: Definition::DEFAULT_LENGTH_RANGE,
Expand Down
8 changes: 4 additions & 4 deletions borsh/tests/test_schema_structs.rs
Original file line number Diff line number Diff line change
Expand Up @@ -204,9 +204,9 @@ pub fn simple_generics() {
"HashMap<u64, String>" => Definition::Sequence {
length_width: Definition::DEFAULT_LENGTH_WIDTH,
length_range: Definition::DEFAULT_LENGTH_RANGE,
elements: "Tuple<u64, String>".to_string(),
elements: "(u64, String)".to_string(),
},
"Tuple<u64, String>" => Definition::Tuple{elements: vec!["u64".to_string(), "String".to_string()]},
"(u64, String)" => Definition::Tuple{elements: vec!["u64".to_string(), "String".to_string()]},
"u64" => Definition::Primitive(8),
"String" => Definition::Sequence {
length_width: Definition::DEFAULT_LENGTH_WIDTH,
Expand Down Expand Up @@ -337,11 +337,11 @@ pub fn generic_associated_item3() {
map! {
"Parametrized<String, u32, i8>" => Definition::Struct {
fields: Fields::NamedFields(vec![
("field".to_string(), "Tuple<i8, u32>".to_string()),
("field".to_string(), "(i8, u32)".to_string()),
("another".to_string(), "String".to_string())
])
},
"Tuple<i8, u32>" => Definition::Tuple {
"(i8, u32)" => Definition::Tuple {
elements: vec!["i8".to_string(), "u32".to_string()]
},
"i8" => Definition::Primitive(1),
Expand Down
4 changes: 2 additions & 2 deletions borsh/tests/test_schema_tuple.rs
Original file line number Diff line number Diff line change
Expand Up @@ -26,12 +26,12 @@ macro_rules! map(

#[test]
fn test_unary_tuple_schema() {
assert_eq!("Tuple<bool>", <(bool,)>::declaration());
assert_eq!("(bool,)", <(bool,)>::declaration());
let mut defs = Default::default();
<(bool,)>::add_definitions_recursively(&mut defs);
assert_eq!(
map! {
"Tuple<bool>" => Definition::Tuple { elements: vec!["bool".to_string()] },
"(bool,)" => Definition::Tuple { elements: vec!["bool".to_string()] },
"bool" => Definition::Primitive(1)
},
defs
Expand Down
8 changes: 4 additions & 4 deletions borsh/tests/test_schema_with.rs
Original file line number Diff line number Diff line change
Expand Up @@ -116,9 +116,9 @@ pub fn struct_overriden() {
"BTreeMap<u64, String>"=> Definition::Sequence {
length_width: Definition::DEFAULT_LENGTH_WIDTH,
length_range: Definition::DEFAULT_LENGTH_RANGE,
elements: "Tuple<u64, String>".to_string(),
elements: "(u64, String)".to_string(),
},
"Tuple<u64, String>" => Definition::Tuple { elements: vec!["u64".to_string(), "String".to_string()]},
"(u64, String)" => Definition::Tuple { elements: vec!["u64".to_string(), "String".to_string()]},
"u64" => Definition::Primitive(8),
"String" => Definition::Sequence {
length_width: Definition::DEFAULT_LENGTH_WIDTH,
Expand Down Expand Up @@ -158,9 +158,9 @@ pub fn enum_overriden() {
"BTreeMap<u64, String>"=> Definition::Sequence {
length_width: Definition::DEFAULT_LENGTH_WIDTH,
length_range: Definition::DEFAULT_LENGTH_RANGE,
elements: "Tuple<u64, String>".to_string(),
elements: "(u64, String)".to_string(),
},
"Tuple<u64, String>" => Definition::Tuple { elements: vec!["u64".to_string(), "String".to_string()]},
"(u64, String)" => Definition::Tuple { elements: vec!["u64".to_string(), "String".to_string()]},
"u64" => Definition::Primitive(8),
"String" => Definition::Sequence {
length_width: Definition::DEFAULT_LENGTH_WIDTH,
Expand Down

0 comments on commit 63cf36d

Please sign in to comment.