import { IFileIO } from '../common/runtime.ts'; const DenoFileIO: IFileIO = { openFile: async function (path: string): Promise { const decoder = new TextDecoder('utf-8'); const data = await Deno.readFile(path); return decoder.decode(data); }, openFileSync: function (path: string): string { const decoder = new TextDecoder('utf-8'); const data = Deno.readFileSync(path); return decoder.decode(data); }, appendFile: async function (path: string, contents: string): Promise { const file = await Deno.open(path, { write: true, append: true, create: true, }); const encoder = new TextEncoder(); const writer = file.writable.getWriter(); await writer.write(encoder.encode(contents)); file.close(); }, appendFileSync: function (path: string, contents: string) { const encoder = new TextEncoder(); Deno.writeFileSync(path, encoder.encode(contents)); }, }; export default DenoFileIO;