Skip to content

Commit ac1060f

Browse files
committed
src: implement whatwg's URLPattern spec
1 parent d780b90 commit ac1060f

24 files changed

+10036
-1973
lines changed

deps/ada/ada.cpp

+4,382-1,693
Large diffs are not rendered by default.

deps/ada/ada.h

+1,897-279
Large diffs are not rendered by default.

lib/internal/bootstrap/web/exposed-wildcard.js

+3-1
Original file line numberDiff line numberDiff line change
@@ -23,9 +23,11 @@ const config = internalBinding('config');
2323
exposeNamespace(globalThis, 'console',
2424
createGlobalConsole());
2525

26-
const { URL, URLSearchParams } = require('internal/url');
26+
const { URL, URLSearchParams, URLPattern } = require('internal/url');
2727
// https://url.spec.whatwg.org/#url
2828
exposeInterface(globalThis, 'URL', URL);
29+
// https://urlpattern.spec.whatwg.org/#urlpattern-class
30+
exposeInterface(globalThis, 'URLPattern', URLPattern);
2931
// https://url.spec.whatwg.org/#urlsearchparams
3032
exposeInterface(globalThis, 'URLSearchParams', URLSearchParams);
3133
exposeGetterAndSetter(globalThis,

lib/url.js

+2
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,7 @@ const {
3030
decodeURIComponent,
3131
} = primordials;
3232

33+
const { URLPattern } = internalBinding('url_pattern');
3334
const { toASCII } = internalBinding('encoding_binding');
3435
const { encodeStr, hexTable } = require('internal/querystring');
3536
const querystring = require('querystring');
@@ -1029,6 +1030,7 @@ module.exports = {
10291030

10301031
// WHATWG API
10311032
URL,
1033+
URLPattern,
10321034
URLSearchParams,
10331035
domainToASCII,
10341036
domainToUnicode,

node.gyp

+2
Original file line numberDiff line numberDiff line change
@@ -146,6 +146,7 @@
146146
'src/node_trace_events.cc',
147147
'src/node_types.cc',
148148
'src/node_url.cc',
149+
'src/node_url_pattern.cc',
149150
'src/node_util.cc',
150151
'src/node_v8.cc',
151152
'src/node_wasi.cc',
@@ -275,6 +276,7 @@
275276
'src/node_stat_watcher.h',
276277
'src/node_union_bytes.h',
277278
'src/node_url.h',
279+
'src/node_url_pattern.h',
278280
'src/node_version.h',
279281
'src/node_v8.h',
280282
'src/node_v8_platform-inl.h',

src/node_binding.cc

+2
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44
#include "node_builtins.h"
55
#include "node_errors.h"
66
#include "node_external_reference.h"
7+
#include "node_url_pattern.h"
78
#include "util.h"
89

910
#include <string>
@@ -87,6 +88,7 @@
8788
V(types) \
8889
V(udp_wrap) \
8990
V(url) \
91+
V(url_pattern) \
9092
V(util) \
9193
V(uv) \
9294
V(v8) \

0 commit comments

Comments
 (0)