| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647 | "use strict";Object.defineProperty(exports, "__esModule", { value: true });exports.AuthProvider = exports.AuthContext = void 0;const error_1 = require("../../error");/** * Context used during authentication * @internal */class AuthContext {    constructor(connection, credentials, options) {        /** If the context is for reauthentication. */        this.reauthenticating = false;        this.connection = connection;        this.credentials = credentials;        this.options = options;    }}exports.AuthContext = AuthContext;class AuthProvider {    /**     * Prepare the handshake document before the initial handshake.     *     * @param handshakeDoc - The document used for the initial handshake on a connection     * @param authContext - Context for authentication flow     */    async prepare(handshakeDoc, _authContext) {        return handshakeDoc;    }    /**     * Reauthenticate.     * @param context - The shared auth context.     */    async reauth(context) {        if (context.reauthenticating) {            throw new error_1.MongoRuntimeError('Reauthentication already in progress.');        }        try {            context.reauthenticating = true;            await this.auth(context);        }        finally {            context.reauthenticating = false;        }    }}exports.AuthProvider = AuthProvider;//# sourceMappingURL=auth_provider.js.map
 |