An IUriResolver implementation that makes the URI resolution process recursive. It allows the resolution process to restart when URI redirects are encountered. The RecursiveResolver wraps one or more resolvers and delegates resolution to them.

Type Parameters

  • TError = undefined

Hierarchy

  • RecursiveResolver

Implements

Constructors

  • Construct a RecursiveResolver

    Type Parameters

    • TError = undefined

    Parameters

    • _resolver: IUriResolver<TError>

      a resolver to delegate resolution to

    Returns RecursiveResolver<TError>

Properties

_resolver: any
_tryResolveAgainIfRedirect: any

Methods

  • Resolve a URI to a wrap package, a wrapper, or a URI. If the URI resolves to a new URI, attempt to resolve thew new URI.

    Parameters

    • uri: Uri

      the URI to resolve

    • client: CoreClient

      a CoreClient instance that may be used to invoke a wrapper that implements the UriResolver interface

    • resolutionContext: IUriResolutionContext

      the current URI resolution context

    Returns Promise<Result<UriPackageOrWrapper, InfiniteLoopError | TError>>

    A Promise with a Result containing either a wrap package, a wrapper, or a URI if successful

  • Create a RecursiveResolver from a resolver-like object

    Type Parameters

    • TResolverError = unknown

    Parameters

    Returns RecursiveResolver<TResolverError>

    a RecursiveResolver

Generated using TypeDoc