UNPKG

2.41 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';\nimport urlJoin from 'url-join';\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((base) =>\n urlJoin(base, endpoint, query ? `?${query}` : '')\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","base","urlJoin","lastError","url","json","fetch","err","log"],"mappings":";;;;;AAMO,eAAeA,iBAAf,CAAoC;EACvCC,QADuC;EAEvCC,OAFuC;EAGvCC,KAHuC;AAIvCC,EAAAA,QAAQ,GAAGC,WAJ4B;AAKvCC,EAAAA,OAAO,GAAGC,kBAL6B;AAMvCC,EAAAA,MAAAA;AANuC,CAApC,EAcN;EACG,MAAMC,IAAI,GAAG,CAACL,QAAD,EAAW,GAAGE,OAAd,CAAuBI,CAAAA,GAAvB,CAA4BC,IAAD,IACpCC,OAAO,CAACD,IAAD,EAAOV,QAAP,EAAiBE,KAAK,GAAG,CAAIA,CAAAA,EAAAA,KAAK,CAAZ,CAAA,GAAiB,EAAvC,CADE,CAAb,CAAA;AAIA,EAAA,IAAIU,SAAJ,CAAA;;AACA,EAAA,KAAK,MAAMC,GAAX,IAAkBL,IAAlB,EAAwB;IACpB,IAAI;AACA,MAAA,MAAMM,IAAI,GAAG,MAAMC,KAAK,CAAC;QAAEF,GAAF;QAAOZ,OAAP;AAAgBM,QAAAA,MAAAA;AAAhB,OAAD,CAAxB,CAAA;AACA,MAAA,OAAOO,IAAP,CAAA;KAFJ,CAGE,OAAOE,GAAP,EAAY;AACV;AACAJ,MAAAA,SAAS,GAAGI,GAAZ,CAAA;AACH,KAAA;AACJ,GAAA;;EAEDC,GAAG,CACC,sEADD,EAEC;IACIjB,QADJ;IAEIC,OAFJ;IAGIC,KAHJ;IAIIC,QAJJ;IAKIE,OALJ;AAMIO,IAAAA,SAAAA;AANJ,GAFD,CAAH,CAAA;AAWA,EAAA,MAAMA,SAAN,CAAA;AACH;;;;"}
\No newline at end of file