179 breaking releases

new 0.182.0 Dec 11, 2024
0.180.0 Nov 28, 2024
0.164.0 Jul 31, 2024
0.143.0 Mar 28, 2024
0.2.0 Mar 21, 2021

#1970 in Web programming

Download history 4795/week @ 2024-08-25 4445/week @ 2024-09-01 3538/week @ 2024-09-08 3918/week @ 2024-09-15 5119/week @ 2024-09-22 4799/week @ 2024-09-29 3748/week @ 2024-10-06 4442/week @ 2024-10-13 4248/week @ 2024-10-20 3762/week @ 2024-10-27 4338/week @ 2024-11-03 4090/week @ 2024-11-10 4329/week @ 2024-11-17 4303/week @ 2024-11-24 4739/week @ 2024-12-01 4381/week @ 2024-12-08

17,930 downloads per month
Used in 68 crates (26 directly)

MIT license

61KB
1.5K SLoC

JavaScript 1K SLoC // 0.2% comments Rust 234 SLoC // 0.0% comments TypeScript 109 SLoC // 0.7% comments

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_ops_and_esm() 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

Dependencies

~88MB
~1.5M SLoC