rahad-all-downloader 2.1.16 → 2.1.17

Sign up to get free protection for your applications and to get access to all the features.
Files changed (188) 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/env/latest +0 -123
  8. package/.cache/replit/env/latest.json +0 -1
  9. package/.cache/replit/modules/nix.res +0 -1
  10. package/.cache/replit/modules/nodejs-20.res +0 -1
  11. package/.cache/replit/modules/replit.res +0 -1
  12. package/.cache/replit/modules.stamp +0 -0
  13. package/.cache/replit/nix/env.json +0 -1
  14. package/.cache/typescript/5.4/node_modules/.package-lock.json +0 -137
  15. package/.cache/typescript/5.4/node_modules/@types/caseless/LICENSE +0 -21
  16. package/.cache/typescript/5.4/node_modules/@types/caseless/README.md +0 -48
  17. package/.cache/typescript/5.4/node_modules/@types/caseless/index.d.ts +0 -29
  18. package/.cache/typescript/5.4/node_modules/@types/caseless/package.json +0 -35
  19. package/.cache/typescript/5.4/node_modules/@types/node/LICENSE +0 -21
  20. package/.cache/typescript/5.4/node_modules/@types/node/README.md +0 -15
  21. package/.cache/typescript/5.4/node_modules/@types/node/assert/strict.d.ts +0 -8
  22. package/.cache/typescript/5.4/node_modules/@types/node/assert.d.ts +0 -1040
  23. package/.cache/typescript/5.4/node_modules/@types/node/async_hooks.d.ts +0 -541
  24. package/.cache/typescript/5.4/node_modules/@types/node/buffer.d.ts +0 -2363
  25. package/.cache/typescript/5.4/node_modules/@types/node/child_process.d.ts +0 -1544
  26. package/.cache/typescript/5.4/node_modules/@types/node/cluster.d.ts +0 -578
  27. package/.cache/typescript/5.4/node_modules/@types/node/console.d.ts +0 -452
  28. package/.cache/typescript/5.4/node_modules/@types/node/constants.d.ts +0 -19
  29. package/.cache/typescript/5.4/node_modules/@types/node/crypto.d.ts +0 -4523
  30. package/.cache/typescript/5.4/node_modules/@types/node/dgram.d.ts +0 -596
  31. package/.cache/typescript/5.4/node_modules/@types/node/diagnostics_channel.d.ts +0 -554
  32. package/.cache/typescript/5.4/node_modules/@types/node/dns/promises.d.ts +0 -474
  33. package/.cache/typescript/5.4/node_modules/@types/node/dns.d.ts +0 -864
  34. package/.cache/typescript/5.4/node_modules/@types/node/dom-events.d.ts +0 -124
  35. package/.cache/typescript/5.4/node_modules/@types/node/domain.d.ts +0 -170
  36. package/.cache/typescript/5.4/node_modules/@types/node/events.d.ts +0 -909
  37. package/.cache/typescript/5.4/node_modules/@types/node/fs/promises.d.ts +0 -1245
  38. package/.cache/typescript/5.4/node_modules/@types/node/fs.d.ts +0 -4317
  39. package/.cache/typescript/5.4/node_modules/@types/node/globals.d.ts +0 -411
  40. package/.cache/typescript/5.4/node_modules/@types/node/globals.global.d.ts +0 -1
  41. package/.cache/typescript/5.4/node_modules/@types/node/http.d.ts +0 -1908
  42. package/.cache/typescript/5.4/node_modules/@types/node/http2.d.ts +0 -2418
  43. package/.cache/typescript/5.4/node_modules/@types/node/https.d.ts +0 -550
  44. package/.cache/typescript/5.4/node_modules/@types/node/index.d.ts +0 -89
  45. package/.cache/typescript/5.4/node_modules/@types/node/inspector.d.ts +0 -2746
  46. package/.cache/typescript/5.4/node_modules/@types/node/module.d.ts +0 -315
  47. package/.cache/typescript/5.4/node_modules/@types/node/net.d.ts +0 -999
  48. package/.cache/typescript/5.4/node_modules/@types/node/os.d.ts +0 -495
  49. package/.cache/typescript/5.4/node_modules/@types/node/package.json +0 -217
  50. package/.cache/typescript/5.4/node_modules/@types/node/path.d.ts +0 -191
  51. package/.cache/typescript/5.4/node_modules/@types/node/perf_hooks.d.ts +0 -905
  52. package/.cache/typescript/5.4/node_modules/@types/node/process.d.ts +0 -1754
  53. package/.cache/typescript/5.4/node_modules/@types/node/punycode.d.ts +0 -117
  54. package/.cache/typescript/5.4/node_modules/@types/node/querystring.d.ts +0 -153
  55. package/.cache/typescript/5.4/node_modules/@types/node/readline/promises.d.ts +0 -150
  56. package/.cache/typescript/5.4/node_modules/@types/node/readline.d.ts +0 -540
  57. package/.cache/typescript/5.4/node_modules/@types/node/repl.d.ts +0 -430
  58. package/.cache/typescript/5.4/node_modules/@types/node/sea.d.ts +0 -153
  59. package/.cache/typescript/5.4/node_modules/@types/node/stream/consumers.d.ts +0 -12
  60. package/.cache/typescript/5.4/node_modules/@types/node/stream/promises.d.ts +0 -83
  61. package/.cache/typescript/5.4/node_modules/@types/node/stream/web.d.ts +0 -367
  62. package/.cache/typescript/5.4/node_modules/@types/node/stream.d.ts +0 -1707
  63. package/.cache/typescript/5.4/node_modules/@types/node/string_decoder.d.ts +0 -67
  64. package/.cache/typescript/5.4/node_modules/@types/node/test.d.ts +0 -1718
  65. package/.cache/typescript/5.4/node_modules/@types/node/timers/promises.d.ts +0 -97
  66. package/.cache/typescript/5.4/node_modules/@types/node/timers.d.ts +0 -240
  67. package/.cache/typescript/5.4/node_modules/@types/node/tls.d.ts +0 -1217
  68. package/.cache/typescript/5.4/node_modules/@types/node/trace_events.d.ts +0 -197
  69. package/.cache/typescript/5.4/node_modules/@types/node/tty.d.ts +0 -208
  70. package/.cache/typescript/5.4/node_modules/@types/node/url.d.ts +0 -952
  71. package/.cache/typescript/5.4/node_modules/@types/node/util.d.ts +0 -2292
  72. package/.cache/typescript/5.4/node_modules/@types/node/v8.d.ts +0 -808
  73. package/.cache/typescript/5.4/node_modules/@types/node/vm.d.ts +0 -924
  74. package/.cache/typescript/5.4/node_modules/@types/node/wasi.d.ts +0 -181
  75. package/.cache/typescript/5.4/node_modules/@types/node/worker_threads.d.ts +0 -691
  76. package/.cache/typescript/5.4/node_modules/@types/node/zlib.d.ts +0 -530
  77. package/.cache/typescript/5.4/node_modules/@types/node-fetch/LICENSE +0 -21
  78. package/.cache/typescript/5.4/node_modules/@types/node-fetch/README.md +0 -15
  79. package/.cache/typescript/5.4/node_modules/@types/node-fetch/externals.d.ts +0 -32
  80. package/.cache/typescript/5.4/node_modules/@types/node-fetch/index.d.ts +0 -238
  81. package/.cache/typescript/5.4/node_modules/@types/node-fetch/package.json +0 -83
  82. package/.cache/typescript/5.4/node_modules/@types/request/LICENSE +0 -21
  83. package/.cache/typescript/5.4/node_modules/@types/request/README.md +0 -15
  84. package/.cache/typescript/5.4/node_modules/@types/request/index.d.ts +0 -395
  85. package/.cache/typescript/5.4/node_modules/@types/request/node_modules/form-data/License +0 -19
  86. package/.cache/typescript/5.4/node_modules/@types/request/node_modules/form-data/README.md +0 -350
  87. package/.cache/typescript/5.4/node_modules/@types/request/node_modules/form-data/README.md.bak +0 -350
  88. package/.cache/typescript/5.4/node_modules/@types/request/node_modules/form-data/index.d.ts +0 -51
  89. package/.cache/typescript/5.4/node_modules/@types/request/node_modules/form-data/lib/browser.js +0 -2
  90. package/.cache/typescript/5.4/node_modules/@types/request/node_modules/form-data/lib/form_data.js +0 -483
  91. package/.cache/typescript/5.4/node_modules/@types/request/node_modules/form-data/lib/populate.js +0 -10
  92. package/.cache/typescript/5.4/node_modules/@types/request/node_modules/form-data/package.json +0 -68
  93. package/.cache/typescript/5.4/node_modules/@types/request/package.json +0 -70
  94. package/.cache/typescript/5.4/node_modules/@types/tough-cookie/LICENSE +0 -21
  95. package/.cache/typescript/5.4/node_modules/@types/tough-cookie/README.md +0 -15
  96. package/.cache/typescript/5.4/node_modules/@types/tough-cookie/index.d.ts +0 -321
  97. package/.cache/typescript/5.4/node_modules/@types/tough-cookie/package.json +0 -35
  98. package/.cache/typescript/5.4/node_modules/asynckit/LICENSE +0 -21
  99. package/.cache/typescript/5.4/node_modules/asynckit/README.md +0 -233
  100. package/.cache/typescript/5.4/node_modules/asynckit/bench.js +0 -76
  101. package/.cache/typescript/5.4/node_modules/asynckit/index.js +0 -6
  102. package/.cache/typescript/5.4/node_modules/asynckit/lib/abort.js +0 -29
  103. package/.cache/typescript/5.4/node_modules/asynckit/lib/async.js +0 -34
  104. package/.cache/typescript/5.4/node_modules/asynckit/lib/defer.js +0 -26
  105. package/.cache/typescript/5.4/node_modules/asynckit/lib/iterate.js +0 -75
  106. package/.cache/typescript/5.4/node_modules/asynckit/lib/readable_asynckit.js +0 -91
  107. package/.cache/typescript/5.4/node_modules/asynckit/lib/readable_parallel.js +0 -25
  108. package/.cache/typescript/5.4/node_modules/asynckit/lib/readable_serial.js +0 -25
  109. package/.cache/typescript/5.4/node_modules/asynckit/lib/readable_serial_ordered.js +0 -29
  110. package/.cache/typescript/5.4/node_modules/asynckit/lib/state.js +0 -37
  111. package/.cache/typescript/5.4/node_modules/asynckit/lib/streamify.js +0 -141
  112. package/.cache/typescript/5.4/node_modules/asynckit/lib/terminator.js +0 -29
  113. package/.cache/typescript/5.4/node_modules/asynckit/package.json +0 -63
  114. package/.cache/typescript/5.4/node_modules/asynckit/parallel.js +0 -43
  115. package/.cache/typescript/5.4/node_modules/asynckit/serial.js +0 -17
  116. package/.cache/typescript/5.4/node_modules/asynckit/serialOrdered.js +0 -75
  117. package/.cache/typescript/5.4/node_modules/asynckit/stream.js +0 -21
  118. package/.cache/typescript/5.4/node_modules/combined-stream/License +0 -19
  119. package/.cache/typescript/5.4/node_modules/combined-stream/Readme.md +0 -138
  120. package/.cache/typescript/5.4/node_modules/combined-stream/lib/combined_stream.js +0 -208
  121. package/.cache/typescript/5.4/node_modules/combined-stream/package.json +0 -25
  122. package/.cache/typescript/5.4/node_modules/combined-stream/yarn.lock +0 -17
  123. package/.cache/typescript/5.4/node_modules/delayed-stream/License +0 -19
  124. package/.cache/typescript/5.4/node_modules/delayed-stream/Makefile +0 -7
  125. package/.cache/typescript/5.4/node_modules/delayed-stream/Readme.md +0 -141
  126. package/.cache/typescript/5.4/node_modules/delayed-stream/lib/delayed_stream.js +0 -107
  127. package/.cache/typescript/5.4/node_modules/delayed-stream/package.json +0 -27
  128. package/.cache/typescript/5.4/node_modules/form-data/License +0 -19
  129. package/.cache/typescript/5.4/node_modules/form-data/README.md.bak +0 -358
  130. package/.cache/typescript/5.4/node_modules/form-data/Readme.md +0 -358
  131. package/.cache/typescript/5.4/node_modules/form-data/index.d.ts +0 -62
  132. package/.cache/typescript/5.4/node_modules/form-data/lib/browser.js +0 -2
  133. package/.cache/typescript/5.4/node_modules/form-data/lib/form_data.js +0 -501
  134. package/.cache/typescript/5.4/node_modules/form-data/lib/populate.js +0 -10
  135. package/.cache/typescript/5.4/node_modules/form-data/package.json +0 -68
  136. package/.cache/typescript/5.4/node_modules/mime-db/HISTORY.md +0 -507
  137. package/.cache/typescript/5.4/node_modules/mime-db/LICENSE +0 -23
  138. package/.cache/typescript/5.4/node_modules/mime-db/README.md +0 -100
  139. package/.cache/typescript/5.4/node_modules/mime-db/db.json +0 -8519
  140. package/.cache/typescript/5.4/node_modules/mime-db/index.js +0 -12
  141. package/.cache/typescript/5.4/node_modules/mime-db/package.json +0 -60
  142. package/.cache/typescript/5.4/node_modules/mime-types/HISTORY.md +0 -397
  143. package/.cache/typescript/5.4/node_modules/mime-types/LICENSE +0 -23
  144. package/.cache/typescript/5.4/node_modules/mime-types/README.md +0 -113
  145. package/.cache/typescript/5.4/node_modules/mime-types/index.js +0 -188
  146. package/.cache/typescript/5.4/node_modules/mime-types/package.json +0 -44
  147. package/.cache/typescript/5.4/node_modules/types-registry/README.md +0 -2
  148. package/.cache/typescript/5.4/node_modules/types-registry/index.json +0 -1
  149. package/.cache/typescript/5.4/node_modules/types-registry/package.json +0 -20
  150. package/.cache/typescript/5.4/node_modules/undici-types/README.md +0 -6
  151. package/.cache/typescript/5.4/node_modules/undici-types/agent.d.ts +0 -31
  152. package/.cache/typescript/5.4/node_modules/undici-types/api.d.ts +0 -43
  153. package/.cache/typescript/5.4/node_modules/undici-types/balanced-pool.d.ts +0 -18
  154. package/.cache/typescript/5.4/node_modules/undici-types/cache.d.ts +0 -36
  155. package/.cache/typescript/5.4/node_modules/undici-types/client.d.ts +0 -97
  156. package/.cache/typescript/5.4/node_modules/undici-types/connector.d.ts +0 -34
  157. package/.cache/typescript/5.4/node_modules/undici-types/content-type.d.ts +0 -21
  158. package/.cache/typescript/5.4/node_modules/undici-types/cookies.d.ts +0 -28
  159. package/.cache/typescript/5.4/node_modules/undici-types/diagnostics-channel.d.ts +0 -67
  160. package/.cache/typescript/5.4/node_modules/undici-types/dispatcher.d.ts +0 -241
  161. package/.cache/typescript/5.4/node_modules/undici-types/errors.d.ts +0 -128
  162. package/.cache/typescript/5.4/node_modules/undici-types/fetch.d.ts +0 -209
  163. package/.cache/typescript/5.4/node_modules/undici-types/file.d.ts +0 -39
  164. package/.cache/typescript/5.4/node_modules/undici-types/filereader.d.ts +0 -54
  165. package/.cache/typescript/5.4/node_modules/undici-types/formdata.d.ts +0 -108
  166. package/.cache/typescript/5.4/node_modules/undici-types/global-dispatcher.d.ts +0 -9
  167. package/.cache/typescript/5.4/node_modules/undici-types/global-origin.d.ts +0 -7
  168. package/.cache/typescript/5.4/node_modules/undici-types/handlers.d.ts +0 -9
  169. package/.cache/typescript/5.4/node_modules/undici-types/header.d.ts +0 -4
  170. package/.cache/typescript/5.4/node_modules/undici-types/index.d.ts +0 -63
  171. package/.cache/typescript/5.4/node_modules/undici-types/interceptors.d.ts +0 -5
  172. package/.cache/typescript/5.4/node_modules/undici-types/mock-agent.d.ts +0 -50
  173. package/.cache/typescript/5.4/node_modules/undici-types/mock-client.d.ts +0 -25
  174. package/.cache/typescript/5.4/node_modules/undici-types/mock-errors.d.ts +0 -12
  175. package/.cache/typescript/5.4/node_modules/undici-types/mock-interceptor.d.ts +0 -93
  176. package/.cache/typescript/5.4/node_modules/undici-types/mock-pool.d.ts +0 -25
  177. package/.cache/typescript/5.4/node_modules/undici-types/package.json +0 -55
  178. package/.cache/typescript/5.4/node_modules/undici-types/patch.d.ts +0 -71
  179. package/.cache/typescript/5.4/node_modules/undici-types/pool-stats.d.ts +0 -19
  180. package/.cache/typescript/5.4/node_modules/undici-types/pool.d.ts +0 -28
  181. package/.cache/typescript/5.4/node_modules/undici-types/proxy-agent.d.ts +0 -30
  182. package/.cache/typescript/5.4/node_modules/undici-types/readable.d.ts +0 -61
  183. package/.cache/typescript/5.4/node_modules/undici-types/webidl.d.ts +0 -220
  184. package/.cache/typescript/5.4/node_modules/undici-types/websocket.d.ts +0 -131
  185. package/.cache/typescript/5.4/package-lock.json +0 -146
  186. package/.cache/typescript/5.4/package.json +0 -1
  187. package/.replit +0 -21
  188. package/replit.nix +0 -3
