Fix dropshot-pagination `_stream` client codegen (#756)
This commit is contained in:
parent
9843d26122
commit
1a61bf1e66
|
@ -1439,6 +1439,7 @@ version = "0.6.0"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"dropshot",
|
"dropshot",
|
||||||
"expectorate",
|
"expectorate",
|
||||||
|
"futures",
|
||||||
"getopts",
|
"getopts",
|
||||||
"heck 0.4.1",
|
"heck 0.4.1",
|
||||||
"http 0.2.9",
|
"http 0.2.9",
|
||||||
|
@ -1446,8 +1447,10 @@ dependencies = [
|
||||||
"indexmap",
|
"indexmap",
|
||||||
"openapiv3",
|
"openapiv3",
|
||||||
"proc-macro2",
|
"proc-macro2",
|
||||||
|
"progenitor-client",
|
||||||
"quote",
|
"quote",
|
||||||
"regex",
|
"regex",
|
||||||
|
"reqwest",
|
||||||
"rustfmt-wrapper",
|
"rustfmt-wrapper",
|
||||||
"schemars",
|
"schemars",
|
||||||
"serde",
|
"serde",
|
||||||
|
@ -1455,6 +1458,7 @@ dependencies = [
|
||||||
"serde_yaml",
|
"serde_yaml",
|
||||||
"syn 2.0.52",
|
"syn 2.0.52",
|
||||||
"thiserror",
|
"thiserror",
|
||||||
|
"tokio",
|
||||||
"typify",
|
"typify",
|
||||||
"unicode-ident",
|
"unicode-ident",
|
||||||
]
|
]
|
||||||
|
@ -2230,9 +2234,9 @@ checksum = "cda74da7e1a664f795bb1f8a87ec406fb89a02522cf6e50620d016add6dbbf5c"
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "tokio"
|
name = "tokio"
|
||||||
version = "1.36.0"
|
version = "1.37.0"
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
checksum = "61285f6515fa018fb2d1e46eb21223fff441ee8db5d0f1435e8ab4f5cdb80931"
|
checksum = "1adbebffeca75fcfd058afa480fb6c0b81e165a0323f9c9d39c9697e37c46787"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"backtrace",
|
"backtrace",
|
||||||
"bytes",
|
"bytes",
|
||||||
|
|
|
@ -29,8 +29,13 @@ unicode-ident = "1.0.12"
|
||||||
[dev-dependencies]
|
[dev-dependencies]
|
||||||
dropshot = { git = "https://github.com/oxidecomputer/dropshot", default-features = false }
|
dropshot = { git = "https://github.com/oxidecomputer/dropshot", default-features = false }
|
||||||
expectorate = "1.1"
|
expectorate = "1.1"
|
||||||
|
futures = "0.3.30"
|
||||||
http = "0.2.9"
|
http = "0.2.9"
|
||||||
hyper = "0.14.27"
|
hyper = "0.14.27"
|
||||||
|
reqwest = "0.11.27"
|
||||||
rustfmt-wrapper = "0.2.1"
|
rustfmt-wrapper = "0.2.1"
|
||||||
serde_yaml = "0.9"
|
serde_yaml = "0.9"
|
||||||
serde_json = "1.0.113"
|
serde_json = "1.0.113"
|
||||||
|
tokio = { version = "1.37.0", features = ["rt", "net"] }
|
||||||
|
|
||||||
|
progenitor-client.path = "../progenitor-client"
|
||||||
|
|
|
@ -710,9 +710,12 @@ impl Generator {
|
||||||
let step_params = method.params.iter().map(|param| {
|
let step_params = method.params.iter().map(|param| {
|
||||||
if param.api_name.as_str() == "page_token" {
|
if param.api_name.as_str() == "page_token" {
|
||||||
quote! { state.as_deref() }
|
quote! { state.as_deref() }
|
||||||
} else if let OperationParameterKind::Query(_) = param.kind {
|
} else if param.api_name.as_str() != "limit"
|
||||||
// Query parameters are None; having page_token as Some(_)
|
&& matches!(param.kind, OperationParameterKind::Query(_))
|
||||||
// is mutually exclusive with other query parameters.
|
{
|
||||||
|
// Query parameters (other than "page_token" and "limit")
|
||||||
|
// are None; having page_token as Some(_) is mutually
|
||||||
|
// exclusive with other query parameters.
|
||||||
quote! { None }
|
quote! { None }
|
||||||
} else {
|
} else {
|
||||||
// Non-query parameters are passed in; this is necessary
|
// Non-query parameters are passed in; this is necessary
|
||||||
|
@ -744,15 +747,6 @@ impl Generator {
|
||||||
use futures::TryFutureExt;
|
use futures::TryFutureExt;
|
||||||
use futures::TryStreamExt;
|
use futures::TryStreamExt;
|
||||||
|
|
||||||
// Grab the limit. This is intended to be agnostic to the
|
|
||||||
// specific type for the limit input which is why it's a
|
|
||||||
// bit convoluted.
|
|
||||||
let final_stream_limit = limit
|
|
||||||
.clone()
|
|
||||||
.and_then(|x| std::num::NonZeroUsize::try_from(x).ok())
|
|
||||||
.map(std::num::NonZeroUsize::get)
|
|
||||||
.unwrap_or(usize::MAX);
|
|
||||||
|
|
||||||
// Execute the operation with the basic parameters
|
// Execute the operation with the basic parameters
|
||||||
// (omitting page_token) to get the first page.
|
// (omitting page_token) to get the first page.
|
||||||
self.#operation_id( #(#first_params,)* )
|
self.#operation_id( #(#first_params,)* )
|
||||||
|
@ -800,7 +794,6 @@ impl Generator {
|
||||||
first.chain(rest)
|
first.chain(rest)
|
||||||
})
|
})
|
||||||
.try_flatten_stream()
|
.try_flatten_stream()
|
||||||
.take(final_stream_limit)
|
|
||||||
.boxed()
|
.boxed()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -1767,7 +1760,12 @@ impl Generator {
|
||||||
self.uses_futures = true;
|
self.uses_futures = true;
|
||||||
|
|
||||||
let step_params = method.params.iter().filter_map(|param| {
|
let step_params = method.params.iter().filter_map(|param| {
|
||||||
if let OperationParameterKind::Query(_) = param.kind {
|
if param.api_name.as_str() != "limit"
|
||||||
|
&& matches!(param.kind, OperationParameterKind::Query(_))
|
||||||
|
{
|
||||||
|
// Query parameters (other than "limit") are None; having
|
||||||
|
// page_token as Some(_), as we will during the loop below,
|
||||||
|
// is mutually exclusive with other query parameters.
|
||||||
let name = format_ident!("{}", param.name);
|
let name = format_ident!("{}", param.name);
|
||||||
Some(quote! {
|
Some(quote! {
|
||||||
#name: Ok(None)
|
#name: Ok(None)
|
||||||
|
@ -1799,18 +1797,6 @@ impl Generator {
|
||||||
use futures::TryFutureExt;
|
use futures::TryFutureExt;
|
||||||
use futures::TryStreamExt;
|
use futures::TryStreamExt;
|
||||||
|
|
||||||
// Grab the limit. This is intended to be agnostic to the
|
|
||||||
// specific type for the limit input which is why it's a
|
|
||||||
// bit convoluted.
|
|
||||||
let limit = self
|
|
||||||
.limit
|
|
||||||
.clone()
|
|
||||||
.ok()
|
|
||||||
.flatten()
|
|
||||||
.and_then(|x| std::num::NonZeroUsize::try_from(x).ok())
|
|
||||||
.map(std::num::NonZeroUsize::get)
|
|
||||||
.unwrap_or(usize::MAX);
|
|
||||||
|
|
||||||
// This is the builder template we'll use for iterative
|
// This is the builder template we'll use for iterative
|
||||||
// steps past the first; it has all query params set to
|
// steps past the first; it has all query params set to
|
||||||
// None (the step will fill in page_token).
|
// None (the step will fill in page_token).
|
||||||
|
@ -1865,7 +1851,6 @@ impl Generator {
|
||||||
first.chain(rest)
|
first.chain(rest)
|
||||||
})
|
})
|
||||||
.try_flatten_stream()
|
.try_flatten_stream()
|
||||||
.take(limit)
|
|
||||||
.boxed()
|
.boxed()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -29638,16 +29638,7 @@ pub mod builder {
|
||||||
use futures::StreamExt;
|
use futures::StreamExt;
|
||||||
use futures::TryFutureExt;
|
use futures::TryFutureExt;
|
||||||
use futures::TryStreamExt;
|
use futures::TryStreamExt;
|
||||||
let limit = self
|
|
||||||
.limit
|
|
||||||
.clone()
|
|
||||||
.ok()
|
|
||||||
.flatten()
|
|
||||||
.and_then(|x| std::num::NonZeroUsize::try_from(x).ok())
|
|
||||||
.map(std::num::NonZeroUsize::get)
|
|
||||||
.unwrap_or(usize::MAX);
|
|
||||||
let next = Self {
|
let next = Self {
|
||||||
limit: Ok(None),
|
|
||||||
page_token: Ok(None),
|
page_token: Ok(None),
|
||||||
sort_by: Ok(None),
|
sort_by: Ok(None),
|
||||||
..self.clone()
|
..self.clone()
|
||||||
|
@ -29682,7 +29673,6 @@ pub mod builder {
|
||||||
first.chain(rest)
|
first.chain(rest)
|
||||||
})
|
})
|
||||||
.try_flatten_stream()
|
.try_flatten_stream()
|
||||||
.take(limit)
|
|
||||||
.boxed()
|
.boxed()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -30159,16 +30149,7 @@ pub mod builder {
|
||||||
use futures::StreamExt;
|
use futures::StreamExt;
|
||||||
use futures::TryFutureExt;
|
use futures::TryFutureExt;
|
||||||
use futures::TryStreamExt;
|
use futures::TryStreamExt;
|
||||||
let limit = self
|
|
||||||
.limit
|
|
||||||
.clone()
|
|
||||||
.ok()
|
|
||||||
.flatten()
|
|
||||||
.and_then(|x| std::num::NonZeroUsize::try_from(x).ok())
|
|
||||||
.map(std::num::NonZeroUsize::get)
|
|
||||||
.unwrap_or(usize::MAX);
|
|
||||||
let next = Self {
|
let next = Self {
|
||||||
limit: Ok(None),
|
|
||||||
page_token: Ok(None),
|
page_token: Ok(None),
|
||||||
sort_by: Ok(None),
|
sort_by: Ok(None),
|
||||||
..self.clone()
|
..self.clone()
|
||||||
|
@ -30203,7 +30184,6 @@ pub mod builder {
|
||||||
first.chain(rest)
|
first.chain(rest)
|
||||||
})
|
})
|
||||||
.try_flatten_stream()
|
.try_flatten_stream()
|
||||||
.take(limit)
|
|
||||||
.boxed()
|
.boxed()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -30787,16 +30767,7 @@ pub mod builder {
|
||||||
use futures::StreamExt;
|
use futures::StreamExt;
|
||||||
use futures::TryFutureExt;
|
use futures::TryFutureExt;
|
||||||
use futures::TryStreamExt;
|
use futures::TryStreamExt;
|
||||||
let limit = self
|
|
||||||
.limit
|
|
||||||
.clone()
|
|
||||||
.ok()
|
|
||||||
.flatten()
|
|
||||||
.and_then(|x| std::num::NonZeroUsize::try_from(x).ok())
|
|
||||||
.map(std::num::NonZeroUsize::get)
|
|
||||||
.unwrap_or(usize::MAX);
|
|
||||||
let next = Self {
|
let next = Self {
|
||||||
limit: Ok(None),
|
|
||||||
page_token: Ok(None),
|
page_token: Ok(None),
|
||||||
sort_by: Ok(None),
|
sort_by: Ok(None),
|
||||||
..self.clone()
|
..self.clone()
|
||||||
|
@ -30831,7 +30802,6 @@ pub mod builder {
|
||||||
first.chain(rest)
|
first.chain(rest)
|
||||||
})
|
})
|
||||||
.try_flatten_stream()
|
.try_flatten_stream()
|
||||||
.take(limit)
|
|
||||||
.boxed()
|
.boxed()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -31335,16 +31305,7 @@ pub mod builder {
|
||||||
use futures::StreamExt;
|
use futures::StreamExt;
|
||||||
use futures::TryFutureExt;
|
use futures::TryFutureExt;
|
||||||
use futures::TryStreamExt;
|
use futures::TryStreamExt;
|
||||||
let limit = self
|
|
||||||
.limit
|
|
||||||
.clone()
|
|
||||||
.ok()
|
|
||||||
.flatten()
|
|
||||||
.and_then(|x| std::num::NonZeroUsize::try_from(x).ok())
|
|
||||||
.map(std::num::NonZeroUsize::get)
|
|
||||||
.unwrap_or(usize::MAX);
|
|
||||||
let next = Self {
|
let next = Self {
|
||||||
limit: Ok(None),
|
|
||||||
page_token: Ok(None),
|
page_token: Ok(None),
|
||||||
sort_by: Ok(None),
|
sort_by: Ok(None),
|
||||||
..self.clone()
|
..self.clone()
|
||||||
|
@ -31379,7 +31340,6 @@ pub mod builder {
|
||||||
first.chain(rest)
|
first.chain(rest)
|
||||||
})
|
})
|
||||||
.try_flatten_stream()
|
.try_flatten_stream()
|
||||||
.take(limit)
|
|
||||||
.boxed()
|
.boxed()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -31875,17 +31835,8 @@ pub mod builder {
|
||||||
use futures::StreamExt;
|
use futures::StreamExt;
|
||||||
use futures::TryFutureExt;
|
use futures::TryFutureExt;
|
||||||
use futures::TryStreamExt;
|
use futures::TryStreamExt;
|
||||||
let limit = self
|
|
||||||
.limit
|
|
||||||
.clone()
|
|
||||||
.ok()
|
|
||||||
.flatten()
|
|
||||||
.and_then(|x| std::num::NonZeroUsize::try_from(x).ok())
|
|
||||||
.map(std::num::NonZeroUsize::get)
|
|
||||||
.unwrap_or(usize::MAX);
|
|
||||||
let next = Self {
|
let next = Self {
|
||||||
end_time: Ok(None),
|
end_time: Ok(None),
|
||||||
limit: Ok(None),
|
|
||||||
page_token: Ok(None),
|
page_token: Ok(None),
|
||||||
start_time: Ok(None),
|
start_time: Ok(None),
|
||||||
..self.clone()
|
..self.clone()
|
||||||
|
@ -31920,7 +31871,6 @@ pub mod builder {
|
||||||
first.chain(rest)
|
first.chain(rest)
|
||||||
})
|
})
|
||||||
.try_flatten_stream()
|
.try_flatten_stream()
|
||||||
.take(limit)
|
|
||||||
.boxed()
|
.boxed()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -32069,16 +32019,7 @@ pub mod builder {
|
||||||
use futures::StreamExt;
|
use futures::StreamExt;
|
||||||
use futures::TryFutureExt;
|
use futures::TryFutureExt;
|
||||||
use futures::TryStreamExt;
|
use futures::TryStreamExt;
|
||||||
let limit = self
|
|
||||||
.limit
|
|
||||||
.clone()
|
|
||||||
.ok()
|
|
||||||
.flatten()
|
|
||||||
.and_then(|x| std::num::NonZeroUsize::try_from(x).ok())
|
|
||||||
.map(std::num::NonZeroUsize::get)
|
|
||||||
.unwrap_or(usize::MAX);
|
|
||||||
let next = Self {
|
let next = Self {
|
||||||
limit: Ok(None),
|
|
||||||
page_token: Ok(None),
|
page_token: Ok(None),
|
||||||
sort_by: Ok(None),
|
sort_by: Ok(None),
|
||||||
..self.clone()
|
..self.clone()
|
||||||
|
@ -32113,7 +32054,6 @@ pub mod builder {
|
||||||
first.chain(rest)
|
first.chain(rest)
|
||||||
})
|
})
|
||||||
.try_flatten_stream()
|
.try_flatten_stream()
|
||||||
.take(limit)
|
|
||||||
.boxed()
|
.boxed()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -32560,16 +32500,7 @@ pub mod builder {
|
||||||
use futures::StreamExt;
|
use futures::StreamExt;
|
||||||
use futures::TryFutureExt;
|
use futures::TryFutureExt;
|
||||||
use futures::TryStreamExt;
|
use futures::TryStreamExt;
|
||||||
let limit = self
|
|
||||||
.limit
|
|
||||||
.clone()
|
|
||||||
.ok()
|
|
||||||
.flatten()
|
|
||||||
.and_then(|x| std::num::NonZeroUsize::try_from(x).ok())
|
|
||||||
.map(std::num::NonZeroUsize::get)
|
|
||||||
.unwrap_or(usize::MAX);
|
|
||||||
let next = Self {
|
let next = Self {
|
||||||
limit: Ok(None),
|
|
||||||
page_token: Ok(None),
|
page_token: Ok(None),
|
||||||
sort_by: Ok(None),
|
sort_by: Ok(None),
|
||||||
..self.clone()
|
..self.clone()
|
||||||
|
@ -32604,7 +32535,6 @@ pub mod builder {
|
||||||
first.chain(rest)
|
first.chain(rest)
|
||||||
})
|
})
|
||||||
.try_flatten_stream()
|
.try_flatten_stream()
|
||||||
.take(limit)
|
|
||||||
.boxed()
|
.boxed()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -33067,16 +32997,7 @@ pub mod builder {
|
||||||
use futures::StreamExt;
|
use futures::StreamExt;
|
||||||
use futures::TryFutureExt;
|
use futures::TryFutureExt;
|
||||||
use futures::TryStreamExt;
|
use futures::TryStreamExt;
|
||||||
let limit = self
|
|
||||||
.limit
|
|
||||||
.clone()
|
|
||||||
.ok()
|
|
||||||
.flatten()
|
|
||||||
.and_then(|x| std::num::NonZeroUsize::try_from(x).ok())
|
|
||||||
.map(std::num::NonZeroUsize::get)
|
|
||||||
.unwrap_or(usize::MAX);
|
|
||||||
let next = Self {
|
let next = Self {
|
||||||
limit: Ok(None),
|
|
||||||
page_token: Ok(None),
|
page_token: Ok(None),
|
||||||
sort_by: Ok(None),
|
sort_by: Ok(None),
|
||||||
..self.clone()
|
..self.clone()
|
||||||
|
@ -33111,7 +33032,6 @@ pub mod builder {
|
||||||
first.chain(rest)
|
first.chain(rest)
|
||||||
})
|
})
|
||||||
.try_flatten_stream()
|
.try_flatten_stream()
|
||||||
.take(limit)
|
|
||||||
.boxed()
|
.boxed()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -33741,16 +33661,7 @@ pub mod builder {
|
||||||
use futures::StreamExt;
|
use futures::StreamExt;
|
||||||
use futures::TryFutureExt;
|
use futures::TryFutureExt;
|
||||||
use futures::TryStreamExt;
|
use futures::TryStreamExt;
|
||||||
let limit = self
|
|
||||||
.limit
|
|
||||||
.clone()
|
|
||||||
.ok()
|
|
||||||
.flatten()
|
|
||||||
.and_then(|x| std::num::NonZeroUsize::try_from(x).ok())
|
|
||||||
.map(std::num::NonZeroUsize::get)
|
|
||||||
.unwrap_or(usize::MAX);
|
|
||||||
let next = Self {
|
let next = Self {
|
||||||
limit: Ok(None),
|
|
||||||
page_token: Ok(None),
|
page_token: Ok(None),
|
||||||
sort_by: Ok(None),
|
sort_by: Ok(None),
|
||||||
..self.clone()
|
..self.clone()
|
||||||
|
@ -33785,7 +33696,6 @@ pub mod builder {
|
||||||
first.chain(rest)
|
first.chain(rest)
|
||||||
})
|
})
|
||||||
.try_flatten_stream()
|
.try_flatten_stream()
|
||||||
.take(limit)
|
|
||||||
.boxed()
|
.boxed()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -35156,16 +35066,7 @@ pub mod builder {
|
||||||
use futures::StreamExt;
|
use futures::StreamExt;
|
||||||
use futures::TryFutureExt;
|
use futures::TryFutureExt;
|
||||||
use futures::TryStreamExt;
|
use futures::TryStreamExt;
|
||||||
let limit = self
|
|
||||||
.limit
|
|
||||||
.clone()
|
|
||||||
.ok()
|
|
||||||
.flatten()
|
|
||||||
.and_then(|x| std::num::NonZeroUsize::try_from(x).ok())
|
|
||||||
.map(std::num::NonZeroUsize::get)
|
|
||||||
.unwrap_or(usize::MAX);
|
|
||||||
let next = Self {
|
let next = Self {
|
||||||
limit: Ok(None),
|
|
||||||
page_token: Ok(None),
|
page_token: Ok(None),
|
||||||
sort_by: Ok(None),
|
sort_by: Ok(None),
|
||||||
..self.clone()
|
..self.clone()
|
||||||
|
@ -35200,7 +35101,6 @@ pub mod builder {
|
||||||
first.chain(rest)
|
first.chain(rest)
|
||||||
})
|
})
|
||||||
.try_flatten_stream()
|
.try_flatten_stream()
|
||||||
.take(limit)
|
|
||||||
.boxed()
|
.boxed()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -35646,16 +35546,7 @@ pub mod builder {
|
||||||
use futures::StreamExt;
|
use futures::StreamExt;
|
||||||
use futures::TryFutureExt;
|
use futures::TryFutureExt;
|
||||||
use futures::TryStreamExt;
|
use futures::TryStreamExt;
|
||||||
let limit = self
|
|
||||||
.limit
|
|
||||||
.clone()
|
|
||||||
.ok()
|
|
||||||
.flatten()
|
|
||||||
.and_then(|x| std::num::NonZeroUsize::try_from(x).ok())
|
|
||||||
.map(std::num::NonZeroUsize::get)
|
|
||||||
.unwrap_or(usize::MAX);
|
|
||||||
let next = Self {
|
let next = Self {
|
||||||
limit: Ok(None),
|
|
||||||
page_token: Ok(None),
|
page_token: Ok(None),
|
||||||
sort_by: Ok(None),
|
sort_by: Ok(None),
|
||||||
..self.clone()
|
..self.clone()
|
||||||
|
@ -35690,7 +35581,6 @@ pub mod builder {
|
||||||
first.chain(rest)
|
first.chain(rest)
|
||||||
})
|
})
|
||||||
.try_flatten_stream()
|
.try_flatten_stream()
|
||||||
.take(limit)
|
|
||||||
.boxed()
|
.boxed()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -36502,16 +36392,7 @@ pub mod builder {
|
||||||
use futures::StreamExt;
|
use futures::StreamExt;
|
||||||
use futures::TryFutureExt;
|
use futures::TryFutureExt;
|
||||||
use futures::TryStreamExt;
|
use futures::TryStreamExt;
|
||||||
let limit = self
|
|
||||||
.limit
|
|
||||||
.clone()
|
|
||||||
.ok()
|
|
||||||
.flatten()
|
|
||||||
.and_then(|x| std::num::NonZeroUsize::try_from(x).ok())
|
|
||||||
.map(std::num::NonZeroUsize::get)
|
|
||||||
.unwrap_or(usize::MAX);
|
|
||||||
let next = Self {
|
let next = Self {
|
||||||
limit: Ok(None),
|
|
||||||
page_token: Ok(None),
|
page_token: Ok(None),
|
||||||
sort_by: Ok(None),
|
sort_by: Ok(None),
|
||||||
..self.clone()
|
..self.clone()
|
||||||
|
@ -36546,7 +36427,6 @@ pub mod builder {
|
||||||
first.chain(rest)
|
first.chain(rest)
|
||||||
})
|
})
|
||||||
.try_flatten_stream()
|
.try_flatten_stream()
|
||||||
.take(limit)
|
|
||||||
.boxed()
|
.boxed()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -37206,16 +37086,7 @@ pub mod builder {
|
||||||
use futures::StreamExt;
|
use futures::StreamExt;
|
||||||
use futures::TryFutureExt;
|
use futures::TryFutureExt;
|
||||||
use futures::TryStreamExt;
|
use futures::TryStreamExt;
|
||||||
let limit = self
|
|
||||||
.limit
|
|
||||||
.clone()
|
|
||||||
.ok()
|
|
||||||
.flatten()
|
|
||||||
.and_then(|x| std::num::NonZeroUsize::try_from(x).ok())
|
|
||||||
.map(std::num::NonZeroUsize::get)
|
|
||||||
.unwrap_or(usize::MAX);
|
|
||||||
let next = Self {
|
let next = Self {
|
||||||
limit: Ok(None),
|
|
||||||
page_token: Ok(None),
|
page_token: Ok(None),
|
||||||
sort_by: Ok(None),
|
sort_by: Ok(None),
|
||||||
..self.clone()
|
..self.clone()
|
||||||
|
@ -37250,7 +37121,6 @@ pub mod builder {
|
||||||
first.chain(rest)
|
first.chain(rest)
|
||||||
})
|
})
|
||||||
.try_flatten_stream()
|
.try_flatten_stream()
|
||||||
.take(limit)
|
|
||||||
.boxed()
|
.boxed()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -37967,16 +37837,7 @@ pub mod builder {
|
||||||
use futures::StreamExt;
|
use futures::StreamExt;
|
||||||
use futures::TryFutureExt;
|
use futures::TryFutureExt;
|
||||||
use futures::TryStreamExt;
|
use futures::TryStreamExt;
|
||||||
let limit = self
|
|
||||||
.limit
|
|
||||||
.clone()
|
|
||||||
.ok()
|
|
||||||
.flatten()
|
|
||||||
.and_then(|x| std::num::NonZeroUsize::try_from(x).ok())
|
|
||||||
.map(std::num::NonZeroUsize::get)
|
|
||||||
.unwrap_or(usize::MAX);
|
|
||||||
let next = Self {
|
let next = Self {
|
||||||
limit: Ok(None),
|
|
||||||
page_token: Ok(None),
|
page_token: Ok(None),
|
||||||
sort_by: Ok(None),
|
sort_by: Ok(None),
|
||||||
..self.clone()
|
..self.clone()
|
||||||
|
@ -38011,7 +37872,6 @@ pub mod builder {
|
||||||
first.chain(rest)
|
first.chain(rest)
|
||||||
})
|
})
|
||||||
.try_flatten_stream()
|
.try_flatten_stream()
|
||||||
.take(limit)
|
|
||||||
.boxed()
|
.boxed()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -38672,16 +38532,7 @@ pub mod builder {
|
||||||
use futures::StreamExt;
|
use futures::StreamExt;
|
||||||
use futures::TryFutureExt;
|
use futures::TryFutureExt;
|
||||||
use futures::TryStreamExt;
|
use futures::TryStreamExt;
|
||||||
let limit = self
|
|
||||||
.limit
|
|
||||||
.clone()
|
|
||||||
.ok()
|
|
||||||
.flatten()
|
|
||||||
.and_then(|x| std::num::NonZeroUsize::try_from(x).ok())
|
|
||||||
.map(std::num::NonZeroUsize::get)
|
|
||||||
.unwrap_or(usize::MAX);
|
|
||||||
let next = Self {
|
let next = Self {
|
||||||
limit: Ok(None),
|
|
||||||
page_token: Ok(None),
|
page_token: Ok(None),
|
||||||
sort_by: Ok(None),
|
sort_by: Ok(None),
|
||||||
..self.clone()
|
..self.clone()
|
||||||
|
@ -38716,7 +38567,6 @@ pub mod builder {
|
||||||
first.chain(rest)
|
first.chain(rest)
|
||||||
})
|
})
|
||||||
.try_flatten_stream()
|
.try_flatten_stream()
|
||||||
.take(limit)
|
|
||||||
.boxed()
|
.boxed()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -38926,16 +38776,7 @@ pub mod builder {
|
||||||
use futures::StreamExt;
|
use futures::StreamExt;
|
||||||
use futures::TryFutureExt;
|
use futures::TryFutureExt;
|
||||||
use futures::TryStreamExt;
|
use futures::TryStreamExt;
|
||||||
let limit = self
|
|
||||||
.limit
|
|
||||||
.clone()
|
|
||||||
.ok()
|
|
||||||
.flatten()
|
|
||||||
.and_then(|x| std::num::NonZeroUsize::try_from(x).ok())
|
|
||||||
.map(std::num::NonZeroUsize::get)
|
|
||||||
.unwrap_or(usize::MAX);
|
|
||||||
let next = Self {
|
let next = Self {
|
||||||
limit: Ok(None),
|
|
||||||
page_token: Ok(None),
|
page_token: Ok(None),
|
||||||
..self.clone()
|
..self.clone()
|
||||||
};
|
};
|
||||||
|
@ -38969,7 +38810,6 @@ pub mod builder {
|
||||||
first.chain(rest)
|
first.chain(rest)
|
||||||
})
|
})
|
||||||
.try_flatten_stream()
|
.try_flatten_stream()
|
||||||
.take(limit)
|
|
||||||
.boxed()
|
.boxed()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -39184,16 +39024,7 @@ pub mod builder {
|
||||||
use futures::StreamExt;
|
use futures::StreamExt;
|
||||||
use futures::TryFutureExt;
|
use futures::TryFutureExt;
|
||||||
use futures::TryStreamExt;
|
use futures::TryStreamExt;
|
||||||
let limit = self
|
|
||||||
.limit
|
|
||||||
.clone()
|
|
||||||
.ok()
|
|
||||||
.flatten()
|
|
||||||
.and_then(|x| std::num::NonZeroUsize::try_from(x).ok())
|
|
||||||
.map(std::num::NonZeroUsize::get)
|
|
||||||
.unwrap_or(usize::MAX);
|
|
||||||
let next = Self {
|
let next = Self {
|
||||||
limit: Ok(None),
|
|
||||||
page_token: Ok(None),
|
page_token: Ok(None),
|
||||||
sort_by: Ok(None),
|
sort_by: Ok(None),
|
||||||
..self.clone()
|
..self.clone()
|
||||||
|
@ -39228,7 +39059,6 @@ pub mod builder {
|
||||||
first.chain(rest)
|
first.chain(rest)
|
||||||
})
|
})
|
||||||
.try_flatten_stream()
|
.try_flatten_stream()
|
||||||
.take(limit)
|
|
||||||
.boxed()
|
.boxed()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -39342,16 +39172,7 @@ pub mod builder {
|
||||||
use futures::StreamExt;
|
use futures::StreamExt;
|
||||||
use futures::TryFutureExt;
|
use futures::TryFutureExt;
|
||||||
use futures::TryStreamExt;
|
use futures::TryStreamExt;
|
||||||
let limit = self
|
|
||||||
.limit
|
|
||||||
.clone()
|
|
||||||
.ok()
|
|
||||||
.flatten()
|
|
||||||
.and_then(|x| std::num::NonZeroUsize::try_from(x).ok())
|
|
||||||
.map(std::num::NonZeroUsize::get)
|
|
||||||
.unwrap_or(usize::MAX);
|
|
||||||
let next = Self {
|
let next = Self {
|
||||||
limit: Ok(None),
|
|
||||||
page_token: Ok(None),
|
page_token: Ok(None),
|
||||||
sort_by: Ok(None),
|
sort_by: Ok(None),
|
||||||
..self.clone()
|
..self.clone()
|
||||||
|
@ -39386,7 +39207,6 @@ pub mod builder {
|
||||||
first.chain(rest)
|
first.chain(rest)
|
||||||
})
|
})
|
||||||
.try_flatten_stream()
|
.try_flatten_stream()
|
||||||
.take(limit)
|
|
||||||
.boxed()
|
.boxed()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -39875,16 +39695,7 @@ pub mod builder {
|
||||||
use futures::StreamExt;
|
use futures::StreamExt;
|
||||||
use futures::TryFutureExt;
|
use futures::TryFutureExt;
|
||||||
use futures::TryStreamExt;
|
use futures::TryStreamExt;
|
||||||
let limit = self
|
|
||||||
.limit
|
|
||||||
.clone()
|
|
||||||
.ok()
|
|
||||||
.flatten()
|
|
||||||
.and_then(|x| std::num::NonZeroUsize::try_from(x).ok())
|
|
||||||
.map(std::num::NonZeroUsize::get)
|
|
||||||
.unwrap_or(usize::MAX);
|
|
||||||
let next = Self {
|
let next = Self {
|
||||||
limit: Ok(None),
|
|
||||||
page_token: Ok(None),
|
page_token: Ok(None),
|
||||||
sort_by: Ok(None),
|
sort_by: Ok(None),
|
||||||
..self.clone()
|
..self.clone()
|
||||||
|
@ -39919,7 +39730,6 @@ pub mod builder {
|
||||||
first.chain(rest)
|
first.chain(rest)
|
||||||
})
|
})
|
||||||
.try_flatten_stream()
|
.try_flatten_stream()
|
||||||
.take(limit)
|
|
||||||
.boxed()
|
.boxed()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -40230,16 +40040,7 @@ pub mod builder {
|
||||||
use futures::StreamExt;
|
use futures::StreamExt;
|
||||||
use futures::TryFutureExt;
|
use futures::TryFutureExt;
|
||||||
use futures::TryStreamExt;
|
use futures::TryStreamExt;
|
||||||
let limit = self
|
|
||||||
.limit
|
|
||||||
.clone()
|
|
||||||
.ok()
|
|
||||||
.flatten()
|
|
||||||
.and_then(|x| std::num::NonZeroUsize::try_from(x).ok())
|
|
||||||
.map(std::num::NonZeroUsize::get)
|
|
||||||
.unwrap_or(usize::MAX);
|
|
||||||
let next = Self {
|
let next = Self {
|
||||||
limit: Ok(None),
|
|
||||||
page_token: Ok(None),
|
page_token: Ok(None),
|
||||||
sort_by: Ok(None),
|
sort_by: Ok(None),
|
||||||
..self.clone()
|
..self.clone()
|
||||||
|
@ -40274,7 +40075,6 @@ pub mod builder {
|
||||||
first.chain(rest)
|
first.chain(rest)
|
||||||
})
|
})
|
||||||
.try_flatten_stream()
|
.try_flatten_stream()
|
||||||
.take(limit)
|
|
||||||
.boxed()
|
.boxed()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -40388,16 +40188,7 @@ pub mod builder {
|
||||||
use futures::StreamExt;
|
use futures::StreamExt;
|
||||||
use futures::TryFutureExt;
|
use futures::TryFutureExt;
|
||||||
use futures::TryStreamExt;
|
use futures::TryStreamExt;
|
||||||
let limit = self
|
|
||||||
.limit
|
|
||||||
.clone()
|
|
||||||
.ok()
|
|
||||||
.flatten()
|
|
||||||
.and_then(|x| std::num::NonZeroUsize::try_from(x).ok())
|
|
||||||
.map(std::num::NonZeroUsize::get)
|
|
||||||
.unwrap_or(usize::MAX);
|
|
||||||
let next = Self {
|
let next = Self {
|
||||||
limit: Ok(None),
|
|
||||||
page_token: Ok(None),
|
page_token: Ok(None),
|
||||||
sort_by: Ok(None),
|
sort_by: Ok(None),
|
||||||
..self.clone()
|
..self.clone()
|
||||||
|
@ -40432,7 +40223,6 @@ pub mod builder {
|
||||||
first.chain(rest)
|
first.chain(rest)
|
||||||
})
|
})
|
||||||
.try_flatten_stream()
|
.try_flatten_stream()
|
||||||
.take(limit)
|
|
||||||
.boxed()
|
.boxed()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -40606,16 +40396,7 @@ pub mod builder {
|
||||||
use futures::StreamExt;
|
use futures::StreamExt;
|
||||||
use futures::TryFutureExt;
|
use futures::TryFutureExt;
|
||||||
use futures::TryStreamExt;
|
use futures::TryStreamExt;
|
||||||
let limit = self
|
|
||||||
.limit
|
|
||||||
.clone()
|
|
||||||
.ok()
|
|
||||||
.flatten()
|
|
||||||
.and_then(|x| std::num::NonZeroUsize::try_from(x).ok())
|
|
||||||
.map(std::num::NonZeroUsize::get)
|
|
||||||
.unwrap_or(usize::MAX);
|
|
||||||
let next = Self {
|
let next = Self {
|
||||||
limit: Ok(None),
|
|
||||||
page_token: Ok(None),
|
page_token: Ok(None),
|
||||||
sort_by: Ok(None),
|
sort_by: Ok(None),
|
||||||
..self.clone()
|
..self.clone()
|
||||||
|
@ -40650,7 +40431,6 @@ pub mod builder {
|
||||||
first.chain(rest)
|
first.chain(rest)
|
||||||
})
|
})
|
||||||
.try_flatten_stream()
|
.try_flatten_stream()
|
||||||
.take(limit)
|
|
||||||
.boxed()
|
.boxed()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -40842,16 +40622,7 @@ pub mod builder {
|
||||||
use futures::StreamExt;
|
use futures::StreamExt;
|
||||||
use futures::TryFutureExt;
|
use futures::TryFutureExt;
|
||||||
use futures::TryStreamExt;
|
use futures::TryStreamExt;
|
||||||
let limit = self
|
|
||||||
.limit
|
|
||||||
.clone()
|
|
||||||
.ok()
|
|
||||||
.flatten()
|
|
||||||
.and_then(|x| std::num::NonZeroUsize::try_from(x).ok())
|
|
||||||
.map(std::num::NonZeroUsize::get)
|
|
||||||
.unwrap_or(usize::MAX);
|
|
||||||
let next = Self {
|
let next = Self {
|
||||||
limit: Ok(None),
|
|
||||||
page_token: Ok(None),
|
page_token: Ok(None),
|
||||||
sort_by: Ok(None),
|
sort_by: Ok(None),
|
||||||
..self.clone()
|
..self.clone()
|
||||||
|
@ -40886,7 +40657,6 @@ pub mod builder {
|
||||||
first.chain(rest)
|
first.chain(rest)
|
||||||
})
|
})
|
||||||
.try_flatten_stream()
|
.try_flatten_stream()
|
||||||
.take(limit)
|
|
||||||
.boxed()
|
.boxed()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -41000,16 +40770,7 @@ pub mod builder {
|
||||||
use futures::StreamExt;
|
use futures::StreamExt;
|
||||||
use futures::TryFutureExt;
|
use futures::TryFutureExt;
|
||||||
use futures::TryStreamExt;
|
use futures::TryStreamExt;
|
||||||
let limit = self
|
|
||||||
.limit
|
|
||||||
.clone()
|
|
||||||
.ok()
|
|
||||||
.flatten()
|
|
||||||
.and_then(|x| std::num::NonZeroUsize::try_from(x).ok())
|
|
||||||
.map(std::num::NonZeroUsize::get)
|
|
||||||
.unwrap_or(usize::MAX);
|
|
||||||
let next = Self {
|
let next = Self {
|
||||||
limit: Ok(None),
|
|
||||||
page_token: Ok(None),
|
page_token: Ok(None),
|
||||||
sort_by: Ok(None),
|
sort_by: Ok(None),
|
||||||
..self.clone()
|
..self.clone()
|
||||||
|
@ -41044,7 +40805,6 @@ pub mod builder {
|
||||||
first.chain(rest)
|
first.chain(rest)
|
||||||
})
|
})
|
||||||
.try_flatten_stream()
|
.try_flatten_stream()
|
||||||
.take(limit)
|
|
||||||
.boxed()
|
.boxed()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -41349,16 +41109,7 @@ pub mod builder {
|
||||||
use futures::StreamExt;
|
use futures::StreamExt;
|
||||||
use futures::TryFutureExt;
|
use futures::TryFutureExt;
|
||||||
use futures::TryStreamExt;
|
use futures::TryStreamExt;
|
||||||
let limit = self
|
|
||||||
.limit
|
|
||||||
.clone()
|
|
||||||
.ok()
|
|
||||||
.flatten()
|
|
||||||
.and_then(|x| std::num::NonZeroUsize::try_from(x).ok())
|
|
||||||
.map(std::num::NonZeroUsize::get)
|
|
||||||
.unwrap_or(usize::MAX);
|
|
||||||
let next = Self {
|
let next = Self {
|
||||||
limit: Ok(None),
|
|
||||||
page_token: Ok(None),
|
page_token: Ok(None),
|
||||||
sort_by: Ok(None),
|
sort_by: Ok(None),
|
||||||
..self.clone()
|
..self.clone()
|
||||||
|
@ -41393,7 +41144,6 @@ pub mod builder {
|
||||||
first.chain(rest)
|
first.chain(rest)
|
||||||
})
|
})
|
||||||
.try_flatten_stream()
|
.try_flatten_stream()
|
||||||
.take(limit)
|
|
||||||
.boxed()
|
.boxed()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -41786,16 +41536,7 @@ pub mod builder {
|
||||||
use futures::StreamExt;
|
use futures::StreamExt;
|
||||||
use futures::TryFutureExt;
|
use futures::TryFutureExt;
|
||||||
use futures::TryStreamExt;
|
use futures::TryStreamExt;
|
||||||
let limit = self
|
|
||||||
.limit
|
|
||||||
.clone()
|
|
||||||
.ok()
|
|
||||||
.flatten()
|
|
||||||
.and_then(|x| std::num::NonZeroUsize::try_from(x).ok())
|
|
||||||
.map(std::num::NonZeroUsize::get)
|
|
||||||
.unwrap_or(usize::MAX);
|
|
||||||
let next = Self {
|
let next = Self {
|
||||||
limit: Ok(None),
|
|
||||||
page_token: Ok(None),
|
page_token: Ok(None),
|
||||||
..self.clone()
|
..self.clone()
|
||||||
};
|
};
|
||||||
|
@ -41829,7 +41570,6 @@ pub mod builder {
|
||||||
first.chain(rest)
|
first.chain(rest)
|
||||||
})
|
})
|
||||||
.try_flatten_stream()
|
.try_flatten_stream()
|
||||||
.take(limit)
|
|
||||||
.boxed()
|
.boxed()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -42123,16 +41863,7 @@ pub mod builder {
|
||||||
use futures::StreamExt;
|
use futures::StreamExt;
|
||||||
use futures::TryFutureExt;
|
use futures::TryFutureExt;
|
||||||
use futures::TryStreamExt;
|
use futures::TryStreamExt;
|
||||||
let limit = self
|
|
||||||
.limit
|
|
||||||
.clone()
|
|
||||||
.ok()
|
|
||||||
.flatten()
|
|
||||||
.and_then(|x| std::num::NonZeroUsize::try_from(x).ok())
|
|
||||||
.map(std::num::NonZeroUsize::get)
|
|
||||||
.unwrap_or(usize::MAX);
|
|
||||||
let next = Self {
|
let next = Self {
|
||||||
limit: Ok(None),
|
|
||||||
page_token: Ok(None),
|
page_token: Ok(None),
|
||||||
..self.clone()
|
..self.clone()
|
||||||
};
|
};
|
||||||
|
@ -42166,7 +41897,6 @@ pub mod builder {
|
||||||
first.chain(rest)
|
first.chain(rest)
|
||||||
})
|
})
|
||||||
.try_flatten_stream()
|
.try_flatten_stream()
|
||||||
.take(limit)
|
|
||||||
.boxed()
|
.boxed()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -42662,16 +42392,7 @@ pub mod builder {
|
||||||
use futures::StreamExt;
|
use futures::StreamExt;
|
||||||
use futures::TryFutureExt;
|
use futures::TryFutureExt;
|
||||||
use futures::TryStreamExt;
|
use futures::TryStreamExt;
|
||||||
let limit = self
|
|
||||||
.limit
|
|
||||||
.clone()
|
|
||||||
.ok()
|
|
||||||
.flatten()
|
|
||||||
.and_then(|x| std::num::NonZeroUsize::try_from(x).ok())
|
|
||||||
.map(std::num::NonZeroUsize::get)
|
|
||||||
.unwrap_or(usize::MAX);
|
|
||||||
let next = Self {
|
let next = Self {
|
||||||
limit: Ok(None),
|
|
||||||
page_token: Ok(None),
|
page_token: Ok(None),
|
||||||
sort_by: Ok(None),
|
sort_by: Ok(None),
|
||||||
..self.clone()
|
..self.clone()
|
||||||
|
@ -42706,7 +42427,6 @@ pub mod builder {
|
||||||
first.chain(rest)
|
first.chain(rest)
|
||||||
})
|
})
|
||||||
.try_flatten_stream()
|
.try_flatten_stream()
|
||||||
.take(limit)
|
|
||||||
.boxed()
|
.boxed()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -42880,16 +42600,7 @@ pub mod builder {
|
||||||
use futures::StreamExt;
|
use futures::StreamExt;
|
||||||
use futures::TryFutureExt;
|
use futures::TryFutureExt;
|
||||||
use futures::TryStreamExt;
|
use futures::TryStreamExt;
|
||||||
let limit = self
|
|
||||||
.limit
|
|
||||||
.clone()
|
|
||||||
.ok()
|
|
||||||
.flatten()
|
|
||||||
.and_then(|x| std::num::NonZeroUsize::try_from(x).ok())
|
|
||||||
.map(std::num::NonZeroUsize::get)
|
|
||||||
.unwrap_or(usize::MAX);
|
|
||||||
let next = Self {
|
let next = Self {
|
||||||
limit: Ok(None),
|
|
||||||
page_token: Ok(None),
|
page_token: Ok(None),
|
||||||
sort_by: Ok(None),
|
sort_by: Ok(None),
|
||||||
..self.clone()
|
..self.clone()
|
||||||
|
@ -42924,7 +42635,6 @@ pub mod builder {
|
||||||
first.chain(rest)
|
first.chain(rest)
|
||||||
})
|
})
|
||||||
.try_flatten_stream()
|
.try_flatten_stream()
|
||||||
.take(limit)
|
|
||||||
.boxed()
|
.boxed()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -43248,16 +42958,7 @@ pub mod builder {
|
||||||
use futures::StreamExt;
|
use futures::StreamExt;
|
||||||
use futures::TryFutureExt;
|
use futures::TryFutureExt;
|
||||||
use futures::TryStreamExt;
|
use futures::TryStreamExt;
|
||||||
let limit = self
|
|
||||||
.limit
|
|
||||||
.clone()
|
|
||||||
.ok()
|
|
||||||
.flatten()
|
|
||||||
.and_then(|x| std::num::NonZeroUsize::try_from(x).ok())
|
|
||||||
.map(std::num::NonZeroUsize::get)
|
|
||||||
.unwrap_or(usize::MAX);
|
|
||||||
let next = Self {
|
let next = Self {
|
||||||
limit: Ok(None),
|
|
||||||
page_token: Ok(None),
|
page_token: Ok(None),
|
||||||
sort_by: Ok(None),
|
sort_by: Ok(None),
|
||||||
..self.clone()
|
..self.clone()
|
||||||
|
@ -43292,7 +42993,6 @@ pub mod builder {
|
||||||
first.chain(rest)
|
first.chain(rest)
|
||||||
})
|
})
|
||||||
.try_flatten_stream()
|
.try_flatten_stream()
|
||||||
.take(limit)
|
|
||||||
.boxed()
|
.boxed()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -44024,16 +43724,7 @@ pub mod builder {
|
||||||
use futures::StreamExt;
|
use futures::StreamExt;
|
||||||
use futures::TryFutureExt;
|
use futures::TryFutureExt;
|
||||||
use futures::TryStreamExt;
|
use futures::TryStreamExt;
|
||||||
let limit = self
|
|
||||||
.limit
|
|
||||||
.clone()
|
|
||||||
.ok()
|
|
||||||
.flatten()
|
|
||||||
.and_then(|x| std::num::NonZeroUsize::try_from(x).ok())
|
|
||||||
.map(std::num::NonZeroUsize::get)
|
|
||||||
.unwrap_or(usize::MAX);
|
|
||||||
let next = Self {
|
let next = Self {
|
||||||
limit: Ok(None),
|
|
||||||
page_token: Ok(None),
|
page_token: Ok(None),
|
||||||
sort_by: Ok(None),
|
sort_by: Ok(None),
|
||||||
..self.clone()
|
..self.clone()
|
||||||
|
@ -44068,7 +43759,6 @@ pub mod builder {
|
||||||
first.chain(rest)
|
first.chain(rest)
|
||||||
})
|
})
|
||||||
.try_flatten_stream()
|
.try_flatten_stream()
|
||||||
.take(limit)
|
|
||||||
.boxed()
|
.boxed()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -44261,16 +43951,7 @@ pub mod builder {
|
||||||
use futures::StreamExt;
|
use futures::StreamExt;
|
||||||
use futures::TryFutureExt;
|
use futures::TryFutureExt;
|
||||||
use futures::TryStreamExt;
|
use futures::TryStreamExt;
|
||||||
let limit = self
|
|
||||||
.limit
|
|
||||||
.clone()
|
|
||||||
.ok()
|
|
||||||
.flatten()
|
|
||||||
.and_then(|x| std::num::NonZeroUsize::try_from(x).ok())
|
|
||||||
.map(std::num::NonZeroUsize::get)
|
|
||||||
.unwrap_or(usize::MAX);
|
|
||||||
let next = Self {
|
let next = Self {
|
||||||
limit: Ok(None),
|
|
||||||
page_token: Ok(None),
|
page_token: Ok(None),
|
||||||
sort_by: Ok(None),
|
sort_by: Ok(None),
|
||||||
..self.clone()
|
..self.clone()
|
||||||
|
@ -44305,7 +43986,6 @@ pub mod builder {
|
||||||
first.chain(rest)
|
first.chain(rest)
|
||||||
})
|
})
|
||||||
.try_flatten_stream()
|
.try_flatten_stream()
|
||||||
.take(limit)
|
|
||||||
.boxed()
|
.boxed()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -44462,16 +44142,7 @@ pub mod builder {
|
||||||
use futures::StreamExt;
|
use futures::StreamExt;
|
||||||
use futures::TryFutureExt;
|
use futures::TryFutureExt;
|
||||||
use futures::TryStreamExt;
|
use futures::TryStreamExt;
|
||||||
let limit = self
|
|
||||||
.limit
|
|
||||||
.clone()
|
|
||||||
.ok()
|
|
||||||
.flatten()
|
|
||||||
.and_then(|x| std::num::NonZeroUsize::try_from(x).ok())
|
|
||||||
.map(std::num::NonZeroUsize::get)
|
|
||||||
.unwrap_or(usize::MAX);
|
|
||||||
let next = Self {
|
let next = Self {
|
||||||
limit: Ok(None),
|
|
||||||
page_token: Ok(None),
|
page_token: Ok(None),
|
||||||
..self.clone()
|
..self.clone()
|
||||||
};
|
};
|
||||||
|
@ -44505,7 +44176,6 @@ pub mod builder {
|
||||||
first.chain(rest)
|
first.chain(rest)
|
||||||
})
|
})
|
||||||
.try_flatten_stream()
|
.try_flatten_stream()
|
||||||
.take(limit)
|
|
||||||
.boxed()
|
.boxed()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -44619,16 +44289,7 @@ pub mod builder {
|
||||||
use futures::StreamExt;
|
use futures::StreamExt;
|
||||||
use futures::TryFutureExt;
|
use futures::TryFutureExt;
|
||||||
use futures::TryStreamExt;
|
use futures::TryStreamExt;
|
||||||
let limit = self
|
|
||||||
.limit
|
|
||||||
.clone()
|
|
||||||
.ok()
|
|
||||||
.flatten()
|
|
||||||
.and_then(|x| std::num::NonZeroUsize::try_from(x).ok())
|
|
||||||
.map(std::num::NonZeroUsize::get)
|
|
||||||
.unwrap_or(usize::MAX);
|
|
||||||
let next = Self {
|
let next = Self {
|
||||||
limit: Ok(None),
|
|
||||||
page_token: Ok(None),
|
page_token: Ok(None),
|
||||||
sort_by: Ok(None),
|
sort_by: Ok(None),
|
||||||
..self.clone()
|
..self.clone()
|
||||||
|
@ -44663,7 +44324,6 @@ pub mod builder {
|
||||||
first.chain(rest)
|
first.chain(rest)
|
||||||
})
|
})
|
||||||
.try_flatten_stream()
|
.try_flatten_stream()
|
||||||
.take(limit)
|
|
||||||
.boxed()
|
.boxed()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -44813,16 +44473,7 @@ pub mod builder {
|
||||||
use futures::StreamExt;
|
use futures::StreamExt;
|
||||||
use futures::TryFutureExt;
|
use futures::TryFutureExt;
|
||||||
use futures::TryStreamExt;
|
use futures::TryStreamExt;
|
||||||
let limit = self
|
|
||||||
.limit
|
|
||||||
.clone()
|
|
||||||
.ok()
|
|
||||||
.flatten()
|
|
||||||
.and_then(|x| std::num::NonZeroUsize::try_from(x).ok())
|
|
||||||
.map(std::num::NonZeroUsize::get)
|
|
||||||
.unwrap_or(usize::MAX);
|
|
||||||
let next = Self {
|
let next = Self {
|
||||||
limit: Ok(None),
|
|
||||||
organization: Ok(None),
|
organization: Ok(None),
|
||||||
page_token: Ok(None),
|
page_token: Ok(None),
|
||||||
project: Ok(None),
|
project: Ok(None),
|
||||||
|
@ -44859,7 +44510,6 @@ pub mod builder {
|
||||||
first.chain(rest)
|
first.chain(rest)
|
||||||
})
|
})
|
||||||
.try_flatten_stream()
|
.try_flatten_stream()
|
||||||
.take(limit)
|
|
||||||
.boxed()
|
.boxed()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -45318,16 +44968,7 @@ pub mod builder {
|
||||||
use futures::StreamExt;
|
use futures::StreamExt;
|
||||||
use futures::TryFutureExt;
|
use futures::TryFutureExt;
|
||||||
use futures::TryStreamExt;
|
use futures::TryStreamExt;
|
||||||
let limit = self
|
|
||||||
.limit
|
|
||||||
.clone()
|
|
||||||
.ok()
|
|
||||||
.flatten()
|
|
||||||
.and_then(|x| std::num::NonZeroUsize::try_from(x).ok())
|
|
||||||
.map(std::num::NonZeroUsize::get)
|
|
||||||
.unwrap_or(usize::MAX);
|
|
||||||
let next = Self {
|
let next = Self {
|
||||||
limit: Ok(None),
|
|
||||||
organization: Ok(None),
|
organization: Ok(None),
|
||||||
page_token: Ok(None),
|
page_token: Ok(None),
|
||||||
project: Ok(None),
|
project: Ok(None),
|
||||||
|
@ -45364,7 +45005,6 @@ pub mod builder {
|
||||||
first.chain(rest)
|
first.chain(rest)
|
||||||
})
|
})
|
||||||
.try_flatten_stream()
|
.try_flatten_stream()
|
||||||
.take(limit)
|
|
||||||
.boxed()
|
.boxed()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -45841,16 +45481,7 @@ pub mod builder {
|
||||||
use futures::StreamExt;
|
use futures::StreamExt;
|
||||||
use futures::TryFutureExt;
|
use futures::TryFutureExt;
|
||||||
use futures::TryStreamExt;
|
use futures::TryStreamExt;
|
||||||
let limit = self
|
|
||||||
.limit
|
|
||||||
.clone()
|
|
||||||
.ok()
|
|
||||||
.flatten()
|
|
||||||
.and_then(|x| std::num::NonZeroUsize::try_from(x).ok())
|
|
||||||
.map(std::num::NonZeroUsize::get)
|
|
||||||
.unwrap_or(usize::MAX);
|
|
||||||
let next = Self {
|
let next = Self {
|
||||||
limit: Ok(None),
|
|
||||||
organization: Ok(None),
|
organization: Ok(None),
|
||||||
page_token: Ok(None),
|
page_token: Ok(None),
|
||||||
project: Ok(None),
|
project: Ok(None),
|
||||||
|
@ -45887,7 +45518,6 @@ pub mod builder {
|
||||||
first.chain(rest)
|
first.chain(rest)
|
||||||
})
|
})
|
||||||
.try_flatten_stream()
|
.try_flatten_stream()
|
||||||
.take(limit)
|
|
||||||
.boxed()
|
.boxed()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -46950,16 +46580,7 @@ pub mod builder {
|
||||||
use futures::StreamExt;
|
use futures::StreamExt;
|
||||||
use futures::TryFutureExt;
|
use futures::TryFutureExt;
|
||||||
use futures::TryStreamExt;
|
use futures::TryStreamExt;
|
||||||
let limit = self
|
|
||||||
.limit
|
|
||||||
.clone()
|
|
||||||
.ok()
|
|
||||||
.flatten()
|
|
||||||
.and_then(|x| std::num::NonZeroUsize::try_from(x).ok())
|
|
||||||
.map(std::num::NonZeroUsize::get)
|
|
||||||
.unwrap_or(usize::MAX);
|
|
||||||
let next = Self {
|
let next = Self {
|
||||||
limit: Ok(None),
|
|
||||||
page_token: Ok(None),
|
page_token: Ok(None),
|
||||||
sort_by: Ok(None),
|
sort_by: Ok(None),
|
||||||
..self.clone()
|
..self.clone()
|
||||||
|
@ -46994,7 +46615,6 @@ pub mod builder {
|
||||||
first.chain(rest)
|
first.chain(rest)
|
||||||
})
|
})
|
||||||
.try_flatten_stream()
|
.try_flatten_stream()
|
||||||
.take(limit)
|
|
||||||
.boxed()
|
.boxed()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -47576,16 +47196,7 @@ pub mod builder {
|
||||||
use futures::StreamExt;
|
use futures::StreamExt;
|
||||||
use futures::TryFutureExt;
|
use futures::TryFutureExt;
|
||||||
use futures::TryStreamExt;
|
use futures::TryStreamExt;
|
||||||
let limit = self
|
|
||||||
.limit
|
|
||||||
.clone()
|
|
||||||
.ok()
|
|
||||||
.flatten()
|
|
||||||
.and_then(|x| std::num::NonZeroUsize::try_from(x).ok())
|
|
||||||
.map(std::num::NonZeroUsize::get)
|
|
||||||
.unwrap_or(usize::MAX);
|
|
||||||
let next = Self {
|
let next = Self {
|
||||||
limit: Ok(None),
|
|
||||||
organization: Ok(None),
|
organization: Ok(None),
|
||||||
page_token: Ok(None),
|
page_token: Ok(None),
|
||||||
sort_by: Ok(None),
|
sort_by: Ok(None),
|
||||||
|
@ -47621,7 +47232,6 @@ pub mod builder {
|
||||||
first.chain(rest)
|
first.chain(rest)
|
||||||
})
|
})
|
||||||
.try_flatten_stream()
|
.try_flatten_stream()
|
||||||
.take(limit)
|
|
||||||
.boxed()
|
.boxed()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -48301,16 +47911,7 @@ pub mod builder {
|
||||||
use futures::StreamExt;
|
use futures::StreamExt;
|
||||||
use futures::TryFutureExt;
|
use futures::TryFutureExt;
|
||||||
use futures::TryStreamExt;
|
use futures::TryStreamExt;
|
||||||
let limit = self
|
|
||||||
.limit
|
|
||||||
.clone()
|
|
||||||
.ok()
|
|
||||||
.flatten()
|
|
||||||
.and_then(|x| std::num::NonZeroUsize::try_from(x).ok())
|
|
||||||
.map(std::num::NonZeroUsize::get)
|
|
||||||
.unwrap_or(usize::MAX);
|
|
||||||
let next = Self {
|
let next = Self {
|
||||||
limit: Ok(None),
|
|
||||||
page_token: Ok(None),
|
page_token: Ok(None),
|
||||||
sort_by: Ok(None),
|
sort_by: Ok(None),
|
||||||
..self.clone()
|
..self.clone()
|
||||||
|
@ -48345,7 +47946,6 @@ pub mod builder {
|
||||||
first.chain(rest)
|
first.chain(rest)
|
||||||
})
|
})
|
||||||
.try_flatten_stream()
|
.try_flatten_stream()
|
||||||
.take(limit)
|
|
||||||
.boxed()
|
.boxed()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -48460,16 +48060,7 @@ pub mod builder {
|
||||||
use futures::StreamExt;
|
use futures::StreamExt;
|
||||||
use futures::TryFutureExt;
|
use futures::TryFutureExt;
|
||||||
use futures::TryStreamExt;
|
use futures::TryStreamExt;
|
||||||
let limit = self
|
|
||||||
.limit
|
|
||||||
.clone()
|
|
||||||
.ok()
|
|
||||||
.flatten()
|
|
||||||
.and_then(|x| std::num::NonZeroUsize::try_from(x).ok())
|
|
||||||
.map(std::num::NonZeroUsize::get)
|
|
||||||
.unwrap_or(usize::MAX);
|
|
||||||
let next = Self {
|
let next = Self {
|
||||||
limit: Ok(None),
|
|
||||||
page_token: Ok(None),
|
page_token: Ok(None),
|
||||||
sort_by: Ok(None),
|
sort_by: Ok(None),
|
||||||
..self.clone()
|
..self.clone()
|
||||||
|
@ -48504,7 +48095,6 @@ pub mod builder {
|
||||||
first.chain(rest)
|
first.chain(rest)
|
||||||
})
|
})
|
||||||
.try_flatten_stream()
|
.try_flatten_stream()
|
||||||
.take(limit)
|
|
||||||
.boxed()
|
.boxed()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -48835,16 +48425,7 @@ pub mod builder {
|
||||||
use futures::StreamExt;
|
use futures::StreamExt;
|
||||||
use futures::TryFutureExt;
|
use futures::TryFutureExt;
|
||||||
use futures::TryStreamExt;
|
use futures::TryStreamExt;
|
||||||
let limit = self
|
|
||||||
.limit
|
|
||||||
.clone()
|
|
||||||
.ok()
|
|
||||||
.flatten()
|
|
||||||
.and_then(|x| std::num::NonZeroUsize::try_from(x).ok())
|
|
||||||
.map(std::num::NonZeroUsize::get)
|
|
||||||
.unwrap_or(usize::MAX);
|
|
||||||
let next = Self {
|
let next = Self {
|
||||||
limit: Ok(None),
|
|
||||||
page_token: Ok(None),
|
page_token: Ok(None),
|
||||||
sort_by: Ok(None),
|
sort_by: Ok(None),
|
||||||
..self.clone()
|
..self.clone()
|
||||||
|
@ -48879,7 +48460,6 @@ pub mod builder {
|
||||||
first.chain(rest)
|
first.chain(rest)
|
||||||
})
|
})
|
||||||
.try_flatten_stream()
|
.try_flatten_stream()
|
||||||
.take(limit)
|
|
||||||
.boxed()
|
.boxed()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -29558,16 +29558,7 @@ pub mod builder {
|
||||||
use futures::StreamExt;
|
use futures::StreamExt;
|
||||||
use futures::TryFutureExt;
|
use futures::TryFutureExt;
|
||||||
use futures::TryStreamExt;
|
use futures::TryStreamExt;
|
||||||
let limit = self
|
|
||||||
.limit
|
|
||||||
.clone()
|
|
||||||
.ok()
|
|
||||||
.flatten()
|
|
||||||
.and_then(|x| std::num::NonZeroUsize::try_from(x).ok())
|
|
||||||
.map(std::num::NonZeroUsize::get)
|
|
||||||
.unwrap_or(usize::MAX);
|
|
||||||
let next = Self {
|
let next = Self {
|
||||||
limit: Ok(None),
|
|
||||||
page_token: Ok(None),
|
page_token: Ok(None),
|
||||||
sort_by: Ok(None),
|
sort_by: Ok(None),
|
||||||
..self.clone()
|
..self.clone()
|
||||||
|
@ -29602,7 +29593,6 @@ pub mod builder {
|
||||||
first.chain(rest)
|
first.chain(rest)
|
||||||
})
|
})
|
||||||
.try_flatten_stream()
|
.try_flatten_stream()
|
||||||
.take(limit)
|
|
||||||
.boxed()
|
.boxed()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -30079,16 +30069,7 @@ pub mod builder {
|
||||||
use futures::StreamExt;
|
use futures::StreamExt;
|
||||||
use futures::TryFutureExt;
|
use futures::TryFutureExt;
|
||||||
use futures::TryStreamExt;
|
use futures::TryStreamExt;
|
||||||
let limit = self
|
|
||||||
.limit
|
|
||||||
.clone()
|
|
||||||
.ok()
|
|
||||||
.flatten()
|
|
||||||
.and_then(|x| std::num::NonZeroUsize::try_from(x).ok())
|
|
||||||
.map(std::num::NonZeroUsize::get)
|
|
||||||
.unwrap_or(usize::MAX);
|
|
||||||
let next = Self {
|
let next = Self {
|
||||||
limit: Ok(None),
|
|
||||||
page_token: Ok(None),
|
page_token: Ok(None),
|
||||||
sort_by: Ok(None),
|
sort_by: Ok(None),
|
||||||
..self.clone()
|
..self.clone()
|
||||||
|
@ -30123,7 +30104,6 @@ pub mod builder {
|
||||||
first.chain(rest)
|
first.chain(rest)
|
||||||
})
|
})
|
||||||
.try_flatten_stream()
|
.try_flatten_stream()
|
||||||
.take(limit)
|
|
||||||
.boxed()
|
.boxed()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -30707,16 +30687,7 @@ pub mod builder {
|
||||||
use futures::StreamExt;
|
use futures::StreamExt;
|
||||||
use futures::TryFutureExt;
|
use futures::TryFutureExt;
|
||||||
use futures::TryStreamExt;
|
use futures::TryStreamExt;
|
||||||
let limit = self
|
|
||||||
.limit
|
|
||||||
.clone()
|
|
||||||
.ok()
|
|
||||||
.flatten()
|
|
||||||
.and_then(|x| std::num::NonZeroUsize::try_from(x).ok())
|
|
||||||
.map(std::num::NonZeroUsize::get)
|
|
||||||
.unwrap_or(usize::MAX);
|
|
||||||
let next = Self {
|
let next = Self {
|
||||||
limit: Ok(None),
|
|
||||||
page_token: Ok(None),
|
page_token: Ok(None),
|
||||||
sort_by: Ok(None),
|
sort_by: Ok(None),
|
||||||
..self.clone()
|
..self.clone()
|
||||||
|
@ -30751,7 +30722,6 @@ pub mod builder {
|
||||||
first.chain(rest)
|
first.chain(rest)
|
||||||
})
|
})
|
||||||
.try_flatten_stream()
|
.try_flatten_stream()
|
||||||
.take(limit)
|
|
||||||
.boxed()
|
.boxed()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -31255,16 +31225,7 @@ pub mod builder {
|
||||||
use futures::StreamExt;
|
use futures::StreamExt;
|
||||||
use futures::TryFutureExt;
|
use futures::TryFutureExt;
|
||||||
use futures::TryStreamExt;
|
use futures::TryStreamExt;
|
||||||
let limit = self
|
|
||||||
.limit
|
|
||||||
.clone()
|
|
||||||
.ok()
|
|
||||||
.flatten()
|
|
||||||
.and_then(|x| std::num::NonZeroUsize::try_from(x).ok())
|
|
||||||
.map(std::num::NonZeroUsize::get)
|
|
||||||
.unwrap_or(usize::MAX);
|
|
||||||
let next = Self {
|
let next = Self {
|
||||||
limit: Ok(None),
|
|
||||||
page_token: Ok(None),
|
page_token: Ok(None),
|
||||||
sort_by: Ok(None),
|
sort_by: Ok(None),
|
||||||
..self.clone()
|
..self.clone()
|
||||||
|
@ -31299,7 +31260,6 @@ pub mod builder {
|
||||||
first.chain(rest)
|
first.chain(rest)
|
||||||
})
|
})
|
||||||
.try_flatten_stream()
|
.try_flatten_stream()
|
||||||
.take(limit)
|
|
||||||
.boxed()
|
.boxed()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -31795,17 +31755,8 @@ pub mod builder {
|
||||||
use futures::StreamExt;
|
use futures::StreamExt;
|
||||||
use futures::TryFutureExt;
|
use futures::TryFutureExt;
|
||||||
use futures::TryStreamExt;
|
use futures::TryStreamExt;
|
||||||
let limit = self
|
|
||||||
.limit
|
|
||||||
.clone()
|
|
||||||
.ok()
|
|
||||||
.flatten()
|
|
||||||
.and_then(|x| std::num::NonZeroUsize::try_from(x).ok())
|
|
||||||
.map(std::num::NonZeroUsize::get)
|
|
||||||
.unwrap_or(usize::MAX);
|
|
||||||
let next = Self {
|
let next = Self {
|
||||||
end_time: Ok(None),
|
end_time: Ok(None),
|
||||||
limit: Ok(None),
|
|
||||||
page_token: Ok(None),
|
page_token: Ok(None),
|
||||||
start_time: Ok(None),
|
start_time: Ok(None),
|
||||||
..self.clone()
|
..self.clone()
|
||||||
|
@ -31840,7 +31791,6 @@ pub mod builder {
|
||||||
first.chain(rest)
|
first.chain(rest)
|
||||||
})
|
})
|
||||||
.try_flatten_stream()
|
.try_flatten_stream()
|
||||||
.take(limit)
|
|
||||||
.boxed()
|
.boxed()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -31989,16 +31939,7 @@ pub mod builder {
|
||||||
use futures::StreamExt;
|
use futures::StreamExt;
|
||||||
use futures::TryFutureExt;
|
use futures::TryFutureExt;
|
||||||
use futures::TryStreamExt;
|
use futures::TryStreamExt;
|
||||||
let limit = self
|
|
||||||
.limit
|
|
||||||
.clone()
|
|
||||||
.ok()
|
|
||||||
.flatten()
|
|
||||||
.and_then(|x| std::num::NonZeroUsize::try_from(x).ok())
|
|
||||||
.map(std::num::NonZeroUsize::get)
|
|
||||||
.unwrap_or(usize::MAX);
|
|
||||||
let next = Self {
|
let next = Self {
|
||||||
limit: Ok(None),
|
|
||||||
page_token: Ok(None),
|
page_token: Ok(None),
|
||||||
sort_by: Ok(None),
|
sort_by: Ok(None),
|
||||||
..self.clone()
|
..self.clone()
|
||||||
|
@ -32033,7 +31974,6 @@ pub mod builder {
|
||||||
first.chain(rest)
|
first.chain(rest)
|
||||||
})
|
})
|
||||||
.try_flatten_stream()
|
.try_flatten_stream()
|
||||||
.take(limit)
|
|
||||||
.boxed()
|
.boxed()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -32480,16 +32420,7 @@ pub mod builder {
|
||||||
use futures::StreamExt;
|
use futures::StreamExt;
|
||||||
use futures::TryFutureExt;
|
use futures::TryFutureExt;
|
||||||
use futures::TryStreamExt;
|
use futures::TryStreamExt;
|
||||||
let limit = self
|
|
||||||
.limit
|
|
||||||
.clone()
|
|
||||||
.ok()
|
|
||||||
.flatten()
|
|
||||||
.and_then(|x| std::num::NonZeroUsize::try_from(x).ok())
|
|
||||||
.map(std::num::NonZeroUsize::get)
|
|
||||||
.unwrap_or(usize::MAX);
|
|
||||||
let next = Self {
|
let next = Self {
|
||||||
limit: Ok(None),
|
|
||||||
page_token: Ok(None),
|
page_token: Ok(None),
|
||||||
sort_by: Ok(None),
|
sort_by: Ok(None),
|
||||||
..self.clone()
|
..self.clone()
|
||||||
|
@ -32524,7 +32455,6 @@ pub mod builder {
|
||||||
first.chain(rest)
|
first.chain(rest)
|
||||||
})
|
})
|
||||||
.try_flatten_stream()
|
.try_flatten_stream()
|
||||||
.take(limit)
|
|
||||||
.boxed()
|
.boxed()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -32987,16 +32917,7 @@ pub mod builder {
|
||||||
use futures::StreamExt;
|
use futures::StreamExt;
|
||||||
use futures::TryFutureExt;
|
use futures::TryFutureExt;
|
||||||
use futures::TryStreamExt;
|
use futures::TryStreamExt;
|
||||||
let limit = self
|
|
||||||
.limit
|
|
||||||
.clone()
|
|
||||||
.ok()
|
|
||||||
.flatten()
|
|
||||||
.and_then(|x| std::num::NonZeroUsize::try_from(x).ok())
|
|
||||||
.map(std::num::NonZeroUsize::get)
|
|
||||||
.unwrap_or(usize::MAX);
|
|
||||||
let next = Self {
|
let next = Self {
|
||||||
limit: Ok(None),
|
|
||||||
page_token: Ok(None),
|
page_token: Ok(None),
|
||||||
sort_by: Ok(None),
|
sort_by: Ok(None),
|
||||||
..self.clone()
|
..self.clone()
|
||||||
|
@ -33031,7 +32952,6 @@ pub mod builder {
|
||||||
first.chain(rest)
|
first.chain(rest)
|
||||||
})
|
})
|
||||||
.try_flatten_stream()
|
.try_flatten_stream()
|
||||||
.take(limit)
|
|
||||||
.boxed()
|
.boxed()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -33661,16 +33581,7 @@ pub mod builder {
|
||||||
use futures::StreamExt;
|
use futures::StreamExt;
|
||||||
use futures::TryFutureExt;
|
use futures::TryFutureExt;
|
||||||
use futures::TryStreamExt;
|
use futures::TryStreamExt;
|
||||||
let limit = self
|
|
||||||
.limit
|
|
||||||
.clone()
|
|
||||||
.ok()
|
|
||||||
.flatten()
|
|
||||||
.and_then(|x| std::num::NonZeroUsize::try_from(x).ok())
|
|
||||||
.map(std::num::NonZeroUsize::get)
|
|
||||||
.unwrap_or(usize::MAX);
|
|
||||||
let next = Self {
|
let next = Self {
|
||||||
limit: Ok(None),
|
|
||||||
page_token: Ok(None),
|
page_token: Ok(None),
|
||||||
sort_by: Ok(None),
|
sort_by: Ok(None),
|
||||||
..self.clone()
|
..self.clone()
|
||||||
|
@ -33705,7 +33616,6 @@ pub mod builder {
|
||||||
first.chain(rest)
|
first.chain(rest)
|
||||||
})
|
})
|
||||||
.try_flatten_stream()
|
.try_flatten_stream()
|
||||||
.take(limit)
|
|
||||||
.boxed()
|
.boxed()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -35076,16 +34986,7 @@ pub mod builder {
|
||||||
use futures::StreamExt;
|
use futures::StreamExt;
|
||||||
use futures::TryFutureExt;
|
use futures::TryFutureExt;
|
||||||
use futures::TryStreamExt;
|
use futures::TryStreamExt;
|
||||||
let limit = self
|
|
||||||
.limit
|
|
||||||
.clone()
|
|
||||||
.ok()
|
|
||||||
.flatten()
|
|
||||||
.and_then(|x| std::num::NonZeroUsize::try_from(x).ok())
|
|
||||||
.map(std::num::NonZeroUsize::get)
|
|
||||||
.unwrap_or(usize::MAX);
|
|
||||||
let next = Self {
|
let next = Self {
|
||||||
limit: Ok(None),
|
|
||||||
page_token: Ok(None),
|
page_token: Ok(None),
|
||||||
sort_by: Ok(None),
|
sort_by: Ok(None),
|
||||||
..self.clone()
|
..self.clone()
|
||||||
|
@ -35120,7 +35021,6 @@ pub mod builder {
|
||||||
first.chain(rest)
|
first.chain(rest)
|
||||||
})
|
})
|
||||||
.try_flatten_stream()
|
.try_flatten_stream()
|
||||||
.take(limit)
|
|
||||||
.boxed()
|
.boxed()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -35566,16 +35466,7 @@ pub mod builder {
|
||||||
use futures::StreamExt;
|
use futures::StreamExt;
|
||||||
use futures::TryFutureExt;
|
use futures::TryFutureExt;
|
||||||
use futures::TryStreamExt;
|
use futures::TryStreamExt;
|
||||||
let limit = self
|
|
||||||
.limit
|
|
||||||
.clone()
|
|
||||||
.ok()
|
|
||||||
.flatten()
|
|
||||||
.and_then(|x| std::num::NonZeroUsize::try_from(x).ok())
|
|
||||||
.map(std::num::NonZeroUsize::get)
|
|
||||||
.unwrap_or(usize::MAX);
|
|
||||||
let next = Self {
|
let next = Self {
|
||||||
limit: Ok(None),
|
|
||||||
page_token: Ok(None),
|
page_token: Ok(None),
|
||||||
sort_by: Ok(None),
|
sort_by: Ok(None),
|
||||||
..self.clone()
|
..self.clone()
|
||||||
|
@ -35610,7 +35501,6 @@ pub mod builder {
|
||||||
first.chain(rest)
|
first.chain(rest)
|
||||||
})
|
})
|
||||||
.try_flatten_stream()
|
.try_flatten_stream()
|
||||||
.take(limit)
|
|
||||||
.boxed()
|
.boxed()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -36422,16 +36312,7 @@ pub mod builder {
|
||||||
use futures::StreamExt;
|
use futures::StreamExt;
|
||||||
use futures::TryFutureExt;
|
use futures::TryFutureExt;
|
||||||
use futures::TryStreamExt;
|
use futures::TryStreamExt;
|
||||||
let limit = self
|
|
||||||
.limit
|
|
||||||
.clone()
|
|
||||||
.ok()
|
|
||||||
.flatten()
|
|
||||||
.and_then(|x| std::num::NonZeroUsize::try_from(x).ok())
|
|
||||||
.map(std::num::NonZeroUsize::get)
|
|
||||||
.unwrap_or(usize::MAX);
|
|
||||||
let next = Self {
|
let next = Self {
|
||||||
limit: Ok(None),
|
|
||||||
page_token: Ok(None),
|
page_token: Ok(None),
|
||||||
sort_by: Ok(None),
|
sort_by: Ok(None),
|
||||||
..self.clone()
|
..self.clone()
|
||||||
|
@ -36466,7 +36347,6 @@ pub mod builder {
|
||||||
first.chain(rest)
|
first.chain(rest)
|
||||||
})
|
})
|
||||||
.try_flatten_stream()
|
.try_flatten_stream()
|
||||||
.take(limit)
|
|
||||||
.boxed()
|
.boxed()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -37126,16 +37006,7 @@ pub mod builder {
|
||||||
use futures::StreamExt;
|
use futures::StreamExt;
|
||||||
use futures::TryFutureExt;
|
use futures::TryFutureExt;
|
||||||
use futures::TryStreamExt;
|
use futures::TryStreamExt;
|
||||||
let limit = self
|
|
||||||
.limit
|
|
||||||
.clone()
|
|
||||||
.ok()
|
|
||||||
.flatten()
|
|
||||||
.and_then(|x| std::num::NonZeroUsize::try_from(x).ok())
|
|
||||||
.map(std::num::NonZeroUsize::get)
|
|
||||||
.unwrap_or(usize::MAX);
|
|
||||||
let next = Self {
|
let next = Self {
|
||||||
limit: Ok(None),
|
|
||||||
page_token: Ok(None),
|
page_token: Ok(None),
|
||||||
sort_by: Ok(None),
|
sort_by: Ok(None),
|
||||||
..self.clone()
|
..self.clone()
|
||||||
|
@ -37170,7 +37041,6 @@ pub mod builder {
|
||||||
first.chain(rest)
|
first.chain(rest)
|
||||||
})
|
})
|
||||||
.try_flatten_stream()
|
.try_flatten_stream()
|
||||||
.take(limit)
|
|
||||||
.boxed()
|
.boxed()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -37887,16 +37757,7 @@ pub mod builder {
|
||||||
use futures::StreamExt;
|
use futures::StreamExt;
|
||||||
use futures::TryFutureExt;
|
use futures::TryFutureExt;
|
||||||
use futures::TryStreamExt;
|
use futures::TryStreamExt;
|
||||||
let limit = self
|
|
||||||
.limit
|
|
||||||
.clone()
|
|
||||||
.ok()
|
|
||||||
.flatten()
|
|
||||||
.and_then(|x| std::num::NonZeroUsize::try_from(x).ok())
|
|
||||||
.map(std::num::NonZeroUsize::get)
|
|
||||||
.unwrap_or(usize::MAX);
|
|
||||||
let next = Self {
|
let next = Self {
|
||||||
limit: Ok(None),
|
|
||||||
page_token: Ok(None),
|
page_token: Ok(None),
|
||||||
sort_by: Ok(None),
|
sort_by: Ok(None),
|
||||||
..self.clone()
|
..self.clone()
|
||||||
|
@ -37931,7 +37792,6 @@ pub mod builder {
|
||||||
first.chain(rest)
|
first.chain(rest)
|
||||||
})
|
})
|
||||||
.try_flatten_stream()
|
.try_flatten_stream()
|
||||||
.take(limit)
|
|
||||||
.boxed()
|
.boxed()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -38592,16 +38452,7 @@ pub mod builder {
|
||||||
use futures::StreamExt;
|
use futures::StreamExt;
|
||||||
use futures::TryFutureExt;
|
use futures::TryFutureExt;
|
||||||
use futures::TryStreamExt;
|
use futures::TryStreamExt;
|
||||||
let limit = self
|
|
||||||
.limit
|
|
||||||
.clone()
|
|
||||||
.ok()
|
|
||||||
.flatten()
|
|
||||||
.and_then(|x| std::num::NonZeroUsize::try_from(x).ok())
|
|
||||||
.map(std::num::NonZeroUsize::get)
|
|
||||||
.unwrap_or(usize::MAX);
|
|
||||||
let next = Self {
|
let next = Self {
|
||||||
limit: Ok(None),
|
|
||||||
page_token: Ok(None),
|
page_token: Ok(None),
|
||||||
sort_by: Ok(None),
|
sort_by: Ok(None),
|
||||||
..self.clone()
|
..self.clone()
|
||||||
|
@ -38636,7 +38487,6 @@ pub mod builder {
|
||||||
first.chain(rest)
|
first.chain(rest)
|
||||||
})
|
})
|
||||||
.try_flatten_stream()
|
.try_flatten_stream()
|
||||||
.take(limit)
|
|
||||||
.boxed()
|
.boxed()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -38846,16 +38696,7 @@ pub mod builder {
|
||||||
use futures::StreamExt;
|
use futures::StreamExt;
|
||||||
use futures::TryFutureExt;
|
use futures::TryFutureExt;
|
||||||
use futures::TryStreamExt;
|
use futures::TryStreamExt;
|
||||||
let limit = self
|
|
||||||
.limit
|
|
||||||
.clone()
|
|
||||||
.ok()
|
|
||||||
.flatten()
|
|
||||||
.and_then(|x| std::num::NonZeroUsize::try_from(x).ok())
|
|
||||||
.map(std::num::NonZeroUsize::get)
|
|
||||||
.unwrap_or(usize::MAX);
|
|
||||||
let next = Self {
|
let next = Self {
|
||||||
limit: Ok(None),
|
|
||||||
page_token: Ok(None),
|
page_token: Ok(None),
|
||||||
..self.clone()
|
..self.clone()
|
||||||
};
|
};
|
||||||
|
@ -38889,7 +38730,6 @@ pub mod builder {
|
||||||
first.chain(rest)
|
first.chain(rest)
|
||||||
})
|
})
|
||||||
.try_flatten_stream()
|
.try_flatten_stream()
|
||||||
.take(limit)
|
|
||||||
.boxed()
|
.boxed()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -39104,16 +38944,7 @@ pub mod builder {
|
||||||
use futures::StreamExt;
|
use futures::StreamExt;
|
||||||
use futures::TryFutureExt;
|
use futures::TryFutureExt;
|
||||||
use futures::TryStreamExt;
|
use futures::TryStreamExt;
|
||||||
let limit = self
|
|
||||||
.limit
|
|
||||||
.clone()
|
|
||||||
.ok()
|
|
||||||
.flatten()
|
|
||||||
.and_then(|x| std::num::NonZeroUsize::try_from(x).ok())
|
|
||||||
.map(std::num::NonZeroUsize::get)
|
|
||||||
.unwrap_or(usize::MAX);
|
|
||||||
let next = Self {
|
let next = Self {
|
||||||
limit: Ok(None),
|
|
||||||
page_token: Ok(None),
|
page_token: Ok(None),
|
||||||
sort_by: Ok(None),
|
sort_by: Ok(None),
|
||||||
..self.clone()
|
..self.clone()
|
||||||
|
@ -39148,7 +38979,6 @@ pub mod builder {
|
||||||
first.chain(rest)
|
first.chain(rest)
|
||||||
})
|
})
|
||||||
.try_flatten_stream()
|
.try_flatten_stream()
|
||||||
.take(limit)
|
|
||||||
.boxed()
|
.boxed()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -39262,16 +39092,7 @@ pub mod builder {
|
||||||
use futures::StreamExt;
|
use futures::StreamExt;
|
||||||
use futures::TryFutureExt;
|
use futures::TryFutureExt;
|
||||||
use futures::TryStreamExt;
|
use futures::TryStreamExt;
|
||||||
let limit = self
|
|
||||||
.limit
|
|
||||||
.clone()
|
|
||||||
.ok()
|
|
||||||
.flatten()
|
|
||||||
.and_then(|x| std::num::NonZeroUsize::try_from(x).ok())
|
|
||||||
.map(std::num::NonZeroUsize::get)
|
|
||||||
.unwrap_or(usize::MAX);
|
|
||||||
let next = Self {
|
let next = Self {
|
||||||
limit: Ok(None),
|
|
||||||
page_token: Ok(None),
|
page_token: Ok(None),
|
||||||
sort_by: Ok(None),
|
sort_by: Ok(None),
|
||||||
..self.clone()
|
..self.clone()
|
||||||
|
@ -39306,7 +39127,6 @@ pub mod builder {
|
||||||
first.chain(rest)
|
first.chain(rest)
|
||||||
})
|
})
|
||||||
.try_flatten_stream()
|
.try_flatten_stream()
|
||||||
.take(limit)
|
|
||||||
.boxed()
|
.boxed()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -39795,16 +39615,7 @@ pub mod builder {
|
||||||
use futures::StreamExt;
|
use futures::StreamExt;
|
||||||
use futures::TryFutureExt;
|
use futures::TryFutureExt;
|
||||||
use futures::TryStreamExt;
|
use futures::TryStreamExt;
|
||||||
let limit = self
|
|
||||||
.limit
|
|
||||||
.clone()
|
|
||||||
.ok()
|
|
||||||
.flatten()
|
|
||||||
.and_then(|x| std::num::NonZeroUsize::try_from(x).ok())
|
|
||||||
.map(std::num::NonZeroUsize::get)
|
|
||||||
.unwrap_or(usize::MAX);
|
|
||||||
let next = Self {
|
let next = Self {
|
||||||
limit: Ok(None),
|
|
||||||
page_token: Ok(None),
|
page_token: Ok(None),
|
||||||
sort_by: Ok(None),
|
sort_by: Ok(None),
|
||||||
..self.clone()
|
..self.clone()
|
||||||
|
@ -39839,7 +39650,6 @@ pub mod builder {
|
||||||
first.chain(rest)
|
first.chain(rest)
|
||||||
})
|
})
|
||||||
.try_flatten_stream()
|
.try_flatten_stream()
|
||||||
.take(limit)
|
|
||||||
.boxed()
|
.boxed()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -40150,16 +39960,7 @@ pub mod builder {
|
||||||
use futures::StreamExt;
|
use futures::StreamExt;
|
||||||
use futures::TryFutureExt;
|
use futures::TryFutureExt;
|
||||||
use futures::TryStreamExt;
|
use futures::TryStreamExt;
|
||||||
let limit = self
|
|
||||||
.limit
|
|
||||||
.clone()
|
|
||||||
.ok()
|
|
||||||
.flatten()
|
|
||||||
.and_then(|x| std::num::NonZeroUsize::try_from(x).ok())
|
|
||||||
.map(std::num::NonZeroUsize::get)
|
|
||||||
.unwrap_or(usize::MAX);
|
|
||||||
let next = Self {
|
let next = Self {
|
||||||
limit: Ok(None),
|
|
||||||
page_token: Ok(None),
|
page_token: Ok(None),
|
||||||
sort_by: Ok(None),
|
sort_by: Ok(None),
|
||||||
..self.clone()
|
..self.clone()
|
||||||
|
@ -40194,7 +39995,6 @@ pub mod builder {
|
||||||
first.chain(rest)
|
first.chain(rest)
|
||||||
})
|
})
|
||||||
.try_flatten_stream()
|
.try_flatten_stream()
|
||||||
.take(limit)
|
|
||||||
.boxed()
|
.boxed()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -40308,16 +40108,7 @@ pub mod builder {
|
||||||
use futures::StreamExt;
|
use futures::StreamExt;
|
||||||
use futures::TryFutureExt;
|
use futures::TryFutureExt;
|
||||||
use futures::TryStreamExt;
|
use futures::TryStreamExt;
|
||||||
let limit = self
|
|
||||||
.limit
|
|
||||||
.clone()
|
|
||||||
.ok()
|
|
||||||
.flatten()
|
|
||||||
.and_then(|x| std::num::NonZeroUsize::try_from(x).ok())
|
|
||||||
.map(std::num::NonZeroUsize::get)
|
|
||||||
.unwrap_or(usize::MAX);
|
|
||||||
let next = Self {
|
let next = Self {
|
||||||
limit: Ok(None),
|
|
||||||
page_token: Ok(None),
|
page_token: Ok(None),
|
||||||
sort_by: Ok(None),
|
sort_by: Ok(None),
|
||||||
..self.clone()
|
..self.clone()
|
||||||
|
@ -40352,7 +40143,6 @@ pub mod builder {
|
||||||
first.chain(rest)
|
first.chain(rest)
|
||||||
})
|
})
|
||||||
.try_flatten_stream()
|
.try_flatten_stream()
|
||||||
.take(limit)
|
|
||||||
.boxed()
|
.boxed()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -40526,16 +40316,7 @@ pub mod builder {
|
||||||
use futures::StreamExt;
|
use futures::StreamExt;
|
||||||
use futures::TryFutureExt;
|
use futures::TryFutureExt;
|
||||||
use futures::TryStreamExt;
|
use futures::TryStreamExt;
|
||||||
let limit = self
|
|
||||||
.limit
|
|
||||||
.clone()
|
|
||||||
.ok()
|
|
||||||
.flatten()
|
|
||||||
.and_then(|x| std::num::NonZeroUsize::try_from(x).ok())
|
|
||||||
.map(std::num::NonZeroUsize::get)
|
|
||||||
.unwrap_or(usize::MAX);
|
|
||||||
let next = Self {
|
let next = Self {
|
||||||
limit: Ok(None),
|
|
||||||
page_token: Ok(None),
|
page_token: Ok(None),
|
||||||
sort_by: Ok(None),
|
sort_by: Ok(None),
|
||||||
..self.clone()
|
..self.clone()
|
||||||
|
@ -40570,7 +40351,6 @@ pub mod builder {
|
||||||
first.chain(rest)
|
first.chain(rest)
|
||||||
})
|
})
|
||||||
.try_flatten_stream()
|
.try_flatten_stream()
|
||||||
.take(limit)
|
|
||||||
.boxed()
|
.boxed()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -40762,16 +40542,7 @@ pub mod builder {
|
||||||
use futures::StreamExt;
|
use futures::StreamExt;
|
||||||
use futures::TryFutureExt;
|
use futures::TryFutureExt;
|
||||||
use futures::TryStreamExt;
|
use futures::TryStreamExt;
|
||||||
let limit = self
|
|
||||||
.limit
|
|
||||||
.clone()
|
|
||||||
.ok()
|
|
||||||
.flatten()
|
|
||||||
.and_then(|x| std::num::NonZeroUsize::try_from(x).ok())
|
|
||||||
.map(std::num::NonZeroUsize::get)
|
|
||||||
.unwrap_or(usize::MAX);
|
|
||||||
let next = Self {
|
let next = Self {
|
||||||
limit: Ok(None),
|
|
||||||
page_token: Ok(None),
|
page_token: Ok(None),
|
||||||
sort_by: Ok(None),
|
sort_by: Ok(None),
|
||||||
..self.clone()
|
..self.clone()
|
||||||
|
@ -40806,7 +40577,6 @@ pub mod builder {
|
||||||
first.chain(rest)
|
first.chain(rest)
|
||||||
})
|
})
|
||||||
.try_flatten_stream()
|
.try_flatten_stream()
|
||||||
.take(limit)
|
|
||||||
.boxed()
|
.boxed()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -40920,16 +40690,7 @@ pub mod builder {
|
||||||
use futures::StreamExt;
|
use futures::StreamExt;
|
||||||
use futures::TryFutureExt;
|
use futures::TryFutureExt;
|
||||||
use futures::TryStreamExt;
|
use futures::TryStreamExt;
|
||||||
let limit = self
|
|
||||||
.limit
|
|
||||||
.clone()
|
|
||||||
.ok()
|
|
||||||
.flatten()
|
|
||||||
.and_then(|x| std::num::NonZeroUsize::try_from(x).ok())
|
|
||||||
.map(std::num::NonZeroUsize::get)
|
|
||||||
.unwrap_or(usize::MAX);
|
|
||||||
let next = Self {
|
let next = Self {
|
||||||
limit: Ok(None),
|
|
||||||
page_token: Ok(None),
|
page_token: Ok(None),
|
||||||
sort_by: Ok(None),
|
sort_by: Ok(None),
|
||||||
..self.clone()
|
..self.clone()
|
||||||
|
@ -40964,7 +40725,6 @@ pub mod builder {
|
||||||
first.chain(rest)
|
first.chain(rest)
|
||||||
})
|
})
|
||||||
.try_flatten_stream()
|
.try_flatten_stream()
|
||||||
.take(limit)
|
|
||||||
.boxed()
|
.boxed()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -41269,16 +41029,7 @@ pub mod builder {
|
||||||
use futures::StreamExt;
|
use futures::StreamExt;
|
||||||
use futures::TryFutureExt;
|
use futures::TryFutureExt;
|
||||||
use futures::TryStreamExt;
|
use futures::TryStreamExt;
|
||||||
let limit = self
|
|
||||||
.limit
|
|
||||||
.clone()
|
|
||||||
.ok()
|
|
||||||
.flatten()
|
|
||||||
.and_then(|x| std::num::NonZeroUsize::try_from(x).ok())
|
|
||||||
.map(std::num::NonZeroUsize::get)
|
|
||||||
.unwrap_or(usize::MAX);
|
|
||||||
let next = Self {
|
let next = Self {
|
||||||
limit: Ok(None),
|
|
||||||
page_token: Ok(None),
|
page_token: Ok(None),
|
||||||
sort_by: Ok(None),
|
sort_by: Ok(None),
|
||||||
..self.clone()
|
..self.clone()
|
||||||
|
@ -41313,7 +41064,6 @@ pub mod builder {
|
||||||
first.chain(rest)
|
first.chain(rest)
|
||||||
})
|
})
|
||||||
.try_flatten_stream()
|
.try_flatten_stream()
|
||||||
.take(limit)
|
|
||||||
.boxed()
|
.boxed()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -41706,16 +41456,7 @@ pub mod builder {
|
||||||
use futures::StreamExt;
|
use futures::StreamExt;
|
||||||
use futures::TryFutureExt;
|
use futures::TryFutureExt;
|
||||||
use futures::TryStreamExt;
|
use futures::TryStreamExt;
|
||||||
let limit = self
|
|
||||||
.limit
|
|
||||||
.clone()
|
|
||||||
.ok()
|
|
||||||
.flatten()
|
|
||||||
.and_then(|x| std::num::NonZeroUsize::try_from(x).ok())
|
|
||||||
.map(std::num::NonZeroUsize::get)
|
|
||||||
.unwrap_or(usize::MAX);
|
|
||||||
let next = Self {
|
let next = Self {
|
||||||
limit: Ok(None),
|
|
||||||
page_token: Ok(None),
|
page_token: Ok(None),
|
||||||
..self.clone()
|
..self.clone()
|
||||||
};
|
};
|
||||||
|
@ -41749,7 +41490,6 @@ pub mod builder {
|
||||||
first.chain(rest)
|
first.chain(rest)
|
||||||
})
|
})
|
||||||
.try_flatten_stream()
|
.try_flatten_stream()
|
||||||
.take(limit)
|
|
||||||
.boxed()
|
.boxed()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -42043,16 +41783,7 @@ pub mod builder {
|
||||||
use futures::StreamExt;
|
use futures::StreamExt;
|
||||||
use futures::TryFutureExt;
|
use futures::TryFutureExt;
|
||||||
use futures::TryStreamExt;
|
use futures::TryStreamExt;
|
||||||
let limit = self
|
|
||||||
.limit
|
|
||||||
.clone()
|
|
||||||
.ok()
|
|
||||||
.flatten()
|
|
||||||
.and_then(|x| std::num::NonZeroUsize::try_from(x).ok())
|
|
||||||
.map(std::num::NonZeroUsize::get)
|
|
||||||
.unwrap_or(usize::MAX);
|
|
||||||
let next = Self {
|
let next = Self {
|
||||||
limit: Ok(None),
|
|
||||||
page_token: Ok(None),
|
page_token: Ok(None),
|
||||||
..self.clone()
|
..self.clone()
|
||||||
};
|
};
|
||||||
|
@ -42086,7 +41817,6 @@ pub mod builder {
|
||||||
first.chain(rest)
|
first.chain(rest)
|
||||||
})
|
})
|
||||||
.try_flatten_stream()
|
.try_flatten_stream()
|
||||||
.take(limit)
|
|
||||||
.boxed()
|
.boxed()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -42582,16 +42312,7 @@ pub mod builder {
|
||||||
use futures::StreamExt;
|
use futures::StreamExt;
|
||||||
use futures::TryFutureExt;
|
use futures::TryFutureExt;
|
||||||
use futures::TryStreamExt;
|
use futures::TryStreamExt;
|
||||||
let limit = self
|
|
||||||
.limit
|
|
||||||
.clone()
|
|
||||||
.ok()
|
|
||||||
.flatten()
|
|
||||||
.and_then(|x| std::num::NonZeroUsize::try_from(x).ok())
|
|
||||||
.map(std::num::NonZeroUsize::get)
|
|
||||||
.unwrap_or(usize::MAX);
|
|
||||||
let next = Self {
|
let next = Self {
|
||||||
limit: Ok(None),
|
|
||||||
page_token: Ok(None),
|
page_token: Ok(None),
|
||||||
sort_by: Ok(None),
|
sort_by: Ok(None),
|
||||||
..self.clone()
|
..self.clone()
|
||||||
|
@ -42626,7 +42347,6 @@ pub mod builder {
|
||||||
first.chain(rest)
|
first.chain(rest)
|
||||||
})
|
})
|
||||||
.try_flatten_stream()
|
.try_flatten_stream()
|
||||||
.take(limit)
|
|
||||||
.boxed()
|
.boxed()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -42800,16 +42520,7 @@ pub mod builder {
|
||||||
use futures::StreamExt;
|
use futures::StreamExt;
|
||||||
use futures::TryFutureExt;
|
use futures::TryFutureExt;
|
||||||
use futures::TryStreamExt;
|
use futures::TryStreamExt;
|
||||||
let limit = self
|
|
||||||
.limit
|
|
||||||
.clone()
|
|
||||||
.ok()
|
|
||||||
.flatten()
|
|
||||||
.and_then(|x| std::num::NonZeroUsize::try_from(x).ok())
|
|
||||||
.map(std::num::NonZeroUsize::get)
|
|
||||||
.unwrap_or(usize::MAX);
|
|
||||||
let next = Self {
|
let next = Self {
|
||||||
limit: Ok(None),
|
|
||||||
page_token: Ok(None),
|
page_token: Ok(None),
|
||||||
sort_by: Ok(None),
|
sort_by: Ok(None),
|
||||||
..self.clone()
|
..self.clone()
|
||||||
|
@ -42844,7 +42555,6 @@ pub mod builder {
|
||||||
first.chain(rest)
|
first.chain(rest)
|
||||||
})
|
})
|
||||||
.try_flatten_stream()
|
.try_flatten_stream()
|
||||||
.take(limit)
|
|
||||||
.boxed()
|
.boxed()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -43168,16 +42878,7 @@ pub mod builder {
|
||||||
use futures::StreamExt;
|
use futures::StreamExt;
|
||||||
use futures::TryFutureExt;
|
use futures::TryFutureExt;
|
||||||
use futures::TryStreamExt;
|
use futures::TryStreamExt;
|
||||||
let limit = self
|
|
||||||
.limit
|
|
||||||
.clone()
|
|
||||||
.ok()
|
|
||||||
.flatten()
|
|
||||||
.and_then(|x| std::num::NonZeroUsize::try_from(x).ok())
|
|
||||||
.map(std::num::NonZeroUsize::get)
|
|
||||||
.unwrap_or(usize::MAX);
|
|
||||||
let next = Self {
|
let next = Self {
|
||||||
limit: Ok(None),
|
|
||||||
page_token: Ok(None),
|
page_token: Ok(None),
|
||||||
sort_by: Ok(None),
|
sort_by: Ok(None),
|
||||||
..self.clone()
|
..self.clone()
|
||||||
|
@ -43212,7 +42913,6 @@ pub mod builder {
|
||||||
first.chain(rest)
|
first.chain(rest)
|
||||||
})
|
})
|
||||||
.try_flatten_stream()
|
.try_flatten_stream()
|
||||||
.take(limit)
|
|
||||||
.boxed()
|
.boxed()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -43944,16 +43644,7 @@ pub mod builder {
|
||||||
use futures::StreamExt;
|
use futures::StreamExt;
|
||||||
use futures::TryFutureExt;
|
use futures::TryFutureExt;
|
||||||
use futures::TryStreamExt;
|
use futures::TryStreamExt;
|
||||||
let limit = self
|
|
||||||
.limit
|
|
||||||
.clone()
|
|
||||||
.ok()
|
|
||||||
.flatten()
|
|
||||||
.and_then(|x| std::num::NonZeroUsize::try_from(x).ok())
|
|
||||||
.map(std::num::NonZeroUsize::get)
|
|
||||||
.unwrap_or(usize::MAX);
|
|
||||||
let next = Self {
|
let next = Self {
|
||||||
limit: Ok(None),
|
|
||||||
page_token: Ok(None),
|
page_token: Ok(None),
|
||||||
sort_by: Ok(None),
|
sort_by: Ok(None),
|
||||||
..self.clone()
|
..self.clone()
|
||||||
|
@ -43988,7 +43679,6 @@ pub mod builder {
|
||||||
first.chain(rest)
|
first.chain(rest)
|
||||||
})
|
})
|
||||||
.try_flatten_stream()
|
.try_flatten_stream()
|
||||||
.take(limit)
|
|
||||||
.boxed()
|
.boxed()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -44181,16 +43871,7 @@ pub mod builder {
|
||||||
use futures::StreamExt;
|
use futures::StreamExt;
|
||||||
use futures::TryFutureExt;
|
use futures::TryFutureExt;
|
||||||
use futures::TryStreamExt;
|
use futures::TryStreamExt;
|
||||||
let limit = self
|
|
||||||
.limit
|
|
||||||
.clone()
|
|
||||||
.ok()
|
|
||||||
.flatten()
|
|
||||||
.and_then(|x| std::num::NonZeroUsize::try_from(x).ok())
|
|
||||||
.map(std::num::NonZeroUsize::get)
|
|
||||||
.unwrap_or(usize::MAX);
|
|
||||||
let next = Self {
|
let next = Self {
|
||||||
limit: Ok(None),
|
|
||||||
page_token: Ok(None),
|
page_token: Ok(None),
|
||||||
sort_by: Ok(None),
|
sort_by: Ok(None),
|
||||||
..self.clone()
|
..self.clone()
|
||||||
|
@ -44225,7 +43906,6 @@ pub mod builder {
|
||||||
first.chain(rest)
|
first.chain(rest)
|
||||||
})
|
})
|
||||||
.try_flatten_stream()
|
.try_flatten_stream()
|
||||||
.take(limit)
|
|
||||||
.boxed()
|
.boxed()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -44382,16 +44062,7 @@ pub mod builder {
|
||||||
use futures::StreamExt;
|
use futures::StreamExt;
|
||||||
use futures::TryFutureExt;
|
use futures::TryFutureExt;
|
||||||
use futures::TryStreamExt;
|
use futures::TryStreamExt;
|
||||||
let limit = self
|
|
||||||
.limit
|
|
||||||
.clone()
|
|
||||||
.ok()
|
|
||||||
.flatten()
|
|
||||||
.and_then(|x| std::num::NonZeroUsize::try_from(x).ok())
|
|
||||||
.map(std::num::NonZeroUsize::get)
|
|
||||||
.unwrap_or(usize::MAX);
|
|
||||||
let next = Self {
|
let next = Self {
|
||||||
limit: Ok(None),
|
|
||||||
page_token: Ok(None),
|
page_token: Ok(None),
|
||||||
..self.clone()
|
..self.clone()
|
||||||
};
|
};
|
||||||
|
@ -44425,7 +44096,6 @@ pub mod builder {
|
||||||
first.chain(rest)
|
first.chain(rest)
|
||||||
})
|
})
|
||||||
.try_flatten_stream()
|
.try_flatten_stream()
|
||||||
.take(limit)
|
|
||||||
.boxed()
|
.boxed()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -44539,16 +44209,7 @@ pub mod builder {
|
||||||
use futures::StreamExt;
|
use futures::StreamExt;
|
||||||
use futures::TryFutureExt;
|
use futures::TryFutureExt;
|
||||||
use futures::TryStreamExt;
|
use futures::TryStreamExt;
|
||||||
let limit = self
|
|
||||||
.limit
|
|
||||||
.clone()
|
|
||||||
.ok()
|
|
||||||
.flatten()
|
|
||||||
.and_then(|x| std::num::NonZeroUsize::try_from(x).ok())
|
|
||||||
.map(std::num::NonZeroUsize::get)
|
|
||||||
.unwrap_or(usize::MAX);
|
|
||||||
let next = Self {
|
let next = Self {
|
||||||
limit: Ok(None),
|
|
||||||
page_token: Ok(None),
|
page_token: Ok(None),
|
||||||
sort_by: Ok(None),
|
sort_by: Ok(None),
|
||||||
..self.clone()
|
..self.clone()
|
||||||
|
@ -44583,7 +44244,6 @@ pub mod builder {
|
||||||
first.chain(rest)
|
first.chain(rest)
|
||||||
})
|
})
|
||||||
.try_flatten_stream()
|
.try_flatten_stream()
|
||||||
.take(limit)
|
|
||||||
.boxed()
|
.boxed()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -44733,16 +44393,7 @@ pub mod builder {
|
||||||
use futures::StreamExt;
|
use futures::StreamExt;
|
||||||
use futures::TryFutureExt;
|
use futures::TryFutureExt;
|
||||||
use futures::TryStreamExt;
|
use futures::TryStreamExt;
|
||||||
let limit = self
|
|
||||||
.limit
|
|
||||||
.clone()
|
|
||||||
.ok()
|
|
||||||
.flatten()
|
|
||||||
.and_then(|x| std::num::NonZeroUsize::try_from(x).ok())
|
|
||||||
.map(std::num::NonZeroUsize::get)
|
|
||||||
.unwrap_or(usize::MAX);
|
|
||||||
let next = Self {
|
let next = Self {
|
||||||
limit: Ok(None),
|
|
||||||
organization: Ok(None),
|
organization: Ok(None),
|
||||||
page_token: Ok(None),
|
page_token: Ok(None),
|
||||||
project: Ok(None),
|
project: Ok(None),
|
||||||
|
@ -44779,7 +44430,6 @@ pub mod builder {
|
||||||
first.chain(rest)
|
first.chain(rest)
|
||||||
})
|
})
|
||||||
.try_flatten_stream()
|
.try_flatten_stream()
|
||||||
.take(limit)
|
|
||||||
.boxed()
|
.boxed()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -45238,16 +44888,7 @@ pub mod builder {
|
||||||
use futures::StreamExt;
|
use futures::StreamExt;
|
||||||
use futures::TryFutureExt;
|
use futures::TryFutureExt;
|
||||||
use futures::TryStreamExt;
|
use futures::TryStreamExt;
|
||||||
let limit = self
|
|
||||||
.limit
|
|
||||||
.clone()
|
|
||||||
.ok()
|
|
||||||
.flatten()
|
|
||||||
.and_then(|x| std::num::NonZeroUsize::try_from(x).ok())
|
|
||||||
.map(std::num::NonZeroUsize::get)
|
|
||||||
.unwrap_or(usize::MAX);
|
|
||||||
let next = Self {
|
let next = Self {
|
||||||
limit: Ok(None),
|
|
||||||
organization: Ok(None),
|
organization: Ok(None),
|
||||||
page_token: Ok(None),
|
page_token: Ok(None),
|
||||||
project: Ok(None),
|
project: Ok(None),
|
||||||
|
@ -45284,7 +44925,6 @@ pub mod builder {
|
||||||
first.chain(rest)
|
first.chain(rest)
|
||||||
})
|
})
|
||||||
.try_flatten_stream()
|
.try_flatten_stream()
|
||||||
.take(limit)
|
|
||||||
.boxed()
|
.boxed()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -45761,16 +45401,7 @@ pub mod builder {
|
||||||
use futures::StreamExt;
|
use futures::StreamExt;
|
||||||
use futures::TryFutureExt;
|
use futures::TryFutureExt;
|
||||||
use futures::TryStreamExt;
|
use futures::TryStreamExt;
|
||||||
let limit = self
|
|
||||||
.limit
|
|
||||||
.clone()
|
|
||||||
.ok()
|
|
||||||
.flatten()
|
|
||||||
.and_then(|x| std::num::NonZeroUsize::try_from(x).ok())
|
|
||||||
.map(std::num::NonZeroUsize::get)
|
|
||||||
.unwrap_or(usize::MAX);
|
|
||||||
let next = Self {
|
let next = Self {
|
||||||
limit: Ok(None),
|
|
||||||
organization: Ok(None),
|
organization: Ok(None),
|
||||||
page_token: Ok(None),
|
page_token: Ok(None),
|
||||||
project: Ok(None),
|
project: Ok(None),
|
||||||
|
@ -45807,7 +45438,6 @@ pub mod builder {
|
||||||
first.chain(rest)
|
first.chain(rest)
|
||||||
})
|
})
|
||||||
.try_flatten_stream()
|
.try_flatten_stream()
|
||||||
.take(limit)
|
|
||||||
.boxed()
|
.boxed()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -46870,16 +46500,7 @@ pub mod builder {
|
||||||
use futures::StreamExt;
|
use futures::StreamExt;
|
||||||
use futures::TryFutureExt;
|
use futures::TryFutureExt;
|
||||||
use futures::TryStreamExt;
|
use futures::TryStreamExt;
|
||||||
let limit = self
|
|
||||||
.limit
|
|
||||||
.clone()
|
|
||||||
.ok()
|
|
||||||
.flatten()
|
|
||||||
.and_then(|x| std::num::NonZeroUsize::try_from(x).ok())
|
|
||||||
.map(std::num::NonZeroUsize::get)
|
|
||||||
.unwrap_or(usize::MAX);
|
|
||||||
let next = Self {
|
let next = Self {
|
||||||
limit: Ok(None),
|
|
||||||
page_token: Ok(None),
|
page_token: Ok(None),
|
||||||
sort_by: Ok(None),
|
sort_by: Ok(None),
|
||||||
..self.clone()
|
..self.clone()
|
||||||
|
@ -46914,7 +46535,6 @@ pub mod builder {
|
||||||
first.chain(rest)
|
first.chain(rest)
|
||||||
})
|
})
|
||||||
.try_flatten_stream()
|
.try_flatten_stream()
|
||||||
.take(limit)
|
|
||||||
.boxed()
|
.boxed()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -47496,16 +47116,7 @@ pub mod builder {
|
||||||
use futures::StreamExt;
|
use futures::StreamExt;
|
||||||
use futures::TryFutureExt;
|
use futures::TryFutureExt;
|
||||||
use futures::TryStreamExt;
|
use futures::TryStreamExt;
|
||||||
let limit = self
|
|
||||||
.limit
|
|
||||||
.clone()
|
|
||||||
.ok()
|
|
||||||
.flatten()
|
|
||||||
.and_then(|x| std::num::NonZeroUsize::try_from(x).ok())
|
|
||||||
.map(std::num::NonZeroUsize::get)
|
|
||||||
.unwrap_or(usize::MAX);
|
|
||||||
let next = Self {
|
let next = Self {
|
||||||
limit: Ok(None),
|
|
||||||
organization: Ok(None),
|
organization: Ok(None),
|
||||||
page_token: Ok(None),
|
page_token: Ok(None),
|
||||||
sort_by: Ok(None),
|
sort_by: Ok(None),
|
||||||
|
@ -47541,7 +47152,6 @@ pub mod builder {
|
||||||
first.chain(rest)
|
first.chain(rest)
|
||||||
})
|
})
|
||||||
.try_flatten_stream()
|
.try_flatten_stream()
|
||||||
.take(limit)
|
|
||||||
.boxed()
|
.boxed()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -48221,16 +47831,7 @@ pub mod builder {
|
||||||
use futures::StreamExt;
|
use futures::StreamExt;
|
||||||
use futures::TryFutureExt;
|
use futures::TryFutureExt;
|
||||||
use futures::TryStreamExt;
|
use futures::TryStreamExt;
|
||||||
let limit = self
|
|
||||||
.limit
|
|
||||||
.clone()
|
|
||||||
.ok()
|
|
||||||
.flatten()
|
|
||||||
.and_then(|x| std::num::NonZeroUsize::try_from(x).ok())
|
|
||||||
.map(std::num::NonZeroUsize::get)
|
|
||||||
.unwrap_or(usize::MAX);
|
|
||||||
let next = Self {
|
let next = Self {
|
||||||
limit: Ok(None),
|
|
||||||
page_token: Ok(None),
|
page_token: Ok(None),
|
||||||
sort_by: Ok(None),
|
sort_by: Ok(None),
|
||||||
..self.clone()
|
..self.clone()
|
||||||
|
@ -48265,7 +47866,6 @@ pub mod builder {
|
||||||
first.chain(rest)
|
first.chain(rest)
|
||||||
})
|
})
|
||||||
.try_flatten_stream()
|
.try_flatten_stream()
|
||||||
.take(limit)
|
|
||||||
.boxed()
|
.boxed()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -48380,16 +47980,7 @@ pub mod builder {
|
||||||
use futures::StreamExt;
|
use futures::StreamExt;
|
||||||
use futures::TryFutureExt;
|
use futures::TryFutureExt;
|
||||||
use futures::TryStreamExt;
|
use futures::TryStreamExt;
|
||||||
let limit = self
|
|
||||||
.limit
|
|
||||||
.clone()
|
|
||||||
.ok()
|
|
||||||
.flatten()
|
|
||||||
.and_then(|x| std::num::NonZeroUsize::try_from(x).ok())
|
|
||||||
.map(std::num::NonZeroUsize::get)
|
|
||||||
.unwrap_or(usize::MAX);
|
|
||||||
let next = Self {
|
let next = Self {
|
||||||
limit: Ok(None),
|
|
||||||
page_token: Ok(None),
|
page_token: Ok(None),
|
||||||
sort_by: Ok(None),
|
sort_by: Ok(None),
|
||||||
..self.clone()
|
..self.clone()
|
||||||
|
@ -48424,7 +48015,6 @@ pub mod builder {
|
||||||
first.chain(rest)
|
first.chain(rest)
|
||||||
})
|
})
|
||||||
.try_flatten_stream()
|
.try_flatten_stream()
|
||||||
.take(limit)
|
|
||||||
.boxed()
|
.boxed()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -48755,16 +48345,7 @@ pub mod builder {
|
||||||
use futures::StreamExt;
|
use futures::StreamExt;
|
||||||
use futures::TryFutureExt;
|
use futures::TryFutureExt;
|
||||||
use futures::TryStreamExt;
|
use futures::TryStreamExt;
|
||||||
let limit = self
|
|
||||||
.limit
|
|
||||||
.clone()
|
|
||||||
.ok()
|
|
||||||
.flatten()
|
|
||||||
.and_then(|x| std::num::NonZeroUsize::try_from(x).ok())
|
|
||||||
.map(std::num::NonZeroUsize::get)
|
|
||||||
.unwrap_or(usize::MAX);
|
|
||||||
let next = Self {
|
let next = Self {
|
||||||
limit: Ok(None),
|
|
||||||
page_token: Ok(None),
|
page_token: Ok(None),
|
||||||
sort_by: Ok(None),
|
sort_by: Ok(None),
|
||||||
..self.clone()
|
..self.clone()
|
||||||
|
@ -48799,7 +48380,6 @@ pub mod builder {
|
||||||
first.chain(rest)
|
first.chain(rest)
|
||||||
})
|
})
|
||||||
.try_flatten_stream()
|
.try_flatten_stream()
|
||||||
.take(limit)
|
|
||||||
.boxed()
|
.boxed()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
File diff suppressed because it is too large
Load Diff
|
@ -0,0 +1,494 @@
|
||||||
|
#[allow(unused_imports)]
|
||||||
|
use progenitor_client::{encode_path, RequestBuilderExt};
|
||||||
|
#[allow(unused_imports)]
|
||||||
|
pub use progenitor_client::{ByteStream, Error, ResponseValue};
|
||||||
|
#[allow(unused_imports)]
|
||||||
|
use reqwest::header::{HeaderMap, HeaderValue};
|
||||||
|
/// Types used as operation parameters and responses.
|
||||||
|
#[allow(clippy::all)]
|
||||||
|
pub mod types {
|
||||||
|
use serde::{Deserialize, Serialize};
|
||||||
|
#[allow(unused_imports)]
|
||||||
|
use std::convert::TryFrom;
|
||||||
|
/// Error types.
|
||||||
|
pub mod error {
|
||||||
|
/// Error from a TryFrom or FromStr implementation.
|
||||||
|
pub struct ConversionError(std::borrow::Cow<'static, str>);
|
||||||
|
impl std::error::Error for ConversionError {}
|
||||||
|
impl std::fmt::Display for ConversionError {
|
||||||
|
fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> Result<(), std::fmt::Error> {
|
||||||
|
std::fmt::Display::fmt(&self.0, f)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
impl std::fmt::Debug for ConversionError {
|
||||||
|
fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> Result<(), std::fmt::Error> {
|
||||||
|
std::fmt::Debug::fmt(&self.0, f)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
impl From<&'static str> for ConversionError {
|
||||||
|
fn from(value: &'static str) -> Self {
|
||||||
|
Self(value.into())
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
impl From<String> for ConversionError {
|
||||||
|
fn from(value: String) -> Self {
|
||||||
|
Self(value.into())
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
///Error information from a response.
|
||||||
|
///
|
||||||
|
/// <details><summary>JSON schema</summary>
|
||||||
|
///
|
||||||
|
/// ```json
|
||||||
|
///{
|
||||||
|
/// "description": "Error information from a response.",
|
||||||
|
/// "type": "object",
|
||||||
|
/// "required": [
|
||||||
|
/// "message",
|
||||||
|
/// "request_id"
|
||||||
|
/// ],
|
||||||
|
/// "properties": {
|
||||||
|
/// "error_code": {
|
||||||
|
/// "type": "string"
|
||||||
|
/// },
|
||||||
|
/// "message": {
|
||||||
|
/// "type": "string"
|
||||||
|
/// },
|
||||||
|
/// "request_id": {
|
||||||
|
/// "type": "string"
|
||||||
|
/// }
|
||||||
|
/// }
|
||||||
|
///}
|
||||||
|
/// ```
|
||||||
|
/// </details>
|
||||||
|
#[derive(Clone, Debug, Deserialize, Serialize)]
|
||||||
|
pub struct Error {
|
||||||
|
#[serde(default, skip_serializing_if = "Option::is_none")]
|
||||||
|
pub error_code: Option<String>,
|
||||||
|
pub message: String,
|
||||||
|
pub request_id: String,
|
||||||
|
}
|
||||||
|
|
||||||
|
impl From<&Error> for Error {
|
||||||
|
fn from(value: &Error) -> Self {
|
||||||
|
value.clone()
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
impl Error {
|
||||||
|
pub fn builder() -> builder::Error {
|
||||||
|
Default::default()
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
///A single page of results
|
||||||
|
///
|
||||||
|
/// <details><summary>JSON schema</summary>
|
||||||
|
///
|
||||||
|
/// ```json
|
||||||
|
///{
|
||||||
|
/// "description": "A single page of results",
|
||||||
|
/// "type": "object",
|
||||||
|
/// "required": [
|
||||||
|
/// "items"
|
||||||
|
/// ],
|
||||||
|
/// "properties": {
|
||||||
|
/// "items": {
|
||||||
|
/// "description": "list of items on this page of results",
|
||||||
|
/// "type": "array",
|
||||||
|
/// "items": {
|
||||||
|
/// "type": "integer",
|
||||||
|
/// "format": "uint32",
|
||||||
|
/// "minimum": 0.0
|
||||||
|
/// }
|
||||||
|
/// },
|
||||||
|
/// "next_page": {
|
||||||
|
/// "description": "token used to fetch the next page of results (if
|
||||||
|
/// any)",
|
||||||
|
/// "type": [
|
||||||
|
/// "string",
|
||||||
|
/// "null"
|
||||||
|
/// ]
|
||||||
|
/// }
|
||||||
|
/// }
|
||||||
|
///}
|
||||||
|
/// ```
|
||||||
|
/// </details>
|
||||||
|
#[derive(Clone, Debug, Deserialize, Serialize)]
|
||||||
|
pub struct Uint32ResultsPage {
|
||||||
|
///list of items on this page of results
|
||||||
|
pub items: Vec<u32>,
|
||||||
|
///token used to fetch the next page of results (if any)
|
||||||
|
#[serde(default, skip_serializing_if = "Option::is_none")]
|
||||||
|
pub next_page: Option<String>,
|
||||||
|
}
|
||||||
|
|
||||||
|
impl From<&Uint32ResultsPage> for Uint32ResultsPage {
|
||||||
|
fn from(value: &Uint32ResultsPage) -> Self {
|
||||||
|
value.clone()
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
impl Uint32ResultsPage {
|
||||||
|
pub fn builder() -> builder::Uint32ResultsPage {
|
||||||
|
Default::default()
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// Types for composing complex structures.
|
||||||
|
pub mod builder {
|
||||||
|
#[derive(Clone, Debug)]
|
||||||
|
pub struct Error {
|
||||||
|
error_code: Result<Option<String>, String>,
|
||||||
|
message: Result<String, String>,
|
||||||
|
request_id: Result<String, String>,
|
||||||
|
}
|
||||||
|
|
||||||
|
impl Default for Error {
|
||||||
|
fn default() -> Self {
|
||||||
|
Self {
|
||||||
|
error_code: Ok(Default::default()),
|
||||||
|
message: Err("no value supplied for message".to_string()),
|
||||||
|
request_id: Err("no value supplied for request_id".to_string()),
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
impl Error {
|
||||||
|
pub fn error_code<T>(mut self, value: T) -> Self
|
||||||
|
where
|
||||||
|
T: std::convert::TryInto<Option<String>>,
|
||||||
|
T::Error: std::fmt::Display,
|
||||||
|
{
|
||||||
|
self.error_code = value
|
||||||
|
.try_into()
|
||||||
|
.map_err(|e| format!("error converting supplied value for error_code: {}", e));
|
||||||
|
self
|
||||||
|
}
|
||||||
|
pub fn message<T>(mut self, value: T) -> Self
|
||||||
|
where
|
||||||
|
T: std::convert::TryInto<String>,
|
||||||
|
T::Error: std::fmt::Display,
|
||||||
|
{
|
||||||
|
self.message = value
|
||||||
|
.try_into()
|
||||||
|
.map_err(|e| format!("error converting supplied value for message: {}", e));
|
||||||
|
self
|
||||||
|
}
|
||||||
|
pub fn request_id<T>(mut self, value: T) -> Self
|
||||||
|
where
|
||||||
|
T: std::convert::TryInto<String>,
|
||||||
|
T::Error: std::fmt::Display,
|
||||||
|
{
|
||||||
|
self.request_id = value
|
||||||
|
.try_into()
|
||||||
|
.map_err(|e| format!("error converting supplied value for request_id: {}", e));
|
||||||
|
self
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
impl std::convert::TryFrom<Error> for super::Error {
|
||||||
|
type Error = super::error::ConversionError;
|
||||||
|
fn try_from(value: Error) -> Result<Self, super::error::ConversionError> {
|
||||||
|
Ok(Self {
|
||||||
|
error_code: value.error_code?,
|
||||||
|
message: value.message?,
|
||||||
|
request_id: value.request_id?,
|
||||||
|
})
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
impl From<super::Error> for Error {
|
||||||
|
fn from(value: super::Error) -> Self {
|
||||||
|
Self {
|
||||||
|
error_code: Ok(value.error_code),
|
||||||
|
message: Ok(value.message),
|
||||||
|
request_id: Ok(value.request_id),
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
#[derive(Clone, Debug)]
|
||||||
|
pub struct Uint32ResultsPage {
|
||||||
|
items: Result<Vec<u32>, String>,
|
||||||
|
next_page: Result<Option<String>, String>,
|
||||||
|
}
|
||||||
|
|
||||||
|
impl Default for Uint32ResultsPage {
|
||||||
|
fn default() -> Self {
|
||||||
|
Self {
|
||||||
|
items: Err("no value supplied for items".to_string()),
|
||||||
|
next_page: Ok(Default::default()),
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
impl Uint32ResultsPage {
|
||||||
|
pub fn items<T>(mut self, value: T) -> Self
|
||||||
|
where
|
||||||
|
T: std::convert::TryInto<Vec<u32>>,
|
||||||
|
T::Error: std::fmt::Display,
|
||||||
|
{
|
||||||
|
self.items = value
|
||||||
|
.try_into()
|
||||||
|
.map_err(|e| format!("error converting supplied value for items: {}", e));
|
||||||
|
self
|
||||||
|
}
|
||||||
|
pub fn next_page<T>(mut self, value: T) -> Self
|
||||||
|
where
|
||||||
|
T: std::convert::TryInto<Option<String>>,
|
||||||
|
T::Error: std::fmt::Display,
|
||||||
|
{
|
||||||
|
self.next_page = value
|
||||||
|
.try_into()
|
||||||
|
.map_err(|e| format!("error converting supplied value for next_page: {}", e));
|
||||||
|
self
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
impl std::convert::TryFrom<Uint32ResultsPage> for super::Uint32ResultsPage {
|
||||||
|
type Error = super::error::ConversionError;
|
||||||
|
fn try_from(value: Uint32ResultsPage) -> Result<Self, super::error::ConversionError> {
|
||||||
|
Ok(Self {
|
||||||
|
items: value.items?,
|
||||||
|
next_page: value.next_page?,
|
||||||
|
})
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
impl From<super::Uint32ResultsPage> for Uint32ResultsPage {
|
||||||
|
fn from(value: super::Uint32ResultsPage) -> Self {
|
||||||
|
Self {
|
||||||
|
items: Ok(value.items),
|
||||||
|
next_page: Ok(value.next_page),
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
#[derive(Clone, Debug)]
|
||||||
|
///Client for test_stream_pagination
|
||||||
|
///
|
||||||
|
///Version: 1
|
||||||
|
pub struct Client {
|
||||||
|
pub(crate) baseurl: String,
|
||||||
|
pub(crate) client: reqwest::Client,
|
||||||
|
}
|
||||||
|
|
||||||
|
impl Client {
|
||||||
|
/// Create a new client.
|
||||||
|
///
|
||||||
|
/// `baseurl` is the base URL provided to the internal
|
||||||
|
/// `reqwest::Client`, and should include a scheme and hostname,
|
||||||
|
/// as well as port and a path stem if applicable.
|
||||||
|
pub fn new(baseurl: &str) -> Self {
|
||||||
|
#[cfg(not(target_arch = "wasm32"))]
|
||||||
|
let client = {
|
||||||
|
let dur = std::time::Duration::from_secs(15);
|
||||||
|
reqwest::ClientBuilder::new()
|
||||||
|
.connect_timeout(dur)
|
||||||
|
.timeout(dur)
|
||||||
|
};
|
||||||
|
#[cfg(target_arch = "wasm32")]
|
||||||
|
let client = reqwest::ClientBuilder::new();
|
||||||
|
Self::new_with_client(baseurl, client.build().unwrap())
|
||||||
|
}
|
||||||
|
|
||||||
|
/// Construct a new client with an existing `reqwest::Client`,
|
||||||
|
/// allowing more control over its configuration.
|
||||||
|
///
|
||||||
|
/// `baseurl` is the base URL provided to the internal
|
||||||
|
/// `reqwest::Client`, and should include a scheme and hostname,
|
||||||
|
/// as well as port and a path stem if applicable.
|
||||||
|
pub fn new_with_client(baseurl: &str, client: reqwest::Client) -> Self {
|
||||||
|
Self {
|
||||||
|
baseurl: baseurl.to_string(),
|
||||||
|
client,
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// Get the base URL to which requests are made.
|
||||||
|
pub fn baseurl(&self) -> &String {
|
||||||
|
&self.baseurl
|
||||||
|
}
|
||||||
|
|
||||||
|
/// Get the internal `reqwest::Client` used to make requests.
|
||||||
|
pub fn client(&self) -> &reqwest::Client {
|
||||||
|
&self.client
|
||||||
|
}
|
||||||
|
|
||||||
|
/// Get the version of this API.
|
||||||
|
///
|
||||||
|
/// This string is pulled directly from the source OpenAPI
|
||||||
|
/// document and may be in any format the API selects.
|
||||||
|
pub fn api_version(&self) -> &'static str {
|
||||||
|
"1"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
impl Client {
|
||||||
|
///Sends a `GET` request to `/`
|
||||||
|
///
|
||||||
|
///Arguments:
|
||||||
|
/// - `limit`: Maximum number of items returned by a single call
|
||||||
|
/// - `page_token`: Token returned by previous call to retrieve the
|
||||||
|
/// subsequent page
|
||||||
|
///```ignore
|
||||||
|
/// let response = client.paginated_u32s()
|
||||||
|
/// .limit(limit)
|
||||||
|
/// .page_token(page_token)
|
||||||
|
/// .send()
|
||||||
|
/// .await;
|
||||||
|
/// ```
|
||||||
|
pub fn paginated_u32s(&self) -> builder::PaginatedU32s {
|
||||||
|
builder::PaginatedU32s::new(self)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// Types for composing operation parameters.
|
||||||
|
#[allow(clippy::all)]
|
||||||
|
pub mod builder {
|
||||||
|
use super::types;
|
||||||
|
#[allow(unused_imports)]
|
||||||
|
use super::{
|
||||||
|
encode_path, ByteStream, Error, HeaderMap, HeaderValue, RequestBuilderExt, ResponseValue,
|
||||||
|
};
|
||||||
|
///Builder for [`Client::paginated_u32s`]
|
||||||
|
///
|
||||||
|
///[`Client::paginated_u32s`]: super::Client::paginated_u32s
|
||||||
|
#[derive(Debug, Clone)]
|
||||||
|
pub struct PaginatedU32s<'a> {
|
||||||
|
client: &'a super::Client,
|
||||||
|
limit: Result<Option<std::num::NonZeroU32>, String>,
|
||||||
|
page_token: Result<Option<String>, String>,
|
||||||
|
}
|
||||||
|
|
||||||
|
impl<'a> PaginatedU32s<'a> {
|
||||||
|
pub fn new(client: &'a super::Client) -> Self {
|
||||||
|
Self {
|
||||||
|
client: client,
|
||||||
|
limit: Ok(None),
|
||||||
|
page_token: Ok(None),
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
pub fn limit<V>(mut self, value: V) -> Self
|
||||||
|
where
|
||||||
|
V: std::convert::TryInto<std::num::NonZeroU32>,
|
||||||
|
{
|
||||||
|
self.limit = value.try_into().map(Some).map_err(|_| {
|
||||||
|
"conversion to `std :: num :: NonZeroU32` for limit failed".to_string()
|
||||||
|
});
|
||||||
|
self
|
||||||
|
}
|
||||||
|
|
||||||
|
pub fn page_token<V>(mut self, value: V) -> Self
|
||||||
|
where
|
||||||
|
V: std::convert::TryInto<String>,
|
||||||
|
{
|
||||||
|
self.page_token = value
|
||||||
|
.try_into()
|
||||||
|
.map(Some)
|
||||||
|
.map_err(|_| "conversion to `String` for page_token failed".to_string());
|
||||||
|
self
|
||||||
|
}
|
||||||
|
|
||||||
|
///Sends a `GET` request to `/`
|
||||||
|
pub async fn send(
|
||||||
|
self,
|
||||||
|
) -> Result<ResponseValue<types::Uint32ResultsPage>, Error<types::Error>> {
|
||||||
|
let Self {
|
||||||
|
client,
|
||||||
|
limit,
|
||||||
|
page_token,
|
||||||
|
} = self;
|
||||||
|
let limit = limit.map_err(Error::InvalidRequest)?;
|
||||||
|
let page_token = page_token.map_err(Error::InvalidRequest)?;
|
||||||
|
let url = format!("{}/", client.baseurl,);
|
||||||
|
let mut query = Vec::with_capacity(2usize);
|
||||||
|
if let Some(v) = &limit {
|
||||||
|
query.push(("limit", v.to_string()));
|
||||||
|
}
|
||||||
|
if let Some(v) = &page_token {
|
||||||
|
query.push(("page_token", v.to_string()));
|
||||||
|
}
|
||||||
|
#[allow(unused_mut)]
|
||||||
|
let mut request = client
|
||||||
|
.client
|
||||||
|
.get(url)
|
||||||
|
.header(
|
||||||
|
reqwest::header::ACCEPT,
|
||||||
|
reqwest::header::HeaderValue::from_static("application/json"),
|
||||||
|
)
|
||||||
|
.query(&query)
|
||||||
|
.build()?;
|
||||||
|
let result = client.client.execute(request).await;
|
||||||
|
let response = result?;
|
||||||
|
match response.status().as_u16() {
|
||||||
|
200u16 => ResponseValue::from_response(response).await,
|
||||||
|
400u16..=499u16 => Err(Error::ErrorResponse(
|
||||||
|
ResponseValue::from_response(response).await?,
|
||||||
|
)),
|
||||||
|
500u16..=599u16 => Err(Error::ErrorResponse(
|
||||||
|
ResponseValue::from_response(response).await?,
|
||||||
|
)),
|
||||||
|
_ => Err(Error::UnexpectedResponse(response)),
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
///Streams `GET` requests to `/`
|
||||||
|
pub fn stream(
|
||||||
|
self,
|
||||||
|
) -> impl futures::Stream<Item = Result<u32, Error<types::Error>>> + Unpin + 'a {
|
||||||
|
use futures::StreamExt;
|
||||||
|
use futures::TryFutureExt;
|
||||||
|
use futures::TryStreamExt;
|
||||||
|
let next = Self {
|
||||||
|
page_token: Ok(None),
|
||||||
|
..self.clone()
|
||||||
|
};
|
||||||
|
self.send()
|
||||||
|
.map_ok(move |page| {
|
||||||
|
let page = page.into_inner();
|
||||||
|
let first = futures::stream::iter(page.items).map(Ok);
|
||||||
|
let rest = futures::stream::try_unfold(
|
||||||
|
(page.next_page, next),
|
||||||
|
|(next_page, next)| async {
|
||||||
|
if next_page.is_none() {
|
||||||
|
Ok(None)
|
||||||
|
} else {
|
||||||
|
Self {
|
||||||
|
page_token: Ok(next_page),
|
||||||
|
..next.clone()
|
||||||
|
}
|
||||||
|
.send()
|
||||||
|
.map_ok(|page| {
|
||||||
|
let page = page.into_inner();
|
||||||
|
Some((
|
||||||
|
futures::stream::iter(page.items).map(Ok),
|
||||||
|
(page.next_page, next),
|
||||||
|
))
|
||||||
|
})
|
||||||
|
.await
|
||||||
|
}
|
||||||
|
},
|
||||||
|
)
|
||||||
|
.try_flatten();
|
||||||
|
first.chain(rest)
|
||||||
|
})
|
||||||
|
.try_flatten_stream()
|
||||||
|
.boxed()
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// Items consumers will typically use such as the Client.
|
||||||
|
pub mod prelude {
|
||||||
|
pub use self::super::Client;
|
||||||
|
}
|
|
@ -0,0 +1,278 @@
|
||||||
|
#[allow(unused_imports)]
|
||||||
|
use progenitor_client::{encode_path, RequestBuilderExt};
|
||||||
|
#[allow(unused_imports)]
|
||||||
|
pub use progenitor_client::{ByteStream, Error, ResponseValue};
|
||||||
|
#[allow(unused_imports)]
|
||||||
|
use reqwest::header::{HeaderMap, HeaderValue};
|
||||||
|
/// Types used as operation parameters and responses.
|
||||||
|
#[allow(clippy::all)]
|
||||||
|
pub mod types {
|
||||||
|
use serde::{Deserialize, Serialize};
|
||||||
|
#[allow(unused_imports)]
|
||||||
|
use std::convert::TryFrom;
|
||||||
|
/// Error types.
|
||||||
|
pub mod error {
|
||||||
|
/// Error from a TryFrom or FromStr implementation.
|
||||||
|
pub struct ConversionError(std::borrow::Cow<'static, str>);
|
||||||
|
impl std::error::Error for ConversionError {}
|
||||||
|
impl std::fmt::Display for ConversionError {
|
||||||
|
fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> Result<(), std::fmt::Error> {
|
||||||
|
std::fmt::Display::fmt(&self.0, f)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
impl std::fmt::Debug for ConversionError {
|
||||||
|
fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> Result<(), std::fmt::Error> {
|
||||||
|
std::fmt::Debug::fmt(&self.0, f)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
impl From<&'static str> for ConversionError {
|
||||||
|
fn from(value: &'static str) -> Self {
|
||||||
|
Self(value.into())
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
impl From<String> for ConversionError {
|
||||||
|
fn from(value: String) -> Self {
|
||||||
|
Self(value.into())
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
///Error information from a response.
|
||||||
|
///
|
||||||
|
/// <details><summary>JSON schema</summary>
|
||||||
|
///
|
||||||
|
/// ```json
|
||||||
|
///{
|
||||||
|
/// "description": "Error information from a response.",
|
||||||
|
/// "type": "object",
|
||||||
|
/// "required": [
|
||||||
|
/// "message",
|
||||||
|
/// "request_id"
|
||||||
|
/// ],
|
||||||
|
/// "properties": {
|
||||||
|
/// "error_code": {
|
||||||
|
/// "type": "string"
|
||||||
|
/// },
|
||||||
|
/// "message": {
|
||||||
|
/// "type": "string"
|
||||||
|
/// },
|
||||||
|
/// "request_id": {
|
||||||
|
/// "type": "string"
|
||||||
|
/// }
|
||||||
|
/// }
|
||||||
|
///}
|
||||||
|
/// ```
|
||||||
|
/// </details>
|
||||||
|
#[derive(Clone, Debug, Deserialize, Serialize)]
|
||||||
|
pub struct Error {
|
||||||
|
#[serde(default, skip_serializing_if = "Option::is_none")]
|
||||||
|
pub error_code: Option<String>,
|
||||||
|
pub message: String,
|
||||||
|
pub request_id: String,
|
||||||
|
}
|
||||||
|
|
||||||
|
impl From<&Error> for Error {
|
||||||
|
fn from(value: &Error) -> Self {
|
||||||
|
value.clone()
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
///A single page of results
|
||||||
|
///
|
||||||
|
/// <details><summary>JSON schema</summary>
|
||||||
|
///
|
||||||
|
/// ```json
|
||||||
|
///{
|
||||||
|
/// "description": "A single page of results",
|
||||||
|
/// "type": "object",
|
||||||
|
/// "required": [
|
||||||
|
/// "items"
|
||||||
|
/// ],
|
||||||
|
/// "properties": {
|
||||||
|
/// "items": {
|
||||||
|
/// "description": "list of items on this page of results",
|
||||||
|
/// "type": "array",
|
||||||
|
/// "items": {
|
||||||
|
/// "type": "integer",
|
||||||
|
/// "format": "uint32",
|
||||||
|
/// "minimum": 0.0
|
||||||
|
/// }
|
||||||
|
/// },
|
||||||
|
/// "next_page": {
|
||||||
|
/// "description": "token used to fetch the next page of results (if
|
||||||
|
/// any)",
|
||||||
|
/// "type": [
|
||||||
|
/// "string",
|
||||||
|
/// "null"
|
||||||
|
/// ]
|
||||||
|
/// }
|
||||||
|
/// }
|
||||||
|
///}
|
||||||
|
/// ```
|
||||||
|
/// </details>
|
||||||
|
#[derive(Clone, Debug, Deserialize, Serialize)]
|
||||||
|
pub struct Uint32ResultsPage {
|
||||||
|
///list of items on this page of results
|
||||||
|
pub items: Vec<u32>,
|
||||||
|
///token used to fetch the next page of results (if any)
|
||||||
|
#[serde(default, skip_serializing_if = "Option::is_none")]
|
||||||
|
pub next_page: Option<String>,
|
||||||
|
}
|
||||||
|
|
||||||
|
impl From<&Uint32ResultsPage> for Uint32ResultsPage {
|
||||||
|
fn from(value: &Uint32ResultsPage) -> Self {
|
||||||
|
value.clone()
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
#[derive(Clone, Debug)]
|
||||||
|
///Client for test_stream_pagination
|
||||||
|
///
|
||||||
|
///Version: 1
|
||||||
|
pub struct Client {
|
||||||
|
pub(crate) baseurl: String,
|
||||||
|
pub(crate) client: reqwest::Client,
|
||||||
|
}
|
||||||
|
|
||||||
|
impl Client {
|
||||||
|
/// Create a new client.
|
||||||
|
///
|
||||||
|
/// `baseurl` is the base URL provided to the internal
|
||||||
|
/// `reqwest::Client`, and should include a scheme and hostname,
|
||||||
|
/// as well as port and a path stem if applicable.
|
||||||
|
pub fn new(baseurl: &str) -> Self {
|
||||||
|
#[cfg(not(target_arch = "wasm32"))]
|
||||||
|
let client = {
|
||||||
|
let dur = std::time::Duration::from_secs(15);
|
||||||
|
reqwest::ClientBuilder::new()
|
||||||
|
.connect_timeout(dur)
|
||||||
|
.timeout(dur)
|
||||||
|
};
|
||||||
|
#[cfg(target_arch = "wasm32")]
|
||||||
|
let client = reqwest::ClientBuilder::new();
|
||||||
|
Self::new_with_client(baseurl, client.build().unwrap())
|
||||||
|
}
|
||||||
|
|
||||||
|
/// Construct a new client with an existing `reqwest::Client`,
|
||||||
|
/// allowing more control over its configuration.
|
||||||
|
///
|
||||||
|
/// `baseurl` is the base URL provided to the internal
|
||||||
|
/// `reqwest::Client`, and should include a scheme and hostname,
|
||||||
|
/// as well as port and a path stem if applicable.
|
||||||
|
pub fn new_with_client(baseurl: &str, client: reqwest::Client) -> Self {
|
||||||
|
Self {
|
||||||
|
baseurl: baseurl.to_string(),
|
||||||
|
client,
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// Get the base URL to which requests are made.
|
||||||
|
pub fn baseurl(&self) -> &String {
|
||||||
|
&self.baseurl
|
||||||
|
}
|
||||||
|
|
||||||
|
/// Get the internal `reqwest::Client` used to make requests.
|
||||||
|
pub fn client(&self) -> &reqwest::Client {
|
||||||
|
&self.client
|
||||||
|
}
|
||||||
|
|
||||||
|
/// Get the version of this API.
|
||||||
|
///
|
||||||
|
/// This string is pulled directly from the source OpenAPI
|
||||||
|
/// document and may be in any format the API selects.
|
||||||
|
pub fn api_version(&self) -> &'static str {
|
||||||
|
"1"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
#[allow(clippy::all)]
|
||||||
|
impl Client {
|
||||||
|
///Sends a `GET` request to `/`
|
||||||
|
///
|
||||||
|
///Arguments:
|
||||||
|
/// - `limit`: Maximum number of items returned by a single call
|
||||||
|
/// - `page_token`: Token returned by previous call to retrieve the
|
||||||
|
/// subsequent page
|
||||||
|
pub async fn paginated_u32s<'a>(
|
||||||
|
&'a self,
|
||||||
|
limit: Option<std::num::NonZeroU32>,
|
||||||
|
page_token: Option<&'a str>,
|
||||||
|
) -> Result<ResponseValue<types::Uint32ResultsPage>, Error<types::Error>> {
|
||||||
|
let url = format!("{}/", self.baseurl,);
|
||||||
|
let mut query = Vec::with_capacity(2usize);
|
||||||
|
if let Some(v) = &limit {
|
||||||
|
query.push(("limit", v.to_string()));
|
||||||
|
}
|
||||||
|
|
||||||
|
if let Some(v) = &page_token {
|
||||||
|
query.push(("page_token", v.to_string()));
|
||||||
|
}
|
||||||
|
|
||||||
|
#[allow(unused_mut)]
|
||||||
|
let mut request = self
|
||||||
|
.client
|
||||||
|
.get(url)
|
||||||
|
.header(
|
||||||
|
reqwest::header::ACCEPT,
|
||||||
|
reqwest::header::HeaderValue::from_static("application/json"),
|
||||||
|
)
|
||||||
|
.query(&query)
|
||||||
|
.build()?;
|
||||||
|
let result = self.client.execute(request).await;
|
||||||
|
let response = result?;
|
||||||
|
match response.status().as_u16() {
|
||||||
|
200u16 => ResponseValue::from_response(response).await,
|
||||||
|
400u16..=499u16 => Err(Error::ErrorResponse(
|
||||||
|
ResponseValue::from_response(response).await?,
|
||||||
|
)),
|
||||||
|
500u16..=599u16 => Err(Error::ErrorResponse(
|
||||||
|
ResponseValue::from_response(response).await?,
|
||||||
|
)),
|
||||||
|
_ => Err(Error::UnexpectedResponse(response)),
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
///Sends repeated `GET` requests to `/` until there are no more results.
|
||||||
|
///
|
||||||
|
///Arguments:
|
||||||
|
/// - `limit`: Maximum number of items returned by a single call
|
||||||
|
pub fn paginated_u32s_stream<'a>(
|
||||||
|
&'a self,
|
||||||
|
limit: Option<std::num::NonZeroU32>,
|
||||||
|
) -> impl futures::Stream<Item = Result<u32, Error<types::Error>>> + Unpin + '_ {
|
||||||
|
use futures::StreamExt;
|
||||||
|
use futures::TryFutureExt;
|
||||||
|
use futures::TryStreamExt;
|
||||||
|
self.paginated_u32s(limit, None)
|
||||||
|
.map_ok(move |page| {
|
||||||
|
let page = page.into_inner();
|
||||||
|
let first = futures::stream::iter(page.items).map(Ok);
|
||||||
|
let rest = futures::stream::try_unfold(page.next_page, move |state| async move {
|
||||||
|
if state.is_none() {
|
||||||
|
Ok(None)
|
||||||
|
} else {
|
||||||
|
self.paginated_u32s(limit, state.as_deref())
|
||||||
|
.map_ok(|page| {
|
||||||
|
let page = page.into_inner();
|
||||||
|
Some((futures::stream::iter(page.items).map(Ok), page.next_page))
|
||||||
|
})
|
||||||
|
.await
|
||||||
|
}
|
||||||
|
})
|
||||||
|
.try_flatten();
|
||||||
|
first.chain(rest)
|
||||||
|
})
|
||||||
|
.try_flatten_stream()
|
||||||
|
.boxed()
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// Items consumers will typically use such as the Client.
|
||||||
|
pub mod prelude {
|
||||||
|
#[allow(unused_imports)]
|
||||||
|
pub use super::Client;
|
||||||
|
}
|
|
@ -1,11 +1,12 @@
|
||||||
// Copyright 2023 Oxide Computer Company
|
// Copyright 2023 Oxide Computer Company
|
||||||
|
|
||||||
use std::str::from_utf8;
|
|
||||||
|
|
||||||
use dropshot::{
|
use dropshot::{
|
||||||
endpoint, ApiDescription, HttpError, HttpResponseUpdatedNoContent, Path,
|
endpoint, ApiDescription, ConfigDropshot, ConfigLogging,
|
||||||
Query, RequestContext, TypedBody,
|
ConfigLoggingLevel, EmptyScanParams, HttpError, HttpResponseOk,
|
||||||
|
HttpResponseUpdatedNoContent, HttpServerStarter, PaginationParams, Path,
|
||||||
|
Query, RequestContext, ResultsPage, TypedBody,
|
||||||
};
|
};
|
||||||
|
use futures::StreamExt;
|
||||||
use http::Response;
|
use http::Response;
|
||||||
use hyper::Body;
|
use hyper::Body;
|
||||||
use openapiv3::OpenAPI;
|
use openapiv3::OpenAPI;
|
||||||
|
@ -14,6 +15,11 @@ use progenitor_impl::{
|
||||||
};
|
};
|
||||||
use schemars::JsonSchema;
|
use schemars::JsonSchema;
|
||||||
use serde::Deserialize;
|
use serde::Deserialize;
|
||||||
|
use std::{
|
||||||
|
net::{Ipv4Addr, SocketAddr},
|
||||||
|
str::from_utf8,
|
||||||
|
sync::{Arc, Mutex},
|
||||||
|
};
|
||||||
|
|
||||||
fn generate_formatted(generator: &mut Generator, spec: &OpenAPI) -> String {
|
fn generate_formatted(generator: &mut Generator, spec: &OpenAPI) -> String {
|
||||||
let content = generator.generate_tokens(&spec).unwrap();
|
let content = generator.generate_tokens(&spec).unwrap();
|
||||||
|
@ -182,3 +188,191 @@ fn test_default_params() {
|
||||||
&output,
|
&output,
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#[derive(Debug)]
|
||||||
|
struct PaginatedU32sContext {
|
||||||
|
all_values: std::ops::Range<u32>,
|
||||||
|
// Record of `(offset, limit)` pairs we received
|
||||||
|
page_pairs: Mutex<Vec<(usize, usize)>>,
|
||||||
|
}
|
||||||
|
|
||||||
|
#[endpoint {
|
||||||
|
method = GET,
|
||||||
|
path = "/",
|
||||||
|
}]
|
||||||
|
async fn paginated_u32s(
|
||||||
|
rqctx: RequestContext<Arc<PaginatedU32sContext>>,
|
||||||
|
query_params: Query<PaginationParams<EmptyScanParams, u32>>,
|
||||||
|
) -> Result<HttpResponseOk<ResultsPage<u32>>, HttpError> {
|
||||||
|
let ctx = rqctx.context();
|
||||||
|
let page_params = query_params.into_inner();
|
||||||
|
let limit = usize::try_from(
|
||||||
|
rqctx
|
||||||
|
.page_limit(&page_params)
|
||||||
|
.expect("invalid page limit")
|
||||||
|
.get(),
|
||||||
|
)
|
||||||
|
.expect("non-usize limit");
|
||||||
|
|
||||||
|
let offset = match page_params.page {
|
||||||
|
dropshot::WhichPage::First(EmptyScanParams {}) => 0,
|
||||||
|
dropshot::WhichPage::Next(offset) => {
|
||||||
|
usize::try_from(offset + 1).expect("non-usize offset")
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
ctx.page_pairs.lock().unwrap().push((offset, limit));
|
||||||
|
let values = ctx.all_values.clone().skip(offset).take(limit).collect();
|
||||||
|
let result =
|
||||||
|
ResultsPage::new(values, &(), |&x, &()| x).expect("bad results page");
|
||||||
|
|
||||||
|
Ok(HttpResponseOk(result))
|
||||||
|
}
|
||||||
|
|
||||||
|
#[tokio::test]
|
||||||
|
async fn test_stream_pagination() {
|
||||||
|
const TEST_NAME: &str = "test_stream_pagination";
|
||||||
|
|
||||||
|
let mut api = ApiDescription::new();
|
||||||
|
api.register(paginated_u32s).unwrap();
|
||||||
|
|
||||||
|
let mut out = Vec::new();
|
||||||
|
|
||||||
|
api.openapi(TEST_NAME, "1").write(&mut out).unwrap();
|
||||||
|
|
||||||
|
let out = from_utf8(&out).unwrap();
|
||||||
|
let spec = serde_json::from_str::<OpenAPI>(out).unwrap();
|
||||||
|
|
||||||
|
// Test both interface styles.
|
||||||
|
let mut generator = Generator::new(
|
||||||
|
GenerationSettings::new().with_interface(InterfaceStyle::Positional),
|
||||||
|
);
|
||||||
|
let output = generate_formatted(&mut generator, &spec);
|
||||||
|
expectorate::assert_contents(
|
||||||
|
format!("tests/output/src/{TEST_NAME}_positional.rs"),
|
||||||
|
&output,
|
||||||
|
);
|
||||||
|
let mut generator = Generator::new(
|
||||||
|
GenerationSettings::new().with_interface(InterfaceStyle::Builder),
|
||||||
|
);
|
||||||
|
let output = generate_formatted(&mut generator, &spec);
|
||||||
|
expectorate::assert_contents(
|
||||||
|
format!("tests/output/src/{TEST_NAME}_builder.rs"),
|
||||||
|
&output,
|
||||||
|
);
|
||||||
|
|
||||||
|
// Run the Dropshot server.
|
||||||
|
let config_dropshot = ConfigDropshot {
|
||||||
|
bind_address: SocketAddr::from((Ipv4Addr::LOCALHOST, 0)),
|
||||||
|
..Default::default()
|
||||||
|
};
|
||||||
|
let config_logging = ConfigLogging::StderrTerminal {
|
||||||
|
level: ConfigLoggingLevel::Debug,
|
||||||
|
};
|
||||||
|
let log = config_logging
|
||||||
|
.to_logger(TEST_NAME)
|
||||||
|
.expect("failed to create logger");
|
||||||
|
let server_ctx = Arc::new(PaginatedU32sContext {
|
||||||
|
all_values: 0..35,
|
||||||
|
page_pairs: Mutex::default(),
|
||||||
|
});
|
||||||
|
let server = HttpServerStarter::new(
|
||||||
|
&config_dropshot,
|
||||||
|
api,
|
||||||
|
Arc::clone(&server_ctx),
|
||||||
|
&log,
|
||||||
|
)
|
||||||
|
.expect("failed to create server")
|
||||||
|
.start();
|
||||||
|
|
||||||
|
let server_addr = format!("http://{}", server.local_addr());
|
||||||
|
|
||||||
|
// Test the positional client.
|
||||||
|
#[allow(dead_code)]
|
||||||
|
mod gen_client_positional {
|
||||||
|
// This is weird: we're now `include!`ing the file we just used to
|
||||||
|
// confirm the generated code is what we expect. If changes are made to
|
||||||
|
// progenitor that affect this generated code, keep in mind that when
|
||||||
|
// this test executes, the above check is against what we _currently_
|
||||||
|
// produce, while this `include!` is what was on disk before the test
|
||||||
|
// ran. This can be surprising if you're running the test with
|
||||||
|
// `EXPECTORATE=overwrite`, because the above check will overwrite the
|
||||||
|
// file on disk, but then the test proceeds and gets to this point,
|
||||||
|
// where it uses what was on disk _before_ expectorate overwrote it.
|
||||||
|
include!("output/src/test_stream_pagination_positional.rs");
|
||||||
|
}
|
||||||
|
|
||||||
|
let client = gen_client_positional::Client::new(&server_addr);
|
||||||
|
|
||||||
|
let page_limit = 10.try_into().unwrap();
|
||||||
|
let mut stream = client.paginated_u32s_stream(Some(page_limit));
|
||||||
|
|
||||||
|
let mut all_values = Vec::new();
|
||||||
|
while let Some(result) = stream.next().await {
|
||||||
|
match result {
|
||||||
|
Ok(value) => {
|
||||||
|
all_values.push(value);
|
||||||
|
}
|
||||||
|
Err(err) => {
|
||||||
|
panic!("unexpected error: {err}");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// Ensure we got all the results we expected.
|
||||||
|
let expected_values = (0..35).collect::<Vec<_>>();
|
||||||
|
assert_eq!(expected_values, all_values);
|
||||||
|
|
||||||
|
// Ensure the server saw the page requests we expect: we should always see a
|
||||||
|
// limit of 10, and we should see offsets increasing by 10 until we get to
|
||||||
|
// (30, 10); that will return 5 items, so we should see one final (35, 10)
|
||||||
|
// for the client to confirm there are no more results.
|
||||||
|
let expected_pages = vec![(0, 10), (10, 10), (20, 10), (30, 10), (35, 10)];
|
||||||
|
assert_eq!(expected_pages, *server_ctx.page_pairs.lock().unwrap());
|
||||||
|
|
||||||
|
// Repeat the test with the builder client.
|
||||||
|
server_ctx.page_pairs.lock().unwrap().clear();
|
||||||
|
|
||||||
|
#[allow(dead_code, unused_imports)]
|
||||||
|
mod gen_client_builder {
|
||||||
|
// This is weird: we're now `include!`ing the file we just used to
|
||||||
|
// confirm the generated code is what we expect. If changes are made to
|
||||||
|
// progenitor that affect this generated code, keep in mind that when
|
||||||
|
// this test executes, the above check is against what we _currently_
|
||||||
|
// produce, while this `include!` is what was on disk before the test
|
||||||
|
// ran. This can be surprising if you're running the test with
|
||||||
|
// `EXPECTORATE=overwrite`, because the above check will overwrite the
|
||||||
|
// file on disk, but then the test proceeds and gets to this point,
|
||||||
|
// where it uses what was on disk _before_ expectorate overwrote it.
|
||||||
|
include!("output/src/test_stream_pagination_builder.rs");
|
||||||
|
}
|
||||||
|
|
||||||
|
let client = gen_client_builder::Client::new(&server_addr);
|
||||||
|
|
||||||
|
let mut stream = client.paginated_u32s().limit(page_limit).stream();
|
||||||
|
|
||||||
|
let mut all_values = Vec::new();
|
||||||
|
while let Some(result) = stream.next().await {
|
||||||
|
match result {
|
||||||
|
Ok(value) => {
|
||||||
|
all_values.push(value);
|
||||||
|
}
|
||||||
|
Err(err) => {
|
||||||
|
panic!("unexpected error: {err}");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// Ensure we got all the results we expected.
|
||||||
|
let expected_values = (0..35).collect::<Vec<_>>();
|
||||||
|
assert_eq!(expected_values, all_values);
|
||||||
|
|
||||||
|
// Ensure the server saw the page requests we expect: we should always see a
|
||||||
|
// limit of 10, and we should see offsets increasing by 10 until we get to
|
||||||
|
// (30, 10); that will return 5 items, so we should see one final (35, 10)
|
||||||
|
// for the client to confirm there are no more results.
|
||||||
|
let expected_pages = vec![(0, 10), (10, 10), (20, 10), (30, 10), (35, 10)];
|
||||||
|
assert_eq!(expected_pages, *server_ctx.page_pairs.lock().unwrap());
|
||||||
|
|
||||||
|
server.close().await.expect("failed to close server");
|
||||||
|
}
|
||||||
|
|
Loading…
Reference in New Issue