{"version":3,"sources":["../src/components/Auth/useApiConfig.ts"],"sourcesContent":["import { useMemo } from 'react';\n\n/**\n * Type definition for API client with get method\n *\n * @template T - Type extending object with get method\n */\ntype ApiClient<T = unknown> = {\n  get: (endpoint: string, config?: T) => Promise<unknown>;\n};\n\n/**\n * Creates a memoized API configuration object compatible with useUrlAuthentication\n *\n * This hook wraps an API client instance to create a consistent interface\n * for the useUrlAuthentication hook, ensuring proper memoization to prevent\n * unnecessary re-renders.\n *\n * @template T - Generic type for API client configuration\n * @param {ApiClient<T>} api - Axios instance or any API client with a get method\n * @returns {object} Memoized API configuration object with get method\n *\n * @example\n * ```typescript\n * import { useApiConfig } from 'analytica-frontend-lib';\n * import { useApi } from './services/apiService';\n *\n * function App() {\n *   const api = useApi();\n *   const apiConfig = useApiConfig(api);\n *\n *   useUrlAuthentication({\n *     setTokens,\n *     setSessionInfo,\n *     setSelectedProfile,\n *     api: apiConfig,\n *     endpoint: '/auth/session-info',\n *   });\n * }\n * ```\n */\nexport function useApiConfig<T = unknown>(api: ApiClient<T>) {\n  return useMemo(\n    () => ({\n      get: (endpoint: string, config: unknown) =>\n        api.get(endpoint, config as T),\n    }),\n    [api]\n  );\n}\n"],"mappings":";AAAA,SAAS,eAAe;AAyCjB,SAAS,aAA0B,KAAmB;AAC3D,SAAO;AAAA,IACL,OAAO;AAAA,MACL,KAAK,CAAC,UAAkB,WACtB,IAAI,IAAI,UAAU,MAAW;AAAA,IACjC;AAAA,IACA,CAAC,GAAG;AAAA,EACN;AACF;","names":[]}