mirror of
https://github.com/tvytlx/ai-agent-deep-dive.git
synced 2026-04-05 16:44:48 +08:00
Add extracted source directory and README navigation
This commit is contained in:
45
extracted-source/node_modules/@aws-sdk/credential-providers/dist-cjs/createCredentialChain.js
generated
vendored
Normal file
45
extracted-source/node_modules/@aws-sdk/credential-providers/dist-cjs/createCredentialChain.js
generated
vendored
Normal file
@@ -0,0 +1,45 @@
|
||||
"use strict";
|
||||
Object.defineProperty(exports, "__esModule", { value: true });
|
||||
exports.propertyProviderChain = exports.createCredentialChain = void 0;
|
||||
const property_provider_1 = require("@smithy/property-provider");
|
||||
const createCredentialChain = (...credentialProviders) => {
|
||||
let expireAfter = -1;
|
||||
const baseFunction = async (awsIdentityProperties) => {
|
||||
const credentials = await (0, exports.propertyProviderChain)(...credentialProviders)(awsIdentityProperties);
|
||||
if (!credentials.expiration && expireAfter !== -1) {
|
||||
credentials.expiration = new Date(Date.now() + expireAfter);
|
||||
}
|
||||
return credentials;
|
||||
};
|
||||
const withOptions = Object.assign(baseFunction, {
|
||||
expireAfter(milliseconds) {
|
||||
if (milliseconds < 5 * 60_000) {
|
||||
throw new Error("@aws-sdk/credential-providers - createCredentialChain(...).expireAfter(ms) may not be called with a duration lower than five minutes.");
|
||||
}
|
||||
expireAfter = milliseconds;
|
||||
return withOptions;
|
||||
},
|
||||
});
|
||||
return withOptions;
|
||||
};
|
||||
exports.createCredentialChain = createCredentialChain;
|
||||
const propertyProviderChain = (...providers) => async (awsIdentityProperties) => {
|
||||
if (providers.length === 0) {
|
||||
throw new property_provider_1.ProviderError("No providers in chain", { tryNextLink: false });
|
||||
}
|
||||
let lastProviderError;
|
||||
for (const provider of providers) {
|
||||
try {
|
||||
return await provider(awsIdentityProperties);
|
||||
}
|
||||
catch (err) {
|
||||
lastProviderError = err;
|
||||
if (err?.tryNextLink) {
|
||||
continue;
|
||||
}
|
||||
throw err;
|
||||
}
|
||||
}
|
||||
throw lastProviderError;
|
||||
};
|
||||
exports.propertyProviderChain = propertyProviderChain;
|
||||
Reference in New Issue
Block a user