@tevm/bundler-cache
Version:
Cache for tevm bundler
47 lines • 2.29 kB
TypeScript
import type { mkdirSync, statSync } from 'node:fs';
import type { mkdir, stat, writeFile } from 'node:fs/promises';
import type { ResolvedArtifacts } from '@tevm/compiler';
/**
* Generalized interface for accessing file system
* Allows this package to be used in browser environments or otherwise pluggable
*/
export type FileAccessObject = {
writeFileSync: (path: string, data: string) => void;
writeFile: typeof writeFile;
readFile: (path: string, encoding: BufferEncoding) => Promise<string>;
readFileSync: (path: string, encoding: BufferEncoding) => string;
exists: (path: string) => Promise<boolean>;
existsSync: (path: string) => boolean;
statSync: typeof statSync;
stat: typeof stat;
mkdirSync: typeof mkdirSync;
mkdir: typeof mkdir;
};
export type CachedItem = 'artifactsJson' | 'dts' | 'mjs';
export type ReadArtifactsSync = (entryModuleId: string) => ResolvedArtifacts | undefined;
export type ReadArtifacts = (entryModuleId: string) => Promise<ResolvedArtifacts | undefined>;
export type ReadDtsSync = (entryModuleId: string) => string | undefined;
export type ReadDts = (entryModuleId: string) => Promise<string | undefined>;
export type ReadMjsSync = (entryModuleId: string) => string | undefined;
export type ReadMjs = (entryModuleId: string) => Promise<string | undefined>;
export type WriteArtifactsSync = (entryModuleId: string, artifacts: ResolvedArtifacts) => string;
export type WriteArtifacts = (entryModuleId: string, artifacts: ResolvedArtifacts) => Promise<string>;
export type WriteDtsSync = (entryModuleId: string, dtsFile: string) => string;
export type WriteDts = (entryModuleId: string, dtsFile: string) => Promise<string>;
export type WriteMjsSync = (entryModuleId: string, mjsFile: string) => string;
export type WriteMjs = (entryModuleId: string, mjsFile: string) => Promise<string>;
export type Cache = {
readArtifactsSync: ReadArtifactsSync;
readArtifacts: ReadArtifacts;
readDtsSync: ReadDtsSync;
readDts: ReadDts;
readMjsSync: ReadMjsSync;
readMjs: ReadMjs;
writeArtifactsSync: WriteArtifactsSync;
writeArtifacts: WriteArtifacts;
writeDtsSync: WriteDtsSync;
writeDts: WriteDts;
writeMjsSync: WriteMjsSync;
writeMjs: WriteMjs;
};
//# sourceMappingURL=types.d.ts.map