{"$schema":"https://doc-kit.nodejs.org/schemas/api-doc/1.0.0.json","id":"globals","path":"/globals","type":"misc","module":null,"title":"Global objects","introducedIn":"v0.10.0","sourceLink":null,"stability":{"index":"2","description":"Stable"},"added":[],"deprecated":[],"removed":[],"napiVersion":[],"changes":[],"description":"These objects are available in all modules.\n\nThe following variables may appear to be global but are not. They exist only in\nthe scope of [CommonJS modules](modules.html):\n\n* [`__dirname`](modules.html#__dirname)\n* [`__filename`](modules.html#__filename)\n* [`exports`](modules.html#exports)\n* [`module`](modules.html#module)\n* [`require()`](modules.html#requireid)\n\nThe objects listed here are specific to Node.js. There are [built-in objects](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects)\nthat are part of the JavaScript language itself, which are also globally\naccessible.","summary":"These objects are available in all modules.","examples":[],"children":[{"kind":"section","id":"__dirname","name":"__dirname","title":"`__dirname`","scope":"module","overloadOf":null,"stability":null,"added":[],"deprecated":[],"removed":[],"napiVersion":[],"changes":[],"description":"This variable may appear to be global but is not. See [`__dirname`](modules.html#__dirname).","summary":"This variable may appear to be global but is not. See `__dirname`.","examples":[],"children":[]},{"kind":"section","id":"__filename","name":"__filename","title":"`__filename`","scope":"module","overloadOf":null,"stability":null,"added":[],"deprecated":[],"removed":[],"napiVersion":[],"changes":[],"description":"This variable may appear to be global but is not. See [`__filename`](modules.html#__filename).","summary":"This variable may appear to be global but is not. See `__filename`.","examples":[],"children":[]},{"kind":"class","id":"class-abortcontroller","name":"AbortController","title":"Class: `AbortController`","scope":"module","overloadOf":null,"stability":null,"added":["v15.0.0","v14.17.0"],"deprecated":[],"removed":[],"napiVersion":[],"changes":[{"versions":["v15.4.0"],"prUrl":"https://github.com/nodejs/node/pull/35949","commit":null,"description":"No longer experimental."}],"extends":null,"description":"A utility class used to signal cancelation in selected `Promise`-based APIs.\nThe API is based on the Web API {AbortController}.\n\n```js\nconst 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```","summary":"A utility class used to signal cancelation in selected `Promise`-based APIs. The API is based on the Web API {AbortController}.","examples":[{"language":"js","displayName":null,"code":"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"}],"children":[{"kind":"method","id":"abortcontrollerabortreason","name":"abort","title":"`abortController.abort([reason])`","scope":"module","overloadOf":null,"stability":null,"added":["v15.0.0","v14.17.0"],"deprecated":[],"removed":[],"napiVersion":[],"changes":[{"versions":["v17.2.0","v16.14.0"],"prUrl":"https://github.com/nodejs/node/pull/40807","commit":null,"description":"Added the new optional reason argument."}],"signature":{"parameters":[{"name":"reason","type":{"text":"any","links":[{"name":"any","href":"https://developer.mozilla.org/en-US/docs/Web/JavaScript/Data_structures#Data_types","start":0,"end":3}]},"description":"An optional reason, retrievable on the `AbortSignal`'s\n`reason` property.","default":null,"optional":true,"rest":false,"properties":[]}],"returns":null},"description":"Triggers the abort signal, causing the `abortController.signal` to emit\nthe `'abort'` event.","summary":"Triggers the abort signal, causing the `abortController.signal` to emit the `'abort'` event.","examples":[],"children":[]},{"kind":"property","id":"abortcontrollersignal","name":"signal","title":"`abortController.signal`","scope":"module","overloadOf":null,"stability":null,"added":["v15.0.0","v14.17.0"],"deprecated":[],"removed":[],"napiVersion":[],"changes":[],"type":{"text":"AbortSignal","links":[{"name":"AbortSignal","href":"globals.html#class-abortsignal","start":0,"end":11}]},"default":null,"description":"","summary":"","examples":[],"children":[]}]},{"kind":"class","id":"class-abortsignal","name":"AbortSignal","title":"Class: `AbortSignal`","scope":"module","overloadOf":null,"stability":null,"added":["v15.0.0","v14.17.0"],"deprecated":[],"removed":[],"napiVersion":[],"changes":[],"extends":{"text":"EventTarget","links":[{"name":"EventTarget","href":"events.html#class-eventtarget","start":0,"end":11}]},"description":"The `AbortSignal` is used to notify observers when the\n`abortController.abort()` method is called.","summary":"The `AbortSignal` is used to notify observers when the `abortController.abort()` method is called.","examples":[],"children":[{"kind":"staticMethod","id":"static-method-abortsignalabortreason","name":"abort","title":"Static method: `AbortSignal.abort([reason])`","scope":"module","overloadOf":null,"stability":null,"added":["v15.12.0","v14.17.0"],"deprecated":[],"removed":[],"napiVersion":[],"changes":[{"versions":["v17.2.0","v16.14.0"],"prUrl":"https://github.com/nodejs/node/pull/40807","commit":null,"description":"Added the new optional reason argument."}],"signature":{"parameters":[{"name":"reason","type":{"text":"any","links":[{"name":"any","href":"https://developer.mozilla.org/en-US/docs/Web/JavaScript/Data_structures#Data_types","start":0,"end":3}]},"description":"","default":null,"optional":true,"rest":false,"properties":[]}],"returns":{"type":{"text":"AbortSignal","links":[{"name":"AbortSignal","href":"globals.html#class-abortsignal","start":0,"end":11}]},"description":""}},"description":"Returns a new already aborted `AbortSignal`.","summary":"Returns a new already aborted `AbortSignal`.","examples":[],"children":[]},{"kind":"staticMethod","id":"static-method-abortsignaltimeoutdelay","name":"timeout","title":"Static method: `AbortSignal.timeout(delay)`","scope":"module","overloadOf":null,"stability":null,"added":["v17.3.0","v16.14.0"],"deprecated":[],"removed":[],"napiVersion":[],"changes":[],"signature":{"parameters":[{"name":"delay","type":{"text":"number","links":[{"name":"number","href":"https://developer.mozilla.org/en-US/docs/Web/JavaScript/Data_structures#number_type","start":0,"end":6}]},"description":"The number of milliseconds to wait before triggering\nthe AbortSignal.","default":null,"optional":false,"rest":false,"properties":[]}],"returns":null},"description":"Returns a new `AbortSignal` which will be aborted in `delay` milliseconds.","summary":"Returns a new `AbortSignal` which will be aborted in `delay` milliseconds.","examples":[],"children":[]},{"kind":"staticMethod","id":"static-method-abortsignalanysignals","name":"any","title":"Static method: `AbortSignal.any(signals)`","scope":"module","overloadOf":null,"stability":null,"added":["v20.3.0","v18.17.0"],"deprecated":[],"removed":[],"napiVersion":[],"changes":[],"signature":{"parameters":[{"name":"signals","type":{"text":"AbortSignal[]","links":[{"name":"AbortSignal","href":"globals.html#class-abortsignal","start":0,"end":11}]},"description":"The `AbortSignal`s of which to compose a new `AbortSignal`.","default":null,"optional":false,"rest":false,"properties":[]}],"returns":null},"description":"Returns a new `AbortSignal` which will be aborted if any of the provided\nsignals are aborted. Its [`abortSignal.reason`](#abortsignalreason) will be set to whichever\none of the `signals` caused it to be aborted.","summary":"Returns a new `AbortSignal` which will be aborted if any of the provided signals are aborted. Its `abortSignal.reason` will be set to whichever one of the `signals` caused it to be aborted.","examples":[],"children":[]},{"kind":"event","id":"event-abort","name":"abort","title":"Event: `'abort'`","scope":"module","overloadOf":null,"stability":null,"added":["v15.0.0","v14.17.0"],"deprecated":[],"removed":[],"napiVersion":[],"changes":[],"parameters":[],"description":"The `'abort'` event is emitted when the `abortController.abort()` method\nis called. The callback is invoked with a single object argument with a\nsingle `type` property set to `'abort'`:\n\n```js\nconst 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```\n\nThe `AbortController` with which the `AbortSignal` is associated will only\never trigger the `'abort'` event once. We recommended that code check\nthat the `abortSignal.aborted` attribute is `false` before adding an `'abort'`\nevent listener.\n\nAny event listeners attached to the `AbortSignal` should use the\n`{ once: true }` option (or, if using the `EventEmitter` APIs to attach a\nlistener, use the `once()` method) to ensure that the event listener is\nremoved as soon as the `'abort'` event is handled. Failure to do so may\nresult in memory leaks.","summary":"The `'abort'` event is emitted when the `abortController.abort()` method is called. The callback is invoked with a single object argument with a single `type` property set to `'abort'`:","examples":[{"language":"js","displayName":null,"code":"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();"}],"children":[]},{"kind":"property","id":"abortsignalaborted","name":"aborted","title":"`abortSignal.aborted`","scope":"module","overloadOf":null,"stability":null,"added":["v15.0.0","v14.17.0"],"deprecated":[],"removed":[],"napiVersion":[],"changes":[],"type":{"text":"boolean","links":[{"name":"boolean","href":"https://developer.mozilla.org/en-US/docs/Web/JavaScript/Data_structures#boolean_type","start":0,"end":7}]},"default":null,"description":"True after the `AbortController` has been aborted.","summary":"True after the `AbortController` has been aborted.","examples":[],"children":[]},{"kind":"property","id":"abortsignalonabort","name":"onabort","title":"`abortSignal.onabort`","scope":"module","overloadOf":null,"stability":null,"added":["v15.0.0","v14.17.0"],"deprecated":[],"removed":[],"napiVersion":[],"changes":[],"type":{"text":"Function","links":[{"name":"Function","href":"https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Function","start":0,"end":8}]},"default":null,"description":"An optional callback function that may be set by user code to be notified\nwhen the `abortController.abort()` function has been called.","summary":"An optional callback function that may be set by user code to be notified when the `abortController.abort()` function has been called.","examples":[],"children":[]},{"kind":"property","id":"abortsignalreason","name":"reason","title":"`abortSignal.reason`","scope":"module","overloadOf":null,"stability":null,"added":["v17.2.0","v16.14.0"],"deprecated":[],"removed":[],"napiVersion":[],"changes":[],"type":{"text":"any","links":[{"name":"any","href":"https://developer.mozilla.org/en-US/docs/Web/JavaScript/Data_structures#Data_types","start":0,"end":3}]},"default":null,"description":"An optional reason specified when the `AbortSignal` was triggered.\n\n```js\nconst ac = new AbortController();\nac.abort(new Error('boom!'));\nconsole.log(ac.signal.reason);  // Error: boom!\n```","summary":"An optional reason specified when the `AbortSignal` was triggered.","examples":[{"language":"js","displayName":null,"code":"const ac = new AbortController();\nac.abort(new Error('boom!'));\nconsole.log(ac.signal.reason);  // Error: boom!"}],"children":[]},{"kind":"method","id":"abortsignalthrowifaborted","name":"throwIfAborted","title":"`abortSignal.throwIfAborted()`","scope":"module","overloadOf":null,"stability":null,"added":["v17.3.0","v16.17.0"],"deprecated":[],"removed":[],"napiVersion":[],"changes":[],"signature":{"parameters":[],"returns":null},"description":"If `abortSignal.aborted` is `true`, throws `abortSignal.reason`.","summary":"If `abortSignal.aborted` is `true`, throws `abortSignal.reason`.","examples":[],"children":[]}]},{"kind":"method","id":"atobdata","name":"atob","title":"`atob(data)`","scope":"module","overloadOf":null,"stability":{"index":"3","description":"Legacy. Use `Buffer.from(data, 'base64')` instead."},"added":["v16.0.0"],"deprecated":[],"removed":[],"napiVersion":[],"changes":[],"signature":{"parameters":[{"name":"data","type":null,"description":"","default":null,"optional":false,"rest":false,"properties":[]}],"returns":null},"description":"Global alias for [`buffer.atob()`](buffer.html#bufferatobdata).\n\nAn automated migration is available ([source](https://github.com/nodejs/userland-migrations/tree/main/recipes/buffer-atob-btoa)):\n\n```bash\nnpx codemod@latest @nodejs/buffer-atob-btoa\n```","summary":"Global alias for `buffer.atob()`.","examples":[{"language":"bash","displayName":null,"code":"npx codemod@latest @nodejs/buffer-atob-btoa"}],"children":[]},{"kind":"class","id":"class-blob","name":"Blob","title":"Class: `Blob`","scope":"module","overloadOf":null,"stability":null,"added":["v18.0.0"],"deprecated":[],"removed":[],"napiVersion":[],"changes":[],"extends":null,"description":"See {Blob}.","summary":"See {Blob}.","examples":[],"children":[]},{"kind":"class","id":"class-broadcastchannel","name":"BroadcastChannel","title":"Class: `BroadcastChannel`","scope":"module","overloadOf":null,"stability":null,"added":["v18.0.0"],"deprecated":[],"removed":[],"napiVersion":[],"changes":[],"extends":null,"description":"See {BroadcastChannel}.","summary":"See {BroadcastChannel}.","examples":[],"children":[]},{"kind":"method","id":"btoadata","name":"btoa","title":"`btoa(data)`","scope":"module","overloadOf":null,"stability":{"index":"3","description":"Legacy. Use `buf.toString('base64')` instead."},"added":["v16.0.0"],"deprecated":[],"removed":[],"napiVersion":[],"changes":[],"signature":{"parameters":[{"name":"data","type":null,"description":"","default":null,"optional":false,"rest":false,"properties":[]}],"returns":null},"description":"Global alias for [`buffer.btoa()`](buffer.html#bufferbtoadata).\n\nAn automated migration is available ([source](https://github.com/nodejs/userland-migrations/tree/main/recipes/buffer-atob-btoa)):\n\n```bash\nnpx codemod@latest @nodejs/buffer-atob-btoa\n```","summary":"Global alias for `buffer.btoa()`.","examples":[{"language":"bash","displayName":null,"code":"npx codemod@latest @nodejs/buffer-atob-btoa"}],"children":[]},{"kind":"class","id":"class-buffer","name":"Buffer","title":"Class: `Buffer`","scope":"module","overloadOf":null,"stability":null,"added":["v0.1.103"],"deprecated":[],"removed":[],"napiVersion":[],"changes":[],"extends":null,"description":"* Type: {Function}\n\nUsed to handle binary data. See the [buffer section](buffer.html).","summary":"Used to handle binary data. See the buffer section.","examples":[],"children":[]},{"kind":"class","id":"class-bytelengthqueuingstrategy","name":"ByteLengthQueuingStrategy","title":"Class: `ByteLengthQueuingStrategy`","scope":"module","overloadOf":null,"stability":null,"added":["v18.0.0"],"deprecated":[],"removed":[],"napiVersion":[],"changes":[{"versions":["v23.11.0","v22.15.0"],"prUrl":"https://github.com/nodejs/node/pull/57510","commit":null,"description":"Marking the API stable."}],"extends":null,"description":"A browser-compatible implementation of [`ByteLengthQueuingStrategy`](webstreams.html#class-bytelengthqueuingstrategy).","summary":"A browser-compatible implementation of `ByteLengthQueuingStrategy`.","examples":[],"children":[]},{"kind":"method","id":"clearimmediateimmediateobject","name":"clearImmediate","title":"`clearImmediate(immediateObject)`","scope":"module","overloadOf":null,"stability":null,"added":["v0.9.1"],"deprecated":[],"removed":[],"napiVersion":[],"changes":[],"signature":{"parameters":[{"name":"immediateObject","type":null,"description":"","default":null,"optional":false,"rest":false,"properties":[]}],"returns":null},"description":"[`clearImmediate`](timers.html#clearimmediateimmediate) is described in the [timers](timers.html) section.","summary":"`clearImmediate` is described in the timers section.","examples":[],"children":[]},{"kind":"method","id":"clearintervalintervalobject","name":"clearInterval","title":"`clearInterval(intervalObject)`","scope":"module","overloadOf":null,"stability":null,"added":["v0.0.1"],"deprecated":[],"removed":[],"napiVersion":[],"changes":[],"signature":{"parameters":[{"name":"intervalObject","type":null,"description":"","default":null,"optional":false,"rest":false,"properties":[]}],"returns":null},"description":"[`clearInterval`](timers.html#clearintervaltimeout) is described in the [timers](timers.html) section.","summary":"`clearInterval` is described in the timers section.","examples":[],"children":[]},{"kind":"method","id":"cleartimeouttimeoutobject","name":"clearTimeout","title":"`clearTimeout(timeoutObject)`","scope":"module","overloadOf":null,"stability":null,"added":["v0.0.1"],"deprecated":[],"removed":[],"napiVersion":[],"changes":[],"signature":{"parameters":[{"name":"timeoutObject","type":null,"description":"","default":null,"optional":false,"rest":false,"properties":[]}],"returns":null},"description":"[`clearTimeout`](timers.html#cleartimeouttimeout) is described in the [timers](timers.html) section.","summary":"`clearTimeout` is described in the timers section.","examples":[],"children":[]},{"kind":"class","id":"class-closeevent","name":"CloseEvent","title":"Class: `CloseEvent`","scope":"module","overloadOf":null,"stability":null,"added":["v23.0.0"],"deprecated":[],"removed":[],"napiVersion":[],"changes":[],"extends":null,"description":"A browser-compatible implementation of {CloseEvent}. Disable this API\nwith the [`--no-experimental-websocket`](cli.html#--no-experimental-websocket) CLI flag.","summary":"A browser-compatible implementation of {CloseEvent}. Disable this API with the `--no-experimental-websocket` CLI flag.","examples":[],"children":[]},{"kind":"class","id":"class-compressionstream","name":"CompressionStream","title":"Class: `CompressionStream`","scope":"module","overloadOf":null,"stability":null,"added":["v18.0.0"],"deprecated":[],"removed":[],"napiVersion":[],"changes":[{"versions":["v24.7.0","v22.20.0"],"prUrl":"https://github.com/nodejs/node/pull/59464","commit":null,"description":"format now accepts `brotli` value."},{"versions":["v23.11.0","v22.15.0"],"prUrl":"https://github.com/nodejs/node/pull/57510","commit":null,"description":"Marking the API stable."}],"extends":null,"description":"A browser-compatible implementation of [`CompressionStream`](webstreams.html#class-compressionstream).","summary":"A browser-compatible implementation of `CompressionStream`.","examples":[],"children":[]},{"kind":"section","id":"console","name":"console","title":"`console`","scope":"module","overloadOf":null,"stability":null,"added":["v0.1.100"],"deprecated":[],"removed":[],"napiVersion":[],"changes":[],"description":"* Type: {Object}\n\nUsed to print to stdout and stderr. See the [`console`](console.html) section.","summary":"Used to print to stdout and stderr. See the `console` section.","examples":[],"children":[]},{"kind":"class","id":"class-countqueuingstrategy","name":"CountQueuingStrategy","title":"Class: `CountQueuingStrategy`","scope":"module","overloadOf":null,"stability":null,"added":["v18.0.0"],"deprecated":[],"removed":[],"napiVersion":[],"changes":[{"versions":["v23.11.0","v22.15.0"],"prUrl":"https://github.com/nodejs/node/pull/57510","commit":null,"description":"Marking the API stable."}],"extends":null,"description":"A browser-compatible implementation of [`CountQueuingStrategy`](webstreams.html#class-countqueuingstrategy).","summary":"A browser-compatible implementation of `CountQueuingStrategy`.","examples":[],"children":[]},{"kind":"class","id":"class-crypto","name":"Crypto","title":"Class: `Crypto`","scope":"module","overloadOf":null,"stability":null,"added":["v17.6.0","v16.15.0"],"deprecated":[],"removed":[],"napiVersion":[],"changes":[{"versions":["v23.0.0"],"prUrl":"https://github.com/nodejs/node/pull/52564","commit":null,"description":"No longer experimental."},{"versions":["v19.0.0"],"prUrl":"https://github.com/nodejs/node/pull/42083","commit":null,"description":"No longer behind `--experimental-global-webcrypto` CLI flag."}],"extends":null,"description":"A browser-compatible implementation of {Crypto}. This global is available\nonly if the Node.js binary was compiled with including support for the\n`node:crypto` module.","summary":"A browser-compatible implementation of {Crypto}. This global is available only if the Node.js binary was compiled with including support for the `node:crypto` module.","examples":[],"children":[]},{"kind":"section","id":"crypto","name":"crypto","title":"`crypto`","scope":"module","overloadOf":null,"stability":null,"added":["v17.6.0","v16.15.0"],"deprecated":[],"removed":[],"napiVersion":[],"changes":[{"versions":["v23.0.0"],"prUrl":"https://github.com/nodejs/node/pull/52564","commit":null,"description":"No longer experimental."},{"versions":["v19.0.0"],"prUrl":"https://github.com/nodejs/node/pull/42083","commit":null,"description":"No longer behind `--experimental-global-webcrypto` CLI flag."}],"description":"A browser-compatible implementation of the [Web Crypto API](webcrypto.html).","summary":"A browser-compatible implementation of the Web Crypto API.","examples":[],"children":[]},{"kind":"class","id":"class-cryptokey","name":"CryptoKey","title":"Class: `CryptoKey`","scope":"module","overloadOf":null,"stability":null,"added":["v17.6.0","v16.15.0"],"deprecated":[],"removed":[],"napiVersion":[],"changes":[{"versions":["v23.0.0"],"prUrl":"https://github.com/nodejs/node/pull/52564","commit":null,"description":"No longer experimental."},{"versions":["v19.0.0"],"prUrl":"https://github.com/nodejs/node/pull/42083","commit":null,"description":"No longer behind `--experimental-global-webcrypto` CLI flag."}],"extends":null,"description":"A browser-compatible implementation of {CryptoKey}. This global is available\nonly if the Node.js binary was compiled with including support for the\n`node:crypto` module.","summary":"A browser-compatible implementation of {CryptoKey}. This global is available only if the Node.js binary was compiled with including support for the `node:crypto` module.","examples":[],"children":[]},{"kind":"class","id":"class-customevent","name":"CustomEvent","title":"Class: `CustomEvent`","scope":"module","overloadOf":null,"stability":null,"added":["v18.7.0","v16.17.0"],"deprecated":[],"removed":[],"napiVersion":[],"changes":[{"versions":["v23.0.0"],"prUrl":"https://github.com/nodejs/node/pull/52723","commit":null,"description":"No longer experimental."},{"versions":["v22.1.0","v20.13.0"],"prUrl":"https://github.com/nodejs/node/pull/52618","commit":null,"description":"CustomEvent is now stable."},{"versions":["v19.0.0"],"prUrl":"https://github.com/nodejs/node/pull/44860","commit":null,"description":"No longer behind `--experimental-global-customevent` CLI flag."}],"extends":null,"description":"A browser-compatible implementation of {CustomEvent}.","summary":"A browser-compatible implementation of {CustomEvent}.","examples":[],"children":[]},{"kind":"class","id":"class-decompressionstream","name":"DecompressionStream","title":"Class: `DecompressionStream`","scope":"module","overloadOf":null,"stability":null,"added":["v18.0.0"],"deprecated":[],"removed":[],"napiVersion":[],"changes":[{"versions":["v24.7.0","v22.20.0"],"prUrl":"https://github.com/nodejs/node/pull/59464","commit":null,"description":"format now accepts `brotli` value."},{"versions":["v23.11.0","v22.15.0"],"prUrl":"https://github.com/nodejs/node/pull/57510","commit":null,"description":"Marking the API stable."}],"extends":null,"description":"A browser-compatible implementation of [`DecompressionStream`](webstreams.html#class-decompressionstream).","summary":"A browser-compatible implementation of `DecompressionStream`.","examples":[],"children":[]},{"kind":"class","id":"class-domexception","name":"DOMException","title":"Class: `DOMException`","scope":"module","overloadOf":null,"stability":null,"added":["v17.0.0"],"deprecated":[],"removed":[],"napiVersion":[],"changes":[],"extends":null,"description":"The WHATWG {DOMException} class.","summary":"The WHATWG {DOMException} class.","examples":[],"children":[]},{"kind":"section","id":"errorevent","name":"ErrorEvent","title":"`ErrorEvent`","scope":"module","overloadOf":null,"stability":null,"added":["v25.0.0"],"deprecated":[],"removed":[],"napiVersion":[],"changes":[],"description":"A browser-compatible implementation of {ErrorEvent}.","summary":"A browser-compatible implementation of {ErrorEvent}.","examples":[],"children":[]},{"kind":"class","id":"class-event","name":"Event","title":"Class: `Event`","scope":"module","overloadOf":null,"stability":null,"added":["v15.0.0"],"deprecated":[],"removed":[],"napiVersion":[],"changes":[{"versions":["v15.4.0"],"prUrl":"https://github.com/nodejs/node/pull/35949","commit":null,"description":"No longer experimental."}],"extends":null,"description":"A browser-compatible implementation of the `Event` class. See\n[`EventTarget` and `Event` API](events.html#eventtarget-and-event-api) for more details.","summary":"A browser-compatible implementation of the `Event` class. See `EventTarget` and `Event` API for more details.","examples":[],"children":[]},{"kind":"class","id":"class-eventsource","name":"EventSource","title":"Class: `EventSource`","scope":"module","overloadOf":null,"stability":{"index":"1","description":"Experimental. Enable this API with the [`--experimental-eventsource`](cli.html#--experimental-eventsource)\nCLI flag."},"added":["v22.3.0","v20.18.0"],"deprecated":[],"removed":[],"napiVersion":[],"changes":[],"extends":null,"description":"A browser-compatible implementation of {EventSource}.","summary":"A browser-compatible implementation of {EventSource}.","examples":[],"children":[]},{"kind":"class","id":"class-eventtarget","name":"EventTarget","title":"Class: `EventTarget`","scope":"module","overloadOf":null,"stability":null,"added":["v15.0.0"],"deprecated":[],"removed":[],"napiVersion":[],"changes":[{"versions":["v15.4.0"],"prUrl":"https://github.com/nodejs/node/pull/35949","commit":null,"description":"No longer experimental."}],"extends":null,"description":"A browser-compatible implementation of the `EventTarget` class. See\n[`EventTarget` and `Event` API](events.html#eventtarget-and-event-api) for more details.","summary":"A browser-compatible implementation of the `EventTarget` class. See `EventTarget` and `Event` API for more details.","examples":[],"children":[]},{"kind":"section","id":"exports","name":"exports","title":"`exports`","scope":"module","overloadOf":null,"stability":null,"added":[],"deprecated":[],"removed":[],"napiVersion":[],"changes":[],"description":"This variable may appear to be global but is not. See [`exports`](modules.html#exports).","summary":"This variable may appear to be global but is not. See `exports`.","examples":[],"children":[]},{"kind":"section","id":"fetch","name":"fetch","title":"`fetch`","scope":"module","overloadOf":null,"stability":null,"added":["v17.5.0","v16.15.0"],"deprecated":[],"removed":[],"napiVersion":[],"changes":[{"versions":["v21.0.0"],"prUrl":"https://github.com/nodejs/node/pull/45684","commit":null,"description":"No longer experimental."},{"versions":["v18.0.0"],"prUrl":"https://github.com/nodejs/node/pull/41811","commit":null,"description":"No longer behind `--experimental-fetch` CLI flag."}],"description":"A browser-compatible implementation of the [`fetch()`](https://developer.mozilla.org/en-US/docs/Web/API/Window/fetch) function.\n\n```mjs\nconst res = await fetch('https://nodejs.org/api/documentation.json');\nif (res.ok) {\n  const data = await res.json();\n  console.log(data);\n}\n```\n\nThe implementation is based upon [undici](https://undici.nodejs.org), an HTTP/1.1 client\nwritten from scratch for Node.js. You can figure out which version of `undici` is bundled\nin your Node.js process reading the `process.versions.undici` property.","summary":"A browser-compatible implementation of the `fetch()` function.","examples":[{"language":"mjs","displayName":null,"code":"const res = await fetch('https://nodejs.org/api/documentation.json');\nif (res.ok) {\n  const data = await res.json();\n  console.log(data);\n}"}],"children":[{"kind":"section","id":"custom-dispatcher","name":"Custom dispatcher","title":"Custom dispatcher","scope":"module","overloadOf":null,"stability":null,"added":[],"deprecated":[],"removed":[],"napiVersion":[],"changes":[],"description":"You can use a custom dispatcher to dispatch requests passing it in fetch's options object.\nThe dispatcher must be compatible with `undici`'s\n[`Dispatcher` class](https://undici.nodejs.org/api/Dispatcher).\n\n```js\nfetch(url, { dispatcher: new MyAgent() });\n```\n\nIt is possible to change the global dispatcher in Node.js by installing `undici` and using\nthe `setGlobalDispatcher()` method. Calling this method will affect both `undici` and\nNode.js.\n\n```mjs\nimport { setGlobalDispatcher } from 'undici';\nsetGlobalDispatcher(new MyAgent());\n```","summary":"You can use a custom dispatcher to dispatch requests passing it in fetch's options object. The dispatcher must be compatible with `undici`'s `Dispatcher` class.","examples":[{"language":"js","displayName":null,"code":"fetch(url, { dispatcher: new MyAgent() });"},{"language":"mjs","displayName":null,"code":"import { setGlobalDispatcher } from 'undici';\nsetGlobalDispatcher(new MyAgent());"}],"children":[]},{"kind":"section","id":"related-classes","name":"Related classes","title":"Related classes","scope":"module","overloadOf":null,"stability":null,"added":[],"deprecated":[],"removed":[],"napiVersion":[],"changes":[],"description":"The following globals are available to use with `fetch`:\n\n* [`FormData`](#class-formdata)\n* [`Headers`](#class-headers)\n* [`Request`](#class-request)\n* [`Response`](#class-response)","summary":"The following globals are available to use with `fetch`:","examples":[],"children":[]}]},{"kind":"class","id":"class-file","name":"File","title":"Class: `File`","scope":"module","overloadOf":null,"stability":null,"added":["v20.0.0"],"deprecated":[],"removed":[],"napiVersion":[],"changes":[],"extends":null,"description":"See {File}.","summary":"See {File}.","examples":[],"children":[]},{"kind":"class","id":"class-formdata","name":"FormData","title":"Class: `FormData`","scope":"module","overloadOf":null,"stability":null,"added":["v17.6.0","v16.15.0"],"deprecated":[],"removed":[],"napiVersion":[],"changes":[{"versions":["v21.0.0"],"prUrl":"https://github.com/nodejs/node/pull/45684","commit":null,"description":"No longer experimental."},{"versions":["v18.0.0"],"prUrl":"https://github.com/nodejs/node/pull/41811","commit":null,"description":"No longer behind `--experimental-fetch` CLI flag."}],"extends":null,"description":"A browser-compatible implementation of {FormData}.","summary":"A browser-compatible implementation of {FormData}.","examples":[],"children":[]},{"kind":"section","id":"global","name":"global","title":"`global`","scope":"module","overloadOf":null,"stability":{"index":"3","description":"Legacy. Use [`globalThis`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/globalThis) instead."},"added":["v0.1.27"],"deprecated":[],"removed":[],"napiVersion":[],"changes":[],"description":"* Type: {Object} The global namespace object.\n\nIn browsers, the top-level scope has traditionally been the global scope. This\nmeans that `var something` 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; `var something` inside a Node.js module will be local to that\nmodule, regardless of whether it is a [CommonJS module](modules.html) or an\n[ECMAScript module](esm.html).","summary":"In browsers, the top-level scope has traditionally been the global scope. This means that `var something` will define a new global variable, except within ECMAScript modules. In Node.js, this is different. The top-level scope is not the global scope; `var something` inside a Node.js module will be local to that module, regardless of whether it is a CommonJS module or an ECMAScript module.","examples":[],"children":[]},{"kind":"class","id":"class-headers","name":"Headers","title":"Class: `Headers`","scope":"module","overloadOf":null,"stability":null,"added":["v17.5.0","v16.15.0"],"deprecated":[],"removed":[],"napiVersion":[],"changes":[{"versions":["v21.0.0"],"prUrl":"https://github.com/nodejs/node/pull/45684","commit":null,"description":"No longer experimental."},{"versions":["v18.0.0"],"prUrl":"https://github.com/nodejs/node/pull/41811","commit":null,"description":"No longer behind `--experimental-fetch` CLI flag."}],"extends":null,"description":"A browser-compatible implementation of {Headers}.","summary":"A browser-compatible implementation of {Headers}.","examples":[],"children":[]},{"kind":"section","id":"localstorage","name":"localStorage","title":"`localStorage`","scope":"module","overloadOf":null,"stability":{"index":"1.2","description":"Release candidate. Disable this API with [`--no-experimental-webstorage`](cli.html#--no-experimental-webstorage)."},"added":["v22.4.0"],"deprecated":[],"removed":[],"napiVersion":[],"changes":[{"versions":["v26.0.0"],"prUrl":"https://github.com/nodejs/node/pull/60351","commit":null,"description":"Accessing the `localStorage` global without providing `--localstorage-file` now throws a `DOMException`, for compliance with the Web Storage specification."},{"versions":["v25.0.0"],"prUrl":"https://github.com/nodejs/node/pull/57666","commit":null,"description":"When webstorage is enabled and `--localstorage-file` is not provided, accessing the `localStorage` global now returns an empty object."},{"versions":["v25.0.0"],"prUrl":"https://github.com/nodejs/node/pull/57666","commit":null,"description":"This API is no longer behind `--experimental-webstorage` runtime flag."}],"description":"A browser-compatible implementation of [`localStorage`](https://developer.mozilla.org/en-US/docs/Web/API/Window/localStorage). Data is stored\nunencrypted in the file specified by the [`--localstorage-file`](cli.html#--localstorage-filefile) CLI flag.\nThe maximum amount of data that can be stored is 10 MB.\nAny modification of this data outside of the Web Storage API is not supported.\n`localStorage` data is not stored per user or per request when used in the context\nof a server, it is shared across all users and requests.","summary":"A browser-compatible implementation of `localStorage`. Data is stored unencrypted in the file specified by the `--localstorage-file` CLI flag. The maximum amount of data that can be stored is 10 MB. Any modification of this data outside of the Web Storage API is not supported. `localStorage` data is not stored per user or per request when used in the context of a server, it is shared across all users and requests.","examples":[],"children":[]},{"kind":"class","id":"class-messagechannel","name":"MessageChannel","title":"Class: `MessageChannel`","scope":"module","overloadOf":null,"stability":null,"added":["v15.0.0"],"deprecated":[],"removed":[],"napiVersion":[],"changes":[],"extends":null,"description":"The `MessageChannel` class. See [`MessageChannel`](worker_threads.html#class-messagechannel) for more details.","summary":"The `MessageChannel` class. See `MessageChannel` for more details.","examples":[],"children":[]},{"kind":"class","id":"class-messageevent","name":"MessageEvent","title":"Class: `MessageEvent`","scope":"module","overloadOf":null,"stability":null,"added":["v15.0.0"],"deprecated":[],"removed":[],"napiVersion":[],"changes":[],"extends":null,"description":"A browser-compatible implementation of {MessageEvent}.","summary":"A browser-compatible implementation of {MessageEvent}.","examples":[],"children":[]},{"kind":"class","id":"class-messageport","name":"MessagePort","title":"Class: `MessagePort`","scope":"module","overloadOf":null,"stability":null,"added":["v15.0.0"],"deprecated":[],"removed":[],"napiVersion":[],"changes":[],"extends":null,"description":"The `MessagePort` class. See [`MessagePort`](worker_threads.html#class-messageport) for more details.","summary":"The `MessagePort` class. See `MessagePort` for more details.","examples":[],"children":[]},{"kind":"section","id":"module","name":"module","title":"`module`","scope":"module","overloadOf":null,"stability":null,"added":[],"deprecated":[],"removed":[],"napiVersion":[],"changes":[],"description":"This variable may appear to be global but is not. See [`module`](modules.html#module).","summary":"This variable may appear to be global but is not. See `module`.","examples":[],"children":[]},{"kind":"class","id":"class-navigator","name":"Navigator","title":"Class: `Navigator`","scope":"module","overloadOf":null,"stability":{"index":"1.1","description":"Active development. Disable this API with the\n[`--no-experimental-global-navigator`](cli.html#--no-experimental-global-navigator) CLI flag."},"added":["v21.0.0"],"deprecated":[],"removed":[],"napiVersion":[],"changes":[],"extends":null,"description":"A partial implementation of the [Navigator API](https://html.spec.whatwg.org/multipage/system-state.html#the-navigator-object).","summary":"A partial implementation of the Navigator API.","examples":[],"children":[]},{"kind":"section","id":"navigator","name":"navigator","title":"`navigator`","scope":"module","overloadOf":null,"stability":{"index":"1.1","description":"Active development. Disable this API with the\n[`--no-experimental-global-navigator`](cli.html#--no-experimental-global-navigator) CLI flag."},"added":["v21.0.0"],"deprecated":[],"removed":[],"napiVersion":[],"changes":[],"description":"A partial implementation of [`window.navigator`](https://developer.mozilla.org/en-US/docs/Web/API/Window/navigator).","summary":"A partial implementation of `window.navigator`.","examples":[],"children":[{"kind":"property","id":"navigatorhardwareconcurrency","name":"hardwareConcurrency","title":"`navigator.hardwareConcurrency`","scope":"module","overloadOf":null,"stability":null,"added":["v21.0.0"],"deprecated":[],"removed":[],"napiVersion":[],"changes":[],"type":{"text":"number","links":[{"name":"number","href":"https://developer.mozilla.org/en-US/docs/Web/JavaScript/Data_structures#number_type","start":0,"end":6}]},"default":null,"description":"The `navigator.hardwareConcurrency` read-only property returns the number of\nlogical processors available to the current Node.js instance.\n\n```js\nconsole.log(`This process is running on ${navigator.hardwareConcurrency} logical processors`);\n```","summary":"The `navigator.hardwareConcurrency` read-only property returns the number of logical processors available to the current Node.js instance.","examples":[{"language":"js","displayName":null,"code":"console.log(`This process is running on ${navigator.hardwareConcurrency} logical processors`);"}],"children":[]},{"kind":"property","id":"navigatorlanguage","name":"language","title":"`navigator.language`","scope":"module","overloadOf":null,"stability":null,"added":["v21.2.0"],"deprecated":[],"removed":[],"napiVersion":[],"changes":[],"type":{"text":"string","links":[{"name":"string","href":"https://developer.mozilla.org/en-US/docs/Web/JavaScript/Data_structures#string_type","start":0,"end":6}]},"default":null,"description":"The `navigator.language` read-only property returns a string representing the\npreferred language of the Node.js instance. The language will be determined by\nthe ICU library used by Node.js at runtime based on the\ndefault language of the operating system.\n\nThe value is representing the language version as defined in [RFC 5646](https://www.rfc-editor.org/rfc/rfc5646.txt).\n\nThe fallback value on builds without ICU is `'en-US'`.\n\n```js\nconsole.log(`The preferred language of the Node.js instance has the tag '${navigator.language}'`);\n```","summary":"The `navigator.language` read-only property returns a string representing the preferred language of the Node.js instance. The language will be determined by the ICU library used by Node.js at runtime based on the default language of the operating system.","examples":[{"language":"js","displayName":null,"code":"console.log(`The preferred language of the Node.js instance has the tag '${navigator.language}'`);"}],"children":[]},{"kind":"property","id":"navigatorlanguages","name":"languages","title":"`navigator.languages`","scope":"module","overloadOf":null,"stability":null,"added":["v21.2.0"],"deprecated":[],"removed":[],"napiVersion":[],"changes":[],"type":{"text":"string[]","links":[{"name":"string","href":"https://developer.mozilla.org/en-US/docs/Web/JavaScript/Data_structures#string_type","start":0,"end":6}]},"default":null,"description":"The `navigator.languages` read-only property returns an array of strings\nrepresenting the preferred languages of the Node.js instance.\nBy default `navigator.languages` contains only the value of\n`navigator.language`, which will be determined by the ICU library used by\nNode.js at runtime based on the default language of the operating system.\n\nThe fallback value on builds without ICU is `['en-US']`.\n\n```js\nconsole.log(`The preferred languages are '${navigator.languages}'`);\n```","summary":"The `navigator.languages` read-only property returns an array of strings representing the preferred languages of the Node.js instance. By default `navigator.languages` contains only the value of `navigator.language`, which will be determined by the ICU library used by Node.js at runtime based on the default language of the operating system.","examples":[{"language":"js","displayName":null,"code":"console.log(`The preferred languages are '${navigator.languages}'`);"}],"children":[]},{"kind":"property","id":"navigatorlocks","name":"locks","title":"`navigator.locks`","scope":"module","overloadOf":null,"stability":{"index":"1","description":"Experimental"},"added":["v24.5.0"],"deprecated":[],"removed":[],"napiVersion":[],"changes":[],"type":null,"default":null,"description":"The `navigator.locks` read-only property returns a [`LockManager`](worker_threads.html#class-lockmanager) instance that\ncan be used to coordinate access to resources that may be shared across multiple\nthreads within the same process. This global implementation matches the semantics\nof the [browser `LockManager`](https://developer.mozilla.org/en-US/docs/Web/API/LockManager) API.\n\n```mjs\n// Request an exclusive lock\nawait navigator.locks.request('my_resource', async (lock) => {\n  // The lock has been acquired.\n  console.log(`Lock acquired: ${lock.name}`);\n  // Lock is automatically released when the function returns\n});\n\n// Request a shared lock\nawait navigator.locks.request('shared_resource', { mode: 'shared' }, async (lock) => {\n  // Multiple shared locks can be held simultaneously\n  console.log(`Shared lock acquired: ${lock.name}`);\n});\n```\n\n```cjs\n// Request an exclusive lock\nnavigator.locks.request('my_resource', async (lock) => {\n  // The lock has been acquired.\n  console.log(`Lock acquired: ${lock.name}`);\n  // Lock is automatically released when the function returns\n}).then(() => {\n  console.log('Lock released');\n});\n\n// Request a shared lock\nnavigator.locks.request('shared_resource', { mode: 'shared' }, async (lock) => {\n  // Multiple shared locks can be held simultaneously\n  console.log(`Shared lock acquired: ${lock.name}`);\n}).then(() => {\n  console.log('Shared lock released');\n});\n```\n\nSee [`worker_threads.locks`](worker_threads.html#worker_threadslocks) for detailed API documentation.","summary":"The `navigator.locks` read-only property returns a `LockManager` instance that can be used to coordinate access to resources that may be shared across multiple threads within the same process. This global implementation matches the semantics of the browser `LockManager` API.","examples":[{"language":"mjs","displayName":null,"code":"// Request an exclusive lock\nawait navigator.locks.request('my_resource', async (lock) => {\n  // The lock has been acquired.\n  console.log(`Lock acquired: ${lock.name}`);\n  // Lock is automatically released when the function returns\n});\n\n// Request a shared lock\nawait navigator.locks.request('shared_resource', { mode: 'shared' }, async (lock) => {\n  // Multiple shared locks can be held simultaneously\n  console.log(`Shared lock acquired: ${lock.name}`);\n});"},{"language":"cjs","displayName":null,"code":"// Request an exclusive lock\nnavigator.locks.request('my_resource', async (lock) => {\n  // The lock has been acquired.\n  console.log(`Lock acquired: ${lock.name}`);\n  // Lock is automatically released when the function returns\n}).then(() => {\n  console.log('Lock released');\n});\n\n// Request a shared lock\nnavigator.locks.request('shared_resource', { mode: 'shared' }, async (lock) => {\n  // Multiple shared locks can be held simultaneously\n  console.log(`Shared lock acquired: ${lock.name}`);\n}).then(() => {\n  console.log('Shared lock released');\n});"}],"children":[]},{"kind":"property","id":"navigatorplatform","name":"platform","title":"`navigator.platform`","scope":"module","overloadOf":null,"stability":null,"added":["v21.2.0"],"deprecated":[],"removed":[],"napiVersion":[],"changes":[],"type":{"text":"string","links":[{"name":"string","href":"https://developer.mozilla.org/en-US/docs/Web/JavaScript/Data_structures#string_type","start":0,"end":6}]},"default":null,"description":"The `navigator.platform` read-only property returns a string identifying the\nplatform on which the Node.js instance is running.\n\n```js\nconsole.log(`This process is running on ${navigator.platform}`);\n```","summary":"The `navigator.platform` read-only property returns a string identifying the platform on which the Node.js instance is running.","examples":[{"language":"js","displayName":null,"code":"console.log(`This process is running on ${navigator.platform}`);"}],"children":[]},{"kind":"property","id":"navigatoruseragent","name":"userAgent","title":"`navigator.userAgent`","scope":"module","overloadOf":null,"stability":null,"added":["v21.1.0"],"deprecated":[],"removed":[],"napiVersion":[],"changes":[],"type":{"text":"string","links":[{"name":"string","href":"https://developer.mozilla.org/en-US/docs/Web/JavaScript/Data_structures#string_type","start":0,"end":6}]},"default":null,"description":"The `navigator.userAgent` read-only property returns user agent\nconsisting of the runtime name and major version number.\n\n```js\nconsole.log(`The user-agent is ${navigator.userAgent}`); // Prints \"Node.js/21\"\n```","summary":"The `navigator.userAgent` read-only property returns user agent consisting of the runtime name and major version number.","examples":[{"language":"js","displayName":null,"code":"console.log(`The user-agent is ${navigator.userAgent}`); // Prints \"Node.js/21\""}],"children":[]}]},{"kind":"section","id":"performance","name":"performance","title":"`performance`","scope":"module","overloadOf":null,"stability":null,"added":["v16.0.0"],"deprecated":[],"removed":[],"napiVersion":[],"changes":[],"description":"The [`perf_hooks.performance`](perf_hooks.html#perf_hooksperformance) object.","summary":"The `perf_hooks.performance` object.","examples":[],"children":[]},{"kind":"class","id":"class-performanceentry","name":"PerformanceEntry","title":"Class: `PerformanceEntry`","scope":"module","overloadOf":null,"stability":null,"added":["v19.0.0"],"deprecated":[],"removed":[],"napiVersion":[],"changes":[],"extends":null,"description":"The `PerformanceEntry` class. See [`PerformanceEntry`](perf_hooks.html#class-performanceentry) for more details.","summary":"The `PerformanceEntry` class. See `PerformanceEntry` for more details.","examples":[],"children":[]},{"kind":"class","id":"class-performancemark","name":"PerformanceMark","title":"Class: `PerformanceMark`","scope":"module","overloadOf":null,"stability":null,"added":["v19.0.0"],"deprecated":[],"removed":[],"napiVersion":[],"changes":[],"extends":null,"description":"The `PerformanceMark` class. See [`PerformanceMark`](perf_hooks.html#class-performancemark) for more details.","summary":"The `PerformanceMark` class. See `PerformanceMark` for more details.","examples":[],"children":[]},{"kind":"class","id":"class-performancemeasure","name":"PerformanceMeasure","title":"Class: `PerformanceMeasure`","scope":"module","overloadOf":null,"stability":null,"added":["v19.0.0"],"deprecated":[],"removed":[],"napiVersion":[],"changes":[],"extends":null,"description":"The `PerformanceMeasure` class. See [`PerformanceMeasure`](perf_hooks.html#class-performancemeasure) for more details.","summary":"The `PerformanceMeasure` class. See `PerformanceMeasure` for more details.","examples":[],"children":[]},{"kind":"class","id":"class-performanceobserver","name":"PerformanceObserver","title":"Class: `PerformanceObserver`","scope":"module","overloadOf":null,"stability":null,"added":["v19.0.0"],"deprecated":[],"removed":[],"napiVersion":[],"changes":[],"extends":null,"description":"The `PerformanceObserver` class. See [`PerformanceObserver`](perf_hooks.html#class-performanceobserver) for more details.","summary":"The `PerformanceObserver` class. See `PerformanceObserver` for more details.","examples":[],"children":[]},{"kind":"class","id":"class-performanceobserverentrylist","name":"PerformanceObserverEntryList","title":"Class: `PerformanceObserverEntryList`","scope":"module","overloadOf":null,"stability":null,"added":["v19.0.0"],"deprecated":[],"removed":[],"napiVersion":[],"changes":[],"extends":null,"description":"The `PerformanceObserverEntryList` class. See\n[`PerformanceObserverEntryList`](perf_hooks.html#class-performanceobserverentrylist) for more details.","summary":"The `PerformanceObserverEntryList` class. See `PerformanceObserverEntryList` for more details.","examples":[],"children":[]},{"kind":"class","id":"class-performanceresourcetiming","name":"PerformanceResourceTiming","title":"Class: `PerformanceResourceTiming`","scope":"module","overloadOf":null,"stability":null,"added":["v19.0.0"],"deprecated":[],"removed":[],"napiVersion":[],"changes":[],"extends":null,"description":"The `PerformanceResourceTiming` class. See [`PerformanceResourceTiming`](perf_hooks.html#class-performanceresourcetiming) for\nmore details.","summary":"The `PerformanceResourceTiming` class. See `PerformanceResourceTiming` for more details.","examples":[],"children":[]},{"kind":"section","id":"process","name":"process","title":"`process`","scope":"module","overloadOf":null,"stability":null,"added":["v0.1.7"],"deprecated":[],"removed":[],"napiVersion":[],"changes":[],"description":"* Type: {Object}\n\nThe process object. See the [`process` object](process.html#process) section.","summary":"The process object. See the `process` object section.","examples":[],"children":[]},{"kind":"method","id":"queuemicrotaskcallback","name":"queueMicrotask","title":"`queueMicrotask(callback)`","scope":"module","overloadOf":null,"stability":null,"added":["v11.0.0"],"deprecated":[],"removed":[],"napiVersion":[],"changes":[],"signature":{"parameters":[{"name":"callback","type":{"text":"Function","links":[{"name":"Function","href":"https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Function","start":0,"end":8}]},"description":"Function to be queued.","default":null,"optional":false,"rest":false,"properties":[]}],"returns":null},"description":"The `queueMicrotask()` method queues a microtask to invoke `callback`. If\n`callback` throws an exception, the [`process` object](process.html#process) `'uncaughtException'`\nevent will be emitted.\n\nThe microtask queue is managed by V8 and may be used in a similar manner to\nthe [`process.nextTick()`](process.html#processnexttickcallback-args) queue, which is managed by Node.js. The\n`process.nextTick()` queue is always processed before the microtask queue\nwithin each turn of the Node.js event loop.\n\n```js\n// 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```","summary":"The `queueMicrotask()` method queues a microtask to invoke `callback`. If `callback` throws an exception, the `process` object `'uncaughtException'` event will be emitted.","examples":[{"language":"js","displayName":null,"code":"// 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};"}],"children":[]},{"kind":"class","id":"class-quotaexceedederror","name":"QuotaExceededError","title":"Class: `QuotaExceededError`","scope":"module","overloadOf":null,"stability":null,"added":["v26.0.0"],"deprecated":[],"removed":[],"napiVersion":[],"changes":[],"extends":null,"description":"The WHATWG {QuotaExceededError} class. Extends {DOMException}.","summary":"The WHATWG {QuotaExceededError} class. Extends {DOMException}.","examples":[],"children":[]},{"kind":"class","id":"class-readablebytestreamcontroller","name":"ReadableByteStreamController","title":"Class: `ReadableByteStreamController`","scope":"module","overloadOf":null,"stability":null,"added":["v18.0.0"],"deprecated":[],"removed":[],"napiVersion":[],"changes":[{"versions":["v23.11.0","v22.15.0"],"prUrl":"https://github.com/nodejs/node/pull/57510","commit":null,"description":"Marking the API stable."}],"extends":null,"description":"A browser-compatible implementation of [`ReadableByteStreamController`](webstreams.html#class-readablebytestreamcontroller).","summary":"A browser-compatible implementation of `ReadableByteStreamController`.","examples":[],"children":[]},{"kind":"class","id":"class-readablestream","name":"ReadableStream","title":"Class: `ReadableStream`","scope":"module","overloadOf":null,"stability":null,"added":["v18.0.0"],"deprecated":[],"removed":[],"napiVersion":[],"changes":[{"versions":["v23.11.0","v22.15.0"],"prUrl":"https://github.com/nodejs/node/pull/57510","commit":null,"description":"Marking the API stable."}],"extends":null,"description":"A browser-compatible implementation of [`ReadableStream`](webstreams.html#class-readablestream).","summary":"A browser-compatible implementation of `ReadableStream`.","examples":[],"children":[]},{"kind":"class","id":"class-readablestreambyobreader","name":"ReadableStreamBYOBReader","title":"Class: `ReadableStreamBYOBReader`","scope":"module","overloadOf":null,"stability":null,"added":["v18.0.0"],"deprecated":[],"removed":[],"napiVersion":[],"changes":[{"versions":["v23.11.0","v22.15.0"],"prUrl":"https://github.com/nodejs/node/pull/57510","commit":null,"description":"Marking the API stable."}],"extends":null,"description":"A browser-compatible implementation of [`ReadableStreamBYOBReader`](webstreams.html#class-readablestreambyobreader).","summary":"A browser-compatible implementation of `ReadableStreamBYOBReader`.","examples":[],"children":[]},{"kind":"class","id":"class-readablestreambyobrequest","name":"ReadableStreamBYOBRequest","title":"Class: `ReadableStreamBYOBRequest`","scope":"module","overloadOf":null,"stability":null,"added":["v18.0.0"],"deprecated":[],"removed":[],"napiVersion":[],"changes":[{"versions":["v23.11.0","v22.15.0"],"prUrl":"https://github.com/nodejs/node/pull/57510","commit":null,"description":"Marking the API stable."}],"extends":null,"description":"A browser-compatible implementation of [`ReadableStreamBYOBRequest`](webstreams.html#class-readablestreambyobrequest).","summary":"A browser-compatible implementation of `ReadableStreamBYOBRequest`.","examples":[],"children":[]},{"kind":"class","id":"class-readablestreamdefaultcontroller","name":"ReadableStreamDefaultController","title":"Class: `ReadableStreamDefaultController`","scope":"module","overloadOf":null,"stability":null,"added":["v18.0.0"],"deprecated":[],"removed":[],"napiVersion":[],"changes":[{"versions":["v23.11.0","v22.15.0"],"prUrl":"https://github.com/nodejs/node/pull/57510","commit":null,"description":"Marking the API stable."}],"extends":null,"description":"A browser-compatible implementation of [`ReadableStreamDefaultController`](webstreams.html#class-readablestreamdefaultcontroller).","summary":"A browser-compatible implementation of `ReadableStreamDefaultController`.","examples":[],"children":[]},{"kind":"class","id":"class-readablestreamdefaultreader","name":"ReadableStreamDefaultReader","title":"Class: `ReadableStreamDefaultReader`","scope":"module","overloadOf":null,"stability":null,"added":["v18.0.0"],"deprecated":[],"removed":[],"napiVersion":[],"changes":[{"versions":["v23.11.0","v22.15.0"],"prUrl":"https://github.com/nodejs/node/pull/57510","commit":null,"description":"Marking the API stable."}],"extends":null,"description":"A browser-compatible implementation of [`ReadableStreamDefaultReader`](webstreams.html#class-readablestreamdefaultreader).","summary":"A browser-compatible implementation of `ReadableStreamDefaultReader`.","examples":[],"children":[]},{"kind":"class","id":"class-request","name":"Request","title":"Class: `Request`","scope":"module","overloadOf":null,"stability":null,"added":["v17.5.0","v16.15.0"],"deprecated":[],"removed":[],"napiVersion":[],"changes":[{"versions":["v21.0.0"],"prUrl":"https://github.com/nodejs/node/pull/45684","commit":null,"description":"No longer experimental."},{"versions":["v18.0.0"],"prUrl":"https://github.com/nodejs/node/pull/41811","commit":null,"description":"No longer behind `--experimental-fetch` CLI flag."}],"extends":null,"description":"A browser-compatible implementation of {Request}.","summary":"A browser-compatible implementation of {Request}.","examples":[],"children":[]},{"kind":"method","id":"require","name":"require","title":"`require()`","scope":"module","overloadOf":null,"stability":null,"added":[],"deprecated":[],"removed":[],"napiVersion":[],"changes":[],"signature":{"parameters":[],"returns":null},"description":"This variable may appear to be global but is not. See [`require()`](modules.html#requireid).","summary":"This variable may appear to be global but is not. See `require()`.","examples":[],"children":[]},{"kind":"class","id":"class-response","name":"Response","title":"Class: `Response`","scope":"module","overloadOf":null,"stability":null,"added":["v17.5.0","v16.15.0"],"deprecated":[],"removed":[],"napiVersion":[],"changes":[{"versions":["v21.0.0"],"prUrl":"https://github.com/nodejs/node/pull/45684","commit":null,"description":"No longer experimental."},{"versions":["v18.0.0"],"prUrl":"https://github.com/nodejs/node/pull/41811","commit":null,"description":"No longer behind `--experimental-fetch` CLI flag."}],"extends":null,"description":"A browser-compatible implementation of {Response}.","summary":"A browser-compatible implementation of {Response}.","examples":[],"children":[]},{"kind":"section","id":"sessionstorage","name":"sessionStorage","title":"`sessionStorage`","scope":"module","overloadOf":null,"stability":{"index":"1.2","description":"Release candidate. Disable this API with [`--no-experimental-webstorage`](cli.html#--no-experimental-webstorage)."},"added":["v22.4.0"],"deprecated":[],"removed":[],"napiVersion":[],"changes":[{"versions":["v25.0.0"],"prUrl":"https://github.com/nodejs/node/pull/57666","commit":null,"description":"This API is no longer behind `--experimental-webstorage` runtime flag."}],"description":"A browser-compatible implementation of [`sessionStorage`](https://developer.mozilla.org/en-US/docs/Web/API/Window/sessionStorage). Data is stored in\nmemory, with a storage quota of 10 MB. `sessionStorage` data persists only within\nthe currently running process, and is not shared between workers.","summary":"A browser-compatible implementation of `sessionStorage`. Data is stored in memory, with a storage quota of 10 MB. `sessionStorage` data persists only within the currently running process, and is not shared between workers.","examples":[],"children":[]},{"kind":"method","id":"setimmediatecallback-args","name":"setImmediate","title":"`setImmediate(callback[, ...args])`","scope":"module","overloadOf":null,"stability":null,"added":["v0.9.1"],"deprecated":[],"removed":[],"napiVersion":[],"changes":[],"signature":{"parameters":[{"name":"callback","type":null,"description":"","default":null,"optional":false,"rest":false,"properties":[]},{"name":"args","type":null,"description":"","default":null,"optional":true,"rest":true,"properties":[]}],"returns":null},"description":"[`setImmediate`](timers.html#setimmediatecallback-args) is described in the [timers](timers.html) section.","summary":"`setImmediate` is described in the timers section.","examples":[],"children":[]},{"kind":"method","id":"setintervalcallback-delay-args","name":"setInterval","title":"`setInterval(callback, delay[, ...args])`","scope":"module","overloadOf":null,"stability":null,"added":["v0.0.1"],"deprecated":[],"removed":[],"napiVersion":[],"changes":[],"signature":{"parameters":[{"name":"callback","type":null,"description":"","default":null,"optional":false,"rest":false,"properties":[]},{"name":"delay","type":null,"description":"","default":null,"optional":false,"rest":false,"properties":[]},{"name":"args","type":null,"description":"","default":null,"optional":true,"rest":true,"properties":[]}],"returns":null},"description":"[`setInterval`](timers.html#setintervalcallback-delay-args) is described in the [timers](timers.html) section.","summary":"`setInterval` is described in the timers section.","examples":[],"children":[]},{"kind":"method","id":"settimeoutcallback-delay-args","name":"setTimeout","title":"`setTimeout(callback, delay[, ...args])`","scope":"module","overloadOf":null,"stability":null,"added":["v0.0.1"],"deprecated":[],"removed":[],"napiVersion":[],"changes":[],"signature":{"parameters":[{"name":"callback","type":null,"description":"","default":null,"optional":false,"rest":false,"properties":[]},{"name":"delay","type":null,"description":"","default":null,"optional":false,"rest":false,"properties":[]},{"name":"args","type":null,"description":"","default":null,"optional":true,"rest":true,"properties":[]}],"returns":null},"description":"[`setTimeout`](timers.html#settimeoutcallback-delay-args) is described in the [timers](timers.html) section.","summary":"`setTimeout` is described in the timers section.","examples":[],"children":[]},{"kind":"class","id":"class-storage","name":"Storage","title":"Class: `Storage`","scope":"module","overloadOf":null,"stability":{"index":"1.2","description":"Release candidate. Disable this API with [`--no-experimental-webstorage`](cli.html#--no-experimental-webstorage)."},"added":["v22.4.0"],"deprecated":[],"removed":[],"napiVersion":[],"changes":[],"extends":null,"description":"A browser-compatible implementation of {Storage}.","summary":"A browser-compatible implementation of {Storage}.","examples":[],"children":[]},{"kind":"method","id":"structuredclonevalue-options","name":"structuredClone","title":"`structuredClone(value[, options])`","scope":"module","overloadOf":null,"stability":null,"added":["v17.0.0"],"deprecated":[],"removed":[],"napiVersion":[],"changes":[],"signature":{"parameters":[{"name":"value","type":null,"description":"","default":null,"optional":false,"rest":false,"properties":[]},{"name":"options","type":null,"description":"","default":null,"optional":true,"rest":false,"properties":[]}],"returns":null},"description":"The WHATWG [`structuredClone`](https://developer.mozilla.org/en-US/docs/Web/API/Window/structuredClone) method.","summary":"The WHATWG `structuredClone` method.","examples":[],"children":[]},{"kind":"class","id":"class-subtlecrypto","name":"SubtleCrypto","title":"Class: `SubtleCrypto`","scope":"module","overloadOf":null,"stability":null,"added":["v17.6.0","v16.15.0"],"deprecated":[],"removed":[],"napiVersion":[],"changes":[{"versions":["v19.0.0"],"prUrl":"https://github.com/nodejs/node/pull/42083","commit":null,"description":"No longer behind `--experimental-global-webcrypto` CLI flag."}],"extends":null,"description":"A browser-compatible implementation of {SubtleCrypto}. This global is available\nonly if the Node.js binary was compiled with including support for the\n`node:crypto` module.","summary":"A browser-compatible implementation of {SubtleCrypto}. This global is available only if the Node.js binary was compiled with including support for the `node:crypto` module.","examples":[],"children":[]},{"kind":"class","id":"class-textdecoder","name":"TextDecoder","title":"Class: `TextDecoder`","scope":"module","overloadOf":null,"stability":null,"added":["v11.0.0"],"deprecated":[],"removed":[],"napiVersion":[],"changes":[],"extends":null,"description":"The WHATWG `TextDecoder` class. See the [`TextDecoder`](util.html#class-utiltextdecoder) section.","summary":"The WHATWG `TextDecoder` class. See the `TextDecoder` section.","examples":[],"children":[]},{"kind":"class","id":"class-textdecoderstream","name":"TextDecoderStream","title":"Class: `TextDecoderStream`","scope":"module","overloadOf":null,"stability":null,"added":["v18.0.0"],"deprecated":[],"removed":[],"napiVersion":[],"changes":[{"versions":["v23.11.0","v22.15.0"],"prUrl":"https://github.com/nodejs/node/pull/57510","commit":null,"description":"Marking the API stable."}],"extends":null,"description":"A browser-compatible implementation of [`TextDecoderStream`](webstreams.html#class-textdecoderstream).","summary":"A browser-compatible implementation of `TextDecoderStream`.","examples":[],"children":[]},{"kind":"class","id":"class-textencoder","name":"TextEncoder","title":"Class: `TextEncoder`","scope":"module","overloadOf":null,"stability":null,"added":["v11.0.0"],"deprecated":[],"removed":[],"napiVersion":[],"changes":[],"extends":null,"description":"The WHATWG `TextEncoder` class. See the [`TextEncoder`](util.html#class-utiltextencoder) section.","summary":"The WHATWG `TextEncoder` class. See the `TextEncoder` section.","examples":[],"children":[]},{"kind":"class","id":"class-textencoderstream","name":"TextEncoderStream","title":"Class: `TextEncoderStream`","scope":"module","overloadOf":null,"stability":null,"added":["v18.0.0"],"deprecated":[],"removed":[],"napiVersion":[],"changes":[{"versions":["v23.11.0","v22.15.0"],"prUrl":"https://github.com/nodejs/node/pull/57510","commit":null,"description":"Marking the API stable."}],"extends":null,"description":"A browser-compatible implementation of [`TextEncoderStream`](webstreams.html#class-textencoderstream).","summary":"A browser-compatible implementation of `TextEncoderStream`.","examples":[],"children":[]},{"kind":"class","id":"class-transformstream","name":"TransformStream","title":"Class: `TransformStream`","scope":"module","overloadOf":null,"stability":null,"added":["v18.0.0"],"deprecated":[],"removed":[],"napiVersion":[],"changes":[{"versions":["v23.11.0","v22.15.0"],"prUrl":"https://github.com/nodejs/node/pull/57510","commit":null,"description":"Marking the API stable."}],"extends":null,"description":"A browser-compatible implementation of [`TransformStream`](webstreams.html#class-transformstream).","summary":"A browser-compatible implementation of `TransformStream`.","examples":[],"children":[]},{"kind":"class","id":"class-transformstreamdefaultcontroller","name":"TransformStreamDefaultController","title":"Class: `TransformStreamDefaultController`","scope":"module","overloadOf":null,"stability":null,"added":["v18.0.0"],"deprecated":[],"removed":[],"napiVersion":[],"changes":[{"versions":["v23.11.0","v22.15.0"],"prUrl":"https://github.com/nodejs/node/pull/57510","commit":null,"description":"Marking the API stable."}],"extends":null,"description":"A browser-compatible implementation of [`TransformStreamDefaultController`](webstreams.html#class-transformstreamdefaultcontroller).","summary":"A browser-compatible implementation of `TransformStreamDefaultController`.","examples":[],"children":[]},{"kind":"class","id":"class-url","name":"URL","title":"Class: `URL`","scope":"module","overloadOf":null,"stability":null,"added":["v10.0.0"],"deprecated":[],"removed":[],"napiVersion":[],"changes":[],"extends":null,"description":"The WHATWG `URL` class. See the [`URL`](url.html#class-url) section.","summary":"The WHATWG `URL` class. See the `URL` section.","examples":[],"children":[]},{"kind":"class","id":"class-urlpattern","name":"URLPattern","title":"Class: `URLPattern`","scope":"module","overloadOf":null,"stability":{"index":"1","description":"Experimental"},"added":["v24.0.0"],"deprecated":[],"removed":[],"napiVersion":[],"changes":[],"extends":null,"description":"The WHATWG `URLPattern` class. See the [`URLPattern`](url.html#class-urlpattern) section.","summary":"The WHATWG `URLPattern` class. See the `URLPattern` section.","examples":[],"children":[]},{"kind":"class","id":"class-urlsearchparams","name":"URLSearchParams","title":"Class: `URLSearchParams`","scope":"module","overloadOf":null,"stability":null,"added":["v10.0.0"],"deprecated":[],"removed":[],"napiVersion":[],"changes":[],"extends":null,"description":"The WHATWG `URLSearchParams` class. See the [`URLSearchParams`](url.html#class-urlsearchparams) section.","summary":"The WHATWG `URLSearchParams` class. See the `URLSearchParams` section.","examples":[],"children":[]},{"kind":"class","id":"class-webassembly","name":"WebAssembly","title":"Class: `WebAssembly`","scope":"module","overloadOf":null,"stability":null,"added":["v8.0.0"],"deprecated":[],"removed":[],"napiVersion":[],"changes":[],"extends":null,"description":"* Type: {Object}\n\nThe object that acts as the namespace for all W3C\n[WebAssembly](https://webassembly.org) related functionality. See the\n[Mozilla Developer Network](https://developer.mozilla.org/en-US/docs/WebAssembly) for usage and compatibility.","summary":"The object that acts as the namespace for all W3C WebAssembly related functionality. See the Mozilla Developer Network for usage and compatibility.","examples":[],"children":[]},{"kind":"class","id":"class-websocket","name":"WebSocket","title":"Class: `WebSocket`","scope":"module","overloadOf":null,"stability":null,"added":["v21.0.0","v20.10.0"],"deprecated":[],"removed":[],"napiVersion":[],"changes":[{"versions":["v22.4.0"],"prUrl":"https://github.com/nodejs/node/pull/53352","commit":null,"description":"No longer experimental."},{"versions":["v22.0.0"],"prUrl":"https://github.com/nodejs/node/pull/51594","commit":null,"description":"No longer behind `--experimental-websocket` CLI flag."}],"extends":null,"description":"A browser-compatible implementation of {WebSocket}. Disable this API\nwith the [`--no-experimental-websocket`](cli.html#--no-experimental-websocket) CLI flag.","summary":"A browser-compatible implementation of {WebSocket}. Disable this API with the `--no-experimental-websocket` CLI flag.","examples":[],"children":[]},{"kind":"class","id":"class-writablestream","name":"WritableStream","title":"Class: `WritableStream`","scope":"module","overloadOf":null,"stability":null,"added":["v18.0.0"],"deprecated":[],"removed":[],"napiVersion":[],"changes":[{"versions":["v23.11.0","v22.15.0"],"prUrl":"https://github.com/nodejs/node/pull/57510","commit":null,"description":"Marking the API stable."}],"extends":null,"description":"A browser-compatible implementation of [`WritableStream`](webstreams.html#class-writablestream).","summary":"A browser-compatible implementation of `WritableStream`.","examples":[],"children":[]},{"kind":"class","id":"class-writablestreamdefaultcontroller","name":"WritableStreamDefaultController","title":"Class: `WritableStreamDefaultController`","scope":"module","overloadOf":null,"stability":null,"added":["v18.0.0"],"deprecated":[],"removed":[],"napiVersion":[],"changes":[{"versions":["v23.11.0","v22.15.0"],"prUrl":"https://github.com/nodejs/node/pull/57510","commit":null,"description":"Marking the API stable."}],"extends":null,"description":"A browser-compatible implementation of [`WritableStreamDefaultController`](webstreams.html#class-writablestreamdefaultcontroller).","summary":"A browser-compatible implementation of `WritableStreamDefaultController`.","examples":[],"children":[]},{"kind":"class","id":"class-writablestreamdefaultwriter","name":"WritableStreamDefaultWriter","title":"Class: `WritableStreamDefaultWriter`","scope":"module","overloadOf":null,"stability":null,"added":["v18.0.0"],"deprecated":[],"removed":[],"napiVersion":[],"changes":[{"versions":["v23.11.0","v22.15.0"],"prUrl":"https://github.com/nodejs/node/pull/57510","commit":null,"description":"Marking the API stable."}],"extends":null,"description":"A browser-compatible implementation of [`WritableStreamDefaultWriter`](webstreams.html#class-writablestreamdefaultwriter).","summary":"A browser-compatible implementation of `WritableStreamDefaultWriter`.","examples":[],"children":[]}]}