diff --git a/packages/url/native/URL.re b/packages/url/native/URL.re index 247e733cb..034fce351 100644 --- a/packages/url/native/URL.re +++ b/packages/url/native/URL.re @@ -218,7 +218,11 @@ let setSearchAsString = (t, searchString) => { Uri.with_query(t, Uri.query_of_encoded(searchString)); }; let setSearch = Uri.with_query; -let searchParams = _url => assert(false); + +let searchParams = (url): SearchParams.t => { + let query = Uri.query(url); + query; +}; let username = url => { switch (Uri.user(url)) { /* User can be empty, if the Uri has a password is parsed as Some(""), diff --git a/packages/url/test/test_native.re b/packages/url/test/test_native.re index 2328b6c17..09b6edf1f 100644 --- a/packages/url/test/test_native.re +++ b/packages/url/test/test_native.re @@ -175,6 +175,14 @@ let url_tests = ( "https://:root@app.herokuapp.com/auth", ); }), + case("searchParams", () => { + let url = URL.makeExn("https://sancho.dev:8080?foo=bar"); + let searchParams = URL.searchParams(url); + assert_entries( + URL.SearchParams.entries(searchParams), + [|("foo", "bar")|], + ); + }), ], );