import { ProviderError } from "./ProviderError"; /** * @public * * An error representing a failure of an individual token provider. * * This error class has special meaning to the {@link chain} method. If a * provider in the chain is rejected with an error, the chain will only proceed * to the next provider if the value of the `tryNextLink` property on the error * is truthy. This allows individual providers to halt the chain and also * ensures the chain will stop if an entirely unexpected error is encountered. */ export class TokenProviderError extends ProviderError { name = "TokenProviderError"; constructor(message: string, public readonly tryNextLink: boolean = true) { super(message, tryNextLink); // Remove once we stop targetting ES5. Object.setPrototypeOf(this, TokenProviderError.prototype); } }