< Summary - Envilder Node.js SDK

Information
Class: src/sdks/nodejs/src/domain/expired-credentials-error.ts
Assembly: Default
File(s): src/sdks/nodejs/src/domain/expired-credentials-error.ts
Tag: 427_29134414720
Line coverage
100%
Covered lines: 8
Uncovered lines: 0
Coverable lines: 8
Total lines: 34
Line coverage: 100%
Branch coverage
100%
Covered branches: 5
Total branches: 5
Branch coverage: 100%
Method coverage

Feature is only available for sponsors

Upgrade to PRO version

File(s)

src/sdks/nodejs/src/domain/expired-credentials-error.ts

#LineLine coverage
 1/**
 2 * Thrown when an AWS request fails because the credentials or security token
 3 * are expired or invalid (for example, an expired SSO session).
 4 */
 5export class ExpiredCredentialsError extends Error {
 6  readonly cause?: unknown;
 7
 8  constructor(cause?: unknown) {
 19    super(
 10      'AWS credentials are expired or invalid. Your security token or SSO ' +
 11        'session may have expired. Refresh your credentials and retry ' +
 12        '(for SSO, run: aws sso login).',
 13    );
 114    this.name = 'ExpiredCredentialsError';
 115    this.cause = cause;
 16  }
 17}
 18
 519const EXPIRED_CREDENTIAL_ERROR_NAMES = new Set([
 20  'ExpiredToken',
 21  'ExpiredTokenException',
 22]);
 23
 24/**
 25 * Detects whether an unknown error represents expired or invalid AWS
 26 * credentials, by inspecting its AWS error name.
 27 */
 28export function isExpiredCredentialsError(error: unknown): boolean {
 829  if (typeof error !== 'object' || error === null || !('name' in error)) {
 130    return false;
 31  }
 732  const name = String((error as { name?: unknown }).name);
 733  return EXPIRED_CREDENTIAL_ERROR_NAMES.has(name);
 34}