Allow API to reside at submodule of crate (#642)

This commit is contained in:
John Vandenberg 2024-01-07 00:19:59 +08:00 committed by GitHub
parent 8088f55470
commit 359f4f56cc
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
8 changed files with 38 additions and 24 deletions

View File

@ -100,15 +100,20 @@ impl Generator {
}) })
.collect::<Vec<_>>(); .collect::<Vec<_>>();
let crate_ident = format_ident!("{}", crate_name); let crate_path = syn::TypePath {
qself: None,
path: syn::parse_str(&crate_name).unwrap(),
};
let code = quote! { let code = quote! {
use #crate_path::*;
pub struct Cli<T: CliOverride = ()> { pub struct Cli<T: CliOverride = ()> {
client: #crate_ident::Client, client: Client,
over: T, over: T,
} }
impl Cli { impl Cli {
pub fn new(client: #crate_ident::Client) -> Self { pub fn new(client: Client) -> Self {
Self { client, over: () } Self { client, over: () }
} }
@ -125,7 +130,7 @@ impl Generator {
impl<T: CliOverride> Cli<T> { impl<T: CliOverride> Cli<T> {
pub fn new_with_override( pub fn new_with_override(
client: #crate_ident::Client, client: Client,
over: T, over: T,
) -> Self { ) -> Self {
Self { client, over } Self { client, over }

View File

@ -79,7 +79,10 @@ impl Generator {
let then_impl = let then_impl =
methods.iter().map(|op| &op.then_impl).collect::<Vec<_>>(); methods.iter().map(|op| &op.then_impl).collect::<Vec<_>>();
let crate_ident = format_ident!("{}", crate_name); let crate_path = syn::TypePath {
qself: None,
path: syn::parse_str(&crate_name).unwrap(),
};
let code = quote! { let code = quote! {
pub mod operations { pub mod operations {
@ -89,7 +92,7 @@ impl Generator {
//! its inner type with a call to `into_inner()`. This can //! its inner type with a call to `into_inner()`. This can
//! be used to explicitly deviate from permitted values. //! be used to explicitly deviate from permitted values.
use #crate_ident::*; use #crate_path::*;
#( #(
pub struct #when(httpmock::When); pub struct #when(httpmock::When);

View File

@ -1,10 +1,11 @@
use sdk::*;
pub struct Cli<T: CliOverride = ()> { pub struct Cli<T: CliOverride = ()> {
client: sdk::Client, client: Client,
over: T, over: T,
} }
impl Cli { impl Cli {
pub fn new(client: sdk::Client) -> Self { pub fn new(client: Client) -> Self {
Self { client, over: () } Self { client, over: () }
} }
@ -317,7 +318,7 @@ impl Cli {
} }
impl<T: CliOverride> Cli<T> { impl<T: CliOverride> Cli<T> {
pub fn new_with_override(client: sdk::Client, over: T) -> Self { pub fn new_with_override(client: Client, over: T) -> Self {
Self { client, over } Self { client, over }
} }

View File

@ -1,10 +1,11 @@
use sdk::*;
pub struct Cli<T: CliOverride = ()> { pub struct Cli<T: CliOverride = ()> {
client: sdk::Client, client: Client,
over: T, over: T,
} }
impl Cli { impl Cli {
pub fn new(client: sdk::Client) -> Self { pub fn new(client: Client) -> Self {
Self { client, over: () } Self { client, over: () }
} }
@ -183,7 +184,7 @@ impl Cli {
} }
impl<T: CliOverride> Cli<T> { impl<T: CliOverride> Cli<T> {
pub fn new_with_override(client: sdk::Client, over: T) -> Self { pub fn new_with_override(client: Client, over: T) -> Self {
Self { client, over } Self { client, over }
} }

View File

@ -1,10 +1,11 @@
use sdk::*;
pub struct Cli<T: CliOverride = ()> { pub struct Cli<T: CliOverride = ()> {
client: sdk::Client, client: Client,
over: T, over: T,
} }
impl Cli { impl Cli {
pub fn new(client: sdk::Client) -> Self { pub fn new(client: Client) -> Self {
Self { client, over: () } Self { client, over: () }
} }
@ -5608,7 +5609,7 @@ impl Cli {
} }
impl<T: CliOverride> Cli<T> { impl<T: CliOverride> Cli<T> {
pub fn new_with_override(client: sdk::Client, over: T) -> Self { pub fn new_with_override(client: Client, over: T) -> Self {
Self { client, over } Self { client, over }
} }

View File

@ -1,10 +1,11 @@
use sdk::*;
pub struct Cli<T: CliOverride = ()> { pub struct Cli<T: CliOverride = ()> {
client: sdk::Client, client: Client,
over: T, over: T,
} }
impl Cli { impl Cli {
pub fn new(client: sdk::Client) -> Self { pub fn new(client: Client) -> Self {
Self { client, over: () } Self { client, over: () }
} }
@ -63,7 +64,7 @@ impl Cli {
} }
impl<T: CliOverride> Cli<T> { impl<T: CliOverride> Cli<T> {
pub fn new_with_override(client: sdk::Client, over: T) -> Self { pub fn new_with_override(client: Client, over: T) -> Self {
Self { client, over } Self { client, over }
} }

View File

@ -1,10 +1,11 @@
use sdk::*;
pub struct Cli<T: CliOverride = ()> { pub struct Cli<T: CliOverride = ()> {
client: sdk::Client, client: Client,
over: T, over: T,
} }
impl Cli { impl Cli {
pub fn new(client: sdk::Client) -> Self { pub fn new(client: Client) -> Self {
Self { client, over: () } Self { client, over: () }
} }
@ -35,7 +36,7 @@ impl Cli {
} }
impl<T: CliOverride> Cli<T> { impl<T: CliOverride> Cli<T> {
pub fn new_with_override(client: sdk::Client, over: T) -> Self { pub fn new_with_override(client: Client, over: T) -> Self {
Self { client, over } Self { client, over }
} }

View File

@ -1,10 +1,11 @@
use sdk::*;
pub struct Cli<T: CliOverride = ()> { pub struct Cli<T: CliOverride = ()> {
client: sdk::Client, client: Client,
over: T, over: T,
} }
impl Cli { impl Cli {
pub fn new(client: sdk::Client) -> Self { pub fn new(client: Client) -> Self {
Self { client, over: () } Self { client, over: () }
} }
@ -139,7 +140,7 @@ impl Cli {
} }
impl<T: CliOverride> Cli<T> { impl<T: CliOverride> Cli<T> {
pub fn new_with_override(client: sdk::Client, over: T) -> Self { pub fn new_with_override(client: Client, over: T) -> Self {
Self { client, over } Self { client, over }
} }