UNPKG

auto-builder-sdk

Version:

SDK for building Auto Builder workflow plugins

51 lines (50 loc) 2.35 kB
/** * Pagination Configuration for Auto-Builder SDK * * This module contains all configurable pagination settings that can be * overridden by environment variables or external configuration. */ /** * Pagination configuration constants * These can be overridden by environment variables or configuration */ export const PAGINATION_CONFIG = { // Default values DEFAULT_PAGE: Number(process.env.PAGINATION_DEFAULT_PAGE) || 1, DEFAULT_PAGE_SIZE: Number(process.env.PAGINATION_DEFAULT_PAGE_SIZE) || 100, // Validation limits MIN_PAGE: Number(process.env.PAGINATION_MIN_PAGE) || 1, MIN_PAGE_SIZE: Number(process.env.PAGINATION_MIN_PAGE_SIZE) || 1, MAX_PAGE_SIZE: Number(process.env.PAGINATION_MAX_PAGE_SIZE) || 1000, // String processing limits MAX_STRING_LENGTH: Number(process.env.PAGINATION_MAX_STRING_LENGTH) || 15, // Mathematical limits MAX_SAFE_INTEGER: Number.MAX_SAFE_INTEGER, // Error messages ERROR_MESSAGES: { PAGE_SIZE_EXCEEDED: (resource, operation, max) => `Page size cannot exceed ${max} for ${resource}.${operation}`, PAGE_NUMBER_INVALID: (resource, operation, min) => `Page number must be ${min} or greater for ${resource}.${operation}`, DATA_MUST_BE_ARRAY: 'Data must be an array', PROPERTIES_MUST_BE_ARRAY: 'Properties must be an array' } }; /** * Helper function to update pagination configuration at runtime * Useful for testing or dynamic configuration changes */ export function updatePaginationConfig(updates) { Object.assign(PAGINATION_CONFIG, updates); } /** * Helper function to reset pagination configuration to defaults */ export function resetPaginationConfig() { // Reset to environment variable defaults PAGINATION_CONFIG.DEFAULT_PAGE = Number(process.env.PAGINATION_DEFAULT_PAGE) || 1; PAGINATION_CONFIG.DEFAULT_PAGE_SIZE = Number(process.env.PAGINATION_DEFAULT_PAGE_SIZE) || 100; PAGINATION_CONFIG.MIN_PAGE = Number(process.env.PAGINATION_MIN_PAGE) || 1; PAGINATION_CONFIG.MIN_PAGE_SIZE = Number(process.env.PAGINATION_MIN_PAGE_SIZE) || 1; PAGINATION_CONFIG.MAX_PAGE_SIZE = Number(process.env.PAGINATION_MAX_PAGE_SIZE) || 1000; PAGINATION_CONFIG.MAX_STRING_LENGTH = Number(process.env.PAGINATION_MAX_STRING_LENGTH) || 15; PAGINATION_CONFIG.MAX_SAFE_INTEGER = Number.MAX_SAFE_INTEGER; }