rahad-all-downloader 2.1.15 → 2.1.17

Sign up to get free protection for your applications and to get access to all the features.
Files changed (186) hide show
  1. package/.github/workflows/Run.yml +20 -0
  2. package/README.md +0 -1
  3. package/index.js +1 -1
  4. package/package.json +4 -2
  5. package/.cache/nix/binary-cache-v6.sqlite +0 -0
  6. package/.cache/nix/binary-cache-v6.sqlite-journal +0 -0
  7. package/.cache/replit/modules/nix.res +0 -1
  8. package/.cache/replit/modules/nodejs-20.res +0 -1
  9. package/.cache/replit/modules/replit.res +0 -1
  10. package/.cache/replit/modules.stamp +0 -0
  11. package/.cache/replit/nix/env.json +0 -1
  12. package/.cache/typescript/5.4/node_modules/.package-lock.json +0 -137
  13. package/.cache/typescript/5.4/node_modules/@types/caseless/LICENSE +0 -21
  14. package/.cache/typescript/5.4/node_modules/@types/caseless/README.md +0 -48
  15. package/.cache/typescript/5.4/node_modules/@types/caseless/index.d.ts +0 -29
  16. package/.cache/typescript/5.4/node_modules/@types/caseless/package.json +0 -35
  17. package/.cache/typescript/5.4/node_modules/@types/node/LICENSE +0 -21
  18. package/.cache/typescript/5.4/node_modules/@types/node/README.md +0 -15
  19. package/.cache/typescript/5.4/node_modules/@types/node/assert/strict.d.ts +0 -8
  20. package/.cache/typescript/5.4/node_modules/@types/node/assert.d.ts +0 -1040
  21. package/.cache/typescript/5.4/node_modules/@types/node/async_hooks.d.ts +0 -541
  22. package/.cache/typescript/5.4/node_modules/@types/node/buffer.d.ts +0 -2363
  23. package/.cache/typescript/5.4/node_modules/@types/node/child_process.d.ts +0 -1544
  24. package/.cache/typescript/5.4/node_modules/@types/node/cluster.d.ts +0 -578
  25. package/.cache/typescript/5.4/node_modules/@types/node/console.d.ts +0 -452
  26. package/.cache/typescript/5.4/node_modules/@types/node/constants.d.ts +0 -19
  27. package/.cache/typescript/5.4/node_modules/@types/node/crypto.d.ts +0 -4523
  28. package/.cache/typescript/5.4/node_modules/@types/node/dgram.d.ts +0 -596
  29. package/.cache/typescript/5.4/node_modules/@types/node/diagnostics_channel.d.ts +0 -554
  30. package/.cache/typescript/5.4/node_modules/@types/node/dns/promises.d.ts +0 -474
  31. package/.cache/typescript/5.4/node_modules/@types/node/dns.d.ts +0 -864
  32. package/.cache/typescript/5.4/node_modules/@types/node/dom-events.d.ts +0 -124
  33. package/.cache/typescript/5.4/node_modules/@types/node/domain.d.ts +0 -170
  34. package/.cache/typescript/5.4/node_modules/@types/node/events.d.ts +0 -909
  35. package/.cache/typescript/5.4/node_modules/@types/node/fs/promises.d.ts +0 -1245
  36. package/.cache/typescript/5.4/node_modules/@types/node/fs.d.ts +0 -4317
  37. package/.cache/typescript/5.4/node_modules/@types/node/globals.d.ts +0 -411
  38. package/.cache/typescript/5.4/node_modules/@types/node/globals.global.d.ts +0 -1
  39. package/.cache/typescript/5.4/node_modules/@types/node/http.d.ts +0 -1908
  40. package/.cache/typescript/5.4/node_modules/@types/node/http2.d.ts +0 -2418
  41. package/.cache/typescript/5.4/node_modules/@types/node/https.d.ts +0 -550
  42. package/.cache/typescript/5.4/node_modules/@types/node/index.d.ts +0 -89
  43. package/.cache/typescript/5.4/node_modules/@types/node/inspector.d.ts +0 -2746
  44. package/.cache/typescript/5.4/node_modules/@types/node/module.d.ts +0 -315
  45. package/.cache/typescript/5.4/node_modules/@types/node/net.d.ts +0 -999
  46. package/.cache/typescript/5.4/node_modules/@types/node/os.d.ts +0 -495
  47. package/.cache/typescript/5.4/node_modules/@types/node/package.json +0 -217
  48. package/.cache/typescript/5.4/node_modules/@types/node/path.d.ts +0 -191
  49. package/.cache/typescript/5.4/node_modules/@types/node/perf_hooks.d.ts +0 -905
  50. package/.cache/typescript/5.4/node_modules/@types/node/process.d.ts +0 -1754
  51. package/.cache/typescript/5.4/node_modules/@types/node/punycode.d.ts +0 -117
  52. package/.cache/typescript/5.4/node_modules/@types/node/querystring.d.ts +0 -153
  53. package/.cache/typescript/5.4/node_modules/@types/node/readline/promises.d.ts +0 -150
  54. package/.cache/typescript/5.4/node_modules/@types/node/readline.d.ts +0 -540
  55. package/.cache/typescript/5.4/node_modules/@types/node/repl.d.ts +0 -430
  56. package/.cache/typescript/5.4/node_modules/@types/node/sea.d.ts +0 -153
  57. package/.cache/typescript/5.4/node_modules/@types/node/stream/consumers.d.ts +0 -12
  58. package/.cache/typescript/5.4/node_modules/@types/node/stream/promises.d.ts +0 -83
  59. package/.cache/typescript/5.4/node_modules/@types/node/stream/web.d.ts +0 -367
  60. package/.cache/typescript/5.4/node_modules/@types/node/stream.d.ts +0 -1707
  61. package/.cache/typescript/5.4/node_modules/@types/node/string_decoder.d.ts +0 -67
  62. package/.cache/typescript/5.4/node_modules/@types/node/test.d.ts +0 -1718
  63. package/.cache/typescript/5.4/node_modules/@types/node/timers/promises.d.ts +0 -97
  64. package/.cache/typescript/5.4/node_modules/@types/node/timers.d.ts +0 -240
  65. package/.cache/typescript/5.4/node_modules/@types/node/tls.d.ts +0 -1217
  66. package/.cache/typescript/5.4/node_modules/@types/node/trace_events.d.ts +0 -197
  67. package/.cache/typescript/5.4/node_modules/@types/node/tty.d.ts +0 -208
  68. package/.cache/typescript/5.4/node_modules/@types/node/url.d.ts +0 -952
  69. package/.cache/typescript/5.4/node_modules/@types/node/util.d.ts +0 -2292
  70. package/.cache/typescript/5.4/node_modules/@types/node/v8.d.ts +0 -808
  71. package/.cache/typescript/5.4/node_modules/@types/node/vm.d.ts +0 -924
  72. package/.cache/typescript/5.4/node_modules/@types/node/wasi.d.ts +0 -181
  73. package/.cache/typescript/5.4/node_modules/@types/node/worker_threads.d.ts +0 -691
  74. package/.cache/typescript/5.4/node_modules/@types/node/zlib.d.ts +0 -530
  75. package/.cache/typescript/5.4/node_modules/@types/node-fetch/LICENSE +0 -21
  76. package/.cache/typescript/5.4/node_modules/@types/node-fetch/README.md +0 -15
  77. package/.cache/typescript/5.4/node_modules/@types/node-fetch/externals.d.ts +0 -32
  78. package/.cache/typescript/5.4/node_modules/@types/node-fetch/index.d.ts +0 -238
  79. package/.cache/typescript/5.4/node_modules/@types/node-fetch/package.json +0 -83
  80. package/.cache/typescript/5.4/node_modules/@types/request/LICENSE +0 -21
  81. package/.cache/typescript/5.4/node_modules/@types/request/README.md +0 -15
  82. package/.cache/typescript/5.4/node_modules/@types/request/index.d.ts +0 -395
  83. package/.cache/typescript/5.4/node_modules/@types/request/node_modules/form-data/License +0 -19
  84. package/.cache/typescript/5.4/node_modules/@types/request/node_modules/form-data/README.md +0 -350
  85. package/.cache/typescript/5.4/node_modules/@types/request/node_modules/form-data/README.md.bak +0 -350
  86. package/.cache/typescript/5.4/node_modules/@types/request/node_modules/form-data/index.d.ts +0 -51
  87. package/.cache/typescript/5.4/node_modules/@types/request/node_modules/form-data/lib/browser.js +0 -2
  88. package/.cache/typescript/5.4/node_modules/@types/request/node_modules/form-data/lib/form_data.js +0 -483
  89. package/.cache/typescript/5.4/node_modules/@types/request/node_modules/form-data/lib/populate.js +0 -10
  90. package/.cache/typescript/5.4/node_modules/@types/request/node_modules/form-data/package.json +0 -68
  91. package/.cache/typescript/5.4/node_modules/@types/request/package.json +0 -70
  92. package/.cache/typescript/5.4/node_modules/@types/tough-cookie/LICENSE +0 -21
  93. package/.cache/typescript/5.4/node_modules/@types/tough-cookie/README.md +0 -15
  94. package/.cache/typescript/5.4/node_modules/@types/tough-cookie/index.d.ts +0 -321
  95. package/.cache/typescript/5.4/node_modules/@types/tough-cookie/package.json +0 -35
  96. package/.cache/typescript/5.4/node_modules/asynckit/LICENSE +0 -21
  97. package/.cache/typescript/5.4/node_modules/asynckit/README.md +0 -233
  98. package/.cache/typescript/5.4/node_modules/asynckit/bench.js +0 -76
  99. package/.cache/typescript/5.4/node_modules/asynckit/index.js +0 -6
  100. package/.cache/typescript/5.4/node_modules/asynckit/lib/abort.js +0 -29
  101. package/.cache/typescript/5.4/node_modules/asynckit/lib/async.js +0 -34
  102. package/.cache/typescript/5.4/node_modules/asynckit/lib/defer.js +0 -26
  103. package/.cache/typescript/5.4/node_modules/asynckit/lib/iterate.js +0 -75
  104. package/.cache/typescript/5.4/node_modules/asynckit/lib/readable_asynckit.js +0 -91
  105. package/.cache/typescript/5.4/node_modules/asynckit/lib/readable_parallel.js +0 -25
  106. package/.cache/typescript/5.4/node_modules/asynckit/lib/readable_serial.js +0 -25
  107. package/.cache/typescript/5.4/node_modules/asynckit/lib/readable_serial_ordered.js +0 -29
  108. package/.cache/typescript/5.4/node_modules/asynckit/lib/state.js +0 -37
  109. package/.cache/typescript/5.4/node_modules/asynckit/lib/streamify.js +0 -141
  110. package/.cache/typescript/5.4/node_modules/asynckit/lib/terminator.js +0 -29
  111. package/.cache/typescript/5.4/node_modules/asynckit/package.json +0 -63
  112. package/.cache/typescript/5.4/node_modules/asynckit/parallel.js +0 -43
  113. package/.cache/typescript/5.4/node_modules/asynckit/serial.js +0 -17
  114. package/.cache/typescript/5.4/node_modules/asynckit/serialOrdered.js +0 -75
  115. package/.cache/typescript/5.4/node_modules/asynckit/stream.js +0 -21
  116. package/.cache/typescript/5.4/node_modules/combined-stream/License +0 -19
  117. package/.cache/typescript/5.4/node_modules/combined-stream/Readme.md +0 -138
  118. package/.cache/typescript/5.4/node_modules/combined-stream/lib/combined_stream.js +0 -208
  119. package/.cache/typescript/5.4/node_modules/combined-stream/package.json +0 -25
  120. package/.cache/typescript/5.4/node_modules/combined-stream/yarn.lock +0 -17
  121. package/.cache/typescript/5.4/node_modules/delayed-stream/License +0 -19
  122. package/.cache/typescript/5.4/node_modules/delayed-stream/Makefile +0 -7
  123. package/.cache/typescript/5.4/node_modules/delayed-stream/Readme.md +0 -141
  124. package/.cache/typescript/5.4/node_modules/delayed-stream/lib/delayed_stream.js +0 -107
  125. package/.cache/typescript/5.4/node_modules/delayed-stream/package.json +0 -27
  126. package/.cache/typescript/5.4/node_modules/form-data/License +0 -19
  127. package/.cache/typescript/5.4/node_modules/form-data/README.md.bak +0 -358
  128. package/.cache/typescript/5.4/node_modules/form-data/Readme.md +0 -358
  129. package/.cache/typescript/5.4/node_modules/form-data/index.d.ts +0 -62
  130. package/.cache/typescript/5.4/node_modules/form-data/lib/browser.js +0 -2
  131. package/.cache/typescript/5.4/node_modules/form-data/lib/form_data.js +0 -501
  132. package/.cache/typescript/5.4/node_modules/form-data/lib/populate.js +0 -10
  133. package/.cache/typescript/5.4/node_modules/form-data/package.json +0 -68
  134. package/.cache/typescript/5.4/node_modules/mime-db/HISTORY.md +0 -507
  135. package/.cache/typescript/5.4/node_modules/mime-db/LICENSE +0 -23
  136. package/.cache/typescript/5.4/node_modules/mime-db/README.md +0 -100
  137. package/.cache/typescript/5.4/node_modules/mime-db/db.json +0 -8519
  138. package/.cache/typescript/5.4/node_modules/mime-db/index.js +0 -12
  139. package/.cache/typescript/5.4/node_modules/mime-db/package.json +0 -60
  140. package/.cache/typescript/5.4/node_modules/mime-types/HISTORY.md +0 -397
  141. package/.cache/typescript/5.4/node_modules/mime-types/LICENSE +0 -23
  142. package/.cache/typescript/5.4/node_modules/mime-types/README.md +0 -113
  143. package/.cache/typescript/5.4/node_modules/mime-types/index.js +0 -188
  144. package/.cache/typescript/5.4/node_modules/mime-types/package.json +0 -44
  145. package/.cache/typescript/5.4/node_modules/types-registry/README.md +0 -2
  146. package/.cache/typescript/5.4/node_modules/types-registry/index.json +0 -1
  147. package/.cache/typescript/5.4/node_modules/types-registry/package.json +0 -20
  148. package/.cache/typescript/5.4/node_modules/undici-types/README.md +0 -6
  149. package/.cache/typescript/5.4/node_modules/undici-types/agent.d.ts +0 -31
  150. package/.cache/typescript/5.4/node_modules/undici-types/api.d.ts +0 -43
  151. package/.cache/typescript/5.4/node_modules/undici-types/balanced-pool.d.ts +0 -18
  152. package/.cache/typescript/5.4/node_modules/undici-types/cache.d.ts +0 -36
  153. package/.cache/typescript/5.4/node_modules/undici-types/client.d.ts +0 -97
  154. package/.cache/typescript/5.4/node_modules/undici-types/connector.d.ts +0 -34
  155. package/.cache/typescript/5.4/node_modules/undici-types/content-type.d.ts +0 -21
  156. package/.cache/typescript/5.4/node_modules/undici-types/cookies.d.ts +0 -28
  157. package/.cache/typescript/5.4/node_modules/undici-types/diagnostics-channel.d.ts +0 -67
  158. package/.cache/typescript/5.4/node_modules/undici-types/dispatcher.d.ts +0 -241
  159. package/.cache/typescript/5.4/node_modules/undici-types/errors.d.ts +0 -128
  160. package/.cache/typescript/5.4/node_modules/undici-types/fetch.d.ts +0 -209
  161. package/.cache/typescript/5.4/node_modules/undici-types/file.d.ts +0 -39
  162. package/.cache/typescript/5.4/node_modules/undici-types/filereader.d.ts +0 -54
  163. package/.cache/typescript/5.4/node_modules/undici-types/formdata.d.ts +0 -108
  164. package/.cache/typescript/5.4/node_modules/undici-types/global-dispatcher.d.ts +0 -9
  165. package/.cache/typescript/5.4/node_modules/undici-types/global-origin.d.ts +0 -7
  166. package/.cache/typescript/5.4/node_modules/undici-types/handlers.d.ts +0 -9
  167. package/.cache/typescript/5.4/node_modules/undici-types/header.d.ts +0 -4
  168. package/.cache/typescript/5.4/node_modules/undici-types/index.d.ts +0 -63
  169. package/.cache/typescript/5.4/node_modules/undici-types/interceptors.d.ts +0 -5
  170. package/.cache/typescript/5.4/node_modules/undici-types/mock-agent.d.ts +0 -50
  171. package/.cache/typescript/5.4/node_modules/undici-types/mock-client.d.ts +0 -25
  172. package/.cache/typescript/5.4/node_modules/undici-types/mock-errors.d.ts +0 -12
  173. package/.cache/typescript/5.4/node_modules/undici-types/mock-interceptor.d.ts +0 -93
  174. package/.cache/typescript/5.4/node_modules/undici-types/mock-pool.d.ts +0 -25
  175. package/.cache/typescript/5.4/node_modules/undici-types/package.json +0 -55
  176. package/.cache/typescript/5.4/node_modules/undici-types/patch.d.ts +0 -71
  177. package/.cache/typescript/5.4/node_modules/undici-types/pool-stats.d.ts +0 -19
  178. package/.cache/typescript/5.4/node_modules/undici-types/pool.d.ts +0 -28
  179. package/.cache/typescript/5.4/node_modules/undici-types/proxy-agent.d.ts +0 -30
  180. package/.cache/typescript/5.4/node_modules/undici-types/readable.d.ts +0 -61
  181. package/.cache/typescript/5.4/node_modules/undici-types/webidl.d.ts +0 -220
  182. package/.cache/typescript/5.4/node_modules/undici-types/websocket.d.ts +0 -131
  183. package/.cache/typescript/5.4/package-lock.json +0 -146
  184. package/.cache/typescript/5.4/package.json +0 -1
  185. package/.replit +0 -21
  186. package/replit.nix +0 -3
