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\"><EventTarget></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\"><Blob></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\"><Function></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\"><Object></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\"><Object></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\"><Object></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\"><Function></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\"><Object></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\"><EventTarget></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\"><Blob></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\"><Function></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\"><Object></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\"><Object></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\"><Object></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\"><Function></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\"><Object></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\"><BroadcastChannel></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\"><Crypto></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\"><CryptoKey></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\"><FormData></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\"><Headers></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\"><Response></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\"><Request></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\"><SubtleCrypto></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}