+5
-5
Cargo.lock
+5
-5
Cargo.lock
···
2288
2288
[[package]]
2289
2289
name = "jacquard-api"
2290
2290
version = "0.8.0"
2291
-
source = "git+https://tangled.org/@nonbinary.computer/jacquard#36ad41ada5a23033d1ce344143ccb96e005b8779"
2291
+
source = "git+https://tangled.org/@nonbinary.computer/jacquard#2d1a65132a44553aa3f7e98c8bc7a715647f7cd6"
2292
2292
dependencies = [
2293
2293
"bon",
2294
2294
"bytes",
···
2378
2378
[[package]]
2379
2379
name = "jacquard-common"
2380
2380
version = "0.8.0"
2381
-
source = "git+https://tangled.org/@nonbinary.computer/jacquard#36ad41ada5a23033d1ce344143ccb96e005b8779"
2381
+
source = "git+https://tangled.org/@nonbinary.computer/jacquard#2d1a65132a44553aa3f7e98c8bc7a715647f7cd6"
2382
2382
dependencies = [
2383
2383
"base64 0.22.1",
2384
2384
"bon",
···
2431
2431
[[package]]
2432
2432
name = "jacquard-derive"
2433
2433
version = "0.8.0"
2434
-
source = "git+https://tangled.org/@nonbinary.computer/jacquard#36ad41ada5a23033d1ce344143ccb96e005b8779"
2434
+
source = "git+https://tangled.org/@nonbinary.computer/jacquard#2d1a65132a44553aa3f7e98c8bc7a715647f7cd6"
2435
2435
dependencies = [
2436
2436
"heck 0.5.0",
2437
2437
"jacquard-lexicon 0.8.0 (git+https://tangled.org/@nonbinary.computer/jacquard)",
···
2468
2468
[[package]]
2469
2469
name = "jacquard-identity"
2470
2470
version = "0.8.0"
2471
-
source = "git+https://tangled.org/@nonbinary.computer/jacquard#36ad41ada5a23033d1ce344143ccb96e005b8779"
2471
+
source = "git+https://tangled.org/@nonbinary.computer/jacquard#2d1a65132a44553aa3f7e98c8bc7a715647f7cd6"
2472
2472
dependencies = [
2473
2473
"bon",
2474
2474
"bytes",
···
2542
2542
[[package]]
2543
2543
name = "jacquard-lexicon"
2544
2544
version = "0.8.0"
2545
-
source = "git+https://tangled.org/@nonbinary.computer/jacquard#36ad41ada5a23033d1ce344143ccb96e005b8779"
2545
+
source = "git+https://tangled.org/@nonbinary.computer/jacquard#2d1a65132a44553aa3f7e98c8bc7a715647f7cd6"
2546
2546
dependencies = [
2547
2547
"glob",
2548
2548
"heck 0.5.0",
+17
-10
crates/jacquard-lexicon/src/codegen.rs
+17
-10
crates/jacquard-lexicon/src/codegen.rs
···
4
4
use proc_macro2::TokenStream;
5
5
use quote::quote;
6
6
7
-
mod utils;
8
-
mod names;
9
-
mod lifetime;
10
-
mod types;
11
-
mod structs;
12
-
mod xrpc;
13
-
mod output;
14
-
mod schema_impl;
7
+
pub mod lifetime;
8
+
pub mod names;
9
+
pub mod output;
10
+
pub mod schema_impl;
11
+
pub mod structs;
12
+
pub mod types;
13
+
pub mod utils;
14
+
pub mod xrpc;
15
15
16
16
/// Code generator for lexicon types
17
17
pub struct CodeGenerator<'c> {
···
101
101
if let LexArrayItem::Union(union) = &array.items {
102
102
let union_name = format!("{}Item", type_name);
103
103
let refs: Vec<_> = union.refs.iter().cloned().collect();
104
-
let union_def = self.generate_union(nsid, &union_name, &refs, None, union.closed)?;
104
+
let union_def =
105
+
self.generate_union(nsid, &union_name, &refs, None, union.closed)?;
105
106
106
107
let union_ident = syn::Ident::new(&union_name, proc_macro2::Span::call_site());
107
108
if needs_lifetime {
···
180
181
// Top-level union generates an enum
181
182
let type_name = self.def_to_type_name(nsid, def_name);
182
183
let refs: Vec<_> = union.refs.iter().cloned().collect();
183
-
self.generate_union(nsid, &type_name, &refs, union.description.as_ref().map(|d| d.as_ref()), union.closed)
184
+
self.generate_union(
185
+
nsid,
186
+
&type_name,
187
+
&refs,
188
+
union.description.as_ref().map(|d| d.as_ref()),
189
+
union.closed,
190
+
)
184
191
}
185
192
}
186
193
}