UNPKG

all-package-names

Version:

Fast lookup and iteration over all NPM package names

60 lines 1.88 kB
export type HttpResponse<T> = { statusCode: number; body: T; }; export type BootstrapRelease = "current" | "latest"; export type ChangesProgress = { phase: "changes"; startSince: number; currentSince: number; targetSince: number; processedChanges: number; }; export type AllDocsProgress = { phase: "all_docs"; processedRows: number; syncedNames: number; totalRows?: number; }; export type SyncProgress = ChangesProgress | AllDocsProgress; type ProgressOptions<T extends SyncProgress> = { onProgress?: (progress: T) => void; }; export declare function fetchReplicationHead(): Promise<number>; /** * Accumulates replication changes from the provided sequence onward. */ export declare function fetchChangesSince(since: number, options?: ProgressOptions<ChangesProgress>): Promise<{ since: number; created: Set<string>; deleted: Set<string>; processedChanges: number; }>; /** * Bootstraps the full package-name set from the replication `_all_docs` endpoint. * * Relevant discussion of supported replication queries: * https://github.com/orgs/community/discussions/152515 */ export declare function seedNamesFromAllDocs(options?: ProgressOptions<AllDocsProgress>): Promise<{ names: Set<string>; since: number; }>; /** * Seeds the local dataset from the current package version's GitHub release assets, * falling back to `_all_docs` if those assets are unavailable or invalid. */ export declare function seedNamesFromReleaseAssets(options?: ProgressOptions<AllDocsProgress>): Promise<{ names: Set<string>; since: number; }>; /** * Downloads and validates a published GitHub release package. */ export declare function fetchReleasePackage(release: BootstrapRelease): Promise<{ version: string; names: Set<string>; since: number; }>; export {}; //# sourceMappingURL=registry.d.ts.map