163 个重大版本

0.166.0 2024 年 8 月 22 日
0.164.0 2024 年 7 月 31 日
0.143.0 2024 年 3 月 28 日
0.129.0 2023 年 12 月 21 日
0.2.0 2021 年 3 月 21 日

#1603网页编程

Download history 6534/week @ 2024-05-02 7056/week @ 2024-05-09 7218/week @ 2024-05-16 6179/week @ 2024-05-23 5349/week @ 2024-05-30 5203/week @ 2024-06-06 7473/week @ 2024-06-13 5798/week @ 2024-06-20 4880/week @ 2024-06-27 4714/week @ 2024-07-04 5917/week @ 2024-07-11 5476/week @ 2024-07-18 5067/week @ 2024-07-25 3733/week @ 2024-08-01 3766/week @ 2024-08-08 2748/week @ 2024-08-15

16,589 每月下载量
用于 58 crate(23 个直接使用)

MIT 许可证

61KB
1.5K SLoC

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

deno_url

此 crate 实现了 Deno 的 URL 和 URLPattern API。

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

使用示例

从 JavaScript 开始,包含扩展的源代码,并将 URLURLPatternURLSearchParams 赋值给全局作用域

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,
});

然后从 Rust 中,在 RuntimeOptionsextensions 字段中提供 deno_url::deno_url::init_ops_and_esm()

依赖

  • deno_webidl:由 deno_webidl crate 提供

提供的 ops

以下 ops 提供,可以通过 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

依赖

~87MB
~1.5M SLoC