/
home
/
infinitibizsol
/
.trash
/
node_modules.6
/
@smithy
/
core
/
dist-es
/
pagination
/
File Upload :
llllll
Current File: /home/infinitibizsol/.trash/node_modules.6/@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 = get(page, outputTokenName); hasNext = !!(token && (!config.stopOnSameToken || token !== prevToken)); } return undefined; }; } const get = (fromObject, path) => { let cursor = fromObject; const pathComponents = path.split("."); for (const step of pathComponents) { if (!cursor || typeof cursor !== "object") { return undefined; } cursor = cursor[step]; } return cursor; };
Copyright ©2k19 -
Hexid
|
Tex7ure