cnpmcore
Version:
41 lines (40 loc) • 1.42 kB
TypeScript
/// <reference types="node" />
import { AbstractService } from '../../common/AbstractService';
import { ChangesStreamTaskData } from '../entity/Task';
export type UpstreamRegistryInfo = {
registry_name: string;
source_registry: string;
changes_stream_url: string;
} & ChangesStreamTaskData;
export type DownloadInfo = {
today: number;
yesterday: number;
samedayLastweek: number;
thisweek: number;
thismonth: number;
thisyear: number;
lastweek: number;
lastmonth: number;
lastyear: number;
};
export type TotalData = {
packageCount: number;
packageVersionCount: number;
lastPackage: string;
lastPackageVersion: string;
download: DownloadInfo;
changesStream: ChangesStreamTaskData;
lastChangeId: number | bigint;
cacheTime: string;
upstreamRegistries: UpstreamRegistryInfo[];
};
export declare class CacheService extends AbstractService {
private cacheAdapter;
getPackageEtag(fullname: string, isFullManifests: boolean): Promise<string | null>;
getPackageManifests(fullname: string, isFullManifests: boolean): Promise<Buffer | null>;
savePackageEtagAndManifests(fullname: string, isFullManifests: boolean, etag: string, manifests: Buffer): Promise<void>;
getTotalData(): Promise<TotalData>;
saveTotalData(totalData: TotalData): Promise<void>;
removeCache(fullname: string): Promise<void>;
private cacheKey;
}