All files / packages/auth/src access-token.ts

100% Statements 3/3
100% Branches 0/0
100% Functions 2/2
100% Lines 3/3

Press n or j to go to the next uncovered block, b, p or k for the previous block.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33                                    2x 2x                   2x      
import { CredentialsProvider } from './index.js'
 
export type AccessTokenCredentials = {
	// TODO: support read from file
	// source: 'file' | 'inline'
	token: string
}
 
/**
 * Provides access token-based authentication credentials.
 *
 * @class AccessTokenCredentialsProvider
 * @extends CredentialsProvider
 */
export class AccessTokenCredentialsProvider extends CredentialsProvider {
	#token: string
 
	constructor(credentials: AccessTokenCredentials) {
		super()
		this.#token = credentials.token
	}
 
	/**
	 * Returns the token from the credentials.
	 * @param force - ignored
	 * @param signal - ignored
	 * @returns the token
	 */
	getToken(): Promise<string> {
		return Promise.resolve(this.#token)
	}
}