-
Notifications
You must be signed in to change notification settings - Fork 45
/
Copy paththread.ts
37 lines (32 loc) · 890 Bytes
/
thread.ts
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
import { SubprocessResult, SubprocessOutputMessage, SubprocessRunnerMessage } from './message-channel';
export type ListenerMessage = (message: Buffer) => void;
export type ListenerStandardStream = (message: Buffer) => void;
export type ExitCode = number;
export interface ThreadOptions {
bail?: boolean;
compilers: string[];
delay: boolean;
enableTimeouts?: boolean;
exitImmediately: boolean;
fullTrace: boolean;
grep?: string;
isTypescriptRunMode: boolean;
file: string[];
requires: string[];
retries?: number;
slow?: boolean;
timeout?: number;
ui?: string;
}
export interface Thread {
run(): Promise<SubprocessResult>;
}
export type SubprocessMessage = SubprocessOutputMessage | SubprocessRunnerMessage;
export function supportsWorkerThreads(): boolean {
try {
require('worker_threads');
return true;
} catch (ex) {
return false;
}
}