There are APIs that are built into the Deno CLI that are beyond those that are built-ins for JavaScript. They are a combination of web platform APIs Deno has implemented and Deno specific APIs.
We try to keep non-standard, Deno specific, APIs in the Deno
namespace. We have grouped the APIs into the following functional categories.
Compression Streams API
An API for compressing a stream of data. | |
An API for decompressing a stream of data. |
Console and Debugging
A symbol which can be used as a key for a custom method which will be
called when | |
Converts the input into a string that has the same format as printed by
|
DOM APIs
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. | |
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. | |
This type has been renamed to StructuredSerializeOptions. Use that type for new code. | |
Creates a deep copy of a given value using the structured clone algorithm. |
DOM Events
An event which takes place in the DOM. | |
EventTarget is a DOM interface implemented by objects that can receive events and may have listeners for them. | |
Events measuring progress of an underlying process, like an HTTP request (for an XMLHttpRequest, or the loading of the underlying resource of an , , , or ). | |
Registers an event listener in the global scope, which will be called
synchronously whenever the event | |
Dispatches an event in the global scope, synchronously invoking any registered event listeners for this event in the appropriate order. Returns false if event is cancelable and at least one of the event handlers which handled this event called Event.preventDefault(). Otherwise it returns true. | |
Remove a previously registered event listener from the global scope |
Encoding API
f | Decodes a string of data which has been encoded using base-64 encoding. |
f | Creates a base-64 ASCII encoded string from the input string. |
Errors
A set of error constructors that are raised by Deno APIs. | |
ES Modules
Deno provides extra properties on |
Fetch API
c I | |
This Fetch API interface represents a resource request. | |
This Fetch API interface represents the response to a request. | |
I | |
I v | 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". |
Fetch a resource from the network. It returns a |
File System
The Deno abstraction for reading and writing files. | |
The Deno abstraction for reading and writing files. | |
A FileInfo describes a file and is returned by | |
FsWatcher is returned by | |
Options for writing to a file. | |
Additional information for FsEvent objects with the "other" kind. | |
Changes the permission of a specific file/directory of specified path. Ignores the process's umask. | |
Synchronously changes the permission of a specific file/directory of specified path. Ignores the process's umask. | |
Change owner of a regular file or directory. This functionality is not available on Windows. | |
Synchronously change owner of a regular file or directory. This functionality is not available on Windows. | |
Copies the contents and permissions of one file to another specified path, by default creating a new file if needed, else overwriting. Fails if target path is a directory or is unwritable. | |
Synchronously copies the contents and permissions of one file to another specified path, by default creating a new file if needed, else overwriting. Fails if target path is a directory or is unwritable. | |
Creates a file if none exists or truncates an existing file and resolves to
an instance of | |
Creates a file if none exists or truncates an existing file and returns
an instance of | |
Returns a | |
Synchronously returns a | |
Truncates or extends the specified file stream, to reach the specified | |
Synchronously truncates or extends the specified file stream, to reach the
specified | |
Creates | |
Synchronously creates | |
Resolves to a | |
Synchronously returns a | |
Creates a new temporary directory in the default directory for temporary
files, unless | |
Synchronously creates a new temporary directory in the default directory
for temporary files, unless | |
Creates a new temporary file in the default directory for temporary
files, unless | |
Synchronously creates a new temporary file in the default directory for
temporary files, unless | |
Creates a new directory with the specified path. | |
Synchronously creates a new directory with the specified path. | |
Open a file and resolve to an instance of | |
Synchronously open a file and return an instance of | |
Reads the directory given by | |
Synchronously reads the directory given by | |
Reads and resolves to the entire contents of a file as an array of bytes.
| |
Synchronously reads and returns the entire contents of a file as an array
of bytes. | |
Resolves to the full path destination of the named symbolic link. | |
Returns the full path destination of the named symbolic link. | |
Asynchronously reads and returns the entire contents of a file as utf8 encoded string. Reading a directory throws an error. | |
Synchronously reads and returns the entire contents of a file as utf8 encoded string. Reading a directory throws an error. | |
Resolves to the absolute normalized path, with symbolic links resolved. | |
Returns absolute normalized path, with symbolic links resolved. | |
Removes the named file or directory. | |
Synchronously removes the named file or directory. | |
Renames (moves) | |
Synchronously renames (moves) | |
Resolves to a | |
Synchronously returns a | |
Creates | |
Creates | |
Truncates or extends the specified file, to reach the specified | |
Synchronously truncates or extends the specified file, to reach the
specified | |
Watch for file system events against one or more | |
Write | |
Synchronously write | |
Asynchronously write string | |
Synchronously write string |
HTTP Server
Services HTTP requests given a TCP or TLS socket. |
I/O
A variable-sized buffer of bytes with | |
A handle for | |
A handle for | |
A handle for | |
Close the given resource ID (rid) which has been previously opened, such as via opening or creating a file. Closing a file when you are finished with it is important to avoid leaking resources. | |
Copies from | |
Flushes any pending data operations of the given file stream to disk. | |
Synchronously flushes any pending data operations of the given file stream to disk. | |
Flushes any pending data and metadata operations of the given file stream to disk. | |
Synchronously flushes any pending data and metadata operations of the given file stream to disk. | |
Check if a given resource id ( | |
Turns a Reader, | |
Turns a ReaderSync, | |
Read from a resource ID ( | |
Read Reader | |
Synchronously reads Reader | |
Synchronously read from a resource ID ( | |
Seek a resource ID ( | |
Synchronously seek a resource ID ( | |
Write to the resource ID ( | |
Write all the content of the array buffer ( | |
Synchronously write all the content of the array buffer ( | |
Synchronously write to the resource ID ( | |
Network
If | |
A generic network listener for stream-oriented protocols. | |
If | |
If | |
If | |
If | |
Specialized listener that accepts TLS connections. | |
The type of the resource record. Only the listed types are supported currently. | |
Connects to the hostname (default is "127.0.0.1") and port on the named
transport (default is "tcp"), and resolves to the connection ( | |
Establishes a secure connection over TLS (transport layer security) using an optional cert file, hostname (default is "127.0.0.1") and port. The cert file is optional and if not included Mozilla's root certificates will be used (see also https://github.com/ctz/webpki-roots for specifics) | |
Listen announces on the local transport address. | |
Listen announces on the local transport address over TLS (transport layer security). | |
Shutdown socket send operations. | |
Start TLS handshake from an existing connection using an optional list of CA certificates, and hostname (default is "127.0.0.1"). Specifying CA certs is optional. By default the configured root certificates are used. Using this function requires that the other end of the connection is prepared for a TLS handshake. |
Observability
Receive metrics from the privileged side of Deno. This is primarily used in the development of Deno. 'Ops', also called 'bindings', are the go-between between Deno JavaScript and Deno Rust. | |
Returns a map of open resource ids (rid) along with their string
representations. This is an internal API and as such resource
representation has |
Performance API
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 | |
| |
| |
Permissions
Permission descriptors which define a permission and can be queried, requested, or revoked. | |
The name of a "powerful feature" which needs permission. | |
The current status of the permission. | |
Deno's permission management API. |
Runtime Environment
Returns the script arguments to the program. If for example we run a program: | |
Build related information. | |
The URL of the entrypoint module entered from the command-line. | |
Reflects the | |
The current process id of the runtime. | |
The pid of the current process's parent. | |
Version related information. | |
Registers the given function as a listener of the given signal event. | |
Change the current working directory to the specified path. | |
Return a string representing the current working directory. | |
Returns the path to the current deno executable. | |
Exit the Deno process with optional exit code. If no exit code is supplied then Deno will exit with return code of 0. | |
Returns an object describing the memory usage of the Deno process measured in bytes. | |
Removes the given signal listener that has been registered with Deno.addSignalListener. |
Scheduling
A microtask is a short function which is executed after the function or module which created it exits and only if the JavaScript execution stack is empty, but before returning control to the event loop being used to drive the script's execution environment. This event loop may be either the main event loop or the event loop driving a web worker. |
Streams API
This Streams API interface provides a built-in byte length queuing strategy that can be used when constructing streams. | |
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. | |
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. | |
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. | |
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. | |
Sub Process
Send a signal to process under given | |
Spawns new subprocess. RunOptions must contain at a minimum the |
Testing
Register a test which will be run when |
Timers
Cancels a timed, repeating action which was previously started by a call
to | |
Cancels a scheduled action initiated by | |
Repeatedly calls a function , with a fixed time delay between each call. | |
Sets a timer which executes a function once after the timer expires. Returns an id which may be used to cancel the timeout. |
Web APIs
A controller object that allows you to abort one or more DOM requests as and when desired. | |
The location (URL) of the object it is linked to. Changes done on it are
reflected on the object it relates to. Accessible via
| |
c | The URL interface represents an object providing static methods used for creating object URLs. |
The URLPattern API provides a web platform primitive for matching URLs based on a convenient pattern syntax. | |
A signal object that allows you to communicate with a DOM request (such as a Fetch) and abort it if required via an AbortController object. | |
| |
v | |
Shows the given message and waits for the enter key pressed. | |
Shows the given message and waits for the answer. Returns the user's answer as boolean. | |
Shows the given message and waits for the user's input. Returns the user's input as string. | |
Dispatch an uncaught exception. Similar to a synchronous version of: |
Web Crypto API
The CryptoKey dictionary of the Web Crypto API represents a cryptographic key. | |
The CryptoKeyPair dictionary of the Web Crypto API represents a key pair for an asymmetric cryptography algorithm, also known as a public-key algorithm. | |
This Web Crypto API interface provides a number of low-level cryptographic functions. It is accessed via the Crypto.subtle properties available in a window context (via Window.crypto). | |
Web File API
c | 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. |
c | Provides information about files and allows JavaScript in a web page to access their content. |
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. | |
Web Sockets
Provides the API for creating and managing a WebSocket connection to a server, as well as for sending and receiving data on the connection. | |
Used to upgrade an incoming HTTP request to a WebSocket. |
Web Storage API
I v | 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. |
WebAssembly
The | |
A | |
A | |
The | |
The | |
A | |
The | |
The | |
The | |
The | |
A | |
A | |
The | |
The value returned from | |
The | |
The | |
The WebAssembly.instantiate() function allows you to compile and instantiate WebAssembly code. | |
The | |
The |