/** * npm 生态数据(零依赖:node 原生 fetch,registry + downloads 公共 API)。 * * 拆分纯函数与网络层: * - parseNpmStats:纯函数(离线可测) * - fetchNpmStats:网络(集成验证) */ export interface NpmStats { pkg: string; /** dist-tags.latest */ latest: string; /** 最近 7 天下载量 */ weeklyDownloads: number; /** 最近 30 天下载量(API 不可用时为 null) */ monthlyDownloads: number | null; description: string | null; homepage: string | null; updatedAt: string; url: string; } type Json = any; /** * 解析 npm registry / downloads 响应为统一的 NpmStats(纯函数)。 * - registryJson:GET https://registry.npmjs.org/{pkg} 响应体 * - weekJson:GET https://api.npmjs.org/downloads/point/last-week/{pkg} 响应体(404 时传 null) * - monthJson:GET https://api.npmjs.org/downloads/point/last-month/{pkg} 响应体(404 时传 null) */ export declare function parseNpmStats(pkg: string, registryJson: Json, weekJson: Json | null, monthJson: Json | null): NpmStats; /** 拉取 npm 包生态数据(公共 API,无凭据)。超时由调用方 signal 控制。 */ export declare function fetchNpmStats(pkg: string, signal: AbortSignal): Promise; export {};