scroll/src/bun/mod.ts

28 lines
661 B
JavaScript
Raw Normal View History

2023-10-31 14:47:59 -04:00
/**
* The main entrypoint when using Bun as the runtime
2023-10-31 14:47:59 -04:00
*/
2023-11-29 16:09:58 -05:00
import { IRuntime, RunTimeType } from '../common/runtime.ts';
import BunTerminalIO from './terminal_io.ts';
2023-11-13 15:33:56 -05:00
import BunFileIO from './file_io.ts';
2024-07-05 15:51:30 -04:00
import process from 'node:process';
2024-07-05 15:51:30 -04:00
/**
* The Bun Runtime implementation
*/
const BunRuntime: IRuntime = {
name: RunTimeType.Bun,
2023-11-13 15:33:56 -05:00
file: BunFileIO,
term: BunTerminalIO,
2023-11-16 13:00:02 -05:00
onEvent: (eventName: string, handler) => process.on(eventName, handler),
onExit: (cb: () => void): void => {
process.on('beforeExit', cb);
process.on('exit', cb);
process.on('SIGINT', cb);
},
exit: (code?: number) => process.exit(code),
};
export default BunRuntime;