1. /**
  2. * Paginate environment variables for isolated environments.
  3. * @param {Array<string>} envVars Array of environment variable names.
  4. * @param {number} pageSize Number of environment variables to display per page.
  5. * @param {number} page Number of the page to display (1-based).
  6. * @returns {object} An object containing the paginated results, total pages, and error messages.
  7. */
  8. function paginateEnvVars(envVars, pageSize, page) {
  9. if (!Array.isArray(envVars)) {
  10. return { error: "Error: envVars must be an array." };
  11. }
  12. if (typeof pageSize !== 'number' || pageSize <= 0) {
  13. return { error: "Error: pageSize must be a positive number." };
  14. }
  15. if (typeof page !== 'number' || page < 1) {
  16. return { error: "Error: page must be a positive integer." };
  17. }
  18. const totalItems = envVars.length;
  19. const totalPages = Math.ceil(totalItems / pageSize);
  20. if (page > totalPages) {
  21. return { error: "Error: page number exceeds the total number of pages." };
  22. }
  23. const startIndex = (page - 1) * pageSize;
  24. const endIndex = startIndex + pageSize;
  25. const pageResults = envVars.slice(startIndex, endIndex);
  26. return {
  27. pageResults: pageResults,
  28. totalPages: totalPages,
  29. currentPage: page,
  30. error: null,
  31. };
  32. }

Add your comment