UNPKG

2.47 kBSource Map (JSON)View Raw
1{"version":3,"file":"fetch-from-registry.esm.js","sources":["../../src/utils/fetch-from-registry.ts"],"sourcesContent":["import { npmRegistry, npmRegistryMirrors } from '../data/registries';\nimport { FetchError } from './errors';\nimport { fetch } from './fetch';\nimport { log } from './log';\n\nexport async function fetchFromRegistry<T>({\n endpoint,\n headers,\n query,\n registry = npmRegistry,\n mirrors = npmRegistryMirrors,\n cached,\n}: {\n endpoint: string;\n headers?: Record<string, string>;\n query?: string;\n registry?: string;\n mirrors?: string[];\n cached?: boolean;\n}): Promise<T> {\n const urls = [registry, ...mirrors].map((host) => {\n const url = new URL(endpoint, host);\n url.search = query ?? '';\n return url.href;\n });\n\n let lastError: FetchError | undefined;\n for (const url of urls) {\n try {\n const json = await fetch({ url, headers, cached });\n return json as T;\n } catch (err) {\n // Keep last fetch error\n lastError = err as any;\n }\n }\n\n log(\n 'fetchFromRegistry: cannot retrieve data from registry or mirrors: %O',\n {\n endpoint,\n headers,\n query,\n registry,\n mirrors,\n lastError,\n }\n );\n throw lastError;\n}\n"],"names":["fetchFromRegistry","endpoint","headers","query","registry","npmRegistry","mirrors","npmRegistryMirrors","cached","urls","map","host","url","URL","search","href","lastError","json","fetch","err","log"],"mappings":";;;;AAKO,eAAeA,iBAAf,CAAoC;AACvCC,EAAAA,QADuC;AAEvCC,EAAAA,OAFuC;AAGvCC,EAAAA,KAHuC;AAIvCC,EAAAA,QAAQ,GAAGC,WAJ4B;AAKvCC,EAAAA,OAAO,GAAGC,kBAL6B;AAMvCC,EAAAA;AANuC,CAApC;AAeH,QAAMC,IAAI,GAAG,CAACL,QAAD,EAAW,GAAGE,OAAd,EAAuBI,GAAvB,CAA4BC,IAAD;AACpC,UAAMC,GAAG,GAAG,IAAIC,GAAJ,CAAQZ,QAAR,EAAkBU,IAAlB,CAAZ;AACAC,IAAAA,GAAG,CAACE,MAAJ,GAAaX,KAAb,WAAaA,KAAb,GAAsB,EAAtB;AACA,WAAOS,GAAG,CAACG,IAAX;AACH,GAJY,CAAb;AAMA,MAAIC,SAAJ;;AACA,OAAK,MAAMJ,GAAX,IAAkBH,IAAlB,EAAwB;AACpB,QAAI;AACA,YAAMQ,IAAI,GAAG,MAAMC,KAAK,CAAC;AAAEN,QAAAA,GAAF;AAAOV,QAAAA,OAAP;AAAgBM,QAAAA;AAAhB,OAAD,CAAxB;AACA,aAAOS,IAAP;AACH,KAHD,CAGE,OAAOE,GAAP,EAAY;AACV;AACAH,MAAAA,SAAS,GAAGG,GAAZ;AACH;AACJ;;AAEDC,EAAAA,GAAG,CACC,sEADD,EAEC;AACInB,IAAAA,QADJ;AAEIC,IAAAA,OAFJ;AAGIC,IAAAA,KAHJ;AAIIC,IAAAA,QAJJ;AAKIE,IAAAA,OALJ;AAMIU,IAAAA;AANJ,GAFD,CAAH;AAWA,QAAMA,SAAN;AACH;;;;"}
\No newline at end of file