---
title: globals
url: https://www.fastly.com/documentation/reference/compute/sdks/javascript/js-compute/globals/
---

**Kind:** Module  
**Package:** @fastly/js-compute 4.0.1  
**Path:** `globals`

## Classes

| Name | Summary |
| --- | --- |
| [CompressionStream](https://www.fastly.com/documentation/reference/compute/sdks/javascript/js-compute/globals/class.CompressionStream/) | An API for compressing a stream of data. |
| [DecompressionStream](https://www.fastly.com/documentation/reference/compute/sdks/javascript/js-compute/globals/class.DecompressionStream/) | An API for decompressing a stream of data. |
| [SubtleCrypto](https://www.fastly.com/documentation/reference/compute/sdks/javascript/js-compute/globals/class.SubtleCrypto/) |  |
| [TextDecoder](https://www.fastly.com/documentation/reference/compute/sdks/javascript/js-compute/globals/class.TextDecoder/) | TextDecoder takes a stream UTF-8 bytes as input and emits a stream of code points |
| [TextEncoder](https://www.fastly.com/documentation/reference/compute/sdks/javascript/js-compute/globals/class.TextEncoder/) | An implementation of the [WHATWG Encoding Standard](https://encoding.spec.whatwg.org/) `TextEncoder` API. All instances of `TextEncoder` only support UTF-8 encoding. |
| [URL](https://www.fastly.com/documentation/reference/compute/sdks/javascript/js-compute/globals/class.URL/) | The URL class as [specified by WHATWG](https://url.spec.whatwg.org/#url-class) |
| [URLSearchParams](https://www.fastly.com/documentation/reference/compute/sdks/javascript/js-compute/globals/class.URLSearchParams/) | The URLSearchParams class as [specified by WHATWG](https://url.spec.whatwg.org/#interface-urlsearchparams) |

## Interfaces

| Name | Summary |
| --- | --- |
| [AddEventListenerOptions](https://www.fastly.com/documentation/reference/compute/sdks/javascript/js-compute/globals/interface.AddEventListenerOptions/) |  |
| [Algorithm](https://www.fastly.com/documentation/reference/compute/sdks/javascript/js-compute/globals/interface.Algorithm/) |  |
| [Blob](https://www.fastly.com/documentation/reference/compute/sdks/javascript/js-compute/globals/interface.Blob/) | A file-like object of immutable, raw data. Blobs represent data that isn't necessarily in a JavaScript-native format. The File interface is based on Blob, inheriting blob functionality and expanding it to support files on the user's system. |
| [BlobPropertyBag](https://www.fastly.com/documentation/reference/compute/sdks/javascript/js-compute/globals/interface.BlobPropertyBag/) |  |
| [Body](https://www.fastly.com/documentation/reference/compute/sdks/javascript/js-compute/globals/interface.Body/) | Body for Fetch HTTP Requests and Responses |
| [ClientInfo](https://www.fastly.com/documentation/reference/compute/sdks/javascript/js-compute/globals/interface.ClientInfo/) | Information about the downstream client making the request to the Fastly Compute service. |
| [Console](https://www.fastly.com/documentation/reference/compute/sdks/javascript/js-compute/globals/interface.Console/) | Interface for logging to stdout for [live log monitoring](https://developer.fastly.com/learning/compute/testing/#live-log-monitoring-in-your-console). |
| [Crypto](https://www.fastly.com/documentation/reference/compute/sdks/javascript/js-compute/globals/interface.Crypto/) | The Crypto interface as [specified by WHATWG](https://w3c.github.io/webcrypto/#crypto-interface) Basic cryptography features available in the current context. It allows access to a cryptographically strong random number generator and to cryptographic primitives. |
| [CryptoKey](https://www.fastly.com/documentation/reference/compute/sdks/javascript/js-compute/globals/interface.CryptoKey/) | The CryptoKey dictionary of the Web Crypto API represents a cryptographic key. Available only in secure contexts. |
| [EcKeyImportParams](https://www.fastly.com/documentation/reference/compute/sdks/javascript/js-compute/globals/interface.EcKeyImportParams/) |  |
| [Event](https://www.fastly.com/documentation/reference/compute/sdks/javascript/js-compute/globals/interface.Event/) | An event which takes place in the DOM. |
| [EventInit](https://www.fastly.com/documentation/reference/compute/sdks/javascript/js-compute/globals/interface.EventInit/) |  |
| [EventListener](https://www.fastly.com/documentation/reference/compute/sdks/javascript/js-compute/globals/interface.EventListener/) |  |
| [EventListenerMap](https://www.fastly.com/documentation/reference/compute/sdks/javascript/js-compute/globals/interface.EventListenerMap/) |  |
| [EventListenerObject](https://www.fastly.com/documentation/reference/compute/sdks/javascript/js-compute/globals/interface.EventListenerObject/) |  |
| [EventListenerOptions](https://www.fastly.com/documentation/reference/compute/sdks/javascript/js-compute/globals/interface.EventListenerOptions/) |  |
| [EventMap](https://www.fastly.com/documentation/reference/compute/sdks/javascript/js-compute/globals/interface.EventMap/) |  |
| [EventTarget](https://www.fastly.com/documentation/reference/compute/sdks/javascript/js-compute/globals/interface.EventTarget/) | EventTarget is a DOM interface implemented by objects that can receive events and may have listeners for them. |
| [FetchEvent](https://www.fastly.com/documentation/reference/compute/sdks/javascript/js-compute/globals/interface.FetchEvent/) | The event type for `fetch` events dispatched to a Fastly Compute service. |
| [FetchEventListener](https://www.fastly.com/documentation/reference/compute/sdks/javascript/js-compute/globals/interface.FetchEventListener/) |  |
| [File](https://www.fastly.com/documentation/reference/compute/sdks/javascript/js-compute/globals/interface.File/) | Provides information about files and allows JavaScript in a web page to access their content. |
| [FilePropertyBag](https://www.fastly.com/documentation/reference/compute/sdks/javascript/js-compute/globals/interface.FilePropertyBag/) |  |
| [FormData](https://www.fastly.com/documentation/reference/compute/sdks/javascript/js-compute/globals/interface.FormData/) | Provides a way to easily construct a set of key/value pairs representing form fields and their values, which can then be easily sent using the XMLHttpRequest.send() method. It uses the same format a form would use if the encoding type were set to "multipart/form-data". |
| [Headers](https://www.fastly.com/documentation/reference/compute/sdks/javascript/js-compute/globals/interface.Headers/) | The Headers class as [specified by WHATWG](https://fetch.spec.whatwg.org/#headers-class) |
| [HmacImportParams](https://www.fastly.com/documentation/reference/compute/sdks/javascript/js-compute/globals/interface.HmacImportParams/) |  |
| [JsonWebKey](https://www.fastly.com/documentation/reference/compute/sdks/javascript/js-compute/globals/interface.JsonWebKey/) |  |
| [KeyAlgorithm](https://www.fastly.com/documentation/reference/compute/sdks/javascript/js-compute/globals/interface.KeyAlgorithm/) |  |
| [Performance](https://www.fastly.com/documentation/reference/compute/sdks/javascript/js-compute/globals/interface.Performance/) | Provides access to performance-related information for the current page. It's part of the High Resolution Time API, but is enhanced by the Performance Timeline API, the Navigation Timing API, the User Timing API, and the Resource Timing API. |
| [QueuingStrategy](https://www.fastly.com/documentation/reference/compute/sdks/javascript/js-compute/globals/interface.QueuingStrategy/) |  |
| [QueuingStrategyInit](https://www.fastly.com/documentation/reference/compute/sdks/javascript/js-compute/globals/interface.QueuingStrategyInit/) |  |
| [QueuingStrategySize](https://www.fastly.com/documentation/reference/compute/sdks/javascript/js-compute/globals/interface.QueuingStrategySize/) |  |
| [ReadableStream](https://www.fastly.com/documentation/reference/compute/sdks/javascript/js-compute/globals/interface.ReadableStream/) | This Streams API interface represents a readable stream of byte data. The Fetch API offers a concrete instance of a ReadableStream through the body property of a Response object. |
| [ReadableStreamDefaultController](https://www.fastly.com/documentation/reference/compute/sdks/javascript/js-compute/globals/interface.ReadableStreamDefaultController/) |  |
| [ReadableStreamDefaultReadDoneResult](https://www.fastly.com/documentation/reference/compute/sdks/javascript/js-compute/globals/interface.ReadableStreamDefaultReadDoneResult/) |  |
| [ReadableStreamDefaultReader](https://www.fastly.com/documentation/reference/compute/sdks/javascript/js-compute/globals/interface.ReadableStreamDefaultReader/) |  |
| [ReadableStreamDefaultReadValueResult](https://www.fastly.com/documentation/reference/compute/sdks/javascript/js-compute/globals/interface.ReadableStreamDefaultReadValueResult/) |  |
| [ReadableStreamGenericReader](https://www.fastly.com/documentation/reference/compute/sdks/javascript/js-compute/globals/interface.ReadableStreamGenericReader/) |  |
| [ReadableWritablePair](https://www.fastly.com/documentation/reference/compute/sdks/javascript/js-compute/globals/interface.ReadableWritablePair/) |  |
| [Request](https://www.fastly.com/documentation/reference/compute/sdks/javascript/js-compute/globals/interface.Request/) | The Request class as [specified by WHATWG](https://fetch.spec.whatwg.org/#ref-for-dom-request%E2%91%A0) |
| [RequestInit](https://www.fastly.com/documentation/reference/compute/sdks/javascript/js-compute/globals/interface.RequestInit/) | Constructor parameter for [Request](https://developer.mozilla.org/en-US/docs/Web/API/Request) |
| [Response](https://www.fastly.com/documentation/reference/compute/sdks/javascript/js-compute/globals/interface.Response/) | The Response class as [specified by WHATWG](https://fetch.spec.whatwg.org/#ref-for-dom-response%E2%91%A0) |
| [ResponseInit](https://www.fastly.com/documentation/reference/compute/sdks/javascript/js-compute/globals/interface.ResponseInit/) | Constructor parameter for the [Fetch API Response](https://developer.mozilla.org/en-US/docs/Web/API/Response) This contains information to send along with the response. |
| [RsaHashedImportParams](https://www.fastly.com/documentation/reference/compute/sdks/javascript/js-compute/globals/interface.RsaHashedImportParams/) |  |
| [RsaOtherPrimesInfo](https://www.fastly.com/documentation/reference/compute/sdks/javascript/js-compute/globals/interface.RsaOtherPrimesInfo/) |  |
| [ServerInfo](https://www.fastly.com/documentation/reference/compute/sdks/javascript/js-compute/globals/interface.ServerInfo/) | Information about the server receiving the request for the Fastly Compute service. |
| [StreamPipeOptions](https://www.fastly.com/documentation/reference/compute/sdks/javascript/js-compute/globals/interface.StreamPipeOptions/) |  |
| [StructuredSerializeOptions](https://www.fastly.com/documentation/reference/compute/sdks/javascript/js-compute/globals/interface.StructuredSerializeOptions/) |  |
| [Transformer](https://www.fastly.com/documentation/reference/compute/sdks/javascript/js-compute/globals/interface.Transformer/) |  |
| [TransformerFlushCallback](https://www.fastly.com/documentation/reference/compute/sdks/javascript/js-compute/globals/interface.TransformerFlushCallback/) |  |
| [TransformerStartCallback](https://www.fastly.com/documentation/reference/compute/sdks/javascript/js-compute/globals/interface.TransformerStartCallback/) |  |
| [TransformerTransformCallback](https://www.fastly.com/documentation/reference/compute/sdks/javascript/js-compute/globals/interface.TransformerTransformCallback/) |  |
| [TransformStream](https://www.fastly.com/documentation/reference/compute/sdks/javascript/js-compute/globals/interface.TransformStream/) | The TransformStream class as [specified by WHATWG](https://streams.spec.whatwg.org/#ts-class) |
| [TransformStreamDefaultController](https://www.fastly.com/documentation/reference/compute/sdks/javascript/js-compute/globals/interface.TransformStreamDefaultController/) |  |
| [UnderlyingSink](https://www.fastly.com/documentation/reference/compute/sdks/javascript/js-compute/globals/interface.UnderlyingSink/) |  |
| [UnderlyingSinkAbortCallback](https://www.fastly.com/documentation/reference/compute/sdks/javascript/js-compute/globals/interface.UnderlyingSinkAbortCallback/) |  |
| [UnderlyingSinkCloseCallback](https://www.fastly.com/documentation/reference/compute/sdks/javascript/js-compute/globals/interface.UnderlyingSinkCloseCallback/) |  |
| [UnderlyingSinkStartCallback](https://www.fastly.com/documentation/reference/compute/sdks/javascript/js-compute/globals/interface.UnderlyingSinkStartCallback/) |  |
| [UnderlyingSinkWriteCallback](https://www.fastly.com/documentation/reference/compute/sdks/javascript/js-compute/globals/interface.UnderlyingSinkWriteCallback/) |  |
| [UnderlyingSource](https://www.fastly.com/documentation/reference/compute/sdks/javascript/js-compute/globals/interface.UnderlyingSource/) |  |
| [UnderlyingSourceCancelCallback](https://www.fastly.com/documentation/reference/compute/sdks/javascript/js-compute/globals/interface.UnderlyingSourceCancelCallback/) |  |
| [UnderlyingSourcePullCallback](https://www.fastly.com/documentation/reference/compute/sdks/javascript/js-compute/globals/interface.UnderlyingSourcePullCallback/) |  |
| [UnderlyingSourceStartCallback](https://www.fastly.com/documentation/reference/compute/sdks/javascript/js-compute/globals/interface.UnderlyingSourceStartCallback/) |  |
| [VoidFunction](https://www.fastly.com/documentation/reference/compute/sdks/javascript/js-compute/globals/interface.VoidFunction/) |  |
| [WorkerLocation](https://www.fastly.com/documentation/reference/compute/sdks/javascript/js-compute/globals/interface.WorkerLocation/) | The absolute location of the script executed by the Worker. |
| [WritableStream](https://www.fastly.com/documentation/reference/compute/sdks/javascript/js-compute/globals/interface.WritableStream/) | This Streams API interface provides a standard abstraction for writing streaming data to a destination, known as a sink. This object comes with built-in backpressure and queuing. |
| [WritableStreamDefaultController](https://www.fastly.com/documentation/reference/compute/sdks/javascript/js-compute/globals/interface.WritableStreamDefaultController/) | This Streams API interface represents a controller allowing control of a WritableStream's state. When constructing a WritableStream, the underlying sink is given a corresponding WritableStreamDefaultController instance to manipulate. |
| [WritableStreamDefaultWriter](https://www.fastly.com/documentation/reference/compute/sdks/javascript/js-compute/globals/interface.WritableStreamDefaultWriter/) | This Streams API interface is the object returned by WritableStream.getWriter() and once created locks the < writer to the WritableStream ensuring that no other streams can write to the underlying sink. |

## Type aliases

| Name | Summary |
| --- | --- |
| [AlgorithmIdentifier](https://www.fastly.com/documentation/reference/compute/sdks/javascript/js-compute/globals/type.AlgorithmIdentifier/) |  |
| [BlobPart](https://www.fastly.com/documentation/reference/compute/sdks/javascript/js-compute/globals/type.BlobPart/) |  |
| [BodyInit](https://www.fastly.com/documentation/reference/compute/sdks/javascript/js-compute/globals/type.BodyInit/) | Used within the [Request](https://developer.mozilla.org/en-US/docs/Web/API/Request/Request) and [Response](https://developer.mozilla.org/en-US/docs/Web/API/Response/Response) constructors. ([`Request`](https://www.fastly.com/documentation/reference/compute/sdks/javascript/js-compute/globals/interface.Request/), and [`Response`](https://www.fastly.com/documentation/reference/compute/sdks/javascript/js-compute/globals/interface.Response/)) |
| [BufferSource](https://www.fastly.com/documentation/reference/compute/sdks/javascript/js-compute/globals/type.BufferSource/) |  |
| [DOMHighResTimeStamp](https://www.fastly.com/documentation/reference/compute/sdks/javascript/js-compute/globals/type.DOMHighResTimeStamp/) |  |
| [EndingType](https://www.fastly.com/documentation/reference/compute/sdks/javascript/js-compute/globals/type.EndingType/) |  |
| [EventListenerOrEventListenerObject](https://www.fastly.com/documentation/reference/compute/sdks/javascript/js-compute/globals/type.EventListenerOrEventListenerObject/) |  |
| [FormDataEntryValue](https://www.fastly.com/documentation/reference/compute/sdks/javascript/js-compute/globals/type.FormDataEntryValue/) |  |
| [HashAlgorithmIdentifier](https://www.fastly.com/documentation/reference/compute/sdks/javascript/js-compute/globals/type.HashAlgorithmIdentifier/) |  |
| [HeadersInit](https://www.fastly.com/documentation/reference/compute/sdks/javascript/js-compute/globals/type.HeadersInit/) |  |
| [KeyFormat](https://www.fastly.com/documentation/reference/compute/sdks/javascript/js-compute/globals/type.KeyFormat/) |  |
| [KeyType](https://www.fastly.com/documentation/reference/compute/sdks/javascript/js-compute/globals/type.KeyType/) |  |
| [KeyUsage](https://www.fastly.com/documentation/reference/compute/sdks/javascript/js-compute/globals/type.KeyUsage/) |  |
| [ReadableStreamController](https://www.fastly.com/documentation/reference/compute/sdks/javascript/js-compute/globals/type.ReadableStreamController/) |  |
| [ReadableStreamDefaultReadResult](https://www.fastly.com/documentation/reference/compute/sdks/javascript/js-compute/globals/type.ReadableStreamDefaultReadResult/) |  |
| [ReadableStreamReader](https://www.fastly.com/documentation/reference/compute/sdks/javascript/js-compute/globals/type.ReadableStreamReader/) |  |
| [ReadableStreamType](https://www.fastly.com/documentation/reference/compute/sdks/javascript/js-compute/globals/type.ReadableStreamType/) |  |
| [RequestInfo](https://www.fastly.com/documentation/reference/compute/sdks/javascript/js-compute/globals/type.RequestInfo/) | Constructor parameter for [Request](https://developer.mozilla.org/en-US/docs/Web/API/Request) |
| [Transferable](https://www.fastly.com/documentation/reference/compute/sdks/javascript/js-compute/globals/type.Transferable/) |  |
| [XMLHttpRequestBodyInit](https://www.fastly.com/documentation/reference/compute/sdks/javascript/js-compute/globals/type.XMLHttpRequestBodyInit/) |  |

## Functions

| Name | Summary |
| --- | --- |
| [addEventListener](https://www.fastly.com/documentation/reference/compute/sdks/javascript/js-compute/globals/fn.addEventListener/) | This is a fetch specific implementation of [addEventListener](https://developer.mozilla.org/en-US/docs/Web/API/EventTarget/addEventListener), and is very similar to [handling FetchEvent from a Service Worker](https://developer.mozilla.org/en-US/docs/Web/API/FetchEvent/request). |
| [atob](https://www.fastly.com/documentation/reference/compute/sdks/javascript/js-compute/globals/fn.atob/) | The atob() function decodes a string of data which has been encoded using Base64 encoding. |
| [btoa](https://www.fastly.com/documentation/reference/compute/sdks/javascript/js-compute/globals/fn.btoa/) | The btoa() method creates a Base64-encoded ASCII string from a binary string (i.e., a string in which each character in the string is treated as a byte of binary data). |
| [clearInterval](https://www.fastly.com/documentation/reference/compute/sdks/javascript/js-compute/globals/fn.clearInterval/) | The clearInterval() method cancels a timed, repeating action which was previously established by a call to setInterval(). If the parameter provided does not identify a previously established action, this method does nothing. |
| [clearTimeout](https://www.fastly.com/documentation/reference/compute/sdks/javascript/js-compute/globals/fn.clearTimeout/) | The clearTimeout() method cancels a timeout previously established by calling setTimeout(). If the parameter provided does not identify a previously established action, this method does nothing. |
| [fetch](https://www.fastly.com/documentation/reference/compute/sdks/javascript/js-compute/globals/fn.fetch/) | Fetch resources from backends. |
| [queueMicrotask](https://www.fastly.com/documentation/reference/compute/sdks/javascript/js-compute/globals/fn.queueMicrotask/) |  |
| [setInterval](https://www.fastly.com/documentation/reference/compute/sdks/javascript/js-compute/globals/fn.setInterval/) | The setInterval() method repeatedly calls a function, with a fixed time delay between each call. This method returns an interval ID which uniquely identifies the interval, so you can remove it later by calling clearInterval(). |
| [setTimeout](https://www.fastly.com/documentation/reference/compute/sdks/javascript/js-compute/globals/fn.setTimeout/) | The setTimeout() method sets a timer which calls a function once the timer expires. |
| [structuredClone](https://www.fastly.com/documentation/reference/compute/sdks/javascript/js-compute/globals/fn.structuredClone/) |  |

## Variables

### self

**Type:** `typeof globalThis`  
**Source:** https://github.com/fastly/js-compute-runtime/blob/70cf30af4e657879b2d1e7eafab880e39e3a3f7d/types/globals.d.ts#L4

### onfetch

**Type:** `FetchEventListener`  
**Source:** https://github.com/fastly/js-compute-runtime/blob/70cf30af4e657879b2d1e7eafab880e39e3a3f7d/types/globals.d.ts#L29

### console

**Type:** `Console`  
**Source:** https://github.com/fastly/js-compute-runtime/blob/70cf30af4e657879b2d1e7eafab880e39e3a3f7d/types/globals.d.ts#L901

The global [`Console`](https://www.fastly.com/documentation/reference/compute/sdks/javascript/js-compute/globals/interface.Console/) instance

### location

**Type:** `WorkerLocation`  
**Source:** https://github.com/fastly/js-compute-runtime/blob/70cf30af4e657879b2d1e7eafab880e39e3a3f7d/types/globals.d.ts#L2271

### crypto

**Type:** `Crypto`  
**Source:** https://github.com/fastly/js-compute-runtime/blob/70cf30af4e657879b2d1e7eafab880e39e3a3f7d/types/globals.d.ts#L2398

### performance

**Type:** `Performance`  
**Source:** https://github.com/fastly/js-compute-runtime/blob/70cf30af4e657879b2d1e7eafab880e39e3a3f7d/types/globals.d.ts#L2670
