• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1{
2  "type": "module",
3  "source": "doc/api/globals.md",
4  "introduced_in": "v0.10.0",
5  "globals": [
6    {
7      "textRaw": "Class: `AbortController`",
8      "type": "global",
9      "name": "AbortController",
10      "meta": {
11        "added": [
12          "v15.0.0",
13          "v14.17.0"
14        ],
15        "changes": [
16          {
17            "version": "v15.4.0",
18            "pr-url": "https://github.com/nodejs/node/pull/35949",
19            "description": "No longer experimental."
20          }
21        ]
22      },
23      "desc": "<p>A utility class used to signal cancelation in selected <code>Promise</code>-based APIs.\nThe API is based on the Web API <a href=\"https://developer.mozilla.org/en-US/docs/Web/API/AbortController\"><code>AbortController</code></a>.</p>\n<pre><code class=\"language-js\">const ac = new AbortController();\n\nac.signal.addEventListener('abort', () => console.log('Aborted!'),\n                           { once: true });\n\nac.abort();\n\nconsole.log(ac.signal.aborted);  // Prints true\n</code></pre>",
24      "methods": [
25        {
26          "textRaw": "`abortController.abort([reason])`",
27          "type": "method",
28          "name": "abort",
29          "meta": {
30            "added": [
31              "v15.0.0",
32              "v14.17.0"
33            ],
34            "changes": [
35              {
36                "version": [
37                  "v17.2.0",
38                  "v16.14.0"
39                ],
40                "pr-url": "https://github.com/nodejs/node/pull/40807",
41                "description": "Added the new optional reason argument."
42              }
43            ]
44          },
45          "signatures": [
46            {
47              "params": [
48                {
49                  "textRaw": "`reason` {any} An optional reason, retrievable on the `AbortSignal`'s `reason` property.",
50                  "name": "reason",
51                  "type": "any",
52                  "desc": "An optional reason, retrievable on the `AbortSignal`'s `reason` property."
53                }
54              ]
55            }
56          ],
57          "desc": "<p>Triggers the abort signal, causing the <code>abortController.signal</code> to emit\nthe <code>'abort'</code> event.</p>"
58        }
59      ],
60      "properties": [
61        {
62          "textRaw": "`signal` Type: {AbortSignal}",
63          "type": "AbortSignal",
64          "name": "Type",
65          "meta": {
66            "added": [
67              "v15.0.0",
68              "v14.17.0"
69            ],
70            "changes": []
71          }
72        }
73      ],
74      "classes": [
75        {
76          "textRaw": "Class: `AbortSignal`",
77          "type": "class",
78          "name": "AbortSignal",
79          "meta": {
80            "added": [
81              "v15.0.0",
82              "v14.17.0"
83            ],
84            "changes": []
85          },
86          "desc": "<ul>\n<li>Extends: <a href=\"events.html#class-eventtarget\" class=\"type\">&lt;EventTarget&gt;</a></li>\n</ul>\n<p>The <code>AbortSignal</code> is used to notify observers when the\n<code>abortController.abort()</code> method is called.</p>",
87          "classMethods": [
88            {
89              "textRaw": "Static method: `AbortSignal.abort([reason])`",
90              "type": "classMethod",
91              "name": "abort",
92              "meta": {
93                "added": [
94                  "v15.12.0",
95                  "v14.17.0"
96                ],
97                "changes": [
98                  {
99                    "version": [
100                      "v17.2.0",
101                      "v16.14.0"
102                    ],
103                    "pr-url": "https://github.com/nodejs/node/pull/40807",
104                    "description": "Added the new optional reason argument."
105                  }
106                ]
107              },
108              "signatures": [
109                {
110                  "return": {
111                    "textRaw": "Returns: {AbortSignal}",
112                    "name": "return",
113                    "type": "AbortSignal"
114                  },
115                  "params": [
116                    {
117                      "textRaw": "`reason`: {any}",
118                      "name": "reason",
119                      "type": "any"
120                    }
121                  ]
122                }
123              ],
124              "desc": "<p>Returns a new already aborted <code>AbortSignal</code>.</p>"
125            },
126            {
127              "textRaw": "Static method: `AbortSignal.timeout(delay)`",
128              "type": "classMethod",
129              "name": "timeout",
130              "meta": {
131                "added": [
132                  "v17.3.0",
133                  "v16.14.0"
134                ],
135                "changes": []
136              },
137              "signatures": [
138                {
139                  "params": [
140                    {
141                      "textRaw": "`delay` {number} The number of milliseconds to wait before triggering the AbortSignal.",
142                      "name": "delay",
143                      "type": "number",
144                      "desc": "The number of milliseconds to wait before triggering the AbortSignal."
145                    }
146                  ]
147                }
148              ],
149              "desc": "<p>Returns a new <code>AbortSignal</code> which will be aborted in <code>delay</code> milliseconds.</p>"
150            },
151            {
152              "textRaw": "Static method: `AbortSignal.any(signals)`",
153              "type": "classMethod",
154              "name": "any",
155              "meta": {
156                "added": [
157                  "v18.17.0"
158                ],
159                "changes": []
160              },
161              "signatures": [
162                {
163                  "params": [
164                    {
165                      "textRaw": "`signals` {AbortSignal\\[]} The `AbortSignal`s of which to compose a new `AbortSignal`.",
166                      "name": "signals",
167                      "type": "AbortSignal\\[]",
168                      "desc": "The `AbortSignal`s of which to compose a new `AbortSignal`."
169                    }
170                  ]
171                }
172              ],
173              "desc": "<p>Returns a new <code>AbortSignal</code> which will be aborted if any of the provided\nsignals are aborted. Its <a href=\"#abortsignalreason\"><code>abortSignal.reason</code></a> will be set to whichever\none of the <code>signals</code> caused it to be aborted.</p>"
174            }
175          ],
176          "events": [
177            {
178              "textRaw": "Event: `'abort'`",
179              "type": "event",
180              "name": "abort",
181              "meta": {
182                "added": [
183                  "v15.0.0",
184                  "v14.17.0"
185                ],
186                "changes": []
187              },
188              "params": [],
189              "desc": "<p>The <code>'abort'</code> event is emitted when the <code>abortController.abort()</code> method\nis called. The callback is invoked with a single object argument with a\nsingle <code>type</code> property set to <code>'abort'</code>:</p>\n<pre><code class=\"language-js\">const ac = new AbortController();\n\n// Use either the onabort property...\nac.signal.onabort = () => console.log('aborted!');\n\n// Or the EventTarget API...\nac.signal.addEventListener('abort', (event) => {\n  console.log(event.type);  // Prints 'abort'\n}, { once: true });\n\nac.abort();\n</code></pre>\n<p>The <code>AbortController</code> with which the <code>AbortSignal</code> is associated will only\never trigger the <code>'abort'</code> event once. We recommended that code check\nthat the <code>abortSignal.aborted</code> attribute is <code>false</code> before adding an <code>'abort'</code>\nevent listener.</p>\n<p>Any event listeners attached to the <code>AbortSignal</code> should use the\n<code>{ once: true }</code> option (or, if using the <code>EventEmitter</code> APIs to attach a\nlistener, use the <code>once()</code> method) to ensure that the event listener is\nremoved as soon as the <code>'abort'</code> event is handled. Failure to do so may\nresult in memory leaks.</p>"
190            }
191          ],
192          "properties": [
193            {
194              "textRaw": "`aborted` Type: {boolean} True after the `AbortController` has been aborted.",
195              "type": "boolean",
196              "name": "Type",
197              "meta": {
198                "added": [
199                  "v15.0.0",
200                  "v14.17.0"
201                ],
202                "changes": []
203              },
204              "desc": "True after the `AbortController` has been aborted."
205            },
206            {
207              "textRaw": "`onabort` Type: {Function}",
208              "type": "Function",
209              "name": "Type",
210              "meta": {
211                "added": [
212                  "v15.0.0",
213                  "v14.17.0"
214                ],
215                "changes": []
216              },
217              "desc": "<p>An optional callback function that may be set by user code to be notified\nwhen the <code>abortController.abort()</code> function has been called.</p>"
218            },
219            {
220              "textRaw": "`reason` Type: {any}",
221              "type": "any",
222              "name": "Type",
223              "meta": {
224                "added": [
225                  "v17.2.0",
226                  "v16.14.0"
227                ],
228                "changes": []
229              },
230              "desc": "<p>An optional reason specified when the <code>AbortSignal</code> was triggered.</p>\n<pre><code class=\"language-js\">const ac = new AbortController();\nac.abort(new Error('boom!'));\nconsole.log(ac.signal.reason);  // Error: boom!\n</code></pre>"
231            }
232          ],
233          "methods": [
234            {
235              "textRaw": "`abortSignal.throwIfAborted()`",
236              "type": "method",
237              "name": "throwIfAborted",
238              "meta": {
239                "added": [
240                  "v17.3.0"
241                ],
242                "changes": []
243              },
244              "signatures": [
245                {
246                  "params": []
247                }
248              ],
249              "desc": "<p>If <code>abortSignal.aborted</code> is <code>true</code>, throws <code>abortSignal.reason</code>.</p>"
250            }
251          ]
252        }
253      ]
254    },
255    {
256      "textRaw": "Class: `Blob`",
257      "type": "global",
258      "name": "Blob",
259      "meta": {
260        "added": [
261          "v18.0.0"
262        ],
263        "changes": []
264      },
265      "desc": "<p>See <a href=\"buffer.html#class-blob\" class=\"type\">&lt;Blob&gt;</a>.</p>"
266    },
267    {
268      "textRaw": "Class: `Buffer`",
269      "type": "global",
270      "name": "Buffer",
271      "meta": {
272        "added": [
273          "v0.1.103"
274        ],
275        "changes": []
276      },
277      "desc": "<ul>\n<li><a href=\"https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Function\" class=\"type\">&lt;Function&gt;</a></li>\n</ul>\n<p>Used to handle binary data. See the <a href=\"buffer.html\">buffer section</a>.</p>"
278    },
279    {
280      "textRaw": "`clearImmediate(immediateObject)`",
281      "type": "global",
282      "name": "clearImmediate",
283      "meta": {
284        "added": [
285          "v0.9.1"
286        ],
287        "changes": []
288      },
289      "desc": "<p><a href=\"timers.html#clearimmediateimmediate\"><code>clearImmediate</code></a> is described in the <a href=\"timers.html\">timers</a> section.</p>"
290    },
291    {
292      "textRaw": "`clearInterval(intervalObject)`",
293      "type": "global",
294      "name": "clearInterval",
295      "meta": {
296        "added": [
297          "v0.0.1"
298        ],
299        "changes": []
300      },
301      "desc": "<p><a href=\"timers.html#clearintervaltimeout\"><code>clearInterval</code></a> is described in the <a href=\"timers.html\">timers</a> section.</p>"
302    },
303    {
304      "textRaw": "`clearTimeout(timeoutObject)`",
305      "type": "global",
306      "name": "clearTimeout",
307      "meta": {
308        "added": [
309          "v0.0.1"
310        ],
311        "changes": []
312      },
313      "desc": "<p><a href=\"timers.html#cleartimeouttimeout\"><code>clearTimeout</code></a> is described in the <a href=\"timers.html\">timers</a> section.</p>"
314    },
315    {
316      "textRaw": "`console`",
317      "name": "`console`",
318      "meta": {
319        "added": [
320          "v0.1.100"
321        ],
322        "changes": []
323      },
324      "type": "global",
325      "desc": "<ul>\n<li><a href=\"https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object\" class=\"type\">&lt;Object&gt;</a></li>\n</ul>\n<p>Used to print to stdout and stderr. See the <a href=\"console.html\"><code>console</code></a> section.</p>"
326    },
327    {
328      "textRaw": "`CustomEvent`",
329      "name": "`CustomEvent`",
330      "meta": {
331        "added": [
332          "v18.7.0"
333        ],
334        "changes": []
335      },
336      "stability": 1,
337      "stabilityText": "Experimental. Enable this API with the [`--experimental-global-customevent`][] CLI flag.",
338      "type": "global",
339      "desc": "<p>A browser-compatible implementation of the <a href=\"https://dom.spec.whatwg.org/#customevent\"><code>CustomEvent</code> Web API</a>.</p>"
340    },
341    {
342      "textRaw": "`Event`",
343      "name": "`Event`",
344      "meta": {
345        "added": [
346          "v15.0.0"
347        ],
348        "changes": [
349          {
350            "version": "v15.4.0",
351            "pr-url": "https://github.com/nodejs/node/pull/35949",
352            "description": "No longer experimental."
353          }
354        ]
355      },
356      "type": "global",
357      "desc": "<p>A browser-compatible implementation of the <code>Event</code> class. See\n<a href=\"events.html#eventtarget-and-event-api\"><code>EventTarget</code> and <code>Event</code> API</a> for more details.</p>"
358    },
359    {
360      "textRaw": "`EventTarget`",
361      "name": "`EventTarget`",
362      "meta": {
363        "added": [
364          "v15.0.0"
365        ],
366        "changes": [
367          {
368            "version": "v15.4.0",
369            "pr-url": "https://github.com/nodejs/node/pull/35949",
370            "description": "No longer experimental."
371          }
372        ]
373      },
374      "type": "global",
375      "desc": "<p>A browser-compatible implementation of the <code>EventTarget</code> class. See\n<a href=\"events.html#eventtarget-and-event-api\"><code>EventTarget</code> and <code>Event</code> API</a> for more details.</p>"
376    },
377    {
378      "textRaw": "`global`",
379      "name": "`global`",
380      "meta": {
381        "added": [
382          "v0.1.27"
383        ],
384        "changes": []
385      },
386      "type": "global",
387      "stability": 3,
388      "stabilityText": "Legacy. Use [`globalThis`][] instead.",
389      "desc": "<ul>\n<li><a href=\"https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object\" class=\"type\">&lt;Object&gt;</a> The global namespace object.</li>\n</ul>\n<p>In browsers, the top-level scope has traditionally been the global scope. This\nmeans that <code>var something</code> will define a new global variable, except within\nECMAScript modules. In Node.js, this is different. The top-level scope is not\nthe global scope; <code>var something</code> inside a Node.js module will be local to that\nmodule, regardless of whether it is a <a href=\"modules.html\">CommonJS module</a> or an\n<a href=\"esm.html\">ECMAScript module</a>.</p>"
390    },
391    {
392      "textRaw": "`MessageChannel`",
393      "name": "`MessageChannel`",
394      "meta": {
395        "added": [
396          "v15.0.0"
397        ],
398        "changes": []
399      },
400      "type": "global",
401      "desc": "<p>The <code>MessageChannel</code> class. See <a href=\"worker_threads.html#class-messagechannel\"><code>MessageChannel</code></a> for more details.</p>"
402    },
403    {
404      "textRaw": "`MessageEvent`",
405      "name": "`MessageEvent`",
406      "meta": {
407        "added": [
408          "v15.0.0"
409        ],
410        "changes": []
411      },
412      "type": "global",
413      "desc": "<p>The <code>MessageEvent</code> class. See <a href=\"https://developer.mozilla.org/en-US/docs/Web/API/MessageEvent/MessageEvent\"><code>MessageEvent</code></a> for more details.</p>"
414    },
415    {
416      "textRaw": "`MessagePort`",
417      "name": "`MessagePort`",
418      "meta": {
419        "added": [
420          "v15.0.0"
421        ],
422        "changes": []
423      },
424      "type": "global",
425      "desc": "<p>The <code>MessagePort</code> class. See <a href=\"worker_threads.html#class-messageport\"><code>MessagePort</code></a> for more details.</p>"
426    },
427    {
428      "textRaw": "`process`",
429      "name": "`process`",
430      "meta": {
431        "added": [
432          "v0.1.7"
433        ],
434        "changes": []
435      },
436      "type": "global",
437      "desc": "<ul>\n<li><a href=\"https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object\" class=\"type\">&lt;Object&gt;</a></li>\n</ul>\n<p>The process object. See the <a href=\"process.html#process\"><code>process</code> object</a> section.</p>"
438    },
439    {
440      "textRaw": "`queueMicrotask(callback)`",
441      "type": "global",
442      "name": "queueMicrotask",
443      "meta": {
444        "added": [
445          "v11.0.0"
446        ],
447        "changes": []
448      },
449      "desc": "<ul>\n<li><code>callback</code> <a href=\"https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Function\" class=\"type\">&lt;Function&gt;</a> Function to be queued.</li>\n</ul>\n<p>The <code>queueMicrotask()</code> method queues a microtask to invoke <code>callback</code>. If\n<code>callback</code> throws an exception, the <a href=\"process.html#process\"><code>process</code> object</a> <code>'uncaughtException'</code>\nevent will be emitted.</p>\n<p>The microtask queue is managed by V8 and may be used in a similar manner to\nthe <a href=\"process.html#processnexttickcallback-args\"><code>process.nextTick()</code></a> queue, which is managed by Node.js. The\n<code>process.nextTick()</code> queue is always processed before the microtask queue\nwithin each turn of the Node.js event loop.</p>\n<pre><code class=\"language-js\">// Here, `queueMicrotask()` is used to ensure the 'load' event is always\n// emitted asynchronously, and therefore consistently. Using\n// `process.nextTick()` here would result in the 'load' event always emitting\n// before any other promise jobs.\n\nDataHandler.prototype.load = async function load(key) {\n  const hit = this._cache.get(key);\n  if (hit !== undefined) {\n    queueMicrotask(() => {\n      this.emit('load', hit);\n    });\n    return;\n  }\n\n  const data = await fetchData(key);\n  this._cache.set(key, data);\n  this.emit('load', data);\n};\n</code></pre>"
450    },
451    {
452      "textRaw": "`setImmediate(callback[, ...args])`",
453      "type": "global",
454      "name": "setImmediate",
455      "meta": {
456        "added": [
457          "v0.9.1"
458        ],
459        "changes": []
460      },
461      "desc": "<p><a href=\"timers.html#setimmediatecallback-args\"><code>setImmediate</code></a> is described in the <a href=\"timers.html\">timers</a> section.</p>"
462    },
463    {
464      "textRaw": "`setInterval(callback, delay[, ...args])`",
465      "type": "global",
466      "name": "setInterval",
467      "meta": {
468        "added": [
469          "v0.0.1"
470        ],
471        "changes": []
472      },
473      "desc": "<p><a href=\"timers.html#setintervalcallback-delay-args\"><code>setInterval</code></a> is described in the <a href=\"timers.html\">timers</a> section.</p>"
474    },
475    {
476      "textRaw": "`setTimeout(callback, delay[, ...args])`",
477      "type": "global",
478      "name": "setTimeout",
479      "meta": {
480        "added": [
481          "v0.0.1"
482        ],
483        "changes": []
484      },
485      "desc": "<p><a href=\"timers.html#settimeoutcallback-delay-args\"><code>setTimeout</code></a> is described in the <a href=\"timers.html\">timers</a> section.</p>"
486    },
487    {
488      "textRaw": "`structuredClone(value[, options])`",
489      "type": "global",
490      "name": "structuredClone",
491      "meta": {
492        "added": [
493          "v17.0.0"
494        ],
495        "changes": []
496      },
497      "desc": "<p>The WHATWG <a href=\"https://developer.mozilla.org/en-US/docs/Web/API/structuredClone\"><code>structuredClone</code></a> method.</p>"
498    },
499    {
500      "textRaw": "`DOMException`",
501      "name": "`DOMException`",
502      "meta": {
503        "added": [
504          "v17.0.0"
505        ],
506        "changes": []
507      },
508      "type": "global",
509      "desc": "<p>The WHATWG <code>DOMException</code> class. See <a href=\"https://developer.mozilla.org/en-US/docs/Web/API/DOMException\"><code>DOMException</code></a> for more details.</p>"
510    },
511    {
512      "textRaw": "`TextDecoder`",
513      "name": "`TextDecoder`",
514      "meta": {
515        "added": [
516          "v11.0.0"
517        ],
518        "changes": []
519      },
520      "type": "global",
521      "desc": "<p>The WHATWG <code>TextDecoder</code> class. See the <a href=\"util.html#class-utiltextdecoder\"><code>TextDecoder</code></a> section.</p>"
522    },
523    {
524      "textRaw": "`TextEncoder`",
525      "name": "`TextEncoder`",
526      "meta": {
527        "added": [
528          "v11.0.0"
529        ],
530        "changes": []
531      },
532      "type": "global",
533      "desc": "<p>The WHATWG <code>TextEncoder</code> class. See the <a href=\"util.html#class-utiltextencoder\"><code>TextEncoder</code></a> section.</p>"
534    },
535    {
536      "textRaw": "`URL`",
537      "name": "`URL`",
538      "meta": {
539        "added": [
540          "v10.0.0"
541        ],
542        "changes": []
543      },
544      "type": "global",
545      "desc": "<p>The WHATWG <code>URL</code> class. See the <a href=\"url.html#class-url\"><code>URL</code></a> section.</p>"
546    },
547    {
548      "textRaw": "`URLSearchParams`",
549      "name": "`URLSearchParams`",
550      "meta": {
551        "added": [
552          "v10.0.0"
553        ],
554        "changes": []
555      },
556      "type": "global",
557      "desc": "<p>The WHATWG <code>URLSearchParams</code> class. See the <a href=\"url.html#class-urlsearchparams\"><code>URLSearchParams</code></a> section.</p>"
558    },
559    {
560      "textRaw": "`WebAssembly`",
561      "name": "`WebAssembly`",
562      "meta": {
563        "added": [
564          "v8.0.0"
565        ],
566        "changes": []
567      },
568      "type": "global",
569      "desc": "<ul>\n<li><a href=\"https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object\" class=\"type\">&lt;Object&gt;</a></li>\n</ul>\n<p>The object that acts as the namespace for all W3C\n<a href=\"https://webassembly.org\">WebAssembly</a> related functionality. See the\n<a href=\"https://developer.mozilla.org/en-US/docs/WebAssembly\">Mozilla Developer Network</a> for usage and compatibility.</p>"
570    }
571  ],
572  "classes": [
573    {
574      "textRaw": "Class: `ByteLengthQueuingStrategy`",
575      "type": "class",
576      "name": "ByteLengthQueuingStrategy",
577      "meta": {
578        "added": [
579          "v18.0.0"
580        ],
581        "changes": []
582      },
583      "stability": 1,
584      "stabilityText": "Experimental.",
585      "desc": "<p>A browser-compatible implementation of <a href=\"webstreams.html#class-bytelengthqueuingstrategy\"><code>ByteLengthQueuingStrategy</code></a>.</p>"
586    },
587    {
588      "textRaw": "Class: `CompressionStream`",
589      "type": "class",
590      "name": "CompressionStream",
591      "meta": {
592        "added": [
593          "v18.0.0"
594        ],
595        "changes": []
596      },
597      "stability": 1,
598      "stabilityText": "Experimental.",
599      "desc": "<p>A browser-compatible implementation of <a href=\"webstreams.html#class-compressionstream\"><code>CompressionStream</code></a>.</p>"
600    },
601    {
602      "textRaw": "Class: `CountQueuingStrategy`",
603      "type": "class",
604      "name": "CountQueuingStrategy",
605      "meta": {
606        "added": [
607          "v18.0.0"
608        ],
609        "changes": []
610      },
611      "stability": 1,
612      "stabilityText": "Experimental.",
613      "desc": "<p>A browser-compatible implementation of <a href=\"webstreams.html#class-countqueuingstrategy\"><code>CountQueuingStrategy</code></a>.</p>"
614    },
615    {
616      "textRaw": "Class: `DecompressionStream`",
617      "type": "class",
618      "name": "DecompressionStream",
619      "meta": {
620        "added": [
621          "v18.0.0"
622        ],
623        "changes": []
624      },
625      "stability": 1,
626      "stabilityText": "Experimental.",
627      "desc": "<p>A browser-compatible implementation of <a href=\"webstreams.html#class-decompressionstream\"><code>DecompressionStream</code></a>.</p>"
628    },
629    {
630      "textRaw": "Class: `ReadableByteStreamController`",
631      "type": "class",
632      "name": "ReadableByteStreamController",
633      "meta": {
634        "added": [
635          "v18.0.0"
636        ],
637        "changes": []
638      },
639      "stability": 1,
640      "stabilityText": "Experimental.",
641      "desc": "<p>A browser-compatible implementation of <a href=\"webstreams.html#class-readablebytestreamcontroller\"><code>ReadableByteStreamController</code></a>.</p>"
642    },
643    {
644      "textRaw": "Class: `ReadableStream`",
645      "type": "class",
646      "name": "ReadableStream",
647      "meta": {
648        "added": [
649          "v18.0.0"
650        ],
651        "changes": []
652      },
653      "stability": 1,
654      "stabilityText": "Experimental.",
655      "desc": "<p>A browser-compatible implementation of <a href=\"webstreams.html#class-readablestream\"><code>ReadableStream</code></a>.</p>"
656    },
657    {
658      "textRaw": "Class: `ReadableStreamBYOBReader`",
659      "type": "class",
660      "name": "ReadableStreamBYOBReader",
661      "meta": {
662        "added": [
663          "v18.0.0"
664        ],
665        "changes": []
666      },
667      "stability": 1,
668      "stabilityText": "Experimental.",
669      "desc": "<p>A browser-compatible implementation of <a href=\"webstreams.html#class-readablestreambyobreader\"><code>ReadableStreamBYOBReader</code></a>.</p>"
670    },
671    {
672      "textRaw": "Class: `ReadableStreamBYOBRequest`",
673      "type": "class",
674      "name": "ReadableStreamBYOBRequest",
675      "meta": {
676        "added": [
677          "v18.0.0"
678        ],
679        "changes": []
680      },
681      "stability": 1,
682      "stabilityText": "Experimental.",
683      "desc": "<p>A browser-compatible implementation of <a href=\"webstreams.html#class-readablestreambyobrequest\"><code>ReadableStreamBYOBRequest</code></a>.</p>"
684    },
685    {
686      "textRaw": "Class: `ReadableStreamDefaultController`",
687      "type": "class",
688      "name": "ReadableStreamDefaultController",
689      "meta": {
690        "added": [
691          "v18.0.0"
692        ],
693        "changes": []
694      },
695      "stability": 1,
696      "stabilityText": "Experimental.",
697      "desc": "<p>A browser-compatible implementation of <a href=\"webstreams.html#class-readablestreamdefaultcontroller\"><code>ReadableStreamDefaultController</code></a>.</p>"
698    },
699    {
700      "textRaw": "Class: `ReadableStreamDefaultReader`",
701      "type": "class",
702      "name": "ReadableStreamDefaultReader",
703      "meta": {
704        "added": [
705          "v18.0.0"
706        ],
707        "changes": []
708      },
709      "stability": 1,
710      "stabilityText": "Experimental.",
711      "desc": "<p>A browser-compatible implementation of <a href=\"webstreams.html#class-readablestreamdefaultreader\"><code>ReadableStreamDefaultReader</code></a>.</p>"
712    },
713    {
714      "textRaw": "Class: `TextDecoderStream`",
715      "type": "class",
716      "name": "TextDecoderStream",
717      "meta": {
718        "added": [
719          "v18.0.0"
720        ],
721        "changes": []
722      },
723      "stability": 1,
724      "stabilityText": "Experimental.",
725      "desc": "<p>A browser-compatible implementation of <a href=\"webstreams.html#class-textdecoderstream\"><code>TextDecoderStream</code></a>.</p>"
726    },
727    {
728      "textRaw": "Class: `TextEncoderStream`",
729      "type": "class",
730      "name": "TextEncoderStream",
731      "meta": {
732        "added": [
733          "v18.0.0"
734        ],
735        "changes": []
736      },
737      "stability": 1,
738      "stabilityText": "Experimental.",
739      "desc": "<p>A browser-compatible implementation of <a href=\"webstreams.html#class-textencoderstream\"><code>TextEncoderStream</code></a>.</p>"
740    },
741    {
742      "textRaw": "Class: `TransformStream`",
743      "type": "class",
744      "name": "TransformStream",
745      "meta": {
746        "added": [
747          "v18.0.0"
748        ],
749        "changes": []
750      },
751      "stability": 1,
752      "stabilityText": "Experimental.",
753      "desc": "<p>A browser-compatible implementation of <a href=\"webstreams.html#class-transformstream\"><code>TransformStream</code></a>.</p>"
754    },
755    {
756      "textRaw": "Class: `TransformStreamDefaultController`",
757      "type": "class",
758      "name": "TransformStreamDefaultController",
759      "meta": {
760        "added": [
761          "v18.0.0"
762        ],
763        "changes": []
764      },
765      "stability": 1,
766      "stabilityText": "Experimental.",
767      "desc": "<p>A browser-compatible implementation of <a href=\"webstreams.html#class-transformstreamdefaultcontroller\"><code>TransformStreamDefaultController</code></a>.</p>"
768    },
769    {
770      "textRaw": "Class: `WritableStream`",
771      "type": "class",
772      "name": "WritableStream",
773      "meta": {
774        "added": [
775          "v18.0.0"
776        ],
777        "changes": []
778      },
779      "stability": 1,
780      "stabilityText": "Experimental.",
781      "desc": "<p>A browser-compatible implementation of <a href=\"webstreams.html#class-writablestream\"><code>WritableStream</code></a>.</p>"
782    },
783    {
784      "textRaw": "Class: `WritableStreamDefaultController`",
785      "type": "class",
786      "name": "WritableStreamDefaultController",
787      "meta": {
788        "added": [
789          "v18.0.0"
790        ],
791        "changes": []
792      },
793      "stability": 1,
794      "stabilityText": "Experimental.",
795      "desc": "<p>A browser-compatible implementation of <a href=\"webstreams.html#class-writablestreamdefaultcontroller\"><code>WritableStreamDefaultController</code></a>.</p>"
796    },
797    {
798      "textRaw": "Class: `WritableStreamDefaultWriter`",
799      "type": "class",
800      "name": "WritableStreamDefaultWriter",
801      "meta": {
802        "added": [
803          "v18.0.0"
804        ],
805        "changes": []
806      },
807      "stability": 1,
808      "stabilityText": "Experimental.",
809      "desc": "<p>A browser-compatible implementation of <a href=\"webstreams.html#class-writablestreamdefaultwriter\"><code>WritableStreamDefaultWriter</code></a>.</p>"
810    }
811  ],
812  "methods": [
813    {
814      "textRaw": "`atob(data)`",
815      "type": "method",
816      "name": "atob",
817      "meta": {
818        "added": [
819          "v16.0.0"
820        ],
821        "changes": []
822      },
823      "stability": 3,
824      "stabilityText": "Legacy. Use `Buffer.from(data, 'base64')` instead.",
825      "signatures": [
826        {
827          "params": []
828        }
829      ],
830      "desc": "<p>Global alias for <a href=\"buffer.html#bufferatobdata\"><code>buffer.atob()</code></a>.</p>"
831    },
832    {
833      "textRaw": "`btoa(data)`",
834      "type": "method",
835      "name": "btoa",
836      "meta": {
837        "added": [
838          "v16.0.0"
839        ],
840        "changes": []
841      },
842      "stability": 3,
843      "stabilityText": "Legacy. Use `buf.toString('base64')` instead.",
844      "signatures": [
845        {
846          "params": []
847        }
848      ],
849      "desc": "<p>Global alias for <a href=\"buffer.html#bufferbtoadata\"><code>buffer.btoa()</code></a>.</p>"
850    },
851    {
852      "textRaw": "`require()`",
853      "type": "method",
854      "name": "require",
855      "signatures": [
856        {
857          "params": []
858        }
859      ],
860      "desc": "<p>This variable may appear to be global but is not. See <a href=\"modules.html#requireid\"><code>require()</code></a>.</p>"
861    }
862  ],
863  "miscs": [
864    {
865      "textRaw": "Global objects",
866      "name": "Global objects",
867      "introduced_in": "v0.10.0",
868      "type": "misc",
869      "desc": "<p>These objects are available in all modules. The following variables may appear\nto be global but are not. They exist only in the scope of modules, see the\n<a href=\"modules.html\">module system documentation</a>:</p>\n<ul>\n<li><a href=\"modules.html#__dirname\"><code>__dirname</code></a></li>\n<li><a href=\"modules.html#__filename\"><code>__filename</code></a></li>\n<li><a href=\"modules.html#exports\"><code>exports</code></a></li>\n<li><a href=\"modules.html#module\"><code>module</code></a></li>\n<li><a href=\"modules.html#requireid\"><code>require()</code></a></li>\n</ul>\n<p>The objects listed here are specific to Node.js. There are <a href=\"https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects\">built-in objects</a>\nthat are part of the JavaScript language itself, which are also globally\naccessible.</p>",
870      "globals": [
871        {
872          "textRaw": "Class: `AbortController`",
873          "type": "global",
874          "name": "AbortController",
875          "meta": {
876            "added": [
877              "v15.0.0",
878              "v14.17.0"
879            ],
880            "changes": [
881              {
882                "version": "v15.4.0",
883                "pr-url": "https://github.com/nodejs/node/pull/35949",
884                "description": "No longer experimental."
885              }
886            ]
887          },
888          "desc": "<p>A utility class used to signal cancelation in selected <code>Promise</code>-based APIs.\nThe API is based on the Web API <a href=\"https://developer.mozilla.org/en-US/docs/Web/API/AbortController\"><code>AbortController</code></a>.</p>\n<pre><code class=\"language-js\">const ac = new AbortController();\n\nac.signal.addEventListener('abort', () => console.log('Aborted!'),\n                           { once: true });\n\nac.abort();\n\nconsole.log(ac.signal.aborted);  // Prints true\n</code></pre>",
889          "methods": [
890            {
891              "textRaw": "`abortController.abort([reason])`",
892              "type": "method",
893              "name": "abort",
894              "meta": {
895                "added": [
896                  "v15.0.0",
897                  "v14.17.0"
898                ],
899                "changes": [
900                  {
901                    "version": [
902                      "v17.2.0",
903                      "v16.14.0"
904                    ],
905                    "pr-url": "https://github.com/nodejs/node/pull/40807",
906                    "description": "Added the new optional reason argument."
907                  }
908                ]
909              },
910              "signatures": [
911                {
912                  "params": [
913                    {
914                      "textRaw": "`reason` {any} An optional reason, retrievable on the `AbortSignal`'s `reason` property.",
915                      "name": "reason",
916                      "type": "any",
917                      "desc": "An optional reason, retrievable on the `AbortSignal`'s `reason` property."
918                    }
919                  ]
920                }
921              ],
922              "desc": "<p>Triggers the abort signal, causing the <code>abortController.signal</code> to emit\nthe <code>'abort'</code> event.</p>"
923            }
924          ],
925          "properties": [
926            {
927              "textRaw": "`signal` Type: {AbortSignal}",
928              "type": "AbortSignal",
929              "name": "Type",
930              "meta": {
931                "added": [
932                  "v15.0.0",
933                  "v14.17.0"
934                ],
935                "changes": []
936              }
937            }
938          ],
939          "classes": [
940            {
941              "textRaw": "Class: `AbortSignal`",
942              "type": "class",
943              "name": "AbortSignal",
944              "meta": {
945                "added": [
946                  "v15.0.0",
947                  "v14.17.0"
948                ],
949                "changes": []
950              },
951              "desc": "<ul>\n<li>Extends: <a href=\"events.html#class-eventtarget\" class=\"type\">&lt;EventTarget&gt;</a></li>\n</ul>\n<p>The <code>AbortSignal</code> is used to notify observers when the\n<code>abortController.abort()</code> method is called.</p>",
952              "classMethods": [
953                {
954                  "textRaw": "Static method: `AbortSignal.abort([reason])`",
955                  "type": "classMethod",
956                  "name": "abort",
957                  "meta": {
958                    "added": [
959                      "v15.12.0",
960                      "v14.17.0"
961                    ],
962                    "changes": [
963                      {
964                        "version": [
965                          "v17.2.0",
966                          "v16.14.0"
967                        ],
968                        "pr-url": "https://github.com/nodejs/node/pull/40807",
969                        "description": "Added the new optional reason argument."
970                      }
971                    ]
972                  },
973                  "signatures": [
974                    {
975                      "return": {
976                        "textRaw": "Returns: {AbortSignal}",
977                        "name": "return",
978                        "type": "AbortSignal"
979                      },
980                      "params": [
981                        {
982                          "textRaw": "`reason`: {any}",
983                          "name": "reason",
984                          "type": "any"
985                        }
986                      ]
987                    }
988                  ],
989                  "desc": "<p>Returns a new already aborted <code>AbortSignal</code>.</p>"
990                },
991                {
992                  "textRaw": "Static method: `AbortSignal.timeout(delay)`",
993                  "type": "classMethod",
994                  "name": "timeout",
995                  "meta": {
996                    "added": [
997                      "v17.3.0",
998                      "v16.14.0"
999                    ],
1000                    "changes": []
1001                  },
1002                  "signatures": [
1003                    {
1004                      "params": [
1005                        {
1006                          "textRaw": "`delay` {number} The number of milliseconds to wait before triggering the AbortSignal.",
1007                          "name": "delay",
1008                          "type": "number",
1009                          "desc": "The number of milliseconds to wait before triggering the AbortSignal."
1010                        }
1011                      ]
1012                    }
1013                  ],
1014                  "desc": "<p>Returns a new <code>AbortSignal</code> which will be aborted in <code>delay</code> milliseconds.</p>"
1015                },
1016                {
1017                  "textRaw": "Static method: `AbortSignal.any(signals)`",
1018                  "type": "classMethod",
1019                  "name": "any",
1020                  "meta": {
1021                    "added": [
1022                      "v18.17.0"
1023                    ],
1024                    "changes": []
1025                  },
1026                  "signatures": [
1027                    {
1028                      "params": [
1029                        {
1030                          "textRaw": "`signals` {AbortSignal\\[]} The `AbortSignal`s of which to compose a new `AbortSignal`.",
1031                          "name": "signals",
1032                          "type": "AbortSignal\\[]",
1033                          "desc": "The `AbortSignal`s of which to compose a new `AbortSignal`."
1034                        }
1035                      ]
1036                    }
1037                  ],
1038                  "desc": "<p>Returns a new <code>AbortSignal</code> which will be aborted if any of the provided\nsignals are aborted. Its <a href=\"#abortsignalreason\"><code>abortSignal.reason</code></a> will be set to whichever\none of the <code>signals</code> caused it to be aborted.</p>"
1039                }
1040              ],
1041              "events": [
1042                {
1043                  "textRaw": "Event: `'abort'`",
1044                  "type": "event",
1045                  "name": "abort",
1046                  "meta": {
1047                    "added": [
1048                      "v15.0.0",
1049                      "v14.17.0"
1050                    ],
1051                    "changes": []
1052                  },
1053                  "params": [],
1054                  "desc": "<p>The <code>'abort'</code> event is emitted when the <code>abortController.abort()</code> method\nis called. The callback is invoked with a single object argument with a\nsingle <code>type</code> property set to <code>'abort'</code>:</p>\n<pre><code class=\"language-js\">const ac = new AbortController();\n\n// Use either the onabort property...\nac.signal.onabort = () => console.log('aborted!');\n\n// Or the EventTarget API...\nac.signal.addEventListener('abort', (event) => {\n  console.log(event.type);  // Prints 'abort'\n}, { once: true });\n\nac.abort();\n</code></pre>\n<p>The <code>AbortController</code> with which the <code>AbortSignal</code> is associated will only\never trigger the <code>'abort'</code> event once. We recommended that code check\nthat the <code>abortSignal.aborted</code> attribute is <code>false</code> before adding an <code>'abort'</code>\nevent listener.</p>\n<p>Any event listeners attached to the <code>AbortSignal</code> should use the\n<code>{ once: true }</code> option (or, if using the <code>EventEmitter</code> APIs to attach a\nlistener, use the <code>once()</code> method) to ensure that the event listener is\nremoved as soon as the <code>'abort'</code> event is handled. Failure to do so may\nresult in memory leaks.</p>"
1055                }
1056              ],
1057              "properties": [
1058                {
1059                  "textRaw": "`aborted` Type: {boolean} True after the `AbortController` has been aborted.",
1060                  "type": "boolean",
1061                  "name": "Type",
1062                  "meta": {
1063                    "added": [
1064                      "v15.0.0",
1065                      "v14.17.0"
1066                    ],
1067                    "changes": []
1068                  },
1069                  "desc": "True after the `AbortController` has been aborted."
1070                },
1071                {
1072                  "textRaw": "`onabort` Type: {Function}",
1073                  "type": "Function",
1074                  "name": "Type",
1075                  "meta": {
1076                    "added": [
1077                      "v15.0.0",
1078                      "v14.17.0"
1079                    ],
1080                    "changes": []
1081                  },
1082                  "desc": "<p>An optional callback function that may be set by user code to be notified\nwhen the <code>abortController.abort()</code> function has been called.</p>"
1083                },
1084                {
1085                  "textRaw": "`reason` Type: {any}",
1086                  "type": "any",
1087                  "name": "Type",
1088                  "meta": {
1089                    "added": [
1090                      "v17.2.0",
1091                      "v16.14.0"
1092                    ],
1093                    "changes": []
1094                  },
1095                  "desc": "<p>An optional reason specified when the <code>AbortSignal</code> was triggered.</p>\n<pre><code class=\"language-js\">const ac = new AbortController();\nac.abort(new Error('boom!'));\nconsole.log(ac.signal.reason);  // Error: boom!\n</code></pre>"
1096                }
1097              ],
1098              "methods": [
1099                {
1100                  "textRaw": "`abortSignal.throwIfAborted()`",
1101                  "type": "method",
1102                  "name": "throwIfAborted",
1103                  "meta": {
1104                    "added": [
1105                      "v17.3.0"
1106                    ],
1107                    "changes": []
1108                  },
1109                  "signatures": [
1110                    {
1111                      "params": []
1112                    }
1113                  ],
1114                  "desc": "<p>If <code>abortSignal.aborted</code> is <code>true</code>, throws <code>abortSignal.reason</code>.</p>"
1115                }
1116              ]
1117            }
1118          ]
1119        },
1120        {
1121          "textRaw": "Class: `Blob`",
1122          "type": "global",
1123          "name": "Blob",
1124          "meta": {
1125            "added": [
1126              "v18.0.0"
1127            ],
1128            "changes": []
1129          },
1130          "desc": "<p>See <a href=\"buffer.html#class-blob\" class=\"type\">&lt;Blob&gt;</a>.</p>"
1131        },
1132        {
1133          "textRaw": "Class: `Buffer`",
1134          "type": "global",
1135          "name": "Buffer",
1136          "meta": {
1137            "added": [
1138              "v0.1.103"
1139            ],
1140            "changes": []
1141          },
1142          "desc": "<ul>\n<li><a href=\"https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Function\" class=\"type\">&lt;Function&gt;</a></li>\n</ul>\n<p>Used to handle binary data. See the <a href=\"buffer.html\">buffer section</a>.</p>"
1143        },
1144        {
1145          "textRaw": "`clearImmediate(immediateObject)`",
1146          "type": "global",
1147          "name": "clearImmediate",
1148          "meta": {
1149            "added": [
1150              "v0.9.1"
1151            ],
1152            "changes": []
1153          },
1154          "desc": "<p><a href=\"timers.html#clearimmediateimmediate\"><code>clearImmediate</code></a> is described in the <a href=\"timers.html\">timers</a> section.</p>"
1155        },
1156        {
1157          "textRaw": "`clearInterval(intervalObject)`",
1158          "type": "global",
1159          "name": "clearInterval",
1160          "meta": {
1161            "added": [
1162              "v0.0.1"
1163            ],
1164            "changes": []
1165          },
1166          "desc": "<p><a href=\"timers.html#clearintervaltimeout\"><code>clearInterval</code></a> is described in the <a href=\"timers.html\">timers</a> section.</p>"
1167        },
1168        {
1169          "textRaw": "`clearTimeout(timeoutObject)`",
1170          "type": "global",
1171          "name": "clearTimeout",
1172          "meta": {
1173            "added": [
1174              "v0.0.1"
1175            ],
1176            "changes": []
1177          },
1178          "desc": "<p><a href=\"timers.html#cleartimeouttimeout\"><code>clearTimeout</code></a> is described in the <a href=\"timers.html\">timers</a> section.</p>"
1179        },
1180        {
1181          "textRaw": "`console`",
1182          "name": "`console`",
1183          "meta": {
1184            "added": [
1185              "v0.1.100"
1186            ],
1187            "changes": []
1188          },
1189          "type": "global",
1190          "desc": "<ul>\n<li><a href=\"https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object\" class=\"type\">&lt;Object&gt;</a></li>\n</ul>\n<p>Used to print to stdout and stderr. See the <a href=\"console.html\"><code>console</code></a> section.</p>"
1191        },
1192        {
1193          "textRaw": "`CustomEvent`",
1194          "name": "`CustomEvent`",
1195          "meta": {
1196            "added": [
1197              "v18.7.0"
1198            ],
1199            "changes": []
1200          },
1201          "stability": 1,
1202          "stabilityText": "Experimental. Enable this API with the [`--experimental-global-customevent`][] CLI flag.",
1203          "type": "global",
1204          "desc": "<p>A browser-compatible implementation of the <a href=\"https://dom.spec.whatwg.org/#customevent\"><code>CustomEvent</code> Web API</a>.</p>"
1205        },
1206        {
1207          "textRaw": "`Event`",
1208          "name": "`Event`",
1209          "meta": {
1210            "added": [
1211              "v15.0.0"
1212            ],
1213            "changes": [
1214              {
1215                "version": "v15.4.0",
1216                "pr-url": "https://github.com/nodejs/node/pull/35949",
1217                "description": "No longer experimental."
1218              }
1219            ]
1220          },
1221          "type": "global",
1222          "desc": "<p>A browser-compatible implementation of the <code>Event</code> class. See\n<a href=\"events.html#eventtarget-and-event-api\"><code>EventTarget</code> and <code>Event</code> API</a> for more details.</p>"
1223        },
1224        {
1225          "textRaw": "`EventTarget`",
1226          "name": "`EventTarget`",
1227          "meta": {
1228            "added": [
1229              "v15.0.0"
1230            ],
1231            "changes": [
1232              {
1233                "version": "v15.4.0",
1234                "pr-url": "https://github.com/nodejs/node/pull/35949",
1235                "description": "No longer experimental."
1236              }
1237            ]
1238          },
1239          "type": "global",
1240          "desc": "<p>A browser-compatible implementation of the <code>EventTarget</code> class. See\n<a href=\"events.html#eventtarget-and-event-api\"><code>EventTarget</code> and <code>Event</code> API</a> for more details.</p>"
1241        },
1242        {
1243          "textRaw": "`global`",
1244          "name": "`global`",
1245          "meta": {
1246            "added": [
1247              "v0.1.27"
1248            ],
1249            "changes": []
1250          },
1251          "type": "global",
1252          "stability": 3,
1253          "stabilityText": "Legacy. Use [`globalThis`][] instead.",
1254          "desc": "<ul>\n<li><a href=\"https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object\" class=\"type\">&lt;Object&gt;</a> The global namespace object.</li>\n</ul>\n<p>In browsers, the top-level scope has traditionally been the global scope. This\nmeans that <code>var something</code> will define a new global variable, except within\nECMAScript modules. In Node.js, this is different. The top-level scope is not\nthe global scope; <code>var something</code> inside a Node.js module will be local to that\nmodule, regardless of whether it is a <a href=\"modules.html\">CommonJS module</a> or an\n<a href=\"esm.html\">ECMAScript module</a>.</p>"
1255        },
1256        {
1257          "textRaw": "`MessageChannel`",
1258          "name": "`MessageChannel`",
1259          "meta": {
1260            "added": [
1261              "v15.0.0"
1262            ],
1263            "changes": []
1264          },
1265          "type": "global",
1266          "desc": "<p>The <code>MessageChannel</code> class. See <a href=\"worker_threads.html#class-messagechannel\"><code>MessageChannel</code></a> for more details.</p>"
1267        },
1268        {
1269          "textRaw": "`MessageEvent`",
1270          "name": "`MessageEvent`",
1271          "meta": {
1272            "added": [
1273              "v15.0.0"
1274            ],
1275            "changes": []
1276          },
1277          "type": "global",
1278          "desc": "<p>The <code>MessageEvent</code> class. See <a href=\"https://developer.mozilla.org/en-US/docs/Web/API/MessageEvent/MessageEvent\"><code>MessageEvent</code></a> for more details.</p>"
1279        },
1280        {
1281          "textRaw": "`MessagePort`",
1282          "name": "`MessagePort`",
1283          "meta": {
1284            "added": [
1285              "v15.0.0"
1286            ],
1287            "changes": []
1288          },
1289          "type": "global",
1290          "desc": "<p>The <code>MessagePort</code> class. See <a href=\"worker_threads.html#class-messageport\"><code>MessagePort</code></a> for more details.</p>"
1291        },
1292        {
1293          "textRaw": "`process`",
1294          "name": "`process`",
1295          "meta": {
1296            "added": [
1297              "v0.1.7"
1298            ],
1299            "changes": []
1300          },
1301          "type": "global",
1302          "desc": "<ul>\n<li><a href=\"https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object\" class=\"type\">&lt;Object&gt;</a></li>\n</ul>\n<p>The process object. See the <a href=\"process.html#process\"><code>process</code> object</a> section.</p>"
1303        },
1304        {
1305          "textRaw": "`queueMicrotask(callback)`",
1306          "type": "global",
1307          "name": "queueMicrotask",
1308          "meta": {
1309            "added": [
1310              "v11.0.0"
1311            ],
1312            "changes": []
1313          },
1314          "desc": "<ul>\n<li><code>callback</code> <a href=\"https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Function\" class=\"type\">&lt;Function&gt;</a> Function to be queued.</li>\n</ul>\n<p>The <code>queueMicrotask()</code> method queues a microtask to invoke <code>callback</code>. If\n<code>callback</code> throws an exception, the <a href=\"process.html#process\"><code>process</code> object</a> <code>'uncaughtException'</code>\nevent will be emitted.</p>\n<p>The microtask queue is managed by V8 and may be used in a similar manner to\nthe <a href=\"process.html#processnexttickcallback-args\"><code>process.nextTick()</code></a> queue, which is managed by Node.js. The\n<code>process.nextTick()</code> queue is always processed before the microtask queue\nwithin each turn of the Node.js event loop.</p>\n<pre><code class=\"language-js\">// Here, `queueMicrotask()` is used to ensure the 'load' event is always\n// emitted asynchronously, and therefore consistently. Using\n// `process.nextTick()` here would result in the 'load' event always emitting\n// before any other promise jobs.\n\nDataHandler.prototype.load = async function load(key) {\n  const hit = this._cache.get(key);\n  if (hit !== undefined) {\n    queueMicrotask(() => {\n      this.emit('load', hit);\n    });\n    return;\n  }\n\n  const data = await fetchData(key);\n  this._cache.set(key, data);\n  this.emit('load', data);\n};\n</code></pre>"
1315        },
1316        {
1317          "textRaw": "`setImmediate(callback[, ...args])`",
1318          "type": "global",
1319          "name": "setImmediate",
1320          "meta": {
1321            "added": [
1322              "v0.9.1"
1323            ],
1324            "changes": []
1325          },
1326          "desc": "<p><a href=\"timers.html#setimmediatecallback-args\"><code>setImmediate</code></a> is described in the <a href=\"timers.html\">timers</a> section.</p>"
1327        },
1328        {
1329          "textRaw": "`setInterval(callback, delay[, ...args])`",
1330          "type": "global",
1331          "name": "setInterval",
1332          "meta": {
1333            "added": [
1334              "v0.0.1"
1335            ],
1336            "changes": []
1337          },
1338          "desc": "<p><a href=\"timers.html#setintervalcallback-delay-args\"><code>setInterval</code></a> is described in the <a href=\"timers.html\">timers</a> section.</p>"
1339        },
1340        {
1341          "textRaw": "`setTimeout(callback, delay[, ...args])`",
1342          "type": "global",
1343          "name": "setTimeout",
1344          "meta": {
1345            "added": [
1346              "v0.0.1"
1347            ],
1348            "changes": []
1349          },
1350          "desc": "<p><a href=\"timers.html#settimeoutcallback-delay-args\"><code>setTimeout</code></a> is described in the <a href=\"timers.html\">timers</a> section.</p>"
1351        },
1352        {
1353          "textRaw": "`structuredClone(value[, options])`",
1354          "type": "global",
1355          "name": "structuredClone",
1356          "meta": {
1357            "added": [
1358              "v17.0.0"
1359            ],
1360            "changes": []
1361          },
1362          "desc": "<p>The WHATWG <a href=\"https://developer.mozilla.org/en-US/docs/Web/API/structuredClone\"><code>structuredClone</code></a> method.</p>"
1363        },
1364        {
1365          "textRaw": "`DOMException`",
1366          "name": "`DOMException`",
1367          "meta": {
1368            "added": [
1369              "v17.0.0"
1370            ],
1371            "changes": []
1372          },
1373          "type": "global",
1374          "desc": "<p>The WHATWG <code>DOMException</code> class. See <a href=\"https://developer.mozilla.org/en-US/docs/Web/API/DOMException\"><code>DOMException</code></a> for more details.</p>"
1375        },
1376        {
1377          "textRaw": "`TextDecoder`",
1378          "name": "`TextDecoder`",
1379          "meta": {
1380            "added": [
1381              "v11.0.0"
1382            ],
1383            "changes": []
1384          },
1385          "type": "global",
1386          "desc": "<p>The WHATWG <code>TextDecoder</code> class. See the <a href=\"util.html#class-utiltextdecoder\"><code>TextDecoder</code></a> section.</p>"
1387        },
1388        {
1389          "textRaw": "`TextEncoder`",
1390          "name": "`TextEncoder`",
1391          "meta": {
1392            "added": [
1393              "v11.0.0"
1394            ],
1395            "changes": []
1396          },
1397          "type": "global",
1398          "desc": "<p>The WHATWG <code>TextEncoder</code> class. See the <a href=\"util.html#class-utiltextencoder\"><code>TextEncoder</code></a> section.</p>"
1399        },
1400        {
1401          "textRaw": "`URL`",
1402          "name": "`URL`",
1403          "meta": {
1404            "added": [
1405              "v10.0.0"
1406            ],
1407            "changes": []
1408          },
1409          "type": "global",
1410          "desc": "<p>The WHATWG <code>URL</code> class. See the <a href=\"url.html#class-url\"><code>URL</code></a> section.</p>"
1411        },
1412        {
1413          "textRaw": "`URLSearchParams`",
1414          "name": "`URLSearchParams`",
1415          "meta": {
1416            "added": [
1417              "v10.0.0"
1418            ],
1419            "changes": []
1420          },
1421          "type": "global",
1422          "desc": "<p>The WHATWG <code>URLSearchParams</code> class. See the <a href=\"url.html#class-urlsearchparams\"><code>URLSearchParams</code></a> section.</p>"
1423        },
1424        {
1425          "textRaw": "`WebAssembly`",
1426          "name": "`WebAssembly`",
1427          "meta": {
1428            "added": [
1429              "v8.0.0"
1430            ],
1431            "changes": []
1432          },
1433          "type": "global",
1434          "desc": "<ul>\n<li><a href=\"https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object\" class=\"type\">&lt;Object&gt;</a></li>\n</ul>\n<p>The object that acts as the namespace for all W3C\n<a href=\"https://webassembly.org\">WebAssembly</a> related functionality. See the\n<a href=\"https://developer.mozilla.org/en-US/docs/WebAssembly\">Mozilla Developer Network</a> for usage and compatibility.</p>"
1435        }
1436      ],
1437      "classes": [
1438        {
1439          "textRaw": "Class: `ByteLengthQueuingStrategy`",
1440          "type": "class",
1441          "name": "ByteLengthQueuingStrategy",
1442          "meta": {
1443            "added": [
1444              "v18.0.0"
1445            ],
1446            "changes": []
1447          },
1448          "stability": 1,
1449          "stabilityText": "Experimental.",
1450          "desc": "<p>A browser-compatible implementation of <a href=\"webstreams.html#class-bytelengthqueuingstrategy\"><code>ByteLengthQueuingStrategy</code></a>.</p>"
1451        },
1452        {
1453          "textRaw": "Class: `CompressionStream`",
1454          "type": "class",
1455          "name": "CompressionStream",
1456          "meta": {
1457            "added": [
1458              "v18.0.0"
1459            ],
1460            "changes": []
1461          },
1462          "stability": 1,
1463          "stabilityText": "Experimental.",
1464          "desc": "<p>A browser-compatible implementation of <a href=\"webstreams.html#class-compressionstream\"><code>CompressionStream</code></a>.</p>"
1465        },
1466        {
1467          "textRaw": "Class: `CountQueuingStrategy`",
1468          "type": "class",
1469          "name": "CountQueuingStrategy",
1470          "meta": {
1471            "added": [
1472              "v18.0.0"
1473            ],
1474            "changes": []
1475          },
1476          "stability": 1,
1477          "stabilityText": "Experimental.",
1478          "desc": "<p>A browser-compatible implementation of <a href=\"webstreams.html#class-countqueuingstrategy\"><code>CountQueuingStrategy</code></a>.</p>"
1479        },
1480        {
1481          "textRaw": "Class: `DecompressionStream`",
1482          "type": "class",
1483          "name": "DecompressionStream",
1484          "meta": {
1485            "added": [
1486              "v18.0.0"
1487            ],
1488            "changes": []
1489          },
1490          "stability": 1,
1491          "stabilityText": "Experimental.",
1492          "desc": "<p>A browser-compatible implementation of <a href=\"webstreams.html#class-decompressionstream\"><code>DecompressionStream</code></a>.</p>"
1493        },
1494        {
1495          "textRaw": "Class: `ReadableByteStreamController`",
1496          "type": "class",
1497          "name": "ReadableByteStreamController",
1498          "meta": {
1499            "added": [
1500              "v18.0.0"
1501            ],
1502            "changes": []
1503          },
1504          "stability": 1,
1505          "stabilityText": "Experimental.",
1506          "desc": "<p>A browser-compatible implementation of <a href=\"webstreams.html#class-readablebytestreamcontroller\"><code>ReadableByteStreamController</code></a>.</p>"
1507        },
1508        {
1509          "textRaw": "Class: `ReadableStream`",
1510          "type": "class",
1511          "name": "ReadableStream",
1512          "meta": {
1513            "added": [
1514              "v18.0.0"
1515            ],
1516            "changes": []
1517          },
1518          "stability": 1,
1519          "stabilityText": "Experimental.",
1520          "desc": "<p>A browser-compatible implementation of <a href=\"webstreams.html#class-readablestream\"><code>ReadableStream</code></a>.</p>"
1521        },
1522        {
1523          "textRaw": "Class: `ReadableStreamBYOBReader`",
1524          "type": "class",
1525          "name": "ReadableStreamBYOBReader",
1526          "meta": {
1527            "added": [
1528              "v18.0.0"
1529            ],
1530            "changes": []
1531          },
1532          "stability": 1,
1533          "stabilityText": "Experimental.",
1534          "desc": "<p>A browser-compatible implementation of <a href=\"webstreams.html#class-readablestreambyobreader\"><code>ReadableStreamBYOBReader</code></a>.</p>"
1535        },
1536        {
1537          "textRaw": "Class: `ReadableStreamBYOBRequest`",
1538          "type": "class",
1539          "name": "ReadableStreamBYOBRequest",
1540          "meta": {
1541            "added": [
1542              "v18.0.0"
1543            ],
1544            "changes": []
1545          },
1546          "stability": 1,
1547          "stabilityText": "Experimental.",
1548          "desc": "<p>A browser-compatible implementation of <a href=\"webstreams.html#class-readablestreambyobrequest\"><code>ReadableStreamBYOBRequest</code></a>.</p>"
1549        },
1550        {
1551          "textRaw": "Class: `ReadableStreamDefaultController`",
1552          "type": "class",
1553          "name": "ReadableStreamDefaultController",
1554          "meta": {
1555            "added": [
1556              "v18.0.0"
1557            ],
1558            "changes": []
1559          },
1560          "stability": 1,
1561          "stabilityText": "Experimental.",
1562          "desc": "<p>A browser-compatible implementation of <a href=\"webstreams.html#class-readablestreamdefaultcontroller\"><code>ReadableStreamDefaultController</code></a>.</p>"
1563        },
1564        {
1565          "textRaw": "Class: `ReadableStreamDefaultReader`",
1566          "type": "class",
1567          "name": "ReadableStreamDefaultReader",
1568          "meta": {
1569            "added": [
1570              "v18.0.0"
1571            ],
1572            "changes": []
1573          },
1574          "stability": 1,
1575          "stabilityText": "Experimental.",
1576          "desc": "<p>A browser-compatible implementation of <a href=\"webstreams.html#class-readablestreamdefaultreader\"><code>ReadableStreamDefaultReader</code></a>.</p>"
1577        },
1578        {
1579          "textRaw": "Class: `TextDecoderStream`",
1580          "type": "class",
1581          "name": "TextDecoderStream",
1582          "meta": {
1583            "added": [
1584              "v18.0.0"
1585            ],
1586            "changes": []
1587          },
1588          "stability": 1,
1589          "stabilityText": "Experimental.",
1590          "desc": "<p>A browser-compatible implementation of <a href=\"webstreams.html#class-textdecoderstream\"><code>TextDecoderStream</code></a>.</p>"
1591        },
1592        {
1593          "textRaw": "Class: `TextEncoderStream`",
1594          "type": "class",
1595          "name": "TextEncoderStream",
1596          "meta": {
1597            "added": [
1598              "v18.0.0"
1599            ],
1600            "changes": []
1601          },
1602          "stability": 1,
1603          "stabilityText": "Experimental.",
1604          "desc": "<p>A browser-compatible implementation of <a href=\"webstreams.html#class-textencoderstream\"><code>TextEncoderStream</code></a>.</p>"
1605        },
1606        {
1607          "textRaw": "Class: `TransformStream`",
1608          "type": "class",
1609          "name": "TransformStream",
1610          "meta": {
1611            "added": [
1612              "v18.0.0"
1613            ],
1614            "changes": []
1615          },
1616          "stability": 1,
1617          "stabilityText": "Experimental.",
1618          "desc": "<p>A browser-compatible implementation of <a href=\"webstreams.html#class-transformstream\"><code>TransformStream</code></a>.</p>"
1619        },
1620        {
1621          "textRaw": "Class: `TransformStreamDefaultController`",
1622          "type": "class",
1623          "name": "TransformStreamDefaultController",
1624          "meta": {
1625            "added": [
1626              "v18.0.0"
1627            ],
1628            "changes": []
1629          },
1630          "stability": 1,
1631          "stabilityText": "Experimental.",
1632          "desc": "<p>A browser-compatible implementation of <a href=\"webstreams.html#class-transformstreamdefaultcontroller\"><code>TransformStreamDefaultController</code></a>.</p>"
1633        },
1634        {
1635          "textRaw": "Class: `WritableStream`",
1636          "type": "class",
1637          "name": "WritableStream",
1638          "meta": {
1639            "added": [
1640              "v18.0.0"
1641            ],
1642            "changes": []
1643          },
1644          "stability": 1,
1645          "stabilityText": "Experimental.",
1646          "desc": "<p>A browser-compatible implementation of <a href=\"webstreams.html#class-writablestream\"><code>WritableStream</code></a>.</p>"
1647        },
1648        {
1649          "textRaw": "Class: `WritableStreamDefaultController`",
1650          "type": "class",
1651          "name": "WritableStreamDefaultController",
1652          "meta": {
1653            "added": [
1654              "v18.0.0"
1655            ],
1656            "changes": []
1657          },
1658          "stability": 1,
1659          "stabilityText": "Experimental.",
1660          "desc": "<p>A browser-compatible implementation of <a href=\"webstreams.html#class-writablestreamdefaultcontroller\"><code>WritableStreamDefaultController</code></a>.</p>"
1661        },
1662        {
1663          "textRaw": "Class: `WritableStreamDefaultWriter`",
1664          "type": "class",
1665          "name": "WritableStreamDefaultWriter",
1666          "meta": {
1667            "added": [
1668              "v18.0.0"
1669            ],
1670            "changes": []
1671          },
1672          "stability": 1,
1673          "stabilityText": "Experimental.",
1674          "desc": "<p>A browser-compatible implementation of <a href=\"webstreams.html#class-writablestreamdefaultwriter\"><code>WritableStreamDefaultWriter</code></a>.</p>"
1675        }
1676      ],
1677      "miscs": [
1678        {
1679          "textRaw": "`__dirname`",
1680          "name": "`__dirname`",
1681          "desc": "<p>This variable may appear to be global but is not. See <a href=\"modules.html#__dirname\"><code>__dirname</code></a>.</p>",
1682          "type": "misc",
1683          "displayName": "`__dirname`"
1684        },
1685        {
1686          "textRaw": "`__filename`",
1687          "name": "`__filename`",
1688          "desc": "<p>This variable may appear to be global but is not. See <a href=\"modules.html#__filename\"><code>__filename</code></a>.</p>",
1689          "type": "misc",
1690          "displayName": "`__filename`"
1691        },
1692        {
1693          "textRaw": "`BroadcastChannel`",
1694          "name": "`broadcastchannel`",
1695          "meta": {
1696            "added": [
1697              "v18.0.0"
1698            ],
1699            "changes": []
1700          },
1701          "desc": "<p>See <a href=\"worker_threads.html#class-broadcastchannel-extends-eventtarget\" class=\"type\">&lt;BroadcastChannel&gt;</a>.</p>",
1702          "type": "misc",
1703          "displayName": "`BroadcastChannel`"
1704        },
1705        {
1706          "textRaw": "`Crypto`",
1707          "name": "`crypto`",
1708          "meta": {
1709            "added": [
1710              "v17.6.0"
1711            ],
1712            "changes": []
1713          },
1714          "stability": 1,
1715          "stabilityText": "Experimental. Enable this API with the [`--experimental-global-webcrypto`][] CLI flag.",
1716          "desc": "<p>A browser-compatible implementation of <a href=\"webcrypto.html#class-crypto\" class=\"type\">&lt;Crypto&gt;</a>. This global is available\nonly if the Node.js binary was compiled with including support for the\n<code>node:crypto</code> module.</p>",
1717          "type": "misc",
1718          "displayName": "`Crypto`"
1719        },
1720        {
1721          "textRaw": "`crypto`",
1722          "name": "`crypto`",
1723          "meta": {
1724            "added": [
1725              "v17.6.0"
1726            ],
1727            "changes": []
1728          },
1729          "stability": 1,
1730          "stabilityText": "Experimental. Enable this API with the [`--experimental-global-webcrypto`][] CLI flag.",
1731          "desc": "<p>A browser-compatible implementation of the <a href=\"webcrypto.html\">Web Crypto API</a>.</p>",
1732          "type": "misc",
1733          "displayName": "`crypto`"
1734        },
1735        {
1736          "textRaw": "`CryptoKey`",
1737          "name": "`cryptokey`",
1738          "meta": {
1739            "added": [
1740              "v17.6.0"
1741            ],
1742            "changes": []
1743          },
1744          "stability": 1,
1745          "stabilityText": "Experimental. Enable this API with the [`--experimental-global-webcrypto`][] CLI flag.",
1746          "desc": "<p>A browser-compatible implementation of <a href=\"webcrypto.html#class-cryptokey\" class=\"type\">&lt;CryptoKey&gt;</a>. This global is available\nonly if the Node.js binary was compiled with including support for the\n<code>node:crypto</code> module.</p>",
1747          "type": "misc",
1748          "displayName": "`CryptoKey`"
1749        },
1750        {
1751          "textRaw": "`exports`",
1752          "name": "`exports`",
1753          "desc": "<p>This variable may appear to be global but is not. See <a href=\"modules.html#exports\"><code>exports</code></a>.</p>",
1754          "type": "misc",
1755          "displayName": "`exports`"
1756        },
1757        {
1758          "textRaw": "`fetch`",
1759          "name": "`fetch`",
1760          "meta": {
1761            "added": [
1762              "v17.5.0"
1763            ],
1764            "changes": [
1765              {
1766                "version": "v18.0.0",
1767                "pr-url": "https://github.com/nodejs/node/pull/41811",
1768                "description": "No longer behind `--experimental-fetch` CLI flag."
1769              }
1770            ]
1771          },
1772          "stability": 1,
1773          "stabilityText": "Experimental. Disable this API with the [`--no-experimental-fetch`][] CLI flag.",
1774          "desc": "<p>A browser-compatible implementation of the <a href=\"https://developer.mozilla.org/en-US/docs/Web/API/fetch\"><code>fetch()</code></a> function.</p>",
1775          "type": "misc",
1776          "displayName": "`fetch`"
1777        },
1778        {
1779          "textRaw": "Class `FormData`",
1780          "name": "class_`formdata`",
1781          "meta": {
1782            "added": [
1783              "v17.6.0"
1784            ],
1785            "changes": [
1786              {
1787                "version": "v18.0.0",
1788                "pr-url": "https://github.com/nodejs/node/pull/41811",
1789                "description": "No longer behind `--experimental-fetch` CLI flag."
1790              }
1791            ]
1792          },
1793          "stability": 1,
1794          "stabilityText": "Experimental. Disable this API with the [`--no-experimental-fetch`][] CLI flag.",
1795          "desc": "<p>A browser-compatible implementation of <a href=\"https://developer.mozilla.org/en-US/docs/Web/API/FormData\" class=\"type\">&lt;FormData&gt;</a>.</p>",
1796          "type": "misc",
1797          "displayName": "Class `FormData`"
1798        },
1799        {
1800          "textRaw": "Class `Headers`",
1801          "name": "class_`headers`",
1802          "meta": {
1803            "added": [
1804              "v17.5.0"
1805            ],
1806            "changes": [
1807              {
1808                "version": "v18.0.0",
1809                "pr-url": "https://github.com/nodejs/node/pull/41811",
1810                "description": "No longer behind `--experimental-fetch` CLI flag."
1811              }
1812            ]
1813          },
1814          "stability": 1,
1815          "stabilityText": "Experimental. Disable this API with the [`--no-experimental-fetch`][] CLI flag.",
1816          "desc": "<p>A browser-compatible implementation of <a href=\"https://developer.mozilla.org/en-US/docs/Web/API/Headers\" class=\"type\">&lt;Headers&gt;</a>.</p>",
1817          "type": "misc",
1818          "displayName": "Class `Headers`"
1819        },
1820        {
1821          "textRaw": "`module`",
1822          "name": "`module`",
1823          "desc": "<p>This variable may appear to be global but is not. See <a href=\"modules.html#module\"><code>module</code></a>.</p>",
1824          "type": "misc",
1825          "displayName": "`module`"
1826        },
1827        {
1828          "textRaw": "`performance`",
1829          "name": "`performance`",
1830          "meta": {
1831            "added": [
1832              "v16.0.0"
1833            ],
1834            "changes": []
1835          },
1836          "desc": "<p>The <a href=\"perf_hooks.html#perf_hooksperformance\"><code>perf_hooks.performance</code></a> object.</p>",
1837          "type": "misc",
1838          "displayName": "`performance`"
1839        },
1840        {
1841          "textRaw": "`Response`",
1842          "name": "`response`",
1843          "meta": {
1844            "added": [
1845              "v17.5.0"
1846            ],
1847            "changes": [
1848              {
1849                "version": "v18.0.0",
1850                "pr-url": "https://github.com/nodejs/node/pull/41811",
1851                "description": "No longer behind `--experimental-fetch` CLI flag."
1852              }
1853            ]
1854          },
1855          "stability": 1,
1856          "stabilityText": "Experimental. Disable this API with the [`--no-experimental-fetch`][] CLI flag.",
1857          "desc": "<p>A browser-compatible implementation of <a href=\"https://developer.mozilla.org/en-US/docs/Web/API/Response\" class=\"type\">&lt;Response&gt;</a>.</p>",
1858          "type": "misc",
1859          "displayName": "`Response`"
1860        },
1861        {
1862          "textRaw": "`Request`",
1863          "name": "`request`",
1864          "meta": {
1865            "added": [
1866              "v17.5.0"
1867            ],
1868            "changes": [
1869              {
1870                "version": "v18.0.0",
1871                "pr-url": "https://github.com/nodejs/node/pull/41811",
1872                "description": "No longer behind `--experimental-fetch` CLI flag."
1873              }
1874            ]
1875          },
1876          "stability": 1,
1877          "stabilityText": "Experimental. Disable this API with the [`--no-experimental-fetch`][] CLI flag.",
1878          "desc": "<p>A browser-compatible implementation of <a href=\"https://developer.mozilla.org/en-US/docs/Web/API/Request\" class=\"type\">&lt;Request&gt;</a>.</p>",
1879          "type": "misc",
1880          "displayName": "`Request`"
1881        },
1882        {
1883          "textRaw": "`SubtleCrypto`",
1884          "name": "`subtlecrypto`",
1885          "meta": {
1886            "added": [
1887              "v17.6.0"
1888            ],
1889            "changes": []
1890          },
1891          "stability": 1,
1892          "stabilityText": "Experimental. Enable this API with the [`--experimental-global-webcrypto`][] CLI flag.",
1893          "desc": "<p>A browser-compatible implementation of <a href=\"webcrypto.html#class-subtlecrypto\" class=\"type\">&lt;SubtleCrypto&gt;</a>. This global is available\nonly if the Node.js binary was compiled with including support for the\n<code>node:crypto</code> module.</p>",
1894          "type": "misc",
1895          "displayName": "`SubtleCrypto`"
1896        }
1897      ],
1898      "methods": [
1899        {
1900          "textRaw": "`atob(data)`",
1901          "type": "method",
1902          "name": "atob",
1903          "meta": {
1904            "added": [
1905              "v16.0.0"
1906            ],
1907            "changes": []
1908          },
1909          "stability": 3,
1910          "stabilityText": "Legacy. Use `Buffer.from(data, 'base64')` instead.",
1911          "signatures": [
1912            {
1913              "params": []
1914            }
1915          ],
1916          "desc": "<p>Global alias for <a href=\"buffer.html#bufferatobdata\"><code>buffer.atob()</code></a>.</p>"
1917        },
1918        {
1919          "textRaw": "`btoa(data)`",
1920          "type": "method",
1921          "name": "btoa",
1922          "meta": {
1923            "added": [
1924              "v16.0.0"
1925            ],
1926            "changes": []
1927          },
1928          "stability": 3,
1929          "stabilityText": "Legacy. Use `buf.toString('base64')` instead.",
1930          "signatures": [
1931            {
1932              "params": []
1933            }
1934          ],
1935          "desc": "<p>Global alias for <a href=\"buffer.html#bufferbtoadata\"><code>buffer.btoa()</code></a>.</p>"
1936        },
1937        {
1938          "textRaw": "`require()`",
1939          "type": "method",
1940          "name": "require",
1941          "signatures": [
1942            {
1943              "params": []
1944            }
1945          ],
1946          "desc": "<p>This variable may appear to be global but is not. See <a href=\"modules.html#requireid\"><code>require()</code></a>.</p>"
1947        }
1948      ]
1949    }
1950  ]
1951}