Skip to content

Commit ee99f68

Browse files
committed
Rename StarletteResolver to ReactPyResolver.
1 parent 6321231 commit ee99f68

File tree

4 files changed

+13
-12
lines changed

4 files changed

+13
-12
lines changed

CHANGELOG.md

+1
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,7 @@ Don't forget to remove deprecated code on each major release!
2626
- `link` element now calculates URL changes using the client.
2727
- Refactoring related to `reactpy>=1.1.0` changes.
2828
- Determination of the browser's initial URL is now deterministic.
29+
- Rename `StarletteResolver` to `ReactPyResolver`.
2930

3031
### Fixed
3132

src/reactpy_router/resolvers.py

+4-4
Original file line numberDiff line numberDiff line change
@@ -9,13 +9,13 @@
99
if TYPE_CHECKING:
1010
from reactpy_router.types import ConversionInfo, ConverterMapping, Route
1111

12-
__all__ = ["StarletteResolver"]
12+
__all__ = ["ReactPyResolver"]
1313

1414

15-
class StarletteResolver:
16-
"""URL resolver that matches routes using starlette's URL routing syntax.
15+
class ReactPyResolver:
16+
"""URL resolver that can match a path against any given routes.
1717
18-
However, this resolver adds a few additional parameter types on top of Starlette's syntax."""
18+
URL routing syntax for this resolver is based on Starlette, and supports a mixture of Starlette and Django parameter types."""
1919

2020
def __init__(
2121
self,

src/reactpy_router/routers.py

+3-3
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@
1313

1414
from reactpy_router.components import History
1515
from reactpy_router.hooks import RouteState, _route_state_context
16-
from reactpy_router.resolvers import StarletteResolver
16+
from reactpy_router.resolvers import ReactPyResolver
1717
from reactpy_router.types import MatchedRoute
1818

1919
if TYPE_CHECKING:
@@ -36,7 +36,7 @@ def wrapper(*routes: Route) -> Component:
3636
return wrapper
3737

3838

39-
_starlette_router = create_router(StarletteResolver)
39+
_router = create_router(ReactPyResolver)
4040

4141

4242
def browser_router(*routes: Route) -> Component:
@@ -50,7 +50,7 @@ def browser_router(*routes: Route) -> Component:
5050
Returns:
5151
A router component that renders the given routes.
5252
"""
53-
return _starlette_router(*routes)
53+
return _router(*routes)
5454

5555

5656
@component

tests/test_resolver.py

+5-5
Original file line numberDiff line numberDiff line change
@@ -4,12 +4,12 @@
44
import pytest
55

66
from reactpy_router import route
7-
from reactpy_router.resolvers import StarletteResolver
7+
from reactpy_router.resolvers import ReactPyResolver
88
from reactpy_router.types import MatchedRoute
99

1010

1111
def test_resolve_any():
12-
resolver = StarletteResolver(route("{404:any}", "Hello World"))
12+
resolver = ReactPyResolver(route("{404:any}", "Hello World"))
1313
assert resolver.parse_path("{404:any}") == re.compile("^(?P<_numeric_404>.*)$")
1414
assert resolver.converter_mapping == {"_numeric_404": str}
1515
assert resolver.resolve("/hello/world") == MatchedRoute(
@@ -18,7 +18,7 @@ def test_resolve_any():
1818

1919

2020
def test_parse_path():
21-
resolver = StarletteResolver(route("/", None))
21+
resolver = ReactPyResolver(route("/", None))
2222
assert resolver.parse_path("/a/b/c") == re.compile("^/a/b/c$")
2323
assert resolver.converter_mapping == {}
2424

@@ -48,13 +48,13 @@ def test_parse_path():
4848

4949

5050
def test_parse_path_unkown_conversion():
51-
resolver = StarletteResolver(route("/", None))
51+
resolver = ReactPyResolver(route("/", None))
5252
with pytest.raises(ValueError, match="Unknown conversion type 'unknown' in '/a/{b:unknown}/c'"):
5353
resolver.parse_path("/a/{b:unknown}/c")
5454

5555

5656
def test_parse_path_re_escape():
5757
"""Check that we escape regex characters in the path"""
58-
resolver = StarletteResolver(route("/", None))
58+
resolver = ReactPyResolver(route("/", None))
5959
assert resolver.parse_path("/a/{b:int}/c.d") == re.compile(r"^/a/(?P<b>\d+)/c\.d$")
6060
assert resolver.converter_mapping == {"b": int}

0 commit comments

Comments
 (0)