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. // Copyright 2018-2023 the Deno authors. All rights reserved. MIT license.
import { assert, assertEquals } from "./test_util.ts"; import { assert, assertEquals } from "./test_util.ts";
import { assertType, IsExact } from "../../../test_util/std/testing/types.ts";
Deno.test(function urlPatternFromString() { Deno.test(function urlPatternFromString() {
const pattern = new URLPattern("https://deno.land/foo/:bar"); const pattern = new URLPattern("https://deno.land/foo/:bar");
@ -13,6 +14,10 @@ Deno.test(function urlPatternFromString() {
assert(match); assert(match);
assertEquals(match.pathname.input, "/foo/x"); assertEquals(match.pathname.input, "/foo/x");
assertEquals(match.pathname.groups, { bar: "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() { Deno.test(function urlPatternFromStringWithBase() {

View file

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

View file

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