File: /var/www/javago_test/node_modules/@smithy/core/dist-es/pagination/createPaginator.js
const makePagedClientRequest = async (CommandCtor, client, input, ...args) => {
return await client.send(new CommandCtor(input), ...args);
};
export function createPaginator(ClientCtor, CommandCtor, inputTokenName, outputTokenName, pageSizeTokenName) {
return async function* paginateOperation(config, input, ...additionalArguments) {
let token = config.startingToken || undefined;
let hasNext = true;
let page;
while (hasNext) {
input[inputTokenName] = token;
if (pageSizeTokenName) {
input[pageSizeTokenName] = input[pageSizeTokenName] ?? config.pageSize;
}
if (config.client instanceof ClientCtor) {
page = await makePagedClientRequest(CommandCtor, config.client, input, ...additionalArguments);
}
else {
throw new Error(`Invalid client, expected instance of ${ClientCtor.name}`);
}
yield page;
const prevToken = token;
token = page[outputTokenName];
hasNext = !!(token && (!config.stopOnSameToken || token !== prevToken));
}
return undefined;
};
}