[ { "pattern": { "pathname": "/foo" }, "component": "invalid", "groups": {}, "expected": null }, { "pattern": { "pathname": "/foo" }, "component": "pathname", "groups": {}, "expected": "/foo" }, { "pattern": { "pathname": "/:foo" }, "component": "pathname", "groups": { "foo": "bar" }, "expected": "/bar" }, { "pattern": { "pathname": "/:foo" }, "component": "pathname", "groups": { "foo": "🍅" }, "expected": "/%F0%9F%8D%85" }, { "pattern": { "hostname": "{:foo}.example.com" }, "component": "hostname", "groups": { "foo": "🍅" }, "expected": "xn--fi8h.example.com" }, { "pattern": { "pathname": "/:foo" }, "component": "pathname", "groups": {}, "expected": null }, { "pattern": { "pathname": "/foo/:bar" }, "component": "pathname", "groups": { "bar": "baz" }, "expected": "/foo/baz" }, { "pattern": { "pathname": "/foo:bar" }, "component": "pathname", "groups": { "bar": "baz" }, "expected": "/foobaz" }, { "pattern": { "pathname": "/:foo/:bar" }, "component": "pathname", "groups": { "foo": "baz", "bar": "qux" }, "expected": "/baz/qux" }, { "pattern": "https://example.com/:foo", "component": "pathname", "groups": { "foo": " " }, "expected": "/%20" }, { "pattern": "original-scheme://example.com/:foo", "component": "pathname", "groups": { "foo": " " }, "expected": "/ " }, { "pattern": { "pathname": "/:foo" }, "component": "pathname", "groups": { "foo": "bar/baz" }, "expected": null }, { "pattern": { "pathname": "*" }, "component": "pathname", "groups": {}, "expected": null }, { "pattern": { "pathname": "/{foo}+" }, "component": "pathname", "groups": {}, "expected": null }, { "pattern": { "pathname": "/{foo}?" }, "component": "pathname", "groups": {}, "expected": null }, { "pattern": { "pathname": "/{foo}*" }, "component": "pathname", "groups": {}, "expected": null }, { "pattern": { "pathname": "/(regexp)" }, "component": "pathname", "groups": {}, "expected": null }, { "pattern": { "pathname": "/([^\\/]+?)" }, "component": "pathname", "groups": {}, "expected": null }, { "pattern": { "port": "([^\\:]+?)" }, "component": "port", "groups": {}, "expected": null } ]