scroll/src/deno/mod.ts

24 lines
669 B
JavaScript

/**
* The main entrypoint when using Deno as the runtime
*/
import { IRuntime, RunTimeType } from '../common/mod.ts';
import DenoFFI from './ffi.ts';
import DenoTerminalIO from './terminal_io.ts';
import DenoFileIO from './file_io.ts';
const DenoRuntime: IRuntime = {
name: RunTimeType.Deno,
file: DenoFileIO,
ffi: DenoFFI,
term: DenoTerminalIO,
onEvent: (eventName: string, handler: (e: Event) => void) =>
globalThis.addEventListener(eventName, handler),
onExit: (cb: () => void): void => {
globalThis.addEventListener('onbeforeunload', cb);
globalThis.onbeforeunload = cb;
},
exit: (code?: number) => Deno.exit(code),
};
export default DenoRuntime;