-
Notifications
You must be signed in to change notification settings - Fork 25
/
index.d.ts
92 lines (87 loc) · 3.29 KB
/
index.d.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
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
import { EventEmitter } from 'events'
import * as workerThreads from 'worker_threads'
interface ThreadStreamOptions {
/**
* The size (in bytes) of the buffer.
* Must be greater than 4 (i.e. it must at least fit a 4-byte utf-8 char).
*
* Default: `4 * 1024 * 1024` = `4194304`
*/
bufferSize?: number,
/**
* The path to the Worker's main script or module.
* Must be either an absolute path or a relative path (i.e. relative to the current working directory) starting with ./ or ../, or a WHATWG URL object using file: or data: protocol.
* When using a data: URL, the data is interpreted based on MIME type using the ECMAScript module loader.
*
* {@link workerThreads.Worker()}
*/
filename: string | URL,
/**
* If `true`, write data synchronously; otherwise write data asynchronously.
*
* Default: `false`.
*/
sync?: boolean,
/**
* {@link workerThreads.WorkerOptions.workerData}
*
* Default: `{}`
*/
workerData?: any,
/**
* {@link workerThreads.WorkerOptions}
*
* Default: `{}`
*/
workerOpts?: workerThreads.WorkerOptions
}
declare class ThreadStream extends EventEmitter {
/**
* @param {ThreadStreamOptions} opts
*/
constructor(opts: ThreadStreamOptions)
/**
* Write some data to the stream.
*
* **Please note that this method should not throw an {Error} if something goes wrong but emit an error event.**
* @param {string} data data to write.
* @returns {boolean} false if the stream wishes for the calling code to wait for the 'drain' event to be emitted before continuing to write additional data or if it fails to write; otherwise true.
*/
write(data: string): boolean
/**
* Signal that no more data will be written.
*
* **Please note that this method should not throw an {Error} if something goes wrong but emit an error event.**
*
* Calling the {@link write()} method after calling {@link end()} will emit an error.
*/
end(): void
/**
* Flush the stream synchronously.
* This method should be called in the shutdown phase to make sure that all data has been flushed.
*
* **Please note that this method will throw an {Error} if something goes wrong.**
*
* @throws {Error} if the stream is already flushing, if it fails to flush or if it takes more than 10 seconds to flush.
*/
flushSync(): void
/**
* Synchronously calls each of the listeners registered for the event named`eventName`, in the order they were registered, passing the supplied arguments
* to each.
*
* @param eventName the name of the event.
* @param args the arguments to be passed to the event handlers.
* @returns {boolean} `true` if the event had listeners, `false` otherwise.
*/
emit(eventName: string | symbol, ...args: any[]): boolean;
/**
* Post a message to the Worker with specified data and an optional list of transferable objects.
*
* @param eventName the name of the event, specifically 'message'.
* @param message message data to be sent to the Worker.
* @param transferList an optional list of transferable objects to be transferred to the Worker context.
* @returns {boolean} true if the event had listeners, false otherwise.
*/
emit(eventName: 'message', message: any, transferList?: workerThreads.TransferListItem[]): boolean
}
export = ThreadStream;