-
- Downloads
Add support for Paginators (#1006)
* Add Support for Paginators This commit adds pagination support for both clients. It does this via the `FnStream` abstraction which combines a rendezvous-channel with a closure to produce a stream. When the stream is polled, the underlying closure is polled to advance the computation which then pushes data into the channel. Two paginators are generated: 1. `.paginate()` which produces a stream of `Result<Page, Err>` 2. `.paginate().items()` which produces a stream of `Result<Item, Err>` where items are flattened from the individual pages. This uses `TryFlatMap` to support conveniently generating a flat page iterator. In addition, docs are generated to point customers towards the paginators. * Add RFC, more tests * backout unrelated changes * Fix paginators for glacier * Fix clippy error * Add test for paginators that point to maps & fix apigateway paginator * Fix docs * remove extraeneous println * Fix DynamoDB examples * Disallow paginating operations with the idempotency token trait * Apply suggestions from code review misc typos / cleanups Co-authored-by:Zelda Hessler <zhessler@amazon.com> * CR feedback * Fix typo * Update changelog * Apply suggestions from code review Co-authored-by:
John DiSanti <jdisanti@amazon.com> * CR feedback round 1 * Rename paginate to into_paginator() * update pr bot comment Co-authored-by:
Zelda Hessler <zhessler@amazon.com> Co-authored-by:
John DiSanti <jdisanti@amazon.com>
Showing
- .github/workflows/pull-request-bot.yml 4 additions, 4 deletions.github/workflows/pull-request-bot.yml
- CHANGELOG.next.toml 12 additions, 0 deletionsCHANGELOG.next.toml
- aws/sdk-codegen/src/main/kotlin/software/amazon/smithy/rustsdk/AwsFluentClientDecorator.kt 13 additions, 22 deletions...oftware/amazon/smithy/rustsdk/AwsFluentClientDecorator.kt
- aws/sdk-codegen/src/main/kotlin/software/amazon/smithy/rustsdk/IntegrationTestDependencies.kt 1 addition, 0 deletions...ware/amazon/smithy/rustsdk/IntegrationTestDependencies.kt
- aws/sdk-codegen/src/main/kotlin/software/amazon/smithy/rustsdk/customize/auth/DisabledAuthDecorator.kt 1 addition, 1 deletion...on/smithy/rustsdk/customize/auth/DisabledAuthDecorator.kt
- aws/sdk-codegen/src/main/kotlin/software/amazon/smithy/rustsdk/customize/glacier/AccountIdAutofill.kt 1 addition, 1 deletion...zon/smithy/rustsdk/customize/glacier/AccountIdAutofill.kt
- aws/sdk/build.gradle.kts 9 additions, 7 deletionsaws/sdk/build.gradle.kts
- aws/sdk/examples/dynamodb/Cargo.toml 1 addition, 0 deletionsaws/sdk/examples/dynamodb/Cargo.toml
- aws/sdk/examples/dynamodb/src/bin/list-items.rs 10 additions, 3 deletionsaws/sdk/examples/dynamodb/src/bin/list-items.rs
- aws/sdk/examples/dynamodb/src/bin/list-tables.rs 5 additions, 7 deletionsaws/sdk/examples/dynamodb/src/bin/list-tables.rs
- aws/sdk/integration-tests/dynamodb/Cargo.toml 2 additions, 0 deletionsaws/sdk/integration-tests/dynamodb/Cargo.toml
- aws/sdk/integration-tests/dynamodb/tests/paginators.rs 171 additions, 0 deletionsaws/sdk/integration-tests/dynamodb/tests/paginators.rs
- codegen/src/main/kotlin/software/amazon/smithy/rust/codegen/rustlang/CargoDependency.kt 2 additions, 0 deletions...re/amazon/smithy/rust/codegen/rustlang/CargoDependency.kt
- codegen/src/main/kotlin/software/amazon/smithy/rust/codegen/rustlang/RustTypes.kt 5 additions, 0 deletions...software/amazon/smithy/rust/codegen/rustlang/RustTypes.kt
- codegen/src/main/kotlin/software/amazon/smithy/rust/codegen/smithy/SymbolVisitor.kt 8 additions, 0 deletions...ftware/amazon/smithy/rust/codegen/smithy/SymbolVisitor.kt
- codegen/src/main/kotlin/software/amazon/smithy/rust/codegen/smithy/customize/OperationCustomization.kt 0 additions, 3 deletions...y/rust/codegen/smithy/customize/OperationCustomization.kt
- codegen/src/main/kotlin/software/amazon/smithy/rust/codegen/smithy/generators/FluentClientDecorator.kt 43 additions, 22 deletions...y/rust/codegen/smithy/generators/FluentClientDecorator.kt
- codegen/src/main/kotlin/software/amazon/smithy/rust/codegen/smithy/generators/NestedAccessorGenerator.kt 88 additions, 0 deletions...rust/codegen/smithy/generators/NestedAccessorGenerator.kt
- codegen/src/main/kotlin/software/amazon/smithy/rust/codegen/smithy/generators/PaginatorGenerator.kt 289 additions, 0 deletions...ithy/rust/codegen/smithy/generators/PaginatorGenerator.kt
- codegen/src/main/kotlin/software/amazon/smithy/rust/codegen/smithy/generators/ServiceGenerator.kt 1 addition, 2 deletions...smithy/rust/codegen/smithy/generators/ServiceGenerator.kt
Loading
Please register or sign in to comment