Web platform APIs

The web standard globals Ende implements, such as fetch, streams, URLs, Web Crypto, WebSockets and WebGPU.

Cache

  • Cache — Represents a single named store of `Request`/`Response` pairs. Obtain a `Cache` via CacheStorage.open and use it to persist responses and later match incoming requests against them.
  • CacheQueryOptions
  • caches — The global CacheStorage instance, providing access to the named Cache objects used to store and retrieve `Request`/`Response` pairs.
  • CacheStorage — Represents the storage for named Cache objects. It provides the methods used to open, enumerate, look up, and delete caches, and is accessed via the global caches property.
  • MultiCacheQueryOptions

Canvas

  • ColorSpaceConversion — Specifies whether the image should be decoded using color space conversion. Either none or default (default). The value default indicates that implementation-specific behavior is used.
  • createImageBitmap — Create a new ImageBitmap object from a given source.
  • GPUCanvasAlphaMode
  • GPUCanvasConfiguration
  • GPUCanvasContext — The rendering context that presents WebGPU-rendered images on an OffscreenCanvas. Obtained from OffscreenCanvas.getContext with the `"webgpu"` context id.
  • GPUPresentMode
  • ImageBitmap — `ImageBitmap` interface represents a bitmap image which can be drawn to a canvas.
  • ImageBitmapOptions — The options of createImageBitmap.
  • ImageBitmapRenderingContext — A rendering context that displays the contents of an ImageBitmap on an OffscreenCanvas. Obtained from OffscreenCanvas.getContext with the `"bitmaprenderer"` context id.
  • ImageBitmapSource — The `ImageBitmapSource` type represents an image data source that can be used to create an `ImageBitmap`.
  • ImageEncodeOptions
  • ImageOrientation — Specifies how the bitmap image should be oriented.
  • OffscreenCanvas — A canvas that can be rendered to off the main thread and without being attached to the DOM. It exposes drawing contexts via OffscreenCanvas.getContext and can produce a Blob or ImageBitmap from its contents.
  • OffscreenRenderingContext
  • OffscreenRenderingContextId
  • PremultiplyAlpha — Specifies whether the bitmap's color channels should be premultiplied by the alpha channel.
  • ResizeQuality — Specifies the algorithm to be used for resizing the input to match the output dimensions. One of `pixelated`, `low` (default), `medium`, or `high`.

Crypto

Encoding

Events

Fetch

  • Body
  • BodyInit
  • EventSource — Represents a connection to a server that sends server-sent events, receiving updates pushed by the server as a stream of `message` events over a persistent HTTP connection that automatically reconnects when interrupted.
  • EventSourceEventMap
  • EventSourceInit
  • fetch — Fetch a resource from the network. It returns a `Promise` that resolves to the `Response` to that `Request`, whether it is successful or not.
  • 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".
  • FormDataEntryValue
  • Headers — This Fetch API interface allows you to perform various actions on HTTP request and response headers. These actions include retrieving, setting, adding to, and removing. A Headers object has an associated header list, which is initially empty and consists of zero or more name and value pairs. You can add to this using methods like append() (see Examples). In all methods of this interface, header names are matched by case-insensitive byte sequence.
  • HeadersInit
  • ReferrerPolicy
  • Request — This Fetch API interface represents a resource request.
  • RequestCache
  • RequestCredentials
  • RequestDestination
  • RequestInfo
  • RequestInit
  • RequestMode
  • RequestPriority
  • RequestRedirect
  • Response — This Fetch API interface represents the response to a request.
  • ResponseInit
  • ResponseType

File

  • 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.
  • BlobPart
  • BlobPropertyBag
  • EndingType
  • File — Provides information about files and allows JavaScript in a web page to access their content.
  • FilePropertyBag
  • FileReader — Lets web applications asynchronously read the contents of files (or raw data buffers) stored on the user's computer, using File or Blob objects to specify the file or data to read.
  • FileReaderEventMap

Geometry Interfaces Module API

  • DOMMatrix — The **`DOMMatrix`** interface represents 4×4 matrices, suitable for 2D and 3D operations including rotation and translation. It is a mutable version of the DOMMatrixReadOnly interface. The interface is available inside web workers.
  • DOMMatrix2DInit
  • DOMMatrixInit
  • DOMMatrixReadOnly — The **`DOMMatrixReadOnly`** interface represents a read-only 4×4 matrix, suitable for 2D and 3D operations. The DOMMatrix interface — which is based upon DOMMatrixReadOnly—adds mutability, allowing you to alter the matrix after creating it.
  • DOMPoint — A **`DOMPoint`** object represents a 2D or 3D point in a coordinate system; it includes values for the coordinates in up to three dimensions, as well as an optional perspective value. DOMPoint is based on DOMPointReadOnly but allows its properties' values to be changed.
  • DOMPointInit
  • DOMPointReadOnly — The **`DOMPointReadOnly`** interface specifies the coordinate and perspective fields used by DOMPoint to define a 2D or 3D point in a coordinate system.
  • DOMQuad — A **`DOMQuad`** is a collection of four DOMPoints defining the corners of an arbitrary quadrilateral. Returning DOMQuads lets getBoxQuads() return accurate information even when arbitrary 2D or 3D transforms are present. It has a handy bounds attribute returning a DOMRectReadOnly for those cases where you just want an axis-aligned bounding rectangle.
  • DOMQuadInit
  • DOMRect — A **`DOMRect`** describes the size and position of a rectangle.
  • DOMRectInit
  • DOMRectReadOnly — The **`DOMRectReadOnly`** interface specifies the standard properties (also used by DOMRect) to define a rectangle whose properties are immutable.

