Re-exports
pub use anyhow;
pub use futures;
pub use parking_lot;
pub use serde;
pub use serde_json;
pub use serde_v8;
pub use sourcemap;
pub use url;
pub use v8;
Modules
Macros
Helps embed JS files in an extension. Returns Vec<(&’static str, &’static str)>
representing the filename and source code.
A helper macro that will return a call site in Rust code. Should be
used when executing internal one-line scripts for JsRuntime lifecycle.
Structs
BufMutView is a wrapper around an underlying contiguous chunk of writable
bytes. It can be created from a
ZeroCopyBuf
or a Vec<u8>
and implements
DerefMut<[u8]>
and AsMut<[u8]>
.BufView is a wrapper around an underlying contiguous chunk of bytes. It can
be created from a ZeroCopyBuf, bytes::Bytes, or Vec and implements
Deref<[u8]>
and AsRef<[u8]>
.Basic file system module loader.
Encapsulates an UnboundedSender/UnboundedReceiver pair that together form
a duplex channel for sending/receiving messages in V8 session.
A representation of a JavaScript realm tied to a
JsRuntime
, that allows
execution in the realm’s context.A single execution context of JavaScript. Corresponds roughly to the “Web
Worker” concept in the DOM. A JsRuntime is a Future that can be used with
an event loop (Tokio, async_std).
The JsRuntime future completes when there is an error or when all
pending ops have completed.
This structure is used responsible for providing inspector interface
to the
JsRuntime
.A local inspector session that can be used to send and receive protocol messages directly on
the same thread as an isolate.
EsModule source code that will be loaded into V8.
Placeholder structure used when creating
a runtime that doesn’t support module loading.
Wrapper around a Future, which causes that Future to be polled immediately.
Maintains the resources and ops inside a JS runtime.
An
RcRef
encapsulates a reference counted pointer, just like a regular
std::rc::Rc
. However, unlike a regular Rc
, it can be remapped so that
it dereferences to any value that’s reachable through the reference-counted
pointer. This is achieved through the associated method, RcRef::map()
,
similar to how std::cell::Ref::map()
works. Example:Map-like data structure storing Deno’s resources (equivalent to file
descriptors).
Auto-generated by
deno_ops
, i.e: #[op]
Auto-generated by
deno_ops
, i.e: #[op]
Auto-generated by
deno_ops
, i.e: #[op]
Auto-generated by
deno_ops
, i.e: #[op]
Auto-generated by
deno_ops
, i.e: #[op]
Enums
Error indicating the reason resolving a module specifier failed.
A type of module to be executed.
Constants
Traits
The
RcLike
trait provides an abstraction over std::rc::Rc
and RcRef
,
so that applicable methods can operate on either type.Resources are Rust objects that are attached to a [deno_core::JsRuntime].
They are identified in JS by a numeric ID (the resource ID, or rid).
Resources can be created in ops. Resources can also be retrieved in ops by
their rid. Resources are not thread-safe - they can only be accessed from
the thread that the JsRuntime lives on.
Functions
Normalize all intermediate components of the path (ie. remove “./” and “../” components).
Similar to
fs::canonicalize()
but doesn’t resolve symlinks.Resolves module using this algorithm:
https://html.spec.whatwg.org/multipage/webappapis.html#resolve-a-module-specifier
Converts a string representing a relative or absolute path into a
ModuleSpecifier. A relative path is considered relative to the current
working directory.
Converts a string representing an absolute URL into a ModuleSpecifier.
Takes a string representing either an absolute URL or a file path,
as it may be passed to deno as a command line argument.
The string is interpreted as a URL if it starts with a valid URI scheme,
e.g. ‘http:’ or ‘file:’ or ‘git+ssh:’. If not, it’s interpreted as a
file path; if it is a relative path it’s resolved relative to the current
working directory.
Pass the command line arguments to v8.
Returns a vector of command line arguments that V8 did not understand.
Type Definitions
Returned by resource read/write/shutdown methods
Resolved module specifier
A
ResourceId
is an integer value referencing a resource. It could be
considered to be the Deno equivalent of a file descriptor
in POSIX like
operating systems. Elsewhere in the code base it is commonly abbreviated
to rid
.