diff --git a/smithy-typescript-codegen/src/main/java/software/amazon/smithy/typescript/codegen/PaginationGenerator.java b/smithy-typescript-codegen/src/main/java/software/amazon/smithy/typescript/codegen/PaginationGenerator.java index e50df865418..cdb9c9483d9 100644 --- a/smithy-typescript-codegen/src/main/java/software/amazon/smithy/typescript/codegen/PaginationGenerator.java +++ b/smithy-typescript-codegen/src/main/java/software/amazon/smithy/typescript/codegen/PaginationGenerator.java @@ -202,9 +202,9 @@ private void writePager() { }); writer.write("yield page;"); + writer.write("const prevToken = token;"); writer.write("token = page$L;", destructurePath(outputTokenName)); - - writer.write("hasNext = !!(token);"); + writer.write("hasNext = !!(token && (!config.stopOnSameToken || token !== prevToken));"); }); writer.write("// @ts-ignore");