Crate deno_core

source ·




  • Include a fast string in the binary from a string literal. This string is asserted at compile-time to be 7-bit ASCII for optimal v8 performance.
  • Defines a Deno extension. The first parameter is the name of the extension symbol namespace to create. This is the symbol you will use to refer to the extension.
  • Define an external type.
  • Include a fast string in the binary. This string is asserted at compile-time to be 7-bit ASCII for optimal v8 performance.
  • Helps embed JS files in an extension. Returns a vector of ExtensionFileSource, that represent the filename and source code. All specified files are rewritten into “ext:<extension_name>/<file_name>”.
  • A helper macro that will return a call site in Rust code. Should be used when executing internal one-line scripts for JsRuntime lifecycle.
  • Declares a block of Deno #[op]s. The first parameter determines the name of the op declaration block, and is usually deno_ops. This block generates a function that returns a Vec<OpDecl>.
  • Return the first argument if not empty, otherwise the second.





  • Trait implemented by all generated ops.
  • 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.


  • Given two OpMetricsFactoryFn implementations, merges them so that op metric events are called on both.
  • Normalize all intermediate components of the path (ie. remove “./” and “../” components). Similar to fs::canonicalize() but doesn’t resolve symlinks.
  • Converts a string representing a relative or absolute path into a ModuleSpecifier. A relative path is considered relative to the passed current_dir.
  • 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 passed current_dir.
  • Pass the command line arguments to v8. The first element of args (which usually corresponds to the binary name) is ignored. Returns a vector of command line arguments that V8 did not understand.

Type Aliases

Attribute Macros

  • A macro designed to provide an extremely fast V8->Rust interface layer.