@@ -1,578 +0,0 @@
1
- /**
2
- * Clusters of Node.js processes can be used to run multiple instances of Node.js
3
- * that can distribute workloads among their application threads. When process isolation
4
- * is not needed, use the [`worker_threads`](https://nodejs.org/docs/latest-v20.x/api/worker_threads.html)
5
- * module instead, which allows running multiple application threads within a single Node.js instance.
6
- *
7
- * The cluster module allows easy creation of child processes that all share
8
- * server ports.
9
- *
10
- * ```js
11
- * import cluster from 'node:cluster';
12
- * import http from 'node:http';
13
- * import { availableParallelism } from 'node:os';
14
- * import process from 'node:process';
15
- *
16
- * const numCPUs = availableParallelism();
17
- *
18
- * if (cluster.isPrimary) {
19
- * console.log(`Primary ${process.pid} is running`);
20
- *
21
- * // Fork workers.
22
- * for (let i = 0; i < numCPUs; i++) {
23
- * cluster.fork();
24
- * }
25
- *
26
- * cluster.on('exit', (worker, code, signal) => {
27
- * console.log(`worker ${worker.process.pid} died`);
28
- * });
29
- * } else {
30
- * // Workers can share any TCP connection
31
- * // In this case it is an HTTP server
32
- * http.createServer((req, res) => {
33
- * res.writeHead(200);
34
- * res.end('hello world\n');
35
- * }).listen(8000);
36
- *
37
- * console.log(`Worker ${process.pid} started`);
38
- * }
39
- * ```
40
- *
41
- * Running Node.js will now share port 8000 between the workers:
42
- *
43
- * ```console
44
- * $ node server.js
45
- * Primary 3596 is running
46
- * Worker 4324 started
47
- * Worker 4520 started
48
- * Worker 6056 started
49
- * Worker 5644 started
50
- * ```
51
- *
52
- * On Windows, it is not yet possible to set up a named pipe server in a worker.
53
- * @see [source](https://github.com/nodejs/node/blob/v20.13.1/lib/cluster.js)
54
- */
55
- declare module "cluster" {
56
- import * as child from "node:child_process";
57
- import EventEmitter = require("node:events");
58
- import * as net from "node:net";
59
- type SerializationType = "json" | "advanced";
60
- export interface ClusterSettings {
61
- /**
62
- * List of string arguments passed to the Node.js executable.
63
- * @default process.execArgv
64
- */
65
- execArgv?: string[] | undefined;
66
- /**
67
- * File path to worker file.
68
- * @default process.argv[1]
69
- */
70
- exec?: string | undefined;
71
- /**
72
- * String arguments passed to worker.
73
- * @default process.argv.slice(2)
74
- */
75
- args?: string[] | undefined;
76
- /**
77
- * Whether or not to send output to parent's stdio.
78
- * @default false
79
- */
80
- silent?: boolean | undefined;
81
- /**
82
- * Configures the stdio of forked processes. Because the cluster module relies on IPC to function, this configuration must
83
- * contain an `'ipc'` entry. When this option is provided, it overrides `silent`. See [`child_prcess.spawn()`](https://nodejs.org/docs/latest-v20.x/api/child_process.html#child_processspawncommand-args-options)'s
84
- * [`stdio`](https://nodejs.org/docs/latest-v20.x/api/child_process.html#optionsstdio).
85
- */
86
- stdio?: any[] | undefined;
87
- /**
88
- * Sets the user identity of the process. (See [`setuid(2)`](https://man7.org/linux/man-pages/man2/setuid.2.html).)
89
- */
90
- uid?: number | undefined;
91
- /**
92
- * Sets the group identity of the process. (See [`setgid(2)`](https://man7.org/linux/man-pages/man2/setgid.2.html).)
93
- */
94
- gid?: number | undefined;
95
- /**
96
- * Sets inspector port of worker. This can be a number, or a function that takes no arguments and returns a number.
97
- * By default each worker gets its own port, incremented from the primary's `process.debugPort`.
98
- */
99
- inspectPort?: number | (() => number) | undefined;
100
- /**
101
- * Specify the kind of serialization used for sending messages between processes. Possible values are `'json'` and `'advanced'`.
102
- * See [Advanced serialization for `child_process`](https://nodejs.org/docs/latest-v20.x/api/child_process.html#advanced-serialization) for more details.
103
- * @default false
104
- */
105
- serialization?: SerializationType | undefined;
106
- /**
107
- * Current working directory of the worker process.
108
- * @default undefined (inherits from parent process)
109
- */
110
- cwd?: string | undefined;
111
- /**
112
- * Hide the forked processes console window that would normally be created on Windows systems.
113
- * @default false
114
- */
115
- windowsHide?: boolean | undefined;
116
- }
117
- export interface Address {
118
- address: string;
119
- port: number;
120
- /**
121
- * The `addressType` is one of:
122
- *
123
- * * `4` (TCPv4)
124
- * * `6` (TCPv6)
125
- * * `-1` (Unix domain socket)
126
- * * `'udp4'` or `'udp6'` (UDPv4 or UDPv6)
127
- */
128
- addressType: 4 | 6 | -1 | "udp4" | "udp6";
129
- }
130
- /**
131
- * A `Worker` object contains all public information and method about a worker.
132
- * In the primary it can be obtained using `cluster.workers`. In a worker
133
- * it can be obtained using `cluster.worker`.
134
- * @since v0.7.0
135
- */
136
- export class Worker extends EventEmitter {
137
- /**
138
- * Each new worker is given its own unique id, this id is stored in the `id`.
139
- *
140
- * While a worker is alive, this is the key that indexes it in `cluster.workers`.
141
- * @since v0.8.0
142
- */
143
- id: number;
144
- /**
145
- * All workers are created using [`child_process.fork()`](https://nodejs.org/docs/latest-v20.x/api/child_process.html#child_processforkmodulepath-args-options), the returned object
146
- * from this function is stored as `.process`. In a worker, the global `process` is stored.
147
- *
148
- * See: [Child Process module](https://nodejs.org/docs/latest-v20.x/api/child_process.html#child_processforkmodulepath-args-options).
149
- *
150
- * Workers will call `process.exit(0)` if the `'disconnect'` event occurs
151
- * on `process` and `.exitedAfterDisconnect` is not `true`. This protects against
152
- * accidental disconnection.
153
- * @since v0.7.0
154
- */
155
- process: child.ChildProcess;
156
- /**
157
- * Send a message to a worker or primary, optionally with a handle.
158
- *
159
- * In the primary, this sends a message to a specific worker. It is identical to [`ChildProcess.send()`](https://nodejs.org/docs/latest-v20.x/api/child_process.html#subprocesssendmessage-sendhandle-options-callback).
160
- *
161
- * In a worker, this sends a message to the primary. It is identical to `process.send()`.
162
- *
163
- * This example will echo back all messages from the primary:
164
- *
165
- * ```js
166
- * if (cluster.isPrimary) {
167
- * const worker = cluster.fork();
168
- * worker.send('hi there');
169
- *
170
- * } else if (cluster.isWorker) {
171
- * process.on('message', (msg) => {
172
- * process.send(msg);
173
- * });
174
- * }
175
- * ```
176
- * @since v0.7.0
177
- * @param options The `options` argument, if present, is an object used to parameterize the sending of certain types of handles.
178
- */
179
- send(message: child.Serializable, callback?: (error: Error | null) => void): boolean;
180
- send(
181
- message: child.Serializable,
182
- sendHandle: child.SendHandle,
183
- callback?: (error: Error | null) => void,
184
- ): boolean;
185
- send(
186
- message: child.Serializable,
187
- sendHandle: child.SendHandle,
188
- options?: child.MessageOptions,
189
- callback?: (error: Error | null) => void,
190
- ): boolean;
191
- /**
192
- * This function will kill the worker. In the primary worker, it does this by
193
- * disconnecting the `worker.process`, and once disconnected, killing with `signal`. In the worker, it does it by killing the process with `signal`.
194
- *
195
- * The `kill()` function kills the worker process without waiting for a graceful
196
- * disconnect, it has the same behavior as `worker.process.kill()`.
197
- *
198
- * This method is aliased as `worker.destroy()` for backwards compatibility.
199
- *
200
- * In a worker, `process.kill()` exists, but it is not this function;
201
- * it is [`kill()`](https://nodejs.org/docs/latest-v20.x/api/process.html#processkillpid-signal).
202
- * @since v0.9.12
203
- * @param [signal='SIGTERM'] Name of the kill signal to send to the worker process.
204
- */
205
- kill(signal?: string): void;
206
- destroy(signal?: string): void;
207
- /**
208
- * In a worker, this function will close all servers, wait for the `'close'` event
209
- * on those servers, and then disconnect the IPC channel.
210
- *
211
- * In the primary, an internal message is sent to the worker causing it to call `.disconnect()` on itself.
212
- *
213
- * Causes `.exitedAfterDisconnect` to be set.
214
- *
215
- * After a server is closed, it will no longer accept new connections,
216
- * but connections may be accepted by any other listening worker. Existing
217
- * connections will be allowed to close as usual. When no more connections exist,
218
- * see `server.close()`, the IPC channel to the worker will close allowing it
219
- * to die gracefully.
220
- *
221
- * The above applies _only_ to server connections, client connections are not
222
- * automatically closed by workers, and disconnect does not wait for them to close
223
- * before exiting.
224
- *
225
- * In a worker, `process.disconnect` exists, but it is not this function;
226
- * it is `disconnect()`.
227
- *
228
- * Because long living server connections may block workers from disconnecting, it
229
- * may be useful to send a message, so application specific actions may be taken to
230
- * close them. It also may be useful to implement a timeout, killing a worker if
231
- * the `'disconnect'` event has not been emitted after some time.
232
- *
233
- * ```js
234
- * if (cluster.isPrimary) {
235
- * const worker = cluster.fork();
236
- * let timeout;
237
- *
238
- * worker.on('listening', (address) => {
239
- * worker.send('shutdown');
240
- * worker.disconnect();
241
- * timeout = setTimeout(() => {
242
- * worker.kill();
243
- * }, 2000);
244
- * });
245
- *
246
- * worker.on('disconnect', () => {
247
- * clearTimeout(timeout);
248
- * });
249
- *
250
- * } else if (cluster.isWorker) {
251
- * const net = require('node:net');
252
- * const server = net.createServer((socket) => {
253
- * // Connections never end
254
- * });
255
- *
256
- * server.listen(8000);
257
- *
258
- * process.on('message', (msg) => {
259
- * if (msg === 'shutdown') {
260
- * // Initiate graceful close of any connections to server
261
- * }
262
- * });
263
- * }
264
- * ```
265
- * @since v0.7.7
266
- * @return A reference to `worker`.
267
- */
268
- disconnect(): void;
269
- /**
270
- * This function returns `true` if the worker is connected to its primary via its
271
- * IPC channel, `false` otherwise. A worker is connected to its primary after it
272
- * has been created. It is disconnected after the `'disconnect'` event is emitted.
273
- * @since v0.11.14
274
- */
275
- isConnected(): boolean;
276
- /**
277
- * This function returns `true` if the worker's process has terminated (either
278
- * because of exiting or being signaled). Otherwise, it returns `false`.
279
- *
280
- * ```js
281
- * import cluster from 'node:cluster';
282
- * import http from 'node:http';
283
- * import { availableParallelism } from 'node:os';
284
- * import process from 'node:process';
285
- *
286
- * const numCPUs = availableParallelism();
287
- *
288
- * if (cluster.isPrimary) {
289
- * console.log(`Primary ${process.pid} is running`);
290
- *
291
- * // Fork workers.
292
- * for (let i = 0; i < numCPUs; i++) {
293
- * cluster.fork();
294
- * }
295
- *
296
- * cluster.on('fork', (worker) => {
297
- * console.log('worker is dead:', worker.isDead());
298
- * });
299
- *
300
- * cluster.on('exit', (worker, code, signal) => {
301
- * console.log('worker is dead:', worker.isDead());
302
- * });
303
- * } else {
304
- * // Workers can share any TCP connection. In this case, it is an HTTP server.
305
- * http.createServer((req, res) => {
306
- * res.writeHead(200);
307
- * res.end(`Current process\n ${process.pid}`);
308
- * process.kill(process.pid);
309
- * }).listen(8000);
310
- * }
311
- * ```
312
- * @since v0.11.14
313
- */
314
- isDead(): boolean;
315
- /**
316
- * This property is `true` if the worker exited due to `.disconnect()`.
317
- * If the worker exited any other way, it is `false`. If the
318
- * worker has not exited, it is `undefined`.
319
- *
320
- * The boolean `worker.exitedAfterDisconnect` allows distinguishing between
321
- * voluntary and accidental exit, the primary may choose not to respawn a worker
322
- * based on this value.
323
- *
324
- * ```js
325
- * cluster.on('exit', (worker, code, signal) => {
326
- * if (worker.exitedAfterDisconnect === true) {
327
- * console.log('Oh, it was just voluntary – no need to worry');
328
- * }
329
- * });
330
- *
331
- * // kill worker
332
- * worker.kill();
333
- * ```
334
- * @since v6.0.0
335
- */
336
- exitedAfterDisconnect: boolean;
337
- /**
338
- * events.EventEmitter
339
- * 1. disconnect
340
- * 2. error
341
- * 3. exit
342
- * 4. listening
343
- * 5. message
344
- * 6. online
345
- */
346
- addListener(event: string, listener: (...args: any[]) => void): this;
347
- addListener(event: "disconnect", listener: () => void): this;
348
- addListener(event: "error", listener: (error: Error) => void): this;
349
- addListener(event: "exit", listener: (code: number, signal: string) => void): this;
350
- addListener(event: "listening", listener: (address: Address) => void): this;
351
- addListener(event: "message", listener: (message: any, handle: net.Socket | net.Server) => void): this; // the handle is a net.Socket or net.Server object, or undefined.
352
- addListener(event: "online", listener: () => void): this;
353
- emit(event: string | symbol, ...args: any[]): boolean;
354
- emit(event: "disconnect"): boolean;
355
- emit(event: "error", error: Error): boolean;
356
- emit(event: "exit", code: number, signal: string): boolean;
357
- emit(event: "listening", address: Address): boolean;
358
- emit(event: "message", message: any, handle: net.Socket | net.Server): boolean;
359
- emit(event: "online"): boolean;
360
- on(event: string, listener: (...args: any[]) => void): this;
361
- on(event: "disconnect", listener: () => void): this;
362
- on(event: "error", listener: (error: Error) => void): this;
363
- on(event: "exit", listener: (code: number, signal: string) => void): this;
364
- on(event: "listening", listener: (address: Address) => void): this;
365
- on(event: "message", listener: (message: any, handle: net.Socket | net.Server) => void): this; // the handle is a net.Socket or net.Server object, or undefined.
366
- on(event: "online", listener: () => void): this;
367
- once(event: string, listener: (...args: any[]) => void): this;
368
- once(event: "disconnect", listener: () => void): this;
369
- once(event: "error", listener: (error: Error) => void): this;
370
- once(event: "exit", listener: (code: number, signal: string) => void): this;
371
- once(event: "listening", listener: (address: Address) => void): this;
372
- once(event: "message", listener: (message: any, handle: net.Socket | net.Server) => void): this; // the handle is a net.Socket or net.Server object, or undefined.
373
- once(event: "online", listener: () => void): this;
374
- prependListener(event: string, listener: (...args: any[]) => void): this;
375
- prependListener(event: "disconnect", listener: () => void): this;
376
- prependListener(event: "error", listener: (error: Error) => void): this;
377
- prependListener(event: "exit", listener: (code: number, signal: string) => void): this;
378
- prependListener(event: "listening", listener: (address: Address) => void): this;
379
- prependListener(event: "message", listener: (message: any, handle: net.Socket | net.Server) => void): this; // the handle is a net.Socket or net.Server object, or undefined.
380
- prependListener(event: "online", listener: () => void): this;
381
- prependOnceListener(event: string, listener: (...args: any[]) => void): this;
382
- prependOnceListener(event: "disconnect", listener: () => void): this;
383
- prependOnceListener(event: "error", listener: (error: Error) => void): this;
384
- prependOnceListener(event: "exit", listener: (code: number, signal: string) => void): this;
385
- prependOnceListener(event: "listening", listener: (address: Address) => void): this;
386
- prependOnceListener(event: "message", listener: (message: any, handle: net.Socket | net.Server) => void): this; // the handle is a net.Socket or net.Server object, or undefined.
387
- prependOnceListener(event: "online", listener: () => void): this;
388
- }
389
- export interface Cluster extends EventEmitter {
390
- disconnect(callback?: () => void): void;
391
- /**
392
- * Spawn a new worker process.
393
- *
394
- * This can only be called from the primary process.
395
- * @param env Key/value pairs to add to worker process environment.
396
- * @since v0.6.0
397
- */
398
- fork(env?: any): Worker;
399
- /** @deprecated since v16.0.0 - use isPrimary. */
400
- readonly isMaster: boolean;
401
- /**
402
- * True if the process is a primary. This is determined by the `process.env.NODE_UNIQUE_ID`. If `process.env.NODE_UNIQUE_ID`
403
- * is undefined, then `isPrimary` is `true`.
404
- * @since v16.0.0
405
- */
406
- readonly isPrimary: boolean;
407
- /**
408
- * True if the process is not a primary (it is the negation of `cluster.isPrimary`).
409
- * @since v0.6.0
410
- */
411
- readonly isWorker: boolean;
412
- /**
413
- * The scheduling policy, either `cluster.SCHED_RR` for round-robin or `cluster.SCHED_NONE` to leave it to the operating system. This is a
414
- * global setting and effectively frozen once either the first worker is spawned, or [`.setupPrimary()`](https://nodejs.org/docs/latest-v20.x/api/cluster.html#clustersetupprimarysettings)
415
- * is called, whichever comes first.
416
- *
417
- * `SCHED_RR` is the default on all operating systems except Windows. Windows will change to `SCHED_RR` once libuv is able to effectively distribute
418
- * IOCP handles without incurring a large performance hit.
419
- *
420
- * `cluster.schedulingPolicy` can also be set through the `NODE_CLUSTER_SCHED_POLICY` environment variable. Valid values are `'rr'` and `'none'`.
421
- * @since v0.11.2
422
- */
423
- schedulingPolicy: number;
424
- /**
425
- * After calling [`.setupPrimary()`](https://nodejs.org/docs/latest-v20.x/api/cluster.html#clustersetupprimarysettings)
426
- * (or [`.fork()`](https://nodejs.org/docs/latest-v20.x/api/cluster.html#clusterforkenv)) this settings object will contain
427
- * the settings, including the default values.
428
- *
429
- * This object is not intended to be changed or set manually.
430
- * @since v0.7.1
431
- */
432
- readonly settings: ClusterSettings;
433
- /** @deprecated since v16.0.0 - use [`.setupPrimary()`](https://nodejs.org/docs/latest-v20.x/api/cluster.html#clustersetupprimarysettings) instead. */
434
- setupMaster(settings?: ClusterSettings): void;
435
- /**
436
- * `setupPrimary` is used to change the default 'fork' behavior. Once called, the settings will be present in `cluster.settings`.
437
- *
438
- * Any settings changes only affect future calls to [`.fork()`](https://nodejs.org/docs/latest-v20.x/api/cluster.html#clusterforkenv)
439
- * and have no effect on workers that are already running.
440
- *
441
- * The only attribute of a worker that cannot be set via `.setupPrimary()` is the `env` passed to
442
- * [`.fork()`](https://nodejs.org/docs/latest-v20.x/api/cluster.html#clusterforkenv).
443
- *
444
- * The defaults above apply to the first call only; the defaults for later calls are the current values at the time of
445
- * `cluster.setupPrimary()` is called.
446
- *
447
- * ```js
448
- * import cluster from 'node:cluster';
449
- *
450
- * cluster.setupPrimary({
451
- * exec: 'worker.js',
452
- * args: ['--use', 'https'],
453
- * silent: true,
454
- * });
455
- * cluster.fork(); // https worker
456
- * cluster.setupPrimary({
457
- * exec: 'worker.js',
458
- * args: ['--use', 'http'],
459
- * });
460
- * cluster.fork(); // http worker
461
- * ```
462
- *
463
- * This can only be called from the primary process.
464
- * @since v16.0.0
465
- */
466
- setupPrimary(settings?: ClusterSettings): void;
467
- /**
468
- * A reference to the current worker object. Not available in the primary process.
469
- *
470
- * ```js
471
- * import cluster from 'node:cluster';
472
- *
473
- * if (cluster.isPrimary) {
474
- * console.log('I am primary');
475
- * cluster.fork();
476
- * cluster.fork();
477
- * } else if (cluster.isWorker) {
478
- * console.log(`I am worker #${cluster.worker.id}`);
479
- * }
480
- * ```
481
- * @since v0.7.0
482
- */
483
- readonly worker?: Worker | undefined;
484
- /**
485
- * A hash that stores the active worker objects, keyed by `id` field. This makes it easy to loop through all the workers. It is only available in the primary process.
486
- *
487
- * A worker is removed from `cluster.workers` after the worker has disconnected _and_ exited. The order between these two events cannot be determined in advance. However, it
488
- * is guaranteed that the removal from the `cluster.workers` list happens before the last `'disconnect'` or `'exit'` event is emitted.
489
- *
490
- * ```js
491
- * import cluster from 'node:cluster';
492
- *
493
- * for (const worker of Object.values(cluster.workers)) {
494
- * worker.send('big announcement to all workers');
495
- * }
496
- * ```
497
- * @since v0.7.0
498
- */
499
- readonly workers?: NodeJS.Dict<Worker> | undefined;
500
- readonly SCHED_NONE: number;
501
- readonly SCHED_RR: number;
502
- /**
503
- * events.EventEmitter
504
- * 1. disconnect
505
- * 2. exit
506
- * 3. fork
507
- * 4. listening
508
- * 5. message
509
- * 6. online
510
- * 7. setup
511
- */
512
- addListener(event: string, listener: (...args: any[]) => void): this;
513
- addListener(event: "disconnect", listener: (worker: Worker) => void): this;
514
- addListener(event: "exit", listener: (worker: Worker, code: number, signal: string) => void): this;
515
- addListener(event: "fork", listener: (worker: Worker) => void): this;
516
- addListener(event: "listening", listener: (worker: Worker, address: Address) => void): this;
517
- addListener(
518
- event: "message",
519
- listener: (worker: Worker, message: any, handle: net.Socket | net.Server) => void,
520
- ): this; // the handle is a net.Socket or net.Server object, or undefined.
521
- addListener(event: "online", listener: (worker: Worker) => void): this;
522
- addListener(event: "setup", listener: (settings: ClusterSettings) => void): this;
523
- emit(event: string | symbol, ...args: any[]): boolean;
524
- emit(event: "disconnect", worker: Worker): boolean;
525
- emit(event: "exit", worker: Worker, code: number, signal: string): boolean;
526
- emit(event: "fork", worker: Worker): boolean;
527
- emit(event: "listening", worker: Worker, address: Address): boolean;
528
- emit(event: "message", worker: Worker, message: any, handle: net.Socket | net.Server): boolean;
529
- emit(event: "online", worker: Worker): boolean;
530
- emit(event: "setup", settings: ClusterSettings): boolean;
531
- on(event: string, listener: (...args: any[]) => void): this;
532
- on(event: "disconnect", listener: (worker: Worker) => void): this;
533
- on(event: "exit", listener: (worker: Worker, code: number, signal: string) => void): this;
534
- on(event: "fork", listener: (worker: Worker) => void): this;
535
- on(event: "listening", listener: (worker: Worker, address: Address) => void): this;
536
- on(event: "message", listener: (worker: Worker, message: any, handle: net.Socket | net.Server) => void): this; // the handle is a net.Socket or net.Server object, or undefined.
537
- on(event: "online", listener: (worker: Worker) => void): this;
538
- on(event: "setup", listener: (settings: ClusterSettings) => void): this;
539
- once(event: string, listener: (...args: any[]) => void): this;
540
- once(event: "disconnect", listener: (worker: Worker) => void): this;
541
- once(event: "exit", listener: (worker: Worker, code: number, signal: string) => void): this;
542
- once(event: "fork", listener: (worker: Worker) => void): this;
543
- once(event: "listening", listener: (worker: Worker, address: Address) => void): this;
544
- once(event: "message", listener: (worker: Worker, message: any, handle: net.Socket | net.Server) => void): this; // the handle is a net.Socket or net.Server object, or undefined.
545
- once(event: "online", listener: (worker: Worker) => void): this;
546
- once(event: "setup", listener: (settings: ClusterSettings) => void): this;
547
- prependListener(event: string, listener: (...args: any[]) => void): this;
548
- prependListener(event: "disconnect", listener: (worker: Worker) => void): this;
549
- prependListener(event: "exit", listener: (worker: Worker, code: number, signal: string) => void): this;
550
- prependListener(event: "fork", listener: (worker: Worker) => void): this;
551
- prependListener(event: "listening", listener: (worker: Worker, address: Address) => void): this;
552
- // the handle is a net.Socket or net.Server object, or undefined.
553
- prependListener(
554
- event: "message",
555
- listener: (worker: Worker, message: any, handle?: net.Socket | net.Server) => void,
556
- ): this;
557
- prependListener(event: "online", listener: (worker: Worker) => void): this;
558
- prependListener(event: "setup", listener: (settings: ClusterSettings) => void): this;
559
- prependOnceListener(event: string, listener: (...args: any[]) => void): this;
560
- prependOnceListener(event: "disconnect", listener: (worker: Worker) => void): this;
561
- prependOnceListener(event: "exit", listener: (worker: Worker, code: number, signal: string) => void): this;
562
- prependOnceListener(event: "fork", listener: (worker: Worker) => void): this;
563
- prependOnceListener(event: "listening", listener: (worker: Worker, address: Address) => void): this;
564
- // the handle is a net.Socket or net.Server object, or undefined.
565
- prependOnceListener(
566
- event: "message",
567
- listener: (worker: Worker, message: any, handle: net.Socket | net.Server) => void,
568
- ): this;
569
- prependOnceListener(event: "online", listener: (worker: Worker) => void): this;
570
- prependOnceListener(event: "setup", listener: (settings: ClusterSettings) => void): this;
571
- }
572
- const cluster: Cluster;
573
- export default cluster;
574
- }
575
- declare module "node:cluster" {
576
- export * from "cluster";
577
- export { default as default } from "cluster";
578
- }