summaryrefslogtreecommitdiff
path: root/cli/dts/lib.deno.shared_globals.d.ts
diff options
context:
space:
mode:
Diffstat (limited to 'cli/dts/lib.deno.shared_globals.d.ts')
-rw-r--r--cli/dts/lib.deno.shared_globals.d.ts176
1 files changed, 173 insertions, 3 deletions
diff --git a/cli/dts/lib.deno.shared_globals.d.ts b/cli/dts/lib.deno.shared_globals.d.ts
index 9e324258d..267f94db3 100644
--- a/cli/dts/lib.deno.shared_globals.d.ts
+++ b/cli/dts/lib.deno.shared_globals.d.ts
@@ -1,5 +1,8 @@
// Copyright 2018-2020 the Deno authors. All rights reserved. MIT license.
+// Documentation partially adapted from [MDN](https://developer.mozilla.org/),
+// by Mozilla Contributors, which is licensed under CC-BY-SA 2.5.
+
/* eslint-disable @typescript-eslint/no-unused-vars, @typescript-eslint/no-explicit-any, no-var */
/// <reference no-default-lib="true" />
@@ -8,83 +11,193 @@
/// <reference lib="deno.fetch" />
declare namespace WebAssembly {
- export class CompileError {
+ /**
+ * The `WebAssembly.CompileError` object indicates an error during WebAssembly decoding or validation.
+ *
+ * [MDN](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/WebAssembly/CompileError)
+ */
+ export class CompileError extends Error {
+ /** Creates a new `WebAssembly.CompileError` object. */
constructor();
}
+ /**
+ * A `WebAssembly.Global` object represents a global variable instance, accessible from
+ * both JavaScript and importable/exportable across one or more `WebAssembly.Module`
+ * instances. This allows dynamic linking of multiple modules.
+ *
+ * [MDN](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/WebAssembly/Global)
+ */
export class Global {
+ /** Creates a new `Global` object. */
constructor(descriptor: GlobalDescriptor, v?: any);
+ /**
+ * The value contained inside the global variable — this can be used to directly set
+ * and get the global's value.
+ */
value: any;
+
+ /** Old-style method that returns the value contained inside the global variable. */
valueOf(): any;
}
+ /**
+ * A `WebAssembly.Instance` object is a stateful, executable instance of a `WebAssembly.Module`.
+ * Instance objects contain all the Exported WebAssembly functions that allow calling into
+ * WebAssembly code from JavaScript.
+ *
+ * [MDN](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/WebAssembly/Instance)
+ */
export class Instance {
+ /** Creates a new Instance object. */
constructor(module: Module, importObject?: Imports);
+
+ /**
+ * Returns an object containing as its members all the functions exported from the
+ * WebAssembly module instance, to allow them to be accessed and used by JavaScript.
+ * Read-only.
+ */
readonly exports: Exports;
}
- export class LinkError {
+ /**
+ * The `WebAssembly.LinkError` object indicates an error during module instantiation
+ * (besides traps from the start function).
+ *
+ * [MDN](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/WebAssembly/LinkError)
+ */
+ export class LinkError extends Error {
+ /** Creates a new WebAssembly.LinkError object. */
constructor();
}
+ /**
+ * The `WebAssembly.Memory` object is a resizable `ArrayBuffer` or `SharedArrayBuffer` that
+ * holds the raw bytes of memory accessed by a WebAssembly Instance.
+ *
+ * A memory created by JavaScript or in WebAssembly code will be accessible and mutable
+ * from both JavaScript and WebAssembly.
+ *
+ * [MDN](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/WebAssembly/Memory)
+ */
export class Memory {
+ /** Creates a new `Memory` object. */
constructor(descriptor: MemoryDescriptor);
+
+ /** An accessor property that returns the buffer contained in the memory. */
readonly buffer: ArrayBuffer;
+
+ /**
+ * Increases the size of the memory instance by a specified number of WebAssembly
+ * pages (each one is 64KB in size).
+ */
grow(delta: number): number;
}
+ /**
+ * A `WebAssembly.Module` object contains stateless WebAssembly code that has already been compiled
+ * by the browser — this can be efficiently shared with Workers, and instantiated multiple times.
+ *
+ * [MDN](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/WebAssembly/Module)
+ */
export class Module {
+ /** Creates a new `Module` object. */
constructor(bytes: BufferSource);
+
+ /**
+ * Given a `Module` and string, returns a copy of the contents of all custom sections in the
+ * module with the given string name.
+ * */
static customSections(
moduleObject: Module,
sectionName: string,
): ArrayBuffer[];
+
+ /** Given a `Module`, returns an array containing descriptions of all the declared exports. */
static exports(moduleObject: Module): ModuleExportDescriptor[];
+
+ /** Given a `Module`, returns an array containing descriptions of all the declared imports. */
static imports(moduleObject: Module): ModuleImportDescriptor[];
}
- export class RuntimeError {
+ /**
+ * The `WebAssembly.RuntimeError` object is the error type that is thrown whenever WebAssembly
+ * specifies a trap.
+ *
+ * [MDN](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/WebAssembly/RuntimeError)
+ */
+ export class RuntimeError extends Error {
+ /** Creates a new `WebAssembly.RuntimeError` object. */
constructor();
}
+ /**
+ * The `WebAssembly.Table()` object is a JavaScript wrapper object — an array-like structure
+ * representing a WebAssembly Table, which stores function references. A table created by
+ * JavaScript or in WebAssembly code will be accessible and mutable from both JavaScript
+ * and WebAssembly.
+ *
+ * [MDN](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/WebAssembly/Table)
+ */
export class Table {
+ /** Creates a new `Table` object. */
constructor(descriptor: TableDescriptor);
+
+ /** Returns the length of the table, i.e. the number of elements. */
readonly length: number;
+
+ /** Accessor function — gets the element stored at a given index. */
get(index: number): Function | null;
+
+ /** Increases the size of the `Table` instance by a specified number of elements. */
grow(delta: number): number;
+
+ /** Sets an element stored at a given index to a given value. */
set(index: number, value: Function | null): void;
}
+ /** The `GlobalDescriptor` describes the options you can pass to `new WebAssembly.Global()`. */
export interface GlobalDescriptor {
mutable?: boolean;
value: ValueType;
}
+ /** The `MemoryDescriptor` describes the options you can pass to `new WebAssembly.Memory()`. */
export interface MemoryDescriptor {
initial: number;
maximum?: number;
}
+ /** A `ModuleExportDescriptor` is the description of a declared export in a `WebAssembly.Module`. */
export interface ModuleExportDescriptor {
kind: ImportExportKind;
name: string;
}
+ /** A `ModuleImportDescriptor` is the description of a declared import in a `WebAssembly.Module`. */
export interface ModuleImportDescriptor {
kind: ImportExportKind;
module: string;
name: string;
}
+ /** The `TableDescriptor` describes the options you can pass to `new WebAssembly.Table()`. */
export interface TableDescriptor {
element: TableKind;
initial: number;
maximum?: number;
}
+ /** The value returned from `WebAssembly.instantiate` and `WebAssembly.instantiateStreaming`. */
export interface WebAssemblyInstantiatedSource {
+ /* A `WebAssembly.Instance` object that contains all the exported WebAssembly functions. */
instance: Instance;
+
+ /**
+ * A `WebAssembly.Module` object representing the compiled WebAssembly module.
+ * This `Module` can be instantiated again, or shared via postMessage().
+ */
module: Module;
}
@@ -96,22 +209,79 @@ declare namespace WebAssembly {
export type ImportValue = ExportValue | number;
export type ModuleImports = Record<string, ImportValue>;
export type Imports = Record<string, ModuleImports>;
+
+ /**
+ * The `WebAssembly.compile()` function compiles WebAssembly binary code into a
+ * `WebAssembly.Module` object. This function is useful if it is necessary to compile
+ * a module before it can be instantiated (otherwise, the `WebAssembly.instantiate()`
+ * function should be used).
+ *
+ * [MDN](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/WebAssembly/compile)
+ */
export function compile(bytes: BufferSource): Promise<Module>;
+
+ /**
+ * The `WebAssembly.compileStreaming()` function compiles a `WebAssembly.Module`
+ * directly from a streamed underlying source. This function is useful if it
+ * is necessary to a compile a module before it can be instantiated (otherwise,
+ * the `WebAssembly.instantiateStreaming()` function should be used).
+ *
+ * [MDN](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/WebAssembly/compileStreaming)
+ */
export function compileStreaming(
source: Response | Promise<Response>,
): Promise<Module>;
+
+ /**
+ * The WebAssembly.instantiate() function allows you to compile and instantiate
+ * WebAssembly code.
+ *
+ * This overload takes the WebAssembly binary code, in the form of a typed
+ * array or ArrayBuffer, and performs both compilation and instantiation in one step.
+ * The returned Promise resolves to both a compiled WebAssembly.Module and its first
+ * WebAssembly.Instance.
+ *
+ * [MDN](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/WebAssembly/instantiate)
+ */
export function instantiate(
bytes: BufferSource,
importObject?: Imports,
): Promise<WebAssemblyInstantiatedSource>;
+
+ /**
+ * The WebAssembly.instantiate() function allows you to compile and instantiate
+ * WebAssembly code.
+ *
+ * This overload takes an already-compiled WebAssembly.Module and returns
+ * a Promise that resolves to an Instance of that Module. This overload is useful
+ * if the Module has already been compiled.
+ *
+ * [MDN](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/WebAssembly/instantiate)
+ */
export function instantiate(
moduleObject: Module,
importObject?: Imports,
): Promise<Instance>;
+
+ /**
+ * The `WebAssembly.instantiateStreaming()` function compiles and instantiates a
+ * WebAssembly module directly from a streamed underlying source. This is the most
+ * efficient, optimized way to load WebAssembly code.
+ *
+ * [MDN](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/WebAssembly/instantiateStreaming)
+ */
export function instantiateStreaming(
response: Response | PromiseLike<Response>,
importObject?: Imports,
): Promise<WebAssemblyInstantiatedSource>;
+
+ /**
+ * The `WebAssembly.validate()` function validates a given typed array of
+ * WebAssembly binary code, returning whether the bytes form a valid wasm
+ * module (`true`) or not (`false`).
+ *
+ * [MDN](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/WebAssembly/validate)
+ */
export function validate(bytes: BufferSource): boolean;
}