GPU

I/O

  • console — A global console object that provides methods for logging, debugging, and error reporting. The console object provides access to the browser's or runtime's debugging console functionality. It allows developers to output text and data for debugging purposes.
  • Console — The Console interface provides methods for logging information to the console, as well as other utility methods for debugging and inspecting code. Methods include logging, debugging, and timing functionality.

Intl

  • Intl — The `Intl` namespace groups the ECMAScript Internationalization API constructors and functions.

Messaging

  • BroadcastChannel — Represents a named channel that any BroadcastChannel with the same name (across workers or isolates in the same Ende process) can use to send and receive messages, allowing one-to-many communication between execution contexts.
  • BroadcastChannelEventMap
  • MessageChannel — The MessageChannel interface of the Channel Messaging API allows us to create a new message channel and send data through it via its two MessagePort properties.
  • MessagePort — The MessagePort interface of the Channel Messaging API represents one of the two ports of a MessageChannel, allowing messages to be sent from one port and listening out for them arriving at the other.
  • MessagePortEventMap

Performance

  • performance — The global Performance instance, providing access to high-resolution timing via `performance.now()` and the user-timing marks and measures APIs.
  • Performance — Ende supports User Timing Level 3 which is not widely supported yet in other runtimes.
  • PerformanceEntry — Encapsulates a single performance metric that is part of the performance timeline. A performance entry can be directly created by making a performance mark or measure (for example by calling the `.mark()` method) at an explicit point in an application.
  • PerformanceEntryList
  • PerformanceMark — `PerformanceMark` is an abstract interface for `PerformanceEntry` objects with an entryType of `"mark"`. Entries of this type are created by calling `performance.mark()` to add a named `DOMHighResTimeStamp` (the mark) to the performance timeline.
  • PerformanceMarkOptions — Options which are used in conjunction with `performance.mark`. Check out the MDN `performance.mark()` documentation for more details.
  • PerformanceMeasure — `PerformanceMeasure` is an abstract interface for `PerformanceEntry` objects with an entryType of `"measure"`. Entries of this type are created by calling `performance.measure()` to add a named `DOMHighResTimeStamp` (the measure) between two marks to the performance timeline.
  • PerformanceMeasureOptions — Options which are used in conjunction with `performance.measure`. Check out the MDN `performance.mark()` documentation for more details.
  • PerformanceObserver — Observes performance measurement events and is notified of new PerformanceEntry objects as they are recorded in the performance timeline.
  • PerformanceObserverCallback — The callback invoked when the observed set of performance entries grows.
  • PerformanceObserverEntryList — A list of PerformanceEntry objects passed to a PerformanceObserver callback via its `observe()` method.

Platform

Storage

  • localStorage — Ende's `localStorage` API provides a way to store key-value pairs in a web-like environment, similar to the Web Storage API found in browsers. It allows developers to persist data across sessions in an Ende application. This API is particularly useful for applications that require a simple and effective way to store data locally.
  • sessionStorage — Ende's `sessionStorage` API operates similarly to the localStorage API, but it is intended for storing data temporarily for the duration of a session. Data stored in sessionStorage is cleared when the application session or process ends. This makes it suitable for temporary data that you do not need to persist across user sessions.
  • Storage — This Web Storage API interface provides access to a particular domain's session or local storage. It allows, for example, the addition, modification, or deletion of stored data items.

Streams

URL

Wasm

  • WebAssembly — The `WebAssembly` JavaScript object acts as the namespace for all WebAssembly-related functionality. Unlike most global objects, it is not a constructor; it groups the functions used to compile and instantiate WebAssembly modules together with the classes (`Module`, `Instance`, `Memory`, `Table`, `Global`) and error types used to work with them.

WebSockets

  • BinaryType — Specifies the type of binary data being received over a `WebSocket` connection.
  • CloseEvent — The `CloseEvent` interface represents an event that occurs when a `WebSocket` connection is closed.
  • CloseEventInit — Configuration options for a `WebSocket` "close" event.
  • WebSocket — Provides the API for creating and managing a WebSocket connection to a server, as well as for sending and receiving data on the connection.
  • WebSocketCloseInfo — **UNSTABLE**: New API, yet to be vetted.
  • WebSocketConnection — **UNSTABLE**: New API, yet to be vetted.
  • WebSocketError — **UNSTABLE**: New API, yet to be vetted.
  • WebSocketEventMap — Interface mapping `WebSocket` event names to their corresponding event types. Used for strongly typed event handling with `addEventListener` and `removeEventListener`.
  • WebSocketOptions — Options for a WebSocket instance. This feature is non-standard.
  • WebSocketStream — **UNSTABLE**: New API, yet to be vetted.
  • WebSocketStreamOptions — **UNSTABLE**: New API, yet to be vetted.

Workers

Other

  • StructuredSerializeOptions — Options that control structured serialization operations such as `structuredClone(value, options)` and `MessagePort.postMessage(message, options)`.
  • Temporal