@@ -1,540 +0,0 @@
1
- /**
2
- * The `node:readline` module provides an interface for reading data from a [Readable](https://nodejs.org/docs/latest-v20.x/api/stream.html#readable-streams) stream
3
- * (such as [`process.stdin`](https://nodejs.org/docs/latest-v20.x/api/process.html#processstdin)) one line at a time.
4
- *
5
- * To use the promise-based APIs:
6
- *
7
- * ```js
8
- * import * as readline from 'node:readline/promises';
9
- * ```
10
- *
11
- * To use the callback and sync APIs:
12
- *
13
- * ```js
14
- * import * as readline from 'node:readline';
15
- * ```
16
- *
17
- * The following simple example illustrates the basic use of the `node:readline` module.
18
- *
19
- * ```js
20
- * import * as readline from 'node:readline/promises';
21
- * import { stdin as input, stdout as output } from 'node:process';
22
- *
23
- * const rl = readline.createInterface({ input, output });
24
- *
25
- * const answer = await rl.question('What do you think of Node.js? ');
26
- *
27
- * console.log(`Thank you for your valuable feedback: ${answer}`);
28
- *
29
- * rl.close();
30
- * ```
31
- *
32
- * Once this code is invoked, the Node.js application will not terminate until the `readline.Interface` is closed because the interface waits for data to be
33
- * received on the `input` stream.
34
- * @see [source](https://github.com/nodejs/node/blob/v20.13.1/lib/readline.js)
35
- */
36
- declare module "readline" {
37
- import { Abortable, EventEmitter } from "node:events";
38
- import * as promises from "node:readline/promises";
39
- export { promises };
40
- export interface Key {
41
- sequence?: string | undefined;
42
- name?: string | undefined;
43
- ctrl?: boolean | undefined;
44
- meta?: boolean | undefined;
45
- shift?: boolean | undefined;
46
- }
47
- /**
48
- * Instances of the `readline.Interface` class are constructed using the `readline.createInterface()` method. Every instance is associated with a
49
- * single `input` [Readable](https://nodejs.org/docs/latest-v20.x/api/stream.html#readable-streams) stream and a single `output` [Writable](https://nodejs.org/docs/latest-v20.x/api/stream.html#writable-streams) stream.
50
- * The `output` stream is used to print prompts for user input that arrives on,
51
- * and is read from, the `input` stream.
52
- * @since v0.1.104
53
- */
54
- export class Interface extends EventEmitter {
55
- readonly terminal: boolean;
56
- /**
57
- * The current input data being processed by node.
58
- *
59
- * This can be used when collecting input from a TTY stream to retrieve the
60
- * current value that has been processed thus far, prior to the `line` event
61
- * being emitted. Once the `line` event has been emitted, this property will
62
- * be an empty string.
63
- *
64
- * Be aware that modifying the value during the instance runtime may have
65
- * unintended consequences if `rl.cursor` is not also controlled.
66
- *
67
- * **If not using a TTY stream for input, use the `'line'` event.**
68
- *
69
- * One possible use case would be as follows:
70
- *
71
- * ```js
72
- * const values = ['lorem ipsum', 'dolor sit amet'];
73
- * const rl = readline.createInterface(process.stdin);
74
- * const showResults = debounce(() => {
75
- * console.log(
76
- * '\n',
77
- * values.filter((val) => val.startsWith(rl.line)).join(' '),
78
- * );
79
- * }, 300);
80
- * process.stdin.on('keypress', (c, k) => {
81
- * showResults();
82
- * });
83
- * ```
84
- * @since v0.1.98
85
- */
86
- readonly line: string;
87
- /**
88
- * The cursor position relative to `rl.line`.
89
- *
90
- * This will track where the current cursor lands in the input string, when
91
- * reading input from a TTY stream. The position of cursor determines the
92
- * portion of the input string that will be modified as input is processed,
93
- * as well as the column where the terminal caret will be rendered.
94
- * @since v0.1.98
95
- */
96
- readonly cursor: number;
97
- /**
98
- * NOTE: According to the documentation:
99
- *
100
- * > Instances of the `readline.Interface` class are constructed using the
101
- * > `readline.createInterface()` method.
102
- *
103
- * @see https://nodejs.org/dist/latest-v20.x/docs/api/readline.html#class-interfaceconstructor
104
- */
105
- protected constructor(
106
- input: NodeJS.ReadableStream,
107
- output?: NodeJS.WritableStream,
108
- completer?: Completer | AsyncCompleter,
109
- terminal?: boolean,
110
- );
111
- /**
112
- * NOTE: According to the documentation:
113
- *
114
- * > Instances of the `readline.Interface` class are constructed using the
115
- * > `readline.createInterface()` method.
116
- *
117
- * @see https://nodejs.org/dist/latest-v20.x/docs/api/readline.html#class-interfaceconstructor
118
- */
119
- protected constructor(options: ReadLineOptions);
120
- /**
121
- * The `rl.getPrompt()` method returns the current prompt used by `rl.prompt()`.
122
- * @since v15.3.0, v14.17.0
123
- * @return the current prompt string
124
- */
125
- getPrompt(): string;
126
- /**
127
- * The `rl.setPrompt()` method sets the prompt that will be written to `output` whenever `rl.prompt()` is called.
128
- * @since v0.1.98
129
- */
130
- setPrompt(prompt: string): void;
131
- /**
132
- * The `rl.prompt()` method writes the `Interface` instances configured`prompt` to a new line in `output` in order to provide a user with a new
133
- * location at which to provide input.
134
- *
135
- * When called, `rl.prompt()` will resume the `input` stream if it has been
136
- * paused.
137
- *
138
- * If the `Interface` was created with `output` set to `null` or `undefined` the prompt is not written.
139
- * @since v0.1.98
140
- * @param preserveCursor If `true`, prevents the cursor placement from being reset to `0`.
141
- */
142
- prompt(preserveCursor?: boolean): void;
143
- /**
144
- * The `rl.question()` method displays the `query` by writing it to the `output`,
145
- * waits for user input to be provided on `input`, then invokes the `callback` function passing the provided input as the first argument.
146
- *
147
- * When called, `rl.question()` will resume the `input` stream if it has been
148
- * paused.
149
- *
150
- * If the `Interface` was created with `output` set to `null` or `undefined` the `query` is not written.
151
- *
152
- * The `callback` function passed to `rl.question()` does not follow the typical
153
- * pattern of accepting an `Error` object or `null` as the first argument.
154
- * The `callback` is called with the provided answer as the only argument.
155
- *
156
- * An error will be thrown if calling `rl.question()` after `rl.close()`.
157
- *
158
- * Example usage:
159
- *
160
- * ```js
161
- * rl.question('What is your favorite food? ', (answer) => {
162
- * console.log(`Oh, so your favorite food is ${answer}`);
163
- * });
164
- * ```
165
- *
166
- * Using an `AbortController` to cancel a question.
167
- *
168
- * ```js
169
- * const ac = new AbortController();
170
- * const signal = ac.signal;
171
- *
172
- * rl.question('What is your favorite food? ', { signal }, (answer) => {
173
- * console.log(`Oh, so your favorite food is ${answer}`);
174
- * });
175
- *
176
- * signal.addEventListener('abort', () => {
177
- * console.log('The food question timed out');
178
- * }, { once: true });
179
- *
180
- * setTimeout(() => ac.abort(), 10000);
181
- * ```
182
- * @since v0.3.3
183
- * @param query A statement or query to write to `output`, prepended to the prompt.
184
- * @param callback A callback function that is invoked with the user's input in response to the `query`.
185
- */
186
- question(query: string, callback: (answer: string) => void): void;
187
- question(query: string, options: Abortable, callback: (answer: string) => void): void;
188
- /**
189
- * The `rl.pause()` method pauses the `input` stream, allowing it to be resumed
190
- * later if necessary.
191
- *
192
- * Calling `rl.pause()` does not immediately pause other events (including `'line'`) from being emitted by the `Interface` instance.
193
- * @since v0.3.4
194
- */
195
- pause(): this;
196
- /**
197
- * The `rl.resume()` method resumes the `input` stream if it has been paused.
198
- * @since v0.3.4
199
- */
200
- resume(): this;
201
- /**
202
- * The `rl.close()` method closes the `Interface` instance and
203
- * relinquishes control over the `input` and `output` streams. When called,
204
- * the `'close'` event will be emitted.
205
- *
206
- * Calling `rl.close()` does not immediately stop other events (including `'line'`)
207
- * from being emitted by the `Interface` instance.
208
- * @since v0.1.98
209
- */
210
- close(): void;
211
- /**
212
- * The `rl.write()` method will write either `data` or a key sequence identified
213
- * by `key` to the `output`. The `key` argument is supported only if `output` is
214
- * a `TTY` text terminal. See `TTY keybindings` for a list of key
215
- * combinations.
216
- *
217
- * If `key` is specified, `data` is ignored.
218
- *
219
- * When called, `rl.write()` will resume the `input` stream if it has been
220
- * paused.
221
- *
222
- * If the `Interface` was created with `output` set to `null` or `undefined` the `data` and `key` are not written.
223
- *
224
- * ```js
225
- * rl.write('Delete this!');
226
- * // Simulate Ctrl+U to delete the line written previously
227
- * rl.write(null, { ctrl: true, name: 'u' });
228
- * ```
229
- *
230
- * The `rl.write()` method will write the data to the `readline` `Interface`'s `input` _as if it were provided by the user_.
231
- * @since v0.1.98
232
- */
233
- write(data: string | Buffer, key?: Key): void;
234
- write(data: undefined | null | string | Buffer, key: Key): void;
235
- /**
236
- * Returns the real position of the cursor in relation to the input
237
- * prompt + string. Long input (wrapping) strings, as well as multiple
238
- * line prompts are included in the calculations.
239
- * @since v13.5.0, v12.16.0
240
- */
241
- getCursorPos(): CursorPos;
242
- /**
243
- * events.EventEmitter
244
- * 1. close
245
- * 2. line
246
- * 3. pause
247
- * 4. resume
248
- * 5. SIGCONT
249
- * 6. SIGINT
250
- * 7. SIGTSTP
251
- * 8. history
252
- */
253
- addListener(event: string, listener: (...args: any[]) => void): this;
254
- addListener(event: "close", listener: () => void): this;
255
- addListener(event: "line", listener: (input: string) => void): this;
256
- addListener(event: "pause", listener: () => void): this;
257
- addListener(event: "resume", listener: () => void): this;
258
- addListener(event: "SIGCONT", listener: () => void): this;
259
- addListener(event: "SIGINT", listener: () => void): this;
260
- addListener(event: "SIGTSTP", listener: () => void): this;
261
- addListener(event: "history", listener: (history: string[]) => void): this;
262
- emit(event: string | symbol, ...args: any[]): boolean;
263
- emit(event: "close"): boolean;
264
- emit(event: "line", input: string): boolean;
265
- emit(event: "pause"): boolean;
266
- emit(event: "resume"): boolean;
267
- emit(event: "SIGCONT"): boolean;
268
- emit(event: "SIGINT"): boolean;
269
- emit(event: "SIGTSTP"): boolean;
270
- emit(event: "history", history: string[]): boolean;
271
- on(event: string, listener: (...args: any[]) => void): this;
272
- on(event: "close", listener: () => void): this;
273
- on(event: "line", listener: (input: string) => void): this;
274
- on(event: "pause", listener: () => void): this;
275
- on(event: "resume", listener: () => void): this;
276
- on(event: "SIGCONT", listener: () => void): this;
277
- on(event: "SIGINT", listener: () => void): this;
278
- on(event: "SIGTSTP", listener: () => void): this;
279
- on(event: "history", listener: (history: string[]) => void): this;
280
- once(event: string, listener: (...args: any[]) => void): this;
281
- once(event: "close", listener: () => void): this;
282
- once(event: "line", listener: (input: string) => void): this;
283
- once(event: "pause", listener: () => void): this;
284
- once(event: "resume", listener: () => void): this;
285
- once(event: "SIGCONT", listener: () => void): this;
286
- once(event: "SIGINT", listener: () => void): this;
287
- once(event: "SIGTSTP", listener: () => void): this;
288
- once(event: "history", listener: (history: string[]) => void): this;
289
- prependListener(event: string, listener: (...args: any[]) => void): this;
290
- prependListener(event: "close", listener: () => void): this;
291
- prependListener(event: "line", listener: (input: string) => void): this;
292
- prependListener(event: "pause", listener: () => void): this;
293
- prependListener(event: "resume", listener: () => void): this;
294
- prependListener(event: "SIGCONT", listener: () => void): this;
295
- prependListener(event: "SIGINT", listener: () => void): this;
296
- prependListener(event: "SIGTSTP", listener: () => void): this;
297
- prependListener(event: "history", listener: (history: string[]) => void): this;
298
- prependOnceListener(event: string, listener: (...args: any[]) => void): this;
299
- prependOnceListener(event: "close", listener: () => void): this;
300
- prependOnceListener(event: "line", listener: (input: string) => void): this;
301
- prependOnceListener(event: "pause", listener: () => void): this;
302
- prependOnceListener(event: "resume", listener: () => void): this;
303
- prependOnceListener(event: "SIGCONT", listener: () => void): this;
304
- prependOnceListener(event: "SIGINT", listener: () => void): this;
305
- prependOnceListener(event: "SIGTSTP", listener: () => void): this;
306
- prependOnceListener(event: "history", listener: (history: string[]) => void): this;
307
- [Symbol.asyncIterator](): AsyncIterableIterator<string>;
308
- }
309
- export type ReadLine = Interface; // type forwarded for backwards compatibility
310
- export type Completer = (line: string) => CompleterResult;
311
- export type AsyncCompleter = (
312
- line: string,
313
- callback: (err?: null | Error, result?: CompleterResult) => void,
314
- ) => void;
315
- export type CompleterResult = [string[], string];
316
- export interface ReadLineOptions {
317
- input: NodeJS.ReadableStream;
318
- output?: NodeJS.WritableStream | undefined;
319
- completer?: Completer | AsyncCompleter | undefined;
320
- terminal?: boolean | undefined;
321
- /**
322
- * Initial list of history lines. This option makes sense
323
- * only if `terminal` is set to `true` by the user or by an internal `output`
324
- * check, otherwise the history caching mechanism is not initialized at all.
325
- * @default []
326
- */
327
- history?: string[] | undefined;
328
- historySize?: number | undefined;
329
- prompt?: string | undefined;
330
- crlfDelay?: number | undefined;
331
- /**
332
- * If `true`, when a new input line added
333
- * to the history list duplicates an older one, this removes the older line
334
- * from the list.
335
- * @default false
336
- */
337
- removeHistoryDuplicates?: boolean | undefined;
338
- escapeCodeTimeout?: number | undefined;
339
- tabSize?: number | undefined;
340
- }
341
- /**
342
- * The `readline.createInterface()` method creates a new `readline.Interface` instance.
343
- *
344
- * ```js
345
- * const readline = require('node:readline');
346
- * const rl = readline.createInterface({
347
- * input: process.stdin,
348
- * output: process.stdout,
349
- * });
350
- * ```
351
- *
352
- * Once the `readline.Interface` instance is created, the most common case is to
353
- * listen for the `'line'` event:
354
- *
355
- * ```js
356
- * rl.on('line', (line) => {
357
- * console.log(`Received: ${line}`);
358
- * });
359
- * ```
360
- *
361
- * If `terminal` is `true` for this instance then the `output` stream will get
362
- * the best compatibility if it defines an `output.columns` property and emits
363
- * a `'resize'` event on the `output` if or when the columns ever change
364
- * (`process.stdout` does this automatically when it is a TTY).
365
- *
366
- * When creating a `readline.Interface` using `stdin` as input, the program
367
- * will not terminate until it receives an [EOF character](https://en.wikipedia.org/wiki/End-of-file#EOF_character). To exit without
368
- * waiting for user input, call `process.stdin.unref()`.
369
- * @since v0.1.98
370
- */
371
- export function createInterface(
372
- input: NodeJS.ReadableStream,
373
- output?: NodeJS.WritableStream,
374
- completer?: Completer | AsyncCompleter,
375
- terminal?: boolean,
376
- ): Interface;
377
- export function createInterface(options: ReadLineOptions): Interface;
378
- /**
379
- * The `readline.emitKeypressEvents()` method causes the given `Readable` stream to begin emitting `'keypress'` events corresponding to received input.
380
- *
381
- * Optionally, `interface` specifies a `readline.Interface` instance for which
382
- * autocompletion is disabled when copy-pasted input is detected.
383
- *
384
- * If the `stream` is a `TTY`, then it must be in raw mode.
385
- *
386
- * This is automatically called by any readline instance on its `input` if the `input` is a terminal. Closing the `readline` instance does not stop
387
- * the `input` from emitting `'keypress'` events.
388
- *
389
- * ```js
390
- * readline.emitKeypressEvents(process.stdin);
391
- * if (process.stdin.isTTY)
392
- * process.stdin.setRawMode(true);
393
- * ```
394
- *
395
- * ## Example: Tiny CLI
396
- *
397
- * The following example illustrates the use of `readline.Interface` class to
398
- * implement a small command-line interface:
399
- *
400
- * ```js
401
- * const readline = require('node:readline');
402
- * const rl = readline.createInterface({
403
- * input: process.stdin,
404
- * output: process.stdout,
405
- * prompt: 'OHAI> ',
406
- * });
407
- *
408
- * rl.prompt();
409
- *
410
- * rl.on('line', (line) => {
411
- * switch (line.trim()) {
412
- * case 'hello':
413
- * console.log('world!');
414
- * break;
415
- * default:
416
- * console.log(`Say what? I might have heard '${line.trim()}'`);
417
- * break;
418
- * }
419
- * rl.prompt();
420
- * }).on('close', () => {
421
- * console.log('Have a great day!');
422
- * process.exit(0);
423
- * });
424
- * ```
425
- *
426
- * ## Example: Read file stream line-by-Line
427
- *
428
- * A common use case for `readline` is to consume an input file one line at a
429
- * time. The easiest way to do so is leveraging the `fs.ReadStream` API as
430
- * well as a `for await...of` loop:
431
- *
432
- * ```js
433
- * const fs = require('node:fs');
434
- * const readline = require('node:readline');
435
- *
436
- * async function processLineByLine() {
437
- * const fileStream = fs.createReadStream('input.txt');
438
- *
439
- * const rl = readline.createInterface({
440
- * input: fileStream,
441
- * crlfDelay: Infinity,
442
- * });
443
- * // Note: we use the crlfDelay option to recognize all instances of CR LF
444
- * // ('\r\n') in input.txt as a single line break.
445
- *
446
- * for await (const line of rl) {
447
- * // Each line in input.txt will be successively available here as `line`.
448
- * console.log(`Line from file: ${line}`);
449
- * }
450
- * }
451
- *
452
- * processLineByLine();
453
- * ```
454
- *
455
- * Alternatively, one could use the `'line'` event:
456
- *
457
- * ```js
458
- * const fs = require('node:fs');
459
- * const readline = require('node:readline');
460
- *
461
- * const rl = readline.createInterface({
462
- * input: fs.createReadStream('sample.txt'),
463
- * crlfDelay: Infinity,
464
- * });
465
- *
466
- * rl.on('line', (line) => {
467
- * console.log(`Line from file: ${line}`);
468
- * });
469
- * ```
470
- *
471
- * Currently, `for await...of` loop can be a bit slower. If `async` / `await` flow and speed are both essential, a mixed approach can be applied:
472
- *
473
- * ```js
474
- * const { once } = require('node:events');
475
- * const { createReadStream } = require('node:fs');
476
- * const { createInterface } = require('node:readline');
477
- *
478
- * (async function processLineByLine() {
479
- * try {
480
- * const rl = createInterface({
481
- * input: createReadStream('big-file.txt'),
482
- * crlfDelay: Infinity,
483
- * });
484
- *
485
- * rl.on('line', (line) => {
486
- * // Process the line.
487
- * });
488
- *
489
- * await once(rl, 'close');
490
- *
491
- * console.log('File processed.');
492
- * } catch (err) {
493
- * console.error(err);
494
- * }
495
- * })();
496
- * ```
497
- * @since v0.7.7
498
- */
499
- export function emitKeypressEvents(stream: NodeJS.ReadableStream, readlineInterface?: Interface): void;
500
- export type Direction = -1 | 0 | 1;
501
- export interface CursorPos {
502
- rows: number;
503
- cols: number;
504
- }
505
- /**
506
- * The `readline.clearLine()` method clears current line of given [TTY](https://nodejs.org/docs/latest-v20.x/api/tty.html) stream
507
- * in a specified direction identified by `dir`.
508
- * @since v0.7.7
509
- * @param callback Invoked once the operation completes.
510
- * @return `false` if `stream` wishes for the calling code to wait for the `'drain'` event to be emitted before continuing to write additional data; otherwise `true`.
511
- */
512
- export function clearLine(stream: NodeJS.WritableStream, dir: Direction, callback?: () => void): boolean;
513
- /**
514
- * The `readline.clearScreenDown()` method clears the given [TTY](https://nodejs.org/docs/latest-v20.x/api/tty.html) stream from
515
- * the current position of the cursor down.
516
- * @since v0.7.7
517
- * @param callback Invoked once the operation completes.
518
- * @return `false` if `stream` wishes for the calling code to wait for the `'drain'` event to be emitted before continuing to write additional data; otherwise `true`.
519
- */
520
- export function clearScreenDown(stream: NodeJS.WritableStream, callback?: () => void): boolean;
521
- /**
522
- * The `readline.cursorTo()` method moves cursor to the specified position in a
523
- * given [TTY](https://nodejs.org/docs/latest-v20.x/api/tty.html) `stream`.
524
- * @since v0.7.7
525
- * @param callback Invoked once the operation completes.
526
- * @return `false` if `stream` wishes for the calling code to wait for the `'drain'` event to be emitted before continuing to write additional data; otherwise `true`.
527
- */
528
- export function cursorTo(stream: NodeJS.WritableStream, x: number, y?: number, callback?: () => void): boolean;
529
- /**
530
- * The `readline.moveCursor()` method moves the cursor _relative_ to its current
531
- * position in a given [TTY](https://nodejs.org/docs/latest-v20.x/api/tty.html) `stream`.
532
- * @since v0.7.7
533
- * @param callback Invoked once the operation completes.
534
- * @return `false` if `stream` wishes for the calling code to wait for the `'drain'` event to be emitted before continuing to write additional data; otherwise `true`.
535
- */
536
- export function moveCursor(stream: NodeJS.WritableStream, dx: number, dy: number, callback?: () => void): boolean;
537
- }
538
- declare module "node:readline" {
539
- export * from "readline";
540
- }