Skip to content

Commit 86aec6c

Browse files
committed
Save a possible extra evolve during resolution.
1 parent 112a156 commit 86aec6c

File tree

1 file changed

+11
-6
lines changed

1 file changed

+11
-6
lines changed

referencing/_core.py

Lines changed: 11 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -396,16 +396,17 @@ def lookup(self, ref: URI) -> Resolved[D]:
396396
except KeyError:
397397
raise exceptions.Unresolvable(ref=ref) from None
398398

399-
resolver = self._evolve(registry=registry, base_uri=uri)
400399
if fragment.startswith("/"):
401-
return resource.pointer(pointer=fragment, resolver=resolver)
400+
return resource.pointer(
401+
pointer=fragment,
402+
resolver=self._evolve(registry=registry, base_uri=uri),
403+
)
402404

403405
if fragment:
404406
try:
405407
anchor = registry.anchor(uri, fragment)
406408
except LookupError:
407409
registry = registry.crawl()
408-
resolver = evolve(resolver, registry=registry)
409410
try:
410411
anchor = registry.anchor(uri, fragment)
411412
except LookupError:
@@ -414,10 +415,14 @@ def lookup(self, ref: URI) -> Resolved[D]:
414415
resource=resource,
415416
anchor=fragment,
416417
)
418+
return anchor.resolve(
419+
resolver=self._evolve(registry=registry, base_uri=uri),
420+
)
417421

418-
return anchor.resolve(resolver=resolver)
419-
420-
return Resolved(contents=resource.contents, resolver=resolver)
422+
return Resolved(
423+
contents=resource.contents,
424+
resolver=self._evolve(registry=registry, base_uri=uri),
425+
)
421426

422427
def in_subresource(self, subresource: Resource[D]) -> Resolver[D]:
423428
"""

0 commit comments

Comments
 (0)