Files
cloud-code/claude-code-source/node_modules/@azure/msal-node/dist/retry/ExponentialRetryStrategy.mjs
janlaywss 6187147b74 reconstruct and build @anthropic-ai/claude-code source from source map
- Extract 4756 source files from cli.js.map (57MB)
- Set up Bun build system with bun:bundle feature flag shim
- Configure 90+ compile-time feature flags matching production defaults
- Inject MACRO constants (VERSION, BUILD_TIME, etc.)
- Create stubs for private packages (color-diff-napi, modifiers-napi, etc.)
- Install all public dependencies via pnpm
- Patch commander v14 to allow multi-char short flags (-d2e)
- Build output: dist/cli.js (22MB), verified working
2026-03-31 19:19:50 +08:00

41 lines
1.6 KiB
JavaScript

/*! @azure/msal-node v3.8.1 2025-10-29 */
'use strict';
/*
* Copyright (c) Microsoft Corporation. All rights reserved.
* Licensed under the MIT License.
*/
class ExponentialRetryStrategy {
constructor(minExponentialBackoff, maxExponentialBackoff, exponentialDeltaBackoff) {
this.minExponentialBackoff = minExponentialBackoff;
this.maxExponentialBackoff = maxExponentialBackoff;
this.exponentialDeltaBackoff = exponentialDeltaBackoff;
}
/**
* Calculates the exponential delay based on the current retry attempt.
*
* @param {number} currentRetry - The current retry attempt number.
* @returns {number} - The calculated exponential delay in milliseconds.
*
* The delay is calculated using the formula:
* - If `currentRetry` is 0, it returns the minimum backoff time.
* - Otherwise, it calculates the delay as the minimum of:
* - `(2^(currentRetry - 1)) * deltaBackoff`
* - `maxBackoff`
*
* This ensures that the delay increases exponentially with each retry attempt,
* but does not exceed the maximum backoff time.
*/
calculateDelay(currentRetry) {
// Attempt 1
if (currentRetry === 0) {
return this.minExponentialBackoff;
}
// Attempt 2+
const exponentialDelay = Math.min(Math.pow(2, currentRetry - 1) * this.exponentialDeltaBackoff, this.maxExponentialBackoff);
return exponentialDelay;
}
}
export { ExponentialRetryStrategy };
//# sourceMappingURL=ExponentialRetryStrategy.mjs.map