UNPKG

2.69 kBSource Map (JSON)View Raw
1{"version":3,"file":"get-registry-downloads.esm.js","sources":["../../src/endpoints/get-registry-downloads.ts"],"sourcesContent":["import { DownloadPeriod } from '../types/download-period';\nimport { RegistryDownloads } from '../types/downloads';\nimport { fetchDownloadsFromRegistry } from '../utils/fetch-downloads-from-registry';\nimport { normalizeRawDownloadPeriod } from '../utils/normalize-download-period';\n\n/**\n * `getRegistryDownloads` returns the number of downloads for all registry packages\n * in a given time period.\n *\n * @param period - time period in which downloads happened (default: `last-week`)\n * @param registryDownloadsAPI - URL of the registry's downloads API (default: npm registry)\n * @param cached - accept cached responses (default: `true`)\n *\n * @example\n * Get the weekly downloads for the npm registry:\n *\n * ```typescript\n * import { getRegistryDownloads } from 'query-registry';\n *\n * (async () => {\n * const downloads = await getRegistryDownloads();\n *\n * // Output: 'number'\n * console.log(typeof downloads.downloads);\n * })();\n * ```\n *\n * @example\n * Get the monthly downloads for the npm registry:\n *\n * ```typescript\n * import { getRegistryDownloads } from 'query-registry';\n *\n * (async () => {\n * const downloads = await getRegistryDownloads({ period: 'last-month' });\n *\n * // Output: 'number'\n * console.log(typeof downloads.downloads);\n * })();\n * ```\n *\n * @see {@link RegistryDownloads}\n * @see {@link DownloadPeriod}\n * @see {@link npmRegistryDownloadsAPI}\n * @see {@link https://github.com/npm/registry/blob/master/docs/download-counts.md#point-values}\n */\nexport async function getRegistryDownloads({\n period: rawDownloadPeriod,\n registryDownloadsAPI,\n cached,\n}: {\n period?: DownloadPeriod;\n registryDownloadsAPI?: string;\n cached?: boolean;\n} = {}): Promise<RegistryDownloads> {\n const period = normalizeRawDownloadPeriod({ rawDownloadPeriod });\n const endpoint = `/downloads/point/${period}`;\n return fetchDownloadsFromRegistry({\n endpoint,\n registryDownloadsAPI,\n cached,\n });\n}\n"],"names":["getRegistryDownloads","period","rawDownloadPeriod","registryDownloadsAPI","cached","normalizeRawDownloadPeriod","endpoint","fetchDownloadsFromRegistry"],"mappings":";;;AAKA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAyCO,eAAeA,oBAAf,CAAoC;AACvCC,EAAAA,MAAM,EAAEC,iBAD+B;AAEvCC,EAAAA,oBAFuC;AAGvCC,EAAAA;AAHuC,IAQvC,EARG;AASH,QAAMH,MAAM,GAAGI,0BAA0B,CAAC;AAAEH,IAAAA;AAAF,GAAD,CAAzC;AACA,QAAMI,QAAQ,uBAAuBL,QAArC;AACA,SAAOM,0BAA0B,CAAC;AAC9BD,IAAAA,QAD8B;AAE9BH,IAAAA,oBAF8B;AAG9BC,IAAAA;AAH8B,GAAD,CAAjC;AAKH;;;;"}
\No newline at end of file