1
0
Fork 0
mirror of https://github.com/denoland/deno.git synced 2024-12-24 16:19:12 -05:00

fix(dts): URLPatternComponentResult groups should have possibly undefined key values (#18643)

Closes #18640
This commit is contained in:
David Sherret 2023-04-26 19:15:25 -04:00 committed by GitHub
parent e2761df3fe
commit f4e442da4d
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
3 changed files with 7 additions and 2 deletions

View file

@ -1,5 +1,6 @@
// Copyright 2018-2023 the Deno authors. All rights reserved. MIT license.
import { assert, assertEquals } from "./test_util.ts";
import { assertType, IsExact } from "../../../test_util/std/testing/types.ts";
Deno.test(function urlPatternFromString() {
const pattern = new URLPattern("https://deno.land/foo/:bar");
@ -13,6 +14,10 @@ Deno.test(function urlPatternFromString() {
assert(match);
assertEquals(match.pathname.input, "/foo/x");
assertEquals(match.pathname.groups, { bar: "x" });
// group values should be nullable
const val = match.pathname.groups.val;
assertType<IsExact<typeof val, string | undefined>>(true);
});
Deno.test(function urlPatternFromStringWithBase() {

View file

@ -23,7 +23,7 @@ declare type URLPatternInput = string | URLPatternInit;
declare interface URLPatternComponentResult {
input: string;
groups: Record<string, string>;
groups: Record<string, string | undefined>;
}
/** `URLPatternResult` is the object returned from `URLPattern.exec`. */

View file

@ -206,7 +206,7 @@ declare type URLPatternInput = string | URLPatternInit;
/** @category Web APIs */
declare interface URLPatternComponentResult {
input: string;
groups: Record<string, string>;
groups: Record<string, string | undefined>;
}
/** `URLPatternResult` is the object returned from `URLPattern.exec`.