Server IP : 192.158.238.246 / Your IP : 3.142.201.222 Web Server : LiteSpeed System : Linux uniform.iwebfusion.net 4.18.0-553.27.1.lve.1.el8.x86_64 #1 SMP Wed Nov 20 15:58:00 UTC 2024 x86_64 User : jenniferflocom ( 1321) PHP Version : 8.1.32 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : ON | Sudo : OFF | Pkexec : OFF Directory : /proc/7779/cwd/plugins/code-snippets/js/utils/ |
Upload File : |
import axios from 'axios' import { trimLeadingChar, trimTrailingChar } from './text' import type { AxiosRequestConfig, AxiosResponse } from 'axios' const REST_BASE = window.CODE_SNIPPETS?.restAPI.base ?? '' const getRestUrl = (endpoint: string): string => `${trimTrailingChar(REST_BASE, '/')}/${trimLeadingChar(endpoint, '/')}` const GET_CACHE: Record<string, AxiosResponse<unknown> | undefined> = {} export const getCached = <T, D>(endpoint: string, refresh = false, config?: AxiosRequestConfig<D>): Promise<AxiosResponse<T, D>> => !refresh && GET_CACHE[endpoint] ? Promise.resolve(<AxiosResponse<T, D>> GET_CACHE[endpoint]) : axios .get<T, AxiosResponse<T, D>, D>(getRestUrl(endpoint), config) .then(response => { GET_CACHE[endpoint] = response return response })