@herbertgao/surgio
Version:
Generating rules for Surge, Clash, Quantumult like a PRO
31 lines (30 loc) • 1.16 kB
TypeScript
declare abstract class TmpHelper {
cacheKey: string;
maxAge?: number | undefined;
protected constructor(cacheKey: string, maxAge?: number | undefined);
abstract setContent(content: string): Promise<void>;
abstract getContent(): Promise<string | undefined>;
}
export declare class TmpFile implements TmpHelper {
cacheKey: string;
maxAge?: number | undefined;
constructor(cacheKey: string, maxAge?: number | undefined);
setContent(content: string): Promise<void>;
getContent(): Promise<string | undefined>;
private validateContent;
}
export declare class TmpRedis implements TmpHelper {
cacheKey: string;
maxAge?: number | undefined;
private redisClient;
constructor(cacheKey: string, maxAge?: number | undefined);
getContent(): Promise<string | undefined>;
setContent(content: string): Promise<void>;
}
export interface TmpContent {
readonly content: string;
readonly lastEditTime: number;
readonly maxAge?: number;
}
export declare const createTmpFactory: (baseDir: string, cacheType?: "default" | "redis") => ((filePath: string, maxAge?: number) => TmpFile | TmpRedis);
export {};