deno/ext/url
snek bc1ced8260
refactor: allow lazy main module (#28929)
implement lazy(?) mode. an unconfigured jsruntime is created if
DENO_UNSTABLE_CONTROL_SOCK is present, and later passed into deno_runtime to be
configured and used.
2025-04-30 19:59:20 +00:00
..
benches feat: deno_core 0.344.0 (#29089) 2025-04-29 13:15:08 +02:00
00_url.js chore: Happy New Year 2025 (#27509) 2024-12-31 19:12:39 +00:00
01_urlpattern.js fix: move extension file declarations to cli/tsc/dts (#28180) 2025-02-19 02:53:21 +01:00
Cargo.toml 2.3.0 (#29102) 2025-04-30 09:49:31 +02:00
internal.d.ts chore: Happy New Year 2025 (#27509) 2024-12-31 19:12:39 +00:00
lib.rs fix: move extension file declarations to cli/tsc/dts (#28180) 2025-02-19 02:53:21 +01:00
README.md refactor: allow lazy main module (#28929) 2025-04-30 19:59:20 +00:00
urlpattern.rs refactor: update deno_core for error refactor (#26867) 2025-01-08 14:52:32 -08:00

deno_url

This crate implements the URL, and URLPattern APIs for Deno.

URL Spec: https://url.spec.whatwg.org/ URLPattern Spec: https://wicg.github.io/urlpattern/

Usage Example

From javascript, include the extension's source, and assign URL, URLPattern, and URLSearchParams to the global scope:

import * as url from "ext:deno_url/00_url.js";
import * as urlPattern from "ext:deno_url/01_urlpattern.js";

Object.defineProperty(globalThis, "URL", {
  value: url.URL,
  enumerable: false,
  configurable: true,
  writable: true,
});

Object.defineProperty(globalThis, "URLPattern", {
  value: url.URLPattern,
  enumerable: false,
  configurable: true,
  writable: true,
});

Object.defineProperty(globalThis, "URLSearchParams", {
  value: url.URLSearchParams,
  enumerable: false,
  configurable: true,
  writable: true,
});

Then from rust, provide deno_url::deno_url::init() in the extensions field of your RuntimeOptions

Dependencies

  • deno_webidl: Provided by the deno_webidl crate

Provided ops

Following ops are provided, which can be accessed through Deno.ops:

  • op_url_reparse
  • op_url_parse
  • op_url_get_serialization
  • op_url_parse_with_base
  • op_url_parse_search_params
  • op_url_stringify_search_params
  • op_urlpattern_parse
  • op_urlpattern_process_match_input