|
5 | 5 | from urllib.parse import unquote, urldefrag, urljoin
|
6 | 6 |
|
7 | 7 | from attrs import evolve, field
|
8 |
| -from pyrsistent import PMap as PMapType, plist, pmap, s |
| 8 | +from pyrsistent import PMap as PMapType, plist, pmap, pset |
9 | 9 | from pyrsistent.typing import PList, PMap, PSet
|
10 | 10 |
|
11 | 11 | from referencing import exceptions
|
12 | 12 | from referencing._attrs import frozen
|
13 | 13 | from referencing.typing import URI, Anchor as AnchorType, D, Mapping
|
14 | 14 |
|
| 15 | +EMPTY64 = pmap(pre_size=64) |
| 16 | + |
15 | 17 |
|
16 | 18 | class _MaybeInSubresource(Protocol[D]):
|
17 | 19 | def __call__(
|
@@ -231,11 +233,11 @@ class Registry(Mapping[URI, Resource[D]]):
|
231 | 233 | """
|
232 | 234 |
|
233 | 235 | _resources: PMap[URI, Resource[D]] = field(
|
234 |
| - default=pmap(), # type: ignore[reportUnknownArgumentType] |
| 236 | + default=EMPTY64, # type: ignore[reportUnknownArgumentType] |
235 | 237 | converter=_to_pmap,
|
236 | 238 | )
|
237 |
| - _anchors: PMap[tuple[URI, str], AnchorType[D]] = field(default=pmap()) # type: ignore[reportUnknownArgumentType] # noqa: E501 |
238 |
| - _uncrawled: PSet[URI] = field(default=s()) # type: ignore[reportUnknownArgumentType] # noqa: E501 |
| 239 | + _anchors: PMap[tuple[URI, str], AnchorType[D]] = field(default=EMPTY64) # type: ignore[reportUnknownArgumentType] # noqa: E501 |
| 240 | + _uncrawled: PSet[URI] = field(default=pset()) # type: ignore[reportUnknownArgumentType] # noqa: E501 |
239 | 241 | _retrieve: Callable[[URI], Resource[D]] = field(default=_fail_to_retrieve)
|
240 | 242 |
|
241 | 243 | def __getitem__(self, uri: URI) -> Resource[D]:
|
@@ -326,7 +328,7 @@ def crawl(self) -> Registry[D]:
|
326 | 328 | self,
|
327 | 329 | resources=resources.persistent(),
|
328 | 330 | anchors=anchors.persistent(),
|
329 |
| - uncrawled=s(), |
| 331 | + uncrawled=pset(), |
330 | 332 | )
|
331 | 333 |
|
332 | 334 | def with_resource(self, uri: URI, resource: Resource[D]):
|
|
0 commit comments