module
Usage in Deno
import * as mod from "node:module";
Classes
Functions
// /path/to/project/packages/bar/bar.js
import { findPackageJSON } from 'node:module';
findPackageJSON('..', import.meta.url);
// '/path/to/project/package.json'
// Same result when passing an absolute specifier instead:
findPackageJSON(new URL('../', import.meta.url));
findPackageJSON(import.meta.resolve('../'));
findPackageJSON('some-package', import.meta.url);
// '/path/to/project/packages/bar/node_modules/some-package/package.json'
// When passing an absolute specifier, you might get a different result if the
// resolved module is inside a subfolder that has nested `package.json`.
findPackageJSON(import.meta.resolve('some-package'));
// '/path/to/project/packages/bar/node_modules/some-package/some-subfolder/package.json'
findPackageJSON('@foo/qux', import.meta.url);
// '/path/to/project/packages/qux/package.json'
path is the resolved path for the file for which a corresponding source map
should be fetched.
Flush the module compile cache accumulated from modules already loaded in the current Node.js instance to disk. This returns after all the flushing file system operations come to an end, no matter they succeed or not. If there are any errors, this will fail silently, since compile cache misses should not interfere with the actual operation of the application.
Register a module that exports hooks that customize Node.js module resolution and loading behavior. See Customization hooks.
module.stripTypeScriptTypes() removes type annotations from TypeScript code. It
can be used to strip type annotations from TypeScript code before running it
with vm.runInContext() or vm.compileFunction().
By default, it will throw an error if the code contains TypeScript features
that require transformation such as Enums,
see type-stripping for more information.
When mode is 'transform', it also transforms TypeScript features to JavaScript,
see transform TypeScript features for more information.
When mode is 'strip', source maps are not generated, because locations are preserved.
If sourceMap is provided, when mode is 'strip', an error will be thrown.
The module.syncBuiltinESMExports() method updates all the live bindings for
builtin ES Modules to match the properties of the CommonJS exports. It
does not add or remove exported names from the ES Modules.
Interfaces
Namespaces
The following constants are returned as the status field in the object returned by
enableCompileCache to indicate the result of the attempt to enable the
module compile cache.
Type Aliases
The initialize hook provides a way to define a custom function that runs in
the hooks thread when the hooks module is initialized. Initialization happens
when the hooks module is registered via register.
The load hook provides a way to define a custom method of determining how a
URL should be interpreted, retrieved, and parsed. It is also in charge of
validating the import attributes.
The resolve hook chain is responsible for telling Node.js where to find and
how to cache a given import statement or expression, or require call. It can
optionally return a format (such as 'module') as a hint to the load hook. If
a format is specified, the load hook is ultimately responsible for providing
the final format value (and it is free to ignore the hint provided by
resolve); if resolve provides a format, a custom load hook is required
even if only to pass the value to the Node.js default load hook.
Variables
The directory name of the current module. This is the same as the
path.dirname() of the __filename.
The file name of the current module. This is the current module file's absolute path with symlinks resolved.
The exports variable is available within a module's file-level scope, and is
assigned the value of module.exports before the module is evaluated.
A list of the names of all modules provided by Node.js. Can be used to verify if a module is maintained by a third party or not.
The compile cache has already been enabled before, either by a previous call to
enableCompileCache, or by the NODE_COMPILE_CACHE=dir
environment variable. The directory used to store the
compile cache will be returned in the directory field in the
returned object.
Node.js cannot enable the compile cache because the environment variable
NODE_DISABLE_COMPILE_CACHE=1 has been set.
Node.js has enabled the compile cache successfully. The directory used to store the
compile cache will be returned in the directory field in the
returned object.
Node.js fails to enable the compile cache. This can be caused by the lack of
permission to use the specified directory, or various kinds of file system errors.
The detail of the failure will be returned in the message field in the
returned object.
class Module
Usage in Deno
import { Module } from "node:module";
interface Module
The register method is a non-functional stub.
The register method is a non-functional stub.
Properties #
The module.exports object is created by the Module system. Sometimes this is
not acceptable; many want their module to be an instance of some class. To do
this, assign the desired export object to module.exports.
#isPreloading: boolean true if the module is running during the Node.js preload
phase.
The module that first required this one, or null if the current module is the
entry point of the current process, or undefined if the module was loaded by
something that is not a CommonJS module (e.g. REPL or import).
The directory name of the module. This is usually the same as the
path.dirname() of the module.id.
Methods #
namespace Module
The register method is a non-functional stub.
Classes #
Functions #
// /path/to/project/packages/bar/bar.js
import { findPackageJSON } from 'node:module';
findPackageJSON('..', import.meta.url);
// '/path/to/project/package.json'
// Same result when passing an absolute specifier instead:
findPackageJSON(new URL('../', import.meta.url));
findPackageJSON(import.meta.resolve('../'));
findPackageJSON('some-package', import.meta.url);
// '/path/to/project/packages/bar/node_modules/some-package/package.json'
// When passing an absolute specifier, you might get a different result if the
// resolved module is inside a subfolder that has nested `package.json`.
findPackageJSON(import.meta.resolve('some-package'));
// '/path/to/project/packages/bar/node_modules/some-package/some-subfolder/package.json'
findPackageJSON('@foo/qux', import.meta.url);
// '/path/to/project/packages/qux/package.json'
path is the resolved path for the file for which a corresponding source map
should be fetched.
Flush the module compile cache accumulated from modules already loaded in the current Node.js instance to disk. This returns after all the flushing file system operations come to an end, no matter they succeed or not. If there are any errors, this will fail silently, since compile cache misses should not interfere with the actual operation of the application.
Register a module that exports hooks that customize Node.js module resolution and loading behavior. See Customization hooks.
module.stripTypeScriptTypes() removes type annotations from TypeScript code. It
can be used to strip type annotations from TypeScript code before running it
with vm.runInContext() or vm.compileFunction().
By default, it will throw an error if the code contains TypeScript features
that require transformation such as Enums,
see type-stripping for more information.
When mode is 'transform', it also transforms TypeScript features to JavaScript,
see transform TypeScript features for more information.
When mode is 'strip', source maps are not generated, because locations are preserved.
If sourceMap is provided, when mode is 'strip', an error will be thrown.
The module.syncBuiltinESMExports() method updates all the live bindings for
builtin ES Modules to match the properties of the CommonJS exports. It
does not add or remove exported names from the ES Modules.
Interfaces #
Namespaces #
Type Aliases #
The initialize hook provides a way to define a custom function that runs in
the hooks thread when the hooks module is initialized. Initialization happens
when the hooks module is registered via register.
The load hook provides a way to define a custom method of determining how a
URL should be interpreted, retrieved, and parsed. It is also in charge of
validating the import attributes.
The resolve hook chain is responsible for telling Node.js where to find and
how to cache a given import statement or expression, or require call. It can
optionally return a format (such as 'module') as a hint to the load hook. If
a format is specified, the load hook is ultimately responsible for providing
the final format value (and it is free to ignore the hint provided by
resolve); if resolve provides a format, a custom load hook is required
even if only to pass the value to the Node.js default load hook.
Variables #
A list of the names of all modules provided by Node.js. Can be used to verify if a module is maintained by a third party or not.
class Module.SourceMap
Usage in Deno
import { Module } from "node:module";
Constructors #
#SourceMap(payload: SourceMapPayload,options?: SourceMapConstructorOptions,) Properties #
#payload: SourceMapPayload Getter for the payload used to construct the SourceMap instance.
Methods #
#findEntry(lineOffset: number,columnOffset: number,): SourceMapping | { } Given a line offset and column offset in the generated source file, returns an object representing the SourceMap range in the original file if found, or an empty object if not.
The object returned contains the following keys:
The returned value represents the raw range as it appears in the SourceMap, based on zero-indexed offsets, not 1-indexed line and column numbers as they appear in Error messages and CallSite objects.
To get the corresponding 1-indexed line and column numbers from a
lineNumber and columnNumber as they are reported by Error stacks
and CallSite objects, use sourceMap.findOrigin(lineNumber, columnNumber)
#findOrigin(lineNumber: number,columnNumber: number,): SourceOrigin | { } Given a 1-indexed lineNumber and columnNumber from a call site in the generated source,
find the corresponding call site location in the original source.
If the lineNumber and columnNumber provided are not found in any source map,
then an empty object is returned.
function Module.enableCompileCache
Usage in Deno
import { Module } from "node:module";
#enableCompileCache(cacheDir?: string): EnableCompileCacheResultEnable module compile cache in the current Node.js instance.
If cacheDir is not specified, Node.js will either use the directory specified by the
NODE_COMPILE_CACHE=dir environment variable if it's set, or use
path.join(os.tmpdir(), 'node-compile-cache') otherwise. For general use cases, it's
recommended to call module.enableCompileCache() without specifying the cacheDir,
so that the directory can be overridden by the NODE_COMPILE_CACHE environment
variable when necessary.
Since compile cache is supposed to be a quiet optimization that is not required for the
application to be functional, this method is designed to not throw any exception when the
compile cache cannot be enabled. Instead, it will return an object containing an error
message in the message field to aid debugging.
If compile cache is enabled successfully, the directory field in the returned object
contains the path to the directory where the compile cache is stored. The status
field in the returned object would be one of the module.constants.compileCacheStatus
values to indicate the result of the attempt to enable the
module compile cache.
This method only affects the current Node.js instance. To enable it in child worker threads,
either call this method in child worker threads too, or set the
process.env.NODE_COMPILE_CACHE value to compile cache directory so the behavior can
be inherited into the child workers. The directory can be obtained either from the
directory field returned by this method, or with getCompileCacheDir.
Parameters #
#cacheDir: string Optional path to specify the directory where the compile cache will be stored/retrieved.
Return Type #
function Module.findPackageJSON
Usage in Deno
import { Module } from "node:module";
#findPackageJSON(): string | undefined/path/to/project
├ packages/
├ bar/
├ bar.js
└ package.json // name = '@foo/bar'
└ qux/
├ node_modules/
└ some-package/
└ package.json // name = 'some-package'
├ qux.js
└ package.json // name = '@foo/qux'
├ main.js
└ package.json // name = '@foo'
// /path/to/project/packages/bar/bar.js
import { findPackageJSON } from 'node:module';
findPackageJSON('..', import.meta.url);
// '/path/to/project/package.json'
// Same result when passing an absolute specifier instead:
findPackageJSON(new URL('../', import.meta.url));
findPackageJSON(import.meta.resolve('../'));
findPackageJSON('some-package', import.meta.url);
// '/path/to/project/packages/bar/node_modules/some-package/package.json'
// When passing an absolute specifier, you might get a different result if the
// resolved module is inside a subfolder that has nested `package.json`.
findPackageJSON(import.meta.resolve('some-package'));
// '/path/to/project/packages/bar/node_modules/some-package/some-subfolder/package.json'
findPackageJSON('@foo/qux', import.meta.url);
// '/path/to/project/packages/qux/package.json'
Parameters #
The specifier for the module whose package.json to
retrieve. When passing a bare specifier, the package.json at the root of
the package is returned. When passing a relative specifier or an absolute specifier,
the closest parent package.json is returned.
Return Type #
string | undefined A path if the package.json is found. When startLocation
is a package, the package's root package.json; when a relative or unresolved, the closest
package.json to the startLocation.
function Module.findSourceMap
Usage in Deno
import { Module } from "node:module";
function Module.flushCompileCache
Usage in Deno
import { Module } from "node:module";
#flushCompileCache(): voidFlush the module compile cache accumulated from modules already loaded in the current Node.js instance to disk. This returns after all the flushing file system operations come to an end, no matter they succeed or not. If there are any errors, this will fail silently, since compile cache misses should not interfere with the actual operation of the application.
Return Type #
void function Module.getCompileCacheDir
Usage in Deno
import { Module } from "node:module";
#getCompileCacheDir(): string | undefinedReturn Type #
string | undefined Path to the module compile cache
directory if it is enabled, or undefined otherwise.
function Module.isBuiltin
Usage in Deno
import { Module } from "node:module";
function Module.register
Usage in Deno
import { Module } from "node:module";
Overload 1
#register<Data = any>(): voidRegister a module that exports hooks that customize Node.js module resolution and loading behavior. See Customization hooks.
This feature requires --allow-worker if used with the
Permission Model.
Type Parameters #
#Data = any Parameters #
Customization hooks to be registered; this should be
the same string that would be passed to import(), except that if it is
relative, it is resolved relative to parentURL.
f you want to resolve specifier relative to a base
URL, such as import.meta.url, you can pass that URL here.
#options: RegisterOptions<Data> Return Type #
void Overload 2
function Module.runMain
Usage in Deno
import { Module } from "node:module";
function Module.stripTypeScriptTypes
Usage in Deno
import { Module } from "node:module";
#stripTypeScriptTypes(code: string,options?: StripTypeScriptTypesOptions,): stringmodule.stripTypeScriptTypes() removes type annotations from TypeScript code. It
can be used to strip type annotations from TypeScript code before running it
with vm.runInContext() or vm.compileFunction().
By default, it will throw an error if the code contains TypeScript features
that require transformation such as Enums,
see type-stripping for more information.
When mode is 'transform', it also transforms TypeScript features to JavaScript,
see transform TypeScript features for more information.
When mode is 'strip', source maps are not generated, because locations are preserved.
If sourceMap is provided, when mode is 'strip', an error will be thrown.
WARNING: The output of this function should not be considered stable across Node.js versions, due to changes in the TypeScript parser.
import { stripTypeScriptTypes } from 'node:module';
const code = 'const a: number = 1;';
const strippedCode = stripTypeScriptTypes(code);
console.log(strippedCode);
// Prints: const a = 1;
If sourceUrl is provided, it will be used appended as a comment at the end of the output:
import { stripTypeScriptTypes } from 'node:module';
const code = 'const a: number = 1;';
const strippedCode = stripTypeScriptTypes(code, { mode: 'strip', sourceUrl: 'source.ts' });
console.log(strippedCode);
// Prints: const a = 1\n\n//# sourceURL=source.ts;
When mode is 'transform', the code is transformed to JavaScript:
import { stripTypeScriptTypes } from 'node:module';
const code = `
namespace MathUtil {
export const add = (a: number, b: number) => a + b;
}`;
const strippedCode = stripTypeScriptTypes(code, { mode: 'transform', sourceMap: true });
console.log(strippedCode);
// Prints:
// var MathUtil;
// (function(MathUtil) {
// MathUtil.add = (a, b)=>a + b;
// })(MathUtil || (MathUtil = {}));
// # sourceMappingURL=data:application/json;base64, ...
Parameters #
#code: string The code to strip type annotations from.
#options: StripTypeScriptTypesOptions Return Type #
string The code with type annotations stripped.
function Module.syncBuiltinESMExports
Usage in Deno
import { Module } from "node:module";
#syncBuiltinESMExports(): voidThe module.syncBuiltinESMExports() method updates all the live bindings for
builtin ES Modules to match the properties of the CommonJS exports. It
does not add or remove exported names from the ES Modules.
import fs from 'node:fs';
import assert from 'node:assert';
import { syncBuiltinESMExports } from 'node:module';
fs.readFile = newAPI;
delete fs.readFileSync;
function newAPI() {
// ...
}
fs.newAPI = newAPI;
syncBuiltinESMExports();
import('node:fs').then((esmFS) => {
// It syncs the existing readFile property with the new value
assert.strictEqual(esmFS.readFile, newAPI);
// readFileSync has been deleted from the required fs
assert.strictEqual('readFileSync' in fs, false);
// syncBuiltinESMExports() does not remove readFileSync from esmFS
assert.strictEqual('readFileSync' in esmFS, true);
// syncBuiltinESMExports() does not add names
assert.strictEqual(esmFS.newAPI, undefined);
});
Return Type #
void function Module.wrap
Usage in Deno
import { Module } from "node:module";
interface ImportMeta
Usage in Deno
import { type ImportMeta } from "node:module";
Properties #
The directory name of the current module. This is the same as the path.dirname() of the import.meta.filename.
Caveat: only present on file: modules.
The full absolute path and filename of the current module, with symlinks resolved.
This is the same as the url.fileURLToPath() of the import.meta.url.
Caveat: only local modules support this property. Modules not using the file: protocol will not provide it.
Methods #
interface Module.EnableCompileCacheResult
Usage in Deno
import { Module } from "node:module";
Properties #
One of the constants.compileCacheStatus
If Node.js cannot enable the compile cache, this contains
the error message. Only set if status is module.constants.compileCacheStatus.FAILED.
interface Module.ImportAttributes
Usage in Deno
import { Module } from "node:module";
interface Module.LoadFnOutput
Usage in Deno
import { Module } from "node:module";
Properties #
#shortCircuit: boolean | undefined A signal that this hook intends to terminate the chain of resolve hooks.
#source: ModuleSource | undefined The source for Node.js to evaluate
interface Module.LoadHookContext
Usage in Deno
import { Module } from "node:module";
Properties #
#conditions: string[] Export conditions of the relevant package.json
The format optionally supplied by the resolve hook chain (can be an intermediary value).
An object whose key-value pairs represent the assertions for the module to import
interface Module.RegisterOptions
Usage in Deno
import { Module } from "node:module";
Type Parameters #
#Data Properties #
If you want to resolve specifier relative to a
base URL, such as import.meta.url, you can pass that URL here. This
property is ignored if the parentURL is supplied as the second argument.
Any arbitrary, cloneable JavaScript value to pass into the initialize hook.
#transferList: any[] | undefined Transferable objects
to be passed into the initialize hook.
interface Module.ResolveFnOutput
Usage in Deno
import { Module } from "node:module";
Properties #
A hint to the load hook (it might be ignored); can be an intermediary value.
#importAttributes: ImportAttributes | undefined The import attributes to use when caching the module (optional; if excluded the input will be used)
#shortCircuit: boolean | undefined A signal that this hook intends to terminate the chain of resolve hooks.
interface Module.ResolveHookContext
Usage in Deno
import { Module } from "node:module";
Properties #
#conditions: string[] Export conditions of the relevant package.json
An object whose key-value pairs represent the assertions for the module to import
interface Module.SourceMapConstructorOptions
Usage in Deno
import { Module } from "node:module";
Properties #
#lineLengths: readonly number[] | undefined interface Module.SourceMapping
Usage in Deno
import { Module } from "node:module";
Properties #
#generatedLine: number #generatedColumn: number #originalSource: string #originalLine: number #originalColumn: number interface Module.SourceOrigin
Usage in Deno
import { Module } from "node:module";
Properties #
#lineNumber: number The 1-indexed lineNumber of the corresponding call site in the original source
#columnNumber: number The 1-indexed columnNumber of the corresponding call site in the original source
interface Module.StripTypeScriptTypesOptions
Usage in Deno
import { Module } from "node:module";
Properties #
Possible values are:
'strip'Only strip type annotations without performing the transformation of TypeScript features.'transform'Strip type annotations and transform TypeScript features to JavaScript.
Only when mode is 'transform', if true, a source map
will be generated for the transformed code.
interface Require
Usage in Deno
import { type Require } from "node:module";
Call Signatures #
(id: string): any Used to import modules, JSON, and local files.
Properties #
Modules are cached in this object when they are required. By deleting a key
value from this object, the next require will reload the module.
This does not apply to
native addons,
for which reloading will result in an error.
#extensions: RequireExtensions Instruct require on how to handle certain file extensions.
The Module object representing the entry script loaded when the Node.js
process launched, or undefined if the entry point of the program is not a
CommonJS module.
interface RequireResolve
Usage in Deno
import { type RequireResolve } from "node:module";
Call Signatures #
(request: string,options?: RequireResolveOptions,): string Use the internal require() machinery to look up the location of a module,
but rather than loading the module, just return the resolved filename.
If the module can not be found, a MODULE_NOT_FOUND error is thrown.
Methods #
interface RequireResolveOptions
Usage in Deno
import { type RequireResolveOptions } from "node:module";
Properties #
Paths to resolve module location from. If present, these
paths are used instead of the default resolution paths, with the exception
of
GLOBAL_FOLDERS
like $HOME/.node_modules, which are
always included. Each of these paths is used as a starting point for
the module resolution algorithm, meaning that the node_modules hierarchy
is checked from this location.
interface NodeModule
Usage in Deno
import { type NodeModule } from "node:module";
Use NodeJS.Module instead.
interface NodeRequire
Usage in Deno
import { type NodeRequire } from "node:module";
Use NodeJS.Require instead.
interface RequireExtensions
Usage in Deno
import { type RequireExtensions } from "node:module";
namespace Module.constants
Usage in Deno
import { Module } from "node:module";
Namespaces #
The following constants are returned as the status field in the object returned by
enableCompileCache to indicate the result of the attempt to enable the
module compile cache.
namespace Module.constants.compileCacheStatus
Usage in Deno
import { Module } from "node:module";
The following constants are returned as the status field in the object returned by
enableCompileCache to indicate the result of the attempt to enable the
module compile cache.
Variables #
The compile cache has already been enabled before, either by a previous call to
enableCompileCache, or by the NODE_COMPILE_CACHE=dir
environment variable. The directory used to store the
compile cache will be returned in the directory field in the
returned object.
Node.js cannot enable the compile cache because the environment variable
NODE_DISABLE_COMPILE_CACHE=1 has been set.
Node.js has enabled the compile cache successfully. The directory used to store the
compile cache will be returned in the directory field in the
returned object.
Node.js fails to enable the compile cache. This can be caused by the lack of
permission to use the specified directory, or various kinds of file system errors.
The detail of the failure will be returned in the message field in the
returned object.
type alias Module.InitializeHook
Usage in Deno
import { Module } from "node:module";
The initialize hook provides a way to define a custom function that runs in
the hooks thread when the hooks module is initialized. Initialization happens
when the hooks module is registered via register.
This hook can receive data from a register invocation, including
ports and other transferable objects. The return value of initialize can be a
Promise, in which case it will be awaited before the main application thread
execution resumes.
Type Parameters #
#Data = any Definition #
(data: Data) => void | Promise<void> type alias Module.LoadHook
Usage in Deno
import { Module } from "node:module";
The load hook provides a way to define a custom method of determining how a
URL should be interpreted, retrieved, and parsed. It is also in charge of
validating the import attributes.
Definition #
(url: string,context: LoadHookContext,nextLoad: (url: string,context?: Partial<LoadHookContext>,) => LoadFnOutput | Promise<LoadFnOutput>,) => LoadFnOutput | Promise<LoadFnOutput> type alias Module.ModuleFormat
Usage in Deno
import { Module } from "node:module";
Definition #
"builtin"
| "commonjs"
| "commonjs-typescript"
| "json"
| "module"
| "module-typescript"
| "wasm" type alias Module.ModuleSource
Usage in Deno
import { Module } from "node:module";
Definition #
string
| ArrayBuffer
| TypedArray type alias Module.ResolveHook
Usage in Deno
import { Module } from "node:module";
The resolve hook chain is responsible for telling Node.js where to find and
how to cache a given import statement or expression, or require call. It can
optionally return a format (such as 'module') as a hint to the load hook. If
a format is specified, the load hook is ultimately responsible for providing
the final format value (and it is free to ignore the hint provided by
resolve); if resolve provides a format, a custom load hook is required
even if only to pass the value to the Node.js default load hook.
Definition #
(specifier: string,context: ResolveHookContext,nextResolve: (specifier: string,context?: Partial<ResolveHookContext>,) => ResolveFnOutput | Promise<ResolveFnOutput>,) => ResolveFnOutput | Promise<ResolveFnOutput> variable __filename
Usage in Deno
import { __filename } from "node:module";
The file name of the current module. This is the current module file's absolute path with symlinks resolved.
For a main program this is not necessarily the same as the file name used in the command line.
Type #
string variable Module.builtinModules
Usage in Deno
import { Module } from "node:module";
A list of the names of all modules provided by Node.js. Can be used to verify if a module is maintained by a third party or not.
Note: the list doesn't contain prefix-only modules like node:test.
Type #
readonly string[] variable Module.constants.compileCacheStatus.ALREADY_ENABLED
Usage in Deno
import { Module } from "node:module";
The compile cache has already been enabled before, either by a previous call to
enableCompileCache, or by the NODE_COMPILE_CACHE=dir
environment variable. The directory used to store the
compile cache will be returned in the directory field in the
returned object.
Type #
number variable Module.constants.compileCacheStatus.DISABLED
Usage in Deno
import { Module } from "node:module";
Node.js cannot enable the compile cache because the environment variable
NODE_DISABLE_COMPILE_CACHE=1 has been set.
Type #
number variable Module.constants.compileCacheStatus.ENABLED
Usage in Deno
import { Module } from "node:module";
Node.js has enabled the compile cache successfully. The directory used to store the
compile cache will be returned in the directory field in the
returned object.
Type #
number variable Module.constants.compileCacheStatus.FAILED
Usage in Deno
import { Module } from "node:module";
Node.js fails to enable the compile cache. This can be caused by the lack of
permission to use the specified directory, or various kinds of file system errors.
The detail of the failure will be returned in the message field in the
returned object.
Type #
number