UNPKG

@tevm/bundler-cache

Version:
47 lines 2.29 kB
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