///
interface CachedFetchValue {
kind: "FETCH";
data: {
headers: {
[k: string]: string;
};
body: string;
url: string;
status?: number;
tags?: string[];
};
revalidate: number;
}
interface CachedRedirectValue {
kind: "REDIRECT";
props: Object;
}
interface CachedRouteValue {
kind: "ROUTE";
body: Buffer;
status: number;
headers: Record;
}
interface CachedImageValue {
kind: "IMAGE";
etag: string;
buffer: Buffer;
extension: string;
isMiss?: boolean;
isStale?: boolean;
}
interface IncrementalCachedPageValue {
kind: "PAGE";
html: string;
pageData: Object;
status?: number;
headers?: Record;
}
type IncrementalCacheValue = CachedRedirectValue | IncrementalCachedPageValue | CachedImageValue | CachedFetchValue | CachedRouteValue;
export interface CacheHandlerContext {
fs?: never;
dev?: boolean;
flushToDisk?: boolean;
serverDistDir?: string;
maxMemoryCacheSize?: number;
_appDir: boolean;
_requestHeaders: never;
fetchCacheKeyPrefix?: string;
}
export interface CacheHandlerValue {
lastModified?: number;
age?: number;
cacheState?: string;
value: IncrementalCacheValue | null;
}
export type Extension = "cache" | "fetch";
export interface Meta {
status?: number;
headers?: Record;
}
export {};