polywrap_uri_resolvers.resolvers.extensions.extension_wrapper_uri_resolver module

This module contains the ExtensionWrapperUriResolver class.

class polywrap_uri_resolvers.resolvers.extensions.extension_wrapper_uri_resolver.ExtensionWrapperUriResolver(extension_wrapper_uri: Uri)[source]

Bases: UriResolver

Defines a resolver that resolves a uri to a wrapper by using an extension wrapper.

This resolver resolves a uri to a wrapper by using an extension wrapper. The extension wrapper is resolved using the extension wrapper uri resolver. The extension wrapper is then used to resolve the uri to a wrapper.

Parameters:

extension_wrapper_uri (Uri) – The uri of the extension wrapper.

extension_wrapper_uri: Uri

The uri of the extension wrapper.

get_step_description() str[source]

Get the description of the resolver step.

Returns:

The description of the resolver step.

Return type:

str

try_resolve_uri(uri: Uri, client: InvokerClient, resolution_context: UriResolutionContext) Uri | UriWrapper | UriPackage[source]

Try to resolve a URI to a wrap package, a wrapper, or a URI.

This method tries to resolve the uri using the extension wrapper. If the extension wrapper returns a uri, the uri is returned. If the extension wrapper returns a manifest, the manifest is used to create a wrapper and the wrapper is returned.

Parameters:
Returns:

The resolved URI package, wrapper, or URI.

Return type:

UriPackageOrWrapper

class polywrap_uri_resolvers.resolvers.extensions.extension_wrapper_uri_resolver.MaybeUriOrManifest[source]

Bases: TypedDict

Defines a type for the return value of the extension wrapper’s tryResolveUri function.

The extension wrapper’s tryResolveUri function can return either a uri or a manifest. This type defines the return value of the function.

manifest: bytes | None
uri: str | None