Вы не можете выбрать более 25 тем Темы должны начинаться с буквы или цифры, могут содержать дефисы(-) и должны содержать не более 35 символов.

worker_threads.d.ts 6.6KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141
  1. declare module "worker_threads" {
  2. import { Context } from "vm";
  3. import { EventEmitter } from "events";
  4. import { Readable, Writable } from "stream";
  5. const isMainThread: boolean;
  6. const parentPort: null | MessagePort;
  7. const threadId: number;
  8. const workerData: any;
  9. class MessageChannel {
  10. readonly port1: MessagePort;
  11. readonly port2: MessagePort;
  12. }
  13. class MessagePort extends EventEmitter {
  14. close(): void;
  15. postMessage(value: any, transferList?: Array<ArrayBuffer | MessagePort>): void;
  16. ref(): void;
  17. unref(): void;
  18. start(): void;
  19. addListener(event: "close", listener: () => void): this;
  20. addListener(event: "message", listener: (value: any) => void): this;
  21. addListener(event: string | symbol, listener: (...args: any[]) => void): this;
  22. emit(event: "close"): boolean;
  23. emit(event: "message", value: any): boolean;
  24. emit(event: string | symbol, ...args: any[]): boolean;
  25. on(event: "close", listener: () => void): this;
  26. on(event: "message", listener: (value: any) => void): this;
  27. on(event: string | symbol, listener: (...args: any[]) => void): this;
  28. once(event: "close", listener: () => void): this;
  29. once(event: "message", listener: (value: any) => void): this;
  30. once(event: string | symbol, listener: (...args: any[]) => void): this;
  31. prependListener(event: "close", listener: () => void): this;
  32. prependListener(event: "message", listener: (value: any) => void): this;
  33. prependListener(event: string | symbol, listener: (...args: any[]) => void): this;
  34. prependOnceListener(event: "close", listener: () => void): this;
  35. prependOnceListener(event: "message", listener: (value: any) => void): this;
  36. prependOnceListener(event: string | symbol, listener: (...args: any[]) => void): this;
  37. removeListener(event: "close", listener: () => void): this;
  38. removeListener(event: "message", listener: (value: any) => void): this;
  39. removeListener(event: string | symbol, listener: (...args: any[]) => void): this;
  40. off(event: "close", listener: () => void): this;
  41. off(event: "message", listener: (value: any) => void): this;
  42. off(event: string | symbol, listener: (...args: any[]) => void): this;
  43. }
  44. interface WorkerOptions {
  45. eval?: boolean;
  46. workerData?: any;
  47. stdin?: boolean;
  48. stdout?: boolean;
  49. stderr?: boolean;
  50. execArgv?: string[];
  51. }
  52. class Worker extends EventEmitter {
  53. readonly stdin: Writable | null;
  54. readonly stdout: Readable;
  55. readonly stderr: Readable;
  56. readonly threadId: number;
  57. constructor(filename: string, options?: WorkerOptions);
  58. postMessage(value: any, transferList?: Array<ArrayBuffer | MessagePort>): void;
  59. ref(): void;
  60. unref(): void;
  61. terminate(callback?: (err: Error, exitCode: number) => void): void;
  62. /**
  63. * Transfer a `MessagePort` to a different `vm` Context. The original `port`
  64. * object will be rendered unusable, and the returned `MessagePort` instance will
  65. * take its place.
  66. *
  67. * The returned `MessagePort` will be an object in the target context, and will
  68. * inherit from its global `Object` class. Objects passed to the
  69. * `port.onmessage()` listener will also be created in the target context
  70. * and inherit from its global `Object` class.
  71. *
  72. * However, the created `MessagePort` will no longer inherit from
  73. * `EventEmitter`, and only `port.onmessage()` can be used to receive
  74. * events using it.
  75. */
  76. moveMessagePortToContext(port: MessagePort, context: Context): MessagePort;
  77. addListener(event: "error", listener: (err: Error) => void): this;
  78. addListener(event: "exit", listener: (exitCode: number) => void): this;
  79. addListener(event: "message", listener: (value: any) => void): this;
  80. addListener(event: "online", listener: () => void): this;
  81. addListener(event: string | symbol, listener: (...args: any[]) => void): this;
  82. emit(event: "error", err: Error): boolean;
  83. emit(event: "exit", exitCode: number): boolean;
  84. emit(event: "message", value: any): boolean;
  85. emit(event: "online"): boolean;
  86. emit(event: string | symbol, ...args: any[]): boolean;
  87. on(event: "error", listener: (err: Error) => void): this;
  88. on(event: "exit", listener: (exitCode: number) => void): this;
  89. on(event: "message", listener: (value: any) => void): this;
  90. on(event: "online", listener: () => void): this;
  91. on(event: string | symbol, listener: (...args: any[]) => void): this;
  92. once(event: "error", listener: (err: Error) => void): this;
  93. once(event: "exit", listener: (exitCode: number) => void): this;
  94. once(event: "message", listener: (value: any) => void): this;
  95. once(event: "online", listener: () => void): this;
  96. once(event: string | symbol, listener: (...args: any[]) => void): this;
  97. prependListener(event: "error", listener: (err: Error) => void): this;
  98. prependListener(event: "exit", listener: (exitCode: number) => void): this;
  99. prependListener(event: "message", listener: (value: any) => void): this;
  100. prependListener(event: "online", listener: () => void): this;
  101. prependListener(event: string | symbol, listener: (...args: any[]) => void): this;
  102. prependOnceListener(event: "error", listener: (err: Error) => void): this;
  103. prependOnceListener(event: "exit", listener: (exitCode: number) => void): this;
  104. prependOnceListener(event: "message", listener: (value: any) => void): this;
  105. prependOnceListener(event: "online", listener: () => void): this;
  106. prependOnceListener(event: string | symbol, listener: (...args: any[]) => void): this;
  107. removeListener(event: "error", listener: (err: Error) => void): this;
  108. removeListener(event: "exit", listener: (exitCode: number) => void): this;
  109. removeListener(event: "message", listener: (value: any) => void): this;
  110. removeListener(event: "online", listener: () => void): this;
  111. removeListener(event: string | symbol, listener: (...args: any[]) => void): this;
  112. off(event: "error", listener: (err: Error) => void): this;
  113. off(event: "exit", listener: (exitCode: number) => void): this;
  114. off(event: "message", listener: (value: any) => void): this;
  115. off(event: "online", listener: () => void): this;
  116. off(event: string | symbol, listener: (...args: any[]) => void): this;
  117. }
  118. }