24 lines
669 B
JavaScript
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;
|